@37chengshan/ompweb 4.0.4 → 4.0.5
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 +9 -9
- 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/routes-manifest.json +24 -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/app-update/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/status/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 +9 -9
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +9 -9
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/required-server-files.json +2 -2
- package/.next/standalone/.next/routes-manifest.json +24 -2
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/app-update/route.js +1 -1
- package/.next/standalone/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/standalone/.next/server/app/api/git/status/route.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +9 -9
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/package.json +22 -4
- package/.next/standalone/server.js +1 -1
- package/.next/static/chunks/{1147.a11b66ffeb201d02.js → 1147.cb989e1cb0ba5ad6.js} +1 -1
- package/.next/static/chunks/{webpack-9691f4590ba70cb8.js → webpack-b10306427dc17cac.js} +1 -1
- package/desktop/main.js +17 -0
- package/next.config.ts +40 -23
- package/package.json +22 -4
- /package/.next/static/{r2kW0snAtbTZ8muUOUByQ → db1mVu1uee4ag1NduRcLL}/_buildManifest.js +0 -0
- /package/.next/static/{r2kW0snAtbTZ8muUOUByQ → db1mVu1uee4ag1NduRcLL}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1147],{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,{})]})}},68623:(e,t,r)=>{r.d(t,{r:()=>l,w:()=>s});var n=r(48250);let i=RegExp(String.raw`(?:(?<![A-Za-z0-9])[A-Za-z]:[\\/]|\\\\|~\/|\.\.?\/|(?<=^|[\s(,;])/(?=[^\s/]))${"(?:[.\\-_/\\\\]|(?![\\s\"'`<>()\\[\\]{}|,;\\p{P}\\p{S}])[^\\s\"'`<>()\\[\\]{}|,;])"}*`,"gu"),a=RegExp(String.raw`(?:^|(?<=[\s(,;]))[\w\u4e00-\u9fff.-]+(?:\/[\w\u4e00-\u9fff.-]+)+\.[a-zA-Z][a-zA-Z0-9]{0,7}(?=$|(?=[\s),;\p{P}\p{S}]))`,"gu"),o=/^(?:https?|ftp):\/\//i;function s(e){if(!e||o.test(e.trim()))return[{text:e,isPath:!1}];let t=[],r=(e,r)=>{let n;for(e.lastIndex=0;null!==(n=e.exec(r));){let i=n.index,a=i+n[0].length,o=r.slice(Math.max(0,i-8),i).toLowerCase();/https?:$/.test(o)||/^https?:\/\//.test(n[0])||n[0].length<2||/[?$^*()[\]{}|]/.test(n[0])||n[0].includes("\\\\")&&!n[0].startsWith("\\\\")||(0===n[0].length&&(e.lastIndex+=1),t.push({start:i,end:a,text:n[0]}))}};r(i,e),r(a,e),t.sort((e,t)=>e.start-t.start||e.end-t.end);let n=[],s=0;for(let r of t)!(r.end<=s)&&(r.start<s||(s<r.start&&n.push({text:e.slice(s,r.start),isPath:!1}),n.push({text:r.text,isPath:!0}),s=r.end));return s<e.length&&n.push({text:e.slice(s),isPath:!1}),n}function l(){return e=>{(0,n.YR)(e,"link",(e,t,r)=>{if(!r||"number"!=typeof t||1!==e.children.length||"text"!==e.children[0].type)return;let n=e.children[0].value;if(n!==e.url)return;let i=n.replace(/[^A-Za-z0-9\-._~:/?#[\]@!$&'()*+,;=%]+$/u,"").replace(/[.,;:!?]+$/u,"");if(i===n)return;e.url=i,e.children[0].value=i;let a=n.slice(i.length);r.children.splice(t+1,0,{type:"text",value:a})}),(0,n.YR)(e,"text",(e,t,r)=>{if(!r||"number"!=typeof t||"link"===r.type)return;let n=s(e.value);if(1===n.length&&!n[0].isPath)return;let i=n.map(e=>e.isPath?{type:"link",url:e.text,children:[{type:"text",value:e.text}]}:{type:"text",value:e.text});r.children.splice(t,1,...i)}),(0,n.YR)(e,"inlineCode",(e,t,r)=>{if(!r||"number"!=typeof t)return;let n=s(e.value);if(1===n.length&&!n[0].isPath)return;let i=n.map(e=>e.isPath?{type:"link",url:e.text,children:[{type:"text",value:e.text}]}:{type:"text",value:e.text});r.children.splice(t,1,...i)})}}},68925:(e,t,r)=>{r.d(t,{Ep:()=>m,T6:()=>h});var n=r(12115),i=r(5924),a=r(94764),o=r(63835),s=r(84678),l=r(68623);let d={...a.j,protocols:{...a.j.protocols,href:null},attributes:{...a.j.attributes,code:[["className",/^language-./,"math-inline","math-display"]],a:(a.j.attributes?.a??[]).filter(e=>"href"!==e).concat([["href",/^(?:https?:|mailto:|file:|[a-zA-Z]:(?:[\\/]|%5[cC])|\\\\|%5[cC]%5[cC]|\/|\.{1,2}\/|#|\?|[\w\u4e00-\u9fff.-]+\/)/]])},strip:[...a.j.strip||[],"iframe","object","style","form"]},c={remarkPlugins:[[s.A,{singleTilde:!1}],l.r],rehypePlugins:[i.A,[o.A,d]]},u=null,p=null;function h(e){let t=e.includes("$")||e.includes("\\(")||e.includes("\\["),[,i]=(0,n.useState)(0);return(0,n.useEffect)(()=>{if(!t||u)return;let e=!1;return(!p&&(p=(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)),u={remarkPlugins:[...c.remarkPlugins,e],rehypePlugins:[...c.rehypePlugins,[t,{throwOnError:!1,strict:!1}]]}})().catch(e=>{throw p=null,e})),p).then(()=>{e||i(e=>e+1)}).catch(()=>{}),()=>{e=!0}},[t]),t&&u?u:c}let g=[],f=new Map;function m(e){let t=f.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=>v(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=x(r,e+1,t,s);if(a){n.push(`${t}$$`,`${t}${i}`);for(let i=e+1;i<a.index;i++)n.push(v(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=x(r,e+1,t,s);if(i&&(i.glued||""!==t)){n.push(`${t}$$`);for(let a=e+1;a<i.index;a++)n.push(v(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(g.length>=200){let e=g.shift();f.delete(e)}return g.push(e),f.set(e,r),r}function x(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 v(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})},91147:(e,t,r)=>{r.r(t),r.d(t,{AppShell:()=>aA});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)(()=>{try{return"false"!==localStorage.getItem("omp-web:native-folder-picker")}catch{return!0}});(0,i.useEffect)(()=>{try{localStorage.setItem("omp-web:native-folder-picker",s?"true":"false")}catch{}},[s]);let u=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let r=window.piDesktop;s&&r?.selectDirectory&&!u.current&&(u.current=!0,r.selectDirectory().then(r=>{r?t(r):e()}))},[s,t,e]);let[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(""),[k,w]=(0,i.useState)(null),[j,S]=(0,i.useState)(""),[C,I]=(0,i.useState)([]),[T,R]=(0,i.useState)(null),[z,M]=(0,i.useState)(null),[E,W]=(0,i.useState)(!0),A=p({onClose:()=>{r||e()},active:null!==x}),D=(0,i.useCallback)(async e=>{W(!0),M(null);try{let t=await h(e),r=t.path??e??"/";b(r),w(t.parentPath??null),S(r),I(t.directories??[]),R(t.drives??null)}catch(e){M(e instanceof Error?e.message:String(e))}finally{W(!1)}},[]);(0,i.useEffect)(()=>{v(document.body),D()},[D]);let $=j.trim()!==y,N=!!y&&!$&&!r,L=!!k||/^[a-zA-Z]:[\\/]?$/.test(y);return x?(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:A,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")})}),window.piDesktop?.isDesktop&&(0,n.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:"var(--text-muted)",cursor:"pointer",marginRight:8},children:[(0,n.jsx)("input",{type:"checkbox",checked:s,onChange:e=>c(e.target.checked),style:{accentColor:"var(--accent)"}}),o("directoryPicker.useNative")]}),(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=j.trim();t&&D(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 D(k??void 0),disabled:E||!L,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:L?"pointer":"default",opacity:L?1:.45,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{L&&!E&&(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:j,"aria-label":o("directoryPicker.pathPlaceholder")||"Directory path",placeholder:o("directoryPicker.pathPlaceholder"),autoFocus:!0,autoComplete:"off",spellCheck:!1,onChange:e=>{S(e.target.value),M(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:E||!j.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:E||!j.trim()?"default":"pointer",opacity:E||!j.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=>{!E&&j.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:[E?(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!==T?T.length>0?T.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void D(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")}):C.length>0?C.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void D(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")}),(z||a)&&(0,n.jsx)("div",{style:{padding:"8px",color:"var(--status-error)",fontSize:11},children:z??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(y),disabled:!N,title:o($?"directoryPicker.openPathBeforeSelecting":"directoryPicker.selectCurrentDirectory"),style:{padding:"6px 16px",border:0,borderRadius:6,background:"var(--accent)",color:"var(--on-accent)",fontSize:13,fontWeight:600,opacity:N?1:.6,cursor:N?"pointer":"default"},children:o(r?"directoryPicker.checking":"directoryPicker.selectThisFolder")})]})]})}),x):null}var x=r(82749),v=r(92298),y=r(36338);function b(e){return e.omp.installed?e.proxy.effective||"auto"!==e.proxy.config.mode?"ok":"warn":"error"}function k({label:e,ok:t,detail:r}){return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11.5,lineHeight:1.5},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{width:7,height:7,borderRadius:"50%",background:t?"var(--status-success)":"var(--status-error)",flexShrink:0}}),(0,n.jsx)("span",{style:{color:"var(--text-muted)",minWidth:78,flexShrink:0},children:e}),(0,n.jsx)("code",{style:{fontFamily:"var(--font-mono)",fontSize:10.5,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r})]})}function w(){let{t:e}=(0,d.s9)(),[t,r]=(0,i.useState)(null),[a,o]=(0,i.useState)(null),[s,l]=(0,i.useState)(!1),c=(0,i.useCallback)(()=>{o(null),fetch("/api/diagnostics").then(e=>e.ok?e.json():null).then(e=>{e?r(e):o("HTTP failed")}).catch(e=>o(e instanceof Error?e.message:String(e)))},[]);(0,i.useEffect)(()=>{c()},[c]);let u=(0,i.useCallback)(async()=>{l(!0);try{let e=await fetch("/api/omp-update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"restart"})}),t=await e.json();e.ok&&t.ok?setTimeout(c,1500):o(t.error??"restart failed")}catch(e){o(e instanceof Error?e.message:String(e))}finally{l(!1)}},[c]),p=t?b(t):null;return(0,n.jsxs)("div",{style:{minWidth:300,maxWidth:380,padding:8,display:"flex",flexDirection:"column",gap:7},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"2px 4px"},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,borderRadius:"50%",background:"ok"===p?"var(--status-success)":"warn"===p?"var(--status-warning)":"var(--status-error)",flexShrink:0}}),(0,n.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"var(--text)"},children:e("ok"===p?"diagnostics.healthy":"warn"===p?"diagnostics.warning":"diagnostics.error")}),(0,n.jsx)("button",{type:"button",onClick:()=>c(),"aria-label":e("diagnostics.refresh"),title:e("diagnostics.refresh"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,marginLeft:"auto",padding:0,border:"none",borderRadius:5,background:"transparent",color:"var(--text-dim)",cursor:"pointer"},children:(0,n.jsx)(x.A,{size:11,"aria-hidden":"true"})})]}),a&&(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--status-error)",padding:"0 4px"},children:[e("diagnostics.error"),": ",a]}),t&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k,{label:e("diagnostics.omp"),ok:t.omp.installed,detail:t.omp.installed?`${t.omp.version??"?"} \xb7 ${t.omp.path??""}`:e("diagnostics.ompMissing")}),(0,n.jsx)(k,{label:e("diagnostics.proxy"),ok:!!t.proxy.effective,detail:t.proxy.effective??e("diagnostics.proxyOff")}),(0,n.jsx)(k,{label:e("diagnostics.rpc"),ok:t.rpc.activeSessions>0,detail:`${t.rpc.activeSessions} ${e("diagnostics.sessions")}`}),(0,n.jsx)(k,{label:e("diagnostics.server"),ok:!0,detail:`${t.server.platform}/${t.server.arch} \xb7 node ${t.server.node}`}),(!t.omp.installed||0===t.rpc.activeSessions)&&(0,n.jsxs)("button",{type:"button",onClick:()=>void u(),disabled:s,style:{display:"inline-flex",alignItems:"center",gap:5,alignSelf:"flex-start",padding:"4px 10px",borderRadius:"var(--radius-control)",background:"var(--accent)",color:"var(--on-accent)",border:"none",fontSize:11,fontWeight:600,cursor:s?"default":"pointer",opacity:s?.6:1},children:[(0,n.jsx)(v.A,{size:11,"aria-hidden":"true"}),e(s?"diagnostics.restarting":"diagnostics.restartRpc")]})]})]})}function j(){let{t:e}=(0,d.s9)(),[t,r]=(0,i.useState)("ok"),[a,o]=(0,i.useState)(!1),s=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/diagnostics").then(e=>e.ok?e.json():null).then(t=>{!e&&t&&r(b(t))}).catch(()=>{e||r("error")})};t();let n=setInterval(t,3e4);return()=>{e=!0,clearInterval(n)}},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{ref:s,type:"button",onClick:()=>o(e=>!e),"aria-label":e("diagnostics.status"),"aria-expanded":a,"aria-haspopup":"menu",title:e("diagnostics.status"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:a?"var(--bg-selected)":"transparent",color:"var(--text-dim)",cursor:"pointer",position:"relative"},children:[(0,n.jsx)(y.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",right:3,bottom:3,width:6,height:6,borderRadius:"50%",background:"ok"===t?"var(--status-success)":"warn"===t?"var(--status-warning)":"var(--status-error)",border:"1.5px solid var(--bg-panel)"}})]}),a&&(0,n.jsx)("div",{role:"menu",style:{position:"fixed",zIndex:1100,top:46,left:14,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-pop)"},onClick:e=>e.stopPropagation(),children:(0,n.jsx)(w,{})})]})}var S=r(9005),C=r(76721),I=r(95660),T=r(14225),R=r(92571),z=r(83254),M=r(87708),E=r(50825),W=r(68562),A=r(64577),D=r(79530),$=r(11012),N=r(35484);let L="var(--text-dim)";function F({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:L}),(0,n.jsx)("path",{d:"M1 6h14.5L14 13H2L1 6Z",stroke:L,strokeWidth:"1",fill:L,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:L,strokeWidth:"1",fill:L,fillOpacity:"0.1"})})}function P({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:L,strokeWidth:"1",fill:L,fillOpacity:"0.08"}),(0,n.jsx)("path",{d:"M10 2v3h3",stroke:L,strokeWidth:"1",fill:"none",strokeLinejoin:"round"})]})}function B({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,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:L,letterSpacing:"0",children:e})]})}function O({size:e=14}){return(0,n.jsx)(B,{label:"TS",size:e})}function H({size:e=14}){return(0,n.jsx)(B,{label:"TSX",size:e})}function K({size:e=14}){return(0,n.jsx)(B,{label:"JS",size:e})}function U({size:e=14}){return(0,n.jsx)(B,{label:"JSX",size:e})}function _({size:e=14}){return(0,n.jsx)(B,{label:"PY",size:e})}function q({size:e=14}){return(0,n.jsx)(B,{label:"{}",size:e})}function V({size:e=14}){return(0,n.jsx)(B,{label:"CSS",size:e})}function Y({size:e=14}){return(0,n.jsx)(B,{label:"SC",size:e})}function J({size:e=14}){return(0,n.jsx)(B,{label:"HTM",size:e})}function Z({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M3.5 9.5V7l1.5 1.5L6.5 7v2.5",stroke:L,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M8 7v2.5M7 9l1 1.5 1-1.5",stroke:L,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})}function G({size:e=14}){return(0,n.jsx)(B,{label:"YML",size:e})}function X({size:e=14}){return(0,n.jsx)(B,{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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M4 7.5l2 1.5-2 1.5",stroke:L,strokeWidth:"0.95",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M7.5 10.5h2.5",stroke:L,strokeWidth:"0.95",strokeLinecap:"round"})]})}function ee({size:e=14}){return(0,n.jsx)(B,{label:"RS",size:e})}function et({size:e=14}){return(0,n.jsx)(B,{label:"GO",size:e})}function er({size:e=14}){return(0,n.jsx)(B,{label:"SQL",size:e})}function en({size:e=14}){return(0,n.jsx)(B,{label:"GQL",size:e})}function ei({size:e=14}){return(0,n.jsx)(B,{label:"TF",size:e})}function ea({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,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:L,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"6",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:L,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"3.5",y:"8.5",width:"2",height:"1.5",rx:"0.3",stroke:L,strokeWidth:"0.8"})]})}function eo({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5.5",cy:"8.5",r:"1.5",stroke:L,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 8.5h2.5M8.5 8.5v1.5",stroke:L,strokeWidth:"0.9",strokeLinecap:"round"})]})}function es({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5",cy:"6.5",r:"1",stroke:L,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"9",cy:"6.5",r:"1",stroke:L,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"5",cy:"10",r:"1",stroke:L,strokeWidth:"0.85"}),(0,n.jsx)("path",{d:"M5 7.5V9",stroke:L,strokeWidth:"0.85",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M9 7.5v.5a2 2 0 0 1-2 2H6",stroke:L,strokeWidth:"0.85",strokeLinecap:"round",fill:"none"})]})}function el({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,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:L,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M5.5 8.5V7.5a1.5 1.5 0 0 1 3 0v1",stroke:L,strokeWidth:"0.9",strokeLinecap:"round",fill:"none"})]})}function ed({size:e=14}){return(0,n.jsx)(B,{label:"DOC",size:e})}function ec({size:e=14}){return(0,n.jsx)(B,{label:"PDF",size:e})}function eu({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"7",cy:"8.5",r:"1.3",stroke:L,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:L,strokeWidth:"0.8",strokeLinecap:"round"})]})}function ep(e,t=14){let r=e.toLowerCase(),i=r.split(".").pop()??"";if("dockerfile"===r||r.startsWith("dockerfile."))return(0,n.jsx)(ea,{size:t});if(".env"===r||r.startsWith(".env."))return(0,n.jsx)(eo,{size:t});if(".gitignore"===r||".gitattributes"===r||".gitmodules"===r)return(0,n.jsx)(es,{size:t});if("package-lock.json"===r||"yarn.lock"===r||"bun.lock"===r||"pnpm-lock.yaml"===r||"cargo.lock"===r)return(0,n.jsx)(el,{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)(eu,{size:t});switch(i){case"ts":return(0,n.jsx)(O,{size:t});case"tsx":return(0,n.jsx)(H,{size:t});case"js":case"mjs":case"cjs":return(0,n.jsx)(K,{size:t});case"jsx":return(0,n.jsx)(U,{size:t});case"py":return(0,n.jsx)(_,{size:t});case"json":case"jsonl":return(0,n.jsx)(q,{size:t});case"css":case"less":return(0,n.jsx)(V,{size:t});case"scss":return(0,n.jsx)(Y,{size:t});case"html":case"htm":return(0,n.jsx)(J,{size:t});case"md":case"mdx":return(0,n.jsx)(Z,{size:t});case"yaml":case"yml":return(0,n.jsx)(G,{size:t});case"toml":return(0,n.jsx)(X,{size:t});case"sh":case"bash":case"zsh":case"fish":return(0,n.jsx)(Q,{size:t});case"rs":return(0,n.jsx)(ee,{size:t});case"go":return(0,n.jsx)(et,{size:t});case"sql":return(0,n.jsx)(er,{size:t});case"graphql":case"gql":return(0,n.jsx)(en,{size:t});case"tf":case"hcl":return(0,n.jsx)(ei,{size:t});case"docx":return(0,n.jsx)(ed,{size:t});case"pdf":return(0,n.jsx)(ec,{size:t});case"lock":return(0,n.jsx)(el,{size:t});default:return(0,n.jsx)(P,{size:t})}}var eh=r(30808),eg=r(51087),ef=r(28999);async function em(e){let t=(0,ef.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,ef.e_)(e,t.name),isDir:t.isDir,size:t.size,children:t.isDir?[]:void 0,loaded:!t.isDir}))}async function ex(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 ev={modified:"fileExplorer.gitModified",added:"fileExplorer.gitAdded",deleted:"fileExplorer.gitDeleted",renamed:"fileExplorer.gitRenamed",untracked:"fileExplorer.gitUntracked",conflict:"fileExplorer.gitConflict"},ey={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 eb({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)(S.A,{size:13,strokeWidth:2.2,"aria-hidden":"true"})})}function ek({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,ef.A0)(e.fullPath),v=p.get(x),y=e.isDir&&(void 0!==v||h.has(x)),[b,k]=(0,i.useState)(e.children??[]),[w,j]=(0,i.useState)(e.loaded??!1),[S,W]=(0,i.useState)(!1),[A,D]=(0,i.useState)(!1),[$,N]=(0,i.useState)(!1),L=(0,i.useCallback)(async(t=!1)=>{if(!w||t){W(!0);try{let t=await em(e.fullPath);k(t),j(!0)}catch{}finally{W(!1)}}},[w,e.fullPath]);(0,i.useEffect)(()=>{f?w&&L(!0):j(!1)},[c]);let F=(0,i.useCallback)(()=>{if(e.isDir){let t=!f;l(e.fullPath,t),t&&!w&&L()}else a(e.fullPath,e.name)},[e.isDir,e.fullPath,e.name,w,f,L,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),w||L()}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,w,L,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||eg.oR.error(r.error??g("fileExplorer.revealFailed"))}catch{eg.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&&N(!0)},onBlur:()=>N(!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:A?"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)(C.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)(I.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):(0,n.jsx)(T.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):ep(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)"}}),!A&&!e.isDir&&v&&(0,n.jsx)("span",{title:g(ev[v.status]),"aria-label":g(ev[v.status]),style:{width:14,flexShrink:0,color:ey[v.status],fontFamily:"var(--font-mono)",fontSize:11,fontWeight:600,textAlign:"center"},children:v.code}),!A&&y&&(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)"}}),S&&(0,n.jsx)(R.A,{size:10,strokeWidth:2,color:"var(--text-dim)",style:{animation:"spin 0.8s linear infinite",flexShrink:0},"aria-hidden":"true"}),o&&A&&(0,n.jsx)(eh.m_,{content:B,children:(0,n.jsxs)("button",{onClick:t=>{t.stopPropagation(),o((0,ef.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)(z.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),g("fileExplorer.mention")]})}),(0,n.jsx)(eh.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)(M.A,{size:11,strokeWidth:2,"aria-hidden":"true"})})}),A&&!e.isDir&&(0,n.jsx)(eh.m_,{content:O,children:(0,n.jsx)("a",{href:`/api/files/${(0,ef.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)(E.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:[b.map(e=>(0,n.jsx)(ek,{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===b.length&&w&&(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 ew=(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),[k,w]=(0,i.useState)(0),[j,S]=(0,i.useState)(new Set),[C,I]=(0,i.useState)([]),[T,M]=(0,i.useState)("idle"),[E,L]=(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}:${k}`,V="idle"!==T,Y=(0,i.useMemo)(()=>new Map(C.map(e=>[(0,ef.A0)(e.filePath),e])),[C]),J=(0,i.useMemo)(()=>{let t=new Set,r=(0,ef.A0)(e).replace(/\/$/,"");for(let e of C){let n=(0,ef.gX)((0,ef.A0)(e.filePath));for(;(n===r||n.startsWith(`${r}/`))&&(t.add(n),n!==r);){let e=(0,ef.gX)(n);if(e===n)break;n=e}}return t},[e,C]),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&&(S(new Set(r.map(t=>(0,ef.e_)(e,t)))),w(e=>e+1))},[e]),X=(0,i.useCallback)(async(t,r)=>{K(null),P(null),L(0),M("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,ef.HG)(e)}?type=upload&conflict=${r}`),o.upload.onprogress=e=>{e.lengthComputable&&e.total>0&&L(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}));L(100),G(i)}catch(e){P(e instanceof Error?e.message:String(e))}finally{M("idle")}},[G,e]),Q=(0,i.useCallback)(async t=>{if(0!==t.length&&!V){O(null),S(new Set),K(null),P(null),L(0),M("checking");try{let r=await fetch(`/api/files/${(0,ef.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{M("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),S(new Set),O(null),K(null),P(null)),m(t),v(null);let r=!1;return em(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,k]),(0,i.useEffect)(()=>{let t=!1;return ex(e).then(e=>{t||I(e.isGitRepository?e.files:[])}).catch(()=>{t||I([])}),()=>{t=!0}},[e,r,k]);let er=V||null!==H||null!==F||null!==B,en=(0,i.useCallback)(()=>{B&&0!==B.uploaded.length&&o?.(B.uploaded.map(t=>(0,ef.qP)((0,ef.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"===T?u("fileExplorer.checkingFiles"):u("fileExplorer.uploadingPercent",{percent:E}),children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,minHeight:14,color:"var(--text-muted)"},children:["checking"===T?(0,n.jsx)(R.A,{size:13,strokeWidth:2.2,style:{animation:"spin 0.8s linear infinite"},"aria-hidden":"true"}):(0,n.jsx)(W.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),"uploading"===T&&(0,n.jsxs)("span",{style:{fontSize:10},children:[E,"%"]})]}),"uploading"===T&&(0,n.jsx)("div",{style:{height:3,marginTop:4,overflow:"hidden",borderRadius:2,background:"var(--border)"},children:(0,n.jsx)("div",{style:{width:`${E}%`,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)(eb,{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)(A.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)(D.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)($.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.errors.length})]})]}),B.uploaded.length>0&&o&&(0,n.jsx)(eh.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)(z.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),u("fileExplorer.mention")]})}),(0,n.jsx)(eb,{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)(N.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)(ek,{node:r,depth:0,cwd:e,onOpenFile:t,onAtMention:a,expandedPaths:y,onToggleExpanded:Z,refreshToken:q,highlightedPaths:j,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 ej(){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 eS="omp-web:last-open-by-project";function eC(){try{return window.localStorage}catch{return null}}function eI(e){try{let t=e.getItem(eS);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 eT(e){return e.projectKey??e.projectRoot??e.cwd}let eR=/^[a-zA-Z]:[\\/]/,ez=/^\/\//;function eM(e){let t=e.replace(/\\/g,"/"),r=eR.test(t)||ez.test(t);return t=t.replace(/\/{2,}/g,"/").replace(/\/+$/,""),r?t.toLowerCase():t}var eE=r(36619),eW=r(44825),eA=r(57990),eD=r(65738),e$=r(2125),eN=r(32159),eL=r(23637),eF=r(65377),eP=r(80846),eB=r(66763),eO=r(59680),eH=r(12363),eK=r(15480);let eU=new Set;function e_(e){if(0!==e.length)for(let t of[...eU])try{t(e)}catch{}}function eq(e){let t=/^[a-zA-Z]:/.test(e)||e.includes("\\"),r=e.replace(/[\/]+$/,"").replace(/\\/g,"/");return t?r.toLowerCase():r}let eV="omp-web:unread-session-ids",eY="omp-web:expanded-projects",eJ=new Set;function eZ(e,t){return t&&e.startsWith(t)?"~"+e.slice(t.length):e}function eG(e){let t=e.replace(/[\\/]+$/,""),r=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return r>=0?t.slice(r+1):t}function eX({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 eQ="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)",e0={play:eE.A,rocket:eW.A,wrench:eA.A};function e1({projectPath:e,anchor:t,open:r,onClose:a}){let{t:o}=(0,d.s9)(),[s,l]=(0,i.useState)(null),[c,u]=(0,i.useState)(null),[p,h]=(0,i.useState)(!1),[g,f]=(0,i.useState)(""),[m,x]=(0,i.useState)(""),[v,y]=(0,i.useState)("play"),b=(0,i.useCallback)(()=>{l(null),fetch(`/api/scripts?cwd=${encodeURIComponent(e)}`).then(e=>e.ok?e.json():null).then(e=>{e&&l(e.scripts)}).catch(()=>l([]))},[e]);(0,i.useEffect)(()=>{r&&b()},[r,b]);let k=(0,i.useCallback)(async t=>{u(t.name);try{let r=await fetch("/api/scripts/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,command:t.command,mode:"wait"})}),n=await r.json();r.ok?n.timedOut?eg.oR.info(o("projects.scriptTimedOut",{name:t.name})):0!==n.exitCode?eg.oR.error(o("projects.scriptFailed",{name:t.name,code:n.exitCode??"?"}),n.output?n.output.slice(0,300):void 0):eg.oR.success(o("projects.scriptDone",{name:t.name}),n.output?n.output.slice(0,300):void 0):eg.oR.error(n.error??o("projects.scriptRunFailed"))}catch{eg.oR.error(o("projects.scriptRunFailed"))}finally{u(null)}},[e,o]),w=(0,i.useCallback)(async()=>{if(g.trim()&&m.trim())try{let t=[...(s??[]).filter(e=>e.name!==g.trim()),{name:g.trim(),command:m.trim(),icon:v}];if(!(await fetch(`/api/scripts?cwd=${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({scripts:t})})).ok)return void eg.oR.error(o("projects.scriptSaveFailed"));f(""),x(""),y("play"),h(!1),b(),eg.oR.success(o("projects.scriptSaved",{name:g.trim()}))}catch{eg.oR.error(o("projects.scriptSaveFailed"))}},[e,s,g,m,v,b,o]),j=(0,i.useCallback)(async t=>{let r=(s??[]).filter(e=>e.name!==t);try{await fetch(`/api/scripts?cwd=${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({scripts:r})}),l(r)}catch{}},[e,s]);return(0,n.jsxs)(e4,{anchor:t,open:r,onClose:a,placement:"below",minWidth:240,align:"end",children:[(0,n.jsx)("div",{style:{padding:"5px 9px 3px",fontSize:10,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.04em",fontFamily:"var(--font-mono)"},children:o("projects.quickScripts")}),null===s&&(0,n.jsx)("div",{style:{padding:"6px 9px",fontSize:11,color:"var(--text-dim)"},children:o("projects.scriptLoading")}),null!==s&&0===s.length&&(0,n.jsx)("div",{style:{padding:"6px 9px",fontSize:11,color:"var(--text-dim)"},children:o("projects.noScripts")}),s?.map(e=>{let t=e0[e.icon??"play"]??eE.A;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"2px 4px"},children:[(0,n.jsxs)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",disabled:null!==c,onClick:()=>{k(e)},title:e.command,style:{display:"flex",alignItems:"center",gap:7,flex:1,minWidth:0,padding:"6px 7px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:null===c?"pointer":"default",textAlign:"left",fontSize:11},children:[(0,n.jsx)("span",{style:{flexShrink:0,color:(e.name,"var(--accent)"),display:"inline-flex"},children:c===e.name?(0,n.jsx)(R.A,{size:12,className:"animate-spin"}):(0,n.jsx)(t,{size:12,"aria-hidden":"true"})}),(0,n.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),e.description&&(0,n.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontSize:10},children:e.description})]}),(0,n.jsx)("button",{type:"button","aria-label":o("projects.removeScript",{name:e.name}),title:o("projects.removeScript",{name:e.name}),onClick:()=>void j(e.name),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,border:"none",borderRadius:5,background:"transparent",color:"var(--text-dim)",cursor:"pointer",flexShrink:0},children:(0,n.jsx)(eD.A,{size:11,"aria-hidden":"true"})})]},e.name)}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"4px 0"}}),p?(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5,padding:"6px 9px"},children:[(0,n.jsx)("input",{value:g,onChange:e=>f(e.target.value),placeholder:o("projects.addScriptName"),style:{padding:"5px 8px",borderRadius:6,background:"var(--bg)",border:"1px solid var(--border)",color:"var(--text)",fontSize:11,outline:"none"}}),(0,n.jsx)("input",{value:m,onChange:e=>x(e.target.value),placeholder:o("projects.addScriptCommand"),style:{padding:"5px 8px",borderRadius:6,background:"var(--bg)",border:"1px solid var(--border)",color:"var(--text)",fontSize:11,fontFamily:"var(--font-mono)",outline:"none"}}),(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:5},children:Object.keys(e0).map(e=>{let t=e0[e];return(0,n.jsx)("button",{type:"button",onClick:()=>y(e),"aria-label":e,title:e,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:26,height:26,borderRadius:6,border:v===e?"1.5px solid var(--accent)":"1px solid var(--border)",background:v===e?"var(--bg-selected)":"var(--bg)",color:v===e?"var(--accent)":"var(--text-muted)",cursor:"pointer"},children:(0,n.jsx)(t,{size:13,"aria-hidden":"true"})},e)})}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,justifyContent:"flex-end"},children:[(0,n.jsx)("button",{type:"button",onClick:()=>h(!1),style:{padding:"4px 9px",borderRadius:6,background:"transparent",border:"1px solid var(--border)",color:"var(--text)",fontSize:11,cursor:"pointer"},children:o("projects.cancel")}),(0,n.jsx)("button",{type:"button",onClick:()=>void w(),disabled:!g.trim()||!m.trim(),style:{padding:"4px 10px",borderRadius:6,background:"var(--accent)",color:"var(--on-accent)",border:"none",fontSize:11,fontWeight:600,cursor:g.trim()&&m.trim()?"pointer":"default",opacity:g.trim()&&m.trim()?1:.5},children:o("projects.save")})]})]}):(0,n.jsxs)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>h(!0),style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--accent)",cursor:"pointer",textAlign:"left",fontSize:11},children:[(0,n.jsx)(e$.A,{size:12,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:o("projects.addScript")})]})]})}function e2({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:eQ},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:s})}function e4({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.target?.closest?.("input, textarea")){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 e5(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 e6="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function e8(){let[e,t]=(0,i.useState)(!1),[r,a]=(0,i.useState)(!1),o=(0,i.useRef)(null),s=(0,i.useRef)(null),l=ej(),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:e6[Math.floor(Math.random()*e6.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?"v4.0.4":"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 e3({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:v,onExplorerRefresh:y,explorerRefreshing:b,onExplorerRefreshDone:k,onAtMention:w,onAtMentions:S,onOpenSettings:I,onOpenArchive:T,updateAvailable:R}){let{t:z}=(0,d.s9)(),[M,E]=(0,i.useState)([]),[D,$]=(0,i.useState)(!0),[N,L]=(0,i.useState)(null),[F,P]=(0,i.useState)(null),[B,O]=(0,i.useState)(""),[H,K]=(0,i.useState)([]),[U,_]=(0,i.useState)(null),[q,V]=(0,i.useState)(null),[Y,J]=(0,i.useState)(!1),[Z,G]=(0,i.useState)(!1),[X,Q]=(0,i.useState)(null),[ee,et]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eY);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}})()),[er,en]=(0,i.useState)(null),[ei,ea]=(0,i.useState)({}),[eo,es]=(0,i.useState)(!1),[el,ed]=(0,i.useState)(!1),[ec,eu]=(0,i.useState)(""),[ep,ef]=(0,i.useState)(null),[em,ex]=(0,i.useState)(!1),[ev,ey]=(0,i.useState)(null),eb=(0,i.useRef)(null),ek=(0,i.useRef)(null),[ej,eR]=(0,i.useState)(!0),[ez,eE]=(0,i.useState)(0),[eW,eA]=(0,i.useState)(!1),[eD,eO]=(0,i.useState)(!1),[eH,eK]=(0,i.useState)(()=>new Set),[eU,eX]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eV);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}})()),e0=(0,i.useRef)(new Set),[e1,e4]=(0,i.useState)(()=>Date.now()),[e6,tt]=(0,i.useState)(!1),[tr,tn]=(0,i.useState)(""),[ti,ta]=(0,i.useState)(!1),to=(0,i.useRef)(null),ts=(0,i.useRef)(!1),tl=(0,i.useRef)(null),td=(0,i.useRef)(null),tc=(0,i.useRef)(null),tu=(0,i.useRef)(null),tp=(0,i.useCallback)(async(e=!1)=>{tu.current?.abort();let t=new AbortController;tu.current=t;try{e&&$(!0);let r={};tc.current&&(r["If-None-Match"]=tc.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&&(tc.current=i);let a=await n.json();E(a.sessions),ts.current||eK(new Set(a.runningSessionIds??[]));let o=new Set(a.sessions.map(e=>e.id));eX(e=>{if(0===e.size)return e;let t=new Set([...e].filter(e=>o.has(e)));return t.size===e.size?e:t}),L(null),e||(eO(!0),tl.current&&clearTimeout(tl.current),tl.current=setTimeout(()=>eO(!1),2e3))}catch(e){if(e?.name==="AbortError")return;L(z("sessionSidebar.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}finally{e&&$(!1)}},[z]),th=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=!th.current;th.current=!0,tp(e)},[tp,u]);let tg=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();K(t.projects??[]),V(null),tb.current=!0}catch(e){V(z("projects.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}},[z]);(0,i.useEffect)(()=>{tg()},[tg,u]),(0,i.useEffect)(()=>{let e=setInterval(()=>e4(Date.now()),6e4);return()=>clearInterval(e)},[]),(0,i.useEffect)(()=>{if(null!==ee)try{window.localStorage.setItem(eY,JSON.stringify([...ee]))}catch{}},[ee]),(0,i.useEffect)(()=>{try{0===eU.size?window.localStorage.removeItem(eV):window.localStorage.setItem(eV,JSON.stringify([...eU]))}catch{}},[eU]);let tf=(0,i.useRef)(null),tm=(0,i.useCallback)(()=>{tf.current||(tf.current=setTimeout(()=>{tf.current=null,tp(!1)},300))},[tp]),tx=(0,i.useRef)(new Map),tv=(0,i.useCallback)(e=>{for(let t of(eK(t=>{let r=new Set(t);for(let t of e)r.add(t);return r}),e)){let e=tx.current.get(t);e&&clearTimeout(e),tx.current.set(t,setTimeout(()=>{tx.current.delete(t),eK(e=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r})},15e3))}},[]);(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?(ts.current=!0,eK(new Set(t.runningSessionIds??[])),t.refreshSessionList&&tm()):"sessions-changed"===t.type?(t.refreshSessionList&&tm(),e_(t.sessionIds??[]),t.externallyRunning?.length&&tv(t.externallyRunning)):"externally-running"===t.type&&t.externallyRunning?.length&&tv(t.externallyRunning)}catch{}},()=>{tf.current&&clearTimeout(tf.current),e.close()}},[tp,tm,tv]),(0,i.useEffect)(()=>{let t=e0.current,r=[...t].filter(t=>!eH.has(t)&&t!==e),n=[...eH].filter(e=>!t.has(e));(r.length>0||n.length>0)&&eX(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)&&tp(!1),e0.current=eH},[eH,e,tp]),(0,i.useEffect)(()=>{e&&eX(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r})},[e]),(0,i.useEffect)(()=>{void 0!==v&&eE(e=>e+1)},[v]),(0,i.useEffect)(()=>{fetch("/api/home").then(e=>e.json()).then(e=>{e.home&&O(e.home)}).catch(()=>{})},[]);let ty=(0,i.useRef)(!1),tb=(0,i.useRef)(!1),tk=(0,i.useCallback)(e=>{if(!e)return null;for(let t of Object.values(ei))if(t.worktrees.some(t=>eq(t.path)===eq(e)))return t.projectRoot;let t=H.find(t=>eM(t.path)===eM(e));if(t)return t.path;let r=eM(e),n=M.find(e=>eM(e.cwd)===r);return n?.projectRoot??e},[ei,M,H]),tw=(0,i.useCallback)(e=>{et(t=>{if(t?.has(e))return t;let r=new Set(t??[]);return r.add(e),r})},[]),tj=(0,i.useCallback)(e=>{et(t=>{if(!t?.has(e))return t;let r=new Set(t);return r.delete(e),r})},[]),tS=(0,i.useCallback)(e=>{et(t=>{let r=new Set(t??[]);return r.has(e)?r.delete(e):r.add(e),r})},[]),tC=(0,i.useCallback)(e=>{t_.current=!1,P(e),tw(e)},[tw]),tI=(0,i.useRef)(null);(0,i.useEffect)(()=>{tI.current!==F&&(tI.current=F,g?.(F,tk(F)))},[F,g,tk]);let tT=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(h&&h!==tT.current){tT.current=h,P(h);let e=tk(h);e&&tw(e)}},[h,tk,tw]);let[tR,tz]=(0,i.useState)(0);(0,i.useLayoutEffect)(()=>{if(!F)return;let e=!1;return fetch(`/api/worktrees?cwd=${encodeURIComponent(F)}`).then(e=>e.json()).then(t=>{if(e||t.error||!t.projectRoot)return;let r=t.projectRoot,n={forCwd:F,projectRoot:r,isGit:t.isGit??!1,isTopLevel:t.isTopLevel??!1,worktrees:t.worktrees??[]};ea(e=>{let t=eq(r),i=e[t];if(i&&eq(i.projectRoot)!==t){let r={...e};return delete r[eq(i.projectRoot)],r[t]=n,r}return{...e,[t]:n}})}).catch(()=>{}),()=>{e=!0}},[F,tR,u]);let tM=(()=>{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=H.find(t=>eM(t.path)===eM(e));return r?r.path:e})(),tE=(0,i.useRef)(new Map),tW=(0,i.useMemo)(()=>{let e=M;if(t&&!e.some(e=>e.id===t.id)){let r=tM??t.cwd,n=r?eM(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 eH){if(r.has(e))continue;let t=tE.current.get(e);t||(t=new Date().toISOString(),tE.current.set(e,t));let i=tM??F??"",a=i?eM(i):void 0;n.push({id:e,path:"",cwd:F??"",name:void 0,created:t,modified:t,messageCount:1,firstMessage:"",projectRoot:i,...a?{projectKey:a}:{}})}if(tE.current.size>n.length)for(let e of[...tE.current.keys()])(!eH.has(e)||r.has(e))&&tE.current.delete(e);return n.length?[...e,...n]:e},[M,t,tM,eH,F]),tA=(0,i.useMemo)(()=>{let e=H,t=!!tM&&e.some(e=>eM(e.path)===eM(tM));tM&&!t&&(e=[...e,{path:tM}]);let r=new Set(e.map(e=>eM(e.path)));for(let t of eH){if(M.some(e=>e.id===t))continue;let n=tM??F??"";n&&!r.has(eM(n))&&(e=[...e,{path:n}],r.add(eM(n)))}return e},[tM,H,eH,M,F]),tD=(0,i.useMemo)(()=>tk(F),[tk,F]),t$=!!(t||[...eH].some(e=>!M.some(t=>t.id===e))),tN=(0,i.useMemo)(()=>[...tA].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)}),[tA]),tL=(0,i.useRef)(null),tF=(0,i.useMemo)(()=>{if(t$&&tL.current){let e=tL.current,t=new Set(e.map(e=>eM(e.path))),r=[...e];for(let e of tN)t.has(eM(e.path))||r.push(e);return r}return tL.current=tN,tN},[tN,t$]),tP=(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(eM(t.path),e)}for(let e of t){let t=eT(e);if(!t)continue;let i=n.get(eM(e.projectKey??t))??r.get(t);i&&i.push(e)}return r})(tF,tW),[tF,tW]),tB=(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=eT(t);if(!e)continue;let r=eM(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})(tW,eH,eU),[tW,eH,eU]),tO=(0,i.useDeferredValue)(tr),tH=e6||ti||tO.trim().length>0,tK=(0,i.useMemo)(()=>{let e=tO.trim().toLowerCase(),t=[];for(let r of tF){let n=tP.get(r.path)??[];ti&&(n=n.filter(e=>eH.has(e.id))),e&&(n=n.filter(t=>(t.name??"").toLowerCase().includes(e)||t.firstMessage.toLowerCase().includes(e))),(0!==n.length||!ti&&(!e||eG(r.path).toLowerCase().includes(e)||(r.alias??"").toLowerCase().includes(e)))&&t.push({project:r,sessions:n})}return t},[tF,tP,ti,tO,eH]),tU=(0,i.useMemo)(()=>{let e=new Map;for(let{project:t,sessions:r}of tK)e.set(t.path,e5(r));return e},[tK]);(0,i.useEffect)(()=>{if(null===ee||!tb.current)return;let e=new Set(tF.map(e=>e.path)),t=[...ee].filter(t=>!e.has(t));0!==t.length&&et(e=>{if(!e)return e;let r=new Set(e);return t.forEach(e=>r.delete(e)),r})},[ee,tF]);let t_=(0,i.useRef)(!1),tq=(0,i.useRef)(0),tV=(0,i.useRef)(null);(0,i.useEffect)(()=>()=>{tV.current&&(clearTimeout(tV.current),tV.current=null)},[]),(0,i.useEffect)(()=>{if(s)return;if(o&&!ty.current){if(0===M.length)return;let e=M.find(e=>e.id===o);if(e){tq.current=0,ty.current=!0,P(e.cwd),tw(eT(e)),r(e,!0);return}if(tq.current<8){tq.current+=1,tV.current&&(clearTimeout(tV.current),tV.current=null),tV.current=setTimeout(()=>{tV.current=null,tp(!1)},1e3);return}tq.current=0,ty.current=!0,l?.()}if(null!==F&&!t_.current)return;let e=tF[0];e&&(P(e.path),tw(e.path),t_.current=0===M.length)},[M,F,o,s,r,l,tF,tw,tp]);let tY=(0,i.useRef)(!1);(0,i.useEffect)(()=>{tY.current||tD&&(tY.current=!0,null===ee&&tw(tD))},[tD,ee,tw]);let tJ=(0,i.useCallback)(async e=>{let t=(e??"").trim();if(t&&!Z){G(!0),Q(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 Q((0,c.K)({...r,error:r.error??`HTTP ${e.status}`}));await tg(),P(r.project.path),tw(r.project.path),J(!1)}catch(e){Q(e instanceof Error?e.message:String(e))}finally{G(!1)}}},[Z,tg,tw]),tZ=(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(z("projects.updateFailed"));await tg()}catch(e){eg.oR.error(e instanceof Error?e.message:String(e))}},[tg,z]),tG=(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(z("projects.reorderFailed"));await tg()}catch(e){eg.oR.error(e instanceof Error?e.message:String(e))}},[tg,z]),tX=(0,i.useCallback)(async e=>{if(_(null),!U||U===e)return;let t=[...tF],r=t.findIndex(e=>e.path===U),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 tG(t))},[U,tF,tG]),tQ=(0,i.useCallback)(async(e,t)=>{let r=[...tF],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 tG(r))},[tF,tG]),t0=(0,i.useCallback)(async e=>{if(!er){en(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 eg.oR.error((0,c.K)({...r,error:r.error??`HTTP ${t.status}`}));if(null!==tD&&eM(tD)===eM(e)){let t=tF.find(t=>t.path!==e);P(t?t.path:null)}tj(e),await tg()}finally{en(null)}}},[er,tD,tF,tj,tg]),t1=(0,i.useCallback)(async()=>{let e=ec.trim(),t=tD?ei[eq(tD)]:void 0;if(!e||em||!t)return;let r=t.projectRoot;ex(!0),ef(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 ef((0,c.K)({...n,error:n.error??`HTTP ${t.status}`}));let i=n.path;ed(!1),eu(""),es(!1),ea(t=>{let n=eq(r),a=t[n];return a?{...t,[n]:{...a,forCwd:i,worktrees:[...a.worktrees,{path:i,branch:e,isMain:!1}]}}:t}),P(i),tz(e=>e+1)}catch(e){ef(e instanceof Error?e.message:String(e))}finally{ex(!1)}},[ec,em,tD,ei]),t2=(0,i.useCallback)(async(e,t)=>{let r=tD?ei[eq(tD)]:void 0;if(!r||em)return;let n=r.projectRoot;ex(!0),ef(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 ey(e);ef((0,c.K)({...i,error:i.error??`HTTP ${r.status}`}));return}ey(null),null!==F&&eM(F)===eM(e)&&P(n),tz(e=>e+1)}catch(e){ef(e instanceof Error?e.message:String(e))}finally{ex(!1)}},[tD,ei,em,F]),t4=(0,i.useCallback)(()=>{es(!1),ed(!1),eu(""),ef(null),ey(null)},[]),t5=(0,i.useCallback)(e=>{t_.current=!1,e.cwd&&P(e.cwd),tw(eT(e)),r(e)},[r,tw]),t6=(0,i.useCallback)(()=>{if(!F)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,F)},[F,a]),[t8,t3]=(0,i.useState)(!1),t9=(0,i.useRef)(null),t7=(0,i.useCallback)(async e=>{if(e&&!t8){t3(!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 eg.oR.error(n.error??`HTTP ${r.status}`);eg.oR.success(z("sessionSidebar.imported")),tp(!1),tg()}catch(e){eg.oR.error(e instanceof Error?e.message:String(e))}finally{t3(!1)}}},[t8,tp,tg,z]),re=ee??eJ,rt=tD?ei[eq(tD)]:void 0,rr=(0,i.useCallback)(e=>{let t=ei[eq(e)];if(!t||!t.isGit||!t.isTopLevel)return null;let r=t.worktrees.find(e=>eq(e.path)===eq(F??""))??t.worktrees.find(e=>e.isMain);return r?r.branch??eZ(r.path,B):null},[ei,F,B]),rn=!!(rt?.isGit&&rt.isTopLevel&&F&&null!==tD&&eM(tD)===eM(rt.projectRoot)),ri=(0,i.useCallback)(()=>{es(e=>!e)},[]),ra=(0,i.useCallback)(e=>{let t=M.find(t=>t.id===e);t&&function(e,t=eC()){if(t)try{let r=eI(t);if(!(e in r))return;delete r[e],0===Object.keys(r).length?t.removeItem(eS):t.setItem(eS,JSON.stringify(r))}catch{}}(eT(t)),p?.(e),tp()},[M,p,tp]);(0,i.useEffect)(()=>{let t=M.find(t=>t.id===e);t&&function(e,t,r=eC()){if(r)try{let n=eI(r);n[e]=t,r.setItem(eS,JSON.stringify(n))}catch{}}(eT(t),t.id)},[M,e]);let ro=rn&&rt?(0,n.jsx)(te,{worktreeState:rt,selectedCwd:F,homeDir:B,wtDropdownOpen:eo,wtNewOpen:el,setWtNewOpen:ed,wtNewBranch:ec,setWtNewBranch:eu,wtError:ep,setWtError:ef,wtBusy:em,wtConfirmRemove:ev,setWtConfirmRemove:ey,onSelectWorktree:e=>{P(e),es(!1),ef(null)},onCreateWorktree:t1,onRemoveWorktree:(e,t)=>void t2(e,t),anchorRef:eb,newInputRef:ek,onClose:t4}):null;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[Y&&(0,n.jsx)(m,{busy:Z,error:X,onCancel:()=>{J(!1),Q(null)},onSelect:e=>void tJ(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.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:2,minWidth:0},children:[(0,n.jsx)(e8,{}),(0,n.jsx)(j,{})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:2},children:[T&&(0,n.jsx)(eh.m_,{content:z("sessionSidebar.archiveBrowserTitle"),side:"bottom",children:(0,n.jsx)(e2,{label:z("sessionSidebar.archiveBrowser"),onClick:T,children:(0,n.jsx)(eN.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eh.m_,{content:z("sessionSidebar.importTitle"),side:"bottom",children:(0,n.jsx)(e2,{label:z("sessionSidebar.import"),onClick:()=>t9.current?.click(),disabled:t8,children:(0,n.jsx)(eL.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eh.m_,{content:z("sessionSidebar.refresh"),side:"bottom",children:(0,n.jsx)(e2,{label:z("sessionSidebar.refresh"),active:eD,onClick:()=>{tp(!1),tg()},children:eD?(0,n.jsx)(A.A,{size:14,strokeWidth:2.2,"aria-hidden":"true"}):(0,n.jsx)(x.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})})]})]}),(0,n.jsx)("input",{ref:t9,type:"file",accept:".jsonl,.json,application/json,application/jsonl",style:{display:"none"},onChange:e=>{let t=e.target.files?.[0]??null;e.target.value="",t7(t)}}),(0,n.jsxs)("button",{onClick:t6,disabled:!F,className:"sidebar-new-session",title:F?z("sessionSidebar.newSessionIn",{cwd:F}):z("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:F?"var(--text)":"var(--text-dim)",cursor:F?"pointer":"not-allowed",fontSize:12.5,fontWeight:600,letterSpacing:"-0.01em",opacity:F?1:.65,transition:eQ},onMouseEnter:e=>{F&&(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)(e$.A,{size:15,strokeWidth:2.2,style:{color:"var(--accent)",flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{children:z("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:z("projects.heading")}),(0,n.jsx)(e2,{label:z("sessionSidebar.search"),title:z("sessionSidebar.searchTitle"),active:e6,onClick:()=>{let e=!e6;tt(e),e?setTimeout(()=>to.current?.focus(),0):tn("")},children:(0,n.jsx)(eF.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e2,{label:z("sessionSidebar.filterRunning"),title:z("sessionSidebar.filterRunningTitle"),active:ti,onClick:()=>ta(e=>!e),children:(0,n.jsx)(eP.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e2,{label:z("projects.add"),title:z("projects.addTitle"),onClick:()=>{J(!0),Q(null)},children:(0,n.jsx)(e$.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})})]}),e6&&(0,n.jsx)("div",{style:{padding:"0 10px 6px",flexShrink:0},children:(0,n.jsx)("input",{ref:to,value:tr,onChange:e=>tn(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),tt(!1),tn(""))},placeholder:z("sessionSidebar.searchPlaceholder"),"aria-label":z("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:ej&&(h||F)?"1 1 0":"1 1 auto",transition:"flex var(--dur-med) var(--ease-out-warm)",overflowY:"auto",padding:"2px 10px 10px",minHeight:80},children:[D&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12},children:z("sessionSidebar.loading")}),q&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:q}),N&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:N}),!D&&!q&&!N&&0===tF.length&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5},children:z("projects.noProjects")}),!D&&!q&&!N&&tF.length>0&&0===tK.length&&(0,n.jsx)("div",{style:{padding:"14px 4px",color:"var(--text-dim)",fontSize:11.5,lineHeight:1.5},children:z("sessionSidebar.noMatches")}),tK.map(({project:t,sessions:r})=>{let i=tU.get(t.path)??e5(r),a=null!==tD&&eM(tD)===eM(t.path),o=rr(t.path);return(0,n.jsx)(e7,{project:t,isActive:a,isExpanded:re.has(t.path),activity:tB.get(eM(t.path)),tree:i,hiddenCount:tH?0:Math.max(0,i.length-e9),selectedSessionId:e,runningSessionIds:eH,unreadSessionIds:eU,relativeTimeNow:e1,onActivate:tC,onToggleExpand:tS,onRemoveProject:t0,onUpdatePresentation:tZ,onDragPathChange:_,onDropProject:e=>void tX(e),onMoveProject:(e,t)=>void tQ(e,t),isDragTarget:null!==U&&U!==t.path,removeBusy:er===t.path,onSelectSession:t5,onRenamed:tp,onSessionDeleted:ra,activeWorktreeSwitcher:a?ro:null,worktreeBranch:o,worktreeToggleRef:a&&o?eb:void 0,worktreeOpen:!!a&&eo,onToggleWorktrees:a?ri:void 0,homeDir:B},t.path)})]}),(h||F)&&(0,n.jsxs)("div",{style:{borderTop:"1px solid var(--border)",display:"flex",flexDirection:"column",flex:ej?"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:()=>eR(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)(C.A,{size:12,strokeWidth:1.8,style:{transform:ej?"rotate(90deg)":"none",transition:"transform var(--dur-med) var(--ease-out-warm)",flexShrink:0},"aria-hidden":"true"}),z("sessionSidebar.explorer")]}),(0,n.jsx)("div",{inert:!ej||void 0,style:{display:"flex",alignItems:"center",opacity:+!!ej,pointerEvents:ej?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(eh.m_,{content:z("sessionSidebar.uploadFilesTitle"),side:"top",children:(0,n.jsx)("button",{onClick:()=>td.current?.openUploadPicker(),disabled:eW,title:z("sessionSidebar.uploadFilesTitle"),"aria-label":z("sessionSidebar.uploadFiles"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,background:"none",border:"none",color:"var(--text-dim)",cursor:eW?"default":"pointer",borderRadius:"var(--radius-control)",flexShrink:0,opacity:eW?.6:1,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{eW||(e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{eW||(e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none")},children:(0,n.jsx)(W.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})}),(0,n.jsx)(eh.m_,{content:z("sessionSidebar.refreshExplorer"),side:"top",children:(0,n.jsx)("button",{"aria-label":z("sessionSidebar.refreshExplorer"),onClick:()=>{y?y():eE(e=>e+1)},title:z("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)(x.A,{size:13,strokeWidth:2,"aria-hidden":"true",className:"icon-spin"}):(0,n.jsx)(x.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})]}),(0,n.jsx)("div",{className:"accordion-flow "+(ej?"is-open":""),inert:!ej||void 0,style:{flex:ej?"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)(ew,{ref:td,cwd:F??h,onOpenFile:f??(()=>{}),refreshKey:ez,onAtMention:w,onAtMentions:S,onUploadBusyChange:eA,onRefreshDone:k})})})]}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",flexShrink:0},children:(0,n.jsxs)("button",{className:"sidebar-settings-row",onClick:I,title:z("chatInput.settings"),"aria-label":z("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:eQ},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)(eB.A,{size:14,strokeWidth:2,"aria-hidden":"true"}),R&&(0,n.jsx)("span",{"aria-label":z("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:z("chatInput.settings")}),(0,n.jsx)(C.A,{size:13,strokeWidth:2,style:{flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true"})]})})]})}let e9=5;function e7({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:v,onMoveProject:y,isDragTarget:b,removeBusy:k,onSelectSession:w,onRenamed:j,onSessionDeleted:S,activeWorktreeSwitcher:I,worktreeBranch:R,worktreeToggleRef:z,worktreeOpen:M,onToggleWorktrees:E}){let{t:W}=(0,d.s9)(),[A,D]=(0,i.useState)(!1),[$,N]=(0,i.useState)(!1),[L,F]=(0,i.useState)(!1),[P,B]=(0,i.useState)(!1),[O,H]=(0,i.useState)(!1),K=(0,i.useRef)(null),[U,_]=(0,i.useState)(!1),[q,V]=(0,i.useState)(""),Y=(0,i.useRef)(null),J=(0,i.useRef)(!1),Z=(0,i.useCallback)(()=>{V(e.alias??""),_(!0),setTimeout(()=>Y.current?.select(),0)},[e.alias]),G=(0,i.useCallback)(()=>{if(J.current){J.current=!1,_(!1);return}let t=q.trim();_(!1),t!==(e.alias??"")&&m(e.path,{alias:t})},[q,e.alias,e.path,m]),X=(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||eg.oR.error(r.error??W("fileExplorer.revealFailed"))}catch{eg.oR.error(W("fileExplorer.revealFailed"))}},[W]),Q=e.alias??eG(e.path),ee=!!(a&&(a.running>0||a.unread>0)),et=s>0&&!L?o.slice(0,e9):o,er=A||$||P;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:!U,onDragStart:t=>{t.dataTransfer.setData("text/plain",e.path),t.dataTransfer.effectAllowed="move",x(e.path)},onDragOver:e=>{b&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},onDrop:t=>{t.preventDefault(),v(e.path)},onDragEnd:()=>x(null),onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),onFocus:()=>N(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||N(!1)},onKeyDown:e=>{"Escape"===e.key&&P&&(e.stopPropagation(),B(!1))},style:{display:"flex",alignItems:"center",gap:2,height:30,margin:0,padding:"0 6px 0 0",borderRadius:"var(--radius-control)",background:A?"var(--bg-hover)":"transparent",transition:eQ,...b?{outline:"1px solid var(--accent)",outlineOffset:-1}:{}},children:[U?(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)(T.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:"var(--text-muted)"},"aria-hidden":"true"}),(0,n.jsx)("input",{ref:Y,autoFocus:!0,"aria-label":W("projects.aliasPrompt"),value:q,onChange:e=>V(e.target.value),onBlur:G,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),G()),"Escape"===e.key&&(e.preventDefault(),J.current=!0,_(!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:A?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left"},children:[(0,n.jsx)(T.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:t?"var(--accent)":A?"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:Q})]}),R&&z&&(0,n.jsxs)("button",{type:"button",ref:z,onClick:E,"aria-expanded":M,"aria-haspopup":"menu",title:W("sessionSidebar.switchWorktreeTo",{path:R}),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:M?"var(--bg-selected)":"none",color:M?"var(--accent)":A?"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:R})]}),(0,n.jsx)("div",{style:{flex:1}}),(0,n.jsx)(eh.m_,{content:W("projects.quickScripts"),children:(0,n.jsx)("button",{type:"button",className:"sidebar-project-action",onClick:()=>{B(!1),H(e=>!e)},"aria-label":W("projects.quickScripts"),title:W("projects.quickScripts"),"aria-expanded":O,"aria-haspopup":"menu",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:O?"var(--bg-selected)":"transparent",color:O?"var(--accent)":"var(--text-dim)",cursor:"pointer",lineHeight:0,transition:eQ},children:(0,n.jsx)(eE.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})}),ee&&(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:er?"visible":"hidden"},children:[(0,n.jsx)("button",{type:"button",ref:K,className:"sidebar-project-action",onClick:()=>B(e=>!e),disabled:k,"aria-label":W("commandPalette.actions"),title:W("commandPalette.actions"),"aria-expanded":P,"aria-haspopup":"menu",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:P?"var(--bg-selected)":"transparent",color:"var(--text-dim)",cursor:k?"default":"pointer",opacity:k?.5:1,lineHeight:0,transition:eQ},children:(0,n.jsx)(eO.A,{size:13,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(e4,{anchor:K,open:P,onClose:()=>B(!1),placement:"below",minWidth:136,children:[(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{Z(),B(!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:()=>{B(!1),X(e.path)},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("fileExplorer.revealInFileManager")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{B(!1),H(!0)},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.quickScripts")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{B(!1),y(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:()=>{B(!1),y(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:k,onClick:()=>{B(!1),f(e.path)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--status-error)",cursor:k?"default":"pointer",textAlign:"left",fontSize:11},children:W("projects.remove",{name:Q})})]}),(0,n.jsx)(e1,{projectPath:e.path,anchor:K,open:O,onClose:()=>H(!1)})]}),(0,n.jsx)("button",{className:"sidebar-project-toggle",onClick:()=>g(e.path),"aria-label":r?W("projects.collapseProject",{name:Q}):W("projects.expandProject",{name:Q}),"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)(C.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&&I,r&&(0,n.jsx)("div",{className:"sidebar-project-sessions",style:{margin:"2px 0 0"},children:0===et.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:[et.map(e=>(0,n.jsx)(tt,{node:e,selectedSessionId:l,runningSessionIds:c,unreadSessionIds:u,relativeTimeNow:p,onSelectSession:w,onRenamed:j,onSessionDeleted:S,depth:0},e.session.id)),s>0&&(0,n.jsxs)("button",{onClick:()=>F(e=>!e),"aria-expanded":L,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:eQ},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)(eH.A,{size:11,strokeWidth:1.8,style:{flexShrink:0,transform:L?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"}),L?W("projects.showLess"):W("projects.showMoreSessions",{count:s})]})]})})]})}function te({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)(e4,{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)(A.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)(eX,{text:i.branch??eZ(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)(eD.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)(e$.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 tt=(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)(ti,{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 tr({size:e=14}){let{t}=(0,d.s9)(),r=ej();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 tn({size:e=14}){let{t}=(0,d.s9)(),r=ej();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 ti=(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,z]=(0,i.useState)(!1),[M,E]=(0,i.useState)(!1),[W,A]=(0,i.useState)(!1),D=(0,i.useRef)(null),$=(0,i.useRef)(null),N=(0,i.useRef)(null),L=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||M,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),A(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}/archive`,{method:"POST"})).ok)throw Error("Session archive failed");l?.(e.id)}catch{A(!1),eg.oR.error(f("sessionSidebar.archiveFailed"))}},[e.id,l,f]),U=(0,i.useCallback)(async()=>{z(!1),A(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"})).ok)throw Error("Session deletion failed");l?.(e.id)}catch{A(!1),eg.oR.error(f("sessionSidebar.deleteFailed"))}},[e.id,l,f]),_=(0,i.useCallback)(()=>{T(!1),z(!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||M)&&"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:W?.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:L.length>22?`${L.slice(0,22)}…`:L}):f("sessionSidebar.deleteConfirm",{title:L.length>22?`${L.slice(0,22)}…`:L})}),(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)(eK.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(),z(!0))},style:{display:"flex",alignItems:"center",flex:1,minWidth:0},children:(0,n.jsx)("span",{title:L,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:L})}),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)(eK.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)(eH.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)(tr,{size:12}),!r&&a&&(0,n.jsx)(tn,{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:N,className:"session-item-icon-button",onClick:e=>{e.stopPropagation(),E(e=>!e)},title:f("projects.actions"),"aria-label":f("projects.actions"),"aria-expanded":M,style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,lineHeight:0,border:"none",borderRadius:"var(--radius-control)",background:M?"var(--bg-selected)":"transparent",color:M?"var(--text)":"var(--text-dim)",cursor:"pointer"},children:(0,n.jsx)(eO.A,{size:14,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(e4,{anchor:N,open:M,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),z(!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 ta(e,t={}){return"thinking"===e.type&&!e.deferred&&!t.isStreaming&&(!e.thinking||""===e.thinking.trim())}function to(e,t={}){return(e.content??[]).filter(e=>!ta(e,t))}function ts(e,t={}){let r=to(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 tl(e){return e.filter(e=>"toolCall"===e.type).length}var td=r(99314),tc=r(66958),tu=r(72788),tp=r(5045),th=r(89034),tg=r(32316),tf=r(19870),tm=r(68925),tx=r(94309);function tv({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)(ty,{src:p,alt:t??"",onClose:()=>s(!1)}),document.body)]}):null}function ty({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 tb({children:e,className:t,isStreaming:r,cwd:a,onOpenFile:o}){let s=(0,i.useMemo)(()=>r?e:(0,tm.Ep)(e),[e,r]),{remarkPlugins:l,rehypePlugins:d}=(0,tm.T6)(r?"":s),c=(0,i.useMemo)(()=>{let e=({src:e,alt:t,...r})=>{delete r.node;let i="string"==typeof e?(0,tf.V)(e,a):null,o=i?`/api/files/${(0,ef.HG)(i)}?type=read`:e;return(0,n.jsx)(tv,{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,tx.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,tf.V)(e,a):null;if(c&&o){let t=(0,n.jsx)("a",{...r,href:e,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",{...r,href:e,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)(tg.oz,{remarkPlugins:l,rehypePlugins:d,components:c,urlTransform:e=>e,children:s})})}let tk=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,tw=/(?:\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 tj=r(68623),tS=r(6014),tC=r(64962),tI=r(79762),tT=r(67401);function tR({status:e,live:t}){let r={size:12,strokeWidth:2,"aria-hidden":!0};return"completed"===e?(0,n.jsx)(tC.A,{...r,color:"var(--accent)"}):"failed"===e?(0,n.jsx)(N.A,{...r,color:"var(--accent-strong)"}):"aborted"===e?(0,n.jsx)(tI.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)(tT.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 tz(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 tM(e){return null==e||!Number.isFinite(e)||e<=0?null:`$${e.toFixed(e<.01?4:2)}`}function tE(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 tW(e){if(!e)return null;let t=e.lastIndexOf("/");return(t>=0?e.slice(t+1):e).replace(/:.*$/,"")||null}var tA=r(82490),tD=r(84111);let t$=new Map;function tN({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)(tb,{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 tL(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 tF=(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)(tP,{message:e,cwd:a,onOpenFile:o,entryId:s,onFork:l,forking:d,onNavigate:c,prevAssistantEntryId:u,onEditContent:p}):"assistant"===e.role?(0,n.jsx)(tB,{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)(t0,{message:e,cwd:a,onOpenFile:o}):!1===e.display?(0,n.jsx)(t4,{message:e,cwd:a,onOpenFile:o}):(0,n.jsx)(t5,{message:e,cwd:a,onOpenFile:o}):"bashExecution"===e.role?(0,n.jsx)(rt,{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 tP({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,tS.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=tL(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)(tv,{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)(tN,{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)(eh.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)(A.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(td.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)(eh.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)(tc.A,{size:11,strokeWidth:1.8}),p("messageView.editFromHere")]})}),j&&(0,n.jsx)(eh.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)(tu.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 tB({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?tL(e.timestamp,x):null,y=(e.content??[]).map((e,t)=>({block:e,originalIndex:t})).filter(({block:e})=>!ta(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)(tO,{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 tO({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)(tH,{block:e,isStreaming:r,cwd:o,onOpenFile:s});if("thinking"===e.type)return(0,n.jsx)(tK,{block:e,duration:i,sessionId:l,entryId:d,blockIndex:c,isStreaming:r,thinkingDisplayMode:p});if("toolCall"===e.type){let i=t?.get(e.toolCallId),l=a?.get(e.toolCallId);return(0,n.jsx)(tU,{block:e,result:i,duration:l,isStreaming:r,defaultCollapsed:u,onOpenFile:s,cwd:o})}return null}let tH=(0,i.memo)(function({block:e,isStreaming:t,cwd:r,onOpenFile:i}){return(0,n.jsx)(tN,{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),tK=(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)(eh.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=t$.get(n);if(i)return t$.delete(n),t$.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 t$.delete(n),e});if(t$.set(n,a),t$.size>100){let e=t$.keys().next().value;e&&t$.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)(eh.R6,{className:"activity-row-trigger",children:[(0,n.jsx)("span",{className:"activity-row-indicator","aria-hidden":!0,children:(0,n.jsx)(tp.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)(eH.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([[1147],{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,{})]})}},68623:(e,t,r)=>{r.d(t,{r:()=>l,w:()=>s});var n=r(48250);let i=RegExp(String.raw`(?:(?<![A-Za-z0-9])[A-Za-z]:[\\/]|\\\\|~\/|\.\.?\/|(?<=^|[\s(,;])/(?=[^\s/]))${"(?:[.\\-_/\\\\]|(?![\\s\"'`<>()\\[\\]{}|,;\\p{P}\\p{S}])[^\\s\"'`<>()\\[\\]{}|,;])"}*`,"gu"),a=RegExp(String.raw`(?:^|(?<=[\s(,;]))[\w\u4e00-\u9fff.-]+(?:\/[\w\u4e00-\u9fff.-]+)+\.[a-zA-Z][a-zA-Z0-9]{0,7}(?=$|(?=[\s),;\p{P}\p{S}]))`,"gu"),o=/^(?:https?|ftp):\/\//i;function s(e){if(!e||o.test(e.trim()))return[{text:e,isPath:!1}];let t=[],r=(e,r)=>{let n;for(e.lastIndex=0;null!==(n=e.exec(r));){let i=n.index,a=i+n[0].length,o=r.slice(Math.max(0,i-8),i).toLowerCase();/https?:$/.test(o)||/^https?:\/\//.test(n[0])||n[0].length<2||/[?$^*()[\]{}|]/.test(n[0])||n[0].includes("\\\\")&&!n[0].startsWith("\\\\")||(0===n[0].length&&(e.lastIndex+=1),t.push({start:i,end:a,text:n[0]}))}};r(i,e),r(a,e),t.sort((e,t)=>e.start-t.start||e.end-t.end);let n=[],s=0;for(let r of t)!(r.end<=s)&&(r.start<s||(s<r.start&&n.push({text:e.slice(s,r.start),isPath:!1}),n.push({text:r.text,isPath:!0}),s=r.end));return s<e.length&&n.push({text:e.slice(s),isPath:!1}),n}function l(){return e=>{(0,n.YR)(e,"link",(e,t,r)=>{if(!r||"number"!=typeof t||1!==e.children.length||"text"!==e.children[0].type)return;let n=e.children[0].value;if(n!==e.url)return;let i=n.replace(/[^A-Za-z0-9\-._~:/?#[\]@!$&'()*+,;=%]+$/u,"").replace(/[.,;:!?]+$/u,"");if(i===n)return;e.url=i,e.children[0].value=i;let a=n.slice(i.length);r.children.splice(t+1,0,{type:"text",value:a})}),(0,n.YR)(e,"text",(e,t,r)=>{if(!r||"number"!=typeof t||"link"===r.type)return;let n=s(e.value);if(1===n.length&&!n[0].isPath)return;let i=n.map(e=>e.isPath?{type:"link",url:e.text,children:[{type:"text",value:e.text}]}:{type:"text",value:e.text});r.children.splice(t,1,...i)}),(0,n.YR)(e,"inlineCode",(e,t,r)=>{if(!r||"number"!=typeof t)return;let n=s(e.value);if(1===n.length&&!n[0].isPath)return;let i=n.map(e=>e.isPath?{type:"link",url:e.text,children:[{type:"text",value:e.text}]}:{type:"text",value:e.text});r.children.splice(t,1,...i)})}}},68925:(e,t,r)=>{r.d(t,{Ep:()=>m,T6:()=>h});var n=r(12115),i=r(5924),a=r(94764),o=r(63835),s=r(84678),l=r(68623);let d={...a.j,protocols:{...a.j.protocols,href:null},attributes:{...a.j.attributes,code:[["className",/^language-./,"math-inline","math-display"]],a:(a.j.attributes?.a??[]).filter(e=>"href"!==e).concat([["href",/^(?:https?:|mailto:|file:|[a-zA-Z]:(?:[\\/]|%5[cC])|\\\\|%5[cC]%5[cC]|\/|\.{1,2}\/|#|\?|[\w\u4e00-\u9fff.-]+\/)/]])},strip:[...a.j.strip||[],"iframe","object","style","form"]},c={remarkPlugins:[[s.A,{singleTilde:!1}],l.r],rehypePlugins:[i.A,[o.A,d]]},u=null,p=null;function h(e){let t=e.includes("$")||e.includes("\\(")||e.includes("\\["),[,i]=(0,n.useState)(0);return(0,n.useEffect)(()=>{if(!t||u)return;let e=!1;return(!p&&(p=(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)),u={remarkPlugins:[...c.remarkPlugins,e],rehypePlugins:[...c.rehypePlugins,[t,{throwOnError:!1,strict:!1}]]}})().catch(e=>{throw p=null,e})),p).then(()=>{e||i(e=>e+1)}).catch(()=>{}),()=>{e=!0}},[t]),t&&u?u:c}let g=[],f=new Map;function m(e){let t=f.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=>v(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=x(r,e+1,t,s);if(a){n.push(`${t}$$`,`${t}${i}`);for(let i=e+1;i<a.index;i++)n.push(v(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=x(r,e+1,t,s);if(i&&(i.glued||""!==t)){n.push(`${t}$$`);for(let a=e+1;a<i.index;a++)n.push(v(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(g.length>=200){let e=g.shift();f.delete(e)}return g.push(e),f.set(e,r),r}function x(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 v(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})},91147:(e,t,r)=>{r.r(t),r.d(t,{AppShell:()=>aA});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)(()=>{try{return"false"!==localStorage.getItem("omp-web:native-folder-picker")}catch{return!0}});(0,i.useEffect)(()=>{try{localStorage.setItem("omp-web:native-folder-picker",s?"true":"false")}catch{}},[s]);let u=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let r=window.piDesktop;s&&r?.selectDirectory&&!u.current&&(u.current=!0,r.selectDirectory().then(r=>{r?t(r):e()}))},[s,t,e]);let[x,v]=(0,i.useState)(null),[y,b]=(0,i.useState)(""),[k,w]=(0,i.useState)(null),[j,S]=(0,i.useState)(""),[C,I]=(0,i.useState)([]),[T,R]=(0,i.useState)(null),[z,M]=(0,i.useState)(null),[E,W]=(0,i.useState)(!0),A=p({onClose:()=>{r||e()},active:null!==x}),D=(0,i.useCallback)(async e=>{W(!0),M(null);try{let t=await h(e),r=t.path??e??"/";b(r),w(t.parentPath??null),S(r),I(t.directories??[]),R(t.drives??null)}catch(e){M(e instanceof Error?e.message:String(e))}finally{W(!1)}},[]);(0,i.useEffect)(()=>{v(document.body),D()},[D]);let $=j.trim()!==y,N=!!y&&!$&&!r,L=!!k||/^[a-zA-Z]:[\\/]?$/.test(y);return x?(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:A,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")})}),window.piDesktop?.isDesktop&&(0,n.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,color:"var(--text-muted)",cursor:"pointer",marginRight:8},children:[(0,n.jsx)("input",{type:"checkbox",checked:s,onChange:e=>c(e.target.checked),style:{accentColor:"var(--accent)"}}),o("directoryPicker.useNative")]}),(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=j.trim();t&&D(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 D(k??void 0),disabled:E||!L,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:L?"pointer":"default",opacity:L?1:.45,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{L&&!E&&(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:j,"aria-label":o("directoryPicker.pathPlaceholder")||"Directory path",placeholder:o("directoryPicker.pathPlaceholder"),autoFocus:!0,autoComplete:"off",spellCheck:!1,onChange:e=>{S(e.target.value),M(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:E||!j.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:E||!j.trim()?"default":"pointer",opacity:E||!j.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=>{!E&&j.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:[E?(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!==T?T.length>0?T.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void D(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")}):C.length>0?C.map(e=>(0,n.jsxs)("button",{className:"directory-picker-entry",type:"button",onClick:()=>void D(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")}),(z||a)&&(0,n.jsx)("div",{style:{padding:"8px",color:"var(--status-error)",fontSize:11},children:z??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(y),disabled:!N,title:o($?"directoryPicker.openPathBeforeSelecting":"directoryPicker.selectCurrentDirectory"),style:{padding:"6px 16px",border:0,borderRadius:6,background:"var(--accent)",color:"var(--on-accent)",fontSize:13,fontWeight:600,opacity:N?1:.6,cursor:N?"pointer":"default"},children:o(r?"directoryPicker.checking":"directoryPicker.selectThisFolder")})]})]})}),x):null}var x=r(82749),v=r(92298),y=r(36338);function b(e){return e.omp.installed?e.proxy.effective||"auto"!==e.proxy.config.mode?"ok":"warn":"error"}function k({label:e,ok:t,detail:r}){return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11.5,lineHeight:1.5},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{width:7,height:7,borderRadius:"50%",background:t?"var(--status-success)":"var(--status-error)",flexShrink:0}}),(0,n.jsx)("span",{style:{color:"var(--text-muted)",minWidth:78,flexShrink:0},children:e}),(0,n.jsx)("code",{style:{fontFamily:"var(--font-mono)",fontSize:10.5,color:"var(--text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r})]})}function w(){let{t:e}=(0,d.s9)(),[t,r]=(0,i.useState)(null),[a,o]=(0,i.useState)(null),[s,l]=(0,i.useState)(!1),c=(0,i.useCallback)(()=>{o(null),fetch("/api/diagnostics").then(e=>e.ok?e.json():null).then(e=>{e?r(e):o("HTTP failed")}).catch(e=>o(e instanceof Error?e.message:String(e)))},[]);(0,i.useEffect)(()=>{c()},[c]);let u=(0,i.useCallback)(async()=>{l(!0);try{let e=await fetch("/api/omp-update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"restart"})}),t=await e.json();e.ok&&t.ok?setTimeout(c,1500):o(t.error??"restart failed")}catch(e){o(e instanceof Error?e.message:String(e))}finally{l(!1)}},[c]),p=t?b(t):null;return(0,n.jsxs)("div",{style:{minWidth:300,maxWidth:380,padding:8,display:"flex",flexDirection:"column",gap:7},children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"2px 4px"},children:[(0,n.jsx)("span",{"aria-hidden":"true",style:{width:8,height:8,borderRadius:"50%",background:"ok"===p?"var(--status-success)":"warn"===p?"var(--status-warning)":"var(--status-error)",flexShrink:0}}),(0,n.jsx)("span",{style:{fontSize:12,fontWeight:700,color:"var(--text)"},children:e("ok"===p?"diagnostics.healthy":"warn"===p?"diagnostics.warning":"diagnostics.error")}),(0,n.jsx)("button",{type:"button",onClick:()=>c(),"aria-label":e("diagnostics.refresh"),title:e("diagnostics.refresh"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,marginLeft:"auto",padding:0,border:"none",borderRadius:5,background:"transparent",color:"var(--text-dim)",cursor:"pointer"},children:(0,n.jsx)(x.A,{size:11,"aria-hidden":"true"})})]}),a&&(0,n.jsxs)("div",{style:{fontSize:11,color:"var(--status-error)",padding:"0 4px"},children:[e("diagnostics.error"),": ",a]}),t&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k,{label:e("diagnostics.omp"),ok:t.omp.installed,detail:t.omp.installed?`${t.omp.version??"?"} \xb7 ${t.omp.path??""}`:e("diagnostics.ompMissing")}),(0,n.jsx)(k,{label:e("diagnostics.proxy"),ok:!!t.proxy.effective,detail:t.proxy.effective??e("diagnostics.proxyOff")}),(0,n.jsx)(k,{label:e("diagnostics.rpc"),ok:t.rpc.activeSessions>0,detail:`${t.rpc.activeSessions} ${e("diagnostics.sessions")}`}),(0,n.jsx)(k,{label:e("diagnostics.server"),ok:!0,detail:`${t.server.platform}/${t.server.arch} \xb7 node ${t.server.node}`}),(!t.omp.installed||0===t.rpc.activeSessions)&&(0,n.jsxs)("button",{type:"button",onClick:()=>void u(),disabled:s,style:{display:"inline-flex",alignItems:"center",gap:5,alignSelf:"flex-start",padding:"4px 10px",borderRadius:"var(--radius-control)",background:"var(--accent)",color:"var(--on-accent)",border:"none",fontSize:11,fontWeight:600,cursor:s?"default":"pointer",opacity:s?.6:1},children:[(0,n.jsx)(v.A,{size:11,"aria-hidden":"true"}),e(s?"diagnostics.restarting":"diagnostics.restartRpc")]})]})]})}function j(){let{t:e}=(0,d.s9)(),[t,r]=(0,i.useState)("ok"),[a,o]=(0,i.useState)(!1),s=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=!1,t=()=>{fetch("/api/diagnostics").then(e=>e.ok?e.json():null).then(t=>{!e&&t&&r(b(t))}).catch(()=>{e||r("error")})};t();let n=setInterval(t,3e4);return()=>{e=!0,clearInterval(n)}},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("button",{ref:s,type:"button",onClick:()=>o(e=>!e),"aria-label":e("diagnostics.status"),"aria-expanded":a,"aria-haspopup":"menu",title:e("diagnostics.status"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:a?"var(--bg-selected)":"transparent",color:"var(--text-dim)",cursor:"pointer",position:"relative"},children:[(0,n.jsx)(y.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{"aria-hidden":"true",style:{position:"absolute",right:3,bottom:3,width:6,height:6,borderRadius:"50%",background:"ok"===t?"var(--status-success)":"warn"===t?"var(--status-warning)":"var(--status-error)",border:"1.5px solid var(--bg-panel)"}})]}),a&&(0,n.jsx)("div",{role:"menu",style:{position:"fixed",zIndex:1100,top:46,left:14,background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-card)",boxShadow:"var(--shadow-pop)"},onClick:e=>e.stopPropagation(),children:(0,n.jsx)(w,{})})]})}var S=r(9005),C=r(76721),I=r(95660),T=r(14225),R=r(92571),z=r(83254),M=r(87708),E=r(50825),W=r(68562),A=r(64577),D=r(79530),$=r(11012),N=r(35484);let L="var(--text-dim)";function F({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:L}),(0,n.jsx)("path",{d:"M1 6h14.5L14 13H2L1 6Z",stroke:L,strokeWidth:"1",fill:L,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:L,strokeWidth:"1",fill:L,fillOpacity:"0.1"})})}function P({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:L,strokeWidth:"1",fill:L,fillOpacity:"0.08"}),(0,n.jsx)("path",{d:"M10 2v3h3",stroke:L,strokeWidth:"1",fill:"none",strokeLinejoin:"round"})]})}function B({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,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:L,letterSpacing:"0",children:e})]})}function O({size:e=14}){return(0,n.jsx)(B,{label:"TS",size:e})}function H({size:e=14}){return(0,n.jsx)(B,{label:"TSX",size:e})}function K({size:e=14}){return(0,n.jsx)(B,{label:"JS",size:e})}function U({size:e=14}){return(0,n.jsx)(B,{label:"JSX",size:e})}function _({size:e=14}){return(0,n.jsx)(B,{label:"PY",size:e})}function q({size:e=14}){return(0,n.jsx)(B,{label:"{}",size:e})}function V({size:e=14}){return(0,n.jsx)(B,{label:"CSS",size:e})}function Y({size:e=14}){return(0,n.jsx)(B,{label:"SC",size:e})}function J({size:e=14}){return(0,n.jsx)(B,{label:"HTM",size:e})}function Z({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M3.5 9.5V7l1.5 1.5L6.5 7v2.5",stroke:L,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M8 7v2.5M7 9l1 1.5 1-1.5",stroke:L,strokeWidth:"0.9",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})}function G({size:e=14}){return(0,n.jsx)(B,{label:"YML",size:e})}function X({size:e=14}){return(0,n.jsx)(B,{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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M4 7.5l2 1.5-2 1.5",stroke:L,strokeWidth:"0.95",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),(0,n.jsx)("path",{d:"M7.5 10.5h2.5",stroke:L,strokeWidth:"0.95",strokeLinecap:"round"})]})}function ee({size:e=14}){return(0,n.jsx)(B,{label:"RS",size:e})}function et({size:e=14}){return(0,n.jsx)(B,{label:"GO",size:e})}function er({size:e=14}){return(0,n.jsx)(B,{label:"SQL",size:e})}function en({size:e=14}){return(0,n.jsx)(B,{label:"GQL",size:e})}function ei({size:e=14}){return(0,n.jsx)(B,{label:"TF",size:e})}function ea({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,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:L,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"6",y:"6.5",width:"2",height:"1.5",rx:"0.3",stroke:L,strokeWidth:"0.8"}),(0,n.jsx)("rect",{x:"3.5",y:"8.5",width:"2",height:"1.5",rx:"0.3",stroke:L,strokeWidth:"0.8"})]})}function eo({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5.5",cy:"8.5",r:"1.5",stroke:L,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M7 8.5h2.5M8.5 8.5v1.5",stroke:L,strokeWidth:"0.9",strokeLinecap:"round"})]})}function es({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"5",cy:"6.5",r:"1",stroke:L,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"9",cy:"6.5",r:"1",stroke:L,strokeWidth:"0.85"}),(0,n.jsx)("circle",{cx:"5",cy:"10",r:"1",stroke:L,strokeWidth:"0.85"}),(0,n.jsx)("path",{d:"M5 7.5V9",stroke:L,strokeWidth:"0.85",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M9 7.5v.5a2 2 0 0 1-2 2H6",stroke:L,strokeWidth:"0.85",strokeLinecap:"round",fill:"none"})]})}function el({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,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:L,strokeWidth:"0.9"}),(0,n.jsx)("path",{d:"M5.5 8.5V7.5a1.5 1.5 0 0 1 3 0v1",stroke:L,strokeWidth:"0.9",strokeLinecap:"round",fill:"none"})]})}function ed({size:e=14}){return(0,n.jsx)(B,{label:"DOC",size:e})}function ec({size:e=14}){return(0,n.jsx)(B,{label:"PDF",size:e})}function eu({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:L,strokeWidth:"0.9",fill:L,fillOpacity:"0.07",strokeLinejoin:"round"}),(0,n.jsx)("path",{d:"M8.5 1v3h3",stroke:L,strokeWidth:"0.9",fill:"none",strokeLinejoin:"round"}),(0,n.jsx)("circle",{cx:"7",cy:"8.5",r:"1.3",stroke:L,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:L,strokeWidth:"0.8",strokeLinecap:"round"})]})}function ep(e,t=14){let r=e.toLowerCase(),i=r.split(".").pop()??"";if("dockerfile"===r||r.startsWith("dockerfile."))return(0,n.jsx)(ea,{size:t});if(".env"===r||r.startsWith(".env."))return(0,n.jsx)(eo,{size:t});if(".gitignore"===r||".gitattributes"===r||".gitmodules"===r)return(0,n.jsx)(es,{size:t});if("package-lock.json"===r||"yarn.lock"===r||"bun.lock"===r||"pnpm-lock.yaml"===r||"cargo.lock"===r)return(0,n.jsx)(el,{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)(eu,{size:t});switch(i){case"ts":return(0,n.jsx)(O,{size:t});case"tsx":return(0,n.jsx)(H,{size:t});case"js":case"mjs":case"cjs":return(0,n.jsx)(K,{size:t});case"jsx":return(0,n.jsx)(U,{size:t});case"py":return(0,n.jsx)(_,{size:t});case"json":case"jsonl":return(0,n.jsx)(q,{size:t});case"css":case"less":return(0,n.jsx)(V,{size:t});case"scss":return(0,n.jsx)(Y,{size:t});case"html":case"htm":return(0,n.jsx)(J,{size:t});case"md":case"mdx":return(0,n.jsx)(Z,{size:t});case"yaml":case"yml":return(0,n.jsx)(G,{size:t});case"toml":return(0,n.jsx)(X,{size:t});case"sh":case"bash":case"zsh":case"fish":return(0,n.jsx)(Q,{size:t});case"rs":return(0,n.jsx)(ee,{size:t});case"go":return(0,n.jsx)(et,{size:t});case"sql":return(0,n.jsx)(er,{size:t});case"graphql":case"gql":return(0,n.jsx)(en,{size:t});case"tf":case"hcl":return(0,n.jsx)(ei,{size:t});case"docx":return(0,n.jsx)(ed,{size:t});case"pdf":return(0,n.jsx)(ec,{size:t});case"lock":return(0,n.jsx)(el,{size:t});default:return(0,n.jsx)(P,{size:t})}}var eh=r(30808),eg=r(51087),ef=r(28999);async function em(e){let t=(0,ef.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,ef.e_)(e,t.name),isDir:t.isDir,size:t.size,children:t.isDir?[]:void 0,loaded:!t.isDir}))}async function ex(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 ev={modified:"fileExplorer.gitModified",added:"fileExplorer.gitAdded",deleted:"fileExplorer.gitDeleted",renamed:"fileExplorer.gitRenamed",untracked:"fileExplorer.gitUntracked",conflict:"fileExplorer.gitConflict"},ey={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 eb({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)(S.A,{size:13,strokeWidth:2.2,"aria-hidden":"true"})})}function ek({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,ef.A0)(e.fullPath),v=p.get(x),y=e.isDir&&(void 0!==v||h.has(x)),[b,k]=(0,i.useState)(e.children??[]),[w,j]=(0,i.useState)(e.loaded??!1),[S,W]=(0,i.useState)(!1),[A,D]=(0,i.useState)(!1),[$,N]=(0,i.useState)(!1),L=(0,i.useCallback)(async(t=!1)=>{if(!w||t){W(!0);try{let t=await em(e.fullPath);k(t),j(!0)}catch{}finally{W(!1)}}},[w,e.fullPath]);(0,i.useEffect)(()=>{f?w&&L(!0):j(!1)},[c]);let F=(0,i.useCallback)(()=>{if(e.isDir){let t=!f;l(e.fullPath,t),t&&!w&&L()}else a(e.fullPath,e.name)},[e.isDir,e.fullPath,e.name,w,f,L,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),w||L()}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,w,L,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||eg.oR.error(r.error??g("fileExplorer.revealFailed"))}catch{eg.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&&N(!0)},onBlur:()=>N(!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:A?"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)(C.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)(I.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):(0,n.jsx)(T.A,{size:14,strokeWidth:1.8,"aria-hidden":"true"}):ep(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)"}}),!A&&!e.isDir&&v&&(0,n.jsx)("span",{title:g(ev[v.status]),"aria-label":g(ev[v.status]),style:{width:14,flexShrink:0,color:ey[v.status],fontFamily:"var(--font-mono)",fontSize:11,fontWeight:600,textAlign:"center"},children:v.code}),!A&&y&&(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)"}}),S&&(0,n.jsx)(R.A,{size:10,strokeWidth:2,color:"var(--text-dim)",style:{animation:"spin 0.8s linear infinite",flexShrink:0},"aria-hidden":"true"}),o&&A&&(0,n.jsx)(eh.m_,{content:B,children:(0,n.jsxs)("button",{onClick:t=>{t.stopPropagation(),o((0,ef.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)(z.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),g("fileExplorer.mention")]})}),(0,n.jsx)(eh.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)(M.A,{size:11,strokeWidth:2,"aria-hidden":"true"})})}),A&&!e.isDir&&(0,n.jsx)(eh.m_,{content:O,children:(0,n.jsx)("a",{href:`/api/files/${(0,ef.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)(E.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:[b.map(e=>(0,n.jsx)(ek,{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===b.length&&w&&(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 ew=(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),[k,w]=(0,i.useState)(0),[j,S]=(0,i.useState)(new Set),[C,I]=(0,i.useState)([]),[T,M]=(0,i.useState)("idle"),[E,L]=(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}:${k}`,V="idle"!==T,Y=(0,i.useMemo)(()=>new Map(C.map(e=>[(0,ef.A0)(e.filePath),e])),[C]),J=(0,i.useMemo)(()=>{let t=new Set,r=(0,ef.A0)(e).replace(/\/$/,"");for(let e of C){let n=(0,ef.gX)((0,ef.A0)(e.filePath));for(;(n===r||n.startsWith(`${r}/`))&&(t.add(n),n!==r);){let e=(0,ef.gX)(n);if(e===n)break;n=e}}return t},[e,C]),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&&(S(new Set(r.map(t=>(0,ef.e_)(e,t)))),w(e=>e+1))},[e]),X=(0,i.useCallback)(async(t,r)=>{K(null),P(null),L(0),M("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,ef.HG)(e)}?type=upload&conflict=${r}`),o.upload.onprogress=e=>{e.lengthComputable&&e.total>0&&L(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}));L(100),G(i)}catch(e){P(e instanceof Error?e.message:String(e))}finally{M("idle")}},[G,e]),Q=(0,i.useCallback)(async t=>{if(0!==t.length&&!V){O(null),S(new Set),K(null),P(null),L(0),M("checking");try{let r=await fetch(`/api/files/${(0,ef.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{M("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),S(new Set),O(null),K(null),P(null)),m(t),v(null);let r=!1;return em(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,k]),(0,i.useEffect)(()=>{let t=!1;return ex(e).then(e=>{t||I(e.isGitRepository?e.files:[])}).catch(()=>{t||I([])}),()=>{t=!0}},[e,r,k]);let er=V||null!==H||null!==F||null!==B,en=(0,i.useCallback)(()=>{B&&0!==B.uploaded.length&&o?.(B.uploaded.map(t=>(0,ef.qP)((0,ef.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"===T?u("fileExplorer.checkingFiles"):u("fileExplorer.uploadingPercent",{percent:E}),children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,minHeight:14,color:"var(--text-muted)"},children:["checking"===T?(0,n.jsx)(R.A,{size:13,strokeWidth:2.2,style:{animation:"spin 0.8s linear infinite"},"aria-hidden":"true"}):(0,n.jsx)(W.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),"uploading"===T&&(0,n.jsxs)("span",{style:{fontSize:10},children:[E,"%"]})]}),"uploading"===T&&(0,n.jsx)("div",{style:{height:3,marginTop:4,overflow:"hidden",borderRadius:2,background:"var(--border)"},children:(0,n.jsx)("div",{style:{width:`${E}%`,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)(eb,{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)(A.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)(D.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)($.A,{size:13,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:B.errors.length})]})]}),B.uploaded.length>0&&o&&(0,n.jsx)(eh.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)(z.A,{size:11,strokeWidth:2.2,"aria-hidden":"true"}),u("fileExplorer.mention")]})}),(0,n.jsx)(eb,{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)(N.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)(ek,{node:r,depth:0,cwd:e,onOpenFile:t,onAtMention:a,expandedPaths:y,onToggleExpanded:Z,refreshToken:q,highlightedPaths:j,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 ej(){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 eS="omp-web:last-open-by-project";function eC(){try{return window.localStorage}catch{return null}}function eI(e){try{let t=e.getItem(eS);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 eT(e){return e.projectKey??e.projectRoot??e.cwd}let eR=/^[a-zA-Z]:[\\/]/,ez=/^\/\//;function eM(e){let t=e.replace(/\\/g,"/"),r=eR.test(t)||ez.test(t);return t=t.replace(/\/{2,}/g,"/").replace(/\/+$/,""),r?t.toLowerCase():t}var eE=r(36619),eW=r(44825),eA=r(57990),eD=r(65738),e$=r(2125),eN=r(32159),eL=r(23637),eF=r(65377),eP=r(80846),eB=r(66763),eO=r(59680),eH=r(12363),eK=r(15480);let eU=new Set;function e_(e){if(0!==e.length)for(let t of[...eU])try{t(e)}catch{}}function eq(e){let t=/^[a-zA-Z]:/.test(e)||e.includes("\\"),r=e.replace(/[\/]+$/,"").replace(/\\/g,"/");return t?r.toLowerCase():r}let eV="omp-web:unread-session-ids",eY="omp-web:expanded-projects",eJ=new Set;function eZ(e,t){return t&&e.startsWith(t)?"~"+e.slice(t.length):e}function eG(e){let t=e.replace(/[\\/]+$/,""),r=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return r>=0?t.slice(r+1):t}function eX({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 eQ="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)",e0={play:eE.A,rocket:eW.A,wrench:eA.A};function e1({projectPath:e,anchor:t,open:r,onClose:a}){let{t:o}=(0,d.s9)(),[s,l]=(0,i.useState)(null),[c,u]=(0,i.useState)(null),[p,h]=(0,i.useState)(!1),[g,f]=(0,i.useState)(""),[m,x]=(0,i.useState)(""),[v,y]=(0,i.useState)("play"),b=(0,i.useCallback)(()=>{l(null),fetch(`/api/scripts?cwd=${encodeURIComponent(e)}`).then(e=>e.ok?e.json():null).then(e=>{e&&l(e.scripts)}).catch(()=>l([]))},[e]);(0,i.useEffect)(()=>{r&&b()},[r,b]);let k=(0,i.useCallback)(async t=>{u(t.name);try{let r=await fetch("/api/scripts/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,command:t.command,mode:"wait"})}),n=await r.json();r.ok?n.timedOut?eg.oR.info(o("projects.scriptTimedOut",{name:t.name})):0!==n.exitCode?eg.oR.error(o("projects.scriptFailed",{name:t.name,code:n.exitCode??"?"}),n.output?n.output.slice(0,300):void 0):eg.oR.success(o("projects.scriptDone",{name:t.name}),n.output?n.output.slice(0,300):void 0):eg.oR.error(n.error??o("projects.scriptRunFailed"))}catch{eg.oR.error(o("projects.scriptRunFailed"))}finally{u(null)}},[e,o]),w=(0,i.useCallback)(async()=>{if(g.trim()&&m.trim())try{let t=[...(s??[]).filter(e=>e.name!==g.trim()),{name:g.trim(),command:m.trim(),icon:v}];if(!(await fetch(`/api/scripts?cwd=${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({scripts:t})})).ok)return void eg.oR.error(o("projects.scriptSaveFailed"));f(""),x(""),y("play"),h(!1),b(),eg.oR.success(o("projects.scriptSaved",{name:g.trim()}))}catch{eg.oR.error(o("projects.scriptSaveFailed"))}},[e,s,g,m,v,b,o]),j=(0,i.useCallback)(async t=>{let r=(s??[]).filter(e=>e.name!==t);try{await fetch(`/api/scripts?cwd=${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({scripts:r})}),l(r)}catch{}},[e,s]);return(0,n.jsxs)(e4,{anchor:t,open:r,onClose:a,placement:"below",minWidth:240,align:"end",children:[(0,n.jsx)("div",{style:{padding:"5px 9px 3px",fontSize:10,fontWeight:700,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.04em",fontFamily:"var(--font-mono)"},children:o("projects.quickScripts")}),null===s&&(0,n.jsx)("div",{style:{padding:"6px 9px",fontSize:11,color:"var(--text-dim)"},children:o("projects.scriptLoading")}),null!==s&&0===s.length&&(0,n.jsx)("div",{style:{padding:"6px 9px",fontSize:11,color:"var(--text-dim)"},children:o("projects.noScripts")}),s?.map(e=>{let t=e0[e.icon??"play"]??eE.A;return(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"2px 4px"},children:[(0,n.jsxs)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",disabled:null!==c,onClick:()=>{k(e)},title:e.command,style:{display:"flex",alignItems:"center",gap:7,flex:1,minWidth:0,padding:"6px 7px",border:"none",borderRadius:6,background:"transparent",color:"var(--text)",cursor:null===c?"pointer":"default",textAlign:"left",fontSize:11},children:[(0,n.jsx)("span",{style:{flexShrink:0,color:(e.name,"var(--accent)"),display:"inline-flex"},children:c===e.name?(0,n.jsx)(R.A,{size:12,className:"animate-spin"}):(0,n.jsx)(t,{size:12,"aria-hidden":"true"})}),(0,n.jsx)("span",{style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),e.description&&(0,n.jsx)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontSize:10},children:e.description})]}),(0,n.jsx)("button",{type:"button","aria-label":o("projects.removeScript",{name:e.name}),title:o("projects.removeScript",{name:e.name}),onClick:()=>void j(e.name),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,border:"none",borderRadius:5,background:"transparent",color:"var(--text-dim)",cursor:"pointer",flexShrink:0},children:(0,n.jsx)(eD.A,{size:11,"aria-hidden":"true"})})]},e.name)}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",margin:"4px 0"}}),p?(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:5,padding:"6px 9px"},children:[(0,n.jsx)("input",{value:g,onChange:e=>f(e.target.value),placeholder:o("projects.addScriptName"),style:{padding:"5px 8px",borderRadius:6,background:"var(--bg)",border:"1px solid var(--border)",color:"var(--text)",fontSize:11,outline:"none"}}),(0,n.jsx)("input",{value:m,onChange:e=>x(e.target.value),placeholder:o("projects.addScriptCommand"),style:{padding:"5px 8px",borderRadius:6,background:"var(--bg)",border:"1px solid var(--border)",color:"var(--text)",fontSize:11,fontFamily:"var(--font-mono)",outline:"none"}}),(0,n.jsx)("div",{style:{display:"flex",alignItems:"center",gap:5},children:Object.keys(e0).map(e=>{let t=e0[e];return(0,n.jsx)("button",{type:"button",onClick:()=>y(e),"aria-label":e,title:e,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:26,height:26,borderRadius:6,border:v===e?"1.5px solid var(--accent)":"1px solid var(--border)",background:v===e?"var(--bg-selected)":"var(--bg)",color:v===e?"var(--accent)":"var(--text-muted)",cursor:"pointer"},children:(0,n.jsx)(t,{size:13,"aria-hidden":"true"})},e)})}),(0,n.jsxs)("div",{style:{display:"flex",gap:5,justifyContent:"flex-end"},children:[(0,n.jsx)("button",{type:"button",onClick:()=>h(!1),style:{padding:"4px 9px",borderRadius:6,background:"transparent",border:"1px solid var(--border)",color:"var(--text)",fontSize:11,cursor:"pointer"},children:o("projects.cancel")}),(0,n.jsx)("button",{type:"button",onClick:()=>void w(),disabled:!g.trim()||!m.trim(),style:{padding:"4px 10px",borderRadius:6,background:"var(--accent)",color:"var(--on-accent)",border:"none",fontSize:11,fontWeight:600,cursor:g.trim()&&m.trim()?"pointer":"default",opacity:g.trim()&&m.trim()?1:.5},children:o("projects.save")})]})]}):(0,n.jsxs)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>h(!0),style:{display:"flex",alignItems:"center",gap:7,width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--accent)",cursor:"pointer",textAlign:"left",fontSize:11},children:[(0,n.jsx)(e$.A,{size:12,strokeWidth:2,"aria-hidden":"true"}),(0,n.jsx)("span",{children:o("projects.addScript")})]})]})}function e2({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:eQ},onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:s})}function e4({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.target?.closest?.("input, textarea")){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 e5(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 e6="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*";function e8(){let[e,t]=(0,i.useState)(!1),[r,a]=(0,i.useState)(!1),o=(0,i.useRef)(null),s=(0,i.useRef)(null),l=ej(),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:e6[Math.floor(Math.random()*e6.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?"v4.0.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 e3({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:v,onExplorerRefresh:y,explorerRefreshing:b,onExplorerRefreshDone:k,onAtMention:w,onAtMentions:S,onOpenSettings:I,onOpenArchive:T,updateAvailable:R}){let{t:z}=(0,d.s9)(),[M,E]=(0,i.useState)([]),[D,$]=(0,i.useState)(!0),[N,L]=(0,i.useState)(null),[F,P]=(0,i.useState)(null),[B,O]=(0,i.useState)(""),[H,K]=(0,i.useState)([]),[U,_]=(0,i.useState)(null),[q,V]=(0,i.useState)(null),[Y,J]=(0,i.useState)(!1),[Z,G]=(0,i.useState)(!1),[X,Q]=(0,i.useState)(null),[ee,et]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eY);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}})()),[er,en]=(0,i.useState)(null),[ei,ea]=(0,i.useState)({}),[eo,es]=(0,i.useState)(!1),[el,ed]=(0,i.useState)(!1),[ec,eu]=(0,i.useState)(""),[ep,ef]=(0,i.useState)(null),[em,ex]=(0,i.useState)(!1),[ev,ey]=(0,i.useState)(null),eb=(0,i.useRef)(null),ek=(0,i.useRef)(null),[ej,eR]=(0,i.useState)(!0),[ez,eE]=(0,i.useState)(0),[eW,eA]=(0,i.useState)(!1),[eD,eO]=(0,i.useState)(!1),[eH,eK]=(0,i.useState)(()=>new Set),[eU,eX]=(0,i.useState)(()=>(function(){try{let e=window.localStorage.getItem(eV);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}})()),e0=(0,i.useRef)(new Set),[e1,e4]=(0,i.useState)(()=>Date.now()),[e6,tt]=(0,i.useState)(!1),[tr,tn]=(0,i.useState)(""),[ti,ta]=(0,i.useState)(!1),to=(0,i.useRef)(null),ts=(0,i.useRef)(!1),tl=(0,i.useRef)(null),td=(0,i.useRef)(null),tc=(0,i.useRef)(null),tu=(0,i.useRef)(null),tp=(0,i.useCallback)(async(e=!1)=>{tu.current?.abort();let t=new AbortController;tu.current=t;try{e&&$(!0);let r={};tc.current&&(r["If-None-Match"]=tc.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&&(tc.current=i);let a=await n.json();E(a.sessions),ts.current||eK(new Set(a.runningSessionIds??[]));let o=new Set(a.sessions.map(e=>e.id));eX(e=>{if(0===e.size)return e;let t=new Set([...e].filter(e=>o.has(e)));return t.size===e.size?e:t}),L(null),e||(eO(!0),tl.current&&clearTimeout(tl.current),tl.current=setTimeout(()=>eO(!1),2e3))}catch(e){if(e?.name==="AbortError")return;L(z("sessionSidebar.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}finally{e&&$(!1)}},[z]),th=(0,i.useRef)(!1);(0,i.useEffect)(()=>{let e=!th.current;th.current=!0,tp(e)},[tp,u]);let tg=(0,i.useCallback)(async()=>{try{let e=await fetch("/api/projects");if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();K(t.projects??[]),V(null),tb.current=!0}catch(e){V(z("projects.loadFailed",{detail:e instanceof Error?e.message:String(e)}))}},[z]);(0,i.useEffect)(()=>{tg()},[tg,u]),(0,i.useEffect)(()=>{let e=setInterval(()=>e4(Date.now()),6e4);return()=>clearInterval(e)},[]),(0,i.useEffect)(()=>{if(null!==ee)try{window.localStorage.setItem(eY,JSON.stringify([...ee]))}catch{}},[ee]),(0,i.useEffect)(()=>{try{0===eU.size?window.localStorage.removeItem(eV):window.localStorage.setItem(eV,JSON.stringify([...eU]))}catch{}},[eU]);let tf=(0,i.useRef)(null),tm=(0,i.useCallback)(()=>{tf.current||(tf.current=setTimeout(()=>{tf.current=null,tp(!1)},300))},[tp]),tx=(0,i.useRef)(new Map),tv=(0,i.useCallback)(e=>{for(let t of(eK(t=>{let r=new Set(t);for(let t of e)r.add(t);return r}),e)){let e=tx.current.get(t);e&&clearTimeout(e),tx.current.set(t,setTimeout(()=>{tx.current.delete(t),eK(e=>{if(!e.has(t))return e;let r=new Set(e);return r.delete(t),r})},15e3))}},[]);(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?(ts.current=!0,eK(new Set(t.runningSessionIds??[])),t.refreshSessionList&&tm()):"sessions-changed"===t.type?(t.refreshSessionList&&tm(),e_(t.sessionIds??[]),t.externallyRunning?.length&&tv(t.externallyRunning)):"externally-running"===t.type&&t.externallyRunning?.length&&tv(t.externallyRunning)}catch{}},()=>{tf.current&&clearTimeout(tf.current),e.close()}},[tp,tm,tv]),(0,i.useEffect)(()=>{let t=e0.current,r=[...t].filter(t=>!eH.has(t)&&t!==e),n=[...eH].filter(e=>!t.has(e));(r.length>0||n.length>0)&&eX(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)&&tp(!1),e0.current=eH},[eH,e,tp]),(0,i.useEffect)(()=>{e&&eX(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r})},[e]),(0,i.useEffect)(()=>{void 0!==v&&eE(e=>e+1)},[v]),(0,i.useEffect)(()=>{fetch("/api/home").then(e=>e.json()).then(e=>{e.home&&O(e.home)}).catch(()=>{})},[]);let ty=(0,i.useRef)(!1),tb=(0,i.useRef)(!1),tk=(0,i.useCallback)(e=>{if(!e)return null;for(let t of Object.values(ei))if(t.worktrees.some(t=>eq(t.path)===eq(e)))return t.projectRoot;let t=H.find(t=>eM(t.path)===eM(e));if(t)return t.path;let r=eM(e),n=M.find(e=>eM(e.cwd)===r);return n?.projectRoot??e},[ei,M,H]),tw=(0,i.useCallback)(e=>{et(t=>{if(t?.has(e))return t;let r=new Set(t??[]);return r.add(e),r})},[]),tj=(0,i.useCallback)(e=>{et(t=>{if(!t?.has(e))return t;let r=new Set(t);return r.delete(e),r})},[]),tS=(0,i.useCallback)(e=>{et(t=>{let r=new Set(t??[]);return r.has(e)?r.delete(e):r.add(e),r})},[]),tC=(0,i.useCallback)(e=>{t_.current=!1,P(e),tw(e)},[tw]),tI=(0,i.useRef)(null);(0,i.useEffect)(()=>{tI.current!==F&&(tI.current=F,g?.(F,tk(F)))},[F,g,tk]);let tT=(0,i.useRef)(null);(0,i.useEffect)(()=>{if(h&&h!==tT.current){tT.current=h,P(h);let e=tk(h);e&&tw(e)}},[h,tk,tw]);let[tR,tz]=(0,i.useState)(0);(0,i.useLayoutEffect)(()=>{if(!F)return;let e=!1;return fetch(`/api/worktrees?cwd=${encodeURIComponent(F)}`).then(e=>e.json()).then(t=>{if(e||t.error||!t.projectRoot)return;let r=t.projectRoot,n={forCwd:F,projectRoot:r,isGit:t.isGit??!1,isTopLevel:t.isTopLevel??!1,worktrees:t.worktrees??[]};ea(e=>{let t=eq(r),i=e[t];if(i&&eq(i.projectRoot)!==t){let r={...e};return delete r[eq(i.projectRoot)],r[t]=n,r}return{...e,[t]:n}})}).catch(()=>{}),()=>{e=!0}},[F,tR,u]);let tM=(()=>{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=H.find(t=>eM(t.path)===eM(e));return r?r.path:e})(),tE=(0,i.useRef)(new Map),tW=(0,i.useMemo)(()=>{let e=M;if(t&&!e.some(e=>e.id===t.id)){let r=tM??t.cwd,n=r?eM(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 eH){if(r.has(e))continue;let t=tE.current.get(e);t||(t=new Date().toISOString(),tE.current.set(e,t));let i=tM??F??"",a=i?eM(i):void 0;n.push({id:e,path:"",cwd:F??"",name:void 0,created:t,modified:t,messageCount:1,firstMessage:"",projectRoot:i,...a?{projectKey:a}:{}})}if(tE.current.size>n.length)for(let e of[...tE.current.keys()])(!eH.has(e)||r.has(e))&&tE.current.delete(e);return n.length?[...e,...n]:e},[M,t,tM,eH,F]),tA=(0,i.useMemo)(()=>{let e=H,t=!!tM&&e.some(e=>eM(e.path)===eM(tM));tM&&!t&&(e=[...e,{path:tM}]);let r=new Set(e.map(e=>eM(e.path)));for(let t of eH){if(M.some(e=>e.id===t))continue;let n=tM??F??"";n&&!r.has(eM(n))&&(e=[...e,{path:n}],r.add(eM(n)))}return e},[tM,H,eH,M,F]),tD=(0,i.useMemo)(()=>tk(F),[tk,F]),t$=!!(t||[...eH].some(e=>!M.some(t=>t.id===e))),tN=(0,i.useMemo)(()=>[...tA].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)}),[tA]),tL=(0,i.useRef)(null),tF=(0,i.useMemo)(()=>{if(t$&&tL.current){let e=tL.current,t=new Set(e.map(e=>eM(e.path))),r=[...e];for(let e of tN)t.has(eM(e.path))||r.push(e);return r}return tL.current=tN,tN},[tN,t$]),tP=(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(eM(t.path),e)}for(let e of t){let t=eT(e);if(!t)continue;let i=n.get(eM(e.projectKey??t))??r.get(t);i&&i.push(e)}return r})(tF,tW),[tF,tW]),tB=(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=eT(t);if(!e)continue;let r=eM(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})(tW,eH,eU),[tW,eH,eU]),tO=(0,i.useDeferredValue)(tr),tH=e6||ti||tO.trim().length>0,tK=(0,i.useMemo)(()=>{let e=tO.trim().toLowerCase(),t=[];for(let r of tF){let n=tP.get(r.path)??[];ti&&(n=n.filter(e=>eH.has(e.id))),e&&(n=n.filter(t=>(t.name??"").toLowerCase().includes(e)||t.firstMessage.toLowerCase().includes(e))),(0!==n.length||!ti&&(!e||eG(r.path).toLowerCase().includes(e)||(r.alias??"").toLowerCase().includes(e)))&&t.push({project:r,sessions:n})}return t},[tF,tP,ti,tO,eH]),tU=(0,i.useMemo)(()=>{let e=new Map;for(let{project:t,sessions:r}of tK)e.set(t.path,e5(r));return e},[tK]);(0,i.useEffect)(()=>{if(null===ee||!tb.current)return;let e=new Set(tF.map(e=>e.path)),t=[...ee].filter(t=>!e.has(t));0!==t.length&&et(e=>{if(!e)return e;let r=new Set(e);return t.forEach(e=>r.delete(e)),r})},[ee,tF]);let t_=(0,i.useRef)(!1),tq=(0,i.useRef)(0),tV=(0,i.useRef)(null);(0,i.useEffect)(()=>()=>{tV.current&&(clearTimeout(tV.current),tV.current=null)},[]),(0,i.useEffect)(()=>{if(s)return;if(o&&!ty.current){if(0===M.length)return;let e=M.find(e=>e.id===o);if(e){tq.current=0,ty.current=!0,P(e.cwd),tw(eT(e)),r(e,!0);return}if(tq.current<8){tq.current+=1,tV.current&&(clearTimeout(tV.current),tV.current=null),tV.current=setTimeout(()=>{tV.current=null,tp(!1)},1e3);return}tq.current=0,ty.current=!0,l?.()}if(null!==F&&!t_.current)return;let e=tF[0];e&&(P(e.path),tw(e.path),t_.current=0===M.length)},[M,F,o,s,r,l,tF,tw,tp]);let tY=(0,i.useRef)(!1);(0,i.useEffect)(()=>{tY.current||tD&&(tY.current=!0,null===ee&&tw(tD))},[tD,ee,tw]);let tJ=(0,i.useCallback)(async e=>{let t=(e??"").trim();if(t&&!Z){G(!0),Q(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 Q((0,c.K)({...r,error:r.error??`HTTP ${e.status}`}));await tg(),P(r.project.path),tw(r.project.path),J(!1)}catch(e){Q(e instanceof Error?e.message:String(e))}finally{G(!1)}}},[Z,tg,tw]),tZ=(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(z("projects.updateFailed"));await tg()}catch(e){eg.oR.error(e instanceof Error?e.message:String(e))}},[tg,z]),tG=(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(z("projects.reorderFailed"));await tg()}catch(e){eg.oR.error(e instanceof Error?e.message:String(e))}},[tg,z]),tX=(0,i.useCallback)(async e=>{if(_(null),!U||U===e)return;let t=[...tF],r=t.findIndex(e=>e.path===U),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 tG(t))},[U,tF,tG]),tQ=(0,i.useCallback)(async(e,t)=>{let r=[...tF],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 tG(r))},[tF,tG]),t0=(0,i.useCallback)(async e=>{if(!er){en(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 eg.oR.error((0,c.K)({...r,error:r.error??`HTTP ${t.status}`}));if(null!==tD&&eM(tD)===eM(e)){let t=tF.find(t=>t.path!==e);P(t?t.path:null)}tj(e),await tg()}finally{en(null)}}},[er,tD,tF,tj,tg]),t1=(0,i.useCallback)(async()=>{let e=ec.trim(),t=tD?ei[eq(tD)]:void 0;if(!e||em||!t)return;let r=t.projectRoot;ex(!0),ef(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 ef((0,c.K)({...n,error:n.error??`HTTP ${t.status}`}));let i=n.path;ed(!1),eu(""),es(!1),ea(t=>{let n=eq(r),a=t[n];return a?{...t,[n]:{...a,forCwd:i,worktrees:[...a.worktrees,{path:i,branch:e,isMain:!1}]}}:t}),P(i),tz(e=>e+1)}catch(e){ef(e instanceof Error?e.message:String(e))}finally{ex(!1)}},[ec,em,tD,ei]),t2=(0,i.useCallback)(async(e,t)=>{let r=tD?ei[eq(tD)]:void 0;if(!r||em)return;let n=r.projectRoot;ex(!0),ef(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 ey(e);ef((0,c.K)({...i,error:i.error??`HTTP ${r.status}`}));return}ey(null),null!==F&&eM(F)===eM(e)&&P(n),tz(e=>e+1)}catch(e){ef(e instanceof Error?e.message:String(e))}finally{ex(!1)}},[tD,ei,em,F]),t4=(0,i.useCallback)(()=>{es(!1),ed(!1),eu(""),ef(null),ey(null)},[]),t5=(0,i.useCallback)(e=>{t_.current=!1,e.cwd&&P(e.cwd),tw(eT(e)),r(e)},[r,tw]),t6=(0,i.useCallback)(()=>{if(!F)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,F)},[F,a]),[t8,t3]=(0,i.useState)(!1),t9=(0,i.useRef)(null),t7=(0,i.useCallback)(async e=>{if(e&&!t8){t3(!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 eg.oR.error(n.error??`HTTP ${r.status}`);eg.oR.success(z("sessionSidebar.imported")),tp(!1),tg()}catch(e){eg.oR.error(e instanceof Error?e.message:String(e))}finally{t3(!1)}}},[t8,tp,tg,z]),re=ee??eJ,rt=tD?ei[eq(tD)]:void 0,rr=(0,i.useCallback)(e=>{let t=ei[eq(e)];if(!t||!t.isGit||!t.isTopLevel)return null;let r=t.worktrees.find(e=>eq(e.path)===eq(F??""))??t.worktrees.find(e=>e.isMain);return r?r.branch??eZ(r.path,B):null},[ei,F,B]),rn=!!(rt?.isGit&&rt.isTopLevel&&F&&null!==tD&&eM(tD)===eM(rt.projectRoot)),ri=(0,i.useCallback)(()=>{es(e=>!e)},[]),ra=(0,i.useCallback)(e=>{let t=M.find(t=>t.id===e);t&&function(e,t=eC()){if(t)try{let r=eI(t);if(!(e in r))return;delete r[e],0===Object.keys(r).length?t.removeItem(eS):t.setItem(eS,JSON.stringify(r))}catch{}}(eT(t)),p?.(e),tp()},[M,p,tp]);(0,i.useEffect)(()=>{let t=M.find(t=>t.id===e);t&&function(e,t,r=eC()){if(r)try{let n=eI(r);n[e]=t,r.setItem(eS,JSON.stringify(n))}catch{}}(eT(t),t.id)},[M,e]);let ro=rn&&rt?(0,n.jsx)(te,{worktreeState:rt,selectedCwd:F,homeDir:B,wtDropdownOpen:eo,wtNewOpen:el,setWtNewOpen:ed,wtNewBranch:ec,setWtNewBranch:eu,wtError:ep,setWtError:ef,wtBusy:em,wtConfirmRemove:ev,setWtConfirmRemove:ey,onSelectWorktree:e=>{P(e),es(!1),ef(null)},onCreateWorktree:t1,onRemoveWorktree:(e,t)=>void t2(e,t),anchorRef:eb,newInputRef:ek,onClose:t4}):null;return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[Y&&(0,n.jsx)(m,{busy:Z,error:X,onCancel:()=>{J(!1),Q(null)},onSelect:e=>void tJ(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.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:2,minWidth:0},children:[(0,n.jsx)(e8,{}),(0,n.jsx)(j,{})]}),(0,n.jsxs)("div",{style:{display:"flex",gap:2},children:[T&&(0,n.jsx)(eh.m_,{content:z("sessionSidebar.archiveBrowserTitle"),side:"bottom",children:(0,n.jsx)(e2,{label:z("sessionSidebar.archiveBrowser"),onClick:T,children:(0,n.jsx)(eN.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eh.m_,{content:z("sessionSidebar.importTitle"),side:"bottom",children:(0,n.jsx)(e2,{label:z("sessionSidebar.import"),onClick:()=>t9.current?.click(),disabled:t8,children:(0,n.jsx)(eL.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})}),(0,n.jsx)(eh.m_,{content:z("sessionSidebar.refresh"),side:"bottom",children:(0,n.jsx)(e2,{label:z("sessionSidebar.refresh"),active:eD,onClick:()=>{tp(!1),tg()},children:eD?(0,n.jsx)(A.A,{size:14,strokeWidth:2.2,"aria-hidden":"true"}):(0,n.jsx)(x.A,{size:14,strokeWidth:1.9,"aria-hidden":"true"})})})]})]}),(0,n.jsx)("input",{ref:t9,type:"file",accept:".jsonl,.json,application/json,application/jsonl",style:{display:"none"},onChange:e=>{let t=e.target.files?.[0]??null;e.target.value="",t7(t)}}),(0,n.jsxs)("button",{onClick:t6,disabled:!F,className:"sidebar-new-session",title:F?z("sessionSidebar.newSessionIn",{cwd:F}):z("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:F?"var(--text)":"var(--text-dim)",cursor:F?"pointer":"not-allowed",fontSize:12.5,fontWeight:600,letterSpacing:"-0.01em",opacity:F?1:.65,transition:eQ},onMouseEnter:e=>{F&&(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)(e$.A,{size:15,strokeWidth:2.2,style:{color:"var(--accent)",flexShrink:0},"aria-hidden":"true"}),(0,n.jsx)("span",{children:z("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:z("projects.heading")}),(0,n.jsx)(e2,{label:z("sessionSidebar.search"),title:z("sessionSidebar.searchTitle"),active:e6,onClick:()=>{let e=!e6;tt(e),e?setTimeout(()=>to.current?.focus(),0):tn("")},children:(0,n.jsx)(eF.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e2,{label:z("sessionSidebar.filterRunning"),title:z("sessionSidebar.filterRunningTitle"),active:ti,onClick:()=>ta(e=>!e),children:(0,n.jsx)(eP.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})}),(0,n.jsx)(e2,{label:z("projects.add"),title:z("projects.addTitle"),onClick:()=>{J(!0),Q(null)},children:(0,n.jsx)(e$.A,{size:15,strokeWidth:1.9,"aria-hidden":"true"})})]}),e6&&(0,n.jsx)("div",{style:{padding:"0 10px 6px",flexShrink:0},children:(0,n.jsx)("input",{ref:to,value:tr,onChange:e=>tn(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),tt(!1),tn(""))},placeholder:z("sessionSidebar.searchPlaceholder"),"aria-label":z("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:ej&&(h||F)?"1 1 0":"1 1 auto",transition:"flex var(--dur-med) var(--ease-out-warm)",overflowY:"auto",padding:"2px 10px 10px",minHeight:80},children:[D&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12},children:z("sessionSidebar.loading")}),q&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:q}),N&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--accent)",fontSize:12},children:N}),!D&&!q&&!N&&0===tF.length&&(0,n.jsx)("div",{style:{padding:"10px 4px",color:"var(--text-muted)",fontSize:12,lineHeight:1.5},children:z("projects.noProjects")}),!D&&!q&&!N&&tF.length>0&&0===tK.length&&(0,n.jsx)("div",{style:{padding:"14px 4px",color:"var(--text-dim)",fontSize:11.5,lineHeight:1.5},children:z("sessionSidebar.noMatches")}),tK.map(({project:t,sessions:r})=>{let i=tU.get(t.path)??e5(r),a=null!==tD&&eM(tD)===eM(t.path),o=rr(t.path);return(0,n.jsx)(e7,{project:t,isActive:a,isExpanded:re.has(t.path),activity:tB.get(eM(t.path)),tree:i,hiddenCount:tH?0:Math.max(0,i.length-e9),selectedSessionId:e,runningSessionIds:eH,unreadSessionIds:eU,relativeTimeNow:e1,onActivate:tC,onToggleExpand:tS,onRemoveProject:t0,onUpdatePresentation:tZ,onDragPathChange:_,onDropProject:e=>void tX(e),onMoveProject:(e,t)=>void tQ(e,t),isDragTarget:null!==U&&U!==t.path,removeBusy:er===t.path,onSelectSession:t5,onRenamed:tp,onSessionDeleted:ra,activeWorktreeSwitcher:a?ro:null,worktreeBranch:o,worktreeToggleRef:a&&o?eb:void 0,worktreeOpen:!!a&&eo,onToggleWorktrees:a?ri:void 0,homeDir:B},t.path)})]}),(h||F)&&(0,n.jsxs)("div",{style:{borderTop:"1px solid var(--border)",display:"flex",flexDirection:"column",flex:ej?"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:()=>eR(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)(C.A,{size:12,strokeWidth:1.8,style:{transform:ej?"rotate(90deg)":"none",transition:"transform var(--dur-med) var(--ease-out-warm)",flexShrink:0},"aria-hidden":"true"}),z("sessionSidebar.explorer")]}),(0,n.jsx)("div",{inert:!ej||void 0,style:{display:"flex",alignItems:"center",opacity:+!!ej,pointerEvents:ej?"auto":"none",transition:"opacity var(--dur-fast) var(--ease-out-warm)"},children:(0,n.jsx)(eh.m_,{content:z("sessionSidebar.uploadFilesTitle"),side:"top",children:(0,n.jsx)("button",{onClick:()=>td.current?.openUploadPicker(),disabled:eW,title:z("sessionSidebar.uploadFilesTitle"),"aria-label":z("sessionSidebar.uploadFiles"),style:{display:"flex",alignItems:"center",justifyContent:"center",width:26,height:26,padding:0,background:"none",border:"none",color:"var(--text-dim)",cursor:eW?"default":"pointer",borderRadius:"var(--radius-control)",flexShrink:0,opacity:eW?.6:1,transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:e=>{eW||(e.currentTarget.style.color="var(--text-muted)",e.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:e=>{eW||(e.currentTarget.style.color="var(--text-dim)",e.currentTarget.style.background="none")},children:(0,n.jsx)(W.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})}),(0,n.jsx)(eh.m_,{content:z("sessionSidebar.refreshExplorer"),side:"top",children:(0,n.jsx)("button",{"aria-label":z("sessionSidebar.refreshExplorer"),onClick:()=>{y?y():eE(e=>e+1)},title:z("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)(x.A,{size:13,strokeWidth:2,"aria-hidden":"true",className:"icon-spin"}):(0,n.jsx)(x.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})})]}),(0,n.jsx)("div",{className:"accordion-flow "+(ej?"is-open":""),inert:!ej||void 0,style:{flex:ej?"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)(ew,{ref:td,cwd:F??h,onOpenFile:f??(()=>{}),refreshKey:ez,onAtMention:w,onAtMentions:S,onUploadBusyChange:eA,onRefreshDone:k})})})]}),(0,n.jsx)("div",{style:{borderTop:"1px solid var(--border)",flexShrink:0},children:(0,n.jsxs)("button",{className:"sidebar-settings-row",onClick:I,title:z("chatInput.settings"),"aria-label":z("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:eQ},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)(eB.A,{size:14,strokeWidth:2,"aria-hidden":"true"}),R&&(0,n.jsx)("span",{"aria-label":z("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:z("chatInput.settings")}),(0,n.jsx)(C.A,{size:13,strokeWidth:2,style:{flexShrink:0,color:"var(--text-dim)"},"aria-hidden":"true"})]})})]})}let e9=5;function e7({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:v,onMoveProject:y,isDragTarget:b,removeBusy:k,onSelectSession:w,onRenamed:j,onSessionDeleted:S,activeWorktreeSwitcher:I,worktreeBranch:R,worktreeToggleRef:z,worktreeOpen:M,onToggleWorktrees:E}){let{t:W}=(0,d.s9)(),[A,D]=(0,i.useState)(!1),[$,N]=(0,i.useState)(!1),[L,F]=(0,i.useState)(!1),[P,B]=(0,i.useState)(!1),[O,H]=(0,i.useState)(!1),K=(0,i.useRef)(null),[U,_]=(0,i.useState)(!1),[q,V]=(0,i.useState)(""),Y=(0,i.useRef)(null),J=(0,i.useRef)(!1),Z=(0,i.useCallback)(()=>{V(e.alias??""),_(!0),setTimeout(()=>Y.current?.select(),0)},[e.alias]),G=(0,i.useCallback)(()=>{if(J.current){J.current=!1,_(!1);return}let t=q.trim();_(!1),t!==(e.alias??"")&&m(e.path,{alias:t})},[q,e.alias,e.path,m]),X=(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||eg.oR.error(r.error??W("fileExplorer.revealFailed"))}catch{eg.oR.error(W("fileExplorer.revealFailed"))}},[W]),Q=e.alias??eG(e.path),ee=!!(a&&(a.running>0||a.unread>0)),et=s>0&&!L?o.slice(0,e9):o,er=A||$||P;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:!U,onDragStart:t=>{t.dataTransfer.setData("text/plain",e.path),t.dataTransfer.effectAllowed="move",x(e.path)},onDragOver:e=>{b&&(e.preventDefault(),e.dataTransfer.dropEffect="move")},onDrop:t=>{t.preventDefault(),v(e.path)},onDragEnd:()=>x(null),onMouseEnter:()=>D(!0),onMouseLeave:()=>D(!1),onFocus:()=>N(!0),onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||N(!1)},onKeyDown:e=>{"Escape"===e.key&&P&&(e.stopPropagation(),B(!1))},style:{display:"flex",alignItems:"center",gap:2,height:30,margin:0,padding:"0 6px 0 0",borderRadius:"var(--radius-control)",background:A?"var(--bg-hover)":"transparent",transition:eQ,...b?{outline:"1px solid var(--accent)",outlineOffset:-1}:{}},children:[U?(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)(T.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:"var(--text-muted)"},"aria-hidden":"true"}),(0,n.jsx)("input",{ref:Y,autoFocus:!0,"aria-label":W("projects.aliasPrompt"),value:q,onChange:e=>V(e.target.value),onBlur:G,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),G()),"Escape"===e.key&&(e.preventDefault(),J.current=!0,_(!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:A?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left"},children:[(0,n.jsx)(T.A,{size:15,strokeWidth:1.8,style:{flexShrink:0,color:t?"var(--accent)":A?"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:Q})]}),R&&z&&(0,n.jsxs)("button",{type:"button",ref:z,onClick:E,"aria-expanded":M,"aria-haspopup":"menu",title:W("sessionSidebar.switchWorktreeTo",{path:R}),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:M?"var(--bg-selected)":"none",color:M?"var(--accent)":A?"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:R})]}),(0,n.jsx)("div",{style:{flex:1}}),(0,n.jsx)(eh.m_,{content:W("projects.quickScripts"),children:(0,n.jsx)("button",{type:"button",className:"sidebar-project-action",onClick:()=>{B(!1),H(e=>!e)},"aria-label":W("projects.quickScripts"),title:W("projects.quickScripts"),"aria-expanded":O,"aria-haspopup":"menu",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:O?"var(--bg-selected)":"transparent",color:O?"var(--accent)":"var(--text-dim)",cursor:"pointer",lineHeight:0,transition:eQ},children:(0,n.jsx)(eE.A,{size:13,strokeWidth:2,"aria-hidden":"true"})})}),ee&&(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:er?"visible":"hidden"},children:[(0,n.jsx)("button",{type:"button",ref:K,className:"sidebar-project-action",onClick:()=>B(e=>!e),disabled:k,"aria-label":W("commandPalette.actions"),title:W("commandPalette.actions"),"aria-expanded":P,"aria-haspopup":"menu",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,border:"none",borderRadius:"var(--radius-control)",background:P?"var(--bg-selected)":"transparent",color:"var(--text-dim)",cursor:k?"default":"pointer",opacity:k?.5:1,lineHeight:0,transition:eQ},children:(0,n.jsx)(eO.A,{size:13,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(e4,{anchor:K,open:P,onClose:()=>B(!1),placement:"below",minWidth:136,children:[(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{Z(),B(!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:()=>{B(!1),X(e.path)},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("fileExplorer.revealInFileManager")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{B(!1),H(!0)},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.quickScripts")}),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"sidebar-menu-item",onClick:()=>{B(!1),y(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:()=>{B(!1),y(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:k,onClick:()=>{B(!1),f(e.path)},style:{display:"block",width:"100%",padding:"6px 9px",border:"none",borderRadius:6,background:"transparent",color:"var(--status-error)",cursor:k?"default":"pointer",textAlign:"left",fontSize:11},children:W("projects.remove",{name:Q})})]}),(0,n.jsx)(e1,{projectPath:e.path,anchor:K,open:O,onClose:()=>H(!1)})]}),(0,n.jsx)("button",{className:"sidebar-project-toggle",onClick:()=>g(e.path),"aria-label":r?W("projects.collapseProject",{name:Q}):W("projects.expandProject",{name:Q}),"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)(C.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&&I,r&&(0,n.jsx)("div",{className:"sidebar-project-sessions",style:{margin:"2px 0 0"},children:0===et.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:[et.map(e=>(0,n.jsx)(tt,{node:e,selectedSessionId:l,runningSessionIds:c,unreadSessionIds:u,relativeTimeNow:p,onSelectSession:w,onRenamed:j,onSessionDeleted:S,depth:0},e.session.id)),s>0&&(0,n.jsxs)("button",{onClick:()=>F(e=>!e),"aria-expanded":L,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:eQ},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)(eH.A,{size:11,strokeWidth:1.8,style:{flexShrink:0,transform:L?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"},"aria-hidden":"true"}),L?W("projects.showLess"):W("projects.showMoreSessions",{count:s})]})]})})]})}function te({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)(e4,{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)(A.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)(eX,{text:i.branch??eZ(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)(eD.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)(e$.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 tt=(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)(ti,{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 tr({size:e=14}){let{t}=(0,d.s9)(),r=ej();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 tn({size:e=14}){let{t}=(0,d.s9)(),r=ej();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 ti=(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,z]=(0,i.useState)(!1),[M,E]=(0,i.useState)(!1),[W,A]=(0,i.useState)(!1),D=(0,i.useRef)(null),$=(0,i.useRef)(null),N=(0,i.useRef)(null),L=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||M,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),A(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}/archive`,{method:"POST"})).ok)throw Error("Session archive failed");l?.(e.id)}catch{A(!1),eg.oR.error(f("sessionSidebar.archiveFailed"))}},[e.id,l,f]),U=(0,i.useCallback)(async()=>{z(!1),A(!0);try{if(!(await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:"DELETE"})).ok)throw Error("Session deletion failed");l?.(e.id)}catch{A(!1),eg.oR.error(f("sessionSidebar.deleteFailed"))}},[e.id,l,f]),_=(0,i.useCallback)(()=>{T(!1),z(!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||M)&&"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:W?.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:L.length>22?`${L.slice(0,22)}…`:L}):f("sessionSidebar.deleteConfirm",{title:L.length>22?`${L.slice(0,22)}…`:L})}),(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)(eK.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(),z(!0))},style:{display:"flex",alignItems:"center",flex:1,minWidth:0},children:(0,n.jsx)("span",{title:L,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:L})}),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)(eK.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)(eH.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)(tr,{size:12}),!r&&a&&(0,n.jsx)(tn,{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:N,className:"session-item-icon-button",onClick:e=>{e.stopPropagation(),E(e=>!e)},title:f("projects.actions"),"aria-label":f("projects.actions"),"aria-expanded":M,style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,padding:0,lineHeight:0,border:"none",borderRadius:"var(--radius-control)",background:M?"var(--bg-selected)":"transparent",color:M?"var(--text)":"var(--text-dim)",cursor:"pointer"},children:(0,n.jsx)(eO.A,{size:14,strokeWidth:2,"aria-hidden":"true"})}),(0,n.jsxs)(e4,{anchor:N,open:M,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),z(!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 ta(e,t={}){return"thinking"===e.type&&!e.deferred&&!t.isStreaming&&(!e.thinking||""===e.thinking.trim())}function to(e,t={}){return(e.content??[]).filter(e=>!ta(e,t))}function ts(e,t={}){let r=to(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 tl(e){return e.filter(e=>"toolCall"===e.type).length}var td=r(99314),tc=r(66958),tu=r(72788),tp=r(5045),th=r(89034),tg=r(32316),tf=r(19870),tm=r(68925),tx=r(94309);function tv({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)(ty,{src:p,alt:t??"",onClose:()=>s(!1)}),document.body)]}):null}function ty({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 tb({children:e,className:t,isStreaming:r,cwd:a,onOpenFile:o}){let s=(0,i.useMemo)(()=>r?e:(0,tm.Ep)(e),[e,r]),{remarkPlugins:l,rehypePlugins:d}=(0,tm.T6)(r?"":s),c=(0,i.useMemo)(()=>{let e=({src:e,alt:t,...r})=>{delete r.node;let i="string"==typeof e?(0,tf.V)(e,a):null,o=i?`/api/files/${(0,ef.HG)(i)}?type=read`:e;return(0,n.jsx)(tv,{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,tx.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,tf.V)(e,a):null;if(c&&o){let t=(0,n.jsx)("a",{...r,href:e,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",{...r,href:e,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)(tg.oz,{remarkPlugins:l,rehypePlugins:d,components:c,urlTransform:e=>e,children:s})})}let tk=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,tw=/(?:\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 tj=r(68623),tS=r(6014),tC=r(64962),tI=r(79762),tT=r(67401);function tR({status:e,live:t}){let r={size:12,strokeWidth:2,"aria-hidden":!0};return"completed"===e?(0,n.jsx)(tC.A,{...r,color:"var(--accent)"}):"failed"===e?(0,n.jsx)(N.A,{...r,color:"var(--accent-strong)"}):"aborted"===e?(0,n.jsx)(tI.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)(tT.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 tz(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 tM(e){return null==e||!Number.isFinite(e)||e<=0?null:`$${e.toFixed(e<.01?4:2)}`}function tE(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 tW(e){if(!e)return null;let t=e.lastIndexOf("/");return(t>=0?e.slice(t+1):e).replace(/:.*$/,"")||null}var tA=r(82490),tD=r(84111);let t$=new Map;function tN({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)(tb,{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 tL(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 tF=(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)(tP,{message:e,cwd:a,onOpenFile:o,entryId:s,onFork:l,forking:d,onNavigate:c,prevAssistantEntryId:u,onEditContent:p}):"assistant"===e.role?(0,n.jsx)(tB,{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)(t0,{message:e,cwd:a,onOpenFile:o}):!1===e.display?(0,n.jsx)(t4,{message:e,cwd:a,onOpenFile:o}):(0,n.jsx)(t5,{message:e,cwd:a,onOpenFile:o}):"bashExecution"===e.role?(0,n.jsx)(rt,{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 tP({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,tS.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=tL(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)(tv,{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)(tN,{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)(eh.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)(A.A,{size:11,strokeWidth:1.8}):(0,n.jsx)(td.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)(eh.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)(tc.A,{size:11,strokeWidth:1.8}),p("messageView.editFromHere")]})}),j&&(0,n.jsx)(eh.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)(tu.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 tB({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?tL(e.timestamp,x):null,y=(e.content??[]).map((e,t)=>({block:e,originalIndex:t})).filter(({block:e})=>!ta(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)(tO,{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 tO({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)(tH,{block:e,isStreaming:r,cwd:o,onOpenFile:s});if("thinking"===e.type)return(0,n.jsx)(tK,{block:e,duration:i,sessionId:l,entryId:d,blockIndex:c,isStreaming:r,thinkingDisplayMode:p});if("toolCall"===e.type){let i=t?.get(e.toolCallId),l=a?.get(e.toolCallId);return(0,n.jsx)(tU,{block:e,result:i,duration:l,isStreaming:r,defaultCollapsed:u,onOpenFile:s,cwd:o})}return null}let tH=(0,i.memo)(function({block:e,isStreaming:t,cwd:r,onOpenFile:i}){return(0,n.jsx)(tN,{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),tK=(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)(eh.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=t$.get(n);if(i)return t$.delete(n),t$.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 t$.delete(n),e});if(t$.set(n,a),t$.size>100){let e=t$.keys().next().value;e&&t$.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)(eh.R6,{className:"activity-row-trigger",children:[(0,n.jsx)("span",{className:"activity-row-indicator","aria-hidden":!0,children:(0,n.jsx)(tp.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)(eH.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),tU=(0,i.memo)(function({block:e,result:t,duration:r,isStreaming:a,defaultCollapsed:o=!0,onOpenFile:s,cwd:l}){var c;let u,{t:p}=(0,d.s9)(),[h,g]=(0,i.useState)(!!a&&!o),f=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,m=null!==f&&("(no output)"===f.trim()||""===f.trim()),x=t?.isError??!1,v=h&&t&&!x?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,y=function(e){if(!e||!tq(e.details))return null;let t=e.details,r=tq(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,tD.wk)(i)}`:null,a?`out ${(0,tD.wk)(a)}`:null,o?`cache R ${(0,tD.wk)(o)}`:null,s?`cache W ${(0,tD.wk)(s)}`:null].filter(e=>!!e);return l.length>0?l.join(" \xb7 "):null}(t),b=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)(eh.Nt,{open:h,onOpenChange:g,children:[(0,n.jsxs)(eh.R6,{className:"activity-row-trigger",children:[(0,n.jsx)("span",{className:`activity-row-indicator${x?" activity-row-indicator-error":""}`,"aria-hidden":!0,children:x?(0,n.jsx)(N.A,{size:12,strokeWidth:1.8}):t?(0,n.jsx)(A.A,{size:12,strokeWidth:2}):(0,n.jsx)(R.A,{size:12,strokeWidth:1.8,className:"activity-row-spinner"})}),(0,n.jsx)("span",{className:`activity-row-tool${x?" 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:p("messageView.durationSeconds",{seconds:r})}),(0,n.jsx)(eH.A,{size:11,strokeWidth:1.8,"aria-hidden":!0,style:{flexShrink:0,transform:h?"none":"rotate(-90deg)",transition:"transform var(--dur-fast) var(--ease-out-warm)"}})]}),y&&(0,n.jsx)("div",{className:"activity-row-secondary",children:y}),(0,n.jsx)("div",{className:"activity-collapsible-wrapper","data-open":h?"true":"false",children:(0,n.jsx)("div",{className:"activity-collapsible-inner",children:(0,n.jsxs)("div",{className:`tool-call-details${x?" 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:b})]}),(0,n.jsx)(tV,{details:t?.details}),t?v?(0,n.jsx)(tY,{diff:v}):(0,n.jsx)(tQ,{text:(c=f??"","read"===(u=e.toolName.toLowerCase())||u.endsWith(".read")||u.endsWith("_read")?c.split("\n").map(e=>e.replace(/^\s*\d+:\s?/,"")).join("\n"):c),isEmpty:m,isError:x,onOpenFile:s,cwd:l}):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 t_({status:e}){return(0,n.jsx)(tR,{status:e})}function tq(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function tV({details:e}){let{t,tn:r}=(0,d.s9)();if(!tq(e))return null;let i=(Array.isArray(e.results)?e.results:[]).filter(tq),a=(Array.isArray(e.progress)?e.progress:[]).filter(tq),o=tq(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=tz(l),h=[r("chatWindow.subagentCount",s.length),p?t("chatWindow.tokensUnit",{count:p}):null,tM(c),tE(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=tz("number"==typeof e.tokens?e.tokens:void 0),l=[s?t("chatWindow.tokensUnit",{count:s}):null,tM("number"==typeof e.cost?e.cost:void 0),"started"!==a?tE("number"==typeof e.durationMs?e.durationMs:void 0):null,tW("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)(t_,{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 tY({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)(tJ,{text:e.text})})}function tJ({text:e}){let{t}=(0,d.s9)(),r=(0,i.useMemo)(()=>(0,tA.y)(e),[e]);if(!r)return(0,n.jsx)(tX,{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)(tZ,{title:e.oldPath||t("messageView.diffBefore"),side:"left"}),(0,n.jsx)(tZ,{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)(tG,{cell:e.left,side:"left"}),(0,n.jsx)(tG,{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 tZ({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 tG({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 tX({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 tQ({text:e,isEmpty:t,isError:r,onOpenFile:a,cwd:o}){let{t:s}=(0,d.s9)(),l=e.length>1e5,c=l?e.slice(0,1e5):e,u=(0,i.useMemo)(()=>{if(t||!a||!c)return null;let e=(0,tj.w)(c);return 1!==e.length||e[0].isPath?e.map((e,t)=>{if(!e.isPath)return e.text;let r=(0,tf.V)(e.text,o);return r?(0,n.jsx)("a",{href:"#",onClick:e=>{e.preventDefault(),a(r)},style:{color:"var(--accent)",textDecoration:"underline",cursor:"pointer"},children:e.text},t):e.text}):null},[c,t,a,o]);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?s("messageView.noOutput"):u??c,l&&`
|
|
4
4
|
|