@37chengshan/ompweb 0.3.5 → 0.3.6
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -6
- package/.next/build-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/required-server-files.js +2 -2
- package/.next/required-server-files.json +2 -2
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/agents/route.js +1 -1
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/omp-version/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +1 -1
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +1 -1
- package/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +6 -6
- package/.next/server/chunks/1671.js +1 -1
- package/.next/server/chunks/3798.js +4 -4
- package/.next/server/chunks/7834.js +3 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/{202.95416cc0d8e6df0e.js → 202.10de6e38a49a6c80.js} +1 -1
- package/.next/static/chunks/{webpack-2a4b77ae5d80a8ba.js → webpack-32eae552598b6ade.js} +1 -1
- package/README.ja.md +8 -2
- package/README.md +85 -40
- package/README.zh-CN.md +104 -63
- package/package.json +1 -1
- /package/.next/static/{cA3mF_wj2VN78irY68Wcm → RW6Yu4DRfKI1mQ_EqoVNo}/_buildManifest.js +0 -0
- /package/.next/static/{cA3mF_wj2VN78irY68Wcm → RW6Yu4DRfKI1mQ_EqoVNo}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[202],{6014:(e,t,r)=>{r.d(t,{q:()=>a});var n=r(12115),i=r(7834);function a(){let[e,t]=(0,n.useState)(!1),r=(0,n.useRef)(null),a=(0,n.useRef)(!0),o=(0,n.useCallback)(e=>{(0,i.D)(e).then(()=>{a.current&&(t(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>t(!1),1500))}).catch(()=>{})},[]);return(0,n.useEffect)(()=>()=>{a.current=!1,r.current&&clearTimeout(r.current)},[]),{copied:e,copy:o}}},7834:(e,t,r)=>{r.d(t,{D:()=>n});function n(e){if(navigator.clipboard?.writeText)return navigator.clipboard.writeText(e);try{let t=document.createElement("textarea");return t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),Promise.resolve()}catch{return Promise.reject()}}},18136:(e,t,r)=>{r.d(t,{K:()=>i});var n=r(52584);function i(e,t="errors.generic"){if("string"==typeof e)return e;let r=e?.code;if(r){let e=`errors.${r}`,t=(0,n.Tl)(e);if(t!==e)return t}if(e?.error)return e.error;let a=(0,n.Tl)(t);return a===t?"Request failed":a}},19870:(e,t,r)=>{function n(e){try{return decodeURIComponent(e)}catch{return e}}function i(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function a(e){let t=i(e),r=/^[a-zA-Z]:\//.test(t),n=t.startsWith("//"),a=t.startsWith("/")&&!r&&!n,o=[];for(let e of t.split("/"))if(e&&"."!==e){if(".."===e){o.length>0&&".."!==o[o.length-1]?o.pop():a||r||n||o.push(e);continue}o.push(e)}let s=o.join("/");return r?s:n?`//${s}`:a?`/${s}`:s}function o(e,t,r=t){let s,l,d,c,u;if(!e)return null;let p=e.split("#",1)[0].split("?",1)[0].trim();if(!p)return null;let h=null,g=null,f=n(p),m=f.startsWith("\\\\"),x=i(f),v=x.toLowerCase();if(v.startsWith("/api/")||v.startsWith("/_next/")||!m&&x.startsWith("//")||/^[a-zA-Z][a-zA-Z0-9+.-]*:/i.test(x)&&!v.startsWith("file:")&&!/^[a-zA-Z]:\//.test(x))return null;if(v.startsWith("file:")?g=(h=function(e){try{let t=new URL(e);if("file:"!==t.protocol)return null;let r=n(t.pathname);if(t.hostname)return`//${t.hostname}${r.startsWith("/")?r:`/${r}`}`;if(/^\/[a-zA-Z]:\//.test(r))return r.slice(1);return r}catch{return null}}(x))?"absolute":null:/^[a-zA-Z]:\//.test(x)||x.startsWith("/")?(h=x,g="absolute"):t&&!(x.startsWith("#")||x.startsWith("?"))&&(x.startsWith("./")||x.startsWith("../")||x.includes("/")||/(^|\/)\.?[^/]+\.[^/.]+$/.test(x))&&(h=`${i(t).replace(/\/+$/,"")}/${x}`,g="relative"),!h)return null;let y=a(h).replace(/:\d+(?::\d+)?$/,"");return"relative"===g&&r&&(s=a(y).replace(/\/+$/,""),l=a(r).replace(/\/+$/,""),c=(d=/^[a-zA-Z]:\//.test(s)||/^[a-zA-Z]:\//.test(l))?s.toLowerCase():s,!(c===(u=d?l.toLowerCase():l)||c.startsWith(`${u}/`)))?null:y}r.d(t,{V:()=>o})},28999:(e,t,r)=>{function n(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function i(e){let t=n(e),r=t.startsWith("//"),i=t.split("/").filter(Boolean);return r&&i.length>0&&(i[0]=`//${i[0]}`),i.map(encodeURIComponent).join("/")}function a(e){let t=n(e).replace(/\/+$/,"");return t.split("/").pop()??t}function o(e){let t=n(e).replace(/\/+$/,""),r=t.lastIndexOf("/");return r<0?"":0===r?"/":2===r&&/^[a-zA-Z]:\//.test(t)?t.slice(0,3):t.slice(0,r)}function s(e,t){if(!t)return e;let r=n(e),i=n(t).replace(/\/$/,""),a=/^[a-zA-Z]:\//.test(r)||r.startsWith("//")||/^[a-zA-Z]:\//.test(i)||i.startsWith("//"),o=a?r.toLowerCase():r,s=a?i.toLowerCase():i;return o.startsWith(s+"/")?r.slice(i.length+1):e}function l(e,t){return`${n(e).replace(/\/$/,"")}/${t}`}r.d(t,{A0:()=>n,HG:()=>i,WP:()=>a,e_:()=>l,gX:()=>o,qP:()=>s})},30808:(e,t,r)=>{r.d(t,{Cf:()=>y,HM:()=>k,L3:()=>b,Nt:()=>j,R6:()=>S,lG:()=>v,m_:()=>w});var n=r(95155),i=r(53474),a=r(72222),o=r(45477),s=r(59567),l=r(11975),d=r(52579),c=r(3683),u=r(11412),p=r(80403),h=r(15383),g=r(96238),f=r(27443),m=r(4280),x=r(11827);function v({open:e,onOpenChange:t,children:r}){return(0,n.jsx)(i.D,{open:e,onOpenChange:t,children:r})}function y({children:e,className:t,style:r,ariaLabel:i}){return(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(o.X,{style:{position:"fixed",inset:0,background:"var(--overlay-backdrop)",backdropFilter:"blur(2px)",zIndex:1e3}}),(0,n.jsx)(s.h,{"aria-label":i,className:t,style:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",animation:"dialog-pop-in var(--dur-med) var(--ease-out-warm) both",zIndex:1001,background:"var(--bg)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",padding:20,maxWidth:"min(92vw, 560px)",maxHeight:"85dvh",overflow:"auto",...r},children:e})]})}function b({children:e,style:t}){return(0,n.jsx)(l.L,{className:"display-serif",style:{fontSize:20,margin:"0 0 12px",...t},children:e})}let k=d.H;function w({content:e,children:t,side:r="top"}){return(0,n.jsx)(c.B,{delay:350,closeDelay:0,children:(0,n.jsxs)(u.s,{children:[(0,n.jsx)(p.k,{render:t}),(0,n.jsx)(h.K,{children:(0,n.jsx)(g.o,{side:r,sideOffset:6,style:{zIndex:1100},children:(0,n.jsx)(f.o,{style:{background:"var(--bg-panel)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",boxShadow:"var(--shadow-pop)",padding:"4px 9px",fontSize:12,lineHeight:1.4,maxWidth:260},children:e})})})]})})}function j({open:e,onOpenChange:t,defaultOpen:r,children:i}){return(0,n.jsx)(m.N,{open:e,onOpenChange:t,defaultOpen:r,children:i})}let S=x.R},31590:(e,t,r)=>{r.d(t,{a:()=>l});var n=r(12115);let i="(max-width: 640px)";function a(e){if(!window.matchMedia)return()=>{};let t=window.matchMedia(i);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function o(){return!!window.matchMedia&&window.matchMedia(i).matches}function s(){return!1}function l(){return(0,n.useSyncExternalStore)(a,o,s)}},32383:(e,t,r)=>{r.d(t,{$:()=>o,C:()=>a});var n=r(18136);let i=new Set;function a(e,t){t?i.add(e):i.delete(e)}async function o(e,t){let r=i.has(e)?"?advisor=1":"",a=await fetch(`/api/agent/${encodeURIComponent(e)}${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),o=await a.json().catch(()=>({}));if(!a.ok||o.error)throw Error(o.error||o.code?(0,n.K)(o):`HTTP ${a.status}`);return o.data}},51087:(e,t,r)=>{r.d(t,{oR:()=>w,tE:()=>T});var n=r(95155),i=r(66101),a=r(33208),o=r(23083),s=r(97787),l=r(48262),d=r(99777),c=r(32031),u=r(56395),p=r(40323),h=r(25818),g=r(64577),f=r(35484),m=r(14577),x=r(9005),v=r(12115),y=r(31590);let b=i.V();function k(e,t,r,n){return b.add({title:t,description:r,type:e,data:{kind:e,clamp:n?.clamp}})}let w={success:(e,t,r)=>k("success",e,t,r),error:(e,t,r)=>k("error",e,t,r),info:(e,t,r)=>k("info",e,t,r),close:e=>b.close(e)};function j({kind:e}){let t={size:13,strokeWidth:2,style:{flexShrink:0,marginTop:2}};return"success"===e?(0,n.jsx)(g.A,{...t,style:{...t.style,color:"var(--accent)"},"aria-hidden":!0}):"error"===e?(0,n.jsx)(f.A,{...t,style:{...t.style,color:"var(--accent-strong)"},"aria-hidden":!0}):(0,n.jsx)(m.A,{...t,style:{...t.style,color:"var(--text-muted)"},"aria-hidden":!0})}let S={fontSize:12,color:"var(--text-muted)",lineHeight:1.5,marginTop:2};function C({children:e}){let[t,r]=(0,v.useState)(!1);return(0,n.jsx)("span",{onClick:()=>r(e=>!e),"aria-expanded":t,title:t?void 0:"Click to expand",style:{...S,cursor:t?"default":"pointer",whiteSpace:"pre-wrap",wordBreak:"break-word",...t?{}:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},children:e})}function I(){let{toasts:e}=a.I(),t=(0,y.a)();return(0,n.jsx)(o.S,{children:(0,n.jsx)(s.U,{style:{position:"fixed",top:t?88:80,right:16,zIndex:2100,display:"flex",flexDirection:"column",gap:8,width:"min(92vw, 360px)",pointerEvents:"none"},children:e.map(e=>(0,n.jsxs)(l.m,{toast:e,className:"toast-card",style:{pointerEvents:"auto",display:"flex",alignItems:"flex-start",gap:8,background:"var(--bg)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-pop)",padding:"10px 12px"},children:[(0,n.jsx)(j,{kind:e.type}),(0,n.jsxs)(d.p,{style:{flex:1,minWidth:0},children:[(0,n.jsx)(c.S,{className:"display-serif",style:{fontSize:13,lineHeight:1.4}}),e.data?.clamp?(0,n.jsx)(u.a,{render:(0,n.jsx)("div",{}),style:S,children:(0,n.jsx)(C,{children:e.description})}):(0,n.jsx)(u.a,{render:(0,n.jsx)("div",{}),style:S})]}),(0,n.jsx)(p.e,{"aria-label":"Dismiss",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,border:0,borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-dim)",cursor:"pointer",flexShrink:0},children:(0,n.jsx)(x.A,{size:12,strokeWidth:2,"aria-hidden":!0})})]},e.id))})})}function T({children:e}){return(0,n.jsxs)(h.t,{toastManager:b,timeout:4e3,limit:4,children:[e,(0,n.jsx)(I,{})]})}},68925:(e,t,r)=>{r.d(t,{Ep:()=>f,T6:()=>p});var n=r(12115),i=r(5924),a=r(94764),o=r(63835),s=r(84678);let l={...a.j,attributes:{...a.j.attributes,code:[["className",/^language-./,"math-inline","math-display"]]},strip:[...a.j.strip||[],"iframe","object","style","form"]},d={remarkPlugins:[[s.A,{singleTilde:!1}]],rehypePlugins:[i.A,[o.A,l]]},c=null,u=null;function p(e){let t=e.includes("$")||e.includes("\\(")||e.includes("\\["),[,i]=(0,n.useState)(0);return(0,n.useEffect)(()=>{if(!t||c)return;let e=!1;return(!u&&(u=(async()=>{let[e,t]=await Promise.all([r.e(9365).then(r.bind(r,49365)).then(e=>e.default),Promise.all([r.e(7330),r.e(6202)]).then(r.bind(r,46202)).then(e=>e.default)]);return await Promise.all([r.e(5846),r.e(4559)]).then(r.t.bind(r,84559,23)),c={remarkPlugins:[...d.remarkPlugins,e],rehypePlugins:[...d.rehypePlugins,[t,{throwOnError:!1,strict:!1}]]}})().catch(e=>{throw u=null,e})),u).then(()=>{e||i(e=>e+1)}).catch(()=>{}),()=>{e=!0}},[t]),t&&c?c:d}let h=[],g=new Map;function f(e){let t=g.get(e);if(void 0!==t)return t;let r=function(e){let t=e.includes("\r\n")?"\r\n":"\n",r=e.split(/\r?\n/),n=[],i=null,a=0,o=null,s=new Map;for(let e=0;e<r.length;e++){var l;let t=r[e];if(o){n.push(t),RegExp(`</${o}\\s*>`,"i").test(t)&&(o=null);continue}let d=t.match(/^ {0,3}(`{3,}|~{3,})/);if(d){let e=d[1][0],r=d[1].length;i?e===i.marker&&r>=i.size&&(i=null):i={marker:e,size:r},a=0,n.push(t);continue}if(i){n.push(t);continue}let c=t.match(/<(code|pre|script|style)\b/i);if(c){let e=c[1].toLowerCase(),r=t.slice((c.index??0)+c[0].length);RegExp(`</${e}\\s*>`,"i").test(r)||(o=e),a=0,n.push(t);continue}if(/^(?: {4}|\t)/.test(t)||""===t.trim()){a=0,n.push(t);continue}if(a||t.includes("`")){a=function(e,t){let r=t;for(let t=0;t<e.length;){if("`"!==e[t]){t++;continue}let n=t+1;for(;"`"===e[n];)n++;let i=n-t;0===r?r=i:i===r&&(r=0),t=n}return r}(t,a),n.push(t);continue}let u=t.match(/^([ ]{0,3})\\\[[ \t]*(.+?)[ \t]*\\\][ \t]*$/);if(u){let e=u[2].trim();if(e){n.push(`${u[1]}$$`,`${u[1]}${e}`,`${u[1]}$$`);continue}}let p=t.match(/^([ ]{0,3})\\\[[ \t]*$/);if(p){let t=function(e,t){for(let r=t;r<e.length;r++){let t=e[r];if(/^ {0,3}\\\][ \t]*$/.test(t))return r;if(/^ {0,3}(`{3,}|~{3,})/.test(t)||/^ {0,3}\\\[[ \t]*$/.test(t)||/<(code|pre|script|style)\b/i.test(t))break}return -1}(r,e+1);if(-1!==t){n.push(`${p[1]}$$`,...r.slice(e+1,t).map(e=>x(e,p[1])),`${p[1]}$$`),e=t;continue}}let h=t.match(/^([ \t]{0,3})\$\$(.+)\$\$[ \t]*$/);if(h){let e=h[2].trim();if(e){n.push(`${h[1]}$$`,`${h[1]}${e}`,`${h[1]}$$`);continue}}let g=t.match(/^([ \t]{0,3})\$\$(.+)$/);if(g){let t=g[1],i=g[2].trimEnd();if(i&&!i.includes("$$")){let a=m(r,e+1,t,s);if(a){n.push(`${t}$$`,`${t}${i}`);for(let i=e+1;i<a.index;i++)n.push(x(r[i],t));a.content&&n.push(`${t}${a.content}`),n.push(`${t}$$`),e=a.index;continue}}}let f=t.match(/^([ \t]{0,3})\$\$\s*$/);if(f){let t=f[1],i=m(r,e+1,t,s);if(i&&(i.glued||""!==t)){n.push(`${t}$$`);for(let a=e+1;a<i.index;a++)n.push(x(r[a],t));i.content&&n.push(`${t}${i.content}`),n.push(`${t}$$`),e=i.index;continue}}n.push((l=t,/^\s{0,3}\[[^\]]+\]:/.test(l)||/]\s*\(/.test(l)||/<(?:!--|\/?[A-Za-z][^>]*>)/.test(l)||/\b(?:https?|file|mailto):/i.test(l)||/\b[A-Za-z]:\\/.test(l)?l:l.replace(/(?<!\\)\\\(([^`\r\n$]+?)(?<!\\)\\\)/g,(e,t)=>t.trim()?`$${t}$`:e)))}return n.join(t)}(e);if(h.length>=200){let e=h.shift();g.delete(e)}return h.push(e),g.set(e,r),r}function m(e,t,r,n){let i=n.get(r);if(void 0!==i&&t<i)return null;for(let i=t;i<e.length;i++){var a,o,s,l;let t=e[i];if(a=t,""===(o=r)?/^ {0,3}\$\$\s*$/.test(a):a.startsWith(o)&&/^\$\$\s*$/.test(a.slice(o.length)))return{index:i,content:"",glued:!1};if(s=t,/^ {0,3}(`{3,}|~{3,})/.test(s)||/^[ \t]*(?:[-+*]|\d{1,9}[.)])(?:[ \t]+|$)/.test(s)||/^ {0,3}#{1,6}(?:[ \t]+|$)/.test(s)||/^ {0,3}>/.test(s)||/<(code|pre|script|style)\b/i.test(s)||(l=t,/^ {0,3}\$\$(?:\S|[ \t]+\S)/.test(l)))return n.set(r,i),null;let d=function(e,t){if(!e.startsWith(t))return null;let r=e.slice(t.length).match(/^(.+?)\$\$\s*$/);if(!r)return null;let n=r[1].trimEnd();return n&&!n.includes("$$")?n:null}(t,r);if(null!==d)return{index:i,content:d,glued:!0}}return n.set(r,e.length),null}function x(e,t){if(!t||!e||e.startsWith(" "))return e;let r=e.match(/^ */)?.[0].length??0;return r>=t.length?e:`${t.slice(r)}${e}`}},69878:(e,t,r)=>{r.d(t,{Dx:()=>h,mm:()=>f,qc:()=>g});var n=r(95155),i=r(52584),a=r(66763),o=r(50981),s=r(12651),l=r(81499),d=r(86272),c=r(90710),u=r(738),p=r(82749);let h=[{id:"general",label:"Interface & Behavior",description:"UI preferences, completion sound, submission mode",Icon:a.A},{id:"safety",label:"Safety & Approvals",description:"Tool safety rules, YOLO mode, terminal permissions",Icon:o.A},{id:"models",label:"AI Model Defaults",description:"Reasoning budget, verbosity, personality, scratchpad",Icon:s.A},{id:"providers",label:"API Keys & Providers",description:"Connected OAuth accounts, API keys, and model registry",Icon:l.A},{id:"intelligence",label:"Agent & Intelligence",description:"Advisor, memory, autolearn, compaction and retry",Icon:d.A},{id:"agents",label:"Agents",description:"Task agents, model settings, and tool policy",Icon:c.A},{id:"mcp",label:"Extensions & Tools",description:"MCP servers, managed skills, and OMP plugins",Icon:u.A},{id:"system",label:"System & Updates",description:"App updates, runtime version, and active session restart",Icon:p.A}],g=e=>"skills"===e||"plugins"===e||"extensions"===e?"mcp":e;function f({active:e,onSelect:t,workspaceReady:r=!0,layout:a="vertical"}){let{t:o}=(0,i.s9)(),s=g(e),l=(e,n)=>{let i=h.filter(e=>!(e.needsWorkspace&&!r)),a=null;if(("ArrowRight"===e.key||"ArrowDown"===e.key)&&(a=n+1),("ArrowLeft"===e.key||"ArrowUp"===e.key)&&(a=n-1),"Home"===e.key&&(a=0),"End"===e.key&&(a=i.length-1),null!==a){e.preventDefault();let r=i[a]??i[n];if(r){t(r.id);let e=document.getElementById("settings-tab-"+r.id);e?.focus()}}};return"vertical"===a?(0,n.jsx)("nav",{"aria-label":o("settingsTabs.ariaLabel"),role:"tablist","aria-orientation":"vertical",style:{display:"flex",flexDirection:"column",gap:4,padding:"12px 8px",width:230,flexShrink:0,borderRight:"1px solid var(--border)",background:"var(--bg-panel)",overflowY:"auto"},children:h.map(({id:e,label:i,description:a,Icon:d,needsWorkspace:c},u)=>{let p=`settingsTabs.${e}.label`,h=`settingsTabs.${e}.description`,g=o(p),f=o(h),m=e===s,x=!!(c&&!r);return(0,n.jsxs)("button",{type:"button",role:"tab",id:`settings-tab-${e}`,"aria-selected":m,"aria-controls":`settings-panel-${e}`,tabIndex:m?0:-1,disabled:x,onClick:()=>t(e),onKeyDown:e=>l(e,u),style:{display:"flex",alignItems:"flex-start",gap:10,padding:"9px 10px",border:"none",borderRadius:"var(--radius-control)",background:m?"var(--bg-selected)":"transparent",color:m?"var(--text)":x?"var(--text-dim)":"var(--text-muted)",cursor:x?"not-allowed":"pointer",opacity:x?.5:1,textAlign:"left",transition:"background var(--dur-fast), color var(--dur-fast)",width:"100%"},children:[(0,n.jsx)(d,{size:16,"aria-hidden":"true",style:{marginTop:2,flexShrink:0,color:m?"var(--accent)":"currentColor"}}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,n.jsx)("div",{style:{fontSize:12.5,fontWeight:m?600:500,lineHeight:1.3,color:m?"var(--text)":"inherit"},children:g!==p?g:i}),(0,n.jsx)("div",{style:{fontSize:10.5,color:"var(--text-dim)",lineHeight:1.3,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:f!==h?f:a})]})]},e)})}):(0,n.jsx)("nav",{"aria-label":o("settingsTabs.ariaLabel"),role:"tablist",style:{display:"flex",gap:3,padding:"7px 12px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0,overflowX:"auto"},children:h.map(({id:e,label:i,description:a,Icon:d,needsWorkspace:c},u)=>{let p=`settingsTabs.${e}.label`,h=`settingsTabs.${e}.description`,g=o(p),f=o(h),m=g!==p?g:i,x=f!==h?f:a,v=e===s,y=!!(c&&!r);return(0,n.jsxs)("button",{type:"button",role:"tab",id:`settings-tab-${e}`,"aria-selected":v,"aria-controls":`settings-panel-${e}`,"aria-label":`${m}: ${x}`,title:x,tabIndex:v?0:-1,disabled:y,onClick:()=>t(e),onKeyDown:e=>l(e,u),style:{display:"inline-flex",alignItems:"flex-start",gap:5,padding:"6px 9px",border:"none",borderRadius:"var(--radius-control)",background:v?"var(--bg-selected)":"transparent",color:v?"var(--text)":"var(--text-muted)",cursor:y?"not-allowed":"pointer",opacity:y?.45:1,fontSize:12,whiteSpace:"nowrap",textAlign:"left",minWidth:150},children:[(0,n.jsx)(d,{size:13,"aria-hidden":"true"}),(0,n.jsxs)("span",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[(0,n.jsx)("span",{style:{fontWeight:v?600:500},children:m}),(0,n.jsx)("span",{style:{maxWidth:220,overflow:"hidden",textOverflow:"ellipsis",color:"var(--text-muted)",fontSize:10,fontWeight:400,lineHeight:1.25},children:x})]})]},e)})})}},82490:(e,t,r)=>{r.d(t,{y:()=>i});let n=new Map;function i(e){let t;if(n.has(e)){let t=n.get(e);return n.delete(e),n.set(e,t),t}let r=[],i=null,o=0,s=0,l=[],d=[],c=()=>({lineNo:null,text:"",type:"empty"}),u=()=>{if(!i){l=[],d=[];return}let e=Math.max(l.length,d.length);for(let t=0;t<e;t++){let e=l[t]?{lineNo:l[t].lineNo,text:l[t].text,type:"removed"}:c(),r=d[t]?{lineNo:d[t].lineNo,text:d[t].text,type:"added"}:c();i.rows.push({type:"line",left:e,right:r})}l=[],d=[]};for(let n of e.split(/\r?\n/)){if(n.startsWith("--- ")){u(),t=a(n.slice(4));continue}if(n.startsWith("+++ ")){u(),i={oldPath:t,newPath:a(n.slice(4)),rows:[]},r.push(i);continue}let e=n.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){i||(i={rows:[]},r.push(i)),u(),o=Number(e[1]),s=Number(e[2]),i.rows.push({type:"hunk",text:n});continue}if(!i)continue;if(n.startsWith("\\ ")){u(),i.rows.push({type:"hunk",text:n});continue}let c=n[0],p=n.slice(1);" "===c?(u(),i.rows.push({type:"line",left:{lineNo:o++,text:p,type:"context"},right:{lineNo:s++,text:p,type:"context"}})):"-"===c?l.push({lineNo:o++,text:p}):"+"===c?d.push({lineNo:s++,text:p}):""!==n&&(u(),i.rows.push({type:"hunk",text:n}))}u();let p=r.filter(e=>e.rows.some(e=>"line"===e.type)),h=p.length>0?p:null;if(n.set(e,h),n.size>20){let e=n.keys().next().value;void 0!==e&&n.delete(e)}return h}function a(e){return e.split(" ")[0].trim()}},84111:(e,t,r)=>{function n(e,t){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:t?e.toLocaleString(t):String(e)}function i(e){return`${e.toFixed(1)}%`}function a(e,t){let r=e+t;return r>0?t/r*100:null}r.d(t,{l9:()=>i,uX:()=>a,wk:()=>n})},90202:(e,t,r)=>{r.r(t),r.d(t,{AppShell:()=>ay});var n=r(95155),i=r(12115),a=r(37206),o=r(73321);let s=null;var l=r(47650),d=r(52584),c=r(18136);let u=[];function p({onClose:e,active:t=!0}){let r=(0,i.useRef)(null),n=(0,i.useRef)(e);return n.current=e,(0,i.useEffect)(()=>{if(!t)return;let e=r.current;if(!e)return;let i=document.activeElement instanceof HTMLElement?document.activeElement:null;u.push(e),e.contains(document.activeElement)||e.focus();let a=t=>{if(u[u.length-1]!==e)return;if("Escape"===t.key){if(t.isComposing||229===t.keyCode)return;t.preventDefault(),t.stopPropagation(),n.current();return}if("Tab"!==t.key)return;let r=Array.from(e.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(e=>e.getClientRects().length>0||e===document.activeElement);if(0===r.length){t.preventDefault(),e.focus();return}let i=document.activeElement,a=i instanceof Node&&e.contains(i);t.shiftKey?a&&i!==r[0]&&i!==e||(t.preventDefault(),r[r.length-1].focus()):a&&i!==r[r.length-1]||(t.preventDefault(),r[0].focus())};return document.addEventListener("keydown",a,!0),()=>{document.removeEventListener("keydown",a,!0);let t=u.indexOf(e);-1!==t&&u.splice(t,1),i&&i.isConnected&&i.focus()}},[t]),r}async function h(e){let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/cwd/browse${t}`),n=await r.json();if(!r.ok||n.error)throw Error((0,c.K)({...n,error:n.error??`HTTP ${r.status}`}));return n}function g(){return(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.3","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M1.5 3h4l1.5 2h7.5v7.5h-13z"})})}function f(){return(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),(0,n.jsx)("path",{d:"M2 9h12"}),(0,n.jsx)("circle",{cx:"11.5",cy:"11",r:"0.6",fill:"currentColor",stroke:"none"})]})}function m({onCancel:e,onSelect:t,busy:r=!1,error:a}){let{t:o}=(0,d.s9)(),[s,c]=(0,i.useState)(null),[u,x]=(0,i.useState)(""),[v,y]=(0,i.useState)(null),[b,k]=(0,i.useState)(""),[w,j]=(0,i.useState)([]),[S,C]=(0,i.useState)(null),[I,T]=(0,i.useState)(null),[R,M]=(0,i.useState)(!0),z=p({onClose:()=>{r||e()},active:null!==s}),E=(0,i.useCallback)(async e=>{M(!0),T(null);try{let t=await h(e),r=t.path??e??"/";x(r),y(t.parentPath??null),k(r),j(t.directories??[]),C(t.drives??null)}catch(e){T(e instanceof Error?e.message:String(e))}finally{M(!1)}},[]);(0,i.useEffect)(()=>{c(document.body),E()},[E]);let A=b.trim()!==u,W=!!u&&!A&&!r,D=!!v||/^[a-zA-Z]:[\\/]?$/.test(u);return s?(0,l.createPortal)((0,n.jsx)("div",{className:"directory-picker-backdrop animate-fade-in",onClick:t=>{t.target!==t.currentTarget||r||e()},style:{position:"fixed",inset:0,zIndex:1002,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--overlay-backdrop)"},children:(0,n.jsxs)("div",{className:"directory-picker-panel animate-scale-in",ref:z,role:"dialog","aria-modal":"true","aria-label":o("directoryPicker.selectDirectory"),tabIndex:-1,style:{width:520,maxWidth:"calc(100vw - 16px)",height:"min(620px, calc(100dvh - 16px))",maxHeight:"calc(100dvh - 16px)",display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",outline:"none"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexShrink:0,padding:"12px 18px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("div",{style:{minWidth:0,flex:1},children:(0,n.jsx)("div",{style:{color:"var(--text)",fontWeight:700,fontSize:15},children:o("directoryPicker.selectDirectory")})}),(0,n.jsx)("button",{type:"button",onClick:e,disabled:r,title:o("directoryPicker.close"),"aria-label":o("directoryPicker.close"),style:{padding:"2px 6px",border:0,background:"none",color:"var(--text-muted)",fontSize:20,lineHeight:1,cursor:r?"default":"pointer",opacity:r?.5:1,transition:"color var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{r||(e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-muted)"},children:"\xd7"})]}),(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=b.trim();t&&E(t)},style:{display:"flex",alignItems:"center",gap:8,flexShrink:0,padding:"10px 14px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("button",{className:"directory-picker-back",type:"button",onClick:()=>void E(v??void 0),disabled:R||!D,title:o("directoryPicker.goToParent"),"aria-label":o("directoryPicker.goToParent"),style:{width:36,height:36,padding:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-hover)",color:"var(--text-muted)",cursor:D?"pointer":"default",opacity:D?1:.45,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{D&&!R&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},children:(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m18 15-6-6-6 6"})})}),(0,n.jsx)("label",{htmlFor:"directory-path",style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},children:o("directoryPicker.directoryPath")}),(0,n.jsx)("input",{className:"directory-picker-path",id:"directory-path",type:"text",value:b,"aria-label":o("directoryPicker.pathPlaceholder")||"Directory path",placeholder:o("directoryPicker.pathPlaceholder"),autoFocus:!0,autoComplete:"off",spellCheck:!1,onChange:e=>{k(e.target.value),T(null)},style:{minWidth:0,flex:1,height:36,padding:"0 10px",border:"1px solid var(--border)",borderRadius:6,outline:"none",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:12,transition:"border-color var(--dur-fast) var(--ease-out-warm)"}}),(0,n.jsx)("button",{className:"directory-picker-action",type:"submit",disabled:R||!b.trim(),title:o("directoryPicker.goToDirectory"),style:{minWidth:58,height:36,padding:"0 12px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-hover)",color:"var(--text-muted)",cursor:R||!b.trim()?"default":"pointer",opacity:R||!b.trim()?.6:1,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{!R&&b.trim()&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},children:o("directoryPicker.go")})]}),(0,n.jsxs)("div",{className:"directory-picker-list",style:{flex:1,minHeight:0,overflow:"auto",padding:"8px 10px"},children:[R?(0,n.jsx)("div",{style:{display:"grid",gap:6,padding:8},"aria-busy":"true","aria-label":o("directoryPicker.loadingDirectories"),children:Array.from({length:7}).map((e,t)=>(0,n.jsx)("div",{className:"skeleton",style:{height:22,width:`${55+37*t%40}%`}},t))}):null!==S?S.length>0?S.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void E(e.path),title:e.path,style:{width:"100%",minHeight:30,display:"flex",alignItems:"center",gap:7,padding:"5px 8px",border:0,borderRadius:5,background:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontFamily:"var(--font-mono)",fontSize:11},children:[(0,n.jsx)(f,{}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path)):(0,n.jsx)("div",{style:{padding:8,color:"var(--text-dim)",fontSize:11},children:o("directoryPicker.noDrives")}):w.length>0?w.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void E(e.path),title:e.path,style:{width:"100%",minHeight:30,display:"flex",alignItems:"center",gap:7,padding:"5px 8px",border:0,borderRadius:5,background:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontFamily:"var(--font-mono)",fontSize:11,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--text-muted)"},children:[(0,n.jsx)(g,{}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path)):(0,n.jsx)("div",{style:{padding:8,color:"var(--text-dim)",fontSize:11},children:o("directoryPicker.noSubdirectories")}),(I||a)&&(0,n.jsx)("div",{style:{padding:"8px",color:"var(--status-error)",fontSize:11},children:I??a})]}),(0,n.jsxs)("div",{className:"directory-picker-footer",style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:10,flexShrink:0,padding:"10px 18px",borderTop:"1px solid var(--border)"},children:[(0,n.jsx)("button",{className:"directory-picker-action",type:"button",onClick:e,disabled:r,style:{padding:"6px 14px",border:"1px solid var(--border)",borderRadius:6,background:"none",color:"var(--text-muted)",cursor:r?"default":"pointer",fontSize:13},children:o("directoryPicker.cancel")}),(0,n.jsx)("button",{className:"directory-picker-action",type:"button",onClick:()=>t(u),disabled:!W,title:o(A?"directoryPicker.openPathBeforeSelecting":"directoryPicker.selectCurrentDirectory"),style:{padding:"6px 16px",border:0,borderRadius:6,background:"var(--accent)",color:"var(--on-accent)",fontSize:13,fontWeight:600,opacity:W?1:.6,cursor:W?"pointer":"default"},children:o(r?"directoryPicker.checking":"directoryPicker.selectThisFolder")})]})]})}),s):null}var x=r(9005),v=r(76721),y=r(95660),b=r(14225),k=r(92571),w=r(83254),j=r(87708),S=r(50825),C=r(68562),I=r(64577),T=r(79530),R=r(11012),M=r(35484);let z="var(--text-dim)";function E({size:e=14,open:t=!1}){return t?(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,n.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5h7.5v1H1V4.5Z",fill:z}),(0,n.jsx)("path",{d:"M1 6h14.5L14 13H2L1 6Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.12"})]}):(0,n.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:(0,n.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5H14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4.5Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.1"})})}function A({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,n.jsx)("path",{d:"M3 2h7l3 3v9H3V2Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.08"}),(0,n.jsx)("path",{d:"M10 2v3h3",stroke:z,strokeWidth:"1",fill:"none",strokeLinejoin:"round"})]})}function W({label:e,size:t=14}){let r=t/14;return(0,n.jsxs)("svg",{width:t,height:t,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("text",{x:"7",y:"9.5",textAnchor:"middle",fontSize:3.4*r,fontFamily:"var(--font-mono), monospace",fontWeight:"600",fill:z,letterSpacing:"0",children:e})]})}function D({size:e=14}){return(0,n.jsx)(W,{label:"TS",size:e})}function $({size:e=14}){return(0,n.jsx)(W,{label:"TSX",size:e})}function L({size:e=14}){return(0,n.jsx)(W,{label:"JS",size:e})}function N({size:e=14}){return(0,n.jsx)(W,{label:"JSX",size:e})}function F({size:e=14}){return(0,n.jsx)(W,{label:"PY",size:e})}function P({size:e=14}){return(0,n.jsx)(W,{label:"{}",size:e})}function B({size:e=14}){return(0,n.jsx)(W,{label:"CSS",size:e})}function O({size:e=14}){return(0,n.jsx)(W,{label:"SC",size:e})}function H({size:e=14}){return(0,n.jsx)(W,{label:"HTM",size:e})}function K({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M3.5 9.5V7l1.5 1.5L6.5 7v2.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M8 7v2.5M7 9l1 1.5 1-1.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})}function U({size:e=14}){return(0,n.jsx)(W,{label:"YML",size:e})}function _({size:e=14}){return(0,n.jsx)(W,{label:"TOM",size:e})}function q({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M4 7.5l2 1.5-2 1.5",stroke:z,strokeWidth:"0.95",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M7.5 10.5h2.5",stroke:z,strokeWidth:"0.95",strokeLinecap:"round"})]})}function V({size:e=14}){return(0,n.jsx)(W,{label:"RS",size:e})}function Y({size:e=14}){return(0,n.jsx)(W,{label:"GO",size:e})}function J({size:e=14}){return(0,n.jsx)(W,{label:"SQL",size:e})}function Z({size:e=14}){return(0,n.jsx)(W,{label:"GQL",size:e})}function G({size:e=14}){return(0,n.jsx)(W,{label:"TF",size:e})}function X({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("rect",{x:"3.5",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"6",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"3.5",y:"8.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"})]})}function Q({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5.5",cy:"8.5",r:"1.5",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 8.5h2.5M8.5 8.5v1.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round"})]})}function ee({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5",cy:"6.5",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"9",cy:"6.5",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"5",cy:"10",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("path",{d:"M5 7.5V9",stroke:z,strokeWidth:"0.85",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M9 7.5v.5a2 2 0 0 1-2 2H6",stroke:z,strokeWidth:"0.85",strokeLinecap:"round",fill:"none"})]})}function et({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("rect",{x:"4.5",y:"8.5",width:"5",height:"3",rx:"0.6",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M5.5 8.5V7.5a1.5 1.5 0 0 1 3 0v1",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",fill:"none"})]})}function er({size:e=14}){return(0,n.jsx)(W,{label:"DOC",size:e})}function en({size:e=14}){return(0,n.jsx)(W,{label:"PDF",size:e})}function ei({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"7",cy:"8.5",r:"1.3",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 6.5v.7M7 10.3v.7M5 8.5h.7M8.3 8.5H9M5.5 6.9l.5.5M8.5 9.6l-.5-.5M5.5 10.1l.5-.5M8.5 7.4l-.5.5",stroke:z,strokeWidth:"0.8",strokeLinecap:"round"})]})}function ea(e,t=14){let r=e.toLowerCase(),i=r.split(".").pop()??"";if("dockerfile"===r||r.startsWith("dockerfile."))return(0,n.jsx)(X,{size:t});if(".env"===r||r.startsWith(".env."))return(0,n.jsx)(Q,{size:t});if(".gitignore"===r||".gitattributes"===r||".gitmodules"===r)return(0,n.jsx)(ee,{size:t});if("package-lock.json"===r||"yarn.lock"===r||"bun.lock"===r||"pnpm-lock.yaml"===r||"cargo.lock"===r)return(0,n.jsx)(et,{size:t});if(r.endsWith(".config.ts")||r.endsWith(".config.js")||r.endsWith(".config.mjs")||r.endsWith(".config.cjs")||[".eslintrc",".eslintrc.js",".eslintrc.json",".eslintrc.yml","eslint.config.mjs","eslint.config.js"].includes(r))return(0,n.jsx)(ei,{size:t});switch(i){case"ts":return(0,n.jsx)(D,{size:t});case"tsx":return(0,n.jsx)($,{size:t});case"js":case"mjs":case"cjs":return(0,n.jsx)(L,{size:t});case"jsx":return(0,n.jsx)(N,{size:t});case"py":return(0,n.jsx)(F,{size:t});case"json":case"jsonl":return(0,n.jsx)(P,{size:t});case"css":case"less":return(0,n.jsx)(B,{size:t});case"scss":return(0,n.jsx)(O,{size:t});case"html":case"htm":return(0,n.jsx)(H,{size:t});case"md":case"mdx":return(0,n.jsx)(K,{size:t});case"yaml":case"yml":return(0,n.jsx)(U,{size:t});case"toml":return(0,n.jsx)(_,{size:t});case"sh":case"bash":case"zsh":case"fish":return(0,n.jsx)(q,{size:t});case"rs":return(0,n.jsx)(V,{size:t});case"go":return(0,n.jsx)(Y,{size:t});case"sql":return(0,n.jsx)(J,{size:t});case"graphql":case"gql":return(0,n.jsx)(Z,{size:t});case"tf":case"hcl":return(0,n.jsx)(G,{size:t});case"docx":return(0,n.jsx)(er,{size:t});case"pdf":return(0,n.jsx)(en,{size:t});case"lock":return(0,n.jsx)(et,{size:t});default:return(0,n.jsx)(A,{size:t})}}var eo=r(30808),es=r(51087),el=r(28999);async function ed(e){let t=(0,el.HG)(e),r=await fetch(`/api/files/${t}?type=list`);if(!r.ok){let e=(0,d.Tl)("fileExplorer.loadFailed",{status:r.status});try{let t=await r.json();t.error&&(e=t.error)}catch{}throw Error(e)}return((await r.json()).entries??[]).map(t=>({name:t.name,fullPath:(0,el.e_)(e,t.name),isDir:t.isDir,size:t.size,children:t.isDir?[]:void 0,loaded:!t.isDir}))}async function ec(e){let t=new URLSearchParams({cwd:e}),r=await fetch(`/api/git/status?${t.toString()}`);if(!r.ok)throw Error((0,d.Tl)("fileExplorer.gitStatusFailed",{status:r.status}));return r.json()}let eu={modified:"fileExplorer.gitModified",added:"fileExplorer.gitAdded",deleted:"fileExplorer.gitDeleted",renamed:"fileExplorer.gitRenamed",untracked:"fileExplorer.gitUntracked",conflict:"fileExplorer.gitConflict"},ep={modified:"var(--status-modified)",added:"var(--status-success)",deleted:"var(--status-error)",renamed:"var(--status-renamed)",untracked:"var(--status-success)",conflict:"var(--status-error)"};function eh({onClick:e,title:t}){return(0,n.jsx)("button",{type:"button",onClick:e,title:t,"aria-label":t,style:{width:24,height:24,padding:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"none",borderRadius:"var(--radius-control)",background:"none",color:"var(--text-dim)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:(0,n.jsx)(x.A,{size:13,strokeWidth:2.2,"aria-hidden":"true"})})}function eg({node:e,depth:t,cwd:r,onOpenFile:a,onAtMention:o,expandedPaths:s,onToggleExpanded:l,refreshToken:c,highlightedPaths:u,gitStatusByPath:p,changedDirectoryPaths:h}){let{t:g}=(0,d.s9)(),f=s.has(e.fullPath),m=u.has(e.fullPath),x=(0,el.A0)(e.fullPath),C=p.get(x),I=e.isDir&&(void 0!==C||h.has(x)),[T,R]=(0,i.useState)(e.children??[]),[M,z]=(0,i.useState)(e.loaded??!1),[E,A]=(0,i.useState)(!1),[W,D]=(0,i.useState)(!1),[$,L]=(0,i.useState)(!1),N=(0,i.useCallback)(async(t=!1)=>{if(!M||t){A(!0);try{let t=await ed(e.fullPath);R(t),z(!0)}catch{}finally{A(!1)}}},[M,e.fullPath]);(0,i.useEffect)(()=>{f?M&&N(!0):z(!1)},[c]);let F=(0,i.useCallback)(()=>{if(e.isDir){let t=!f;l(e.fullPath,t),t&&!M&&N()}else a(e.fullPath,e.name)},[e.isDir,e.fullPath,e.name,M,f,N,a,l]),P=(0,i.useCallback)(t=>{if(t.target===t.currentTarget){if("Enter"===t.key||" "===t.key)t.preventDefault(),F();else if("ArrowRight"===t.key){if(e.isDir)if(t.preventDefault(),f){let e=t.currentTarget.parentElement?.querySelector('[role="group"] [role="treeitem"]');e?.focus()}else l(e.fullPath,!0),M||N()}else if("ArrowLeft"===t.key)if(e.isDir&&f)t.preventDefault(),l(e.fullPath,!1);else{let e=t.currentTarget.closest('[role="group"]')?.parentElement?.querySelector(':scope > [role="treeitem"]');e?.focus()}else if("ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault();let e=t.currentTarget.closest('[role="tree"]');if(!e)return;let r=Array.from(e.querySelectorAll('[role="treeitem"]')).filter(e=>!e.closest("[inert]")),n=r.indexOf(t.currentTarget);if(-1!==n){let e="ArrowDown"===t.key?Math.min(r.length-1,n+1):Math.max(0,n-1);r[e]?.focus()}}}},[e.isDir,e.fullPath,f,M,N,l,F]),B=g("fileExplorer.insertPathIntoChat"),O=g("fileExplorer.downloadFile"),H=g("fileExplorer.revealInFileManager"),K=(0,i.useCallback)(async e=>{try{let t=await fetch("/api/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),r=await t.json().catch(()=>({}));t.ok||es.oR.error(r.error??g("fileExplorer.revealFailed"))}catch{es.oR.error(g("fileExplorer.revealFailed"))}},[g]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{onClick:F,onKeyDown:P,onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),onFocus:e=>{e.target===e.currentTarget&&L(!0)},onBlur:()=>L(!1),role:"treeitem",tabIndex:0,"aria-selected":m,"aria-expanded":e.isDir?f:void 0,"aria-label":e.isDir?e.name+" (folder"+(f?", expanded":", collapsed")+")":e.name+" (file)",style:{position:"relative",display:"flex",alignItems:"center",gap:4,paddingLeft:8+14*t,paddingRight:8,height:24,cursor:"pointer",background:W?"var(--bg-hover)":"transparent",borderRadius:"var(--radius-control)",userSelect:"none",boxShadow:$?"inset 0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent)":"none",outline:"none",transition:"background var(--dur-fast) var(--ease-out-warm)"},children:[e.isDir&&(0,n.jsx)(v.A,{size:10,strokeWidth:2,color:"var(--text-dim)",style:{flexShrink:0,transform:f?"rotate(90deg)":"none",transition:"transform var(--dur-med) var(--ease-out-warm)"},"aria-hidden":"true"}),!e.isDir&&(0,n.jsx)("span",{style:{width:10,flexShrink:0}}),(0,n.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center",color:e.isDir?"var(--text-muted)":"var(--text-dim)"},children:e.isDir?f?(0,n.jsx)(y.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):(0,n.jsx)(b.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):ea(e.name,14)}),(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},title:e.fullPath,children:e.name}),m&&(0,n.jsx)("span",{title:g("fileExplorer.newlyUploaded"),"aria-label":g("fileExplorer.newlyUploaded"),style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:"var(--accent)"}}),!W&&!e.isDir&&C&&(0,n.jsx)("span",{title:g(eu[C.status]),"aria-label":g(eu[C.status]),style:{width:14,flexShrink:0,color:ep[C.status],fontFamily:"var(--font-mono)",fontSize:11,fontWeight:600,textAlign:"center"},children:C.code}),!W&&I&&(0,n.jsx)("span",{title:g("fileExplorer.containsChangedFiles"),"aria-label":g("fileExplorer.containsChangedFiles"),style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:"var(--status-modified)"}}),E&&(0,n.jsx)(k.A,{size:10,strokeWidth:2,color:"var(--text-dim)",style:{animation:"spin 0.8s linear infinite",flexShrink:0},"aria-hidden":"true"}),o&&W&&(0,n.jsx)(eo.m_,{content:B,children:(0,n.jsxs)("button",{onClick:t=>{t.stopPropagation(),o((0,el.qP)(e.fullPath,r),e.isDir)},"aria-label":B,style:{position:"absolute",right:e.isDir?4:28,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"0 8px",height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--accent)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)(w.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),g("fileExplorer.mention")]})}),(0,n.jsx)(eo.m_,{content:H,children:(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),K(e.fullPath)},"aria-label":H,title:H,style:{position:"absolute",right:e.isDir?4:52,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(j.A,{size:11,strokeWidth:2,"aria-hidden":"true"})})}),W&&!e.isDir&&(0,n.jsx)(eo.m_,{content:O,children:(0,n.jsx)("a",{href:`/api/files/${(0,el.HG)(e.fullPath)}?type=download`,download:!0,onClick:e=>e.stopPropagation(),"aria-label":O,style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"0 5px",height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",textDecoration:"none",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(S.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"})})})]}),e.isDir&&(0,n.jsx)("div",{role:"group",inert:!f||void 0,className:"accordion-flow "+(f?"is-open":""),children:(0,n.jsxs)("div",{className:"accordion-flow-inner",children:[T.map(e=>(0,n.jsx)(eg,{node:e,depth:t+1,cwd:r,onOpenFile:a,onAtMention:o,expandedPaths:s,onToggleExpanded:l,refreshToken:c,highlightedPaths:u,gitStatusByPath:p,changedDirectoryPaths:h},e.fullPath)),0===T.length&&M&&(0,n.jsx)("div",{style:{paddingLeft:8+(t+1)*14,fontSize:11,color:"var(--text-dim)",height:22,display:"flex",alignItems:"center"},children:g("fileExplorer.emptyDir")})]})})]})}let ef=(0,i.forwardRef)(function({cwd:e,onOpenFile:t,refreshKey:r,onAtMention:a,onAtMentions:o,onUploadBusyChange:s,onRefreshDone:l},c){let{t:u,tn:p}=(0,d.s9)(),[h,g]=(0,i.useState)([]),[f,m]=(0,i.useState)(!0),[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(new Set),[j,S]=(0,i.useState)(0),[z,E]=(0,i.useState)(new Set),[A,W]=(0,i.useState)([]),[D,$]=(0,i.useState)("idle"),[L,N]=(0,i.useState)(0),[F,P]=(0,i.useState)(null),[B,O]=(0,i.useState)(null),[H,K]=(0,i.useState)(null),U=(0,i.useRef)(null),_=(0,i.useRef)(null),q=`${r??0}:${j}`,V="idle"!==D,Y=(0,i.useMemo)(()=>new Map(A.map(e=>[(0,el.A0)(e.filePath),e])),[A]),J=(0,i.useMemo)(()=>{let t=new Set,r=(0,el.A0)(e).replace(/\/$/,"");for(let e of A){let n=(0,el.gX)((0,el.A0)(e.filePath));for(;(n===r||n.startsWith(`${r}/`))&&(t.add(n),n!==r);){let e=(0,el.gX)(n);if(e===n)break;n=e}}return t},[e,A]),Z=(0,i.useCallback)((e,t)=>{b(r=>{let n=new Set(r);return t?n.add(e):n.delete(e),n})},[]),G=(0,i.useCallback)(t=>{let r=t.uploaded??[];O({uploaded:r,skipped:t.skipped??[],errors:t.errors??[]}),r.length>0&&(E(new Set(r.map(t=>(0,el.e_)(e,t)))),S(e=>e+1))},[e]),X=(0,i.useCallback)(async(t,r)=>{K(null),P(null),N(0),$("uploading");try{let{status:n,data:i}=await new Promise((n,i)=>{let a=new FormData;t.forEach(e=>a.append("files",e,e.name));let o=new XMLHttpRequest;o.open("POST",`/api/files/${(0,el.HG)(e)}?type=upload&conflict=${r}`),o.upload.onprogress=e=>{e.lengthComputable&&e.total>0&&N(Math.round(e.loaded/e.total*100))},o.onerror=()=>i(Error((0,d.Tl)("fileExplorer.uploadNetworkError"))),o.onabort=()=>i(Error((0,d.Tl)("fileExplorer.uploadCancelled"))),o.onload=()=>{let e={};try{e=JSON.parse(o.responseText)}catch{o.responseText&&(e.error=o.responseText)}n({status:o.status,data:e})},o.send(a)});if(409===n&&i.conflicts?.length)return void K({files:t,conflicts:i.conflicts,nonReplaceable:i.nonReplaceable??[]});if(n<200||n>=300)throw Error(i.error??(0,d.Tl)("fileExplorer.uploadFailed",{status:n}));N(100),G(i)}catch(e){P(e instanceof Error?e.message:String(e))}finally{$("idle")}},[G,e]),Q=(0,i.useCallback)(async t=>{if(0!==t.length&&!V){O(null),E(new Set),K(null),P(null),N(0),$("checking");try{let r=await fetch(`/api/files/${(0,el.HG)(e)}?type=upload-check`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileNames:t.map(e=>e.name)})}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error??(0,d.Tl)("fileExplorer.uploadCheckFailed",{status:r.status}));if(n.conflicts?.length)return void K({files:t,conflicts:n.conflicts,nonReplaceable:n.nonReplaceable??[]});await X(t,"error")}catch(e){P(e instanceof Error?e.message:String(e))}finally{$("idle")}}},[e,X,V]),ee=(0,i.useCallback)(e=>{let t=Array.from(e.target.files??[]);e.target.value="",Q(t)},[Q]);(0,i.useImperativeHandle)(c,()=>({openUploadPicker(){V||_.current?.click()}}),[V]),(0,i.useEffect)(()=>{s?.(V)},[s,V]),(0,i.useEffect)(()=>()=>s?.(!1),[s]);let et=(0,i.useRef)(l);et.current=l,(0,i.useEffect)(()=>{let t=U.current!==e;U.current=e,t&&(b(new Set),E(new Set),O(null),K(null),P(null)),m(t),v(null);let r=!1;return ed(e).then(e=>{r||g(e)}).catch(e=>{r||v(e instanceof Error?e.message:String(e))}).finally(()=>{r||m(!1),et.current?.()}),()=>{r=!0}},[e,r,j]),(0,i.useEffect)(()=>{let t=!1;return ec(e).then(e=>{t||W(e.isGitRepository?e.files:[])}).catch(()=>{t||W([])}),()=>{t=!0}},[e,r,j]);let er=V||null!==H||null!==F||null!==B,en=(0,i.useCallback)(()=>{B&&0!==B.uploaded.length&&o?.(B.uploaded.map(t=>(0,el.qP)((0,el.e_)(e,t),e)))},[e,o,B]);return(0,n.jsxs)("div",{style:{minHeight:"100%"},children:[(0,n.jsx)("input",{ref:_,type:"file",multiple:!0,hidden:!0,onChange:ee}),er&&(0,n.jsxs)("div",{style:{padding:"6px 8px",borderBottom:"1px solid var(--border)"},children:[V&&(0,n.jsxs)("div",{role:"status","aria-live":"polite","aria-label":"checking"===D?u("fileExplorer.checkingFiles"):u("fileExplorer.uploadingPercent",{percent:L}),children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,minHeight:14,color:"var(--text-muted)"},children:["checking"===D?(0,n.jsx)(k.A,{size:13,strokeWidth:2.2,style:{animation:"spin 0.8s linear infinite"},"aria-hidden":"true"}):(0,n.jsx)(C.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),"uploading"===D&&(0,n.jsxs)("span",{style:{fontSize:10},children:[L,"%"]})]}),"uploading"===D&&(0,n.jsx)("div",{style:{height:3,marginTop:4,overflow:"hidden",borderRadius:2,background:"var(--border)"},children:(0,n.jsx)("div",{style:{width:`${L}%`,height:"100%",background:"var(--accent)",transition:"width var(--dur-fast) var(--ease-out-warm)"}})})]}),H&&(0,n.jsxs)("div",{role:"alert",style:{padding:7,border:"1px solid color-mix(in srgb, var(--status-warning) 55%, var(--border))",borderRadius:4,background:"color-mix(in srgb, var(--status-warning) 9%, var(--bg-panel))"},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text)",lineHeight:1.35,overflowWrap:"anywhere"},children:p("fileExplorer.filesAlreadyExist",H.conflicts.length,{files:H.conflicts.join(", ")})}),H.nonReplaceable.length>0&&(0,n.jsx)("div",{style:{marginTop:3,fontSize:10,color:"var(--status-warning)",lineHeight:1.35,overflowWrap:"anywhere"},children:u("fileExplorer.cannotReplace",{files:H.nonReplaceable.join(", ")})}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,marginTop:7},children:[(0,n.jsx)("button",{type:"button",onClick:()=>void X(H.files,"overwrite"),style:{height:24,minHeight:24,padding:"0 8px",border:"1px solid var(--status-error)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--status-error)",cursor:"pointer",fontSize:11},children:u("fileExplorer.replace")}),(0,n.jsx)("button",{type:"button",onClick:()=>void X(H.files,"skip"),style:{height:24,minHeight:24,padding:"0 8px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",fontSize:11},children:u("fileExplorer.skipExisting")}),(0,n.jsx)("button",{type:"button",onClick:()=>K(null),style:{height:24,minHeight:24,padding:"0 8px",border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:u("fileExplorer.cancel")})]})]}),F&&(0,n.jsxs)("div",{role:"alert",style:{display:"flex",alignItems:"flex-start",gap:6,fontSize:11,lineHeight:1.35,color:"var(--status-error)"},children:[(0,n.jsx)("span",{style:{minWidth:0,flex:1,overflowWrap:"anywhere"},children:F}),(0,n.jsx)(eh,{onClick:()=>P(null),title:u("fileExplorer.dismissError")})]}),B&&(0,n.jsxs)("div",{"aria-live":"polite",children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minHeight:22,fontSize:11},children:[(0,n.jsxs)("div",{style:{minWidth:0,flex:1,display:"flex",alignItems:"center",gap:8},children:[B.uploaded.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.uploadedCount",{count:B.uploaded.length}),"aria-label":u("fileExplorer.uploadedCount",{count:B.uploaded.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--status-success)"},children:[(0,n.jsx)(I.A,{size:13,strokeWidth:2.4,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.uploaded.length})]}),B.skipped.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.skippedCount",{count:B.skipped.length}),"aria-label":u("fileExplorer.skippedCount",{count:B.skipped.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--text-dim)"},children:[(0,n.jsx)(T.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.skipped.length})]}),B.errors.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.failedCount",{count:B.errors.length}),"aria-label":u("fileExplorer.failedCount",{count:B.errors.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--status-error)"},children:[(0,n.jsx)(R.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.errors.length})]})]}),B.uploaded.length>0&&o&&(0,n.jsx)(eo.m_,{content:u(1===B.uploaded.length?"fileExplorer.addUploadedFile":"fileExplorer.addAllUploadedFiles"),children:(0,n.jsxs)("button",{type:"button",onClick:en,"aria-label":u(1===B.uploaded.length?"fileExplorer.addUploadedFile":"fileExplorer.addAllUploadedFiles"),style:{height:22,padding:"0 7px",display:"flex",alignItems:"center",justifyContent:"center",gap:4,flexShrink:0,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--accent)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)(w.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),u("fileExplorer.mention")]})}),(0,n.jsx)(eh,{onClick:()=>O(null),title:u("fileExplorer.dismissUploadResults")})]}),B.errors.map(e=>(0,n.jsxs)("div",{title:e.error,style:{display:"flex",alignItems:"center",gap:4,marginTop:3,minWidth:0,fontSize:10,color:"var(--status-error)"},children:[(0,n.jsx)(M.A,{size:11,strokeWidth:2,style:{flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.name))]})]}),(0,n.jsxs)("div",{role:"tree","aria-label":u("sessionSidebar.explorer"),style:{padding:"2px 4px"},children:[f?(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--text-dim)"},children:u("fileExplorer.loadingFiles")}):x?(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--status-error)"},children:x}):h.map(r=>(0,n.jsx)(eg,{node:r,depth:0,cwd:e,onOpenFile:t,onAtMention:a,expandedPaths:y,onToggleExpanded:Z,refreshToken:q,highlightedPaths:z,gitStatusByPath:Y,changedDirectoryPaths:J},r.fullPath)),!f&&!x&&0===h.length&&(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--text-dim)"},children:u("fileExplorer.noFilesFound")})]})]})});function em(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(prefers-reduced-motion: reduce)");t(e.matches);let r=e=>t(e.matches);return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}let ex="omp-web:last-open-by-project";function ev(){try{return window.localStorage}catch{return null}}function ey(e){try{let t=e.getItem(ex);if(!t)return{};let r=JSON.parse(t);if(!r||"object"!=typeof r||Array.isArray(r))return{};return Object.fromEntries(Object.entries(r).filter(([,e])=>"string"==typeof e&&e.length>0))}catch{return{}}}function eb(e){return e.projectKey??e.projectRoot??e.cwd}let ek=/^[a-zA-Z]:[\\/]/,ew=/^\/\//;function ej(e){let t=e.replace(/\\/g,"/"),r=ek.test(t)||ew.test(t);return t=t.replace(/\/{2,}/g,"/").replace(/\/+$/,""),r?t.toLowerCase():t}var eS=r(32159),eC=r(23637),eI=r(82749),eT=r(2125),eR=r(65377),eM=r(80846),ez=r(66763),eE=r(59680),eA=r(12363),eW=r(65738),eD=r(15480);let e$=new Set;function eL(e){if(0!==e.length)for(let t of[...e$])try{t(e)}catch{}}function eN(e){let t=/^[a-zA-Z]:/.test(e)||e.includes("\\"),r=e.replace(/[\/]+$/,"").replace(/\\/g,"/");return t?r.toLowerCase():r}let eF="omp-web:unread-session-ids",eP="omp-web:expanded-projects",eB=new Set;function eO(e,t){return t&&e.startsWith(t)?"~"+e.slice(t.length):e}function eH(e){let t=e.replace(/[\\/]+$/,""),r=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return r>=0?t.slice(r+1):t}function eK({text:e,style:t}){return(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"block",minWidth:0,lineHeight:1.35,direction:"rtl",textAlign:"left",...t},children:(0,n.jsx)("span",{style:{unicodeBidi:"plaintext"},children:e})})}let eU="background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)";function e_({label:e,title:t,onClick:r,active:a=!1,disabled:o=!1,children:s}){let[l,d]=(0,i.useState)(!1);return(0,n.jsx)("button",{type:"button","aria-label":e,title:t??e,onClick:r,disabled:o,"aria-pressed":a,style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,flexShrink:0,lineHeight:0,background:a||l?"var(--bg-hover)":"none",border:"none",borderRadius:"var(--radius-control)",color:a||l?"var(--accent)":"var(--text-dim)",cursor:o?"default":"pointer",opacity:o?.5:1,transition:eU},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:s})}function eq({anchor:e,open:t,onClose:r,placement:a="below",align:o="end",minWidth:s=136,style:d,children:c}){let u=(0,i.useRef)(null),[p,h]=(0,i.useState)(null),g=(0,i.useCallback)((e,t)=>{let r;if(!e||!t)return;let n=e.getBoundingClientRect(),i=t.offsetWidth,s=t.offsetHeight;"above"===a?(r=n.top-s-5)<8&&(r=Math.min(n.bottom+5,window.innerHeight-s-8)):(r=n.bottom+5)+s>window.innerHeight-8&&(r=n.top-s-5),r<8&&(r=8),h({top:r,left:"start"===o?Math.max(8,Math.min(n.left,window.innerWidth-i-8)):Math.max(8,Math.min(n.right-i,window.innerWidth-i-8))})},[a,o]);return((0,i.useLayoutEffect)(()=>{t&&g(e.current,u.current)},[t,g,e]),(0,i.useEffect)(()=>{if(!t)return;let r=()=>g(e.current,u.current);return window.addEventListener("scroll",r,!0),window.addEventListener("resize",r),()=>{window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r)}},[t,g,e]),(0,i.useEffect)(()=>{if(!t)return;let n=setTimeout(()=>{let e=u.current?.querySelector("button:not([disabled])");e?.focus()},0),i=t=>{let n=t.target;e.current?.contains(n)||u.current?.contains(n)||r()},a=t=>{if("Escape"===t.key)t.stopPropagation(),t.preventDefault(),r(),e.current?.focus();else if("ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault();let e=Array.from(u.current?.querySelectorAll("button:not([disabled])")??[]);if(0===e.length)return;let r=e.indexOf(document.activeElement),n="ArrowDown"===t.key?(r+1)%e.length:(r-1+e.length)%e.length;e[n]?.focus()}};return document.addEventListener("mousedown",i),document.addEventListener("touchstart",i),document.addEventListener("keydown",a),()=>{clearTimeout(n),document.removeEventListener("mousedown",i),document.removeEventListener("touchstart",i),document.removeEventListener("keydown",a)}},[t,r,e]),!t||"u"<typeof document)?null:(0,l.createPortal)((0,n.jsx)("div",{ref:u,role:"menu",style:{position:"fixed",top:p?p.top:-9999,left:p?p.left:-9999,visibility:p?"visible":"hidden",zIndex:1e3,minWidth:s,padding:4,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",boxShadow:"var(--shadow-pop)",...d},children:c}),document.body)}function eV(e){let t=new Map;for(let r of e)t.set(r.id,{session:r,children:[]});let r=new Map;for(let t of e)t.parentSessionId&&r.set(t.id,t.parentSessionId);let n=[];for(let e of t.values()){let i=function(e){let n=r.get(e),i=new Set;for(;n&&!i.has(n);){if(i.add(n),t.has(n))return n;n=r.get(n)}return null}(e.session.id);i?t.get(i).children.push(e):n.push(e)}let i=e=>{e.sort((e,t)=>t.session.modified.localeCompare(e.session.modified)),e.forEach(e=>i(e.children))};return i(n),n}let eY="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function eJ(){let[e,t]=(0,i.useState)(!1),[r,a]=(0,i.useState)(!1),o=(0,i.useRef)(null),s=(0,i.useRef)(null),l=em(),d=function(e,t,r){let[n,a]=(0,i.useState)(e),o=(0,i.useRef)(null),s=(0,i.useRef)(0);return(0,i.useEffect)(()=>{if(!t||r)return void a(e);s.current=0;let n=4*e.length,i=()=>{s.current+=1;let t=Math.floor(s.current/n*e.length);a(e.split("").map((e,r)=>" "===e?" ":r<t?e:eY[Math.floor(Math.random()*eY.length)]).join("")),s.current<n?o.current=requestAnimationFrame(i):a(e)};return o.current=requestAnimationFrame(i),()=>{o.current&&cancelAnimationFrame(o.current)}},[e,t,r]),n}(e?"v0.3.5":"omp web",r,l),c=(0,i.useCallback)(e=>{t(e),s.current&&clearTimeout(s.current),l||(a(!0),s.current=setTimeout(()=>a(!1),(e?6:8)*4*(1e3/60)+100))},[l]),u=(0,i.useCallback)(()=>{o.current&&clearTimeout(o.current);let t=!e;c(t),t&&(o.current=setTimeout(()=>c(!1),3e3))},[e,c]);return(0,i.useEffect)(()=>()=>{o.current&&clearTimeout(o.current),s.current&&clearTimeout(s.current)},[]),(0,n.jsx)("button",{onClick:u,style:{background:"none",border:"none",padding:0,cursor:"pointer",fontWeight:700,fontSize:14,letterSpacing:"-0.01em",fontFamily:"var(--font-mono)",minWidth:"6ch",lineHeight:1},title:e?"Show ompweb name":"Show ompweb version",children:r||e?(0,n.jsx)("span",{style:{color:e?"var(--accent)":"var(--text)"},children:d}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{color:"var(--accent)"},children:"omp"}),(0,n.jsx)("span",{style:{color:"var(--text)"},children:"web"})]})})}function eZ({selectedSessionId:e,optimisticSession:t,onSelectSession:r,onNewSession:a,initialSessionId:o,skipInitialProjectSelection:s,onInitialRestoreDone:l,refreshKey:u,onSessionDeleted:p,selectedCwd:h,onCwdChange:g,onOpenFile:f,explorerRefreshKey:x,onExplorerRefresh:y,explorerRefreshing:b,onExplorerRefreshDone:k,onAtMention:w,onAtMentions:j,onOpenSettings:S,onOpenArchive:T,updateAvailable:R}){let{t:M}=(0,d.s9)(),[z,E]=(0,i.useState)([]),[A,W]=(0,i.useState)(!0),[D,$]=(0,i.useState)(null),[L,N]=(0,i.useState)(null),[F,P]=(0,i.useState)(""),[B,O]=(0,i.useState)([]),[H,K]=(0,i.useState)(null),[U,_]=(0,i.useState)(null),[q,V]=(0,i.useState)(!1),[Y,J]=(0,i.useState)(!1),[Z,G]=(0,i.useState)(null),[X,Q]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eP);if(!e)return null;let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>"string"==typeof e&&e.length>0));return null}catch{return null}})()),[ee,et]=(0,i.useState)(null),[er,en]=(0,i.useState)({}),[ei,ea]=(0,i.useState)(!1),[el,ed]=(0,i.useState)(!1),[ec,eu]=(0,i.useState)(""),[ep,eh]=(0,i.useState)(null),[eg,em]=(0,i.useState)(!1),[ek,ew]=(0,i.useState)(null),eE=(0,i.useRef)(null),eA=(0,i.useRef)(null),[eW,eD]=(0,i.useState)(!0),[e$,eK]=(0,i.useState)(0),[eq,eY]=(0,i.useState)(!1),[e0,e1]=(0,i.useState)(!1),[e2,e4]=(0,i.useState)(()=>new Set),[e5,e6]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eF);if(!e)return new Set;let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>"string"==typeof e));return new Set}catch{return new Set}})()),e8=(0,i.useRef)(new Set),[e3,e9]=(0,i.useState)(()=>Date.now()),[e7,te]=(0,i.useState)(!1),[tt,tr]=(0,i.useState)(""),[tn,ti]=(0,i.useState)(!1),ta=(0,i.useRef)(null),to=(0,i.useRef)(!1),ts=(0,i.useRef)(null),tl=(0,i.useRef)(null),td=(0,i.useRef)(null),tc=(0,i.useRef)(null),tu=(0,i.useCallback)(async(e=!1)=>{tc.current?.abort();let t=new AbortController;tc.current=t;try{e&&W(!0);let r={};td.current&&(r["If-None-Match"]=td.current);let n=await fetch("/api/sessions",{headers:r,signal:t.signal});if(304===n.status)return;if(!n.ok)throw Error(`HTTP ${n.status}`);let i=n.headers.get("ETag");i&&(td.current=i);let a=await n.json();E(a.sessions),to.current||e4(new Set(a.runningSessionIds??[]));let o=new Set(a.sessions.map(e=>e.id));e6(e=>{if(0===e.size)return e;let t=new Set([...e].filter(e=>o.has(e)));return t.size===e.size?e:t}),$(null),e||(e1(!0),ts.current&&clearTimeout(ts.current),ts.current=setTimeout(()=>e1(!1),2e3))}catch(e){if(e?.name==="AbortError")return;$(M("sessionSidebar.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}finally{e&&W(!1)}},[M]),tp=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=!tp.current;tp.current=!0,tu(e)},[tu,u]);let th=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();O(t.projects??[]),_(null),tx.current=!0}catch(e){_(M("projects.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}},[M]);(0,i.useEffect)(()=>{th()},[th,u]),(0,i.useEffect)(()=>{let e=setInterval(()=>e9(Date.now()),6e4);return()=>clearInterval(e)},[]),(0,i.useEffect)(()=>{if(null!==X)try{window.localStorage.setItem(eP,JSON.stringify([...X]))}catch{}},[X]),(0,i.useEffect)(()=>{try{0===e5.size?window.localStorage.removeItem(eF):window.localStorage.setItem(eF,JSON.stringify([...e5]))}catch{}},[e5]);let tg=(0,i.useRef)(null),tf=(0,i.useCallback)(()=>{tg.current||(tg.current=setTimeout(()=>{tg.current=null,tu(!1)},300))},[tu]);(0,i.useEffect)(()=>{let e=new EventSource("/api/agent/running/events");return e.onmessage=e=>{try{let t=JSON.parse(e.data);"running"===t.type?(to.current=!0,e4(new Set(t.runningSessionIds??[])),t.refreshSessionList&&tf()):"sessions-changed"===t.type&&(t.refreshSessionList&&tf(),eL(t.sessionIds??[]))}catch{}},()=>{tg.current&&clearTimeout(tg.current),e.close()}},[tu,tf]),(0,i.useEffect)(()=>{let t=e8.current,r=[...t].filter(t=>!e2.has(t)&&t!==e),n=[...e2].filter(e=>!t.has(e));(r.length>0||n.length>0)&&e6(e=>{let t=new Set(e);return n.forEach(e=>t.delete(e)),r.forEach(e=>t.add(e)),t}),(r.length>0||n.length>0)&&tu(!1),e8.current=e2},[e2,e,tu]),(0,i.useEffect)(()=>{e&&e6(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r})},[e]),(0,i.useEffect)(()=>{void 0!==x&&eK(e=>e+1)},[x]),(0,i.useEffect)(()=>{fetch("/api/home").then(e=>e.json()).then(e=>{e.home&&P(e.home)}).catch(()=>{})},[]);let tm=(0,i.useRef)(!1),tx=(0,i.useRef)(!1),tv=(0,i.useCallback)(e=>{if(!e)return null;for(let t of Object.values(er))if(t.worktrees.some(t=>eN(t.path)===eN(e)))return t.projectRoot;let t=B.find(t=>ej(t.path)===ej(e));if(t)return t.path;let r=ej(e),n=z.find(e=>ej(e.cwd)===r);return n?.projectRoot??e},[er,z,B]),ty=(0,i.useCallback)(e=>{Q(t=>{if(t?.has(e))return t;let r=new Set(t??[]);return r.add(e),r})},[]),tb=(0,i.useCallback)(e=>{Q(t=>{if(!t?.has(e))return t;let r=new Set(t);return r.delete(e),r})},[]),tk=(0,i.useCallback)(e=>{Q(t=>{let r=new Set(t??[]);return r.has(e)?r.delete(e):r.add(e),r})},[]),tw=(0,i.useCallback)(e=>{tH.current=!1,N(e),ty(e)},[ty]),tj=(0,i.useRef)(null);(0,i.useEffect)(()=>{tj.current!==L&&(tj.current=L,g?.(L,tv(L)))},[L,g,tv]);let tS=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(h&&h!==tS.current){tS.current=h,N(h);let e=tv(h);e&&ty(e)}},[h,tv,ty]);let[tC,tI]=(0,i.useState)(0);(0,i.useLayoutEffect)(()=>{if(!L)return;let e=!1;return fetch(`/api/worktrees?cwd=${encodeURIComponent(L)}`).then(e=>e.json()).then(t=>{if(e||t.error||!t.projectRoot)return;let r=t.projectRoot,n={forCwd:L,projectRoot:r,isGit:t.isGit??!1,isTopLevel:t.isTopLevel??!1,worktrees:t.worktrees??[]};en(e=>{let t=eN(r),i=e[t];if(i&&eN(i.projectRoot)!==t){let r={...e};return delete r[eN(i.projectRoot)],r[t]=n,r}return{...e,[t]:n}})}).catch(()=>{}),()=>{e=!0}},[L,tC,u]);let tT=(()=>{if(!t)return null;if(t.projectRoot)return t.projectRoot;if(t.projectKey)return t.projectKey;let e=t.cwd??"";if(!e)return null;let r=B.find(t=>ej(t.path)===ej(e));return r?r.path:e})(),tR=(0,i.useRef)(new Map),tM=(0,i.useMemo)(()=>{let e=z;if(t&&!e.some(e=>e.id===t.id)){let r=tT??t.cwd,n=r?ej(r):void 0;e=[...e,{...t,projectRoot:r??t.cwd,...n?{projectKey:n}:{}}]}let r=new Set(e.map(e=>e.id)),n=[];for(let e of e2){if(r.has(e))continue;let t=tR.current.get(e);t||(t=new Date().toISOString(),tR.current.set(e,t));let i=tT??L??"",a=i?ej(i):void 0;n.push({id:e,path:"",cwd:L??"",name:void 0,created:t,modified:t,messageCount:1,firstMessage:"",projectRoot:i,...a?{projectKey:a}:{}})}if(tR.current.size>n.length)for(let e of[...tR.current.keys()])(!e2.has(e)||r.has(e))&&tR.current.delete(e);return n.length?[...e,...n]:e},[z,t,tT,e2,L]),tz=(0,i.useMemo)(()=>{let e=B,t=!!tT&&e.some(e=>ej(e.path)===ej(tT));tT&&!t&&(e=[...e,{path:tT}]);let r=new Set(e.map(e=>ej(e.path)));for(let t of e2){if(z.some(e=>e.id===t))continue;let n=tT??L??"";n&&!r.has(ej(n))&&(e=[...e,{path:n}],r.add(ej(n)))}return e},[tT,B,e2,z,L]),tE=(0,i.useMemo)(()=>tv(L),[tv,L]),tA=!!(t||[...e2].some(e=>!z.some(t=>t.id===e))),tW=(0,i.useMemo)(()=>[...tz].sort((e,t)=>{let r=void 0!==e.sortOrder,n=void 0!==t.sortOrder;if(r!==n)return r?-1:1;if(r&&n&&e.sortOrder!==t.sortOrder)return e.sortOrder-t.sortOrder;let i=void 0!==e.addedAt,a=void 0!==t.addedAt;if(i!==a)return i?-1:1;if(i&&a){let r=t.addedAt.localeCompare(e.addedAt);if(0!==r)return r}return e.path.localeCompare(t.path)}),[tz]),tD=(0,i.useRef)(null),t$=(0,i.useMemo)(()=>{if(tA&&tD.current){let e=tD.current,t=new Set(e.map(e=>ej(e.path))),r=[...e];for(let e of tW)t.has(ej(e.path))||r.push(e);return r}return tD.current=tW,tW},[tW,tA]),tL=(0,i.useMemo)(()=>(function(e,t){let r=new Map,n=new Map;for(let t of e){let e=[];r.set(t.path,e),n.set(ej(t.path),e)}for(let e of t){let t=eb(e);if(!t)continue;let i=n.get(ej(e.projectKey??t))??r.get(t);i&&i.push(e)}return r})(t$,tM),[t$,tM]),tN=(0,i.useMemo)(()=>(function(e,t,r){let n=new Set(t),i=new Set(r),a=new Map;for(let t of e){let e=eb(t);if(!e)continue;let r=ej(t.projectKey??e),o=a.get(r)??{running:0,unread:0};n.has(t.id)&&(o.running+=1),i.has(t.id)&&(o.unread+=1),a.set(r,o)}return a})(tM,e2,e5),[tM,e2,e5]),tF=(0,i.useDeferredValue)(tt),tP=e7||tn||tF.trim().length>0,tB=(0,i.useMemo)(()=>{let e=tF.trim().toLowerCase(),t=[];for(let r of t$){let n=tL.get(r.path)??[];tn&&(n=n.filter(e=>e2.has(e.id))),e&&(n=n.filter(t=>(t.name??"").toLowerCase().includes(e)||t.firstMessage.toLowerCase().includes(e))),(0!==n.length||!tn&&(!e||eH(r.path).toLowerCase().includes(e)||(r.alias??"").toLowerCase().includes(e)))&&t.push({project:r,sessions:n})}return t},[t$,tL,tn,tF,e2]),tO=(0,i.useMemo)(()=>{let e=new Map;for(let{project:t,sessions:r}of tB)e.set(t.path,eV(r));return e},[tB]);(0,i.useEffect)(()=>{if(null===X||!tx.current)return;let e=new Set(t$.map(e=>e.path)),t=[...X].filter(t=>!e.has(t));0!==t.length&&Q(e=>{if(!e)return e;let r=new Set(e);return t.forEach(e=>r.delete(e)),r})},[X,t$]);let tH=(0,i.useRef)(!1),tK=(0,i.useRef)(0),tU=(0,i.useRef)(null);(0,i.useEffect)(()=>()=>{tU.current&&(clearTimeout(tU.current),tU.current=null)},[]),(0,i.useEffect)(()=>{if(s)return;if(o&&!tm.current){if(0===z.length)return;let e=z.find(e=>e.id===o);if(e){tK.current=0,tm.current=!0,N(e.cwd),ty(eb(e)),r(e,!0);return}if(tK.current<8){tK.current+=1,tU.current&&(clearTimeout(tU.current),tU.current=null),tU.current=setTimeout(()=>{tU.current=null,tu(!1)},1e3);return}tK.current=0,tm.current=!0,l?.()}if(null!==L&&!tH.current)return;let e=t$[0];e&&(N(e.path),ty(e.path),tH.current=0===z.length)},[z,L,o,s,r,l,t$,ty,tu]);let t_=(0,i.useRef)(!1);(0,i.useEffect)(()=>{t_.current||tE&&(t_.current=!0,null===X&&ty(tE))},[tE,X,ty]);let tq=(0,i.useCallback)(async e=>{let t=(e??"").trim();if(t&&!Y){J(!0),G(null);try{let e=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:t})}),r=await e.json().catch(()=>({}));if(!e.ok||r.error||!r.project)return void G((0,c.K)({...r,error:r.error??`HTTP ${e.status}`}));await th(),N(r.project.path),ty(r.project.path),V(!1)}catch(e){G(e instanceof Error?e.message:String(e))}finally{J(!1)}}},[Y,th,ty]),tV=(0,i.useCallback)(async(e,t)=>{try{if(!(await fetch("/api/projects",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,...t})})).ok)throw Error(M("projects.updateFailed"));await th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}},[th,M]),tY=(0,i.useCallback)(async e=>{try{if(!(await fetch("/api/projects",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({updates:e.map((e,t)=>({cwd:e.path,sortOrder:t}))})})).ok)throw Error(M("projects.reorderFailed"));await th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}},[th,M]),tJ=(0,i.useCallback)(async e=>{if(K(null),!H||H===e)return;let t=[...t$],r=t.findIndex(e=>e.path===H),n=t.findIndex(t=>t.path===e);if(r<0||n<0)return;let[i]=t.splice(r,1);i&&(t.splice(n,0,i),await tY(t))},[H,t$,tY]),tZ=(0,i.useCallback)(async(e,t)=>{let r=[...t$],n=r.findIndex(t=>t.path===e),i=n+t;if(n<0||i<0||i>=r.length)return;let[a]=r.splice(n,1);a&&(r.splice(i,0,a),await tY(r))},[t$,tY]),tG=(0,i.useCallback)(async e=>{if(!ee){et(e);try{let t=await fetch("/api/projects",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await t.json().catch(()=>({}));if(!t.ok||!r.success)return void es.oR.error((0,c.K)({...r,error:r.error??`HTTP ${t.status}`}));if(null!==tE&&ej(tE)===ej(e)){let t=t$.find(t=>t.path!==e);N(t?t.path:null)}tb(e),await th()}finally{et(null)}}},[ee,tE,t$,tb,th]),tX=(0,i.useCallback)(async()=>{let e=ec.trim(),t=tE?er[eN(tE)]:void 0;if(!e||eg||!t)return;let r=t.projectRoot;em(!0),eh(null);try{let t=await fetch("/api/worktrees",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:r,branch:e})}),n=await t.json().catch(()=>({}));if(!t.ok||n.error||!n.path)return void eh((0,c.K)({...n,error:n.error??`HTTP ${t.status}`}));let i=n.path;ed(!1),eu(""),ea(!1),en(t=>{let n=eN(r),a=t[n];return a?{...t,[n]:{...a,forCwd:i,worktrees:[...a.worktrees,{path:i,branch:e,isMain:!1}]}}:t}),N(i),tI(e=>e+1)}catch(e){eh(e instanceof Error?e.message:String(e))}finally{em(!1)}},[ec,eg,tE,er]),tQ=(0,i.useCallback)(async(e,t)=>{let r=tE?er[eN(tE)]:void 0;if(!r||eg)return;let n=r.projectRoot;em(!0),eh(null);try{let r=await fetch("/api/worktrees",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:n,path:e,force:t})}),i=await r.json().catch(()=>({}));if(!r.ok){if(i.dirty&&!t)return void ew(e);eh((0,c.K)({...i,error:i.error??`HTTP ${r.status}`}));return}ew(null),null!==L&&ej(L)===ej(e)&&N(n),tI(e=>e+1)}catch(e){eh(e instanceof Error?e.message:String(e))}finally{em(!1)}},[tE,er,eg,L]),t0=(0,i.useCallback)(()=>{ea(!1),ed(!1),eu(""),eh(null),ew(null)},[]),t1=(0,i.useCallback)(e=>{tH.current=!1,e.cwd&&N(e.cwd),ty(eb(e)),r(e)},[r,ty]),t2=(0,i.useCallback)(()=>{if(!L)return;let e="function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`;a?.(e,L)},[L,a]),[t4,t5]=(0,i.useState)(!1),t6=(0,i.useRef)(null),t8=(0,i.useCallback)(async e=>{if(e&&!t4){t5(!0);try{let t=await e.text(),r=await fetch("/api/sessions/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,content:t})}),n=await r.json().catch(()=>({}));if(!r.ok||!n.success)return void es.oR.error(n.error??`HTTP ${r.status}`);es.oR.success(M("sessionSidebar.imported")),tu(!1),th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}finally{t5(!1)}}},[t4,tu,th,M]),t3=X??eB,t9=tE?er[eN(tE)]:void 0,t7=(0,i.useCallback)(e=>{let t=er[eN(e)];if(!t||!t.isGit||!t.isTopLevel)return null;let r=t.worktrees.find(e=>eN(e.path)===eN(L??""))??t.worktrees.find(e=>e.isMain);return r?r.branch??eO(r.path,F):null},[er,L,F]),re=!!(t9?.isGit&&t9.isTopLevel&&L&&null!==tE&&ej(tE)===ej(t9.projectRoot)),rt=(0,i.useCallback)(()=>{ea(e=>!e)},[]),rr=(0,i.useCallback)(e=>{let t=z.find(t=>t.id===e);t&&function(e,t=ev()){if(t)try{let r=ey(t);if(!(e in r))return;delete r[e],0===Object.keys(r).length?t.removeItem(ex):t.setItem(ex,JSON.stringify(r))}catch{}}(eb(t)),p?.(e),tu()},[z,p,tu]);(0,i.useEffect)(()=>{let t=z.find(t=>t.id===e);t&&function(e,t,r=ev()){if(r)try{let n=ey(r);n[e]=t,r.setItem(ex,JSON.stringify(n))}catch{}}(eb(t),t.id)},[z,e]);let rn=re&&t9?(0,n.jsx)(eQ,{worktreeState:t9,selectedCwd:L,homeDir:F,wtDropdownOpen:ei,wtNewOpen:el,setWtNewOpen:ed,wtNewBranch:ec,setWtNewBranch:eu,wtError:ep,setWtError:eh,wtBusy:eg,wtConfirmRemove:ek,setWtConfirmRemove:ew,onSelectWorktree:e=>{N(e),ea(!1),eh(null)},onCreateWorktree:tX,onRemoveWorktree:(e,t)=>void tQ(e,t),anchorRef:eE,newInputRef:eA,onClose:t0}):null;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[q&&(0,n.jsx)(m,{busy:Y,error:Z,onCancel:()=>{V(!1),G(null)},onSelect:e=>void tq(e)}),(0,n.jsxs)("div",{style:{padding:"10px 10px 8px",borderBottom:"1px solid var(--border)",flexShrink:0,display:"flex",flexDirection:"column",gap:8},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsx)(eJ,{}),(0,n.jsxs)("div",{style:{display:"flex",gap:2},children:[T&&(0,n.jsx)(eo.m_,{content:M("sessionSidebar.archiveBrowserTitle"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.archiveBrowser"),onClick:T,children:(0,n.jsx)(eS.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.importTitle"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.import"),onClick:()=>t6.current?.click(),disabled:t4,children:(0,n.jsx)(eC.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.refresh"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.refresh"),active:e0,onClick:()=>{tu(!1),th()},children:e0?(0,n.jsx)(I.A,{size:14,strokeWidth:2.2,"aria-hidden":"true"}):(0,n.jsx)(eI.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})})]})]}),(0,n.jsx)("input",{ref:t6,type:"file",accept:".jsonl,.json,application/json,application/jsonl",style:{display:"none"},onChange:e=>{let t=e.target.files?.[0]??null;e.target.value="",t8(t)}}),(0,n.jsxs)("button",{onClick:t2,disabled:!L,className:"sidebar-new-session",title:L?M("sessionSidebar.newSessionIn",{cwd:L}):M("sessionSidebar.selectProjectFirst"),style:{width:"100%",height:38,boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center",gap:7,background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:9,color:L?"var(--text)":"var(--text-dim)",cursor:L?"pointer":"not-allowed",fontSize:12.5,fontWeight:600,letterSpacing:"-0.01em",opacity:L?1:.65,transition:eU},onMouseEnter:e=>{L&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.borderColor="color-mix(in srgb, var(--accent) 30%, transparent)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.borderColor="var(--border)"},children:[(0,n.jsx)(eT.A,{size:15,strokeWidth:2.2,style:{color:"var(--accent)",flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{children:M("sessionSidebar.new")})]})]}),(0,n.jsxs)("div",{style:{flexShrink:0,padding:"4px 10px 2px",display:"flex",alignItems:"center",gap:2},children:[(0,n.jsx)("span",{style:{flex:1,color:"var(--text-muted)",fontSize:11,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase"},children:M("projects.heading")}),(0,n.jsx)(e_,{label:M("sessionSidebar.search"),title:M("sessionSidebar.searchTitle"),active:e7,onClick:()=>{let e=!e7;te(e),e?setTimeout(()=>ta.current?.focus(),0):tr("")},children:(0,n.jsx)(eR.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e_,{label:M("sessionSidebar.filterRunning"),title:M("sessionSidebar.filterRunningTitle"),active:tn,onClick:()=>ti(e=>!e),children:(0,n.jsx)(eM.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e_,{label:M("projects.add"),title:M("projects.addTitle"),onClick:()=>{V(!0),G(null)},children:(0,n.jsx)(eT.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})})]}),e7&&(0,n.jsx)("div",{style:{padding:"0 10px 6px",flexShrink:0},children:(0,n.jsx)("input",{ref:ta,value:tt,onChange:e=>tr(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),te(!1),tr(""))},placeholder:M("sessionSidebar.searchPlaceholder"),"aria-label":M("sessionSidebar.search"),style:{width:"100%",height:27,boxSizing:"border-box",padding:"0 9px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",outline:"none",color:"var(--text)",fontSize:12},onFocus:e=>{e.currentTarget.style.borderColor="var(--accent)"},onBlur:e=>{e.currentTarget.style.borderColor="var(--border)"}})}),(0,n.jsxs)("div",{style:{flex:eW&&(h||L)?"1 1 0":"1 1 auto",transition:"flex var(--dur-med) var(--ease-out-warm)",overflowY:"auto",padding:"2px 10px 10px",minHeight:80},children:[A&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12},children:M("sessionSidebar.loading")}),U&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:U}),D&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:D}),!A&&!U&&!D&&0===t$.length&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5},children:M("projects.noProjects")}),!A&&!U&&!D&&t$.length>0&&0===tB.length&&(0,n.jsx)("div",{style:{padding:"14px 4px",color:"var(--text-dim)",fontSize:11.5,lineHeight:1.5},children:M("sessionSidebar.noMatches")}),tB.map(({project:t,sessions:r})=>{let i=tO.get(t.path)??eV(r),a=null!==tE&&ej(tE)===ej(t.path),o=t7(t.path);return(0,n.jsx)(eX,{project:t,isActive:a,isExpanded:t3.has(t.path),activity:tN.get(ej(t.path)),tree:i,hiddenCount:tP?0:Math.max(0,i.length-eG),selectedSessionId:e,runningSessionIds:e2,unreadSessionIds:e5,relativeTimeNow:e3,onActivate:tw,onToggleExpand:tk,onRemoveProject:tG,onUpdatePresentation:tV,onDragPathChange:K,onDropProject:e=>void tJ(e),onMoveProject:(e,t)=>void tZ(e,t),isDragTarget:null!==H&&H!==t.path,removeBusy:ee===t.path,onSelectSession:t1,onRenamed:tu,onSessionDeleted:rr,activeWorktreeSwitcher:a?rn:null,worktreeBranch:o,worktreeToggleRef:a&&o?eE:void 0,worktreeOpen:!!a&&ei,onToggleWorktrees:a?rt:void 0,homeDir:F},t.path)})]}),(h||L)&&(0,n.jsxs)("div",{style:{borderTop:"1px solid var(--border)",display:"flex",flexDirection:"column",flex:eW?"1 1 0":"0 0 auto",minHeight:0,overflow:"hidden",transition:"flex var(--dur-med) var(--ease-out-warm)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",flexShrink:0},children:[(0,n.jsxs)("button",{onClick:()=>eD(e=>!e),style:{display:"flex",alignItems:"center",gap:6,flex:1,padding:"6px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:11,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",textAlign:"left"},children:[(0,n.jsx)(v.A,{size:12,strokeWidth:1.8,style:{transform:eW?"rotate(90deg)":"none",transition:"transform var(--dur-med) var(--ease-out-warm)",flexShrink:0},"aria-hidden":"true"}),M("sessionSidebar.explorer")]}),(0,n.jsx)("div",{inert:!eW||void 0,style:{display:"flex",alignItems:"center",opacity:+!!eW,pointerEvents:eW?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(eo.m_,{content:M("sessionSidebar.uploadFilesTitle"),side:"top",children:(0,n.jsx)("button",{onClick:()=>tl.current?.openUploadPicker(),disabled:eq,title:M("sessionSidebar.uploadFilesTitle"),"aria-label":M("sessionSidebar.uploadFiles"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,background:"none",border:"none",color:"var(--text-dim)",cursor:eq?"default":"pointer",borderRadius:"var(--radius-control)",flexShrink:0,opacity:eq?.6:1,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{eq||(e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{eq||(e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none")},children:(0,n.jsx)(C.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.refreshExplorer"),side:"top",children:(0,n.jsx)("button",{"aria-label":M("sessionSidebar.refreshExplorer"),onClick:()=>{y?y():eK(e=>e+1)},title:M("sessionSidebar.refreshExplorer"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,marginRight:6,background:"none",border:"none",color:b?"var(--accent)":"var(--text-dim)",cursor:"pointer",borderRadius:"var(--radius-control)",flexShrink:0,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{b||(e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{b||(e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none")},children:b?(0,n.jsx)(eI.A,{size:13,strokeWidth:2,"aria-hidden":"true",className:"icon-spin"}):(0,n.jsx)(eI.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})]}),(0,n.jsx)("div",{className:"accordion-flow "+(eW?"is-open":""),inert:!eW||void 0,style:{flex:eW?"1 1 auto":"0 0 0px",minHeight:0},children:(0,n.jsx)("div",{className:"accordion-flow-inner",style:{height:"100%",overflowY:"auto",overflowX:"hidden"},children:(0,n.jsx)(ef,{ref:tl,cwd:L??h,onOpenFile:f??(()=>{}),refreshKey:e$,onAtMention:w,onAtMentions:j,onUploadBusyChange:eY,onRefreshDone:k})})})]}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",flexShrink:0},children:(0,n.jsxs)("button",{className:"sidebar-settings-row",onClick:S,title:M("chatInput.settings"),"aria-label":M("chatInput.settings"),style:{width:"100%",height:36,boxSizing:"border-box",display:"flex",alignItems:"center",gap:9,padding:"0 12px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",transition:eU},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="none",e.currentTarget.style.color="var(--text-muted)"},children:[(0,n.jsxs)("span",{style:{position:"relative",display:"inline-flex",flexShrink:0,color:"var(--accent)"},children:[(0,n.jsx)(ez.A,{size:14,strokeWidth:2,"aria-hidden":"true"}),R&&(0,n.jsx)("span",{"aria-label":M("skillsConfig.updateAvailable"),role:"status",style:{position:"absolute",top:-3,right:-4,width:6,height:6,borderRadius:"50%",background:"var(--accent)",border:"1px solid var(--bg-panel)"}})]}),(0,n.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,fontWeight:500},children:M("chatInput.settings")}),(0,n.jsx)(v.A,{size:13,strokeWidth:2,style:{flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true"})]})})]})}let eG=5;function eX({project:e,isActive:t,isExpanded:r,activity:a,tree:o,hiddenCount:s,selectedSessionId:l,runningSessionIds:c,unreadSessionIds:u,relativeTimeNow:p,onActivate:h,onToggleExpand:g,onRemoveProject:f,onUpdatePresentation:m,onDragPathChange:x,onDropProject:y,onMoveProject:k,isDragTarget:w,removeBusy:S,onSelectSession:C,onRenamed:I,onSessionDeleted:T,activeWorktreeSwitcher:R,worktreeBranch:M,worktreeToggleRef:z,worktreeOpen:E,onToggleWorktrees:A}){let{t:W}=(0,d.s9)(),[D,$]=(0,i.useState)(!1),[L,N]=(0,i.useState)(!1),[F,P]=(0,i.useState)(!1),[B,O]=(0,i.useState)(!1),H=(0,i.useRef)(null),[K,U]=(0,i.useState)(!1),[_,q]=(0,i.useState)(""),V=(0,i.useRef)(null),Y=(0,i.useRef)(!1),J=(0,i.useCallback)(()=>{q(e.alias??""),U(!0),setTimeout(()=>V.current?.select(),0)},[e.alias]),Z=(0,i.useCallback)(()=>{if(Y.current){Y.current=!1,U(!1);return}let t=_.trim();U(!1),t!==(e.alias??"")&&m(e.path,{alias:t})},[_,e.alias,e.path,m]),G=(0,i.useCallback)(async e=>{try{let t=await fetch("/api/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),r=await t.json().catch(()=>({}));t.ok||es.oR.error(r.error??W("fileExplorer.revealFailed"))}catch{es.oR.error(W("fileExplorer.revealFailed"))}},[W]),X=e.alias??eH(e.path),Q=!!(a&&(a.running>0||a.unread>0)),ee=s>0&&!F?o.slice(0,eG):o,et=D||L||B;return(0,n.jsxs)("section",{className:"sidebar-project","data-active":t?"true":"false",style:{marginBottom:12},children:[(0,n.jsxs)("div",{className:"sidebar-project-header",draggable:!K,onDragStart:t=>{t.dataTransfer.setData("text/plain",e.path),t.dataTransfer.effectAllowed="move",x(e.path)},onDragOver:e=>{w&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},onDrop:t=>{t.preventDefault(),y(e.path)},onDragEnd:()=>x(null),onMouseEnter:()=>$(!0),onMouseLeave:()=>$(!1),onFocus:()=>N(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||N(!1)},onKeyDown:e=>{"Escape"===e.key&&B&&(e.stopPropagation(),O(!1))},style:{display:"flex",alignItems:"center",gap:2,height:30,margin:0,padding:"0 6px 0 0",borderRadius:"var(--radius-control)",background:D?"var(--bg-hover)":"transparent",transition:eU,...w?{outline:"1px solid var(--accent)",outlineOffset:-1}:{}},children:[K?(0,n.jsxs)("div",{className:"sidebar-project-identity",onClick:e=>e.stopPropagation(),style:{flex:"0 1 auto",minWidth:0,alignSelf:"stretch",display:"flex",alignItems:"center",gap:7,padding:"0 4px 0 10px"},children:[(0,n.jsx)(b.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:"var(--text-muted)"},"aria-hidden":"true"}),(0,n.jsx)("input",{ref:V,autoFocus:!0,"aria-label":W("projects.aliasPrompt"),value:_,onChange:e=>q(e.target.value),onBlur:Z,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),Z()),"Escape"===e.key&&(e.preventDefault(),Y.current=!0,U(!1))},style:{flex:1,minWidth:0,height:22,padding:"2px 6px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)",fontWeight:600}})]}):(0,n.jsxs)("button",{className:"sidebar-project-identity",onClick:()=>h(e.path),"aria-current":t?"true":void 0,title:e.path,style:{flex:"0 1 auto",minWidth:0,alignSelf:"stretch",display:"flex",alignItems:"center",gap:7,padding:"0 4px 0 10px",background:"none",border:"none",color:D?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left"},children:[(0,n.jsx)(b.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:t?"var(--accent)":D?"var(--text-muted)":"var(--text-dim)",transition:"color var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:12,fontWeight:600,letterSpacing:"-0.01em",lineHeight:1.25},children:X})]}),M&&z&&(0,n.jsxs)("button",{type:"button",ref:z,onClick:A,"aria-expanded":E,"aria-haspopup":"menu",title:W("sessionSidebar.switchWorktreeTo",{path:M}),style:{display:"inline-flex",alignItems:"center",gap:5,flexShrink:0,minWidth:0,maxWidth:104,height:24,padding:"0 6px",border:"none",borderRadius:"var(--radius-control)",background:E?"var(--bg-selected)":"none",color:E?"var(--accent)":D?"var(--text-muted)":"var(--text-dim)",cursor:"pointer",fontFamily:"var(--font-mono)",fontSize:10.5,lineHeight:1,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{flexShrink:0,opacity:.7},children:"\xb7"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:M})]}),(0,n.jsx)("div",{style:{flex:1}}),(0,n.jsx)(eo.m_,{content:W("fileExplorer.revealInFileManager"),children:(0,n.jsx)("button",{type:"button",className:"sidebar-project-action",onClick:()=>void G(e.path),"aria-label":W("fileExplorer.revealInFileManager"),title:W("fileExplorer.revealInFileManager"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-dim)",cursor:"pointer",lineHeight:0,transition:eU},children:(0,n.jsx)(j.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})}),Q&&(0,n.jsx)("span",{"aria-label":W("projects.activity",{running:a?.running??0,unread:a?.unread??0}),title:W("projects.activity",{running:a?.running??0,unread:a?.unread??0}),className:"sidebar-project-activity","data-running":(a?.running??0)>0?"true":"false",role:"status","aria-live":"polite",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:11,height:11,margin:"0 2px 0 0",flexShrink:0,lineHeight:0},children:(0,n.jsx)("span",{"aria-hidden":"true",className:"sidebar-project-activity-dot",style:{width:7,height:7,borderRadius:"50%",background:"var(--accent)"}})}),(0,n.jsxs)("div",{style:{flexShrink:0,visibility:et?"visible":"hidden"},children:[(0,n.jsx)("button",{type:"button",ref:H,className:"sidebar-project-action",onClick:()=>O(e=>!e),disabled:S,"aria-label":W("commandPalette.actions"),title:W("commandPalette.actions"),"aria-expanded":B,"aria-haspopup":"menu",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:B?"var(--bg-selected)":"transparent",color:"var(--text-dim)",cursor:S?"default":"pointer",opacity:S?.5:1,lineHeight:0,transition:eU},children:(0,n.jsx)(eE.A,{size:13,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(eq,{anchor:H,open:B,onClose:()=>O(!1),placement:"below",minWidth:136,children:[(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{J(),O(!1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:e.alias?W("projects.editAlias"):W("projects.nameAlias")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{O(!1),k(e.path,-1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:W("projects.moveUp")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{O(!1),k(e.path,1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:W("projects.moveDown")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",disabled:S,onClick:()=>{O(!1),f(e.path)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--status-error)",cursor:S?"default":"pointer",textAlign:"left",fontSize:11},children:W("projects.remove",{name:X})})]})]}),(0,n.jsx)("button",{className:"sidebar-project-toggle",onClick:()=>g(e.path),"aria-label":r?W("projects.collapseProject",{name:X}):W("projects.expandProject",{name:X}),"aria-expanded":r,title:r?W("projects.collapseProjectTitle",{path:e.path}):W("projects.expandProjectTitle",{path:e.path}),style:{display:"flex",alignItems:"center",justifyContent:"center",width:22,height:26,padding:0,flexShrink:0,background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",lineHeight:0,borderRadius:"var(--radius-control)",transition:"color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(v.A,{size:13,strokeWidth:1.8,style:{transform:r?"rotate(90deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"})})]}),t&&R,r&&(0,n.jsx)("div",{className:"sidebar-project-sessions",style:{margin:"2px 0 0"},children:0===ee.length?(0,n.jsx)("div",{style:{padding:"6px 12px 8px 34px",color:"var(--text-dim)",fontSize:11},children:W("projects.emptyProject")}):(0,n.jsxs)(n.Fragment,{children:[ee.map(e=>(0,n.jsx)(e0,{node:e,selectedSessionId:l,runningSessionIds:c,unreadSessionIds:u,relativeTimeNow:p,onSelectSession:C,onRenamed:I,onSessionDeleted:T,depth:0},e.session.id)),s>0&&(0,n.jsxs)("button",{onClick:()=>P(e=>!e),"aria-expanded":F,style:{display:"flex",alignItems:"center",gap:5,width:"100%",margin:"2px 0 0",padding:"5px 8px 5px 34px",background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",textAlign:"left",fontSize:11,fontWeight:600,borderRadius:"var(--radius-control)",transition:eU},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:[(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,style:{flexShrink:0,transform:F?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"}),F?W("projects.showLess"):W("projects.showMoreSessions",{count:s})]})]})})]})}function eQ({worktreeState:e,selectedCwd:t,homeDir:r,wtDropdownOpen:i,wtNewOpen:a,setWtNewOpen:o,wtNewBranch:s,setWtNewBranch:l,wtError:c,setWtError:u,wtBusy:p,wtConfirmRemove:h,setWtConfirmRemove:g,onSelectWorktree:f,onCreateWorktree:m,onRemoveWorktree:x,anchorRef:v,newInputRef:y,onClose:b}){let{t:k}=(0,d.s9)();return(0,n.jsxs)(eq,{anchor:v,open:i,onClose:b,placement:"below",align:"start",minWidth:240,style:{overflow:"hidden"},children:[(0,n.jsx)("div",{style:{maxHeight:"min(40vh, 300px)",overflowY:"auto"},children:e.worktrees.map(i=>{let a=i.path===t||i.isMain&&!e.worktrees.some(e=>e.path===t);return h===i.path?(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"7px 10px",borderBottom:"1px solid var(--border)",background:"color-mix(in srgb, var(--accent) 6%, transparent)"},children:[(0,n.jsx)("span",{style:{flex:1,fontSize:11,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k("sessionSidebar.uncommittedForceRemove")}),(0,n.jsx)("button",{onClick:()=>x(i.path,!0),disabled:p,style:{padding:"3px 9px",background:"var(--accent-strong)",border:"none",borderRadius:"var(--radius-control)",color:"var(--on-accent)",fontSize:11,fontWeight:600,cursor:"pointer",flexShrink:0},children:k("sessionSidebar.force")}),(0,n.jsx)("button",{onClick:()=>g(null),style:{padding:"3px 9px",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",fontSize:11,cursor:"pointer",flexShrink:0},children:k("sessionSidebar.cancel")})]},i.path):(0,n.jsxs)("div",{className:"wt-row",style:{display:"flex",alignItems:"center",borderBottom:"1px solid var(--border)"},children:[(0,n.jsxs)("button",{onClick:()=>f(i.path),"aria-pressed":a,title:i.path,style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:7,padding:"8px 10px",background:"var(--bg)",border:"none",color:a?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11,fontFamily:"var(--font-mono)"},children:[a?(0,n.jsx)(I.A,{size:10,strokeWidth:2,style:{flexShrink:0,color:"var(--accent)"},"aria-hidden":"true"}):(0,n.jsx)("span",{style:{width:10,flexShrink:0}}),(0,n.jsx)(eK,{text:i.branch??eO(i.path,r),style:{flex:1}}),i.isMain&&(0,n.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontSize:10},children:k("sessionSidebar.mainBadge")})]}),!i.isMain&&(0,n.jsx)("button",{onClick:()=>x(i.path,!1),disabled:p,title:k("sessionSidebar.removeWorktreeTitle",{path:i.path}),style:{display:"flex",alignItems:"center",justifyContent:"center",width:34,height:28,padding:0,marginRight:4,background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",borderRadius:"var(--radius-control)",flexShrink:0,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.background="color-mix(in srgb, var(--accent) 8%, transparent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:(0,n.jsx)(eW.A,{size:12,strokeWidth:2,"aria-hidden":"true"})})]},i.path)})}),a?(0,n.jsxs)("div",{style:{padding:"6px 8px"},children:[(0,n.jsx)("input",{ref:y,value:s,onChange:e=>{l(e.target.value),u(null)},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),m()),"Escape"===e.key&&(o(!1),l(""),u(null))},placeholder:k("sessionSidebar.branchNamePlaceholder"),style:{width:"100%",fontSize:11,fontFamily:"var(--font-mono)",padding:"5px 8px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",boxSizing:"border-box"}}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,marginTop:5},children:[(0,n.jsx)("button",{onClick:m,disabled:p||!s.trim(),style:{flex:1,padding:"4px 0",background:"var(--accent-strong)",border:"none",borderRadius:"var(--radius-control)",color:"var(--on-accent)",fontSize:11,fontWeight:600,cursor:p||!s.trim()?"not-allowed":"pointer",opacity:p||!s.trim()?.65:1},children:p?k("sessionSidebar.creating"):k("sessionSidebar.create")}),(0,n.jsx)("button",{onClick:()=>{o(!1),l(""),u(null)},style:{flex:1,padding:"4px 0",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",fontSize:11,cursor:"pointer"},children:k("sessionSidebar.cancel")})]})]}):(0,n.jsxs)("button",{onClick:e=>{e.stopPropagation(),o(!0),u(null),setTimeout(()=>y.current?.focus(),0)},title:k("sessionSidebar.newWorktreeTitle"),style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"8px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11},children:[(0,n.jsx)(eT.A,{size:12,strokeWidth:1.8,style:{flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{children:k("sessionSidebar.newWorktree")})]}),c&&(0,n.jsx)("div",{style:{padding:"5px 10px 8px",color:"var(--accent)",fontSize:11,lineHeight:1.35,overflowWrap:"anywhere"},children:c})]})}let e0=(0,i.memo)(function e({node:t,selectedSessionId:r,runningSessionIds:a,unreadSessionIds:o,relativeTimeNow:s,onSelectSession:l,onRenamed:d,onSessionDeleted:c,depth:u}){let[p,h]=(0,i.useState)(!1),g=t.children.length>0,f=t.session.id,m=f===r,x=a.has(f),v=o.has(f),y=(0,i.useCallback)(()=>{l(t.session)},[l,t.session]),b=(0,i.useCallback)(e=>{c?.(e)},[c]),k=(0,i.useCallback)(()=>{h(e=>!e)},[]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{position:"relative"},children:[u>0&&(0,n.jsx)("div",{style:{position:"absolute",left:14*u+22,top:0,bottom:0,width:1,background:"var(--border)",pointerEvents:"none"}}),(0,n.jsx)(e4,{session:t.session,isSelected:m,isRunning:x,isUnread:v,relativeTimeNow:s,onClick:y,onRenamed:d,onDeleted:b,depth:u,hasChildren:g,collapsed:p,onToggleCollapse:k})]}),g&&!p&&(0,n.jsx)("div",{children:t.children.map(t=>(0,n.jsx)(e,{node:t,selectedSessionId:r,runningSessionIds:a,unreadSessionIds:o,relativeTimeNow:s,onSelectSession:l,onRenamed:d,onSessionDeleted:c,depth:u+1},t.session.id))})]})},(e,t)=>{if(e.node!==t.node)return!1;if(e.selectedSessionId!==t.selectedSessionId){let r=e.node.session.id;if(r===e.selectedSessionId!=(r===t.selectedSessionId))return!1}if(e.runningSessionIds!==t.runningSessionIds){let r=e.node.session.id;if(e.runningSessionIds.has(r)!==t.runningSessionIds.has(r))return!1}if(e.unreadSessionIds!==t.unreadSessionIds){let r=e.node.session.id;if(e.unreadSessionIds.has(r)!==t.unreadSessionIds.has(r))return!1}return e.relativeTimeNow===t.relativeTimeNow&&e.onSelectSession===t.onSelectSession&&e.onRenamed===t.onRenamed&&e.onSessionDeleted===t.onSessionDeleted});function e1({size:e=14}){let{t}=(0,d.s9)(),r=em();return(0,n.jsx)("span",{title:t("sessionSidebar.agentRunning"),"aria-label":t("sessionSidebar.agentRunningAria"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--accent)"},children:(0,n.jsx)("span",{"aria-hidden":"true",className:"sidebar-running-spinner","data-reduced-motion":r?"true":"false",style:{width:e-2,height:e-2}})})}function e2({size:e=14}){let{t}=(0,d.s9)(),r=em();return(0,n.jsx)("span",{title:t("sessionSidebar.newActivity"),"aria-label":t("sessionSidebar.newSessionActivity"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--accent)"},children:(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",style:{display:"block"},children:[(0,n.jsx)("circle",{cx:"7",cy:"7",r:"2.5",fill:"currentColor"}),!r&&(0,n.jsxs)("circle",{cx:"7",cy:"7",r:"3",stroke:"currentColor",strokeWidth:"1.4",opacity:"0.32",children:[(0,n.jsx)("animate",{attributeName:"r",values:"3;6;3",dur:"1.6s",repeatCount:"indefinite"}),(0,n.jsx)("animate",{attributeName:"opacity",values:"0.32;0;0.32",dur:"1.6s",repeatCount:"indefinite"})]})]})})}let e4=(0,i.memo)(function({session:e,isSelected:t,isRunning:r,isUnread:a,onClick:o,onRenamed:s,onDeleted:l,depth:c=0,hasChildren:u=!1,collapsed:p=!1,relativeTimeNow:h,onToggleCollapse:g}){let{t:f,locale:m}=(0,d.s9)(),[x,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(!1),[k,w]=(0,i.useState)(!1),[j,S]=(0,i.useState)(""),C=(0,i.useRef)(!1),[I,T]=(0,i.useState)(!1),[R,M]=(0,i.useState)(!1),[z,E]=(0,i.useState)(!1),[A,W]=(0,i.useState)(!1),D=(0,i.useRef)(null),$=(0,i.useRef)(null),L=(0,i.useRef)(null),N=e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12),F=function(e,t){let r=new Date(e).getTime();if(!Number.isFinite(r))return null;let n=Math.max(0,Math.floor((t-r)/6e4));if(n<1)return"now";if(n<60)return`${n}m`;let i=Math.floor(n/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);if(a<30)return`${a}d`;let o=Math.floor(a/30);return o<12?`${o}mo`:`${Math.floor(o/12)}y`}(e.modified,h),P=I||R,B=x||y||z,O=(0,i.useCallback)(t=>{t.stopPropagation(),S(e.name??""),w(!0),setTimeout(()=>D.current?.select(),0)},[e.name]),H=(0,i.useCallback)(async()=>{if(C.current){C.current=!1;return}let t=j.trim();if(w(!1),t!==(e.name??""))try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)throw Error("Session rename failed");s?.()}catch{}},[j,e.id,e.name,s]),K=(0,i.useCallback)(async()=>{T(!1),W(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}/archive`,{method:"POST"})).ok)throw Error("Session archive failed");l?.(e.id)}catch{W(!1),es.oR.error(f("sessionSidebar.archiveFailed"))}},[e.id,l,f]),U=(0,i.useCallback)(async()=>{M(!1),W(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"})).ok)throw Error("Session deletion failed");l?.(e.id)}catch{W(!1),es.oR.error(f("sessionSidebar.deleteFailed"))}},[e.id,l,f]),_=(0,i.useCallback)(()=>{T(!1),M(!1),E(!1),requestAnimationFrame(()=>$.current?.focus())},[]);return(0,n.jsxs)("div",{onClick:I||R||k?void 0:o,onMouseEnter:()=>v(!0),onMouseLeave:()=>v(!1),onFocus:()=>b(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||b(!1)},onKeyDown:e=>{(I||R||z)&&"Escape"===e.key&&(e.stopPropagation(),_())},style:{height:P?34:30,display:"flex",alignItems:"center",gap:6,width:"100%",margin:"1px 0",padding:`0 8px 0 ${30+14*c}px`,position:"relative",overflow:"hidden",background:P?"color-mix(in srgb, var(--accent) 6%, transparent)":t?"color-mix(in srgb, var(--bg-selected) 70%, transparent)":x?"var(--bg-hover)":"transparent",opacity:A?.5:1,cursor:P||k?"default":"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},children:[(t||P)&&(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",left:20+14*c,top:0,bottom:0,width:2,borderRadius:1,background:"var(--accent)",pointerEvents:"none"}}),P?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,color:"var(--text)"},children:I?f("sessionSidebar.archiveConfirm",{title:N.length>22?`${N.slice(0,22)}…`:N}):f("sessionSidebar.deleteConfirm",{title:N.length>22?`${N.slice(0,22)}…`:N})}),(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),I?K():U()},style:{height:28,padding:"0 10px",border:"none",borderRadius:"var(--radius-control)",background:"var(--accent-strong)",color:"var(--on-accent)",cursor:"pointer",fontSize:11,fontWeight:600},children:I?f("sessionSidebar.archive"):f("sessionSidebar.delete")}),(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),_()},autoFocus:!0,style:{height:28,padding:"0 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:f("sessionSidebar.cancel")})]}):k?(0,n.jsx)("input",{ref:D,autoFocus:!0,"aria-label":f("sessionSidebar.rename"),value:j,onChange:e=>S(e.target.value),onBlur:H,onKeyDown:e=>{"Enter"===e.key&&H(),"Escape"===e.key&&(e.preventDefault(),C.current=!0,w(!1))},style:{flex:1,height:25,padding:"3px 7px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",fontSize:12}}):(0,n.jsxs)(n.Fragment,{children:[c>0&&(0,n.jsx)(eD.A,{size:11,strokeWidth:2,style:{flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true"}),(0,n.jsx)("button",{ref:$,type:"button",className:"session-item-button","aria-current":t?"true":void 0,onKeyDown:e=>{"Delete"===e.key&&(e.preventDefault(),M(!0))},style:{display:"flex",alignItems:"center",flex:1,minWidth:0},children:(0,n.jsx)("span",{title:N,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text)",fontSize:12.5,fontWeight:t?600:500,lineHeight:1.35,letterSpacing:"-0.005em"},children:N})}),e.worktreeBranch&&(0,n.jsxs)("span",{title:f("sessionSidebar.worktreeTitle",{path:e.cwd}),style:{display:"flex",alignItems:"center",gap:3,maxWidth:56,minWidth:0,overflow:"hidden",color:"var(--text-dim)",fontSize:10,flexShrink:1},children:[(0,n.jsx)(eD.A,{size:10,strokeWidth:2.4,"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.worktreeBranch})]}),u&&(0,n.jsx)("button",{className:"session-item-icon-button",onClick:e=>{e.stopPropagation(),g?.()},title:p?f("sessionSidebar.expandForks"):f("sessionSidebar.collapseForks"),"aria-label":p?f("sessionSidebar.expandForks"):f("sessionSidebar.collapseForks"),"aria-expanded":!p,style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,flexShrink:0,border:"none",background:"none",color:"var(--text-dim)",cursor:"pointer",transform:p?"rotate(-90deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(eA.A,{size:12,strokeWidth:1.8,"aria-hidden":"true"})}),(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2,flexShrink:0},children:(0,n.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"flex-end",width:64,height:24,flexShrink:0},children:[(0,n.jsxs)("div",{"aria-hidden":B,style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:2,width:"100%",whiteSpace:"nowrap",opacity:+!B,pointerEvents:B?"none":"auto",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:[r&&(0,n.jsx)(e1,{size:12}),!r&&a&&(0,n.jsx)(e2,{size:11}),F&&(0,n.jsx)("span",{title:new Date(e.modified).toLocaleString(m),style:{minWidth:42,whiteSpace:"nowrap",textAlign:"right",color:t?"var(--accent)":"var(--text-dim)",fontSize:10,fontVariantNumeric:"tabular-nums"},children:F})]}),(0,n.jsxs)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"flex-end",opacity:+!!B,pointerEvents:B?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("button",{type:"button",ref:L,className:"session-item-icon-button",onClick:e=>{e.stopPropagation(),E(e=>!e)},title:f("projects.actions"),"aria-label":f("projects.actions"),"aria-expanded":z,style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,lineHeight:0,border:"none",borderRadius:"var(--radius-control)",background:z?"var(--bg-selected)":"transparent",color:z?"var(--text)":"var(--text-dim)",cursor:"pointer"},children:(0,n.jsx)(eE.A,{size:14,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(eq,{anchor:L,open:z,onClose:()=>E(!1),placement:"above",minWidth:128,children:[(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{e.stopPropagation(),E(!1),T(!0)},disabled:u,title:u?f("sessionSidebar.archiveLeafOnly"):f("sessionSidebar.archive"),style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:u?"var(--text-dim)":"var(--text-muted)",cursor:u?"not-allowed":"pointer",textAlign:"left",fontSize:11,opacity:u?.55:1},children:f("sessionSidebar.archive")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{O(e),E(!1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11},children:f("sessionSidebar.rename")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{e.stopPropagation(),E(!1),M(!0)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--status-error)",cursor:"pointer",textAlign:"left",fontSize:11},children:f("sessionSidebar.delete")})]})]})]})})]})]})});function e5(e,t={}){return"thinking"===e.type&&!e.deferred&&!t.isStreaming&&(!e.thinking||""===e.thinking.trim())}function e6(e,t={}){return(e.content??[]).filter(e=>!e5(e,t))}function e8(e,t={}){let r=e6(e,t),n=r.findLastIndex(e=>"text"!==e.type&&"image"!==e.type);return -1===n?{answerBlocks:r,processBlocks:[]}:{answerBlocks:r.slice(n+1),processBlocks:r.slice(0,n+1)}}function e3(e){return e.filter(e=>"toolCall"===e.type).length}var e9=r(99314),e7=r(66958),te=r(72788),tt=r(5045),tr=r(89034),tn=r(32316),ti=r(19870),ta=r(68925),to=r(94309);function ts({src:e,alt:t,...r}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)(!1),[c,u]=(0,i.useState)(null);(0,i.useEffect)(()=>{if("string"==typeof e||void 0===e)return void u(null);let t=URL.createObjectURL(e);return u(t),()=>URL.revokeObjectURL(t)},[e]);let p="string"==typeof e?e:c??"";return p?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",className:"image-clickable",onClick:e=>{e.preventDefault(),e.stopPropagation(),s(!0)},"aria-label":t?a("imagePreview.openWithAlt",{alt:t}):a("imagePreview.open"),title:t?a("imagePreview.openWithAlt",{alt:t}):a("imagePreview.open"),children:(0,n.jsx)("img",{src:p,alt:t??"",loading:"lazy",...r})}),o&&(0,l.createPortal)((0,n.jsx)(tl,{src:p,alt:t??"",onClose:()=>s(!1)}),document.body)]}):null}function tl({src:e,alt:t,onClose:r}){let a=(0,i.useRef)(null),[o,s]=(0,i.useState)(1),{t:l}=(0,d.s9)();return(0,i.useEffect)(()=>{let e=a.current;if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow="hidden",e.showModal(),()=>{document.body.style.overflow=t,e.open&&e.close()}},[]),(0,n.jsx)("dialog",{ref:a,className:"image-lightbox-dialog","aria-label":l("imagePreview.viewerLabel"),onClick:e=>{e.stopPropagation()},onCancel:e=>{e.preventDefault(),r()},onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),r())},children:(0,n.jsxs)("div",{className:"image-lightbox-layout",children:[(0,n.jsxs)("div",{className:"image-lightbox-toolbar",children:[(0,n.jsx)("span",{className:"image-lightbox-title",children:t||l("imagePreview.imageTitle")}),(0,n.jsxs)("div",{className:"image-lightbox-actions",children:[(0,n.jsxs)("div",{className:"image-lightbox-stepper",children:[(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>Math.max(.25,e-.25)),disabled:o<=.25,title:l("imagePreview.zoomOut"),"aria-label":l("imagePreview.zoomOut"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M5 12h14"})})}),(0,n.jsxs)("span",{className:"image-lightbox-zoom-value",children:[Math.round(100*o),"%"]}),(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>Math.min(8,e+.25)),disabled:o>=8,title:l("imagePreview.zoomIn"),"aria-label":l("imagePreview.zoomIn"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),(0,n.jsx)("button",{type:"button",className:"image-lightbox-icon-button",onClick:()=>s(1),title:l("imagePreview.resetZoom"),"aria-label":l("imagePreview.resetZoom"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5"})})}),(0,n.jsx)("button",{type:"button",className:"image-lightbox-icon-button",onClick:r,title:l("imagePreview.close"),"aria-label":l("imagePreview.close"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})]})]}),(0,n.jsx)("div",{className:"image-lightbox-viewport",onClick:e=>{e.target===e.currentTarget&&r()},children:(0,n.jsx)("img",{src:e,alt:t,className:"image-lightbox-img",style:{transform:`scale(${o})`}})})]})})}function td({children:e,className:t,isStreaming:r,cwd:a,onOpenFile:o}){let s=(0,i.useMemo)(()=>r?e:(0,ta.Ep)(e),[e,r]),{remarkPlugins:l,rehypePlugins:d}=(0,ta.T6)(r?"":s),c=(0,i.useMemo)(()=>{let e=({src:e,alt:t,...r})=>{delete r.node;let i="string"==typeof e?(0,ti.V)(e,a):null,o=i?`/api/files/${(0,el.HG)(i)}?type=read`:e;return(0,n.jsx)(ts,{src:o,alt:t??"",loading:"lazy",...r})},t=e=>(0,i.isValidElement)(e),s=r=>{let n=[],a=[];for(let o of i.Children.toArray(r)){if(!t(o)){n.push(o);continue}if(o.type===e){a.push(o);continue}let r=s(o.props.children);0===r.imageParts.length?n.push(o):0===r.textParts.length?a.push(o):(n.push((0,i.cloneElement)(o,void 0,r.textParts)),a.push(...r.imageParts))}return{textParts:n,imageParts:a}},l=e=>e.some(e=>"string"==typeof e?e.trim().length>0:"number"==typeof e||!!t(e)&&l(i.Children.toArray(e.props.children)));return{code:(0,to.Q)({isStreaming:r,inlineClassName:"markdown-inline-code"}),pre:({children:e})=>(0,n.jsx)(n.Fragment,{children:e}),a({href:e,children:t,...r}){delete r.node;let{textParts:i,imageParts:d}=s(t);if(d.length>0&&!l(i))return(0,n.jsx)(n.Fragment,{children:t});let c=o?(0,ti.V)(e,a):null;if(c&&o){let t=(0,n.jsx)("a",{href:e,...r,onClick:e=>{if(e.defaultPrevented||0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.currentTarget.getAttribute("target");t&&"_self"!==t||(e.preventDefault(),o(c))},children:i});return d.length>0?(0,n.jsxs)(n.Fragment,{children:[t,d]}):t}let u=(0,n.jsx)("a",{href:e,...r,target:"_blank",rel:"noopener noreferrer",children:i});return d.length>0?(0,n.jsxs)(n.Fragment,{children:[u,d]}):u},img:e,table:({children:e})=>(0,n.jsx)("div",{className:"markdown-table-wrap",children:(0,n.jsx)("table",{children:e})})}},[r,a,o]);return(0,n.jsx)("div",{className:["markdown-body",t].filter(Boolean).join(" "),children:(0,n.jsx)(tn.oz,{remarkPlugins:l,rehypePlugins:d,components:c,children:s})})}let tc=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,tu=/(?:\r?\n){2,}((?:[ \t]*<(?:read-files|modified-files)>[ \t]*\r?\n[\s\S]*?\r?\n[ \t]*<\/(?:read-files|modified-files)>[ \t]*(?:\r?\n)?)+)\s*$/;var tp=r(6014),th=r(64962),tg=r(79762),tf=r(67401);function tm({status:e,live:t}){let r={size:12,strokeWidth:2,"aria-hidden":!0};return"completed"===e?(0,n.jsx)(th.A,{...r,color:"var(--accent)"}):"failed"===e?(0,n.jsx)(M.A,{...r,color:"var(--accent-strong)"}):"aborted"===e?(0,n.jsx)(tg.A,{...r,color:"var(--text-dim)"}):!0===t?(0,n.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"}):!1===t?(0,n.jsx)(tf.A,{...r,color:"var(--text-dim)"}):(0,n.jsx)("span",{"aria-hidden":!0,className:"live-status-dot inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"})}function tx(e){if(null==e||!Number.isFinite(e)||e<=0)return null;if(e>=1e3){let t=(e/1e3).toFixed(e>=1e4?0:1);return t.endsWith(".0")?`${t.slice(0,-2)}k`:`${t}k`}return String(e)}function tv(e){return null==e||!Number.isFinite(e)||e<=0?null:`$${e.toFixed(e<.01?4:2)}`}function ty(e){return null==e||!Number.isFinite(e)||e<=0||e<1e3?null:e<6e4?`${Math.floor(e/1e3)}s`:`${Math.round(e/6e4)}m`}function tb(e){if(!e)return null;let t=e.lastIndexOf("/");return(t>=0?e.slice(t+1):e).replace(/:.*$/,"")||null}var tk=r(82490),tw=r(84111);let tj=new Map;function tS({children:e,className:t,...r}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)(!1);if(e.length<=1e5)return(0,n.jsx)(td,{className:t,...r,children:e});if(!o){var l;return(0,n.jsx)("button",{type:"button",onClick:()=>s(!0),style:{display:"block",width:"100%",margin:"4px 0",padding:"7px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left"},children:a("messageView.largeMessageReveal",{size:(l=e.length)>=1e6?`${(l/1e6).toFixed(1)} MB`:`${Math.round(l/1e3)} KB`})})}return(0,n.jsx)("div",{className:t,style:{maxHeight:420,overflow:"auto",fontSize:12,lineHeight:1.5},children:(0,n.jsx)("pre",{style:{margin:0,padding:"8px 10px",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)",color:"var(--text-muted)"},children:e})})}function tC(e,t){if(!e)return null;let r=new Date(e),n=new Date,i=r.getFullYear()===n.getFullYear()&&r.getMonth()===n.getMonth()&&r.getDate()===n.getDate(),a=r.toLocaleTimeString(t,{hour:"2-digit",minute:"2-digit"});if(i)return a;let o=r.toLocaleDateString(t,{month:"short",day:"numeric",year:r.getFullYear()!==n.getFullYear()?"numeric":void 0});return`${o} ${a}`}let tI=(0,i.memo)(function({message:e,isStreaming:t,toolResults:r,modelNames:i,cwd:a,onOpenFile:o,entryId:s,onFork:l,forking:d,onNavigate:c,prevAssistantEntryId:u,onEditContent:p,showTimestamp:h,prevTimestamp:g,sessionId:f,toolCallsDefaultCollapsed:m=!0,thinkingDisplayMode:x="auto",liveTokensPerSecond:v}){return"user"===e.role?(0,n.jsx)(tT,{message:e,cwd:a,onOpenFile:o,entryId:s,onFork:l,forking:d,onNavigate:c,prevAssistantEntryId:u,onEditContent:p}):"assistant"===e.role?(0,n.jsx)(tR,{message:e,isStreaming:t,toolResults:r,modelNames:i,cwd:a,onOpenFile:o,showTimestamp:h,prevTimestamp:g,sessionId:f,entryId:s,toolCallsDefaultCollapsed:m,thinkingDisplayMode:x,liveTokensPerSecond:v}):"toolResult"===e.role?null:"custom"===e.role?"xdev-mount-notice"===e.customType?null:"compaction"===e.customType?(0,n.jsx)(tH,{message:e}):!1===e.display?(0,n.jsx)(t_,{message:e,cwd:a,onOpenFile:o}):(0,n.jsx)(tq,{message:e,cwd:a,onOpenFile:o}):"bashExecution"===e.role?(0,n.jsx)(tQ,{message:e,sessionId:f}):null},(e,t)=>e.message===t.message&&e.isStreaming===t.isStreaming&&function(e,t,r){if(t===r||"assistant"!==e.role)return!0;for(let n of e.content??[])if("toolCall"===n.type&&t?.get(n.toolCallId)!==r?.get(n.toolCallId))return!1;return!0}(e.message,e.toolResults,t.toolResults)&&e.modelNames===t.modelNames&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile&&e.entryId===t.entryId&&e.onFork===t.onFork&&e.forking===t.forking&&e.onNavigate===t.onNavigate&&e.prevAssistantEntryId===t.prevAssistantEntryId&&e.onEditContent===t.onEditContent&&e.showTimestamp===t.showTimestamp&&e.prevTimestamp===t.prevTimestamp&&e.sessionId===t.sessionId&&e.toolCallsDefaultCollapsed===t.toolCallsDefaultCollapsed&&e.thinkingDisplayMode===t.thinkingDisplayMode&&e.liveTokensPerSecond===t.liveTokensPerSecond);function tT({message:e,cwd:t,onOpenFile:r,entryId:a,onFork:o,forking:s,onNavigate:l,prevAssistantEntryId:c,onEditContent:u}){let{t:p,locale:h}=(0,d.s9)(),[g,f]=(0,i.useState)(!1),[m,x]=(0,i.useState)(!1),{copied:v,copy:y}=(0,tp.q)(),b="string"==typeof e.content?e.content:e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n"),k="string"==typeof e.content?[]:e.content.filter(e=>"image"===e.type),w=tC(e.timestamp,h),j=!!a&&!!o,S=!!c&&!!l;return(0,n.jsx)("div",{style:{marginBottom:18,display:"flex",flexDirection:"column",alignItems:"flex-end",paddingRight:6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",maxWidth:"85%",minWidth:0},children:[(0,n.jsxs)("div",{className:"chat-message-card",style:{maxWidth:"100%",minWidth:0,background:"var(--user-bg)",border:"1px solid color-mix(in srgb, var(--accent) 28%, transparent)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-card)",padding:"8px 12px",fontSize:14,lineHeight:1.6,color:"var(--text)",wordBreak:"break-word",maxHeight:300,overflowY:"auto"},children:[k.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8*!!b},children:k.map((e,t)=>{let r=e.source?"base64"===e.source.type?`data:${e.source.media_type};base64,${e.source.data}`:e.source.url??"":e.data?`data:${e.mimeType};base64,${e.data}`:"";return(0,n.jsx)(ts,{src:r,alt:"",style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid color-mix(in srgb, var(--accent) 18%, transparent)"}},t)})}),b&&(0,n.jsx)(tS,{className:"markdown-user-message",cwd:t,onOpenFile:r,children:b})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:6,marginTop:3,width:"100%"},children:[(0,n.jsx)("div",{style:{display:"flex",gap:3,opacity:g||m?1:0,pointerEvents:g||m?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},onFocusCapture:()=>x(!0),onBlurCapture:()=>x(!1),children:(0,n.jsx)(eo.m_,{content:p("messageView.copyMessage"),children:(0,n.jsxs)("button",{onClick:()=>y(b),"aria-label":p("messageView.copyMessage"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:v?"var(--accent)":"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{v||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{v||(e.currentTarget.style.color="var(--text-dim)")},children:[v?(0,n.jsx)(I.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(e9.A,{size:11,strokeWidth:1.8}),p(v?"messageView.copied":"messageView.copy")]})})}),(j||S)&&(0,n.jsxs)("div",{style:{display:"flex",gap:3,opacity:g||m||s?1:0,pointerEvents:g||m||s?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},onFocusCapture:()=>x(!0),onBlurCapture:()=>x(!1),children:[S&&(0,n.jsx)(eo.m_,{content:p("messageView.editFromHereTitle"),children:(0,n.jsxs)("button",{onClick:()=>{l(c),u?.(b)},"aria-label":p("messageView.editFromHereTitle"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)"},children:[(0,n.jsx)(e7.A,{size:11,strokeWidth:1.8}),p("messageView.editFromHere")]})}),j&&(0,n.jsx)(eo.m_,{content:p(s?"messageView.creatingSession":"messageView.newSessionTitle"),children:(0,n.jsxs)("button",{onClick:()=>{o(a)},disabled:s,"aria-label":p(s?"messageView.creatingSession":"messageView.newSessionTitle"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:s?"var(--accent)":"var(--text-dim)",cursor:s?"not-allowed":"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{s||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{s||(e.currentTarget.style.color="var(--text-dim)")},children:[(0,n.jsx)(te.A,{size:11,strokeWidth:1.8}),p(s?"messageView.creating":"messageView.newSession")]})})]}),w&&(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:w})]})]})})}function tR({message:e,isStreaming:t,toolResults:r,modelNames:a,cwd:o,onOpenFile:s,showTimestamp:l,prevTimestamp:c,sessionId:u,entryId:p,toolCallsDefaultCollapsed:h,thinkingDisplayMode:g="auto",liveTokensPerSecond:f}){let{t:m,locale:x}=(0,d.s9)(),v=l?tC(e.timestamp,x):null,y=(e.content??[]).map((e,t)=>({block:e,originalIndex:t})).filter(({block:e})=>!e5(e,{isStreaming:t})),b=y.map(({block:e})=>e),k=b.some(e=>"thinking"===e.type||"toolCall"===e.type),w=(0,i.useRef)(y);w.current=y;let j=(0,i.useRef)(new Map),[S,C]=(0,i.useState)(new Map),I=(0,i.useMemo)(()=>{if(!e.timestamp||!c)return;let t=Math.round((e.timestamp-c)/1e3);return t>0?t:void 0},[e.timestamp,c]),T=(0,i.useMemo)(()=>{let t=new Map;if(!r||!e.timestamp)return t;for(let[n,i]of r)if(i.timestamp&&e.timestamp){let r=Math.round((i.timestamp-e.timestamp)/1e3);r>0&&t.set(n,r)}return t},[r,e.timestamp]);return((0,i.useEffect)(()=>{if(!t){let e=new Date().getTime();C(t=>{let r=new Map(t);for(let[t,n]of j.current)r.has(t)||r.set(t,Math.round((e-n)/1e3));return r});return}let e=()=>{let e=w.current,t=Date.now();e.forEach(({originalIndex:e})=>{j.current.has(e)||j.current.set(e,t)}),C(r=>{let n=!1,i=new Map(r);for(let r=0;r<e.length-1;r++){let a=e[r].originalIndex,o=e[r+1].originalIndex;if(!i.has(a)&&j.current.has(a)){let e=j.current.get(a),r=j.current.get(o)??t;i.set(a,Math.round((r-e)/1e3)),n=!0}}return n?i:r})},r=setInterval(e,300);return e(),()=>clearInterval(r)},[t]),0!==b.length||t)?(0,n.jsxs)("div",{className:"chat-message",style:{marginBottom:6},children:[(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,display:k?"none":"flex",alignItems:"center",gap:6},children:[e.provider&&(0,n.jsx)("span",{children:a?.[`${e.provider}:${e.model}`]??a?.[e.model]??e.model}),t&&(()=>{let e,t,r=0;for(let e of b)"text"===e.type?r+=e.text?.length??0:"thinking"===e.type&&(r+=e.thinking?.length??0);let i=Math.round(r/4);return(0,n.jsx)(n.Fragment,{children:i>0&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text)"},title:m("messageView.estimatedTokens"),children:[(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:2,fontSize:11,fontWeight:400},children:[(0,n.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"5",y1:"1.5",x2:"5",y2:"8.5"}),(0,n.jsx)("polyline",{points:"2 6 5 8.5 8 6"})]}),i]}),null!=f&&(e=f>=50?"success":f>=30?"renamed":f>=15?"warning":"error",t=`var(--status-${e})`,(0,n.jsx)("span",{style:{marginLeft:6,padding:"1px 6px",borderRadius:4,background:`color-mix(in srgb, ${t} 14%, var(--bg-panel))`,color:t,fontSize:11,fontWeight:400},children:m("messageView.tokensPerSecond",{tps:f.toFixed(1)})}))]})})})()]}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:y.map(({block:e,originalIndex:i})=>(0,n.jsx)(tM,{block:e,toolResults:r,isStreaming:t,streamingDuration:S.get(i)??("thinking"===e.type?I:void 0),toolCallDurations:T,cwd:o,onOpenFile:s,sessionId:u,entryId:p,blockIndex:i,toolCallsDefaultCollapsed:h,thinkingDisplayMode:g},`${p??"stream"}-${i}`))}),v&&!t&&(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:3},children:(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:v})})]}):null}function tM({block:e,toolResults:t,isStreaming:r,streamingDuration:i,toolCallDurations:a,cwd:o,onOpenFile:s,sessionId:l,entryId:d,blockIndex:c,toolCallsDefaultCollapsed:u,thinkingDisplayMode:p}){if("text"===e.type)return(0,n.jsx)(tz,{block:e,isStreaming:r,cwd:o,onOpenFile:s});if("thinking"===e.type)return(0,n.jsx)(tE,{block:e,duration:i,sessionId:l,entryId:d,blockIndex:c,isStreaming:r,thinkingDisplayMode:p});if("toolCall"===e.type){let i=t?.get(e.toolCallId),o=a?.get(e.toolCallId);return(0,n.jsx)(tA,{block:e,result:i,duration:o,isStreaming:r,defaultCollapsed:u})}return null}let tz=(0,i.memo)(function({block:e,isStreaming:t,cwd:r,onOpenFile:i}){return(0,n.jsx)(tS,{isStreaming:t,cwd:r,onOpenFile:i,children:e.text})},(e,t)=>e.block.text===t.block.text&&e.isStreaming===t.isStreaming&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile),tE=(0,i.memo)(function({block:e,duration:t,sessionId:r,entryId:a,blockIndex:o,isStreaming:s,thinkingDisplayMode:l="auto"}){let{t:c}=(0,d.s9)(),[u,p]=(0,i.useState)(null),[h,g]=(0,i.useState)(null),[f,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),y=(0,i.useMemo)(()=>"expanded"===l||"collapsed"!==l&&!!(s&&!e.deferred),[l,s,e.deferred]),b=null!==u?u:y;return(0,n.jsx)("div",{className:"activity-row","data-activity-operation":"true",children:(0,n.jsxs)(eo.Nt,{open:b,onOpenChange:t=>{if(p(t),t&&e.deferred&&null===h){if(!r||!a)return void v(c("messageView.thinkingUnavailable"));m(!0),v(null),(function(e,t,r){let n=`${e}:${t}:${r}`,i=tj.get(n);if(i)return tj.delete(n),tj.set(n,i),i;let a=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${r}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();if("string"!=typeof t.thinking)throw Error((0,d.Tl)("messageView.invalidThinkingResponse"));return t.thinking}).catch(e=>{throw tj.delete(n),e});if(tj.set(n,a),tj.size>100){let e=tj.keys().next().value;e&&tj.delete(e)}return a})(r,a,o).then(e=>g(e)).catch(e=>v(e instanceof Error?e.message:String(e))).finally(()=>m(!1))}},children:[(0,n.jsxs)(eo.R6,{className:"activity-row-trigger",children:[(0,n.jsx)("span",{className:"activity-row-indicator","aria-hidden":!0,children:(0,n.jsx)(tt.A,{size:12,strokeWidth:1.8,className:s?"thinking-icon-active":void 0})}),(0,n.jsx)("span",{className:"activity-row-tool",children:c("messageView.thinking")}),(0,n.jsx)("span",{className:"activity-row-preview"}),void 0!==t&&(0,n.jsx)("span",{className:"activity-row-duration",children:c("messageView.durationSeconds",{seconds:t})}),(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,"aria-hidden":!0,style:{flexShrink:0,transform:b?"none":"rotate(-90deg)",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}),(0,n.jsx)("div",{className:"activity-collapsible-wrapper","data-open":b?"true":"false",children:(0,n.jsx)("div",{className:"activity-collapsible-inner",children:(0,n.jsx)("div",{className:"tool-call-details",children:(0,n.jsx)("div",{className:`tool-call-output${x?" tool-call-output-error":""}`,style:{whiteSpace:"pre-wrap",fontFamily:"var(--font-mono)",fontSize:10.5,lineHeight:1.45,color:x?"var(--status-error)":"var(--text-muted)"},children:(0,n.jsx)("pre",{className:"tool-call-output-text",children:(()=>{if(f)return c("messageView.loadingThinking");if(x)return x;let t=e.deferred?h:e.thinking;return t?t.length>1e5?t.slice(0,1e5)+`
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[202],{6014:(e,t,r)=>{r.d(t,{q:()=>a});var n=r(12115),i=r(7834);function a(){let[e,t]=(0,n.useState)(!1),r=(0,n.useRef)(null),a=(0,n.useRef)(!0),o=(0,n.useCallback)(e=>{(0,i.D)(e).then(()=>{a.current&&(t(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>t(!1),1500))}).catch(()=>{})},[]);return(0,n.useEffect)(()=>()=>{a.current=!1,r.current&&clearTimeout(r.current)},[]),{copied:e,copy:o}}},7834:(e,t,r)=>{r.d(t,{D:()=>n});function n(e){if(navigator.clipboard?.writeText)return navigator.clipboard.writeText(e);try{let t=document.createElement("textarea");return t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),Promise.resolve()}catch{return Promise.reject()}}},18136:(e,t,r)=>{r.d(t,{K:()=>i});var n=r(52584);function i(e,t="errors.generic"){if("string"==typeof e)return e;let r=e?.code;if(r){let e=`errors.${r}`,t=(0,n.Tl)(e);if(t!==e)return t}if(e?.error)return e.error;let a=(0,n.Tl)(t);return a===t?"Request failed":a}},19870:(e,t,r)=>{function n(e){try{return decodeURIComponent(e)}catch{return e}}function i(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function a(e){let t=i(e),r=/^[a-zA-Z]:\//.test(t),n=t.startsWith("//"),a=t.startsWith("/")&&!r&&!n,o=[];for(let e of t.split("/"))if(e&&"."!==e){if(".."===e){o.length>0&&".."!==o[o.length-1]?o.pop():a||r||n||o.push(e);continue}o.push(e)}let s=o.join("/");return r?s:n?`//${s}`:a?`/${s}`:s}function o(e,t,r=t){let s,l,d,c,u;if(!e)return null;let p=e.split("#",1)[0].split("?",1)[0].trim();if(!p)return null;let h=null,g=null,f=n(p),m=f.startsWith("\\\\"),x=i(f),v=x.toLowerCase();if(v.startsWith("/api/")||v.startsWith("/_next/")||!m&&x.startsWith("//")||/^[a-zA-Z][a-zA-Z0-9+.-]*:/i.test(x)&&!v.startsWith("file:")&&!/^[a-zA-Z]:\//.test(x))return null;if(v.startsWith("file:")?g=(h=function(e){try{let t=new URL(e);if("file:"!==t.protocol)return null;let r=n(t.pathname);if(t.hostname)return`//${t.hostname}${r.startsWith("/")?r:`/${r}`}`;if(/^\/[a-zA-Z]:\//.test(r))return r.slice(1);return r}catch{return null}}(x))?"absolute":null:/^[a-zA-Z]:\//.test(x)||x.startsWith("/")?(h=x,g="absolute"):t&&!(x.startsWith("#")||x.startsWith("?"))&&(x.startsWith("./")||x.startsWith("../")||x.includes("/")||/(^|\/)\.?[^/]+\.[^/.]+$/.test(x))&&(h=`${i(t).replace(/\/+$/,"")}/${x}`,g="relative"),!h)return null;let y=a(h).replace(/:\d+(?::\d+)?$/,"");return"relative"===g&&r&&(s=a(y).replace(/\/+$/,""),l=a(r).replace(/\/+$/,""),c=(d=/^[a-zA-Z]:\//.test(s)||/^[a-zA-Z]:\//.test(l))?s.toLowerCase():s,!(c===(u=d?l.toLowerCase():l)||c.startsWith(`${u}/`)))?null:y}r.d(t,{V:()=>o})},28999:(e,t,r)=>{function n(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith("\\\\")?e.replace(/\\/g,"/"):e}function i(e){let t=n(e),r=t.startsWith("//"),i=t.split("/").filter(Boolean);return r&&i.length>0&&(i[0]=`//${i[0]}`),i.map(encodeURIComponent).join("/")}function a(e){let t=n(e).replace(/\/+$/,"");return t.split("/").pop()??t}function o(e){let t=n(e).replace(/\/+$/,""),r=t.lastIndexOf("/");return r<0?"":0===r?"/":2===r&&/^[a-zA-Z]:\//.test(t)?t.slice(0,3):t.slice(0,r)}function s(e,t){if(!t)return e;let r=n(e),i=n(t).replace(/\/$/,""),a=/^[a-zA-Z]:\//.test(r)||r.startsWith("//")||/^[a-zA-Z]:\//.test(i)||i.startsWith("//"),o=a?r.toLowerCase():r,s=a?i.toLowerCase():i;return o.startsWith(s+"/")?r.slice(i.length+1):e}function l(e,t){return`${n(e).replace(/\/$/,"")}/${t}`}r.d(t,{A0:()=>n,HG:()=>i,WP:()=>a,e_:()=>l,gX:()=>o,qP:()=>s})},30808:(e,t,r)=>{r.d(t,{Cf:()=>y,HM:()=>k,L3:()=>b,Nt:()=>j,R6:()=>S,lG:()=>v,m_:()=>w});var n=r(95155),i=r(53474),a=r(72222),o=r(45477),s=r(59567),l=r(11975),d=r(52579),c=r(3683),u=r(11412),p=r(80403),h=r(15383),g=r(96238),f=r(27443),m=r(4280),x=r(11827);function v({open:e,onOpenChange:t,children:r}){return(0,n.jsx)(i.D,{open:e,onOpenChange:t,children:r})}function y({children:e,className:t,style:r,ariaLabel:i}){return(0,n.jsxs)(a.Z,{children:[(0,n.jsx)(o.X,{style:{position:"fixed",inset:0,background:"var(--overlay-backdrop)",backdropFilter:"blur(2px)",zIndex:1e3}}),(0,n.jsx)(s.h,{"aria-label":i,className:t,style:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",animation:"dialog-pop-in var(--dur-med) var(--ease-out-warm) both",zIndex:1001,background:"var(--bg)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",padding:20,maxWidth:"min(92vw, 560px)",maxHeight:"85dvh",overflow:"auto",...r},children:e})]})}function b({children:e,style:t}){return(0,n.jsx)(l.L,{className:"display-serif",style:{fontSize:20,margin:"0 0 12px",...t},children:e})}let k=d.H;function w({content:e,children:t,side:r="top"}){return(0,n.jsx)(c.B,{delay:350,closeDelay:0,children:(0,n.jsxs)(u.s,{children:[(0,n.jsx)(p.k,{render:t}),(0,n.jsx)(h.K,{children:(0,n.jsx)(g.o,{side:r,sideOffset:6,style:{zIndex:1100},children:(0,n.jsx)(f.o,{style:{background:"var(--bg-panel)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",boxShadow:"var(--shadow-pop)",padding:"4px 9px",fontSize:12,lineHeight:1.4,maxWidth:260},children:e})})})]})})}function j({open:e,onOpenChange:t,defaultOpen:r,children:i}){return(0,n.jsx)(m.N,{open:e,onOpenChange:t,defaultOpen:r,children:i})}let S=x.R},31590:(e,t,r)=>{r.d(t,{a:()=>l});var n=r(12115);let i="(max-width: 640px)";function a(e){if(!window.matchMedia)return()=>{};let t=window.matchMedia(i);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function o(){return!!window.matchMedia&&window.matchMedia(i).matches}function s(){return!1}function l(){return(0,n.useSyncExternalStore)(a,o,s)}},32383:(e,t,r)=>{r.d(t,{$:()=>o,C:()=>a});var n=r(18136);let i=new Set;function a(e,t){t?i.add(e):i.delete(e)}async function o(e,t){let r=i.has(e)?"?advisor=1":"",a=await fetch(`/api/agent/${encodeURIComponent(e)}${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),o=await a.json().catch(()=>({}));if(!a.ok||o.error)throw Error(o.error||o.code?(0,n.K)(o):`HTTP ${a.status}`);return o.data}},51087:(e,t,r)=>{r.d(t,{oR:()=>w,tE:()=>T});var n=r(95155),i=r(66101),a=r(33208),o=r(23083),s=r(97787),l=r(48262),d=r(99777),c=r(32031),u=r(56395),p=r(40323),h=r(25818),g=r(64577),f=r(35484),m=r(14577),x=r(9005),v=r(12115),y=r(31590);let b=i.V();function k(e,t,r,n){return b.add({title:t,description:r,type:e,data:{kind:e,clamp:n?.clamp}})}let w={success:(e,t,r)=>k("success",e,t,r),error:(e,t,r)=>k("error",e,t,r),info:(e,t,r)=>k("info",e,t,r),close:e=>b.close(e)};function j({kind:e}){let t={size:13,strokeWidth:2,style:{flexShrink:0,marginTop:2}};return"success"===e?(0,n.jsx)(g.A,{...t,style:{...t.style,color:"var(--accent)"},"aria-hidden":!0}):"error"===e?(0,n.jsx)(f.A,{...t,style:{...t.style,color:"var(--accent-strong)"},"aria-hidden":!0}):(0,n.jsx)(m.A,{...t,style:{...t.style,color:"var(--text-muted)"},"aria-hidden":!0})}let S={fontSize:12,color:"var(--text-muted)",lineHeight:1.5,marginTop:2};function C({children:e}){let[t,r]=(0,v.useState)(!1);return(0,n.jsx)("span",{onClick:()=>r(e=>!e),"aria-expanded":t,title:t?void 0:"Click to expand",style:{...S,cursor:t?"default":"pointer",whiteSpace:"pre-wrap",wordBreak:"break-word",...t?{}:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},children:e})}function I(){let{toasts:e}=a.I(),t=(0,y.a)();return(0,n.jsx)(o.S,{children:(0,n.jsx)(s.U,{style:{position:"fixed",top:t?88:80,right:16,zIndex:2100,display:"flex",flexDirection:"column",gap:8,width:"min(92vw, 360px)",pointerEvents:"none"},children:e.map(e=>(0,n.jsxs)(l.m,{toast:e,className:"toast-card",style:{pointerEvents:"auto",display:"flex",alignItems:"flex-start",gap:8,background:"var(--bg)",color:"var(--text)",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-pop)",padding:"10px 12px"},children:[(0,n.jsx)(j,{kind:e.type}),(0,n.jsxs)(d.p,{style:{flex:1,minWidth:0},children:[(0,n.jsx)(c.S,{className:"display-serif",style:{fontSize:13,lineHeight:1.4}}),e.data?.clamp?(0,n.jsx)(u.a,{render:(0,n.jsx)("div",{}),style:S,children:(0,n.jsx)(C,{children:e.description})}):(0,n.jsx)(u.a,{render:(0,n.jsx)("div",{}),style:S})]}),(0,n.jsx)(p.e,{"aria-label":"Dismiss",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,border:0,borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-dim)",cursor:"pointer",flexShrink:0},children:(0,n.jsx)(x.A,{size:12,strokeWidth:2,"aria-hidden":!0})})]},e.id))})})}function T({children:e}){return(0,n.jsxs)(h.t,{toastManager:b,timeout:4e3,limit:4,children:[e,(0,n.jsx)(I,{})]})}},68925:(e,t,r)=>{r.d(t,{Ep:()=>f,T6:()=>p});var n=r(12115),i=r(5924),a=r(94764),o=r(63835),s=r(84678);let l={...a.j,attributes:{...a.j.attributes,code:[["className",/^language-./,"math-inline","math-display"]]},strip:[...a.j.strip||[],"iframe","object","style","form"]},d={remarkPlugins:[[s.A,{singleTilde:!1}]],rehypePlugins:[i.A,[o.A,l]]},c=null,u=null;function p(e){let t=e.includes("$")||e.includes("\\(")||e.includes("\\["),[,i]=(0,n.useState)(0);return(0,n.useEffect)(()=>{if(!t||c)return;let e=!1;return(!u&&(u=(async()=>{let[e,t]=await Promise.all([r.e(9365).then(r.bind(r,49365)).then(e=>e.default),Promise.all([r.e(7330),r.e(6202)]).then(r.bind(r,46202)).then(e=>e.default)]);return await Promise.all([r.e(5846),r.e(4559)]).then(r.t.bind(r,84559,23)),c={remarkPlugins:[...d.remarkPlugins,e],rehypePlugins:[...d.rehypePlugins,[t,{throwOnError:!1,strict:!1}]]}})().catch(e=>{throw u=null,e})),u).then(()=>{e||i(e=>e+1)}).catch(()=>{}),()=>{e=!0}},[t]),t&&c?c:d}let h=[],g=new Map;function f(e){let t=g.get(e);if(void 0!==t)return t;let r=function(e){let t=e.includes("\r\n")?"\r\n":"\n",r=e.split(/\r?\n/),n=[],i=null,a=0,o=null,s=new Map;for(let e=0;e<r.length;e++){var l;let t=r[e];if(o){n.push(t),RegExp(`</${o}\\s*>`,"i").test(t)&&(o=null);continue}let d=t.match(/^ {0,3}(`{3,}|~{3,})/);if(d){let e=d[1][0],r=d[1].length;i?e===i.marker&&r>=i.size&&(i=null):i={marker:e,size:r},a=0,n.push(t);continue}if(i){n.push(t);continue}let c=t.match(/<(code|pre|script|style)\b/i);if(c){let e=c[1].toLowerCase(),r=t.slice((c.index??0)+c[0].length);RegExp(`</${e}\\s*>`,"i").test(r)||(o=e),a=0,n.push(t);continue}if(/^(?: {4}|\t)/.test(t)||""===t.trim()){a=0,n.push(t);continue}if(a||t.includes("`")){a=function(e,t){let r=t;for(let t=0;t<e.length;){if("`"!==e[t]){t++;continue}let n=t+1;for(;"`"===e[n];)n++;let i=n-t;0===r?r=i:i===r&&(r=0),t=n}return r}(t,a),n.push(t);continue}let u=t.match(/^([ ]{0,3})\\\[[ \t]*(.+?)[ \t]*\\\][ \t]*$/);if(u){let e=u[2].trim();if(e){n.push(`${u[1]}$$`,`${u[1]}${e}`,`${u[1]}$$`);continue}}let p=t.match(/^([ ]{0,3})\\\[[ \t]*$/);if(p){let t=function(e,t){for(let r=t;r<e.length;r++){let t=e[r];if(/^ {0,3}\\\][ \t]*$/.test(t))return r;if(/^ {0,3}(`{3,}|~{3,})/.test(t)||/^ {0,3}\\\[[ \t]*$/.test(t)||/<(code|pre|script|style)\b/i.test(t))break}return -1}(r,e+1);if(-1!==t){n.push(`${p[1]}$$`,...r.slice(e+1,t).map(e=>x(e,p[1])),`${p[1]}$$`),e=t;continue}}let h=t.match(/^([ \t]{0,3})\$\$(.+)\$\$[ \t]*$/);if(h){let e=h[2].trim();if(e){n.push(`${h[1]}$$`,`${h[1]}${e}`,`${h[1]}$$`);continue}}let g=t.match(/^([ \t]{0,3})\$\$(.+)$/);if(g){let t=g[1],i=g[2].trimEnd();if(i&&!i.includes("$$")){let a=m(r,e+1,t,s);if(a){n.push(`${t}$$`,`${t}${i}`);for(let i=e+1;i<a.index;i++)n.push(x(r[i],t));a.content&&n.push(`${t}${a.content}`),n.push(`${t}$$`),e=a.index;continue}}}let f=t.match(/^([ \t]{0,3})\$\$\s*$/);if(f){let t=f[1],i=m(r,e+1,t,s);if(i&&(i.glued||""!==t)){n.push(`${t}$$`);for(let a=e+1;a<i.index;a++)n.push(x(r[a],t));i.content&&n.push(`${t}${i.content}`),n.push(`${t}$$`),e=i.index;continue}}n.push((l=t,/^\s{0,3}\[[^\]]+\]:/.test(l)||/]\s*\(/.test(l)||/<(?:!--|\/?[A-Za-z][^>]*>)/.test(l)||/\b(?:https?|file|mailto):/i.test(l)||/\b[A-Za-z]:\\/.test(l)?l:l.replace(/(?<!\\)\\\(([^`\r\n$]+?)(?<!\\)\\\)/g,(e,t)=>t.trim()?`$${t}$`:e)))}return n.join(t)}(e);if(h.length>=200){let e=h.shift();g.delete(e)}return h.push(e),g.set(e,r),r}function m(e,t,r,n){let i=n.get(r);if(void 0!==i&&t<i)return null;for(let i=t;i<e.length;i++){var a,o,s,l;let t=e[i];if(a=t,""===(o=r)?/^ {0,3}\$\$\s*$/.test(a):a.startsWith(o)&&/^\$\$\s*$/.test(a.slice(o.length)))return{index:i,content:"",glued:!1};if(s=t,/^ {0,3}(`{3,}|~{3,})/.test(s)||/^[ \t]*(?:[-+*]|\d{1,9}[.)])(?:[ \t]+|$)/.test(s)||/^ {0,3}#{1,6}(?:[ \t]+|$)/.test(s)||/^ {0,3}>/.test(s)||/<(code|pre|script|style)\b/i.test(s)||(l=t,/^ {0,3}\$\$(?:\S|[ \t]+\S)/.test(l)))return n.set(r,i),null;let d=function(e,t){if(!e.startsWith(t))return null;let r=e.slice(t.length).match(/^(.+?)\$\$\s*$/);if(!r)return null;let n=r[1].trimEnd();return n&&!n.includes("$$")?n:null}(t,r);if(null!==d)return{index:i,content:d,glued:!0}}return n.set(r,e.length),null}function x(e,t){if(!t||!e||e.startsWith(" "))return e;let r=e.match(/^ */)?.[0].length??0;return r>=t.length?e:`${t.slice(r)}${e}`}},69878:(e,t,r)=>{r.d(t,{Dx:()=>h,mm:()=>f,qc:()=>g});var n=r(95155),i=r(52584),a=r(66763),o=r(50981),s=r(12651),l=r(81499),d=r(86272),c=r(90710),u=r(738),p=r(82749);let h=[{id:"general",label:"Interface & Behavior",description:"UI preferences, completion sound, submission mode",Icon:a.A},{id:"safety",label:"Safety & Approvals",description:"Tool safety rules, YOLO mode, terminal permissions",Icon:o.A},{id:"models",label:"AI Model Defaults",description:"Reasoning budget, verbosity, personality, scratchpad",Icon:s.A},{id:"providers",label:"API Keys & Providers",description:"Connected OAuth accounts, API keys, and model registry",Icon:l.A},{id:"intelligence",label:"Agent & Intelligence",description:"Advisor, memory, autolearn, compaction and retry",Icon:d.A},{id:"agents",label:"Agents",description:"Task agents, model settings, and tool policy",Icon:c.A},{id:"mcp",label:"Extensions & Tools",description:"MCP servers, managed skills, and OMP plugins",Icon:u.A},{id:"system",label:"System & Updates",description:"App updates, runtime version, and active session restart",Icon:p.A}],g=e=>"skills"===e||"plugins"===e||"extensions"===e?"mcp":e;function f({active:e,onSelect:t,workspaceReady:r=!0,layout:a="vertical"}){let{t:o}=(0,i.s9)(),s=g(e),l=(e,n)=>{let i=h.filter(e=>!(e.needsWorkspace&&!r)),a=null;if(("ArrowRight"===e.key||"ArrowDown"===e.key)&&(a=n+1),("ArrowLeft"===e.key||"ArrowUp"===e.key)&&(a=n-1),"Home"===e.key&&(a=0),"End"===e.key&&(a=i.length-1),null!==a){e.preventDefault();let r=i[a]??i[n];if(r){t(r.id);let e=document.getElementById("settings-tab-"+r.id);e?.focus()}}};return"vertical"===a?(0,n.jsx)("nav",{"aria-label":o("settingsTabs.ariaLabel"),role:"tablist","aria-orientation":"vertical",style:{display:"flex",flexDirection:"column",gap:4,padding:"12px 8px",width:230,flexShrink:0,borderRight:"1px solid var(--border)",background:"var(--bg-panel)",overflowY:"auto"},children:h.map(({id:e,label:i,description:a,Icon:d,needsWorkspace:c},u)=>{let p=`settingsTabs.${e}.label`,h=`settingsTabs.${e}.description`,g=o(p),f=o(h),m=e===s,x=!!(c&&!r);return(0,n.jsxs)("button",{type:"button",role:"tab",id:`settings-tab-${e}`,"aria-selected":m,"aria-controls":`settings-panel-${e}`,tabIndex:m?0:-1,disabled:x,onClick:()=>t(e),onKeyDown:e=>l(e,u),style:{display:"flex",alignItems:"flex-start",gap:10,padding:"9px 10px",border:"none",borderRadius:"var(--radius-control)",background:m?"var(--bg-selected)":"transparent",color:m?"var(--text)":x?"var(--text-dim)":"var(--text-muted)",cursor:x?"not-allowed":"pointer",opacity:x?.5:1,textAlign:"left",transition:"background var(--dur-fast), color var(--dur-fast)",width:"100%"},children:[(0,n.jsx)(d,{size:16,"aria-hidden":"true",style:{marginTop:2,flexShrink:0,color:m?"var(--accent)":"currentColor"}}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:2},children:[(0,n.jsx)("div",{style:{fontSize:12.5,fontWeight:m?600:500,lineHeight:1.3,color:m?"var(--text)":"inherit"},children:g!==p?g:i}),(0,n.jsx)("div",{style:{fontSize:10.5,color:"var(--text-dim)",lineHeight:1.3,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:f!==h?f:a})]})]},e)})}):(0,n.jsx)("nav",{"aria-label":o("settingsTabs.ariaLabel"),role:"tablist",style:{display:"flex",gap:3,padding:"7px 12px",borderBottom:"1px solid var(--border)",background:"var(--bg-panel)",flexShrink:0,overflowX:"auto"},children:h.map(({id:e,label:i,description:a,Icon:d,needsWorkspace:c},u)=>{let p=`settingsTabs.${e}.label`,h=`settingsTabs.${e}.description`,g=o(p),f=o(h),m=g!==p?g:i,x=f!==h?f:a,v=e===s,y=!!(c&&!r);return(0,n.jsxs)("button",{type:"button",role:"tab",id:`settings-tab-${e}`,"aria-selected":v,"aria-controls":`settings-panel-${e}`,"aria-label":`${m}: ${x}`,title:x,tabIndex:v?0:-1,disabled:y,onClick:()=>t(e),onKeyDown:e=>l(e,u),style:{display:"inline-flex",alignItems:"flex-start",gap:5,padding:"6px 9px",border:"none",borderRadius:"var(--radius-control)",background:v?"var(--bg-selected)":"transparent",color:v?"var(--text)":"var(--text-muted)",cursor:y?"not-allowed":"pointer",opacity:y?.45:1,fontSize:12,whiteSpace:"nowrap",textAlign:"left",minWidth:150},children:[(0,n.jsx)(d,{size:13,"aria-hidden":"true"}),(0,n.jsxs)("span",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[(0,n.jsx)("span",{style:{fontWeight:v?600:500},children:m}),(0,n.jsx)("span",{style:{maxWidth:220,overflow:"hidden",textOverflow:"ellipsis",color:"var(--text-muted)",fontSize:10,fontWeight:400,lineHeight:1.25},children:x})]})]},e)})})}},82490:(e,t,r)=>{r.d(t,{y:()=>i});let n=new Map;function i(e){let t;if(n.has(e)){let t=n.get(e);return n.delete(e),n.set(e,t),t}let r=[],i=null,o=0,s=0,l=[],d=[],c=()=>({lineNo:null,text:"",type:"empty"}),u=()=>{if(!i){l=[],d=[];return}let e=Math.max(l.length,d.length);for(let t=0;t<e;t++){let e=l[t]?{lineNo:l[t].lineNo,text:l[t].text,type:"removed"}:c(),r=d[t]?{lineNo:d[t].lineNo,text:d[t].text,type:"added"}:c();i.rows.push({type:"line",left:e,right:r})}l=[],d=[]};for(let n of e.split(/\r?\n/)){if(n.startsWith("--- ")){u(),t=a(n.slice(4));continue}if(n.startsWith("+++ ")){u(),i={oldPath:t,newPath:a(n.slice(4)),rows:[]},r.push(i);continue}let e=n.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){i||(i={rows:[]},r.push(i)),u(),o=Number(e[1]),s=Number(e[2]),i.rows.push({type:"hunk",text:n});continue}if(!i)continue;if(n.startsWith("\\ ")){u(),i.rows.push({type:"hunk",text:n});continue}let c=n[0],p=n.slice(1);" "===c?(u(),i.rows.push({type:"line",left:{lineNo:o++,text:p,type:"context"},right:{lineNo:s++,text:p,type:"context"}})):"-"===c?l.push({lineNo:o++,text:p}):"+"===c?d.push({lineNo:s++,text:p}):""!==n&&(u(),i.rows.push({type:"hunk",text:n}))}u();let p=r.filter(e=>e.rows.some(e=>"line"===e.type)),h=p.length>0?p:null;if(n.set(e,h),n.size>20){let e=n.keys().next().value;void 0!==e&&n.delete(e)}return h}function a(e){return e.split(" ")[0].trim()}},84111:(e,t,r)=>{function n(e,t){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.round(e/1e3)}k`:t?e.toLocaleString(t):String(e)}function i(e){return`${e.toFixed(1)}%`}function a(e,t){let r=e+t;return r>0?t/r*100:null}r.d(t,{l9:()=>i,uX:()=>a,wk:()=>n})},90202:(e,t,r)=>{r.r(t),r.d(t,{AppShell:()=>ay});var n=r(95155),i=r(12115),a=r(37206),o=r(73321);let s=null;var l=r(47650),d=r(52584),c=r(18136);let u=[];function p({onClose:e,active:t=!0}){let r=(0,i.useRef)(null),n=(0,i.useRef)(e);return n.current=e,(0,i.useEffect)(()=>{if(!t)return;let e=r.current;if(!e)return;let i=document.activeElement instanceof HTMLElement?document.activeElement:null;u.push(e),e.contains(document.activeElement)||e.focus();let a=t=>{if(u[u.length-1]!==e)return;if("Escape"===t.key){if(t.isComposing||229===t.keyCode)return;t.preventDefault(),t.stopPropagation(),n.current();return}if("Tab"!==t.key)return;let r=Array.from(e.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(e=>e.getClientRects().length>0||e===document.activeElement);if(0===r.length){t.preventDefault(),e.focus();return}let i=document.activeElement,a=i instanceof Node&&e.contains(i);t.shiftKey?a&&i!==r[0]&&i!==e||(t.preventDefault(),r[r.length-1].focus()):a&&i!==r[r.length-1]||(t.preventDefault(),r[0].focus())};return document.addEventListener("keydown",a,!0),()=>{document.removeEventListener("keydown",a,!0);let t=u.indexOf(e);-1!==t&&u.splice(t,1),i&&i.isConnected&&i.focus()}},[t]),r}async function h(e){let t=e?`?path=${encodeURIComponent(e)}`:"",r=await fetch(`/api/cwd/browse${t}`),n=await r.json();if(!r.ok||n.error)throw Error((0,c.K)({...n,error:n.error??`HTTP ${r.status}`}));return n}function g(){return(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.3","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M1.5 3h4l1.5 2h7.5v7.5h-13z"})})}function f(){return(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"2",y:"3",width:"12",height:"10",rx:"1.5"}),(0,n.jsx)("path",{d:"M2 9h12"}),(0,n.jsx)("circle",{cx:"11.5",cy:"11",r:"0.6",fill:"currentColor",stroke:"none"})]})}function m({onCancel:e,onSelect:t,busy:r=!1,error:a}){let{t:o}=(0,d.s9)(),[s,c]=(0,i.useState)(null),[u,x]=(0,i.useState)(""),[v,y]=(0,i.useState)(null),[b,k]=(0,i.useState)(""),[w,j]=(0,i.useState)([]),[S,C]=(0,i.useState)(null),[I,T]=(0,i.useState)(null),[R,M]=(0,i.useState)(!0),z=p({onClose:()=>{r||e()},active:null!==s}),E=(0,i.useCallback)(async e=>{M(!0),T(null);try{let t=await h(e),r=t.path??e??"/";x(r),y(t.parentPath??null),k(r),j(t.directories??[]),C(t.drives??null)}catch(e){T(e instanceof Error?e.message:String(e))}finally{M(!1)}},[]);(0,i.useEffect)(()=>{c(document.body),E()},[E]);let A=b.trim()!==u,W=!!u&&!A&&!r,D=!!v||/^[a-zA-Z]:[\\/]?$/.test(u);return s?(0,l.createPortal)((0,n.jsx)("div",{className:"directory-picker-backdrop animate-fade-in",onClick:t=>{t.target!==t.currentTarget||r||e()},style:{position:"fixed",inset:0,zIndex:1002,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--overlay-backdrop)"},children:(0,n.jsxs)("div",{className:"directory-picker-panel animate-scale-in",ref:z,role:"dialog","aria-modal":"true","aria-label":o("directoryPicker.selectDirectory"),tabIndex:-1,style:{width:520,maxWidth:"calc(100vw - 16px)",height:"min(620px, calc(100dvh - 16px))",maxHeight:"calc(100dvh - 16px)",display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",boxShadow:"var(--shadow-modal)",outline:"none"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",flexShrink:0,padding:"12px 18px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("div",{style:{minWidth:0,flex:1},children:(0,n.jsx)("div",{style:{color:"var(--text)",fontWeight:700,fontSize:15},children:o("directoryPicker.selectDirectory")})}),(0,n.jsx)("button",{type:"button",onClick:e,disabled:r,title:o("directoryPicker.close"),"aria-label":o("directoryPicker.close"),style:{padding:"2px 6px",border:0,background:"none",color:"var(--text-muted)",fontSize:20,lineHeight:1,cursor:r?"default":"pointer",opacity:r?.5:1,transition:"color var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{r||(e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-muted)"},children:"\xd7"})]}),(0,n.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=b.trim();t&&E(t)},style:{display:"flex",alignItems:"center",gap:8,flexShrink:0,padding:"10px 14px",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)("button",{className:"directory-picker-back",type:"button",onClick:()=>void E(v??void 0),disabled:R||!D,title:o("directoryPicker.goToParent"),"aria-label":o("directoryPicker.goToParent"),style:{width:36,height:36,padding:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-hover)",color:"var(--text-muted)",cursor:D?"pointer":"default",opacity:D?1:.45,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{D&&!R&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},children:(0,n.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"m18 15-6-6-6 6"})})}),(0,n.jsx)("label",{htmlFor:"directory-path",style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},children:o("directoryPicker.directoryPath")}),(0,n.jsx)("input",{className:"directory-picker-path",id:"directory-path",type:"text",value:b,"aria-label":o("directoryPicker.pathPlaceholder")||"Directory path",placeholder:o("directoryPicker.pathPlaceholder"),autoFocus:!0,autoComplete:"off",spellCheck:!1,onChange:e=>{k(e.target.value),T(null)},style:{minWidth:0,flex:1,height:36,padding:"0 10px",border:"1px solid var(--border)",borderRadius:6,outline:"none",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:12,transition:"border-color var(--dur-fast) var(--ease-out-warm)"}}),(0,n.jsx)("button",{className:"directory-picker-action",type:"submit",disabled:R||!b.trim(),title:o("directoryPicker.goToDirectory"),style:{minWidth:58,height:36,padding:"0 12px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-hover)",color:"var(--text-muted)",cursor:R||!b.trim()?"default":"pointer",opacity:R||!b.trim()?.6:1,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{!R&&b.trim()&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.color="var(--text)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text-muted)"},children:o("directoryPicker.go")})]}),(0,n.jsxs)("div",{className:"directory-picker-list",style:{flex:1,minHeight:0,overflow:"auto",padding:"8px 10px"},children:[R?(0,n.jsx)("div",{style:{display:"grid",gap:6,padding:8},"aria-busy":"true","aria-label":o("directoryPicker.loadingDirectories"),children:Array.from({length:7}).map((e,t)=>(0,n.jsx)("div",{className:"skeleton",style:{height:22,width:`${55+37*t%40}%`}},t))}):null!==S?S.length>0?S.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void E(e.path),title:e.path,style:{width:"100%",minHeight:30,display:"flex",alignItems:"center",gap:7,padding:"5px 8px",border:0,borderRadius:5,background:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontFamily:"var(--font-mono)",fontSize:11},children:[(0,n.jsx)(f,{}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path)):(0,n.jsx)("div",{style:{padding:8,color:"var(--text-dim)",fontSize:11},children:o("directoryPicker.noDrives")}):w.length>0?w.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void E(e.path),title:e.path,style:{width:"100%",minHeight:30,display:"flex",alignItems:"center",gap:7,padding:"5px 8px",border:0,borderRadius:5,background:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontFamily:"var(--font-mono)",fontSize:11,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent",e.currentTarget.style.color="var(--text-muted)"},children:[(0,n.jsx)(g,{}),(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.path)):(0,n.jsx)("div",{style:{padding:8,color:"var(--text-dim)",fontSize:11},children:o("directoryPicker.noSubdirectories")}),(I||a)&&(0,n.jsx)("div",{style:{padding:"8px",color:"var(--status-error)",fontSize:11},children:I??a})]}),(0,n.jsxs)("div",{className:"directory-picker-footer",style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:10,flexShrink:0,padding:"10px 18px",borderTop:"1px solid var(--border)"},children:[(0,n.jsx)("button",{className:"directory-picker-action",type:"button",onClick:e,disabled:r,style:{padding:"6px 14px",border:"1px solid var(--border)",borderRadius:6,background:"none",color:"var(--text-muted)",cursor:r?"default":"pointer",fontSize:13},children:o("directoryPicker.cancel")}),(0,n.jsx)("button",{className:"directory-picker-action",type:"button",onClick:()=>t(u),disabled:!W,title:o(A?"directoryPicker.openPathBeforeSelecting":"directoryPicker.selectCurrentDirectory"),style:{padding:"6px 16px",border:0,borderRadius:6,background:"var(--accent)",color:"var(--on-accent)",fontSize:13,fontWeight:600,opacity:W?1:.6,cursor:W?"pointer":"default"},children:o(r?"directoryPicker.checking":"directoryPicker.selectThisFolder")})]})]})}),s):null}var x=r(9005),v=r(76721),y=r(95660),b=r(14225),k=r(92571),w=r(83254),j=r(87708),S=r(50825),C=r(68562),I=r(64577),T=r(79530),R=r(11012),M=r(35484);let z="var(--text-dim)";function E({size:e=14,open:t=!1}){return t?(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,n.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5h7.5v1H1V4.5Z",fill:z}),(0,n.jsx)("path",{d:"M1 6h14.5L14 13H2L1 6Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.12"})]}):(0,n.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:(0,n.jsx)("path",{d:"M1 4.5A1 1 0 0 1 2 3.5H5.5L7 5H14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4.5Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.1"})})}function A({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",children:[(0,n.jsx)("path",{d:"M3 2h7l3 3v9H3V2Z",stroke:z,strokeWidth:"1",fill:z,fillOpacity:"0.08"}),(0,n.jsx)("path",{d:"M10 2v3h3",stroke:z,strokeWidth:"1",fill:"none",strokeLinejoin:"round"})]})}function W({label:e,size:t=14}){let r=t/14;return(0,n.jsxs)("svg",{width:t,height:t,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("text",{x:"7",y:"9.5",textAnchor:"middle",fontSize:3.4*r,fontFamily:"var(--font-mono), monospace",fontWeight:"600",fill:z,letterSpacing:"0",children:e})]})}function D({size:e=14}){return(0,n.jsx)(W,{label:"TS",size:e})}function $({size:e=14}){return(0,n.jsx)(W,{label:"TSX",size:e})}function L({size:e=14}){return(0,n.jsx)(W,{label:"JS",size:e})}function N({size:e=14}){return(0,n.jsx)(W,{label:"JSX",size:e})}function F({size:e=14}){return(0,n.jsx)(W,{label:"PY",size:e})}function P({size:e=14}){return(0,n.jsx)(W,{label:"{}",size:e})}function B({size:e=14}){return(0,n.jsx)(W,{label:"CSS",size:e})}function O({size:e=14}){return(0,n.jsx)(W,{label:"SC",size:e})}function H({size:e=14}){return(0,n.jsx)(W,{label:"HTM",size:e})}function K({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M3.5 9.5V7l1.5 1.5L6.5 7v2.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M8 7v2.5M7 9l1 1.5 1-1.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})}function U({size:e=14}){return(0,n.jsx)(W,{label:"YML",size:e})}function _({size:e=14}){return(0,n.jsx)(W,{label:"TOM",size:e})}function q({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M4 7.5l2 1.5-2 1.5",stroke:z,strokeWidth:"0.95",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M7.5 10.5h2.5",stroke:z,strokeWidth:"0.95",strokeLinecap:"round"})]})}function V({size:e=14}){return(0,n.jsx)(W,{label:"RS",size:e})}function Y({size:e=14}){return(0,n.jsx)(W,{label:"GO",size:e})}function J({size:e=14}){return(0,n.jsx)(W,{label:"SQL",size:e})}function Z({size:e=14}){return(0,n.jsx)(W,{label:"GQL",size:e})}function G({size:e=14}){return(0,n.jsx)(W,{label:"TF",size:e})}function X({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("rect",{x:"3.5",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"6",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"3.5",y:"8.5",width:"2",height:"1.5",rx:"0.3",stroke:z,strokeWidth:"0.8"})]})}function Q({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5.5",cy:"8.5",r:"1.5",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 8.5h2.5M8.5 8.5v1.5",stroke:z,strokeWidth:"0.9",strokeLinecap:"round"})]})}function ee({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5",cy:"6.5",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"9",cy:"6.5",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"5",cy:"10",r:"1",stroke:z,strokeWidth:"0.85"}),(0,n.jsx)("path",{d:"M5 7.5V9",stroke:z,strokeWidth:"0.85",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M9 7.5v.5a2 2 0 0 1-2 2H6",stroke:z,strokeWidth:"0.85",strokeLinecap:"round",fill:"none"})]})}function et({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("rect",{x:"4.5",y:"8.5",width:"5",height:"3",rx:"0.6",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M5.5 8.5V7.5a1.5 1.5 0 0 1 3 0v1",stroke:z,strokeWidth:"0.9",strokeLinecap:"round",fill:"none"})]})}function er({size:e=14}){return(0,n.jsx)(W,{label:"DOC",size:e})}function en({size:e=14}){return(0,n.jsx)(W,{label:"PDF",size:e})}function ei({size:e=14}){return(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",children:[(0,n.jsx)("path",{d:"M2.5 1h6l3 3v9h-9V1Z",stroke:z,strokeWidth:"0.9",fill:z,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:z,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"7",cy:"8.5",r:"1.3",stroke:z,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 6.5v.7M7 10.3v.7M5 8.5h.7M8.3 8.5H9M5.5 6.9l.5.5M8.5 9.6l-.5-.5M5.5 10.1l.5-.5M8.5 7.4l-.5.5",stroke:z,strokeWidth:"0.8",strokeLinecap:"round"})]})}function ea(e,t=14){let r=e.toLowerCase(),i=r.split(".").pop()??"";if("dockerfile"===r||r.startsWith("dockerfile."))return(0,n.jsx)(X,{size:t});if(".env"===r||r.startsWith(".env."))return(0,n.jsx)(Q,{size:t});if(".gitignore"===r||".gitattributes"===r||".gitmodules"===r)return(0,n.jsx)(ee,{size:t});if("package-lock.json"===r||"yarn.lock"===r||"bun.lock"===r||"pnpm-lock.yaml"===r||"cargo.lock"===r)return(0,n.jsx)(et,{size:t});if(r.endsWith(".config.ts")||r.endsWith(".config.js")||r.endsWith(".config.mjs")||r.endsWith(".config.cjs")||[".eslintrc",".eslintrc.js",".eslintrc.json",".eslintrc.yml","eslint.config.mjs","eslint.config.js"].includes(r))return(0,n.jsx)(ei,{size:t});switch(i){case"ts":return(0,n.jsx)(D,{size:t});case"tsx":return(0,n.jsx)($,{size:t});case"js":case"mjs":case"cjs":return(0,n.jsx)(L,{size:t});case"jsx":return(0,n.jsx)(N,{size:t});case"py":return(0,n.jsx)(F,{size:t});case"json":case"jsonl":return(0,n.jsx)(P,{size:t});case"css":case"less":return(0,n.jsx)(B,{size:t});case"scss":return(0,n.jsx)(O,{size:t});case"html":case"htm":return(0,n.jsx)(H,{size:t});case"md":case"mdx":return(0,n.jsx)(K,{size:t});case"yaml":case"yml":return(0,n.jsx)(U,{size:t});case"toml":return(0,n.jsx)(_,{size:t});case"sh":case"bash":case"zsh":case"fish":return(0,n.jsx)(q,{size:t});case"rs":return(0,n.jsx)(V,{size:t});case"go":return(0,n.jsx)(Y,{size:t});case"sql":return(0,n.jsx)(J,{size:t});case"graphql":case"gql":return(0,n.jsx)(Z,{size:t});case"tf":case"hcl":return(0,n.jsx)(G,{size:t});case"docx":return(0,n.jsx)(er,{size:t});case"pdf":return(0,n.jsx)(en,{size:t});case"lock":return(0,n.jsx)(et,{size:t});default:return(0,n.jsx)(A,{size:t})}}var eo=r(30808),es=r(51087),el=r(28999);async function ed(e){let t=(0,el.HG)(e),r=await fetch(`/api/files/${t}?type=list`);if(!r.ok){let e=(0,d.Tl)("fileExplorer.loadFailed",{status:r.status});try{let t=await r.json();t.error&&(e=t.error)}catch{}throw Error(e)}return((await r.json()).entries??[]).map(t=>({name:t.name,fullPath:(0,el.e_)(e,t.name),isDir:t.isDir,size:t.size,children:t.isDir?[]:void 0,loaded:!t.isDir}))}async function ec(e){let t=new URLSearchParams({cwd:e}),r=await fetch(`/api/git/status?${t.toString()}`);if(!r.ok)throw Error((0,d.Tl)("fileExplorer.gitStatusFailed",{status:r.status}));return r.json()}let eu={modified:"fileExplorer.gitModified",added:"fileExplorer.gitAdded",deleted:"fileExplorer.gitDeleted",renamed:"fileExplorer.gitRenamed",untracked:"fileExplorer.gitUntracked",conflict:"fileExplorer.gitConflict"},ep={modified:"var(--status-modified)",added:"var(--status-success)",deleted:"var(--status-error)",renamed:"var(--status-renamed)",untracked:"var(--status-success)",conflict:"var(--status-error)"};function eh({onClick:e,title:t}){return(0,n.jsx)("button",{type:"button",onClick:e,title:t,"aria-label":t,style:{width:24,height:24,padding:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,border:"none",borderRadius:"var(--radius-control)",background:"none",color:"var(--text-dim)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:(0,n.jsx)(x.A,{size:13,strokeWidth:2.2,"aria-hidden":"true"})})}function eg({node:e,depth:t,cwd:r,onOpenFile:a,onAtMention:o,expandedPaths:s,onToggleExpanded:l,refreshToken:c,highlightedPaths:u,gitStatusByPath:p,changedDirectoryPaths:h}){let{t:g}=(0,d.s9)(),f=s.has(e.fullPath),m=u.has(e.fullPath),x=(0,el.A0)(e.fullPath),C=p.get(x),I=e.isDir&&(void 0!==C||h.has(x)),[T,R]=(0,i.useState)(e.children??[]),[M,z]=(0,i.useState)(e.loaded??!1),[E,A]=(0,i.useState)(!1),[W,D]=(0,i.useState)(!1),[$,L]=(0,i.useState)(!1),N=(0,i.useCallback)(async(t=!1)=>{if(!M||t){A(!0);try{let t=await ed(e.fullPath);R(t),z(!0)}catch{}finally{A(!1)}}},[M,e.fullPath]);(0,i.useEffect)(()=>{f?M&&N(!0):z(!1)},[c]);let F=(0,i.useCallback)(()=>{if(e.isDir){let t=!f;l(e.fullPath,t),t&&!M&&N()}else a(e.fullPath,e.name)},[e.isDir,e.fullPath,e.name,M,f,N,a,l]),P=(0,i.useCallback)(t=>{if(t.target===t.currentTarget){if("Enter"===t.key||" "===t.key)t.preventDefault(),F();else if("ArrowRight"===t.key){if(e.isDir)if(t.preventDefault(),f){let e=t.currentTarget.parentElement?.querySelector('[role="group"] [role="treeitem"]');e?.focus()}else l(e.fullPath,!0),M||N()}else if("ArrowLeft"===t.key)if(e.isDir&&f)t.preventDefault(),l(e.fullPath,!1);else{let e=t.currentTarget.closest('[role="group"]')?.parentElement?.querySelector(':scope > [role="treeitem"]');e?.focus()}else if("ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault();let e=t.currentTarget.closest('[role="tree"]');if(!e)return;let r=Array.from(e.querySelectorAll('[role="treeitem"]')).filter(e=>!e.closest("[inert]")),n=r.indexOf(t.currentTarget);if(-1!==n){let e="ArrowDown"===t.key?Math.min(r.length-1,n+1):Math.max(0,n-1);r[e]?.focus()}}}},[e.isDir,e.fullPath,f,M,N,l,F]),B=g("fileExplorer.insertPathIntoChat"),O=g("fileExplorer.downloadFile"),H=g("fileExplorer.revealInFileManager"),K=(0,i.useCallback)(async e=>{try{let t=await fetch("/api/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),r=await t.json().catch(()=>({}));t.ok||es.oR.error(r.error??g("fileExplorer.revealFailed"))}catch{es.oR.error(g("fileExplorer.revealFailed"))}},[g]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{onClick:F,onKeyDown:P,onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),onFocus:e=>{e.target===e.currentTarget&&L(!0)},onBlur:()=>L(!1),role:"treeitem",tabIndex:0,"aria-selected":m,"aria-expanded":e.isDir?f:void 0,"aria-label":e.isDir?e.name+" (folder"+(f?", expanded":", collapsed")+")":e.name+" (file)",style:{position:"relative",display:"flex",alignItems:"center",gap:4,paddingLeft:8+14*t,paddingRight:8,height:24,cursor:"pointer",background:W?"var(--bg-hover)":"transparent",borderRadius:"var(--radius-control)",userSelect:"none",boxShadow:$?"inset 0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent)":"none",outline:"none",transition:"background var(--dur-fast) var(--ease-out-warm)"},children:[e.isDir&&(0,n.jsx)(v.A,{size:10,strokeWidth:2,color:"var(--text-dim)",style:{flexShrink:0,transform:f?"rotate(90deg)":"none",transition:"transform var(--dur-med) var(--ease-out-warm)"},"aria-hidden":"true"}),!e.isDir&&(0,n.jsx)("span",{style:{width:10,flexShrink:0}}),(0,n.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center",color:e.isDir?"var(--text-muted)":"var(--text-dim)"},children:e.isDir?f?(0,n.jsx)(y.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):(0,n.jsx)(b.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):ea(e.name,14)}),(0,n.jsx)("span",{style:{fontSize:12,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},title:e.fullPath,children:e.name}),m&&(0,n.jsx)("span",{title:g("fileExplorer.newlyUploaded"),"aria-label":g("fileExplorer.newlyUploaded"),style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:"var(--accent)"}}),!W&&!e.isDir&&C&&(0,n.jsx)("span",{title:g(eu[C.status]),"aria-label":g(eu[C.status]),style:{width:14,flexShrink:0,color:ep[C.status],fontFamily:"var(--font-mono)",fontSize:11,fontWeight:600,textAlign:"center"},children:C.code}),!W&&I&&(0,n.jsx)("span",{title:g("fileExplorer.containsChangedFiles"),"aria-label":g("fileExplorer.containsChangedFiles"),style:{width:6,height:6,flexShrink:0,borderRadius:"50%",background:"var(--status-modified)"}}),E&&(0,n.jsx)(k.A,{size:10,strokeWidth:2,color:"var(--text-dim)",style:{animation:"spin 0.8s linear infinite",flexShrink:0},"aria-hidden":"true"}),o&&W&&(0,n.jsx)(eo.m_,{content:B,children:(0,n.jsxs)("button",{onClick:t=>{t.stopPropagation(),o((0,el.qP)(e.fullPath,r),e.isDir)},"aria-label":B,style:{position:"absolute",right:e.isDir?4:28,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"0 8px",height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--accent)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)(w.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),g("fileExplorer.mention")]})}),(0,n.jsx)(eo.m_,{content:H,children:(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),K(e.fullPath)},"aria-label":H,title:H,style:{position:"absolute",right:e.isDir?4:52,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",width:22,height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",cursor:"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(j.A,{size:11,strokeWidth:2,"aria-hidden":"true"})})}),W&&!e.isDir&&(0,n.jsx)(eo.m_,{content:O,children:(0,n.jsx)("a",{href:`/api/files/${(0,el.HG)(e.fullPath)}?type=download`,download:!0,onClick:e=>e.stopPropagation(),"aria-label":O,style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",display:"flex",alignItems:"center",justifyContent:"center",gap:4,padding:"0 5px",height:20,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",textDecoration:"none",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(S.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"})})})]}),e.isDir&&(0,n.jsx)("div",{role:"group",inert:!f||void 0,className:"accordion-flow "+(f?"is-open":""),children:(0,n.jsxs)("div",{className:"accordion-flow-inner",children:[T.map(e=>(0,n.jsx)(eg,{node:e,depth:t+1,cwd:r,onOpenFile:a,onAtMention:o,expandedPaths:s,onToggleExpanded:l,refreshToken:c,highlightedPaths:u,gitStatusByPath:p,changedDirectoryPaths:h},e.fullPath)),0===T.length&&M&&(0,n.jsx)("div",{style:{paddingLeft:8+(t+1)*14,fontSize:11,color:"var(--text-dim)",height:22,display:"flex",alignItems:"center"},children:g("fileExplorer.emptyDir")})]})})]})}let ef=(0,i.forwardRef)(function({cwd:e,onOpenFile:t,refreshKey:r,onAtMention:a,onAtMentions:o,onUploadBusyChange:s,onRefreshDone:l},c){let{t:u,tn:p}=(0,d.s9)(),[h,g]=(0,i.useState)([]),[f,m]=(0,i.useState)(!0),[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(new Set),[j,S]=(0,i.useState)(0),[z,E]=(0,i.useState)(new Set),[A,W]=(0,i.useState)([]),[D,$]=(0,i.useState)("idle"),[L,N]=(0,i.useState)(0),[F,P]=(0,i.useState)(null),[B,O]=(0,i.useState)(null),[H,K]=(0,i.useState)(null),U=(0,i.useRef)(null),_=(0,i.useRef)(null),q=`${r??0}:${j}`,V="idle"!==D,Y=(0,i.useMemo)(()=>new Map(A.map(e=>[(0,el.A0)(e.filePath),e])),[A]),J=(0,i.useMemo)(()=>{let t=new Set,r=(0,el.A0)(e).replace(/\/$/,"");for(let e of A){let n=(0,el.gX)((0,el.A0)(e.filePath));for(;(n===r||n.startsWith(`${r}/`))&&(t.add(n),n!==r);){let e=(0,el.gX)(n);if(e===n)break;n=e}}return t},[e,A]),Z=(0,i.useCallback)((e,t)=>{b(r=>{let n=new Set(r);return t?n.add(e):n.delete(e),n})},[]),G=(0,i.useCallback)(t=>{let r=t.uploaded??[];O({uploaded:r,skipped:t.skipped??[],errors:t.errors??[]}),r.length>0&&(E(new Set(r.map(t=>(0,el.e_)(e,t)))),S(e=>e+1))},[e]),X=(0,i.useCallback)(async(t,r)=>{K(null),P(null),N(0),$("uploading");try{let{status:n,data:i}=await new Promise((n,i)=>{let a=new FormData;t.forEach(e=>a.append("files",e,e.name));let o=new XMLHttpRequest;o.open("POST",`/api/files/${(0,el.HG)(e)}?type=upload&conflict=${r}`),o.upload.onprogress=e=>{e.lengthComputable&&e.total>0&&N(Math.round(e.loaded/e.total*100))},o.onerror=()=>i(Error((0,d.Tl)("fileExplorer.uploadNetworkError"))),o.onabort=()=>i(Error((0,d.Tl)("fileExplorer.uploadCancelled"))),o.onload=()=>{let e={};try{e=JSON.parse(o.responseText)}catch{o.responseText&&(e.error=o.responseText)}n({status:o.status,data:e})},o.send(a)});if(409===n&&i.conflicts?.length)return void K({files:t,conflicts:i.conflicts,nonReplaceable:i.nonReplaceable??[]});if(n<200||n>=300)throw Error(i.error??(0,d.Tl)("fileExplorer.uploadFailed",{status:n}));N(100),G(i)}catch(e){P(e instanceof Error?e.message:String(e))}finally{$("idle")}},[G,e]),Q=(0,i.useCallback)(async t=>{if(0!==t.length&&!V){O(null),E(new Set),K(null),P(null),N(0),$("checking");try{let r=await fetch(`/api/files/${(0,el.HG)(e)}?type=upload-check`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileNames:t.map(e=>e.name)})}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error??(0,d.Tl)("fileExplorer.uploadCheckFailed",{status:r.status}));if(n.conflicts?.length)return void K({files:t,conflicts:n.conflicts,nonReplaceable:n.nonReplaceable??[]});await X(t,"error")}catch(e){P(e instanceof Error?e.message:String(e))}finally{$("idle")}}},[e,X,V]),ee=(0,i.useCallback)(e=>{let t=Array.from(e.target.files??[]);e.target.value="",Q(t)},[Q]);(0,i.useImperativeHandle)(c,()=>({openUploadPicker(){V||_.current?.click()}}),[V]),(0,i.useEffect)(()=>{s?.(V)},[s,V]),(0,i.useEffect)(()=>()=>s?.(!1),[s]);let et=(0,i.useRef)(l);et.current=l,(0,i.useEffect)(()=>{let t=U.current!==e;U.current=e,t&&(b(new Set),E(new Set),O(null),K(null),P(null)),m(t),v(null);let r=!1;return ed(e).then(e=>{r||g(e)}).catch(e=>{r||v(e instanceof Error?e.message:String(e))}).finally(()=>{r||m(!1),et.current?.()}),()=>{r=!0}},[e,r,j]),(0,i.useEffect)(()=>{let t=!1;return ec(e).then(e=>{t||W(e.isGitRepository?e.files:[])}).catch(()=>{t||W([])}),()=>{t=!0}},[e,r,j]);let er=V||null!==H||null!==F||null!==B,en=(0,i.useCallback)(()=>{B&&0!==B.uploaded.length&&o?.(B.uploaded.map(t=>(0,el.qP)((0,el.e_)(e,t),e)))},[e,o,B]);return(0,n.jsxs)("div",{style:{minHeight:"100%"},children:[(0,n.jsx)("input",{ref:_,type:"file",multiple:!0,hidden:!0,onChange:ee}),er&&(0,n.jsxs)("div",{style:{padding:"6px 8px",borderBottom:"1px solid var(--border)"},children:[V&&(0,n.jsxs)("div",{role:"status","aria-live":"polite","aria-label":"checking"===D?u("fileExplorer.checkingFiles"):u("fileExplorer.uploadingPercent",{percent:L}),children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,minHeight:14,color:"var(--text-muted)"},children:["checking"===D?(0,n.jsx)(k.A,{size:13,strokeWidth:2.2,style:{animation:"spin 0.8s linear infinite"},"aria-hidden":"true"}):(0,n.jsx)(C.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),"uploading"===D&&(0,n.jsxs)("span",{style:{fontSize:10},children:[L,"%"]})]}),"uploading"===D&&(0,n.jsx)("div",{style:{height:3,marginTop:4,overflow:"hidden",borderRadius:2,background:"var(--border)"},children:(0,n.jsx)("div",{style:{width:`${L}%`,height:"100%",background:"var(--accent)",transition:"width var(--dur-fast) var(--ease-out-warm)"}})})]}),H&&(0,n.jsxs)("div",{role:"alert",style:{padding:7,border:"1px solid color-mix(in srgb, var(--status-warning) 55%, var(--border))",borderRadius:4,background:"color-mix(in srgb, var(--status-warning) 9%, var(--bg-panel))"},children:[(0,n.jsx)("div",{style:{fontSize:11,color:"var(--text)",lineHeight:1.35,overflowWrap:"anywhere"},children:p("fileExplorer.filesAlreadyExist",H.conflicts.length,{files:H.conflicts.join(", ")})}),H.nonReplaceable.length>0&&(0,n.jsx)("div",{style:{marginTop:3,fontSize:10,color:"var(--status-warning)",lineHeight:1.35,overflowWrap:"anywhere"},children:u("fileExplorer.cannotReplace",{files:H.nonReplaceable.join(", ")})}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,marginTop:7},children:[(0,n.jsx)("button",{type:"button",onClick:()=>void X(H.files,"overwrite"),style:{height:24,minHeight:24,padding:"0 8px",border:"1px solid var(--status-error)",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--status-error)",cursor:"pointer",fontSize:11},children:u("fileExplorer.replace")}),(0,n.jsx)("button",{type:"button",onClick:()=>void X(H.files,"skip"),style:{height:24,minHeight:24,padding:"0 8px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text)",cursor:"pointer",fontSize:11},children:u("fileExplorer.skipExisting")}),(0,n.jsx)("button",{type:"button",onClick:()=>K(null),style:{height:24,minHeight:24,padding:"0 8px",border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:u("fileExplorer.cancel")})]})]}),F&&(0,n.jsxs)("div",{role:"alert",style:{display:"flex",alignItems:"flex-start",gap:6,fontSize:11,lineHeight:1.35,color:"var(--status-error)"},children:[(0,n.jsx)("span",{style:{minWidth:0,flex:1,overflowWrap:"anywhere"},children:F}),(0,n.jsx)(eh,{onClick:()=>P(null),title:u("fileExplorer.dismissError")})]}),B&&(0,n.jsxs)("div",{"aria-live":"polite",children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,minHeight:22,fontSize:11},children:[(0,n.jsxs)("div",{style:{minWidth:0,flex:1,display:"flex",alignItems:"center",gap:8},children:[B.uploaded.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.uploadedCount",{count:B.uploaded.length}),"aria-label":u("fileExplorer.uploadedCount",{count:B.uploaded.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--status-success)"},children:[(0,n.jsx)(I.A,{size:13,strokeWidth:2.4,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.uploaded.length})]}),B.skipped.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.skippedCount",{count:B.skipped.length}),"aria-label":u("fileExplorer.skippedCount",{count:B.skipped.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--text-dim)"},children:[(0,n.jsx)(T.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.skipped.length})]}),B.errors.length>0&&(0,n.jsxs)("span",{title:u("fileExplorer.failedCount",{count:B.errors.length}),"aria-label":u("fileExplorer.failedCount",{count:B.errors.length}),style:{display:"flex",alignItems:"center",gap:3,color:"var(--status-error)"},children:[(0,n.jsx)(R.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.errors.length})]})]}),B.uploaded.length>0&&o&&(0,n.jsx)(eo.m_,{content:u(1===B.uploaded.length?"fileExplorer.addUploadedFile":"fileExplorer.addAllUploadedFiles"),children:(0,n.jsxs)("button",{type:"button",onClick:en,"aria-label":u(1===B.uploaded.length?"fileExplorer.addUploadedFile":"fileExplorer.addAllUploadedFiles"),style:{height:22,padding:"0 7px",display:"flex",alignItems:"center",justifyContent:"center",gap:4,flexShrink:0,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--accent)",cursor:"pointer",fontSize:11,fontWeight:600,whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)(w.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),u("fileExplorer.mention")]})}),(0,n.jsx)(eh,{onClick:()=>O(null),title:u("fileExplorer.dismissUploadResults")})]}),B.errors.map(e=>(0,n.jsxs)("div",{title:e.error,style:{display:"flex",alignItems:"center",gap:4,marginTop:3,minWidth:0,fontSize:10,color:"var(--status-error)"},children:[(0,n.jsx)(M.A,{size:11,strokeWidth:2,style:{flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e.name))]})]}),(0,n.jsxs)("div",{role:"tree","aria-label":u("sessionSidebar.explorer"),style:{padding:"2px 4px"},children:[f?(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--text-dim)"},children:u("fileExplorer.loadingFiles")}):x?(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--status-error)"},children:x}):h.map(r=>(0,n.jsx)(eg,{node:r,depth:0,cwd:e,onOpenFile:t,onAtMention:a,expandedPaths:y,onToggleExpanded:Z,refreshToken:q,highlightedPaths:z,gitStatusByPath:Y,changedDirectoryPaths:J},r.fullPath)),!f&&!x&&0===h.length&&(0,n.jsx)("div",{style:{padding:"8px 12px",fontSize:11,color:"var(--text-dim)"},children:u("fileExplorer.noFilesFound")})]})]})});function em(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(prefers-reduced-motion: reduce)");t(e.matches);let r=e=>t(e.matches);return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}let ex="omp-web:last-open-by-project";function ev(){try{return window.localStorage}catch{return null}}function ey(e){try{let t=e.getItem(ex);if(!t)return{};let r=JSON.parse(t);if(!r||"object"!=typeof r||Array.isArray(r))return{};return Object.fromEntries(Object.entries(r).filter(([,e])=>"string"==typeof e&&e.length>0))}catch{return{}}}function eb(e){return e.projectKey??e.projectRoot??e.cwd}let ek=/^[a-zA-Z]:[\\/]/,ew=/^\/\//;function ej(e){let t=e.replace(/\\/g,"/"),r=ek.test(t)||ew.test(t);return t=t.replace(/\/{2,}/g,"/").replace(/\/+$/,""),r?t.toLowerCase():t}var eS=r(32159),eC=r(23637),eI=r(82749),eT=r(2125),eR=r(65377),eM=r(80846),ez=r(66763),eE=r(59680),eA=r(12363),eW=r(65738),eD=r(15480);let e$=new Set;function eL(e){if(0!==e.length)for(let t of[...e$])try{t(e)}catch{}}function eN(e){let t=/^[a-zA-Z]:/.test(e)||e.includes("\\"),r=e.replace(/[\/]+$/,"").replace(/\\/g,"/");return t?r.toLowerCase():r}let eF="omp-web:unread-session-ids",eP="omp-web:expanded-projects",eB=new Set;function eO(e,t){return t&&e.startsWith(t)?"~"+e.slice(t.length):e}function eH(e){let t=e.replace(/[\\/]+$/,""),r=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return r>=0?t.slice(r+1):t}function eK({text:e,style:t}){return(0,n.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",display:"block",minWidth:0,lineHeight:1.35,direction:"rtl",textAlign:"left",...t},children:(0,n.jsx)("span",{style:{unicodeBidi:"plaintext"},children:e})})}let eU="background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)";function e_({label:e,title:t,onClick:r,active:a=!1,disabled:o=!1,children:s}){let[l,d]=(0,i.useState)(!1);return(0,n.jsx)("button",{type:"button","aria-label":e,title:t??e,onClick:r,disabled:o,"aria-pressed":a,style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,flexShrink:0,lineHeight:0,background:a||l?"var(--bg-hover)":"none",border:"none",borderRadius:"var(--radius-control)",color:a||l?"var(--accent)":"var(--text-dim)",cursor:o?"default":"pointer",opacity:o?.5:1,transition:eU},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:s})}function eq({anchor:e,open:t,onClose:r,placement:a="below",align:o="end",minWidth:s=136,style:d,children:c}){let u=(0,i.useRef)(null),[p,h]=(0,i.useState)(null),g=(0,i.useCallback)((e,t)=>{let r;if(!e||!t)return;let n=e.getBoundingClientRect(),i=t.offsetWidth,s=t.offsetHeight;"above"===a?(r=n.top-s-5)<8&&(r=Math.min(n.bottom+5,window.innerHeight-s-8)):(r=n.bottom+5)+s>window.innerHeight-8&&(r=n.top-s-5),r<8&&(r=8),h({top:r,left:"start"===o?Math.max(8,Math.min(n.left,window.innerWidth-i-8)):Math.max(8,Math.min(n.right-i,window.innerWidth-i-8))})},[a,o]);return((0,i.useLayoutEffect)(()=>{t&&g(e.current,u.current)},[t,g,e]),(0,i.useEffect)(()=>{if(!t)return;let r=()=>g(e.current,u.current);return window.addEventListener("scroll",r,!0),window.addEventListener("resize",r),()=>{window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r)}},[t,g,e]),(0,i.useEffect)(()=>{if(!t)return;let n=setTimeout(()=>{let e=u.current?.querySelector("button:not([disabled])");e?.focus()},0),i=t=>{let n=t.target;e.current?.contains(n)||u.current?.contains(n)||r()},a=t=>{if("Escape"===t.key)t.stopPropagation(),t.preventDefault(),r(),e.current?.focus();else if("ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault();let e=Array.from(u.current?.querySelectorAll("button:not([disabled])")??[]);if(0===e.length)return;let r=e.indexOf(document.activeElement),n="ArrowDown"===t.key?(r+1)%e.length:(r-1+e.length)%e.length;e[n]?.focus()}};return document.addEventListener("mousedown",i),document.addEventListener("touchstart",i),document.addEventListener("keydown",a),()=>{clearTimeout(n),document.removeEventListener("mousedown",i),document.removeEventListener("touchstart",i),document.removeEventListener("keydown",a)}},[t,r,e]),!t||"u"<typeof document)?null:(0,l.createPortal)((0,n.jsx)("div",{ref:u,role:"menu",style:{position:"fixed",top:p?p.top:-9999,left:p?p.left:-9999,visibility:p?"visible":"hidden",zIndex:1e3,minWidth:s,padding:4,border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",boxShadow:"var(--shadow-pop)",...d},children:c}),document.body)}function eV(e){let t=new Map;for(let r of e)t.set(r.id,{session:r,children:[]});let r=new Map;for(let t of e)t.parentSessionId&&r.set(t.id,t.parentSessionId);let n=[];for(let e of t.values()){let i=function(e){let n=r.get(e),i=new Set;for(;n&&!i.has(n);){if(i.add(n),t.has(n))return n;n=r.get(n)}return null}(e.session.id);i?t.get(i).children.push(e):n.push(e)}let i=e=>{e.sort((e,t)=>t.session.modified.localeCompare(e.session.modified)),e.forEach(e=>i(e.children))};return i(n),n}let eY="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function eJ(){let[e,t]=(0,i.useState)(!1),[r,a]=(0,i.useState)(!1),o=(0,i.useRef)(null),s=(0,i.useRef)(null),l=em(),d=function(e,t,r){let[n,a]=(0,i.useState)(e),o=(0,i.useRef)(null),s=(0,i.useRef)(0);return(0,i.useEffect)(()=>{if(!t||r)return void a(e);s.current=0;let n=4*e.length,i=()=>{s.current+=1;let t=Math.floor(s.current/n*e.length);a(e.split("").map((e,r)=>" "===e?" ":r<t?e:eY[Math.floor(Math.random()*eY.length)]).join("")),s.current<n?o.current=requestAnimationFrame(i):a(e)};return o.current=requestAnimationFrame(i),()=>{o.current&&cancelAnimationFrame(o.current)}},[e,t,r]),n}(e?"v0.3.6":"omp web",r,l),c=(0,i.useCallback)(e=>{t(e),s.current&&clearTimeout(s.current),l||(a(!0),s.current=setTimeout(()=>a(!1),(e?6:8)*4*(1e3/60)+100))},[l]),u=(0,i.useCallback)(()=>{o.current&&clearTimeout(o.current);let t=!e;c(t),t&&(o.current=setTimeout(()=>c(!1),3e3))},[e,c]);return(0,i.useEffect)(()=>()=>{o.current&&clearTimeout(o.current),s.current&&clearTimeout(s.current)},[]),(0,n.jsx)("button",{onClick:u,style:{background:"none",border:"none",padding:0,cursor:"pointer",fontWeight:700,fontSize:14,letterSpacing:"-0.01em",fontFamily:"var(--font-mono)",minWidth:"6ch",lineHeight:1},title:e?"Show ompweb name":"Show ompweb version",children:r||e?(0,n.jsx)("span",{style:{color:e?"var(--accent)":"var(--text)"},children:d}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{color:"var(--accent)"},children:"omp"}),(0,n.jsx)("span",{style:{color:"var(--text)"},children:"web"})]})})}function eZ({selectedSessionId:e,optimisticSession:t,onSelectSession:r,onNewSession:a,initialSessionId:o,skipInitialProjectSelection:s,onInitialRestoreDone:l,refreshKey:u,onSessionDeleted:p,selectedCwd:h,onCwdChange:g,onOpenFile:f,explorerRefreshKey:x,onExplorerRefresh:y,explorerRefreshing:b,onExplorerRefreshDone:k,onAtMention:w,onAtMentions:j,onOpenSettings:S,onOpenArchive:T,updateAvailable:R}){let{t:M}=(0,d.s9)(),[z,E]=(0,i.useState)([]),[A,W]=(0,i.useState)(!0),[D,$]=(0,i.useState)(null),[L,N]=(0,i.useState)(null),[F,P]=(0,i.useState)(""),[B,O]=(0,i.useState)([]),[H,K]=(0,i.useState)(null),[U,_]=(0,i.useState)(null),[q,V]=(0,i.useState)(!1),[Y,J]=(0,i.useState)(!1),[Z,G]=(0,i.useState)(null),[X,Q]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eP);if(!e)return null;let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>"string"==typeof e&&e.length>0));return null}catch{return null}})()),[ee,et]=(0,i.useState)(null),[er,en]=(0,i.useState)({}),[ei,ea]=(0,i.useState)(!1),[el,ed]=(0,i.useState)(!1),[ec,eu]=(0,i.useState)(""),[ep,eh]=(0,i.useState)(null),[eg,em]=(0,i.useState)(!1),[ek,ew]=(0,i.useState)(null),eE=(0,i.useRef)(null),eA=(0,i.useRef)(null),[eW,eD]=(0,i.useState)(!0),[e$,eK]=(0,i.useState)(0),[eq,eY]=(0,i.useState)(!1),[e0,e1]=(0,i.useState)(!1),[e2,e4]=(0,i.useState)(()=>new Set),[e5,e6]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eF);if(!e)return new Set;let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>"string"==typeof e));return new Set}catch{return new Set}})()),e8=(0,i.useRef)(new Set),[e3,e9]=(0,i.useState)(()=>Date.now()),[e7,te]=(0,i.useState)(!1),[tt,tr]=(0,i.useState)(""),[tn,ti]=(0,i.useState)(!1),ta=(0,i.useRef)(null),to=(0,i.useRef)(!1),ts=(0,i.useRef)(null),tl=(0,i.useRef)(null),td=(0,i.useRef)(null),tc=(0,i.useRef)(null),tu=(0,i.useCallback)(async(e=!1)=>{tc.current?.abort();let t=new AbortController;tc.current=t;try{e&&W(!0);let r={};td.current&&(r["If-None-Match"]=td.current);let n=await fetch("/api/sessions",{headers:r,signal:t.signal});if(304===n.status)return;if(!n.ok)throw Error(`HTTP ${n.status}`);let i=n.headers.get("ETag");i&&(td.current=i);let a=await n.json();E(a.sessions),to.current||e4(new Set(a.runningSessionIds??[]));let o=new Set(a.sessions.map(e=>e.id));e6(e=>{if(0===e.size)return e;let t=new Set([...e].filter(e=>o.has(e)));return t.size===e.size?e:t}),$(null),e||(e1(!0),ts.current&&clearTimeout(ts.current),ts.current=setTimeout(()=>e1(!1),2e3))}catch(e){if(e?.name==="AbortError")return;$(M("sessionSidebar.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}finally{e&&W(!1)}},[M]),tp=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=!tp.current;tp.current=!0,tu(e)},[tu,u]);let th=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();O(t.projects??[]),_(null),tx.current=!0}catch(e){_(M("projects.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}},[M]);(0,i.useEffect)(()=>{th()},[th,u]),(0,i.useEffect)(()=>{let e=setInterval(()=>e9(Date.now()),6e4);return()=>clearInterval(e)},[]),(0,i.useEffect)(()=>{if(null!==X)try{window.localStorage.setItem(eP,JSON.stringify([...X]))}catch{}},[X]),(0,i.useEffect)(()=>{try{0===e5.size?window.localStorage.removeItem(eF):window.localStorage.setItem(eF,JSON.stringify([...e5]))}catch{}},[e5]);let tg=(0,i.useRef)(null),tf=(0,i.useCallback)(()=>{tg.current||(tg.current=setTimeout(()=>{tg.current=null,tu(!1)},300))},[tu]);(0,i.useEffect)(()=>{let e=new EventSource("/api/agent/running/events");return e.onmessage=e=>{try{let t=JSON.parse(e.data);"running"===t.type?(to.current=!0,e4(new Set(t.runningSessionIds??[])),t.refreshSessionList&&tf()):"sessions-changed"===t.type&&(t.refreshSessionList&&tf(),eL(t.sessionIds??[]))}catch{}},()=>{tg.current&&clearTimeout(tg.current),e.close()}},[tu,tf]),(0,i.useEffect)(()=>{let t=e8.current,r=[...t].filter(t=>!e2.has(t)&&t!==e),n=[...e2].filter(e=>!t.has(e));(r.length>0||n.length>0)&&e6(e=>{let t=new Set(e);return n.forEach(e=>t.delete(e)),r.forEach(e=>t.add(e)),t}),(r.length>0||n.length>0)&&tu(!1),e8.current=e2},[e2,e,tu]),(0,i.useEffect)(()=>{e&&e6(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r})},[e]),(0,i.useEffect)(()=>{void 0!==x&&eK(e=>e+1)},[x]),(0,i.useEffect)(()=>{fetch("/api/home").then(e=>e.json()).then(e=>{e.home&&P(e.home)}).catch(()=>{})},[]);let tm=(0,i.useRef)(!1),tx=(0,i.useRef)(!1),tv=(0,i.useCallback)(e=>{if(!e)return null;for(let t of Object.values(er))if(t.worktrees.some(t=>eN(t.path)===eN(e)))return t.projectRoot;let t=B.find(t=>ej(t.path)===ej(e));if(t)return t.path;let r=ej(e),n=z.find(e=>ej(e.cwd)===r);return n?.projectRoot??e},[er,z,B]),ty=(0,i.useCallback)(e=>{Q(t=>{if(t?.has(e))return t;let r=new Set(t??[]);return r.add(e),r})},[]),tb=(0,i.useCallback)(e=>{Q(t=>{if(!t?.has(e))return t;let r=new Set(t);return r.delete(e),r})},[]),tk=(0,i.useCallback)(e=>{Q(t=>{let r=new Set(t??[]);return r.has(e)?r.delete(e):r.add(e),r})},[]),tw=(0,i.useCallback)(e=>{tH.current=!1,N(e),ty(e)},[ty]),tj=(0,i.useRef)(null);(0,i.useEffect)(()=>{tj.current!==L&&(tj.current=L,g?.(L,tv(L)))},[L,g,tv]);let tS=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(h&&h!==tS.current){tS.current=h,N(h);let e=tv(h);e&&ty(e)}},[h,tv,ty]);let[tC,tI]=(0,i.useState)(0);(0,i.useLayoutEffect)(()=>{if(!L)return;let e=!1;return fetch(`/api/worktrees?cwd=${encodeURIComponent(L)}`).then(e=>e.json()).then(t=>{if(e||t.error||!t.projectRoot)return;let r=t.projectRoot,n={forCwd:L,projectRoot:r,isGit:t.isGit??!1,isTopLevel:t.isTopLevel??!1,worktrees:t.worktrees??[]};en(e=>{let t=eN(r),i=e[t];if(i&&eN(i.projectRoot)!==t){let r={...e};return delete r[eN(i.projectRoot)],r[t]=n,r}return{...e,[t]:n}})}).catch(()=>{}),()=>{e=!0}},[L,tC,u]);let tT=(()=>{if(!t)return null;if(t.projectRoot)return t.projectRoot;if(t.projectKey)return t.projectKey;let e=t.cwd??"";if(!e)return null;let r=B.find(t=>ej(t.path)===ej(e));return r?r.path:e})(),tR=(0,i.useRef)(new Map),tM=(0,i.useMemo)(()=>{let e=z;if(t&&!e.some(e=>e.id===t.id)){let r=tT??t.cwd,n=r?ej(r):void 0;e=[...e,{...t,projectRoot:r??t.cwd,...n?{projectKey:n}:{}}]}let r=new Set(e.map(e=>e.id)),n=[];for(let e of e2){if(r.has(e))continue;let t=tR.current.get(e);t||(t=new Date().toISOString(),tR.current.set(e,t));let i=tT??L??"",a=i?ej(i):void 0;n.push({id:e,path:"",cwd:L??"",name:void 0,created:t,modified:t,messageCount:1,firstMessage:"",projectRoot:i,...a?{projectKey:a}:{}})}if(tR.current.size>n.length)for(let e of[...tR.current.keys()])(!e2.has(e)||r.has(e))&&tR.current.delete(e);return n.length?[...e,...n]:e},[z,t,tT,e2,L]),tz=(0,i.useMemo)(()=>{let e=B,t=!!tT&&e.some(e=>ej(e.path)===ej(tT));tT&&!t&&(e=[...e,{path:tT}]);let r=new Set(e.map(e=>ej(e.path)));for(let t of e2){if(z.some(e=>e.id===t))continue;let n=tT??L??"";n&&!r.has(ej(n))&&(e=[...e,{path:n}],r.add(ej(n)))}return e},[tT,B,e2,z,L]),tE=(0,i.useMemo)(()=>tv(L),[tv,L]),tA=!!(t||[...e2].some(e=>!z.some(t=>t.id===e))),tW=(0,i.useMemo)(()=>[...tz].sort((e,t)=>{let r=void 0!==e.sortOrder,n=void 0!==t.sortOrder;if(r!==n)return r?-1:1;if(r&&n&&e.sortOrder!==t.sortOrder)return e.sortOrder-t.sortOrder;let i=void 0!==e.addedAt,a=void 0!==t.addedAt;if(i!==a)return i?-1:1;if(i&&a){let r=t.addedAt.localeCompare(e.addedAt);if(0!==r)return r}return e.path.localeCompare(t.path)}),[tz]),tD=(0,i.useRef)(null),t$=(0,i.useMemo)(()=>{if(tA&&tD.current){let e=tD.current,t=new Set(e.map(e=>ej(e.path))),r=[...e];for(let e of tW)t.has(ej(e.path))||r.push(e);return r}return tD.current=tW,tW},[tW,tA]),tL=(0,i.useMemo)(()=>(function(e,t){let r=new Map,n=new Map;for(let t of e){let e=[];r.set(t.path,e),n.set(ej(t.path),e)}for(let e of t){let t=eb(e);if(!t)continue;let i=n.get(ej(e.projectKey??t))??r.get(t);i&&i.push(e)}return r})(t$,tM),[t$,tM]),tN=(0,i.useMemo)(()=>(function(e,t,r){let n=new Set(t),i=new Set(r),a=new Map;for(let t of e){let e=eb(t);if(!e)continue;let r=ej(t.projectKey??e),o=a.get(r)??{running:0,unread:0};n.has(t.id)&&(o.running+=1),i.has(t.id)&&(o.unread+=1),a.set(r,o)}return a})(tM,e2,e5),[tM,e2,e5]),tF=(0,i.useDeferredValue)(tt),tP=e7||tn||tF.trim().length>0,tB=(0,i.useMemo)(()=>{let e=tF.trim().toLowerCase(),t=[];for(let r of t$){let n=tL.get(r.path)??[];tn&&(n=n.filter(e=>e2.has(e.id))),e&&(n=n.filter(t=>(t.name??"").toLowerCase().includes(e)||t.firstMessage.toLowerCase().includes(e))),(0!==n.length||!tn&&(!e||eH(r.path).toLowerCase().includes(e)||(r.alias??"").toLowerCase().includes(e)))&&t.push({project:r,sessions:n})}return t},[t$,tL,tn,tF,e2]),tO=(0,i.useMemo)(()=>{let e=new Map;for(let{project:t,sessions:r}of tB)e.set(t.path,eV(r));return e},[tB]);(0,i.useEffect)(()=>{if(null===X||!tx.current)return;let e=new Set(t$.map(e=>e.path)),t=[...X].filter(t=>!e.has(t));0!==t.length&&Q(e=>{if(!e)return e;let r=new Set(e);return t.forEach(e=>r.delete(e)),r})},[X,t$]);let tH=(0,i.useRef)(!1),tK=(0,i.useRef)(0),tU=(0,i.useRef)(null);(0,i.useEffect)(()=>()=>{tU.current&&(clearTimeout(tU.current),tU.current=null)},[]),(0,i.useEffect)(()=>{if(s)return;if(o&&!tm.current){if(0===z.length)return;let e=z.find(e=>e.id===o);if(e){tK.current=0,tm.current=!0,N(e.cwd),ty(eb(e)),r(e,!0);return}if(tK.current<8){tK.current+=1,tU.current&&(clearTimeout(tU.current),tU.current=null),tU.current=setTimeout(()=>{tU.current=null,tu(!1)},1e3);return}tK.current=0,tm.current=!0,l?.()}if(null!==L&&!tH.current)return;let e=t$[0];e&&(N(e.path),ty(e.path),tH.current=0===z.length)},[z,L,o,s,r,l,t$,ty,tu]);let t_=(0,i.useRef)(!1);(0,i.useEffect)(()=>{t_.current||tE&&(t_.current=!0,null===X&&ty(tE))},[tE,X,ty]);let tq=(0,i.useCallback)(async e=>{let t=(e??"").trim();if(t&&!Y){J(!0),G(null);try{let e=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:t})}),r=await e.json().catch(()=>({}));if(!e.ok||r.error||!r.project)return void G((0,c.K)({...r,error:r.error??`HTTP ${e.status}`}));await th(),N(r.project.path),ty(r.project.path),V(!1)}catch(e){G(e instanceof Error?e.message:String(e))}finally{J(!1)}}},[Y,th,ty]),tV=(0,i.useCallback)(async(e,t)=>{try{if(!(await fetch("/api/projects",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,...t})})).ok)throw Error(M("projects.updateFailed"));await th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}},[th,M]),tY=(0,i.useCallback)(async e=>{try{if(!(await fetch("/api/projects",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({updates:e.map((e,t)=>({cwd:e.path,sortOrder:t}))})})).ok)throw Error(M("projects.reorderFailed"));await th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}},[th,M]),tJ=(0,i.useCallback)(async e=>{if(K(null),!H||H===e)return;let t=[...t$],r=t.findIndex(e=>e.path===H),n=t.findIndex(t=>t.path===e);if(r<0||n<0)return;let[i]=t.splice(r,1);i&&(t.splice(n,0,i),await tY(t))},[H,t$,tY]),tZ=(0,i.useCallback)(async(e,t)=>{let r=[...t$],n=r.findIndex(t=>t.path===e),i=n+t;if(n<0||i<0||i>=r.length)return;let[a]=r.splice(n,1);a&&(r.splice(i,0,a),await tY(r))},[t$,tY]),tG=(0,i.useCallback)(async e=>{if(!ee){et(e);try{let t=await fetch("/api/projects",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),r=await t.json().catch(()=>({}));if(!t.ok||!r.success)return void es.oR.error((0,c.K)({...r,error:r.error??`HTTP ${t.status}`}));if(null!==tE&&ej(tE)===ej(e)){let t=t$.find(t=>t.path!==e);N(t?t.path:null)}tb(e),await th()}finally{et(null)}}},[ee,tE,t$,tb,th]),tX=(0,i.useCallback)(async()=>{let e=ec.trim(),t=tE?er[eN(tE)]:void 0;if(!e||eg||!t)return;let r=t.projectRoot;em(!0),eh(null);try{let t=await fetch("/api/worktrees",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:r,branch:e})}),n=await t.json().catch(()=>({}));if(!t.ok||n.error||!n.path)return void eh((0,c.K)({...n,error:n.error??`HTTP ${t.status}`}));let i=n.path;ed(!1),eu(""),ea(!1),en(t=>{let n=eN(r),a=t[n];return a?{...t,[n]:{...a,forCwd:i,worktrees:[...a.worktrees,{path:i,branch:e,isMain:!1}]}}:t}),N(i),tI(e=>e+1)}catch(e){eh(e instanceof Error?e.message:String(e))}finally{em(!1)}},[ec,eg,tE,er]),tQ=(0,i.useCallback)(async(e,t)=>{let r=tE?er[eN(tE)]:void 0;if(!r||eg)return;let n=r.projectRoot;em(!0),eh(null);try{let r=await fetch("/api/worktrees",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:n,path:e,force:t})}),i=await r.json().catch(()=>({}));if(!r.ok){if(i.dirty&&!t)return void ew(e);eh((0,c.K)({...i,error:i.error??`HTTP ${r.status}`}));return}ew(null),null!==L&&ej(L)===ej(e)&&N(n),tI(e=>e+1)}catch(e){eh(e instanceof Error?e.message:String(e))}finally{em(!1)}},[tE,er,eg,L]),t0=(0,i.useCallback)(()=>{ea(!1),ed(!1),eu(""),eh(null),ew(null)},[]),t1=(0,i.useCallback)(e=>{tH.current=!1,e.cwd&&N(e.cwd),ty(eb(e)),r(e)},[r,ty]),t2=(0,i.useCallback)(()=>{if(!L)return;let e="function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`;a?.(e,L)},[L,a]),[t4,t5]=(0,i.useState)(!1),t6=(0,i.useRef)(null),t8=(0,i.useCallback)(async e=>{if(e&&!t4){t5(!0);try{let t=await e.text(),r=await fetch("/api/sessions/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:e.name,content:t})}),n=await r.json().catch(()=>({}));if(!r.ok||!n.success)return void es.oR.error(n.error??`HTTP ${r.status}`);es.oR.success(M("sessionSidebar.imported")),tu(!1),th()}catch(e){es.oR.error(e instanceof Error?e.message:String(e))}finally{t5(!1)}}},[t4,tu,th,M]),t3=X??eB,t9=tE?er[eN(tE)]:void 0,t7=(0,i.useCallback)(e=>{let t=er[eN(e)];if(!t||!t.isGit||!t.isTopLevel)return null;let r=t.worktrees.find(e=>eN(e.path)===eN(L??""))??t.worktrees.find(e=>e.isMain);return r?r.branch??eO(r.path,F):null},[er,L,F]),re=!!(t9?.isGit&&t9.isTopLevel&&L&&null!==tE&&ej(tE)===ej(t9.projectRoot)),rt=(0,i.useCallback)(()=>{ea(e=>!e)},[]),rr=(0,i.useCallback)(e=>{let t=z.find(t=>t.id===e);t&&function(e,t=ev()){if(t)try{let r=ey(t);if(!(e in r))return;delete r[e],0===Object.keys(r).length?t.removeItem(ex):t.setItem(ex,JSON.stringify(r))}catch{}}(eb(t)),p?.(e),tu()},[z,p,tu]);(0,i.useEffect)(()=>{let t=z.find(t=>t.id===e);t&&function(e,t,r=ev()){if(r)try{let n=ey(r);n[e]=t,r.setItem(ex,JSON.stringify(n))}catch{}}(eb(t),t.id)},[z,e]);let rn=re&&t9?(0,n.jsx)(eQ,{worktreeState:t9,selectedCwd:L,homeDir:F,wtDropdownOpen:ei,wtNewOpen:el,setWtNewOpen:ed,wtNewBranch:ec,setWtNewBranch:eu,wtError:ep,setWtError:eh,wtBusy:eg,wtConfirmRemove:ek,setWtConfirmRemove:ew,onSelectWorktree:e=>{N(e),ea(!1),eh(null)},onCreateWorktree:tX,onRemoveWorktree:(e,t)=>void tQ(e,t),anchorRef:eE,newInputRef:eA,onClose:t0}):null;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[q&&(0,n.jsx)(m,{busy:Y,error:Z,onCancel:()=>{V(!1),G(null)},onSelect:e=>void tq(e)}),(0,n.jsxs)("div",{style:{padding:"10px 10px 8px",borderBottom:"1px solid var(--border)",flexShrink:0,display:"flex",flexDirection:"column",gap:8},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,n.jsx)(eJ,{}),(0,n.jsxs)("div",{style:{display:"flex",gap:2},children:[T&&(0,n.jsx)(eo.m_,{content:M("sessionSidebar.archiveBrowserTitle"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.archiveBrowser"),onClick:T,children:(0,n.jsx)(eS.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.importTitle"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.import"),onClick:()=>t6.current?.click(),disabled:t4,children:(0,n.jsx)(eC.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.refresh"),side:"bottom",children:(0,n.jsx)(e_,{label:M("sessionSidebar.refresh"),active:e0,onClick:()=>{tu(!1),th()},children:e0?(0,n.jsx)(I.A,{size:14,strokeWidth:2.2,"aria-hidden":"true"}):(0,n.jsx)(eI.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})})]})]}),(0,n.jsx)("input",{ref:t6,type:"file",accept:".jsonl,.json,application/json,application/jsonl",style:{display:"none"},onChange:e=>{let t=e.target.files?.[0]??null;e.target.value="",t8(t)}}),(0,n.jsxs)("button",{onClick:t2,disabled:!L,className:"sidebar-new-session",title:L?M("sessionSidebar.newSessionIn",{cwd:L}):M("sessionSidebar.selectProjectFirst"),style:{width:"100%",height:38,boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center",gap:7,background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:9,color:L?"var(--text)":"var(--text-dim)",cursor:L?"pointer":"not-allowed",fontSize:12.5,fontWeight:600,letterSpacing:"-0.01em",opacity:L?1:.65,transition:eU},onMouseEnter:e=>{L&&(e.currentTarget.style.background="var(--bg-selected)",e.currentTarget.style.borderColor="color-mix(in srgb, var(--accent) 30%, transparent)")},onMouseLeave:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.borderColor="var(--border)"},children:[(0,n.jsx)(eT.A,{size:15,strokeWidth:2.2,style:{color:"var(--accent)",flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{children:M("sessionSidebar.new")})]})]}),(0,n.jsxs)("div",{style:{flexShrink:0,padding:"4px 10px 2px",display:"flex",alignItems:"center",gap:2},children:[(0,n.jsx)("span",{style:{flex:1,color:"var(--text-muted)",fontSize:11,fontWeight:600,letterSpacing:"0.08em",textTransform:"uppercase"},children:M("projects.heading")}),(0,n.jsx)(e_,{label:M("sessionSidebar.search"),title:M("sessionSidebar.searchTitle"),active:e7,onClick:()=>{let e=!e7;te(e),e?setTimeout(()=>ta.current?.focus(),0):tr("")},children:(0,n.jsx)(eR.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e_,{label:M("sessionSidebar.filterRunning"),title:M("sessionSidebar.filterRunningTitle"),active:tn,onClick:()=>ti(e=>!e),children:(0,n.jsx)(eM.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e_,{label:M("projects.add"),title:M("projects.addTitle"),onClick:()=>{V(!0),G(null)},children:(0,n.jsx)(eT.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})})]}),e7&&(0,n.jsx)("div",{style:{padding:"0 10px 6px",flexShrink:0},children:(0,n.jsx)("input",{ref:ta,value:tt,onChange:e=>tr(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),te(!1),tr(""))},placeholder:M("sessionSidebar.searchPlaceholder"),"aria-label":M("sessionSidebar.search"),style:{width:"100%",height:27,boxSizing:"border-box",padding:"0 9px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",outline:"none",color:"var(--text)",fontSize:12},onFocus:e=>{e.currentTarget.style.borderColor="var(--accent)"},onBlur:e=>{e.currentTarget.style.borderColor="var(--border)"}})}),(0,n.jsxs)("div",{style:{flex:eW&&(h||L)?"1 1 0":"1 1 auto",transition:"flex var(--dur-med) var(--ease-out-warm)",overflowY:"auto",padding:"2px 10px 10px",minHeight:80},children:[A&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12},children:M("sessionSidebar.loading")}),U&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:U}),D&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:D}),!A&&!U&&!D&&0===t$.length&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5},children:M("projects.noProjects")}),!A&&!U&&!D&&t$.length>0&&0===tB.length&&(0,n.jsx)("div",{style:{padding:"14px 4px",color:"var(--text-dim)",fontSize:11.5,lineHeight:1.5},children:M("sessionSidebar.noMatches")}),tB.map(({project:t,sessions:r})=>{let i=tO.get(t.path)??eV(r),a=null!==tE&&ej(tE)===ej(t.path),o=t7(t.path);return(0,n.jsx)(eX,{project:t,isActive:a,isExpanded:t3.has(t.path),activity:tN.get(ej(t.path)),tree:i,hiddenCount:tP?0:Math.max(0,i.length-eG),selectedSessionId:e,runningSessionIds:e2,unreadSessionIds:e5,relativeTimeNow:e3,onActivate:tw,onToggleExpand:tk,onRemoveProject:tG,onUpdatePresentation:tV,onDragPathChange:K,onDropProject:e=>void tJ(e),onMoveProject:(e,t)=>void tZ(e,t),isDragTarget:null!==H&&H!==t.path,removeBusy:ee===t.path,onSelectSession:t1,onRenamed:tu,onSessionDeleted:rr,activeWorktreeSwitcher:a?rn:null,worktreeBranch:o,worktreeToggleRef:a&&o?eE:void 0,worktreeOpen:!!a&&ei,onToggleWorktrees:a?rt:void 0,homeDir:F},t.path)})]}),(h||L)&&(0,n.jsxs)("div",{style:{borderTop:"1px solid var(--border)",display:"flex",flexDirection:"column",flex:eW?"1 1 0":"0 0 auto",minHeight:0,overflow:"hidden",transition:"flex var(--dur-med) var(--ease-out-warm)"},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",flexShrink:0},children:[(0,n.jsxs)("button",{onClick:()=>eD(e=>!e),style:{display:"flex",alignItems:"center",gap:6,flex:1,padding:"6px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:11,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",textAlign:"left"},children:[(0,n.jsx)(v.A,{size:12,strokeWidth:1.8,style:{transform:eW?"rotate(90deg)":"none",transition:"transform var(--dur-med) var(--ease-out-warm)",flexShrink:0},"aria-hidden":"true"}),M("sessionSidebar.explorer")]}),(0,n.jsx)("div",{inert:!eW||void 0,style:{display:"flex",alignItems:"center",opacity:+!!eW,pointerEvents:eW?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(eo.m_,{content:M("sessionSidebar.uploadFilesTitle"),side:"top",children:(0,n.jsx)("button",{onClick:()=>tl.current?.openUploadPicker(),disabled:eq,title:M("sessionSidebar.uploadFilesTitle"),"aria-label":M("sessionSidebar.uploadFiles"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,background:"none",border:"none",color:"var(--text-dim)",cursor:eq?"default":"pointer",borderRadius:"var(--radius-control)",flexShrink:0,opacity:eq?.6:1,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{eq||(e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{eq||(e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none")},children:(0,n.jsx)(C.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})}),(0,n.jsx)(eo.m_,{content:M("sessionSidebar.refreshExplorer"),side:"top",children:(0,n.jsx)("button",{"aria-label":M("sessionSidebar.refreshExplorer"),onClick:()=>{y?y():eK(e=>e+1)},title:M("sessionSidebar.refreshExplorer"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,marginRight:6,background:"none",border:"none",color:b?"var(--accent)":"var(--text-dim)",cursor:"pointer",borderRadius:"var(--radius-control)",flexShrink:0,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{b||(e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{b||(e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none")},children:b?(0,n.jsx)(eI.A,{size:13,strokeWidth:2,"aria-hidden":"true",className:"icon-spin"}):(0,n.jsx)(eI.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})]}),(0,n.jsx)("div",{className:"accordion-flow "+(eW?"is-open":""),inert:!eW||void 0,style:{flex:eW?"1 1 auto":"0 0 0px",minHeight:0},children:(0,n.jsx)("div",{className:"accordion-flow-inner",style:{height:"100%",overflowY:"auto",overflowX:"hidden"},children:(0,n.jsx)(ef,{ref:tl,cwd:L??h,onOpenFile:f??(()=>{}),refreshKey:e$,onAtMention:w,onAtMentions:j,onUploadBusyChange:eY,onRefreshDone:k})})})]}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",flexShrink:0},children:(0,n.jsxs)("button",{className:"sidebar-settings-row",onClick:S,title:M("chatInput.settings"),"aria-label":M("chatInput.settings"),style:{width:"100%",height:36,boxSizing:"border-box",display:"flex",alignItems:"center",gap:9,padding:"0 12px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",transition:eU},onMouseEnter:e=>{e.currentTarget.style.background="var(--bg-hover)",e.currentTarget.style.color="var(--text)"},onMouseLeave:e=>{e.currentTarget.style.background="none",e.currentTarget.style.color="var(--text-muted)"},children:[(0,n.jsxs)("span",{style:{position:"relative",display:"inline-flex",flexShrink:0,color:"var(--accent)"},children:[(0,n.jsx)(ez.A,{size:14,strokeWidth:2,"aria-hidden":"true"}),R&&(0,n.jsx)("span",{"aria-label":M("skillsConfig.updateAvailable"),role:"status",style:{position:"absolute",top:-3,right:-4,width:6,height:6,borderRadius:"50%",background:"var(--accent)",border:"1px solid var(--bg-panel)"}})]}),(0,n.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,fontWeight:500},children:M("chatInput.settings")}),(0,n.jsx)(v.A,{size:13,strokeWidth:2,style:{flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true"})]})})]})}let eG=5;function eX({project:e,isActive:t,isExpanded:r,activity:a,tree:o,hiddenCount:s,selectedSessionId:l,runningSessionIds:c,unreadSessionIds:u,relativeTimeNow:p,onActivate:h,onToggleExpand:g,onRemoveProject:f,onUpdatePresentation:m,onDragPathChange:x,onDropProject:y,onMoveProject:k,isDragTarget:w,removeBusy:S,onSelectSession:C,onRenamed:I,onSessionDeleted:T,activeWorktreeSwitcher:R,worktreeBranch:M,worktreeToggleRef:z,worktreeOpen:E,onToggleWorktrees:A}){let{t:W}=(0,d.s9)(),[D,$]=(0,i.useState)(!1),[L,N]=(0,i.useState)(!1),[F,P]=(0,i.useState)(!1),[B,O]=(0,i.useState)(!1),H=(0,i.useRef)(null),[K,U]=(0,i.useState)(!1),[_,q]=(0,i.useState)(""),V=(0,i.useRef)(null),Y=(0,i.useRef)(!1),J=(0,i.useCallback)(()=>{q(e.alias??""),U(!0),setTimeout(()=>V.current?.select(),0)},[e.alias]),Z=(0,i.useCallback)(()=>{if(Y.current){Y.current=!1,U(!1);return}let t=_.trim();U(!1),t!==(e.alias??"")&&m(e.path,{alias:t})},[_,e.alias,e.path,m]),G=(0,i.useCallback)(async e=>{try{let t=await fetch("/api/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),r=await t.json().catch(()=>({}));t.ok||es.oR.error(r.error??W("fileExplorer.revealFailed"))}catch{es.oR.error(W("fileExplorer.revealFailed"))}},[W]),X=e.alias??eH(e.path),Q=!!(a&&(a.running>0||a.unread>0)),ee=s>0&&!F?o.slice(0,eG):o,et=D||L||B;return(0,n.jsxs)("section",{className:"sidebar-project","data-active":t?"true":"false",style:{marginBottom:12},children:[(0,n.jsxs)("div",{className:"sidebar-project-header",draggable:!K,onDragStart:t=>{t.dataTransfer.setData("text/plain",e.path),t.dataTransfer.effectAllowed="move",x(e.path)},onDragOver:e=>{w&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},onDrop:t=>{t.preventDefault(),y(e.path)},onDragEnd:()=>x(null),onMouseEnter:()=>$(!0),onMouseLeave:()=>$(!1),onFocus:()=>N(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||N(!1)},onKeyDown:e=>{"Escape"===e.key&&B&&(e.stopPropagation(),O(!1))},style:{display:"flex",alignItems:"center",gap:2,height:30,margin:0,padding:"0 6px 0 0",borderRadius:"var(--radius-control)",background:D?"var(--bg-hover)":"transparent",transition:eU,...w?{outline:"1px solid var(--accent)",outlineOffset:-1}:{}},children:[K?(0,n.jsxs)("div",{className:"sidebar-project-identity",onClick:e=>e.stopPropagation(),style:{flex:"0 1 auto",minWidth:0,alignSelf:"stretch",display:"flex",alignItems:"center",gap:7,padding:"0 4px 0 10px"},children:[(0,n.jsx)(b.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:"var(--text-muted)"},"aria-hidden":"true"}),(0,n.jsx)("input",{ref:V,autoFocus:!0,"aria-label":W("projects.aliasPrompt"),value:_,onChange:e=>q(e.target.value),onBlur:Z,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),Z()),"Escape"===e.key&&(e.preventDefault(),Y.current=!0,U(!1))},style:{flex:1,minWidth:0,height:22,padding:"2px 6px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",fontSize:12,fontFamily:"var(--font-mono)",fontWeight:600}})]}):(0,n.jsxs)("button",{className:"sidebar-project-identity",onClick:()=>h(e.path),"aria-current":t?"true":void 0,title:e.path,style:{flex:"0 1 auto",minWidth:0,alignSelf:"stretch",display:"flex",alignItems:"center",gap:7,padding:"0 4px 0 10px",background:"none",border:"none",color:D?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left"},children:[(0,n.jsx)(b.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:t?"var(--accent)":D?"var(--text-muted)":"var(--text-dim)",transition:"color var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:12,fontWeight:600,letterSpacing:"-0.01em",lineHeight:1.25},children:X})]}),M&&z&&(0,n.jsxs)("button",{type:"button",ref:z,onClick:A,"aria-expanded":E,"aria-haspopup":"menu",title:W("sessionSidebar.switchWorktreeTo",{path:M}),style:{display:"inline-flex",alignItems:"center",gap:5,flexShrink:0,minWidth:0,maxWidth:104,height:24,padding:"0 6px",border:"none",borderRadius:"var(--radius-control)",background:E?"var(--bg-selected)":"none",color:E?"var(--accent)":D?"var(--text-muted)":"var(--text-dim)",cursor:"pointer",fontFamily:"var(--font-mono)",fontSize:10.5,lineHeight:1,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{flexShrink:0,opacity:.7},children:"\xb7"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:M})]}),(0,n.jsx)("div",{style:{flex:1}}),(0,n.jsx)(eo.m_,{content:W("fileExplorer.revealInFileManager"),children:(0,n.jsx)("button",{type:"button",className:"sidebar-project-action",onClick:()=>void G(e.path),"aria-label":W("fileExplorer.revealInFileManager"),title:W("fileExplorer.revealInFileManager"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-dim)",cursor:"pointer",lineHeight:0,transition:eU},children:(0,n.jsx)(j.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})}),Q&&(0,n.jsx)("span",{"aria-label":W("projects.activity",{running:a?.running??0,unread:a?.unread??0}),title:W("projects.activity",{running:a?.running??0,unread:a?.unread??0}),className:"sidebar-project-activity","data-running":(a?.running??0)>0?"true":"false",role:"status","aria-live":"polite",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:11,height:11,margin:"0 2px 0 0",flexShrink:0,lineHeight:0},children:(0,n.jsx)("span",{"aria-hidden":"true",className:"sidebar-project-activity-dot",style:{width:7,height:7,borderRadius:"50%",background:"var(--accent)"}})}),(0,n.jsxs)("div",{style:{flexShrink:0,visibility:et?"visible":"hidden"},children:[(0,n.jsx)("button",{type:"button",ref:H,className:"sidebar-project-action",onClick:()=>O(e=>!e),disabled:S,"aria-label":W("commandPalette.actions"),title:W("commandPalette.actions"),"aria-expanded":B,"aria-haspopup":"menu",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:B?"var(--bg-selected)":"transparent",color:"var(--text-dim)",cursor:S?"default":"pointer",opacity:S?.5:1,lineHeight:0,transition:eU},children:(0,n.jsx)(eE.A,{size:13,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(eq,{anchor:H,open:B,onClose:()=>O(!1),placement:"below",minWidth:136,children:[(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{J(),O(!1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:e.alias?W("projects.editAlias"):W("projects.nameAlias")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{O(!1),k(e.path,-1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:W("projects.moveUp")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{O(!1),k(e.path,1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:11},children:W("projects.moveDown")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",disabled:S,onClick:()=>{O(!1),f(e.path)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--status-error)",cursor:S?"default":"pointer",textAlign:"left",fontSize:11},children:W("projects.remove",{name:X})})]})]}),(0,n.jsx)("button",{className:"sidebar-project-toggle",onClick:()=>g(e.path),"aria-label":r?W("projects.collapseProject",{name:X}):W("projects.expandProject",{name:X}),"aria-expanded":r,title:r?W("projects.collapseProjectTitle",{path:e.path}):W("projects.expandProjectTitle",{path:e.path}),style:{display:"flex",alignItems:"center",justifyContent:"center",width:22,height:26,padding:0,flexShrink:0,background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",lineHeight:0,borderRadius:"var(--radius-control)",transition:"color var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(v.A,{size:13,strokeWidth:1.8,style:{transform:r?"rotate(90deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"})})]}),t&&R,r&&(0,n.jsx)("div",{className:"sidebar-project-sessions",style:{margin:"2px 0 0"},children:0===ee.length?(0,n.jsx)("div",{style:{padding:"6px 12px 8px 34px",color:"var(--text-dim)",fontSize:11},children:W("projects.emptyProject")}):(0,n.jsxs)(n.Fragment,{children:[ee.map(e=>(0,n.jsx)(e0,{node:e,selectedSessionId:l,runningSessionIds:c,unreadSessionIds:u,relativeTimeNow:p,onSelectSession:C,onRenamed:I,onSessionDeleted:T,depth:0},e.session.id)),s>0&&(0,n.jsxs)("button",{onClick:()=>P(e=>!e),"aria-expanded":F,style:{display:"flex",alignItems:"center",gap:5,width:"100%",margin:"2px 0 0",padding:"5px 8px 5px 34px",background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",textAlign:"left",fontSize:11,fontWeight:600,borderRadius:"var(--radius-control)",transition:eU},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:[(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,style:{flexShrink:0,transform:F?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"}),F?W("projects.showLess"):W("projects.showMoreSessions",{count:s})]})]})})]})}function eQ({worktreeState:e,selectedCwd:t,homeDir:r,wtDropdownOpen:i,wtNewOpen:a,setWtNewOpen:o,wtNewBranch:s,setWtNewBranch:l,wtError:c,setWtError:u,wtBusy:p,wtConfirmRemove:h,setWtConfirmRemove:g,onSelectWorktree:f,onCreateWorktree:m,onRemoveWorktree:x,anchorRef:v,newInputRef:y,onClose:b}){let{t:k}=(0,d.s9)();return(0,n.jsxs)(eq,{anchor:v,open:i,onClose:b,placement:"below",align:"start",minWidth:240,style:{overflow:"hidden"},children:[(0,n.jsx)("div",{style:{maxHeight:"min(40vh, 300px)",overflowY:"auto"},children:e.worktrees.map(i=>{let a=i.path===t||i.isMain&&!e.worktrees.some(e=>e.path===t);return h===i.path?(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"7px 10px",borderBottom:"1px solid var(--border)",background:"color-mix(in srgb, var(--accent) 6%, transparent)"},children:[(0,n.jsx)("span",{style:{flex:1,fontSize:11,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:k("sessionSidebar.uncommittedForceRemove")}),(0,n.jsx)("button",{onClick:()=>x(i.path,!0),disabled:p,style:{padding:"3px 9px",background:"var(--accent-strong)",border:"none",borderRadius:"var(--radius-control)",color:"var(--on-accent)",fontSize:11,fontWeight:600,cursor:"pointer",flexShrink:0},children:k("sessionSidebar.force")}),(0,n.jsx)("button",{onClick:()=>g(null),style:{padding:"3px 9px",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",fontSize:11,cursor:"pointer",flexShrink:0},children:k("sessionSidebar.cancel")})]},i.path):(0,n.jsxs)("div",{className:"wt-row",style:{display:"flex",alignItems:"center",borderBottom:"1px solid var(--border)"},children:[(0,n.jsxs)("button",{onClick:()=>f(i.path),"aria-pressed":a,title:i.path,style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:7,padding:"8px 10px",background:"var(--bg)",border:"none",color:a?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11,fontFamily:"var(--font-mono)"},children:[a?(0,n.jsx)(I.A,{size:10,strokeWidth:2,style:{flexShrink:0,color:"var(--accent)"},"aria-hidden":"true"}):(0,n.jsx)("span",{style:{width:10,flexShrink:0}}),(0,n.jsx)(eK,{text:i.branch??eO(i.path,r),style:{flex:1}}),i.isMain&&(0,n.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontSize:10},children:k("sessionSidebar.mainBadge")})]}),!i.isMain&&(0,n.jsx)("button",{onClick:()=>x(i.path,!1),disabled:p,title:k("sessionSidebar.removeWorktreeTitle",{path:i.path}),style:{display:"flex",alignItems:"center",justifyContent:"center",width:34,height:28,padding:0,marginRight:4,background:"none",border:"none",color:"var(--text-dim)",cursor:"pointer",borderRadius:"var(--radius-control)",flexShrink:0,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)",e.currentTarget.style.background="color-mix(in srgb, var(--accent) 8%, transparent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none"},children:(0,n.jsx)(eW.A,{size:12,strokeWidth:2,"aria-hidden":"true"})})]},i.path)})}),a?(0,n.jsxs)("div",{style:{padding:"6px 8px"},children:[(0,n.jsx)("input",{ref:y,value:s,onChange:e=>{l(e.target.value),u(null)},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),m()),"Escape"===e.key&&(o(!1),l(""),u(null))},placeholder:k("sessionSidebar.branchNamePlaceholder"),style:{width:"100%",fontSize:11,fontFamily:"var(--font-mono)",padding:"5px 8px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",boxSizing:"border-box"}}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,marginTop:5},children:[(0,n.jsx)("button",{onClick:m,disabled:p||!s.trim(),style:{flex:1,padding:"4px 0",background:"var(--accent-strong)",border:"none",borderRadius:"var(--radius-control)",color:"var(--on-accent)",fontSize:11,fontWeight:600,cursor:p||!s.trim()?"not-allowed":"pointer",opacity:p||!s.trim()?.65:1},children:p?k("sessionSidebar.creating"):k("sessionSidebar.create")}),(0,n.jsx)("button",{onClick:()=>{o(!1),l(""),u(null)},style:{flex:1,padding:"4px 0",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",color:"var(--text-muted)",fontSize:11,cursor:"pointer"},children:k("sessionSidebar.cancel")})]})]}):(0,n.jsxs)("button",{onClick:e=>{e.stopPropagation(),o(!0),u(null),setTimeout(()=>y.current?.focus(),0)},title:k("sessionSidebar.newWorktreeTitle"),style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"8px 10px",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11},children:[(0,n.jsx)(eT.A,{size:12,strokeWidth:1.8,style:{flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{children:k("sessionSidebar.newWorktree")})]}),c&&(0,n.jsx)("div",{style:{padding:"5px 10px 8px",color:"var(--accent)",fontSize:11,lineHeight:1.35,overflowWrap:"anywhere"},children:c})]})}let e0=(0,i.memo)(function e({node:t,selectedSessionId:r,runningSessionIds:a,unreadSessionIds:o,relativeTimeNow:s,onSelectSession:l,onRenamed:d,onSessionDeleted:c,depth:u}){let[p,h]=(0,i.useState)(!1),g=t.children.length>0,f=t.session.id,m=f===r,x=a.has(f),v=o.has(f),y=(0,i.useCallback)(()=>{l(t.session)},[l,t.session]),b=(0,i.useCallback)(e=>{c?.(e)},[c]),k=(0,i.useCallback)(()=>{h(e=>!e)},[]);return(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{position:"relative"},children:[u>0&&(0,n.jsx)("div",{style:{position:"absolute",left:14*u+22,top:0,bottom:0,width:1,background:"var(--border)",pointerEvents:"none"}}),(0,n.jsx)(e4,{session:t.session,isSelected:m,isRunning:x,isUnread:v,relativeTimeNow:s,onClick:y,onRenamed:d,onDeleted:b,depth:u,hasChildren:g,collapsed:p,onToggleCollapse:k})]}),g&&!p&&(0,n.jsx)("div",{children:t.children.map(t=>(0,n.jsx)(e,{node:t,selectedSessionId:r,runningSessionIds:a,unreadSessionIds:o,relativeTimeNow:s,onSelectSession:l,onRenamed:d,onSessionDeleted:c,depth:u+1},t.session.id))})]})},(e,t)=>{if(e.node!==t.node)return!1;if(e.selectedSessionId!==t.selectedSessionId){let r=e.node.session.id;if(r===e.selectedSessionId!=(r===t.selectedSessionId))return!1}if(e.runningSessionIds!==t.runningSessionIds){let r=e.node.session.id;if(e.runningSessionIds.has(r)!==t.runningSessionIds.has(r))return!1}if(e.unreadSessionIds!==t.unreadSessionIds){let r=e.node.session.id;if(e.unreadSessionIds.has(r)!==t.unreadSessionIds.has(r))return!1}return e.relativeTimeNow===t.relativeTimeNow&&e.onSelectSession===t.onSelectSession&&e.onRenamed===t.onRenamed&&e.onSessionDeleted===t.onSessionDeleted});function e1({size:e=14}){let{t}=(0,d.s9)(),r=em();return(0,n.jsx)("span",{title:t("sessionSidebar.agentRunning"),"aria-label":t("sessionSidebar.agentRunningAria"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--accent)"},children:(0,n.jsx)("span",{"aria-hidden":"true",className:"sidebar-running-spinner","data-reduced-motion":r?"true":"false",style:{width:e-2,height:e-2}})})}function e2({size:e=14}){let{t}=(0,d.s9)(),r=em();return(0,n.jsx)("span",{title:t("sessionSidebar.newActivity"),"aria-label":t("sessionSidebar.newSessionActivity"),style:{width:e,height:e,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"var(--accent)"},children:(0,n.jsxs)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",style:{display:"block"},children:[(0,n.jsx)("circle",{cx:"7",cy:"7",r:"2.5",fill:"currentColor"}),!r&&(0,n.jsxs)("circle",{cx:"7",cy:"7",r:"3",stroke:"currentColor",strokeWidth:"1.4",opacity:"0.32",children:[(0,n.jsx)("animate",{attributeName:"r",values:"3;6;3",dur:"1.6s",repeatCount:"indefinite"}),(0,n.jsx)("animate",{attributeName:"opacity",values:"0.32;0;0.32",dur:"1.6s",repeatCount:"indefinite"})]})]})})}let e4=(0,i.memo)(function({session:e,isSelected:t,isRunning:r,isUnread:a,onClick:o,onRenamed:s,onDeleted:l,depth:c=0,hasChildren:u=!1,collapsed:p=!1,relativeTimeNow:h,onToggleCollapse:g}){let{t:f,locale:m}=(0,d.s9)(),[x,v]=(0,i.useState)(!1),[y,b]=(0,i.useState)(!1),[k,w]=(0,i.useState)(!1),[j,S]=(0,i.useState)(""),C=(0,i.useRef)(!1),[I,T]=(0,i.useState)(!1),[R,M]=(0,i.useState)(!1),[z,E]=(0,i.useState)(!1),[A,W]=(0,i.useState)(!1),D=(0,i.useRef)(null),$=(0,i.useRef)(null),L=(0,i.useRef)(null),N=e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12),F=function(e,t){let r=new Date(e).getTime();if(!Number.isFinite(r))return null;let n=Math.max(0,Math.floor((t-r)/6e4));if(n<1)return"now";if(n<60)return`${n}m`;let i=Math.floor(n/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);if(a<30)return`${a}d`;let o=Math.floor(a/30);return o<12?`${o}mo`:`${Math.floor(o/12)}y`}(e.modified,h),P=I||R,B=x||y||z,O=(0,i.useCallback)(t=>{t.stopPropagation(),S(e.name??""),w(!0),setTimeout(()=>D.current?.select(),0)},[e.name]),H=(0,i.useCallback)(async()=>{if(C.current){C.current=!1;return}let t=j.trim();if(w(!1),t!==(e.name??""))try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})})).ok)throw Error("Session rename failed");s?.()}catch{}},[j,e.id,e.name,s]),K=(0,i.useCallback)(async()=>{T(!1),W(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}/archive`,{method:"POST"})).ok)throw Error("Session archive failed");l?.(e.id)}catch{W(!1),es.oR.error(f("sessionSidebar.archiveFailed"))}},[e.id,l,f]),U=(0,i.useCallback)(async()=>{M(!1),W(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"})).ok)throw Error("Session deletion failed");l?.(e.id)}catch{W(!1),es.oR.error(f("sessionSidebar.deleteFailed"))}},[e.id,l,f]),_=(0,i.useCallback)(()=>{T(!1),M(!1),E(!1),requestAnimationFrame(()=>$.current?.focus())},[]);return(0,n.jsxs)("div",{onClick:I||R||k?void 0:o,onMouseEnter:()=>v(!0),onMouseLeave:()=>v(!1),onFocus:()=>b(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||b(!1)},onKeyDown:e=>{(I||R||z)&&"Escape"===e.key&&(e.stopPropagation(),_())},style:{height:P?34:30,display:"flex",alignItems:"center",gap:6,width:"100%",margin:"1px 0",padding:`0 8px 0 ${30+14*c}px`,position:"relative",overflow:"hidden",background:P?"color-mix(in srgb, var(--accent) 6%, transparent)":t?"color-mix(in srgb, var(--bg-selected) 70%, transparent)":x?"var(--bg-hover)":"transparent",opacity:A?.5:1,cursor:P||k?"default":"pointer",transition:"background var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},children:[(t||P)&&(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",left:20+14*c,top:0,bottom:0,width:2,borderRadius:1,background:"var(--accent)",pointerEvents:"none"}}),P?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,color:"var(--text)"},children:I?f("sessionSidebar.archiveConfirm",{title:N.length>22?`${N.slice(0,22)}…`:N}):f("sessionSidebar.deleteConfirm",{title:N.length>22?`${N.slice(0,22)}…`:N})}),(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),I?K():U()},style:{height:28,padding:"0 10px",border:"none",borderRadius:"var(--radius-control)",background:"var(--accent-strong)",color:"var(--on-accent)",cursor:"pointer",fontSize:11,fontWeight:600},children:I?f("sessionSidebar.archive"):f("sessionSidebar.delete")}),(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),_()},autoFocus:!0,style:{height:28,padding:"0 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text-muted)",cursor:"pointer",fontSize:11},children:f("sessionSidebar.cancel")})]}):k?(0,n.jsx)("input",{ref:D,autoFocus:!0,"aria-label":f("sessionSidebar.rename"),value:j,onChange:e=>S(e.target.value),onBlur:H,onKeyDown:e=>{"Enter"===e.key&&H(),"Escape"===e.key&&(e.preventDefault(),C.current=!0,w(!1))},style:{flex:1,height:25,padding:"3px 7px",border:"1px solid var(--accent)",borderRadius:"var(--radius-control)",outline:"none",background:"var(--bg)",color:"var(--text)",fontSize:12}}):(0,n.jsxs)(n.Fragment,{children:[c>0&&(0,n.jsx)(eD.A,{size:11,strokeWidth:2,style:{flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true"}),(0,n.jsx)("button",{ref:$,type:"button",className:"session-item-button","aria-current":t?"true":void 0,onKeyDown:e=>{"Delete"===e.key&&(e.preventDefault(),M(!0))},style:{display:"flex",alignItems:"center",flex:1,minWidth:0},children:(0,n.jsx)("span",{title:N,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text)",fontSize:12.5,fontWeight:t?600:500,lineHeight:1.35,letterSpacing:"-0.005em"},children:N})}),e.worktreeBranch&&(0,n.jsxs)("span",{title:f("sessionSidebar.worktreeTitle",{path:e.cwd}),style:{display:"flex",alignItems:"center",gap:3,maxWidth:56,minWidth:0,overflow:"hidden",color:"var(--text-dim)",fontSize:10,flexShrink:1},children:[(0,n.jsx)(eD.A,{size:10,strokeWidth:2.4,"aria-hidden":"true"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.worktreeBranch})]}),u&&(0,n.jsx)("button",{className:"session-item-icon-button",onClick:e=>{e.stopPropagation(),g?.()},title:p?f("sessionSidebar.expandForks"):f("sessionSidebar.collapseForks"),"aria-label":p?f("sessionSidebar.expandForks"):f("sessionSidebar.collapseForks"),"aria-expanded":!p,style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,flexShrink:0,border:"none",background:"none",color:"var(--text-dim)",cursor:"pointer",transform:p?"rotate(-90deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(eA.A,{size:12,strokeWidth:1.8,"aria-hidden":"true"})}),(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:2,flexShrink:0},children:(0,n.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"flex-end",width:64,height:24,flexShrink:0},children:[(0,n.jsxs)("div",{"aria-hidden":B,style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:2,width:"100%",whiteSpace:"nowrap",opacity:+!B,pointerEvents:B?"none":"auto",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:[r&&(0,n.jsx)(e1,{size:12}),!r&&a&&(0,n.jsx)(e2,{size:11}),F&&(0,n.jsx)("span",{title:new Date(e.modified).toLocaleString(m),style:{minWidth:42,whiteSpace:"nowrap",textAlign:"right",color:t?"var(--accent)":"var(--text-dim)",fontSize:10,fontVariantNumeric:"tabular-nums"},children:F})]}),(0,n.jsxs)("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"flex-end",opacity:+!!B,pointerEvents:B?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:[(0,n.jsx)("button",{type:"button",ref:L,className:"session-item-icon-button",onClick:e=>{e.stopPropagation(),E(e=>!e)},title:f("projects.actions"),"aria-label":f("projects.actions"),"aria-expanded":z,style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,lineHeight:0,border:"none",borderRadius:"var(--radius-control)",background:z?"var(--bg-selected)":"transparent",color:z?"var(--text)":"var(--text-dim)",cursor:"pointer"},children:(0,n.jsx)(eE.A,{size:14,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(eq,{anchor:L,open:z,onClose:()=>E(!1),placement:"above",minWidth:128,children:[(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{e.stopPropagation(),E(!1),T(!0)},disabled:u,title:u?f("sessionSidebar.archiveLeafOnly"):f("sessionSidebar.archive"),style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:u?"var(--text-dim)":"var(--text-muted)",cursor:u?"not-allowed":"pointer",textAlign:"left",fontSize:11,opacity:u?.55:1},children:f("sessionSidebar.archive")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{O(e),E(!1)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:11},children:f("sessionSidebar.rename")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:e=>{e.stopPropagation(),E(!1),M(!0)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--status-error)",cursor:"pointer",textAlign:"left",fontSize:11},children:f("sessionSidebar.delete")})]})]})]})})]})]})});function e5(e,t={}){return"thinking"===e.type&&!e.deferred&&!t.isStreaming&&(!e.thinking||""===e.thinking.trim())}function e6(e,t={}){return(e.content??[]).filter(e=>!e5(e,t))}function e8(e,t={}){let r=e6(e,t),n=r.findLastIndex(e=>"text"!==e.type&&"image"!==e.type);return -1===n?{answerBlocks:r,processBlocks:[]}:{answerBlocks:r.slice(n+1),processBlocks:r.slice(0,n+1)}}function e3(e){return e.filter(e=>"toolCall"===e.type).length}var e9=r(99314),e7=r(66958),te=r(72788),tt=r(5045),tr=r(89034),tn=r(32316),ti=r(19870),ta=r(68925),to=r(94309);function ts({src:e,alt:t,...r}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)(!1),[c,u]=(0,i.useState)(null);(0,i.useEffect)(()=>{if("string"==typeof e||void 0===e)return void u(null);let t=URL.createObjectURL(e);return u(t),()=>URL.revokeObjectURL(t)},[e]);let p="string"==typeof e?e:c??"";return p?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",className:"image-clickable",onClick:e=>{e.preventDefault(),e.stopPropagation(),s(!0)},"aria-label":t?a("imagePreview.openWithAlt",{alt:t}):a("imagePreview.open"),title:t?a("imagePreview.openWithAlt",{alt:t}):a("imagePreview.open"),children:(0,n.jsx)("img",{src:p,alt:t??"",loading:"lazy",...r})}),o&&(0,l.createPortal)((0,n.jsx)(tl,{src:p,alt:t??"",onClose:()=>s(!1)}),document.body)]}):null}function tl({src:e,alt:t,onClose:r}){let a=(0,i.useRef)(null),[o,s]=(0,i.useState)(1),{t:l}=(0,d.s9)();return(0,i.useEffect)(()=>{let e=a.current;if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow="hidden",e.showModal(),()=>{document.body.style.overflow=t,e.open&&e.close()}},[]),(0,n.jsx)("dialog",{ref:a,className:"image-lightbox-dialog","aria-label":l("imagePreview.viewerLabel"),onClick:e=>{e.stopPropagation()},onCancel:e=>{e.preventDefault(),r()},onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),r())},children:(0,n.jsxs)("div",{className:"image-lightbox-layout",children:[(0,n.jsxs)("div",{className:"image-lightbox-toolbar",children:[(0,n.jsx)("span",{className:"image-lightbox-title",children:t||l("imagePreview.imageTitle")}),(0,n.jsxs)("div",{className:"image-lightbox-actions",children:[(0,n.jsxs)("div",{className:"image-lightbox-stepper",children:[(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>Math.max(.25,e-.25)),disabled:o<=.25,title:l("imagePreview.zoomOut"),"aria-label":l("imagePreview.zoomOut"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M5 12h14"})})}),(0,n.jsxs)("span",{className:"image-lightbox-zoom-value",children:[Math.round(100*o),"%"]}),(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>Math.min(8,e+.25)),disabled:o>=8,title:l("imagePreview.zoomIn"),"aria-label":l("imagePreview.zoomIn"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),(0,n.jsx)("button",{type:"button",className:"image-lightbox-icon-button",onClick:()=>s(1),title:l("imagePreview.resetZoom"),"aria-label":l("imagePreview.resetZoom"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5"})})}),(0,n.jsx)("button",{type:"button",className:"image-lightbox-icon-button",onClick:r,title:l("imagePreview.close"),"aria-label":l("imagePreview.close"),children:(0,n.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})]})]}),(0,n.jsx)("div",{className:"image-lightbox-viewport",onClick:e=>{e.target===e.currentTarget&&r()},children:(0,n.jsx)("img",{src:e,alt:t,className:"image-lightbox-img",style:{transform:`scale(${o})`}})})]})})}function td({children:e,className:t,isStreaming:r,cwd:a,onOpenFile:o}){let s=(0,i.useMemo)(()=>r?e:(0,ta.Ep)(e),[e,r]),{remarkPlugins:l,rehypePlugins:d}=(0,ta.T6)(r?"":s),c=(0,i.useMemo)(()=>{let e=({src:e,alt:t,...r})=>{delete r.node;let i="string"==typeof e?(0,ti.V)(e,a):null,o=i?`/api/files/${(0,el.HG)(i)}?type=read`:e;return(0,n.jsx)(ts,{src:o,alt:t??"",loading:"lazy",...r})},t=e=>(0,i.isValidElement)(e),s=r=>{let n=[],a=[];for(let o of i.Children.toArray(r)){if(!t(o)){n.push(o);continue}if(o.type===e){a.push(o);continue}let r=s(o.props.children);0===r.imageParts.length?n.push(o):0===r.textParts.length?a.push(o):(n.push((0,i.cloneElement)(o,void 0,r.textParts)),a.push(...r.imageParts))}return{textParts:n,imageParts:a}},l=e=>e.some(e=>"string"==typeof e?e.trim().length>0:"number"==typeof e||!!t(e)&&l(i.Children.toArray(e.props.children)));return{code:(0,to.Q)({isStreaming:r,inlineClassName:"markdown-inline-code"}),pre:({children:e})=>(0,n.jsx)(n.Fragment,{children:e}),a({href:e,children:t,...r}){delete r.node;let{textParts:i,imageParts:d}=s(t);if(d.length>0&&!l(i))return(0,n.jsx)(n.Fragment,{children:t});let c=o?(0,ti.V)(e,a):null;if(c&&o){let t=(0,n.jsx)("a",{href:e,...r,onClick:e=>{if(e.defaultPrevented||0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.currentTarget.getAttribute("target");t&&"_self"!==t||(e.preventDefault(),o(c))},children:i});return d.length>0?(0,n.jsxs)(n.Fragment,{children:[t,d]}):t}let u=(0,n.jsx)("a",{href:e,...r,target:"_blank",rel:"noopener noreferrer",children:i});return d.length>0?(0,n.jsxs)(n.Fragment,{children:[u,d]}):u},img:e,table:({children:e})=>(0,n.jsx)("div",{className:"markdown-table-wrap",children:(0,n.jsx)("table",{children:e})})}},[r,a,o]);return(0,n.jsx)("div",{className:["markdown-body",t].filter(Boolean).join(" "),children:(0,n.jsx)(tn.oz,{remarkPlugins:l,rehypePlugins:d,components:c,children:s})})}let tc=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,tu=/(?:\r?\n){2,}((?:[ \t]*<(?:read-files|modified-files)>[ \t]*\r?\n[\s\S]*?\r?\n[ \t]*<\/(?:read-files|modified-files)>[ \t]*(?:\r?\n)?)+)\s*$/;var tp=r(6014),th=r(64962),tg=r(79762),tf=r(67401);function tm({status:e,live:t}){let r={size:12,strokeWidth:2,"aria-hidden":!0};return"completed"===e?(0,n.jsx)(th.A,{...r,color:"var(--accent)"}):"failed"===e?(0,n.jsx)(M.A,{...r,color:"var(--accent-strong)"}):"aborted"===e?(0,n.jsx)(tg.A,{...r,color:"var(--text-dim)"}):!0===t?(0,n.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"}):!1===t?(0,n.jsx)(tf.A,{...r,color:"var(--text-dim)"}):(0,n.jsx)("span",{"aria-hidden":!0,className:"live-status-dot inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"})}function tx(e){if(null==e||!Number.isFinite(e)||e<=0)return null;if(e>=1e3){let t=(e/1e3).toFixed(e>=1e4?0:1);return t.endsWith(".0")?`${t.slice(0,-2)}k`:`${t}k`}return String(e)}function tv(e){return null==e||!Number.isFinite(e)||e<=0?null:`$${e.toFixed(e<.01?4:2)}`}function ty(e){return null==e||!Number.isFinite(e)||e<=0||e<1e3?null:e<6e4?`${Math.floor(e/1e3)}s`:`${Math.round(e/6e4)}m`}function tb(e){if(!e)return null;let t=e.lastIndexOf("/");return(t>=0?e.slice(t+1):e).replace(/:.*$/,"")||null}var tk=r(82490),tw=r(84111);let tj=new Map;function tS({children:e,className:t,...r}){let{t:a}=(0,d.s9)(),[o,s]=(0,i.useState)(!1);if(e.length<=1e5)return(0,n.jsx)(td,{className:t,...r,children:e});if(!o){var l;return(0,n.jsx)("button",{type:"button",onClick:()=>s(!0),style:{display:"block",width:"100%",margin:"4px 0",padding:"7px 10px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left"},children:a("messageView.largeMessageReveal",{size:(l=e.length)>=1e6?`${(l/1e6).toFixed(1)} MB`:`${Math.round(l/1e3)} KB`})})}return(0,n.jsx)("div",{className:t,style:{maxHeight:420,overflow:"auto",fontSize:12,lineHeight:1.5},children:(0,n.jsx)("pre",{style:{margin:0,padding:"8px 10px",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)",color:"var(--text-muted)"},children:e})})}function tC(e,t){if(!e)return null;let r=new Date(e),n=new Date,i=r.getFullYear()===n.getFullYear()&&r.getMonth()===n.getMonth()&&r.getDate()===n.getDate(),a=r.toLocaleTimeString(t,{hour:"2-digit",minute:"2-digit"});if(i)return a;let o=r.toLocaleDateString(t,{month:"short",day:"numeric",year:r.getFullYear()!==n.getFullYear()?"numeric":void 0});return`${o} ${a}`}let tI=(0,i.memo)(function({message:e,isStreaming:t,toolResults:r,modelNames:i,cwd:a,onOpenFile:o,entryId:s,onFork:l,forking:d,onNavigate:c,prevAssistantEntryId:u,onEditContent:p,showTimestamp:h,prevTimestamp:g,sessionId:f,toolCallsDefaultCollapsed:m=!0,thinkingDisplayMode:x="auto",liveTokensPerSecond:v}){return"user"===e.role?(0,n.jsx)(tT,{message:e,cwd:a,onOpenFile:o,entryId:s,onFork:l,forking:d,onNavigate:c,prevAssistantEntryId:u,onEditContent:p}):"assistant"===e.role?(0,n.jsx)(tR,{message:e,isStreaming:t,toolResults:r,modelNames:i,cwd:a,onOpenFile:o,showTimestamp:h,prevTimestamp:g,sessionId:f,entryId:s,toolCallsDefaultCollapsed:m,thinkingDisplayMode:x,liveTokensPerSecond:v}):"toolResult"===e.role?null:"custom"===e.role?"xdev-mount-notice"===e.customType?null:"compaction"===e.customType?(0,n.jsx)(tH,{message:e}):!1===e.display?(0,n.jsx)(t_,{message:e,cwd:a,onOpenFile:o}):(0,n.jsx)(tq,{message:e,cwd:a,onOpenFile:o}):"bashExecution"===e.role?(0,n.jsx)(tQ,{message:e,sessionId:f}):null},(e,t)=>e.message===t.message&&e.isStreaming===t.isStreaming&&function(e,t,r){if(t===r||"assistant"!==e.role)return!0;for(let n of e.content??[])if("toolCall"===n.type&&t?.get(n.toolCallId)!==r?.get(n.toolCallId))return!1;return!0}(e.message,e.toolResults,t.toolResults)&&e.modelNames===t.modelNames&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile&&e.entryId===t.entryId&&e.onFork===t.onFork&&e.forking===t.forking&&e.onNavigate===t.onNavigate&&e.prevAssistantEntryId===t.prevAssistantEntryId&&e.onEditContent===t.onEditContent&&e.showTimestamp===t.showTimestamp&&e.prevTimestamp===t.prevTimestamp&&e.sessionId===t.sessionId&&e.toolCallsDefaultCollapsed===t.toolCallsDefaultCollapsed&&e.thinkingDisplayMode===t.thinkingDisplayMode&&e.liveTokensPerSecond===t.liveTokensPerSecond);function tT({message:e,cwd:t,onOpenFile:r,entryId:a,onFork:o,forking:s,onNavigate:l,prevAssistantEntryId:c,onEditContent:u}){let{t:p,locale:h}=(0,d.s9)(),[g,f]=(0,i.useState)(!1),[m,x]=(0,i.useState)(!1),{copied:v,copy:y}=(0,tp.q)(),b="string"==typeof e.content?e.content:e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n"),k="string"==typeof e.content?[]:e.content.filter(e=>"image"===e.type),w=tC(e.timestamp,h),j=!!a&&!!o,S=!!c&&!!l;return(0,n.jsx)("div",{style:{marginBottom:18,display:"flex",flexDirection:"column",alignItems:"flex-end",paddingRight:6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",maxWidth:"85%",minWidth:0},children:[(0,n.jsxs)("div",{className:"chat-message-card",style:{maxWidth:"100%",minWidth:0,background:"var(--user-bg)",border:"1px solid color-mix(in srgb, var(--accent) 28%, transparent)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-card)",padding:"8px 12px",fontSize:14,lineHeight:1.6,color:"var(--text)",wordBreak:"break-word",maxHeight:300,overflowY:"auto"},children:[k.length>0&&(0,n.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap",marginBottom:8*!!b},children:k.map((e,t)=>{let r=e.source?"base64"===e.source.type?`data:${e.source.media_type};base64,${e.source.data}`:e.source.url??"":e.data?`data:${e.mimeType};base64,${e.data}`:"";return(0,n.jsx)(ts,{src:r,alt:"",style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:"contain",display:"block",border:"1px solid color-mix(in srgb, var(--accent) 18%, transparent)"}},t)})}),b&&(0,n.jsx)(tS,{className:"markdown-user-message",cwd:t,onOpenFile:r,children:b})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:6,marginTop:3,width:"100%"},children:[(0,n.jsx)("div",{style:{display:"flex",gap:3,opacity:g||m?1:0,pointerEvents:g||m?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},onFocusCapture:()=>x(!0),onBlurCapture:()=>x(!1),children:(0,n.jsx)(eo.m_,{content:p("messageView.copyMessage"),children:(0,n.jsxs)("button",{onClick:()=>y(b),"aria-label":p("messageView.copyMessage"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:v?"var(--accent)":"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{v||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{v||(e.currentTarget.style.color="var(--text-dim)")},children:[v?(0,n.jsx)(I.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(e9.A,{size:11,strokeWidth:1.8}),p(v?"messageView.copied":"messageView.copy")]})})}),(j||S)&&(0,n.jsxs)("div",{style:{display:"flex",gap:3,opacity:g||m||s?1:0,pointerEvents:g||m||s?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},onFocusCapture:()=>x(!0),onBlurCapture:()=>x(!1),children:[S&&(0,n.jsx)(eo.m_,{content:p("messageView.editFromHereTitle"),children:(0,n.jsxs)("button",{onClick:()=>{l(c),u?.(b)},"aria-label":p("messageView.editFromHereTitle"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:"var(--text-dim)",cursor:"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--accent)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--text-dim)"},children:[(0,n.jsx)(e7.A,{size:11,strokeWidth:1.8}),p("messageView.editFromHere")]})}),j&&(0,n.jsx)(eo.m_,{content:p(s?"messageView.creatingSession":"messageView.newSessionTitle"),children:(0,n.jsxs)("button",{onClick:()=>{o(a)},disabled:s,"aria-label":p(s?"messageView.creatingSession":"messageView.newSessionTitle"),style:{display:"flex",alignItems:"center",gap:4,padding:"3px 8px",height:24,minHeight:24,background:"none",border:"none",borderRadius:5,color:s?"var(--accent)":"var(--text-dim)",cursor:s?"not-allowed":"pointer",fontSize:11,fontWeight:400,whiteSpace:"nowrap",transition:"color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{s||(e.currentTarget.style.color="var(--accent)")},onMouseLeave:e=>{s||(e.currentTarget.style.color="var(--text-dim)")},children:[(0,n.jsx)(te.A,{size:11,strokeWidth:1.8}),p(s?"messageView.creating":"messageView.newSession")]})})]}),w&&(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:w})]})]})})}function tR({message:e,isStreaming:t,toolResults:r,modelNames:a,cwd:o,onOpenFile:s,showTimestamp:l,prevTimestamp:c,sessionId:u,entryId:p,toolCallsDefaultCollapsed:h,thinkingDisplayMode:g="auto",liveTokensPerSecond:f}){let{t:m,locale:x}=(0,d.s9)(),v=l?tC(e.timestamp,x):null,y=(e.content??[]).map((e,t)=>({block:e,originalIndex:t})).filter(({block:e})=>!e5(e,{isStreaming:t})),b=y.map(({block:e})=>e),k=b.some(e=>"thinking"===e.type||"toolCall"===e.type),w=(0,i.useRef)(y);w.current=y;let j=(0,i.useRef)(new Map),[S,C]=(0,i.useState)(new Map),I=(0,i.useMemo)(()=>{if(!e.timestamp||!c)return;let t=Math.round((e.timestamp-c)/1e3);return t>0?t:void 0},[e.timestamp,c]),T=(0,i.useMemo)(()=>{let t=new Map;if(!r||!e.timestamp)return t;for(let[n,i]of r)if(i.timestamp&&e.timestamp){let r=Math.round((i.timestamp-e.timestamp)/1e3);r>0&&t.set(n,r)}return t},[r,e.timestamp]);return((0,i.useEffect)(()=>{if(!t){let e=new Date().getTime();C(t=>{let r=new Map(t);for(let[t,n]of j.current)r.has(t)||r.set(t,Math.round((e-n)/1e3));return r});return}let e=()=>{let e=w.current,t=Date.now();e.forEach(({originalIndex:e})=>{j.current.has(e)||j.current.set(e,t)}),C(r=>{let n=!1,i=new Map(r);for(let r=0;r<e.length-1;r++){let a=e[r].originalIndex,o=e[r+1].originalIndex;if(!i.has(a)&&j.current.has(a)){let e=j.current.get(a),r=j.current.get(o)??t;i.set(a,Math.round((r-e)/1e3)),n=!0}}return n?i:r})},r=setInterval(e,300);return e(),()=>clearInterval(r)},[t]),0!==b.length||t)?(0,n.jsxs)("div",{className:"chat-message",style:{marginBottom:6},children:[(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--text-dim)",marginBottom:4,display:k?"none":"flex",alignItems:"center",gap:6},children:[e.provider&&(0,n.jsx)("span",{children:a?.[`${e.provider}:${e.model}`]??a?.[e.model]??e.model}),t&&(()=>{let e,t,r=0;for(let e of b)"text"===e.type?r+=e.text?.length??0:"thinking"===e.type&&(r+=e.thinking?.length??0);let i=Math.round(r/4);return(0,n.jsx)(n.Fragment,{children:i>0&&(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:4,color:"var(--text)"},title:m("messageView.estimatedTokens"),children:[(0,n.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:2,fontSize:11,fontWeight:400},children:[(0,n.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("line",{x1:"5",y1:"1.5",x2:"5",y2:"8.5"}),(0,n.jsx)("polyline",{points:"2 6 5 8.5 8 6"})]}),i]}),null!=f&&(e=f>=50?"success":f>=30?"renamed":f>=15?"warning":"error",t=`var(--status-${e})`,(0,n.jsx)("span",{style:{marginLeft:6,padding:"1px 6px",borderRadius:4,background:`color-mix(in srgb, ${t} 14%, var(--bg-panel))`,color:t,fontSize:11,fontWeight:400},children:m("messageView.tokensPerSecond",{tps:f.toFixed(1)})}))]})})})()]}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:3},children:y.map(({block:e,originalIndex:i})=>(0,n.jsx)(tM,{block:e,toolResults:r,isStreaming:t,streamingDuration:S.get(i)??("thinking"===e.type?I:void 0),toolCallDurations:T,cwd:o,onOpenFile:s,sessionId:u,entryId:p,blockIndex:i,toolCallsDefaultCollapsed:h,thinkingDisplayMode:g},`${p??"stream"}-${i}`))}),v&&!t&&(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:3},children:(0,n.jsx)("span",{style:{fontSize:10,color:"var(--text-dim)"},children:v})})]}):null}function tM({block:e,toolResults:t,isStreaming:r,streamingDuration:i,toolCallDurations:a,cwd:o,onOpenFile:s,sessionId:l,entryId:d,blockIndex:c,toolCallsDefaultCollapsed:u,thinkingDisplayMode:p}){if("text"===e.type)return(0,n.jsx)(tz,{block:e,isStreaming:r,cwd:o,onOpenFile:s});if("thinking"===e.type)return(0,n.jsx)(tE,{block:e,duration:i,sessionId:l,entryId:d,blockIndex:c,isStreaming:r,thinkingDisplayMode:p});if("toolCall"===e.type){let i=t?.get(e.toolCallId),o=a?.get(e.toolCallId);return(0,n.jsx)(tA,{block:e,result:i,duration:o,isStreaming:r,defaultCollapsed:u})}return null}let tz=(0,i.memo)(function({block:e,isStreaming:t,cwd:r,onOpenFile:i}){return(0,n.jsx)(tS,{isStreaming:t,cwd:r,onOpenFile:i,children:e.text})},(e,t)=>e.block.text===t.block.text&&e.isStreaming===t.isStreaming&&e.cwd===t.cwd&&e.onOpenFile===t.onOpenFile),tE=(0,i.memo)(function({block:e,duration:t,sessionId:r,entryId:a,blockIndex:o,isStreaming:s,thinkingDisplayMode:l="auto"}){let{t:c}=(0,d.s9)(),[u,p]=(0,i.useState)(null),[h,g]=(0,i.useState)(null),[f,m]=(0,i.useState)(!1),[x,v]=(0,i.useState)(null),y=(0,i.useMemo)(()=>"expanded"===l||"collapsed"!==l&&!!(s&&!e.deferred),[l,s,e.deferred]),b=null!==u?u:y;return(0,n.jsx)("div",{className:"activity-row","data-activity-operation":"true",children:(0,n.jsxs)(eo.Nt,{open:b,onOpenChange:t=>{if(p(t),t&&e.deferred&&null===h){if(!r||!a)return void v(c("messageView.thinkingUnavailable"));m(!0),v(null),(function(e,t,r){let n=`${e}:${t}:${r}`,i=tj.get(n);if(i)return tj.delete(n),tj.set(n,i),i;let a=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${r}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();if("string"!=typeof t.thinking)throw Error((0,d.Tl)("messageView.invalidThinkingResponse"));return t.thinking}).catch(e=>{throw tj.delete(n),e});if(tj.set(n,a),tj.size>100){let e=tj.keys().next().value;e&&tj.delete(e)}return a})(r,a,o).then(e=>g(e)).catch(e=>v(e instanceof Error?e.message:String(e))).finally(()=>m(!1))}},children:[(0,n.jsxs)(eo.R6,{className:"activity-row-trigger",children:[(0,n.jsx)("span",{className:"activity-row-indicator","aria-hidden":!0,children:(0,n.jsx)(tt.A,{size:12,strokeWidth:1.8,className:s?"thinking-icon-active":void 0})}),(0,n.jsx)("span",{className:"activity-row-tool",children:c("messageView.thinking")}),(0,n.jsx)("span",{className:"activity-row-preview"}),void 0!==t&&(0,n.jsx)("span",{className:"activity-row-duration",children:c("messageView.durationSeconds",{seconds:t})}),(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,"aria-hidden":!0,style:{flexShrink:0,transform:b?"none":"rotate(-90deg)",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}),(0,n.jsx)("div",{className:"activity-collapsible-wrapper","data-open":b?"true":"false",children:(0,n.jsx)("div",{className:"activity-collapsible-inner",children:(0,n.jsx)("div",{className:"tool-call-details",children:(0,n.jsx)("div",{className:`tool-call-output${x?" tool-call-output-error":""}`,style:{whiteSpace:"pre-wrap",fontFamily:"var(--font-mono)",fontSize:10.5,lineHeight:1.45,color:x?"var(--status-error)":"var(--text-muted)"},children:(0,n.jsx)("pre",{className:"tool-call-output-text",children:(()=>{if(f)return c("messageView.loadingThinking");if(x)return x;let t=e.deferred?h:e.thinking;return t?t.length>1e5?t.slice(0,1e5)+`
|
|
2
2
|
|
|
3
3
|
... (Thinking truncated, ${t.length-1e5} characters hidden) ...`:t:""})()})})})})})]})})},(e,t)=>e.block.thinking===t.block.thinking&&e.block.deferred===t.block.deferred&&e.duration===t.duration&&e.sessionId===t.sessionId&&e.entryId===t.entryId&&e.blockIndex===t.blockIndex&&e.isStreaming===t.isStreaming&&e.thinkingDisplayMode===t.thinkingDisplayMode),tA=(0,i.memo)(function({block:e,result:t,duration:r,isStreaming:a,defaultCollapsed:o=!0}){var s;let l,{t:c}=(0,d.s9)(),[u,p]=(0,i.useState)(!!a&&!o),h=t?"string"==typeof t.content?t.content:(Array.isArray(t.content)?t.content:[]).filter(e=>"text"===e.type&&"string"==typeof e.text).map(e=>e.text).join("\n"):null,g=null!==h&&("(no output)"===h.trim()||""===h.trim()),f=t?.isError??!1,m=u&&t&&!f?function(e){let t=e.details;if("object"!=typeof t||null===t||Array.isArray(t))return null;let r="string"==typeof t.patch?t.patch:null;if(r)return{text:r};let n="string"==typeof t.diff?t.diff:null;return n?{text:n}:null}(t):null,x=function(e){if(!e||!tD(e.details))return null;let t=e.details,r=tD(t.usage)?t.usage:t,n=(...e)=>{for(let t of e){let e=r[t];if("number"==typeof e&&Number.isFinite(e)&&e>0)return e}},i=n("input","inputTokens","input_tokens"),a=n("output","outputTokens","output_tokens"),o=n("cacheRead","cache_read","cacheReadTokens"),s=n("cacheWrite","cache_write","cacheWriteTokens"),l=[i?`in ${(0,tw.wk)(i)}`:null,a?`out ${(0,tw.wk)(a)}`:null,o?`cache R ${(0,tw.wk)(o)}`:null,s?`cache W ${(0,tw.wk)(s)}`:null].filter(e=>!!e);return l.length>0?l.join(" \xb7 "):null}(t),v=function(e){let t=e.input;if(t&&"string"==typeof t.command)return t.command;if(t&&"string"==typeof t.path)return`${e.toolName} ${t.path}`;if(t&&"string"==typeof t.file_path)return`${e.toolName} ${t.file_path}`;if(t&&"string"==typeof t.query)return`${e.toolName} ${t.query}`;try{return`${e.toolName} ${JSON.stringify(t)}`}catch{return e.toolName}}(e);return(0,n.jsx)("div",{className:"activity-row","data-activity-operation":"true",children:(0,n.jsxs)(eo.Nt,{open:u,onOpenChange:p,children:[(0,n.jsxs)(eo.R6,{className:"activity-row-trigger",children:[(0,n.jsx)("span",{className:`activity-row-indicator${f?" activity-row-indicator-error":""}`,"aria-hidden":!0,children:f?(0,n.jsx)(M.A,{size:12,strokeWidth:1.8}):t?(0,n.jsx)(I.A,{size:12,strokeWidth:2}):(0,n.jsx)(k.A,{size:12,strokeWidth:1.8,className:"activity-row-spinner"})}),(0,n.jsx)("span",{className:`activity-row-tool${f?" activity-row-tool-error":""}`,children:e.toolName}),(0,n.jsx)("span",{className:"activity-row-preview",children:function(e){let t=e.input;if(!t||"object"!=typeof t)return"";let r=Object.keys(t);return 0===r.length?"":"command"in t?String(t.command).slice(0,120):"path"in t?String(t.path).slice(0,120):"file_path"in t?String(t.file_path).slice(0,120):"pattern"in t?String(t.pattern).slice(0,120):"query"in t?String(t.query).slice(0,120):String(t[r[0]]).slice(0,120)}(e)}),void 0!==r&&(0,n.jsx)("span",{className:"activity-row-duration",children:c("messageView.durationSeconds",{seconds:r})}),(0,n.jsx)(eA.A,{size:11,strokeWidth:1.8,"aria-hidden":!0,style:{flexShrink:0,transform:u?"none":"rotate(-90deg)",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}),x&&(0,n.jsx)("div",{className:"activity-row-secondary",children:x}),(0,n.jsx)("div",{className:"activity-collapsible-wrapper","data-open":u?"true":"false",children:(0,n.jsx)("div",{className:"activity-collapsible-inner",children:(0,n.jsxs)("div",{className:`tool-call-details${f?" tool-call-details-error":""}`,children:[(0,n.jsxs)("div",{className:"tool-call-command",children:[(0,n.jsx)("span",{className:"tool-call-command-prompt","aria-hidden":!0,children:"$"}),(0,n.jsx)("code",{children:v})]}),(0,n.jsx)(t$,{details:t?.details}),t?m?(0,n.jsx)(tL,{diff:m}):(0,n.jsx)(tO,{text:(s=h??"","read"===(l=e.toolName.toLowerCase())||l.endsWith(".read")||l.endsWith("_read")?s.split("\n").map(e=>e.replace(/^\s*\d+:\s?/,"")).join("\n"):s),isEmpty:g,isError:f}):null]})})})]})})},(e,t)=>e.block.toolCallId===t.block.toolCallId&&e.block.toolName===t.block.toolName&&e.block.input===t.block.input&&e.result===t.result&&e.duration===t.duration&&e.defaultCollapsed===t.defaultCollapsed);function tW({status:e}){return(0,n.jsx)(tm,{status:e})}function tD(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function t$({details:e}){let{t,tn:r}=(0,d.s9)();if(!tD(e))return null;let i=(Array.isArray(e.results)?e.results:[]).filter(tD),a=(Array.isArray(e.progress)?e.progress:[]).filter(tD),o=tD(e.async)?e.async:null;if(0===i.length&&0===a.length&&!o)return null;let s=i.length>0?i:a.length>0?a:o&&"string"==typeof o.jobId?[{id:o.jobId,agent:"task",status:"started",task:o.jobId}]:[],l=s.reduce((e,t)=>e+("number"==typeof t.tokens?t.tokens:0),0),c=s.reduce((e,t)=>e+("number"==typeof t.cost?t.cost:0),0),u="number"==typeof e.totalDurationMs?e.totalDurationMs:void 0,p=tx(l),h=[r("chatWindow.subagentCount",s.length),p?t("chatWindow.tokensUnit",{count:p}):null,tv(c),ty(u)].filter(Boolean);return(0,n.jsxs)("div",{style:{borderTop:"1px solid var(--border)",background:"var(--bg-subtle)",padding:"8px 10px",display:"grid",gap:4},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:"var(--text-muted)"},children:[(0,n.jsx)("span",{style:{fontWeight:600,color:"var(--text)"},children:t("messageView.taskSubagents")}),(0,n.jsx)("span",{style:{marginLeft:"auto",fontFamily:"var(--font-mono)",color:"var(--text-dim)",fontSize:10.5},children:h.join(" \xb7 ")}),o&&(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontSize:10,color:"var(--text-dim)"},children:"⤴"})]}),s.map((e,r)=>{let i="string"==typeof e.id?e.id:`row-${r}`,a=function(e){if(!0===e.aborted)return"aborted";if("string"==typeof e.error&&e.error)return"failed";if("number"==typeof e.exitCode)return 0===e.exitCode?"completed":"failed";let t=e.status;return"completed"===t?"completed":"failed"===t?"failed":"aborted"===t?"aborted":"started"}(e),o="string"==typeof e.task&&e.task?e.task:"string"==typeof e.assignment?e.assignment:null,s=tx("number"==typeof e.tokens?e.tokens:void 0),l=[s?t("chatWindow.tokensUnit",{count:s}):null,tv("number"==typeof e.cost?e.cost:void 0),"started"!==a?ty("number"==typeof e.durationMs?e.durationMs:void 0):null,tb("string"==typeof e.resolvedModel?e.resolvedModel:void 0)].filter(Boolean);return(0,n.jsxs)("div",{"aria-label":`${"string"==typeof e.agent?e.agent:"subagent"}: ${t(`chatWindow.subagentState.${a}`)}${o?` — ${o}`:""}`,style:{display:"flex",alignItems:"center",gap:6,minWidth:0,fontSize:11.5},children:[(0,n.jsx)(tW,{status:a}),(0,n.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:600,fontSize:10.5,color:"var(--accent)",flexShrink:0},children:"string"==typeof e.agent?e.agent:"subagent"}),(0,n.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,color:"var(--text)"},children:o??""}),l.length>0&&(0,n.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:10,color:"var(--text-dim)"},children:l.join(" \xb7 ")})]},i)})]})}function tL({diff:e}){return(0,n.jsx)("div",{style:{borderTop:"1px solid color-mix(in srgb, var(--status-success) 15%, transparent)",background:"var(--bg)"},children:(0,n.jsx)(tN,{text:e.text})})}function tN({text:e}){let{t}=(0,d.s9)(),r=(0,i.useMemo)(()=>(0,tk.y)(e),[e]);if(!r)return(0,n.jsx)(tB,{text:e});let a=0,o=0,s=r.map(e=>{if(a>=800)return o+=e.rows.length,null;if(a+e.rows.length>800){let t=800-a;return o+=e.rows.length-t,a+=t,{...e,rows:e.rows.slice(0,t)}}return a+=e.rows.length,e}).filter(e=>null!==e),l=s.length>1;return(0,n.jsxs)("div",{style:{maxHeight:560,overflowY:"auto",overflowX:"hidden",background:"var(--bg)"},children:[s.map((e,r)=>(0,n.jsxs)("div",{style:{minWidth:0,borderTop:0===r?"none":"1px solid var(--border)",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55},children:[l&&(0,n.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",position:"sticky",top:0,zIndex:1,background:"var(--bg-panel)",borderBottom:"1px solid var(--border)"},children:[(0,n.jsx)(tF,{title:e.oldPath||t("messageView.diffBefore"),side:"left"}),(0,n.jsx)(tF,{title:e.newPath||t("messageView.diffAfter"),side:"right"})]}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)"},children:e.rows.map((e,t)=>"hunk"===e.type?null:(0,n.jsxs)("div",{style:{display:"contents"},children:[(0,n.jsx)(tP,{cell:e.left,side:"left"}),(0,n.jsx)(tP,{cell:e.right,side:"right"})]},t))})]},r)),o>0&&(0,n.jsxs)("div",{style:{padding:"8px 10px",color:"var(--text-dim)",textAlign:"center",background:"var(--bg-subtle)"},children:["... ",o," more lines truncated ..."]})]})}function tF({title:e,side:t}){return(0,n.jsx)("div",{title:e,style:{padding:"5px 10px",color:"var(--text-dim)",borderRight:"left"===t?"1px solid var(--border)":"none",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})}function tP({cell:e,side:t}){let r="added"===e.type?"color-mix(in srgb, var(--status-success) 12%, transparent)":"removed"===e.type?"color-mix(in srgb, var(--status-error) 13%, transparent)":"empty"===e.type?"var(--bg-subtle)":"transparent",i="added"===e.type?"+":"removed"===e.type?"-":" ",a="added"===e.type?"var(--status-success)":"removed"===e.type?"var(--status-error)":"var(--text-dim)";return(0,n.jsxs)("div",{style:{display:"flex",minWidth:0,background:r,borderRight:"left"===t?"1px solid var(--border)":"none"},children:[(0,n.jsx)("span",{style:{width:42,padding:"0 6px",textAlign:"right",color:"var(--text-dim)",userSelect:"none",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",flexShrink:0},children:e.lineNo??""}),(0,n.jsx)("span",{style:{width:18,padding:"0 5px",color:a,userSelect:"none",fontWeight:"context"===e.type||"empty"===e.type?400:700,flexShrink:0},children:i}),(0,n.jsx)("span",{style:{flex:1,minWidth:0,padding:"0 10px 0 0",color:"empty"===e.type?"var(--text-dim)":"var(--text)",whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:e.text||"\xa0"})]})}function tB({text:e}){let t=e.split(/\r?\n/),r=t.slice(0,800),i=t.length-r.length;return(0,n.jsxs)("div",{style:{maxHeight:520,overflowY:"auto",overflowX:"hidden",fontFamily:"var(--font-mono)",fontSize:12,lineHeight:1.55,minWidth:0},children:[r.map((e,t)=>{let r=e.startsWith("@@")?"hunk":e.startsWith("+")&&!e.startsWith("+++")?"added":e.startsWith("-")&&!e.startsWith("---")?"removed":"context";return(0,n.jsxs)("div",{style:{display:"flex",background:"added"===r?"color-mix(in srgb, var(--status-success) 12%, transparent)":"removed"===r?"color-mix(in srgb, var(--status-error) 13%, transparent)":"hunk"===r?"color-mix(in srgb, var(--accent) 12%, transparent)":"transparent",borderLeft:"added"===r?"3px solid var(--status-success)":"removed"===r?"3px solid var(--status-error)":"hunk"===r?"3px solid var(--accent)":"3px solid transparent"},children:[(0,n.jsx)("span",{style:{width:48,padding:"0 8px",color:"var(--text-dim)",background:"var(--bg-panel)",borderRight:"1px solid var(--border)",textAlign:"right",userSelect:"none",flexShrink:0},children:t+1}),(0,n.jsx)("span",{style:{padding:"0 10px",whiteSpace:"pre-wrap",overflowWrap:"anywhere",color:"added"===r?"var(--status-success)":"removed"===r?"var(--status-error)":"hunk"===r?"var(--accent)":"var(--text)"},children:e||"\xa0"})]},t)}),i>0&&(0,n.jsxs)("div",{style:{padding:"8px 10px",color:"var(--text-dim)",textAlign:"center",background:"var(--bg-subtle)"},children:["... ",i," more lines truncated ..."]})]})}function tO({text:e,isEmpty:t,isError:r}){let{t:i}=(0,d.s9)(),a=e.length>1e5,o=a?e.slice(0,1e5):e;return(0,n.jsx)("div",{className:`tool-call-output${r?" tool-call-output-error":""}`,children:(0,n.jsxs)("pre",{className:"tool-call-output-text","data-tool-output":"true",children:[t?i("messageView.noOutput"):o,a&&`
|
|
4
4
|
|