@openchambery/web 2.0.5-beta.3 → 2.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/dist/assets/{AssistantView-BeQjlQi5.js → AssistantView-kXN4mz6j.js} +3 -3
- package/dist/assets/{DiagramView-BPFVXhly.js → DiagramView-CGLAl3iS.js} +1 -1
- package/dist/assets/MarkdownRenderer-DA08bZsM.js +2 -0
- package/dist/assets/{MarkdownRendererImpl-DCim2MBS.js → MarkdownRendererImpl-qaVTVCHe.js} +1 -1
- package/dist/assets/{MarkstreamRendererImpl-DLI17gOM.js → MarkstreamRendererImpl-CQdVI8Vx.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-C9097prS.js → MobileDetailNavigation-xaAVkxD-.js} +1 -1
- package/dist/assets/{MobileShareBridge-BVRtivg8.js → MobileShareBridge-z2TFroKY.js} +1 -1
- package/dist/assets/MobileTabPageHeader-DPlvhJFe.js +2 -0
- package/dist/assets/{MultiRunWindow-VdUAIkKj.js → MultiRunWindow-vJc2NLzu.js} +1 -1
- package/dist/assets/{SettingsView-BcQCG9q0.js → SettingsView-BG7DgHmP.js} +6 -6
- package/dist/assets/{SettingsWindow-BSap8D3j.js → SettingsWindow-3QrhPfuk.js} +1 -1
- package/dist/assets/{TerminalView-CQEmfuGt.js → TerminalView-Ciw0BIiz.js} +1 -1
- package/dist/assets/{ToolOutputDialog-3cIIsSBA.js → ToolOutputDialog-D_23USz-.js} +1 -1
- package/dist/assets/{appThemeRegistry-Dl2OjM9t.js → appThemeRegistry-lhAKuFFB.js} +1 -1
- package/dist/assets/{fileMentionTouchSelection-BJOHH2CX.js → fileMentionTouchSelection-DPSC4Fx2.js} +1 -1
- package/dist/assets/{gitApi-C-zOJTEi.js → gitApi-DeWWyR94.js} +3 -3
- package/dist/assets/insertionBoundaries-aV1Cm6zA.js +1 -0
- package/dist/assets/{main-ctL2Nr48.js → main-0XIuL0dd.js} +11 -11
- package/dist/assets/{main-Fbjmo73O.js → main-DZGXa6wk.js} +2 -2
- package/dist/assets/{mcpQueries-B1I3urB4.js → mcpQueries-pTPWjOQO.js} +1 -1
- package/dist/assets/{miniChat-BFctomLE.js → miniChat-C8K4fwOO.js} +2 -2
- package/dist/assets/{mobile-CgrEAs5U.js → mobile-Brtl2UnC.js} +2 -2
- package/dist/assets/multirun-B7FPVrQ-.js +3 -0
- package/dist/assets/{projectMeta-iGmHOQNp.js → projectMeta-D_jCNzjw.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-B82q9wxX.js → renderElectronMiniChatApp-e6XqcsYi.js} +2 -2
- package/dist/assets/renderMobileApp-BQenfg50.js +28 -0
- package/dist/assets/{runtimeConfig-CCw0l6aJ.js → runtimeConfig-CJE7T1Sr.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-CvWlsn11.js → runtimeEndpointReset-DULSaOrI.js} +6 -6
- package/dist/assets/{sessionChangeSummary-BCz7YMwL.js → sessionChangeSummary-CVZBClsA.js} +1 -1
- package/dist/assets/{sessionLookup-BpO4cCmV.js → sessionLookup--qnazVNO.js} +1 -1
- package/dist/assets/{useAppFontEffects-KlbtUhYE.js → useAppFontEffects-BHenW5Q2.js} +53 -53
- package/dist/assets/{useDesktopWindowControlsLayout-BflHVu5S.js → useDesktopWindowControlsLayout-BGgoqF_n.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-BbQKZPcu.js → useEffectiveDirectory-CF16bcpx.js} +1 -1
- package/dist/assets/useMobileNavigationStore-DBML5LIl.js +415 -0
- package/dist/assets/{useSessionAutoCleanup-Dho6q-O2.js → useSessionAutoCleanup-moxr9XbA.js} +1 -1
- package/dist/assets/{useWorkerHighlightedLines-CbvulSje.js → useWorkerHighlightedLines-DYVg-cuB.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/mini-chat.html +2 -2
- package/dist/mobile.html +2 -2
- package/package.json +1 -1
- package/server/lib/question-auto-delegate/DOCUMENTATION.md +4 -0
- package/server/lib/question-auto-delegate/core.d.ts +5 -0
- package/server/lib/question-auto-delegate/core.js +62 -13
- package/server/lib/question-auto-delegate/form-io.js +4 -1
- package/server/lib/question-auto-delegate/pause-store.d.ts +7 -0
- package/server/lib/question-auto-delegate/pause-store.js +39 -0
- package/server/lib/question-auto-delegate/runtime.js +3 -0
- package/server/lib/question-auto-delegate/runtime.test.js +128 -1
- package/dist/assets/MarkdownRenderer-D1fVOsHS.js +0 -2
- package/dist/assets/MobileTabPageHeader-tKa6r_KP.js +0 -2
- package/dist/assets/insertionBoundaries-DduQc2QR.js +0 -1
- package/dist/assets/multirun-BuVN-s4M.js +0 -3
- package/dist/assets/renderMobileApp-CM_El_gZ.js +0 -28
- package/dist/assets/useMobileNavigationStore-BjIptzTV.js +0 -415
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{c as t,i as n,n as r,o as i,r as a,s as o}from"./runtime-switch-BJM2k_uH.js";import{n as s}from"./runtime-fetch-CiqQd__Y.js";import{En as c,Ht as l,It as u,d,en as f,f as p,ft as m,it as h,on as g,pn as _,rn as v,sn as y,wn as b}from"./persistence-Dnj1QOdX.js";import{a as x,i as S,o as C}from"./vendor-zustand-DzRqcymP.js";import{nt as w,o as T,rt as E,s as D,tt as O}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as k,Mt as A,Nt as j,lr as M,r as N}from"./platform-wu6wSDfg.js";import{n as P,t as F,x as I}from"./useUIStore-Dfx6TKvi.js";import{n as L}from"./vendor-react-DLPElpoQ.js";import{l as R,n as z,o as B,s as V,t as ee}from"./vendor-tanstack-react-query-D7pys_c9.js";import{i as H}from"./terminalApi-DXyzaX3K.js";import{c as U,d as W,f as te,l as G,m as K,n as ne,o as re,p as ie,s as q,t as ae,u as J}from"./vendor-pierre-diffs-DX7XTPG3.js";import{r as oe}from"./vendor-sonner-DVzioF3d.js";import{l as se,n as ce,p as le,r as ue}from"./vendor-reactuses-core-Dq5ocTF8.js";import{d as de,f as fe,i as pe,l as me,p as he,r as Y,t as X,u as ge}from"./button-CUwjpv-i.js";import{i as _e,t as ve}from"./store-l_X_jQNz.js";import{A as ye,D as be,E as xe,O as Se,k as Ce,t as we}from"./MobileDetailNavigation-C9097prS.js";import{An as Te,Ar as Ee,Cn as De,Cr as Oe,Dr as ke,Er as Ae,Gr as je,Gt as Me,Ht as Ne,Jn as Pe,Kr as Fe,Sn as Ie,Tr as Le,Vt as Re,Wn as ze,Xr as Be,cn as Ve,d as He,da as Ue,do as We,ea as Ge,hr as Ke,jn as qe,jr as Je,kr as Ye,li as Xe,lo as Ze,mi as Qe,no as $e,o as et,pa as tt,ro as nt,si as rt,so as it,to as at,vr as ot,wa as st,wr as ct,xn as lt,xr as ut,yr as dt,zn as ft}from"./useMobileNavigationStore-BjIptzTV.js";import{i as pt,t as mt}from"./useAssistantUIStore-DBwfg9nX.js";import{a as ht,i as gt,n as _t,o as vt,r as yt,t as bt}from"./dialog-PjKWayIU.js";import{t as xt}from"./AgentAvatar-C1MGZ7qC.js";import{n as Z}from"./Icon-BdzPRCSy.js";import{d as St}from"./gitApi-C-zOJTEi.js";import{$ as Ct,B as wt,E as Tt,J as Et,Mt as Dt,Q as Ot,Rt as kt,V as At,X as jt,_t as Mt,c as Nt,et as Pt,gt as Ft,it as It,lt as Lt,mt as Rt,nt as zt,o as Bt,pt as Vt,rt as Ht,s as Ut,tt as Wt,vt as Gt}from"./useAppFontEffects-KlbtUhYE.js";import{A as Kt,_ as qt,a as Jt,b as Yt,d as Xt,f as Zt,h as Qt,i as $t,l as en,m as tn,n as nn,p as rn,r as an,s as on,t as sn,x as cn}from"./projectMeta-iGmHOQNp.js";import{t as ln}from"./input-BeVw4D0W.js";import{i as un,n as dn,t as fn}from"./tooltip-DDNnmcXI.js";import{Dt as pn,Et as mn,J as hn,Rt as gn,Tt as _n,at as vn,ct as yn,gt as bn,h as xn,it as Sn,m as Cn,mt as wn,q as Tn,rt as En,st as Dn,tt as On,ut as kn,wt as An}from"./useSessionAutoCleanup-Dho6q-O2.js";import{n as jn,t as Mn}from"./useThemeSystem-DMzWVJaW.js";import{i as Nn,t as Pn}from"./OverlayScrollbar-C1C2aKOe.js";import{s as Fn}from"./markdownTheme-DM5h1i18.js";import{n as In}from"./useRuntimeAPIs-DSLXJybW.js";import{C as Ln,g as Rn,h as zn,i as Bn,n as Vn,o as Hn,p as Un,r as Wn,t as Gn,x as Kn,y as qn}from"./textarea-Kl-rTWJe.js";import{D as Jn}from"./sessionChangeSummary-BCz7YMwL.js";import{D as Yn,b as Xn,h as Zn,k as Qn,r as $n,v as er,w as tr,y as nr}from"./insertionBoundaries-DduQc2QR.js";import{i as rr,n as ir,t as ar}from"./appThemeRegistry-Dl2OjM9t.js";import{_ as or,i as sr,l as cr,s as lr,t as ur,v as dr,y as fr}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{a as pr,o as mr,s as hr,t as gr}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{f as _r,l as vr}from"./markdown-worker-bS5OgGO3.js";import{n as yr}from"./useEffectiveDirectory-BbQKZPcu.js";import{f as br}from"./FadeInOnReveal-BMSk_tY-.js";import{m as xr}from"./imageSource-BpUsiwFd.js";import{n as Sr}from"./useWorkerHighlightedLines-CbvulSje.js";import{t as Cr}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{a as wr,i as Tr,n as Er}from"./vendor-framer-motion-DFy_BSVd.js";import{A as Dr,N as Or,U as kr,t as Ar,u as jr,v as Mr,x as Nr}from"./MobileTabPageHeader-tKa6r_KP.js";import{c as Pr,l as Fr}from"./mcpQueries-B1I3urB4.js";import{n as Ir,r as Lr}from"./sessionLookup-BpO4cCmV.js";import{a as Rr,i as zr,n as Br,r as Vr,t as Hr}from"./context-menu-K6zNumqN.js";import{n as Ur,r as Wr,t as Gr}from"./collapsible-paItOH3A.js";import{t as Kr}from"./vendor-cron-parser-CCD11YFT.js";var Q=e(E(),1),qr=L(),$=w(),Jr=e(O(),1);function Yr(){return new Worker(ae,{type:`module`})}var Xr=[`typescript`,`javascript`,`tsx`,`jsx`,`json`,`markdown`],Zr={unified:{poolSize:1,totalASTLRUCacheSize:24,lineDiffType:`none`},split:{poolSize:2,totalASTLRUCacheSize:56,lineDiffType:`word-alt`}},Qr,$r,ei=e=>{let t=Zr[e],n=new ie({workerFactory:Yr,poolSize:t.poolSize,totalASTLRUCacheSize:t.totalASTLRUCacheSize},{theme:{light:`pierre-light`,dark:`pierre-dark`},langs:Xr,lineDiffType:t.lineDiffType,preferredHighlighter:`shiki-wasm`});return n.initialize(),n},ti=e=>{if(!(typeof window>`u`))return e===`split`?($r??=ei(`split`),$r):(Qr??=ei(`unified`),Qr)},ni=e=>{let t=(0,qr.c)(7),{children:n,renderTheme:r}=e,i=ii(`unified`),a=ii(`split`),o,s;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{i&&i.setRenderOptions({theme:r,lineDiffType:Zr.unified.lineDiffType}),a&&a.setRenderOptions({theme:r,lineDiffType:Zr.split.lineDiffType})},s=[r,a,i],t[0]=r,t[1]=a,t[2]=i,t[3]=o,t[4]=s):(o=t[3],s=t[4]),(0,Q.useEffect)(o,s);let c;return t[5]===n?c=t[6]:(c=(0,$.jsx)($.Fragment,{children:n}),t[5]=n,t[6]=c),c},ri=e=>{let t=(0,qr.c)(11),{children:n}=e,r=Mn(),i,a;if(t[0]!==r?.availableThemes||t[1]!==r?.darkThemeId||t[2]!==r?.lightThemeId){let e=Fn(!1),n=Fn(!0),o=r?.lightThemeId??e.metadata.id,s=r?.darkThemeId??n.metadata.id;a=r?.availableThemes.find(e=>e.metadata.id===o)??e,i=r?.availableThemes.find(e=>e.metadata.id===s)??n,ar(a),ar(i),t[0]=r?.availableThemes,t[1]=r?.darkThemeId,t[2]=r?.lightThemeId,t[3]=i,t[4]=a}else i=t[3],a=t[4];let o;t[5]!==i.metadata.id||t[6]!==a.metadata.id?(o={light:a.metadata.id,dark:i.metadata.id},t[5]=i.metadata.id,t[6]=a.metadata.id,t[7]=o):o=t[7];let s=o,c;return t[8]!==n||t[9]!==s?(c=(0,$.jsx)(ni,{renderTheme:s,children:n}),t[8]=n,t[9]=s,t[10]=c):c=t[10],c},ii=e=>{let t=(0,qr.c)(2),n=e===void 0?`unified`:e,r;return t[0]===n?r=t[1]:(r=ti(n),t[0]=n,t[1]=r),r},ai=Q.forwardRef((e,t)=>{let n=(0,qr.c)(11),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=Y(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-none transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary data-[unchecked]:bg-[var(--interactive-border)]`,r),n[3]=r,n[4]=a);let o;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(o={width:`36px`,height:`20px`,minWidth:`36px`,minHeight:`20px`},n[5]=o):o=n[5];let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(T,{className:Y(`pointer-events-none block rounded-full bg-background shadow-none ring-0 transition-transform data-[checked]:translate-x-4 data-[unchecked]:translate-x-0`),style:{width:`16px`,height:`16px`,minWidth:`16px`,minHeight:`16px`}}),n[6]=s):s=n[6];let c;return n[7]!==i||n[8]!==t||n[9]!==a?(c=(0,$.jsx)(D,{className:a,style:o,...i,ref:t,children:s}),n[7]=i,n[8]=t,n[9]=a,n[10]=c):c=n[10],c});ai.displayName=`Switch`;var oi={},si=[],ci=(e,t)=>{if(!e)return t(`mcpDropdown.status.unknown`);switch(e.status){case`connected`:return t(`mcpDropdown.status.connected`);case`failed`:return t(`mcpDropdown.status.failed`,{error:e.error||t(`mcpDropdown.status.unknownError`)});case`needs_auth`:return t(`mcpDropdown.status.needsAuth`);case`needs_client_registration`:return t(`mcpDropdown.status.needsRegistration`,{error:e.error||``});default:return e.status}},li=e=>{switch(e?.status){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`default`}},ui=({active:e,className:t,headerAction:n,listClassName:r,hideHeader:i=!1,mobileListDensity:a=!1})=>{let{t:o}=fe(),s=k(e=>e.currentDirectory)??null,c=kr(e=>e.connect),l=kr(e=>e.disconnect),{data:u,refetch:d,isError:f,error:p}=Fr(s,{enabled:e}),{data:m}=Pr(s,{enabled:e}),h=u??oi,g=m??si,[_,v]=Q.useState(!1),[y,b]=Q.useState(null),x=Q.useMemo(()=>{let e=new Set(Object.keys(h));for(let t of g)t?.name&&e.add(t.name);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[g,h]),S=Q.useCallback(e=>{if(e?.preventDefault(),_)return;v(!0);let t=new Promise(e=>setTimeout(e,500));Promise.all([d(),t]).finally(()=>{v(!1)})},[_,d]);return(0,$.jsxs)(`div`,{className:Y(`w-full`,t),children:[i?null:(0,$.jsx)(`div`,{className:`border-b border-[var(--interactive-border)]`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-4 py-2.5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex items-baseline gap-2`,children:[(0,$.jsx)(`div`,{className:`typography-ui-header font-semibold text-foreground`,children:o(`mcpDropdown.title`)}),s&&(0,$.jsx)(`div`,{className:`truncate typography-micro text-muted-foreground`,children:s.split(`/`).pop()||s})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n,(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,disabled:_,onClick:S,"aria-label":o(`mcpDropdown.actions.refreshAria`),children:(0,$.jsx)(Z,{name:`refresh`,className:Y(`h-4 w-4`,_&&`animate-spin`)})})]})]})}),(0,$.jsx)(`div`,{className:Y(`max-h-64 overflow-y-auto`,a?`space-y-1 py-3`:`px-3 py-2.5`,r),children:(0,$.jsxs)(`div`,{className:Y(!a&&x.length>0&&`rounded-xl bg-[var(--surface-muted)] p-1.5`),children:[x.map(e=>{let t=h[e]??(f&&!u&&g.some(t=>t.name===e)?{status:`failed`,error:p.message}:void 0),n=li(t),r=t?.status===`connected`,i=y===e,d=ci(t,o);return(0,$.jsxs)(`div`,{className:Y(`flex items-center justify-between rounded-lg hover:bg-interactive-hover/50`,a?`gap-3 px-4 py-3`:`gap-2 px-2.5 py-2`),children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`span`,{className:Y(`rounded-full flex-shrink-0`,a?`h-2.5 w-2.5`:`h-2 w-2`,n===`success`&&`bg-status-success`,n===`error`&&`bg-status-error`,n===`warning`&&`bg-status-warning`,n==="default"&&`bg-muted-foreground/40`),"aria-label":d})}),(0,$.jsx)(dn,{side:`left`,children:(0,$.jsx)(`p`,{children:d})})]}),(0,$.jsx)(`span`,{className:Y(`truncate`,a?`text-[17px] leading-6 font-medium`:`typography-ui-label`),children:e})]})}),(0,$.jsx)(ai,{checked:r,disabled:i,className:`data-[checked]:bg-status-info`,onCheckedChange:async t=>{b(e);try{t?await c(e,s):await l(e,s)}finally{b(null)}}})]},e)}),x.length===0&&(0,$.jsx)(`div`,{className:`px-4 py-5 typography-ui-label text-muted-foreground text-center`,children:o(`mcpDropdown.empty.configureInConfig`)})]})})]})},di=e=>!(e.dismissed===`true`||e.sessionShown===`true`||e.hasActiveToast),fi=e=>!(!e.version||e.seenVersions.has(e.version)||e.dismissedVersion!==null&&e.dismissedVersion===e.version),pi=e=>{if(typeof e!=`object`||!e)return``;let t=e.version;return typeof t==`string`?t.trim():``},mi=e=>{if(!e||e.available!==!0||e.canManage===!1)return``;let t=typeof e.latestVersion==`string`?e.latestVersion:typeof e.targetVersion==`string`?e.targetVersion:``;return t?t.trim():``},hi=e=>{let t=e.trim().replace(/^v/i,``);return t?{target:t}:null},gi=5e3,_i={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e)};function vi(e,t,n=_i){if(!e)return()=>void 0;let r=n.setTimeout(()=>{t().catch(()=>void 0)},gi);return()=>n.clearTimeout(r)}var yi=(e,t)=>({queryKey:[e,`opencode-update`,t],queryFn:async({signal:i})=>{let a=()=>e===n()&&t===r();if(!a())throw Error(`Stale OpenCode update check`);let o=await s(`/api/opencode/upgrade-status`,{headers:{Accept:`application/json`},signal:i});if(!o.ok)throw Error(`OpenCode update check failed`);let c=await o.json();if(i.aborted||!a())throw Error(`Stale OpenCode update check`);if(!c||typeof c!=`object`||Array.isArray(c))throw Error(`Invalid OpenCode update status`);return c},staleTime:3e4,refetchInterval:3e5,refetchOnWindowFocus:!0,refetchOnReconnect:!0,retry:1}),bi=`opencode-update-available`,xi=`opencode-upgrade-progress`,Si=`opencode-update-toast-dismissed-version`,Ci=()=>{let{t:e}=fe(),i=P(e=>e.showOpenCodeUpdateNotifications),a=Q.useRef(new Set),o=Q.useRef(!1),c=Q.useSyncExternalStore(t,n,n),l=Q.useSyncExternalStore(t,r,r),u=R(),[d,f]=Q.useState(!1);Q.useEffect(()=>vi(i,async()=>{f(!0)}),[i]);let p=V({...yi(c,l),enabled:i&&d});ue(`openchamber:opencode-update-available`,e=>{i&&pi(e.detail)&&p.refetch()});let m=`${Si}:${c}`;Q.useEffect(()=>{a.current.clear(),Je.dismiss(bi),Je.dismiss(xi)},[c,l]),Q.useEffect(()=>{i||Je.dismiss(bi)},[i]);let h=ce(async(t,i=!1)=>{if(o.current)return;o.current=!0;let a=()=>c===n()&&l===r();Je.dismiss(bi),Je.message(e(`opencodeUpdate.toast.upgrading.title`),{id:xi,description:e(`opencodeUpdate.toast.upgrading.description`),duration:1/0,icon:(0,$.jsx)(Z,{name:`refresh`,className:`h-4 w-4 animate-spin text-muted-foreground`})});try{let n=hi(t);if(!n)throw Error(e(`opencodeUpdate.toast.failed.description`));let r=await s(`/api/opencode/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({...n,confirmActiveTasks:i})}),o=await r.json().catch(()=>null);if(!a())return;if(o?.errorCode===`UPGRADE_ACTIVE_TASKS`){Je.error(e(`opencodeUpdate.toast.failed.title`),{id:xi,description:o.error,duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:()=>{a()&&h(t,!0)}}});return}if(!r.ok||o?.success!==!0)throw Error(o?.error||r.statusText||e(`opencodeUpdate.toast.failed.description`));Je.success(e(`opencodeUpdate.toast.updated.title`),{id:xi,description:o?.version?e(`opencodeUpdate.toast.updated.descriptionWithVersion`,{version:o.version}):e(`opencodeUpdate.toast.updated.description`),duration:1/0,icon:(0,$.jsx)(Z,{name:`check`,className:`h-4 w-4 text-[var(--status-success)]`})}),u.invalidateQueries({queryKey:[c,`opencode-update`,l]}),u.invalidateQueries({queryKey:[c,`about`,l]})}catch(n){if(!a())return;Je.error(e(`opencodeUpdate.toast.failed.title`),{id:xi,description:n instanceof Error?n.message:e(`opencodeUpdate.toast.failed.description`),duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:()=>{a()&&h(t)}}})}finally{o.current=!1}});return Q.useEffect(()=>{let t=t=>{if(!P.getState().showOpenCodeUpdateNotifications){Je.dismiss(bi);return}fi({version:t,dismissedVersion:I().getItem(m),seenVersions:a.current})&&(a.current.add(t),Je.info(e(`opencodeUpdate.toast.available.title`),{id:bi,description:e(`opencodeUpdate.toast.available.description`,{version:t}),duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:()=>{c===n()&&l===r()&&h(t)}},cancel:{label:e(`opencodeUpdate.toast.actions.dismiss`),onClick:()=>{I().setItem(m,t),Je.dismiss(bi)}}}))},i=mi(p.data);i?t(i):(p.data?.available===!1||p.data?.canManage===!1)&&Je.dismiss(bi)},[i,e,p.data,m,c,l,h]),null},wi=()=>{let e=(0,qr.c)(3),[t,n]=Q.useState(Ti),{isUpdating:r}=t,i,a;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>nt(n),a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),Q.useEffect(i,a),!r)return null;let o;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center bg-background/90`,children:(0,$.jsx)(gn,{width:80,height:80,isAnimated:!0})}),e[2]=o):o=e[2],o};function Ti(){return $e()}var Ei=5e3,Di=(e,t)=>{if(!e)return 1;let n=1;for(let r=0;r<e.length;r+=1)if(e.charCodeAt(r)===10&&(n+=1,n>t))return n;return n},Oi=(e,t)=>ve(_e.getState().dictionary,e,t),ki=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`file not found`)||t.includes(`not found`)||t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`does not exist`)?`missing`:`unreadable`},Ai=async(e,t)=>{if(e.readFile){let n=await e.readFile(t,{optional:!0});if(typeof n.exists!=`boolean`)throw Error(`Optional file read requires an existence response header`);return{content:n.content??``,exists:n.exists}}let n=new URLSearchParams({path:t,optional:`true`}),r=await s(`/api/fs/read?${n.toString()}`,{cache:`no-store`});if(!r.ok){let e=await r.json().catch(()=>({error:r.statusText}));throw Error(e.error||`Failed to read file`)}let i=r.headers.get(`x-openchamber-file-exists`);if(i!==`true`&&i!==`false`)throw Error(`Optional file read requires an existence response header`);return{content:await r.text(),exists:i===`true`}},ji=async(e,t)=>{try{let{content:n,exists:r}=await Ai(e,t);return r?Di(n,5e3)>5e3?{ok:!1,reason:`too-large`}:{ok:!0}:{ok:!1,reason:`missing`}}catch(e){return{ok:!1,reason:ki(e)}}},Mi=e=>e===`too-large`?Oi(`contextFileOpen.failure.tooLarge`,{count:Ei.toLocaleString(he())}):Oi(e===`missing`?`contextFileOpen.failure.missing`:`contextFileOpen.failure.unreadable`),Ni=(e,t)=>!e||t.length===0?``:JSON.stringify([e,t]),Pi=(e,t,n,r)=>!n||r!==n||e.length===0?[]:ft(e,t,e=>e.name,{limit:10,threshold:.4}),Fi=(e,t={})=>{let r=e.trim(),i=t.transport??n(),a=t.searchSessions??(e=>j.searchSessionsByTitle(e));return B({queryKey:p.sessionTitleSearch.query(r,i),enabled:r.length>0,queryFn:({signal:e})=>a({search:r,limit:30,signal:e}),staleTime:5e3,retry:1})},Ii=e=>{let t=(0,qr.c)(13),{title:n,description:r,trailing:i}=e,a=r?`min-w-0 max-w-[58%] shrink-0 truncate typography-meta font-medium leading-4 text-foreground`:`min-w-0 flex-1 truncate typography-meta font-medium leading-4 text-foreground`,o;t[0]!==a||t[1]!==n?(o=(0,$.jsx)(`span`,{className:a,children:n}),t[0]=a,t[1]=n,t[2]=o):o=t[2];let s;t[3]===r?s=t[4]:(s=r?(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-micro leading-4 text-muted-foreground/65`,children:r}):null,t[3]=r,t[4]=s);let c;t[5]!==o||t[6]!==s?(c=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2.5`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7];let l;t[8]===i?l=t[9]:(l=i?(0,$.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center pl-2 text-muted-foreground/50`,children:i}):null,t[8]=i,t[9]=l);let u;return t[10]!==c||t[11]!==l?(u=(0,$.jsxs)($.Fragment,{children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12],u},Li=`min-h-9 gap-2 rounded-lg px-3 py-2 typography-meta`,Ri=`py-0 [&_[cmdk-group-heading]]:px-2.5 [&_[cmdk-group-heading]]:pb-2 [&_[cmdk-group-heading]]:pt-3 [&_[cmdk-group-heading]]:font-normal [&_[cmdk-group-heading]]:text-muted-foreground`;function zi(e,t){let n=t.toLowerCase().split(/\s+/).filter(Boolean);if(!n.length)return e;let r=n.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`));return e.split(RegExp(`(${r.join(`|`)})`,`gi`)).map((e,t)=>n.includes(e.toLowerCase())?(0,$.jsx)(`mark`,{className:`bg-transparent font-[inherit] text-[var(--primary-base)]`,children:e},t):e)}var Bi=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+/g,`/`);n&&!r.startsWith(`//`)&&(r=`/${r}`);let i=r===`/`,a=/^[A-Za-z]:\/$/.test(r);return!i&&!a&&(r=r.replace(/\/+$/,``)),r},Vi=e=>{let t=(0,qr.c)(180),{presentation:n,onBack:r}=e,i=n===void 0?`dialog`:n,{t:a}=fe(),o=Jn(),s=P(Hi),[c,u]=Q.useState(s),d=P(Ui),p=P(Wi),m=P(Gi),h=P(Ki),_=P(qi),b=P(Ji),x=P(Yi),S=P(Xi),C=P(Zi),w=P(Qi),T=P($i),E=He(ea),D=He(ta),O=ke(na),j=ke(ra),M=k(ia),N=at(aa),F=at(oa),I=yr(),L=A(sa),{files:R}=In(),{isMobile:z}=Nn(),B=i===`page`||z,ee;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(ee=me(),t[0]=ee):ee=t[0];let H=ee,U=Q.useRef(null),W=Q.useRef(null),te;t[1]!==s||t[2]!==B?(te=()=>{if(!B||!s||!U.current)return;let e=window.visualViewport;U.current.style.setProperty(`--search-viewport-height`,`${e?.height??window.innerHeight}px`),U.current.style.setProperty(`--search-viewport-top`,`${e?.offsetTop??0}px`)},t[1]=s,t[2]=B,t[3]=te):te=t[3];let G=ce(te),K;t[4]!==s||t[5]!==B?(K=()=>B&&s?window.visualViewport??window:null,t[4]=s,t[5]=B,t[6]=K):K=t[6],ue(`resize`,G,K);let ne;t[7]!==s||t[8]!==B?(ne=()=>B&&s?window.visualViewport:null,t[7]=s,t[8]=B,t[9]=ne):ne=t[9],ue(`scroll`,G,ne);let re;t[10]===G?re=t[11]:(re=()=>{G()},t[10]=G,t[11]=re);let ie;t[12]!==s||t[13]!==B?(ie=[B,s],t[12]=s,t[13]=B,t[14]=ie):ie=t[14],Q.useEffect(re,ie);let q,ae;t[15]!==s||t[16]!==i?(q=()=>{i===`page`&&s&&W.current?.focus({preventScroll:!0})},ae=[i,s],t[15]=s,t[16]=i,t[17]=q,t[18]=ae):(q=t[17],ae=t[18]),Q.useEffect(q,ae);let J;t[19]===I?J=t[20]:(J=I?Bi(I):null,t[19]=I,t[20]=J);let oe=J,[se,le]=Q.useState(``),de=Qn(se,200).trim(),pe;t[21]===se?pe=t[22]:(pe=se.trim(),t[21]=se,t[22]=pe);let he=pe,Y,X;t[23]===s?(Y=t[24],X=t[25]):(Y=()=>{s&&(le(``),u(!0))},X=[s],t[23]=s,t[24]=Y,t[25]=X),Q.useEffect(Y,X);let _e;t[26]===d?_e=t[27]:(_e=()=>d(!1),t[26]=d,t[27]=_e);let ve=ce(_e),ye;t[28]===ve?ye=t[29]:(ye=e=>()=>{ve(),e()},t[28]=ve,t[29]=ye);let be=ce(ye);N?.id,N?.path;let xe=(()=>{let e=[{id:`new-session`,title:a(`commandPalette.item.newSession`),shortcutId:`new_chat`,searchText:a(`commandPalette.item.newSession`),onSelect:be(()=>{p(`chat`),_(!1),E()})},{id:`new-worktree`,title:a(`commandPalette.item.newWorktreeDraft`),shortcutId:`new_chat_worktree`,searchText:a(`commandPalette.item.newWorktreeDraft`),onSelect:be(ca)},{id:`add-project`,title:a(`commandPalette.item.addProject`),searchText:a(`commandPalette.item.addProject`),onSelect:be(la)},{id:`toggle-sidebar`,title:a(B?`commandPalette.item.showSessionSwitcher`:`commandPalette.item.toggleSidebar`),shortcutId:`toggle_sidebar`,searchText:a(B?`commandPalette.item.showSessionSwitcher`:`commandPalette.item.toggleSidebar`),onSelect:be(()=>{if(B){let{isSessionSwitcherOpen:e}=P.getState();_(!e)}else b()})},{id:`toggle-right-sidebar`,title:a(`commandPalette.item.toggleRightSidebar`),shortcutId:`toggle_right_sidebar`,searchText:a(`commandPalette.item.toggleRightSidebar`),onSelect:be(()=>x())},{id:`toggle-terminal`,title:a(`commandPalette.item.toggleTerminal`),shortcutId:`toggle_terminal`,searchText:a(`commandPalette.item.toggleTerminal`),onSelect:be(()=>S())},{id:`new-terminal-tab`,title:a(`commandPalette.item.newTerminalTab`),shortcutId:`open_new_terminal`,searchText:a(`commandPalette.item.newTerminalTab`),onSelect:be(()=>{I&&Nt(I)})},{id:`context-usage`,title:a(`commandPalette.item.showContextUsage`),searchText:a(`commandPalette.item.showContextUsage`),onSelect:be(()=>{M&&C(M)})},{id:`open-settings`,title:a(`commandPalette.item.openSettings`),shortcutId:`open_settings`,searchText:a(`commandPalette.item.openSettings`),onSelect:be(()=>m(!0))}];return l()&&e.splice(1,0,{id:`new-mini-chat`,title:a(`commandPalette.item.newMiniChat`),shortcutId:`new_mini_chat`,searchText:a(`commandPalette.item.newMiniChat`),onSelect:be(()=>{f(`desktop_open_draft_mini_chat_window`,{directory:Bi(M||N?.path||``),projectId:N?.id??null}).catch(ua)})}),e})(),Se=v(),Ce={isVSCode:g(),isWeb:!Se&&y(),isDesktop:Se,isMobile:B},Te=Dr.filter(da).filter(e=>!e.isAvailable||e.isAvailable(Ce)).map(e=>{let t=(e.keywords??[]).join(` `);return{id:`settings:${e.slug}`,title:e.title,searchText:`${e.title} ${e.group} ${t}`,onSelect:be(()=>{h(e.slug),m(!0)})}}),Ee=fa,De;if(t[30]!==O){let e;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(e=(e,t)=>Ee(t)-Ee(e),t[32]=e):e=t[32],De=[...O].sort(e),t[30]=O,t[31]=De}else De=t[31];let Oe=De,Ae=He(pa),je=He(ma),Me;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(Me=[],t[33]=Me):Me=t[33];let[Ne,Fe]=Q.useState(Me),[Ie,Le]=Q.useState(``),[Re,ze]=Q.useState(``),Be=Ni(oe,de),Ve;t[34]!==oe||t[35]!==Be||t[36]!==s||t[37]!==L||t[38]!==ze||t[39]!==Fe||t[40]!==Le||t[41]!==de?(Ve=()=>{if(!s){Fe([]),Le(``),ze(``);return}if(!Be){Fe([]),Le(``),ze(``);return}if(!oe){Fe([]),Le(``),ze(``);return}let e=!1;return ze(``),L(oe,de,10,{type:`file`}).then(t=>{e||(Fe(t.map(ha)),Le(Be),ze(``))}).catch(()=>{e||(Fe([]),Le(``),ze(Be))}),()=>{e=!0}},t[34]=oe,t[35]=Be,t[36]=s,t[37]=L,t[38]=ze,t[39]=Fe,t[40]=Le,t[41]=de,t[42]=Ve):Ve=t[42];let Ue;t[43]!==oe||t[44]!==Be||t[45]!==s||t[46]!==L||t[47]!==de?(Ue=[s,oe,de,Be,L],t[43]=oe,t[44]=Be,t[45]=s,t[46]=L,t[47]=de,t[48]=Ue):Ue=t[48],Q.useEffect(Ve,Ue);let We=he.length>0,Ge;bb0:{if(!We){Ge=xe.map(ga);break bb0}Ge=ft(xe,he,_a,{limit:7,noFuzzy:!0})}let Ke=Ge,qe;bb1:{if(!We){qe=[];break bb1}qe=ft(Te,he,va,{limit:7,noFuzzy:!0})}let Ye=qe,Xe;t[49]===de?Xe=t[50]:(Xe=Fi(de),t[49]=de,t[50]=Xe);let Ze=(s||c)&&(de.length>0||i===`page`),Qe;t[51]!==Xe||t[52]!==Ze?(Qe={...Xe,enabled:Ze},t[51]=Xe,t[52]=Ze,t[53]=Qe):Qe=t[53];let $e=V(Qe),tt=We&&he===de&&$e.isSuccess,nt=(We||i===`page`)&&he===de&&$e.isError,rt;bb2:{if(!nt){let e;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[54]=e):e=t[54],rt=e;break bb2}let e;t[55]!==he||t[56]!==Oe?(e=ft(Oe,he,ya,{limit:30,threshold:.2}).map(ba),t[55]=he,t[56]=Oe,t[57]=e):e=t[57],rt=e}let it=rt,ot;bb3:{if(!We){if(i===`page`&&!de&&$e.isSuccess){ot=$e.data;break bb3}let e;t[58]!==i||t[59]!==Oe?(e=Oe.slice(0,i===`page`?30:9),t[58]=i,t[59]=Oe,t[60]=e):e=t[60],ot=e;break bb3}if(!tt){let e;t[61]!==it||t[62]!==nt?(e=nt?it:[],t[61]=it,t[62]=nt,t[63]=e):e=t[63],ot=e;break bb3}let e;t[64]===$e.data?e=t[65]:(e=$e.data??[],t[64]=$e.data,t[65]=e),ot=e}let st=ot,lt;bb4:{if(!s&&!c){lt=[];break bb4}if(he!==de||Re===Be){lt=[];break bb4}lt=Pi(Ne,de,Be,Ie)}let ut=lt,dt=(s||c)&&Be.length>0&&Ie!==Be&&Re!==Be,pt;bb5:{if(!We){pt=[];break bb5}let e=F.map(xa);pt=ft(e,he,Sa,{limit:7,threshold:.4})}let mt=pt,gt=Ke.map(Ca),xt=Ye.map(wa),Z=st,St=We?ut.map(Ta):[],wt=We?mt.map(Ea):[],Tt;bb6:{if(!We){Tt=[`sessions`,`commands`];break bb6}let e=Da,t=[{key:`commands`,score:e(Ke)},{key:`settings`,score:e(Ye)},{key:`files`,score:e(ut)},{key:`projects`,score:e(mt)}];t.sort(Oa),Tt=[`sessions`,...t.map(ka)]}let Et=Tt,Dt;t[66]!==ve||t[67]!==o||t[68]!==p||t[69]!==D||t[70]!==_?(Dt=e=>{ve(),p(`chat`),_(!1);let t=ct(e)||``;o?et.getState().openSession({sessionId:e.id,directory:t}):D(e.id,t)},t[66]=ve,t[67]=o,t[68]=p,t[69]=D,t[70]=_,t[71]=Dt):Dt=t[71];let kt=ce(Dt),At;t[72]!==ve||t[73]!==oe||t[74]!==R||t[75]!==o||t[76]!==w?(At=async e=>{if(!oe)return;let t=await ji(R,e);if(!t.ok){Je.error(Mi(t.reason));return}o?o.openFile({path:e}):w(oe,e),ve()},t[72]=ve,t[73]=oe,t[74]=R,t[75]=o,t[76]=w,t[77]=At):At=t[77];let jt=ce(At),Mt;t[78]!==ve||t[79]!==o||t[80]!==E?(Mt=(e,t)=>{ve();let n={selectedProjectId:e,directoryOverride:t};o?et.getState().openDraft(n):E(n)},t[78]=ve,t[79]=o,t[80]=E,t[81]=Mt):Mt=t[81];let Ft=ce(Mt),It=e=>wn(bn(e,T)),Lt;t[82]!==kt||t[83]!==B||t[84]!==Z?(Lt=e=>{if(B||e.nativeEvent.isComposing||e.altKey||e.shiftKey||(H?!e.metaKey||e.ctrlKey:!e.ctrlKey||e.metaKey)||!/^[1-9]$/.test(e.key)||(e.preventDefault(),e.stopPropagation(),e.repeat))return;let t=Z[Number(e.key)-1];t&&kt(t)},t[82]=kt,t[83]=B,t[84]=Z,t[85]=Lt):Lt=t[85];let Rt=ce(Lt),Bt=e=>{let t=Bi(Ae.get(e.id)?.projectDirectory||ct(e)||``),n=Pe(F,je,t);return n?.label||(n?.path||t).split(`/`).pop()||``},Ut=We&&!!oe&&(he!==de||dt),Gt=We&&he===de&&!!Be&&Re===Be,Kt=(We||i===`page`)&&(he!==de||$e.isFetching&&!$e.isSuccess),qt=i===`page`?`mobileGlass`:`default`,Jt;t[86]===a?Jt=t[87]:(Jt=a(`commandPalette.title`),t[86]=a,t[87]=Jt);let Yt;t[88]===a?Yt=t[89]:(Yt=a(`commandPalette.input.placeholder`),t[88]=a,t[89]=Yt);let Xt;t[90]!==se||t[91]!==qt||t[92]!==Jt||t[93]!==Yt?(Xt=(0,$.jsx)(Wt,{ref:W,variant:qt,className:`font-normal`,"aria-label":Jt,inputMode:`search`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,value:se,onValueChange:le,placeholder:Yt}),t[90]=se,t[91]=qt,t[92]=Jt,t[93]=Yt,t[94]=Xt):Xt=t[94];let Zt=Xt,Qt=Ot,$t,en,tn;t[95]===B?($t=t[96],en=t[97],tn=t[98]):($t=e=>{let t=e.target.closest(`[cmdk-item]`);B&&t&&Rn({currentTarget:t})},en=e=>{let t=e.target.closest(`[cmdk-item]`);B&&t&&zn({currentTarget:t,detail:1})},tn=e=>{let t=e.target.closest(`[cmdk-item]`);B&&t&&e.detail>0&&!zn({currentTarget:t,detail:e.detail})&&(e.preventDefault(),e.stopPropagation())},t[95]=B,t[96]=$t,t[97]=en,t[98]=tn);let nn;t[99]!==ve||t[100]!==r||t[101]!==i||t[102]!==Zt||t[103]!==a?(nn=i===`page`?(0,$.jsx)(we,{title:Zt,backAriaLabel:a(`header.actions.backAria`),onBack:r??ve}):Zt,t[99]=ve,t[100]=r,t[101]=i,t[102]=Zt,t[103]=a,t[104]=nn):nn=t[104];let rn=Ht,an;t[105]===a?an=t[106]:(an=a(`commandPalette.title`),t[105]=a,t[106]=an);let on;t[107]!==a||t[108]!==Z.length?(on=Z.length===0?(0,$.jsx)(`div`,{className:`px-2.5 pb-2 pt-3 typography-meta text-muted-foreground`,children:a(`layout.mainTab.chat`)}):null,t[107]=a,t[108]=Z.length,t[109]=on):on=t[109];let sn;t[110]!==Gt||t[111]!==j||t[112]!==a||t[113]!==nt||t[114]!==Ut||t[115]!==Kt?(sn=!Ut&&!Kt&&!Gt&&!nt&&j!==`loading`&&j!==`error`?(0,$.jsx)(Ct,{className:`py-10 text-center typography-meta text-muted-foreground`,children:a(`commandPalette.empty.noResults`)}):null,t[110]=Gt,t[111]=j,t[112]=a,t[113]=nt,t[114]=Ut,t[115]=Kt,t[116]=sn):sn=t[116];let cn=Et.map(e=>e===`commands`&>.length>0?(0,$.jsx)(Pt,{heading:a(`settings.page.commands.title`),className:Ri,children:gt.map(e=>(0,$.jsx)(zt,{value:e.id,onSelect:e.onSelect,className:Li,children:(0,$.jsx)(Ii,{title:e.title,trailing:!B&&e.shortcutId?(0,$.jsx)(Vt,{className:`h-3.5 min-w-0 shrink-0 rounded-full border-0 bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] px-1.5 font-sans text-[10px] font-medium tracking-tight text-muted-foreground/65 shadow-none`,children:It(e.shortcutId)}):void 0})},e.id))},`commands`):e===`settings`&&xt.length>0?(0,$.jsx)(Pt,{heading:a(`settings.view.home.title`),className:Ri,children:xt.map(Aa)},`settings`):e===`sessions`&&Z.length>0?(0,$.jsx)(Pt,{heading:a(`layout.mainTab.chat`),className:Ri,children:Z.map((e,t)=>{let n=e.title||a(`commandPalette.session.untitled`),r=Bt(e);return(0,$.jsx)(zt,{value:`session:${e.id}`,onSelect:()=>kt(e),className:`flex-col items-stretch gap-1 rounded-lg px-3 py-2`,"aria-keyshortcuts":!B&&t<9?`${H?`Meta`:`Control`}+${t+1}`:void 0,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label text-foreground`,title:n,children:zi(n,he)}),(0,$.jsx)(`span`,{className:`max-w-[28%] shrink-0 truncate typography-meta text-muted-foreground`,title:r,children:r}),!B&&t<9?(0,$.jsxs)(Vt,{className:`h-5 min-w-8 shrink-0 rounded-full border-0 bg-interactive-selection px-2 text-muted-foreground shadow-none`,children:[H?`⌘`:`Ctrl+`,t+1]}):null]})},e.id)})},`sessions`):e===`files`&&St.length>0?(0,$.jsx)(Pt,{heading:a(`layout.mainTab.files`),className:Ri,children:St.map(e=>{let t=ge(e.relativePath||e.name,{maxLength:80});return(0,$.jsx)(zt,{value:`file:${e.path}`,onSelect:()=>{jt(e.path)},className:Li,children:(0,$.jsx)(Ii,{title:zi(e.name,he),description:t===e.name?void 0:zi(t,he)})},`file:${e.path}`)})},`files`):e===`projects`&&wt.length>0?(0,$.jsx)(Pt,{heading:a(`sessions.sidebar.projectsTitle`),className:Ri,children:wt.map(e=>{let t=e.displayName;return(0,$.jsx)(zt,{value:`project:${e.id}`,onSelect:()=>Ft(e.id,e.path),className:Li,children:(0,$.jsx)(Ii,{title:zi(t,he)})},`project:${e.id}`)})},`projects`):null),ln;t[117]!==j||t[118]!==a?(ln=j===`loading`?(0,$.jsx)(`div`,{role:`status`,className:`px-3 py-4 text-center typography-meta text-muted-foreground`,children:a(`common.loading`)}):null,t[117]=j,t[118]=a,t[119]=ln):ln=t[119];let un;t[120]!==j||t[121]!==a?(un=j===`error`?(0,$.jsx)(`div`,{role:`alert`,className:`px-3 py-4 typography-meta text-[var(--status-error)]`,children:a(`commandPalette.error.sessions`)}):null,t[120]=j,t[121]=a,t[122]=un):un=t[122];let dn;t[123]!==a||t[124]!==nt?(dn=nt?(0,$.jsx)(`div`,{role:`alert`,className:`px-3 py-4 typography-meta text-[var(--status-error)]`,children:a(`commandPalette.error.sessions`)}):null,t[123]=a,t[124]=nt,t[125]=dn):dn=t[125];let fn;t[126]!==a||t[127]!==Kt?(fn=Kt?(0,$.jsx)(`div`,{role:`status`,className:`px-3 py-4 text-center typography-meta text-muted-foreground`,children:a(`common.loading`)}):null,t[126]=a,t[127]=Kt,t[128]=fn):fn=t[128];let pn;t[129]!==a||t[130]!==Ut?(pn=Ut?(0,$.jsx)(`div`,{role:`status`,className:`px-3 py-4 typography-meta text-muted-foreground`,children:a(`commandPalette.empty.searchingFiles`)}):null,t[129]=a,t[130]=Ut,t[131]=pn):pn=t[131];let mn;t[132]!==Gt||t[133]!==a?(mn=Gt?(0,$.jsx)(`div`,{role:`alert`,className:`px-3 py-4 typography-meta text-[var(--status-error)]`,children:a(`mobile.files.error.listFailed`)}):null,t[132]=Gt,t[133]=a,t[134]=mn):mn=t[134];let hn;t[135]!==rn||t[136]!==an||t[137]!==on||t[138]!==sn||t[139]!==cn||t[140]!==ln||t[141]!==un||t[142]!==dn||t[143]!==fn||t[144]!==pn||t[145]!==mn?(hn=(0,$.jsxs)(rn,{"aria-label":an,className:`overscroll-contain p-1.5`,children:[on,sn,cn,ln,un,dn,fn,pn,mn]}),t[135]=rn,t[136]=an,t[137]=on,t[138]=sn,t[139]=cn,t[140]=ln,t[141]=un,t[142]=dn,t[143]=fn,t[144]=pn,t[145]=mn,t[146]=hn):hn=t[146];let gn;t[147]!==Qt||t[148]!==Rt||t[149]!==$t||t[150]!==en||t[151]!==tn||t[152]!==nn||t[153]!==hn?(gn=(0,$.jsxs)(Qt,{shouldFilter:!1,onKeyDownCapture:Rt,onPointerDownCapture:$t,onPointerCancelCapture:en,onClickCapture:tn,className:`max-h-full min-h-0 rounded-[inherit] bg-transparent [&_[cmdk-group]]:px-0 [&_[cmdk-item][data-selected=true]]:!bg-[color-mix(in_srgb,var(--interactive-selection)_40%,transparent)] [&_[cmdk-item]:hover]:!bg-[color-mix(in_srgb,var(--interactive-selection)_40%,transparent)]`,children:[nn,hn]}),t[147]=Qt,t[148]=Rt,t[149]=$t,t[150]=en,t[151]=tn,t[152]=nn,t[153]=hn,t[154]=gn):gn=t[154];let _n=gn;if(i===`page`){let e;t[155]===a?e=t[156]:(e=a(`commandPalette.title`),t[155]=a,t[156]=e);let n;return t[157]!==_n||t[158]!==e?(n=(0,$.jsx)(`section`,{ref:U,"data-global-search":`true`,"data-page-scroll-lock":`true`,"aria-label":e,className:`oc-global-search-page flex min-h-0 w-full flex-col bg-background text-foreground`,children:_n}),t[157]=_n,t[158]=e,t[159]=n):n=t[159],n}let vn;t[160]===Symbol.for(`react.memo_cache_sentinel`)?(vn=e=>{e||u(!1)},t[160]=vn):vn=t[160];let yn;t[161]===a?yn=t[162]:(yn=a(`commandPalette.title`),t[161]=a,t[162]=yn);let xn;t[163]===yn?xn=t[164]:(xn=(0,$.jsx)(vt,{children:yn}),t[163]=yn,t[164]=xn);let Sn;t[165]===a?Sn=t[166]:(Sn=a(`commandPalette.description`),t[165]=a,t[166]=Sn);let Cn;t[167]===Sn?Cn=t[168]:(Cn=(0,$.jsx)(yt,{children:Sn}),t[167]=Sn,t[168]=Cn);let Tn;t[169]!==xn||t[170]!==Cn?(Tn=(0,$.jsxs)(ht,{className:`sr-only`,children:[xn,Cn]}),t[169]=xn,t[170]=Cn,t[171]=Tn):Tn=t[171];let En;t[172]!==_n||t[173]!==B||t[174]!==Tn?(En=(0,$.jsxs)(_t,{ref:U,initialFocus:W,"data-global-search":`true`,"data-mobile":B,"data-page-scroll-lock":`true`,className:`oc-global-search oc-mobile-overlay-surface oc-mobile-overlay-surface--translucent oc-composer-autocomplete-surface fixed left-1/2 top-[12vh] z-50 w-[min(40rem,calc(100vw-1.5rem))] max-w-none -translate-x-1/2 translate-y-0 gap-0 overflow-hidden rounded-3xl border-0 p-0`,containerClassName:`block p-0`,overlayClassName:`bg-transparent dark:bg-transparent`,showCloseButton:B,children:[Tn,_n]}),t[172]=_n,t[173]=B,t[174]=Tn,t[175]=En):En=t[175];let Dn;return t[176]!==s||t[177]!==d||t[178]!==En?(Dn=(0,$.jsx)(bt,{open:s,onOpenChange:d,onOpenChangeComplete:vn,children:En}),t[176]=s,t[177]=d,t[178]=En,t[179]=Dn):Dn=t[179],Dn};function Hi(e){return e.isCommandPaletteOpen}function Ui(e){return e.setCommandPaletteOpen}function Wi(e){return e.setActiveMainTab}function Gi(e){return e.setSettingsDialogOpen}function Ki(e){return e.setSettingsPage}function qi(e){return e.setSessionSwitcherOpen}function Ji(e){return e.toggleSidebar}function Yi(e){return e.toggleRightSidebar}function Xi(e){return e.toggleBottomTerminal}function Zi(e){return e.openContextOverview}function Qi(e){return e.openContextFile}function $i(e){return e.shortcutOverrides}function ea(e){return e.openNewSessionDraft}function ta(e){return e.setCurrentSession}function na(e){return e.activeSessions}function ra(e){return e.status}function ia(e){return e.currentDirectory}function aa(e){return e.getActiveProject()}function oa(e){return e.projects}function sa(e){return e.searchFiles}function ca(){It()}function la(){Qe.requestDirectoryDialog()}function ua(e){console.warn(`[command-palette] failed to open draft mini chat window`,e)}function da(e){return e.slug!==`home`}function fa(e){return(typeof e.time?.updated==`number`?e.time.updated:0)||(typeof e.time?.created==`number`?e.time.created:0)}function pa(e){return e.worktreeMetadata}function ma(e){return e.availableWorktreesByProject}function ha(e){return{path:Bi(e.path),name:e.name,relativePath:e.relativePath}}function ga(e){return{item:e,score:0}}function _a(e){return e.searchText}function va(e){return e.searchText}function ya(e){return e.title||``}function ba(e){let{item:t}=e;return t}function xa(e){return{...e,displayName:e.label||e.path.split(`/`).pop()||e.path,searchText:`${e.label||``} ${e.path}`}}function Sa(e){return e.searchText}function Ca(e){return e.item}function wa(e){return e.item}function Ta(e){return e.item}function Ea(e){return e.item}function Da(e){return e.length?e[0].score:1/0}function Oa(e,t){return e.score-t.score}function ka(e){return e.key}function Aa(e){return(0,$.jsx)(zt,{value:e.id,onSelect:e.onSelect,className:Li,children:(0,$.jsx)(Ii,{title:e.title})},e.id)}var ja=class extends Q.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){this.setState({error:e,errorInfo:t})}handleReset=()=>{this.setState({hasError:!1,error:void 0,errorInfo:void 0})};render(){return this.state.hasError?(0,$.jsx)(`div`,{className:`flex items-center justify-center min-h-screen p-4`,children:(0,$.jsxs)(An,{className:`w-full max-w-md`,children:[(0,$.jsx)(mn,{className:`text-center`,children:(0,$.jsxs)(pn,{className:`flex items-center justify-center gap-2 text-destructive`,children:[(0,$.jsx)(Z,{name:`chat-3`,className:`h-5 w-5`}),this.props.texts.title]})}),(0,$.jsxs)(_n,{className:`space-y-4`,children:[(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground text-center`,children:this.props.texts.description}),this.props.sessionId&&(0,$.jsxs)(`div`,{className:`text-xs text-muted-foreground text-center`,children:[this.props.texts.sessionLabel,`: `,this.props.sessionId]}),this.state.error&&(0,$.jsxs)(`details`,{className:`text-xs font-mono bg-muted p-3 rounded`,children:[(0,$.jsx)(`summary`,{className:`cursor-pointer hover:bg-interactive-hover/80`,children:this.props.texts.detailsSummary}),(0,$.jsx)(`pre`,{className:`mt-2 max-h-48 overflow-auto`,children:this.state.error.toString()})]}),(0,$.jsx)(`div`,{className:`flex gap-2`,children:(0,$.jsxs)(X,{onClick:this.handleReset,variant:`outline`,className:`flex-1`,children:[(0,$.jsx)(Z,{name:`restart`,className:`h-4 w-4 mr-2`}),this.props.texts.resetAction]})}),(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground text-center`,children:this.props.texts.persistentHint})]})]})}):this.props.children}};function Ma(e){let t=(0,qr.c)(22),{t:n}=fe(),r;t[0]===n?r=t[1]:(r=n(`chat.errorBoundary.title`),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=n(`chat.errorBoundary.description`),t[2]=n,t[3]=i);let a;t[4]===n?a=t[5]:(a=n(`chat.errorBoundary.sessionLabel`),t[4]=n,t[5]=a);let o;t[6]===n?o=t[7]:(o=n(`chat.errorBoundary.detailsSummary`),t[6]=n,t[7]=o);let s;t[8]===n?s=t[9]:(s=n(`chat.errorBoundary.resetAction`),t[8]=n,t[9]=s);let c;t[10]===n?c=t[11]:(c=n(`chat.errorBoundary.persistentHint`),t[10]=n,t[11]=c);let l;t[12]!==r||t[13]!==i||t[14]!==a||t[15]!==o||t[16]!==s||t[17]!==c?(l={title:r,description:i,sessionLabel:a,detailsSummary:o,resetAction:s,persistentHint:c},t[12]=r,t[13]=i,t[14]=a,t[15]=o,t[16]=s,t[17]=c,t[18]=l):l=t[18];let u;return t[19]!==e||t[20]!==l?(u=(0,$.jsx)(ja,{...e,texts:l}),t[19]=e,t[20]=l,t[21]=u):u=t[21],u}var Na=1440,Pa=e=>{let t=(0,qr.c)(8),{isMobile:n,isVSCode:r,directory:i}=e,a=se(`(min-width: ${Na}px)`),o;t[0]===i?o=t[1]:(o=i?F(i):``,t[0]=i,t[1]=o);let s=o,c;t[2]===s?c=t[3]:(c=e=>{let t=s?e.contextPanelByDirectory[s]:void 0;return t?.isOpen?!!(t.tabs.find(e=>e.id===t.activeTabId)??t.tabs[t.tabs.length-1]??null):!1},t[2]=s,t[3]=c);let l=P(c),u=P(Fa),d=P(Ia),f=!n&&!r&&!l&&!d,p=f&&a,m=u&&p,h;return t[4]!==p||t[5]!==f||t[6]!==m?(h={visible:m,fits:p,layoutAllows:f},t[4]=p,t[5]=f,t[6]=m,t[7]=h):h=t[7],h};function Fa(e){return e.workStatusPanelEnabled}function Ia(e){return e.isRightSidebarOpen}var La=[],Ra=[`subagent_type`,`subagentType`,`agent`,`subagent`],za=(...e)=>{for(let t of e){if(!t||typeof t!=`object`)continue;let e=t;for(let t of Ra){let n=e[t];if(typeof n!=`string`)continue;let r=n.trim();if(r)return r.charAt(0).toUpperCase()+r.slice(1)}}return``},Ba=e=>At(e)||void 0,Va=e=>e===`pending`||e===`running`,Ha=e=>{let t=[],n=new Set;for(let r of e.messageOrder){let i=e.partsByMessageID[r];if(i)for(let e of i){if(!e?.id||n.has(e.id))continue;if(e.type===`tool`&&wt(e.tool)){n.add(e.id);let r=e.state;t.push({id:e.id,sessionID:Ba(e.metadata)??Ba(r)??Ba(r?.metadata)??Ba(r?.input),label:za(r?.input,e.metadata,r?.metadata),running:Va(r?.status)});continue}if(e.type!==`subtask`)continue;let r=e,i=typeof r.taskSessionID==`string`?r.taskSessionID.trim():``,a=typeof r.agent==`string`?r.agent.trim():``,o=typeof r.description==`string`?r.description.trim():``;n.add(e.id),t.push({id:e.id,sessionID:i||void 0,label:a?a.charAt(0).toUpperCase()+a.slice(1):o,running:Va(r.status)})}}return t.length===0?La:t},Ua=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||r.sessionID!==i.sessionID||r.label!==i.label||r.running!==i.running)return!1}return!0},Wa=(e,t,n)=>{let r=new Map(t.map(e=>[e.id,e])),i=new Set,a=[];for(let t of e){t.sessionID&&i.add(t.sessionID);let e=t.sessionID?r.get(t.sessionID):void 0,o=t.running||!!e?.busy||!!(t.sessionID&&n?.has(t.sessionID));a.push({key:t.id,sessionID:t.sessionID,seed:t.id,label:t.label||e?.title?.trim()||``,phase:o?`working`:`done`})}for(let e of t)i.has(e.id)||a.push({key:e.id,sessionID:e.id,seed:e.id,label:e.title?.trim()||``,phase:e.busy?`working`:`done`});let o=a.filter(e=>e.phase===`working`),s=a.filter(e=>e.phase===`done`);return o.length===0?s:s.length===0?o:[...o,...s]},Ga=new Set,Ka=e=>{if(!e)return``;let t=[];for(let n of Object.keys(e)){let r=e[n]?.type;(r===`busy`||r===`retry`)&&t.push(n)}return t.sort(),t.join(`
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{c as t,i as n,n as r,o as i,r as a,s as o}from"./runtime-switch-BJM2k_uH.js";import{n as s}from"./runtime-fetch-CiqQd__Y.js";import{En as c,Ht as l,It as u,d,en as f,f as p,ft as m,it as h,on as g,pn as _,rn as v,sn as y,wn as b}from"./persistence-Dnj1QOdX.js";import{a as x,i as S,o as C}from"./vendor-zustand-DzRqcymP.js";import{nt as w,o as T,rt as E,s as D,tt as O}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as k,Mt as A,Nt as j,lr as M,r as N}from"./platform-wu6wSDfg.js";import{n as P,t as F,x as I}from"./useUIStore-Dfx6TKvi.js";import{n as L}from"./vendor-react-DLPElpoQ.js";import{l as R,n as z,o as B,s as V,t as ee}from"./vendor-tanstack-react-query-D7pys_c9.js";import{i as H}from"./terminalApi-DXyzaX3K.js";import{c as U,d as W,f as te,l as G,m as K,n as ne,o as re,p as ie,s as q,t as ae,u as J}from"./vendor-pierre-diffs-DX7XTPG3.js";import{r as oe}from"./vendor-sonner-DVzioF3d.js";import{l as se,n as ce,p as le,r as ue}from"./vendor-reactuses-core-Dq5ocTF8.js";import{d as de,f as fe,i as pe,l as me,p as he,r as Y,t as X,u as ge}from"./button-CUwjpv-i.js";import{i as _e,t as ve}from"./store-l_X_jQNz.js";import{A as ye,D as be,E as xe,O as Se,k as Ce,t as we}from"./MobileDetailNavigation-xaAVkxD-.js";import{$n as Te,An as Ee,Ar as De,Cn as Oe,Cr as ke,Er as Ae,Fr as je,Gt as Me,Ht as Ne,Ir as Pe,Mr as Fe,Or as Ie,Pr as Le,Sn as Re,Vt as ze,Wn as Be,Xr as Ve,Yn as He,Zr as Ue,aa as We,br as Ge,cn as Ke,co as qe,d as Je,fi as Ye,fo as Xe,ga as Ze,go as Qe,jn as $e,jr as et,ka as tt,kr as nt,mi as rt,mo as it,o as at,oo as ot,so as st,ti as ct,va as lt,wr as ut,xn as dt,yi as ft}from"./useMobileNavigationStore-DBML5LIl.js";import{i as pt,t as mt}from"./useAssistantUIStore-DBwfg9nX.js";import{a as ht,i as gt,n as _t,o as vt,r as yt,t as bt}from"./dialog-PjKWayIU.js";import{t as xt}from"./AgentAvatar-C1MGZ7qC.js";import{n as Z}from"./Icon-BdzPRCSy.js";import{d as St}from"./gitApi-DeWWyR94.js";import{$ as Ct,B as wt,E as Tt,J as Et,Mt as Dt,Q as Ot,Rt as kt,V as At,X as jt,_t as Mt,c as Nt,et as Pt,gt as Ft,it as It,lt as Lt,mt as Rt,nt as zt,o as Bt,pt as Vt,rt as Ht,s as Ut,tt as Wt,vt as Gt}from"./useAppFontEffects-BHenW5Q2.js";import{A as Kt,_ as qt,a as Jt,b as Yt,d as Xt,f as Zt,h as Qt,i as $t,l as en,m as tn,n as nn,p as rn,r as an,s as on,t as sn,x as cn}from"./projectMeta-D_jCNzjw.js";import{t as ln}from"./input-BeVw4D0W.js";import{i as un,n as dn,t as fn}from"./tooltip-DDNnmcXI.js";import{Dt as pn,Et as mn,J as hn,Rt as gn,Tt as _n,at as vn,ct as yn,gt as bn,h as xn,it as Sn,m as Cn,mt as wn,q as Tn,rt as En,st as Dn,tt as On,ut as kn,wt as An}from"./useSessionAutoCleanup-moxr9XbA.js";import{n as jn,t as Mn}from"./useThemeSystem-DMzWVJaW.js";import{i as Nn,t as Pn}from"./OverlayScrollbar-C1C2aKOe.js";import{s as Fn}from"./markdownTheme-DM5h1i18.js";import{n as In}from"./useRuntimeAPIs-DSLXJybW.js";import{C as Ln,g as Rn,h as zn,i as Bn,n as Vn,o as Hn,p as Un,r as Wn,t as Gn,x as Kn,y as qn}from"./textarea-Kl-rTWJe.js";import{D as Jn}from"./sessionChangeSummary-CVZBClsA.js";import{D as Yn,b as Xn,h as Zn,k as Qn,r as $n,v as er,w as tr,y as nr}from"./insertionBoundaries-aV1Cm6zA.js";import{i as rr,n as ir,t as ar}from"./appThemeRegistry-lhAKuFFB.js";import{_ as or,i as sr,l as cr,s as lr,t as ur,v as dr,y as fr}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{a as pr,o as mr,s as hr,t as gr}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{f as _r,l as vr}from"./markdown-worker-bS5OgGO3.js";import{n as yr}from"./useEffectiveDirectory-CF16bcpx.js";import{f as br}from"./FadeInOnReveal-BMSk_tY-.js";import{m as xr}from"./imageSource-BpUsiwFd.js";import{n as Sr}from"./useWorkerHighlightedLines-DYVg-cuB.js";import{t as Cr}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{a as wr,i as Tr,n as Er}from"./vendor-framer-motion-DFy_BSVd.js";import{A as Dr,N as Or,U as kr,t as Ar,u as jr,v as Mr,x as Nr}from"./MobileTabPageHeader-DPlvhJFe.js";import{c as Pr,l as Fr}from"./mcpQueries-pTPWjOQO.js";import{n as Ir,r as Lr}from"./sessionLookup--qnazVNO.js";import{a as Rr,i as zr,n as Br,r as Vr,t as Hr}from"./context-menu-K6zNumqN.js";import{n as Ur,r as Wr,t as Gr}from"./collapsible-paItOH3A.js";import{t as Kr}from"./vendor-cron-parser-CCD11YFT.js";var Q=e(E(),1),qr=L(),$=w(),Jr=e(O(),1);function Yr(){return new Worker(ae,{type:`module`})}var Xr=[`typescript`,`javascript`,`tsx`,`jsx`,`json`,`markdown`],Zr={unified:{poolSize:1,totalASTLRUCacheSize:24,lineDiffType:`none`},split:{poolSize:2,totalASTLRUCacheSize:56,lineDiffType:`word-alt`}},Qr,$r,ei=e=>{let t=Zr[e],n=new ie({workerFactory:Yr,poolSize:t.poolSize,totalASTLRUCacheSize:t.totalASTLRUCacheSize},{theme:{light:`pierre-light`,dark:`pierre-dark`},langs:Xr,lineDiffType:t.lineDiffType,preferredHighlighter:`shiki-wasm`});return n.initialize(),n},ti=e=>{if(!(typeof window>`u`))return e===`split`?($r??=ei(`split`),$r):(Qr??=ei(`unified`),Qr)},ni=e=>{let t=(0,qr.c)(7),{children:n,renderTheme:r}=e,i=ii(`unified`),a=ii(`split`),o,s;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{i&&i.setRenderOptions({theme:r,lineDiffType:Zr.unified.lineDiffType}),a&&a.setRenderOptions({theme:r,lineDiffType:Zr.split.lineDiffType})},s=[r,a,i],t[0]=r,t[1]=a,t[2]=i,t[3]=o,t[4]=s):(o=t[3],s=t[4]),(0,Q.useEffect)(o,s);let c;return t[5]===n?c=t[6]:(c=(0,$.jsx)($.Fragment,{children:n}),t[5]=n,t[6]=c),c},ri=e=>{let t=(0,qr.c)(11),{children:n}=e,r=Mn(),i,a;if(t[0]!==r?.availableThemes||t[1]!==r?.darkThemeId||t[2]!==r?.lightThemeId){let e=Fn(!1),n=Fn(!0),o=r?.lightThemeId??e.metadata.id,s=r?.darkThemeId??n.metadata.id;a=r?.availableThemes.find(e=>e.metadata.id===o)??e,i=r?.availableThemes.find(e=>e.metadata.id===s)??n,ar(a),ar(i),t[0]=r?.availableThemes,t[1]=r?.darkThemeId,t[2]=r?.lightThemeId,t[3]=i,t[4]=a}else i=t[3],a=t[4];let o;t[5]!==i.metadata.id||t[6]!==a.metadata.id?(o={light:a.metadata.id,dark:i.metadata.id},t[5]=i.metadata.id,t[6]=a.metadata.id,t[7]=o):o=t[7];let s=o,c;return t[8]!==n||t[9]!==s?(c=(0,$.jsx)(ni,{renderTheme:s,children:n}),t[8]=n,t[9]=s,t[10]=c):c=t[10],c},ii=e=>{let t=(0,qr.c)(2),n=e===void 0?`unified`:e,r;return t[0]===n?r=t[1]:(r=ti(n),t[0]=n,t[1]=r),r},ai=Q.forwardRef((e,t)=>{let n=(0,qr.c)(11),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=Y(`peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-none transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary data-[unchecked]:bg-[var(--interactive-border)]`,r),n[3]=r,n[4]=a);let o;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(o={width:`36px`,height:`20px`,minWidth:`36px`,minHeight:`20px`},n[5]=o):o=n[5];let s;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(T,{className:Y(`pointer-events-none block rounded-full bg-background shadow-none ring-0 transition-transform data-[checked]:translate-x-4 data-[unchecked]:translate-x-0`),style:{width:`16px`,height:`16px`,minWidth:`16px`,minHeight:`16px`}}),n[6]=s):s=n[6];let c;return n[7]!==i||n[8]!==t||n[9]!==a?(c=(0,$.jsx)(D,{className:a,style:o,...i,ref:t,children:s}),n[7]=i,n[8]=t,n[9]=a,n[10]=c):c=n[10],c});ai.displayName=`Switch`;var oi={},si=[],ci=(e,t)=>{if(!e)return t(`mcpDropdown.status.unknown`);switch(e.status){case`connected`:return t(`mcpDropdown.status.connected`);case`failed`:return t(`mcpDropdown.status.failed`,{error:e.error||t(`mcpDropdown.status.unknownError`)});case`needs_auth`:return t(`mcpDropdown.status.needsAuth`);case`needs_client_registration`:return t(`mcpDropdown.status.needsRegistration`,{error:e.error||``});default:return e.status}},li=e=>{switch(e?.status){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`default`}},ui=({active:e,className:t,headerAction:n,listClassName:r,hideHeader:i=!1,mobileListDensity:a=!1})=>{let{t:o}=fe(),s=k(e=>e.currentDirectory)??null,c=kr(e=>e.connect),l=kr(e=>e.disconnect),{data:u,refetch:d,isError:f,error:p}=Fr(s,{enabled:e}),{data:m}=Pr(s,{enabled:e}),h=u??oi,g=m??si,[_,v]=Q.useState(!1),[y,b]=Q.useState(null),x=Q.useMemo(()=>{let e=new Set(Object.keys(h));for(let t of g)t?.name&&e.add(t.name);return Array.from(e).sort((e,t)=>e.localeCompare(t))},[g,h]),S=Q.useCallback(e=>{if(e?.preventDefault(),_)return;v(!0);let t=new Promise(e=>setTimeout(e,500));Promise.all([d(),t]).finally(()=>{v(!1)})},[_,d]);return(0,$.jsxs)(`div`,{className:Y(`w-full`,t),children:[i?null:(0,$.jsx)(`div`,{className:`border-b border-[var(--interactive-border)]`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-4 py-2.5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex items-baseline gap-2`,children:[(0,$.jsx)(`div`,{className:`typography-ui-header font-semibold text-foreground`,children:o(`mcpDropdown.title`)}),s&&(0,$.jsx)(`div`,{className:`truncate typography-micro text-muted-foreground`,children:s.split(`/`).pop()||s})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n,(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,disabled:_,onClick:S,"aria-label":o(`mcpDropdown.actions.refreshAria`),children:(0,$.jsx)(Z,{name:`refresh`,className:Y(`h-4 w-4`,_&&`animate-spin`)})})]})]})}),(0,$.jsx)(`div`,{className:Y(`max-h-64 overflow-y-auto`,a?`space-y-1 py-3`:`px-3 py-2.5`,r),children:(0,$.jsxs)(`div`,{className:Y(!a&&x.length>0&&`rounded-xl bg-[var(--surface-muted)] p-1.5`),children:[x.map(e=>{let t=h[e]??(f&&!u&&g.some(t=>t.name===e)?{status:`failed`,error:p.message}:void 0),n=li(t),r=t?.status===`connected`,i=y===e,d=ci(t,o);return(0,$.jsxs)(`div`,{className:Y(`flex items-center justify-between rounded-lg hover:bg-interactive-hover/50`,a?`gap-3 px-4 py-3`:`gap-2 px-2.5 py-2`),children:[(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`span`,{className:Y(`rounded-full flex-shrink-0`,a?`h-2.5 w-2.5`:`h-2 w-2`,n===`success`&&`bg-status-success`,n===`error`&&`bg-status-error`,n===`warning`&&`bg-status-warning`,n==="default"&&`bg-muted-foreground/40`),"aria-label":d})}),(0,$.jsx)(dn,{side:`left`,children:(0,$.jsx)(`p`,{children:d})})]}),(0,$.jsx)(`span`,{className:Y(`truncate`,a?`text-[17px] leading-6 font-medium`:`typography-ui-label`),children:e})]})}),(0,$.jsx)(ai,{checked:r,disabled:i,className:`data-[checked]:bg-status-info`,onCheckedChange:async t=>{b(e);try{t?await c(e,s):await l(e,s)}finally{b(null)}}})]},e)}),x.length===0&&(0,$.jsx)(`div`,{className:`px-4 py-5 typography-ui-label text-muted-foreground text-center`,children:o(`mcpDropdown.empty.configureInConfig`)})]})})]})},di=e=>!(e.dismissed===`true`||e.sessionShown===`true`||e.hasActiveToast),fi=e=>!(!e.version||e.seenVersions.has(e.version)||e.dismissedVersion!==null&&e.dismissedVersion===e.version),pi=e=>{if(typeof e!=`object`||!e)return``;let t=e.version;return typeof t==`string`?t.trim():``},mi=e=>{if(!e||e.available!==!0||e.canManage===!1)return``;let t=typeof e.latestVersion==`string`?e.latestVersion:typeof e.targetVersion==`string`?e.targetVersion:``;return t?t.trim():``},hi=e=>{let t=e.trim().replace(/^v/i,``);return t?{target:t}:null},gi=5e3,_i={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e)};function vi(e,t,n=_i){if(!e)return()=>void 0;let r=n.setTimeout(()=>{t().catch(()=>void 0)},gi);return()=>n.clearTimeout(r)}var yi=(e,t)=>({queryKey:[e,`opencode-update`,t],queryFn:async({signal:i})=>{let a=()=>e===n()&&t===r();if(!a())throw Error(`Stale OpenCode update check`);let o=await s(`/api/opencode/upgrade-status`,{headers:{Accept:`application/json`},signal:i});if(!o.ok)throw Error(`OpenCode update check failed`);let c=await o.json();if(i.aborted||!a())throw Error(`Stale OpenCode update check`);if(!c||typeof c!=`object`||Array.isArray(c))throw Error(`Invalid OpenCode update status`);return c},staleTime:3e4,refetchInterval:3e5,refetchOnWindowFocus:!0,refetchOnReconnect:!0,retry:1}),bi=`opencode-update-available`,xi=`opencode-upgrade-progress`,Si=`opencode-update-toast-dismissed-version`,Ci=()=>{let{t:e}=fe(),i=P(e=>e.showOpenCodeUpdateNotifications),a=Q.useRef(new Set),o=Q.useRef(!1),c=Q.useSyncExternalStore(t,n,n),l=Q.useSyncExternalStore(t,r,r),u=R(),[d,f]=Q.useState(!1);Q.useEffect(()=>vi(i,async()=>{f(!0)}),[i]);let p=V({...yi(c,l),enabled:i&&d});ue(`openchamber:opencode-update-available`,e=>{i&&pi(e.detail)&&p.refetch()});let m=`${Si}:${c}`;Q.useEffect(()=>{a.current.clear(),Pe.dismiss(bi),Pe.dismiss(xi)},[c,l]),Q.useEffect(()=>{i||Pe.dismiss(bi)},[i]);let h=ce(async(t,i=!1)=>{if(o.current)return;o.current=!0;let a=()=>c===n()&&l===r();Pe.dismiss(bi),Pe.message(e(`opencodeUpdate.toast.upgrading.title`),{id:xi,description:e(`opencodeUpdate.toast.upgrading.description`),duration:1/0,icon:(0,$.jsx)(Z,{name:`refresh`,className:`h-4 w-4 animate-spin text-muted-foreground`})});try{let n=hi(t);if(!n)throw Error(e(`opencodeUpdate.toast.failed.description`));let r=await s(`/api/opencode/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({...n,confirmActiveTasks:i})}),o=await r.json().catch(()=>null);if(!a())return;if(o?.errorCode===`UPGRADE_ACTIVE_TASKS`){Pe.error(e(`opencodeUpdate.toast.failed.title`),{id:xi,description:o.error,duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:()=>{a()&&h(t,!0)}}});return}if(!r.ok||o?.success!==!0)throw Error(o?.error||r.statusText||e(`opencodeUpdate.toast.failed.description`));Pe.success(e(`opencodeUpdate.toast.updated.title`),{id:xi,description:o?.version?e(`opencodeUpdate.toast.updated.descriptionWithVersion`,{version:o.version}):e(`opencodeUpdate.toast.updated.description`),duration:1/0,icon:(0,$.jsx)(Z,{name:`check`,className:`h-4 w-4 text-[var(--status-success)]`})}),u.invalidateQueries({queryKey:[c,`opencode-update`,l]}),u.invalidateQueries({queryKey:[c,`about`,l]})}catch(n){if(!a())return;Pe.error(e(`opencodeUpdate.toast.failed.title`),{id:xi,description:n instanceof Error?n.message:e(`opencodeUpdate.toast.failed.description`),duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:()=>{a()&&h(t)}}})}finally{o.current=!1}});return Q.useEffect(()=>{let t=t=>{if(!P.getState().showOpenCodeUpdateNotifications){Pe.dismiss(bi);return}fi({version:t,dismissedVersion:I().getItem(m),seenVersions:a.current})&&(a.current.add(t),Pe.info(e(`opencodeUpdate.toast.available.title`),{id:bi,description:e(`opencodeUpdate.toast.available.description`,{version:t}),duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:()=>{c===n()&&l===r()&&h(t)}},cancel:{label:e(`opencodeUpdate.toast.actions.dismiss`),onClick:()=>{I().setItem(m,t),Pe.dismiss(bi)}}}))},i=mi(p.data);i?t(i):(p.data?.available===!1||p.data?.canManage===!1)&&Pe.dismiss(bi)},[i,e,p.data,m,c,l,h]),null},wi=()=>{let e=(0,qr.c)(3),[t,n]=Q.useState(Ti),{isUpdating:r}=t,i,a;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>qe(n),a=[],e[0]=i,e[1]=a):(i=e[0],a=e[1]),Q.useEffect(i,a),!r)return null;let o;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`div`,{className:`fixed inset-0 z-[9999] flex items-center justify-center bg-background/90`,children:(0,$.jsx)(gn,{width:80,height:80,isAnimated:!0})}),e[2]=o):o=e[2],o};function Ti(){return st()}var Ei=5e3,Di=(e,t)=>{if(!e)return 1;let n=1;for(let r=0;r<e.length;r+=1)if(e.charCodeAt(r)===10&&(n+=1,n>t))return n;return n},Oi=(e,t)=>ve(_e.getState().dictionary,e,t),ki=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`file not found`)||t.includes(`not found`)||t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`does not exist`)?`missing`:`unreadable`},Ai=async(e,t)=>{if(e.readFile){let n=await e.readFile(t,{optional:!0});if(typeof n.exists!=`boolean`)throw Error(`Optional file read requires an existence response header`);return{content:n.content??``,exists:n.exists}}let n=new URLSearchParams({path:t,optional:`true`}),r=await s(`/api/fs/read?${n.toString()}`,{cache:`no-store`});if(!r.ok){let e=await r.json().catch(()=>({error:r.statusText}));throw Error(e.error||`Failed to read file`)}let i=r.headers.get(`x-openchamber-file-exists`);if(i!==`true`&&i!==`false`)throw Error(`Optional file read requires an existence response header`);return{content:await r.text(),exists:i===`true`}},ji=async(e,t)=>{try{let{content:n,exists:r}=await Ai(e,t);return r?Di(n,5e3)>5e3?{ok:!1,reason:`too-large`}:{ok:!0}:{ok:!1,reason:`missing`}}catch(e){return{ok:!1,reason:ki(e)}}},Mi=e=>e===`too-large`?Oi(`contextFileOpen.failure.tooLarge`,{count:Ei.toLocaleString(he())}):Oi(e===`missing`?`contextFileOpen.failure.missing`:`contextFileOpen.failure.unreadable`),Ni=(e,t)=>!e||t.length===0?``:JSON.stringify([e,t]),Pi=(e,t,n,r)=>!n||r!==n||e.length===0?[]:Be(e,t,e=>e.name,{limit:10,threshold:.4}),Fi=(e,t={})=>{let r=e.trim(),i=t.transport??n(),a=t.searchSessions??(e=>j.searchSessionsByTitle(e));return B({queryKey:p.sessionTitleSearch.query(r,i),enabled:r.length>0,queryFn:({signal:e})=>a({search:r,limit:30,signal:e}),staleTime:5e3,retry:1})},Ii=e=>{let t=(0,qr.c)(13),{title:n,description:r,trailing:i}=e,a=r?`min-w-0 max-w-[58%] shrink-0 truncate typography-meta font-medium leading-4 text-foreground`:`min-w-0 flex-1 truncate typography-meta font-medium leading-4 text-foreground`,o;t[0]!==a||t[1]!==n?(o=(0,$.jsx)(`span`,{className:a,children:n}),t[0]=a,t[1]=n,t[2]=o):o=t[2];let s;t[3]===r?s=t[4]:(s=r?(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-micro leading-4 text-muted-foreground/65`,children:r}):null,t[3]=r,t[4]=s);let c;t[5]!==o||t[6]!==s?(c=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2.5`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7];let l;t[8]===i?l=t[9]:(l=i?(0,$.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center pl-2 text-muted-foreground/50`,children:i}):null,t[8]=i,t[9]=l);let u;return t[10]!==c||t[11]!==l?(u=(0,$.jsxs)($.Fragment,{children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12],u},Li=`min-h-9 gap-2 rounded-lg px-3 py-2 typography-meta`,Ri=`py-0 [&_[cmdk-group-heading]]:px-2.5 [&_[cmdk-group-heading]]:pb-2 [&_[cmdk-group-heading]]:pt-3 [&_[cmdk-group-heading]]:font-normal [&_[cmdk-group-heading]]:text-muted-foreground`;function zi(e,t){let n=t.toLowerCase().split(/\s+/).filter(Boolean);if(!n.length)return e;let r=n.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`));return e.split(RegExp(`(${r.join(`|`)})`,`gi`)).map((e,t)=>n.includes(e.toLowerCase())?(0,$.jsx)(`mark`,{className:`bg-transparent font-[inherit] text-[var(--primary-base)]`,children:e},t):e)}var Bi=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`),n=t.startsWith(`//`),r=t.replace(/\/+/g,`/`);n&&!r.startsWith(`//`)&&(r=`/${r}`);let i=r===`/`,a=/^[A-Za-z]:\/$/.test(r);return!i&&!a&&(r=r.replace(/\/+$/,``)),r},Vi=e=>{let t=(0,qr.c)(180),{presentation:n,onBack:r}=e,i=n===void 0?`dialog`:n,{t:a}=fe(),o=Jn(),s=P(Hi),[c,u]=Q.useState(s),d=P(Ui),p=P(Wi),m=P(Gi),h=P(Ki),_=P(qi),b=P(Ji),x=P(Yi),S=P(Xi),C=P(Zi),w=P(Qi),T=P($i),E=Je(ea),D=Je(ta),O=Fe(na),j=Fe(ra),M=k(ia),N=ot(aa),F=ot(oa),I=yr(),L=A(sa),{files:R}=In(),{isMobile:z}=Nn(),B=i===`page`||z,ee;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(ee=me(),t[0]=ee):ee=t[0];let H=ee,U=Q.useRef(null),W=Q.useRef(null),te;t[1]!==s||t[2]!==B?(te=()=>{if(!B||!s||!U.current)return;let e=window.visualViewport;U.current.style.setProperty(`--search-viewport-height`,`${e?.height??window.innerHeight}px`),U.current.style.setProperty(`--search-viewport-top`,`${e?.offsetTop??0}px`)},t[1]=s,t[2]=B,t[3]=te):te=t[3];let G=ce(te),K;t[4]!==s||t[5]!==B?(K=()=>B&&s?window.visualViewport??window:null,t[4]=s,t[5]=B,t[6]=K):K=t[6],ue(`resize`,G,K);let ne;t[7]!==s||t[8]!==B?(ne=()=>B&&s?window.visualViewport:null,t[7]=s,t[8]=B,t[9]=ne):ne=t[9],ue(`scroll`,G,ne);let re;t[10]===G?re=t[11]:(re=()=>{G()},t[10]=G,t[11]=re);let ie;t[12]!==s||t[13]!==B?(ie=[B,s],t[12]=s,t[13]=B,t[14]=ie):ie=t[14],Q.useEffect(re,ie);let q,ae;t[15]!==s||t[16]!==i?(q=()=>{i===`page`&&s&&W.current?.focus({preventScroll:!0})},ae=[i,s],t[15]=s,t[16]=i,t[17]=q,t[18]=ae):(q=t[17],ae=t[18]),Q.useEffect(q,ae);let J;t[19]===I?J=t[20]:(J=I?Bi(I):null,t[19]=I,t[20]=J);let oe=J,[se,le]=Q.useState(``),de=Qn(se,200).trim(),pe;t[21]===se?pe=t[22]:(pe=se.trim(),t[21]=se,t[22]=pe);let he=pe,Y,X;t[23]===s?(Y=t[24],X=t[25]):(Y=()=>{s&&(le(``),u(!0))},X=[s],t[23]=s,t[24]=Y,t[25]=X),Q.useEffect(Y,X);let _e;t[26]===d?_e=t[27]:(_e=()=>d(!1),t[26]=d,t[27]=_e);let ve=ce(_e),ye;t[28]===ve?ye=t[29]:(ye=e=>()=>{ve(),e()},t[28]=ve,t[29]=ye);let be=ce(ye);N?.id,N?.path;let xe=(()=>{let e=[{id:`new-session`,title:a(`commandPalette.item.newSession`),shortcutId:`new_chat`,searchText:a(`commandPalette.item.newSession`),onSelect:be(()=>{p(`chat`),_(!1),E()})},{id:`new-worktree`,title:a(`commandPalette.item.newWorktreeDraft`),shortcutId:`new_chat_worktree`,searchText:a(`commandPalette.item.newWorktreeDraft`),onSelect:be(ca)},{id:`add-project`,title:a(`commandPalette.item.addProject`),searchText:a(`commandPalette.item.addProject`),onSelect:be(la)},{id:`toggle-sidebar`,title:a(B?`commandPalette.item.showSessionSwitcher`:`commandPalette.item.toggleSidebar`),shortcutId:`toggle_sidebar`,searchText:a(B?`commandPalette.item.showSessionSwitcher`:`commandPalette.item.toggleSidebar`),onSelect:be(()=>{if(B){let{isSessionSwitcherOpen:e}=P.getState();_(!e)}else b()})},{id:`toggle-right-sidebar`,title:a(`commandPalette.item.toggleRightSidebar`),shortcutId:`toggle_right_sidebar`,searchText:a(`commandPalette.item.toggleRightSidebar`),onSelect:be(()=>x())},{id:`toggle-terminal`,title:a(`commandPalette.item.toggleTerminal`),shortcutId:`toggle_terminal`,searchText:a(`commandPalette.item.toggleTerminal`),onSelect:be(()=>S())},{id:`new-terminal-tab`,title:a(`commandPalette.item.newTerminalTab`),shortcutId:`open_new_terminal`,searchText:a(`commandPalette.item.newTerminalTab`),onSelect:be(()=>{I&&Nt(I)})},{id:`context-usage`,title:a(`commandPalette.item.showContextUsage`),searchText:a(`commandPalette.item.showContextUsage`),onSelect:be(()=>{M&&C(M)})},{id:`open-settings`,title:a(`commandPalette.item.openSettings`),shortcutId:`open_settings`,searchText:a(`commandPalette.item.openSettings`),onSelect:be(()=>m(!0))}];return l()&&e.splice(1,0,{id:`new-mini-chat`,title:a(`commandPalette.item.newMiniChat`),shortcutId:`new_mini_chat`,searchText:a(`commandPalette.item.newMiniChat`),onSelect:be(()=>{f(`desktop_open_draft_mini_chat_window`,{directory:Bi(M||N?.path||``),projectId:N?.id??null}).catch(ua)})}),e})(),Se=v(),Ce={isVSCode:g(),isWeb:!Se&&y(),isDesktop:Se,isMobile:B},Ee=Dr.filter(da).filter(e=>!e.isAvailable||e.isAvailable(Ce)).map(e=>{let t=(e.keywords??[]).join(` `);return{id:`settings:${e.slug}`,title:e.title,searchText:`${e.title} ${e.group} ${t}`,onSelect:be(()=>{h(e.slug),m(!0)})}}),De=fa,Oe;if(t[30]!==O){let e;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(e=(e,t)=>De(t)-De(e),t[32]=e):e=t[32],Oe=[...O].sort(e),t[30]=O,t[31]=Oe}else Oe=t[31];let ke=Oe,Ae=Je(pa),je=Je(ma),Me;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(Me=[],t[33]=Me):Me=t[33];let[Ne,Ie]=Q.useState(Me),[Le,Re]=Q.useState(``),[ze,Ve]=Q.useState(``),He=Ni(oe,de),Ue;t[34]!==oe||t[35]!==He||t[36]!==s||t[37]!==L||t[38]!==Ve||t[39]!==Ie||t[40]!==Re||t[41]!==de?(Ue=()=>{if(!s){Ie([]),Re(``),Ve(``);return}if(!He){Ie([]),Re(``),Ve(``);return}if(!oe){Ie([]),Re(``),Ve(``);return}let e=!1;return Ve(``),L(oe,de,10,{type:`file`}).then(t=>{e||(Ie(t.map(ha)),Re(He),Ve(``))}).catch(()=>{e||(Ie([]),Re(``),Ve(He))}),()=>{e=!0}},t[34]=oe,t[35]=He,t[36]=s,t[37]=L,t[38]=Ve,t[39]=Ie,t[40]=Re,t[41]=de,t[42]=Ue):Ue=t[42];let We;t[43]!==oe||t[44]!==He||t[45]!==s||t[46]!==L||t[47]!==de?(We=[s,oe,de,He,L],t[43]=oe,t[44]=He,t[45]=s,t[46]=L,t[47]=de,t[48]=We):We=t[48],Q.useEffect(Ue,We);let Ge=he.length>0,Ke;bb0:{if(!Ge){Ke=xe.map(ga);break bb0}Ke=Be(xe,he,_a,{limit:7,noFuzzy:!0})}let qe=Ke,Ye;bb1:{if(!Ge){Ye=[];break bb1}Ye=Be(Ee,he,va,{limit:7,noFuzzy:!0})}let Xe=Ye,Ze;t[49]===de?Ze=t[50]:(Ze=Fi(de),t[49]=de,t[50]=Ze);let Qe=(s||c)&&(de.length>0||i===`page`),$e;t[51]!==Ze||t[52]!==Qe?($e={...Ze,enabled:Qe},t[51]=Ze,t[52]=Qe,t[53]=$e):$e=t[53];let et=V($e),tt=Ge&&he===de&&et.isSuccess,rt=(Ge||i===`page`)&&he===de&&et.isError,it;bb2:{if(!rt){let e;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[54]=e):e=t[54],it=e;break bb2}let e;t[55]!==he||t[56]!==ke?(e=Be(ke,he,ya,{limit:30,threshold:.2}).map(ba),t[55]=he,t[56]=ke,t[57]=e):e=t[57],it=e}let st=it,ct;bb3:{if(!Ge){if(i===`page`&&!de&&et.isSuccess){ct=et.data;break bb3}let e;t[58]!==i||t[59]!==ke?(e=ke.slice(0,i===`page`?30:9),t[58]=i,t[59]=ke,t[60]=e):e=t[60],ct=e;break bb3}if(!tt){let e;t[61]!==st||t[62]!==rt?(e=rt?st:[],t[61]=st,t[62]=rt,t[63]=e):e=t[63],ct=e;break bb3}let e;t[64]===et.data?e=t[65]:(e=et.data??[],t[64]=et.data,t[65]=e),ct=e}let lt=ct,ut;bb4:{if(!s&&!c){ut=[];break bb4}if(he!==de||ze===He){ut=[];break bb4}ut=Pi(Ne,de,He,Le)}let dt=ut,ft=(s||c)&&He.length>0&&Le!==He&&ze!==He,pt;bb5:{if(!Ge){pt=[];break bb5}let e=F.map(xa);pt=Be(e,he,Sa,{limit:7,threshold:.4})}let mt=pt,gt=qe.map(Ca),xt=Xe.map(wa),Z=lt,St=Ge?dt.map(Ta):[],wt=Ge?mt.map(Ea):[],Tt;bb6:{if(!Ge){Tt=[`sessions`,`commands`];break bb6}let e=Da,t=[{key:`commands`,score:e(qe)},{key:`settings`,score:e(Xe)},{key:`files`,score:e(dt)},{key:`projects`,score:e(mt)}];t.sort(Oa),Tt=[`sessions`,...t.map(ka)]}let Et=Tt,Dt;t[66]!==ve||t[67]!==o||t[68]!==p||t[69]!==D||t[70]!==_?(Dt=e=>{ve(),p(`chat`),_(!1);let t=nt(e)||``;o?at.getState().openSession({sessionId:e.id,directory:t}):D(e.id,t)},t[66]=ve,t[67]=o,t[68]=p,t[69]=D,t[70]=_,t[71]=Dt):Dt=t[71];let kt=ce(Dt),At;t[72]!==ve||t[73]!==oe||t[74]!==R||t[75]!==o||t[76]!==w?(At=async e=>{if(!oe)return;let t=await ji(R,e);if(!t.ok){Pe.error(Mi(t.reason));return}o?o.openFile({path:e}):w(oe,e),ve()},t[72]=ve,t[73]=oe,t[74]=R,t[75]=o,t[76]=w,t[77]=At):At=t[77];let jt=ce(At),Mt;t[78]!==ve||t[79]!==o||t[80]!==E?(Mt=(e,t)=>{ve();let n={selectedProjectId:e,directoryOverride:t};o?at.getState().openDraft(n):E(n)},t[78]=ve,t[79]=o,t[80]=E,t[81]=Mt):Mt=t[81];let Ft=ce(Mt),It=e=>wn(bn(e,T)),Lt;t[82]!==kt||t[83]!==B||t[84]!==Z?(Lt=e=>{if(B||e.nativeEvent.isComposing||e.altKey||e.shiftKey||(H?!e.metaKey||e.ctrlKey:!e.ctrlKey||e.metaKey)||!/^[1-9]$/.test(e.key)||(e.preventDefault(),e.stopPropagation(),e.repeat))return;let t=Z[Number(e.key)-1];t&&kt(t)},t[82]=kt,t[83]=B,t[84]=Z,t[85]=Lt):Lt=t[85];let Rt=ce(Lt),Bt=e=>{let t=Bi(Ae.get(e.id)?.projectDirectory||nt(e)||``),n=Te(F,je,t);return n?.label||(n?.path||t).split(`/`).pop()||``},Ut=Ge&&!!oe&&(he!==de||ft),Gt=Ge&&he===de&&!!He&&ze===He,Kt=(Ge||i===`page`)&&(he!==de||et.isFetching&&!et.isSuccess),qt=i===`page`?`mobileGlass`:`default`,Jt;t[86]===a?Jt=t[87]:(Jt=a(`commandPalette.title`),t[86]=a,t[87]=Jt);let Yt;t[88]===a?Yt=t[89]:(Yt=a(`commandPalette.input.placeholder`),t[88]=a,t[89]=Yt);let Xt;t[90]!==se||t[91]!==qt||t[92]!==Jt||t[93]!==Yt?(Xt=(0,$.jsx)(Wt,{ref:W,variant:qt,className:`font-normal`,"aria-label":Jt,inputMode:`search`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,value:se,onValueChange:le,placeholder:Yt}),t[90]=se,t[91]=qt,t[92]=Jt,t[93]=Yt,t[94]=Xt):Xt=t[94];let Zt=Xt,Qt=Ot,$t,en,tn;t[95]===B?($t=t[96],en=t[97],tn=t[98]):($t=e=>{let t=e.target.closest(`[cmdk-item]`);B&&t&&Rn({currentTarget:t})},en=e=>{let t=e.target.closest(`[cmdk-item]`);B&&t&&zn({currentTarget:t,detail:1})},tn=e=>{let t=e.target.closest(`[cmdk-item]`);B&&t&&e.detail>0&&!zn({currentTarget:t,detail:e.detail})&&(e.preventDefault(),e.stopPropagation())},t[95]=B,t[96]=$t,t[97]=en,t[98]=tn);let nn;t[99]!==ve||t[100]!==r||t[101]!==i||t[102]!==Zt||t[103]!==a?(nn=i===`page`?(0,$.jsx)(we,{title:Zt,backAriaLabel:a(`header.actions.backAria`),onBack:r??ve}):Zt,t[99]=ve,t[100]=r,t[101]=i,t[102]=Zt,t[103]=a,t[104]=nn):nn=t[104];let rn=Ht,an;t[105]===a?an=t[106]:(an=a(`commandPalette.title`),t[105]=a,t[106]=an);let on;t[107]!==a||t[108]!==Z.length?(on=Z.length===0?(0,$.jsx)(`div`,{className:`px-2.5 pb-2 pt-3 typography-meta text-muted-foreground`,children:a(`layout.mainTab.chat`)}):null,t[107]=a,t[108]=Z.length,t[109]=on):on=t[109];let sn;t[110]!==Gt||t[111]!==j||t[112]!==a||t[113]!==rt||t[114]!==Ut||t[115]!==Kt?(sn=!Ut&&!Kt&&!Gt&&!rt&&j!==`loading`&&j!==`error`?(0,$.jsx)(Ct,{className:`py-10 text-center typography-meta text-muted-foreground`,children:a(`commandPalette.empty.noResults`)}):null,t[110]=Gt,t[111]=j,t[112]=a,t[113]=rt,t[114]=Ut,t[115]=Kt,t[116]=sn):sn=t[116];let cn=Et.map(e=>e===`commands`&>.length>0?(0,$.jsx)(Pt,{heading:a(`settings.page.commands.title`),className:Ri,children:gt.map(e=>(0,$.jsx)(zt,{value:e.id,onSelect:e.onSelect,className:Li,children:(0,$.jsx)(Ii,{title:e.title,trailing:!B&&e.shortcutId?(0,$.jsx)(Vt,{className:`h-3.5 min-w-0 shrink-0 rounded-full border-0 bg-[color-mix(in_srgb,var(--surface-foreground)_6%,transparent)] px-1.5 font-sans text-[10px] font-medium tracking-tight text-muted-foreground/65 shadow-none`,children:It(e.shortcutId)}):void 0})},e.id))},`commands`):e===`settings`&&xt.length>0?(0,$.jsx)(Pt,{heading:a(`settings.view.home.title`),className:Ri,children:xt.map(Aa)},`settings`):e===`sessions`&&Z.length>0?(0,$.jsx)(Pt,{heading:a(`layout.mainTab.chat`),className:Ri,children:Z.map((e,t)=>{let n=e.title||a(`commandPalette.session.untitled`),r=Bt(e);return(0,$.jsx)(zt,{value:`session:${e.id}`,onSelect:()=>kt(e),className:`flex-col items-stretch gap-1 rounded-lg px-3 py-2`,"aria-keyshortcuts":!B&&t<9?`${H?`Meta`:`Control`}+${t+1}`:void 0,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label text-foreground`,title:n,children:zi(n,he)}),(0,$.jsx)(`span`,{className:`max-w-[28%] shrink-0 truncate typography-meta text-muted-foreground`,title:r,children:r}),!B&&t<9?(0,$.jsxs)(Vt,{className:`h-5 min-w-8 shrink-0 rounded-full border-0 bg-interactive-selection px-2 text-muted-foreground shadow-none`,children:[H?`⌘`:`Ctrl+`,t+1]}):null]})},e.id)})},`sessions`):e===`files`&&St.length>0?(0,$.jsx)(Pt,{heading:a(`layout.mainTab.files`),className:Ri,children:St.map(e=>{let t=ge(e.relativePath||e.name,{maxLength:80});return(0,$.jsx)(zt,{value:`file:${e.path}`,onSelect:()=>{jt(e.path)},className:Li,children:(0,$.jsx)(Ii,{title:zi(e.name,he),description:t===e.name?void 0:zi(t,he)})},`file:${e.path}`)})},`files`):e===`projects`&&wt.length>0?(0,$.jsx)(Pt,{heading:a(`sessions.sidebar.projectsTitle`),className:Ri,children:wt.map(e=>{let t=e.displayName;return(0,$.jsx)(zt,{value:`project:${e.id}`,onSelect:()=>Ft(e.id,e.path),className:Li,children:(0,$.jsx)(Ii,{title:zi(t,he)})},`project:${e.id}`)})},`projects`):null),ln;t[117]!==j||t[118]!==a?(ln=j===`loading`?(0,$.jsx)(`div`,{role:`status`,className:`px-3 py-4 text-center typography-meta text-muted-foreground`,children:a(`common.loading`)}):null,t[117]=j,t[118]=a,t[119]=ln):ln=t[119];let un;t[120]!==j||t[121]!==a?(un=j===`error`?(0,$.jsx)(`div`,{role:`alert`,className:`px-3 py-4 typography-meta text-[var(--status-error)]`,children:a(`commandPalette.error.sessions`)}):null,t[120]=j,t[121]=a,t[122]=un):un=t[122];let dn;t[123]!==a||t[124]!==rt?(dn=rt?(0,$.jsx)(`div`,{role:`alert`,className:`px-3 py-4 typography-meta text-[var(--status-error)]`,children:a(`commandPalette.error.sessions`)}):null,t[123]=a,t[124]=rt,t[125]=dn):dn=t[125];let fn;t[126]!==a||t[127]!==Kt?(fn=Kt?(0,$.jsx)(`div`,{role:`status`,className:`px-3 py-4 text-center typography-meta text-muted-foreground`,children:a(`common.loading`)}):null,t[126]=a,t[127]=Kt,t[128]=fn):fn=t[128];let pn;t[129]!==a||t[130]!==Ut?(pn=Ut?(0,$.jsx)(`div`,{role:`status`,className:`px-3 py-4 typography-meta text-muted-foreground`,children:a(`commandPalette.empty.searchingFiles`)}):null,t[129]=a,t[130]=Ut,t[131]=pn):pn=t[131];let mn;t[132]!==Gt||t[133]!==a?(mn=Gt?(0,$.jsx)(`div`,{role:`alert`,className:`px-3 py-4 typography-meta text-[var(--status-error)]`,children:a(`mobile.files.error.listFailed`)}):null,t[132]=Gt,t[133]=a,t[134]=mn):mn=t[134];let hn;t[135]!==rn||t[136]!==an||t[137]!==on||t[138]!==sn||t[139]!==cn||t[140]!==ln||t[141]!==un||t[142]!==dn||t[143]!==fn||t[144]!==pn||t[145]!==mn?(hn=(0,$.jsxs)(rn,{"aria-label":an,className:`overscroll-contain p-1.5`,children:[on,sn,cn,ln,un,dn,fn,pn,mn]}),t[135]=rn,t[136]=an,t[137]=on,t[138]=sn,t[139]=cn,t[140]=ln,t[141]=un,t[142]=dn,t[143]=fn,t[144]=pn,t[145]=mn,t[146]=hn):hn=t[146];let gn;t[147]!==Qt||t[148]!==Rt||t[149]!==$t||t[150]!==en||t[151]!==tn||t[152]!==nn||t[153]!==hn?(gn=(0,$.jsxs)(Qt,{shouldFilter:!1,onKeyDownCapture:Rt,onPointerDownCapture:$t,onPointerCancelCapture:en,onClickCapture:tn,className:`max-h-full min-h-0 rounded-[inherit] bg-transparent [&_[cmdk-group]]:px-0 [&_[cmdk-item][data-selected=true]]:!bg-[color-mix(in_srgb,var(--interactive-selection)_40%,transparent)] [&_[cmdk-item]:hover]:!bg-[color-mix(in_srgb,var(--interactive-selection)_40%,transparent)]`,children:[nn,hn]}),t[147]=Qt,t[148]=Rt,t[149]=$t,t[150]=en,t[151]=tn,t[152]=nn,t[153]=hn,t[154]=gn):gn=t[154];let _n=gn;if(i===`page`){let e;t[155]===a?e=t[156]:(e=a(`commandPalette.title`),t[155]=a,t[156]=e);let n;return t[157]!==_n||t[158]!==e?(n=(0,$.jsx)(`section`,{ref:U,"data-global-search":`true`,"data-page-scroll-lock":`true`,"aria-label":e,className:`oc-global-search-page flex min-h-0 w-full flex-col bg-background text-foreground`,children:_n}),t[157]=_n,t[158]=e,t[159]=n):n=t[159],n}let vn;t[160]===Symbol.for(`react.memo_cache_sentinel`)?(vn=e=>{e||u(!1)},t[160]=vn):vn=t[160];let yn;t[161]===a?yn=t[162]:(yn=a(`commandPalette.title`),t[161]=a,t[162]=yn);let xn;t[163]===yn?xn=t[164]:(xn=(0,$.jsx)(vt,{children:yn}),t[163]=yn,t[164]=xn);let Sn;t[165]===a?Sn=t[166]:(Sn=a(`commandPalette.description`),t[165]=a,t[166]=Sn);let Cn;t[167]===Sn?Cn=t[168]:(Cn=(0,$.jsx)(yt,{children:Sn}),t[167]=Sn,t[168]=Cn);let Tn;t[169]!==xn||t[170]!==Cn?(Tn=(0,$.jsxs)(ht,{className:`sr-only`,children:[xn,Cn]}),t[169]=xn,t[170]=Cn,t[171]=Tn):Tn=t[171];let En;t[172]!==_n||t[173]!==B||t[174]!==Tn?(En=(0,$.jsxs)(_t,{ref:U,initialFocus:W,"data-global-search":`true`,"data-mobile":B,"data-page-scroll-lock":`true`,className:`oc-global-search oc-mobile-overlay-surface oc-mobile-overlay-surface--translucent oc-composer-autocomplete-surface fixed left-1/2 top-[12vh] z-50 w-[min(40rem,calc(100vw-1.5rem))] max-w-none -translate-x-1/2 translate-y-0 gap-0 overflow-hidden rounded-3xl border-0 p-0`,containerClassName:`block p-0`,overlayClassName:`bg-transparent dark:bg-transparent`,showCloseButton:B,children:[Tn,_n]}),t[172]=_n,t[173]=B,t[174]=Tn,t[175]=En):En=t[175];let Dn;return t[176]!==s||t[177]!==d||t[178]!==En?(Dn=(0,$.jsx)(bt,{open:s,onOpenChange:d,onOpenChangeComplete:vn,children:En}),t[176]=s,t[177]=d,t[178]=En,t[179]=Dn):Dn=t[179],Dn};function Hi(e){return e.isCommandPaletteOpen}function Ui(e){return e.setCommandPaletteOpen}function Wi(e){return e.setActiveMainTab}function Gi(e){return e.setSettingsDialogOpen}function Ki(e){return e.setSettingsPage}function qi(e){return e.setSessionSwitcherOpen}function Ji(e){return e.toggleSidebar}function Yi(e){return e.toggleRightSidebar}function Xi(e){return e.toggleBottomTerminal}function Zi(e){return e.openContextOverview}function Qi(e){return e.openContextFile}function $i(e){return e.shortcutOverrides}function ea(e){return e.openNewSessionDraft}function ta(e){return e.setCurrentSession}function na(e){return e.activeSessions}function ra(e){return e.status}function ia(e){return e.currentDirectory}function aa(e){return e.getActiveProject()}function oa(e){return e.projects}function sa(e){return e.searchFiles}function ca(){It()}function la(){ft.requestDirectoryDialog()}function ua(e){console.warn(`[command-palette] failed to open draft mini chat window`,e)}function da(e){return e.slug!==`home`}function fa(e){return(typeof e.time?.updated==`number`?e.time.updated:0)||(typeof e.time?.created==`number`?e.time.created:0)}function pa(e){return e.worktreeMetadata}function ma(e){return e.availableWorktreesByProject}function ha(e){return{path:Bi(e.path),name:e.name,relativePath:e.relativePath}}function ga(e){return{item:e,score:0}}function _a(e){return e.searchText}function va(e){return e.searchText}function ya(e){return e.title||``}function ba(e){let{item:t}=e;return t}function xa(e){return{...e,displayName:e.label||e.path.split(`/`).pop()||e.path,searchText:`${e.label||``} ${e.path}`}}function Sa(e){return e.searchText}function Ca(e){return e.item}function wa(e){return e.item}function Ta(e){return e.item}function Ea(e){return e.item}function Da(e){return e.length?e[0].score:1/0}function Oa(e,t){return e.score-t.score}function ka(e){return e.key}function Aa(e){return(0,$.jsx)(zt,{value:e.id,onSelect:e.onSelect,className:Li,children:(0,$.jsx)(Ii,{title:e.title})},e.id)}var ja=class extends Q.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){this.setState({error:e,errorInfo:t})}handleReset=()=>{this.setState({hasError:!1,error:void 0,errorInfo:void 0})};render(){return this.state.hasError?(0,$.jsx)(`div`,{className:`flex items-center justify-center min-h-screen p-4`,children:(0,$.jsxs)(An,{className:`w-full max-w-md`,children:[(0,$.jsx)(mn,{className:`text-center`,children:(0,$.jsxs)(pn,{className:`flex items-center justify-center gap-2 text-destructive`,children:[(0,$.jsx)(Z,{name:`chat-3`,className:`h-5 w-5`}),this.props.texts.title]})}),(0,$.jsxs)(_n,{className:`space-y-4`,children:[(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground text-center`,children:this.props.texts.description}),this.props.sessionId&&(0,$.jsxs)(`div`,{className:`text-xs text-muted-foreground text-center`,children:[this.props.texts.sessionLabel,`: `,this.props.sessionId]}),this.state.error&&(0,$.jsxs)(`details`,{className:`text-xs font-mono bg-muted p-3 rounded`,children:[(0,$.jsx)(`summary`,{className:`cursor-pointer hover:bg-interactive-hover/80`,children:this.props.texts.detailsSummary}),(0,$.jsx)(`pre`,{className:`mt-2 max-h-48 overflow-auto`,children:this.state.error.toString()})]}),(0,$.jsx)(`div`,{className:`flex gap-2`,children:(0,$.jsxs)(X,{onClick:this.handleReset,variant:`outline`,className:`flex-1`,children:[(0,$.jsx)(Z,{name:`restart`,className:`h-4 w-4 mr-2`}),this.props.texts.resetAction]})}),(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground text-center`,children:this.props.texts.persistentHint})]})]})}):this.props.children}};function Ma(e){let t=(0,qr.c)(22),{t:n}=fe(),r;t[0]===n?r=t[1]:(r=n(`chat.errorBoundary.title`),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=n(`chat.errorBoundary.description`),t[2]=n,t[3]=i);let a;t[4]===n?a=t[5]:(a=n(`chat.errorBoundary.sessionLabel`),t[4]=n,t[5]=a);let o;t[6]===n?o=t[7]:(o=n(`chat.errorBoundary.detailsSummary`),t[6]=n,t[7]=o);let s;t[8]===n?s=t[9]:(s=n(`chat.errorBoundary.resetAction`),t[8]=n,t[9]=s);let c;t[10]===n?c=t[11]:(c=n(`chat.errorBoundary.persistentHint`),t[10]=n,t[11]=c);let l;t[12]!==r||t[13]!==i||t[14]!==a||t[15]!==o||t[16]!==s||t[17]!==c?(l={title:r,description:i,sessionLabel:a,detailsSummary:o,resetAction:s,persistentHint:c},t[12]=r,t[13]=i,t[14]=a,t[15]=o,t[16]=s,t[17]=c,t[18]=l):l=t[18];let u;return t[19]!==e||t[20]!==l?(u=(0,$.jsx)(ja,{...e,texts:l}),t[19]=e,t[20]=l,t[21]=u):u=t[21],u}var Na=1440,Pa=e=>{let t=(0,qr.c)(8),{isMobile:n,isVSCode:r,directory:i}=e,a=se(`(min-width: ${Na}px)`),o;t[0]===i?o=t[1]:(o=i?F(i):``,t[0]=i,t[1]=o);let s=o,c;t[2]===s?c=t[3]:(c=e=>{let t=s?e.contextPanelByDirectory[s]:void 0;return t?.isOpen?!!(t.tabs.find(e=>e.id===t.activeTabId)??t.tabs[t.tabs.length-1]??null):!1},t[2]=s,t[3]=c);let l=P(c),u=P(Fa),d=P(Ia),f=!n&&!r&&!l&&!d,p=f&&a,m=u&&p,h;return t[4]!==p||t[5]!==f||t[6]!==m?(h={visible:m,fits:p,layoutAllows:f},t[4]=p,t[5]=f,t[6]=m,t[7]=h):h=t[7],h};function Fa(e){return e.workStatusPanelEnabled}function Ia(e){return e.isRightSidebarOpen}var La=[],Ra=[`subagent_type`,`subagentType`,`agent`,`subagent`],za=(...e)=>{for(let t of e){if(!t||typeof t!=`object`)continue;let e=t;for(let t of Ra){let n=e[t];if(typeof n!=`string`)continue;let r=n.trim();if(r)return r.charAt(0).toUpperCase()+r.slice(1)}}return``},Ba=e=>At(e)||void 0,Va=e=>e===`pending`||e===`running`,Ha=e=>{let t=[],n=new Set;for(let r of e.messageOrder){let i=e.partsByMessageID[r];if(i)for(let e of i){if(!e?.id||n.has(e.id))continue;if(e.type===`tool`&&wt(e.tool)){n.add(e.id);let r=e.state;t.push({id:e.id,sessionID:Ba(e.metadata)??Ba(r)??Ba(r?.metadata)??Ba(r?.input),label:za(r?.input,e.metadata,r?.metadata),running:Va(r?.status)});continue}if(e.type!==`subtask`)continue;let r=e,i=typeof r.taskSessionID==`string`?r.taskSessionID.trim():``,a=typeof r.agent==`string`?r.agent.trim():``,o=typeof r.description==`string`?r.description.trim():``;n.add(e.id),t.push({id:e.id,sessionID:i||void 0,label:a?a.charAt(0).toUpperCase()+a.slice(1):o,running:Va(r.status)})}}return t.length===0?La:t},Ua=(e,t)=>{if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||r.sessionID!==i.sessionID||r.label!==i.label||r.running!==i.running)return!1}return!0},Wa=(e,t,n)=>{let r=new Map(t.map(e=>[e.id,e])),i=new Set,a=[];for(let t of e){t.sessionID&&i.add(t.sessionID);let e=t.sessionID?r.get(t.sessionID):void 0,o=t.running||!!e?.busy||!!(t.sessionID&&n?.has(t.sessionID));a.push({key:t.id,sessionID:t.sessionID,seed:t.id,label:t.label||e?.title?.trim()||``,phase:o?`working`:`done`})}for(let e of t)i.has(e.id)||a.push({key:e.id,sessionID:e.id,seed:e.id,label:e.title?.trim()||``,phase:e.busy?`working`:`done`});let o=a.filter(e=>e.phase===`working`),s=a.filter(e=>e.phase===`done`);return o.length===0?s:s.length===0?o:[...o,...s]},Ga=new Set,Ka=e=>{if(!e)return``;let t=[];for(let n of Object.keys(e)){let r=e[n]?.type;(r===`busy`||r===`retry`)&&t.push(n)}return t.sort(),t.join(`
|
|
2
2
|
`)},qa=(e,t)=>{let n=(0,qr.c)(4),r;n[0]===t?r=n[1]:(r=e=>t?Ka(e.session_status):``,n[0]=t,n[1]=r);let i=C(e,r),a;return n[2]===i?a=n[3]:(a=i?new Set(i.split(`
|
|
3
|
-
`)):Ga,n[2]=i,n[3]=a),a},Ja=(e,t)=>{let n=(0,qr.c)(15),r=!!(e&&t),i=!!e,a;n[0]===i?a=n[1]:(a={enabled:i},n[0]=i,n[1]=a);let o=Re(a),s;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(s={bootstrap:!1},n[2]=s):s=n[2];let c=Me(t||void 0,s),l;n[3]===r?l=n[4]:(l={enabled:r},n[3]=r,n[4]=l);let u=M(e??``,t??``,c,Ha,Ua,l),d=qa(c,r),f;bb0:{if(!e){let e;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],n[5]=e):e=n[5],f=e;break bb0}let t;if(n[6]!==d||n[7]!==o||n[8]!==e||n[9]!==u){let r;n[11]===e?r=n[12]:(r=t=>t.parentID===e,n[11]=e,n[12]=r);let i;n[13]===d?i=n[14]:(i=e=>({id:e.id,title:e.title,busy:d.has(e.id)}),n[13]=d,n[14]=i),t=Wa(u,o.filter(r).map(i),d),n[6]=d,n[7]=o,n[8]=e,n[9]=u,n[10]=t}else t=n[10];f=t}return f},Ya=`flex w-full min-w-0 items-center justify-start gap-2 text-left text-[13px] font-normal leading-5 tracking-normal text-muted-foreground`,Xa=`size-3.5 shrink-0`,Za=`oc-work-status-action pointer-events-none shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover/copy:pointer-events-auto group-hover/copy:opacity-100 focus-visible:pointer-events-auto focus-visible:opacity-100`,Qa=e=>e.split(/[\\/]/).filter(Boolean).pop()||e,$a=({sessionId:e,directory:t})=>{let{t:n}=fe(),{git:r}=In(),i=nr(e=>e.ensureStatus),a=er(t),o=at(e=>e.projects),s=He(e=>e.availableWorktreesByProject),c=He(t=>e?t.worktreeMetadata.get(e):void 0),{project:l,worktree:u}=Q.useMemo(()=>{let e=h(t),n=t=>{let n=h(t);return!!(e&&n&&(e===n||e.startsWith(`${n}/`)))},r=c&&n(c.path)?c:void 0,i=Pe(o,s,r?.projectDirectory||t),a=i?s.get(i.path):void 0;return{project:i,worktree:r??a?.filter(e=>n(e.path)).sort((e,t)=>t.path.length-e.path.length)[0]}},[s,t,o,c]),d=l?.path||u?.projectDirectory||t,f=l?.label?.trim()||(d?Qa(d):null),p=u&&h(u.path)!==h(d)?u.name?.trim()||Qa(u.path):null,m=Ja(e,t),g=[{phase:`working`,labelKey:`chat.workStatus.subagent.workingCount`,items:m.filter(e=>e.phase===`working`)},{phase:`done`,labelKey:`chat.workStatus.subagent.doneCount`,items:m.filter(e=>e.phase===`done`)}],_=m.slice(0,3),[v,y]=Q.useState(!1),b=Q.useId(),x=P(e=>e.setRightSidebarOpen),S=P(e=>e.openContextPanelTab),C=P(e=>e.setRightSidebarTab),[w,T]=Q.useState(null),[,E]=le(()=>T(null),1500,{immediate:!1}),D=ce(async(e,t)=>{try{let n=await de(t);if(!n.ok)throw Error(n.error);T(e),E()}catch{oe.error(n(`gitView.toast.copyFailed`))}});Q.useEffect(()=>{!t||!r||i(t,r)},[t,i,r]);let O=a?.current||null,k=u?.worktreeStatus===`pending`?0:a?.files.length??0,A=0,j=0;if(a?.diffStats)for(let e of Object.values(a.diffStats))A+=e?.insertions??0,j+=e?.deletions??0;let M=O?`branch:${O}`:``,N=u?.path?`worktree:${u.path}`:``,F=!!(M&&w===M),I=!!(N&&w===N),L=ce(()=>{O&&D(M,O)}),R=ce(()=>{let e=u?.path;e&&D(N,e)}),z=ce(()=>{C(`git`),x(!0)});return(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[f?(0,$.jsxs)(`div`,{className:`${Ya} h-8 px-2`,title:`${n(`chat.workStatus.section.project`)}: ${d}`,children:[(0,$.jsx)(Z,{name:`folder`,weight:`medium`,className:Xa}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:f})]}):null,O?(0,$.jsxs)(`div`,{className:`${Ya} group/copy h-8 px-2`,title:`${n(`gitView.branch.currentBranchTooltip`)}: ${O}`,children:[(0,$.jsx)(Z,{name:`git-branch`,weight:`medium`,className:Xa}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:O}),(0,$.jsx)(X,{variant:`ghost`,size:`xs`,className:Za,"aria-label":n(`chat.workStatus.action.copyBranch`),title:n(F?`contextSidebar.actions.copied`:`chat.workStatus.action.copyBranch`),onClick:L,children:(0,$.jsx)(Z,{name:F?`check`:`file-copy`,className:Xa})})]}):null,p?(0,$.jsxs)(`div`,{className:`${Ya} group/copy h-8 px-2`,title:`${n(`sessions.sidebar.sessionDialogs.worktree.label`)}: ${u?.path}`,children:[(0,$.jsx)(Z,{name:`node-tree`,weight:`medium`,className:Xa}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:p}),(0,$.jsx)(X,{variant:`ghost`,size:`xs`,className:Za,"aria-label":n(`agentManager.detail.actions.copyWorktreePath`),title:n(I?`contextSidebar.actions.copied`:`agentManager.detail.actions.copyWorktreePath`),onClick:R,children:(0,$.jsx)(Z,{name:I?`check`:`file-copy`,className:Xa})})]}):null,k>0?(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,className:`oc-work-status-action ${Ya}`,title:n(k===1?`chat.workStatus.git.changedFileSingle`:`chat.workStatus.git.changedFilePlural`,{count:k}),"aria-label":n(`chat.workStatus.action.openGit`),onClick:z,children:[(0,$.jsx)(Z,{name:`changes`,weight:`medium`,className:Xa}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:n(`chat.workStatus.compact.changes`)}),A>0||j>0?(0,$.jsxs)(`span`,{className:`ml-auto flex shrink-0 gap-1.5 text-[12px] tabular-nums`,children:[(0,$.jsx)(`span`,{className:`text-[var(--status-success)]`,children:`+${A}`}),(0,$.jsx)(`span`,{className:`text-[var(--status-error)]`,children:`−${j}`})]}):(0,$.jsx)(`span`,{className:`ml-auto tabular-nums`,children:k})]}):null,m.length>0?(0,$.jsxs)(`div`,{role:`group`,"aria-label":n(`chat.workStatus.section.subagents`),className:`flex min-w-0 flex-col`,children:[(0,$.jsxs)(X,{type:`button`,variant:`ghost`,size:`sm`,className:`oc-work-status-action ${Ya} gap-1.5`,"aria-expanded":v,"aria-controls":b,onClick:()=>y(e=>!e),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex shrink-0 items-center`,children:_.map((e,t)=>{let r=e.label.trim()||n(`chat.workStatus.subagent.untitled`);return(0,$.jsx)(xt,{name:e.seed,label:r,size:14,className:`relative bg-background ring-2 ring-background ${t>0?`-ml-1`:``}`},e.key)})}),(0,$.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-x-1 whitespace-nowrap text-left text-[11px] leading-5 tabular-nums`,children:g.filter(e=>e.items.length>0).map((e,t)=>(0,$.jsxs)(Q.Fragment,{children:[t>0?(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}):null,(0,$.jsx)(`span`,{children:n(e.labelKey,{count:e.items.length})})]},e.phase))}),(0,$.jsx)(Z,{name:v?`arrow-down-s`:`arrow-right-s`,className:`size-3.5 shrink-0 text-muted-foreground opacity-70`})]}),(0,$.jsx)(`div`,{id:b,hidden:!v,className:v?`mt-1 mb-1 flex min-w-0 flex-col gap-1`:`hidden`,children:v?g.filter(e=>e.items.length>0).map(e=>(0,$.jsxs)(`section`,{"aria-label":n(e.labelKey,{count:e.items.length}),className:`flex min-w-0 flex-col gap-1 [&+section]:mt-2`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-[11px] leading-4 text-muted-foreground/70`,children:n(e.labelKey,{count:e.items.length})}),e.items.map(e=>{let r=e.label.trim()||n(`chat.workStatus.subagent.untitled`);return(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,disabled:!e.sessionID||!t,className:`oc-work-status-action flex w-full min-w-0 items-center justify-start gap-2 text-left text-[12px] font-normal leading-5 text-muted-foreground`,onClick:()=>{!e.sessionID||!t||S(t,{mode:`chat`,dedupeKey:`session:${e.sessionID}`,label:r,readOnly:!0})},children:[(0,$.jsx)(xt,{name:e.seed,label:r,size:14}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:r,children:r})]},e.key)})]},e.phase)):null})]}):null]})},eo=200,to=e=>{let t=(0,qr.c)(32),{sessionId:n,directory:r,visible:i,overlay:a}=e,o=a!==void 0&&a,{t:s}=fe(),c=P(no),l=Q.useRef(null),[u,d]=Q.useState(i),f,p;t[0]===i?(f=t[1],p=t[2]):(f=()=>{if(i){d(!0);return}let e=window.setTimeout(()=>d(!1),eo);return()=>window.clearTimeout(e)},p=[i],t[0]=i,t[1]=f,t[2]=p),Q.useEffect(f,p);let m,h;t[3]!==o||t[4]!==c||t[5]!==i?(m=()=>{if(!o||!i)return;let e=e=>{let t=e.target instanceof Element?e.target:null;l.current?.contains(t)||t?.closest(`[data-work-status-toggle]`)||c(!1)},t=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,t)}},h=[o,c,i],t[3]=o,t[4]=c,t[5]=i,t[6]=m,t[7]=h):(m=t[6],h=t[7]),Q.useEffect(m,h);let g;t[8]===s?g=t[9]:(g=s(`chat.workStatus.ariaLabel`),t[8]=s,t[9]=g);let _=!i,v=!i,y=o&&`absolute right-3 top-3 z-30 my-0 max-h-[calc(100%-1.5rem)] rounded-lg bg-[var(--surface-elevated)]/95 px-1 backdrop-blur-md`,b=!o&&(i?`mr-3`:`mr-0`),x;t[10]!==b||t[11]!==y?(x=Y(`relative my-2 flex max-h-[calc(100%-1rem)] shrink-0 flex-col self-start overflow-x-hidden overflow-y-auto bg-transparent`,y,b),t[10]=b,t[11]=y,t[12]=x):x=t[12];let S=o||i?196:0,C=+!!i,w=i?`none`:o?`translateY(-6px)`:`translateX(24px)`,T=o?`opacity, transform`:`none`,E=i?void 0:`none`,D;t[13]!==S||t[14]!==C||t[15]!==w||t[16]!==T||t[17]!==E?(D={width:S,opacity:C,transform:w,transitionProperty:T,transitionDuration:`${eo}ms`,transitionTimingFunction:`cubic-bezier(0.22, 1, 0.36, 1)`,pointerEvents:E},t[13]=S,t[14]=C,t[15]=w,t[16]=T,t[17]=E,t[18]=D):D=t[18];let O;t[19]!==u||t[20]!==r||t[21]!==o||t[22]!==n||t[23]!==i?(O=i||o&&u?(0,$.jsx)($a,{sessionId:n,directory:r}):null,t[19]=u,t[20]=r,t[21]=o,t[22]=n,t[23]=i,t[24]=O):O=t[24];let k;return t[25]!==x||t[26]!==D||t[27]!==O||t[28]!==g||t[29]!==_||t[30]!==v?(k=(0,$.jsx)(`aside`,{ref:l,"aria-label":g,"aria-hidden":_,inert:v,className:x,style:D,children:O}),t[25]=x,t[26]=D,t[27]=O,t[28]=g,t[29]=_,t[30]=v,t[31]=k):k=t[31],k};function no(e){return e.setWorkStatusOverlayOpen}var ro=e=>{let t=(0,qr.c)(10),{sessionId:n,directory:r,visible:i,overlay:a,publishVisible:o}=e,s=a!==void 0&&a,c=o!==void 0&&o,l=P(ao),u,d;t[0]!==c||t[1]!==l||t[2]!==i?(u=()=>{if(c)return l(i),()=>l(!1)},d=[c,l,i],t[0]=c,t[1]=l,t[2]=i,t[3]=u,t[4]=d):(u=t[3],d=t[4]),Q.useEffect(u,d);let f;return t[5]!==r||t[6]!==s||t[7]!==n||t[8]!==i?(f=(0,$.jsx)(to,{overlay:s,visible:i,sessionId:n,directory:r}),t[5]=r,t[6]=s,t[7]=n,t[8]=i,t[9]=f):f=t[9],f},io=e=>{let t=(0,qr.c)(35),{readOnly:n,active:r,selectionOverride:i}=e,a=n!==void 0&&n,o=r===void 0||r,s=He(oo),c=He(so),l=He(co),u=He(lo),d=yr(),f=P(uo),p=P(fo),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=g(),t[0]=m):m=t[0];let h=m,_=P(po),v=P(mo),y=P(ho),b=i?.sessionId??s,x=i?.sessionId??s,S=i?.directory??c??d??null,C;t[1]!==S||t[2]!==f?(C={isMobile:f,isVSCode:h,directory:S},t[1]=S,t[2]=f,t[3]=C):C=t[3];let{visible:w,fits:T,layoutAllows:E}=Pa(C),D=i?!!i.sessionId:l?u:!!x,O=o&&E&&!p&&D,k=O&&w,A=O&&_&&!T&&v,j,M;t[4]!==T||t[5]!==O||t[6]!==y?(j=()=>(y(O&&T),()=>y(!1)),M=[T,O,y],t[4]=T,t[5]=O,t[6]=y,t[7]=j,t[8]=M):(j=t[7],M=t[8]),Q.useEffect(j,M);let N=b||void 0,F;t[9]!==o||t[10]!==i?(F=i?{...i,active:o}:void 0,t[9]=o,t[10]=i,t[11]=F):F=t[11];let I;t[12]!==o||t[13]!==a||t[14]!==F?(I=(0,$.jsx)(Tt,{readOnly:a,active:o,explicitSession:F}),t[12]=o,t[13]=a,t[14]=F,t[15]=I):I=t[15];let L;t[16]!==N||t[17]!==I?(L=(0,$.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1`,children:(0,$.jsx)(Ma,{sessionId:N,children:I})}),t[16]=N,t[17]=I,t[18]=L):L=t[18];let R;t[19]!==S||t[20]!==O||t[21]!==x||t[22]!==k?(R=O?(0,$.jsx)(ro,{publishVisible:!0,visible:k,sessionId:x,directory:S}):null,t[19]=S,t[20]=O,t[21]=x,t[22]=k,t[23]=R):R=t[23];let z;t[24]!==S||t[25]!==T||t[26]!==O||t[27]!==x||t[28]!==A||t[29]!==_?(z=O&&_&&!T?(0,$.jsx)(ro,{overlay:!0,visible:A,sessionId:x,directory:S}):null,t[24]=S,t[25]=T,t[26]=O,t[27]=x,t[28]=A,t[29]=_,t[30]=z):z=t[30];let B;return t[31]!==L||t[32]!==R||t[33]!==z?(B=(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0`,children:[L,R,z]}),t[31]=L,t[32]=R,t[33]=z,t[34]=B):B=t[34],B};function ao(e){return e.setWorkStatusPanelVisible}function oo(e){return e.currentSessionId}function so(e){return e.currentSessionDirectory}function co(e){return!!e.newSessionDraft?.open}function lo(e){return!!(e.newSessionDraft?.open&&e.newSessionDraft.pendingUserMessage&&(e.newSessionDraft.draftEstablishing||e.newSessionDraft.draftSubmitting))}function uo(e){return e.isMobile}function fo(e){return e.isExpandedInput}function po(e){return e.workStatusPanelEnabled}function mo(e){return e.workStatusOverlayOpen}function ho(e){return e.setWorkStatusPanelFits}function go(e){let t=(0,qr.c)(85),{draft:n,onEdit:r,onDelete:i,className:a,maxWidth:o}=e,{t:s}=fe(),c=Mn()?.currentTheme,[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),p=typeof n.text==`string`?n.text:``,m;t[0]===p?m=t[1]:(m=p.length>150||p.split(`
|
|
4
|
-
`).length>3,t[0]=p,t[1]=m);let h=m,g;t[2]===a?g=t[3]:(g=Y(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden transition-all duration-200`,a),t[2]=a,t[3]=g);let _=c?.colors?.surface?.elevated,v=c?.colors?.interactive?.border,y=o?`${Math.max(200,Math.floor(o))}px`:void 0,b;t[4]!==_||t[5]!==v||t[6]!==y?(b={backgroundColor:_,borderColor:v,maxWidth:y},t[4]=_,t[5]=v,t[6]=y,t[7]=b):b=t[7];let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{e.preventDefault(),f(!0)},t[8]=x):x=t[8];let S;t[9]!==g||t[10]!==b?(S=(0,$.jsx)(`div`,{className:g,style:b,"data-comment-card":`true`,onContextMenu:x}),t[9]=g,t[10]=b,t[11]=S):S=t[11];let C;t[12]===n.fileLabel?C=t[13]:(C=(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,title:n.fileLabel,children:n.fileLabel}),t[12]=n.fileLabel,t[13]=C);let w;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`span`,{children:`•`}),t[14]=w):w=t[14];let T;t[15]!==n.endLine||t[16]!==n.startLine||t[17]!==s?(T=s(`inlineComment.range.lines`,{start:n.startLine,end:n.endLine}),t[15]=n.endLine,t[16]=n.startLine,t[17]=s,t[18]=T):T=t[18];let E;t[19]===T?E=t[20]:(E=(0,$.jsx)(`span`,{children:T}),t[19]=T,t[20]=E);let D;t[21]===n.side?D=t[22]:(D=n.side&&(0,$.jsxs)(`span`,{children:[`(`,n.side,`)`]}),t[21]=n.side,t[22]=D);let O;t[23]!==E||t[24]!==D||t[25]!==C?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-1.5`,children:[C,w,E,D]}),t[23]=E,t[24]=D,t[25]=C,t[26]=O):O=t[26];let k=l||!h,A=!l&&h&&`line-clamp-3`,j;t[27]===A?j=t[28]:(j=Y(`text-sm whitespace-pre-wrap break-words leading-relaxed`,A),t[27]=A,t[28]=j);let M;t[29]!==p||t[30]!==j?(M=(0,$.jsx)(`div`,{className:j,children:p}),t[29]=p,t[30]=j,t[31]=M):M=t[31];let N;t[32]!==h||t[33]!==l||t[34]!==s?(N=h&&(0,$.jsx)(Wr,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-6 px-0 mt-1 text-xs text-muted-foreground hover:text-foreground w-full justify-start`,children:l?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`arrow-up-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showLess`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showMore`)]})})}),t[32]=h,t[33]=l,t[34]=s,t[35]=N):N=t[35];let P;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(Ur,{}),t[36]=P):P=t[36];let F;t[37]!==k||t[38]!==M||t[39]!==N?(F=(0,$.jsxs)(Gr,{open:k,onOpenChange:u,children:[M,N,P]}),t[37]=k,t[38]=M,t[39]=N,t[40]=F):F=t[40];let I;t[41]!==O||t[42]!==F?(I=(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[O,F]}),t[41]=O,t[42]=F,t[43]=I):I=t[43];let L;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`h-6 w-6 -mr-1 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`more`,className:`size-4`})})}),t[44]=L):L=t[44];let R;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(Z,{name:`edit`,className:`size-4 mr-2`}),t[45]=R):R=t[45];let z;t[46]===s?z=t[47]:(z=s(`inlineComment.actions.editComment`),t[46]=s,t[47]=z);let B;t[48]!==r||t[49]!==z?(B=(0,$.jsxs)(vn,{onClick:r,children:[R,z]}),t[48]=r,t[49]=z,t[50]=B):B=t[50];let V;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4 mr-2`}),t[51]=V):V=t[51];let ee;t[52]===s?ee=t[53]:(ee=s(`inlineComment.actions.deleteComment`),t[52]=s,t[53]=ee);let H;t[54]!==i||t[55]!==ee?(H=(0,$.jsxs)(vn,{onClick:i,className:`text-destructive`,children:[V,ee]}),t[54]=i,t[55]=ee,t[56]=H):H=t[56];let U;t[57]!==B||t[58]!==H?(U=(0,$.jsxs)(En,{children:[L,(0,$.jsxs)(Sn,{align:`end`,children:[B,H]})]}),t[57]=B,t[58]=H,t[59]=U):U=t[59];let W;t[60]!==I||t[61]!==U?(W=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 p-3`,children:[I,U]}),t[60]=I,t[61]=U,t[62]=W):W=t[62];let te;t[63]!==W||t[64]!==S?(te=(0,$.jsx)(Rr,{render:S,children:W}),t[63]=W,t[64]=S,t[65]=te):te=t[65];let G;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(Z,{name:`edit`,className:`size-4 mr-2`}),t[66]=G):G=t[66];let K;t[67]===s?K=t[68]:(K=s(`inlineComment.actions.editComment`),t[67]=s,t[68]=K);let ne;t[69]!==r||t[70]!==K?(ne=(0,$.jsxs)(Vr,{onClick:r,children:[G,K]}),t[69]=r,t[70]=K,t[71]=ne):ne=t[71];let re;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4 mr-2`}),t[72]=re):re=t[72];let ie;t[73]===s?ie=t[74]:(ie=s(`inlineComment.actions.deleteComment`),t[73]=s,t[74]=ie);let q;t[75]!==i||t[76]!==ie?(q=(0,$.jsxs)(Vr,{onClick:i,className:`text-destructive focus:text-destructive`,children:[re,ie]}),t[75]=i,t[76]=ie,t[77]=q):q=t[77];let ae;t[78]!==ne||t[79]!==q?(ae=(0,$.jsxs)(Br,{children:[ne,q]}),t[78]=ne,t[79]=q,t[80]=ae):ae=t[80];let J;return t[81]!==d||t[82]!==te||t[83]!==ae?(J=(0,$.jsxs)(Hr,{open:d,onOpenChange:f,children:[te,ae]}),t[81]=d,t[82]=te,t[83]=ae,t[84]=J):J=t[84],J}function _o(e){let t=(0,qr.c)(67),{initialText:n,onTextChange:r,onSave:i,onCancel:a,fileLabel:o,lineRange:s,isEditing:c,className:l,maxWidth:u,onAddToChat:d}=e,f=n===void 0?``:n,p=c!==void 0&&c,{t:m}=fe(),h=Mn()?.currentTheme,{isMobile:g}=Nn(),[_,v]=Q.useState(f),y=(0,Q.useRef)(null),b;t[0]===r?b=t[1]:(b=e=>{v(e),r?.(e)},t[0]=r,t[1]=b);let x=b,S=(0,Q.useRef)(s),C,w;t[2]===s?(C=t[3],w=t[4]):(C=()=>{s&&(S.current=s)},w=[s],t[2]=s,t[3]=C,t[4]=w),(0,Q.useEffect)(C,w);let T=To,E=T(s),D,O;t[5]===g?(D=t[6],O=t[7]):(D=()=>{let e=y.current;if(!e)return;let t=e.closest(`.overlay-scrollbar-container`),n=t?.scrollTop??window.scrollY,r=t?.scrollLeft??window.scrollX;if(g){e.scrollIntoView({behavior:`auto`,block:`nearest`});try{e.focus({preventScroll:!0})}catch{e.focus()}return}try{e.focus({preventScroll:!0})}catch{e.focus()}let i=e.value.length;try{e.setSelectionRange(i,i)}catch{}requestAnimationFrame(()=>{t?(t.scrollTop=n,t.scrollLeft=r):window.scrollTo({top:n,left:r})})},O=[g],t[5]=g,t[6]=D,t[7]=O),(0,Q.useEffect)(D,O);let k;t[8]!==a||t[9]!==i||t[10]!==_?(k=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`?(e.preventDefault(),_.trim()&&i(_,T(S.current))):e.key===`Escape`&&(e.preventDefault(),a())},t[8]=a,t[9]=i,t[10]=_,t[11]=k):k=t[11];let A=k,j;t[12]!==i||t[13]!==_?(j=e=>{e.stopPropagation(),_.trim()&&i(_,T(S.current))},t[12]=i,t[13]=_,t[14]=j):j=t[14];let M=j,N;t[15]===l?N=t[16]:(N=Y(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden animate-in fade-in zoom-in-95 duration-200`,l),t[15]=l,t[16]=N);let P=h?.colors?.surface?.elevated,F=h?.colors?.interactive?.border,I=u?`${Math.max(200,Math.floor(u))}px`:void 0,L;t[17]!==P||t[18]!==F||t[19]!==I?(L={backgroundColor:P,borderColor:F,maxWidth:I},t[17]=P,t[18]=F,t[19]=I,t[20]=L):L=t[20];let R=wo,z=Co,B=(o||s)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-2`,children:[o&&(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,children:o}),o&&s&&(0,$.jsx)(`span`,{children:`•`}),E&&(0,$.jsx)(`span`,{children:m(`inlineComment.range.lines`,{start:E.start,end:E.end})})]}),V;t[21]===x?V=t[22]:(V=e=>x(e.target.value),t[21]=x,t[22]=V);let ee;t[23]!==g||t[24]!==m?(ee=m(g?`inlineComment.input.placeholderShort`:`inlineComment.input.placeholder`),t[23]=g,t[24]=m,t[25]=ee):ee=t[25];let H;t[26]!==A||t[27]!==V||t[28]!==ee||t[29]!==_?(H=(0,$.jsx)(Gn,{simple:!0,ref:y,value:_,onChange:V,onKeyDown:A,placeholder:ee,outerClassName:`rounded-[var(--radius-xl)] bg-[var(--surface-subtle)] ring-1 ring-inset ring-border/60 focus-within:ring-2 focus-within:ring-[var(--interactive-focus-ring)]`,className:`min-h-[80px] px-3 py-2.5 text-sm resize-y`}),t[26]=A,t[27]=V,t[28]=ee,t[29]=_,t[30]=H):H=t[30];let U;t[31]!==E||t[32]!==d||t[33]!==m?(U=E&&d?(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:()=>d(E),onPointerDown:So,className:`mr-auto h-8 gap-1.5`,children:[(0,$.jsx)(Z,{name:`add`,className:`size-4`}),m(`chat.textSelection.actions.addToChat`),(0,$.jsx)(Rt,{shortcut:`⌘+I`})]}):null,t[31]=E,t[32]=d,t[33]=m,t[34]=U):U=t[34];let W;t[35]===m?W=t[36]:(W=m(`inlineComment.actions.cancel`),t[35]=m,t[36]=W);let te;t[37]!==a||t[38]!==W?(te=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:a,onPointerDown:xo,onTouchStart:bo,className:`h-8 text-muted-foreground hover:text-foreground`,children:W}),t[37]=a,t[38]=W,t[39]=te):te=t[39];let G;t[40]===_?G=t[41]:(G=_.trim(),t[40]=_,t[41]=G);let K=!G,ne=h?.colors?.status?.success,re=h?.colors?.status?.successForeground,ie;t[42]!==ne||t[43]!==re?(ie={backgroundColor:ne,color:re},t[42]=ne,t[43]=re,t[44]=ie):ie=t[44];let q;t[45]!==p||t[46]!==m?(q=m(p?`inlineComment.actions.save`:`inlineComment.actions.comment`),t[45]=p,t[46]=m,t[47]=q):q=t[47];let ae;t[48]!==M||t[49]!==K||t[50]!==ie||t[51]!==q?(ae=(0,$.jsx)(X,{size:`sm`,onClick:M,onPointerDown:yo,onTouchStart:vo,disabled:K,className:`h-8 min-w-[80px]`,style:ie,children:q}),t[48]=M,t[49]=K,t[50]=ie,t[51]=q,t[52]=ae):ae=t[52];let J;t[53]!==U||t[54]!==te||t[55]!==ae?(J=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 mt-3`,children:[U,te,ae]}),t[53]=U,t[54]=te,t[55]=ae,t[56]=J):J=t[56];let oe;t[57]!==B||t[58]!==H||t[59]!==J?(oe=(0,$.jsxs)(`div`,{className:`p-3`,children:[B,H,J]}),t[57]=B,t[58]=H,t[59]=J,t[60]=oe):oe=t[60];let se;return t[61]!==N||t[62]!==L||t[63]!==R||t[64]!==z||t[65]!==oe?(se=(0,$.jsx)(`div`,{className:N,style:L,"data-comment-input":`true`,onPointerDown:R,onTouchStart:z,children:oe}),t[61]=N,t[62]=L,t[63]=R,t[64]=z,t[65]=oe,t[66]=se):se=t[66],se}function vo(e){return e.stopPropagation()}function yo(e){return e.stopPropagation()}function bo(e){return e.stopPropagation()}function xo(e){return e.stopPropagation()}function So(e){return e.stopPropagation()}function Co(e){return e.stopPropagation()}function wo(e){return e.stopPropagation()}function To(e){if(!e)return;let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}}var Eo=e=>{let t=Math.min(e.startLine,e.endLine),n=Math.max(e.startLine,e.endLine);return{...e,startLine:t,endLine:n}},Do=e=>{let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}};function Oo(e){let t=(0,qr.c)(40),{t:n}=fe(),{source:r,fileLabel:i,language:a,getCodeForRange:o,toStoreRange:s,fromDraftRange:c}=e,l=He(Po),u=He(No),d=Gt(Mo),f=Gt(jo),p=Gt(Ao),m=Gt(ko),[h,g]=Q.useState(null),[_,v]=Q.useState(``),[y,b]=Q.useState(null),x=l??(u?`draft`:null),S;bb0:{if(!x||!i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],S=e;break bb0}let e;t[1]!==m||t[2]!==x?(e=m[x]??[],t[1]=m,t[2]=x,t[3]=e):e=t[3];let n=e,a;if(t[4]!==i||t[5]!==n||t[6]!==r){let e;t[8]!==i||t[9]!==r?(e=e=>e.source===r&&e.fileLabel===i,t[8]=i,t[9]=r,t[10]=e):e=t[10],a=n.filter(e),t[4]=i,t[5]=n,t[6]=r,t[7]=a}else a=t[7];S=a}let C=S,w;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{g(null),v(``),b(null)},t[11]=w):w=t[11];let T=w,E;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{T()},t[12]=E):E=t[12];let D=E,O;t[13]===c?O=t[14]:(O=e=>{let t=Do(c(e));g(t),v(e.text),b(e.id)},t[13]=c,t[14]=O);let k=O,A;t[15]!==y||t[16]!==p?(A=e=>{p(e.sessionKey,e.id),y===e.id&&T()},t[15]=y,t[16]=p,t[17]=A):A=t[17];let j=A,M;t[18]!==d||t[19]!==y||t[20]!==i||t[21]!==o||t[22]!==a||t[23]!==h||t[24]!==x||t[25]!==r||t[26]!==n||t[27]!==s||t[28]!==f?(M=(e,t)=>{let c=t??h,l=e.trim();if(!c||!l||!i)return;if(!x){Je.error(n(`inlineComment.toast.selectSessionToSave`));return}let u=Do(c),p=Eo(s(u)),m=o(u);y?f(x,y,{fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}):d({sessionKey:x,source:r,fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}),T()},t[18]=d,t[19]=y,t[20]=i,t[21]=o,t[22]=a,t[23]=h,t[24]=x,t[25]=r,t[26]=n,t[27]=s,t[28]=f,t[29]=M):M=t[29];let N=M,P;return t[30]!==_||t[31]!==j||t[32]!==C||t[33]!==y||t[34]!==c||t[35]!==N||t[36]!==h||t[37]!==x||t[38]!==k?(P={sessionKey:x,drafts:C,selection:h,setSelection:g,commentText:_,setCommentText:v,editingDraftId:y,setEditingDraftId:b,reset:T,cancel:D,startEdit:k,deleteDraft:j,saveComment:N,fromDraftRange:c},t[30]=_,t[31]=j,t[32]=C,t[33]=y,t[34]=c,t[35]=N,t[36]=h,t[37]=x,t[38]=k,t[39]=P):P=t[39],P}function ko(e){return e.drafts}function Ao(e){return e.removeDraft}function jo(e){return e.updateDraft}function Mo(e){return e.addDraft}function No(e){return e.newSessionDraft?.open}function Po(e){return e.currentSessionId}function Fo(e){let{drafts:t,editingDraftId:n,commentText:r,onTextChange:i,selection:a,isDragging:o,fileLabel:s,newWidgetId:c,mapDraftToRange:l,onSave:u,onCancel:d,onEdit:f,onDelete:p,onAddToChat:m}=e,h=[];for(let e of t){let t=l(e);if(e.id===n){h.push({afterLine:t.end,id:`edit-${e.id}`,content:(0,$.jsx)(_o,{initialText:r,onTextChange:i,fileLabel:s,lineRange:t,isEditing:!0,onSave:u,onCancel:d,onAddToChat:m},`edit-${e.id}`)});continue}h.push({afterLine:t.end,id:`card-${e.id}`,content:(0,$.jsx)(go,{draft:e,onEdit:()=>f(e),onDelete:()=>p(e)},`card-${e.id}`)})}if(a&&!n&&!o){let e={...a,start:Math.min(a.start,a.end),end:Math.max(a.start,a.end)};h.push({afterLine:e.end,id:c,content:(0,$.jsx)(_o,{initialText:r,onTextChange:i,fileLabel:s,lineRange:e,isEditing:!1,onSave:u,onCancel:d,onAddToChat:m},c)})}return h}var Io=e=>{if(e.type===`new`){let t=Math.min(e.selection.start,e.selection.end),n=Math.max(e.selection.start,e.selection.end);return`new-comment-${e.selection.side??`additions`}-${t}-${n}`}return`draft-${e.draft.id}`},Lo=e=>{let{drafts:t,editingDraftId:n,selection:r}=e,i=[];for(let e of t){if(!Number.isFinite(e.endLine))continue;let t=Math.max(1,Math.floor(e.endLine)),r=e.side===`original`?`deletions`:`additions`;i.push({lineNumber:t,side:r,metadata:{type:e.id===n?`edit`:`saved`,draft:e}})}return r&&!n&&i.push({lineNumber:Math.max(r.start,r.end),side:r.side??`additions`,metadata:{type:`new`,selection:r}}),i};function Ro(e){let t=e.trim();if(!t)return null;if(/^-?\d+(\.\d+)?$/.test(t)){let e=Number.parseFloat(t);return Number.isFinite(e)?e:null}if(t.endsWith(`px`)){let e=Number.parseFloat(t.slice(0,-2));return Number.isFinite(e)?e:null}return null}function zo(e){if(!(!e||e<=0))return Math.max(200,Math.floor(e))}function Bo(e){let{diffRootRef:t,drafts:n,selection:r,editingDraftId:i,commentText:a,onTextChange:o,fileLabel:s,onSave:c,onCancel:l,onEdit:u,onDelete:d,onAddToChat:f}=e,[p,m]=Q.useState(0),[h,g]=Q.useState(null),_=Q.useMemo(()=>!r||i?null:Io({type:`new`,selection:r}),[i,r]),v=Q.useMemo(()=>{let e=n.map(e=>Io({type:e.id===i?`edit`:`saved`,draft:e}));return _&&e.push(_),e},[n,i,_]),y=Q.useCallback(e=>{let n=t.current;if(!n)return null;let r=n.querySelector(`diffs-container`);if(!(r instanceof HTMLElement))return null;let i=r.querySelector(`[data-annotation-id="${e}"]`);if(i instanceof HTMLElement)return i;let a=r.shadowRoot;return a?a.querySelector(`[data-annotation-id="${e}"]`):null},[t]);Q.useEffect(()=>{if(v.length===0)return;let e=!1,t=0,n=()=>{e||v.every(e=>!!y(e))||t>=12||(t+=1,requestAnimationFrame(()=>{e||(m(e=>e+1),n())}))};return n(),()=>{e=!0}},[v,y]),Q.useEffect(()=>{let e=t.current;if(!e)return;let n=()=>{let t=Ro(getComputedStyle(e).getPropertyValue(`--oc-context-panel-width`)),n=e.getBoundingClientRect(),r=t??n.width;g(r>0?r:null)};n();let r=new ResizeObserver(()=>{n()});return r.observe(e),window.addEventListener(`resize`,n),()=>{r.disconnect(),window.removeEventListener(`resize`,n)}},[t]);let b=Q.useCallback(e=>{let n=t.current?.getBoundingClientRect(),r=e.closest(`[data-annotation-content]`),i=r instanceof HTMLElement?r.getBoundingClientRect():e.getBoundingClientRect(),a=[i.width];n&&a.push(n.right-i.left);let o=a.filter(e=>Number.isFinite(e)&&e>0);return o.length>0?zo(Math.min(...o)):zo(h)},[t,h]);return(0,$.jsxs)($.Fragment,{children:[n.map(e=>{let t=Io({type:e.id===i?`edit`:`saved`,draft:e}),n=y(t);if(!n)return null;let r=b(n);return e.id===i?(0,Jr.createPortal)((0,$.jsx)(_o,{initialText:a,onTextChange:o,fileLabel:s,lineRange:{start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`},isEditing:!0,onSave:c,onCancel:l,onAddToChat:f,maxWidth:r}),n,`draft-edit-${e.id}`):(0,Jr.createPortal)((0,$.jsx)(go,{draft:e,onEdit:()=>u(e),onDelete:()=>d(e),maxWidth:r}),n,`draft-card-${e.id}`)}),r&&!i&&_&&(()=>{let e=y(_);if(!e)return null;let t=b(e);return(0,Jr.createPortal)((0,$.jsx)(_o,{initialText:a,onTextChange:o,fileLabel:s,lineRange:r,isEditing:!1,onSave:c,onCancel:l,onAddToChat:f,maxWidth:t}),e,_)})()]})}function Vo(e){let t=(0,qr.c)(16),{position:n,onAddToChat:r,onDismiss:i}=e,{t:a}=fe(),o=Q.useRef(null),s,c;t[0]===i?(s=t[1],c=t[2]):(s=()=>{if(!i)return;let e=e=>{o.current&&e.target instanceof Node&&o.current.contains(e.target)||i()};return window.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>{window.removeEventListener(`scroll`,e,!0)}},c=[i],t[0]=i,t[1]=s,t[2]=c),Q.useEffect(s,c);let l;t[3]!==n.x||t[4]!==n.y?(l={left:n.x,top:n.y},t[3]=n.x,t[4]=n.y,t[5]=l):l=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Z,{name:`add`,className:`size-4`}),t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a(`chat.textSelection.actions.addToChat`),t[7]=a,t[8]=d);let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(Rt,{shortcut:`⌘+I`}),t[9]=f):f=t[9];let p;t[10]!==r||t[11]!==d?(p=(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,className:`h-7 gap-1.5 px-2`,onClick:r,children:[u,d,f]}),t[10]=r,t[11]=d,t[12]=p):p=t[12];let m;return t[13]!==l||t[14]!==p?(m=(0,Jr.createPortal)((0,$.jsx)(`div`,{ref:o,"data-code-selection-action":`true`,className:`fixed z-[100] -translate-y-full rounded-lg border border-[var(--interactive-border)] bg-[var(--surface-elevated)] p-1 shadow-lg`,style:l,onPointerDown:Ho,children:p}),document.body),t[13]=l,t[14]=p,t[15]=m):m=t[15],m}function Ho(e){return e.preventDefault()}var Uo=`[data-code-selection-action]`;function Wo(e){return e instanceof Element&&!!e.closest(Uo)}function Go(e,t=[]){return Wo(e)?!0:t.some(e=>e instanceof Element&&e.matches(`[data-column-number]`))}function Ko(e,t){return e&&!!t?.trim()}function qo(e,t,n,r){let i=r.side===`deletions`,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);if(!n){let n=(i?e:t).split(`
|
|
3
|
+
`)):Ga,n[2]=i,n[3]=a),a},Ja=(e,t)=>{let n=(0,qr.c)(15),r=!!(e&&t),i=!!e,a;n[0]===i?a=n[1]:(a={enabled:i},n[0]=i,n[1]=a);let o=ze(a),s;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(s={bootstrap:!1},n[2]=s):s=n[2];let c=Me(t||void 0,s),l;n[3]===r?l=n[4]:(l={enabled:r},n[3]=r,n[4]=l);let u=M(e??``,t??``,c,Ha,Ua,l),d=qa(c,r),f;bb0:{if(!e){let e;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],n[5]=e):e=n[5],f=e;break bb0}let t;if(n[6]!==d||n[7]!==o||n[8]!==e||n[9]!==u){let r;n[11]===e?r=n[12]:(r=t=>t.parentID===e,n[11]=e,n[12]=r);let i;n[13]===d?i=n[14]:(i=e=>({id:e.id,title:e.title,busy:d.has(e.id)}),n[13]=d,n[14]=i),t=Wa(u,o.filter(r).map(i),d),n[6]=d,n[7]=o,n[8]=e,n[9]=u,n[10]=t}else t=n[10];f=t}return f},Ya=`flex w-full min-w-0 items-center justify-start gap-2 text-left text-[13px] font-normal leading-5 tracking-normal text-muted-foreground`,Xa=`size-3.5 shrink-0`,Za=`oc-work-status-action pointer-events-none shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover/copy:pointer-events-auto group-hover/copy:opacity-100 focus-visible:pointer-events-auto focus-visible:opacity-100`,Qa=e=>e.split(/[\\/]/).filter(Boolean).pop()||e,$a=({sessionId:e,directory:t})=>{let{t:n}=fe(),{git:r}=In(),i=nr(e=>e.ensureStatus),a=er(t),o=ot(e=>e.projects),s=Je(e=>e.availableWorktreesByProject),c=Je(t=>e?t.worktreeMetadata.get(e):void 0),{project:l,worktree:u}=Q.useMemo(()=>{let e=h(t),n=t=>{let n=h(t);return!!(e&&n&&(e===n||e.startsWith(`${n}/`)))},r=c&&n(c.path)?c:void 0,i=Te(o,s,r?.projectDirectory||t),a=i?s.get(i.path):void 0;return{project:i,worktree:r??a?.filter(e=>n(e.path)).sort((e,t)=>t.path.length-e.path.length)[0]}},[s,t,o,c]),d=l?.path||u?.projectDirectory||t,f=l?.label?.trim()||(d?Qa(d):null),p=u&&h(u.path)!==h(d)?u.name?.trim()||Qa(u.path):null,m=Ja(e,t),g=[{phase:`working`,labelKey:`chat.workStatus.subagent.workingCount`,items:m.filter(e=>e.phase===`working`)},{phase:`done`,labelKey:`chat.workStatus.subagent.doneCount`,items:m.filter(e=>e.phase===`done`)}],_=m.slice(0,3),[v,y]=Q.useState(!1),b=Q.useId(),x=P(e=>e.setRightSidebarOpen),S=P(e=>e.openContextPanelTab),C=P(e=>e.setRightSidebarTab),[w,T]=Q.useState(null),[,E]=le(()=>T(null),1500,{immediate:!1}),D=ce(async(e,t)=>{try{let n=await de(t);if(!n.ok)throw Error(n.error);T(e),E()}catch{oe.error(n(`gitView.toast.copyFailed`))}});Q.useEffect(()=>{!t||!r||i(t,r)},[t,i,r]);let O=a?.current||null,k=u?.worktreeStatus===`pending`?0:a?.files.length??0,A=0,j=0;if(a?.diffStats)for(let e of Object.values(a.diffStats))A+=e?.insertions??0,j+=e?.deletions??0;let M=O?`branch:${O}`:``,N=u?.path?`worktree:${u.path}`:``,F=!!(M&&w===M),I=!!(N&&w===N),L=ce(()=>{O&&D(M,O)}),R=ce(()=>{let e=u?.path;e&&D(N,e)}),z=ce(()=>{C(`git`),x(!0)});return(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[f?(0,$.jsxs)(`div`,{className:`${Ya} h-8 px-2`,title:`${n(`chat.workStatus.section.project`)}: ${d}`,children:[(0,$.jsx)(Z,{name:`folder`,weight:`medium`,className:Xa}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:f})]}):null,O?(0,$.jsxs)(`div`,{className:`${Ya} group/copy h-8 px-2`,title:`${n(`gitView.branch.currentBranchTooltip`)}: ${O}`,children:[(0,$.jsx)(Z,{name:`git-branch`,weight:`medium`,className:Xa}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:O}),(0,$.jsx)(X,{variant:`ghost`,size:`xs`,className:Za,"aria-label":n(`chat.workStatus.action.copyBranch`),title:n(F?`contextSidebar.actions.copied`:`chat.workStatus.action.copyBranch`),onClick:L,children:(0,$.jsx)(Z,{name:F?`check`:`file-copy`,className:Xa})})]}):null,p?(0,$.jsxs)(`div`,{className:`${Ya} group/copy h-8 px-2`,title:`${n(`sessions.sidebar.sessionDialogs.worktree.label`)}: ${u?.path}`,children:[(0,$.jsx)(Z,{name:`node-tree`,weight:`medium`,className:Xa}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:p}),(0,$.jsx)(X,{variant:`ghost`,size:`xs`,className:Za,"aria-label":n(`agentManager.detail.actions.copyWorktreePath`),title:n(I?`contextSidebar.actions.copied`:`agentManager.detail.actions.copyWorktreePath`),onClick:R,children:(0,$.jsx)(Z,{name:I?`check`:`file-copy`,className:Xa})})]}):null,k>0?(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,className:`oc-work-status-action ${Ya}`,title:n(k===1?`chat.workStatus.git.changedFileSingle`:`chat.workStatus.git.changedFilePlural`,{count:k}),"aria-label":n(`chat.workStatus.action.openGit`),onClick:z,children:[(0,$.jsx)(Z,{name:`changes`,weight:`medium`,className:Xa}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:n(`chat.workStatus.compact.changes`)}),A>0||j>0?(0,$.jsxs)(`span`,{className:`ml-auto flex shrink-0 gap-1.5 text-[12px] tabular-nums`,children:[(0,$.jsx)(`span`,{className:`text-[var(--status-success)]`,children:`+${A}`}),(0,$.jsx)(`span`,{className:`text-[var(--status-error)]`,children:`−${j}`})]}):(0,$.jsx)(`span`,{className:`ml-auto tabular-nums`,children:k})]}):null,m.length>0?(0,$.jsxs)(`div`,{role:`group`,"aria-label":n(`chat.workStatus.section.subagents`),className:`flex min-w-0 flex-col`,children:[(0,$.jsxs)(X,{type:`button`,variant:`ghost`,size:`sm`,className:`oc-work-status-action ${Ya} gap-1.5`,"aria-expanded":v,"aria-controls":b,onClick:()=>y(e=>!e),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`inline-flex shrink-0 items-center`,children:_.map((e,t)=>{let r=e.label.trim()||n(`chat.workStatus.subagent.untitled`);return(0,$.jsx)(xt,{name:e.seed,label:r,size:14,className:`relative bg-background ring-2 ring-background ${t>0?`-ml-1`:``}`},e.key)})}),(0,$.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-x-1 whitespace-nowrap text-left text-[11px] leading-5 tabular-nums`,children:g.filter(e=>e.items.length>0).map((e,t)=>(0,$.jsxs)(Q.Fragment,{children:[t>0?(0,$.jsx)(`span`,{"aria-hidden":`true`,children:`·`}):null,(0,$.jsx)(`span`,{children:n(e.labelKey,{count:e.items.length})})]},e.phase))}),(0,$.jsx)(Z,{name:v?`arrow-down-s`:`arrow-right-s`,className:`size-3.5 shrink-0 text-muted-foreground opacity-70`})]}),(0,$.jsx)(`div`,{id:b,hidden:!v,className:v?`mt-1 mb-1 flex min-w-0 flex-col gap-1`:`hidden`,children:v?g.filter(e=>e.items.length>0).map(e=>(0,$.jsxs)(`section`,{"aria-label":n(e.labelKey,{count:e.items.length}),className:`flex min-w-0 flex-col gap-1 [&+section]:mt-2`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-[11px] leading-4 text-muted-foreground/70`,children:n(e.labelKey,{count:e.items.length})}),e.items.map(e=>{let r=e.label.trim()||n(`chat.workStatus.subagent.untitled`);return(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,disabled:!e.sessionID||!t,className:`oc-work-status-action flex w-full min-w-0 items-center justify-start gap-2 text-left text-[12px] font-normal leading-5 text-muted-foreground`,onClick:()=>{!e.sessionID||!t||S(t,{mode:`chat`,dedupeKey:`session:${e.sessionID}`,label:r,readOnly:!0})},children:[(0,$.jsx)(xt,{name:e.seed,label:r,size:14}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:r,children:r})]},e.key)})]},e.phase)):null})]}):null]})},eo=200,to=e=>{let t=(0,qr.c)(32),{sessionId:n,directory:r,visible:i,overlay:a}=e,o=a!==void 0&&a,{t:s}=fe(),c=P(no),l=Q.useRef(null),[u,d]=Q.useState(i),f,p;t[0]===i?(f=t[1],p=t[2]):(f=()=>{if(i){d(!0);return}let e=window.setTimeout(()=>d(!1),eo);return()=>window.clearTimeout(e)},p=[i],t[0]=i,t[1]=f,t[2]=p),Q.useEffect(f,p);let m,h;t[3]!==o||t[4]!==c||t[5]!==i?(m=()=>{if(!o||!i)return;let e=e=>{let t=e.target instanceof Element?e.target:null;l.current?.contains(t)||t?.closest(`[data-work-status-toggle]`)||c(!1)},t=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,t)}},h=[o,c,i],t[3]=o,t[4]=c,t[5]=i,t[6]=m,t[7]=h):(m=t[6],h=t[7]),Q.useEffect(m,h);let g;t[8]===s?g=t[9]:(g=s(`chat.workStatus.ariaLabel`),t[8]=s,t[9]=g);let _=!i,v=!i,y=o&&`absolute right-3 top-3 z-30 my-0 max-h-[calc(100%-1.5rem)] rounded-lg bg-[var(--surface-elevated)]/95 px-1 backdrop-blur-md`,b=!o&&(i?`mr-3`:`mr-0`),x;t[10]!==b||t[11]!==y?(x=Y(`relative my-2 flex max-h-[calc(100%-1rem)] shrink-0 flex-col self-start overflow-x-hidden overflow-y-auto bg-transparent`,y,b),t[10]=b,t[11]=y,t[12]=x):x=t[12];let S=o||i?196:0,C=+!!i,w=i?`none`:o?`translateY(-6px)`:`translateX(24px)`,T=o?`opacity, transform`:`none`,E=i?void 0:`none`,D;t[13]!==S||t[14]!==C||t[15]!==w||t[16]!==T||t[17]!==E?(D={width:S,opacity:C,transform:w,transitionProperty:T,transitionDuration:`${eo}ms`,transitionTimingFunction:`cubic-bezier(0.22, 1, 0.36, 1)`,pointerEvents:E},t[13]=S,t[14]=C,t[15]=w,t[16]=T,t[17]=E,t[18]=D):D=t[18];let O;t[19]!==u||t[20]!==r||t[21]!==o||t[22]!==n||t[23]!==i?(O=i||o&&u?(0,$.jsx)($a,{sessionId:n,directory:r}):null,t[19]=u,t[20]=r,t[21]=o,t[22]=n,t[23]=i,t[24]=O):O=t[24];let k;return t[25]!==x||t[26]!==D||t[27]!==O||t[28]!==g||t[29]!==_||t[30]!==v?(k=(0,$.jsx)(`aside`,{ref:l,"aria-label":g,"aria-hidden":_,inert:v,className:x,style:D,children:O}),t[25]=x,t[26]=D,t[27]=O,t[28]=g,t[29]=_,t[30]=v,t[31]=k):k=t[31],k};function no(e){return e.setWorkStatusOverlayOpen}var ro=e=>{let t=(0,qr.c)(10),{sessionId:n,directory:r,visible:i,overlay:a,publishVisible:o}=e,s=a!==void 0&&a,c=o!==void 0&&o,l=P(ao),u,d;t[0]!==c||t[1]!==l||t[2]!==i?(u=()=>{if(c)return l(i),()=>l(!1)},d=[c,l,i],t[0]=c,t[1]=l,t[2]=i,t[3]=u,t[4]=d):(u=t[3],d=t[4]),Q.useEffect(u,d);let f;return t[5]!==r||t[6]!==s||t[7]!==n||t[8]!==i?(f=(0,$.jsx)(to,{overlay:s,visible:i,sessionId:n,directory:r}),t[5]=r,t[6]=s,t[7]=n,t[8]=i,t[9]=f):f=t[9],f},io=e=>{let t=(0,qr.c)(35),{readOnly:n,active:r,selectionOverride:i}=e,a=n!==void 0&&n,o=r===void 0||r,s=Je(oo),c=Je(so),l=Je(co),u=Je(lo),d=yr(),f=P(uo),p=P(fo),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=g(),t[0]=m):m=t[0];let h=m,_=P(po),v=P(mo),y=P(ho),b=i?.sessionId??s,x=i?.sessionId??s,S=i?.directory??c??d??null,C;t[1]!==S||t[2]!==f?(C={isMobile:f,isVSCode:h,directory:S},t[1]=S,t[2]=f,t[3]=C):C=t[3];let{visible:w,fits:T,layoutAllows:E}=Pa(C),D=i?!!i.sessionId:l?u:!!x,O=o&&E&&!p&&D,k=O&&w,A=O&&_&&!T&&v,j,M;t[4]!==T||t[5]!==O||t[6]!==y?(j=()=>(y(O&&T),()=>y(!1)),M=[T,O,y],t[4]=T,t[5]=O,t[6]=y,t[7]=j,t[8]=M):(j=t[7],M=t[8]),Q.useEffect(j,M);let N=b||void 0,F;t[9]!==o||t[10]!==i?(F=i?{...i,active:o}:void 0,t[9]=o,t[10]=i,t[11]=F):F=t[11];let I;t[12]!==o||t[13]!==a||t[14]!==F?(I=(0,$.jsx)(Tt,{readOnly:a,active:o,explicitSession:F}),t[12]=o,t[13]=a,t[14]=F,t[15]=I):I=t[15];let L;t[16]!==N||t[17]!==I?(L=(0,$.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1`,children:(0,$.jsx)(Ma,{sessionId:N,children:I})}),t[16]=N,t[17]=I,t[18]=L):L=t[18];let R;t[19]!==S||t[20]!==O||t[21]!==x||t[22]!==k?(R=O?(0,$.jsx)(ro,{publishVisible:!0,visible:k,sessionId:x,directory:S}):null,t[19]=S,t[20]=O,t[21]=x,t[22]=k,t[23]=R):R=t[23];let z;t[24]!==S||t[25]!==T||t[26]!==O||t[27]!==x||t[28]!==A||t[29]!==_?(z=O&&_&&!T?(0,$.jsx)(ro,{overlay:!0,visible:A,sessionId:x,directory:S}):null,t[24]=S,t[25]=T,t[26]=O,t[27]=x,t[28]=A,t[29]=_,t[30]=z):z=t[30];let B;return t[31]!==L||t[32]!==R||t[33]!==z?(B=(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0`,children:[L,R,z]}),t[31]=L,t[32]=R,t[33]=z,t[34]=B):B=t[34],B};function ao(e){return e.setWorkStatusPanelVisible}function oo(e){return e.currentSessionId}function so(e){return e.currentSessionDirectory}function co(e){return!!e.newSessionDraft?.open}function lo(e){return!!(e.newSessionDraft?.open&&e.newSessionDraft.pendingUserMessage&&(e.newSessionDraft.draftEstablishing||e.newSessionDraft.draftSubmitting))}function uo(e){return e.isMobile}function fo(e){return e.isExpandedInput}function po(e){return e.workStatusPanelEnabled}function mo(e){return e.workStatusOverlayOpen}function ho(e){return e.setWorkStatusPanelFits}function go(e){let t=(0,qr.c)(85),{draft:n,onEdit:r,onDelete:i,className:a,maxWidth:o}=e,{t:s}=fe(),c=Mn()?.currentTheme,[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),p=typeof n.text==`string`?n.text:``,m;t[0]===p?m=t[1]:(m=p.length>150||p.split(`
|
|
4
|
+
`).length>3,t[0]=p,t[1]=m);let h=m,g;t[2]===a?g=t[3]:(g=Y(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden transition-all duration-200`,a),t[2]=a,t[3]=g);let _=c?.colors?.surface?.elevated,v=c?.colors?.interactive?.border,y=o?`${Math.max(200,Math.floor(o))}px`:void 0,b;t[4]!==_||t[5]!==v||t[6]!==y?(b={backgroundColor:_,borderColor:v,maxWidth:y},t[4]=_,t[5]=v,t[6]=y,t[7]=b):b=t[7];let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{e.preventDefault(),f(!0)},t[8]=x):x=t[8];let S;t[9]!==g||t[10]!==b?(S=(0,$.jsx)(`div`,{className:g,style:b,"data-comment-card":`true`,onContextMenu:x}),t[9]=g,t[10]=b,t[11]=S):S=t[11];let C;t[12]===n.fileLabel?C=t[13]:(C=(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,title:n.fileLabel,children:n.fileLabel}),t[12]=n.fileLabel,t[13]=C);let w;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`span`,{children:`•`}),t[14]=w):w=t[14];let T;t[15]!==n.endLine||t[16]!==n.startLine||t[17]!==s?(T=s(`inlineComment.range.lines`,{start:n.startLine,end:n.endLine}),t[15]=n.endLine,t[16]=n.startLine,t[17]=s,t[18]=T):T=t[18];let E;t[19]===T?E=t[20]:(E=(0,$.jsx)(`span`,{children:T}),t[19]=T,t[20]=E);let D;t[21]===n.side?D=t[22]:(D=n.side&&(0,$.jsxs)(`span`,{children:[`(`,n.side,`)`]}),t[21]=n.side,t[22]=D);let O;t[23]!==E||t[24]!==D||t[25]!==C?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-1.5`,children:[C,w,E,D]}),t[23]=E,t[24]=D,t[25]=C,t[26]=O):O=t[26];let k=l||!h,A=!l&&h&&`line-clamp-3`,j;t[27]===A?j=t[28]:(j=Y(`text-sm whitespace-pre-wrap break-words leading-relaxed`,A),t[27]=A,t[28]=j);let M;t[29]!==p||t[30]!==j?(M=(0,$.jsx)(`div`,{className:j,children:p}),t[29]=p,t[30]=j,t[31]=M):M=t[31];let N;t[32]!==h||t[33]!==l||t[34]!==s?(N=h&&(0,$.jsx)(Wr,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-6 px-0 mt-1 text-xs text-muted-foreground hover:text-foreground w-full justify-start`,children:l?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`arrow-up-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showLess`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showMore`)]})})}),t[32]=h,t[33]=l,t[34]=s,t[35]=N):N=t[35];let P;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(Ur,{}),t[36]=P):P=t[36];let F;t[37]!==k||t[38]!==M||t[39]!==N?(F=(0,$.jsxs)(Gr,{open:k,onOpenChange:u,children:[M,N,P]}),t[37]=k,t[38]=M,t[39]=N,t[40]=F):F=t[40];let I;t[41]!==O||t[42]!==F?(I=(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[O,F]}),t[41]=O,t[42]=F,t[43]=I):I=t[43];let L;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`h-6 w-6 -mr-1 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(Z,{name:`more`,className:`size-4`})})}),t[44]=L):L=t[44];let R;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(Z,{name:`edit`,className:`size-4 mr-2`}),t[45]=R):R=t[45];let z;t[46]===s?z=t[47]:(z=s(`inlineComment.actions.editComment`),t[46]=s,t[47]=z);let B;t[48]!==r||t[49]!==z?(B=(0,$.jsxs)(vn,{onClick:r,children:[R,z]}),t[48]=r,t[49]=z,t[50]=B):B=t[50];let V;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4 mr-2`}),t[51]=V):V=t[51];let ee;t[52]===s?ee=t[53]:(ee=s(`inlineComment.actions.deleteComment`),t[52]=s,t[53]=ee);let H;t[54]!==i||t[55]!==ee?(H=(0,$.jsxs)(vn,{onClick:i,className:`text-destructive`,children:[V,ee]}),t[54]=i,t[55]=ee,t[56]=H):H=t[56];let U;t[57]!==B||t[58]!==H?(U=(0,$.jsxs)(En,{children:[L,(0,$.jsxs)(Sn,{align:`end`,children:[B,H]})]}),t[57]=B,t[58]=H,t[59]=U):U=t[59];let W;t[60]!==I||t[61]!==U?(W=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 p-3`,children:[I,U]}),t[60]=I,t[61]=U,t[62]=W):W=t[62];let te;t[63]!==W||t[64]!==S?(te=(0,$.jsx)(Rr,{render:S,children:W}),t[63]=W,t[64]=S,t[65]=te):te=t[65];let G;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(Z,{name:`edit`,className:`size-4 mr-2`}),t[66]=G):G=t[66];let K;t[67]===s?K=t[68]:(K=s(`inlineComment.actions.editComment`),t[67]=s,t[68]=K);let ne;t[69]!==r||t[70]!==K?(ne=(0,$.jsxs)(Vr,{onClick:r,children:[G,K]}),t[69]=r,t[70]=K,t[71]=ne):ne=t[71];let re;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4 mr-2`}),t[72]=re):re=t[72];let ie;t[73]===s?ie=t[74]:(ie=s(`inlineComment.actions.deleteComment`),t[73]=s,t[74]=ie);let q;t[75]!==i||t[76]!==ie?(q=(0,$.jsxs)(Vr,{onClick:i,className:`text-destructive focus:text-destructive`,children:[re,ie]}),t[75]=i,t[76]=ie,t[77]=q):q=t[77];let ae;t[78]!==ne||t[79]!==q?(ae=(0,$.jsxs)(Br,{children:[ne,q]}),t[78]=ne,t[79]=q,t[80]=ae):ae=t[80];let J;return t[81]!==d||t[82]!==te||t[83]!==ae?(J=(0,$.jsxs)(Hr,{open:d,onOpenChange:f,children:[te,ae]}),t[81]=d,t[82]=te,t[83]=ae,t[84]=J):J=t[84],J}function _o(e){let t=(0,qr.c)(67),{initialText:n,onTextChange:r,onSave:i,onCancel:a,fileLabel:o,lineRange:s,isEditing:c,className:l,maxWidth:u,onAddToChat:d}=e,f=n===void 0?``:n,p=c!==void 0&&c,{t:m}=fe(),h=Mn()?.currentTheme,{isMobile:g}=Nn(),[_,v]=Q.useState(f),y=(0,Q.useRef)(null),b;t[0]===r?b=t[1]:(b=e=>{v(e),r?.(e)},t[0]=r,t[1]=b);let x=b,S=(0,Q.useRef)(s),C,w;t[2]===s?(C=t[3],w=t[4]):(C=()=>{s&&(S.current=s)},w=[s],t[2]=s,t[3]=C,t[4]=w),(0,Q.useEffect)(C,w);let T=To,E=T(s),D,O;t[5]===g?(D=t[6],O=t[7]):(D=()=>{let e=y.current;if(!e)return;let t=e.closest(`.overlay-scrollbar-container`),n=t?.scrollTop??window.scrollY,r=t?.scrollLeft??window.scrollX;if(g){e.scrollIntoView({behavior:`auto`,block:`nearest`});try{e.focus({preventScroll:!0})}catch{e.focus()}return}try{e.focus({preventScroll:!0})}catch{e.focus()}let i=e.value.length;try{e.setSelectionRange(i,i)}catch{}requestAnimationFrame(()=>{t?(t.scrollTop=n,t.scrollLeft=r):window.scrollTo({top:n,left:r})})},O=[g],t[5]=g,t[6]=D,t[7]=O),(0,Q.useEffect)(D,O);let k;t[8]!==a||t[9]!==i||t[10]!==_?(k=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`?(e.preventDefault(),_.trim()&&i(_,T(S.current))):e.key===`Escape`&&(e.preventDefault(),a())},t[8]=a,t[9]=i,t[10]=_,t[11]=k):k=t[11];let A=k,j;t[12]!==i||t[13]!==_?(j=e=>{e.stopPropagation(),_.trim()&&i(_,T(S.current))},t[12]=i,t[13]=_,t[14]=j):j=t[14];let M=j,N;t[15]===l?N=t[16]:(N=Y(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden animate-in fade-in zoom-in-95 duration-200`,l),t[15]=l,t[16]=N);let P=h?.colors?.surface?.elevated,F=h?.colors?.interactive?.border,I=u?`${Math.max(200,Math.floor(u))}px`:void 0,L;t[17]!==P||t[18]!==F||t[19]!==I?(L={backgroundColor:P,borderColor:F,maxWidth:I},t[17]=P,t[18]=F,t[19]=I,t[20]=L):L=t[20];let R=wo,z=Co,B=(o||s)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-2`,children:[o&&(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,children:o}),o&&s&&(0,$.jsx)(`span`,{children:`•`}),E&&(0,$.jsx)(`span`,{children:m(`inlineComment.range.lines`,{start:E.start,end:E.end})})]}),V;t[21]===x?V=t[22]:(V=e=>x(e.target.value),t[21]=x,t[22]=V);let ee;t[23]!==g||t[24]!==m?(ee=m(g?`inlineComment.input.placeholderShort`:`inlineComment.input.placeholder`),t[23]=g,t[24]=m,t[25]=ee):ee=t[25];let H;t[26]!==A||t[27]!==V||t[28]!==ee||t[29]!==_?(H=(0,$.jsx)(Gn,{simple:!0,ref:y,value:_,onChange:V,onKeyDown:A,placeholder:ee,outerClassName:`rounded-[var(--radius-xl)] bg-[var(--surface-subtle)] ring-1 ring-inset ring-border/60 focus-within:ring-2 focus-within:ring-[var(--interactive-focus-ring)]`,className:`min-h-[80px] px-3 py-2.5 text-sm resize-y`}),t[26]=A,t[27]=V,t[28]=ee,t[29]=_,t[30]=H):H=t[30];let U;t[31]!==E||t[32]!==d||t[33]!==m?(U=E&&d?(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:()=>d(E),onPointerDown:So,className:`mr-auto h-8 gap-1.5`,children:[(0,$.jsx)(Z,{name:`add`,className:`size-4`}),m(`chat.textSelection.actions.addToChat`),(0,$.jsx)(Rt,{shortcut:`⌘+I`})]}):null,t[31]=E,t[32]=d,t[33]=m,t[34]=U):U=t[34];let W;t[35]===m?W=t[36]:(W=m(`inlineComment.actions.cancel`),t[35]=m,t[36]=W);let te;t[37]!==a||t[38]!==W?(te=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:a,onPointerDown:xo,onTouchStart:bo,className:`h-8 text-muted-foreground hover:text-foreground`,children:W}),t[37]=a,t[38]=W,t[39]=te):te=t[39];let G;t[40]===_?G=t[41]:(G=_.trim(),t[40]=_,t[41]=G);let K=!G,ne=h?.colors?.status?.success,re=h?.colors?.status?.successForeground,ie;t[42]!==ne||t[43]!==re?(ie={backgroundColor:ne,color:re},t[42]=ne,t[43]=re,t[44]=ie):ie=t[44];let q;t[45]!==p||t[46]!==m?(q=m(p?`inlineComment.actions.save`:`inlineComment.actions.comment`),t[45]=p,t[46]=m,t[47]=q):q=t[47];let ae;t[48]!==M||t[49]!==K||t[50]!==ie||t[51]!==q?(ae=(0,$.jsx)(X,{size:`sm`,onClick:M,onPointerDown:yo,onTouchStart:vo,disabled:K,className:`h-8 min-w-[80px]`,style:ie,children:q}),t[48]=M,t[49]=K,t[50]=ie,t[51]=q,t[52]=ae):ae=t[52];let J;t[53]!==U||t[54]!==te||t[55]!==ae?(J=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 mt-3`,children:[U,te,ae]}),t[53]=U,t[54]=te,t[55]=ae,t[56]=J):J=t[56];let oe;t[57]!==B||t[58]!==H||t[59]!==J?(oe=(0,$.jsxs)(`div`,{className:`p-3`,children:[B,H,J]}),t[57]=B,t[58]=H,t[59]=J,t[60]=oe):oe=t[60];let se;return t[61]!==N||t[62]!==L||t[63]!==R||t[64]!==z||t[65]!==oe?(se=(0,$.jsx)(`div`,{className:N,style:L,"data-comment-input":`true`,onPointerDown:R,onTouchStart:z,children:oe}),t[61]=N,t[62]=L,t[63]=R,t[64]=z,t[65]=oe,t[66]=se):se=t[66],se}function vo(e){return e.stopPropagation()}function yo(e){return e.stopPropagation()}function bo(e){return e.stopPropagation()}function xo(e){return e.stopPropagation()}function So(e){return e.stopPropagation()}function Co(e){return e.stopPropagation()}function wo(e){return e.stopPropagation()}function To(e){if(!e)return;let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}}var Eo=e=>{let t=Math.min(e.startLine,e.endLine),n=Math.max(e.startLine,e.endLine);return{...e,startLine:t,endLine:n}},Do=e=>{let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}};function Oo(e){let t=(0,qr.c)(40),{t:n}=fe(),{source:r,fileLabel:i,language:a,getCodeForRange:o,toStoreRange:s,fromDraftRange:c}=e,l=Je(Po),u=Je(No),d=Gt(Mo),f=Gt(jo),p=Gt(Ao),m=Gt(ko),[h,g]=Q.useState(null),[_,v]=Q.useState(``),[y,b]=Q.useState(null),x=l??(u?`draft`:null),S;bb0:{if(!x||!i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],S=e;break bb0}let e;t[1]!==m||t[2]!==x?(e=m[x]??[],t[1]=m,t[2]=x,t[3]=e):e=t[3];let n=e,a;if(t[4]!==i||t[5]!==n||t[6]!==r){let e;t[8]!==i||t[9]!==r?(e=e=>e.source===r&&e.fileLabel===i,t[8]=i,t[9]=r,t[10]=e):e=t[10],a=n.filter(e),t[4]=i,t[5]=n,t[6]=r,t[7]=a}else a=t[7];S=a}let C=S,w;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{g(null),v(``),b(null)},t[11]=w):w=t[11];let T=w,E;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{T()},t[12]=E):E=t[12];let D=E,O;t[13]===c?O=t[14]:(O=e=>{let t=Do(c(e));g(t),v(e.text),b(e.id)},t[13]=c,t[14]=O);let k=O,A;t[15]!==y||t[16]!==p?(A=e=>{p(e.sessionKey,e.id),y===e.id&&T()},t[15]=y,t[16]=p,t[17]=A):A=t[17];let j=A,M;t[18]!==d||t[19]!==y||t[20]!==i||t[21]!==o||t[22]!==a||t[23]!==h||t[24]!==x||t[25]!==r||t[26]!==n||t[27]!==s||t[28]!==f?(M=(e,t)=>{let c=t??h,l=e.trim();if(!c||!l||!i)return;if(!x){Pe.error(n(`inlineComment.toast.selectSessionToSave`));return}let u=Do(c),p=Eo(s(u)),m=o(u);y?f(x,y,{fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}):d({sessionKey:x,source:r,fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}),T()},t[18]=d,t[19]=y,t[20]=i,t[21]=o,t[22]=a,t[23]=h,t[24]=x,t[25]=r,t[26]=n,t[27]=s,t[28]=f,t[29]=M):M=t[29];let N=M,P;return t[30]!==_||t[31]!==j||t[32]!==C||t[33]!==y||t[34]!==c||t[35]!==N||t[36]!==h||t[37]!==x||t[38]!==k?(P={sessionKey:x,drafts:C,selection:h,setSelection:g,commentText:_,setCommentText:v,editingDraftId:y,setEditingDraftId:b,reset:T,cancel:D,startEdit:k,deleteDraft:j,saveComment:N,fromDraftRange:c},t[30]=_,t[31]=j,t[32]=C,t[33]=y,t[34]=c,t[35]=N,t[36]=h,t[37]=x,t[38]=k,t[39]=P):P=t[39],P}function ko(e){return e.drafts}function Ao(e){return e.removeDraft}function jo(e){return e.updateDraft}function Mo(e){return e.addDraft}function No(e){return e.newSessionDraft?.open}function Po(e){return e.currentSessionId}function Fo(e){let{drafts:t,editingDraftId:n,commentText:r,onTextChange:i,selection:a,isDragging:o,fileLabel:s,newWidgetId:c,mapDraftToRange:l,onSave:u,onCancel:d,onEdit:f,onDelete:p,onAddToChat:m}=e,h=[];for(let e of t){let t=l(e);if(e.id===n){h.push({afterLine:t.end,id:`edit-${e.id}`,content:(0,$.jsx)(_o,{initialText:r,onTextChange:i,fileLabel:s,lineRange:t,isEditing:!0,onSave:u,onCancel:d,onAddToChat:m},`edit-${e.id}`)});continue}h.push({afterLine:t.end,id:`card-${e.id}`,content:(0,$.jsx)(go,{draft:e,onEdit:()=>f(e),onDelete:()=>p(e)},`card-${e.id}`)})}if(a&&!n&&!o){let e={...a,start:Math.min(a.start,a.end),end:Math.max(a.start,a.end)};h.push({afterLine:e.end,id:c,content:(0,$.jsx)(_o,{initialText:r,onTextChange:i,fileLabel:s,lineRange:e,isEditing:!1,onSave:u,onCancel:d,onAddToChat:m},c)})}return h}var Io=e=>{if(e.type===`new`){let t=Math.min(e.selection.start,e.selection.end),n=Math.max(e.selection.start,e.selection.end);return`new-comment-${e.selection.side??`additions`}-${t}-${n}`}return`draft-${e.draft.id}`},Lo=e=>{let{drafts:t,editingDraftId:n,selection:r}=e,i=[];for(let e of t){if(!Number.isFinite(e.endLine))continue;let t=Math.max(1,Math.floor(e.endLine)),r=e.side===`original`?`deletions`:`additions`;i.push({lineNumber:t,side:r,metadata:{type:e.id===n?`edit`:`saved`,draft:e}})}return r&&!n&&i.push({lineNumber:Math.max(r.start,r.end),side:r.side??`additions`,metadata:{type:`new`,selection:r}}),i};function Ro(e){let t=e.trim();if(!t)return null;if(/^-?\d+(\.\d+)?$/.test(t)){let e=Number.parseFloat(t);return Number.isFinite(e)?e:null}if(t.endsWith(`px`)){let e=Number.parseFloat(t.slice(0,-2));return Number.isFinite(e)?e:null}return null}function zo(e){if(!(!e||e<=0))return Math.max(200,Math.floor(e))}function Bo(e){let{diffRootRef:t,drafts:n,selection:r,editingDraftId:i,commentText:a,onTextChange:o,fileLabel:s,onSave:c,onCancel:l,onEdit:u,onDelete:d,onAddToChat:f}=e,[p,m]=Q.useState(0),[h,g]=Q.useState(null),_=Q.useMemo(()=>!r||i?null:Io({type:`new`,selection:r}),[i,r]),v=Q.useMemo(()=>{let e=n.map(e=>Io({type:e.id===i?`edit`:`saved`,draft:e}));return _&&e.push(_),e},[n,i,_]),y=Q.useCallback(e=>{let n=t.current;if(!n)return null;let r=n.querySelector(`diffs-container`);if(!(r instanceof HTMLElement))return null;let i=r.querySelector(`[data-annotation-id="${e}"]`);if(i instanceof HTMLElement)return i;let a=r.shadowRoot;return a?a.querySelector(`[data-annotation-id="${e}"]`):null},[t]);Q.useEffect(()=>{if(v.length===0)return;let e=!1,t=0,n=()=>{e||v.every(e=>!!y(e))||t>=12||(t+=1,requestAnimationFrame(()=>{e||(m(e=>e+1),n())}))};return n(),()=>{e=!0}},[v,y]),Q.useEffect(()=>{let e=t.current;if(!e)return;let n=()=>{let t=Ro(getComputedStyle(e).getPropertyValue(`--oc-context-panel-width`)),n=e.getBoundingClientRect(),r=t??n.width;g(r>0?r:null)};n();let r=new ResizeObserver(()=>{n()});return r.observe(e),window.addEventListener(`resize`,n),()=>{r.disconnect(),window.removeEventListener(`resize`,n)}},[t]);let b=Q.useCallback(e=>{let n=t.current?.getBoundingClientRect(),r=e.closest(`[data-annotation-content]`),i=r instanceof HTMLElement?r.getBoundingClientRect():e.getBoundingClientRect(),a=[i.width];n&&a.push(n.right-i.left);let o=a.filter(e=>Number.isFinite(e)&&e>0);return o.length>0?zo(Math.min(...o)):zo(h)},[t,h]);return(0,$.jsxs)($.Fragment,{children:[n.map(e=>{let t=Io({type:e.id===i?`edit`:`saved`,draft:e}),n=y(t);if(!n)return null;let r=b(n);return e.id===i?(0,Jr.createPortal)((0,$.jsx)(_o,{initialText:a,onTextChange:o,fileLabel:s,lineRange:{start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`},isEditing:!0,onSave:c,onCancel:l,onAddToChat:f,maxWidth:r}),n,`draft-edit-${e.id}`):(0,Jr.createPortal)((0,$.jsx)(go,{draft:e,onEdit:()=>u(e),onDelete:()=>d(e),maxWidth:r}),n,`draft-card-${e.id}`)}),r&&!i&&_&&(()=>{let e=y(_);if(!e)return null;let t=b(e);return(0,Jr.createPortal)((0,$.jsx)(_o,{initialText:a,onTextChange:o,fileLabel:s,lineRange:r,isEditing:!1,onSave:c,onCancel:l,onAddToChat:f,maxWidth:t}),e,_)})()]})}function Vo(e){let t=(0,qr.c)(16),{position:n,onAddToChat:r,onDismiss:i}=e,{t:a}=fe(),o=Q.useRef(null),s,c;t[0]===i?(s=t[1],c=t[2]):(s=()=>{if(!i)return;let e=e=>{o.current&&e.target instanceof Node&&o.current.contains(e.target)||i()};return window.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>{window.removeEventListener(`scroll`,e,!0)}},c=[i],t[0]=i,t[1]=s,t[2]=c),Q.useEffect(s,c);let l;t[3]!==n.x||t[4]!==n.y?(l={left:n.x,top:n.y},t[3]=n.x,t[4]=n.y,t[5]=l):l=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Z,{name:`add`,className:`size-4`}),t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a(`chat.textSelection.actions.addToChat`),t[7]=a,t[8]=d);let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(Rt,{shortcut:`⌘+I`}),t[9]=f):f=t[9];let p;t[10]!==r||t[11]!==d?(p=(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,className:`h-7 gap-1.5 px-2`,onClick:r,children:[u,d,f]}),t[10]=r,t[11]=d,t[12]=p):p=t[12];let m;return t[13]!==l||t[14]!==p?(m=(0,Jr.createPortal)((0,$.jsx)(`div`,{ref:o,"data-code-selection-action":`true`,className:`fixed z-[100] -translate-y-full rounded-lg border border-[var(--interactive-border)] bg-[var(--surface-elevated)] p-1 shadow-lg`,style:l,onPointerDown:Ho,children:p}),document.body),t[13]=l,t[14]=p,t[15]=m):m=t[15],m}function Ho(e){return e.preventDefault()}var Uo=`[data-code-selection-action]`;function Wo(e){return e instanceof Element&&!!e.closest(Uo)}function Go(e,t=[]){return Wo(e)?!0:t.some(e=>e instanceof Element&&e.matches(`[data-column-number]`))}function Ko(e,t){return e&&!!t?.trim()}function qo(e,t,n,r){let i=r.side===`deletions`,a=Math.min(r.start,r.end),o=Math.max(r.start,r.end);if(!n){let n=(i?e:t).split(`
|
|
5
5
|
`),r=Math.max(1,a),s=Math.min(n.length,o);return r>s?``:n.slice(r-1,s).join(`
|
|
6
6
|
`)}let s=i?n.deletionLines:n.additionLines,c=[];for(let e=a;e<=o;e+=1){let t=n.isPartial?Jo(n,e,i):e-1;if(t===null||t<0||t>=s.length)continue;let r=s[t]??``;c.push(r.endsWith(`
|
|
7
7
|
`)?r.slice(0,-1):r)}return c.join(`
|
|
@@ -138,11 +138,11 @@ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{c as t,i as n,n as r,o
|
|
|
138
138
|
text-decoration: underline;
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
`;function Qo(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(16)}function $o(e){let t=e.length>400?`${e.slice(0,200)}${e.slice(-200)}`:e;return`${e.length}:${Qo(t)}`}var es=(e,t)=>e===t?!0:!e||!t?!1:e.start===t.start&&e.end===t.end&&e.side===t.side,ts=e=>e===`auto`||e===`scroll`||e===`overlay`,ns=e=>{let t=e?.parentElement??null;for(;t;){if(ts(window.getComputedStyle(t).overflowY))return t;t=t.parentElement}return null},rs=(e,t)=>{if(!e||!t||typeof window>`u`)return()=>{};let n=ns(e);if(!n)return()=>{};let r=t.getBoundingClientRect().height;if(!r)return()=>{};let i=e.getBoundingClientRect().top-n.getBoundingClientRect().top,a=t.style.minHeight;t.style.minHeight=`${Math.ceil(r)}px`;let o=!1;return()=>{if(o)return;o=!0,t.style.minHeight=a;let r=e.getBoundingClientRect().top-n.getBoundingClientRect().top-i;r&&(n.scrollTop+=r)}},is=(e,t,n={})=>{if(typeof window>`u`)return()=>{};let r=null,i=null,a=!1,o=()=>{a||(i?.disconnect(),i=null,r=window.requestAnimationFrame(()=>{r=window.requestAnimationFrame(()=>{a||t()})}))},s=()=>e.querySelector(`diffs-container`)?.shadowRoot??void 0,c=(e=s())=>!!e?.querySelector(`[data-line]`);return!n.awaitRender&&c()?o():typeof MutationObserver<`u`?(i=new MutationObserver(()=>{let e=s();if(e){if(c(e)){o();return}i?.disconnect(),i=new MutationObserver(()=>{c(e)&&o()}),i.observe(e,{childList:!0,subtree:!0})}}),i.observe(e,{childList:!0,subtree:!0})):r=window.requestAnimationFrame(o),()=>{a=!0,i?.disconnect(),r!==null&&window.cancelAnimationFrame(r)}},as=new WeakMap,os={lineHeight:24,hunkSeparatorHeight:24,spacing:0};function ss(e){let t=e.closest(`[data-diff-virtual-root]`);if(t instanceof HTMLElement){let e=t.querySelector(`[data-diff-virtual-content]`);return{key:t,root:t,content:e instanceof HTMLElement?e:void 0}}return{key:document,root:document,content:void 0}}function cs(e){if(typeof document>`u`)return null;let t=ss(e),n=as.get(t.key);if(!n){let e=new re;e.setup(t.root,t.content),n={virtualizer:e,refs:0},as.set(t.key,n)}n.refs+=1;let r=!1;return{virtualizer:n.virtualizer,root:t.root,release:()=>{if(r)return;r=!0;let e=as.get(t.key);e&&(--e.refs,!(e.refs>0)&&(e.virtualizer.cleanUp(),as.delete(t.key)))}}}var ls=(e,t,n)=>{if(typeof window>`u`)return()=>{};let r=[],i=()=>{try{e.rerender()}catch{}let r=t?.root;r instanceof HTMLElement?r.dispatchEvent(new Event(`scroll`,{bubbles:!1})):document.dispatchEvent(new Event(`scroll`,{bubbles:!1})),window.dispatchEvent(new Event(`resize`)),n()};return r.push(window.requestAnimationFrame(i)),r.push(window.requestAnimationFrame(()=>{r.push(window.requestAnimationFrame(i))})),()=>{for(let e of r)window.cancelAnimationFrame(e)}},us=({original:e,modified:t,fileDiff:n,language:r,fileName:i,renderSideBySide:a,wrapLines:o,layout:s=`fill`,enableComments:c=!0,enableSelectionActions:l=!0,focusLine:u=null})=>{let d=Mn(),f=d?.currentTheme.metadata.variant===`dark`,p=d?.availableThemes.find(e=>e.metadata.id===d.lightThemeId)??Fn(!1),h=d?.availableThemes.find(e=>e.metadata.id===d.darkThemeId)??Fn(!0),{isMobile:g}=Nn(),_=it(e=>e.addCodeSelectionAttachment),v=it(e=>e.setPendingInputText),[y,b]=Q.useState(null),{drafts:x,selection:S,setSelection:C,commentText:w,setCommentText:T,editingDraftId:E,saveComment:D,cancel:O,startEdit:k,deleteDraft:A}=Oo({source:`diff`,fileLabel:i||`unknown`,language:r,getCodeForRange:r=>qo(e,t,n,r),toStoreRange:e=>({startLine:e.start,endLine:e.end,side:e.side===`deletions`?`original`:`modified`}),fromDraftRange:e=>({start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`})}),j=(0,Q.useRef)(null),M=(0,Q.useRef)(null),N=(0,Q.useRef)(``),F=(0,Q.useRef)(!1),I=(0,Q.useRef)(null),L=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{j.current=S},[S]),(0,Q.useEffect)(()=>{M.current=E},[E]),(0,Q.useEffect)(()=>{N.current=w},[w]);let R=(0,Q.useCallback)(e=>{if(!c||F.current)return;let t=j.current;if(!(!e&&t&&N.current.trim())){if(g&&t&&e&&e.side===t.side){let n=Math.min(t.start,e.start),r=Math.max(t.end,e.end);C({...e,start:n,end:r})}else C(e);e||b(null),e&&(M.current||T(``))}},[c,g,T,C]),z=(0,Q.useCallback)(()=>{O()},[O]),B=(0,Q.useCallback)(e=>{let t=document.createElement(`div`);t.style.position=`relative`;let n=Io(e.metadata);return t.dataset.annotationId=n,t.dataset.annotationSide=e.side,t.dataset.annotationLine=String(e.lineNumber),t},[]),V=(0,Q.useCallback)((e,t)=>{D(e,t??S??void 0)},[D,S]),ee=(0,Q.useCallback)(r=>{if(!i)return;let a=Math.min(r.start,r.end),o=Math.max(r.start,r.end),s=a===o?`${a}`:`${a}-${o}`,c=qo(e,t,n,r);if(!c)return;let l=`${i.replace(/\\/g,`/`).split(`/`).pop()||i}:${s}`;_(i,l,c),v(m(l),`append-inline`),P.getState().setActiveMainTab(`chat`)},[_,n,i,t,e,v]);(0,Q.useEffect)(()=>{if(!l)return;let e=e=>{if(!e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||e.key.toLowerCase()!==`i`)return;let t=y?.range??j.current;t&&(e.preventDefault(),ee(t))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[l,ee,y]),(0,Q.useEffect)(()=>{b(null)},[i,n,e,t]),(0,Q.useEffect)(()=>{if(!l)return;let e=e=>{let t=e.composedPath(),n=Go(e.target,t),r=t.some(e=>e instanceof ShadowRoot||e instanceof Element&&e.localName===`diffs-container`);L.current=r&&!n,n||b(null)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[l]);let H=(0,Q.useCallback)(e=>{C(e);let t=ae.current;if(t)try{F.current=!0,t.setSelectedLines(e),I.current=e}catch{}finally{F.current=!1}},[C]),W=(0,Q.useCallback)(e=>{let t=e.closest(`[data-line-type]`)?.getAttribute(`data-line-type`)??e.getAttribute(`data-line-type`);if(t===`change-deletion`)return`deletions`;if(t===`change-addition`)return`additions`;let n=e.getAttribute(`data-column-side`)??e.getAttribute(`data-side`)??e.closest(`[data-column-side]`)?.getAttribute(`data-column-side`);if(n===`deletions`||n===`left`||n===`original`)return`deletions`;if(n===`additions`||n===`right`||n===`modified`)return`additions`;let r=e.closest(`[data-line-type]`);if(r instanceof HTMLElement){let t=r.getBoundingClientRect(),n=e.getBoundingClientRect(),i=t.left+t.width/2;return n.left+n.width/2<i?`deletions`:`additions`}return`additions`},[]);ar(p),ar(h);let G=`${p.metadata.id}:${h.metadata.id}:${f?`dark`:`light`}`,ne=(0,Q.useMemo)(()=>{if(n){let e=n.deletionLines.reduce((e,t)=>e+t.length,0),t=n.additionLines.reduce((e,t)=>e+t.length,0);return Math.max(e,t)>Yo}return Math.max(e.length,t.length)>Yo},[n,t.length,e.length]),re=(0,Q.useRef)(null),ie=(0,Q.useRef)(null),ae=(0,Q.useRef)(null),J=(0,Q.useRef)(null),oe=(0,Q.useRef)(null),se=(0,Q.useRef)(null),ce=(0,Q.useRef)(void 0),le=(0,Q.useRef)(void 0),ue=(0,Q.useRef)(void 0),de=(0,Q.useRef)(void 0),fe=(0,Q.useRef)(null),[,pe]=Q.useReducer(e=>e+1,0),me=ii(ne?`unified`:a?`split`:`unified`),he=(0,Q.useMemo)(()=>ir(p),[p]),X=(0,Q.useMemo)(()=>ir(h),[h]);Q.useLayoutEffect(()=>{let e=re.current;if(!e)return;let t=e.querySelector(`diffs-container`);if(!t)return;let n=f?X:he,r=(e,t)=>e.colors?.[t],i=r(he,`terminal.ansiGreen`),a=r(he,`terminal.ansiRed`),o=r(he,`terminal.ansiBlue`),s=r(X,`terminal.ansiGreen`),c=r(X,`terminal.ansiRed`),l=r(X,`terminal.ansiBlue`);t.style.setProperty(`--shiki-light`,he.fg),t.style.setProperty(`--shiki-light-bg`,he.bg),i&&t.style.setProperty(`--shiki-light-addition-color`,i),a&&t.style.setProperty(`--shiki-light-deletion-color`,a),o&&t.style.setProperty(`--shiki-light-modified-color`,o),t.style.setProperty(`--shiki-dark`,X.fg),t.style.setProperty(`--shiki-dark-bg`,X.bg),s&&t.style.setProperty(`--shiki-dark-addition-color`,s),c&&t.style.setProperty(`--shiki-dark-deletion-color`,c),l&&t.style.setProperty(`--shiki-dark-modified-color`,l),t.style.setProperty(`--diffs-bg`,n.bg),t.style.setProperty(`--diffs-fg`,n.fg);let u=f?s:i,d=f?c:a,p=f?l:o;u&&t.style.setProperty(`--diffs-addition-color-override`,u),d&&t.style.setProperty(`--diffs-deletion-color-override`,d),p&&t.style.setProperty(`--diffs-modified-color-override`,p);let m=t.shadowRoot?.querySelector(`pre`);m&&(m.style.setProperty(`--shiki-light`,he.fg),m.style.setProperty(`--shiki-light-bg`,he.bg),i&&m.style.setProperty(`--shiki-light-addition-color`,i),a&&m.style.setProperty(`--shiki-light-deletion-color`,a),o&&m.style.setProperty(`--shiki-light-modified-color`,o),m.style.setProperty(`--shiki-dark`,X.fg),m.style.setProperty(`--shiki-dark-bg`,X.bg),s&&m.style.setProperty(`--shiki-dark-addition-color`,s),c&&m.style.setProperty(`--shiki-dark-deletion-color`,c),l&&m.style.setProperty(`--shiki-dark-modified-color`,l),m.style.setProperty(`--diffs-bg`,n.bg),m.style.setProperty(`--diffs-fg`,n.fg),u&&m.style.setProperty(`--diffs-addition-color-override`,u),d&&m.style.setProperty(`--diffs-deletion-color-override`,d),p&&m.style.setProperty(`--diffs-modified-color-override`,p))},[X,G,f,he]);let ge=(0,Q.useMemo)(()=>({theme:{dark:h.metadata.id,light:p.metadata.id},themeType:f?`dark`:`light`,diffStyle:a?`split`:`unified`,diffIndicators:`none`,hunkSeparators:`line-info-basic`,lineDiffType:`none`,maxLineDiffLength:ne?0:1e3,maxLineLengthForHighlighting:ne?1:1e3,tokenizeMaxLineLength:ne?1:1e3,collapsedContextThreshold:0,expansionLineCount:20,overflow:o?`wrap`:`scroll`,disableFileHeader:!0,enableLineSelection:c,enableHoverUtility:!1,onLineSelected:c?R:void 0,unsafeCSS:Zo,renderAnnotation:c?B:void 0}),[h.metadata.id,c,f,ne,p.metadata.id,a,o,R,B]),_e=(0,Q.useMemo)(()=>c?Lo({drafts:x,editingDraftId:E,selection:S}):[],[E,c,x,S]),ve=(0,Q.useRef)(_e);if((0,Q.useEffect)(()=>{ve.current=_e},[_e]),(0,Q.useEffect)(()=>{let e=ie.current;return()=>{ae.current?.cleanUp(),ae.current=null,J.current?.release(),J.current=null,oe.current=null,se.current=null,ce.current=void 0,le.current=void 0,ue.current=void 0,de.current=void 0,e&&(e.innerHTML=``)}},[]),(0,Q.useEffect)(()=>{if(typeof window>`u`)return;let a=ie.current,o=re.current;if(!a||!me)return;let s=rs(o,a),c=J.current;c||(c=cs(a),J.current=c),J.current=c;let l=c?.virtualizer??null,d=n?void 0:{name:i||``,contents:e,lang:r,cacheKey:`old:${G}:${i}:${$o(e)}`},f=n?void 0:{name:i||``,contents:t,lang:r,cacheKey:`new:${G}:${i}:${$o(t)}`},p=n?le.current!==n:le.current!==void 0||!d||!f||!ue.current||!de.current||!K(ue.current,d)||!K(de.current,f),m=ae.current,h=!!(m&&(oe.current!==l||se.current!==me||l&&(ce.current!==ge.hunkSeparators||p)));h&&(m?.cleanUp(),ae.current=null,a.innerHTML=``);let g=ae.current,_=!h&&m?!te(m.options,ge):!1;if(g?g.setOptions(ge):(g=c?new q(ge,c.virtualizer,os,me):new U(ge,me),ae.current=g,I.current=null),oe.current=l,se.current=me,ce.current=l?ge.hunkSeparators:void 0,le.current=n,ue.current=d,de.current=f,n)g.render({fileDiff:n,forceRender:_,lineAnnotations:ve.current,containerWrapper:a});else{if(!d||!f)return;g.render({oldFile:d,newFile:f,forceRender:_,lineAnnotations:ve.current,containerWrapper:a})}let v=is(a,()=>{if(s(),ls(g,c,pe),!u||fe.current===u)return;let e=(a.querySelector(`diffs-container`)?.shadowRoot)?.querySelector(`[data-line="${u}"]:not([data-line-type="change-deletion"])`);e instanceof HTMLElement&&(e.scrollIntoView({block:`center`}),fe.current=u)},{awaitRender:p&&!h});return()=>{v(),s()}},[G,n,i,u,r,t,ge,e,me]),(0,Q.useEffect)(()=>{let e=ae.current;if(e){try{e.setLineAnnotations(_e)}catch(t){console.error(`Failed to apply diff line annotations`,t);try{e.setLineAnnotations([])}catch{}}requestAnimationFrame(()=>{if(ae.current===e){try{e.rerender()}catch{}pe()}})}},[_e]),(0,Q.useEffect)(()=>{let e=ae.current;if(!e||S!==null)return;let t=I.current;if(!es(S,t))try{F.current=!0,e.setSelectedLines(S),I.current=S}catch{}finally{F.current=!1}},[S]),(0,Q.useEffect)(()=>{if(!c)return;let e=ie.current;if(!e)return;let t=null,n=()=>{},r=()=>{let i=e.querySelector(`diffs-container`)?.shadowRoot;if(!i){t=requestAnimationFrame(r);return}let a=e=>{if(!(e instanceof MouseEvent)||e.button!==0||!(e.target instanceof Element))return;let t=e.target.closest(`[data-column-number]`);if(!(t instanceof HTMLElement))return;let n=t.getAttribute(`data-column-number`),r=n?parseInt(n,10):NaN;if(Number.isNaN(r))return;let a=W(t);if(R({start:r,end:r,side:a}),l){let e=t.getBoundingClientRect(),n=t.closest(`[data-line-type]`)?.getAttribute(`data-line-type`),o=Array.from(i.querySelectorAll(`[data-line="${r}"]`)).find(e=>!n||e.getAttribute(`data-line-type`)===n);b({range:{start:r,end:r,side:a},x:Math.min(window.innerWidth-240,Math.max(8,o?.getBoundingClientRect().left??e.right+12)),y:e.top-8})}e.preventDefault(),e.stopPropagation()},o=(e,t)=>{let n=(e instanceof Element?e:e.parentElement)?.closest(`[data-line]`);if(!(n instanceof HTMLElement))return null;let r=Number.parseInt(n.getAttribute(`data-line`)??``,10);if(Number.isFinite(r))return{lineNumber:r,side:W(n),lineStartX:n.getBoundingClientRect().left};let i=Array.from(n.querySelectorAll(`[data-column-number]`));if(i.length===0)return null;let a=i.reduce((e,n)=>{let r=Math.abs(e.getBoundingClientRect().right-t);return Math.abs(n.getBoundingClientRect().right-t)<r?n:e}),o=Number.parseInt(a.getAttribute(`data-column-number`)??``,10);return Number.isFinite(o)?{lineNumber:o,side:W(a),lineStartX:a.getBoundingClientRect().right+12}:null},s=()=>{if(!l)return;let e=L.current;L.current=!1,e&&window.requestAnimationFrame(()=>{let e=i.getSelection?.(),t=e?.rangeCount?e:window.getSelection();if(!t)return;let n=t.getComposedRanges?.({shadowRoots:[i]})[0],r=document.createRange();if(n)r.setStart(n.startContainer,n.startOffset),r.setEnd(n.endContainer,n.endOffset);else if(t.rangeCount>0){let e=t.getRangeAt(0);r.setStart(e.startContainer,e.startOffset),r.setEnd(e.endContainer,e.endOffset)}else return;if(!Ko(!0,r.toString()))return;let a=r.getBoundingClientRect(),s=o(r.startContainer,a.left),c=o(r.endContainer,a.right);!s||!c||s.side!==c.side||b({range:{start:s.lineNumber,end:c.lineNumber,side:s.side},x:Math.min(window.innerWidth-240,Math.max(8,s.lineStartX)),y:Math.max(8,a.top-8)})})};i.addEventListener(`click`,a,!0),i.addEventListener(`pointerup`,s),window.addEventListener(`pointerup`,s,!0),n=()=>{i.removeEventListener(`click`,a,!0),i.removeEventListener(`pointerup`,s),window.removeEventListener(`pointerup`,s,!0)}};return r(),()=>{t!==null&&cancelAnimationFrame(t),n()}},[G,c,l,i,R,W]),(0,Q.useEffect)(()=>{let e=ie.current;if(!e)return;let t=null,n=null,r=setTimeout(()=>{let r=e.querySelector(`diffs-container`);if(!(r instanceof HTMLElement))return;let i=r.shadowRoot;t=new MutationObserver(()=>{n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{pe(),n=null})}),t.observe(r,{childList:!0,subtree:!0}),i&&t.observe(i,{childList:!0,subtree:!0})},100);return()=>{clearTimeout(r),n&&cancelAnimationFrame(n),t?.disconnect()}},[G,i]),typeof window>`u`)return null;let ye=c?(0,$.jsx)(Bo,{diffRootRef:re,drafts:x,selection:S,editingDraftId:E,commentText:w,onTextChange:T,fileLabel:i?.split(`/`).pop()??``,onSave:V,onCancel:z,onEdit:e=>{H({start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`}),k(e)},onDelete:A,onAddToChat:l?ee:void 0}):null,be=l&&y?(0,$.jsx)(Vo,{position:y,onDismiss:()=>b(null),onAddToChat:()=>{ee(y.range),b(null),window.getSelection()?.removeAllRanges()}}):null;return s===`fill`?(0,$.jsx)(`div`,{className:Y(`flex flex-col relative`,`size-full`),"data-diff-virtual-root":!0,children:(0,$.jsxs)(`div`,{className:`flex-1 relative min-h-0`,children:[(0,$.jsx)(Vn,{outerClassName:`pierre-diff-wrapper size-full`,disableHorizontal:!1,fillContainer:!0,"data-diff-virtual-content":!0,children:(0,$.jsx)(`div`,{ref:re,className:`size-full relative`,children:(0,$.jsx)(`div`,{ref:ie,className:`size-full`})})}),ye,be]})}):(0,$.jsxs)(`div`,{className:Y(`relative`,`w-full`),children:[(0,$.jsx)(`div`,{ref:re,className:`pierre-diff-wrapper w-full overflow-x-auto overflow-y-visible relative`,children:(0,$.jsx)(`div`,{ref:ie,className:`w-full`})}),ye,be]})},ds=64,fs=3,ps=new Map,ms=(e,t,n=fs)=>{let r=`${e}\0${n}\0${t}`,i=ps.get(r);if(i)return ps.delete(r),ps.set(r,i),i;let a=gs(t),o=a?W(ne(t,n),{oldFile:{name:e,contents:a.before},newFile:{name:e,contents:a.after}})??vs(e):J(hs(e,t))[0]?.files[0]??vs(e);for(ps.set(r,o);ps.size>ds;){let e=ps.keys().next().value;if(!e)break;ps.delete(e)}return o},hs=(e,t)=>!t.trim()||t.startsWith(`diff --git `)||/^--- [^\n]*\r?\n\+\+\+ /m.test(t)?t:`Index: ${e}\n===================================================================\n--- ${e}\t\n+++ ${e}\t\n${t}`,gs=e=>{if(!e.startsWith(`diff --git `)&&!/^--- [^\n]*\t?\r?\n\+\+\+ [^\n]*\t?(?:\r?\n|$)/m.test(e))return;let t=[...e.matchAll(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@[^\n]*(?:\r?\n|$)/gm)];if(t.length!==1)return;let n=t[0],r=Number.parseInt(n[1]??``,10),i=Number.parseInt(n[2]??``,10);if(r>1||i>1||!Number.isFinite(r)||!Number.isFinite(i))return;let a=(n.index??0)+n[0].length,o=e.slice(a),s=[],c=[],l;for(let e of o.split(/\r?\n/)){if(e.startsWith(`diff --git `)||e.startsWith(`@@ `))break;if(e.startsWith(`\\`)){if(l===`-`||l===` `){let e=s.at(-1);e&&(e.newline=!1)}if(l===`+`||l===` `){let e=c.at(-1);e&&(e.newline=!1)}continue}if(e.startsWith(`-`)){s.push({text:e.slice(1),newline:!0}),l=`-`;continue}if(e.startsWith(`+`)){c.push({text:e.slice(1),newline:!0}),l=`+`;continue}e.startsWith(` `)&&(s.push({text:e.slice(1),newline:!0}),c.push({text:e.slice(1),newline:!0}),l=` `)}return{before:_s(s),after:_s(c)}},_s=e=>e.map(e=>e.text+(e.newline?`
|
|
141
|
+
`;function Qo(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(16)}function $o(e){let t=e.length>400?`${e.slice(0,200)}${e.slice(-200)}`:e;return`${e.length}:${Qo(t)}`}var es=(e,t)=>e===t?!0:!e||!t?!1:e.start===t.start&&e.end===t.end&&e.side===t.side,ts=e=>e===`auto`||e===`scroll`||e===`overlay`,ns=e=>{let t=e?.parentElement??null;for(;t;){if(ts(window.getComputedStyle(t).overflowY))return t;t=t.parentElement}return null},rs=(e,t)=>{if(!e||!t||typeof window>`u`)return()=>{};let n=ns(e);if(!n)return()=>{};let r=t.getBoundingClientRect().height;if(!r)return()=>{};let i=e.getBoundingClientRect().top-n.getBoundingClientRect().top,a=t.style.minHeight;t.style.minHeight=`${Math.ceil(r)}px`;let o=!1;return()=>{if(o)return;o=!0,t.style.minHeight=a;let r=e.getBoundingClientRect().top-n.getBoundingClientRect().top-i;r&&(n.scrollTop+=r)}},is=(e,t,n={})=>{if(typeof window>`u`)return()=>{};let r=null,i=null,a=!1,o=()=>{a||(i?.disconnect(),i=null,r=window.requestAnimationFrame(()=>{r=window.requestAnimationFrame(()=>{a||t()})}))},s=()=>e.querySelector(`diffs-container`)?.shadowRoot??void 0,c=(e=s())=>!!e?.querySelector(`[data-line]`);return!n.awaitRender&&c()?o():typeof MutationObserver<`u`?(i=new MutationObserver(()=>{let e=s();if(e){if(c(e)){o();return}i?.disconnect(),i=new MutationObserver(()=>{c(e)&&o()}),i.observe(e,{childList:!0,subtree:!0})}}),i.observe(e,{childList:!0,subtree:!0})):r=window.requestAnimationFrame(o),()=>{a=!0,i?.disconnect(),r!==null&&window.cancelAnimationFrame(r)}},as=new WeakMap,os={lineHeight:24,hunkSeparatorHeight:24,spacing:0};function ss(e){let t=e.closest(`[data-diff-virtual-root]`);if(t instanceof HTMLElement){let e=t.querySelector(`[data-diff-virtual-content]`);return{key:t,root:t,content:e instanceof HTMLElement?e:void 0}}return{key:document,root:document,content:void 0}}function cs(e){if(typeof document>`u`)return null;let t=ss(e),n=as.get(t.key);if(!n){let e=new re;e.setup(t.root,t.content),n={virtualizer:e,refs:0},as.set(t.key,n)}n.refs+=1;let r=!1;return{virtualizer:n.virtualizer,root:t.root,release:()=>{if(r)return;r=!0;let e=as.get(t.key);e&&(--e.refs,!(e.refs>0)&&(e.virtualizer.cleanUp(),as.delete(t.key)))}}}var ls=(e,t,n)=>{if(typeof window>`u`)return()=>{};let r=[],i=()=>{try{e.rerender()}catch{}let r=t?.root;r instanceof HTMLElement?r.dispatchEvent(new Event(`scroll`,{bubbles:!1})):document.dispatchEvent(new Event(`scroll`,{bubbles:!1})),window.dispatchEvent(new Event(`resize`)),n()};return r.push(window.requestAnimationFrame(i)),r.push(window.requestAnimationFrame(()=>{r.push(window.requestAnimationFrame(i))})),()=>{for(let e of r)window.cancelAnimationFrame(e)}},us=({original:e,modified:t,fileDiff:n,language:r,fileName:i,renderSideBySide:a,wrapLines:o,layout:s=`fill`,enableComments:c=!0,enableSelectionActions:l=!0,focusLine:u=null})=>{let d=Mn(),f=d?.currentTheme.metadata.variant===`dark`,p=d?.availableThemes.find(e=>e.metadata.id===d.lightThemeId)??Fn(!1),h=d?.availableThemes.find(e=>e.metadata.id===d.darkThemeId)??Fn(!0),{isMobile:g}=Nn(),_=Xe(e=>e.addCodeSelectionAttachment),v=Xe(e=>e.setPendingInputText),[y,b]=Q.useState(null),{drafts:x,selection:S,setSelection:C,commentText:w,setCommentText:T,editingDraftId:E,saveComment:D,cancel:O,startEdit:k,deleteDraft:A}=Oo({source:`diff`,fileLabel:i||`unknown`,language:r,getCodeForRange:r=>qo(e,t,n,r),toStoreRange:e=>({startLine:e.start,endLine:e.end,side:e.side===`deletions`?`original`:`modified`}),fromDraftRange:e=>({start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`})}),j=(0,Q.useRef)(null),M=(0,Q.useRef)(null),N=(0,Q.useRef)(``),F=(0,Q.useRef)(!1),I=(0,Q.useRef)(null),L=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{j.current=S},[S]),(0,Q.useEffect)(()=>{M.current=E},[E]),(0,Q.useEffect)(()=>{N.current=w},[w]);let R=(0,Q.useCallback)(e=>{if(!c||F.current)return;let t=j.current;if(!(!e&&t&&N.current.trim())){if(g&&t&&e&&e.side===t.side){let n=Math.min(t.start,e.start),r=Math.max(t.end,e.end);C({...e,start:n,end:r})}else C(e);e||b(null),e&&(M.current||T(``))}},[c,g,T,C]),z=(0,Q.useCallback)(()=>{O()},[O]),B=(0,Q.useCallback)(e=>{let t=document.createElement(`div`);t.style.position=`relative`;let n=Io(e.metadata);return t.dataset.annotationId=n,t.dataset.annotationSide=e.side,t.dataset.annotationLine=String(e.lineNumber),t},[]),V=(0,Q.useCallback)((e,t)=>{D(e,t??S??void 0)},[D,S]),ee=(0,Q.useCallback)(r=>{if(!i)return;let a=Math.min(r.start,r.end),o=Math.max(r.start,r.end),s=a===o?`${a}`:`${a}-${o}`,c=qo(e,t,n,r);if(!c)return;let l=`${i.replace(/\\/g,`/`).split(`/`).pop()||i}:${s}`;_(i,l,c),v(m(l),`append-inline`),P.getState().setActiveMainTab(`chat`)},[_,n,i,t,e,v]);(0,Q.useEffect)(()=>{if(!l)return;let e=e=>{if(!e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||e.key.toLowerCase()!==`i`)return;let t=y?.range??j.current;t&&(e.preventDefault(),ee(t))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[l,ee,y]),(0,Q.useEffect)(()=>{b(null)},[i,n,e,t]),(0,Q.useEffect)(()=>{if(!l)return;let e=e=>{let t=e.composedPath(),n=Go(e.target,t),r=t.some(e=>e instanceof ShadowRoot||e instanceof Element&&e.localName===`diffs-container`);L.current=r&&!n,n||b(null)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[l]);let H=(0,Q.useCallback)(e=>{C(e);let t=ae.current;if(t)try{F.current=!0,t.setSelectedLines(e),I.current=e}catch{}finally{F.current=!1}},[C]),W=(0,Q.useCallback)(e=>{let t=e.closest(`[data-line-type]`)?.getAttribute(`data-line-type`)??e.getAttribute(`data-line-type`);if(t===`change-deletion`)return`deletions`;if(t===`change-addition`)return`additions`;let n=e.getAttribute(`data-column-side`)??e.getAttribute(`data-side`)??e.closest(`[data-column-side]`)?.getAttribute(`data-column-side`);if(n===`deletions`||n===`left`||n===`original`)return`deletions`;if(n===`additions`||n===`right`||n===`modified`)return`additions`;let r=e.closest(`[data-line-type]`);if(r instanceof HTMLElement){let t=r.getBoundingClientRect(),n=e.getBoundingClientRect(),i=t.left+t.width/2;return n.left+n.width/2<i?`deletions`:`additions`}return`additions`},[]);ar(p),ar(h);let G=`${p.metadata.id}:${h.metadata.id}:${f?`dark`:`light`}`,ne=(0,Q.useMemo)(()=>{if(n){let e=n.deletionLines.reduce((e,t)=>e+t.length,0),t=n.additionLines.reduce((e,t)=>e+t.length,0);return Math.max(e,t)>Yo}return Math.max(e.length,t.length)>Yo},[n,t.length,e.length]),re=(0,Q.useRef)(null),ie=(0,Q.useRef)(null),ae=(0,Q.useRef)(null),J=(0,Q.useRef)(null),oe=(0,Q.useRef)(null),se=(0,Q.useRef)(null),ce=(0,Q.useRef)(void 0),le=(0,Q.useRef)(void 0),ue=(0,Q.useRef)(void 0),de=(0,Q.useRef)(void 0),fe=(0,Q.useRef)(null),[,pe]=Q.useReducer(e=>e+1,0),me=ii(ne?`unified`:a?`split`:`unified`),he=(0,Q.useMemo)(()=>ir(p),[p]),X=(0,Q.useMemo)(()=>ir(h),[h]);Q.useLayoutEffect(()=>{let e=re.current;if(!e)return;let t=e.querySelector(`diffs-container`);if(!t)return;let n=f?X:he,r=(e,t)=>e.colors?.[t],i=r(he,`terminal.ansiGreen`),a=r(he,`terminal.ansiRed`),o=r(he,`terminal.ansiBlue`),s=r(X,`terminal.ansiGreen`),c=r(X,`terminal.ansiRed`),l=r(X,`terminal.ansiBlue`);t.style.setProperty(`--shiki-light`,he.fg),t.style.setProperty(`--shiki-light-bg`,he.bg),i&&t.style.setProperty(`--shiki-light-addition-color`,i),a&&t.style.setProperty(`--shiki-light-deletion-color`,a),o&&t.style.setProperty(`--shiki-light-modified-color`,o),t.style.setProperty(`--shiki-dark`,X.fg),t.style.setProperty(`--shiki-dark-bg`,X.bg),s&&t.style.setProperty(`--shiki-dark-addition-color`,s),c&&t.style.setProperty(`--shiki-dark-deletion-color`,c),l&&t.style.setProperty(`--shiki-dark-modified-color`,l),t.style.setProperty(`--diffs-bg`,n.bg),t.style.setProperty(`--diffs-fg`,n.fg);let u=f?s:i,d=f?c:a,p=f?l:o;u&&t.style.setProperty(`--diffs-addition-color-override`,u),d&&t.style.setProperty(`--diffs-deletion-color-override`,d),p&&t.style.setProperty(`--diffs-modified-color-override`,p);let m=t.shadowRoot?.querySelector(`pre`);m&&(m.style.setProperty(`--shiki-light`,he.fg),m.style.setProperty(`--shiki-light-bg`,he.bg),i&&m.style.setProperty(`--shiki-light-addition-color`,i),a&&m.style.setProperty(`--shiki-light-deletion-color`,a),o&&m.style.setProperty(`--shiki-light-modified-color`,o),m.style.setProperty(`--shiki-dark`,X.fg),m.style.setProperty(`--shiki-dark-bg`,X.bg),s&&m.style.setProperty(`--shiki-dark-addition-color`,s),c&&m.style.setProperty(`--shiki-dark-deletion-color`,c),l&&m.style.setProperty(`--shiki-dark-modified-color`,l),m.style.setProperty(`--diffs-bg`,n.bg),m.style.setProperty(`--diffs-fg`,n.fg),u&&m.style.setProperty(`--diffs-addition-color-override`,u),d&&m.style.setProperty(`--diffs-deletion-color-override`,d),p&&m.style.setProperty(`--diffs-modified-color-override`,p))},[X,G,f,he]);let ge=(0,Q.useMemo)(()=>({theme:{dark:h.metadata.id,light:p.metadata.id},themeType:f?`dark`:`light`,diffStyle:a?`split`:`unified`,diffIndicators:`none`,hunkSeparators:`line-info-basic`,lineDiffType:`none`,maxLineDiffLength:ne?0:1e3,maxLineLengthForHighlighting:ne?1:1e3,tokenizeMaxLineLength:ne?1:1e3,collapsedContextThreshold:0,expansionLineCount:20,overflow:o?`wrap`:`scroll`,disableFileHeader:!0,enableLineSelection:c,enableHoverUtility:!1,onLineSelected:c?R:void 0,unsafeCSS:Zo,renderAnnotation:c?B:void 0}),[h.metadata.id,c,f,ne,p.metadata.id,a,o,R,B]),_e=(0,Q.useMemo)(()=>c?Lo({drafts:x,editingDraftId:E,selection:S}):[],[E,c,x,S]),ve=(0,Q.useRef)(_e);if((0,Q.useEffect)(()=>{ve.current=_e},[_e]),(0,Q.useEffect)(()=>{let e=ie.current;return()=>{ae.current?.cleanUp(),ae.current=null,J.current?.release(),J.current=null,oe.current=null,se.current=null,ce.current=void 0,le.current=void 0,ue.current=void 0,de.current=void 0,e&&(e.innerHTML=``)}},[]),(0,Q.useEffect)(()=>{if(typeof window>`u`)return;let a=ie.current,o=re.current;if(!a||!me)return;let s=rs(o,a),c=J.current;c||(c=cs(a),J.current=c),J.current=c;let l=c?.virtualizer??null,d=n?void 0:{name:i||``,contents:e,lang:r,cacheKey:`old:${G}:${i}:${$o(e)}`},f=n?void 0:{name:i||``,contents:t,lang:r,cacheKey:`new:${G}:${i}:${$o(t)}`},p=n?le.current!==n:le.current!==void 0||!d||!f||!ue.current||!de.current||!K(ue.current,d)||!K(de.current,f),m=ae.current,h=!!(m&&(oe.current!==l||se.current!==me||l&&(ce.current!==ge.hunkSeparators||p)));h&&(m?.cleanUp(),ae.current=null,a.innerHTML=``);let g=ae.current,_=!h&&m?!te(m.options,ge):!1;if(g?g.setOptions(ge):(g=c?new q(ge,c.virtualizer,os,me):new U(ge,me),ae.current=g,I.current=null),oe.current=l,se.current=me,ce.current=l?ge.hunkSeparators:void 0,le.current=n,ue.current=d,de.current=f,n)g.render({fileDiff:n,forceRender:_,lineAnnotations:ve.current,containerWrapper:a});else{if(!d||!f)return;g.render({oldFile:d,newFile:f,forceRender:_,lineAnnotations:ve.current,containerWrapper:a})}let v=is(a,()=>{if(s(),ls(g,c,pe),!u||fe.current===u)return;let e=(a.querySelector(`diffs-container`)?.shadowRoot)?.querySelector(`[data-line="${u}"]:not([data-line-type="change-deletion"])`);e instanceof HTMLElement&&(e.scrollIntoView({block:`center`}),fe.current=u)},{awaitRender:p&&!h});return()=>{v(),s()}},[G,n,i,u,r,t,ge,e,me]),(0,Q.useEffect)(()=>{let e=ae.current;if(e){try{e.setLineAnnotations(_e)}catch(t){console.error(`Failed to apply diff line annotations`,t);try{e.setLineAnnotations([])}catch{}}requestAnimationFrame(()=>{if(ae.current===e){try{e.rerender()}catch{}pe()}})}},[_e]),(0,Q.useEffect)(()=>{let e=ae.current;if(!e||S!==null)return;let t=I.current;if(!es(S,t))try{F.current=!0,e.setSelectedLines(S),I.current=S}catch{}finally{F.current=!1}},[S]),(0,Q.useEffect)(()=>{if(!c)return;let e=ie.current;if(!e)return;let t=null,n=()=>{},r=()=>{let i=e.querySelector(`diffs-container`)?.shadowRoot;if(!i){t=requestAnimationFrame(r);return}let a=e=>{if(!(e instanceof MouseEvent)||e.button!==0||!(e.target instanceof Element))return;let t=e.target.closest(`[data-column-number]`);if(!(t instanceof HTMLElement))return;let n=t.getAttribute(`data-column-number`),r=n?parseInt(n,10):NaN;if(Number.isNaN(r))return;let a=W(t);if(R({start:r,end:r,side:a}),l){let e=t.getBoundingClientRect(),n=t.closest(`[data-line-type]`)?.getAttribute(`data-line-type`),o=Array.from(i.querySelectorAll(`[data-line="${r}"]`)).find(e=>!n||e.getAttribute(`data-line-type`)===n);b({range:{start:r,end:r,side:a},x:Math.min(window.innerWidth-240,Math.max(8,o?.getBoundingClientRect().left??e.right+12)),y:e.top-8})}e.preventDefault(),e.stopPropagation()},o=(e,t)=>{let n=(e instanceof Element?e:e.parentElement)?.closest(`[data-line]`);if(!(n instanceof HTMLElement))return null;let r=Number.parseInt(n.getAttribute(`data-line`)??``,10);if(Number.isFinite(r))return{lineNumber:r,side:W(n),lineStartX:n.getBoundingClientRect().left};let i=Array.from(n.querySelectorAll(`[data-column-number]`));if(i.length===0)return null;let a=i.reduce((e,n)=>{let r=Math.abs(e.getBoundingClientRect().right-t);return Math.abs(n.getBoundingClientRect().right-t)<r?n:e}),o=Number.parseInt(a.getAttribute(`data-column-number`)??``,10);return Number.isFinite(o)?{lineNumber:o,side:W(a),lineStartX:a.getBoundingClientRect().right+12}:null},s=()=>{if(!l)return;let e=L.current;L.current=!1,e&&window.requestAnimationFrame(()=>{let e=i.getSelection?.(),t=e?.rangeCount?e:window.getSelection();if(!t)return;let n=t.getComposedRanges?.({shadowRoots:[i]})[0],r=document.createRange();if(n)r.setStart(n.startContainer,n.startOffset),r.setEnd(n.endContainer,n.endOffset);else if(t.rangeCount>0){let e=t.getRangeAt(0);r.setStart(e.startContainer,e.startOffset),r.setEnd(e.endContainer,e.endOffset)}else return;if(!Ko(!0,r.toString()))return;let a=r.getBoundingClientRect(),s=o(r.startContainer,a.left),c=o(r.endContainer,a.right);!s||!c||s.side!==c.side||b({range:{start:s.lineNumber,end:c.lineNumber,side:s.side},x:Math.min(window.innerWidth-240,Math.max(8,s.lineStartX)),y:Math.max(8,a.top-8)})})};i.addEventListener(`click`,a,!0),i.addEventListener(`pointerup`,s),window.addEventListener(`pointerup`,s,!0),n=()=>{i.removeEventListener(`click`,a,!0),i.removeEventListener(`pointerup`,s),window.removeEventListener(`pointerup`,s,!0)}};return r(),()=>{t!==null&&cancelAnimationFrame(t),n()}},[G,c,l,i,R,W]),(0,Q.useEffect)(()=>{let e=ie.current;if(!e)return;let t=null,n=null,r=setTimeout(()=>{let r=e.querySelector(`diffs-container`);if(!(r instanceof HTMLElement))return;let i=r.shadowRoot;t=new MutationObserver(()=>{n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{pe(),n=null})}),t.observe(r,{childList:!0,subtree:!0}),i&&t.observe(i,{childList:!0,subtree:!0})},100);return()=>{clearTimeout(r),n&&cancelAnimationFrame(n),t?.disconnect()}},[G,i]),typeof window>`u`)return null;let ye=c?(0,$.jsx)(Bo,{diffRootRef:re,drafts:x,selection:S,editingDraftId:E,commentText:w,onTextChange:T,fileLabel:i?.split(`/`).pop()??``,onSave:V,onCancel:z,onEdit:e=>{H({start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`}),k(e)},onDelete:A,onAddToChat:l?ee:void 0}):null,be=l&&y?(0,$.jsx)(Vo,{position:y,onDismiss:()=>b(null),onAddToChat:()=>{ee(y.range),b(null),window.getSelection()?.removeAllRanges()}}):null;return s===`fill`?(0,$.jsx)(`div`,{className:Y(`flex flex-col relative`,`size-full`),"data-diff-virtual-root":!0,children:(0,$.jsxs)(`div`,{className:`flex-1 relative min-h-0`,children:[(0,$.jsx)(Vn,{outerClassName:`pierre-diff-wrapper size-full`,disableHorizontal:!1,fillContainer:!0,"data-diff-virtual-content":!0,children:(0,$.jsx)(`div`,{ref:re,className:`size-full relative`,children:(0,$.jsx)(`div`,{ref:ie,className:`size-full`})})}),ye,be]})}):(0,$.jsxs)(`div`,{className:Y(`relative`,`w-full`),children:[(0,$.jsx)(`div`,{ref:re,className:`pierre-diff-wrapper w-full overflow-x-auto overflow-y-visible relative`,children:(0,$.jsx)(`div`,{ref:ie,className:`w-full`})}),ye,be]})},ds=64,fs=3,ps=new Map,ms=(e,t,n=fs)=>{let r=`${e}\0${n}\0${t}`,i=ps.get(r);if(i)return ps.delete(r),ps.set(r,i),i;let a=gs(t),o=a?W(ne(t,n),{oldFile:{name:e,contents:a.before},newFile:{name:e,contents:a.after}})??vs(e):J(hs(e,t))[0]?.files[0]??vs(e);for(ps.set(r,o);ps.size>ds;){let e=ps.keys().next().value;if(!e)break;ps.delete(e)}return o},hs=(e,t)=>!t.trim()||t.startsWith(`diff --git `)||/^--- [^\n]*\r?\n\+\+\+ /m.test(t)?t:`Index: ${e}\n===================================================================\n--- ${e}\t\n+++ ${e}\t\n${t}`,gs=e=>{if(!e.startsWith(`diff --git `)&&!/^--- [^\n]*\t?\r?\n\+\+\+ [^\n]*\t?(?:\r?\n|$)/m.test(e))return;let t=[...e.matchAll(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@[^\n]*(?:\r?\n|$)/gm)];if(t.length!==1)return;let n=t[0],r=Number.parseInt(n[1]??``,10),i=Number.parseInt(n[2]??``,10);if(r>1||i>1||!Number.isFinite(r)||!Number.isFinite(i))return;let a=(n.index??0)+n[0].length,o=e.slice(a),s=[],c=[],l;for(let e of o.split(/\r?\n/)){if(e.startsWith(`diff --git `)||e.startsWith(`@@ `))break;if(e.startsWith(`\\`)){if(l===`-`||l===` `){let e=s.at(-1);e&&(e.newline=!1)}if(l===`+`||l===` `){let e=c.at(-1);e&&(e.newline=!1)}continue}if(e.startsWith(`-`)){s.push({text:e.slice(1),newline:!0}),l=`-`;continue}if(e.startsWith(`+`)){c.push({text:e.slice(1),newline:!0}),l=`+`;continue}e.startsWith(` `)&&(s.push({text:e.slice(1),newline:!0}),c.push({text:e.slice(1),newline:!0}),l=` `)}return{before:_s(s),after:_s(c)}},_s=e=>e.map(e=>e.text+(e.newline?`
|
|
142
142
|
`:``)).join(``),vs=e=>G({name:e,contents:``},{name:e,contents:``}),ys=e=>{if(!e)return null;let t=e.split(`
|
|
143
143
|
`),n=null;for(let e of t){let t=e.match(/^@@\s*-\d+(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s*@@/);if(t){let e=Number.parseInt(t[1]??``,10);n=Number.isFinite(e)&&e>=1?e:null;continue}if(n!==null){if(e.startsWith(` `)){n+=1;continue}if(e.startsWith(`+`))return n;if(e.startsWith(`-`))return Math.max(1,n)}}return null},bs=e=>{let t=[],n=new Set;for(let r of e){let e=r.path.trim(),i=r.patch;if(!e||!i.trim()||n.has(e))continue;n.add(e);let a=0,o=0;for(let e of i.split(`
|
|
144
144
|
`))e.startsWith(`+++`)||e.startsWith(`---`)||(e.startsWith(`+`)&&(a+=1),e.startsWith(`-`)&&(o+=1));let s=/^---\s+\/dev\/null(?:\s|$)/m.test(i)?`added`:/^\+\+\+\s+\/dev\/null(?:\s|$)/m.test(i)?`deleted`:`modified`;t.push({file:e,patch:i,status:s,additions:a,deletions:o})}return t},xs=e=>`${e.scope}:${e.navigationRequestKey??``}:${(e.targetFilePath??``).trim()}:${e.targetLine??``}`,Ss=(e,t,n)=>n&&e!==t,Cs=e=>`/api/openchamber/sessions/${encodeURIComponent(e)}/changes`,ws=e=>e.trim(),Ts=e=>e===404||e===405||e===501,Es=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e.diff;return!!t&&typeof t==`object`&&!Array.isArray(t)},Ds=(e,t)=>{if(!Array.isArray(e))return null;for(let n of e)if(n&&typeof n==`object`&&!Array.isArray(n)&&n.file===t)return n;return null},Os=async(e,t)=>{let n={messageID:e.messageID,directory:e.directory};return typeof e.file==`string`&&e.file.length>0&&(n.file=e.file),s(Cs(e.sessionID),{method:`GET`,headers:{Accept:`application/json`,"x-opencode-directory":e.directory},query:n,signal:t})},ks=async(e,t)=>{if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);return j.getSessionDiff({sessionID:e.sessionID,directory:e.directory,messageID:e.messageID},{signal:t})},As=(e,t=n())=>p.sessionTurnChanges.file(e.directory,e.sessionID,e.messageID,e.file,e.diffCount,t),js=(e,t=n())=>({queryKey:As(e,t),queryFn:async({signal:t})=>{let n=await Os(e,t);if(n.ok){let e=await n.json().catch(()=>null);if(Es(e))return e}else if(!Ts(n.status))throw Error(`Session turn change file request failed (${n.status})`);let r=Ds(await ks(e,t),e.file);if(!r)throw Error(`change file not found`);return{diff:r}},staleTime:0,gcTime:6e4,retry:!1}),Ms=(e,t)=>{let r=(0,qr.c)(10),i;r[0]===t?i=r[1]:(i=t===void 0?{}:t,r[0]=t,r[1]=i);let a=i,o,s,c;if(r[2]!==e||r[3]!==a){let t=n();o=!!e&&!!e?.sessionID?.trim()&&!!e?.directory?.trim()&&!!e?.messageID?.trim()&&!!e?.file?.trim()&&a.enabled!==!1;let i=e??{sessionID:``,directory:``,messageID:``,file:``};c=V,s=js({...i,directory:ws(i.directory),file:i.file},t),r[2]=e,r[3]=a,r[4]=o,r[5]=s,r[6]=c}else o=r[4],s=r[5],c=r[6];let l;return r[7]!==o||r[8]!==s?(l={...s,enabled:o},r[7]=o,r[8]=s,r[9]=l):l=r[9],c(l)},Ns=1100,Ps=15e3,Fs=500,Is=300,Ls=1e6,Rs=3,zs=e=>e<=6?e:e<=12?6:e<=25?4:2,Bs=Q.memo(()=>{let e=(0,qr.c)(4),{t}=fe(),n;e[0]===t?n=e[1]:(n=t(`diffView.binary.unavailable`),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,$.jsx)(`div`,{className:`rounded-lg border border-border/60 bg-background px-3 py-2`,children:(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:n})}),e[2]=n,e[3]=r),r}),Vs={"?":{code:`?`,color:`var(--status-info)`,descriptionKey:`diffView.change.untracked`},A:{code:`A`,color:`var(--status-success)`,descriptionKey:`diffView.change.new`},D:{code:`D`,color:`var(--status-error)`,descriptionKey:`diffView.change.deleted`},R:{code:`R`,color:`var(--status-info)`,descriptionKey:`diffView.change.renamed`},C:{code:`C`,color:`var(--status-info)`,descriptionKey:`diffView.change.copied`},M:{code:`M`,color:`var(--status-warning)`,descriptionKey:`diffView.change.modified`}},Hs=Vs.M,Us=e=>{let t=e.index?.trim(),n=e.working_dir?.trim();return t&&t!==`?`?t.charAt(0):n?n.charAt(0):t?.charAt(0)||n?.charAt(0)||`M`},Ws=e=>Vs[Us(e)]??Hs,Gs=e=>{let{index:t,working_dir:n}=e;return t===`A`||n===`A`||t===`?`||n===`?`},Ks=e=>{let t=e.index?.trim();return!!(t&&t!==`?`)},qs=e=>!!e.working_dir?.trim()||e.index===`?`,Js=(e,t)=>xr(e,t),Ys=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Xs=(e,t)=>{let n=e.split(`
|
|
145
145
|
`),r=t.split(`
|
|
146
|
-
`),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1)if(n[e]!==r[e])return e+1;return r.length>n.length?n.length+1:n.length>r.length?Math.max(1,r.length):1},Zs=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Qs=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],$s=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,ec=e=>e.isBinary||typeof e.patch==`string`&&e.patch.length>0||e.fileDiff?!0:e.original.length>0||e.modified.length>0,tc=(e,t,n)=>Zs(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:ms(e,t),contextMode:n},nc=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:Y(`typography-code flex items-center gap-1 whitespace-nowrap`,n?.shrink?`min-w-0 overflow-hidden`:`flex-shrink-0`,n?.className),children:[r?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,r]}):null,i?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,i]}):null]})},rc=Q.memo(e=>{let t=(0,qr.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=fe(),[c,l]=Q.useState(!1),u=n===`staged`?i:n===`turn`?a:r,d;t[0]!==n||t[1]!==s?(d=s(n===`staged`?`diffView.scope.staged`:n===`turn`?`diffView.scope.lastTurn`:`diffView.scope.changed`),t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d,p;t[3]===s?p=t[4]:(p=s(`diffView.scope.selectorAria`),t[3]=s,t[4]=p);let m;t[5]===u?m=t[6]:(m=(0,$.jsxs)(`span`,{className:`diff-toolbar__scope-count`,children:[`: `,u]}),t[5]=u,t[6]=m);let h;t[7]!==f||t[8]!==m?(h=(0,$.jsxs)(`span`,{className:`whitespace-nowrap`,children:[f,m]}),t[7]=f,t[8]=m,t[9]=h):h=t[9];let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-4 flex-shrink-0 opacity-60`}),t[10]=g):g=t[10];let _;t[11]!==p||t[12]!==h?(_=(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 flex-shrink-0 items-center gap-1.5 rounded-md px-2 typography-code font-semibold text-foreground outline-none hover:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":p,children:[h,g]})}),t[11]=p,t[12]=h,t[13]=_):_=t[13];let v;t[14]===o?v=t[15]:(v=e=>{(e===`working`||e===`staged`||e===`turn`)&&(o?.(e),l(!1))},t[14]=o,t[15]=v);let y;t[16]===s?y=t[17]:(y=s(`diffView.scope.changed`),t[16]=s,t[17]=y);let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`span`,{children:y}),t[18]=y,t[19]=b);let x;t[20]===r?x=t[21]:(x=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:r}),t[20]=r,t[21]=x);let S;t[22]!==x||t[23]!==b?(S=(0,$.jsx)(yn,{value:`working`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[b,x]})}),t[22]=x,t[23]=b,t[24]=S):S=t[24];let C;t[25]===s?C=t[26]:(C=s(`diffView.scope.staged`),t[25]=s,t[26]=C);let w;t[27]===C?w=t[28]:(w=(0,$.jsx)(`span`,{children:C}),t[27]=C,t[28]=w);let T;t[29]===i?T=t[30]:(T=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:i}),t[29]=i,t[30]=T);let E;t[31]!==w||t[32]!==T?(E=(0,$.jsx)(yn,{value:`staged`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[w,T]})}),t[31]=w,t[32]=T,t[33]=E):E=t[33];let D;t[34]===s?D=t[35]:(D=s(`diffView.scope.lastTurn`),t[34]=s,t[35]=D);let O;t[36]===D?O=t[37]:(O=(0,$.jsx)(`span`,{children:D}),t[36]=D,t[37]=O);let k;t[38]===a?k=t[39]:(k=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a}),t[38]=a,t[39]=k);let A;t[40]!==O||t[41]!==k?(A=(0,$.jsx)(yn,{value:`turn`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[O,k]})}),t[40]=O,t[41]=k,t[42]=A):A=t[42];let j;t[43]!==n||t[44]!==S||t[45]!==E||t[46]!==A||t[47]!==v?(j=(0,$.jsx)(Sn,{align:`start`,className:`w-40`,children:(0,$.jsxs)(Dn,{value:n,onValueChange:v,children:[S,E,A]})}),t[43]=n,t[44]=S,t[45]=E,t[46]=A,t[47]=v,t[48]=j):j=t[48];let M;return t[49]!==c||t[50]!==j||t[51]!==_?(M=(0,$.jsxs)(En,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),ic=Q.memo(e=>{let t=(0,qr.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=fe();if(n.length===0)return null;let o;if(t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==a){let e;t[5]!==i||t[6]!==r||t[7]!==a?(e=e=>{let t=Ws(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:Y(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left transition-colors`,n?`bg-interactive-selection text-interactive-selection-foreground`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),children:[(0,$.jsx)(Ft,{filePath:e.path,className:`size-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-code font-semibold w-3.5 text-center uppercase`,style:{color:t.color},title:a(t.descriptionKey),"aria-label":a(t.descriptionKey),children:t.code}),(0,$.jsx)(Lt,{path:e.path,className:`min-w-0 flex-1 typography-code`,dirClassName:n?`text-interactive-selection-foreground`:`text-muted-foreground`,nameClassName:n?`text-interactive-selection-foreground`:`text-foreground`}),nc(e.insertions,e.deletions)]})},e.path)},t[5]=i,t[6]=r,t[7]=a,t[8]=e):e=t[8],o=n.map(e),t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=o}else o=t[4];let s;return t[9]===o?s=t[10]:(s=(0,$.jsx)(Vn,{outerClassName:`flex-1 min-h-0`,className:`px-2 py-2`,children:(0,$.jsx)(`ul`,{className:`flex flex-col gap-1`,children:o})}),t[9]=o,t[10]=s),s}),ac=Q.memo(e=>{let t=(0,qr.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=fe(),o=r.original.length>0,s=r.modified.length>0,c=i?`flex flex-row gap-6 items-start justify-center`:`flex flex-col gap-4 items-center`,l=i?`flex flex-col items-center gap-2 flex-1 min-w-0`:`flex flex-col items-center gap-2`,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u={contain:`layout`},t[0]=u):u=t[0];let d;t[1]!==r.original||t[2]!==n||t[3]!==o||t[4]!==l||t[5]!==i||t[6]!==a?(d=o&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(`diffView.image.original`)}),(0,$.jsx)(`img`,{src:r.original,alt:a(`diffView.image.originalAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[1]=r.original,t[2]=n,t[3]=o,t[4]=l,t[5]=i,t[6]=a,t[7]=d):d=t[7];let f;t[8]!==r.modified||t[9]!==n||t[10]!==s||t[11]!==o||t[12]!==l||t[13]!==i||t[14]!==a?(f=s&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(o?`diffView.image.modified`:`diffView.image.new`)}),(0,$.jsx)(`img`,{src:r.modified,alt:a(`diffView.image.modifiedAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[8]=r.modified,t[9]=n,t[10]=s,t[11]=o,t[12]=l,t[13]=i,t[14]=a,t[15]=f):f=t[15];let p;return t[16]!==c||t[17]!==d||t[18]!==f?(p=(0,$.jsx)(`div`,{className:`w-full overflow-auto p-4`,style:u,children:(0,$.jsxs)(`div`,{className:c,children:[d,f]})}),t[16]=c,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}),oc=Q.memo(e=>{let t=(0,qr.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=vr(n)||`text`,t[0]=n,t[1]=s);let c=s;if(r.isBinary){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Bs,{}),t[2]=e):e=t[2],e}if(_r(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(ac,{filePath:n,diff:r,renderSideBySide:i}),t[3]=r,t[4]=n,t[5]=i,t[6]=e):e=t[6],e}let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l={contain:`layout`},t[7]=l):l=t[7];let u;return t[8]!==r.fileDiff||t[9]!==r.modified||t[10]!==r.original||t[11]!==n||t[12]!==o||t[13]!==c||t[14]!==i||t[15]!==a?(u=(0,$.jsx)(`div`,{className:`w-full`,style:l,children:(0,$.jsx)(us,{original:r.original,modified:r.modified,fileDiff:r.fileDiff,language:c,fileName:n,renderSideBySide:i,wrapLines:a,focusLine:o,layout:`inline`,enableSelectionActions:!0})}),t[8]=r.fileDiff,t[9]=r.modified,t[10]=r.original,t[11]=n,t[12]=o,t[13]=c,t[14]=i,t[15]=a,t[16]=u):u=t[16],u}),sc=Q.memo(e=>{let t=(0,qr.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=fe(),c;return t[0]!==i||t[1]!==a||t[2]!==n||t[3]!==o||t[4]!==r||t[5]!==s?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-full border border-[var(--interactive-border)]/45 bg-[var(--surface-background)]/95 px-1 py-0.5 shadow-lg backdrop-blur-md`,children:r?(0,$.jsx)(cc,{label:s(`gitView.changes.unstageFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`unstage`,disabled:a,onClick:()=>o(`unstage`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(cc,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(cc,{label:s(`gitView.changes.stageFileAria`,{path:n}),icon:`add`,loading:i===`stage`,disabled:a,tone:`success`,onClick:()=>o(`stage`)})]})}),t[0]=i,t[1]=a,t[2]=n,t[3]=o,t[4]=r,t[5]=s,t[6]=c):c=t[6],c}),cc=e=>{let t=(0,qr.c)(14),{label:n,icon:r,loading:i,disabled:a,tone:o,onClick:s}=e,c=o===`failure`&&`text-[var(--status-error)] hover:text-[var(--status-error)]`,l=o===`success`&&`text-[var(--status-success)] hover:text-[var(--status-success)]`,u;t[0]!==c||t[1]!==l?(u=Y(`h-6 w-6 rounded-none bg-transparent p-0 text-muted-foreground opacity-70 hover:bg-transparent hover:text-foreground hover:opacity-100`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;t[3]===s?d=t[4]:(d=e=>{e.stopPropagation(),s()},t[3]=s,t[4]=d);let f;t[5]!==r||t[6]!==i?(f=i?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:r,className:r===`add`?`size-4`:`size-3.5`}),t[5]=r,t[6]=i,t[7]=f):f=t[7];let p;return t[8]!==a||t[9]!==n||t[10]!==u||t[11]!==d||t[12]!==f?(p=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:u,disabled:a,title:n,"aria-label":n,onClick:d,children:f}),t[8]=a,t[9]=n,t[10]=u,t[11]=d,t[12]=f,t[13]=p):p=t[13],p},lc=Q.memo(({directory:e,file:t,layout:n,wrapLines:r,isSelected:i,isExpanded:a,isMounted:o,onSelect:s,onExpandedChange:c,registerSectionRef:l,showOpenInEditorAction:u=!1,isOpeningInEditor:d=!1,onOpenInEditor:f,onOpenFile:p,staged:m=!1,loadFullFiles:h=!1,initialDiffData:g=null,focusLine:_=null,showFileActions:v=!0,disableGitFetch:y=!1,turnChangesRequest:b=null,loadTurnChangeFile:x=!1})=>{let{t:S}=fe(),{git:C}=In(),w=nr(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),T=nr(e=>e.setDiff),E=nr(e=>e.fetchStatus),[D,O]=Q.useState(0),[k,A]=Q.useState(null),[j,M]=Q.useState(!1),[N,P]=Q.useState(null),[F,I]=Q.useState(!1),[L,R]=Q.useState(null),[z,B]=Q.useState(null),V=Q.useRef(null),ee=Q.useRef(null),H=Q.useMemo(()=>Ws(t),[t]),U=n===`side-by-side`,W=h?`full`:`patch`,te=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,G=Ms({sessionID:b?.sessionID??``,directory:b?.directory??``,messageID:b?.messageID??``,diffCount:b?.diffCount,file:t.path},{enabled:x&&!!b&&a&&o}),K=Q.useMemo(()=>{let e=G.data?.diff;return e?typeof e.patch==`string`&&e.patch.length>0?tc(t.path,e.patch,`patch`):typeof e.before==`string`&&e.before.length>0||typeof e.after==`string`&&e.after.length>0?{original:e.before??``,modified:e.after??``,contextMode:`full`}:null:null},[t.path,G.data]),ne=Q.useMemo(()=>{if(g)return g;if(K)return K;if(m)return z;if(L)return L;if(!w)return null;let e={original:w.original,modified:w.modified,isBinary:w.isBinary,contextMode:`full`};return ec(e)?e:null},[w,g,L,m,z,K]),re=G.error instanceof Error?G.error.message:G.error?String(G.error):null,ie=ne?null:re??k,q=x&&G.isPending||j,ae=ne?.contextMode===W,J=Q.useCallback(e=>{ee.current=e,l(t.path,e)},[t.path,l]),oe=Q.useCallback(e=>{c(t.path,e)},[t.path,c]),se=Q.useCallback(()=>{s(t.path)},[t.path,s]);Q.useEffect(()=>{if(!a||!o)return;if(y){V.current=null,M(!1);return}if(!e||g){V.current=null,M(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${te}::${W}::${D}`;if(V.current===n)return;let r=!!(ne&&ae);V.current=n,A(null),r||M(!0);let i=!1,s=h?Ls:Rs,c=_r(t.path)||h?C.getGitFileDiff(e,{path:t.path,staged:m}):C.getGitDiff(e,{path:t.path,staged:m,contextLines:s}),l=Ps,u=new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out after ${l}ms`)),l)});return Promise.race([c,u]).then(n=>{if(!i){if(`diff`in n){let e=tc(t.path,n.diff,W);m?B(e):R(e)}else{let r={original:n.original??``,modified:n.modified??``,isBinary:n.isBinary,contextMode:`full`};m?B(r):(R(r),T(e,t.path,r))}M(!1)}}).catch(e=>{if(i)return;let t=e instanceof Error?e.message:String(e);A(t),M(!1)}),()=>{i=!0,V.current===n&&(V.current=null)}},[W,ne,ae,D,e,y,t.path,te,C,g,a,o,h,T,m]);let ce=Q.useCallback(()=>{oe(!a),se()},[oe,se,a]),le=Q.useCallback(async n=>{if(!(!e||N!==null)){P(n);try{n===`stage`?await C.stageGitFile(e,t.path):n===`unstage`?await C.unstageGitFile(e,t.path):await C.revertGitFile(e,t.path,{scope:`working`}),O(e=>e+1),await E(e,C)}catch(e){let t=n===`unstage`?`gitView.toast.unstageFileFailed`:n===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.revertFailed`;Je.error(e instanceof Error?e.message:S(t))}finally{P(e=>e===n?null:e)}}},[e,E,t.path,N,C,S]);return(0,$.jsxs)(`div`,{ref:J,className:`scroll-mt-9 border-b border-[var(--interactive-border)]/40 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-30 border-b border-[var(--interactive-border)]/35 bg-[var(--surface-elevated)]/90 backdrop-blur-md supports-[backdrop-filter]:bg-[var(--surface-elevated)]/80`,children:(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:ce,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ce())},className:Y(`cursor-pointer`,`group/header relative grid min-h-8 w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 overflow-hidden px-2 py-1`,`bg-transparent`,`text-muted-foreground hover:text-foreground`,i?`bg-[var(--interactive-selection)]/35`:null),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-none group-hover/header:bg-[var(--interactive-hover)]/50`}),(0,$.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center opacity-70 group-hover/header:opacity-100`,children:a?(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`typography-code font-semibold leading-none w-3.5 text-center uppercase`,style:{color:H.color},title:S(H.descriptionKey),"aria-label":S(H.descriptionKey),children:H.code}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 overflow-hidden typography-code`,title:t.path,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(Ft,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(0,$.jsx)(Lt,{path:t.path,className:`min-w-0 flex-1 typography-code`})]})})]}),(0,$.jsxs)(`div`,{className:`relative flex shrink-0 items-center justify-self-end gap-1.5`,children:[nc(t.insertions,t.deletions),u&&f?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFileInEditorAtChange`),onClick:e=>{e.stopPropagation(),f(t.path,ne)},disabled:d,children:d?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`edit`,className:`size-3.5`})}):null,p?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFilePreview`),"aria-label":S(`diffView.actions.openFilePreview`),onClick:e=>{e.stopPropagation(),p(t.path)},children:(0,$.jsx)(Z,{name:`eye`,className:`size-3.5`})}):null]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!o&&!ie?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,ie?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.failedToLoadDiff`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground max-w-[32rem] text-center`,children:ie}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>{if(x){G.refetch();return}O(e=>e+1)},children:S(`diffView.actions.retry`)})]}):null,o&&q&&!ne&&!ie?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),S(`diffView.state.loadingDiff`)]}):null,o&&ne&&!F&&t.insertions+t.deletions>Fs?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.largeDiff`,{count:t.insertions+t.deletions})}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:S(`diffView.state.largeDiffDescription`)}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>I(!0),children:S(`diffView.actions.renderAnyway`)})]}):null,o&&ne&&(F||t.insertions+t.deletions<=Fs)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(oc,{filePath:t.path,diff:ne,renderSideBySide:U,wrapLines:r,focusLine:_}),v?(0,$.jsx)(`div`,{className:`pointer-events-none absolute bottom-3 right-3 z-20`,children:(0,$.jsx)(`div`,{className:`pointer-events-auto`,children:(0,$.jsx)(sc,{filePath:t.path,staged:m,busyAction:N,disabled:N!==null,onAction:le})})}):null]}):null]})]})}),uc=({hideStackedFileSidebar:e=!1,stackedDefaultCollapsedAll:t=!1,pinSelectedFileHeaderToTopOnNavigate:n=!1,showOpenInEditorAction:r=!1,diffScope:i=`all`,turnMessageId:a=null,sessionId:o=null,directory:s=null,onDiffScopeChange:c,targetFilePath:l=null,targetLine:u=null,toolPatches:d=null,flushContent:f=!1,singleFileView:p=!1,preloadFullFiles:m=!1,navigationRequestKey:h})=>{let{t:_}=fe(),{git:v,files:y}=In(),b=yr(),x=typeof s==`string`&&s.trim()?s.trim():b,{screenWidth:S,isMobile:C}=Nn(),w=Xn(x??null),T=er(x??null),E=Zn(x??null),D=nr(e=>e.setActiveDirectory),O=nr(e=>e.ensureStatus),k=nr(e=>e.fetchStatus),A=nr(e=>e.setDiff),[j,M]=Q.useState(null),[N,F]=Q.useState(!1),[I,L]=Q.useState(null),[R,z]=Q.useState(null),[B,V]=Q.useState(()=>new Set),[ee,H]=Q.useState(()=>new Set),[U,W]=Q.useState(m),[te,G]=Q.useState(0),[K,ne]=Q.useState(!1),[re,ie]=Q.useState(!1),[q,ae]=Q.useState(i);Q.useEffect(()=>{ae(i)},[i]);let J=P(e=>e.pendingDiffFile),oe=P(e=>e.pendingDiffStaged),se=P(e=>e.pendingDiffScope),le=P(e=>e.pendingDiffLine),ue=P(e=>e.setPendingDiffFile),de=P(e=>e.diffLayoutPreference),pe=P(e=>e.diffFileLayout),me=P(e=>e.setDiffFileLayout),he=P(e=>e.diffWrapLines),ge=P(e=>e.setDiffWrapLines),_e=P(e=>e.openContextFileAtLine),ve=P(e=>e.openContextFile),ye=Jn(),be=He(e=>e.currentSessionId),xe=typeof o==`string`&&o.trim()?o.trim():be,Se=Ve(xe??``,x??void 0),Ce=he,we=q===`staged`||q!==`working`&&null,Te=we??N,Ee=C||S<=768,De=!!xe&&q!==`turn`&&!Ee&&!g(),Oe=!e&&!Ee&&S>=1024,ke=Q.useRef(null),Ae=Q.useRef(new Map),Me=Q.useRef(null),Ne=Q.useRef(null),Pe=Q.useRef(!1),Fe=Q.useRef(null),Ie=Q.useRef(null),Le=Q.useRef(null),Re=Q.useRef(null),ze=Q.useCallback(()=>{Me.current=null,Pe.current=!1,z(null),Ne.current!==null&&(window.cancelAnimationFrame(Ne.current),Ne.current=null)},[]),Be=Q.useCallback(e=>{V(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Ue=Q.useMemo(()=>{let e=Se.length-1;if(a&&(e=Se.findIndex(e=>e.id===a),e<0))return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]};for(let t=e;t>=0;--t){let e=Se[t];if(e.role!==`user`)continue;let n=Qs(e.summary?.diffs),r=typeof e.summary?.diffCount==`number`&&Number.isFinite(e.summary.diffCount)?Math.max(0,Math.trunc(e.summary.diffCount)):n.length;return{messageID:typeof e.id==`string`&&e.id?e.id:null,count:r,hasDiffs:e.summary?.hasDiffs===!0||r>0||n.length>0,thinDiffs:n}}return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]}},[Se,a]),We=Q.useMemo(()=>bs(d??[]),[d]),Ge=We.length>0,Ke=Q.useMemo(()=>!xe||!x||!Ue.messageID?null:{sessionID:xe,directory:x,messageID:Ue.messageID,diffCount:Ue.count},[x,xe,Ue.count,Ue.messageID]),qe=Q.useMemo(()=>Ge?We:Ue.thinDiffs,[We,Ue.thinDiffs,Ge]),Ye=Q.useMemo(()=>{let e=new Map;for(let t of qe)if(t.file){if(typeof t.patch==`string`&&t.patch.length>0){e.set(t.file,tc(t.file,t.patch,`patch`));continue}(typeof t.before==`string`&&t.before.length>0||typeof t.after==`string`&&t.after.length>0)&&e.set(t.file,{original:t.before??``,modified:t.after??``,contextMode:`full`})}return e},[qe]),Xe=Q.useMemo(()=>{if(q===`turn`)return qe.map(e=>({path:e.file??``,index:``,working_dir:$s(e.status),insertions:e.additions??0,deletions:e.deletions??0,isNew:e.status===`added`})).filter(e=>e.path).sort((e,t)=>e.path.localeCompare(t.path));if(!T?.files)return[];let e=T.diffStats??{},t=q===`staged`?Ks:q===`working`?qs:()=>!0;return T.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:Gs(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[q,qe,T]),Ze=Q.useMemo(()=>T?.files?T.files.filter(qs).length:0,[T]),$e=Q.useMemo(()=>T?.files?T.files.filter(Ks).length:0,[T]),et=Ge?qe.length:Ue.count,tt=Q.useMemo(()=>Xe.map(e=>e.path).join(`\0`),[Xe]),nt=Q.useMemo(()=>{if(!p)return Xe;let e=l?.trim()||j;return e?Xe.filter(t=>t.path===e):[]},[Xe,j,p,l]);Q.useEffect(()=>{let e=tt?tt.split(`\0`):[],n=new Set(e),r=`${x??``}:${q}:${a??``}:${t?`collapsed`:`default`}`,i=d!==null&&Le.current!==d,o=Ie.current!==r||i;Ie.current=r,Le.current=d,V(r=>{if(o){let n=t||q===`turn`&&!Ge?0:zs(e.length);return new Set(e.slice(0,n))}let i=!1,a=new Set;for(let e of r){if(!n.has(e)){i=!0;continue}a.add(e)}return i?a:r}),H(e=>{if(o)return new Set;let t=!1,r=new Set;for(let i of e){if(!n.has(i)){t=!0;continue}r.add(i)}return t?r:e})},[q,tt,x,t,d,a,Ge]);let rt=Q.useCallback(()=>{Fe.current=null;let e=ke.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-Is,r=t.bottom+Is,i={};for(let[e,t]of Ae.current){if(!t||!B.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}H(e=>{let t=!1,n=new Set(e);for(let e of Object.keys(i))n.has(e)||(n.add(e),t=!0);return t?n:e})},[B]),it=Q.useCallback(()=>{typeof window>`u`||Fe.current===null&&(Fe.current=window.requestAnimationFrame(rt))},[rt]);Q.useEffect(()=>{let e=ke.current;if(e)return it(),e.addEventListener(`scroll`,it,{passive:!0}),window.addEventListener(`resize`,it),()=>{e.removeEventListener(`scroll`,it),window.removeEventListener(`resize`,it),Fe.current!==null&&(window.cancelAnimationFrame(Fe.current),Fe.current=null)}},[Xe,B,it]);let at=Q.useCallback(e=>{let t=pe[e.path];if(t)return t;if(de===`inline`)return`inline`;if(de===`side-by-side`)return`side-by-side`;let n=S<Ns;return e.isNew||n?`inline`:`side-by-side`},[pe,de,S]),ot=Q.useMemo(()=>nt.length===0?null:nt.every(e=>at(e)===`side-by-side`)?`side-by-side`:`inline`,[at,nt]);Q.useEffect(()=>{x&&(D(x),O(x,v))},[x,D,O,v]),Q.useEffect(()=>{if(x)return Qe.onGitRefreshHint(e=>{Ys(e.directory)===Ys(x)&&k(x,v)})},[x,k,v]),Q.useEffect(()=>{q!==`all`&&!se||J&&(se&&ae(se),M(J),F(se===`staged`||!se&&oe),L(le),ue(null),Pe.current=!0,Me.current=J,Be(J),G(e=>e+1))},[q,Be,J,le,se,oe,ue]),Q.useEffect(()=>{if(q===`all`)return;let e=l?.trim();if(!e)return;Be(e),M(e),F(q===`staged`),L(u);let t=xs({scope:q,navigationRequestKey:h,targetFilePath:e,targetLine:u}),n=Xe.some(t=>t.path===e);Ss(Re.current,t,n)&&(Re.current=t,Pe.current=!0,Me.current=e,G(e=>e+1))},[q,Xe,Be,h,l,u]),Q.useEffect(()=>{j&&(Xe.some(e=>e.path===j)||(M(null),F(!1)))},[Xe,j]);let st=Q.useCallback((e,t)=>{let n=Ae.current;t?n.set(e,t):n.delete(e),it()},[it]),ct=Q.useCallback((e,t)=>{ze(),V(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||H(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),it()},[ze,it]),lt=Q.useCallback(()=>{ze(),V(e=>e.size>0?new Set:new Set(Xe.map(e=>e.path))),H(new Set),it()},[ze,Xe,it]),ut=Q.useCallback(async e=>{if(!be)return;let t=He.getState().getDirectoryForSession(be)||x||``;if(!t){Je.error(_(`diffView.reviewDialog.toast.noSessionDirectory`));return}ie(!0);try{await je({originalSessionID:be,directory:t,providerID:e.providerID,modelID:e.modelID,agent:e.agent||void 0,variant:e.variant||void 0,generateHandoff:e.generateHandoff,returnAfterHandoffRequest:e.generateHandoff,autoReview:e.autoReview}),ne(!1)}catch(e){console.error(`[review-flow] failed to start review flow`,e),Je.error(e instanceof Error?e.message:_(`diffView.reviewDialog.toast.startFailed`))}finally{ie(!1)}},[be,x,_]),dt=Q.useCallback(e=>{let t=Ae.current.get(e),n=ke.current;if(!t||!n)return!1;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect().top-r.top,a=Math.max(0,n.scrollHeight-n.clientHeight);return n.scrollTop=Math.min(a,Math.max(0,n.scrollTop+i)),!0},[]);Q.useEffect(()=>{if(!Me.current)return;let e=0,t=!1,r=()=>{t||(t=!0,Me.current=null,Pe.current=!1,z(null),Ne.current!==null&&(window.cancelAnimationFrame(Ne.current),Ne.current=null))},i=()=>{if(t){Ne.current=null;return}let a=Me.current;if(!a){r(),Ne.current=null;return}if(!dt(a)){e+=1,e<20?Ne.current=window.requestAnimationFrame(i):(r(),Ne.current=null);return}n&&Pe.current&&z(a),r()};return Ne.current=window.requestAnimationFrame(i),()=>{t=!0,Ne.current!==null&&(window.cancelAnimationFrame(Ne.current),Ne.current=null)}},[n,te,dt]);let ft=Q.useCallback(e=>{},[]),pt=Q.useCallback(e=>{ze(),M(e),F(!1),Pe.current=!0,Me.current=e,Be(e),G(e=>e+1),dt(e)},[ze,Be,dt]),mt=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;nt.forEach(e=>{me(e.path,t)})},[me,nt]),[ht,gt]=Q.useState(null),_t=Q.useCallback(async(e,t)=>{if(!(!x||!e)){gt(e);try{let n=null;if(t?.patch&&!t.isBinary&&!_r(e)?n=ys(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!_r(e)&&(n=Xs(t.original,t.modified)),n===null)try{n=ys((await v.getGitDiff(x,{path:e,staged:Te,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await v.getGitFileDiff(x,{path:e,staged:Te});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},Te||A(x,e,r)}let i=n??(r.isBinary||_r(e)?1:Xs(r.original,r.modified)),a=Js(x,e),o=await ji(y,a);if(!o.ok){Je.error(Mi(o.reason));return}_e(x,a,i,1)}finally{gt(t=>t===e?null:t)}}},[Te,x,y,v,_e,A]),vt=ce(e=>{if(!x||!e)return;let t=Js(x,e);if(ye){ye.openFile({path:t});return}ji(y,t).then(e=>{if(!e.ok){Je.error(Mi(e.reason));return}ve(x,t)})});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background`,children:[p?null:(0,$.jsxs)(`div`,{className:`@container/diff-toolbar flex min-w-0 items-center gap-1.5 px-2 py-1.5 bg-background`,children:[!C&&(q===`working`||q===`staged`||q===`turn`?(0,$.jsx)(rc,{scope:q,workingCount:Ze,stagedCount:$e,turnCount:et,onScopeChange:e=>{ae(e),c?.(e)}}):(0,$.jsx)(`div`,{className:`flex items-center gap-1 rounded-md px-2 py-1 text-muted-foreground shrink-0`,children:(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:E&&!T?_(`diffView.state.loadingChanges`):nt.length===1?_(`diffView.summary.changedFilesSingle`,{count:nt.length}):_(`diffView.summary.changedFilesPlural`,{count:nt.length})})})),!p&&Xe.length>0&&(q!==`turn`||Ge)&&(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,onClick:lt,className:Y(`diff-toolbar__expand-button h-7 flex-shrink-0 gap-1 px-1.5 text-muted-foreground hover:text-foreground`,`ml-auto`),title:B.size>0?_(`diffView.actions.collapseAll`):_(`diffView.actions.expandAll`),children:[(0,$.jsx)(Z,{name:`expand-up-down`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__expand-label typography-code`,children:B.size>0?_(`diffView.actions.collapseAll`):_(`diffView.actions.expandAll`)})]}),Xe.length>0&&De&&(0,$.jsxs)(X,{variant:`default`,size:`sm`,onClick:()=>ne(!0),disabled:re,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":_(`diffView.actions.reviewAria`),children:[re?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:_(`diffView.actions.review`)})]}),Xe.length>0&&(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>W(e=>!e),"aria-pressed":U,"aria-label":_(U?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:Y(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,U&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(Z,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)(dn,{children:(0,$.jsx)(`p`,{children:_(U?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),Xe.length>0&&(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>ge(!he),className:Y(`h-5 w-5 p-0 transition-opacity`,Ce?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:_(Ce?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(Z,{name:`text-wrap`,className:`size-4`})}),ot&&(0,$.jsx)(Sr,{mode:ot===`side-by-side`?`side-by-side`:`unified`,onModeChange:mt})]}),(0,$.jsx)(Mt,{open:K,onOpenChange:ne,projectDirectory:x??null,submitting:re,onConfirm:ut}),x?q!==`turn`&&E&&!T?(0,$.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),_(`diffView.state.loadingRepositoryStatus`)]}):q!==`turn`&&w===!1?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:_(`diffView.state.notGitRepository`)}):nt.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:_(q===`turn`?`diffView.state.noLastTurnChanges`:`diffView.state.cleanWorkingTree`)}):(()=>{if(!x)return null;let e=e=>we===null?N&&e===j:we;return(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-1 min-h-0 h-full`,f?`gap-0`:`gap-3 px-3 pb-3 pt-2`),children:[Oe&&(0,$.jsxs)(`section`,{className:`hidden lg:flex w-72 flex-col rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-b border-border/40`,children:[(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:_(`diffView.section.files`)}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:Xe.length})]}),(0,$.jsx)(ic,{changedFiles:Xe,selectedFile:null,onSelectFile:pt})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(Vn,{ref:ke,outerClassName:`min-h-0 h-full`,className:`[overflow-anchor:none] pb-16 pwa-overlay-scroll`,disableHorizontal:!0,observeMutations:!1,preventOverscroll:!0,"data-diff-virtual-root":!0,children:(0,$.jsx)(`div`,{className:`flex flex-col [overflow-anchor:none]`,"data-diff-virtual-content":!0,children:nt.map(t=>(0,$.jsx)(lc,{directory:x,file:t,layout:at(t),wrapLines:Ce,isSelected:!1,isExpanded:B.has(t.path),isMounted:ee.has(t.path)||t.path===R||p&&nt.length===1,onSelect:ft,onExpandedChange:ct,registerSectionRef:st,showOpenInEditorAction:r&&q!==`turn`,isOpeningInEditor:ht===t.path,onOpenInEditor:(e,t)=>{_t(e,t)},onOpenFile:vt,staged:e(t.path),loadFullFiles:U,initialDiffData:q===`turn`?Ye.get(t.path)??null:null,focusLine:t.path===(l?.trim()||j)?u??I:null,showFileActions:q!==`turn`,disableGitFetch:q===`turn`,turnChangesRequest:Ke,loadTurnChangeFile:q===`turn`&&!Ge},t.path))})})})]})})():(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:_(`diffView.state.selectSessionDirectory`)})]})},dc=new Set,fc=new Map;function pc(e,t){let n=new Set;for(let[t,r]of Object.entries(e))(r.type===`busy`||r.type===`retry`)&&n.add(t);for(let r of t.keys())e[r]===void 0&&n.add(r);return n}function mc(e,t){if(!t||e.has(t))return e;let n=new Set(e);return n.add(t),n}function hc(e){let t=(0,qr.c)(7),n=e?.enabled??!0,r;t[0]===n?r=t[1]:(r={enabled:n},t[0]=n,t[1]=r);let i=Ne(r),a;t[2]===n?a=t[3]:(a=e=>n?e.statusById:fc,t[2]=n,t[3]=a);let o=Te(a),s;bb0:{if(!n){s=dc;break bb0}let e;t[4]!==o||t[5]!==i?(e=pc(i,o),t[4]=o,t[5]=i,t[6]=e):e=t[6],s=e}return s}function gc(e){let t=(0,qr.c)(3),n=e?.includeCurrentSession??!0,r=hc(e),i=He(_c),a;bb0:{if(!n){a=r;break bb0}let e;t[0]!==i||t[1]!==r?(e=mc(r,i),t[0]=i,t[1]=r,t[2]=e):e=t[2],a=e}return a}function _c(e){return e.currentSessionId}var vc=e=>Object.fromEntries(e.map(e=>[e.id,Ue(e)])),yc=(e,t,n,r)=>{if(!t||t.length===0||!r)return[];let i=new Set(e),a=new Set(t),o=[...t.filter(e=>i.has(e)),...e.filter(e=>!a.has(e))];if(o.length===0)return[];if(Ke(n,r))return o;let s=e=>{let t=r[e];return t===void 0?!a.has(e):(n[e]??0)>t},c=[],l=[];if(o.forEach(e=>{s(e)?c.push(e):l.push(e)}),c.length===0)return o;let u=new Map(o.map((e,t)=>[e,t]));return c.sort((e,t)=>{let r=(n[t]??0)-(n[e]??0);return r===0?(u.get(e)??0)-(u.get(t)??0):r}),[...c,...l]},bc=(e,t,n)=>{let r=vc(e.map(e=>e.session)),i=yc(e.map(e=>e.session.id),t,r,n);return new Map(i.map((e,t)=>[e,t]))},xc=(e,t,n,r)=>{let i=bc(e,t,n);return(e,t)=>{let n=i.get(e.session.id),a=i.get(t.session.id);if(n!==void 0||a!==void 0){if(n===void 0)return 1;if(a===void 0)return-1;if(n!==a)return n-a}return Cn(e.session,t.session,r)}},Sc=({folders:e,visibleUngroupedNodes:t,collapsedFolderIds:n,hasSessionSearchQuery:r})=>{let i=new Map(e.map(e=>[e.folder.id,e])),a=new Map;e.forEach(({folder:e})=>{let t=e.parentId??null,n=a.get(t)??[];n.push(e.id),a.set(t,n)});let o=[],s=new Map,c=e=>{let t=i.get(e);t&&(!r&&n.has(e)||((a.get(e)??[]).forEach(c),t.nodes.forEach(t=>{o.push(t.session.id),s.set(t.session.id,e)})))};return(a.get(null)??[]).forEach(c),t.forEach(e=>{o.push(e.session.id),s.set(e.session.id,null)}),{sessionIds:o,folderIdBySessionId:s}},Cc=(e,t,n)=>n.get(e)===n.get(t),wc=e=>!!e.parentID,Tc=(e,t)=>h(ct(e.session))??h(t.directory??null),Ec=()=>3,Dc=(e,t,n,r)=>{let i=Math.min(e.length,Math.max(0,t)),a=e.slice(0,i);for(let t=i;t<e.length;t+=1){let i=e[t];i&&n.has(r(i))&&a.push(i)}return a},Oc=(e,t,n)=>Dc(e,t,n,e=>e.session.id),kc=(e,t,n)=>Dc(e,t,n,e=>e.id),Ac=({targets:e,collapsedProjectIds:t,collapsedGroupKeys:n,collapsedFolderIds:r,visibleSessionCountByGroup:i,defaultVisibleSessionCount:a,hasSessionSearchQuery:o,alwaysVisibleSessionIds:s})=>e.filter(e=>{if(!e.projectId||t.has(e.projectId))return!1;if(o)return!0;if(e.groupKey&&n.has(e.groupKey)||e.folderAncestorIds?.some(e=>r.has(e)))return!1;if(e.groupKey&&e.visibleIndex!==void 0){let t=Math.max(a,i.get(e.groupKey)??a);if(e.visibleIndex>=t&&!s?.has(e.sessionId))return!1}return!0}),jc=(e,t,n)=>{if(!t||n==null||!Number.isInteger(n)||n<0)return null;if(e[n]?.session.id===t)return n;let r=e.findIndex(e=>e.session.id===t);return r>=0?r:null},Mc=({sections:e,foldersMap:t,getOrderedGroups:n,pinnedSessionIds:r,sessionOrderByScope:i,sessionOrderActivityByScope:a})=>{let o=[];return e.forEach(e=>{let s=n(e.project.id,e.groups),c=s.find(e=>e.isMain)??null;(c?[c,...s.filter(e=>e.id!==c.id)]:s).forEach(n=>{if(n.isArchivedBucket)return;let s=`${e.project.id}:${n.id}`,c=n.folderScopeKey??h(n.directory??null),l=xc(n.sessions,c?i[c]:void 0,c?a[c]:void 0,r),u=[...n.sessions].filter(e=>!e.session.time?.archived&&!wc(e.session)).sort(l),d=new Map(u.map(e=>[e.session.id,e])),f=c?t[c]??[]:[],p=new Map;f.forEach(e=>{let t=e.parentId??null,n=p.get(t)??[];n.push(e),p.set(t,n)});let m=new Set(f.flatMap(e=>e.sessionIds)),g=(t,r,i)=>{o.push({scope:`project`,sessionId:t.session.id,projectId:e.project.id,directory:Tc(t,n),groupKey:s,folderAncestorIds:r,visibleIndex:i})},_=(e,t)=>{let n=f.find(t=>t.id===e);if(!n)return;let r=[...t,n.id];(p.get(n.id)??[]).forEach(e=>{_(e.id,r)}),n.sessionIds.map(e=>d.get(e)).filter(e=>!!e).sort(l).forEach(e=>g(e,r))};(p.get(null)??[]).forEach(e=>_(e.id,[])),u.filter(e=>!m.has(e.session.id)).forEach((e,t)=>g(e,void 0,t))})}),o},Nc=x()(S(e=>({expandedWorktreeGroups:{},setWorktreeGroupExpanded:(t,n)=>e(e=>({expandedWorktreeGroups:{...e.expandedWorktreeGroups,[t]:n}}))}),{name:`mobile-session-statusbar-collapse`,storage:u()}));typeof window<`u`&&t(e=>{o(e)&&Nc.persist.rehydrate()});var Pc=e=>{let t=(0,qr.c)(24),{size:n,className:r}=e,i=n===void 0?14:n,a=(i-1.5)/2,o=2*Math.PI*a,s=o*.28,c;t[0]===r?c=t[1]:(c=Y(`inline-flex items-center justify-center shrink-0`,r),t[0]=r,t[1]=c);let l;t[2]===i?l=t[3]:(l={width:i,height:i},t[2]=i,t[3]=l);let u=`0 0 ${i} ${i}`,d;t[4]===i?d=t[5]:(d={width:i,height:i},t[4]=i,t[5]=d);let f=i/2,p=i/2,m;t[6]!==a||t[7]!==f||t[8]!==p?(m=(0,$.jsx)(`circle`,{cx:f,cy:p,r:a,fill:`none`,stroke:`var(--interactive-border)`,strokeWidth:1.5}),t[6]=a,t[7]=f,t[8]=p,t[9]=m):m=t[9];let h=i/2,g=i/2,_=`${s} ${o-s}`,v;t[10]!==a||t[11]!==g||t[12]!==_||t[13]!==h?(v=(0,$.jsx)(`circle`,{cx:h,cy:g,r:a,fill:`none`,stroke:`var(--surface-muted-foreground)`,strokeWidth:1.5,strokeLinecap:`round`,strokeDasharray:_}),t[10]=a,t[11]=g,t[12]=_,t[13]=h,t[14]=v):v=t[14];let y;t[15]!==v||t[16]!==u||t[17]!==d||t[18]!==m?(y=(0,$.jsxs)(`svg`,{viewBox:u,className:`animate-spin`,style:d,"aria-hidden":`true`,children:[m,v]}),t[15]=v,t[16]=u,t[17]=d,t[18]=m,t[19]=y):y=t[19];let b;return t[20]!==y||t[21]!==c||t[22]!==l?(b=(0,$.jsx)(`span`,{className:c,style:l,"aria-hidden":`true`,children:y}),t[20]=y,t[21]=c,t[22]=l,t[23]=b):b=t[23],b};Pc.displayName=`SessionBusyIndicator`;function Fc({durationMs:e,size:t=15,className:n}){let r=1.5,i=(t-r)/2,a=2*Math.PI*i,[o,s]=Q.useState(!1),[c,l]=Q.useState(()=>Math.max(0,Math.ceil(e/1e3)-1));return Q.useEffect(()=>{let t=performance.now(),n=window.requestAnimationFrame(()=>s(!0)),r=window.setInterval(()=>{let n=performance.now()-t;l(Math.max(0,Math.ceil((e-n)/1e3)-1))},250);return()=>{window.cancelAnimationFrame(n),window.clearInterval(r)}},[e]),(0,$.jsxs)(`span`,{className:Y(`oc-undo-countdown`,n),style:{"--oc-undo-countdown-size":`${t}px`},"aria-hidden":`true`,children:[(0,$.jsxs)(`svg`,{viewBox:`0 0 ${t} ${t}`,width:t,height:t,className:`oc-undo-countdown-svg`,children:[(0,$.jsx)(`circle`,{cx:t/2,cy:t/2,r:i,fill:`none`,stroke:`var(--interactive-border)`,strokeWidth:r}),(0,$.jsx)(`circle`,{cx:t/2,cy:t/2,r:i,fill:`none`,stroke:`var(--primary-base)`,strokeWidth:r,strokeLinecap:`round`,strokeDasharray:a,strokeDashoffset:o?a:0,style:{transition:`stroke-dashoffset ${e}ms linear`}})]}),(0,$.jsx)(`span`,{className:`oc-undo-countdown-digit text-current`,children:c})]})}function Ic(){P.getState().setArchivedSessionsDialogOpen(!0)}function Lc(e){Je.custom(t=>Q.createElement(`div`,{className:`flex w-full min-w-0 max-w-full items-center gap-2.5 text-foreground`},Q.createElement(`span`,{className:`min-w-0 flex-1 truncate text-left typography-ui-label font-medium`},e.message),Q.createElement(`div`,{className:`flex shrink-0 items-center gap-1.5`},e.secondaryLabel&&e.onSecondary?Q.createElement(X,{variant:`secondary`,size:`sm`,className:`session-mutation-undo-action overflow-hidden !h-[26px] !min-h-0 !min-w-0 shrink-0 !px-2 !text-[12px]`,onClick:()=>{e.onSecondary?.(),Je.dismiss(t)}},e.secondaryLabel):null,Q.createElement(X,{variant:`default`,size:`sm`,className:`session-mutation-undo-action overflow-hidden !h-[26px] !min-h-0 !min-w-0 shrink-0 gap-1 !pl-2 !pr-1 !text-[12px]`,onClick:()=>{e.onPrimary(),Je.dismiss(t)}},e.primaryLabel,Q.createElement(Fc,{durationMs:e.durationMs})))),{duration:e.durationMs,className:`session-mutation-undo-toast !max-w-[calc(100vw-2rem)]`})}function Rc(e){let t=Array.from(new Set(e.sessionIds.filter(Boolean)));t.length!==0&&Lc({durationMs:Fe,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{(async()=>{(await Promise.all(t.map(e=>Xe(e)))).some(e=>!e)&&Je.error(e.undoFailedMessage)})()},secondaryLabel:e.settingsLabel,onSecondary:()=>{Ic()}})}function zc(e){let t=Array.from(new Set(e.sessionIds.filter(Boolean)));if(t.length===0)return{batchId:``,scheduledIds:[]};let n=e.delayMs??1e4,{batchId:r,scheduledIds:i}=rt(t,{delayMs:n,onSettled:({failedIds:t})=>{t.length>0&&Je.error(e.commitFailedMessage)}});return r&&Lc({durationMs:n,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{Be(r)}}),{batchId:r,scheduledIds:i}}var Bc=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Vc=e=>{let t=e;return Bc(t.directory??t.project?.worktree??null)},Hc=({open:e,project:t,worktree:n,onClose:r,onDeleted:i})=>{let{t:a}=fe(),o=Re(),s=ke(e=>e.activeSessions),c=He(e=>e.archiveSessions),l=k(e=>e.currentDirectory),[u,d]=Q.useState(!1),[f,p]=Q.useState(!1),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),v=Bc(n?.path),y=typeof n?.branch==`string`&&n.branch.trim().length>0,b=Q.useMemo(()=>{if(!v)return[];let e=new Map;for(let t of[...s,...o])Vc(t)===v&&e.set(t.id,t);return Array.from(e.values())},[s,o,v]);Q.useEffect(()=>{if(!e){d(!1),p(!1),h(!1),_(!1);return}if(!n?.path)return;let t=!1;return rn(n.path).then(e=>{t||h(!!e?.isDirty)}).catch(()=>{t||h(!!n.status?.isDirty)}),()=>{t=!0}},[e,n?.path,n?.status?.isDirty]);let x=ce(e=>{(async()=>{try{await en(e.project,e.worktree,{deleteRemoteBranch:e.hasBranch&&e.deleteRemoteBranch,deleteLocalBranch:e.hasBranch&&e.deleteLocalBranch}),Bc(e.currentDirectory)===e.worktreePath&&Bc(e.project.path)&&k.getState().setDirectory(Bc(e.project.path),{showOverlay:!1}),Je.success(e.t(`sessions.sidebar.sessionDialogs.worktree.removedTitle`),{description:e.hasBranch&&e.deleteRemoteBranch?e.t(`sessions.sidebar.sessionDialogs.worktree.removedWithRemote`):e.t(`sessions.sidebar.sessionDialogs.worktree.removed`)}),e.onDeleted?.()}catch(t){Je.error(e.t(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:t instanceof Error?t.message:e.t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}})()}),S=async()=>{if(!n||g)return;let o={worktree:n,project:t,hasBranch:y,deleteLocalBranch:u,deleteRemoteBranch:f,currentDirectory:l,worktreePath:v,onDeleted:i,archiveSessions:c,linkedSessionIds:b.map(e=>e.id),onClose:r,open:e,t:a};_(!0);try{if(o.linkedSessionIds.length>0){let{archivedIds:e,failedIds:t}=await o.archiveSessions(o.linkedSessionIds);if(t.length>0){e.length>0&&Je.success(e.length===1?o.t(`sessions.sidebar.bulkActions.archivedSingle`,{count:e.length}):o.t(`sessions.sidebar.bulkActions.archivedPlural`,{count:e.length})),Je.error(t.length===1?o.t(`sessions.sidebar.bulkActions.failedArchiveSingle`,{count:t.length}):o.t(`sessions.sidebar.bulkActions.failedArchivePlural`,{count:t.length}),{description:o.t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)}),_(!1);return}}x(o),o.onClose()}catch(e){Je.error(o.t(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:e instanceof Error?e.message:o.t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)}),_(!1)}finally{o.open||_(!1)}};if(!n)return null;let C=n.branch||n.label||n.path,w=(e,t,n,r)=>(0,$.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":e,disabled:r,onClick:()=>t(!e),className:Y(`flex w-full items-center justify-between gap-3 rounded-xl border border-border/50 px-3.5 py-3 text-left transition-colors`,`hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,r&&`pointer-events-none opacity-40`),style:{touchAction:`manipulation`},children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:n}),(0,$.jsx)(`span`,{className:Y(`relative h-6 w-10 shrink-0 rounded-full transition-colors`,e?`bg-primary`:`bg-muted-foreground/30`),children:(0,$.jsx)(`span`,{className:Y(`absolute top-0.5 size-5 rounded-full bg-white transition-transform`,e?`translate-x-[1.125rem]`:`translate-x-0.5`)})})]});return(0,$.jsx)(Tn,{open:e,onClose:r,title:a(`mobile.projectEdit.deleteWorktreeTitle`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(X,{variant:`ghost`,className:`flex-1`,onClick:r,disabled:g,children:a(`projectEditDialog.actions.cancel`)}),(0,$.jsx)(X,{variant:`destructive`,className:`flex-1`,onClick:()=>void S(),disabled:g,children:a(`mobile.projectEdit.deleteWorktreeConfirmButton`)})]}),children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4 px-1 py-1`,children:[(0,$.jsx)(`p`,{className:`typography-ui-body text-foreground`,children:a(`mobile.projectEdit.deleteWorktreeConfirm`,{name:C})}),m?(0,$.jsx)(`p`,{className:`rounded-xl border border-[var(--warning)]/40 bg-[color-mix(in_srgb,var(--warning)_10%,transparent)] px-3.5 py-3 typography-meta text-foreground`,children:a(`mobile.projectEdit.deleteWorktreeDirty`)}):null,b.length>0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:a(`mobile.projectEdit.deleteWorktreeArchiveNote`,{count:b.length})}):null,y?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[w(u,d,a(`mobile.projectEdit.deleteLocalBranch`),g),w(f,p,a(`mobile.projectEdit.deleteRemoteBranch`),g)]}):null]})})},Uc=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Wc=e=>{let t=(0,qr.c)(36),{worktree:n,onDelete:r}=e,{t:i}=fe(),a;t[0]===n.path?a=t[1]:(a={id:n.path},t[0]=n.path,t[1]=a);let{attributes:o,listeners:s,setNodeRef:c,transform:l,transition:u,isDragging:d}=mr(a),f;t[2]===l?f=t[3]:(f=fr.Transform.toString(l),t[2]=l,t[3]=f);let p=d?10:1,m;t[4]!==f||t[5]!==p||t[6]!==u?(m={transform:f,transition:u,zIndex:p},t[4]=f,t[5]=p,t[6]=u,t[7]=m):m=t[7];let h=m,g=n.branch||n.label||n.path,_=d&&`shadow-lg shadow-black/20`,v;t[8]===_?v=t[9]:(v=Y(`flex items-center gap-1 rounded-2xl border border-border/40 bg-[var(--surface-elevated)] px-1.5 py-1.5 transition-colors`,_),t[8]=_,t[9]=v);let y;t[10]!==g||t[11]!==i?(y=i(`mobile.projectEdit.dragWorktreeAria`,{label:g}),t[10]=g,t[11]=i,t[12]=y):y=t[12];let b;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Z,{name:`drag-move-2`,className:`size-4`}),t[13]=b):b=t[13];let x;t[14]!==o||t[15]!==s||t[16]!==y?(x=(0,$.jsx)(`button`,{type:`button`,className:`flex size-9 shrink-0 cursor-grab touch-none items-center justify-center rounded-xl text-muted-foreground/70 transition-colors hover:text-foreground active:cursor-grabbing`,"aria-label":y,...o,...s,children:b}),t[14]=o,t[15]=s,t[16]=y,t[17]=x):x=t[17];let S;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(Z,{name:`node-tree`,className:`size-4 shrink-0 text-muted-foreground`}),t[18]=S):S=t[18];let C;t[19]===g?C=t[20]:(C=(0,$.jsx)(`span`,{className:`block min-w-0 flex-1 truncate typography-ui-label text-foreground`,children:g}),t[19]=g,t[20]=C);let w;t[21]!==g||t[22]!==i?(w=i(`mobile.projectEdit.deleteWorktreeAria`,{label:g}),t[21]=g,t[22]=i,t[23]=w):w=t[23];let T,E;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(T={touchAction:`manipulation`},E=(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),t[24]=T,t[25]=E):(T=t[24],E=t[25]);let D;t[26]!==r||t[27]!==w?(D=(0,$.jsx)(`button`,{type:`button`,className:`flex size-9 shrink-0 items-center justify-center rounded-xl text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive`,"aria-label":w,onClick:r,style:T,children:E}),t[26]=r,t[27]=w,t[28]=D):D=t[28];let O;return t[29]!==c||t[30]!==h||t[31]!==C||t[32]!==D||t[33]!==v||t[34]!==x?(O=(0,$.jsxs)(`div`,{ref:c,style:h,className:v,children:[x,S,C,D]}),t[29]=c,t[30]=h,t[31]=C,t[32]=D,t[33]=v,t[34]=x,t[35]=O):O=t[35],O},Gc=({open:e,project:t,onClose:n,onWorktreesChanged:r})=>{let{t:i}=fe(),{currentTheme:a}=jn(),o=at(e=>e.updateProjectMeta),s=at(e=>e.discoverProjectIcon),c=at(e=>e.removeProjectIcon),l=Ut(e=>e.setWorktreeOrder),u=at(e=>t?e.projects.find(e=>e.id===t.id)?.iconImage??null:null),[d,f]=Q.useState(``),[p,m]=Q.useState(null),[h,g]=Q.useState(null),[_,v]=Q.useState(!1),[y,b]=Q.useState([]),[x,S]=Q.useState(null),C=t?.id??null;Q.useEffect(()=>{!e||!t||(f(t.label),m(t.icon??null),g(t.color??null),b(t.worktrees))},[e,C]),Q.useEffect(()=>{!e||!t||b(e=>{let n=t.worktrees.map(e=>e.path),r=e.map(e=>e.path);return n.length===r.length&&n.every(e=>r.includes(e))?e:t.worktrees})},[t?.worktrees]);let w=dr(or(lr,{activationConstraint:{distance:8}}),or(sr,{coordinateGetter:pr})),T=()=>{if(!t)return;let e=d.trim();o(t.id,{label:e||t.label,icon:p,color:h}),n()},E=()=>{!t||_||(v(!0),s(t.id).then(e=>{if(!e.ok){Je.error(e.error||i(`projectEditDialog.toast.failedToDiscoverIcon`));return}if(e.skipped){Je.success(i(`projectEditDialog.toast.customIconAlreadySet`));return}Je.success(i(`projectEditDialog.toast.iconDiscovered`))}).finally(()=>v(!1)))},D=()=>{t&&c(t.id).then(e=>{if(!e.ok){Je.error(e.error||i(`projectEditDialog.toast.failedToRemoveIcon`));return}Je.success(i(`projectEditDialog.toast.iconRemoved`))})},O=e=>{let{active:n,over:r}=e;if(!r||n.id===r.id||!t)return;let i=y.findIndex(e=>e.path===n.id),a=y.findIndex(e=>e.path===r.id);if(i<0||a<0)return;let o=[...y],[s]=o.splice(i,1);o.splice(a,0,s),b(o),l(t.id,t.path,o.map(e=>Uc(e.path)))},k=h?nn[h]??null:null,A=p?$t[p]:null,j=!!u;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Bn,{id:`mobile-project-edit`,open:e,onOpenChange:e=>{e||n()},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:i(`projectEditDialog.title`)}),trailing:(0,$.jsxs)(X,{type:`button`,variant:`default`,size:`sm`,"aria-label":i(`projectEditDialog.actions.save`),onClick:T,disabled:!d.trim(),style:{touchAction:`manipulation`},children:[(0,$.jsx)(Z,{name:`check`,className:`size-4`}),i(`projectEditDialog.actions.save`)]}),ariaLabel:i(`projectEditDialog.title`),closeAriaLabel:i(`mobile.surface.closeAria`),resizeAriaLabel:i(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:t?(0,$.jsxs)(`div`,{className:`overlay-scrollbar-container h-full space-y-6 overflow-y-auto px-4 pb-8 pt-2`,children:[(0,$.jsx)(`div`,{className:`flex justify-center pt-2`,children:(0,$.jsx)(`span`,{className:`flex size-16 items-center justify-center overflow-hidden rounded-2xl bg-[var(--surface-muted)] text-muted-foreground`,style:t.iconBackground?{backgroundColor:t.iconBackground}:void 0,children:j?(0,$.jsx)(Jt,{project:{id:t.id,iconImage:u},options:{themeVariant:a.metadata.variant,iconColor:a.colors.surface.foreground},className:`size-full object-contain`,fallback:(0,$.jsx)(Z,{name:`folder-6`,className:`size-7`})}):A?(0,$.jsx)(Z,{name:A,className:`size-7`,style:k?{color:k}:void 0}):(0,$.jsx)(Z,{name:`folder-6`,className:`size-7`,style:k?{color:k}:void 0})})}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:i(`projectEditDialog.field.name`)}),(0,$.jsx)(ln,{value:d,onChange:e=>f(e.target.value),placeholder:i(`projectEditDialog.field.namePlaceholder`),className:`h-11`}),(0,$.jsx)(`p`,{className:`truncate typography-meta text-muted-foreground`,title:t.path,children:t.path})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:i(`projectEditDialog.field.color`)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>g(null),"aria-label":i(`projectEditDialog.option.none`),className:Y(`flex size-9 items-center justify-center rounded-xl border-2 transition-all`,h===null?`border-foreground`:`border-border hover:border-border/80`),style:{touchAction:`manipulation`},children:(0,$.jsx)(`span`,{className:`h-0.5 w-4 rotate-45 rounded-full bg-muted-foreground/40`})}),sn.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>g(e.key),"aria-label":e.label,title:e.label,className:Y(`size-9 rounded-xl border-2 transition-all`,h===e.key?`border-foreground`:`border-transparent hover:border-border`),style:{backgroundColor:e.cssVar,touchAction:`manipulation`}},e.key))]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:i(`projectEditDialog.field.icon`)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>m(null),"aria-label":i(`projectEditDialog.option.none`),className:Y(`flex size-9 items-center justify-center rounded-xl border-2 transition-all`,p===null?`border-foreground bg-[var(--surface-elevated)]`:`border-border hover:border-border/80`),style:{touchAction:`manipulation`},children:(0,$.jsx)(`span`,{className:`h-0.5 w-4 rotate-45 rounded-full bg-muted-foreground/40`})}),an.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>m(e.key),"aria-label":e.label,title:e.label,className:Y(`flex size-9 items-center justify-center rounded-xl border-2 transition-all`,p===e.key?`border-foreground bg-[var(--surface-elevated)]`:`border-border hover:border-border/80`),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:e.Icon,className:`size-4`,style:k?{color:k}:void 0})},e.key))]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 pt-1`,children:[(0,$.jsx)(X,{size:`sm`,variant:`outline`,onClick:E,disabled:_,children:i(_?`projectEditDialog.actions.discovering`:`projectEditDialog.actions.discoverFavicon`)}),j?(0,$.jsx)(X,{size:`sm`,variant:`outline`,onClick:D,children:i(`projectEditDialog.actions.removeProjectIcon`)}):null]})]}),t.isGitRepo?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:i(`mobile.projectEdit.worktreesTitle`)}),y.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:i(`mobile.projectEdit.worktreesEmpty`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:i(`mobile.projectEdit.reorderHint`)}),(0,$.jsx)(ur,{sensors:w,collisionDetection:cr,onDragEnd:O,children:(0,$.jsx)(gr,{items:y.map(e=>e.path),strategy:hr,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:y.map(e=>(0,$.jsx)(Wc,{worktree:e,onDelete:()=>S(e)},e.path))})})})]})]}):null]}):null}),t?(0,$.jsx)(Hc,{open:!!x,project:{id:t.id,path:t.path},worktree:x,onClose:()=>S(null),onDeleted:()=>{b(e=>e.filter(e=>e.path!==x?.path)),r?.()}}):null]})},Kc=()=>3,qc=()=>7,Jc=(e,t,n)=>{let r=new Map;for(let[n,i]of e)t.has(n)&&r.set(n,i);for(let e of n)e.status===`success`&&r.set(e.path,e.worktrees??[]);return Xt(r,e)?e:r},Yc=(e,t)=>{t&&e.push(t)},Xc=e=>{let t=[];return Yc(t,e.onRename?{id:`rename`,icon:`pencil-ai`,labelKey:`sessions.sidebar.session.menu.rename`,onClick:e.onRename}:null),Yc(t,e.onTogglePin?{id:`pin`,icon:e.pinned?`unpin`:`pushpin`,labelKey:e.pinned?`sessions.sidebar.session.menu.unpin`:`sessions.sidebar.session.menu.pin`,onClick:e.onTogglePin}:null),e.shared?(Yc(t,e.onCopyLink?{id:`copyLink`,icon:`file-copy`,labelKey:`sessions.sidebar.session.menu.copyLink`,onClick:e.onCopyLink}:null),Yc(t,e.onUnshare?{id:`unshare`,icon:`link-unlink-m`,labelKey:`sessions.sidebar.session.menu.unshare`,onClick:e.onUnshare}:null)):Yc(t,e.onShare?{id:`share`,icon:`share-2`,labelKey:`sessions.sidebar.session.menu.share`,onClick:e.onShare}:null),Yc(t,e.onRefreshTranscript?{id:`refreshTranscript`,icon:`refresh`,labelKey:`sessions.sidebar.session.menu.refreshTranscript`,onClick:e.onRefreshTranscript,disabled:e.refreshTranscriptDisabled,spinning:e.refreshTranscriptSpinning}:null),Yc(t,e.onArchive?{id:`archive`,icon:`archive`,labelKey:`sessions.sidebar.bulkActions.archive`,onClick:e.onArchive}:null),Yc(t,e.onDelete?{id:`delete`,icon:`delete-bin`,labelKey:`sessions.sidebar.bulkActions.delete`,onClick:e.onDelete,destructive:!0,separated:!0}:null),e.extraItems?.length&&t.push(...e.extraItems),t},Zc=e=>{let t=[];return Yc(t,e.onNewSession?{id:`newSession`,icon:`add`,labelKey:`sessions.sidebar.project.actions.newSession`,onClick:e.onNewSession}:null),Yc(t,e.gitRepository&&e.onNewWorktree?{id:`newWorktree`,icon:`node-tree`,labelKey:`sessions.sidebar.project.actions.newWorktree`,onClick:e.onNewWorktree}:null),Yc(t,e.onSyncSessions?{id:`syncSessions`,icon:`refresh`,labelKey:`sessions.sidebar.project.actions.syncSessions`,onClick:e.onSyncSessions}:null),Yc(t,e.onEditProject?{id:`edit`,icon:`pencil-ai`,labelKey:`sessions.sidebar.project.actions.edit`,onClick:e.onEditProject}:null),Yc(t,e.onCloseProject?{id:`closeProject`,icon:`close`,labelKey:`sessions.sidebar.project.actions.closeProject`,onClick:e.onCloseProject,destructive:!0,separated:!0}:null),e.extraItems?.length&&t.push(...e.extraItems),t},Qc=e=>{let t=[];return Yc(t,e.onNewSession?{id:`newSession`,icon:`add`,labelKey:`sessions.sidebar.project.actions.newSession`,onClick:e.onNewSession}:null),Yc(t,e.onDeleteWorktree?{id:`deleteWorktree`,icon:`delete-bin`,labelKey:`mobile.projectEdit.deleteWorktreeConfirmButton`,onClick:e.onDeleteWorktree,destructive:!0,separated:!0}:null),e.extraItems?.length&&t.push(...e.extraItems),t},$c=(e,t)=>t(e.labelKey),el=[],tl=(e,t)=>{let n=e?.[t];return n?.type===`busy`||n?.type===`retry`?n.type:`idle`},nl=e=>{let t=new Set(e.map(e=>e.id)),n=new Map;for(let r of e){let e=r.parentID;if(e&&t.has(e)){let t=n.get(e)??[];t.push(r),n.set(e,t)}}return{allIds:t,parentChildMap:n}},rl=(e,t)=>{let n=e.parentID;return!n||!t.has(n)};function il(e,t,n){let{allIds:r,parentChildMap:i}=nl(e),a=0,o=0;for(let s of e){if(!rl(s,r))continue;let e=tl(t,s.id),c=(i.get(s.id)??[]).filter(e=>tl(t,e.id)!==`idle`).length;a+=(e===`idle`?0:1)+c,(n?.[s.id]??0)>0&&(o+=1)}return{totalRunning:a,totalUnread:o}}function al(e,t,n,r,i){if(!r){let r=il(e,t,n);return{sessions:el,totalRunning:r.totalRunning,totalUnread:r.totalUnread,totalCount:0}}let{allIds:a,parentChildMap:o}=nl(e),s=e.filter(e=>rl(e,a)),c=[],l=[];for(let e of s){let r=tl(t,e.id),i=(o.get(e.id)??[]).filter(e=>tl(t,e.id)!==`idle`),a=i.length>0,s=(n?.[e.id]??0)>0,u={...e,_statusType:r,_hasRunningChildren:a,_runningChildrenCount:i.length,_childIndicators:i.slice(0,3).map(e=>({session:e,isRunning:!0}))};r!==`idle`||a||s?c.push(u):l.push(u)}let u=(e,t)=>i(t)-i(e);c.sort(u),l.sort(u);let d=[...c,...l];return{sessions:d,totalRunning:d.reduce((e,t)=>e+(t._statusType===`idle`?0:1)+(t._runningChildrenCount??0),0),totalUnread:d.filter(e=>(n?.[e.id]??0)>0).length,totalCount:d.length}}function ol(){let e=(0,qr.c)(3),t=Re(),n=ke(ll),r;if(e[0]!==n||e[1]!==t){let i=new Map(t.map(cl));r=n.map(e=>{let t=i.get(e.id);return t?ut(t,e):e});let a=new Set(r.map(sl));for(let e of t)a.has(e.id)||r.push(e);e[0]=n,e[1]=t,e[2]=r}else r=e[2];return r}function sl(e){return e.id}function cl(e){return[e.id,e]}function ll(e){return e.activeSessions}var ul=`__pinned_sessions__`;function dl(e){return e===null||e===ul}function fl(e){let{activeProjectId:t,currentFilterProjectId:n,projects:r}=e;return n===null?null:n===ul||r.some(e=>e.id===n)?n:t??n}var pl=3,ml=7,hl=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.replace(/\/+$/,``)},gl=e=>{let t=e;return hl(t.directory??t.project?.worktree??``)},_l=e=>{let t=new Set(e.map(e=>e.id));return e.filter(e=>{let n=e.parentID;return!n||!t.has(n)}).length};function vl(e){e.preventBaseUIHandler()}function yl(e,t,n){t&&(e.preventBaseUIHandler(),n(e))}function bl(e){let t=(0,qr.c)(10),{icon:n,label:r,onClick:i,destructive:a}=e,o=a!==void 0&&a?`destructive`:`ghost`,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={touchAction:`manipulation`},t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,$.jsx)(Z,{name:n,className:`size-5 shrink-0`}),t[1]=n,t[2]=c);let l;t[3]===r?l=t[4]:(l=(0,$.jsx)(`span`,{className:`truncate`,children:r}),t[3]=r,t[4]=l);let u;return t[5]!==i||t[6]!==o||t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(X,{type:`button`,variant:o,size:`default`,className:`min-h-12 w-full justify-start gap-3 rounded-xl px-3`,onClick:i,style:s,children:[c,l]}),t[5]=i,t[6]=o,t[7]=c,t[8]=l,t[9]=u):u=t[9],u}function xl(e,t,n,r){let i=ze(e=>e.index.session.unseenCount),a=Q.useRef([]);return Q.useMemo(()=>{let o=al(e,t,i,n,Ue);return n?(a.current=o.sessions,o):r?{...o,sessions:a.current,totalCount:a.current.length}:(a.current=[],o)},[n,r,e,t,i])}function Sl(){let e=(0,qr.c)(7),{t}=fe(),n;e[0]===t?n=e[1]:(n=e=>{let n=e.title;return n&&n.trim()?n:t(`mobile.sessions.newChat`)},e[0]=t,e[1]=n);let r=n,i=ze(Cl),a;e[2]===i?a=e[3]:(a=e=>(i[e]??0)>0,e[2]=i,e[3]=a);let o=a,s;return e[4]!==r||e[5]!==o?(s={getSessionTitle:r,needsAttention:o},e[4]=r,e[5]=o,e[6]=s):s=e[6],s}function Cl(e){return e.index.session.unseenCount}function wl(e,t,n){let r=(0,qr.c)(6),i=He(Dl),a=He(El),o=ze(Tl),s;return r[0]!==i||r[1]!==n||r[2]!==a||r[3]!==o||r[4]!==t?(s=e=>{let r=e=>{let n=t?.[e];return n?.type===`busy`||n?.type===`retry`?n.type:`idle`},s=hl(e);if(!s)return{hasRunning:!1,hasUnread:!1};let c=[s],l=i.get(s)??[];for(let e of l){let t=e&&typeof e==`object`&&`path`in e?e.path:null;if(typeof t==`string`&&t.trim()){let e=hl(t);e&&e!==s&&c.push(e)}}let u=new Set,d=!1,f=!1;for(let e of c){for(let t of a(e))if(!(!t?.id||u.has(t.id))&&(u.add(t.id),r(t.id)!==`idle`&&(d=!0),t.id!==n&&(o[t.id]??0)>0&&(f=!0),d&&f))break;if(d&&f)break}return{hasRunning:d,hasUnread:f}},r[0]=i,r[1]=n,r[2]=a,r[3]=o,r[4]=t,r[5]=s):s=r[5],s}function Tl(e){return e.index.session.unseenCount}function El(e){return e.getSessionsByDirectory}function Dl(e){return e.availableWorktreesByProject}function Ol(){let e=(0,qr.c)(2),t=He(kl),n;return e[0]===t?n=e[1]:(n=e=>{let n=hl(e.path),r=[n],i=t.get(n)??[];for(let e of i){let t=e&&typeof e==`object`&&`path`in e?e.path:null;if(typeof t==`string`&&t.trim()){let e=hl(t);e&&r.push(e)}}return r},e[0]=t,e[1]=n),n}function kl(e){return e.availableWorktreesByProject}function Al(e){let t=(0,qr.c)(2),{isRunning:n,showUnread:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Pc,{}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-[var(--status-info)]`}),t[1]=e):e=t[1],e}return null}function jl(e){let t=(0,qr.c)(3),{count:n}=e;if(n===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(Pc,{}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-[13px] text-[var(--surface-mutedForeground)]`,children:[r,n]}),t[1]=n,t[2]=i),i}function Ml(e){let t=(0,qr.c)(3),{count:n}=e;if(n===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-[var(--status-info)]`}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-[13px] text-[var(--status-info)]`,children:[r,n]}),t[1]=n,t[2]=i),i}var Nl=()=>{if(typeof window>`u`)return;let e=window.getSelection();e?.rangeCount&&e.removeAllRanges()},Pl={touchAction:`manipulation`,userSelect:`none`,WebkitUserSelect:`none`,WebkitTouchCallout:`none`};function Fl(e){let t=(0,qr.c)(72),{session:n,isCurrent:r,isPinned:i,contextLabel:a,getSessionTitle:o,onClick:s,onRename:c,onTogglePinned:l,onShare:u,onCopyShareUrl:d,onUnshare:f,onArchive:p,onDelete:m,needsAttention:h,longPressHandlers:g}=e,{t:_}=fe(),[v,y]=Q.useState(!1),b;t[0]!==h||t[1]!==n.id?(b=h(n.id),t[0]=h,t[1]=n.id,t[2]=b):b=t[2];let x=b,S=n.share?.url,C=!!S,w=S?void 0:u,T;t[3]!==d||t[4]!==S?(T=S?()=>d(S):void 0,t[3]=d,t[4]=S,t[5]=T):T=t[5];let E=S?f:void 0,D;t[6]!==i||t[7]!==p||t[8]!==m||t[9]!==c||t[10]!==l||t[11]!==C||t[12]!==w||t[13]!==T||t[14]!==E?(D=Xc({pinned:i,shared:C,onRename:c,onTogglePin:l,onShare:w,onCopyLink:T,onUnshare:E,onArchive:p,onDelete:m}),t[6]=i,t[7]=p,t[8]=m,t[9]=c,t[10]=l,t[11]=C,t[12]=w,t[13]=T,t[14]=E,t[15]=D):D=t[15];let O=D,k;t[16]!==g.onContextMenu||t[17]!==g.pressed?(k=e=>{yl(e,g.pressed,g.onContextMenu)},t[16]=g.onContextMenu,t[17]=g.pressed,t[18]=k):k=t[18];let A=n.id,j=`session:${n.id}`,M=g.onPointerDown,N=g.onPointerMove,P=g.onPointerUp,F=g.onPointerCancel,I;t[19]!==v||t[20]!==s?(I=e=>{if(v){e.preventDefault();return}s()},t[19]=v,t[20]=s,t[21]=I):I=t[21];let L=g.pressed&&`bg-[var(--interactive-active)] scale-[0.99]`,R=r?`bg-[color-mix(in_srgb,var(--interactive-selection)_40%,transparent)]`:`hover:bg-[var(--interactive-hover)]`,z;t[22]!==L||t[23]!==R?(z=Y(`flex w-full min-h-[56px] items-center gap-3 rounded-xl px-3 py-3 text-left transition-colors select-none`,`active:bg-[var(--interactive-selection)]`,L,R),t[22]=L,t[23]=R,t[24]=z):z=t[24];let B;t[25]!==g.onPointerCancel||t[26]!==g.onPointerDown||t[27]!==g.onPointerMove||t[28]!==g.onPointerUp||t[29]!==n.id||t[30]!==I||t[31]!==z||t[32]!==j?(B=(0,$.jsx)(`button`,{type:`button`,"data-mobile-session-context-trigger":A,"data-mobile-long-press-trigger":j,onPointerDown:M,onPointerMove:N,onPointerUp:P,onPointerCancel:F,onClick:I,className:z,style:Pl}),t[25]=g.onPointerCancel,t[26]=g.onPointerDown,t[27]=g.onPointerMove,t[28]=g.onPointerUp,t[29]=n.id,t[30]=I,t[31]=z,t[32]=j,t[33]=B):B=t[33];let V=n._statusType!==`idle`,ee=x&&!r,H;t[34]!==V||t[35]!==ee?(H=(0,$.jsx)(`span`,{className:`flex h-4 w-4 flex-shrink-0 items-center justify-center`,children:(0,$.jsx)(Al,{isRunning:V,showUnread:ee})}),t[34]=V,t[35]=ee,t[36]=H):H=t[36];let U=r?`font-semibold text-[var(--surface-foreground)]`:`text-[var(--surface-foreground)]`,W;t[37]===U?W=t[38]:(W=Y(`truncate text-[15px] leading-tight`,U),t[37]=U,t[38]=W);let te;t[39]!==o||t[40]!==n?(te=o(n),t[39]=o,t[40]=n,t[41]=te):te=t[41];let G;t[42]!==W||t[43]!==te?(G=(0,$.jsx)(`span`,{className:W,children:te}),t[42]=W,t[43]=te,t[44]=G):G=t[44];let K;t[45]===a?K=t[46]:(K=a?(0,$.jsx)(`span`,{className:`truncate text-[12px] leading-none text-[var(--surface-mutedForeground)]`,children:a}):null,t[45]=a,t[46]=K);let ne;t[47]!==G||t[48]!==K?(ne=(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[G,K]}),t[47]=G,t[48]=K,t[49]=ne):ne=t[49];let re;t[50]===n._runningChildrenCount?re=t[51]:(re=(n._runningChildrenCount??0)>0&&(0,$.jsxs)(`span`,{className:`flex flex-shrink-0 items-center gap-1 text-[12px] text-[var(--surface-mutedForeground)]`,children:[(0,$.jsx)(Pc,{size:12}),n._runningChildrenCount]}),t[50]=n._runningChildrenCount,t[51]=re);let ie;t[52]===r?ie=t[53]:(ie=r&&(0,$.jsx)(Z,{name:`check`,className:`h-4 w-4 flex-shrink-0 text-[var(--primary-base)]`}),t[52]=r,t[53]=ie);let q;t[54]!==B||t[55]!==H||t[56]!==ne||t[57]!==re||t[58]!==ie||t[59]!==k?(q=(0,$.jsxs)(Rr,{onTouchStart:vl,onContextMenu:k,render:B,children:[H,ne,re,ie]}),t[54]=B,t[55]=H,t[56]=ne,t[57]=re,t[58]=ie,t[59]=k,t[60]=q):q=t[60];let ae;if(t[61]!==O||t[62]!==_){let e;t[64]===_?e=t[65]:(e=(e,t)=>(0,$.jsxs)(Q.Fragment,{children:[t>0&&(e.separated||e.id===`archive`)?(0,$.jsx)(zr,{}):null,(0,$.jsxs)(Vr,{className:`min-h-10 px-3`,onClick:e.onClick,children:[(0,$.jsx)(Z,{name:e.icon,className:`size-4`}),$c(e,_)]})]},e.id),t[64]=_,t[65]=e),ae=O.map(e),t[61]=O,t[62]=_,t[63]=ae}else ae=t[63];let J;t[66]===ae?J=t[67]:(J=(0,$.jsx)(Br,{className:`min-w-[200px] p-1.5`,children:ae}),t[66]=ae,t[67]=J);let oe;return t[68]!==v||t[69]!==q||t[70]!==J?(oe=(0,$.jsxs)(Hr,{open:v,onOpenChange:y,children:[q,J]}),t[68]=v,t[69]=q,t[70]=J,t[71]=oe):oe=t[71],oe}function Il(e){let t=(0,qr.c)(23),{label:n,leadingIcon:r,icon:i,project:a,iconOptions:o,iconBackground:s,colorVar:c,isActive:l,status:u,onClick:d}=e,f=i?$t[i]:null,p;t[0]!==c||t[1]!==l||t[2]!==f?(p=f?(0,$.jsx)(Z,{name:f,className:`h-4 w-4`,style:!l&&c?{color:c}:void 0}):null,t[0]=c,t[1]=l,t[2]=f,t[3]=p):p=t[3];let m=p,h=l?`border-transparent bg-[var(--primary-base)] text-[var(--primary-foreground)] font-medium`:`border-[var(--interactive-border)] bg-[var(--surface-subtle)] text-[var(--surface-foreground)] active:bg-[var(--interactive-hover)]`,g;t[4]===h?g=t[5]:(g=Y(`flex min-h-[40px] shrink-0 select-none items-center gap-1.5 rounded-full border px-3.5 text-[13px] leading-none whitespace-nowrap transition-colors`,h),t[4]=h,t[5]=g);let _;t[6]!==l||t[7]!==u?(_=u&&(u.hasRunning||u.hasUnread)&&!l&&(u.hasRunning?(0,$.jsx)(Pc,{size:10}):(0,$.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-[var(--status-info)]`})),t[6]=l,t[7]=u,t[8]=_):_=t[8];let v;t[9]!==m||t[10]!==s||t[11]!==o||t[12]!==a?(v=a?.iconImage?(0,$.jsx)(`span`,{className:`inline-flex h-4 w-4 items-center justify-center overflow-hidden rounded-[2px]`,style:s?{backgroundColor:s}:void 0,children:(0,$.jsx)(Jt,{project:a,options:o,className:`h-full w-full object-contain`,fallback:m})}):m,t[9]=m,t[10]=s,t[11]=o,t[12]=a,t[13]=v):v=t[13];let y;t[14]===n?y=t[15]:(y=(0,$.jsx)(`span`,{className:`max-w-[140px] truncate`,children:n}),t[14]=n,t[15]=y);let b;return t[16]!==r||t[17]!==d||t[18]!==g||t[19]!==_||t[20]!==v||t[21]!==y?(b=(0,$.jsxs)(`button`,{type:`button`,onClick:d,className:g,children:[r,_,v,y]}),t[16]=r,t[17]=d,t[18]=g,t[19]=_,t[20]=v,t[21]=y,t[22]=b):b=t[22],b}var Ll=({onSessionSwitch:e})=>{let{t}=fe(),{git:n}=In(),{currentTheme:r}=jn(),i=P(e=>e.isMobile),a=ol(),o=He(e=>e.currentSessionId),s=Ne(),c=He(e=>e.setCurrentSession),l=He(e=>e.openNewSessionDraft),u=Q.useCallback(e=>{if(!N()){et.getState().openDraft(e);return}l(e)},[l]),d=He(e=>e.archiveSession),f=He(e=>e.shareSession),p=He(e=>e.unshareSession),m=He(e=>e.updateSessionTitle),h=He(e=>e.requestSessionSmartTitle),g=P(e=>e.mobileSessionPanelOpen),_=P(e=>e.setMobileSessionPanelOpen),v=Kn({onDismiss:()=>_(!1)}),y=at(e=>e.projects),b=at(e=>e.activeProjectId),x=at(e=>e.setActiveProjectIdOnly),S=at(e=>e.removeProject),C=Ye(),w=Ee(),T=He(e=>e.availableWorktreesByProject),E=Ut(e=>e.orderByProject),D=ke(e=>e.activePaginationByDirectory),O=Nc(e=>e.expandedWorktreeGroups),k=Nc(e=>e.setWorktreeGroupExpanded),[A,j]=Q.useState(g),[M,F]=Q.useState(!1),I=ce(e=>{F(e),e&&j(!0)});Q.useEffect(()=>{g&&j(!0)},[g]);let L=ce(()=>{v.reset(),j(!1)}),{sessions:R,totalRunning:z,totalUnread:B}=xl(a,s,g||M,A),{getSessionTitle:V,needsAttention:ee}=Sl(),H=wl(a,s,o),U=Ol(),[W,te]=Q.useState(new Map),G=gc(),[K,ne]=Q.useState(new Map),[re,ie]=Q.useState(!1),[q,ae]=Q.useState(null),[J,oe]=Q.useState(null),[se,le]=Q.useState(null),[ue,me]=Q.useState(null),[he,ge]=Q.useState(``),[_e,ve]=Q.useState(null),[ye,be]=Q.useState(null),[xe,Se]=Q.useState(null),Ce=Q.useRef(null);Ce.current||=br({onPressedKeyChange:le});let we=Q.useRef(null),[Te,De]=Q.useState(!1),je=P(e=>e.mobileSessionFilterProjectId),Me=P(e=>e.setMobileSessionFilterProjectId),Pe=Q.useMemo(()=>a.some(e=>C.has(e.id)),[C,a]);Q.useEffect(()=>{!Pe&&je===ul&&Me(null)},[je,Pe,Me]);let Fe=Q.useRef(!1);Q.useEffect(()=>{let e=Fe.current;if(Fe.current=g,!g||e)return;let t=fl({activeProjectId:b,currentFilterProjectId:je,projects:y});t!==je&&Me(t)},[g,b,je,y,Me]),Q.useEffect(()=>{g||(oe(null),Se(null),Ce.current?.reset())},[g]),Q.useEffect(()=>()=>{Ce.current?.reset()},[]),Q.useEffect(()=>{if(!J)return;Nl();let e=window.requestAnimationFrame(Nl);return document.addEventListener(`selectionchange`,Nl),()=>{window.cancelAnimationFrame(e),document.removeEventListener(`selectionchange`,Nl),Nl()}},[J]);let Ie=Q.useMemo(()=>je&&je!==ul?y.find(e=>e.id===je)??null:null,[je,y]),Le=Q.useMemo(()=>Ie??y.find(e=>e.id===b)??null,[b,y,Ie]);Q.useEffect(()=>{let e=hl(Le?.path??``);if(!g||!e){De(!1);return}let t=we.current;if(t?.git===n&&t.path===e){De(t.isGitRepository);return}let r=!1;return De(!1),n.checkIsGitRepository(e).then(t=>{r||(we.current={git:n,path:e,isGitRepository:t},De(t))}).catch(()=>{r||(we.current={git:n,path:e,isGitRepository:!1},De(!1))}),()=>{r=!0}},[n,g,Le]),Q.useEffect(()=>{if(!g||y.length===0)return;let e=!1;return Promise.all(y.map(async e=>({projectId:e.id,branch:await Zt(e.path).catch(()=>null)}))).then(t=>{e||ne(e=>{let n=new Map(e);for(let e of t){let t=e.branch?.trim();t&&t!==`HEAD`&&n.set(e.projectId,t),e.branch===`HEAD`&&n.delete(e.projectId)}return n})}),()=>{e=!0}},[g,y]);let Re=Q.useMemo(()=>{if(je&&je!==ul){let e=y.find(e=>e.id===je);return e?U(e):[]}return y.flatMap(U)},[je,y,U]);Q.useEffect(()=>{g&&Oe(Re)},[g,Re]),Q.useEffect(()=>{if(!g||y.length===0)return;let e=!1;return(async()=>{let t=await Promise.all(y.map(async t=>{let r=hl(t.path);if(!r)return null;let i=!1;try{i=await n.checkIsGitRepository(r)}catch{return{path:r,status:`failed`}}if(!i)return{path:r,status:`success`,worktrees:[]};try{return{path:r,status:`success`,worktrees:(await on({id:t.id,path:r},{isCurrent:()=>!e})).worktrees}}catch{return{path:r,status:`failed`}}}));if(e)return;let r=new Set(y.map(e=>hl(e.path)).filter(Boolean)),i=t.flatMap(e=>e?[e]:[]);He.setState(e=>{let t=Jc(e.availableWorktreesByProject,r,i);return t===e.availableWorktreesByProject?{}:{availableWorktreesByProject:t,availableWorktrees:Array.from(t.values()).flat()}})})(),()=>{e=!0}},[n,g,y]);let ze=Q.useCallback(e=>pe(e.path)||e.path,[]),Be=Q.useMemo(()=>{if(!A||!je)return R;if(je===ul)return R.filter(e=>C.has(e.id));let e=y.find(e=>e.id===je);if(!e)return R;let t=U(e);return R.filter(e=>{let n=gl(e);return t.some(e=>hl(e)===n)})},[A,R,je,C,y,U]),Ve=Q.useMemo(()=>{if(!A||!Ie)return[];let e=hl(Ie.path),t=Bt(E[Ie.id],T.get(e)??[]),n=[{key:`${Ie.id}::${e}`,directory:e,label:ze(Ie),worktree:null,sessions:[]}];for(let r of t){let t=hl(r.path);!t||t===e||n.some(e=>e.directory===t)||n.push({key:`${Ie.id}::${t}`,directory:t,label:r.branch||r.label||pe(t),worktree:r,sessions:[]})}let r=new Map(n.map(e=>[e.directory,e]));for(let e of Be)r.get(gl(e))?.sessions.push(e);return n},[T,Be,ze,A,Ie,E]),Ue=Q.useCallback(e=>{let t=gl(e);for(let e of y){let n=hl(e.path),r=ze(e);if(t===n){let t=K.get(e.id);return t?`${r} · ${t}`:r}let i=(T.get(n)??[]).find(e=>hl(e.path)===t);if(i)return i.branch?`${r} · ${i.branch}`:r}return pe(t)||t||void 0},[T,ze,y,K]),We=Q.useCallback(()=>{oe(null),Ce.current?.reset(),_(!1)},[_]),Ge=()=>{oe(null),Ce.current?.reset()},Ke=e=>({pressed:se===e.key||J?.key===e.key,onPointerDown:t=>{t.pointerType!==`touch`&&t.pointerType!==`pen`||t.button!==0||Ce.current?.start({pointerId:t.pointerId,key:e.key,clientX:t.clientX,clientY:t.clientY,onTrigger:()=>{Nl(),oe(e)}})},onPointerMove:e=>{Ce.current?.move(e.pointerId,e.clientX,e.clientY)},onPointerUp:e=>{Ce.current?.end(e.pointerId)},onPointerCancel:e=>{Ce.current?.cancel(e.pointerId)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),Nl(),Ce.current?.openFromContextMenu(e.key,()=>oe(e))}}),qe=(e,t)=>{Ce.current?.consumeClick(e)||t()},Xe=Q.useCallback(t=>{Ln(),We();let n=gl(t)||null,r=dl(je);N()?c(t.id,n,{preserveActiveProject:r}):et.getState().openSession({sessionId:t.id,directory:n,preserveActiveProject:r}),e?.(t.id)},[We,je,e,c]),Ze=Q.useCallback(async e=>{try{if(!(await f(e.id))?.share?.url){Je.error(t(`sessions.sidebar.session.share.error`));return}Je.success(t(`sessions.sidebar.session.share.successTitle`),{description:t(`sessions.sidebar.session.share.successDescription`)})}catch{Je.error(t(`sessions.sidebar.session.share.error`))}},[f,t]),Qe=Q.useCallback(async e=>{if((await de(e)).ok){Je.success(t(`sessions.sidebar.session.menu.copied`));return}Je.error(t(`sessions.sidebar.session.share.copyUrlError`))},[t]),$e=Q.useCallback(async e=>{try{if(!await p(e)){Je.error(t(`sessions.sidebar.session.unshare.error`));return}Je.success(t(`sessions.sidebar.session.unshare.success`))}catch{Je.error(t(`sessions.sidebar.session.unshare.error`))}},[t,p]),tt=Q.useCallback(async e=>{if(!await d(e)){Je.error(t(`sessions.sidebar.session.archive.error`));return}Rc({sessionIds:[e],message:t(`sessions.sidebar.session.archive.success`),undoLabel:t(`sessions.sidebar.undo`),settingsLabel:t(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:t(`sessions.sidebar.session.archive.undoFailed`)})},[d,t]),nt=ce(e=>{let t=new Map;for(let e of a){let n=e.parentID??null;if(!n)continue;let r=t.get(n)??[];r.push(e.id),t.set(n,r)}let n=[],r=new Set,i=e=>{if(!r.has(e)){r.add(e),n.push(e);for(let n of t.get(e)??[])i(n)}};return i(e),n}),rt=ce(e=>{let n=nt(e.id);zc({sessionIds:n,message:n.length===1?t(`sessions.sidebar.session.delete.success`):t(`sessions.sidebar.bulkActions.deletedPlural`,{count:n.length}),undoLabel:t(`sessions.sidebar.undo`),commitFailedMessage:t(`sessions.sidebar.session.delete.error`)})}),it=Q.useCallback(e=>{ge(V(e)),me(e)},[V]),ot=Q.useCallback(async()=>{if(!ue)return;let e=he.trim();if(e)try{await m(ue.id,e),me(null),ge(``)}catch{Je.error(t(`sessions.sidebar.session.menu.rename`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[he,ue,t,m]),st=Q.useCallback(async()=>{if(!ue)return;let e=ue.id;me(null),ge(``);try{await h(e)}catch{Je.error(t(`sessions.sidebar.session.rename.smartTitle`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[ue,h,t]),ct=Q.useCallback(()=>{if(We(),je){let e=y.find(e=>e.id===je);if(e){u({selectedProjectId:e.id,directoryOverride:e.path});return}}let e=[...a].sort((e,t)=>{let n=e.time?.updated??0;return(t.time?.updated??0)-n})[0],t=e?gl(e):``;u(t?{directoryOverride:t}:void 0)},[We,je,y,a,u]),lt=Q.useCallback(()=>{!Le||!Te||(We(),x(Le.id),ae(Le.id),ie(!0))},[We,x,Te,Le]),ut=(e,t)=>{Ge(),_(!1),u({selectedProjectId:e.id,directoryOverride:t,preserveDirectoryOverride:!0})},ft=e=>{Ge(),(async()=>{try{await on({id:e.project.id,path:e.project.path})}catch(e){console.warn(`[MobileStatus] Worktree refresh before session sync failed:`,e)}let t=He.getState().availableWorktreesByProject.get(e.project.path)??e.worktrees;await Ae([e.project.path,...t.map(e=>e.path)],a)})()},pt=ce(e=>{k(e,!O[e]),te(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})}),mt=Q.useCallback(e=>{let t=(W.get(e.key)??pl)+ml;if(te(t=>{let n=new Map(t);return n.set(e.key,(t.get(e.key)??pl)+ml),n}),t<e.sessions.length)return;let n=ke.getState().activePaginationByDirectory.get(e.directory);n?.hasMore&&!n.loadingMore&&dt(e.directory)},[W]),ht=Q.useCallback(e=>{te(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),gt=e=>{let n=e.worktree===null,r=n||O[e.key]===!0,i=W.get(e.key)??pl,a=kc(e.sessions,i,G),s=D.get(e.directory),c=a.length<e.sessions.length||s?.hasMore===!0,l=e.sessions.length>pl&&i>pl,u=n&&Ie?K.get(Ie.id):null,d=e.label,f=n?`project:${Ie?.id??e.key}`:`worktree:${Ie?.id??e.key}:${e.directory}`,p=Ie?Ke(n?{key:f,kind:`project`,project:Ie,worktrees:Ve.flatMap(e=>e.worktree?[e.worktree]:[]),isGitRepository:Te}:{key:f,kind:`worktree`,project:Ie,worktree:e.worktree}):null;return(0,$.jsxs)(`section`,{className:`overflow-hidden rounded-xl`,children:[n?(0,$.jsxs)(`div`,{"data-mobile-long-press-trigger":f,className:Y(`flex min-h-12 items-center gap-2 rounded-xl px-3 py-2 text-left transition-all select-none`,p?.pressed&&`bg-[var(--interactive-active)] scale-[0.99]`),onPointerDown:p?.onPointerDown,onPointerMove:p?.onPointerMove,onPointerUp:p?.onPointerUp,onPointerCancel:p?.onPointerCancel,onContextMenu:p?.onContextMenu,style:Pl,children:[(0,$.jsx)(Z,{name:`folder-open`,className:`size-4 shrink-0 text-[var(--surface-mutedForeground)]`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`truncate text-[14px] font-semibold text-[var(--surface-foreground)]`,children:d}),u?(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-[12px] text-[var(--surface-mutedForeground)]`,children:[(0,$.jsx)(Z,{name:`git-branch`,className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:u})]}):null]}),(0,$.jsx)(`span`,{className:`shrink-0 text-[12px] tabular-nums text-[var(--surface-mutedForeground)]`,children:_l(e.sessions)})]}):(0,$.jsxs)(`button`,{type:`button`,"data-mobile-long-press-trigger":f,onClick:()=>qe(f,()=>pt(e.key)),onPointerDown:p?.onPointerDown,onPointerMove:p?.onPointerMove,onPointerUp:p?.onPointerUp,onPointerCancel:p?.onPointerCancel,onContextMenu:p?.onContextMenu,"aria-expanded":r,"aria-label":t(r?`sessions.sidebar.group.collapseAria`:`sessions.sidebar.group.expandAria`,{label:d}),className:Y(`flex min-h-12 w-full items-center gap-2 rounded-xl px-3 py-2 text-left transition-all hover:bg-[var(--interactive-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] select-none`,p?.pressed&&`bg-[var(--interactive-active)] scale-[0.99]`),style:Pl,children:[(0,$.jsx)(Z,{name:`arrow-down-s`,className:Y(`size-4 shrink-0 text-[var(--surface-mutedForeground)] transition-transform`,r?`rotate-0`:`-rotate-90`)}),(0,$.jsx)(Z,{name:`node-tree`,className:`size-4 shrink-0 text-[var(--surface-mutedForeground)]`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[14px] font-semibold text-[var(--surface-foreground)]`,children:d}),(0,$.jsx)(`span`,{className:`shrink-0 text-[12px] tabular-nums text-[var(--surface-mutedForeground)]`,children:_l(e.sessions)})]}),r?(0,$.jsxs)(`div`,{className:`pb-1`,children:[a.map(e=>(0,$.jsx)(Fl,{session:e,isCurrent:e.id===o,isPinned:C.has(e.id),getSessionTitle:V,onClick:()=>qe(`session:${e.id}`,()=>Xe(e)),onRename:()=>it(e),onTogglePinned:()=>w(e.id),onShare:()=>{Ze(e)},onCopyShareUrl:e=>{Qe(e)},onUnshare:()=>{$e(e.id)},onArchive:()=>{tt(e.id)},onDelete:()=>rt(e),needsAttention:ee,longPressHandlers:Ke({key:`session:${e.id}`,kind:`session`,session:e})},e.id)),c||l?(0,$.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 py-1 pr-3 pl-8`,children:[c?(0,$.jsx)(X,{variant:`ghost`,size:`xs`,disabled:s?.loadingMore===!0,onClick:()=>mt(e),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showMore`)}):null,l?(0,$.jsx)(X,{variant:`ghost`,size:`xs`,onClick:()=>ht(e.key),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showFewer`)}):null]}):null]}):null]},e.key)},_t=Q.useCallback(()=>(0,$.jsxs)(`div`,{className:`shrink-0`,children:[(0,$.jsx)(qn,{controller:v,ariaLabel:t(`mobile.sessions.sheet.resizeAria`)}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-4 pb-2`,children:[(0,$.jsx)(`h2`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:t(`mobile.sessions.sheet.title`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(jl,{count:z}),(0,$.jsx)(Ml,{count:B}),(0,$.jsx)(X,{variant:`ghost`,size:`icon`,onClick:ct,"aria-label":t(`mobile.sessions.newChat`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`add`,className:`h-5 w-5`})}),Te&&Le?(0,$.jsx)(X,{variant:`ghost`,size:`icon`,onClick:lt,"aria-label":t(`sessions.sidebar.project.actions.newWorktree`),title:t(`sessions.sidebar.project.actions.newWorktree`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`node-tree`,className:`size-4`})}):null,(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,onClick:We,"aria-label":t(`mobile.surface.closeAria`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`close`,className:`h-5 w-5`})})]})]}),(y.length>1||Pe)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 overflow-x-auto px-4 py-2.5 scrollbar-none`,style:{scrollbarWidth:`none`,msOverflowStyle:`none`},children:[(0,$.jsx)(Il,{label:t(`chat.modelControls.modeValue.all`),isActive:je===null,onClick:()=>Me(null)}),Pe?(0,$.jsx)(Il,{label:t(`sessions.sidebar.session.actions.pinned`),leadingIcon:(0,$.jsx)(Z,{name:`pushpin-2-fill`,className:`size-3.5`}),isActive:je===ul,onClick:()=>Me(ul)}):null,y.map(e=>(0,$.jsx)(Il,{label:ze(e),icon:e.icon,project:{id:e.id,iconImage:e.iconImage??null},iconOptions:{themeVariant:r.metadata.variant,iconColor:r.colors.surface.foreground},iconBackground:e.iconBackground??null,colorVar:e.color?nn[e.color]??null:null,isActive:je===e.id,status:H(e.path),onClick:()=>Me(e.id)},e.id))]})]}),[t,z,B,y,Pe,je,Me,ze,r,H,ct,lt,We,Te,Le,v]),vt=J?.kind===`project`?ze(J.project):J?.kind===`worktree`?J.worktree.branch||J.worktree.label||pe(J.worktree.path):J?.kind===`session`?V(J.session):``,yt=Q.useMemo(()=>{if(!_e)return null;let e=y.find(e=>e.id===_e);if(!e)return null;let t=hl(e.path),n=Bt(E[e.id],T.get(t)??[]),r=J?.kind===`project`&&J.project.id===e.id?J.isGitRepository:n.length>0||!!K.get(e.id);return{id:e.id,label:ze(e),path:t||e.path,icon:e.icon,color:e.color,iconImage:e.iconImage,iconBackground:e.iconBackground,isGitRepo:r,worktrees:n}},[J,T,_e,ze,y,K,E]),bt=Q.useMemo(()=>{if(!J)return[];if(J.kind===`project`){let e=J.project;return Zc({gitRepository:J.isGitRepository,onNewSession:()=>ut(e,e.path),onNewWorktree:()=>{let t=e.id;Ge(),We(),x(t),ae(t),ie(!0)},onSyncSessions:()=>ft(J),onEditProject:()=>{Ge(),ve(e.id)},onCloseProject:()=>{Ge(),be(e)}})}if(J.kind===`worktree`){let{project:e,worktree:t}=J;return Qc({onNewSession:()=>ut(e,t.path),onDeleteWorktree:()=>{Ge(),Se({project:e,worktree:t})}})}let e=J.session,t=!!e.share?.url;return Xc({pinned:C.has(e.id),shared:t,onRename:()=>{Ge(),it(e)},onTogglePin:()=>{Ge(),w(e.id)},onShare:t?void 0:()=>{Ge(),Ze(e)},onCopyLink:t?()=>{let t=e.share?.url;Ge(),t&&Qe(t)}:void 0,onUnshare:t?()=>{Ge(),$e(e.id)}:void 0,onArchive:()=>{Ge(),tt(e.id)},onDelete:()=>{Ge(),rt(e)}})},[J,it,Ge,We,tt,Qe,rt,Ze,$e,C,x,ut,ft,w]),xt=bt.length>0?(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,"data-mobile-session-action-sheet":J?.kind??`none`,children:bt.map(e=>{let n=(0,$.jsx)(bl,{icon:e.icon,label:$c(e,t),destructive:e.destructive,onClick:e.onClick},e.id);return e.separated?(0,$.jsx)(`div`,{className:`mt-3 border-t border-[var(--surface-subtle)] pt-3`,children:n},e.id):n})}):null;return i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Hn,{id:Un,open:g,onOpenChange:_,keepMounted:!0,presentation:`sheet`,edge:`bottom`,dismissGesture:{reservedTargetSelector:`[data-mobile-sheet-snap-handle]`},ariaLabel:t(`mobile.sessions.sheet.title`),surfaceClassName:v.snapPoint===.98?`h-[98dvh] max-h-[98dvh]`:`h-[72dvh] max-h-[98dvh]`,surfaceElementRef:v.surfaceRef,onExitComplete:L,onPreviewChange:I,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[_t(),(0,$.jsx)(Vn,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:`min-h-0 max-h-full flex-1`,className:`px-2 py-2 pwa-overlay-scroll`,children:(0,$.jsx)(`div`,{className:`flex min-h-full flex-col gap-0.5`,children:Ie?(0,$.jsxs)($.Fragment,{children:[Ve.map(gt),Ve.every(e=>e.sessions.length===0)?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center py-8 text-[13px] text-[var(--surface-mutedForeground)]`,children:(0,$.jsx)(`span`,{children:t(`chat.mobileStatus.noSessionsInProject`)})}):null]}):Be.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center py-10 text-[13px] text-[var(--surface-mutedForeground)]`,children:(0,$.jsx)(`span`,{children:t(`chat.mobileStatus.noSessionsInProject`)})}):Be.map(e=>(0,$.jsx)(Fl,{session:e,isCurrent:e.id===o,isPinned:C.has(e.id),contextLabel:Ue(e),getSessionTitle:V,onClick:()=>qe(`session:${e.id}`,()=>Xe(e)),onRename:()=>it(e),onTogglePinned:()=>w(e.id),onShare:()=>{Ze(e)},onCopyShareUrl:e=>{Qe(e)},onUnshare:()=>{$e(e.id)},onArchive:()=>{tt(e.id)},onDelete:()=>rt(e),needsAttention:ee,longPressHandlers:Ke({key:`session:${e.id}`,kind:`session`,session:e})},e.id))})})]})}),(0,$.jsx)(Tn,{open:!!J,title:vt,onClose:Ge,className:`select-none`,contentMaxHeightClassName:`max-h-[min(68dvh,560px)]`,children:xt}),(0,$.jsx)(Tn,{open:!!ue,title:t(`sessions.sidebar.session.menu.rename`),onClose:()=>{me(null),ge(``)},footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(X,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>{me(null),ge(``)},children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(X,{type:`button`,variant:`default`,className:`flex-1`,disabled:!he.trim(),onClick:()=>void ot(),children:t(`sessions.sidebar.session.rename.save`)})]}),children:(0,$.jsxs)(`form`,{className:`flex flex-col gap-3 px-1 py-1`,onSubmit:e=>{e.preventDefault(),ot()},children:[(0,$.jsx)(ln,{value:he,onChange:e=>ge(e.target.value),autoFocus:!0,className:`h-12`}),(0,$.jsxs)(X,{type:`button`,variant:`outline`,className:`w-full gap-2`,onClick:()=>void st(),children:[(0,$.jsx)(Z,{name:`ai-generate-2`,className:`size-4`}),t(`sessions.sidebar.session.rename.smartTitle`)]})]})}),(0,$.jsx)(Tn,{open:!!ye,title:t(`sessions.sidebar.project.actions.closeProject`),onClose:()=>be(null),closeAriaLabel:t(`mobile.surface.closeAria`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(X,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>be(null),children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(X,{type:`button`,variant:`destructive`,className:`flex-1`,onClick:()=>{if(!ye)return;let e=ye;be(null),S(e.id),Je.success(t(`mobile.sessions.toast.projectRemoved`,{label:ze(e)}))},children:t(`mobile.sessions.confirmRemoveProject`)})]}),children:(0,$.jsx)(`p`,{className:`px-1 py-1 typography-ui-label text-foreground`,children:t(`mobile.projects.closeConfirmMessage`,{title:ye?ze(ye):``})})}),(0,$.jsx)(jt,{open:re,projectId:q,onOpenChange:e=>{ie(e),e||ae(null)},onWorktreeCreated:(e,t)=>{ie(!1),_(!1),t?.sessionId?N()?c(t.sessionId,e):et.getState().openSession({sessionId:t.sessionId,directory:e}):q&&u({selectedProjectId:q,directoryOverride:e,preserveDirectoryOverride:!0})}}),xe?(0,$.jsx)(Hc,{open:!0,project:{id:xe.project.id,path:xe.project.path},worktree:xe.worktree,onClose:()=>Se(null),onDeleted:()=>{let e=hl(xe.project.path),t=hl(xe.worktree.path);He.setState(n=>{let r=new Map(n.availableWorktreesByProject);return r.set(e,(r.get(e)??[]).filter(e=>hl(e.path)!==t)),{availableWorktreesByProject:r,availableWorktrees:Array.from(r.values()).flat()}}),Se(null)}}):null,(0,$.jsx)(Gc,{open:_e!==null,project:yt,onClose:()=>ve(null)})]}):null},Rl=`schedule`,zl=[`git`,`diff`,`terminal`,`files`,`diagram`],Bl=[`tasks`,`history`],Vl=`/session/new`,Hl=new Set(zl),Ul=new Set(Bl),Wl=new Set([`staged`,`working`,`turn`]);function Gl(e){return!e||e===`chat`?`chat`:e===`scheduled`||e===`schedule`?Rl:e===`assistant`?`assistant`:Hl.has(e)?e:`chat`}function Kl(e){return Or(e)}function ql(e){return e&&Ul.has(e)?e:null}function Jl(e){return e&&Wl.has(e)?e:null}function Yl(){return Vl}function Xl(e,t){let n=Kl(typeof e==`string`?e:e.slug),r=typeof e==`string`?t:e.entityId,i=`/settings/${n}`;return r&&r.trim().length>0?`${i}/${encodeURIComponent(r.trim())}`:i}function Zl(e,t){return t&&t.trim().length>0?`${e}/agent/${encodeURIComponent(t.trim())}`:e}function Ql(e={}){let t=ql(e.scheduleView??e.scheduledView)??`tasks`,n=e.scheduleProjectId??e.scheduledProjectId??null,r=e.scheduleTaskId??e.scheduledTaskId??null,i;return i=n&&r?`/schedule/tasks/${encodeURIComponent(n)}/${encodeURIComponent(r)}`:t===`history`?`/schedule/history`:`/schedule`,Zl(i,e.focusSessionId)}function $l(e={}){let t=`/assistant`;return e.assistantId&&e.assistantId.trim().length>0&&(t=`/assistant/${encodeURIComponent(e.assistantId.trim())}`),Zl(t,e.focusSessionId)}function eu(e){let t=encodeURIComponent(e.sessionId),n=Gl(e.tab);if(n===`schedule`)return Ql({});if(n===`assistant`)return $l({});let r;r=n===`chat`?`/session/${t}`:`/session/${t}/${n}`;let i=new URLSearchParams;e.file&&i.set(`file`,e.file);let a=Jl(e.scope);a&&i.set(`scope`,a);let o=i.toString();return o?`${r}?${o}`:r}function tu(e){let t=Gl(e.tab);return t===`schedule`?Ql({scheduleView:e.scheduleView??e.scheduledView,scheduleProjectId:e.scheduleProjectId??e.scheduledProjectId,scheduleTaskId:e.scheduleTaskId??e.scheduledTaskId,focusSessionId:e.focusSessionId}):t===`assistant`?$l({assistantId:e.assistantId,focusSessionId:e.focusSessionId}):e.sessionId&&e.sessionId.trim().length>0?eu({sessionId:e.sessionId.trim(),tab:t,file:e.file,scope:e.scope}):`/`}function nu(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e);return{file:t.get(`file`),scope:Jl(t.get(`scope`))}}function ru(e){let t=e.indexOf(`agent`);return t>=0&&e[t+1]?{rest:e.slice(0,t),focusSessionId:decodeURIComponent(e[t+1])}:{rest:e,focusSessionId:null}}function iu(e,t){let n=e[1];return n?n===`history`?{kind:`schedule`,scheduleView:`history`,scheduleProjectId:null,scheduleTaskId:null,focusSessionId:t}:n===`tasks`&&e[2]&&e[3]?{kind:`schedule`,scheduleView:`tasks`,scheduleProjectId:decodeURIComponent(e[2]),scheduleTaskId:decodeURIComponent(e[3]),focusSessionId:t}:{kind:`schedule`,scheduleView:`tasks`,scheduleProjectId:null,scheduleTaskId:null,focusSessionId:t}:{kind:`schedule`,scheduleView:`tasks`,scheduleProjectId:null,scheduleTaskId:null,focusSessionId:t}}function au(e){let t=e,n=``,r=e.indexOf(`?`);r>=0&&(t=e.slice(0,r),n=e.slice(r));let i=t.indexOf(`#`);if(i>=0&&(t=t.slice(0,i)),t===`/session/new`||t===`/new`||t===`/session/new/`)return{kind:`new`};if(t===`/connect`)return{kind:`connect`};let a=t.match(/^\/settings(?:\/([^/]+)(?:\/([^/]+))?)?$/);if(a)return{kind:`settings`,slug:Kl(a[1]??`home`),entityId:a[2]?decodeURIComponent(a[2]):null};let o=t.split(`/`).filter(Boolean);if(o.length===0)return{kind:`unknown`};let{rest:s,focusSessionId:c}=ru(o),l=s[0];if(l===`schedule`||l===`scheduled`)return iu(s,c);if(l===`assistant`)return{kind:`assistant`,assistantId:s[1]?decodeURIComponent(s[1]):null,focusSessionId:c};if(l===`session`){let e=s[1]?decodeURIComponent(s[1]):``;if(!e)return{kind:`unknown`};if(e===`new`)return{kind:`new`};let{file:t,scope:r}=nu(n),i=s[2];if(i===`schedule`||i===`scheduled`)return iu(s.slice(2),c);if(i===`assistant`)return{kind:`assistant`,assistantId:s[3]?decodeURIComponent(s[3]):null,focusSessionId:c};if(!i)return{kind:`session`,sessionId:e,tab:`chat`,file:t,scope:r};let a=Gl(i);return a===`chat`&&i!==`chat`?{kind:`session`,sessionId:e,tab:`chat`,file:t,scope:r}:{kind:`session`,sessionId:e,tab:a,file:t,scope:r}}return{kind:`unknown`}}function ou(e){return typeof window>`u`?cu():su(e===void 0?`${window.location.pathname}${window.location.search}`:`${window.location.pathname}?${e.toString()}`)}function su(e){let t=au(e);switch(t.kind){case`new`:return{...cu(),isNewSession:!0,tab:`chat`};case`session`:{let e=t.tab;return{sessionId:t.sessionId,isNewSession:!1,tab:e===`chat`?null:e,settingsPath:null,settingsEntityId:null,diffFile:t.file,diffScope:t.scope,scheduleView:null,scheduleProjectId:null,scheduleTaskId:null,assistantId:null,focusSessionId:null}}case`schedule`:return{sessionId:null,isNewSession:!1,tab:Rl,settingsPath:null,settingsEntityId:null,diffFile:null,diffScope:null,scheduleView:t.scheduleView,scheduleProjectId:t.scheduleProjectId,scheduleTaskId:t.scheduleTaskId,assistantId:null,focusSessionId:t.focusSessionId};case`assistant`:return{sessionId:null,isNewSession:!1,tab:`assistant`,settingsPath:null,settingsEntityId:null,diffFile:null,diffScope:null,scheduleView:null,scheduleProjectId:null,scheduleTaskId:null,assistantId:t.assistantId,focusSessionId:t.focusSessionId};case`settings`:return{sessionId:null,isNewSession:!1,tab:null,settingsPath:t.slug,settingsEntityId:t.entityId,diffFile:null,diffScope:null,scheduleView:null,scheduleProjectId:null,scheduleTaskId:null,assistantId:null,focusSessionId:null};default:return cu()}}function cu(){return{sessionId:null,isNewSession:!1,tab:null,settingsPath:null,settingsEntityId:null,diffFile:null,diffScope:null,scheduleView:null,scheduleProjectId:null,scheduleTaskId:null,assistantId:null,focusSessionId:null}}function lu(){if(typeof window>`u`)return!1;try{let e=au(`${window.location.pathname}${window.location.search}`);return e.kind===`session`||e.kind===`new`||e.kind===`schedule`||e.kind===`assistant`||e.kind===`settings`||e.kind===`connect`}catch{return!1}}function uu(e){if(e.isSettingsOpen)return Xl({slug:e.settingsPath.trim().length>0?e.settingsPath:`home`,entityId:e.settingsEntityId??null});if(e.tab===`schedule`)return tu({tab:Rl,scheduleView:e.scheduleView,scheduleProjectId:e.scheduleProjectId,scheduleTaskId:e.scheduleTaskId,focusSessionId:e.focusSessionId});if(e.tab===`assistant`)return tu({tab:`assistant`,assistantId:e.assistantId,focusSessionId:e.focusSessionId});if((e.isNewSession||!e.sessionId&&e.tab===`chat`)&&e.isNewSession)return Yl();if(e.sessionId&&e.sessionId.trim().length>0&&e.sessionId!==`new`){let t=new Set([`diff`,`files`,`diagram`]).has(e.tab)&&e.diffFile?e.diffFile:null;return tu({sessionId:e.sessionId.trim(),tab:e.tab,file:t,scope:e.tab===`diff`?e.diffScope??null:null})}return e.isNewSession?Yl():`/`}function du(e){if(typeof window>`u`)return!0;try{let t=`${window.location.pathname}${window.location.search}`,n=uu(e);return JSON.stringify(au(t))===JSON.stringify(au(n))}catch{return!0}}function fu(e,t={}){if(!(typeof window>`u`)&&!(pu()||Dt())&&!(!t.force&&du(e)))try{let n=uu(e);t.replace?window.history.replaceState({...window.history.state,route:e},``,n):window.history.pushState({route:e},``,n)}catch{}}function pu(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}var mu=3e4;function hu(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}function gu(){let e=Q.useMemo(()=>hu(),[]),n=Q.useMemo(()=>Dt(),[]),r=Q.useRef(!1),a=Q.useRef(!1),o=Q.useRef(new Set),[s,c]=Q.useState(()=>ou()),l=He(e=>e.setCurrentSession),u=He(e=>e.currentSessionId),d=He(e=>e.currentSessionDirectory),f=P(e=>e.setActiveMainTab),p=P(e=>e.setSettingsDialogOpen),m=P(e=>e.setSettingsPage),h=P(e=>e.navigateToDiff),g=ke(e=>e.hasLoaded),_=ke(e=>e.activeSessions),v=ke(e=>e.archivedSessions),y=Q.useCallback(t=>{if(!e&&ou().sessionId===t){o.current.has(t)||(o.current.add(t),lt(t,`missing-directory`)),a.current=!0;try{p(!1),f(`chat`),fu({sessionId:t,tab:`chat`,isSettingsOpen:!1,settingsPath:`home`,diffFile:null},{replace:!0,force:!0}),c(ou())}finally{a.current=!1}}},[e,f,c,p]),b=Q.useCallback(async e=>{if(!a.current){a.current=!0;try{if(e.settingsPath){m(Or(e.settingsPath)),p(!0);return}if(P.getState().isSettingsDialogOpen&&p(!1),e.tab===`schedule`||e.tab===`assistant`){f(e.tab),e.tab===`assistant`&&e.assistantId&&pt.getState().selectAssistant(e.assistantId);return}if(e.isNewSession){f(`chat`),He.getState().newSessionDraft.open||He.getState().openNewSessionDraft();return}if(e.sessionId){let t=e.sessionId,n=Ir(t);if(!n){a.current=!1;let e=await Lr(t);a.current=!0,n=e?.directory??null}let r=He.getState();n&&(t!==r.currentSessionId||n!==r.currentSessionDirectory)&&l(t,n)}e.tab?f(e.tab):e.sessionId&&f(`chat`),e.diffFile&&(e.tab===`diff`||!e.tab)&&h(e.diffFile)}finally{a.current=!1}}},[l,f,p,m,h]),x=Q.useCallback(()=>{let e=He.getState(),t=P.getState(),n=ou(),r=t.activeMainTab,i=!!e.newSessionDraft?.open&&!e.currentSessionId,a=!i&&(r===`schedule`||r===`assistant`);return{isNewSession:i,sessionId:a||i?null:e.currentSessionId??n.sessionId,tab:i?`chat`:a?r:t.activeMainTab||n.tab||`chat`,isSettingsOpen:t.isSettingsDialogOpen,settingsPath:t.settingsPage,settingsEntityId:n.settingsEntityId,diffFile:a||i?null:t.pendingDiffFile??n.diffFile,diffScope:a||i?null:n.diffScope,scheduleView:a&&r===`schedule`?n.scheduleView:null,scheduleProjectId:a&&r===`schedule`?n.scheduleProjectId:null,scheduleTaskId:a&&r===`schedule`?n.scheduleTaskId:null,assistantId:a&&r===`assistant`?mt()??n.assistantId:null,focusSessionId:a?n.focusSessionId:null}},[]),S=Q.useCallback((t={})=>{e||n||a.current||(fu(x(),t),c(ou()))},[e,n,x]);Q.useEffect(()=>{if(r.current||(r.current=!0,!lu()))return;let t=ou();(async()=>{await b(t),!e&&!n&&fu({...x(),isNewSession:t.isNewSession||x().isNewSession,sessionId:t.isNewSession?null:t.sessionId??He.getState().currentSessionId??x().sessionId,tab:t.tab??P.getState().activeMainTab,settingsPath:t.settingsPath??P.getState().settingsPage,diffFile:t.isNewSession?null:t.diffFile??P.getState().pendingDiffFile},{replace:!0,force:!0})})()},[b,x,e,n]),Q.useEffect(()=>{if(!s.sessionId||s.isNewSession)return;let e=!1,t=s.sessionId;if(ou().sessionId!==t||u===t&&d||o.current.has(t))return;let n=Ir(t);if(n){o.current.delete(t),l(t,n);return}return(async()=>{let n=await Lr(t);if(!e&&ou().sessionId===t){if(n?.directory){o.current.delete(t);let e=He.getState();(e.currentSessionId!==t||e.currentSessionDirectory!==n.directory)&&l(t,n.directory);return}ke.getState().hasLoaded&&y(t)}})(),()=>{e=!0}},[_,v,d,u,y,g,s.isNewSession,s.sessionId,l]),Q.useEffect(()=>{let t=u===s.sessionId&&!!d;if(!s.sessionId||s.isNewSession||e||t)return;let n=s.sessionId,r=setTimeout(()=>{let e=He.getState(),t=e.currentSessionId===n&&!!e.currentSessionDirectory;ou().sessionId===n&&!t&&y(n)},mu);return()=>clearTimeout(r)},[d,u,y,e,s.sessionId]),Q.useEffect(()=>{if(e||n)return;let t=He.getState().currentSessionId,r=!!He.getState().newSessionDraft?.open;return He.subscribe(e=>{let n=e.currentSessionId,i=!!e.newSessionDraft?.open;n===t&&i===r||a.current||(t=n,r=i,S(),c(ou()))})},[e,n,S]),Q.useEffect(()=>{if(e||n)return;let t=P.getState().activeMainTab,r=P.getState().isSettingsDialogOpen,i=P.getState().settingsPage,o=P.getState().pendingDiffFile;return P.subscribe(e=>{if(a.current)return;let n=e.activeMainTab!==t,s=e.isSettingsDialogOpen!==r,c=e.settingsPage!==i,l=e.pendingDiffFile!==o&&e.activeMainTab===`diff`;t=e.activeMainTab,r=e.isSettingsDialogOpen,i=e.settingsPage,o=e.pendingDiffFile,(n||s||c||l)&&S()})},[e,n,S]),Q.useEffect(()=>{if(e||n)return;let t=mt();return pt.subscribe(()=>{if(a.current)return;if(P.getState().activeMainTab!==`assistant`){t=mt();return}let e=mt();e!==t&&(t=e,S())})},[e,n,S]),Q.useEffect(()=>{if(typeof window>`u`||e||n)return;let t=()=>{let e=ou();if(c(e),lu())b(e);else{let e=P.getState();e.isSettingsDialogOpen&&p(!1),e.activeMainTab!==`chat`&&f(`chat`)}};return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t)}},[b,e,n,f,p]),Q.useEffect(()=>{if(!(e||n))return t(e=>{i(e)&&(o.current.clear(),queueMicrotask(()=>{c(ou())}))})},[e,n])}var _u=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,vu=(e,t)=>{let n=new Set;for(let r of e){if(!r.trim())continue;let e=_u(r);n.add(e);for(let[r,i]of t)if(_u(r)===e)for(let e of i)e.path.trim()&&n.add(_u(e.path))}return[...n]},yu=(e,t,n)=>{let r=vu(e,t),i=n?.currentDirectory?.trim()??``;if(!i)return{directories:r};let a=_u(i),o=null;for(let t of e){if(!t.trim())continue;let e=_u(t);(a===e||a.startsWith(`${e}/`))&&(!o||e.length>o.length)&&(o=e)}for(let[e,n]of t){let t=_u(e);for(let e of n){if(!e.path.trim())continue;let n=_u(e.path);(a===n||a.startsWith(`${n}/`))&&(!o||t.length>o.length)&&(o=t)}}if(!o)return r.includes(a)?{directories:r,priorityDirectories:[a]}:{directories:r};let s=new Set([o]);for(let[e,n]of t)if(_u(e)===o)for(let e of n)e.path.trim()&&s.add(_u(e.path));r.includes(a)&&s.add(a);let c=r.filter(e=>s.has(e));return c.length===0||c.length>=r.length?{directories:r}:{directories:r,priorityDirectories:c}},bu=async(e,t=Le,n)=>{try{await t(e,n)}catch(e){console.warn(`[SessionStartup] Initial session index sync failed:`,e)}finally{Ze()}},xu=async(e,t,n=Le,r=ot)=>{r().catch(e=>{console.warn(`[SessionStartup] Early session index hydrate failed:`,e)}),await e;let i=t();await bu(i.directories,n,{priorityDirectories:i.priorityDirectories})},Su=()=>{let e=(0,qr.c)(2),t=Q.useRef(!1),n,r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{if(t.current)return;t.current=!0;let e=kt(a());xu(e,wu),Promise.resolve(e).then(Du)},r=[],e[0]=n,e[1]=r):(n=e[0],r=e[1]),Q.useLayoutEffect(n,r),null};function Cu(e){return e.path}function wu(){return yu(at.getState().projects.map(Cu),He.getState().availableWorktreesByProject,{currentDirectory:k.getState().currentDirectory})}function Tu(e){return e.path}function Eu(e){console.warn(`[SessionStartup] Batch git discovery failed (fallback to per-directory):`,e)}function Du(){let e=at.getState().projects.map(Tu);e.length!==0&&St(e).catch(Eu)}var Ou=()=>{let e=(0,qr.c)(13),[t,n]=(0,Q.useState)(!1),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{n(v())},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Q.useEffect)(r,i);let a;e[2]===t?a=e[3]:(a=async e=>t?await _(e):{success:!0,path:e},e[2]=t,e[3]=a);let o=a,s;e[4]===t?s=e[5]:(s=async e=>t?await b(e):{success:!0},e[4]=t,e[5]=s);let l=s,u;e[6]===t?u=e[7]:(u=async e=>t?await c(e):{success:!0},e[6]=t,e[7]=u);let d=u,f;return e[8]!==t||e[9]!==o||e[10]!==l||e[11]!==d?(f={isDesktop:t,requestAccess:o,startAccessing:l,stopAccessing:d},e[8]=t,e[9]=o,e[10]=l,e[11]=d,e[12]=f):f=e[12],f},ku=e=>e.trim().replace(/\s+/g,`-`).replace(/[^A-Za-z0-9._/-]/g,`-`).replace(/-+/g,`-`).replace(/\/{2,}/g,`/`).replace(/\/-+/g,`/`).replace(/-+\//g,`/`).replace(/^[-/]+/,``).replace(/[-/]+$/,``),Au=({currentBranch:e,onRename:t,showEditButton:n=!0,iconOnly:r=!1})=>{let{t:i}=fe(),[a,o]=Q.useState(!1),[s,c]=Q.useState(e||``),[l,u]=Q.useState(!1),d=Q.useRef(null),f=()=>{!e||!t||(c(e),o(!0),setTimeout(()=>d.current?.focus(),0))},p=async()=>{if(!e||!t||!s.trim())return;let n=ku(s);if(n===e){o(!1);return}u(!0);try{await t(e,n),o(!1),c(``)}finally{u(!1)}},m=()=>{o(!1),c(``)},h=e=>{e.key===`Enter`?(e.preventDefault(),p()):e.key===`Escape`&&(e.preventDefault(),m())};if(a)return(0,$.jsx)(`div`,{className:`flex h-6 items-center gap-1.5 rounded-md bg-primary/12 px-1.5`,children:(0,$.jsxs)(`form`,{className:`flex w-full items-center gap-1.5`,onSubmit:e=>{e.preventDefault(),p()},children:[(0,$.jsx)(Z,{name:`git-branch`,className:`size-3.5 text-primary`}),(0,$.jsx)(`input`,{ref:d,value:s,onChange:e=>c(e.target.value),className:`flex-1 min-w-0 bg-transparent typography-ui-label outline-none placeholder:text-muted-foreground`,placeholder:i(`gitView.branch.namePlaceholder`),onKeyDown:h,autoFocus:!0}),(0,$.jsx)(`button`,{type:`submit`,disabled:l,"aria-label":i(l?`gitView.branch.renameSaving`:`gitView.branch.renameSave`),title:i(l?`gitView.branch.renameSaving`:`gitView.branch.renameSave`),className:`shrink-0 text-muted-foreground hover:text-foreground disabled:opacity-50`,children:l?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`check`,className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,onClick:m,disabled:l,"aria-label":i(`gitView.branch.renameCancel`),title:i(`gitView.branch.renameCancel`),className:`shrink-0 text-muted-foreground hover:text-foreground disabled:opacity-50`,children:(0,$.jsx)(Z,{name:`close`,className:`size-3.5`})})]})});let g=e||i(`gitView.branch.detachedHead`);return r?(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,onClick:f,disabled:!e||!t,"aria-label":g,children:(0,$.jsx)(Z,{name:`git-branch`,className:`size-3.5`})})}),(0,$.jsx)(dn,{sideOffset:8,children:g})]}):(0,$.jsxs)(`div`,{className:`flex h-6 w-full min-w-0 items-center gap-1 px-0`,children:[(0,$.jsx)(Z,{name:`git-branch`,className:`size-3.5 text-primary shrink-0`}),(0,$.jsxs)(`div`,{className:`inline-flex min-w-0 max-w-full items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:g}),n&&t&&e&&(0,$.jsx)(X,{variant:`ghost`,size:`xs`,className:`size-6 p-0 shrink-0`,onClick:f,title:i(`gitView.branch.renameTitle`),children:(0,$.jsx)(Z,{name:`edit`,className:`size-3.5`})})]})]})},ju=e=>{let t=(0,qr.c)(38),{syncAction:n,remotes:r,onSync:i,disabled:a,aheadCount:o,behindCount:s,trackingRemoteName:c,hasUncommittedChanges:l}=e,u;t[0]===r?u=t[1]:(u=r===void 0?[]:r,t[0]=r,t[1]=u);let d=u,f=o===void 0?0:o,p=s===void 0?0:s,m=l!==void 0&&l,{t:h}=fe(),g;t[2]!==d||t[3]!==c?(g=d.find(e=>e.name===c)??d[0],t[2]=d,t[3]=c,t[4]=g):g=t[4];let _=g,v=p>0&&m,y=a||n!==null||!_||v,b=f>0||p>0,x;t[5]!==f||t[6]!==p||t[7]!==v||t[8]!==b||t[9]!==h||t[10]!==_?(x=v?h(`gitView.sync.commitOrStashTooltip`):_?b?h(`gitView.sync.syncChangesTooltip`,{ahead:f,behind:p}):h(`gitView.sync.syncChanges`):h(`gitView.sync.noRemoteTooltip`),t[5]=f,t[6]=p,t[7]=v,t[8]=b,t[9]=h,t[10]=_,t[11]=x):x=t[11];let S=x,C;t[12]!==i||t[13]!==_?(C=()=>{_&&i(_)},t[12]=i,t[13]=_,t[14]=C):C=t[14];let w=C,T=b?0:void 0,E;t[15]!==f||t[16]!==p||t[17]!==b||t[18]!==h?(E=b?h(`gitView.sync.syncChangesTooltip`,{ahead:f,behind:p}):h(`gitView.sync.syncChanges`),t[15]=f,t[16]=p,t[17]=b,t[18]=h,t[19]=E):E=t[19];let D;t[20]===n?D=t[21]:(D=n===`sync`?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`refresh`,className:`size-3.5`}),t[20]=n,t[21]=D);let O;t[22]===b?O=t[23]:(O=b?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`absolute -right-0.5 top-0 size-1 rounded-full bg-[var(--status-error)] ring-1 ring-[var(--surface-background)]`}):null,t[22]=b,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,$.jsxs)(`span`,{className:`relative flex size-3.5 shrink-0`,children:[D,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==w||t[28]!==y||t[29]!==E||t[30]!==k?(A=(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:w,disabled:y,className:`inline-flex h-6 w-fit shrink-0 items-center justify-center gap-1 rounded px-1 text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":E,children:k})}),t[27]=w,t[28]=y,t[29]=E,t[30]=k,t[31]=A):A=t[31];let j;t[32]===S?j=t[33]:(j=(0,$.jsx)(dn,{side:`bottom`,sideOffset:8,children:S}),t[32]=S,t[33]=j);let M;return t[34]!==A||t[35]!==j||t[36]!==T?(M=(0,$.jsxs)(fn,{delayDuration:T,children:[A,j]}),t[34]=A,t[35]=j,t[36]=T,t[37]=M):M=t[37],M},Mu={branch:`git-branch`,briefcase:`briefcase`,house:`home`,graduation:`graduation-cap`,code:`code`,heart:`heart`,user:`user-3`},Nu={keyword:`var(--syntax-keyword)`,error:`var(--status-error)`,string:`var(--syntax-string)`,function:`var(--syntax-function)`,type:`var(--syntax-type)`,success:`var(--status-success)`,info:`var(--status-info)`,warning:`var(--status-warning)`};function Pu(e){return e&&Nu[e]||`var(--primary)`}var Fu=e=>{let t=(0,qr.c)(36),{activeProfile:n,identities:r,onSelect:i,isApplying:a,iconOnly:o}=e,s=o!==void 0&&o,{t:c}=fe(),l=Mu[n?.icon??`branch`]??`user-3`,u=n?.color,d;t[0]===u?d=t[1]:(d=Pu(u),t[0]=u,t[1]=d);let f;t[2]===d?f=t[3]:(f={color:d},t[2]=d,t[3]=f);let p=a||r.length===0,m=a?`loader-4`:l,h=a?`size-4 animate-spin`:`size-4`,g;t[4]!==m||t[5]!==h?(g=(0,$.jsx)(Z,{name:m,className:h}),t[4]=m,t[5]=h,t[6]=g):g=t[6];let _;t[7]!==n?.name||t[8]!==s||t[9]!==c?(_=s?null:(0,$.jsx)(`span`,{className:`git-identity-label min-w-0 flex-1 truncate text-left`,children:n?.name||c(`gitView.header.noIdentity`)}),t[7]=n?.name,t[8]=s,t[9]=c,t[10]=_):_=t[10];let v;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-4 opacity-60`}),t[11]=v):v=t[11];let y;t[12]!==f||t[13]!==p||t[14]!==g||t[15]!==_?(y=(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,className:`h-8 min-w-0 max-w-[15rem] justify-start gap-1.5 px-2 py-1 typography-ui-label`,style:f,disabled:p,children:[g,_,v]})})}),t[12]=f,t[13]=p,t[14]=g,t[15]=_,t[16]=y):y=t[16];let b;t[17]===c?b=t[18]:(b=c(`gitView.header.identityTooltip`),t[17]=c,t[18]=b);let x;t[19]===b?x=t[20]:(x=(0,$.jsx)(dn,{sideOffset:8,children:b}),t[19]=b,t[20]=x);let S;t[21]!==y||t[22]!==x?(S=(0,$.jsxs)(fn,{children:[y,x]}),t[21]=y,t[22]=x,t[23]=S):S=t[23];let C;if(t[24]!==n?.id||t[25]!==r||t[26]!==i){let e;t[28]!==n?.id||t[29]!==i?(e=e=>(0,$.jsxs)(vn,{onSelect:()=>i(e),children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e.name}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.userEmail})]}),n?.id===e.id?(0,$.jsx)(Z,{name:`check`,className:`ml-auto size-4 text-foreground`}):null]},e.id),t[28]=n?.id,t[29]=i,t[30]=e):e=t[30],C=r.map(e),t[24]=n?.id,t[25]=r,t[26]=i,t[27]=C}else C=t[27];let w;t[31]===C?w=t[32]:(w=(0,$.jsx)(Sn,{align:`end`,className:`w-64`,children:C}),t[31]=C,t[32]=w);let T;return t[33]!==S||t[34]!==w?(T=(0,$.jsxs)(En,{children:[S,w]}),t[33]=S,t[34]=w,t[35]=T):T=t[35],T},Iu=(e,t)=>e??t,Lu=e=>e===`/`,Ru=e=>e.replace(/\\/g,`/`),zu=e=>{if(!e||Lu(e))return e;let t=e;for(;t.length>1&&t.endsWith(`/`);)t=t.slice(0,-1);return t},Bu=e=>e.endsWith(`/`),Vu=e=>{let t=e.trim();return!t||Bu(t)?t:`${t}/`},Hu=e=>e.lastIndexOf(`/`),Uu=e=>{if(Bu(e))return e;let t=Hu(e);return t<0?e:e.slice(0,t+1)},Wu=e=>{let t=Hu(e);return e.slice(t+1)},Gu=e=>{let t=zu(e.trim());if(!t||t===`~`||t===`~/`||t===`/`)return null;let n=Hu(t);return n<0?null:t.startsWith(`~/`)&&n<=1?`~/`:n===0?`/`:`${t.slice(0,n)}/`},Ku=e=>Bu(e)&&Gu(e)!==null,qu=(e,t)=>`${Uu(e)}${t}/`,Ju=e=>{if(!e)return null;let t=zu(Ru(e.trim()));return t?t.toLowerCase():null},Yu=(e,t)=>{let n=e.trim();return n===`~`?t:n.startsWith(`~/`)?`${t}${n.slice(1)}`:n},Xu=e=>typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey,Zu=e=>{if(!e)return;e.focus({preventScroll:!0});let t=e.value.length;e.setSelectionRange(t,t),e.scrollLeft=e.scrollWidth},Qu=async()=>{try{let e=await s(`/api/fs/home`,{method:`GET`,headers:{Accept:`application/json`}});if(e.ok){let t=await e.json();if(typeof t.home==`string`&&t.home.trim().length>0)return Ru(t.home.trim())}}catch{}return j.getFilesystemHome().catch(()=>null)},$u=({open:e,onOpenChange:t,forceMobile:n})=>{let{t:r}=fe(),i=k(e=>e.homeDirectory),a=at(e=>e.projects),o=at(e=>e.addProject),s=Nr(e=>e.profiles),c=Nr(e=>e.globalIdentity),l=Nr(e=>e.defaultGitIdentityId),u=Nr(e=>e.loadProfiles),d=Nr(e=>e.loadGlobalIdentity),f=Nr(e=>e.loadDefaultGitIdentityId),{isDesktop:p,requestAccess:m,startAccessing:h}=Ou(),g=Iu(n,Nn().isMobile),_=Q.useRef(null),v=Q.useRef(new Map),[y,b]=Q.useState(``),[x,S]=Q.useState(`~/`),[C,w]=Q.useState([]),[T,E]=Q.useState(!1),[D,O]=Q.useState(!1),[A,M]=Q.useState(0),[N,P]=Q.useState(!1),[F,I]=Q.useState(!1),[L,R]=Q.useState(!1),[z,B]=Q.useState(``),[V,ee]=Q.useState(null),[H,U]=Q.useState(!1),W=y||i,te=Q.useMemo(()=>new Set(a.map(e=>Ju(e.path)).filter(e=>!!e)),[a]);Q.useEffect(()=>{if(!e)return;S(`~/`),w([]),M(0),P(!1),I(!1),R(!1),B(``),ee(null),U(!1),requestAnimationFrame(()=>Zu(_.current));let t=!1;return(async()=>{let e=await Qu();t||(b(e||i||``),requestAnimationFrame(()=>Zu(_.current)))})(),()=>{t=!0}},[i,e]),Q.useEffect(()=>{e&&(u(),d(),f())},[f,u,d,e]);let G=Q.useMemo(()=>{let e=new Map;c&&e.set(c.id,c);for(let t of s)e.set(t.id,t);return Array.from(e.values())},[s,c]);Q.useEffect(()=>{if(!e||!L||V!==null)return;let t=typeof l==`string`?l.trim():``;if(t&&G.some(e=>e.id===t)){ee(t);return}let n=G.find(e=>e.authType===`ssh`||e.sshKey);n&&ee(n.id)},[G,l,L,e,V]);let K=Q.useMemo(()=>G.find(e=>e.id===V)??null,[G,V]),ne=Q.useMemo(()=>Uu(x),[x]),re=Q.useMemo(()=>Bu(x)?``:Wu(x),[x]),ie=Q.useMemo(()=>W?Yu(ne,W):``,[ne,W]);Q.useEffect(()=>{if(!e||!ie){w([]);return}let t=!1;return E(!0),O(!1),j.listLocalDirectory(ie).then(e=>{if(t)return;O(!1);let n=e.filter(e=>e.isDirectory).map(e=>({name:e.name,path:Ru(e.path)})).sort((e,t)=>e.name.localeCompare(t.name));w(n)}).catch(()=>{t||(w([]),O(!0))}).finally(()=>{t||E(!1)}),()=>{t=!0}},[ie,e]);let q=Q.useMemo(()=>{let e=re.toLowerCase(),t=H||re.startsWith(`.`);return C.filter(n=>n.name.toLowerCase().startsWith(e)&&(t||!n.name.startsWith(`.`)))},[re,C,H]),ae=Q.useMemo(()=>{let e=[];Ku(x)&&e.push({type:`up`,value:`browse:up`,name:`..`,path:Gu(x)});for(let t of q){let n=Ju(t.path);e.push({type:`directory`,value:`browse:${t.path}`,name:t.name,path:t.path,alreadyAdded:!!(n&&te.has(n))})}return e},[te,q,x]);Q.useEffect(()=>{M(0)},[x,ae.length]);let J=Q.useMemo(()=>W?zu(Yu(x,W)):``,[W,x]),oe=Ju(J),se=!!(oe&&te.has(oe)),le=Q.useMemo(()=>re?q.find(e=>e.name===re)??null:null,[re,q]),ue=!!(J&&!se&&(Bu(x)&&D||!Bu(x)&&re.trim().length>0&&le===null)),de=!N&&!F&&!se&&!!J,pe=de&&z.trim().length>0,me=ae[A]??null,he=!!me,ge=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`,_e=r(se?`directoryExplorerDialog.actions.alreadyAdded`:L?N?`directoryExplorerDialog.actions.cloning`:`directoryExplorerDialog.actions.cloneAndAdd`:N?`directoryExplorerDialog.actions.adding`:ue?`directoryExplorerDialog.actions.createAndAdd`:`directoryExplorerDialog.actions.addProject`);Q.useLayoutEffect(()=>{e&&Zu(_.current)},[e]),Q.useLayoutEffect(()=>{let e=ae[A];e&&v.current.get(e.value)?.scrollIntoView({block:`nearest`})},[A,ae]);let ve=ce(()=>{t(!1)}),ye=ce(e=>{let t=He.getState();t.newSessionDraft?.open&&t.setNewSessionDraftTarget({projectId:e.id,directoryOverride:e.path},{force:!0})}),be=ce(e=>{let t={selectedProjectId:e.id,directoryOverride:e.path,preserveDirectoryOverride:!0};if(g){et.getState().openDraft(t);return}He.getState().openNewSessionDraft(t)}),xe=ce((e,t)=>{e.stopPropagation();let n=Ju(t);if(n&&te.has(n))return;let i=o(t);if(!i){Je.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}ye(i)}),Se=ce(async e=>{if(!e||N)return;let t=Ju(e);if(t&&te.has(t))return;let n=e;P(!0);try{let t=!L&&ue&&Ju(e)===Ju(J);if(L){let t=z.trim();if(!t){Je.error(r(`directoryExplorerDialog.toast.cloneUrlRequired`));return}n=(await j.cloneRepository({remoteUrl:t,destinationPath:e,gitIdentityId:K?.id??null})).path}else t&&await j.createDirectory(e);let i=o(n);if(!i){Je.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}be(i),ve()}catch(e){Je.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{P(!1)}}),Ce=ce(e=>{S(Vu(e))}),we=ce(e=>{S(qu(x,e.name))}),Te=ce(e=>{if(e){if(e.type===`up`){e.path&&Ce(e.path);return}we(e)}}),Ee=ce(async()=>{if(!(!p||F)){I(!0);try{let e=await m(J);if(!e.success||!e.path){e.error&&e.error!==`Directory selection cancelled`&&Je.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e.error});return}let t=await h(e.path);if(!t.success){Je.error(r(`directoryExplorerDialog.toast.failedToOpenDirectory`),{description:t.error||r(`directoryExplorerDialog.toast.desktopCouldNotGrantAccess`)});return}await Se(e.path)}catch(e){Je.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{I(!1)}}}),De=ce(e=>{if(e.key===`ArrowDown`){e.preventDefault(),M(e=>Math.min(ae.length-1,e+1));return}if(e.key===`ArrowUp`){e.preventDefault(),M(e=>Math.max(0,e-1));return}if(e.key===`Enter`){if(e.preventDefault(),Xu(e)){Se(J);return}he&&Te(me);return}e.key===`Backspace`&&x===``&&(e.preventDefault(),ve())}),Oe=(0,$.jsxs)(`button`,{type:`button`,onClick:()=>U(e=>!e),className:`flex flex-shrink-0 items-center gap-2 rounded-lg px-2 py-1 typography-meta text-muted-foreground transition-colors hover:bg-interactive-hover/40`,children:[H?(0,$.jsx)(Z,{name:`checkbox`,className:`h-4 w-4 text-primary`}):(0,$.jsx)(Z,{name:`checkbox-blank`,className:`h-4 w-4`}),r(`directoryExplorerDialog.toggle.showHidden`)]}),ke=(0,$.jsxs)(`div`,{className:`px-2.5 py-1.5`,children:[L?(0,$.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5`,children:[(0,$.jsx)(ln,{value:z,onChange:e=>B(e.target.value),placeholder:r(`directoryExplorerDialog.clone.remoteUrlPlaceholder`),className:`min-w-0 flex-1 border-border/60 bg-[var(--surface-elevated)] font-mono typography-ui-label shadow-none`,spellCheck:!1,autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`off`}),(0,$.jsx)(Fu,{activeProfile:K,identities:G,onSelect:e=>ee(e.id),isApplying:N,iconOnly:!0})]}):null,(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{name:`folder-add`,className:`pointer-events-none absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground/80`}),(0,$.jsx)(ln,{ref:_,value:x,onChange:e=>S(Ru(e.target.value)),onKeyDown:De,placeholder:r(`directoryExplorerDialog.pathInput.placeholder`),className:`border-transparent bg-transparent pl-9 font-mono typography-ui-label shadow-none focus-visible:ring-0`,spellCheck:!1,autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`off`})]})]}),Ae=(0,$.jsx)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden rounded-xl border border-border/60 bg-[var(--surface-elevated)] shadow-sm dark:shadow-none`,children:(0,$.jsxs)(`div`,{className:`max-h-[min(28rem,58vh)] overflow-y-auto p-2`,children:[(0,$.jsx)(`div`,{className:`px-2 pb-1 pt-0.5 typography-meta font-medium uppercase tracking-wide text-muted-foreground/80`,children:r(`directoryExplorerDialog.browse.directories`)}),T?(0,$.jsx)(`div`,{className:`py-10 text-center typography-ui-label text-muted-foreground`,children:r(`directoryExplorerDialog.browse.loading`)}):ae.length===0?(0,$.jsx)(`div`,{className:`py-10 text-center typography-ui-label text-muted-foreground`,children:r(`directoryExplorerDialog.browse.empty`)}):(0,$.jsx)(`div`,{className:`space-y-0.5`,children:ae.map((e,t)=>{let n=t===A;return(0,$.jsxs)(`div`,{onMouseEnter:()=>M(t),className:Y(`flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,n&&`bg-interactive-selection text-interactive-selection-foreground`,!n&&`hover:bg-interactive-hover/50`),children:[(0,$.jsxs)(`button`,{ref:t=>{t?v.current.set(e.value,t):v.current.delete(e.value)},type:`button`,onMouseDown:e=>e.preventDefault(),onClick:()=>Te(e),className:`flex min-w-0 flex-1 items-center gap-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:[e.type===`up`?(0,$.jsx)(Z,{name:`arrow-left-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/80`}):(0,$.jsx)(Z,{name:`folder-6`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/80`}),(0,$.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:e.name})})]}),e.type===`directory`&&e.alreadyAdded?(0,$.jsx)(`span`,{className:`rounded-full border border-border/60 px-2 py-0.5 typography-meta text-muted-foreground`,children:r(`directoryExplorerDialog.browse.addedBadge`)}):e.type===`directory`?(0,$.jsx)(`button`,{type:`button`,onMouseDown:e=>e.stopPropagation(),onClick:t=>xe(t,e.path),className:`flex-shrink-0 rounded-full p-1 text-muted-foreground transition-colors hover:bg-interactive-hover/60 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,title:r(`directoryExplorerDialog.browse.quickAdd`),children:(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`})}):null]},e.value)})})]})}),je=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:[ke,Ae]}),Me=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 typography-micro text-muted-foreground`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(Z,{name:`arrow-up-s`,className:`h-3.5 w-3.5`}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:`-ml-1 h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.navigate`)]}),(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(Z,{name:`corner-down-left`,className:`h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.select`)]}),(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(`span`,{children:ge}),(0,$.jsx)(Z,{name:`corner-down-left`,className:`h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.add`)]})]}),Ne=()=>(0,$.jsxs)($.Fragment,{children:[g?null:Me,(0,$.jsxs)(`div`,{className:Y(`flex w-full flex-row justify-end gap-2 sm:w-auto`,g&&`justify-stretch`),children:[p?(0,$.jsx)(X,{variant:`ghost`,size:`xs`,onClick:Ee,disabled:N||F||L,children:r(F?`directoryExplorerDialog.actions.openingFinder`:`directoryExplorerDialog.actions.openInFinder`)}):null,(0,$.jsx)(X,{variant:`ghost`,size:`xs`,onClick:()=>R(e=>!e),disabled:N||F,className:Y(g&&`flex-1`),children:r(L?`directoryExplorerDialog.actions.addLocalProject`:`directoryExplorerDialog.actions.cloneRepository`)}),g?(0,$.jsx)(X,{size:`xs`,onClick:()=>void Se(J),disabled:L?!pe:!de,className:`flex-1`,children:_e}):(0,$.jsx)(X,{size:`xs`,onClick:()=>void Se(J),disabled:L?!pe:!de,children:_e})]})]});return g?(0,$.jsx)(Bn,{id:`mobile-directory-explorer-sheet`,open:e,onOpenChange:t,title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:r(`directoryExplorerDialog.title`)}),trailing:Oe,ariaLabel:r(`directoryExplorerDialog.title`),closeAriaLabel:r(`mobile.surface.closeAria`),resizeAriaLabel:r(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-2`,children:je}),(0,$.jsx)(`div`,{className:`shrink-0 border-t border-border/40 px-3 pb-4 pt-2`,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:Ne()})})]})}):(0,$.jsx)(bt,{open:e,onOpenChange:t,children:(0,$.jsxs)(_t,{className:`flex w-full max-w-xl flex-col gap-0 overflow-hidden p-0 sm:max-h-[80vh]`,initialFocus:!1,children:[(0,$.jsx)(ht,{className:`px-5 pb-2 pt-5`,children:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(vt,{children:r(`directoryExplorerDialog.title`)}),(0,$.jsx)(yt,{className:`mt-2`,children:r(`directoryExplorerDialog.description`)})]}),Oe]})}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 px-2 pb-0`,children:je}),(0,$.jsx)(gt,{className:`flex w-full flex-col gap-3 px-5 py-3 sm:flex-row sm:items-center sm:justify-between`,children:Ne()})]})})},ed=`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,td=`oc-settings-group-label`,nd=Kr();function rd(e){if(!e||!e.trim())return{valid:!1,error:`required`};try{return nd.CronExpressionParser.parse(e),{valid:!0}}catch(e){return{valid:!1,error:e instanceof Error?e.message:`Invalid cron expression`}}}function id(e,t,n=4){try{let r=t?{tz:t,currentDate:new Date}:{currentDate:new Date},i=nd.CronExpressionParser.parse(e,r),a=[];for(let e=0;e<n;e+=1){let e=i.next();e&&a.push(e.toDate())}return a}catch{return[]}}var ad=[{expression:`*/5 * * * *`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.every5min`},{expression:`0 * * * *`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.everyHour`},{expression:`0 9 * * 1`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.monday9am`},{expression:`0 9,17 * * *`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.9am5pm`},{expression:`0 0 1 * *`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.firstOfMonth`}],od=[0,1,2,3,4,5,6],sd=`!h-9 !min-h-9 w-full min-w-0 rounded-full border-0 bg-[var(--surface-elevated)] px-3 py-1 ring-1 ring-inset ring-border/60 transition-[background-color,box-shadow] duration-150 ease-out hover:[&:not(:focus)]:bg-[var(--surface-subtle)] hover:[&:not(:focus)]:ring-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] data-[popup-open]:bg-[var(--surface-subtle)] data-[popup-open]:shadow-sm motion-reduce:transition-none`,cd=`oc-settings-inline-value`,ld=`oc-settings-split-row ${ed}`,ud=cd,dd=ld,fd=()=>{let e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`},pd=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=new Date(n,r-1,i);return Number.isNaN(a.getTime())||a.getFullYear()!==n||a.getMonth()!==r-1||a.getDate()!==i?null:a},md=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,hd=(e,t,n)=>{let r=pd(e);return r?new Intl.DateTimeFormat(n,{month:`short`,day:`numeric`,year:`numeric`}).format(r):t},gd=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),_d=(e,t)=>{let n=e.getFullYear(),r=e.getMonth(),i=(new Date(n,r,1).getDay()-t+7)%7,a=new Date(n,r+1,0).getDate(),o=new Date(n,r,0).getDate(),s=[];for(let e=0;e<42;e+=1){let t=e-i+1;if(t<=0){let e=o+t;s.push({date:new Date(n,r-1,e),inCurrentMonth:!1});continue}if(t>a){s.push({date:new Date(n,r+1,t-a),inCurrentMonth:!1});continue}s.push({date:new Date(n,r,t),inCurrentMonth:!0})}return s},vd=e=>{let t=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);if(!t)return{hour24:`00`,hour12:`12`,minute:`00`,meridiem:`AM`};let n=Number(t[1]),r=t[2],i=n>=12?`PM`:`AM`,a=n%12==0?12:n%12;return{hour24:String(n).padStart(2,`0`),hour12:String(a).padStart(2,`0`),minute:r,meridiem:i}},yd=(e,t,n)=>{let r=Number(e),i=Number(t),a=Number.isFinite(r)?Math.min(12,Math.max(1,r)):12,o=Number.isFinite(i)?Math.min(59,Math.max(0,i)):0,s=a%12;return n===`PM`&&(s+=12),`${String(s).padStart(2,`0`)}:${String(o).padStart(2,`0`)}`},bd=(e,t)=>{let{max:n,min:r=0,loop:i=!1}=t,a=Number.parseInt(e,10);return Number.isFinite(a)?(i?(a>n&&(a=r),a<r&&(a=n)):(a>n&&(a=n),a<r&&(a=r)),String(a).padStart(2,`0`)):`00`},xd=e=>/^(0[1-9]|1[0-2])$/.test(e)?e:bd(e,{min:1,max:12}),Sd=e=>/^[0-5][0-9]$/.test(e)?e:bd(e,{max:59}),Cd=(e,t)=>bd(String(Number.parseInt(e,10)+t),{min:1,max:12,loop:!0}),wd=(e,t)=>bd(String(Number.parseInt(e,10)+t),{min:0,max:59,loop:!0}),Td=e=>{try{let t=Intl.Locale;if(typeof t!=`function`)return 1;let n=new t(e).weekInfo?.firstDay;return typeof n==`number`?n%7:1}catch{return 1}},Ed=e=>{try{let t=new Intl.DateTimeFormat(e,{hour:`numeric`}).resolvedOptions();return typeof t.hour12==`boolean`?!t.hour12:t.hourCycle===`h23`||t.hourCycle===`h24`}catch{return!0}},Dd=e=>{let t=new Intl.DateTimeFormat(e,{weekday:`short`}),n=new Date(2023,0,1);return od.map(e=>t.format(new Date(n.getFullYear(),n.getMonth(),n.getDate()+e)))},Od=(e,t)=>[...e.slice(t),...e.slice(0,t)],kd=e=>{let t=(0,qr.c)(9),{htmlFor:n,required:r,className:i,children:a}=e,o;t[0]===i?o=t[1]:(o=Y(`typography-ui-label font-normal text-foreground`,i),t[0]=i,t[1]=o);let s;t[2]===r?s=t[3]:(s=r&&(0,$.jsx)(`span`,{className:`ml-0.5 text-destructive`,children:`*`}),t[2]=r,t[3]=s);let c;return t[4]!==a||t[5]!==n||t[6]!==o||t[7]!==s?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:(0,$.jsxs)(`label`,{htmlFor:n,className:o,children:[a,s]})}),t[4]=a,t[5]=n,t[6]=o,t[7]=s,t[8]=c):c=t[8],c},Ad=e=>{let t=(0,qr.c)(85),{value:n,onChange:r,className:i,use24Hour:a,hourAriaLabel:o,minuteAriaLabel:s,periodAriaLabel:c,amLabel:l,pmLabel:u}=e,d;t[0]===n?d=t[1]:(d=vd(n),t[0]=n,t[1]=d);let f=d,p=Q.useRef(null),m=Q.useRef(null),[h,g]=Q.useState(null),[_,v]=Q.useState(null),y=Q.useRef(null),b=Q.useRef(null),x;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{y.current=e,g(e)},t[2]=x):x=t[2];let S=x,C;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(C=e=>{b.current=e,v(e)},t[3]=C):C=t[3];let w=C,T=Bd,E=Vd,D=Hd,O;t[4]!==r||t[5]!==f.meridiem||t[6]!==f.minute||t[7]!==a?(O=e=>{let t=e.replace(/\D/g,``).slice(0,2);S(t),t.length===2&&(r(a?D(T(t),f.minute):yd(xd(t),f.minute,f.meridiem)),S(null),m.current?.focus())},t[4]=r,t[5]=f.meridiem,t[6]=f.minute,t[7]=a,t[8]=O):O=t[8];let k=O,A;t[9]!==r||t[10]!==f.meridiem||t[11]!==f.minute||t[12]!==a?(A=()=>{let e=y.current;if(e!==null&&(S(null),e.length!==0)){if(a){r(D(T(e.padStart(2,`0`)),f.minute));return}r(yd(xd(e.padStart(2,`0`)),f.minute,f.meridiem))}},t[9]=r,t[10]=f.meridiem,t[11]=f.minute,t[12]=a,t[13]=A):A=t[13];let j=A,M;t[14]!==r||t[15]!==f.hour12||t[16]!==f.hour24||t[17]!==f.meridiem||t[18]!==a?(M=e=>{let t=e.replace(/\D/g,``).slice(0,2);w(t),t.length===2&&(r(a?D(f.hour24,Sd(t)):yd(f.hour12,Sd(t),f.meridiem)),w(null))},t[14]=r,t[15]=f.hour12,t[16]=f.hour24,t[17]=f.meridiem,t[18]=a,t[19]=M):M=t[19];let N=M,P;t[20]!==r||t[21]!==f.hour12||t[22]!==f.hour24||t[23]!==f.meridiem||t[24]!==a?(P=()=>{let e=b.current;e!==null&&(w(null),e.length!==0&&r(a?D(f.hour24,Sd(e.padStart(2,`0`))):yd(f.hour12,Sd(e.padStart(2,`0`)),f.meridiem)))},t[20]=r,t[21]=f.hour12,t[22]=f.hour24,t[23]=f.meridiem,t[24]=a,t[25]=P):P=t[25];let F=P,I;t[26]!==r||t[27]!==f.hour12||t[28]!==f.hour24||t[29]!==f.meridiem||t[30]!==f.minute||t[31]!==a?(I=e=>r(a?D(E(f.hour24,e),f.minute):yd(Cd(f.hour12,e),f.minute,f.meridiem)),t[26]=r,t[27]=f.hour12,t[28]=f.hour24,t[29]=f.meridiem,t[30]=f.minute,t[31]=a,t[32]=I):I=t[32];let L=I,R;t[33]!==r||t[34]!==f.hour12||t[35]!==f.hour24||t[36]!==f.meridiem||t[37]!==f.minute||t[38]!==a?(R=e=>r(a?D(f.hour24,wd(f.minute,e)):yd(f.hour12,wd(f.minute,e),f.meridiem)),t[33]=r,t[34]=f.hour12,t[35]=f.hour24,t[36]=f.meridiem,t[37]=f.minute,t[38]=a,t[39]=R):R=t[39];let z=R,B;t[40]!==r||t[41]!==f.hour12||t[42]!==f.meridiem||t[43]!==f.minute?(B=e=>{e!==f.meridiem&&r(yd(f.hour12,f.minute,e))},t[40]=r,t[41]=f.hour12,t[42]=f.meridiem,t[43]=f.minute,t[44]=B):B=t[44];let V=B,ee;t[45]!==j||t[46]!==L?(ee=e=>{if(e.key===`ArrowRight`){e.preventDefault(),j(),m.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),S(null),L(e.key===`ArrowUp`?1:-1))},t[45]=j,t[46]=L,t[47]=ee):ee=t[47];let H=ee,U;t[48]!==F||t[49]!==z?(U=e=>{if(e.key===`ArrowLeft`&&(e.currentTarget.selectionStart??0)===0){e.preventDefault(),F(),p.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),w(null),z(e.key===`ArrowUp`?1:-1))},t[48]=F,t[49]=z,t[50]=U):U=t[50];let W=U,te=a?`px-2`:`pl-2 pr-1`,G;t[51]!==i||t[52]!==te?(G=Y(`flex h-9 w-full min-w-0 items-center gap-1 rounded-full border-0 bg-[var(--surface-elevated)] ring-1 ring-inset ring-border/60 transition duration-200 ease-out hover:[&:not(:focus-within)]:bg-[var(--surface-subtle)] hover:[&:not(:focus-within)]:ring-transparent focus-within:ring-2 focus-within:ring-[var(--interactive-focus-ring)]`,te,i),t[51]=i,t[52]=te,t[53]=G):G=t[53];let K=h??(a?f.hour24:f.hour12),ne;t[54]===k?ne=t[55]:(ne=e=>k(e.target.value),t[54]=k,t[55]=ne);let re;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(re=()=>S(``),t[56]=re):re=t[56];let ie;t[57]!==j||t[58]!==o||t[59]!==H||t[60]!==K||t[61]!==ne?(ie=(0,$.jsx)(`input`,{ref:p,inputMode:`numeric`,value:K,onChange:ne,onKeyDown:H,onFocus:re,onBlur:j,maxLength:2,"aria-label":o,className:`h-7 w-7 shrink-0 rounded-sm bg-transparent text-center font-mono text-sm tabular-nums text-foreground outline-none caret-transparent focus:bg-interactive-hover`}),t[57]=j,t[58]=o,t[59]=H,t[60]=K,t[61]=ne,t[62]=ie):ie=t[62];let q;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(`span`,{className:`font-mono text-sm text-muted-foreground`,children:`:`}),t[63]=q):q=t[63];let ae=_??f.minute,J;t[64]===N?J=t[65]:(J=e=>N(e.target.value),t[64]=N,t[65]=J);let oe;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(oe=()=>w(``),t[66]=oe):oe=t[66];let se;t[67]!==F||t[68]!==s||t[69]!==W||t[70]!==ae||t[71]!==J?(se=(0,$.jsx)(`input`,{ref:m,inputMode:`numeric`,value:ae,onChange:J,onKeyDown:W,onFocus:oe,onBlur:F,maxLength:2,"aria-label":s,className:`h-7 w-7 shrink-0 rounded-sm bg-transparent text-center font-mono text-sm tabular-nums text-foreground outline-none caret-transparent focus:bg-interactive-hover`}),t[67]=F,t[68]=s,t[69]=W,t[70]=ae,t[71]=J,t[72]=se):se=t[72];let ce;t[73]!==l||t[74]!==f.meridiem||t[75]!==c||t[76]!==u||t[77]!==V||t[78]!==a?(ce=a?null:(0,$.jsxs)(tn,{value:f.meridiem,onValueChange:e=>V(e),children:[(0,$.jsx)(Yt,{"aria-label":c,className:`ml-1 h-7 w-fit border-0 bg-transparent pl-2 pr-1 shadow-none hover:bg-interactive-hover focus:ring-0`,children:(0,$.jsx)(cn,{})}),(0,$.jsxs)(Qt,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(qt,{value:`AM`,children:l}),(0,$.jsx)(qt,{value:`PM`,children:u})]})]}),t[73]=l,t[74]=f.meridiem,t[75]=c,t[76]=u,t[77]=V,t[78]=a,t[79]=ce):ce=t[79];let le;return t[80]!==G||t[81]!==ie||t[82]!==se||t[83]!==ce?(le=(0,$.jsxs)(`div`,{className:G,children:[ie,q,se,ce]}),t[80]=G,t[81]=ie,t[82]=se,t[83]=ce,t[84]=le):le=t[84],le},jd=e=>new Date(e.getFullYear(),e.getMonth(),1),Md=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())},Nd=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),Pd=e=>{if(!e)return[`09:00`];let t=(Array.isArray(e.schedule.times)?e.schedule.times:e.schedule.time?[e.schedule.time]:[]).filter(e=>typeof e==`string`&&/^([01]\d|2[0-3]):([0-5]\d)$/.test(e)).map(e=>e.trim()),n=Array.from(new Set(t)).sort((e,t)=>e.localeCompare(t));return n.length>0?n:[`09:00`]},Fd=(e,t)=>{let n=Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`;return e?{id:e.id,name:e.name,enabled:e.enabled,schedule:{kind:e.schedule.kind===`cron`?`cron`:e.schedule.kind===`once`?`once`:e.schedule.kind===`weekly`?`weekly`:`daily`,times:Pd(e),onceDate:typeof e.schedule.date==`string`&&/^\d{4}-\d{2}-\d{2}$/.test(e.schedule.date)?e.schedule.date:fd(),onceTime:typeof e.schedule.time==`string`&&/^([01]\d|2[0-3]):([0-5]\d)$/.test(e.schedule.time)?e.schedule.time:`09:00`,weekdays:Array.isArray(e.schedule.weekdays)?e.schedule.weekdays:[1],timezone:e.schedule.timezone||n,cronExpression:e.schedule.kind===`cron`&&typeof e.schedule.cron==`string`?e.schedule.cron:``},execution:{prompt:e.execution.prompt,providerID:e.execution.providerID,modelID:e.execution.modelID,variant:e.execution.variant||``,agent:e.execution.agent||``,goalEnabled:e.execution.goalEnabled===!0,goalTokenBudget:typeof e.execution.goalTokenBudget==`number`&&e.execution.goalTokenBudget>0?e.execution.goalTokenBudget:null},state:e.state}:{name:``,enabled:!0,schedule:{kind:`daily`,times:[`09:00`],onceDate:fd(),onceTime:`09:00`,weekdays:[1],timezone:n,cronExpression:``},execution:{prompt:``,providerID:t.providerID,modelID:t.modelID,variant:t.variant,agent:t.agent,goalEnabled:!1,goalTokenBudget:null}}},Id=(e,t)=>{if(!e.name.trim())return t(`sessions.scheduledTasks.editor.validation.taskNameRequired`);if(!e.execution.prompt.trim())return t(`sessions.scheduledTasks.editor.validation.promptRequired`);if(!e.execution.providerID.trim()||!e.execution.modelID.trim())return t(`sessions.scheduledTasks.editor.validation.modelRequired`);if(e.schedule.kind===`once`){if(!/^\d{4}-\d{2}-\d{2}$/.test(e.schedule.onceDate))return t(`sessions.scheduledTasks.editor.validation.dateFormat`);if(!/^([01]\d|2[0-3]):([0-5]\d)$/.test(e.schedule.onceTime))return t(`sessions.scheduledTasks.editor.validation.timeFormat`)}else if(e.schedule.kind===`cron`){if(!e.schedule.cronExpression.trim())return t(`sessions.scheduledTasks.editor.validation.cronRequired`);if(!rd(e.schedule.cronExpression).valid)return t(`sessions.scheduledTasks.editor.validation.cronInvalid`)}else if(e.schedule.times.filter(e=>/^([01]\d|2[0-3]):([0-5]\d)$/.test(e)).length===0)return t(`sessions.scheduledTasks.editor.validation.atLeastOneTime`);return e.schedule.kind===`weekly`&&e.schedule.weekdays.length===0?t(`sessions.scheduledTasks.editor.validation.atLeastOneWeekday`):e.schedule.timezone.trim()?null:t(`sessions.scheduledTasks.editor.validation.timezoneRequired`)},Ld=e=>{let t=e.filter(e=>/^([01]\d|2[0-3]):([0-5]\d)$/.test(e));return Array.from(new Set(t)).sort((e,t)=>e.localeCompare(t))},Rd=e=>{let t=(0,qr.c)(76),{draft:n,setDraft:r,locale:i,t:a,panel:o,mobilePanel:s}=e,c=o!==void 0&&o,l=s!==void 0&&s,u=c||l,d=l?dd:ld,f=n.schedule.cronExpression,p;t[0]===f?p=t[1]:(p=f.trim()?rd(f):null,t[0]=f,t[1]=p);let m=p,h;bb0:{if(!m?.valid||!f.trim()){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[2]=e):e=t[2],h=e;break bb0}let e;t[3]!==f||t[4]!==n.schedule.timezone?(e=id(f,n.schedule.timezone),t[3]=f,t[4]=n.schedule.timezone,t[5]=e):e=t[5],h=e}let g=h,_;t[6]!==n.schedule.timezone||t[7]!==i?(_=e=>new Intl.DateTimeFormat(i,{timeZone:n.schedule.timezone,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`}).format(e),t[6]=n.schedule.timezone,t[7]=i,t[8]=_):_=t[8];let v=_,y=u&&`gap-0`,b;t[9]===y?b=t[10]:(b=Y(`flex flex-col gap-3`,y),t[9]=y,t[10]=b);let x=u&&d,S;t[11]===x?S=t[12]:(S=Y(`flex flex-col gap-1`,x),t[11]=x,t[12]=S);let C;t[13]===a?C=t[14]:(C=a(`sessions.scheduledTasks.editor.cronExpression.label`),t[13]=a,t[14]=C);let w;t[15]===C?w=t[16]:(w=(0,$.jsx)(kd,{htmlFor:`sched-cron`,required:!0,children:C}),t[15]=C,t[16]=w);let T=u?``:void 0,E=u&&`oc-settings-split-row-control flex-col items-end`,D;t[17]===E?D=t[18]:(D=Y(E),t[17]=E,t[18]=D);let O;t[19]===r?O=t[20]:(O=e=>r(t=>({...t,schedule:{...t.schedule,cronExpression:e.target.value}})),t[19]=r,t[20]=O);let k;t[21]===a?k=t[22]:(k=a(`sessions.scheduledTasks.editor.cronExpression.placeholder`),t[21]=a,t[22]=k);let A=u&&`min-w-[140px] text-right`,j;t[23]===A?j=t[24]:(j=Y(`w-full font-mono`,A),t[23]=A,t[24]=j);let M;t[25]!==f||t[26]!==O||t[27]!==k||t[28]!==j?(M=(0,$.jsx)(ln,{id:`sched-cron`,value:f,onChange:O,placeholder:k,className:j}),t[25]=f,t[26]=O,t[27]=k,t[28]=j,t[29]=M):M=t[29];let N;t[30]!==f||t[31]!==m||t[32]!==a?(N=m&&!m.valid&&f.trim()?(0,$.jsx)(`span`,{className:`typography-micro text-destructive`,children:a(`sessions.scheduledTasks.editor.validation.cronInvalid`)}):null,t[30]=f,t[31]=m,t[32]=a,t[33]=N):N=t[33];let P;t[34]!==T||t[35]!==D||t[36]!==M||t[37]!==N?(P=(0,$.jsxs)(`div`,{"data-settings-value":T,className:D,children:[M,N]}),t[34]=T,t[35]=D,t[36]=M,t[37]=N,t[38]=P):P=t[38];let F;t[39]!==w||t[40]!==P||t[41]!==S?(F=(0,$.jsxs)(`div`,{className:S,children:[w,P]}),t[39]=w,t[40]=P,t[41]=S,t[42]=F):F=t[42];let I;t[43]!==v||t[44]!==u||t[45]!==g||t[46]!==d||t[47]!==a?(I=g.length>0?(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,u&&d),children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a(`sessions.scheduledTasks.editor.cronExpression.nextRuns`)}),(0,$.jsx)(`span`,{"data-settings-value":u?``:void 0,className:Y(`typography-micro text-foreground`,u&&`oc-settings-split-row-control text-right`),children:g.map(v).join(`, `)})]}):null,t[43]=v,t[44]=u,t[45]=g,t[46]=d,t[47]=a,t[48]=I):I=t[48];let L;t[49]!==u||t[50]!==d?(L=u&&[d,`items-start`],t[49]=u,t[50]=d,t[51]=L):L=t[51];let R;t[52]===L?R=t[53]:(R=Y(`flex flex-col gap-1`,L),t[52]=L,t[53]=R);let z;t[54]===a?z=t[55]:(z=a(`sessions.scheduledTasks.editor.cronExpression.examples`),t[54]=a,t[55]=z);let B;t[56]===z?B=t[57]:(B=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:z}),t[56]=z,t[57]=B);let V=u?``:void 0,ee=u&&`oc-settings-split-row-control justify-end`,H;t[58]===ee?H=t[59]:(H=Y(`flex flex-wrap gap-1.5`,ee),t[58]=ee,t[59]=H);let U;t[60]!==r||t[61]!==a?(U=ad.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-md border border-border px-2 py-1 typography-micro text-foreground hover:bg-interactive-hover`,onClick:()=>r(t=>({...t,schedule:{...t.schedule,cronExpression:e.expression}})),children:[(0,$.jsx)(`span`,{className:`font-mono`,children:e.expression}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:a(e.labelKey)})]},e.expression)),t[60]=r,t[61]=a,t[62]=U):U=t[62];let W;t[63]!==V||t[64]!==H||t[65]!==U?(W=(0,$.jsx)(`div`,{"data-settings-value":V,className:H,children:U}),t[63]=V,t[64]=H,t[65]=U,t[66]=W):W=t[66];let te;t[67]!==R||t[68]!==B||t[69]!==W?(te=(0,$.jsxs)(`div`,{className:R,children:[B,W]}),t[67]=R,t[68]=B,t[69]=W,t[70]=te):te=t[70];let G;return t[71]!==F||t[72]!==I||t[73]!==te||t[74]!==b?(G=(0,$.jsxs)(`div`,{className:b,children:[F,I,te]}),t[71]=F,t[72]=I,t[73]=te,t[74]=b,t[75]=G):G=t[75],G};function zd(e){let{open:t,task:n,onOpenChange:r,onSave:i,presentation:a=`dialog`,onDirtyChange:o,onRun:s,onOpenTaskHistory:c,onDelete:l,onToggleEnabled:u,actionBusy:d=!1,projectID:f=``,projectOptions:p=[],onProjectChange:m}=e,h=a===`panel`,g=a===`mobile-panel`,_=a===`mobile-tab`,v=g||_,y=g||_,b=h||v,x=v?ud:cd,S=v?dd:ld,{t:C,locale:w}=fe(),T=tt(e=>e.loadProviders),E=tt(e=>e.loadAgents),D=tt(e=>e.providers),O=tt(e=>e.currentProviderId),k=tt(e=>e.currentModelId),A=tt(e=>e.currentVariant||``),j=tt(e=>e.currentAgentName||``),M=P(e=>e.timeFormatPreference),N=P(e=>e.weekStartPreference),F=P(e=>e.isMobile),[I,L]=Q.useState(()=>Fd(n,{providerID:O,modelID:k,variant:A,agent:j})),[R,z]=Q.useState(!1),[B,V]=Q.useState(!1),[ee,H]=Q.useState(!1),[U,W]=Q.useState(``),[te,G]=Q.useState(!1),[K,ne]=Q.useState(``),[re,ie]=Q.useState(()=>{let e=pd(n?.schedule?.date||``)||new Date;return new Date(e.getFullYear(),e.getMonth(),1)}),q=Q.useRef(null),ae=Q.useRef(null),J=Q.useRef(null),oe=Q.useRef(null),se=Q.useRef(``),ce=Q.useRef(void 0),le=Q.useRef(n);le.current=n;let ue=n?.id||null,de=Q.useMemo(()=>Ed(w),[w]),pe=Q.useMemo(()=>Td(w),[w]),me=Q.useMemo(()=>M===`24h`||M!==`12h`&&de,[M,de]),he=Q.useMemo(()=>N===`sunday`?0:N===`monday`?1:pe,[N,pe]),ge=Q.useMemo(()=>{let e=Dd(w);return Od(od.map(t=>({value:t,label:e[t]||``})),he)},[w,he]);Q.useEffect(()=>{t&&(T({source:`scheduledTaskEditor`}),E({source:`scheduledTaskEditor`}))},[t,T,E]),Q.useEffect(()=>{if(!t){ce.current=void 0;return}if(ce.current===ue)return;ce.current=ue;let e=le.current,n=Fd(e,{providerID:O,modelID:k,variant:A,agent:j});se.current=JSON.stringify(n),L(n),o?.(!1);let r=pd(e?.schedule?.date||``)||new Date;ie(new Date(r.getFullYear(),r.getMonth(),1)),V(!1),G(!1),H(!1),ne(``),W(``)},[t,ue,O,k,A,j,o]),Q.useEffect(()=>{if(!(!t||!n||I.id!==n.id||I.enabled===n.enabled)&&(L(e=>({...e,enabled:n.enabled})),se.current)){let e=JSON.parse(se.current);se.current=JSON.stringify({...e,enabled:n.enabled})}},[I.enabled,I.id,t,n]),Q.useEffect(()=>{!t||!se.current||o?.(JSON.stringify(I)!==se.current)},[I,o,t]),Q.useEffect(()=>{if(!B)return;let e=e=>{q.current&&!q.current.contains(e.target)&&V(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[B]);let _e=Q.useMemo(()=>D.find(e=>e.id===I.execution.providerID)?.models?.find(e=>e.id===I.execution.modelID),[I.execution.modelID,I.execution.providerID,D]),ve=Q.useMemo(()=>_e?.variants?Object.keys(_e.variants):[],[_e]);Q.useEffect(()=>{!_e||!I.execution.variant||ve.includes(I.execution.variant)||L(e=>({...e,execution:{...e.execution,variant:``}}))},[ve,I.execution.variant,_e]);let ye=Q.useCallback((e,t)=>{L(n=>{let r=new Set(n.schedule.weekdays);return t?r.add(e):r.delete(e),{...n,schedule:{...n.schedule,weekdays:Array.from(r).sort((e,t)=>e-t)}}})},[]),be=Q.useCallback((e,t)=>{L(n=>{let r=n.schedule.times.slice();return r[e]=t,{...n,schedule:{...n.schedule,times:r}}})},[]),xe=Q.useCallback(e=>{L(t=>{let n=t.schedule.times.filter((t,n)=>n!==e);return{...t,schedule:{...t.schedule,times:n.length>0?n:[`09:00`]}}})},[]),Se=Q.useCallback(()=>{L(e=>({...e,schedule:{...e.schedule,times:[...e.schedule.times,`12:00`]}}))},[]),Ce=Q.useMemo(()=>Md(),[]),Te=Q.useMemo(()=>jd(Ce),[Ce]),Ee=Q.useMemo(()=>{let e=pd(I.schedule.onceDate);return e?Nd(e,Ce)?C(`sessions.scheduledTasks.editor.date.today`):new Intl.DateTimeFormat(w,{weekday:`short`}).format(e):null},[I.schedule.onceDate,w,C,Ce]),De=Q.useMemo(()=>jd(re).getTime()<=Te.getTime(),[re,Te]),Oe=Q.useMemo(()=>ge.map(e=>e.label),[ge]),ke=Q.useCallback(e=>{L(t=>({...t,schedule:{...t.schedule,onceDate:e}}))},[]),Ae=Q.useCallback((e,t)=>{if(e.startsWith(`/`)){let n=e.indexOf(` `),r=e.indexOf(`
|
|
146
|
+
`),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1)if(n[e]!==r[e])return e+1;return r.length>n.length?n.length+1:n.length>r.length?Math.max(1,r.length):1},Zs=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Qs=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],$s=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,ec=e=>e.isBinary||typeof e.patch==`string`&&e.patch.length>0||e.fileDiff?!0:e.original.length>0||e.modified.length>0,tc=(e,t,n)=>Zs(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:ms(e,t),contextMode:n},nc=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:Y(`typography-code flex items-center gap-1 whitespace-nowrap`,n?.shrink?`min-w-0 overflow-hidden`:`flex-shrink-0`,n?.className),children:[r?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,r]}):null,i?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,i]}):null]})},rc=Q.memo(e=>{let t=(0,qr.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=fe(),[c,l]=Q.useState(!1),u=n===`staged`?i:n===`turn`?a:r,d;t[0]!==n||t[1]!==s?(d=s(n===`staged`?`diffView.scope.staged`:n===`turn`?`diffView.scope.lastTurn`:`diffView.scope.changed`),t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d,p;t[3]===s?p=t[4]:(p=s(`diffView.scope.selectorAria`),t[3]=s,t[4]=p);let m;t[5]===u?m=t[6]:(m=(0,$.jsxs)(`span`,{className:`diff-toolbar__scope-count`,children:[`: `,u]}),t[5]=u,t[6]=m);let h;t[7]!==f||t[8]!==m?(h=(0,$.jsxs)(`span`,{className:`whitespace-nowrap`,children:[f,m]}),t[7]=f,t[8]=m,t[9]=h):h=t[9];let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-4 flex-shrink-0 opacity-60`}),t[10]=g):g=t[10];let _;t[11]!==p||t[12]!==h?(_=(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 flex-shrink-0 items-center gap-1.5 rounded-md px-2 typography-code font-semibold text-foreground outline-none hover:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":p,children:[h,g]})}),t[11]=p,t[12]=h,t[13]=_):_=t[13];let v;t[14]===o?v=t[15]:(v=e=>{(e===`working`||e===`staged`||e===`turn`)&&(o?.(e),l(!1))},t[14]=o,t[15]=v);let y;t[16]===s?y=t[17]:(y=s(`diffView.scope.changed`),t[16]=s,t[17]=y);let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`span`,{children:y}),t[18]=y,t[19]=b);let x;t[20]===r?x=t[21]:(x=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:r}),t[20]=r,t[21]=x);let S;t[22]!==x||t[23]!==b?(S=(0,$.jsx)(yn,{value:`working`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[b,x]})}),t[22]=x,t[23]=b,t[24]=S):S=t[24];let C;t[25]===s?C=t[26]:(C=s(`diffView.scope.staged`),t[25]=s,t[26]=C);let w;t[27]===C?w=t[28]:(w=(0,$.jsx)(`span`,{children:C}),t[27]=C,t[28]=w);let T;t[29]===i?T=t[30]:(T=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:i}),t[29]=i,t[30]=T);let E;t[31]!==w||t[32]!==T?(E=(0,$.jsx)(yn,{value:`staged`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[w,T]})}),t[31]=w,t[32]=T,t[33]=E):E=t[33];let D;t[34]===s?D=t[35]:(D=s(`diffView.scope.lastTurn`),t[34]=s,t[35]=D);let O;t[36]===D?O=t[37]:(O=(0,$.jsx)(`span`,{children:D}),t[36]=D,t[37]=O);let k;t[38]===a?k=t[39]:(k=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a}),t[38]=a,t[39]=k);let A;t[40]!==O||t[41]!==k?(A=(0,$.jsx)(yn,{value:`turn`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[O,k]})}),t[40]=O,t[41]=k,t[42]=A):A=t[42];let j;t[43]!==n||t[44]!==S||t[45]!==E||t[46]!==A||t[47]!==v?(j=(0,$.jsx)(Sn,{align:`start`,className:`w-40`,children:(0,$.jsxs)(Dn,{value:n,onValueChange:v,children:[S,E,A]})}),t[43]=n,t[44]=S,t[45]=E,t[46]=A,t[47]=v,t[48]=j):j=t[48];let M;return t[49]!==c||t[50]!==j||t[51]!==_?(M=(0,$.jsxs)(En,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),ic=Q.memo(e=>{let t=(0,qr.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=fe();if(n.length===0)return null;let o;if(t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==a){let e;t[5]!==i||t[6]!==r||t[7]!==a?(e=e=>{let t=Ws(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:Y(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left transition-colors`,n?`bg-interactive-selection text-interactive-selection-foreground`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),children:[(0,$.jsx)(Ft,{filePath:e.path,className:`size-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-code font-semibold w-3.5 text-center uppercase`,style:{color:t.color},title:a(t.descriptionKey),"aria-label":a(t.descriptionKey),children:t.code}),(0,$.jsx)(Lt,{path:e.path,className:`min-w-0 flex-1 typography-code`,dirClassName:n?`text-interactive-selection-foreground`:`text-muted-foreground`,nameClassName:n?`text-interactive-selection-foreground`:`text-foreground`}),nc(e.insertions,e.deletions)]})},e.path)},t[5]=i,t[6]=r,t[7]=a,t[8]=e):e=t[8],o=n.map(e),t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=o}else o=t[4];let s;return t[9]===o?s=t[10]:(s=(0,$.jsx)(Vn,{outerClassName:`flex-1 min-h-0`,className:`px-2 py-2`,children:(0,$.jsx)(`ul`,{className:`flex flex-col gap-1`,children:o})}),t[9]=o,t[10]=s),s}),ac=Q.memo(e=>{let t=(0,qr.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=fe(),o=r.original.length>0,s=r.modified.length>0,c=i?`flex flex-row gap-6 items-start justify-center`:`flex flex-col gap-4 items-center`,l=i?`flex flex-col items-center gap-2 flex-1 min-w-0`:`flex flex-col items-center gap-2`,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u={contain:`layout`},t[0]=u):u=t[0];let d;t[1]!==r.original||t[2]!==n||t[3]!==o||t[4]!==l||t[5]!==i||t[6]!==a?(d=o&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(`diffView.image.original`)}),(0,$.jsx)(`img`,{src:r.original,alt:a(`diffView.image.originalAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[1]=r.original,t[2]=n,t[3]=o,t[4]=l,t[5]=i,t[6]=a,t[7]=d):d=t[7];let f;t[8]!==r.modified||t[9]!==n||t[10]!==s||t[11]!==o||t[12]!==l||t[13]!==i||t[14]!==a?(f=s&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(o?`diffView.image.modified`:`diffView.image.new`)}),(0,$.jsx)(`img`,{src:r.modified,alt:a(`diffView.image.modifiedAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[8]=r.modified,t[9]=n,t[10]=s,t[11]=o,t[12]=l,t[13]=i,t[14]=a,t[15]=f):f=t[15];let p;return t[16]!==c||t[17]!==d||t[18]!==f?(p=(0,$.jsx)(`div`,{className:`w-full overflow-auto p-4`,style:u,children:(0,$.jsxs)(`div`,{className:c,children:[d,f]})}),t[16]=c,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}),oc=Q.memo(e=>{let t=(0,qr.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=vr(n)||`text`,t[0]=n,t[1]=s);let c=s;if(r.isBinary){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Bs,{}),t[2]=e):e=t[2],e}if(_r(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(ac,{filePath:n,diff:r,renderSideBySide:i}),t[3]=r,t[4]=n,t[5]=i,t[6]=e):e=t[6],e}let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l={contain:`layout`},t[7]=l):l=t[7];let u;return t[8]!==r.fileDiff||t[9]!==r.modified||t[10]!==r.original||t[11]!==n||t[12]!==o||t[13]!==c||t[14]!==i||t[15]!==a?(u=(0,$.jsx)(`div`,{className:`w-full`,style:l,children:(0,$.jsx)(us,{original:r.original,modified:r.modified,fileDiff:r.fileDiff,language:c,fileName:n,renderSideBySide:i,wrapLines:a,focusLine:o,layout:`inline`,enableSelectionActions:!0})}),t[8]=r.fileDiff,t[9]=r.modified,t[10]=r.original,t[11]=n,t[12]=o,t[13]=c,t[14]=i,t[15]=a,t[16]=u):u=t[16],u}),sc=Q.memo(e=>{let t=(0,qr.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=fe(),c;return t[0]!==i||t[1]!==a||t[2]!==n||t[3]!==o||t[4]!==r||t[5]!==s?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-full border border-[var(--interactive-border)]/45 bg-[var(--surface-background)]/95 px-1 py-0.5 shadow-lg backdrop-blur-md`,children:r?(0,$.jsx)(cc,{label:s(`gitView.changes.unstageFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`unstage`,disabled:a,onClick:()=>o(`unstage`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(cc,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(cc,{label:s(`gitView.changes.stageFileAria`,{path:n}),icon:`add`,loading:i===`stage`,disabled:a,tone:`success`,onClick:()=>o(`stage`)})]})}),t[0]=i,t[1]=a,t[2]=n,t[3]=o,t[4]=r,t[5]=s,t[6]=c):c=t[6],c}),cc=e=>{let t=(0,qr.c)(14),{label:n,icon:r,loading:i,disabled:a,tone:o,onClick:s}=e,c=o===`failure`&&`text-[var(--status-error)] hover:text-[var(--status-error)]`,l=o===`success`&&`text-[var(--status-success)] hover:text-[var(--status-success)]`,u;t[0]!==c||t[1]!==l?(u=Y(`h-6 w-6 rounded-none bg-transparent p-0 text-muted-foreground opacity-70 hover:bg-transparent hover:text-foreground hover:opacity-100`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;t[3]===s?d=t[4]:(d=e=>{e.stopPropagation(),s()},t[3]=s,t[4]=d);let f;t[5]!==r||t[6]!==i?(f=i?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:r,className:r===`add`?`size-4`:`size-3.5`}),t[5]=r,t[6]=i,t[7]=f):f=t[7];let p;return t[8]!==a||t[9]!==n||t[10]!==u||t[11]!==d||t[12]!==f?(p=(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:u,disabled:a,title:n,"aria-label":n,onClick:d,children:f}),t[8]=a,t[9]=n,t[10]=u,t[11]=d,t[12]=f,t[13]=p):p=t[13],p},lc=Q.memo(({directory:e,file:t,layout:n,wrapLines:r,isSelected:i,isExpanded:a,isMounted:o,onSelect:s,onExpandedChange:c,registerSectionRef:l,showOpenInEditorAction:u=!1,isOpeningInEditor:d=!1,onOpenInEditor:f,onOpenFile:p,staged:m=!1,loadFullFiles:h=!1,initialDiffData:g=null,focusLine:_=null,showFileActions:v=!0,disableGitFetch:y=!1,turnChangesRequest:b=null,loadTurnChangeFile:x=!1})=>{let{t:S}=fe(),{git:C}=In(),w=nr(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),T=nr(e=>e.setDiff),E=nr(e=>e.fetchStatus),[D,O]=Q.useState(0),[k,A]=Q.useState(null),[j,M]=Q.useState(!1),[N,P]=Q.useState(null),[F,I]=Q.useState(!1),[L,R]=Q.useState(null),[z,B]=Q.useState(null),V=Q.useRef(null),ee=Q.useRef(null),H=Q.useMemo(()=>Ws(t),[t]),U=n===`side-by-side`,W=h?`full`:`patch`,te=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,G=Ms({sessionID:b?.sessionID??``,directory:b?.directory??``,messageID:b?.messageID??``,diffCount:b?.diffCount,file:t.path},{enabled:x&&!!b&&a&&o}),K=Q.useMemo(()=>{let e=G.data?.diff;return e?typeof e.patch==`string`&&e.patch.length>0?tc(t.path,e.patch,`patch`):typeof e.before==`string`&&e.before.length>0||typeof e.after==`string`&&e.after.length>0?{original:e.before??``,modified:e.after??``,contextMode:`full`}:null:null},[t.path,G.data]),ne=Q.useMemo(()=>{if(g)return g;if(K)return K;if(m)return z;if(L)return L;if(!w)return null;let e={original:w.original,modified:w.modified,isBinary:w.isBinary,contextMode:`full`};return ec(e)?e:null},[w,g,L,m,z,K]),re=G.error instanceof Error?G.error.message:G.error?String(G.error):null,ie=ne?null:re??k,q=x&&G.isPending||j,ae=ne?.contextMode===W,J=Q.useCallback(e=>{ee.current=e,l(t.path,e)},[t.path,l]),oe=Q.useCallback(e=>{c(t.path,e)},[t.path,c]),se=Q.useCallback(()=>{s(t.path)},[t.path,s]);Q.useEffect(()=>{if(!a||!o)return;if(y){V.current=null,M(!1);return}if(!e||g){V.current=null,M(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${te}::${W}::${D}`;if(V.current===n)return;let r=!!(ne&&ae);V.current=n,A(null),r||M(!0);let i=!1,s=h?Ls:Rs,c=_r(t.path)||h?C.getGitFileDiff(e,{path:t.path,staged:m}):C.getGitDiff(e,{path:t.path,staged:m,contextLines:s}),l=Ps,u=new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out after ${l}ms`)),l)});return Promise.race([c,u]).then(n=>{if(!i){if(`diff`in n){let e=tc(t.path,n.diff,W);m?B(e):R(e)}else{let r={original:n.original??``,modified:n.modified??``,isBinary:n.isBinary,contextMode:`full`};m?B(r):(R(r),T(e,t.path,r))}M(!1)}}).catch(e=>{if(i)return;let t=e instanceof Error?e.message:String(e);A(t),M(!1)}),()=>{i=!0,V.current===n&&(V.current=null)}},[W,ne,ae,D,e,y,t.path,te,C,g,a,o,h,T,m]);let ce=Q.useCallback(()=>{oe(!a),se()},[oe,se,a]),le=Q.useCallback(async n=>{if(!(!e||N!==null)){P(n);try{n===`stage`?await C.stageGitFile(e,t.path):n===`unstage`?await C.unstageGitFile(e,t.path):await C.revertGitFile(e,t.path,{scope:`working`}),O(e=>e+1),await E(e,C)}catch(e){let t=n===`unstage`?`gitView.toast.unstageFileFailed`:n===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.revertFailed`;Pe.error(e instanceof Error?e.message:S(t))}finally{P(e=>e===n?null:e)}}},[e,E,t.path,N,C,S]);return(0,$.jsxs)(`div`,{ref:J,className:`scroll-mt-9 border-b border-[var(--interactive-border)]/40 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-30 border-b border-[var(--interactive-border)]/35 bg-[var(--surface-elevated)]/90 backdrop-blur-md supports-[backdrop-filter]:bg-[var(--surface-elevated)]/80`,children:(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:ce,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ce())},className:Y(`cursor-pointer`,`group/header relative grid min-h-8 w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 overflow-hidden px-2 py-1`,`bg-transparent`,`text-muted-foreground hover:text-foreground`,i?`bg-[var(--interactive-selection)]/35`:null),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-none group-hover/header:bg-[var(--interactive-hover)]/50`}),(0,$.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center opacity-70 group-hover/header:opacity-100`,children:a?(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`typography-code font-semibold leading-none w-3.5 text-center uppercase`,style:{color:H.color},title:S(H.descriptionKey),"aria-label":S(H.descriptionKey),children:H.code}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 overflow-hidden typography-code`,title:t.path,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(Ft,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(0,$.jsx)(Lt,{path:t.path,className:`min-w-0 flex-1 typography-code`})]})})]}),(0,$.jsxs)(`div`,{className:`relative flex shrink-0 items-center justify-self-end gap-1.5`,children:[nc(t.insertions,t.deletions),u&&f?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFileInEditorAtChange`),onClick:e=>{e.stopPropagation(),f(t.path,ne)},disabled:d,children:d?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`edit`,className:`size-3.5`})}):null,p?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:S(`diffView.actions.openFilePreview`),"aria-label":S(`diffView.actions.openFilePreview`),onClick:e=>{e.stopPropagation(),p(t.path)},children:(0,$.jsx)(Z,{name:`eye`,className:`size-3.5`})}):null]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!o&&!ie?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,ie?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.failedToLoadDiff`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground max-w-[32rem] text-center`,children:ie}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>{if(x){G.refetch();return}O(e=>e+1)},children:S(`diffView.actions.retry`)})]}):null,o&&q&&!ne&&!ie?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),S(`diffView.state.loadingDiff`)]}):null,o&&ne&&!F&&t.insertions+t.deletions>Fs?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:S(`diffView.state.largeDiff`,{count:t.insertions+t.deletions})}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:S(`diffView.state.largeDiffDescription`)}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>I(!0),children:S(`diffView.actions.renderAnyway`)})]}):null,o&&ne&&(F||t.insertions+t.deletions<=Fs)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(oc,{filePath:t.path,diff:ne,renderSideBySide:U,wrapLines:r,focusLine:_}),v?(0,$.jsx)(`div`,{className:`pointer-events-none absolute bottom-3 right-3 z-20`,children:(0,$.jsx)(`div`,{className:`pointer-events-auto`,children:(0,$.jsx)(sc,{filePath:t.path,staged:m,busyAction:N,disabled:N!==null,onAction:le})})}):null]}):null]})]})}),uc=({hideStackedFileSidebar:e=!1,stackedDefaultCollapsedAll:t=!1,pinSelectedFileHeaderToTopOnNavigate:n=!1,showOpenInEditorAction:r=!1,diffScope:i=`all`,turnMessageId:a=null,sessionId:o=null,directory:s=null,onDiffScopeChange:c,targetFilePath:l=null,targetLine:u=null,toolPatches:d=null,flushContent:f=!1,singleFileView:p=!1,preloadFullFiles:m=!1,navigationRequestKey:h})=>{let{t:_}=fe(),{git:v,files:y}=In(),b=yr(),x=typeof s==`string`&&s.trim()?s.trim():b,{screenWidth:S,isMobile:C}=Nn(),w=Xn(x??null),T=er(x??null),E=Zn(x??null),D=nr(e=>e.setActiveDirectory),O=nr(e=>e.ensureStatus),k=nr(e=>e.fetchStatus),A=nr(e=>e.setDiff),[j,M]=Q.useState(null),[N,F]=Q.useState(!1),[I,L]=Q.useState(null),[R,z]=Q.useState(null),[B,V]=Q.useState(()=>new Set),[ee,H]=Q.useState(()=>new Set),[U,W]=Q.useState(m),[te,G]=Q.useState(0),[K,ne]=Q.useState(!1),[re,ie]=Q.useState(!1),[q,ae]=Q.useState(i);Q.useEffect(()=>{ae(i)},[i]);let J=P(e=>e.pendingDiffFile),oe=P(e=>e.pendingDiffStaged),se=P(e=>e.pendingDiffScope),le=P(e=>e.pendingDiffLine),ue=P(e=>e.setPendingDiffFile),de=P(e=>e.diffLayoutPreference),pe=P(e=>e.diffFileLayout),me=P(e=>e.setDiffFileLayout),he=P(e=>e.diffWrapLines),ge=P(e=>e.setDiffWrapLines),_e=P(e=>e.openContextFileAtLine),ve=P(e=>e.openContextFile),ye=Jn(),be=Je(e=>e.currentSessionId),xe=typeof o==`string`&&o.trim()?o.trim():be,Se=Ke(xe??``,x??void 0),Ce=he,we=q===`staged`||q!==`working`&&null,Te=we??N,Ee=C||S<=768,De=!!xe&&q!==`turn`&&!Ee&&!g(),Oe=!e&&!Ee&&S>=1024,ke=Q.useRef(null),Ae=Q.useRef(new Map),je=Q.useRef(null),Me=Q.useRef(null),Ne=Q.useRef(!1),Fe=Q.useRef(null),Ie=Q.useRef(null),Le=Q.useRef(null),Re=Q.useRef(null),ze=Q.useCallback(()=>{je.current=null,Ne.current=!1,z(null),Me.current!==null&&(window.cancelAnimationFrame(Me.current),Me.current=null)},[]),Be=Q.useCallback(e=>{V(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),He=Q.useMemo(()=>{let e=Se.length-1;if(a&&(e=Se.findIndex(e=>e.id===a),e<0))return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]};for(let t=e;t>=0;--t){let e=Se[t];if(e.role!==`user`)continue;let n=Qs(e.summary?.diffs),r=typeof e.summary?.diffCount==`number`&&Number.isFinite(e.summary.diffCount)?Math.max(0,Math.trunc(e.summary.diffCount)):n.length;return{messageID:typeof e.id==`string`&&e.id?e.id:null,count:r,hasDiffs:e.summary?.hasDiffs===!0||r>0||n.length>0,thinDiffs:n}}return{messageID:null,count:0,hasDiffs:!1,thinDiffs:[]}},[Se,a]),Ue=Q.useMemo(()=>bs(d??[]),[d]),We=Ue.length>0,Ge=Q.useMemo(()=>!xe||!x||!He.messageID?null:{sessionID:xe,directory:x,messageID:He.messageID,diffCount:He.count},[x,xe,He.count,He.messageID]),qe=Q.useMemo(()=>We?Ue:He.thinDiffs,[Ue,He.thinDiffs,We]),Ye=Q.useMemo(()=>{let e=new Map;for(let t of qe)if(t.file){if(typeof t.patch==`string`&&t.patch.length>0){e.set(t.file,tc(t.file,t.patch,`patch`));continue}(typeof t.before==`string`&&t.before.length>0||typeof t.after==`string`&&t.after.length>0)&&e.set(t.file,{original:t.before??``,modified:t.after??``,contextMode:`full`})}return e},[qe]),Xe=Q.useMemo(()=>{if(q===`turn`)return qe.map(e=>({path:e.file??``,index:``,working_dir:$s(e.status),insertions:e.additions??0,deletions:e.deletions??0,isNew:e.status===`added`})).filter(e=>e.path).sort((e,t)=>e.path.localeCompare(t.path));if(!T?.files)return[];let e=T.diffStats??{},t=q===`staged`?Ks:q===`working`?qs:()=>!0;return T.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:Gs(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[q,qe,T]),Ze=Q.useMemo(()=>T?.files?T.files.filter(qs).length:0,[T]),Qe=Q.useMemo(()=>T?.files?T.files.filter(Ks).length:0,[T]),$e=We?qe.length:He.count,et=Q.useMemo(()=>Xe.map(e=>e.path).join(`\0`),[Xe]),tt=Q.useMemo(()=>{if(!p)return Xe;let e=l?.trim()||j;return e?Xe.filter(t=>t.path===e):[]},[Xe,j,p,l]);Q.useEffect(()=>{let e=et?et.split(`\0`):[],n=new Set(e),r=`${x??``}:${q}:${a??``}:${t?`collapsed`:`default`}`,i=d!==null&&Le.current!==d,o=Ie.current!==r||i;Ie.current=r,Le.current=d,V(r=>{if(o){let n=t||q===`turn`&&!We?0:zs(e.length);return new Set(e.slice(0,n))}let i=!1,a=new Set;for(let e of r){if(!n.has(e)){i=!0;continue}a.add(e)}return i?a:r}),H(e=>{if(o)return new Set;let t=!1,r=new Set;for(let i of e){if(!n.has(i)){t=!0;continue}r.add(i)}return t?r:e})},[q,et,x,t,d,a,We]);let nt=Q.useCallback(()=>{Fe.current=null;let e=ke.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-Is,r=t.bottom+Is,i={};for(let[e,t]of Ae.current){if(!t||!B.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}H(e=>{let t=!1,n=new Set(e);for(let e of Object.keys(i))n.has(e)||(n.add(e),t=!0);return t?n:e})},[B]),rt=Q.useCallback(()=>{typeof window>`u`||Fe.current===null&&(Fe.current=window.requestAnimationFrame(nt))},[nt]);Q.useEffect(()=>{let e=ke.current;if(e)return rt(),e.addEventListener(`scroll`,rt,{passive:!0}),window.addEventListener(`resize`,rt),()=>{e.removeEventListener(`scroll`,rt),window.removeEventListener(`resize`,rt),Fe.current!==null&&(window.cancelAnimationFrame(Fe.current),Fe.current=null)}},[Xe,B,rt]);let it=Q.useCallback(e=>{let t=pe[e.path];if(t)return t;if(de===`inline`)return`inline`;if(de===`side-by-side`)return`side-by-side`;let n=S<Ns;return e.isNew||n?`inline`:`side-by-side`},[pe,de,S]),at=Q.useMemo(()=>tt.length===0?null:tt.every(e=>it(e)===`side-by-side`)?`side-by-side`:`inline`,[it,tt]);Q.useEffect(()=>{x&&(D(x),O(x,v))},[x,D,O,v]),Q.useEffect(()=>{if(x)return ft.onGitRefreshHint(e=>{Ys(e.directory)===Ys(x)&&k(x,v)})},[x,k,v]),Q.useEffect(()=>{q!==`all`&&!se||J&&(se&&ae(se),M(J),F(se===`staged`||!se&&oe),L(le),ue(null),Ne.current=!0,je.current=J,Be(J),G(e=>e+1))},[q,Be,J,le,se,oe,ue]),Q.useEffect(()=>{if(q===`all`)return;let e=l?.trim();if(!e)return;Be(e),M(e),F(q===`staged`),L(u);let t=xs({scope:q,navigationRequestKey:h,targetFilePath:e,targetLine:u}),n=Xe.some(t=>t.path===e);Ss(Re.current,t,n)&&(Re.current=t,Ne.current=!0,je.current=e,G(e=>e+1))},[q,Xe,Be,h,l,u]),Q.useEffect(()=>{j&&(Xe.some(e=>e.path===j)||(M(null),F(!1)))},[Xe,j]);let ot=Q.useCallback((e,t)=>{let n=Ae.current;t?n.set(e,t):n.delete(e),rt()},[rt]),st=Q.useCallback((e,t)=>{ze(),V(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||H(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),rt()},[ze,rt]),ct=Q.useCallback(()=>{ze(),V(e=>e.size>0?new Set:new Set(Xe.map(e=>e.path))),H(new Set),rt()},[ze,Xe,rt]),lt=Q.useCallback(async e=>{if(!be)return;let t=Je.getState().getDirectoryForSession(be)||x||``;if(!t){Pe.error(_(`diffView.reviewDialog.toast.noSessionDirectory`));return}ie(!0);try{await Ve({originalSessionID:be,directory:t,providerID:e.providerID,modelID:e.modelID,agent:e.agent||void 0,variant:e.variant||void 0,generateHandoff:e.generateHandoff,returnAfterHandoffRequest:e.generateHandoff,autoReview:e.autoReview}),ne(!1)}catch(e){console.error(`[review-flow] failed to start review flow`,e),Pe.error(e instanceof Error?e.message:_(`diffView.reviewDialog.toast.startFailed`))}finally{ie(!1)}},[be,x,_]),ut=Q.useCallback(e=>{let t=Ae.current.get(e),n=ke.current;if(!t||!n)return!1;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect().top-r.top,a=Math.max(0,n.scrollHeight-n.clientHeight);return n.scrollTop=Math.min(a,Math.max(0,n.scrollTop+i)),!0},[]);Q.useEffect(()=>{if(!je.current)return;let e=0,t=!1,r=()=>{t||(t=!0,je.current=null,Ne.current=!1,z(null),Me.current!==null&&(window.cancelAnimationFrame(Me.current),Me.current=null))},i=()=>{if(t){Me.current=null;return}let a=je.current;if(!a){r(),Me.current=null;return}if(!ut(a)){e+=1,e<20?Me.current=window.requestAnimationFrame(i):(r(),Me.current=null);return}n&&Ne.current&&z(a),r()};return Me.current=window.requestAnimationFrame(i),()=>{t=!0,Me.current!==null&&(window.cancelAnimationFrame(Me.current),Me.current=null)}},[n,te,ut]);let dt=Q.useCallback(e=>{},[]),pt=Q.useCallback(e=>{ze(),M(e),F(!1),Ne.current=!0,je.current=e,Be(e),G(e=>e+1),ut(e)},[ze,Be,ut]),mt=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;tt.forEach(e=>{me(e.path,t)})},[me,tt]),[ht,gt]=Q.useState(null),_t=Q.useCallback(async(e,t)=>{if(!(!x||!e)){gt(e);try{let n=null;if(t?.patch&&!t.isBinary&&!_r(e)?n=ys(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!_r(e)&&(n=Xs(t.original,t.modified)),n===null)try{n=ys((await v.getGitDiff(x,{path:e,staged:Te,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await v.getGitFileDiff(x,{path:e,staged:Te});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},Te||A(x,e,r)}let i=n??(r.isBinary||_r(e)?1:Xs(r.original,r.modified)),a=Js(x,e),o=await ji(y,a);if(!o.ok){Pe.error(Mi(o.reason));return}_e(x,a,i,1)}finally{gt(t=>t===e?null:t)}}},[Te,x,y,v,_e,A]),vt=ce(e=>{if(!x||!e)return;let t=Js(x,e);if(ye){ye.openFile({path:t});return}ji(y,t).then(e=>{if(!e.ok){Pe.error(Mi(e.reason));return}ve(x,t)})});return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background`,children:[p?null:(0,$.jsxs)(`div`,{className:`@container/diff-toolbar flex min-w-0 items-center gap-1.5 px-2 py-1.5 bg-background`,children:[!C&&(q===`working`||q===`staged`||q===`turn`?(0,$.jsx)(rc,{scope:q,workingCount:Ze,stagedCount:Qe,turnCount:$e,onScopeChange:e=>{ae(e),c?.(e)}}):(0,$.jsx)(`div`,{className:`flex items-center gap-1 rounded-md px-2 py-1 text-muted-foreground shrink-0`,children:(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:E&&!T?_(`diffView.state.loadingChanges`):tt.length===1?_(`diffView.summary.changedFilesSingle`,{count:tt.length}):_(`diffView.summary.changedFilesPlural`,{count:tt.length})})})),!p&&Xe.length>0&&(q!==`turn`||We)&&(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,onClick:ct,className:Y(`diff-toolbar__expand-button h-7 flex-shrink-0 gap-1 px-1.5 text-muted-foreground hover:text-foreground`,`ml-auto`),title:B.size>0?_(`diffView.actions.collapseAll`):_(`diffView.actions.expandAll`),children:[(0,$.jsx)(Z,{name:`expand-up-down`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__expand-label typography-code`,children:B.size>0?_(`diffView.actions.collapseAll`):_(`diffView.actions.expandAll`)})]}),Xe.length>0&&De&&(0,$.jsxs)(X,{variant:`default`,size:`sm`,onClick:()=>ne(!0),disabled:re,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":_(`diffView.actions.reviewAria`),children:[re?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:_(`diffView.actions.review`)})]}),Xe.length>0&&(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>W(e=>!e),"aria-pressed":U,"aria-label":_(U?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:Y(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,U&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(Z,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)(dn,{children:(0,$.jsx)(`p`,{children:_(U?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),Xe.length>0&&(0,$.jsx)(X,{variant:`ghost`,size:`sm`,onClick:()=>ge(!he),className:Y(`h-5 w-5 p-0 transition-opacity`,Ce?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:_(Ce?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(Z,{name:`text-wrap`,className:`size-4`})}),at&&(0,$.jsx)(Sr,{mode:at===`side-by-side`?`side-by-side`:`unified`,onModeChange:mt})]}),(0,$.jsx)(Mt,{open:K,onOpenChange:ne,projectDirectory:x??null,submitting:re,onConfirm:lt}),x?q!==`turn`&&E&&!T?(0,$.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),_(`diffView.state.loadingRepositoryStatus`)]}):q!==`turn`&&w===!1?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:_(`diffView.state.notGitRepository`)}):tt.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:_(q===`turn`?`diffView.state.noLastTurnChanges`:`diffView.state.cleanWorkingTree`)}):(()=>{if(!x)return null;let e=e=>we===null?N&&e===j:we;return(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-1 min-h-0 h-full`,f?`gap-0`:`gap-3 px-3 pb-3 pt-2`),children:[Oe&&(0,$.jsxs)(`section`,{className:`hidden lg:flex w-72 flex-col rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-b border-border/40`,children:[(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:_(`diffView.section.files`)}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:Xe.length})]}),(0,$.jsx)(ic,{changedFiles:Xe,selectedFile:null,onSelectFile:pt})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(Vn,{ref:ke,outerClassName:`min-h-0 h-full`,className:`[overflow-anchor:none] pb-16 pwa-overlay-scroll`,disableHorizontal:!0,observeMutations:!1,preventOverscroll:!0,"data-diff-virtual-root":!0,children:(0,$.jsx)(`div`,{className:`flex flex-col [overflow-anchor:none]`,"data-diff-virtual-content":!0,children:tt.map(t=>(0,$.jsx)(lc,{directory:x,file:t,layout:it(t),wrapLines:Ce,isSelected:!1,isExpanded:B.has(t.path),isMounted:ee.has(t.path)||t.path===R||p&&tt.length===1,onSelect:dt,onExpandedChange:st,registerSectionRef:ot,showOpenInEditorAction:r&&q!==`turn`,isOpeningInEditor:ht===t.path,onOpenInEditor:(e,t)=>{_t(e,t)},onOpenFile:vt,staged:e(t.path),loadFullFiles:U,initialDiffData:q===`turn`?Ye.get(t.path)??null:null,focusLine:t.path===(l?.trim()||j)?u??I:null,showFileActions:q!==`turn`,disableGitFetch:q===`turn`,turnChangesRequest:Ge,loadTurnChangeFile:q===`turn`&&!We},t.path))})})})]})})():(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:_(`diffView.state.selectSessionDirectory`)})]})},dc=new Set,fc=new Map;function pc(e,t){let n=new Set;for(let[t,r]of Object.entries(e))(r.type===`busy`||r.type===`retry`)&&n.add(t);for(let r of t.keys())e[r]===void 0&&n.add(r);return n}function mc(e,t){if(!t||e.has(t))return e;let n=new Set(e);return n.add(t),n}function hc(e){let t=(0,qr.c)(7),n=e?.enabled??!0,r;t[0]===n?r=t[1]:(r={enabled:n},t[0]=n,t[1]=r);let i=Ne(r),a;t[2]===n?a=t[3]:(a=e=>n?e.statusById:fc,t[2]=n,t[3]=a);let o=Ee(a),s;bb0:{if(!n){s=dc;break bb0}let e;t[4]!==o||t[5]!==i?(e=pc(i,o),t[4]=o,t[5]=i,t[6]=e):e=t[6],s=e}return s}function gc(e){let t=(0,qr.c)(3),n=e?.includeCurrentSession??!0,r=hc(e),i=Je(_c),a;bb0:{if(!n){a=r;break bb0}let e;t[0]!==i||t[1]!==r?(e=mc(r,i),t[0]=i,t[1]=r,t[2]=e):e=t[2],a=e}return a}function _c(e){return e.currentSessionId}var vc=e=>Object.fromEntries(e.map(e=>[e.id,Ze(e)])),yc=(e,t,n,r)=>{if(!t||t.length===0||!r)return[];let i=new Set(e),a=new Set(t),o=[...t.filter(e=>i.has(e)),...e.filter(e=>!a.has(e))];if(o.length===0)return[];if(Ge(n,r))return o;let s=e=>{let t=r[e];return t===void 0?!a.has(e):(n[e]??0)>t},c=[],l=[];if(o.forEach(e=>{s(e)?c.push(e):l.push(e)}),c.length===0)return o;let u=new Map(o.map((e,t)=>[e,t]));return c.sort((e,t)=>{let r=(n[t]??0)-(n[e]??0);return r===0?(u.get(e)??0)-(u.get(t)??0):r}),[...c,...l]},bc=(e,t,n)=>{let r=vc(e.map(e=>e.session)),i=yc(e.map(e=>e.session.id),t,r,n);return new Map(i.map((e,t)=>[e,t]))},xc=(e,t,n,r)=>{let i=bc(e,t,n);return(e,t)=>{let n=i.get(e.session.id),a=i.get(t.session.id);if(n!==void 0||a!==void 0){if(n===void 0)return 1;if(a===void 0)return-1;if(n!==a)return n-a}return Cn(e.session,t.session,r)}},Sc=({folders:e,visibleUngroupedNodes:t,collapsedFolderIds:n,hasSessionSearchQuery:r})=>{let i=new Map(e.map(e=>[e.folder.id,e])),a=new Map;e.forEach(({folder:e})=>{let t=e.parentId??null,n=a.get(t)??[];n.push(e.id),a.set(t,n)});let o=[],s=new Map,c=e=>{let t=i.get(e);t&&(!r&&n.has(e)||((a.get(e)??[]).forEach(c),t.nodes.forEach(t=>{o.push(t.session.id),s.set(t.session.id,e)})))};return(a.get(null)??[]).forEach(c),t.forEach(e=>{o.push(e.session.id),s.set(e.session.id,null)}),{sessionIds:o,folderIdBySessionId:s}},Cc=(e,t,n)=>n.get(e)===n.get(t),wc=e=>!!e.parentID,Tc=(e,t)=>h(nt(e.session))??h(t.directory??null),Ec=()=>3,Dc=(e,t,n,r)=>{let i=Math.min(e.length,Math.max(0,t)),a=e.slice(0,i);for(let t=i;t<e.length;t+=1){let i=e[t];i&&n.has(r(i))&&a.push(i)}return a},Oc=(e,t,n)=>Dc(e,t,n,e=>e.session.id),kc=(e,t,n)=>Dc(e,t,n,e=>e.id),Ac=({targets:e,collapsedProjectIds:t,collapsedGroupKeys:n,collapsedFolderIds:r,visibleSessionCountByGroup:i,defaultVisibleSessionCount:a,hasSessionSearchQuery:o,alwaysVisibleSessionIds:s})=>e.filter(e=>{if(!e.projectId||t.has(e.projectId))return!1;if(o)return!0;if(e.groupKey&&n.has(e.groupKey)||e.folderAncestorIds?.some(e=>r.has(e)))return!1;if(e.groupKey&&e.visibleIndex!==void 0){let t=Math.max(a,i.get(e.groupKey)??a);if(e.visibleIndex>=t&&!s?.has(e.sessionId))return!1}return!0}),jc=(e,t,n)=>{if(!t||n==null||!Number.isInteger(n)||n<0)return null;if(e[n]?.session.id===t)return n;let r=e.findIndex(e=>e.session.id===t);return r>=0?r:null},Mc=({sections:e,foldersMap:t,getOrderedGroups:n,pinnedSessionIds:r,sessionOrderByScope:i,sessionOrderActivityByScope:a})=>{let o=[];return e.forEach(e=>{let s=n(e.project.id,e.groups),c=s.find(e=>e.isMain)??null;(c?[c,...s.filter(e=>e.id!==c.id)]:s).forEach(n=>{if(n.isArchivedBucket)return;let s=`${e.project.id}:${n.id}`,c=n.folderScopeKey??h(n.directory??null),l=xc(n.sessions,c?i[c]:void 0,c?a[c]:void 0,r),u=[...n.sessions].filter(e=>!e.session.time?.archived&&!wc(e.session)).sort(l),d=new Map(u.map(e=>[e.session.id,e])),f=c?t[c]??[]:[],p=new Map;f.forEach(e=>{let t=e.parentId??null,n=p.get(t)??[];n.push(e),p.set(t,n)});let m=new Set(f.flatMap(e=>e.sessionIds)),g=(t,r,i)=>{o.push({scope:`project`,sessionId:t.session.id,projectId:e.project.id,directory:Tc(t,n),groupKey:s,folderAncestorIds:r,visibleIndex:i})},_=(e,t)=>{let n=f.find(t=>t.id===e);if(!n)return;let r=[...t,n.id];(p.get(n.id)??[]).forEach(e=>{_(e.id,r)}),n.sessionIds.map(e=>d.get(e)).filter(e=>!!e).sort(l).forEach(e=>g(e,r))};(p.get(null)??[]).forEach(e=>_(e.id,[])),u.filter(e=>!m.has(e.session.id)).forEach((e,t)=>g(e,void 0,t))})}),o},Nc=x()(S(e=>({expandedWorktreeGroups:{},setWorktreeGroupExpanded:(t,n)=>e(e=>({expandedWorktreeGroups:{...e.expandedWorktreeGroups,[t]:n}}))}),{name:`mobile-session-statusbar-collapse`,storage:u()}));typeof window<`u`&&t(e=>{o(e)&&Nc.persist.rehydrate()});var Pc=e=>{let t=(0,qr.c)(24),{size:n,className:r}=e,i=n===void 0?14:n,a=(i-1.5)/2,o=2*Math.PI*a,s=o*.28,c;t[0]===r?c=t[1]:(c=Y(`inline-flex items-center justify-center shrink-0`,r),t[0]=r,t[1]=c);let l;t[2]===i?l=t[3]:(l={width:i,height:i},t[2]=i,t[3]=l);let u=`0 0 ${i} ${i}`,d;t[4]===i?d=t[5]:(d={width:i,height:i},t[4]=i,t[5]=d);let f=i/2,p=i/2,m;t[6]!==a||t[7]!==f||t[8]!==p?(m=(0,$.jsx)(`circle`,{cx:f,cy:p,r:a,fill:`none`,stroke:`var(--interactive-border)`,strokeWidth:1.5}),t[6]=a,t[7]=f,t[8]=p,t[9]=m):m=t[9];let h=i/2,g=i/2,_=`${s} ${o-s}`,v;t[10]!==a||t[11]!==g||t[12]!==_||t[13]!==h?(v=(0,$.jsx)(`circle`,{cx:h,cy:g,r:a,fill:`none`,stroke:`var(--surface-muted-foreground)`,strokeWidth:1.5,strokeLinecap:`round`,strokeDasharray:_}),t[10]=a,t[11]=g,t[12]=_,t[13]=h,t[14]=v):v=t[14];let y;t[15]!==v||t[16]!==u||t[17]!==d||t[18]!==m?(y=(0,$.jsxs)(`svg`,{viewBox:u,className:`animate-spin`,style:d,"aria-hidden":`true`,children:[m,v]}),t[15]=v,t[16]=u,t[17]=d,t[18]=m,t[19]=y):y=t[19];let b;return t[20]!==y||t[21]!==c||t[22]!==l?(b=(0,$.jsx)(`span`,{className:c,style:l,"aria-hidden":`true`,children:y}),t[20]=y,t[21]=c,t[22]=l,t[23]=b):b=t[23],b};Pc.displayName=`SessionBusyIndicator`;function Fc({durationMs:e,size:t=15,className:n}){let r=1.5,i=(t-r)/2,a=2*Math.PI*i,[o,s]=Q.useState(!1),[c,l]=Q.useState(()=>Math.max(0,Math.ceil(e/1e3)-1));return Q.useEffect(()=>{let t=performance.now(),n=window.requestAnimationFrame(()=>s(!0)),r=window.setInterval(()=>{let n=performance.now()-t;l(Math.max(0,Math.ceil((e-n)/1e3)-1))},250);return()=>{window.cancelAnimationFrame(n),window.clearInterval(r)}},[e]),(0,$.jsxs)(`span`,{className:Y(`oc-undo-countdown`,n),style:{"--oc-undo-countdown-size":`${t}px`},"aria-hidden":`true`,children:[(0,$.jsxs)(`svg`,{viewBox:`0 0 ${t} ${t}`,width:t,height:t,className:`oc-undo-countdown-svg`,children:[(0,$.jsx)(`circle`,{cx:t/2,cy:t/2,r:i,fill:`none`,stroke:`var(--interactive-border)`,strokeWidth:r}),(0,$.jsx)(`circle`,{cx:t/2,cy:t/2,r:i,fill:`none`,stroke:`var(--primary-base)`,strokeWidth:r,strokeLinecap:`round`,strokeDasharray:a,strokeDashoffset:o?a:0,style:{transition:`stroke-dashoffset ${e}ms linear`}})]}),(0,$.jsx)(`span`,{className:`oc-undo-countdown-digit text-current`,children:c})]})}function Ic(){P.getState().setArchivedSessionsDialogOpen(!0)}function Lc(e){Pe.custom(t=>Q.createElement(`div`,{className:`flex w-full min-w-0 max-w-full items-center gap-2.5 text-foreground`},Q.createElement(`span`,{className:`min-w-0 flex-1 truncate text-left typography-ui-label font-medium`},e.message),Q.createElement(`div`,{className:`flex shrink-0 items-center gap-1.5`},e.secondaryLabel&&e.onSecondary?Q.createElement(X,{variant:`secondary`,size:`sm`,className:`session-mutation-undo-action overflow-hidden !h-[26px] !min-h-0 !min-w-0 shrink-0 !px-2 !text-[12px]`,onClick:()=>{e.onSecondary?.(),Pe.dismiss(t)}},e.secondaryLabel):null,Q.createElement(X,{variant:`default`,size:`sm`,className:`session-mutation-undo-action overflow-hidden !h-[26px] !min-h-0 !min-w-0 shrink-0 gap-1 !pl-2 !pr-1 !text-[12px]`,onClick:()=>{e.onPrimary(),Pe.dismiss(t)}},e.primaryLabel,Q.createElement(Fc,{durationMs:e.durationMs})))),{duration:e.durationMs,className:`session-mutation-undo-toast !max-w-[calc(100vw-2rem)]`})}function Rc(e){let t=Array.from(new Set(e.sessionIds.filter(Boolean)));t.length!==0&&Lc({durationMs:Ue,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{(async()=>{(await Promise.all(t.map(e=>rt(e)))).some(e=>!e)&&Pe.error(e.undoFailedMessage)})()},secondaryLabel:e.settingsLabel,onSecondary:()=>{Ic()}})}function zc(e){let t=Array.from(new Set(e.sessionIds.filter(Boolean)));if(t.length===0)return{batchId:``,scheduledIds:[]};let n=e.delayMs??1e4,{batchId:r,scheduledIds:i}=Ye(t,{delayMs:n,onSettled:({failedIds:t})=>{t.length>0&&Pe.error(e.commitFailedMessage)}});return r&&Lc({durationMs:n,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{ct(r)}}),{batchId:r,scheduledIds:i}}var Bc=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Vc=e=>{let t=e;return Bc(t.directory??t.project?.worktree??null)},Hc=({open:e,project:t,worktree:n,onClose:r,onDeleted:i})=>{let{t:a}=fe(),o=ze(),s=Fe(e=>e.activeSessions),c=Je(e=>e.archiveSessions),l=k(e=>e.currentDirectory),[u,d]=Q.useState(!1),[f,p]=Q.useState(!1),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),v=Bc(n?.path),y=typeof n?.branch==`string`&&n.branch.trim().length>0,b=Q.useMemo(()=>{if(!v)return[];let e=new Map;for(let t of[...s,...o])Vc(t)===v&&e.set(t.id,t);return Array.from(e.values())},[s,o,v]);Q.useEffect(()=>{if(!e){d(!1),p(!1),h(!1),_(!1);return}if(!n?.path)return;let t=!1;return rn(n.path).then(e=>{t||h(!!e?.isDirty)}).catch(()=>{t||h(!!n.status?.isDirty)}),()=>{t=!0}},[e,n?.path,n?.status?.isDirty]);let x=ce(e=>{(async()=>{try{await en(e.project,e.worktree,{deleteRemoteBranch:e.hasBranch&&e.deleteRemoteBranch,deleteLocalBranch:e.hasBranch&&e.deleteLocalBranch}),Bc(e.currentDirectory)===e.worktreePath&&Bc(e.project.path)&&k.getState().setDirectory(Bc(e.project.path),{showOverlay:!1}),Pe.success(e.t(`sessions.sidebar.sessionDialogs.worktree.removedTitle`),{description:e.hasBranch&&e.deleteRemoteBranch?e.t(`sessions.sidebar.sessionDialogs.worktree.removedWithRemote`):e.t(`sessions.sidebar.sessionDialogs.worktree.removed`)}),e.onDeleted?.()}catch(t){Pe.error(e.t(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:t instanceof Error?t.message:e.t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}})()}),S=async()=>{if(!n||g)return;let o={worktree:n,project:t,hasBranch:y,deleteLocalBranch:u,deleteRemoteBranch:f,currentDirectory:l,worktreePath:v,onDeleted:i,archiveSessions:c,linkedSessionIds:b.map(e=>e.id),onClose:r,open:e,t:a};_(!0);try{if(o.linkedSessionIds.length>0){let{archivedIds:e,failedIds:t}=await o.archiveSessions(o.linkedSessionIds);if(t.length>0){e.length>0&&Pe.success(e.length===1?o.t(`sessions.sidebar.bulkActions.archivedSingle`,{count:e.length}):o.t(`sessions.sidebar.bulkActions.archivedPlural`,{count:e.length})),Pe.error(t.length===1?o.t(`sessions.sidebar.bulkActions.failedArchiveSingle`,{count:t.length}):o.t(`sessions.sidebar.bulkActions.failedArchivePlural`,{count:t.length}),{description:o.t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)}),_(!1);return}}x(o),o.onClose()}catch(e){Pe.error(o.t(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:e instanceof Error?e.message:o.t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)}),_(!1)}finally{o.open||_(!1)}};if(!n)return null;let C=n.branch||n.label||n.path,w=(e,t,n,r)=>(0,$.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":e,disabled:r,onClick:()=>t(!e),className:Y(`flex w-full items-center justify-between gap-3 rounded-xl border border-border/50 px-3.5 py-3 text-left transition-colors`,`hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,r&&`pointer-events-none opacity-40`),style:{touchAction:`manipulation`},children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:n}),(0,$.jsx)(`span`,{className:Y(`relative h-6 w-10 shrink-0 rounded-full transition-colors`,e?`bg-primary`:`bg-muted-foreground/30`),children:(0,$.jsx)(`span`,{className:Y(`absolute top-0.5 size-5 rounded-full bg-white transition-transform`,e?`translate-x-[1.125rem]`:`translate-x-0.5`)})})]});return(0,$.jsx)(Tn,{open:e,onClose:r,title:a(`mobile.projectEdit.deleteWorktreeTitle`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(X,{variant:`ghost`,className:`flex-1`,onClick:r,disabled:g,children:a(`projectEditDialog.actions.cancel`)}),(0,$.jsx)(X,{variant:`destructive`,className:`flex-1`,onClick:()=>void S(),disabled:g,children:a(`mobile.projectEdit.deleteWorktreeConfirmButton`)})]}),children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4 px-1 py-1`,children:[(0,$.jsx)(`p`,{className:`typography-ui-body text-foreground`,children:a(`mobile.projectEdit.deleteWorktreeConfirm`,{name:C})}),m?(0,$.jsx)(`p`,{className:`rounded-xl border border-[var(--warning)]/40 bg-[color-mix(in_srgb,var(--warning)_10%,transparent)] px-3.5 py-3 typography-meta text-foreground`,children:a(`mobile.projectEdit.deleteWorktreeDirty`)}):null,b.length>0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:a(`mobile.projectEdit.deleteWorktreeArchiveNote`,{count:b.length})}):null,y?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[w(u,d,a(`mobile.projectEdit.deleteLocalBranch`),g),w(f,p,a(`mobile.projectEdit.deleteRemoteBranch`),g)]}):null]})})},Uc=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Wc=e=>{let t=(0,qr.c)(36),{worktree:n,onDelete:r}=e,{t:i}=fe(),a;t[0]===n.path?a=t[1]:(a={id:n.path},t[0]=n.path,t[1]=a);let{attributes:o,listeners:s,setNodeRef:c,transform:l,transition:u,isDragging:d}=mr(a),f;t[2]===l?f=t[3]:(f=fr.Transform.toString(l),t[2]=l,t[3]=f);let p=d?10:1,m;t[4]!==f||t[5]!==p||t[6]!==u?(m={transform:f,transition:u,zIndex:p},t[4]=f,t[5]=p,t[6]=u,t[7]=m):m=t[7];let h=m,g=n.branch||n.label||n.path,_=d&&`shadow-lg shadow-black/20`,v;t[8]===_?v=t[9]:(v=Y(`flex items-center gap-1 rounded-2xl border border-border/40 bg-[var(--surface-elevated)] px-1.5 py-1.5 transition-colors`,_),t[8]=_,t[9]=v);let y;t[10]!==g||t[11]!==i?(y=i(`mobile.projectEdit.dragWorktreeAria`,{label:g}),t[10]=g,t[11]=i,t[12]=y):y=t[12];let b;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Z,{name:`drag-move-2`,className:`size-4`}),t[13]=b):b=t[13];let x;t[14]!==o||t[15]!==s||t[16]!==y?(x=(0,$.jsx)(`button`,{type:`button`,className:`flex size-9 shrink-0 cursor-grab touch-none items-center justify-center rounded-xl text-muted-foreground/70 transition-colors hover:text-foreground active:cursor-grabbing`,"aria-label":y,...o,...s,children:b}),t[14]=o,t[15]=s,t[16]=y,t[17]=x):x=t[17];let S;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(Z,{name:`node-tree`,className:`size-4 shrink-0 text-muted-foreground`}),t[18]=S):S=t[18];let C;t[19]===g?C=t[20]:(C=(0,$.jsx)(`span`,{className:`block min-w-0 flex-1 truncate typography-ui-label text-foreground`,children:g}),t[19]=g,t[20]=C);let w;t[21]!==g||t[22]!==i?(w=i(`mobile.projectEdit.deleteWorktreeAria`,{label:g}),t[21]=g,t[22]=i,t[23]=w):w=t[23];let T,E;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(T={touchAction:`manipulation`},E=(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),t[24]=T,t[25]=E):(T=t[24],E=t[25]);let D;t[26]!==r||t[27]!==w?(D=(0,$.jsx)(`button`,{type:`button`,className:`flex size-9 shrink-0 items-center justify-center rounded-xl text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive`,"aria-label":w,onClick:r,style:T,children:E}),t[26]=r,t[27]=w,t[28]=D):D=t[28];let O;return t[29]!==c||t[30]!==h||t[31]!==C||t[32]!==D||t[33]!==v||t[34]!==x?(O=(0,$.jsxs)(`div`,{ref:c,style:h,className:v,children:[x,S,C,D]}),t[29]=c,t[30]=h,t[31]=C,t[32]=D,t[33]=v,t[34]=x,t[35]=O):O=t[35],O},Gc=({open:e,project:t,onClose:n,onWorktreesChanged:r})=>{let{t:i}=fe(),{currentTheme:a}=jn(),o=ot(e=>e.updateProjectMeta),s=ot(e=>e.discoverProjectIcon),c=ot(e=>e.removeProjectIcon),l=Ut(e=>e.setWorktreeOrder),u=ot(e=>t?e.projects.find(e=>e.id===t.id)?.iconImage??null:null),[d,f]=Q.useState(``),[p,m]=Q.useState(null),[h,g]=Q.useState(null),[_,v]=Q.useState(!1),[y,b]=Q.useState([]),[x,S]=Q.useState(null),C=t?.id??null;Q.useEffect(()=>{!e||!t||(f(t.label),m(t.icon??null),g(t.color??null),b(t.worktrees))},[e,C]),Q.useEffect(()=>{!e||!t||b(e=>{let n=t.worktrees.map(e=>e.path),r=e.map(e=>e.path);return n.length===r.length&&n.every(e=>r.includes(e))?e:t.worktrees})},[t?.worktrees]);let w=dr(or(lr,{activationConstraint:{distance:8}}),or(sr,{coordinateGetter:pr})),T=()=>{if(!t)return;let e=d.trim();o(t.id,{label:e||t.label,icon:p,color:h}),n()},E=()=>{!t||_||(v(!0),s(t.id).then(e=>{if(!e.ok){Pe.error(e.error||i(`projectEditDialog.toast.failedToDiscoverIcon`));return}if(e.skipped){Pe.success(i(`projectEditDialog.toast.customIconAlreadySet`));return}Pe.success(i(`projectEditDialog.toast.iconDiscovered`))}).finally(()=>v(!1)))},D=()=>{t&&c(t.id).then(e=>{if(!e.ok){Pe.error(e.error||i(`projectEditDialog.toast.failedToRemoveIcon`));return}Pe.success(i(`projectEditDialog.toast.iconRemoved`))})},O=e=>{let{active:n,over:r}=e;if(!r||n.id===r.id||!t)return;let i=y.findIndex(e=>e.path===n.id),a=y.findIndex(e=>e.path===r.id);if(i<0||a<0)return;let o=[...y],[s]=o.splice(i,1);o.splice(a,0,s),b(o),l(t.id,t.path,o.map(e=>Uc(e.path)))},k=h?nn[h]??null:null,A=p?$t[p]:null,j=!!u;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Bn,{id:`mobile-project-edit`,open:e,onOpenChange:e=>{e||n()},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:i(`projectEditDialog.title`)}),trailing:(0,$.jsxs)(X,{type:`button`,variant:`default`,size:`sm`,"aria-label":i(`projectEditDialog.actions.save`),onClick:T,disabled:!d.trim(),style:{touchAction:`manipulation`},children:[(0,$.jsx)(Z,{name:`check`,className:`size-4`}),i(`projectEditDialog.actions.save`)]}),ariaLabel:i(`projectEditDialog.title`),closeAriaLabel:i(`mobile.surface.closeAria`),resizeAriaLabel:i(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:t?(0,$.jsxs)(`div`,{className:`overlay-scrollbar-container h-full space-y-6 overflow-y-auto px-4 pb-8 pt-2`,children:[(0,$.jsx)(`div`,{className:`flex justify-center pt-2`,children:(0,$.jsx)(`span`,{className:`flex size-16 items-center justify-center overflow-hidden rounded-2xl bg-[var(--surface-muted)] text-muted-foreground`,style:t.iconBackground?{backgroundColor:t.iconBackground}:void 0,children:j?(0,$.jsx)(Jt,{project:{id:t.id,iconImage:u},options:{themeVariant:a.metadata.variant,iconColor:a.colors.surface.foreground},className:`size-full object-contain`,fallback:(0,$.jsx)(Z,{name:`folder-6`,className:`size-7`})}):A?(0,$.jsx)(Z,{name:A,className:`size-7`,style:k?{color:k}:void 0}):(0,$.jsx)(Z,{name:`folder-6`,className:`size-7`,style:k?{color:k}:void 0})})}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:i(`projectEditDialog.field.name`)}),(0,$.jsx)(ln,{value:d,onChange:e=>f(e.target.value),placeholder:i(`projectEditDialog.field.namePlaceholder`),className:`h-11`}),(0,$.jsx)(`p`,{className:`truncate typography-meta text-muted-foreground`,title:t.path,children:t.path})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:i(`projectEditDialog.field.color`)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>g(null),"aria-label":i(`projectEditDialog.option.none`),className:Y(`flex size-9 items-center justify-center rounded-xl border-2 transition-all`,h===null?`border-foreground`:`border-border hover:border-border/80`),style:{touchAction:`manipulation`},children:(0,$.jsx)(`span`,{className:`h-0.5 w-4 rotate-45 rounded-full bg-muted-foreground/40`})}),sn.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>g(e.key),"aria-label":e.label,title:e.label,className:Y(`size-9 rounded-xl border-2 transition-all`,h===e.key?`border-foreground`:`border-transparent hover:border-border`),style:{backgroundColor:e.cssVar,touchAction:`manipulation`}},e.key))]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:i(`projectEditDialog.field.icon`)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>m(null),"aria-label":i(`projectEditDialog.option.none`),className:Y(`flex size-9 items-center justify-center rounded-xl border-2 transition-all`,p===null?`border-foreground bg-[var(--surface-elevated)]`:`border-border hover:border-border/80`),style:{touchAction:`manipulation`},children:(0,$.jsx)(`span`,{className:`h-0.5 w-4 rotate-45 rounded-full bg-muted-foreground/40`})}),an.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>m(e.key),"aria-label":e.label,title:e.label,className:Y(`flex size-9 items-center justify-center rounded-xl border-2 transition-all`,p===e.key?`border-foreground bg-[var(--surface-elevated)]`:`border-border hover:border-border/80`),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:e.Icon,className:`size-4`,style:k?{color:k}:void 0})},e.key))]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 pt-1`,children:[(0,$.jsx)(X,{size:`sm`,variant:`outline`,onClick:E,disabled:_,children:i(_?`projectEditDialog.actions.discovering`:`projectEditDialog.actions.discoverFavicon`)}),j?(0,$.jsx)(X,{size:`sm`,variant:`outline`,onClick:D,children:i(`projectEditDialog.actions.removeProjectIcon`)}):null]})]}),t.isGitRepo?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`label`,{className:`typography-ui-label font-medium text-foreground`,children:i(`mobile.projectEdit.worktreesTitle`)}),y.length===0?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:i(`mobile.projectEdit.worktreesEmpty`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:i(`mobile.projectEdit.reorderHint`)}),(0,$.jsx)(ur,{sensors:w,collisionDetection:cr,onDragEnd:O,children:(0,$.jsx)(gr,{items:y.map(e=>e.path),strategy:hr,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:y.map(e=>(0,$.jsx)(Wc,{worktree:e,onDelete:()=>S(e)},e.path))})})})]})]}):null]}):null}),t?(0,$.jsx)(Hc,{open:!!x,project:{id:t.id,path:t.path},worktree:x,onClose:()=>S(null),onDeleted:()=>{b(e=>e.filter(e=>e.path!==x?.path)),r?.()}}):null]})},Kc=()=>3,qc=()=>7,Jc=(e,t,n)=>{let r=new Map;for(let[n,i]of e)t.has(n)&&r.set(n,i);for(let e of n)e.status===`success`&&r.set(e.path,e.worktrees??[]);return Xt(r,e)?e:r},Yc=(e,t)=>{t&&e.push(t)},Xc=e=>{let t=[];return Yc(t,e.onRename?{id:`rename`,icon:`pencil-ai`,labelKey:`sessions.sidebar.session.menu.rename`,onClick:e.onRename}:null),Yc(t,e.onTogglePin?{id:`pin`,icon:e.pinned?`unpin`:`pushpin`,labelKey:e.pinned?`sessions.sidebar.session.menu.unpin`:`sessions.sidebar.session.menu.pin`,onClick:e.onTogglePin}:null),e.shared?(Yc(t,e.onCopyLink?{id:`copyLink`,icon:`file-copy`,labelKey:`sessions.sidebar.session.menu.copyLink`,onClick:e.onCopyLink}:null),Yc(t,e.onUnshare?{id:`unshare`,icon:`link-unlink-m`,labelKey:`sessions.sidebar.session.menu.unshare`,onClick:e.onUnshare}:null)):Yc(t,e.onShare?{id:`share`,icon:`share-2`,labelKey:`sessions.sidebar.session.menu.share`,onClick:e.onShare}:null),Yc(t,e.onRefreshTranscript?{id:`refreshTranscript`,icon:`refresh`,labelKey:`sessions.sidebar.session.menu.refreshTranscript`,onClick:e.onRefreshTranscript,disabled:e.refreshTranscriptDisabled,spinning:e.refreshTranscriptSpinning}:null),Yc(t,e.onArchive?{id:`archive`,icon:`archive`,labelKey:`sessions.sidebar.bulkActions.archive`,onClick:e.onArchive}:null),Yc(t,e.onDelete?{id:`delete`,icon:`delete-bin`,labelKey:`sessions.sidebar.bulkActions.delete`,onClick:e.onDelete,destructive:!0,separated:!0}:null),e.extraItems?.length&&t.push(...e.extraItems),t},Zc=e=>{let t=[];return Yc(t,e.onNewSession?{id:`newSession`,icon:`add`,labelKey:`sessions.sidebar.project.actions.newSession`,onClick:e.onNewSession}:null),Yc(t,e.gitRepository&&e.onNewWorktree?{id:`newWorktree`,icon:`node-tree`,labelKey:`sessions.sidebar.project.actions.newWorktree`,onClick:e.onNewWorktree}:null),Yc(t,e.onSyncSessions?{id:`syncSessions`,icon:`refresh`,labelKey:`sessions.sidebar.project.actions.syncSessions`,onClick:e.onSyncSessions}:null),Yc(t,e.onEditProject?{id:`edit`,icon:`pencil-ai`,labelKey:`sessions.sidebar.project.actions.edit`,onClick:e.onEditProject}:null),Yc(t,e.onCloseProject?{id:`closeProject`,icon:`close`,labelKey:`sessions.sidebar.project.actions.closeProject`,onClick:e.onCloseProject,destructive:!0,separated:!0}:null),e.extraItems?.length&&t.push(...e.extraItems),t},Qc=e=>{let t=[];return Yc(t,e.onNewSession?{id:`newSession`,icon:`add`,labelKey:`sessions.sidebar.project.actions.newSession`,onClick:e.onNewSession}:null),Yc(t,e.onDeleteWorktree?{id:`deleteWorktree`,icon:`delete-bin`,labelKey:`mobile.projectEdit.deleteWorktreeConfirmButton`,onClick:e.onDeleteWorktree,destructive:!0,separated:!0}:null),e.extraItems?.length&&t.push(...e.extraItems),t},$c=(e,t)=>t(e.labelKey),el=[],tl=(e,t)=>{let n=e?.[t];return n?.type===`busy`||n?.type===`retry`?n.type:`idle`},nl=e=>{let t=new Set(e.map(e=>e.id)),n=new Map;for(let r of e){let e=r.parentID;if(e&&t.has(e)){let t=n.get(e)??[];t.push(r),n.set(e,t)}}return{allIds:t,parentChildMap:n}},rl=(e,t)=>{let n=e.parentID;return!n||!t.has(n)};function il(e,t,n){let{allIds:r,parentChildMap:i}=nl(e),a=0,o=0;for(let s of e){if(!rl(s,r))continue;let e=tl(t,s.id),c=(i.get(s.id)??[]).filter(e=>tl(t,e.id)!==`idle`).length;a+=(e===`idle`?0:1)+c,(n?.[s.id]??0)>0&&(o+=1)}return{totalRunning:a,totalUnread:o}}function al(e,t,n,r,i){if(!r){let r=il(e,t,n);return{sessions:el,totalRunning:r.totalRunning,totalUnread:r.totalUnread,totalCount:0}}let{allIds:a,parentChildMap:o}=nl(e),s=e.filter(e=>rl(e,a)),c=[],l=[];for(let e of s){let r=tl(t,e.id),i=(o.get(e.id)??[]).filter(e=>tl(t,e.id)!==`idle`),a=i.length>0,s=(n?.[e.id]??0)>0,u={...e,_statusType:r,_hasRunningChildren:a,_runningChildrenCount:i.length,_childIndicators:i.slice(0,3).map(e=>({session:e,isRunning:!0}))};r!==`idle`||a||s?c.push(u):l.push(u)}let u=(e,t)=>i(t)-i(e);c.sort(u),l.sort(u);let d=[...c,...l];return{sessions:d,totalRunning:d.reduce((e,t)=>e+(t._statusType===`idle`?0:1)+(t._runningChildrenCount??0),0),totalUnread:d.filter(e=>(n?.[e.id]??0)>0).length,totalCount:d.length}}function ol(){let e=(0,qr.c)(3),t=ze(),n=Fe(ll),r;if(e[0]!==n||e[1]!==t){let i=new Map(t.map(cl));r=n.map(e=>{let t=i.get(e.id);return t?Ae(t,e):e});let a=new Set(r.map(sl));for(let e of t)a.has(e.id)||r.push(e);e[0]=n,e[1]=t,e[2]=r}else r=e[2];return r}function sl(e){return e.id}function cl(e){return[e.id,e]}function ll(e){return e.activeSessions}var ul=`__pinned_sessions__`;function dl(e){return e===null||e===ul}function fl(e){let{activeProjectId:t,currentFilterProjectId:n,projects:r}=e;return n===null?null:n===ul||r.some(e=>e.id===n)?n:t??n}var pl=3,ml=7,hl=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.replace(/\/+$/,``)},gl=e=>{let t=e;return hl(t.directory??t.project?.worktree??``)},_l=e=>{let t=new Set(e.map(e=>e.id));return e.filter(e=>{let n=e.parentID;return!n||!t.has(n)}).length};function vl(e){e.preventBaseUIHandler()}function yl(e,t,n){t&&(e.preventBaseUIHandler(),n(e))}function bl(e){let t=(0,qr.c)(10),{icon:n,label:r,onClick:i,destructive:a}=e,o=a!==void 0&&a?`destructive`:`ghost`,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={touchAction:`manipulation`},t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,$.jsx)(Z,{name:n,className:`size-5 shrink-0`}),t[1]=n,t[2]=c);let l;t[3]===r?l=t[4]:(l=(0,$.jsx)(`span`,{className:`truncate`,children:r}),t[3]=r,t[4]=l);let u;return t[5]!==i||t[6]!==o||t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(X,{type:`button`,variant:o,size:`default`,className:`min-h-12 w-full justify-start gap-3 rounded-xl px-3`,onClick:i,style:s,children:[c,l]}),t[5]=i,t[6]=o,t[7]=c,t[8]=l,t[9]=u):u=t[9],u}function xl(e,t,n,r){let i=He(e=>e.index.session.unseenCount),a=Q.useRef([]);return Q.useMemo(()=>{let o=al(e,t,i,n,Ze);return n?(a.current=o.sessions,o):r?{...o,sessions:a.current,totalCount:a.current.length}:(a.current=[],o)},[n,r,e,t,i])}function Sl(){let e=(0,qr.c)(7),{t}=fe(),n;e[0]===t?n=e[1]:(n=e=>{let n=e.title;return n&&n.trim()?n:t(`mobile.sessions.newChat`)},e[0]=t,e[1]=n);let r=n,i=He(Cl),a;e[2]===i?a=e[3]:(a=e=>(i[e]??0)>0,e[2]=i,e[3]=a);let o=a,s;return e[4]!==r||e[5]!==o?(s={getSessionTitle:r,needsAttention:o},e[4]=r,e[5]=o,e[6]=s):s=e[6],s}function Cl(e){return e.index.session.unseenCount}function wl(e,t,n){let r=(0,qr.c)(6),i=Je(Dl),a=Je(El),o=He(Tl),s;return r[0]!==i||r[1]!==n||r[2]!==a||r[3]!==o||r[4]!==t?(s=e=>{let r=e=>{let n=t?.[e];return n?.type===`busy`||n?.type===`retry`?n.type:`idle`},s=hl(e);if(!s)return{hasRunning:!1,hasUnread:!1};let c=[s],l=i.get(s)??[];for(let e of l){let t=e&&typeof e==`object`&&`path`in e?e.path:null;if(typeof t==`string`&&t.trim()){let e=hl(t);e&&e!==s&&c.push(e)}}let u=new Set,d=!1,f=!1;for(let e of c){for(let t of a(e))if(!(!t?.id||u.has(t.id))&&(u.add(t.id),r(t.id)!==`idle`&&(d=!0),t.id!==n&&(o[t.id]??0)>0&&(f=!0),d&&f))break;if(d&&f)break}return{hasRunning:d,hasUnread:f}},r[0]=i,r[1]=n,r[2]=a,r[3]=o,r[4]=t,r[5]=s):s=r[5],s}function Tl(e){return e.index.session.unseenCount}function El(e){return e.getSessionsByDirectory}function Dl(e){return e.availableWorktreesByProject}function Ol(){let e=(0,qr.c)(2),t=Je(kl),n;return e[0]===t?n=e[1]:(n=e=>{let n=hl(e.path),r=[n],i=t.get(n)??[];for(let e of i){let t=e&&typeof e==`object`&&`path`in e?e.path:null;if(typeof t==`string`&&t.trim()){let e=hl(t);e&&r.push(e)}}return r},e[0]=t,e[1]=n),n}function kl(e){return e.availableWorktreesByProject}function Al(e){let t=(0,qr.c)(2),{isRunning:n,showUnread:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Pc,{}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-[var(--status-info)]`}),t[1]=e):e=t[1],e}return null}function jl(e){let t=(0,qr.c)(3),{count:n}=e;if(n===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(Pc,{}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-[13px] text-[var(--surface-mutedForeground)]`,children:[r,n]}),t[1]=n,t[2]=i),i}function Ml(e){let t=(0,qr.c)(3),{count:n}=e;if(n===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-[var(--status-info)]`}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-[13px] text-[var(--status-info)]`,children:[r,n]}),t[1]=n,t[2]=i),i}var Nl=()=>{if(typeof window>`u`)return;let e=window.getSelection();e?.rangeCount&&e.removeAllRanges()},Pl={touchAction:`manipulation`,userSelect:`none`,WebkitUserSelect:`none`,WebkitTouchCallout:`none`};function Fl(e){let t=(0,qr.c)(72),{session:n,isCurrent:r,isPinned:i,contextLabel:a,getSessionTitle:o,onClick:s,onRename:c,onTogglePinned:l,onShare:u,onCopyShareUrl:d,onUnshare:f,onArchive:p,onDelete:m,needsAttention:h,longPressHandlers:g}=e,{t:_}=fe(),[v,y]=Q.useState(!1),b;t[0]!==h||t[1]!==n.id?(b=h(n.id),t[0]=h,t[1]=n.id,t[2]=b):b=t[2];let x=b,S=n.share?.url,C=!!S,w=S?void 0:u,T;t[3]!==d||t[4]!==S?(T=S?()=>d(S):void 0,t[3]=d,t[4]=S,t[5]=T):T=t[5];let E=S?f:void 0,D;t[6]!==i||t[7]!==p||t[8]!==m||t[9]!==c||t[10]!==l||t[11]!==C||t[12]!==w||t[13]!==T||t[14]!==E?(D=Xc({pinned:i,shared:C,onRename:c,onTogglePin:l,onShare:w,onCopyLink:T,onUnshare:E,onArchive:p,onDelete:m}),t[6]=i,t[7]=p,t[8]=m,t[9]=c,t[10]=l,t[11]=C,t[12]=w,t[13]=T,t[14]=E,t[15]=D):D=t[15];let O=D,k;t[16]!==g.onContextMenu||t[17]!==g.pressed?(k=e=>{yl(e,g.pressed,g.onContextMenu)},t[16]=g.onContextMenu,t[17]=g.pressed,t[18]=k):k=t[18];let A=n.id,j=`session:${n.id}`,M=g.onPointerDown,N=g.onPointerMove,P=g.onPointerUp,F=g.onPointerCancel,I;t[19]!==v||t[20]!==s?(I=e=>{if(v){e.preventDefault();return}s()},t[19]=v,t[20]=s,t[21]=I):I=t[21];let L=g.pressed&&`bg-[var(--interactive-active)] scale-[0.99]`,R=r?`bg-[color-mix(in_srgb,var(--interactive-selection)_40%,transparent)]`:`hover:bg-[var(--interactive-hover)]`,z;t[22]!==L||t[23]!==R?(z=Y(`flex w-full min-h-[56px] items-center gap-3 rounded-xl px-3 py-3 text-left transition-colors select-none`,`active:bg-[var(--interactive-selection)]`,L,R),t[22]=L,t[23]=R,t[24]=z):z=t[24];let B;t[25]!==g.onPointerCancel||t[26]!==g.onPointerDown||t[27]!==g.onPointerMove||t[28]!==g.onPointerUp||t[29]!==n.id||t[30]!==I||t[31]!==z||t[32]!==j?(B=(0,$.jsx)(`button`,{type:`button`,"data-mobile-session-context-trigger":A,"data-mobile-long-press-trigger":j,onPointerDown:M,onPointerMove:N,onPointerUp:P,onPointerCancel:F,onClick:I,className:z,style:Pl}),t[25]=g.onPointerCancel,t[26]=g.onPointerDown,t[27]=g.onPointerMove,t[28]=g.onPointerUp,t[29]=n.id,t[30]=I,t[31]=z,t[32]=j,t[33]=B):B=t[33];let V=n._statusType!==`idle`,ee=x&&!r,H;t[34]!==V||t[35]!==ee?(H=(0,$.jsx)(`span`,{className:`flex h-4 w-4 flex-shrink-0 items-center justify-center`,children:(0,$.jsx)(Al,{isRunning:V,showUnread:ee})}),t[34]=V,t[35]=ee,t[36]=H):H=t[36];let U=r?`font-semibold text-[var(--surface-foreground)]`:`text-[var(--surface-foreground)]`,W;t[37]===U?W=t[38]:(W=Y(`truncate text-[15px] leading-tight`,U),t[37]=U,t[38]=W);let te;t[39]!==o||t[40]!==n?(te=o(n),t[39]=o,t[40]=n,t[41]=te):te=t[41];let G;t[42]!==W||t[43]!==te?(G=(0,$.jsx)(`span`,{className:W,children:te}),t[42]=W,t[43]=te,t[44]=G):G=t[44];let K;t[45]===a?K=t[46]:(K=a?(0,$.jsx)(`span`,{className:`truncate text-[12px] leading-none text-[var(--surface-mutedForeground)]`,children:a}):null,t[45]=a,t[46]=K);let ne;t[47]!==G||t[48]!==K?(ne=(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[G,K]}),t[47]=G,t[48]=K,t[49]=ne):ne=t[49];let re;t[50]===n._runningChildrenCount?re=t[51]:(re=(n._runningChildrenCount??0)>0&&(0,$.jsxs)(`span`,{className:`flex flex-shrink-0 items-center gap-1 text-[12px] text-[var(--surface-mutedForeground)]`,children:[(0,$.jsx)(Pc,{size:12}),n._runningChildrenCount]}),t[50]=n._runningChildrenCount,t[51]=re);let ie;t[52]===r?ie=t[53]:(ie=r&&(0,$.jsx)(Z,{name:`check`,className:`h-4 w-4 flex-shrink-0 text-[var(--primary-base)]`}),t[52]=r,t[53]=ie);let q;t[54]!==B||t[55]!==H||t[56]!==ne||t[57]!==re||t[58]!==ie||t[59]!==k?(q=(0,$.jsxs)(Rr,{onTouchStart:vl,onContextMenu:k,render:B,children:[H,ne,re,ie]}),t[54]=B,t[55]=H,t[56]=ne,t[57]=re,t[58]=ie,t[59]=k,t[60]=q):q=t[60];let ae;if(t[61]!==O||t[62]!==_){let e;t[64]===_?e=t[65]:(e=(e,t)=>(0,$.jsxs)(Q.Fragment,{children:[t>0&&(e.separated||e.id===`archive`)?(0,$.jsx)(zr,{}):null,(0,$.jsxs)(Vr,{className:`min-h-10 px-3`,onClick:e.onClick,children:[(0,$.jsx)(Z,{name:e.icon,className:`size-4`}),$c(e,_)]})]},e.id),t[64]=_,t[65]=e),ae=O.map(e),t[61]=O,t[62]=_,t[63]=ae}else ae=t[63];let J;t[66]===ae?J=t[67]:(J=(0,$.jsx)(Br,{className:`min-w-[200px] p-1.5`,children:ae}),t[66]=ae,t[67]=J);let oe;return t[68]!==v||t[69]!==q||t[70]!==J?(oe=(0,$.jsxs)(Hr,{open:v,onOpenChange:y,children:[q,J]}),t[68]=v,t[69]=q,t[70]=J,t[71]=oe):oe=t[71],oe}function Il(e){let t=(0,qr.c)(23),{label:n,leadingIcon:r,icon:i,project:a,iconOptions:o,iconBackground:s,colorVar:c,isActive:l,status:u,onClick:d}=e,f=i?$t[i]:null,p;t[0]!==c||t[1]!==l||t[2]!==f?(p=f?(0,$.jsx)(Z,{name:f,className:`h-4 w-4`,style:!l&&c?{color:c}:void 0}):null,t[0]=c,t[1]=l,t[2]=f,t[3]=p):p=t[3];let m=p,h=l?`border-transparent bg-[var(--primary-base)] text-[var(--primary-foreground)] font-medium`:`border-[var(--interactive-border)] bg-[var(--surface-subtle)] text-[var(--surface-foreground)] active:bg-[var(--interactive-hover)]`,g;t[4]===h?g=t[5]:(g=Y(`flex min-h-[40px] shrink-0 select-none items-center gap-1.5 rounded-full border px-3.5 text-[13px] leading-none whitespace-nowrap transition-colors`,h),t[4]=h,t[5]=g);let _;t[6]!==l||t[7]!==u?(_=u&&(u.hasRunning||u.hasUnread)&&!l&&(u.hasRunning?(0,$.jsx)(Pc,{size:10}):(0,$.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-[var(--status-info)]`})),t[6]=l,t[7]=u,t[8]=_):_=t[8];let v;t[9]!==m||t[10]!==s||t[11]!==o||t[12]!==a?(v=a?.iconImage?(0,$.jsx)(`span`,{className:`inline-flex h-4 w-4 items-center justify-center overflow-hidden rounded-[2px]`,style:s?{backgroundColor:s}:void 0,children:(0,$.jsx)(Jt,{project:a,options:o,className:`h-full w-full object-contain`,fallback:m})}):m,t[9]=m,t[10]=s,t[11]=o,t[12]=a,t[13]=v):v=t[13];let y;t[14]===n?y=t[15]:(y=(0,$.jsx)(`span`,{className:`max-w-[140px] truncate`,children:n}),t[14]=n,t[15]=y);let b;return t[16]!==r||t[17]!==d||t[18]!==g||t[19]!==_||t[20]!==v||t[21]!==y?(b=(0,$.jsxs)(`button`,{type:`button`,onClick:d,className:g,children:[r,_,v,y]}),t[16]=r,t[17]=d,t[18]=g,t[19]=_,t[20]=v,t[21]=y,t[22]=b):b=t[22],b}var Ll=({onSessionSwitch:e})=>{let{t}=fe(),{git:n}=In(),{currentTheme:r}=jn(),i=P(e=>e.isMobile),a=ol(),o=Je(e=>e.currentSessionId),s=Ne(),c=Je(e=>e.setCurrentSession),l=Je(e=>e.openNewSessionDraft),u=Q.useCallback(e=>{if(!N()){at.getState().openDraft(e);return}l(e)},[l]),d=Je(e=>e.archiveSession),f=Je(e=>e.shareSession),p=Je(e=>e.unshareSession),m=Je(e=>e.updateSessionTitle),h=Je(e=>e.requestSessionSmartTitle),g=P(e=>e.mobileSessionPanelOpen),_=P(e=>e.setMobileSessionPanelOpen),v=Kn({onDismiss:()=>_(!1)}),y=ot(e=>e.projects),b=ot(e=>e.activeProjectId),x=ot(e=>e.setActiveProjectIdOnly),S=ot(e=>e.removeProject),C=Le(),w=je(),T=Je(e=>e.availableWorktreesByProject),E=Ut(e=>e.orderByProject),D=Fe(e=>e.activePaginationByDirectory),O=Nc(e=>e.expandedWorktreeGroups),k=Nc(e=>e.setWorktreeGroupExpanded),[A,j]=Q.useState(g),[M,F]=Q.useState(!1),I=ce(e=>{F(e),e&&j(!0)});Q.useEffect(()=>{g&&j(!0)},[g]);let L=ce(()=>{v.reset(),j(!1)}),{sessions:R,totalRunning:z,totalUnread:B}=xl(a,s,g||M,A),{getSessionTitle:V,needsAttention:ee}=Sl(),H=wl(a,s,o),U=Ol(),[W,te]=Q.useState(new Map),G=gc(),[K,ne]=Q.useState(new Map),[re,ie]=Q.useState(!1),[q,ae]=Q.useState(null),[J,oe]=Q.useState(null),[se,le]=Q.useState(null),[ue,me]=Q.useState(null),[he,ge]=Q.useState(``),[_e,ve]=Q.useState(null),[ye,be]=Q.useState(null),[xe,Se]=Q.useState(null),Ce=Q.useRef(null);Ce.current||=br({onPressedKeyChange:le});let we=Q.useRef(null),[Te,Ee]=Q.useState(!1),De=P(e=>e.mobileSessionFilterProjectId),Oe=P(e=>e.setMobileSessionFilterProjectId),ke=Q.useMemo(()=>a.some(e=>C.has(e.id)),[C,a]);Q.useEffect(()=>{!ke&&De===ul&&Oe(null)},[De,ke,Oe]);let Ae=Q.useRef(!1);Q.useEffect(()=>{let e=Ae.current;if(Ae.current=g,!g||e)return;let t=fl({activeProjectId:b,currentFilterProjectId:De,projects:y});t!==De&&Oe(t)},[g,b,De,y,Oe]),Q.useEffect(()=>{g||(oe(null),Se(null),Ce.current?.reset())},[g]),Q.useEffect(()=>()=>{Ce.current?.reset()},[]),Q.useEffect(()=>{if(!J)return;Nl();let e=window.requestAnimationFrame(Nl);return document.addEventListener(`selectionchange`,Nl),()=>{window.cancelAnimationFrame(e),document.removeEventListener(`selectionchange`,Nl),Nl()}},[J]);let Me=Q.useMemo(()=>De&&De!==ul?y.find(e=>e.id===De)??null:null,[De,y]),Re=Q.useMemo(()=>Me??y.find(e=>e.id===b)??null,[b,y,Me]);Q.useEffect(()=>{let e=hl(Re?.path??``);if(!g||!e){Ee(!1);return}let t=we.current;if(t?.git===n&&t.path===e){Ee(t.isGitRepository);return}let r=!1;return Ee(!1),n.checkIsGitRepository(e).then(t=>{r||(we.current={git:n,path:e,isGitRepository:t},Ee(t))}).catch(()=>{r||(we.current={git:n,path:e,isGitRepository:!1},Ee(!1))}),()=>{r=!0}},[n,g,Re]),Q.useEffect(()=>{if(!g||y.length===0)return;let e=!1;return Promise.all(y.map(async e=>({projectId:e.id,branch:await Zt(e.path).catch(()=>null)}))).then(t=>{e||ne(e=>{let n=new Map(e);for(let e of t){let t=e.branch?.trim();t&&t!==`HEAD`&&n.set(e.projectId,t),e.branch===`HEAD`&&n.delete(e.projectId)}return n})}),()=>{e=!0}},[g,y]);let ze=Q.useMemo(()=>{if(De&&De!==ul){let e=y.find(e=>e.id===De);return e?U(e):[]}return y.flatMap(U)},[De,y,U]);Q.useEffect(()=>{g&&Ie(ze)},[g,ze]),Q.useEffect(()=>{if(!g||y.length===0)return;let e=!1;return(async()=>{let t=await Promise.all(y.map(async t=>{let r=hl(t.path);if(!r)return null;let i=!1;try{i=await n.checkIsGitRepository(r)}catch{return{path:r,status:`failed`}}if(!i)return{path:r,status:`success`,worktrees:[]};try{return{path:r,status:`success`,worktrees:(await on({id:t.id,path:r},{isCurrent:()=>!e})).worktrees}}catch{return{path:r,status:`failed`}}}));if(e)return;let r=new Set(y.map(e=>hl(e.path)).filter(Boolean)),i=t.flatMap(e=>e?[e]:[]);Je.setState(e=>{let t=Jc(e.availableWorktreesByProject,r,i);return t===e.availableWorktreesByProject?{}:{availableWorktreesByProject:t,availableWorktrees:Array.from(t.values()).flat()}})})(),()=>{e=!0}},[n,g,y]);let Be=Q.useCallback(e=>pe(e.path)||e.path,[]),Ve=Q.useMemo(()=>{if(!A||!De)return R;if(De===ul)return R.filter(e=>C.has(e.id));let e=y.find(e=>e.id===De);if(!e)return R;let t=U(e);return R.filter(e=>{let n=gl(e);return t.some(e=>hl(e)===n)})},[A,R,De,C,y,U]),He=Q.useMemo(()=>{if(!A||!Me)return[];let e=hl(Me.path),t=Bt(E[Me.id],T.get(e)??[]),n=[{key:`${Me.id}::${e}`,directory:e,label:Be(Me),worktree:null,sessions:[]}];for(let r of t){let t=hl(r.path);!t||t===e||n.some(e=>e.directory===t)||n.push({key:`${Me.id}::${t}`,directory:t,label:r.branch||r.label||pe(t),worktree:r,sessions:[]})}let r=new Map(n.map(e=>[e.directory,e]));for(let e of Ve)r.get(gl(e))?.sessions.push(e);return n},[T,Ve,Be,A,Me,E]),Ue=Q.useCallback(e=>{let t=gl(e);for(let e of y){let n=hl(e.path),r=Be(e);if(t===n){let t=K.get(e.id);return t?`${r} · ${t}`:r}let i=(T.get(n)??[]).find(e=>hl(e.path)===t);if(i)return i.branch?`${r} · ${i.branch}`:r}return pe(t)||t||void 0},[T,Be,y,K]),We=Q.useCallback(()=>{oe(null),Ce.current?.reset(),_(!1)},[_]),Ge=()=>{oe(null),Ce.current?.reset()},Ke=e=>({pressed:se===e.key||J?.key===e.key,onPointerDown:t=>{t.pointerType!==`touch`&&t.pointerType!==`pen`||t.button!==0||Ce.current?.start({pointerId:t.pointerId,key:e.key,clientX:t.clientX,clientY:t.clientY,onTrigger:()=>{Nl(),oe(e)}})},onPointerMove:e=>{Ce.current?.move(e.pointerId,e.clientX,e.clientY)},onPointerUp:e=>{Ce.current?.end(e.pointerId)},onPointerCancel:e=>{Ce.current?.cancel(e.pointerId)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),Nl(),Ce.current?.openFromContextMenu(e.key,()=>oe(e))}}),qe=(e,t)=>{Ce.current?.consumeClick(e)||t()},Ye=Q.useCallback(t=>{Ln(),We();let n=gl(t)||null,r=dl(De);N()?c(t.id,n,{preserveActiveProject:r}):at.getState().openSession({sessionId:t.id,directory:n,preserveActiveProject:r}),e?.(t.id)},[We,De,e,c]),Xe=Q.useCallback(async e=>{try{if(!(await f(e.id))?.share?.url){Pe.error(t(`sessions.sidebar.session.share.error`));return}Pe.success(t(`sessions.sidebar.session.share.successTitle`),{description:t(`sessions.sidebar.session.share.successDescription`)})}catch{Pe.error(t(`sessions.sidebar.session.share.error`))}},[f,t]),Ze=Q.useCallback(async e=>{if((await de(e)).ok){Pe.success(t(`sessions.sidebar.session.menu.copied`));return}Pe.error(t(`sessions.sidebar.session.share.copyUrlError`))},[t]),Qe=Q.useCallback(async e=>{try{if(!await p(e)){Pe.error(t(`sessions.sidebar.session.unshare.error`));return}Pe.success(t(`sessions.sidebar.session.unshare.success`))}catch{Pe.error(t(`sessions.sidebar.session.unshare.error`))}},[t,p]),$e=Q.useCallback(async e=>{if(!await d(e)){Pe.error(t(`sessions.sidebar.session.archive.error`));return}Rc({sessionIds:[e],message:t(`sessions.sidebar.session.archive.success`),undoLabel:t(`sessions.sidebar.undo`),settingsLabel:t(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:t(`sessions.sidebar.session.archive.undoFailed`)})},[d,t]),tt=ce(e=>{let t=new Map;for(let e of a){let n=e.parentID??null;if(!n)continue;let r=t.get(n)??[];r.push(e.id),t.set(n,r)}let n=[],r=new Set,i=e=>{if(!r.has(e)){r.add(e),n.push(e);for(let n of t.get(e)??[])i(n)}};return i(e),n}),nt=ce(e=>{let n=tt(e.id);zc({sessionIds:n,message:n.length===1?t(`sessions.sidebar.session.delete.success`):t(`sessions.sidebar.bulkActions.deletedPlural`,{count:n.length}),undoLabel:t(`sessions.sidebar.undo`),commitFailedMessage:t(`sessions.sidebar.session.delete.error`)})}),rt=Q.useCallback(e=>{ge(V(e)),me(e)},[V]),it=Q.useCallback(async()=>{if(!ue)return;let e=he.trim();if(e)try{await m(ue.id,e),me(null),ge(``)}catch{Pe.error(t(`sessions.sidebar.session.menu.rename`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[he,ue,t,m]),st=Q.useCallback(async()=>{if(!ue)return;let e=ue.id;me(null),ge(``);try{await h(e)}catch{Pe.error(t(`sessions.sidebar.session.rename.smartTitle`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[ue,h,t]),ct=Q.useCallback(()=>{if(We(),De){let e=y.find(e=>e.id===De);if(e){u({selectedProjectId:e.id,directoryOverride:e.path});return}}let e=[...a].sort((e,t)=>{let n=e.time?.updated??0;return(t.time?.updated??0)-n})[0],t=e?gl(e):``;u(t?{directoryOverride:t}:void 0)},[We,De,y,a,u]),lt=Q.useCallback(()=>{!Re||!Te||(We(),x(Re.id),ae(Re.id),ie(!0))},[We,x,Te,Re]),dt=(e,t)=>{Ge(),_(!1),u({selectedProjectId:e.id,directoryOverride:t,preserveDirectoryOverride:!0})},ft=e=>{Ge(),(async()=>{try{await on({id:e.project.id,path:e.project.path})}catch(e){console.warn(`[MobileStatus] Worktree refresh before session sync failed:`,e)}let t=Je.getState().availableWorktreesByProject.get(e.project.path)??e.worktrees;await et([e.project.path,...t.map(e=>e.path)],a)})()},pt=ce(e=>{k(e,!O[e]),te(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})}),mt=Q.useCallback(e=>{let t=(W.get(e.key)??pl)+ml;if(te(t=>{let n=new Map(t);return n.set(e.key,(t.get(e.key)??pl)+ml),n}),t<e.sessions.length)return;let n=Fe.getState().activePaginationByDirectory.get(e.directory);n?.hasMore&&!n.loadingMore&&ut(e.directory)},[W]),ht=Q.useCallback(e=>{te(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),gt=e=>{let n=e.worktree===null,r=n||O[e.key]===!0,i=W.get(e.key)??pl,a=kc(e.sessions,i,G),s=D.get(e.directory),c=a.length<e.sessions.length||s?.hasMore===!0,l=e.sessions.length>pl&&i>pl,u=n&&Me?K.get(Me.id):null,d=e.label,f=n?`project:${Me?.id??e.key}`:`worktree:${Me?.id??e.key}:${e.directory}`,p=Me?Ke(n?{key:f,kind:`project`,project:Me,worktrees:He.flatMap(e=>e.worktree?[e.worktree]:[]),isGitRepository:Te}:{key:f,kind:`worktree`,project:Me,worktree:e.worktree}):null;return(0,$.jsxs)(`section`,{className:`overflow-hidden rounded-xl`,children:[n?(0,$.jsxs)(`div`,{"data-mobile-long-press-trigger":f,className:Y(`flex min-h-12 items-center gap-2 rounded-xl px-3 py-2 text-left transition-all select-none`,p?.pressed&&`bg-[var(--interactive-active)] scale-[0.99]`),onPointerDown:p?.onPointerDown,onPointerMove:p?.onPointerMove,onPointerUp:p?.onPointerUp,onPointerCancel:p?.onPointerCancel,onContextMenu:p?.onContextMenu,style:Pl,children:[(0,$.jsx)(Z,{name:`folder-open`,className:`size-4 shrink-0 text-[var(--surface-mutedForeground)]`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`truncate text-[14px] font-semibold text-[var(--surface-foreground)]`,children:d}),u?(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 text-[12px] text-[var(--surface-mutedForeground)]`,children:[(0,$.jsx)(Z,{name:`git-branch`,className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:u})]}):null]}),(0,$.jsx)(`span`,{className:`shrink-0 text-[12px] tabular-nums text-[var(--surface-mutedForeground)]`,children:_l(e.sessions)})]}):(0,$.jsxs)(`button`,{type:`button`,"data-mobile-long-press-trigger":f,onClick:()=>qe(f,()=>pt(e.key)),onPointerDown:p?.onPointerDown,onPointerMove:p?.onPointerMove,onPointerUp:p?.onPointerUp,onPointerCancel:p?.onPointerCancel,onContextMenu:p?.onContextMenu,"aria-expanded":r,"aria-label":t(r?`sessions.sidebar.group.collapseAria`:`sessions.sidebar.group.expandAria`,{label:d}),className:Y(`flex min-h-12 w-full items-center gap-2 rounded-xl px-3 py-2 text-left transition-all hover:bg-[var(--interactive-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] select-none`,p?.pressed&&`bg-[var(--interactive-active)] scale-[0.99]`),style:Pl,children:[(0,$.jsx)(Z,{name:`arrow-down-s`,className:Y(`size-4 shrink-0 text-[var(--surface-mutedForeground)] transition-transform`,r?`rotate-0`:`-rotate-90`)}),(0,$.jsx)(Z,{name:`node-tree`,className:`size-4 shrink-0 text-[var(--surface-mutedForeground)]`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[14px] font-semibold text-[var(--surface-foreground)]`,children:d}),(0,$.jsx)(`span`,{className:`shrink-0 text-[12px] tabular-nums text-[var(--surface-mutedForeground)]`,children:_l(e.sessions)})]}),r?(0,$.jsxs)(`div`,{className:`pb-1`,children:[a.map(e=>(0,$.jsx)(Fl,{session:e,isCurrent:e.id===o,isPinned:C.has(e.id),getSessionTitle:V,onClick:()=>qe(`session:${e.id}`,()=>Ye(e)),onRename:()=>rt(e),onTogglePinned:()=>w(e.id),onShare:()=>{Xe(e)},onCopyShareUrl:e=>{Ze(e)},onUnshare:()=>{Qe(e.id)},onArchive:()=>{$e(e.id)},onDelete:()=>nt(e),needsAttention:ee,longPressHandlers:Ke({key:`session:${e.id}`,kind:`session`,session:e})},e.id)),c||l?(0,$.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 py-1 pr-3 pl-8`,children:[c?(0,$.jsx)(X,{variant:`ghost`,size:`xs`,disabled:s?.loadingMore===!0,onClick:()=>mt(e),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showMore`)}):null,l?(0,$.jsx)(X,{variant:`ghost`,size:`xs`,onClick:()=>ht(e.key),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showFewer`)}):null]}):null]}):null]},e.key)},_t=Q.useCallback(()=>(0,$.jsxs)(`div`,{className:`shrink-0`,children:[(0,$.jsx)(qn,{controller:v,ariaLabel:t(`mobile.sessions.sheet.resizeAria`)}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-4 pb-2`,children:[(0,$.jsx)(`h2`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:t(`mobile.sessions.sheet.title`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(jl,{count:z}),(0,$.jsx)(Ml,{count:B}),(0,$.jsx)(X,{variant:`ghost`,size:`icon`,onClick:ct,"aria-label":t(`mobile.sessions.newChat`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`add`,className:`h-5 w-5`})}),Te&&Re?(0,$.jsx)(X,{variant:`ghost`,size:`icon`,onClick:lt,"aria-label":t(`sessions.sidebar.project.actions.newWorktree`),title:t(`sessions.sidebar.project.actions.newWorktree`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`node-tree`,className:`size-4`})}):null,(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,onClick:We,"aria-label":t(`mobile.surface.closeAria`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`close`,className:`h-5 w-5`})})]})]}),(y.length>1||ke)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 overflow-x-auto px-4 py-2.5 scrollbar-none`,style:{scrollbarWidth:`none`,msOverflowStyle:`none`},children:[(0,$.jsx)(Il,{label:t(`chat.modelControls.modeValue.all`),isActive:De===null,onClick:()=>Oe(null)}),ke?(0,$.jsx)(Il,{label:t(`sessions.sidebar.session.actions.pinned`),leadingIcon:(0,$.jsx)(Z,{name:`pushpin-2-fill`,className:`size-3.5`}),isActive:De===ul,onClick:()=>Oe(ul)}):null,y.map(e=>(0,$.jsx)(Il,{label:Be(e),icon:e.icon,project:{id:e.id,iconImage:e.iconImage??null},iconOptions:{themeVariant:r.metadata.variant,iconColor:r.colors.surface.foreground},iconBackground:e.iconBackground??null,colorVar:e.color?nn[e.color]??null:null,isActive:De===e.id,status:H(e.path),onClick:()=>Oe(e.id)},e.id))]})]}),[t,z,B,y,ke,De,Oe,Be,r,H,ct,lt,We,Te,Re,v]),vt=J?.kind===`project`?Be(J.project):J?.kind===`worktree`?J.worktree.branch||J.worktree.label||pe(J.worktree.path):J?.kind===`session`?V(J.session):``,yt=Q.useMemo(()=>{if(!_e)return null;let e=y.find(e=>e.id===_e);if(!e)return null;let t=hl(e.path),n=Bt(E[e.id],T.get(t)??[]),r=J?.kind===`project`&&J.project.id===e.id?J.isGitRepository:n.length>0||!!K.get(e.id);return{id:e.id,label:Be(e),path:t||e.path,icon:e.icon,color:e.color,iconImage:e.iconImage,iconBackground:e.iconBackground,isGitRepo:r,worktrees:n}},[J,T,_e,Be,y,K,E]),bt=Q.useMemo(()=>{if(!J)return[];if(J.kind===`project`){let e=J.project;return Zc({gitRepository:J.isGitRepository,onNewSession:()=>dt(e,e.path),onNewWorktree:()=>{let t=e.id;Ge(),We(),x(t),ae(t),ie(!0)},onSyncSessions:()=>ft(J),onEditProject:()=>{Ge(),ve(e.id)},onCloseProject:()=>{Ge(),be(e)}})}if(J.kind===`worktree`){let{project:e,worktree:t}=J;return Qc({onNewSession:()=>dt(e,t.path),onDeleteWorktree:()=>{Ge(),Se({project:e,worktree:t})}})}let e=J.session,t=!!e.share?.url;return Xc({pinned:C.has(e.id),shared:t,onRename:()=>{Ge(),rt(e)},onTogglePin:()=>{Ge(),w(e.id)},onShare:t?void 0:()=>{Ge(),Xe(e)},onCopyLink:t?()=>{let t=e.share?.url;Ge(),t&&Ze(t)}:void 0,onUnshare:t?()=>{Ge(),Qe(e.id)}:void 0,onArchive:()=>{Ge(),$e(e.id)},onDelete:()=>{Ge(),nt(e)}})},[J,rt,Ge,We,$e,Ze,nt,Xe,Qe,C,x,dt,ft,w]),xt=bt.length>0?(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,"data-mobile-session-action-sheet":J?.kind??`none`,children:bt.map(e=>{let n=(0,$.jsx)(bl,{icon:e.icon,label:$c(e,t),destructive:e.destructive,onClick:e.onClick},e.id);return e.separated?(0,$.jsx)(`div`,{className:`mt-3 border-t border-[var(--surface-subtle)] pt-3`,children:n},e.id):n})}):null;return i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Hn,{id:Un,open:g,onOpenChange:_,keepMounted:!0,presentation:`sheet`,edge:`bottom`,dismissGesture:{reservedTargetSelector:`[data-mobile-sheet-snap-handle]`},ariaLabel:t(`mobile.sessions.sheet.title`),surfaceClassName:v.snapPoint===.98?`h-[98dvh] max-h-[98dvh]`:`h-[72dvh] max-h-[98dvh]`,surfaceElementRef:v.surfaceRef,onExitComplete:L,onPreviewChange:I,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[_t(),(0,$.jsx)(Vn,{useScrollShadow:!0,disableHorizontal:!0,preventOverscroll:!0,outerClassName:`min-h-0 max-h-full flex-1`,className:`px-2 py-2 pwa-overlay-scroll`,children:(0,$.jsx)(`div`,{className:`flex min-h-full flex-col gap-0.5`,children:Me?(0,$.jsxs)($.Fragment,{children:[He.map(gt),He.every(e=>e.sessions.length===0)?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center py-8 text-[13px] text-[var(--surface-mutedForeground)]`,children:(0,$.jsx)(`span`,{children:t(`chat.mobileStatus.noSessionsInProject`)})}):null]}):Ve.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center py-10 text-[13px] text-[var(--surface-mutedForeground)]`,children:(0,$.jsx)(`span`,{children:t(`chat.mobileStatus.noSessionsInProject`)})}):Ve.map(e=>(0,$.jsx)(Fl,{session:e,isCurrent:e.id===o,isPinned:C.has(e.id),contextLabel:Ue(e),getSessionTitle:V,onClick:()=>qe(`session:${e.id}`,()=>Ye(e)),onRename:()=>rt(e),onTogglePinned:()=>w(e.id),onShare:()=>{Xe(e)},onCopyShareUrl:e=>{Ze(e)},onUnshare:()=>{Qe(e.id)},onArchive:()=>{$e(e.id)},onDelete:()=>nt(e),needsAttention:ee,longPressHandlers:Ke({key:`session:${e.id}`,kind:`session`,session:e})},e.id))})})]})}),(0,$.jsx)(Tn,{open:!!J,title:vt,onClose:Ge,className:`select-none`,contentMaxHeightClassName:`max-h-[min(68dvh,560px)]`,children:xt}),(0,$.jsx)(Tn,{open:!!ue,title:t(`sessions.sidebar.session.menu.rename`),onClose:()=>{me(null),ge(``)},footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(X,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>{me(null),ge(``)},children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(X,{type:`button`,variant:`default`,className:`flex-1`,disabled:!he.trim(),onClick:()=>void it(),children:t(`sessions.sidebar.session.rename.save`)})]}),children:(0,$.jsxs)(`form`,{className:`flex flex-col gap-3 px-1 py-1`,onSubmit:e=>{e.preventDefault(),it()},children:[(0,$.jsx)(ln,{value:he,onChange:e=>ge(e.target.value),autoFocus:!0,className:`h-12`}),(0,$.jsxs)(X,{type:`button`,variant:`outline`,className:`w-full gap-2`,onClick:()=>void st(),children:[(0,$.jsx)(Z,{name:`ai-generate-2`,className:`size-4`}),t(`sessions.sidebar.session.rename.smartTitle`)]})]})}),(0,$.jsx)(Tn,{open:!!ye,title:t(`sessions.sidebar.project.actions.closeProject`),onClose:()=>be(null),closeAriaLabel:t(`mobile.surface.closeAria`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(X,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>be(null),children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(X,{type:`button`,variant:`destructive`,className:`flex-1`,onClick:()=>{if(!ye)return;let e=ye;be(null),S(e.id),Pe.success(t(`mobile.sessions.toast.projectRemoved`,{label:Be(e)}))},children:t(`mobile.sessions.confirmRemoveProject`)})]}),children:(0,$.jsx)(`p`,{className:`px-1 py-1 typography-ui-label text-foreground`,children:t(`mobile.projects.closeConfirmMessage`,{title:ye?Be(ye):``})})}),(0,$.jsx)(jt,{open:re,projectId:q,onOpenChange:e=>{ie(e),e||ae(null)},onWorktreeCreated:(e,t)=>{ie(!1),_(!1),t?.sessionId?N()?c(t.sessionId,e):at.getState().openSession({sessionId:t.sessionId,directory:e}):q&&u({selectedProjectId:q,directoryOverride:e,preserveDirectoryOverride:!0})}}),xe?(0,$.jsx)(Hc,{open:!0,project:{id:xe.project.id,path:xe.project.path},worktree:xe.worktree,onClose:()=>Se(null),onDeleted:()=>{let e=hl(xe.project.path),t=hl(xe.worktree.path);Je.setState(n=>{let r=new Map(n.availableWorktreesByProject);return r.set(e,(r.get(e)??[]).filter(e=>hl(e.path)!==t)),{availableWorktreesByProject:r,availableWorktrees:Array.from(r.values()).flat()}}),Se(null)}}):null,(0,$.jsx)(Gc,{open:_e!==null,project:yt,onClose:()=>ve(null)})]}):null},Rl=`schedule`,zl=[`git`,`diff`,`terminal`,`files`,`diagram`],Bl=[`tasks`,`history`],Vl=`/session/new`,Hl=new Set(zl),Ul=new Set(Bl),Wl=new Set([`staged`,`working`,`turn`]);function Gl(e){return!e||e===`chat`?`chat`:e===`scheduled`||e===`schedule`?Rl:e===`assistant`?`assistant`:Hl.has(e)?e:`chat`}function Kl(e){return Or(e)}function ql(e){return e&&Ul.has(e)?e:null}function Jl(e){return e&&Wl.has(e)?e:null}function Yl(){return Vl}function Xl(e,t){let n=Kl(typeof e==`string`?e:e.slug),r=typeof e==`string`?t:e.entityId,i=`/settings/${n}`;return r&&r.trim().length>0?`${i}/${encodeURIComponent(r.trim())}`:i}function Zl(e,t){return t&&t.trim().length>0?`${e}/agent/${encodeURIComponent(t.trim())}`:e}function Ql(e={}){let t=ql(e.scheduleView??e.scheduledView)??`tasks`,n=e.scheduleProjectId??e.scheduledProjectId??null,r=e.scheduleTaskId??e.scheduledTaskId??null,i;return i=n&&r?`/schedule/tasks/${encodeURIComponent(n)}/${encodeURIComponent(r)}`:t===`history`?`/schedule/history`:`/schedule`,Zl(i,e.focusSessionId)}function $l(e={}){let t=`/assistant`;return e.assistantId&&e.assistantId.trim().length>0&&(t=`/assistant/${encodeURIComponent(e.assistantId.trim())}`),Zl(t,e.focusSessionId)}function eu(e){let t=encodeURIComponent(e.sessionId),n=Gl(e.tab);if(n===`schedule`)return Ql({});if(n===`assistant`)return $l({});let r;r=n===`chat`?`/session/${t}`:`/session/${t}/${n}`;let i=new URLSearchParams;e.file&&i.set(`file`,e.file);let a=Jl(e.scope);a&&i.set(`scope`,a);let o=i.toString();return o?`${r}?${o}`:r}function tu(e){let t=Gl(e.tab);return t===`schedule`?Ql({scheduleView:e.scheduleView??e.scheduledView,scheduleProjectId:e.scheduleProjectId??e.scheduledProjectId,scheduleTaskId:e.scheduleTaskId??e.scheduledTaskId,focusSessionId:e.focusSessionId}):t===`assistant`?$l({assistantId:e.assistantId,focusSessionId:e.focusSessionId}):e.sessionId&&e.sessionId.trim().length>0?eu({sessionId:e.sessionId.trim(),tab:t,file:e.file,scope:e.scope}):`/`}function nu(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e);return{file:t.get(`file`),scope:Jl(t.get(`scope`))}}function ru(e){let t=e.indexOf(`agent`);return t>=0&&e[t+1]?{rest:e.slice(0,t),focusSessionId:decodeURIComponent(e[t+1])}:{rest:e,focusSessionId:null}}function iu(e,t){let n=e[1];return n?n===`history`?{kind:`schedule`,scheduleView:`history`,scheduleProjectId:null,scheduleTaskId:null,focusSessionId:t}:n===`tasks`&&e[2]&&e[3]?{kind:`schedule`,scheduleView:`tasks`,scheduleProjectId:decodeURIComponent(e[2]),scheduleTaskId:decodeURIComponent(e[3]),focusSessionId:t}:{kind:`schedule`,scheduleView:`tasks`,scheduleProjectId:null,scheduleTaskId:null,focusSessionId:t}:{kind:`schedule`,scheduleView:`tasks`,scheduleProjectId:null,scheduleTaskId:null,focusSessionId:t}}function au(e){let t=e,n=``,r=e.indexOf(`?`);r>=0&&(t=e.slice(0,r),n=e.slice(r));let i=t.indexOf(`#`);if(i>=0&&(t=t.slice(0,i)),t===`/session/new`||t===`/new`||t===`/session/new/`)return{kind:`new`};if(t===`/connect`)return{kind:`connect`};let a=t.match(/^\/settings(?:\/([^/]+)(?:\/([^/]+))?)?$/);if(a)return{kind:`settings`,slug:Kl(a[1]??`home`),entityId:a[2]?decodeURIComponent(a[2]):null};let o=t.split(`/`).filter(Boolean);if(o.length===0)return{kind:`unknown`};let{rest:s,focusSessionId:c}=ru(o),l=s[0];if(l===`schedule`||l===`scheduled`)return iu(s,c);if(l===`assistant`)return{kind:`assistant`,assistantId:s[1]?decodeURIComponent(s[1]):null,focusSessionId:c};if(l===`session`){let e=s[1]?decodeURIComponent(s[1]):``;if(!e)return{kind:`unknown`};if(e===`new`)return{kind:`new`};let{file:t,scope:r}=nu(n),i=s[2];if(i===`schedule`||i===`scheduled`)return iu(s.slice(2),c);if(i===`assistant`)return{kind:`assistant`,assistantId:s[3]?decodeURIComponent(s[3]):null,focusSessionId:c};if(!i)return{kind:`session`,sessionId:e,tab:`chat`,file:t,scope:r};let a=Gl(i);return a===`chat`&&i!==`chat`?{kind:`session`,sessionId:e,tab:`chat`,file:t,scope:r}:{kind:`session`,sessionId:e,tab:a,file:t,scope:r}}return{kind:`unknown`}}function ou(e){return typeof window>`u`?cu():su(e===void 0?`${window.location.pathname}${window.location.search}`:`${window.location.pathname}?${e.toString()}`)}function su(e){let t=au(e);switch(t.kind){case`new`:return{...cu(),isNewSession:!0,tab:`chat`};case`session`:{let e=t.tab;return{sessionId:t.sessionId,isNewSession:!1,tab:e===`chat`?null:e,settingsPath:null,settingsEntityId:null,diffFile:t.file,diffScope:t.scope,scheduleView:null,scheduleProjectId:null,scheduleTaskId:null,assistantId:null,focusSessionId:null}}case`schedule`:return{sessionId:null,isNewSession:!1,tab:Rl,settingsPath:null,settingsEntityId:null,diffFile:null,diffScope:null,scheduleView:t.scheduleView,scheduleProjectId:t.scheduleProjectId,scheduleTaskId:t.scheduleTaskId,assistantId:null,focusSessionId:t.focusSessionId};case`assistant`:return{sessionId:null,isNewSession:!1,tab:`assistant`,settingsPath:null,settingsEntityId:null,diffFile:null,diffScope:null,scheduleView:null,scheduleProjectId:null,scheduleTaskId:null,assistantId:t.assistantId,focusSessionId:t.focusSessionId};case`settings`:return{sessionId:null,isNewSession:!1,tab:null,settingsPath:t.slug,settingsEntityId:t.entityId,diffFile:null,diffScope:null,scheduleView:null,scheduleProjectId:null,scheduleTaskId:null,assistantId:null,focusSessionId:null};default:return cu()}}function cu(){return{sessionId:null,isNewSession:!1,tab:null,settingsPath:null,settingsEntityId:null,diffFile:null,diffScope:null,scheduleView:null,scheduleProjectId:null,scheduleTaskId:null,assistantId:null,focusSessionId:null}}function lu(){if(typeof window>`u`)return!1;try{let e=au(`${window.location.pathname}${window.location.search}`);return e.kind===`session`||e.kind===`new`||e.kind===`schedule`||e.kind===`assistant`||e.kind===`settings`||e.kind===`connect`}catch{return!1}}function uu(e){if(e.isSettingsOpen)return Xl({slug:e.settingsPath.trim().length>0?e.settingsPath:`home`,entityId:e.settingsEntityId??null});if(e.tab===`schedule`)return tu({tab:Rl,scheduleView:e.scheduleView,scheduleProjectId:e.scheduleProjectId,scheduleTaskId:e.scheduleTaskId,focusSessionId:e.focusSessionId});if(e.tab===`assistant`)return tu({tab:`assistant`,assistantId:e.assistantId,focusSessionId:e.focusSessionId});if((e.isNewSession||!e.sessionId&&e.tab===`chat`)&&e.isNewSession)return Yl();if(e.sessionId&&e.sessionId.trim().length>0&&e.sessionId!==`new`){let t=new Set([`diff`,`files`,`diagram`]).has(e.tab)&&e.diffFile?e.diffFile:null;return tu({sessionId:e.sessionId.trim(),tab:e.tab,file:t,scope:e.tab===`diff`?e.diffScope??null:null})}return e.isNewSession?Yl():`/`}function du(e){if(typeof window>`u`)return!0;try{let t=`${window.location.pathname}${window.location.search}`,n=uu(e);return JSON.stringify(au(t))===JSON.stringify(au(n))}catch{return!0}}function fu(e,t={}){if(!(typeof window>`u`)&&!(pu()||Dt())&&!(!t.force&&du(e)))try{let n=uu(e);t.replace?window.history.replaceState({...window.history.state,route:e},``,n):window.history.pushState({route:e},``,n)}catch{}}function pu(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}var mu=3e4;function hu(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}function gu(){let e=Q.useMemo(()=>hu(),[]),n=Q.useMemo(()=>Dt(),[]),r=Q.useRef(!1),a=Q.useRef(!1),o=Q.useRef(new Set),[s,c]=Q.useState(()=>ou()),l=Je(e=>e.setCurrentSession),u=Je(e=>e.currentSessionId),d=Je(e=>e.currentSessionDirectory),f=P(e=>e.setActiveMainTab),p=P(e=>e.setSettingsDialogOpen),m=P(e=>e.setSettingsPage),h=P(e=>e.navigateToDiff),g=Fe(e=>e.hasLoaded),_=Fe(e=>e.activeSessions),v=Fe(e=>e.archivedSessions),y=Q.useCallback(t=>{if(!e&&ou().sessionId===t){o.current.has(t)||(o.current.add(t),dt(t,`missing-directory`)),a.current=!0;try{p(!1),f(`chat`),fu({sessionId:t,tab:`chat`,isSettingsOpen:!1,settingsPath:`home`,diffFile:null},{replace:!0,force:!0}),c(ou())}finally{a.current=!1}}},[e,f,c,p]),b=Q.useCallback(async e=>{if(!a.current){a.current=!0;try{if(e.settingsPath){m(Or(e.settingsPath)),p(!0);return}if(P.getState().isSettingsDialogOpen&&p(!1),e.tab===`schedule`||e.tab===`assistant`){f(e.tab),e.tab===`assistant`&&e.assistantId&&pt.getState().selectAssistant(e.assistantId);return}if(e.isNewSession){f(`chat`),Je.getState().newSessionDraft.open||Je.getState().openNewSessionDraft();return}if(e.sessionId){let t=e.sessionId,n=Ir(t);if(!n){a.current=!1;let e=await Lr(t);a.current=!0,n=e?.directory??null}let r=Je.getState();n&&(t!==r.currentSessionId||n!==r.currentSessionDirectory)&&l(t,n)}e.tab?f(e.tab):e.sessionId&&f(`chat`),e.diffFile&&(e.tab===`diff`||!e.tab)&&h(e.diffFile)}finally{a.current=!1}}},[l,f,p,m,h]),x=Q.useCallback(()=>{let e=Je.getState(),t=P.getState(),n=ou(),r=t.activeMainTab,i=!!e.newSessionDraft?.open&&!e.currentSessionId,a=!i&&(r===`schedule`||r===`assistant`);return{isNewSession:i,sessionId:a||i?null:e.currentSessionId??n.sessionId,tab:i?`chat`:a?r:t.activeMainTab||n.tab||`chat`,isSettingsOpen:t.isSettingsDialogOpen,settingsPath:t.settingsPage,settingsEntityId:n.settingsEntityId,diffFile:a||i?null:t.pendingDiffFile??n.diffFile,diffScope:a||i?null:n.diffScope,scheduleView:a&&r===`schedule`?n.scheduleView:null,scheduleProjectId:a&&r===`schedule`?n.scheduleProjectId:null,scheduleTaskId:a&&r===`schedule`?n.scheduleTaskId:null,assistantId:a&&r===`assistant`?mt()??n.assistantId:null,focusSessionId:a?n.focusSessionId:null}},[]),S=Q.useCallback((t={})=>{e||n||a.current||(fu(x(),t),c(ou()))},[e,n,x]);Q.useEffect(()=>{if(r.current||(r.current=!0,!lu()))return;let t=ou();(async()=>{await b(t),!e&&!n&&fu({...x(),isNewSession:t.isNewSession||x().isNewSession,sessionId:t.isNewSession?null:t.sessionId??Je.getState().currentSessionId??x().sessionId,tab:t.tab??P.getState().activeMainTab,settingsPath:t.settingsPath??P.getState().settingsPage,diffFile:t.isNewSession?null:t.diffFile??P.getState().pendingDiffFile},{replace:!0,force:!0})})()},[b,x,e,n]),Q.useEffect(()=>{if(!s.sessionId||s.isNewSession)return;let e=!1,t=s.sessionId;if(ou().sessionId!==t||u===t&&d||o.current.has(t))return;let n=Ir(t);if(n){o.current.delete(t),l(t,n);return}return(async()=>{let n=await Lr(t);if(!e&&ou().sessionId===t){if(n?.directory){o.current.delete(t);let e=Je.getState();(e.currentSessionId!==t||e.currentSessionDirectory!==n.directory)&&l(t,n.directory);return}Fe.getState().hasLoaded&&y(t)}})(),()=>{e=!0}},[_,v,d,u,y,g,s.isNewSession,s.sessionId,l]),Q.useEffect(()=>{let t=u===s.sessionId&&!!d;if(!s.sessionId||s.isNewSession||e||t)return;let n=s.sessionId,r=setTimeout(()=>{let e=Je.getState(),t=e.currentSessionId===n&&!!e.currentSessionDirectory;ou().sessionId===n&&!t&&y(n)},mu);return()=>clearTimeout(r)},[d,u,y,e,s.sessionId]),Q.useEffect(()=>{if(e||n)return;let t=Je.getState().currentSessionId,r=!!Je.getState().newSessionDraft?.open;return Je.subscribe(e=>{let n=e.currentSessionId,i=!!e.newSessionDraft?.open;n===t&&i===r||a.current||(t=n,r=i,S(),c(ou()))})},[e,n,S]),Q.useEffect(()=>{if(e||n)return;let t=P.getState().activeMainTab,r=P.getState().isSettingsDialogOpen,i=P.getState().settingsPage,o=P.getState().pendingDiffFile;return P.subscribe(e=>{if(a.current)return;let n=e.activeMainTab!==t,s=e.isSettingsDialogOpen!==r,c=e.settingsPage!==i,l=e.pendingDiffFile!==o&&e.activeMainTab===`diff`;t=e.activeMainTab,r=e.isSettingsDialogOpen,i=e.settingsPage,o=e.pendingDiffFile,(n||s||c||l)&&S()})},[e,n,S]),Q.useEffect(()=>{if(e||n)return;let t=mt();return pt.subscribe(()=>{if(a.current)return;if(P.getState().activeMainTab!==`assistant`){t=mt();return}let e=mt();e!==t&&(t=e,S())})},[e,n,S]),Q.useEffect(()=>{if(typeof window>`u`||e||n)return;let t=()=>{let e=ou();if(c(e),lu())b(e);else{let e=P.getState();e.isSettingsDialogOpen&&p(!1),e.activeMainTab!==`chat`&&f(`chat`)}};return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t)}},[b,e,n,f,p]),Q.useEffect(()=>{if(!(e||n))return t(e=>{i(e)&&(o.current.clear(),queueMicrotask(()=>{c(ou())}))})},[e,n])}var _u=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,vu=(e,t)=>{let n=new Set;for(let r of e){if(!r.trim())continue;let e=_u(r);n.add(e);for(let[r,i]of t)if(_u(r)===e)for(let e of i)e.path.trim()&&n.add(_u(e.path))}return[...n]},yu=(e,t,n)=>{let r=vu(e,t),i=n?.currentDirectory?.trim()??``;if(!i)return{directories:r};let a=_u(i),o=null;for(let t of e){if(!t.trim())continue;let e=_u(t);(a===e||a.startsWith(`${e}/`))&&(!o||e.length>o.length)&&(o=e)}for(let[e,n]of t){let t=_u(e);for(let e of n){if(!e.path.trim())continue;let n=_u(e.path);(a===n||a.startsWith(`${n}/`))&&(!o||t.length>o.length)&&(o=t)}}if(!o)return r.includes(a)?{directories:r,priorityDirectories:[a]}:{directories:r};let s=new Set([o]);for(let[e,n]of t)if(_u(e)===o)for(let e of n)e.path.trim()&&s.add(_u(e.path));r.includes(a)&&s.add(a);let c=r.filter(e=>s.has(e));return c.length===0||c.length>=r.length?{directories:r}:{directories:r,priorityDirectories:c}},bu=async(e,t=De,n)=>{try{await t(e,n)}catch(e){console.warn(`[SessionStartup] Initial session index sync failed:`,e)}finally{it()}},xu=async(e,t,n=De,r=ke)=>{r().catch(e=>{console.warn(`[SessionStartup] Early session index hydrate failed:`,e)}),await e;let i=t();await bu(i.directories,n,{priorityDirectories:i.priorityDirectories})},Su=()=>{let e=(0,qr.c)(2),t=Q.useRef(!1),n,r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{if(t.current)return;t.current=!0;let e=kt(a());xu(e,wu),Promise.resolve(e).then(Du)},r=[],e[0]=n,e[1]=r):(n=e[0],r=e[1]),Q.useLayoutEffect(n,r),null};function Cu(e){return e.path}function wu(){return yu(ot.getState().projects.map(Cu),Je.getState().availableWorktreesByProject,{currentDirectory:k.getState().currentDirectory})}function Tu(e){return e.path}function Eu(e){console.warn(`[SessionStartup] Batch git discovery failed (fallback to per-directory):`,e)}function Du(){let e=ot.getState().projects.map(Tu);e.length!==0&&St(e).catch(Eu)}var Ou=()=>{let e=(0,qr.c)(13),[t,n]=(0,Q.useState)(!1),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{n(v())},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,Q.useEffect)(r,i);let a;e[2]===t?a=e[3]:(a=async e=>t?await _(e):{success:!0,path:e},e[2]=t,e[3]=a);let o=a,s;e[4]===t?s=e[5]:(s=async e=>t?await b(e):{success:!0},e[4]=t,e[5]=s);let l=s,u;e[6]===t?u=e[7]:(u=async e=>t?await c(e):{success:!0},e[6]=t,e[7]=u);let d=u,f;return e[8]!==t||e[9]!==o||e[10]!==l||e[11]!==d?(f={isDesktop:t,requestAccess:o,startAccessing:l,stopAccessing:d},e[8]=t,e[9]=o,e[10]=l,e[11]=d,e[12]=f):f=e[12],f},ku=e=>e.trim().replace(/\s+/g,`-`).replace(/[^A-Za-z0-9._/-]/g,`-`).replace(/-+/g,`-`).replace(/\/{2,}/g,`/`).replace(/\/-+/g,`/`).replace(/-+\//g,`/`).replace(/^[-/]+/,``).replace(/[-/]+$/,``),Au=({currentBranch:e,onRename:t,showEditButton:n=!0,iconOnly:r=!1})=>{let{t:i}=fe(),[a,o]=Q.useState(!1),[s,c]=Q.useState(e||``),[l,u]=Q.useState(!1),d=Q.useRef(null),f=()=>{!e||!t||(c(e),o(!0),setTimeout(()=>d.current?.focus(),0))},p=async()=>{if(!e||!t||!s.trim())return;let n=ku(s);if(n===e){o(!1);return}u(!0);try{await t(e,n),o(!1),c(``)}finally{u(!1)}},m=()=>{o(!1),c(``)},h=e=>{e.key===`Enter`?(e.preventDefault(),p()):e.key===`Escape`&&(e.preventDefault(),m())};if(a)return(0,$.jsx)(`div`,{className:`flex h-6 items-center gap-1.5 rounded-md bg-primary/12 px-1.5`,children:(0,$.jsxs)(`form`,{className:`flex w-full items-center gap-1.5`,onSubmit:e=>{e.preventDefault(),p()},children:[(0,$.jsx)(Z,{name:`git-branch`,className:`size-3.5 text-primary`}),(0,$.jsx)(`input`,{ref:d,value:s,onChange:e=>c(e.target.value),className:`flex-1 min-w-0 bg-transparent typography-ui-label outline-none placeholder:text-muted-foreground`,placeholder:i(`gitView.branch.namePlaceholder`),onKeyDown:h,autoFocus:!0}),(0,$.jsx)(`button`,{type:`submit`,disabled:l,"aria-label":i(l?`gitView.branch.renameSaving`:`gitView.branch.renameSave`),title:i(l?`gitView.branch.renameSaving`:`gitView.branch.renameSave`),className:`shrink-0 text-muted-foreground hover:text-foreground disabled:opacity-50`,children:l?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`check`,className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,onClick:m,disabled:l,"aria-label":i(`gitView.branch.renameCancel`),title:i(`gitView.branch.renameCancel`),className:`shrink-0 text-muted-foreground hover:text-foreground disabled:opacity-50`,children:(0,$.jsx)(Z,{name:`close`,className:`size-3.5`})})]})});let g=e||i(`gitView.branch.detachedHead`);return r?(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,onClick:f,disabled:!e||!t,"aria-label":g,children:(0,$.jsx)(Z,{name:`git-branch`,className:`size-3.5`})})}),(0,$.jsx)(dn,{sideOffset:8,children:g})]}):(0,$.jsxs)(`div`,{className:`flex h-6 w-full min-w-0 items-center gap-1 px-0`,children:[(0,$.jsx)(Z,{name:`git-branch`,className:`size-3.5 text-primary shrink-0`}),(0,$.jsxs)(`div`,{className:`inline-flex min-w-0 max-w-full items-center gap-1`,children:[(0,$.jsx)(`span`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:g}),n&&t&&e&&(0,$.jsx)(X,{variant:`ghost`,size:`xs`,className:`size-6 p-0 shrink-0`,onClick:f,title:i(`gitView.branch.renameTitle`),children:(0,$.jsx)(Z,{name:`edit`,className:`size-3.5`})})]})]})},ju=e=>{let t=(0,qr.c)(38),{syncAction:n,remotes:r,onSync:i,disabled:a,aheadCount:o,behindCount:s,trackingRemoteName:c,hasUncommittedChanges:l}=e,u;t[0]===r?u=t[1]:(u=r===void 0?[]:r,t[0]=r,t[1]=u);let d=u,f=o===void 0?0:o,p=s===void 0?0:s,m=l!==void 0&&l,{t:h}=fe(),g;t[2]!==d||t[3]!==c?(g=d.find(e=>e.name===c)??d[0],t[2]=d,t[3]=c,t[4]=g):g=t[4];let _=g,v=p>0&&m,y=a||n!==null||!_||v,b=f>0||p>0,x;t[5]!==f||t[6]!==p||t[7]!==v||t[8]!==b||t[9]!==h||t[10]!==_?(x=v?h(`gitView.sync.commitOrStashTooltip`):_?b?h(`gitView.sync.syncChangesTooltip`,{ahead:f,behind:p}):h(`gitView.sync.syncChanges`):h(`gitView.sync.noRemoteTooltip`),t[5]=f,t[6]=p,t[7]=v,t[8]=b,t[9]=h,t[10]=_,t[11]=x):x=t[11];let S=x,C;t[12]!==i||t[13]!==_?(C=()=>{_&&i(_)},t[12]=i,t[13]=_,t[14]=C):C=t[14];let w=C,T=b?0:void 0,E;t[15]!==f||t[16]!==p||t[17]!==b||t[18]!==h?(E=b?h(`gitView.sync.syncChangesTooltip`,{ahead:f,behind:p}):h(`gitView.sync.syncChanges`),t[15]=f,t[16]=p,t[17]=b,t[18]=h,t[19]=E):E=t[19];let D;t[20]===n?D=t[21]:(D=n===`sync`?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`refresh`,className:`size-3.5`}),t[20]=n,t[21]=D);let O;t[22]===b?O=t[23]:(O=b?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`absolute -right-0.5 top-0 size-1 rounded-full bg-[var(--status-error)] ring-1 ring-[var(--surface-background)]`}):null,t[22]=b,t[23]=O);let k;t[24]!==D||t[25]!==O?(k=(0,$.jsxs)(`span`,{className:`relative flex size-3.5 shrink-0`,children:[D,O]}),t[24]=D,t[25]=O,t[26]=k):k=t[26];let A;t[27]!==w||t[28]!==y||t[29]!==E||t[30]!==k?(A=(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:w,disabled:y,className:`inline-flex h-6 w-fit shrink-0 items-center justify-center gap-1 rounded px-1 text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":E,children:k})}),t[27]=w,t[28]=y,t[29]=E,t[30]=k,t[31]=A):A=t[31];let j;t[32]===S?j=t[33]:(j=(0,$.jsx)(dn,{side:`bottom`,sideOffset:8,children:S}),t[32]=S,t[33]=j);let M;return t[34]!==A||t[35]!==j||t[36]!==T?(M=(0,$.jsxs)(fn,{delayDuration:T,children:[A,j]}),t[34]=A,t[35]=j,t[36]=T,t[37]=M):M=t[37],M},Mu={branch:`git-branch`,briefcase:`briefcase`,house:`home`,graduation:`graduation-cap`,code:`code`,heart:`heart`,user:`user-3`},Nu={keyword:`var(--syntax-keyword)`,error:`var(--status-error)`,string:`var(--syntax-string)`,function:`var(--syntax-function)`,type:`var(--syntax-type)`,success:`var(--status-success)`,info:`var(--status-info)`,warning:`var(--status-warning)`};function Pu(e){return e&&Nu[e]||`var(--primary)`}var Fu=e=>{let t=(0,qr.c)(36),{activeProfile:n,identities:r,onSelect:i,isApplying:a,iconOnly:o}=e,s=o!==void 0&&o,{t:c}=fe(),l=Mu[n?.icon??`branch`]??`user-3`,u=n?.color,d;t[0]===u?d=t[1]:(d=Pu(u),t[0]=u,t[1]=d);let f;t[2]===d?f=t[3]:(f={color:d},t[2]=d,t[3]=f);let p=a||r.length===0,m=a?`loader-4`:l,h=a?`size-4 animate-spin`:`size-4`,g;t[4]!==m||t[5]!==h?(g=(0,$.jsx)(Z,{name:m,className:h}),t[4]=m,t[5]=h,t[6]=g):g=t[6];let _;t[7]!==n?.name||t[8]!==s||t[9]!==c?(_=s?null:(0,$.jsx)(`span`,{className:`git-identity-label min-w-0 flex-1 truncate text-left`,children:n?.name||c(`gitView.header.noIdentity`)}),t[7]=n?.name,t[8]=s,t[9]=c,t[10]=_):_=t[10];let v;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-4 opacity-60`}),t[11]=v):v=t[11];let y;t[12]!==f||t[13]!==p||t[14]!==g||t[15]!==_?(y=(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsxs)(X,{variant:`ghost`,size:`sm`,className:`h-8 min-w-0 max-w-[15rem] justify-start gap-1.5 px-2 py-1 typography-ui-label`,style:f,disabled:p,children:[g,_,v]})})}),t[12]=f,t[13]=p,t[14]=g,t[15]=_,t[16]=y):y=t[16];let b;t[17]===c?b=t[18]:(b=c(`gitView.header.identityTooltip`),t[17]=c,t[18]=b);let x;t[19]===b?x=t[20]:(x=(0,$.jsx)(dn,{sideOffset:8,children:b}),t[19]=b,t[20]=x);let S;t[21]!==y||t[22]!==x?(S=(0,$.jsxs)(fn,{children:[y,x]}),t[21]=y,t[22]=x,t[23]=S):S=t[23];let C;if(t[24]!==n?.id||t[25]!==r||t[26]!==i){let e;t[28]!==n?.id||t[29]!==i?(e=e=>(0,$.jsxs)(vn,{onSelect:()=>i(e),children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:e.name}),(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:e.userEmail})]}),n?.id===e.id?(0,$.jsx)(Z,{name:`check`,className:`ml-auto size-4 text-foreground`}):null]},e.id),t[28]=n?.id,t[29]=i,t[30]=e):e=t[30],C=r.map(e),t[24]=n?.id,t[25]=r,t[26]=i,t[27]=C}else C=t[27];let w;t[31]===C?w=t[32]:(w=(0,$.jsx)(Sn,{align:`end`,className:`w-64`,children:C}),t[31]=C,t[32]=w);let T;return t[33]!==S||t[34]!==w?(T=(0,$.jsxs)(En,{children:[S,w]}),t[33]=S,t[34]=w,t[35]=T):T=t[35],T},Iu=(e,t)=>e??t,Lu=e=>e===`/`,Ru=e=>e.replace(/\\/g,`/`),zu=e=>{if(!e||Lu(e))return e;let t=e;for(;t.length>1&&t.endsWith(`/`);)t=t.slice(0,-1);return t},Bu=e=>e.endsWith(`/`),Vu=e=>{let t=e.trim();return!t||Bu(t)?t:`${t}/`},Hu=e=>e.lastIndexOf(`/`),Uu=e=>{if(Bu(e))return e;let t=Hu(e);return t<0?e:e.slice(0,t+1)},Wu=e=>{let t=Hu(e);return e.slice(t+1)},Gu=e=>{let t=zu(e.trim());if(!t||t===`~`||t===`~/`||t===`/`)return null;let n=Hu(t);return n<0?null:t.startsWith(`~/`)&&n<=1?`~/`:n===0?`/`:`${t.slice(0,n)}/`},Ku=e=>Bu(e)&&Gu(e)!==null,qu=(e,t)=>`${Uu(e)}${t}/`,Ju=e=>{if(!e)return null;let t=zu(Ru(e.trim()));return t?t.toLowerCase():null},Yu=(e,t)=>{let n=e.trim();return n===`~`?t:n.startsWith(`~/`)?`${t}${n.slice(1)}`:n},Xu=e=>typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey,Zu=e=>{if(!e)return;e.focus({preventScroll:!0});let t=e.value.length;e.setSelectionRange(t,t),e.scrollLeft=e.scrollWidth},Qu=async()=>{try{let e=await s(`/api/fs/home`,{method:`GET`,headers:{Accept:`application/json`}});if(e.ok){let t=await e.json();if(typeof t.home==`string`&&t.home.trim().length>0)return Ru(t.home.trim())}}catch{}return j.getFilesystemHome().catch(()=>null)},$u=({open:e,onOpenChange:t,forceMobile:n})=>{let{t:r}=fe(),i=k(e=>e.homeDirectory),a=ot(e=>e.projects),o=ot(e=>e.addProject),s=Nr(e=>e.profiles),c=Nr(e=>e.globalIdentity),l=Nr(e=>e.defaultGitIdentityId),u=Nr(e=>e.loadProfiles),d=Nr(e=>e.loadGlobalIdentity),f=Nr(e=>e.loadDefaultGitIdentityId),{isDesktop:p,requestAccess:m,startAccessing:h}=Ou(),g=Iu(n,Nn().isMobile),_=Q.useRef(null),v=Q.useRef(new Map),[y,b]=Q.useState(``),[x,S]=Q.useState(`~/`),[C,w]=Q.useState([]),[T,E]=Q.useState(!1),[D,O]=Q.useState(!1),[A,M]=Q.useState(0),[N,P]=Q.useState(!1),[F,I]=Q.useState(!1),[L,R]=Q.useState(!1),[z,B]=Q.useState(``),[V,ee]=Q.useState(null),[H,U]=Q.useState(!1),W=y||i,te=Q.useMemo(()=>new Set(a.map(e=>Ju(e.path)).filter(e=>!!e)),[a]);Q.useEffect(()=>{if(!e)return;S(`~/`),w([]),M(0),P(!1),I(!1),R(!1),B(``),ee(null),U(!1),requestAnimationFrame(()=>Zu(_.current));let t=!1;return(async()=>{let e=await Qu();t||(b(e||i||``),requestAnimationFrame(()=>Zu(_.current)))})(),()=>{t=!0}},[i,e]),Q.useEffect(()=>{e&&(u(),d(),f())},[f,u,d,e]);let G=Q.useMemo(()=>{let e=new Map;c&&e.set(c.id,c);for(let t of s)e.set(t.id,t);return Array.from(e.values())},[s,c]);Q.useEffect(()=>{if(!e||!L||V!==null)return;let t=typeof l==`string`?l.trim():``;if(t&&G.some(e=>e.id===t)){ee(t);return}let n=G.find(e=>e.authType===`ssh`||e.sshKey);n&&ee(n.id)},[G,l,L,e,V]);let K=Q.useMemo(()=>G.find(e=>e.id===V)??null,[G,V]),ne=Q.useMemo(()=>Uu(x),[x]),re=Q.useMemo(()=>Bu(x)?``:Wu(x),[x]),ie=Q.useMemo(()=>W?Yu(ne,W):``,[ne,W]);Q.useEffect(()=>{if(!e||!ie){w([]);return}let t=!1;return E(!0),O(!1),j.listLocalDirectory(ie).then(e=>{if(t)return;O(!1);let n=e.filter(e=>e.isDirectory).map(e=>({name:e.name,path:Ru(e.path)})).sort((e,t)=>e.name.localeCompare(t.name));w(n)}).catch(()=>{t||(w([]),O(!0))}).finally(()=>{t||E(!1)}),()=>{t=!0}},[ie,e]);let q=Q.useMemo(()=>{let e=re.toLowerCase(),t=H||re.startsWith(`.`);return C.filter(n=>n.name.toLowerCase().startsWith(e)&&(t||!n.name.startsWith(`.`)))},[re,C,H]),ae=Q.useMemo(()=>{let e=[];Ku(x)&&e.push({type:`up`,value:`browse:up`,name:`..`,path:Gu(x)});for(let t of q){let n=Ju(t.path);e.push({type:`directory`,value:`browse:${t.path}`,name:t.name,path:t.path,alreadyAdded:!!(n&&te.has(n))})}return e},[te,q,x]);Q.useEffect(()=>{M(0)},[x,ae.length]);let J=Q.useMemo(()=>W?zu(Yu(x,W)):``,[W,x]),oe=Ju(J),se=!!(oe&&te.has(oe)),le=Q.useMemo(()=>re?q.find(e=>e.name===re)??null:null,[re,q]),ue=!!(J&&!se&&(Bu(x)&&D||!Bu(x)&&re.trim().length>0&&le===null)),de=!N&&!F&&!se&&!!J,pe=de&&z.trim().length>0,me=ae[A]??null,he=!!me,ge=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`,_e=r(se?`directoryExplorerDialog.actions.alreadyAdded`:L?N?`directoryExplorerDialog.actions.cloning`:`directoryExplorerDialog.actions.cloneAndAdd`:N?`directoryExplorerDialog.actions.adding`:ue?`directoryExplorerDialog.actions.createAndAdd`:`directoryExplorerDialog.actions.addProject`);Q.useLayoutEffect(()=>{e&&Zu(_.current)},[e]),Q.useLayoutEffect(()=>{let e=ae[A];e&&v.current.get(e.value)?.scrollIntoView({block:`nearest`})},[A,ae]);let ve=ce(()=>{t(!1)}),ye=ce(e=>{let t=Je.getState();t.newSessionDraft?.open&&t.setNewSessionDraftTarget({projectId:e.id,directoryOverride:e.path},{force:!0})}),be=ce(e=>{let t={selectedProjectId:e.id,directoryOverride:e.path,preserveDirectoryOverride:!0};if(g){at.getState().openDraft(t);return}Je.getState().openNewSessionDraft(t)}),xe=ce((e,t)=>{e.stopPropagation();let n=Ju(t);if(n&&te.has(n))return;let i=o(t);if(!i){Pe.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}ye(i)}),Se=ce(async e=>{if(!e||N)return;let t=Ju(e);if(t&&te.has(t))return;let n=e;P(!0);try{let t=!L&&ue&&Ju(e)===Ju(J);if(L){let t=z.trim();if(!t){Pe.error(r(`directoryExplorerDialog.toast.cloneUrlRequired`));return}n=(await j.cloneRepository({remoteUrl:t,destinationPath:e,gitIdentityId:K?.id??null})).path}else t&&await j.createDirectory(e);let i=o(n);if(!i){Pe.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}be(i),ve()}catch(e){Pe.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{P(!1)}}),Ce=ce(e=>{S(Vu(e))}),we=ce(e=>{S(qu(x,e.name))}),Te=ce(e=>{if(e){if(e.type===`up`){e.path&&Ce(e.path);return}we(e)}}),Ee=ce(async()=>{if(!(!p||F)){I(!0);try{let e=await m(J);if(!e.success||!e.path){e.error&&e.error!==`Directory selection cancelled`&&Pe.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e.error});return}let t=await h(e.path);if(!t.success){Pe.error(r(`directoryExplorerDialog.toast.failedToOpenDirectory`),{description:t.error||r(`directoryExplorerDialog.toast.desktopCouldNotGrantAccess`)});return}await Se(e.path)}catch(e){Pe.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{I(!1)}}}),De=ce(e=>{if(e.key===`ArrowDown`){e.preventDefault(),M(e=>Math.min(ae.length-1,e+1));return}if(e.key===`ArrowUp`){e.preventDefault(),M(e=>Math.max(0,e-1));return}if(e.key===`Enter`){if(e.preventDefault(),Xu(e)){Se(J);return}he&&Te(me);return}e.key===`Backspace`&&x===``&&(e.preventDefault(),ve())}),Oe=(0,$.jsxs)(`button`,{type:`button`,onClick:()=>U(e=>!e),className:`flex flex-shrink-0 items-center gap-2 rounded-lg px-2 py-1 typography-meta text-muted-foreground transition-colors hover:bg-interactive-hover/40`,children:[H?(0,$.jsx)(Z,{name:`checkbox`,className:`h-4 w-4 text-primary`}):(0,$.jsx)(Z,{name:`checkbox-blank`,className:`h-4 w-4`}),r(`directoryExplorerDialog.toggle.showHidden`)]}),ke=(0,$.jsxs)(`div`,{className:`px-2.5 py-1.5`,children:[L?(0,$.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5`,children:[(0,$.jsx)(ln,{value:z,onChange:e=>B(e.target.value),placeholder:r(`directoryExplorerDialog.clone.remoteUrlPlaceholder`),className:`min-w-0 flex-1 border-border/60 bg-[var(--surface-elevated)] font-mono typography-ui-label shadow-none`,spellCheck:!1,autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`off`}),(0,$.jsx)(Fu,{activeProfile:K,identities:G,onSelect:e=>ee(e.id),isApplying:N,iconOnly:!0})]}):null,(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{name:`folder-add`,className:`pointer-events-none absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground/80`}),(0,$.jsx)(ln,{ref:_,value:x,onChange:e=>S(Ru(e.target.value)),onKeyDown:De,placeholder:r(`directoryExplorerDialog.pathInput.placeholder`),className:`border-transparent bg-transparent pl-9 font-mono typography-ui-label shadow-none focus-visible:ring-0`,spellCheck:!1,autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`off`})]})]}),Ae=(0,$.jsx)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden rounded-xl border border-border/60 bg-[var(--surface-elevated)] shadow-sm dark:shadow-none`,children:(0,$.jsxs)(`div`,{className:`max-h-[min(28rem,58vh)] overflow-y-auto p-2`,children:[(0,$.jsx)(`div`,{className:`px-2 pb-1 pt-0.5 typography-meta font-medium uppercase tracking-wide text-muted-foreground/80`,children:r(`directoryExplorerDialog.browse.directories`)}),T?(0,$.jsx)(`div`,{className:`py-10 text-center typography-ui-label text-muted-foreground`,children:r(`directoryExplorerDialog.browse.loading`)}):ae.length===0?(0,$.jsx)(`div`,{className:`py-10 text-center typography-ui-label text-muted-foreground`,children:r(`directoryExplorerDialog.browse.empty`)}):(0,$.jsx)(`div`,{className:`space-y-0.5`,children:ae.map((e,t)=>{let n=t===A;return(0,$.jsxs)(`div`,{onMouseEnter:()=>M(t),className:Y(`flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,n&&`bg-interactive-selection text-interactive-selection-foreground`,!n&&`hover:bg-interactive-hover/50`),children:[(0,$.jsxs)(`button`,{ref:t=>{t?v.current.set(e.value,t):v.current.delete(e.value)},type:`button`,onMouseDown:e=>e.preventDefault(),onClick:()=>Te(e),className:`flex min-w-0 flex-1 items-center gap-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,children:[e.type===`up`?(0,$.jsx)(Z,{name:`arrow-left-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/80`}):(0,$.jsx)(Z,{name:`folder-6`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/80`}),(0,$.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:e.name})})]}),e.type===`directory`&&e.alreadyAdded?(0,$.jsx)(`span`,{className:`rounded-full border border-border/60 px-2 py-0.5 typography-meta text-muted-foreground`,children:r(`directoryExplorerDialog.browse.addedBadge`)}):e.type===`directory`?(0,$.jsx)(`button`,{type:`button`,onMouseDown:e=>e.stopPropagation(),onClick:t=>xe(t,e.path),className:`flex-shrink-0 rounded-full p-1 text-muted-foreground transition-colors hover:bg-interactive-hover/60 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50`,title:r(`directoryExplorerDialog.browse.quickAdd`),children:(0,$.jsx)(Z,{name:`add`,className:`h-3.5 w-3.5`})}):null]},e.value)})})]})}),je=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:[ke,Ae]}),Me=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 typography-micro text-muted-foreground`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(Z,{name:`arrow-up-s`,className:`h-3.5 w-3.5`}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:`-ml-1 h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.navigate`)]}),(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(Z,{name:`corner-down-left`,className:`h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.select`)]}),(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(`span`,{children:ge}),(0,$.jsx)(Z,{name:`corner-down-left`,className:`h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.add`)]})]}),Ne=()=>(0,$.jsxs)($.Fragment,{children:[g?null:Me,(0,$.jsxs)(`div`,{className:Y(`flex w-full flex-row justify-end gap-2 sm:w-auto`,g&&`justify-stretch`),children:[p?(0,$.jsx)(X,{variant:`ghost`,size:`xs`,onClick:Ee,disabled:N||F||L,children:r(F?`directoryExplorerDialog.actions.openingFinder`:`directoryExplorerDialog.actions.openInFinder`)}):null,(0,$.jsx)(X,{variant:`ghost`,size:`xs`,onClick:()=>R(e=>!e),disabled:N||F,className:Y(g&&`flex-1`),children:r(L?`directoryExplorerDialog.actions.addLocalProject`:`directoryExplorerDialog.actions.cloneRepository`)}),g?(0,$.jsx)(X,{size:`xs`,onClick:()=>void Se(J),disabled:L?!pe:!de,className:`flex-1`,children:_e}):(0,$.jsx)(X,{size:`xs`,onClick:()=>void Se(J),disabled:L?!pe:!de,children:_e})]})]});return g?(0,$.jsx)(Bn,{id:`mobile-directory-explorer-sheet`,open:e,onOpenChange:t,title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:r(`directoryExplorerDialog.title`)}),trailing:Oe,ariaLabel:r(`directoryExplorerDialog.title`),closeAriaLabel:r(`mobile.surface.closeAria`),resizeAriaLabel:r(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-2`,children:je}),(0,$.jsx)(`div`,{className:`shrink-0 border-t border-border/40 px-3 pb-4 pt-2`,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:Ne()})})]})}):(0,$.jsx)(bt,{open:e,onOpenChange:t,children:(0,$.jsxs)(_t,{className:`flex w-full max-w-xl flex-col gap-0 overflow-hidden p-0 sm:max-h-[80vh]`,initialFocus:!1,children:[(0,$.jsx)(ht,{className:`px-5 pb-2 pt-5`,children:(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(vt,{children:r(`directoryExplorerDialog.title`)}),(0,$.jsx)(yt,{className:`mt-2`,children:r(`directoryExplorerDialog.description`)})]}),Oe]})}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 px-2 pb-0`,children:je}),(0,$.jsx)(gt,{className:`flex w-full flex-col gap-3 px-5 py-3 sm:flex-row sm:items-center sm:justify-between`,children:Ne()})]})})},ed=`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,td=`oc-settings-group-label`,nd=Kr();function rd(e){if(!e||!e.trim())return{valid:!1,error:`required`};try{return nd.CronExpressionParser.parse(e),{valid:!0}}catch(e){return{valid:!1,error:e instanceof Error?e.message:`Invalid cron expression`}}}function id(e,t,n=4){try{let r=t?{tz:t,currentDate:new Date}:{currentDate:new Date},i=nd.CronExpressionParser.parse(e,r),a=[];for(let e=0;e<n;e+=1){let e=i.next();e&&a.push(e.toDate())}return a}catch{return[]}}var ad=[{expression:`*/5 * * * *`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.every5min`},{expression:`0 * * * *`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.everyHour`},{expression:`0 9 * * 1`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.monday9am`},{expression:`0 9,17 * * *`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.9am5pm`},{expression:`0 0 1 * *`,labelKey:`sessions.scheduledTasks.editor.cronExpression.examples.firstOfMonth`}],od=[0,1,2,3,4,5,6],sd=`!h-9 !min-h-9 w-full min-w-0 rounded-full border-0 bg-[var(--surface-elevated)] px-3 py-1 ring-1 ring-inset ring-border/60 transition-[background-color,box-shadow] duration-150 ease-out hover:[&:not(:focus)]:bg-[var(--surface-subtle)] hover:[&:not(:focus)]:ring-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] data-[popup-open]:bg-[var(--surface-subtle)] data-[popup-open]:shadow-sm motion-reduce:transition-none`,cd=`oc-settings-inline-value`,ld=`oc-settings-split-row ${ed}`,ud=cd,dd=ld,fd=()=>{let e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`},pd=e=>{let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=new Date(n,r-1,i);return Number.isNaN(a.getTime())||a.getFullYear()!==n||a.getMonth()!==r-1||a.getDate()!==i?null:a},md=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,hd=(e,t,n)=>{let r=pd(e);return r?new Intl.DateTimeFormat(n,{month:`short`,day:`numeric`,year:`numeric`}).format(r):t},gd=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),_d=(e,t)=>{let n=e.getFullYear(),r=e.getMonth(),i=(new Date(n,r,1).getDay()-t+7)%7,a=new Date(n,r+1,0).getDate(),o=new Date(n,r,0).getDate(),s=[];for(let e=0;e<42;e+=1){let t=e-i+1;if(t<=0){let e=o+t;s.push({date:new Date(n,r-1,e),inCurrentMonth:!1});continue}if(t>a){s.push({date:new Date(n,r+1,t-a),inCurrentMonth:!1});continue}s.push({date:new Date(n,r,t),inCurrentMonth:!0})}return s},vd=e=>{let t=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);if(!t)return{hour24:`00`,hour12:`12`,minute:`00`,meridiem:`AM`};let n=Number(t[1]),r=t[2],i=n>=12?`PM`:`AM`,a=n%12==0?12:n%12;return{hour24:String(n).padStart(2,`0`),hour12:String(a).padStart(2,`0`),minute:r,meridiem:i}},yd=(e,t,n)=>{let r=Number(e),i=Number(t),a=Number.isFinite(r)?Math.min(12,Math.max(1,r)):12,o=Number.isFinite(i)?Math.min(59,Math.max(0,i)):0,s=a%12;return n===`PM`&&(s+=12),`${String(s).padStart(2,`0`)}:${String(o).padStart(2,`0`)}`},bd=(e,t)=>{let{max:n,min:r=0,loop:i=!1}=t,a=Number.parseInt(e,10);return Number.isFinite(a)?(i?(a>n&&(a=r),a<r&&(a=n)):(a>n&&(a=n),a<r&&(a=r)),String(a).padStart(2,`0`)):`00`},xd=e=>/^(0[1-9]|1[0-2])$/.test(e)?e:bd(e,{min:1,max:12}),Sd=e=>/^[0-5][0-9]$/.test(e)?e:bd(e,{max:59}),Cd=(e,t)=>bd(String(Number.parseInt(e,10)+t),{min:1,max:12,loop:!0}),wd=(e,t)=>bd(String(Number.parseInt(e,10)+t),{min:0,max:59,loop:!0}),Td=e=>{try{let t=Intl.Locale;if(typeof t!=`function`)return 1;let n=new t(e).weekInfo?.firstDay;return typeof n==`number`?n%7:1}catch{return 1}},Ed=e=>{try{let t=new Intl.DateTimeFormat(e,{hour:`numeric`}).resolvedOptions();return typeof t.hour12==`boolean`?!t.hour12:t.hourCycle===`h23`||t.hourCycle===`h24`}catch{return!0}},Dd=e=>{let t=new Intl.DateTimeFormat(e,{weekday:`short`}),n=new Date(2023,0,1);return od.map(e=>t.format(new Date(n.getFullYear(),n.getMonth(),n.getDate()+e)))},Od=(e,t)=>[...e.slice(t),...e.slice(0,t)],kd=e=>{let t=(0,qr.c)(9),{htmlFor:n,required:r,className:i,children:a}=e,o;t[0]===i?o=t[1]:(o=Y(`typography-ui-label font-normal text-foreground`,i),t[0]=i,t[1]=o);let s;t[2]===r?s=t[3]:(s=r&&(0,$.jsx)(`span`,{className:`ml-0.5 text-destructive`,children:`*`}),t[2]=r,t[3]=s);let c;return t[4]!==a||t[5]!==n||t[6]!==o||t[7]!==s?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:(0,$.jsxs)(`label`,{htmlFor:n,className:o,children:[a,s]})}),t[4]=a,t[5]=n,t[6]=o,t[7]=s,t[8]=c):c=t[8],c},Ad=e=>{let t=(0,qr.c)(85),{value:n,onChange:r,className:i,use24Hour:a,hourAriaLabel:o,minuteAriaLabel:s,periodAriaLabel:c,amLabel:l,pmLabel:u}=e,d;t[0]===n?d=t[1]:(d=vd(n),t[0]=n,t[1]=d);let f=d,p=Q.useRef(null),m=Q.useRef(null),[h,g]=Q.useState(null),[_,v]=Q.useState(null),y=Q.useRef(null),b=Q.useRef(null),x;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{y.current=e,g(e)},t[2]=x):x=t[2];let S=x,C;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(C=e=>{b.current=e,v(e)},t[3]=C):C=t[3];let w=C,T=Bd,E=Vd,D=Hd,O;t[4]!==r||t[5]!==f.meridiem||t[6]!==f.minute||t[7]!==a?(O=e=>{let t=e.replace(/\D/g,``).slice(0,2);S(t),t.length===2&&(r(a?D(T(t),f.minute):yd(xd(t),f.minute,f.meridiem)),S(null),m.current?.focus())},t[4]=r,t[5]=f.meridiem,t[6]=f.minute,t[7]=a,t[8]=O):O=t[8];let k=O,A;t[9]!==r||t[10]!==f.meridiem||t[11]!==f.minute||t[12]!==a?(A=()=>{let e=y.current;if(e!==null&&(S(null),e.length!==0)){if(a){r(D(T(e.padStart(2,`0`)),f.minute));return}r(yd(xd(e.padStart(2,`0`)),f.minute,f.meridiem))}},t[9]=r,t[10]=f.meridiem,t[11]=f.minute,t[12]=a,t[13]=A):A=t[13];let j=A,M;t[14]!==r||t[15]!==f.hour12||t[16]!==f.hour24||t[17]!==f.meridiem||t[18]!==a?(M=e=>{let t=e.replace(/\D/g,``).slice(0,2);w(t),t.length===2&&(r(a?D(f.hour24,Sd(t)):yd(f.hour12,Sd(t),f.meridiem)),w(null))},t[14]=r,t[15]=f.hour12,t[16]=f.hour24,t[17]=f.meridiem,t[18]=a,t[19]=M):M=t[19];let N=M,P;t[20]!==r||t[21]!==f.hour12||t[22]!==f.hour24||t[23]!==f.meridiem||t[24]!==a?(P=()=>{let e=b.current;e!==null&&(w(null),e.length!==0&&r(a?D(f.hour24,Sd(e.padStart(2,`0`))):yd(f.hour12,Sd(e.padStart(2,`0`)),f.meridiem)))},t[20]=r,t[21]=f.hour12,t[22]=f.hour24,t[23]=f.meridiem,t[24]=a,t[25]=P):P=t[25];let F=P,I;t[26]!==r||t[27]!==f.hour12||t[28]!==f.hour24||t[29]!==f.meridiem||t[30]!==f.minute||t[31]!==a?(I=e=>r(a?D(E(f.hour24,e),f.minute):yd(Cd(f.hour12,e),f.minute,f.meridiem)),t[26]=r,t[27]=f.hour12,t[28]=f.hour24,t[29]=f.meridiem,t[30]=f.minute,t[31]=a,t[32]=I):I=t[32];let L=I,R;t[33]!==r||t[34]!==f.hour12||t[35]!==f.hour24||t[36]!==f.meridiem||t[37]!==f.minute||t[38]!==a?(R=e=>r(a?D(f.hour24,wd(f.minute,e)):yd(f.hour12,wd(f.minute,e),f.meridiem)),t[33]=r,t[34]=f.hour12,t[35]=f.hour24,t[36]=f.meridiem,t[37]=f.minute,t[38]=a,t[39]=R):R=t[39];let z=R,B;t[40]!==r||t[41]!==f.hour12||t[42]!==f.meridiem||t[43]!==f.minute?(B=e=>{e!==f.meridiem&&r(yd(f.hour12,f.minute,e))},t[40]=r,t[41]=f.hour12,t[42]=f.meridiem,t[43]=f.minute,t[44]=B):B=t[44];let V=B,ee;t[45]!==j||t[46]!==L?(ee=e=>{if(e.key===`ArrowRight`){e.preventDefault(),j(),m.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),S(null),L(e.key===`ArrowUp`?1:-1))},t[45]=j,t[46]=L,t[47]=ee):ee=t[47];let H=ee,U;t[48]!==F||t[49]!==z?(U=e=>{if(e.key===`ArrowLeft`&&(e.currentTarget.selectionStart??0)===0){e.preventDefault(),F(),p.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),w(null),z(e.key===`ArrowUp`?1:-1))},t[48]=F,t[49]=z,t[50]=U):U=t[50];let W=U,te=a?`px-2`:`pl-2 pr-1`,G;t[51]!==i||t[52]!==te?(G=Y(`flex h-9 w-full min-w-0 items-center gap-1 rounded-full border-0 bg-[var(--surface-elevated)] ring-1 ring-inset ring-border/60 transition duration-200 ease-out hover:[&:not(:focus-within)]:bg-[var(--surface-subtle)] hover:[&:not(:focus-within)]:ring-transparent focus-within:ring-2 focus-within:ring-[var(--interactive-focus-ring)]`,te,i),t[51]=i,t[52]=te,t[53]=G):G=t[53];let K=h??(a?f.hour24:f.hour12),ne;t[54]===k?ne=t[55]:(ne=e=>k(e.target.value),t[54]=k,t[55]=ne);let re;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(re=()=>S(``),t[56]=re):re=t[56];let ie;t[57]!==j||t[58]!==o||t[59]!==H||t[60]!==K||t[61]!==ne?(ie=(0,$.jsx)(`input`,{ref:p,inputMode:`numeric`,value:K,onChange:ne,onKeyDown:H,onFocus:re,onBlur:j,maxLength:2,"aria-label":o,className:`h-7 w-7 shrink-0 rounded-sm bg-transparent text-center font-mono text-sm tabular-nums text-foreground outline-none caret-transparent focus:bg-interactive-hover`}),t[57]=j,t[58]=o,t[59]=H,t[60]=K,t[61]=ne,t[62]=ie):ie=t[62];let q;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(`span`,{className:`font-mono text-sm text-muted-foreground`,children:`:`}),t[63]=q):q=t[63];let ae=_??f.minute,J;t[64]===N?J=t[65]:(J=e=>N(e.target.value),t[64]=N,t[65]=J);let oe;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(oe=()=>w(``),t[66]=oe):oe=t[66];let se;t[67]!==F||t[68]!==s||t[69]!==W||t[70]!==ae||t[71]!==J?(se=(0,$.jsx)(`input`,{ref:m,inputMode:`numeric`,value:ae,onChange:J,onKeyDown:W,onFocus:oe,onBlur:F,maxLength:2,"aria-label":s,className:`h-7 w-7 shrink-0 rounded-sm bg-transparent text-center font-mono text-sm tabular-nums text-foreground outline-none caret-transparent focus:bg-interactive-hover`}),t[67]=F,t[68]=s,t[69]=W,t[70]=ae,t[71]=J,t[72]=se):se=t[72];let ce;t[73]!==l||t[74]!==f.meridiem||t[75]!==c||t[76]!==u||t[77]!==V||t[78]!==a?(ce=a?null:(0,$.jsxs)(tn,{value:f.meridiem,onValueChange:e=>V(e),children:[(0,$.jsx)(Yt,{"aria-label":c,className:`ml-1 h-7 w-fit border-0 bg-transparent pl-2 pr-1 shadow-none hover:bg-interactive-hover focus:ring-0`,children:(0,$.jsx)(cn,{})}),(0,$.jsxs)(Qt,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(qt,{value:`AM`,children:l}),(0,$.jsx)(qt,{value:`PM`,children:u})]})]}),t[73]=l,t[74]=f.meridiem,t[75]=c,t[76]=u,t[77]=V,t[78]=a,t[79]=ce):ce=t[79];let le;return t[80]!==G||t[81]!==ie||t[82]!==se||t[83]!==ce?(le=(0,$.jsxs)(`div`,{className:G,children:[ie,q,se,ce]}),t[80]=G,t[81]=ie,t[82]=se,t[83]=ce,t[84]=le):le=t[84],le},jd=e=>new Date(e.getFullYear(),e.getMonth(),1),Md=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())},Nd=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),Pd=e=>{if(!e)return[`09:00`];let t=(Array.isArray(e.schedule.times)?e.schedule.times:e.schedule.time?[e.schedule.time]:[]).filter(e=>typeof e==`string`&&/^([01]\d|2[0-3]):([0-5]\d)$/.test(e)).map(e=>e.trim()),n=Array.from(new Set(t)).sort((e,t)=>e.localeCompare(t));return n.length>0?n:[`09:00`]},Fd=(e,t)=>{let n=Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`;return e?{id:e.id,name:e.name,enabled:e.enabled,schedule:{kind:e.schedule.kind===`cron`?`cron`:e.schedule.kind===`once`?`once`:e.schedule.kind===`weekly`?`weekly`:`daily`,times:Pd(e),onceDate:typeof e.schedule.date==`string`&&/^\d{4}-\d{2}-\d{2}$/.test(e.schedule.date)?e.schedule.date:fd(),onceTime:typeof e.schedule.time==`string`&&/^([01]\d|2[0-3]):([0-5]\d)$/.test(e.schedule.time)?e.schedule.time:`09:00`,weekdays:Array.isArray(e.schedule.weekdays)?e.schedule.weekdays:[1],timezone:e.schedule.timezone||n,cronExpression:e.schedule.kind===`cron`&&typeof e.schedule.cron==`string`?e.schedule.cron:``},execution:{prompt:e.execution.prompt,providerID:e.execution.providerID,modelID:e.execution.modelID,variant:e.execution.variant||``,agent:e.execution.agent||``,goalEnabled:e.execution.goalEnabled===!0,goalTokenBudget:typeof e.execution.goalTokenBudget==`number`&&e.execution.goalTokenBudget>0?e.execution.goalTokenBudget:null},state:e.state}:{name:``,enabled:!0,schedule:{kind:`daily`,times:[`09:00`],onceDate:fd(),onceTime:`09:00`,weekdays:[1],timezone:n,cronExpression:``},execution:{prompt:``,providerID:t.providerID,modelID:t.modelID,variant:t.variant,agent:t.agent,goalEnabled:!1,goalTokenBudget:null}}},Id=(e,t)=>{if(!e.name.trim())return t(`sessions.scheduledTasks.editor.validation.taskNameRequired`);if(!e.execution.prompt.trim())return t(`sessions.scheduledTasks.editor.validation.promptRequired`);if(!e.execution.providerID.trim()||!e.execution.modelID.trim())return t(`sessions.scheduledTasks.editor.validation.modelRequired`);if(e.schedule.kind===`once`){if(!/^\d{4}-\d{2}-\d{2}$/.test(e.schedule.onceDate))return t(`sessions.scheduledTasks.editor.validation.dateFormat`);if(!/^([01]\d|2[0-3]):([0-5]\d)$/.test(e.schedule.onceTime))return t(`sessions.scheduledTasks.editor.validation.timeFormat`)}else if(e.schedule.kind===`cron`){if(!e.schedule.cronExpression.trim())return t(`sessions.scheduledTasks.editor.validation.cronRequired`);if(!rd(e.schedule.cronExpression).valid)return t(`sessions.scheduledTasks.editor.validation.cronInvalid`)}else if(e.schedule.times.filter(e=>/^([01]\d|2[0-3]):([0-5]\d)$/.test(e)).length===0)return t(`sessions.scheduledTasks.editor.validation.atLeastOneTime`);return e.schedule.kind===`weekly`&&e.schedule.weekdays.length===0?t(`sessions.scheduledTasks.editor.validation.atLeastOneWeekday`):e.schedule.timezone.trim()?null:t(`sessions.scheduledTasks.editor.validation.timezoneRequired`)},Ld=e=>{let t=e.filter(e=>/^([01]\d|2[0-3]):([0-5]\d)$/.test(e));return Array.from(new Set(t)).sort((e,t)=>e.localeCompare(t))},Rd=e=>{let t=(0,qr.c)(76),{draft:n,setDraft:r,locale:i,t:a,panel:o,mobilePanel:s}=e,c=o!==void 0&&o,l=s!==void 0&&s,u=c||l,d=l?dd:ld,f=n.schedule.cronExpression,p;t[0]===f?p=t[1]:(p=f.trim()?rd(f):null,t[0]=f,t[1]=p);let m=p,h;bb0:{if(!m?.valid||!f.trim()){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[2]=e):e=t[2],h=e;break bb0}let e;t[3]!==f||t[4]!==n.schedule.timezone?(e=id(f,n.schedule.timezone),t[3]=f,t[4]=n.schedule.timezone,t[5]=e):e=t[5],h=e}let g=h,_;t[6]!==n.schedule.timezone||t[7]!==i?(_=e=>new Intl.DateTimeFormat(i,{timeZone:n.schedule.timezone,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`}).format(e),t[6]=n.schedule.timezone,t[7]=i,t[8]=_):_=t[8];let v=_,y=u&&`gap-0`,b;t[9]===y?b=t[10]:(b=Y(`flex flex-col gap-3`,y),t[9]=y,t[10]=b);let x=u&&d,S;t[11]===x?S=t[12]:(S=Y(`flex flex-col gap-1`,x),t[11]=x,t[12]=S);let C;t[13]===a?C=t[14]:(C=a(`sessions.scheduledTasks.editor.cronExpression.label`),t[13]=a,t[14]=C);let w;t[15]===C?w=t[16]:(w=(0,$.jsx)(kd,{htmlFor:`sched-cron`,required:!0,children:C}),t[15]=C,t[16]=w);let T=u?``:void 0,E=u&&`oc-settings-split-row-control flex-col items-end`,D;t[17]===E?D=t[18]:(D=Y(E),t[17]=E,t[18]=D);let O;t[19]===r?O=t[20]:(O=e=>r(t=>({...t,schedule:{...t.schedule,cronExpression:e.target.value}})),t[19]=r,t[20]=O);let k;t[21]===a?k=t[22]:(k=a(`sessions.scheduledTasks.editor.cronExpression.placeholder`),t[21]=a,t[22]=k);let A=u&&`min-w-[140px] text-right`,j;t[23]===A?j=t[24]:(j=Y(`w-full font-mono`,A),t[23]=A,t[24]=j);let M;t[25]!==f||t[26]!==O||t[27]!==k||t[28]!==j?(M=(0,$.jsx)(ln,{id:`sched-cron`,value:f,onChange:O,placeholder:k,className:j}),t[25]=f,t[26]=O,t[27]=k,t[28]=j,t[29]=M):M=t[29];let N;t[30]!==f||t[31]!==m||t[32]!==a?(N=m&&!m.valid&&f.trim()?(0,$.jsx)(`span`,{className:`typography-micro text-destructive`,children:a(`sessions.scheduledTasks.editor.validation.cronInvalid`)}):null,t[30]=f,t[31]=m,t[32]=a,t[33]=N):N=t[33];let P;t[34]!==T||t[35]!==D||t[36]!==M||t[37]!==N?(P=(0,$.jsxs)(`div`,{"data-settings-value":T,className:D,children:[M,N]}),t[34]=T,t[35]=D,t[36]=M,t[37]=N,t[38]=P):P=t[38];let F;t[39]!==w||t[40]!==P||t[41]!==S?(F=(0,$.jsxs)(`div`,{className:S,children:[w,P]}),t[39]=w,t[40]=P,t[41]=S,t[42]=F):F=t[42];let I;t[43]!==v||t[44]!==u||t[45]!==g||t[46]!==d||t[47]!==a?(I=g.length>0?(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,u&&d),children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a(`sessions.scheduledTasks.editor.cronExpression.nextRuns`)}),(0,$.jsx)(`span`,{"data-settings-value":u?``:void 0,className:Y(`typography-micro text-foreground`,u&&`oc-settings-split-row-control text-right`),children:g.map(v).join(`, `)})]}):null,t[43]=v,t[44]=u,t[45]=g,t[46]=d,t[47]=a,t[48]=I):I=t[48];let L;t[49]!==u||t[50]!==d?(L=u&&[d,`items-start`],t[49]=u,t[50]=d,t[51]=L):L=t[51];let R;t[52]===L?R=t[53]:(R=Y(`flex flex-col gap-1`,L),t[52]=L,t[53]=R);let z;t[54]===a?z=t[55]:(z=a(`sessions.scheduledTasks.editor.cronExpression.examples`),t[54]=a,t[55]=z);let B;t[56]===z?B=t[57]:(B=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:z}),t[56]=z,t[57]=B);let V=u?``:void 0,ee=u&&`oc-settings-split-row-control justify-end`,H;t[58]===ee?H=t[59]:(H=Y(`flex flex-wrap gap-1.5`,ee),t[58]=ee,t[59]=H);let U;t[60]!==r||t[61]!==a?(U=ad.map(e=>(0,$.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 rounded-md border border-border px-2 py-1 typography-micro text-foreground hover:bg-interactive-hover`,onClick:()=>r(t=>({...t,schedule:{...t.schedule,cronExpression:e.expression}})),children:[(0,$.jsx)(`span`,{className:`font-mono`,children:e.expression}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:a(e.labelKey)})]},e.expression)),t[60]=r,t[61]=a,t[62]=U):U=t[62];let W;t[63]!==V||t[64]!==H||t[65]!==U?(W=(0,$.jsx)(`div`,{"data-settings-value":V,className:H,children:U}),t[63]=V,t[64]=H,t[65]=U,t[66]=W):W=t[66];let te;t[67]!==R||t[68]!==B||t[69]!==W?(te=(0,$.jsxs)(`div`,{className:R,children:[B,W]}),t[67]=R,t[68]=B,t[69]=W,t[70]=te):te=t[70];let G;return t[71]!==F||t[72]!==I||t[73]!==te||t[74]!==b?(G=(0,$.jsxs)(`div`,{className:b,children:[F,I,te]}),t[71]=F,t[72]=I,t[73]=te,t[74]=b,t[75]=G):G=t[75],G};function zd(e){let{open:t,task:n,onOpenChange:r,onSave:i,presentation:a=`dialog`,onDirtyChange:o,onRun:s,onOpenTaskHistory:c,onDelete:l,onToggleEnabled:u,actionBusy:d=!1,projectID:f=``,projectOptions:p=[],onProjectChange:m}=e,h=a===`panel`,g=a===`mobile-panel`,_=a===`mobile-tab`,v=g||_,y=g||_,b=h||v,x=v?ud:cd,S=v?dd:ld,{t:C,locale:w}=fe(),T=lt(e=>e.loadProviders),E=lt(e=>e.loadAgents),D=lt(e=>e.providers),O=lt(e=>e.currentProviderId),k=lt(e=>e.currentModelId),A=lt(e=>e.currentVariant||``),j=lt(e=>e.currentAgentName||``),M=P(e=>e.timeFormatPreference),N=P(e=>e.weekStartPreference),F=P(e=>e.isMobile),[I,L]=Q.useState(()=>Fd(n,{providerID:O,modelID:k,variant:A,agent:j})),[R,z]=Q.useState(!1),[B,V]=Q.useState(!1),[ee,H]=Q.useState(!1),[U,W]=Q.useState(``),[te,G]=Q.useState(!1),[K,ne]=Q.useState(``),[re,ie]=Q.useState(()=>{let e=pd(n?.schedule?.date||``)||new Date;return new Date(e.getFullYear(),e.getMonth(),1)}),q=Q.useRef(null),ae=Q.useRef(null),J=Q.useRef(null),oe=Q.useRef(null),se=Q.useRef(``),ce=Q.useRef(void 0),le=Q.useRef(n);le.current=n;let ue=n?.id||null,de=Q.useMemo(()=>Ed(w),[w]),pe=Q.useMemo(()=>Td(w),[w]),me=Q.useMemo(()=>M===`24h`||M!==`12h`&&de,[M,de]),he=Q.useMemo(()=>N===`sunday`?0:N===`monday`?1:pe,[N,pe]),ge=Q.useMemo(()=>{let e=Dd(w);return Od(od.map(t=>({value:t,label:e[t]||``})),he)},[w,he]);Q.useEffect(()=>{t&&(T({source:`scheduledTaskEditor`}),E({source:`scheduledTaskEditor`}))},[t,T,E]),Q.useEffect(()=>{if(!t){ce.current=void 0;return}if(ce.current===ue)return;ce.current=ue;let e=le.current,n=Fd(e,{providerID:O,modelID:k,variant:A,agent:j});se.current=JSON.stringify(n),L(n),o?.(!1);let r=pd(e?.schedule?.date||``)||new Date;ie(new Date(r.getFullYear(),r.getMonth(),1)),V(!1),G(!1),H(!1),ne(``),W(``)},[t,ue,O,k,A,j,o]),Q.useEffect(()=>{if(!(!t||!n||I.id!==n.id||I.enabled===n.enabled)&&(L(e=>({...e,enabled:n.enabled})),se.current)){let e=JSON.parse(se.current);se.current=JSON.stringify({...e,enabled:n.enabled})}},[I.enabled,I.id,t,n]),Q.useEffect(()=>{!t||!se.current||o?.(JSON.stringify(I)!==se.current)},[I,o,t]),Q.useEffect(()=>{if(!B)return;let e=e=>{q.current&&!q.current.contains(e.target)&&V(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[B]);let _e=Q.useMemo(()=>D.find(e=>e.id===I.execution.providerID)?.models?.find(e=>e.id===I.execution.modelID),[I.execution.modelID,I.execution.providerID,D]),ve=Q.useMemo(()=>_e?.variants?Object.keys(_e.variants):[],[_e]);Q.useEffect(()=>{!_e||!I.execution.variant||ve.includes(I.execution.variant)||L(e=>({...e,execution:{...e.execution,variant:``}}))},[ve,I.execution.variant,_e]);let ye=Q.useCallback((e,t)=>{L(n=>{let r=new Set(n.schedule.weekdays);return t?r.add(e):r.delete(e),{...n,schedule:{...n.schedule,weekdays:Array.from(r).sort((e,t)=>e-t)}}})},[]),be=Q.useCallback((e,t)=>{L(n=>{let r=n.schedule.times.slice();return r[e]=t,{...n,schedule:{...n.schedule,times:r}}})},[]),xe=Q.useCallback(e=>{L(t=>{let n=t.schedule.times.filter((t,n)=>n!==e);return{...t,schedule:{...t.schedule,times:n.length>0?n:[`09:00`]}}})},[]),Se=Q.useCallback(()=>{L(e=>({...e,schedule:{...e.schedule,times:[...e.schedule.times,`12:00`]}}))},[]),Ce=Q.useMemo(()=>Md(),[]),Te=Q.useMemo(()=>jd(Ce),[Ce]),Ee=Q.useMemo(()=>{let e=pd(I.schedule.onceDate);return e?Nd(e,Ce)?C(`sessions.scheduledTasks.editor.date.today`):new Intl.DateTimeFormat(w,{weekday:`short`}).format(e):null},[I.schedule.onceDate,w,C,Ce]),De=Q.useMemo(()=>jd(re).getTime()<=Te.getTime(),[re,Te]),Oe=Q.useMemo(()=>ge.map(e=>e.label),[ge]),ke=Q.useCallback(e=>{L(t=>({...t,schedule:{...t.schedule,onceDate:e}}))},[]),Ae=Q.useCallback((e,t)=>{if(e.startsWith(`/`)){let n=e.indexOf(` `),r=e.indexOf(`
|
|
147
147
|
`),i=Math.min(n===-1?e.length:n,r===-1?e.length:r);if(t<=i&&n===-1){ne(e.substring(1,i)),G(!0),H(!1);return}}G(!1);let n=e.substring(0,t),r=n.lastIndexOf(`@`);if(r!==-1){let e=r>0?n[r-1]:null,t=n.substring(r+1);(!e||/\s/.test(e))&&!t.includes(` `)&&!t.includes(`
|
|
148
|
-
`)?(W(t),H(!0)):H(!1);return}H(!1)},[]),je=Q.useCallback(e=>{L(t=>({...t,execution:{...t.execution,prompt:e}}))},[]),Me=Q.useCallback(e=>{let t=I.execution.prompt,n=ae.current?.selectionStart??t.length,r=t.substring(0,n).lastIndexOf(`@`),i=e.relativePath&&e.relativePath.trim().length>0?e.relativePath.trim():e.path||e.name,a=$n(t,r===-1?n:r,n,`@${i}`);je(a.text),H(!1),W(``),requestAnimationFrame(()=>{let e=ae.current;e&&(e.selectionStart=a.caret,e.selectionEnd=a.caret,e.focus()),Ae(a.text,a.caret)})},[I.execution.prompt,je,Ae]),Ne=Q.useCallback(e=>{let t=I.execution.prompt,n=ae.current?.selectionStart??t.length,r=t.substring(0,n).lastIndexOf(`@`),i=$n(t,r===-1?n:r,n,`@${e}`);je(i.text),H(!1),W(``),requestAnimationFrame(()=>{let e=ae.current;e&&(e.selectionStart=i.caret,e.selectionEnd=i.caret,e.focus()),Ae(i.text,i.caret)})},[I.execution.prompt,je,Ae]),Pe=Q.useCallback(e=>{let t=`/${e.name} `;je(t),G(!1),ne(``),requestAnimationFrame(()=>{let e=ae.current;e&&(e.focus(),e.selectionStart=e.value.length,e.selectionEnd=e.value.length),Ae(t,t.length)})},[je,Ae]),Fe=Q.useCallback(e=>{if(te&&oe.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)){e.preventDefault(),oe.current.handleKeyDown(e.key);return}ee&&J.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)&&(e.preventDefault(),J.current.handleKeyDown(e.key))},[te,ee]),Ie=Q.useCallback(async()=>{let e=Id(I,C);if(e){Je.error(e);return}let t={...I.id?{id:I.id}:{},name:I.name.trim(),enabled:I.enabled,schedule:{kind:I.schedule.kind,timezone:I.schedule.timezone.trim(),...I.schedule.kind===`cron`?{cron:I.schedule.cronExpression.trim()}:I.schedule.kind===`once`?{date:I.schedule.onceDate,time:I.schedule.onceTime}:{times:Ld(I.schedule.times),...I.schedule.kind===`weekly`?{weekdays:I.schedule.weekdays}:{}}},execution:{prompt:I.execution.prompt,providerID:I.execution.providerID,modelID:I.execution.modelID,...I.execution.variant.trim()?{variant:I.execution.variant.trim()}:{},...I.execution.agent.trim()?{agent:I.execution.agent.trim()}:{},...I.execution.goalEnabled?{goalEnabled:!0}:{},...I.execution.goalEnabled&&I.execution.goalTokenBudget?{goalTokenBudget:I.execution.goalTokenBudget}:{}},...I.state?{state:I.state}:{}};z(!0);try{let e=await i(t);if(a===`panel`){let t=Fd(e||n,{providerID:O,modelID:k,variant:A,agent:j});se.current=JSON.stringify(t),L(t),o?.(!1)}else r(!1)}catch(e){Je.error(e instanceof Error?e.message:C(`sessions.scheduledTasks.editor.toast.saveFailed`))}finally{z(!1)}},[j,k,O,A,I,o,r,i,a,C,n]),Le=Q.useId(),Re=Q.useCallback(()=>typeof document>`u`?!1:!!document.querySelector(`[data-slot="dropdown-menu-content"], [data-slot="select-content"]`),[]),ze=C(n?`sessions.scheduledTasks.editor.title.edit`:`sessions.scheduledTasks.editor.title.new`),Be=C(`sessions.scheduledTasks.editor.description`),Ve=(0,$.jsxs)(`div`,{className:Y(`oc-settings-workspace oc-settings-page-content oc-scheduled-task-form`,F?`oc-settings-workspace-mobile`:`oc-settings-workspace-desktop`),children:[(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,(h||_)&&`hidden`),children:[(0,$.jsx)(kd,{htmlFor:`sched-name`,required:!0,children:C(`sessions.scheduledTasks.editor.taskName.label`)}),(0,$.jsx)(ln,{id:`sched-name`,value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),maxLength:80,className:`w-full`})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-3 border-t border-border/40 pt-5`,b&&`oc-settings-group order-4 animate-in fade-in slide-in-from-right-1 border-0 pt-0 duration-200 [animation-delay:80ms] [animation-fill-mode:both] motion-reduce:animate-none`),children:[b?(0,$.jsx)(`h3`,{className:td,children:C(`sessions.scheduledTasks.editor.panel.frequency`)}):null,(0,$.jsxs)(`div`,{className:Y(b&&`oc-settings-group-card`,b&&I.schedule.kind===`once`&&B&&`overflow-visible`),children:[(0,$.jsx)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&[S,`last:border-b`]),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.scheduleType.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsxs)(tn,{value:I.schedule.kind,onValueChange:e=>{L(t=>({...t,schedule:{...t.schedule,kind:e,...e===`cron`&&!t.schedule.cronExpression?{cronExpression:`0 * * * *`}:{}}}))},children:[(0,$.jsx)(Yt,{className:Y(!b&&sd,b&&x),children:(0,$.jsx)(cn,{children:e=>C(e===`daily`?`sessions.scheduledTasks.editor.scheduleType.daily`:e===`weekly`?`sessions.scheduledTasks.editor.scheduleType.weekly`:e===`cron`?`sessions.scheduledTasks.editor.scheduleType.cron`:`sessions.scheduledTasks.editor.scheduleType.once`)})}),(0,$.jsxs)(Qt,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(qt,{value:`daily`,children:C(`sessions.scheduledTasks.editor.scheduleType.daily`)}),(0,$.jsx)(qt,{value:`weekly`,children:C(`sessions.scheduledTasks.editor.scheduleType.weekly`)}),(0,$.jsx)(qt,{value:`once`,children:C(`sessions.scheduledTasks.editor.scheduleType.once`)}),(0,$.jsx)(qt,{value:`cron`,children:C(`sessions.scheduledTasks.editor.scheduleType.cron`)})]})]})})]})}),I.schedule.kind===`cron`?(0,$.jsx)(Rd,{draft:I,setDraft:L,locale:w,t:C,panel:h,mobilePanel:v}):I.schedule.kind===`once`?(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:[(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),ref:q,children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.date.label`)}),(0,$.jsxs)(`div`,{"data-settings-value":b?``:void 0,className:Y(`relative`,b&&`oc-settings-split-row-control`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(!b&&sd,`flex items-center justify-between gap-2 text-left`,b&&[x,`w-full`]),onClick:()=>V(e=>!e),children:[(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(Z,{name:`calendar`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:hd(I.schedule.onceDate,C(`sessions.scheduledTasks.editor.date.placeholder`),w)})]}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 shrink-0 text-muted-foreground`})]}),B?(0,$.jsxs)(`div`,{className:Y(`absolute top-[calc(100%+6px)] z-50 w-[min(288px,calc(100vw-2rem))] animate-in fade-in zoom-in-95 slide-in-from-top-1 rounded-xl border border-border bg-background p-3 shadow-sm duration-150 motion-reduce:animate-none`,v?`right-0`:`left-0`),children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-interactive-hover disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>ie(e=>gd(e,-1)),"aria-label":C(`sessions.scheduledTasks.editor.date.previousMonth`),disabled:De,children:(0,$.jsx)(Z,{name:`arrow-left-s`,className:`h-4 w-4`})}),(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:new Intl.DateTimeFormat(w,{month:`long`,year:`numeric`}).format(re)}),(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-interactive-hover`,onClick:()=>ie(e=>gd(e,1)),"aria-label":C(`sessions.scheduledTasks.editor.date.nextMonth`),children:(0,$.jsx)(Z,{name:`arrow-right-s`,className:`h-4 w-4`})})]}),(0,$.jsx)(`div`,{className:`mb-1 grid grid-cols-7 gap-1 px-1`,children:Oe.map((e,t)=>(0,$.jsx)(`div`,{className:`py-1 text-center typography-micro text-muted-foreground`,children:e},`${e}-${t}`))}),(0,$.jsx)(`div`,{className:`grid grid-cols-7 gap-1`,children:_d(re,he).map(({date:e,inCurrentMonth:t})=>{let n=md(e),r=n===I.schedule.onceDate,i=Nd(e,Ce),a=e.getTime()<Ce.getTime();return(0,$.jsx)(`button`,{type:`button`,onClick:()=>{a||(ke(n),V(!1))},disabled:a,className:[`h-8 rounded-md typography-ui-label`,r?`bg-interactive-selection text-interactive-selection-foreground`:a?`text-muted-foreground/40`:t?`text-foreground hover:bg-interactive-hover`:`text-muted-foreground/60 hover:bg-interactive-hover`,i&&!r?`ring-1 ring-inset ring-interactive-focusRing bg-interactive-hover/50`:``,a?`cursor-not-allowed opacity-45`:``].join(` `),children:e.getDate()},n)})}),(0,$.jsxs)(`div`,{className:`mt-2 flex items-center justify-between border-t border-border pt-2`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:Ee||``}),(0,$.jsx)(X,{type:`button`,size:`xs`,variant:`ghost`,onClick:()=>{ke(md(Ce)),ie(new Date(Ce.getFullYear(),Ce.getMonth(),1))},children:C(`sessions.scheduledTasks.editor.date.jumpToToday`)})]})]}):null]})]}),(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.time.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsx)(Ad,{value:I.schedule.onceTime,className:Y(b&&`oc-settings-inline-value w-fit min-w-0 justify-end`),use24Hour:me,hourAriaLabel:C(`sessions.scheduledTasks.editor.time.hourAria`),minuteAriaLabel:C(`sessions.scheduledTasks.editor.time.minuteAria`),periodAriaLabel:C(`sessions.scheduledTasks.editor.time.periodAria`),amLabel:C(`sessions.scheduledTasks.editor.time.period.am`),pmLabel:C(`sessions.scheduledTasks.editor.time.period.pm`),onChange:e=>L(t=>({...t,schedule:{...t.schedule,onceTime:e}}))})})]})]}):(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:[I.schedule.kind===`weekly`?(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,b&&[`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,`oc-settings-split-row`],!F&&!b&&`sm:col-span-2`),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.weekdays.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(`flex flex-wrap gap-x-3 gap-y-2`,b&&`oc-settings-split-row-control justify-end`),children:ge.map(e=>{let t=I.schedule.weekdays.includes(e.value);return(0,$.jsxs)(`div`,{className:[`group inline-flex items-center gap-1.5 px-0.5 py-0.5 typography-meta`,t?`text-foreground`:`text-muted-foreground`].join(` `),children:[(0,$.jsx)(Kt,{checked:t,onChange:t=>ye(e.value,t),ariaLabel:e.label}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>ye(e.value,!t),className:`group-hover:text-foreground`,children:e.label})]},e.value)})})]}):null,(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-2`,b&&[S,`justify-start`],v&&`flex-col items-stretch`),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.times.label`)}),(0,$.jsxs)(`div`,{"data-settings-value":b?``:void 0,className:Y(b?`oc-settings-split-row-control relative flex-wrap justify-end`:`contents`),children:[(0,$.jsx)(`div`,{className:Y(`flex flex-col gap-2`,b&&`flex-row flex-wrap justify-end transition-[padding] motion-reduce:transition-none`,h&&`group-hover:pr-8`),children:I.schedule.times.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(Ad,{value:e,className:Y(b&&`oc-settings-inline-value w-fit min-w-0`),use24Hour:me,hourAriaLabel:C(`sessions.scheduledTasks.editor.time.hourAria`),minuteAriaLabel:C(`sessions.scheduledTasks.editor.time.minuteAria`),periodAriaLabel:C(`sessions.scheduledTasks.editor.time.periodAria`),amLabel:C(`sessions.scheduledTasks.editor.time.period.am`),pmLabel:C(`sessions.scheduledTasks.editor.time.period.pm`),onChange:e=>be(t,e)}),I.schedule.times.length>1?(0,$.jsx)(X,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>xe(t),"aria-label":C(`sessions.scheduledTasks.editor.times.removeAria`),children:(0,$.jsx)(Z,{name:`close`,className:`h-4 w-4`})}):null]},t))}),(0,$.jsx)(`div`,{className:Y(b&&`shrink-0`,h&&`absolute right-0`),children:(0,$.jsxs)(X,{type:`button`,size:b?`icon`:`sm`,variant:b?`ghost`:`outline`,className:Y(`h-9`,h&&`size-7 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 motion-reduce:transition-none`,v&&`size-9`),onClick:Se,"aria-label":C(`sessions.scheduledTasks.editor.times.add`),children:[(0,$.jsx)(Z,{name:`add`,className:Y(`h-4 w-4`,!b&&`mr-1`)}),b?null:C(`sessions.scheduledTasks.editor.times.add`)]})})]})]})]})]})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-3 border-t border-border/40 pt-5`,b&&`contents`),children:[(0,$.jsxs)(`div`,{className:Y(b?`oc-settings-group order-2`:`contents`),children:[b?(0,$.jsx)(`h3`,{className:td,children:C(`sessions.scheduledTasks.editor.panel.details`)}):null,(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&[`flex flex-col gap-0 animate-in fade-in slide-in-from-right-1 duration-200 [animation-delay:40ms] [animation-fill-mode:both] motion-reduce:animate-none`,`oc-settings-group-card`],!F&&!b&&`sm:grid-cols-2`),children:[p.length>0?(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.dialog.project.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsxs)(tn,{value:f,disabled:!m,onValueChange:m,children:[(0,$.jsx)(Yt,{className:Y(!b&&sd,b&&x),children:(0,$.jsx)(cn,{children:e=>p.find(t=>t.id===e)?.label})}),(0,$.jsx)(Qt,{className:`motion-reduce:transition-none`,children:p.map(e=>(0,$.jsx)(qt,{value:e.id,children:e.label},e.id))})]})})]}):null,(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(kd,{required:!0,children:C(`sessions.scheduledTasks.editor.model.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsx)(hn,{providerId:I.execution.providerID,modelId:I.execution.modelID,variant:I.execution.variant,className:Y(!b&&sd,b&&x,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),showIcon:!h,onChange:(e,t,n=``)=>{L(r=>({...r,execution:{...r.execution,providerID:e,modelID:t,variant:n}}))}})})]}),b?(0,$.jsxs)(`div`,{className:S,children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.agent.label`)}),(0,$.jsx)(`div`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(On,{agentName:I.execution.agent,className:Y(x,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),showIcon:!0,filter:e=>st(e.mode),onChange:e=>L(t=>({...t,execution:{...t.execution,agent:e}}))})})]}):null,b?(0,$.jsxs)(`label`,{className:Y(S,`cursor-pointer`),children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:C(`sessions.scheduledTasks.editor.goal.label`)}),(0,$.jsx)(`span`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(Kt,{checked:I.execution.goalEnabled,onChange:e=>L(t=>({...t,execution:{...t.execution,goalEnabled:e}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.aria`)})})]}):null]})]}),b?null:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.agent.label`)}),(0,$.jsx)(On,{agentName:I.execution.agent,className:Y(sd,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),filter:e=>st(e.mode),onChange:e=>L(t=>({...t,execution:{...t.execution,agent:e}}))})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,b&&`order-1`),children:[(0,$.jsx)(`div`,{className:Y(b&&`sr-only`),children:(0,$.jsx)(kd,{htmlFor:`sched-prompt`,required:!0,children:C(`sessions.scheduledTasks.editor.prompt.label`)})}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Gn,{id:`sched-prompt`,ref:ae,value:I.execution.prompt,onChange:e=>{let t=e.target.value;je(t);let n=e.target.selectionStart??t.length;Ae(t,n)},onKeyDown:Fe,rows:b?4:8,simple:b,placeholder:C(`sessions.scheduledTasks.editor.prompt.placeholder`),className:Y(`typography-meta min-h-[120px] max-h-[300px] resize-none overflow-y-auto`,b&&`!h-32 !min-h-32 !max-h-32 rounded-2xl border border-border/60 bg-[var(--surface-elevated)] px-4 py-4 text-base shadow-none ring-0 placeholder:text-muted-foreground/65 focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`)}),te?(0,$.jsx)(tr,{ref:oe,searchQuery:K,onCommandSelect:Pe,onClose:()=>G(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,ee?(0,$.jsx)(Yn,{ref:J,searchQuery:U,onFileSelect:Me,onAgentSelect:Ne,onSkillSelect:e=>Ne(e.name),onClose:()=>H(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null]})]}),b?null:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-8 gap-y-2`,children:[(0,$.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-2`,children:[(0,$.jsx)(Kt,{checked:I.execution.goalEnabled,onChange:e=>L(t=>({...t,execution:{...t.execution,goalEnabled:e}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.aria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.goal.label`)})]}),I.execution.goalEnabled?(0,$.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-2`,children:[(0,$.jsx)(Kt,{checked:I.execution.goalTokenBudget!==null,onChange:e=>L(t=>({...t,execution:{...t.execution,goalTokenBudget:e?2e5:null}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.budgetAria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.goal.budgetLabel`)})]}):null,I.execution.goalEnabled&&I.execution.goalTokenBudget!==null?(0,$.jsx)(Mr,{value:I.execution.goalTokenBudget,onValueChange:e=>{typeof e==`number`&&Number.isFinite(e)&&e>0&&L(t=>({...t,execution:{...t.execution,goalTokenBudget:Math.floor(e)}}))},min:1e3,max:1e8,step:5e4}):null]})]})]}),He=(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-between gap-3`,a===`panel`&&`justify-end`,y&&`flex-nowrap gap-2`),children:[(0,$.jsxs)(`label`,{className:Y(`inline-flex items-center gap-2`,a===`panel`&&`hidden`),children:[(0,$.jsx)(Kt,{checked:I.enabled,onChange:e=>L(t=>({...t,enabled:e})),ariaLabel:C(`sessions.scheduledTasks.editor.enabled.aria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.enabled.label`)})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-end gap-2`,y&&`ml-auto flex-nowrap`),children:[a!==`panel`&&!y?(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>r(!1),disabled:R,children:C(`sessions.scheduledTasks.editor.actions.cancel`)}):null,(0,$.jsx)(X,{type:`button`,size:`sm`,className:Y(a===`panel`&&`rounded-lg`,y&&`min-h-11 px-5`),onClick:Ie,disabled:R,children:C(R?`sessions.scheduledTasks.editor.actions.saving`:n?`sessions.scheduledTasks.editor.actions.save`:`sessions.scheduledTasks.dialog.actions.create`)})]})]}),Ue=!!(n&&c),We=n&&l&&s?(0,$.jsxs)(En,{children:[(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsx)(X,{type:`button`,variant:_?`mobileGlass`:`ghost`,size:_?`mobileIcon`:`icon`,className:Y(!_&&`rounded-lg`,!_&&(F?`size-11`:`size-8`)),disabled:R||d,"aria-label":C(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:n.name}),children:(0,$.jsx)(Z,{name:`more-2`,className:_?`size-5`:`size-4`})})}),(0,$.jsxs)(Sn,{align:`end`,className:`min-w-40 motion-reduce:transition-none`,children:[(0,$.jsxs)(vn,{className:Y(_&&`min-h-11`),onSelect:()=>void s(n),children:[(0,$.jsx)(Z,{name:`play`,className:`size-4`}),C(`sessions.scheduledTasks.dialog.actions.runNow`)]}),Ue?(0,$.jsxs)(vn,{className:Y(_&&`min-h-11`),onSelect:()=>c?.(n),children:[(0,$.jsx)(Z,{name:`history`,className:`size-4`}),C(`sessions.scheduledTasks.workspace.views.history`)]}):null,u?(0,$.jsxs)(vn,{className:Y(_&&`min-h-11`),onSelect:()=>void u(n,!n.enabled),children:[(0,$.jsx)(Z,{name:n.enabled?`pause`:`play`,className:`size-4`}),n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.pauseAria`,{taskName:n.name}):C(`sessions.scheduledTasks.dialog.taskToggle.enableAria`,{taskName:n.name})]}):null,(0,$.jsxs)(vn,{variant:`destructive`,className:Y(_&&`min-h-11`),onSelect:()=>void l(n),children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),C(`sessions.scheduledTasks.dialog.actions.delete`)]})]})]}):null;return a===`panel`?t?(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-labelledby":`scheduled-task-panel-title`,children:[(0,$.jsxs)(`header`,{className:`shrink-0 animate-in fade-in slide-in-from-right-1 px-6 pb-4 pt-5 duration-200 motion-reduce:animate-none`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:Y(`typography-meta font-medium`,n?.enabled?`text-[var(--status-info)]`:`text-muted-foreground`),children:n?n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.enabled`):C(`sessions.scheduledTasks.dialog.taskToggle.paused`):ze}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[We,n&&u?(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`rounded-lg`,F?`size-11`:`size-8`),disabled:R||d,onClick:()=>void u(n,!n.enabled),"aria-label":n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.pauseAria`,{taskName:n.name}):C(`sessions.scheduledTasks.dialog.taskToggle.enableAria`,{taskName:n.name}),children:(0,$.jsx)(Z,{name:n.enabled?`pause`:`play`,className:`size-4`})}):null,(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`rounded-lg`,F?`size-11`:`size-8`),onClick:()=>r(!1),"aria-label":C(`sessions.scheduledTasks.editor.actions.cancel`),children:(0,$.jsx)(Z,{name:F?`arrow-left`:`close`,className:`size-4`})})]})]}),(0,$.jsx)(`h2`,{id:`scheduled-task-panel-title`,className:`sr-only`,children:ze}),(0,$.jsx)(ln,{value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),"aria-label":C(`sessions.scheduledTasks.editor.taskName.label`),maxLength:80,className:`mt-1 !h-9 !min-h-9 border-0 bg-transparent px-0 text-lg font-semibold shadow-none ring-0 hover:!bg-transparent focus:!bg-transparent focus:ring-0`})]}),(0,$.jsx)(Wn,{className:`min-h-0 flex-1 overflow-auto [scrollbar-gutter:stable]`,size:64,hideTopShadow:!0,children:(0,$.jsx)(`div`,{className:`px-6 pb-6 pt-2`,children:Ve})}),(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-border/50 bg-background/95 px-6 py-3 backdrop-blur-sm`,children:He})]}):null:a===`mobile-panel`?t?(0,$.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col bg-background`,"aria-label":ze,children:[(0,$.jsx)(Wn,{className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden`,size:48,hideTopShadow:!0,children:(0,$.jsx)(`div`,{className:`w-full px-3 pb-6 pt-4`,children:Ve})}),(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-border/50 bg-background/95 px-3 py-2 backdrop-blur-sm`,children:He})]}):null:a===`mobile-tab`?t?(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-label":ze,children:[(0,$.jsx)(we,{sticky:!0,title:ze,backAriaLabel:C(`header.actions.backAria`),onBack:()=>r(!1),backDisabled:R,trailing:[(0,$.jsx)(X,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,className:`text-primary`,onClick:Ie,disabled:R,"aria-label":C(R?`sessions.scheduledTasks.editor.actions.saving`:n?`sessions.scheduledTasks.editor.actions.save`:`sessions.scheduledTasks.dialog.actions.create`),"aria-busy":R,children:(0,$.jsx)(Z,{name:R?`loader-4`:`check`,className:Y(`size-5`,R&&`animate-spin motion-reduce:animate-none`)})},`save`),We?(0,$.jsx)(Q.Fragment,{children:We},`more`):null]}),(0,$.jsxs)(`div`,{className:`oc-mobile-scheduled-editor-body min-h-0 flex-1 overflow-y-auto overflow-x-hidden px-[var(--oc-mobile-page-inline-inset)] pt-4`,children:[(0,$.jsxs)(`div`,{className:`mb-5 flex items-center gap-4`,children:[(0,$.jsx)(ln,{value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),"aria-label":C(`sessions.scheduledTasks.editor.taskName.label`),maxLength:80,className:`oc-mobile-detail-editor-title min-w-0 flex-1 !h-auto min-h-0 border-0 bg-transparent px-0 py-0 text-xl font-semibold shadow-none ring-0 hover:!bg-transparent focus:!bg-transparent focus:ring-0`}),(0,$.jsx)(ai,{checked:I.enabled,onCheckedChange:e=>L(t=>({...t,enabled:e})),disabled:R,"aria-label":C(`sessions.scheduledTasks.editor.enabled.aria`)})]}),Ve]})]}):null:F?(0,$.jsx)(Tn,{open:t,title:ze,onClose:()=>r(!1),contentMaxHeightClassName:`max-h-[min(80vh,640px)]`,renderHeader:e=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-border/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:ze}),e]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:Be})]}),footer:He,children:Ve}):(0,$.jsx)(bt,{open:t,onOpenChange:e=>{!e&&Re()||r(e)},children:(0,$.jsxs)(_t,{"aria-describedby":Le,className:`!max-w-[720px] w-[90vw] h-[680px] max-h-[85vh] gap-0 p-0 overflow-hidden`,children:[(0,$.jsx)(yt,{id:Le,className:`sr-only`,children:Be}),(0,$.jsx)(`header`,{className:`shrink-0 px-4 sm:px-6 pt-5 pb-3`,children:(0,$.jsxs)(`div`,{className:`mx-auto w-full max-w-2xl`,children:[(0,$.jsx)(vt,{className:`typography-ui-label font-medium text-foreground`,children:ze}),(0,$.jsx)(`p`,{className:`typography-meta mt-0.5 text-muted-foreground`,children:Be})]})}),(0,$.jsx)(Wn,{className:`flex-1 min-h-0 overflow-auto [scrollbar-gutter:stable_both-edges]`,size:64,hideTopShadow:!0,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-2xl px-4 sm:px-6 pb-5`,children:Ve})}),(0,$.jsx)(`div`,{className:`shrink-0 px-4 sm:px-6 py-3`,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-2xl`,children:He})})]})})}function Bd(e){return bd(e,{min:0,max:23})}function Vd(e,t){return bd(String(Number.parseInt(e,10)+t),{min:0,max:23,loop:!0})}function Hd(e,t){let n=Number(e),r=Number(t),i=Number.isFinite(n)?Math.min(23,Math.max(0,n)):0,a=Number.isFinite(r)?Math.min(59,Math.max(0,r)):0;return`${String(i).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`}var Ud=e=>{let t=(Array.isArray(e.schedule.times)?e.schedule.times:e.schedule.time?[e.schedule.time]:[]).filter(e=>typeof e==`string`&&/^([01]\d|2[0-3]):([0-5]\d)$/.test(e));return Array.from(new Set(t)).sort((e,t)=>e.localeCompare(t))},Wd=(e,t,n=!0)=>{let r=Ud(e).join(`, `)||`--:--`,i=e=>t(e===0?`sessions.scheduledTasks.dialog.schedule.weekdayShort.sun`:e===1?`sessions.scheduledTasks.dialog.schedule.weekdayShort.mon`:e===2?`sessions.scheduledTasks.dialog.schedule.weekdayShort.tue`:e===3?`sessions.scheduledTasks.dialog.schedule.weekdayShort.wed`:e===4?`sessions.scheduledTasks.dialog.schedule.weekdayShort.thu`:e===5?`sessions.scheduledTasks.dialog.schedule.weekdayShort.fri`:e===6?`sessions.scheduledTasks.dialog.schedule.weekdayShort.sat`:`sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown`);if(e.schedule.kind===`daily`)return n&&e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.dailyWithTimezone`,{time:r,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.daily`,{time:r});if(e.schedule.kind===`weekly`){let a=Array.isArray(e.schedule.weekdays)?e.schedule.weekdays.map(e=>i(e)).join(`, `):``;return n&&e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone`,{days:a,time:r,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.weekly`,{days:a,time:r})}if(e.schedule.kind===`once`){let r=typeof e.schedule.date==`string`&&e.schedule.date.trim().length>0?e.schedule.date:t(`sessions.scheduledTasks.dialog.schedule.unknownDate`),i=typeof e.schedule.time==`string`&&e.schedule.time.trim().length>0?e.schedule.time:`--:--`;return n&&e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.onceWithTimezone`,{date:r,time:i,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.once`,{date:r,time:i})}return n&&e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.cronWithTimezone`,{cron:e.schedule.cron||``,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.cron`,{cron:e.schedule.cron||``})},Gd=(e,t)=>{if(!e||!Number.isFinite(e))return``;let n=e-Date.now(),r=Math.abs(n),i=6e4,a=60*i,o=24*a,s=n>=0;if(r<i)return t(s?`sessions.scheduledTasks.dialog.relativeTime.inLessThanOneMinute`:`sessions.scheduledTasks.dialog.relativeTime.justNow`);if(r<a){let e=Math.round(r/i);return t(s?`sessions.scheduledTasks.dialog.relativeTime.inMinutes`:`sessions.scheduledTasks.dialog.relativeTime.minutesAgo`,{count:e})}if(r<o){let e=Math.floor(r/a),n=Math.round(r%a/i),o=n>0?`${e}h ${n}m`:`${e}h`;return t(s?`sessions.scheduledTasks.dialog.relativeTime.inDuration`:`sessions.scheduledTasks.dialog.relativeTime.durationAgo`,{duration:o})}let c=Math.floor(r/o),l=Math.round(r%o/a),u=l>0?`${c}d ${l}h`:`${c}d`;return t(s?`sessions.scheduledTasks.dialog.relativeTime.inDuration`:`sessions.scheduledTasks.dialog.relativeTime.durationAgo`,{duration:u})},Kd=e=>new Intl.DateTimeFormat(he(),{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)),qd=(e,t)=>{if(e.status===`running`)return Math.max(0,t-e.startedAt);if(typeof e.finishedAt==`number`&&Number.isFinite(e.finishedAt)){let t=Math.max(0,e.finishedAt-e.startedAt);return typeof e.durationMs==`number`&&Number.isFinite(e.durationMs)&&e.durationMs>=0?Math.max(e.durationMs,t):t}return typeof e.durationMs==`number`&&Number.isFinite(e.durationMs)&&e.durationMs>=0?e.durationMs:null},Jd=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;if(e<1e3)return`<1s`;let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r>0?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a>0?`${i}h ${a}m`:`${i}h`},Yd={success:{tone:`success`,Icon:`checkbox-circle`},error:{tone:`error`,Icon:`error-warning`},running:{tone:`warning`,Icon:`loader-4`,spin:!0},idle:{tone:`muted`,Icon:`pulse`}},Xd=e=>e===`muted`?{}:{color:`var(--status-${e})`,backgroundColor:`var(--status-${e}-background)`,borderColor:`var(--status-${e}-border)`},Zd=({projectId:e,taskId:t})=>`${e}:${t}`,Qd=p.scoped(`scheduled-tasks`),$d=p.scoped(`scheduled-task-runs`),ef=null,tf=()=>ef?ef():(P.getState().setScheduledTasksDialogOpen(!1),!0),nf=(e,t,n)=>({tasks:[...e?.tasks.filter(e=>e.projectId!==t)??[],...n.map(e=>({projectId:t,task:e}))],failedProjectIds:e?.failedProjectIds.filter(e=>e!==t)??[]});function rf(){let e=(0,qr.c)(9),{t}=fe(),n=P(lf),r=P(cf);if(!P(sf))return null;let i;e[0]===t?i=e[1]:(i=t(`sessions.scheduledTasks.dialog.title`),e[0]=t,e[1]=i);let a;e[2]!==n||e[3]!==r?(a=(0,$.jsx)(uf,{presentation:`mobile-panel`,open:n,onOpenChange:r}),e[2]=n,e[3]=r,e[4]=a):a=e[4];let o;return e[5]!==n||e[6]!==i||e[7]!==a?(o=(0,$.jsx)(Tn,{open:n,title:i,onClose:of,className:`h-[min(92dvh,760px)] max-w-none sm:max-w-2xl`,contentMaxHeightClassName:`max-h-none`,renderHeader:af,containedBody:!0,children:a}),e[5]=n,e[6]=i,e[7]=a,e[8]=o):o=e[8],o}function af(){return null}function of(){return tf()}function sf(e){return e.isMobile}function cf(e){return e.setScheduledTasksDialogOpen}function lf(e){return e.isScheduledTasksDialogOpen}function uf({presentation:e=`workspace`,open:t=!0,onOpenChange:n,registerEditorBackHandler:r,onEditorActiveChange:i}={}){let{t:a}=fe(),o=Er(),s=P(e=>e.isMobile),c=P(e=>e.setMainTabGuard),l=at(e=>e.projects),u=at(e=>e.getActiveProject())?.id||l[0]?.id||``,[f,p]=Q.useState(u),[m,h]=Q.useState(null),[g,_]=Q.useState(`closed`),[v,y]=Q.useState(`all`),[b,x]=Q.useState(()=>ou().scheduleView===`history`?`history`:`tasks`),[S,C]=Q.useState(``),[w,T]=Q.useState(!1),E=Q.useRef(!1),D=ce(e=>{E.current=e,T(e)}),[O,k]=Q.useState(null),[A,j]=Q.useState(null),[M,F]=Q.useState(null),[I,L]=Q.useState(null),R=Q.useRef(null),B=Q.useRef(null),H=e===`mobile-tab`,U=e===`mobile-panel`||H;Q.useEffect(()=>{if(H)return i?.(g!==`closed`),()=>i?.(!1)},[g,H,i]),Q.useEffect(()=>{if(!t)return;let e=()=>{let e=ou();if(e.tab===`schedule`||P.getState().activeMainTab===`schedule`){let t=e.scheduleView===`history`?`history`:`tasks`;x(e=>e===t?e:t)}};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[t]),Q.useEffect(()=>{l.some(e=>e.id===f)||p(u)},[f,u,l]);let W=V({queryKey:Qd,enabled:t,refetchOnMount:`always`,queryFn:be,select:e=>({...e,tasks:[...e.tasks].sort((e,t)=>e.task.enabled===t.task.enabled?e.task.name.localeCompare(t.task.name):e.task.enabled?-1:1)})}),te=Q.useMemo(()=>W.data?.tasks??[],[W.data]),G=W.data?.failedProjectIds??[],K=Q.useMemo(()=>m?te.find(({projectId:e,task:t})=>e===m.projectId&&t.id===m.taskId)??null:null,[m,te]),ne=K?.task??null,re=ee({queryKey:[...$d,I?.projectId??``,I?.taskId??``],enabled:t&&b===`history`,initialPageParam:void 0,queryFn:({pageParam:e,signal:t})=>Se({before:e,limit:20,...I?{projectId:I.projectId,taskId:I.taskId}:{}},t),getNextPageParam:e=>e.complete?void 0:e.nextCursor??void 0,refetchOnMount:`always`}),ie=Q.useMemo(()=>{let e=new Set,t=[];for(let n of re.data?.pages??[])for(let r of n.runs)e.has(r.id)||(e.add(r.id),t.push(r));return t},[re.data]),q=Q.useMemo(()=>ie.some(e=>e.status===`running`),[ie]),ae=Q.useMemo(()=>{if(!I)return null;let e=te.find(({projectId:e,task:t})=>e===I.projectId&&t.id===I.taskId);return e?.task.name?e.task.name:ie.find(e=>e.projectId===I.projectId&&e.taskId===I.taskId)?.taskName||I.taskId},[I,ie,te]),[J,oe]=Q.useState(()=>Date.now());Q.useEffect(()=>{if(!t||b!==`history`||!q)return;oe(Date.now());let e=window.setInterval(()=>oe(Date.now()),1e3);return()=>window.clearInterval(e)},[q,t,b]);let se=Q.useMemo(()=>new Map(l.map(e=>[e.id,e])),[l]);Q.useEffect(()=>{W.error&&Je.error(W.error instanceof Error?W.error.message:a(`sessions.scheduledTasks.dialog.toast.loadFailed`))},[W.error,a]),Q.useEffect(()=>{let e=null,t=We(t=>{t.type===`scheduled-task-ran`&&(e&&clearTimeout(e),e=setTimeout(()=>{d.invalidateQueries({queryKey:Qd,exact:!0}),d.invalidateQueries({queryKey:$d})},400))});return()=>{e&&clearTimeout(e),t()}},[]),Q.useEffect(()=>{g===`edit`&&m&&!K&&W.isSuccess&&(h(null),_(`closed`))},[g,K,m,W.isSuccess]);let le=z({mutationFn:({projectID:e,taskDraft:t})=>ye(e,t),onSuccess:(e,{projectID:t})=>{d.setQueryData(Qd,n=>nf(n,t,e))}}),ue=z({mutationFn:({projectID:e,taskID:t})=>xe(e,t),onSuccess:(e,{projectID:t})=>{d.setQueryData(Qd,n=>nf(n,t,e))}}),de=z({mutationFn:({projectID:e,taskID:t})=>Ce(e,t),onSuccess:()=>{d.invalidateQueries({queryKey:Qd,exact:!0}),d.invalidateQueries({queryKey:$d})}}),me=z({mutationFn:({projectID:e,task:t})=>ye(e,t),onMutate:({projectID:e,task:t})=>{let n=d.getQueryData(Qd);return d.setQueryData(Qd,n=>n&&{...n,tasks:n.tasks.map(n=>n.projectId===e&&n.task.id===t.id?{projectId:e,task:t}:n)}),{previousTasks:n}},onSuccess:(e,{projectID:t})=>{d.setQueryData(Qd,n=>nf(n,t,e))},onError:(e,t,n)=>{n?.previousTasks&&d.setQueryData(Qd,n.previousTasks)}}),he=ce(()=>!E.current||window.confirm(a(`sessions.scheduledTasks.workspace.confirm.discardChanges`)));Q.useEffect(()=>{if(!w){c(null);return}let e=e=>e===`schedule`||window.confirm(a(`sessions.scheduledTasks.workspace.confirm.discardChanges`));return c(e),()=>{P.getState().mainTabGuard===e&&c(null)}},[w,c,a]);let ge=ce(e=>{let t={projectId:e.projectId,taskId:e.task.id};(Zd(t)!==(m?Zd(m):``)||g!==`edit`)&&he()&&(h(t),_(`edit`),D(!1))}),_e=ce(()=>{!f||!he()||(h(null),_(`create`),D(!1))}),ve=ce((e,t)=>{let n=P.getState();fu({sessionId:null,tab:`schedule`,isSettingsOpen:n.isSettingsDialogOpen,settingsPath:n.settingsPage,diffFile:null,scheduleView:e,scheduleProjectId:t?.projectId??null,scheduleTaskId:t?.taskId??null})}),we=ce(e=>{b!==e&&(g!==`closed`&&!he()||(h(null),_(`closed`),D(!1),L(null),x(e),ve(e,null)))}),Te=ce((t,r)=>{e===`mobile-panel`&&t&&r&&n?.(!1),Ie(t,r,{phoneShell:!!(U&&!N()),switchToChat:!0})}),Ee=ce(e=>{Te(e.sessionId,e.directory)}),De=ce(e=>{g!==`closed`&&!he()||(h(null),_(`closed`),D(!1),L({projectId:e.projectId,taskId:e.task.id}),x(`history`),ve(`history`,null))}),Oe=ce(()=>{L(null)}),ke=ce(()=>{K&&De(K)}),Ae=ce(async()=>{if(re.data&&re.hasNextPage){await re.fetchNextPage();return}await re.refetch()}),je=ce(e=>{e||!he()||(h(null),_(`closed`),D(!1))}),Me=ce(()=>g===`closed`?(n?.(!1),!0):(je(!1),!0));Q.useEffect(()=>{if(e!==`mobile-panel`||!t)return;ef=Me;let n=()=>Me();return window.addEventListener(`oc:scheduled-tasks-close-request`,n),()=>{ef===Me&&(ef=null),window.removeEventListener(`oc:scheduled-tasks-close-request`,n)}},[e,t]);let Ne=ce(()=>g!==`closed`&&(je(!1),!0));rr({id:`mobile-scheduled-editor`,active:H&&g!==`closed`,onBack:Ne,surfaceRef:R,underlayRef:B}),Q.useEffect(()=>{if(r)return r(Ne),()=>r(null)},[r]);let Pe=ce(async e=>{let t=m?.projectId||f;if(!t)throw Error(a(`sessions.scheduledTasks.dialog.error.chooseProjectFirst`));let n=new Set(te.filter(e=>e.projectId===t).map(e=>e.task.id)),r=await le.mutateAsync({projectID:t,taskDraft:e}),i=e.id?r.find(t=>t.id===e.id):r.find(e=>!n.has(e.id)),o=[...r].filter(t=>t.name===e.name).sort((e,t)=>(t.state?.updatedAt||0)-(e.state?.updatedAt||0))[0],s=i||o;return s&&(h({projectId:t,taskId:s.id}),_(`edit`)),D(!1),Je.success(a(`sessions.scheduledTasks.dialog.toast.saved`)),s}),Fe=ce(async e=>{let{projectId:t,task:n}=e;if(window.confirm(a(`sessions.scheduledTasks.dialog.confirm.deleteTask`,{taskName:n.name}))){k(Zd({projectId:t,taskId:n.id}));try{await ue.mutateAsync({projectID:t,taskID:n.id});let e=Zd({projectId:t,taskId:n.id});m&&Zd(m)===e&&(h(null),_(`closed`),D(!1)),Je.success(a(`sessions.scheduledTasks.dialog.toast.deleted`))}catch(e){Je.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.deleteFailed`))}finally{k(null)}}}),Le=ce(async({projectId:e,task:t})=>{k(Zd({projectId:e,taskId:t.id}));try{await de.mutateAsync({projectID:e,taskID:t.id}),Je.success(a(`sessions.scheduledTasks.dialog.toast.started`))}catch(e){Je.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.runFailed`))}finally{k(null)}}),Re=ce(async({projectId:e,task:t},n)=>{k(Zd({projectId:e,taskId:t.id}));try{await me.mutateAsync({projectID:e,task:{...t,enabled:n}})}catch(e){Je.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.updateFailed`))}finally{k(null)}}),ze=Q.useMemo(()=>{let e=S.trim().toLocaleLowerCase();return te.filter(({task:t})=>v===`active`&&!t.enabled||v===`paused`&&t.enabled?!1:!e||t.name.toLocaleLowerCase().includes(e)||Wd(t,a).toLocaleLowerCase().includes(e))},[v,S,a,te]),Be=e=>{let t=e.icon?$t[e.icon]:null,n=e.color?nn[e.color]:void 0,r=(0,$.jsx)(Z,{name:t??`folder`,className:`size-3.5`,style:n?{color:n}:void 0});return(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:e.iconImage?(0,$.jsx)(Jt,{project:e,className:`size-full object-contain`,fallback:r}):r}),(0,$.jsx)(`span`,{className:`truncate`,children:pe(e.path)})]})},Ve=l.map(e=>({id:e.id,label:Be(e)}));return(0,$.jsxs)(`div`,{className:Y(`relative flex min-h-0`,H?`oc-mobile-scheduled-workspace w-full flex-col overflow-visible bg-transparent`:`h-full overflow-hidden bg-background`,U&&`flex-col`),"data-presentation":e,children:[(0,$.jsxs)(`div`,{ref:H?B:void 0,"data-mobile-navigation-underlay":H?`true`:void 0,"aria-hidden":H&&g!==`closed`?!0:void 0,inert:H&&g!==`closed`?!0:void 0,className:Y(H?`flex w-full min-w-0 flex-col gap-[var(--oc-mobile-page-gap)]`:`contents`),children:[H?(0,$.jsx)(Ar,{title:a(`sessions.scheduledTasks.dialog.title`)}):null,U&&!H?(0,$.jsxs)(`header`,{className:`flex h-14 shrink-0 items-center gap-2 border-b border-border/40 px-2`,children:[g===`closed`?null:(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,onClick:Me,"aria-label":a(`header.actions.backAria`),children:(0,$.jsx)(Z,{name:`arrow-left`,className:`size-5`})}),(0,$.jsx)(`h2`,{className:`min-w-0 flex-1 truncate px-1 typography-ui-label font-semibold text-foreground`,children:a(g===`edit`?`sessions.scheduledTasks.editor.title.edit`:g===`create`?`sessions.scheduledTasks.editor.title.new`:`sessions.scheduledTasks.dialog.title`)}),g===`edit`&&K?(0,$.jsxs)(En,{children:[(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,disabled:!!O,"aria-label":a(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:K.task.name}),children:(0,$.jsx)(Z,{name:`more-2`,className:`size-5`})})}),(0,$.jsxs)(Sn,{align:`end`,className:`min-w-40`,children:[(0,$.jsxs)(vn,{className:`min-h-11`,onSelect:()=>void Le(K),children:[(0,$.jsx)(Z,{name:`play`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.runNow`)]}),(0,$.jsxs)(vn,{className:`min-h-11`,onSelect:()=>De(K),children:[(0,$.jsx)(Z,{name:`history`,className:`size-4`}),a(`sessions.scheduledTasks.workspace.views.history`)]}),(0,$.jsxs)(vn,{className:`min-h-11`,onSelect:()=>void Re(K,!K.task.enabled),children:[(0,$.jsx)(Z,{name:K.task.enabled?`pause`:`play`,className:`size-4`}),K.task.enabled?a(`sessions.scheduledTasks.dialog.actions.pause`):a(`sessions.scheduledTasks.dialog.actions.resume`)]}),(0,$.jsxs)(vn,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void Fe(K),children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.delete`)]})]})]}):g===`closed`?(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,onClick:Me,"aria-label":a(`mobile.surface.closeAria`),children:(0,$.jsx)(Z,{name:`close`,className:`size-5`})}):(0,$.jsx)(`span`,{className:`size-11 shrink-0`,"aria-hidden":`true`})]}):null,(0,$.jsxs)(`section`,{className:Y(`min-w-0 flex-col transition-[width] duration-300 ease-out`,H?`flex-none overflow-visible`:`flex-1 overflow-hidden`,U&&!H&&g!==`closed`?`hidden`:`flex`),children:[(0,$.jsx)(`header`,{className:Y(`shrink-0`,H?`pb-0 pt-0`:U?`px-3 pb-3 pt-3`:`px-4 pb-5 pt-4 sm:px-6`),children:(0,$.jsxs)(`div`,{className:Y(`mx-auto w-full`,H?`max-w-[26rem]`:`max-w-4xl`),children:[(0,$.jsx)(`div`,{className:Y((b===`tasks`||I||!H)&&`mb-3`,H?`oc-mobile-floating-surface oc-mobile-segmented-track`:`grid grid-cols-2 gap-1 rounded-xl bg-[var(--surface-muted)] p-1`),role:`tablist`,"aria-label":a(`sessions.scheduledTasks.workspace.views.aria`),children:[`tasks`,`history`].map(e=>(0,$.jsxs)(X,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":b===e,className:Y(H?`oc-mobile-segmented-item`:`relative min-h-9 rounded-lg text-muted-foreground transition-[background-color,color,box-shadow] motion-reduce:transition-none`,!H&&U&&`min-h-11`,!H&&(b===e?`text-foreground hover:bg-transparent hover:text-foreground`:`hover:bg-interactive-hover/40 hover:text-foreground`)),onClick:()=>we(e),children:[b===e?(0,$.jsx)(Tr.span,{layoutId:`scheduled-workspace-view-pill`,className:Y(`oc-segmented-selected-pill absolute inset-0`,!H&&`rounded-lg`),transition:{duration:o?0:.18,ease:[.22,1,.36,1]},"aria-hidden":`true`}):null,(0,$.jsxs)(`span`,{className:`relative z-[1] inline-flex items-center gap-1.5`,children:[(0,$.jsx)(Z,{name:e===`tasks`?`calendar-schedule`:`history`,className:`size-4 shrink-0`}),a(`sessions.scheduledTasks.workspace.views.${e}`)]})]},e))}),b===`history`&&ae?(0,$.jsx)(`div`,{className:Y(`flex min-w-0 items-center`,H?`mt-[var(--oc-mobile-page-gap)]`:`mt-3`),role:`status`,"aria-label":a(`sessions.scheduledTasks.history.filter.aria`,{name:ae}),children:(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1 rounded-full border border-border/60 bg-[var(--surface-elevated)] py-1 pl-3 pr-1`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-meta text-foreground`,children:ae}),(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`shrink-0 rounded-full`,U?`size-8`:`size-7`),onClick:Oe,"aria-label":a(`sessions.scheduledTasks.history.filter.clearAria`),children:(0,$.jsx)(Z,{name:`close`,className:`size-3.5`})})]})}):null,b===`tasks`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:Y(H?`oc-mobile-floating-surface oc-mobile-segmented-track oc-mobile-scheduled-controls`:Y(`flex items-center justify-between`,U?`gap-2`:`gap-3`)),children:[(0,$.jsx)(`div`,{className:Y(H?`oc-mobile-segmented-group`:Y(`flex items-center gap-1`,U&&`min-w-0 flex-1`)),role:`group`,"aria-label":a(`sessions.scheduledTasks.dialog.title`),children:[`all`,`active`,`paused`].map(e=>(0,$.jsxs)(X,{type:`button`,variant:`ghost`,size:`sm`,className:Y(H?`oc-mobile-segmented-item`:`relative border-0 bg-transparent text-muted-foreground shadow-none transition-[color,background-color] duration-150 ease-out motion-reduce:transition-none`,!H&&(U?`h-11 min-h-11 min-w-0 flex-1 rounded-xl px-2`:`!h-9 !min-h-9 rounded-xl px-3`),!H&&(v===e?`text-foreground hover:bg-transparent hover:text-foreground`:`hover:bg-interactive-hover/40 hover:text-foreground`)),"aria-pressed":v===e,onClick:()=>y(e),children:[v===e?(0,$.jsx)(Tr.span,{layoutId:`scheduled-task-filter-pill`,className:Y(`oc-segmented-selected-pill absolute inset-0`,!H&&`rounded-xl`),transition:{duration:o?0:.18,ease:[.22,1,.36,1]},"aria-hidden":`true`}):null,(0,$.jsx)(`span`,{className:`relative z-[1]`,children:a(`sessions.scheduledTasks.workspace.filters.${e}`)})]},e))}),H?(0,$.jsx)(X,{variant:`ghost`,"data-mobile-press-feedback":`compact`,className:`oc-mobile-segmented-action shrink-0 bg-foreground text-background transition-[background-color,box-shadow] duration-150 ease-out hover:bg-foreground/90 hover:text-background hover:shadow-sm active:bg-interactive-active motion-reduce:transition-none`,onClick:_e,disabled:!f,"aria-label":a(`sessions.scheduledTasks.dialog.actions.create`),children:(0,$.jsx)(Z,{name:`add`,className:`size-4`})}):(0,$.jsx)(`div`,{className:`flex min-w-0 items-center gap-2`,children:(0,$.jsxs)(X,{variant:`ghost`,"data-mobile-press-feedback":U?`compact`:void 0,className:Y(`shrink-0 rounded-full bg-foreground text-background transition-[background-color,box-shadow] duration-150 ease-out hover:bg-foreground/90 hover:text-background hover:shadow-sm active:bg-interactive-active motion-reduce:transition-none`,U?`size-11 min-h-11 px-0 min-[400px]:w-auto min-[400px]:px-3.5`:`!h-9 !min-h-9 px-3.5`),onClick:_e,disabled:!f,"aria-label":a(`sessions.scheduledTasks.dialog.actions.create`),children:[(0,$.jsx)(Z,{name:`add`,className:`h-4 w-4`}),` `,(0,$.jsx)(`span`,{className:Y(U&&`hidden min-[400px]:inline`),children:a(`sessions.scheduledTasks.dialog.actions.create`)})]})})]}),H?null:(0,$.jsxs)(`div`,{className:Y(`group relative w-full`,U?`mt-3`:`mt-7`),children:[(0,$.jsx)(Z,{name:`search`,className:`pointer-events-none absolute left-3.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground transition-[color,transform] duration-150 ease-out group-focus-within:scale-105 group-focus-within:text-foreground motion-reduce:transition-none`}),(0,$.jsx)(ln,{value:S,onChange:e=>C(e.target.value),placeholder:a(`sessions.scheduledTasks.workspace.search.placeholder`),className:Y(`rounded-full bg-[var(--surface-elevated)] pl-10 pr-4 ring-1 ring-inset ring-border/50 transition-[background-color,box-shadow,color] duration-200 ease-out hover:[&:not(:focus)]:ring-border focus:bg-[var(--surface-elevated)] focus:shadow-sm focus:ring-2 focus:ring-[var(--interactive-focus-ring)] motion-reduce:transition-none`,U?`h-11 min-h-11`:`!h-9 !min-h-9`)})]})]}):null]})}),(0,$.jsx)(`div`,{className:Y(H?`flex-none overflow-visible pt-[var(--oc-mobile-page-gap)]`:`min-h-0 flex-1 overflow-y-auto`,!H&&(U?`overscroll-none px-3 pb-[max(1rem,env(safe-area-inset-bottom))]`:`px-6 pb-6 [scrollbar-gutter:stable]`)),children:(0,$.jsx)(`div`,{className:Y(`mx-auto w-full`,H?`max-w-[26rem]`:`max-w-4xl border-t border-border/40 pt-4`),children:b===`history`?(0,$.jsx)(`div`,{className:`space-y-3`,children:re.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 typography-meta text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin motion-reduce:animate-none`}),a(`sessions.scheduledTasks.history.loading`)]}):re.error&&ie.length===0?(0,$.jsx)(`div`,{className:`rounded-xl border border-dashed border-border p-4`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(Z,{name:`error-warning`,className:`mt-0.5 size-4 shrink-0 text-[var(--status-error)]`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-foreground`,children:a(`sessions.scheduledTasks.history.error.title`)}),(0,$.jsx)(`p`,{className:`mt-1 break-words typography-meta text-muted-foreground`,children:re.error instanceof Error?re.error.message:a(`sessions.scheduledTasks.history.error.description`)})]}),(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:()=>void Ae(),children:a(`sessions.scheduledTasks.history.retry`)})]})}):ie.length===0?(0,$.jsxs)(`div`,{className:`rounded-xl border border-dashed border-border p-6 text-center`,children:[(0,$.jsx)(Z,{name:`history`,className:`mx-auto size-5 text-muted-foreground`}),(0,$.jsx)(`p`,{className:`mt-2 typography-ui-label font-medium text-foreground`,children:a(`sessions.scheduledTasks.history.empty.title`)}),(0,$.jsx)(`p`,{className:`mt-1 typography-meta text-muted-foreground`,children:a(`sessions.scheduledTasks.history.empty.description`)})]}):(0,$.jsxs)(`div`,{className:Y(H?`space-y-4`:U?`space-y-2`:`divide-y divide-border/50 overflow-hidden rounded-xl border border-border/60 bg-[var(--surface-elevated)]`),children:[ie.map(e=>{let t=se.get(e.projectId),n=t?pe(t.path):e.projectId,r=e.directory?pe(e.directory):null,i=r&&r!==n?`${n} · ${r}`:n,o=Yd[e.status],s=!!(e.sessionId&&e.directory),c=Jd(qd(e,J))??(e.status===`running`?a(`sessions.scheduledTasks.history.duration.pending`):null),l=Kd(e.startedAt),u=a(`sessions.scheduledTasks.history.trigger.${e.trigger}`),d=e.trigger===`manual`?`play`:`calendar-schedule`,f=a(`sessions.scheduledTasks.dialog.status.${e.status}`),p=o.tone===`muted`?void 0:{color:`var(--status-${o.tone})`},m=t?.icon?$t[t.icon]??`folder`:`folder`,h=t?.color?nn[t.color]:void 0,g=(0,$.jsx)(`span`,{className:`flex size-3.5 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:t?.iconImage?(0,$.jsx)(Jt,{project:t,className:`size-full object-contain`,fallback:(0,$.jsx)(Z,{name:m,className:`size-3.5`,style:h?{color:h}:void 0})}):(0,$.jsx)(Z,{name:m,className:`size-3.5`,style:h?{color:h}:void 0})}),_=(0,$.jsx)(`span`,{className:Y(`mt-0.5 flex shrink-0 items-center justify-center rounded-full border`,U?`size-7`:`size-8`),style:Xd(o.tone),title:f,"aria-label":f,children:(0,$.jsx)(Z,{name:o.Icon,className:Y(U?`size-3.5`:`size-4`,o.spin&&`animate-spin motion-reduce:animate-none`)})}),v=(0,$.jsxs)(`p`,{className:Y(`mt-0.5 flex min-w-0 items-center gap-1.5 text-muted-foreground`,U?`typography-micro`:`truncate typography-meta`),title:e.directory??n,children:[g,(0,$.jsx)(`span`,{className:Y(`min-w-0`,U?`break-words`:`truncate`),children:i})]}),y=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[c?(0,$.jsx)(`span`,{className:`typography-micro tabular-nums text-muted-foreground`,title:c,children:c}):null,(0,$.jsx)(`span`,{className:`typography-micro font-medium`,style:p,children:f})]}),b=(0,$.jsxs)(`div`,{className:Y(`flex w-full min-w-0 items-start`,U?`gap-2.5`:`gap-3`),children:[_,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 items-start justify-between gap-2`,children:[(0,$.jsx)(`h3`,{className:Y(`min-w-0 flex-1 font-semibold text-foreground`,U?`break-words typography-meta leading-snug`:`truncate typography-ui-label`),children:e.taskName}),y]}),v,(0,$.jsxs)(`div`,{className:Y(`mt-1 flex w-full min-w-0 gap-2`,U?`items-center`:`items-center justify-between gap-3`),children:[(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-1 flex-wrap items-center gap-x-3 gap-y-1 typography-micro text-muted-foreground`,U&&`gap-x-2.5 gap-y-0.5`),children:[(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1`,title:l,children:[(0,$.jsx)(Z,{name:`time`,className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap tabular-nums`,children:l})]}),(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1`,title:u,children:[(0,$.jsx)(Z,{name:d,className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:u})]})]}),!U&&s?(0,$.jsx)(`span`,{className:`shrink-0 self-center typography-ui-label font-medium text-foreground`,children:a(`sessions.scheduledTasks.history.openSession`)}):null]}),e.error?(0,$.jsxs)(`p`,{className:Y(`mt-1.5 min-w-0 break-words typography-micro text-[var(--surface-muted-foreground)] [overflow-wrap:anywhere]`,U?`line-clamp-3`:`line-clamp-1`),title:e.error.slice(0,300),children:[(0,$.jsx)(Z,{name:`error-warning`,className:`mr-1 inline-block size-3 align-[-0.125em] text-[var(--status-error)]`,"aria-hidden":`true`}),e.error.slice(0,300)]}):null]})]});if(U){let t=a(`sessions.scheduledTasks.history.openSession`),n=Y(`oc-mobile-scheduled-task-card w-full`,H?`oc-mobile-floating-surface oc-mobile-project-shell rounded-[var(--oc-mobile-surface-radius)]`:`rounded-xl border border-border/60 bg-[var(--surface-elevated)] shadow-sm dark:shadow-none`);return s?(0,$.jsx)(`article`,{"data-mobile-press-surface":`soft`,className:n,children:(0,$.jsx)(`button`,{type:`button`,"data-mobile-press-surface-trigger":!0,className:Y(`oc-mobile-scheduled-task-row w-full p-3 text-left outline-none`,`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)]`),"aria-label":t,onClick:()=>Ee(e),children:b})},e.id):(0,$.jsx)(`article`,{className:Y(n,`p-3`),children:b},e.id)}return s?(0,$.jsx)(`article`,{className:`w-full min-w-0`,children:(0,$.jsx)(`button`,{type:`button`,className:`w-full min-w-0 px-4 py-3 text-left outline-none transition-colors hover:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)] motion-reduce:transition-none`,"aria-label":a(`sessions.scheduledTasks.history.openSession`),onClick:()=>Ee(e),children:b})},e.id):(0,$.jsx)(`article`,{className:`w-full min-w-0 px-4 py-3`,children:b},e.id)}),re.error?(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-between gap-2 p-3 typography-meta text-[var(--status-error-foreground)]`,U?`rounded-xl border border-[var(--status-error-border)] bg-[var(--status-error-background)]`:`border-t border-[var(--status-error-border)] bg-[var(--status-error-background)]`),children:[(0,$.jsx)(`span`,{children:a(`sessions.scheduledTasks.history.error.more`)}),(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:()=>void Ae(),children:a(`sessions.scheduledTasks.history.retry`)})]}):null,re.hasNextPage?(0,$.jsx)(`div`,{className:Y(`flex justify-center`,U?`pt-2`:`border-t border-border/40 px-4 py-3`),children:(0,$.jsxs)(X,{variant:`outline`,size:`sm`,className:Y(U&&`min-h-11`),disabled:re.isFetchingNextPage,onClick:()=>void re.fetchNextPage(),children:[re.isFetchingNextPage?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin motion-reduce:animate-none`}):(0,$.jsx)(Z,{name:`history`,className:`size-4`}),re.isFetchingNextPage?a(`sessions.scheduledTasks.history.loadingMore`):a(`sessions.scheduledTasks.history.loadMore`)]})}):null]})}):(0,$.jsxs)($.Fragment,{children:[G.length>0?(0,$.jsx)(`div`,{className:`mb-3 rounded-xl border p-3 typography-meta`,style:Xd(`warning`),children:a(`sessions.scheduledTasks.workspace.partialLoadWarning`)}):null,W.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 typography-meta text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),` `,a(`sessions.scheduledTasks.dialog.loading`)]}):W.error?(0,$.jsx)(`div`,{className:`rounded-xl border border-dashed border-border p-4 typography-meta text-muted-foreground`,children:W.error instanceof Error?W.error.message:a(`sessions.scheduledTasks.dialog.toast.loadFailed`)}):(0,$.jsx)(wr,{initial:!1,mode:`popLayout`,children:ze.length===0?(0,$.jsx)(Tr.div,{initial:o?{opacity:0}:{opacity:0,y:4},animate:{opacity:1,y:0},exit:o?{opacity:0}:{opacity:0,y:-4},transition:{duration:o?0:.18,ease:[.22,1,.36,1]},className:`rounded-xl border border-dashed border-border p-4 typography-meta text-muted-foreground`,children:te.length>0?a(`sessions.scheduledTasks.workspace.search.noResults`):a(`sessions.scheduledTasks.dialog.empty.noTasks`)},`empty`):(0,$.jsx)(Tr.div,{initial:o?{opacity:0}:{opacity:0,y:4},animate:{opacity:1,y:0},exit:o?{opacity:0}:{opacity:0,y:-4},transition:{duration:o?0:.18,ease:[.22,1,.36,1]},className:Y(H?`space-y-4`:`space-y-1`),children:(0,$.jsx)(wr,{initial:!1,mode:`popLayout`,children:ze.map(e=>{let{projectId:t,task:n}=e,r=Zd({projectId:t,taskId:n.id}),i=g===`edit`&&m!==null&&Zd(m)===r,c=n.state?.nextRunAt,l=n.state?.lastStatus||`idle`,u=Yd[l],d=O===r,f=t=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(t,{className:Y(U&&`min-h-11`),onClick:t=>{t.stopPropagation(),Le(e)},disabled:d,children:[(0,$.jsx)(Z,{name:`play`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.runNow`)]}),(0,$.jsxs)(t,{className:Y(U&&`min-h-11`),onClick:t=>{t.stopPropagation(),De(e)},children:[(0,$.jsx)(Z,{name:`history`,className:`size-4`}),a(`sessions.scheduledTasks.workspace.views.history`)]}),(0,$.jsxs)(t,{className:Y(U&&`min-h-11`),onClick:t=>{t.stopPropagation(),Re(e,!n.enabled)},disabled:d,children:[(0,$.jsx)(Z,{name:n.enabled?`pause`:`play`,className:`size-4`}),n.enabled?a(`sessions.scheduledTasks.dialog.actions.pause`):a(`sessions.scheduledTasks.dialog.actions.resume`)]}),(0,$.jsxs)(t,{onClick:t=>{t.stopPropagation(),Fe(e)},disabled:d,className:Y(`text-destructive focus:text-destructive`,U&&`min-h-11`),children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.delete`)]})]});return(0,$.jsx)(Tr.div,{layout:`position`,initial:!o&&{opacity:0,y:6},animate:{opacity:1,y:0},exit:o?{opacity:0}:{opacity:0,y:-6},transition:{duration:o?0:.18,ease:[.22,1,.36,1]},"data-mobile-press-surface":H?`soft`:void 0,className:Y(H&&`oc-mobile-floating-surface oc-mobile-project-shell oc-mobile-scheduled-task-card`),children:(0,$.jsxs)(Hr,{open:A===r,onOpenChange:e=>{e&&F(null),j(e?r:null)},children:[(0,$.jsxs)(`div`,{className:Y(`group flex w-full items-center gap-1`,H&&`oc-mobile-project-card`),children:[(0,$.jsxs)(Rr,{render:(0,$.jsx)(`button`,{type:`button`,onClick:()=>ge(e),onContextMenu:!U&&!s?e=>{e.preventDefault(),F(null),j(r)}:void 0,"data-mobile-press-surface-trigger":H?!0:void 0,className:Y(`flex min-h-11 min-w-0 flex-1 items-center rounded-xl border py-3 text-left outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] motion-reduce:transition-none`,H?`oc-mobile-project-trigger oc-mobile-scheduled-task-row border-0 bg-transparent transition-opacity duration-150`:`transition-[background-color,border-color,box-shadow,opacity] duration-150 ease-out active:bg-interactive-active`,U&&!H?`gap-2.5 px-3`:H?void 0:`gap-3 px-4`,!H&&(i?`border-border/50 bg-[var(--surface-elevated)] shadow-sm dark:shadow-none`:`border-transparent hover:bg-interactive-hover`),!n.enabled&&`opacity-65`),"aria-pressed":i}),children:[(0,$.jsx)(`span`,{className:Y(`flex shrink-0 items-center justify-center rounded-full text-muted-foreground transition-[border-color,color,background-color] duration-150 motion-reduce:transition-none`,H?`oc-mobile-project-icon oc-mobile-glass-control`:`size-5 border border-border`),style:n.enabled&&u.tone!==`muted`?{color:`var(--status-${u.tone})`}:void 0,children:(0,$.jsx)(wr,{initial:!1,mode:`wait`,children:(0,$.jsx)(Tr.span,{initial:!o&&{opacity:0,scale:.72},animate:{opacity:1,scale:1},exit:o?{opacity:0}:{opacity:0,scale:.72},transition:{duration:o?0:.15},className:`flex`,children:(0,$.jsx)(Z,{name:n.enabled?u.Icon:`pause`,className:Y(H?`oc-mobile-project-icon-glyph`:`size-3.5`,u.spin&&n.enabled&&`animate-spin`)})},`${n.enabled}-${l}`)})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:Y(`block truncate font-medium`,H?`oc-mobile-project-title oc-mobile-entity-title font-semibold`:`typography-ui-label`),children:n.name}),(0,$.jsxs)(`span`,{className:Y(`mt-1 flex min-w-0 items-center text-muted-foreground`,H?`oc-mobile-project-meta oc-mobile-entity-meta`:`gap-1 typography-micro`),children:[(0,$.jsx)(`span`,{className:`truncate`,children:Wd(n,a,!H)}),(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground/50`,children:`·`}),(0,$.jsx)(`span`,{className:`shrink-0 truncate`,children:c?Gd(c,a):`—`})]})]})]}),(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`shrink-0 self-center rounded-lg text-muted-foreground`,U?`size-11 rounded-full`:`size-9`),onClick:t=>{t.stopPropagation(),De(e)},"aria-label":a(`sessions.scheduledTasks.workspace.views.history`),children:(0,$.jsx)(Z,{name:`history`,className:`size-4`})}),(0,$.jsxs)(En,{open:M===r,onOpenChange:e=>{e&&j(null),F(e?r:null)},children:[(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`shrink-0 self-center text-muted-foreground transition-[opacity,transform,background-color] duration-150 ease-out data-[popup-open]:bg-interactive-hover motion-reduce:transition-none`,H?`oc-mobile-project-action oc-mobile-scheduled-task-action rounded-full`:`rounded-lg`,H?void 0:U?`size-11`:`size-8 translate-x-1 opacity-0 group-hover:translate-x-0 group-hover:opacity-100 data-[popup-open]:translate-x-0 data-[popup-open]:opacity-100`,i&&!H&&`opacity-100`),onClick:e=>e.stopPropagation(),"aria-label":a(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:n.name}),children:(0,$.jsx)(Z,{name:`more-2`,className:H?`size-5`:`size-4`})})}),(0,$.jsx)(Sn,{align:`end`,className:`min-w-40 motion-reduce:transition-none`,onClick:e=>e.stopPropagation(),children:f(vn)})]})]}),(0,$.jsx)(Br,{className:`min-w-40 motion-reduce:transition-none`,children:f(Vr)})]})},r)})})},`tasks`)})]})})})]})]}),s?g===`closed`?null:(0,$.jsx)(`div`,{ref:H?R:void 0,className:Y(H?`oc-mobile-scheduled-editor-overlay flex w-full min-w-0 max-w-full flex-col overflow-hidden bg-background [contain:layout_paint]`:`contents`),children:(0,$.jsx)(zd,{open:!0,presentation:H?`mobile-tab`:U?`mobile-panel`:void 0,task:g===`edit`?ne:null,onOpenChange:je,onSave:Pe,onDirtyChange:D,onRun:async()=>{K&&await Le(K)},onOpenTaskHistory:ke,onDelete:async()=>{K&&await Fe(K)},onToggleEnabled:async(e,t)=>{K&&await Re(K,t)},actionBusy:!!O,projectID:m?.projectId||f,projectOptions:Ve,onProjectChange:g===`create`?p:void 0})}):(0,$.jsx)(wr,{initial:!1,children:g===`closed`?null:(0,$.jsx)(Tr.div,{initial:o?{opacity:1,width:0}:{opacity:0,width:0,x:24},animate:{opacity:1,width:`clamp(380px, 36vw, 480px)`,x:0},exit:o?{opacity:0,width:0}:{opacity:0,width:0,x:24},transition:{duration:o?0:.26,ease:[.22,1,.36,1]},className:`h-full min-h-0 max-w-[480px] shrink-0 overflow-hidden`,children:(0,$.jsx)(`aside`,{className:`h-full min-h-0 w-[clamp(380px,36vw,480px)] border-l border-border/60 bg-background`,children:(0,$.jsx)(zd,{open:!0,presentation:`panel`,task:g===`edit`?ne:null,onOpenChange:je,onSave:Pe,onDirtyChange:D,onRun:async()=>{K&&await Le(K)},onOpenTaskHistory:ke,onDelete:async()=>{K&&await Fe(K)},onToggleEnabled:async(e,t)=>{K&&await Re(K,t)},actionBusy:!!O,projectID:m?.projectId||f,projectOptions:Ve,onProjectChange:g===`create`?p:void 0})})},`scheduled-task-details`)})]})}var df={"?":{code:`?`,color:`var(--status-info)`,description:`Untracked file`},A:{code:`A`,color:`var(--status-success)`,description:`New file`},D:{code:`D`,color:`var(--status-error)`,description:`Deleted file`},R:{code:`R`,color:`var(--status-info)`,description:`Renamed file`},C:{code:`C`,color:`var(--status-info)`,description:`Copied file`},M:{code:`M`,color:`var(--status-warning)`,description:`Modified file`}},ff=df.M;function pf(e){let t=e.index?.trim(),n=e.working_dir?.trim();return t&&t!==`?`?t.charAt(0):n?n.charAt(0):t?.charAt(0)||n?.charAt(0)||`M`}function mf(e){return df[pf(e)]??ff}var hf=Q.memo(function(e){let t=(0,qr.c)(57),{file:n,actionLabel:r,actionSymbol:i,onAction:a,onViewDiff:o,onRevert:s,isReverting:c,stats:l,rowPaddingClassName:u,indentPx:d,actionAtStart:f,showRevert:p,displayPath:m}=e,h=d===void 0?0:d,g=f!==void 0&&f,_=p===void 0||p,v;t[0]===n?v=t[1]:(v=mf(n),t[0]=n,t[1]=v);let y=v,{t:b}=fe(),x=y.description,S=l?.insertions??0,C=l?.deletions??0,w;t[2]!==a||t[3]!==o?(w=e=>{e.key===` `?(e.preventDefault(),a()):e.key===`Enter`&&(e.preventDefault(),o())},t[2]=a,t[3]=o,t[4]=w):w=t[4];let T=w,E;t[5]===a?E=t[6]:(E=e=>{e.preventDefault(),e.stopPropagation(),a()},t[5]=a,t[6]=E);let D=E,O;t[7]===s?O=t[8]:(O=e=>{e.preventDefault(),e.stopPropagation(),s()},t[7]=s,t[8]=O);let k=O,A;t[9]!==r||t[10]!==i||t[11]!==D?(A=(0,$.jsx)(`button`,{type:`button`,onClick:D,className:`flex size-6 items-center justify-center rounded typography-code font-semibold text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-label":r,title:r,children:i}),t[9]=r,t[10]=i,t[11]=D,t[12]=A):A=t[12];let j=A,M=`group flex h-8 items-center cursor-pointer ${u??`px-3`}`,N;t[13]===h?N=t[14]:(N=h>0?{paddingLeft:`${h}px`}:void 0,t[13]=h,t[14]=N);let P=g?j:null,F;t[15]===y.color?F=t[16]:(F={color:y.color},t[15]=y.color,t[16]=F);let I;t[17]!==y.code||t[18]!==x||t[19]!==F?(I=(0,$.jsx)(`span`,{className:`typography-code font-semibold w-3.5 shrink-0 text-center uppercase`,style:F,title:x,"aria-label":x,children:y.code}),t[17]=y.code,t[18]=x,t[19]=F,t[20]=I):I=t[20];let L;t[21]===n.path?L=t[22]:(L=(0,$.jsx)(Ft,{filePath:n.path,className:`size-3 shrink-0`}),t[21]=n.path,t[22]=L);let R=m??n.path,z;t[23]!==n.path||t[24]!==R?(z=(0,$.jsx)(Lt,{path:R,title:n.path,className:`min-w-0 flex-1 typography-code`}),t[23]=n.path,t[24]=R,t[25]=z):z=t[25];let B;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(B={color:`var(--status-success)`},t[26]=B):B=t[26];let V;t[27]===S?V=t[28]:(V=(0,$.jsxs)(`span`,{style:B,children:[`+`,S]}),t[27]=S,t[28]=V);let ee,H;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(`span`,{className:`text-muted-foreground mx-0.5`,children:`/`}),H={color:`var(--status-error)`},t[29]=ee,t[30]=H):(ee=t[29],H=t[30]);let U;t[31]===C?U=t[32]:(U=(0,$.jsxs)(`span`,{style:H,children:[`-`,C]}),t[31]=C,t[32]=U);let W;t[33]!==V||t[34]!==U?(W=(0,$.jsxs)(`span`,{className:`shrink-0 typography-code tabular-nums`,children:[V,ee,U]}),t[33]=V,t[34]=U,t[35]=W):W=t[35];let te;t[36]!==I||t[37]!==L||t[38]!==z||t[39]!==W?(te=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[I,L,z,W]}),t[36]=I,t[37]=L,t[38]=z,t[39]=W,t[40]=te):te=t[40];let G;t[41]!==g||t[42]!==j||t[43]!==n.path||t[44]!==k||t[45]!==c||t[46]!==_||t[47]!==b?(G=g?null:(0,$.jsxs)(`div`,{className:`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,children:[_?(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:k,disabled:c,className:`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":b(`gitView.changes.revertFileAria`,{path:n.path}),children:c?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`arrow-go-back`,className:`size-3.5`})})}),(0,$.jsx)(dn,{sideOffset:8,children:b(`gitView.changes.revertFileTooltip`)})]}):null,j]}),t[41]=g,t[42]=j,t[43]=n.path,t[44]=k,t[45]=c,t[46]=_,t[47]=b,t[48]=G):G=t[48];let K;return t[49]!==T||t[50]!==o||t[51]!==N||t[52]!==P||t[53]!==te||t[54]!==G||t[55]!==M?(K=(0,$.jsxs)(`div`,{className:M,role:`button`,tabIndex:0,onClick:o,onKeyDown:T,style:N,children:[P,te,G]}),t[49]=T,t[50]=o,t[51]=N,t[52]=P,t[53]=te,t[54]=G,t[55]=M,t[56]=K):K=t[56],K}),gf=e=>e.replace(/\\/g,`/`).replace(/^\/+/,``).trim(),_f=e=>{let t=gf(e);if(!t)return e;let n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t},vf=(e,t)=>({id:`dir:${e}`,path:e,name:t,children:new Map,directFiles:[],files:[]}),yf=e=>{let t=vf(``,``);for(let n of e){let e=gf(n.path);if(!e)continue;let r=e.split(`/`).filter(Boolean).slice(0,-1),i=t;if(i.files.push(n),r.length>0){let e=``;for(let t of r){e=e?`${e}/${t}`:t;let r=i.children.get(t);if(r){r.files.push(n),i=r;continue}let a=vf(e,t);a.files.push(n),i.children.set(t,a),i=a}}i.directFiles.push(n)}return t},bf=(e,t)=>{let n=[],r=(e,i)=>{let a=Array.from(e.children.values()).sort((e,t)=>e.path.localeCompare(t.path));for(let e of a)n.push({key:e.id,kind:`directory`,depth:i,directory:e}),t.has(e.path)&&r(e,i+1);let o=[...e.directFiles].sort((e,t)=>e.path.localeCompare(t.path));for(let e of o)n.push({key:`file:${gf(e.path)}`,kind:`file`,depth:i,file:e})};return r(e,0),n},xf=1e3,Sf=34,Cf=30,wf=`pl-0 pr-2`,Tf=`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,Ef=`flex size-6 items-center justify-center tabular-nums typography-code text-muted-foreground`,Df=`flex size-6 items-center justify-center rounded typography-code font-semibold text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,Of=`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,kf=(e,t)=>`${e} ${t}`,Af=({groups:e,diffStats:t,revertingPaths:n,isRevertingAll:r=!1,headerBackgroundClassName:i=`bg-sidebar`,onVisiblePathsChange:a,onRevertAll:o,onRevertDirectory:s,headerLeadingActions:c,headerActions:l})=>{let{t:u}=fe(),d=Q.useRef(null),f=P(e=>e.gitChangesViewMode),p=P(e=>e.setGitChangesViewMode),m=f===`tree`,h=Q.useMemo(()=>e.filter(e=>e.entries.length>0),[e]),[g,_]=Q.useState(new Set),[v,y]=Q.useState(new Set),[b,x]=Q.useState(!1),[S,C]=Q.useState(null),w=Q.useRef(new Set),T=Q.useMemo(()=>h.map(e=>yf(e.entries)),[h]),E=Q.useMemo(()=>{let e=new Map;return h.forEach((t,n)=>{let r=[],i=e=>{e.children.forEach(e=>{r.push(kf(t.id,e.path)),i(e)})},a=T[n];a&&i(a),e.set(t.id,r)}),e},[T,h]);Q.useEffect(()=>{if(!m){w.current=new Set;return}let e=new Set(Array.from(E.values()).flat()),t=w.current,n=t.size===0&&e.size>0;y(r=>{let i=new Set(r),a=!1;for(let t of i)e.has(t)||(i.delete(t),a=!0);for(let r of e){let e=!t.has(r);(n||e)&&!i.has(r)&&(i.add(r),a=!0)}return a?i:r}),w.current=e},[E,m]);let D=Q.useMemo(()=>{let e=[];return h.forEach((t,n)=>{if(e.push({type:`header`,key:`header:${t.id}`,groupIndex:n}),!g.has(t.id)){if(m){let r=new Set;v.forEach(e=>{e.startsWith(`${t.id} `)&&r.add(e.slice(t.id.length+1))}),bf(T[n],r).forEach(r=>{r.kind===`file`?e.push({type:`file`,key:`${t.id}:${r.key}`,groupIndex:n,file:r.file,depth:r.depth}):e.push({type:`directory`,key:`${t.id}:${r.key}`,groupIndex:n,directory:r.directory,depth:r.depth})});return}t.entries.forEach(r=>{e.push({type:`file`,key:`${t.id}:file:${r.path}`,groupIndex:n,file:r,depth:0})})}}),e},[g,v,m,T,h]),O=h[0]??null,k=Q.useMemo(()=>O?D.filter(e=>e.type!==`header`||e.groupIndex!==0):D,[O,D]),A=k.length,j=A>=xf,M=Cr({count:A,enabled:j,getScrollElement:()=>d.current,estimateSize:()=>Sf,overscan:12,getItemKey:e=>k[e]?.key??e}),N=M.getVirtualItems(),F=Q.useMemo(()=>{if(!j)return 0;let e=d.current?.scrollTop??0;return N.find(t=>t.end>e)?.index??0},[j,N,d]);Q.useEffect(()=>{if(!a)return;let e=e=>e&&e.type===`file`?e.file.path:null;if(A===0){a([]);return}if(!j){let e=[];for(let t of k)if(t.type===`file`&&(e.push(t.file.path),e.length>=Cf))break;a(e);return}a(k.slice(F,F+Math.ceil((d.current?.clientHeight??0)/Sf)+Cf).map(t=>e(t)).filter(e=>!!e).slice(0,Cf))},[a,A,k,j,F]);let I=Q.useCallback(e=>{_(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),L=Q.useCallback((e,t)=>{y(n=>{let r=new Set(n),i=kf(e,t);return r.has(i)?r.delete(i):r.add(i),r})},[]),R=Q.useCallback(e=>{let t=E.get(e)??[];y(e=>{let n=new Set(e);return t.forEach(e=>n.add(e)),n})},[E]),z=Q.useCallback(e=>{let t=E.get(e)??[];y(e=>{let n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[E]),B=Q.useMemo(()=>{let e=new Set;return h.forEach(t=>t.entries.forEach(t=>e.add(t.path))),Array.from(e)},[h]),V=B.length,ee=S?r||S.paths.some(e=>n.has(e)):!1,H=Q.useCallback(async()=>{!o||r||B.length===0||(await o(B),x(!1))},[B,r,o]),U=Q.useCallback(async()=>{!s||!S||ee||(await s(S.paths),C(null))},[ee,s,S]),W=Q.useCallback((e,t={})=>{let{pinned:n=!1,showToolbar:a=!1}=t,s=g.has(e.id),d=e.entries.length,f=E.get(e.id)??[],h=f.length>0&&f.every(e=>v.has(e)),_=u(h?`diffView.actions.collapseAll`:`diffView.actions.expandAll`),y=u(m?`settings.openchamber.git.option.flatList`:`settings.openchamber.git.option.treeView`);return(0,$.jsxs)(`div`,{className:Y(`flex h-8 items-center gap-0`,n?`shrink-0`:`sticky top-0 z-10`,i,wf,!n&&`mt-3`),children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>I(e.id),className:`flex min-w-0 flex-1 items-center gap-1.5 rounded text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-expanded":!s,children:[(0,$.jsx)(`h3`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:d}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:Y(`size-3 shrink-0 text-muted-foreground transition-transform`,s&&`-rotate-90`)})]}),(0,$.jsxs)(`div`,{className:Tf,children:[m?(0,$.jsx)(`button`,{type:`button`,onClick:()=>{if(h){z(e.id);return}R(e.id)},className:Of,"aria-label":_,title:_,children:(0,$.jsx)(Z,{name:h?`contract-up-down`:`expand-up-down`,className:`size-3.5`})}):null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>p(m?`flat`:`tree`),"aria-label":y,title:y,"aria-pressed":m,className:Of,children:(0,$.jsx)(Z,{name:m?`node-tree`:`list-unordered`,className:`size-3.5`})}),a&&o&&V>0?(0,$.jsx)(`button`,{type:`button`,onClick:()=>x(!0),disabled:r,className:Of,"aria-label":u(`gitView.changes.revertAll`),title:u(`gitView.changes.revertAll`),children:r?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`arrow-go-back`,className:`size-3.5`})}):null,a?c:null,a?l:null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onActionAll(e.entries.map(e=>e.path)),className:Df,"aria-label":e.actionAllLabel,title:e.actionAllLabel,children:e.actionSymbol})]})]})},[z,g,E,R,v,l,i,c,r,m,o,V,p,u,I]),te=Q.useCallback((e,t,i)=>{let a=v.has(kf(e.id,t.path)),o=t.files.map(e=>e.path),c=r||o.some(e=>n.has(e)),l=e.showRevertActions!==!1&&!!s;return(0,$.jsxs)(`div`,{className:Y(`group flex h-8 items-center`,wf),style:{paddingLeft:`${i*14}px`},children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>L(e.id,t.path),className:`flex min-w-0 flex-1 items-center gap-1.5 rounded text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":u(a?`gitView.changes.collapseDirectoryAria`:`gitView.changes.expandDirectoryAria`,{path:t.path}),children:[a?(0,$.jsx)(Z,{name:`folder-open-fill`,className:`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground`}):(0,$.jsx)(Z,{name:`folder-3-fill`,className:`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-code text-foreground`,title:t.path,children:t.name})]}),(0,$.jsxs)(`div`,{className:Tf,children:[(0,$.jsx)(`span`,{className:Ef,children:t.files.length}),l?(0,$.jsx)(`button`,{type:`button`,onClick:()=>C({path:t.path,paths:o,count:o.length}),disabled:c,className:Of,"aria-label":u(`gitView.changes.revertDirectoryAria`,{path:t.path}),title:u(`gitView.changes.revertDirectoryTooltip`),children:c?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`arrow-go-back`,className:`size-3.5`})}):null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onActionAll(t.files.map(e=>e.path)),className:Df,"aria-label":u(e.actionSymbol===`+`?`gitView.changes.stageDirectoryAria`:`gitView.changes.unstageDirectoryAria`,{path:t.path}),title:u(e.actionSymbol===`+`?`gitView.changes.stageDirectoryAria`:`gitView.changes.unstageDirectoryAria`,{path:t.path}),children:e.actionSymbol})]})]})},[v,r,s,n,u,L]),G=Q.useCallback(e=>{let i=h[e.groupIndex];if(!i)return null;if(e.type===`header`)return W(i,{showToolbar:!1});if(e.type===`directory`)return te(i,e.directory,e.depth);let a=e.file;return(0,$.jsx)(hf,{file:a,actionLabel:i.getActionLabel(a.path),actionSymbol:i.actionSymbol,onAction:()=>i.onActionFile(a.path),stats:t?.[a.path],onViewDiff:()=>i.onViewDiff(a.path),onRevert:()=>i.onRevertFile(a.path),isReverting:n.has(a.path)||r,rowPaddingClassName:wf,indentPx:e.depth*14,actionAtStart:!1,showRevert:i.showRevertActions!==!1,displayPath:m?_f(a.path):void 0})},[t,r,m,te,W,n,h]),K=Q.useCallback(e=>{let t=k[e],n=k[e-1];return!t||!n||t.type!==`file`&&t.type!==`directory`||n.type!==`file`&&n.type!==`directory`?!1:n.groupIndex===t.groupIndex},[k]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`oc-changes-panel relative flex h-full min-h-0 w-full flex-col overflow-hidden`,children:[O?(0,$.jsx)(`div`,{className:Y(`shrink-0`,i),children:W(O,{pinned:!0,showToolbar:!0})}):null,(0,$.jsx)(Wn,{ref:d,className:`overlay-scrollbar-target overlay-scrollbar-container min-h-0 w-full flex-1 overflow-x-hidden overflow-y-auto`,children:j?(0,$.jsx)(`div`,{style:{height:M.getTotalSize(),position:`relative`},children:N.map(e=>{let t=k[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:M.measureElement,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`},className:Y(K(e.index)&&`before:pointer-events-none before:absolute before:left-0 before:right-2 before:top-0 before:border-t before:border-border/60`),children:G(t)},t.key):null})}):(0,$.jsx)(`div`,{role:`list`,"aria-label":u(`gitView.changes.changedFilesAria`),children:k.map((e,t)=>(0,$.jsx)(`div`,{className:Y(`relative`,K(t)&&`before:pointer-events-none before:absolute before:left-0 before:right-2 before:top-0 before:border-t before:border-border/60`),children:G(e)},e.key))})}),(0,$.jsx)(Pn,{containerRef:d,disableHorizontal:!0})]}),(0,$.jsx)(bt,{open:b,onOpenChange:e=>{!r&&!e&&x(!1)},children:(0,$.jsxs)(_t,{className:`max-w-md`,children:[(0,$.jsxs)(ht,{children:[(0,$.jsx)(vt,{children:u(`gitView.changes.revertAllDialogTitle`)}),(0,$.jsx)(yt,{children:u(V===1?`gitView.changes.revertAllDescriptionSingle`:`gitView.changes.revertAllDescriptionPlural`,{count:V})})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:()=>x(!1),disabled:r,children:u(`gitView.common.cancel`)}),(0,$.jsx)(X,{variant:`destructive`,size:`sm`,onClick:()=>void H(),disabled:r,children:u(r?`gitView.changes.reverting`:`gitView.changes.revertAll`)})]})]})}),(0,$.jsx)(bt,{open:!!S,onOpenChange:e=>{!ee&&!e&&C(null)},children:(0,$.jsxs)(_t,{className:`max-w-md`,children:[(0,$.jsxs)(ht,{children:[(0,$.jsx)(vt,{children:u(`gitView.changes.revertDirectoryDialogTitle`)}),(0,$.jsx)(yt,{children:S?S.count===1?u(`gitView.changes.revertDirectoryDescriptionSingle`,{count:S.count,path:S.path}):u(`gitView.changes.revertDirectoryDescriptionPlural`,{count:S.count,path:S.path}):null})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:()=>C(null),disabled:ee,children:u(`gitView.common.cancel`)}),(0,$.jsx)(X,{variant:`destructive`,size:`sm`,onClick:()=>void U(),disabled:ee||!S,children:u(ee?`gitView.changes.reverting`:`gitView.changes.revertDirectory`)})]})]})})]})},jf=e=>{let t=(0,qr.c)(26),{stagedCount:n,unstagedCount:r,onLoad:i}=e,{t:a}=fe(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(Z,{name:`loader-4`,className:`size-5 text-muted-foreground`}),t[0]=o):o=t[0];let s;t[1]!==n||t[2]!==a?(s=a(`gitView.changes.deferredStagedCount`,{count:n}),t[1]=n,t[2]=a,t[3]=s):s=t[3];let c;t[4]!==a||t[5]!==r?(c=a(`gitView.changes.deferredUnstagedCount`,{count:r}),t[4]=a,t[5]=r,t[6]=c):c=t[6];let l;t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(`p`,{className:`typography-meta text-muted-foreground`,children:[s,` · `,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9];let u;t[10]===a?u=t[11]:(u=a(`gitView.changes.deferredHint`),t[10]=a,t[11]=u);let d;t[12]===u?d=t[13]:(d=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:u}),t[12]=u,t[13]=d);let f;t[14]!==l||t[15]!==d?(f=(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center gap-1`,children:[l,d]}),t[14]=l,t[15]=d,t[16]=f):f=t[16];let p;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Z,{name:`refresh`,className:`size-3.5`}),t[17]=p):p=t[17];let m;t[18]===a?m=t[19]:(m=a(`gitView.changes.deferredLoadAction`),t[18]=a,t[19]=m);let h;t[20]!==i||t[21]!==m?(h=(0,$.jsxs)(X,{type:`button`,size:`sm`,variant:`outline`,onClick:i,children:[p,m]}),t[20]=i,t[21]=m,t[22]=h):h=t[22];let g;return t[23]!==h||t[24]!==f?(g=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center gap-3 px-6 py-8 text-center`,children:[o,f,h]}),t[23]=h,t[24]=f,t[25]=g):g=t[25],g},Mf=e=>e?e.oversized===!0:!1,Nf=38,Pf=200,Ff=e=>{let t=(0,qr.c)(20),{value:n,onChange:r,placeholder:i,disabled:a,hasTouchInput:o,isMobile:s}=e,c=a!==void 0&&a,l=o!==void 0&&o,u=s!==void 0&&s,{t:d}=fe(),f=Q.useRef(null),p=P(If),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{let e=f.current;if(!e)return;let t=document.activeElement===e,n=()=>{e.style.height=`${Nf}px`;let n=e.scrollHeight,r=Math.min(Math.max(n,Nf),Pf);e.style.height=`${r}px`,e.style.overflowY=n>Pf?`auto`:`hidden`,n>Pf&&!t&&(e.scrollTop=e.scrollHeight)};n();let r=window.requestAnimationFrame(n);return()=>{window.cancelAnimationFrame(r)}},t[0]=m):m=t[0];let h;t[1]===n?h=t[2]:(h=[n],t[1]=n,t[2]=h),Q.useLayoutEffect(m,h);let g;t[3]===r?g=t[4]:(g=e=>r(e.target.value),t[3]=r,t[4]=g);let _;t[5]!==i||t[6]!==d?(_=i??d(`gitView.commit.messagePlaceholder`),t[5]=i,t[6]=d,t[7]=_):_=t[7];let v=l?`on`:`off`,y=l?`sentences`:`off`,b=u||p,x=c&&`opacity-50`,S;t[8]===x?S=t[9]:(S=Y(`w-full rounded-lg border border-border/60 bg-surface-elevated px-3 py-2 typography-ui-label text-foreground placeholder:text-muted-foreground`,`resize-none outline-none transition-[border-color,box-shadow] duration-150`,`focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,x),t[8]=x,t[9]=S);let C;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(C={minHeight:Nf,maxHeight:Pf},t[10]=C):C=t[10];let w;return t[11]!==c||t[12]!==b||t[13]!==S||t[14]!==g||t[15]!==_||t[16]!==v||t[17]!==y||t[18]!==n?(w=(0,$.jsx)(`textarea`,{ref:f,value:n,onChange:g,placeholder:_,rows:1,disabled:c,autoCorrect:v,autoCapitalize:y,spellCheck:b,className:S,style:C}),t[11]=c,t[12]=b,t[13]=S,t[14]=g,t[15]=_,t[16]=v,t[17]=y,t[18]=n,t[19]=w):w=t[19],w};function If(e){return e.inputSpellcheckEnabled}var Lf=e=>{let t=(0,qr.c)(30),{highlights:n,onInsert:r}=e,{t:i}=fe();if(n.length===0)return null;let a;t[0]!==n||t[1]!==r?(a=()=>{r(n)},t[0]=n,t[1]=r,t[2]=a):a=t[2];let o=a,s;t[3]===i?s=t[4]:(s=i(`gitView.commit.aiHighlights.title`),t[3]=i,t[4]=s);let c;t[5]===s?c=t[6]:(c=(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:s}),t[5]=s,t[6]=c);let l;t[7]===i?l=t[8]:(l=i(`gitView.commit.aiHighlights.insertAria`),t[7]=i,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Z,{name:`arrow-down`,className:`size-4`}),t[9]=u):u=t[9];let d;t[10]!==o||t[11]!==l?(d=(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`size-6`,onClick:o,"aria-label":l,children:u})}),t[10]=o,t[11]=l,t[12]=d):d=t[12];let f;t[13]===i?f=t[14]:(f=i(`gitView.commit.aiHighlights.insertTooltip`),t[13]=i,t[14]=f);let p;t[15]===f?p=t[16]:(p=(0,$.jsx)(dn,{sideOffset:8,children:f}),t[15]=f,t[16]=p);let m;t[17]!==d||t[18]!==p?(m=(0,$.jsxs)(fn,{children:[d,p]}),t[17]=d,t[18]=p,t[19]=m):m=t[19];let h;t[20]!==c||t[21]!==m?(h=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[c,m]}),t[20]=c,t[21]=m,t[22]=h):h=t[22];let g;t[23]===n?g=t[24]:(g=n.map(Rf),t[23]=n,t[24]=g);let _;t[25]===g?_=t[26]:(_=(0,$.jsx)(`ul`,{className:`space-y-1`,children:g}),t[25]=g,t[26]=_);let v;return t[27]!==h||t[28]!==_?(v=(0,$.jsxs)(`div`,{className:`space-y-2 rounded-xl border border-border/60 bg-transparent px-3 py-2`,children:[h,_]}),t[27]=h,t[28]=_,t[29]=v):v=t[29],v};function Rf(e,t){return(0,$.jsx)(`li`,{className:`typography-meta text-foreground`,children:e},`${e}-${t}`)}var zf=e=>{let t=(0,qr.c)(75),{stagedCount:n,commitMessage:r,onCommitMessageChange:i,generatedHighlights:a,onInsertHighlights:o,onGenerateMessage:s,isGeneratingMessage:c,onCommit:l,onCommitAndPush:u,commitAction:d,hasPendingIndexMutation:f,gitmojiEnabled:p,onOpenGitmojiPicker:m}=e,h=f!==void 0&&f,{t:g}=fe(),_=n>0,v;t[0]!==d||t[1]!==r||t[2]!==h||t[3]!==_?(v=r.trim()&&_&&d===null&&!h,t[0]=d,t[1]=r,t[2]=h,t[3]=_,t[4]=v):v=t[4];let y=v,{isMobile:b,hasTouchInput:x}=Nn(),S;t[5]===g?S=t[6]:(S=g(`gitView.commit.title`),t[5]=g,t[6]=S);let C;t[7]===S?C=t[8]:(C=(0,$.jsx)(`h3`,{className:`typography-ui-header font-semibold text-foreground`,children:S}),t[7]=S,t[8]=C);let w;t[9]!==_||t[10]!==g?(w=_?null:(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-meta text-muted-foreground`,children:g(`gitView.commit.stageFilesHint`)}),t[9]=_,t[10]=g,t[11]=w):w=t[11];let T;t[12]!==C||t[13]!==w?(T=(0,$.jsxs)(`div`,{className:`flex w-full items-baseline gap-2 px-0 pt-2 pb-1`,children:[C,w]}),t[12]=C,t[13]=w,t[14]=T):T=t[14];let E;t[15]!==a||t[16]!==o?(E=(0,$.jsx)(Lf,{highlights:a,onInsert:o}),t[15]=a,t[16]=o,t[17]=E):E=t[17];let D;t[18]===g?D=t[19]:(D=g(`gitView.commit.messagePlaceholder`),t[18]=g,t[19]=D);let O=d!==null,k;t[20]!==r||t[21]!==x||t[22]!==b||t[23]!==i||t[24]!==D||t[25]!==O?(k=(0,$.jsx)(Ff,{value:r,onChange:i,placeholder:D,disabled:O,hasTouchInput:x,isMobile:b}),t[20]=r,t[21]=x,t[22]=b,t[23]=i,t[24]=D,t[25]=O,t[26]=k):k=t[26];let A=c||d!==null||h||n===0,j;t[27]===g?j=t[28]:(j=g(`gitView.commit.generateAria`),t[27]=g,t[28]=j);let M;t[29]===c?M=t[30]:(M=c?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`ai-generate-2`,className:`size-4 text-primary`}),t[29]=c,t[30]=M);let N;t[31]===g?N=t[32]:(N=g(`gitView.commit.generate`),t[31]=g,t[32]=N);let P;t[33]===N?P=t[34]:(P=(0,$.jsx)(`span`,{className:`commit-actions__label`,children:N}),t[33]=N,t[34]=P);let F;t[35]!==s||t[36]!==A||t[37]!==j||t[38]!==M||t[39]!==P?(F=(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:s,disabled:A,type:`button`,"aria-label":j,className:`commit-actions__btn`,children:[M,P]}),t[35]=s,t[36]=A,t[37]=j,t[38]=M,t[39]=P,t[40]=F):F=t[40];let I;t[41]!==p||t[42]!==m||t[43]!==g?(I=p?(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:m,"aria-label":g(`gitView.commit.addGitmoji`),className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,children:(0,$.jsx)(Z,{name:`emotion-happy`,className:`size-4`})})}),(0,$.jsx)(dn,{side:`top`,children:(0,$.jsx)(`p`,{children:g(`gitView.commit.addGitmoji`)})})]}):null,t[41]=p,t[42]=m,t[43]=g,t[44]=I):I=t[44];let L;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(`div`,{className:`flex-1`}),t[45]=L):L=t[45];let R=!y||c,z;t[46]===g?z=t[47]:(z=g(`gitView.commit.commitAria`),t[46]=g,t[47]=z);let B;t[48]!==d||t[49]!==g?(B=d===`commit`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),(0,$.jsx)(`span`,{className:`commit-actions__label`,children:g(`gitView.commit.committing`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`git-commit`,className:`size-4`}),(0,$.jsx)(`span`,{className:`commit-actions__label`,children:g(`gitView.commit.commit`)})]}),t[48]=d,t[49]=g,t[50]=B):B=t[50];let V;t[51]!==l||t[52]!==R||t[53]!==z||t[54]!==B?(V=(0,$.jsx)(X,{size:`sm`,variant:`outline`,onClick:l,disabled:R,className:`commit-actions__btn whitespace-nowrap`,"aria-label":z,children:B}),t[51]=l,t[52]=R,t[53]=z,t[54]=B,t[55]=V):V=t[55];let ee;t[56]!==y||t[57]!==d||t[58]!==c||t[59]!==b||t[60]!==u||t[61]!==g?(ee=b?(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(X,{variant:`default`,size:`sm`,onClick:()=>u(),disabled:!y||c,className:`h-7 w-7 p-0`,"aria-label":g(`gitView.commit.pushAria`),children:d===`commitAndPush`?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`arrow-up`,className:`size-3.5`})})}),(0,$.jsx)(dn,{side:`top`,children:(0,$.jsx)(`p`,{children:g(`gitView.commit.push`)})})]}):(0,$.jsx)(X,{size:`sm`,variant:`default`,onClick:()=>u(),disabled:!y||c,className:`commit-actions__btn`,"aria-label":g(`gitView.commit.pushAria`),children:d===`commitAndPush`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),(0,$.jsx)(`span`,{className:`commit-actions__label commit-actions__label--push`,children:g(`gitView.commit.pushing`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`arrow-up`,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`commit-actions__label commit-actions__label--push`,children:g(`gitView.commit.push`)})]})}),t[56]=y,t[57]=d,t[58]=c,t[59]=b,t[60]=u,t[61]=g,t[62]=ee):ee=t[62];let H;t[63]!==F||t[64]!==I||t[65]!==V||t[66]!==ee?(H=(0,$.jsxs)(`div`,{className:`@container/commit-actions flex items-center gap-2 min-w-0`,children:[F,I,L,V,ee]}),t[63]=F,t[64]=I,t[65]=V,t[66]=ee,t[67]=H):H=t[67];let U;t[68]!==k||t[69]!==H||t[70]!==E?(U=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 px-0 pt-1 pb-3`,children:[E,k,H]}),t[68]=k,t[69]=H,t[70]=E,t[71]=U):U=t[71];let W;return t[72]!==U||t[73]!==T?(W=(0,$.jsxs)(`section`,{className:`border-0 bg-transparent rounded-none`,children:[T,U]}),t[72]=U,t[73]=T,t[74]=W):W=t[74],W},Bf=e=>{let t=(0,qr.c)(29),{className:n,mobile:r}=e,i=r!==void 0&&r,{t:a}=fe(),o=P(Vf),s=P(Hf),c;t[0]===s?c=t[1]:(c=wn(bn(`open_command_palette`,s)),t[0]=s,t[1]=c);let l=c,u=i?`mobileGlass`:`ghost`,d=i?`mobileIcon`:`icon`,f;t[2]===o?f=t[3]:(f=()=>o(!0),t[2]=o,t[3]=f);let p;t[4]===a?p=t[5]:(p=a(`commandPalette.title`),t[4]=a,t[5]=p);let m=!i&&`size-7 rounded-md text-muted-foreground/75 focus-visible:ring-2 focus-visible:ring-primary`,h;t[6]!==n||t[7]!==m?(h=Y(`app-region-no-drag`,m,n),t[6]=n,t[7]=m,t[8]=h):h=t[8];let g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Z,{name:`search`,className:`size-4 text-foreground/55 transition-colors group-hover:text-foreground group-focus-visible:text-foreground`}),t[9]=g):g=t[9];let _;t[10]!==u||t[11]!==d||t[12]!==f||t[13]!==p||t[14]!==h?(_=(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(X,{variant:u,size:d,onClick:f,"aria-label":p,className:h,children:g})}),t[10]=u,t[11]=d,t[12]=f,t[13]=p,t[14]=h,t[15]=_):_=t[15];let v;t[16]===a?v=t[17]:(v=a(`commandPalette.title`),t[16]=a,t[17]=v);let y;t[18]===v?y=t[19]:(y=(0,$.jsx)(`span`,{children:v}),t[18]=v,t[19]=y);let b;t[20]!==i||t[21]!==l?(b=i?null:(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:l}),t[20]=i,t[21]=l,t[22]=b):b=t[22];let x;t[23]!==y||t[24]!==b?(x=(0,$.jsx)(dn,{children:(0,$.jsxs)(`p`,{className:`flex items-center gap-2`,children:[y,b]})}),t[23]=y,t[24]=b,t[25]=x):x=t[25];let S;return t[26]!==_||t[27]!==x?(S=(0,$.jsxs)(fn,{children:[_,x]}),t[26]=_,t[27]=x,t[28]=S):S=t[28],S};function Vf(e){return e.setCommandPaletteOpen}function Hf(e){return e.shortcutOverrides}var Uf=e=>{let t=e.time?.created;return typeof t==`number`&&Number.isFinite(t)?t:0},Wf=(e,t)=>e.filter(e=>t.has(e.id)).sort((e,t)=>Uf(t)-Uf(e)),Gf=e=>e.parentID??null,Kf=e=>{let t=e.time?.archived;return typeof t==`number`&&t>0},qf=(e,t,n,r)=>{let i=[];for(let a of e){if(t.has(a.id)||Kf(a))continue;let e=n.has(a.id),o=(r[a.id]??0)>0&&!Gf(a);!e&&!o||i.push(a)}return i.sort((e,t)=>Ue(t)-Ue(e)),i},Jf=(e,t)=>{let n=e?.trim()||null;return!n||n===`HEAD`||t&&n===t?null:n},Yf=e=>{let t=e.projectLabel?.trim()||null;if(e.isVSCode)return t?{projectLabel:t,branchLabel:null}:null;let n;n=e.owner?.kind===`worktree`?e.worktrees.find(t=>h(t.path)===e.owner?.scopeDirectory)?.branch??e.sessionWorktree?.branch:e.projectRootBranch??e.sessionWorktree?.branch;let r=Jf(n,t);return!t&&!r?null:{projectLabel:t,branchLabel:r}},Xf=e=>!!e.time?.archived,Zf=e=>{let t=e.parentID;return typeof t==`string`&&t.trim()?t:null},Qf=(e,t={})=>{let n=t.pinnedSessionIds??new Set,r=t.omitPinnedSessions===!0,i=t.getWorktree??(()=>null),a=xn(e).sort((e,t)=>Cn(e,t,n)),o=new Map(a.map(e=>[e.id,e])),s=new Map;a.forEach(e=>{let t=Zf(e);if(!t)return;let i=o.get(t);if(!i||Xf(i)!==Xf(e)||r&&n.has(t))return;let a=s.get(t)??[];a.push(e),s.set(t,a)}),s.forEach(e=>e.sort((e,t)=>Cn(e,t,n)));let c=e=>({session:e,children:(s.get(e.id)??[]).filter(e=>!(r&&n.has(e.id))).map(e=>c(e)),worktree:i(e)});return a.filter(e=>!(r&&n.has(e.id)||Zf(e))).map(e=>c(e))},$f=()=>{let e=He.getState(),t=e.currentSessionId,n=P.getState();fu({sessionId:t,isNewSession:!!e.newSessionDraft?.open&&!t,tab:n.activeMainTab||`chat`,isSettingsOpen:n.isSettingsDialogOpen,settingsPath:n.settingsPage,diffFile:null,diffScope:null},{replace:!0,force:!0})},ep=()=>{H(),j.reconnectToRuntimeBaseUrl(),tt.setState({catalogTransportIdentity:n()}),qe()},tp=e=>{He.getState().prepareForRuntimeSwitch(e.previousRuntimeKey),P.getState().prepareForRuntimeSwitch(e.previousRuntimeKey),e.previousRuntimeKey&&Ge.getState().stopRunningRunsForRuntime(e.previousRuntimeKey),H(),j.reconnectToRuntimeBaseUrl();let t=tt.persist.getOptions().storage;tt.persist.setOptions({storage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{}}}),tt.setState({catalogTransportIdentity:n(),activeDirectoryKey:`__global__`,directoryScoped:{},providerConfigLoadingByDirectory:{},agentConfigLoadingByDirectory:{},providers:[],agents:[],defaultProviders:{},currentProviderId:``,currentModelId:``,currentVariant:void 0,currentAgentName:void 0,selectedProviderId:``,agentModelSelections:{},lastSelectedAgentName:void 0,lastUserSelection:void 0,globalLastUserSelection:void 0,opencodeDefaultAgent:void 0,opencodeDefaultModel:void 0,selectionSource:`auto`,settingsDefaultModel:void 0,settingsDefaultVariant:void 0,settingsDefaultAgent:void 0,isConnected:!1,isInitialized:!1,connectionPhase:`connecting`,lastDisconnectReason:null}),tt.persist.setOptions({storage:t}),tt.persist.rehydrate(),at.getState().resetForRuntimeSwitch(),ke.getState().resetForRuntimeSwitch(),De.getState().reset(),jr(),Et(),He.getState().restoreForRuntimeSwitch(e.runtimeKey),P.getState().restoreForRuntimeSwitch(e.runtimeKey),$f(),qe()};export{io as $,Rc as A,Cc as B,$c as C,Gc as D,Jc as E,jc as F,hc as G,pc as H,Oc as I,us as J,uc as K,kc as L,Mc as M,Ac as N,Hc as O,Ec as P,Oo as Q,vc as R,Qc as S,qc as T,mc as U,xc as V,gc as W,Fo as X,Vo as Y,Do as Z,Su as _,qf as a,di as at,Zc as b,zf as c,Af as d,Vi as et,rf as f,Au as g,ju as h,Wf as i,Ci as it,Pc as j,zc as k,Mf as l,$u as m,tp as n,ji as nt,Yf as o,ui as ot,uf as p,Xo as q,Qf as r,wi as rt,Bf as s,ri as st,ep as t,Mi as tt,jf as u,gu as v,Kc as w,Xc as x,Ll as y,Sc as z};
|
|
148
|
+
`)?(W(t),H(!0)):H(!1);return}H(!1)},[]),je=Q.useCallback(e=>{L(t=>({...t,execution:{...t.execution,prompt:e}}))},[]),Me=Q.useCallback(e=>{let t=I.execution.prompt,n=ae.current?.selectionStart??t.length,r=t.substring(0,n).lastIndexOf(`@`),i=e.relativePath&&e.relativePath.trim().length>0?e.relativePath.trim():e.path||e.name,a=$n(t,r===-1?n:r,n,`@${i}`);je(a.text),H(!1),W(``),requestAnimationFrame(()=>{let e=ae.current;e&&(e.selectionStart=a.caret,e.selectionEnd=a.caret,e.focus()),Ae(a.text,a.caret)})},[I.execution.prompt,je,Ae]),Ne=Q.useCallback(e=>{let t=I.execution.prompt,n=ae.current?.selectionStart??t.length,r=t.substring(0,n).lastIndexOf(`@`),i=$n(t,r===-1?n:r,n,`@${e}`);je(i.text),H(!1),W(``),requestAnimationFrame(()=>{let e=ae.current;e&&(e.selectionStart=i.caret,e.selectionEnd=i.caret,e.focus()),Ae(i.text,i.caret)})},[I.execution.prompt,je,Ae]),Fe=Q.useCallback(e=>{let t=`/${e.name} `;je(t),G(!1),ne(``),requestAnimationFrame(()=>{let e=ae.current;e&&(e.focus(),e.selectionStart=e.value.length,e.selectionEnd=e.value.length),Ae(t,t.length)})},[je,Ae]),Ie=Q.useCallback(e=>{if(te&&oe.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)){e.preventDefault(),oe.current.handleKeyDown(e.key);return}ee&&J.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)&&(e.preventDefault(),J.current.handleKeyDown(e.key))},[te,ee]),Le=Q.useCallback(async()=>{let e=Id(I,C);if(e){Pe.error(e);return}let t={...I.id?{id:I.id}:{},name:I.name.trim(),enabled:I.enabled,schedule:{kind:I.schedule.kind,timezone:I.schedule.timezone.trim(),...I.schedule.kind===`cron`?{cron:I.schedule.cronExpression.trim()}:I.schedule.kind===`once`?{date:I.schedule.onceDate,time:I.schedule.onceTime}:{times:Ld(I.schedule.times),...I.schedule.kind===`weekly`?{weekdays:I.schedule.weekdays}:{}}},execution:{prompt:I.execution.prompt,providerID:I.execution.providerID,modelID:I.execution.modelID,...I.execution.variant.trim()?{variant:I.execution.variant.trim()}:{},...I.execution.agent.trim()?{agent:I.execution.agent.trim()}:{},...I.execution.goalEnabled?{goalEnabled:!0}:{},...I.execution.goalEnabled&&I.execution.goalTokenBudget?{goalTokenBudget:I.execution.goalTokenBudget}:{}},...I.state?{state:I.state}:{}};z(!0);try{let e=await i(t);if(a===`panel`){let t=Fd(e||n,{providerID:O,modelID:k,variant:A,agent:j});se.current=JSON.stringify(t),L(t),o?.(!1)}else r(!1)}catch(e){Pe.error(e instanceof Error?e.message:C(`sessions.scheduledTasks.editor.toast.saveFailed`))}finally{z(!1)}},[j,k,O,A,I,o,r,i,a,C,n]),Re=Q.useId(),ze=Q.useCallback(()=>typeof document>`u`?!1:!!document.querySelector(`[data-slot="dropdown-menu-content"], [data-slot="select-content"]`),[]),Be=C(n?`sessions.scheduledTasks.editor.title.edit`:`sessions.scheduledTasks.editor.title.new`),Ve=C(`sessions.scheduledTasks.editor.description`),He=(0,$.jsxs)(`div`,{className:Y(`oc-settings-workspace oc-settings-page-content oc-scheduled-task-form`,F?`oc-settings-workspace-mobile`:`oc-settings-workspace-desktop`),children:[(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,(h||_)&&`hidden`),children:[(0,$.jsx)(kd,{htmlFor:`sched-name`,required:!0,children:C(`sessions.scheduledTasks.editor.taskName.label`)}),(0,$.jsx)(ln,{id:`sched-name`,value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),maxLength:80,className:`w-full`})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-3 border-t border-border/40 pt-5`,b&&`oc-settings-group order-4 animate-in fade-in slide-in-from-right-1 border-0 pt-0 duration-200 [animation-delay:80ms] [animation-fill-mode:both] motion-reduce:animate-none`),children:[b?(0,$.jsx)(`h3`,{className:td,children:C(`sessions.scheduledTasks.editor.panel.frequency`)}):null,(0,$.jsxs)(`div`,{className:Y(b&&`oc-settings-group-card`,b&&I.schedule.kind===`once`&&B&&`overflow-visible`),children:[(0,$.jsx)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&[S,`last:border-b`]),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.scheduleType.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsxs)(tn,{value:I.schedule.kind,onValueChange:e=>{L(t=>({...t,schedule:{...t.schedule,kind:e,...e===`cron`&&!t.schedule.cronExpression?{cronExpression:`0 * * * *`}:{}}}))},children:[(0,$.jsx)(Yt,{className:Y(!b&&sd,b&&x),children:(0,$.jsx)(cn,{children:e=>C(e===`daily`?`sessions.scheduledTasks.editor.scheduleType.daily`:e===`weekly`?`sessions.scheduledTasks.editor.scheduleType.weekly`:e===`cron`?`sessions.scheduledTasks.editor.scheduleType.cron`:`sessions.scheduledTasks.editor.scheduleType.once`)})}),(0,$.jsxs)(Qt,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(qt,{value:`daily`,children:C(`sessions.scheduledTasks.editor.scheduleType.daily`)}),(0,$.jsx)(qt,{value:`weekly`,children:C(`sessions.scheduledTasks.editor.scheduleType.weekly`)}),(0,$.jsx)(qt,{value:`once`,children:C(`sessions.scheduledTasks.editor.scheduleType.once`)}),(0,$.jsx)(qt,{value:`cron`,children:C(`sessions.scheduledTasks.editor.scheduleType.cron`)})]})]})})]})}),I.schedule.kind===`cron`?(0,$.jsx)(Rd,{draft:I,setDraft:L,locale:w,t:C,panel:h,mobilePanel:v}):I.schedule.kind===`once`?(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:[(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),ref:q,children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.date.label`)}),(0,$.jsxs)(`div`,{"data-settings-value":b?``:void 0,className:Y(`relative`,b&&`oc-settings-split-row-control`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(!b&&sd,`flex items-center justify-between gap-2 text-left`,b&&[x,`w-full`]),onClick:()=>V(e=>!e),children:[(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(Z,{name:`calendar`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:hd(I.schedule.onceDate,C(`sessions.scheduledTasks.editor.date.placeholder`),w)})]}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:`h-4 w-4 shrink-0 text-muted-foreground`})]}),B?(0,$.jsxs)(`div`,{className:Y(`absolute top-[calc(100%+6px)] z-50 w-[min(288px,calc(100vw-2rem))] animate-in fade-in zoom-in-95 slide-in-from-top-1 rounded-xl border border-border bg-background p-3 shadow-sm duration-150 motion-reduce:animate-none`,v?`right-0`:`left-0`),children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-interactive-hover disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>ie(e=>gd(e,-1)),"aria-label":C(`sessions.scheduledTasks.editor.date.previousMonth`),disabled:De,children:(0,$.jsx)(Z,{name:`arrow-left-s`,className:`h-4 w-4`})}),(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:new Intl.DateTimeFormat(w,{month:`long`,year:`numeric`}).format(re)}),(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-interactive-hover`,onClick:()=>ie(e=>gd(e,1)),"aria-label":C(`sessions.scheduledTasks.editor.date.nextMonth`),children:(0,$.jsx)(Z,{name:`arrow-right-s`,className:`h-4 w-4`})})]}),(0,$.jsx)(`div`,{className:`mb-1 grid grid-cols-7 gap-1 px-1`,children:Oe.map((e,t)=>(0,$.jsx)(`div`,{className:`py-1 text-center typography-micro text-muted-foreground`,children:e},`${e}-${t}`))}),(0,$.jsx)(`div`,{className:`grid grid-cols-7 gap-1`,children:_d(re,he).map(({date:e,inCurrentMonth:t})=>{let n=md(e),r=n===I.schedule.onceDate,i=Nd(e,Ce),a=e.getTime()<Ce.getTime();return(0,$.jsx)(`button`,{type:`button`,onClick:()=>{a||(ke(n),V(!1))},disabled:a,className:[`h-8 rounded-md typography-ui-label`,r?`bg-interactive-selection text-interactive-selection-foreground`:a?`text-muted-foreground/40`:t?`text-foreground hover:bg-interactive-hover`:`text-muted-foreground/60 hover:bg-interactive-hover`,i&&!r?`ring-1 ring-inset ring-interactive-focusRing bg-interactive-hover/50`:``,a?`cursor-not-allowed opacity-45`:``].join(` `),children:e.getDate()},n)})}),(0,$.jsxs)(`div`,{className:`mt-2 flex items-center justify-between border-t border-border pt-2`,children:[(0,$.jsx)(`div`,{className:`typography-micro text-muted-foreground`,children:Ee||``}),(0,$.jsx)(X,{type:`button`,size:`xs`,variant:`ghost`,onClick:()=>{ke(md(Ce)),ie(new Date(Ce.getFullYear(),Ce.getMonth(),1))},children:C(`sessions.scheduledTasks.editor.date.jumpToToday`)})]})]}):null]})]}),(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.time.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsx)(Ad,{value:I.schedule.onceTime,className:Y(b&&`oc-settings-inline-value w-fit min-w-0 justify-end`),use24Hour:me,hourAriaLabel:C(`sessions.scheduledTasks.editor.time.hourAria`),minuteAriaLabel:C(`sessions.scheduledTasks.editor.time.minuteAria`),periodAriaLabel:C(`sessions.scheduledTasks.editor.time.periodAria`),amLabel:C(`sessions.scheduledTasks.editor.time.period.am`),pmLabel:C(`sessions.scheduledTasks.editor.time.period.pm`),onChange:e=>L(t=>({...t,schedule:{...t.schedule,onceTime:e}}))})})]})]}):(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:[I.schedule.kind===`weekly`?(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,b&&[`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,`oc-settings-split-row`],!F&&!b&&`sm:col-span-2`),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.weekdays.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(`flex flex-wrap gap-x-3 gap-y-2`,b&&`oc-settings-split-row-control justify-end`),children:ge.map(e=>{let t=I.schedule.weekdays.includes(e.value);return(0,$.jsxs)(`div`,{className:[`group inline-flex items-center gap-1.5 px-0.5 py-0.5 typography-meta`,t?`text-foreground`:`text-muted-foreground`].join(` `),children:[(0,$.jsx)(Kt,{checked:t,onChange:t=>ye(e.value,t),ariaLabel:e.label}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>ye(e.value,!t),className:`group-hover:text-foreground`,children:e.label})]},e.value)})})]}):null,(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-2`,b&&[S,`justify-start`],v&&`flex-col items-stretch`),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.times.label`)}),(0,$.jsxs)(`div`,{"data-settings-value":b?``:void 0,className:Y(b?`oc-settings-split-row-control relative flex-wrap justify-end`:`contents`),children:[(0,$.jsx)(`div`,{className:Y(`flex flex-col gap-2`,b&&`flex-row flex-wrap justify-end transition-[padding] motion-reduce:transition-none`,h&&`group-hover:pr-8`),children:I.schedule.times.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(Ad,{value:e,className:Y(b&&`oc-settings-inline-value w-fit min-w-0`),use24Hour:me,hourAriaLabel:C(`sessions.scheduledTasks.editor.time.hourAria`),minuteAriaLabel:C(`sessions.scheduledTasks.editor.time.minuteAria`),periodAriaLabel:C(`sessions.scheduledTasks.editor.time.periodAria`),amLabel:C(`sessions.scheduledTasks.editor.time.period.am`),pmLabel:C(`sessions.scheduledTasks.editor.time.period.pm`),onChange:e=>be(t,e)}),I.schedule.times.length>1?(0,$.jsx)(X,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>xe(t),"aria-label":C(`sessions.scheduledTasks.editor.times.removeAria`),children:(0,$.jsx)(Z,{name:`close`,className:`h-4 w-4`})}):null]},t))}),(0,$.jsx)(`div`,{className:Y(b&&`shrink-0`,h&&`absolute right-0`),children:(0,$.jsxs)(X,{type:`button`,size:b?`icon`:`sm`,variant:b?`ghost`:`outline`,className:Y(`h-9`,h&&`size-7 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 motion-reduce:transition-none`,v&&`size-9`),onClick:Se,"aria-label":C(`sessions.scheduledTasks.editor.times.add`),children:[(0,$.jsx)(Z,{name:`add`,className:Y(`h-4 w-4`,!b&&`mr-1`)}),b?null:C(`sessions.scheduledTasks.editor.times.add`)]})})]})]})]})]})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-3 border-t border-border/40 pt-5`,b&&`contents`),children:[(0,$.jsxs)(`div`,{className:Y(b?`oc-settings-group order-2`:`contents`),children:[b?(0,$.jsx)(`h3`,{className:td,children:C(`sessions.scheduledTasks.editor.panel.details`)}):null,(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&[`flex flex-col gap-0 animate-in fade-in slide-in-from-right-1 duration-200 [animation-delay:40ms] [animation-fill-mode:both] motion-reduce:animate-none`,`oc-settings-group-card`],!F&&!b&&`sm:grid-cols-2`),children:[p.length>0?(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.dialog.project.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsxs)(tn,{value:f,disabled:!m,onValueChange:m,children:[(0,$.jsx)(Yt,{className:Y(!b&&sd,b&&x),children:(0,$.jsx)(cn,{children:e=>p.find(t=>t.id===e)?.label})}),(0,$.jsx)(Qt,{className:`motion-reduce:transition-none`,children:p.map(e=>(0,$.jsx)(qt,{value:e.id,children:e.label},e.id))})]})})]}):null,(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(kd,{required:!0,children:C(`sessions.scheduledTasks.editor.model.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsx)(hn,{providerId:I.execution.providerID,modelId:I.execution.modelID,variant:I.execution.variant,className:Y(!b&&sd,b&&x,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),showIcon:!h,onChange:(e,t,n=``)=>{L(r=>({...r,execution:{...r.execution,providerID:e,modelID:t,variant:n}}))}})})]}),b?(0,$.jsxs)(`div`,{className:S,children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.agent.label`)}),(0,$.jsx)(`div`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(On,{agentName:I.execution.agent,className:Y(x,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),showIcon:!0,filter:e=>tt(e.mode),onChange:e=>L(t=>({...t,execution:{...t.execution,agent:e}}))})})]}):null,b?(0,$.jsxs)(`label`,{className:Y(S,`cursor-pointer`),children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:C(`sessions.scheduledTasks.editor.goal.label`)}),(0,$.jsx)(`span`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(Kt,{checked:I.execution.goalEnabled,onChange:e=>L(t=>({...t,execution:{...t.execution,goalEnabled:e}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.aria`)})})]}):null]})]}),b?null:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,$.jsx)(kd,{children:C(`sessions.scheduledTasks.editor.agent.label`)}),(0,$.jsx)(On,{agentName:I.execution.agent,className:Y(sd,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),filter:e=>tt(e.mode),onChange:e=>L(t=>({...t,execution:{...t.execution,agent:e}}))})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,b&&`order-1`),children:[(0,$.jsx)(`div`,{className:Y(b&&`sr-only`),children:(0,$.jsx)(kd,{htmlFor:`sched-prompt`,required:!0,children:C(`sessions.scheduledTasks.editor.prompt.label`)})}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Gn,{id:`sched-prompt`,ref:ae,value:I.execution.prompt,onChange:e=>{let t=e.target.value;je(t);let n=e.target.selectionStart??t.length;Ae(t,n)},onKeyDown:Ie,rows:b?4:8,simple:b,placeholder:C(`sessions.scheduledTasks.editor.prompt.placeholder`),className:Y(`typography-meta min-h-[120px] max-h-[300px] resize-none overflow-y-auto`,b&&`!h-32 !min-h-32 !max-h-32 rounded-2xl border border-border/60 bg-[var(--surface-elevated)] px-4 py-4 text-base shadow-none ring-0 placeholder:text-muted-foreground/65 focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`)}),te?(0,$.jsx)(tr,{ref:oe,searchQuery:K,onCommandSelect:Fe,onClose:()=>G(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,ee?(0,$.jsx)(Yn,{ref:J,searchQuery:U,onFileSelect:Me,onAgentSelect:Ne,onSkillSelect:e=>Ne(e.name),onClose:()=>H(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null]})]}),b?null:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-8 gap-y-2`,children:[(0,$.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-2`,children:[(0,$.jsx)(Kt,{checked:I.execution.goalEnabled,onChange:e=>L(t=>({...t,execution:{...t.execution,goalEnabled:e}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.aria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.goal.label`)})]}),I.execution.goalEnabled?(0,$.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-2`,children:[(0,$.jsx)(Kt,{checked:I.execution.goalTokenBudget!==null,onChange:e=>L(t=>({...t,execution:{...t.execution,goalTokenBudget:e?2e5:null}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.budgetAria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.goal.budgetLabel`)})]}):null,I.execution.goalEnabled&&I.execution.goalTokenBudget!==null?(0,$.jsx)(Mr,{value:I.execution.goalTokenBudget,onValueChange:e=>{typeof e==`number`&&Number.isFinite(e)&&e>0&&L(t=>({...t,execution:{...t.execution,goalTokenBudget:Math.floor(e)}}))},min:1e3,max:1e8,step:5e4}):null]})]})]}),Ue=(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-between gap-3`,a===`panel`&&`justify-end`,y&&`flex-nowrap gap-2`),children:[(0,$.jsxs)(`label`,{className:Y(`inline-flex items-center gap-2`,a===`panel`&&`hidden`),children:[(0,$.jsx)(Kt,{checked:I.enabled,onChange:e=>L(t=>({...t,enabled:e})),ariaLabel:C(`sessions.scheduledTasks.editor.enabled.aria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.enabled.label`)})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-end gap-2`,y&&`ml-auto flex-nowrap`),children:[a!==`panel`&&!y?(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>r(!1),disabled:R,children:C(`sessions.scheduledTasks.editor.actions.cancel`)}):null,(0,$.jsx)(X,{type:`button`,size:`sm`,className:Y(a===`panel`&&`rounded-lg`,y&&`min-h-11 px-5`),onClick:Le,disabled:R,children:C(R?`sessions.scheduledTasks.editor.actions.saving`:n?`sessions.scheduledTasks.editor.actions.save`:`sessions.scheduledTasks.dialog.actions.create`)})]})]}),We=!!(n&&c),Ge=n&&l&&s?(0,$.jsxs)(En,{children:[(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsx)(X,{type:`button`,variant:_?`mobileGlass`:`ghost`,size:_?`mobileIcon`:`icon`,className:Y(!_&&`rounded-lg`,!_&&(F?`size-11`:`size-8`)),disabled:R||d,"aria-label":C(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:n.name}),children:(0,$.jsx)(Z,{name:`more-2`,className:_?`size-5`:`size-4`})})}),(0,$.jsxs)(Sn,{align:`end`,className:`min-w-40 motion-reduce:transition-none`,children:[(0,$.jsxs)(vn,{className:Y(_&&`min-h-11`),onSelect:()=>void s(n),children:[(0,$.jsx)(Z,{name:`play`,className:`size-4`}),C(`sessions.scheduledTasks.dialog.actions.runNow`)]}),We?(0,$.jsxs)(vn,{className:Y(_&&`min-h-11`),onSelect:()=>c?.(n),children:[(0,$.jsx)(Z,{name:`history`,className:`size-4`}),C(`sessions.scheduledTasks.workspace.views.history`)]}):null,u?(0,$.jsxs)(vn,{className:Y(_&&`min-h-11`),onSelect:()=>void u(n,!n.enabled),children:[(0,$.jsx)(Z,{name:n.enabled?`pause`:`play`,className:`size-4`}),n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.pauseAria`,{taskName:n.name}):C(`sessions.scheduledTasks.dialog.taskToggle.enableAria`,{taskName:n.name})]}):null,(0,$.jsxs)(vn,{variant:`destructive`,className:Y(_&&`min-h-11`),onSelect:()=>void l(n),children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),C(`sessions.scheduledTasks.dialog.actions.delete`)]})]})]}):null;return a===`panel`?t?(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-labelledby":`scheduled-task-panel-title`,children:[(0,$.jsxs)(`header`,{className:`shrink-0 animate-in fade-in slide-in-from-right-1 px-6 pb-4 pt-5 duration-200 motion-reduce:animate-none`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:Y(`typography-meta font-medium`,n?.enabled?`text-[var(--status-info)]`:`text-muted-foreground`),children:n?n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.enabled`):C(`sessions.scheduledTasks.dialog.taskToggle.paused`):Be}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[Ge,n&&u?(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`rounded-lg`,F?`size-11`:`size-8`),disabled:R||d,onClick:()=>void u(n,!n.enabled),"aria-label":n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.pauseAria`,{taskName:n.name}):C(`sessions.scheduledTasks.dialog.taskToggle.enableAria`,{taskName:n.name}),children:(0,$.jsx)(Z,{name:n.enabled?`pause`:`play`,className:`size-4`})}):null,(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`rounded-lg`,F?`size-11`:`size-8`),onClick:()=>r(!1),"aria-label":C(`sessions.scheduledTasks.editor.actions.cancel`),children:(0,$.jsx)(Z,{name:F?`arrow-left`:`close`,className:`size-4`})})]})]}),(0,$.jsx)(`h2`,{id:`scheduled-task-panel-title`,className:`sr-only`,children:Be}),(0,$.jsx)(ln,{value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),"aria-label":C(`sessions.scheduledTasks.editor.taskName.label`),maxLength:80,className:`mt-1 !h-9 !min-h-9 border-0 bg-transparent px-0 text-lg font-semibold shadow-none ring-0 hover:!bg-transparent focus:!bg-transparent focus:ring-0`})]}),(0,$.jsx)(Wn,{className:`min-h-0 flex-1 overflow-auto [scrollbar-gutter:stable]`,size:64,hideTopShadow:!0,children:(0,$.jsx)(`div`,{className:`px-6 pb-6 pt-2`,children:He})}),(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-border/50 bg-background/95 px-6 py-3 backdrop-blur-sm`,children:Ue})]}):null:a===`mobile-panel`?t?(0,$.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col bg-background`,"aria-label":Be,children:[(0,$.jsx)(Wn,{className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden`,size:48,hideTopShadow:!0,children:(0,$.jsx)(`div`,{className:`w-full px-3 pb-6 pt-4`,children:He})}),(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-border/50 bg-background/95 px-3 py-2 backdrop-blur-sm`,children:Ue})]}):null:a===`mobile-tab`?t?(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-label":Be,children:[(0,$.jsx)(we,{sticky:!0,title:Be,backAriaLabel:C(`header.actions.backAria`),onBack:()=>r(!1),backDisabled:R,trailing:[(0,$.jsx)(X,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,className:`text-primary`,onClick:Le,disabled:R,"aria-label":C(R?`sessions.scheduledTasks.editor.actions.saving`:n?`sessions.scheduledTasks.editor.actions.save`:`sessions.scheduledTasks.dialog.actions.create`),"aria-busy":R,children:(0,$.jsx)(Z,{name:R?`loader-4`:`check`,className:Y(`size-5`,R&&`animate-spin motion-reduce:animate-none`)})},`save`),Ge?(0,$.jsx)(Q.Fragment,{children:Ge},`more`):null]}),(0,$.jsxs)(`div`,{className:`oc-mobile-scheduled-editor-body min-h-0 flex-1 overflow-y-auto overflow-x-hidden px-[var(--oc-mobile-page-inline-inset)] pt-4`,children:[(0,$.jsxs)(`div`,{className:`mb-5 flex items-center gap-4`,children:[(0,$.jsx)(ln,{value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),"aria-label":C(`sessions.scheduledTasks.editor.taskName.label`),maxLength:80,className:`oc-mobile-detail-editor-title min-w-0 flex-1 !h-auto min-h-0 border-0 bg-transparent px-0 py-0 text-xl font-semibold shadow-none ring-0 hover:!bg-transparent focus:!bg-transparent focus:ring-0`}),(0,$.jsx)(ai,{checked:I.enabled,onCheckedChange:e=>L(t=>({...t,enabled:e})),disabled:R,"aria-label":C(`sessions.scheduledTasks.editor.enabled.aria`)})]}),He]})]}):null:F?(0,$.jsx)(Tn,{open:t,title:Be,onClose:()=>r(!1),contentMaxHeightClassName:`max-h-[min(80vh,640px)]`,renderHeader:e=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 border-b border-border/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:Be}),e]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:Ve})]}),footer:Ue,children:He}):(0,$.jsx)(bt,{open:t,onOpenChange:e=>{!e&&ze()||r(e)},children:(0,$.jsxs)(_t,{"aria-describedby":Re,className:`!max-w-[720px] w-[90vw] h-[680px] max-h-[85vh] gap-0 p-0 overflow-hidden`,children:[(0,$.jsx)(yt,{id:Re,className:`sr-only`,children:Ve}),(0,$.jsx)(`header`,{className:`shrink-0 px-4 sm:px-6 pt-5 pb-3`,children:(0,$.jsxs)(`div`,{className:`mx-auto w-full max-w-2xl`,children:[(0,$.jsx)(vt,{className:`typography-ui-label font-medium text-foreground`,children:Be}),(0,$.jsx)(`p`,{className:`typography-meta mt-0.5 text-muted-foreground`,children:Ve})]})}),(0,$.jsx)(Wn,{className:`flex-1 min-h-0 overflow-auto [scrollbar-gutter:stable_both-edges]`,size:64,hideTopShadow:!0,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-2xl px-4 sm:px-6 pb-5`,children:He})}),(0,$.jsx)(`div`,{className:`shrink-0 px-4 sm:px-6 py-3`,children:(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-2xl`,children:Ue})})]})})}function Bd(e){return bd(e,{min:0,max:23})}function Vd(e,t){return bd(String(Number.parseInt(e,10)+t),{min:0,max:23,loop:!0})}function Hd(e,t){let n=Number(e),r=Number(t),i=Number.isFinite(n)?Math.min(23,Math.max(0,n)):0,a=Number.isFinite(r)?Math.min(59,Math.max(0,r)):0;return`${String(i).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`}var Ud=e=>{let t=(Array.isArray(e.schedule.times)?e.schedule.times:e.schedule.time?[e.schedule.time]:[]).filter(e=>typeof e==`string`&&/^([01]\d|2[0-3]):([0-5]\d)$/.test(e));return Array.from(new Set(t)).sort((e,t)=>e.localeCompare(t))},Wd=(e,t,n=!0)=>{let r=Ud(e).join(`, `)||`--:--`,i=e=>t(e===0?`sessions.scheduledTasks.dialog.schedule.weekdayShort.sun`:e===1?`sessions.scheduledTasks.dialog.schedule.weekdayShort.mon`:e===2?`sessions.scheduledTasks.dialog.schedule.weekdayShort.tue`:e===3?`sessions.scheduledTasks.dialog.schedule.weekdayShort.wed`:e===4?`sessions.scheduledTasks.dialog.schedule.weekdayShort.thu`:e===5?`sessions.scheduledTasks.dialog.schedule.weekdayShort.fri`:e===6?`sessions.scheduledTasks.dialog.schedule.weekdayShort.sat`:`sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown`);if(e.schedule.kind===`daily`)return n&&e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.dailyWithTimezone`,{time:r,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.daily`,{time:r});if(e.schedule.kind===`weekly`){let a=Array.isArray(e.schedule.weekdays)?e.schedule.weekdays.map(e=>i(e)).join(`, `):``;return n&&e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone`,{days:a,time:r,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.weekly`,{days:a,time:r})}if(e.schedule.kind===`once`){let r=typeof e.schedule.date==`string`&&e.schedule.date.trim().length>0?e.schedule.date:t(`sessions.scheduledTasks.dialog.schedule.unknownDate`),i=typeof e.schedule.time==`string`&&e.schedule.time.trim().length>0?e.schedule.time:`--:--`;return n&&e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.onceWithTimezone`,{date:r,time:i,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.once`,{date:r,time:i})}return n&&e.schedule.timezone?t(`sessions.scheduledTasks.dialog.schedule.cronWithTimezone`,{cron:e.schedule.cron||``,timezone:e.schedule.timezone}):t(`sessions.scheduledTasks.dialog.schedule.cron`,{cron:e.schedule.cron||``})},Gd=(e,t)=>{if(!e||!Number.isFinite(e))return``;let n=e-Date.now(),r=Math.abs(n),i=6e4,a=60*i,o=24*a,s=n>=0;if(r<i)return t(s?`sessions.scheduledTasks.dialog.relativeTime.inLessThanOneMinute`:`sessions.scheduledTasks.dialog.relativeTime.justNow`);if(r<a){let e=Math.round(r/i);return t(s?`sessions.scheduledTasks.dialog.relativeTime.inMinutes`:`sessions.scheduledTasks.dialog.relativeTime.minutesAgo`,{count:e})}if(r<o){let e=Math.floor(r/a),n=Math.round(r%a/i),o=n>0?`${e}h ${n}m`:`${e}h`;return t(s?`sessions.scheduledTasks.dialog.relativeTime.inDuration`:`sessions.scheduledTasks.dialog.relativeTime.durationAgo`,{duration:o})}let c=Math.floor(r/o),l=Math.round(r%o/a),u=l>0?`${c}d ${l}h`:`${c}d`;return t(s?`sessions.scheduledTasks.dialog.relativeTime.inDuration`:`sessions.scheduledTasks.dialog.relativeTime.durationAgo`,{duration:u})},Kd=e=>new Intl.DateTimeFormat(he(),{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)),qd=(e,t)=>{if(e.status===`running`)return Math.max(0,t-e.startedAt);if(typeof e.finishedAt==`number`&&Number.isFinite(e.finishedAt)){let t=Math.max(0,e.finishedAt-e.startedAt);return typeof e.durationMs==`number`&&Number.isFinite(e.durationMs)&&e.durationMs>=0?Math.max(e.durationMs,t):t}return typeof e.durationMs==`number`&&Number.isFinite(e.durationMs)&&e.durationMs>=0?e.durationMs:null},Jd=e=>{if(e===null||!Number.isFinite(e)||e<0)return null;if(e<1e3)return`<1s`;let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r>0?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a>0?`${i}h ${a}m`:`${i}h`},Yd={success:{tone:`success`,Icon:`checkbox-circle`},error:{tone:`error`,Icon:`error-warning`},running:{tone:`warning`,Icon:`loader-4`,spin:!0},idle:{tone:`muted`,Icon:`pulse`}},Xd=e=>e===`muted`?{}:{color:`var(--status-${e})`,backgroundColor:`var(--status-${e}-background)`,borderColor:`var(--status-${e}-border)`},Zd=({projectId:e,taskId:t})=>`${e}:${t}`,Qd=p.scoped(`scheduled-tasks`),$d=p.scoped(`scheduled-task-runs`),ef=null,tf=()=>ef?ef():(P.getState().setScheduledTasksDialogOpen(!1),!0),nf=(e,t,n)=>({tasks:[...e?.tasks.filter(e=>e.projectId!==t)??[],...n.map(e=>({projectId:t,task:e}))],failedProjectIds:e?.failedProjectIds.filter(e=>e!==t)??[]});function rf(){let e=(0,qr.c)(9),{t}=fe(),n=P(lf),r=P(cf);if(!P(sf))return null;let i;e[0]===t?i=e[1]:(i=t(`sessions.scheduledTasks.dialog.title`),e[0]=t,e[1]=i);let a;e[2]!==n||e[3]!==r?(a=(0,$.jsx)(uf,{presentation:`mobile-panel`,open:n,onOpenChange:r}),e[2]=n,e[3]=r,e[4]=a):a=e[4];let o;return e[5]!==n||e[6]!==i||e[7]!==a?(o=(0,$.jsx)(Tn,{open:n,title:i,onClose:of,className:`h-[min(92dvh,760px)] max-w-none sm:max-w-2xl`,contentMaxHeightClassName:`max-h-none`,renderHeader:af,containedBody:!0,children:a}),e[5]=n,e[6]=i,e[7]=a,e[8]=o):o=e[8],o}function af(){return null}function of(){return tf()}function sf(e){return e.isMobile}function cf(e){return e.setScheduledTasksDialogOpen}function lf(e){return e.isScheduledTasksDialogOpen}function uf({presentation:e=`workspace`,open:t=!0,onOpenChange:n,registerEditorBackHandler:r,onEditorActiveChange:i}={}){let{t:a}=fe(),o=Er(),s=P(e=>e.isMobile),c=P(e=>e.setMainTabGuard),l=ot(e=>e.projects),u=ot(e=>e.getActiveProject())?.id||l[0]?.id||``,[f,p]=Q.useState(u),[m,h]=Q.useState(null),[g,_]=Q.useState(`closed`),[v,y]=Q.useState(`all`),[b,x]=Q.useState(()=>ou().scheduleView===`history`?`history`:`tasks`),[S,C]=Q.useState(``),[w,T]=Q.useState(!1),E=Q.useRef(!1),D=ce(e=>{E.current=e,T(e)}),[O,k]=Q.useState(null),[A,j]=Q.useState(null),[M,F]=Q.useState(null),[I,L]=Q.useState(null),R=Q.useRef(null),B=Q.useRef(null),H=e===`mobile-tab`,U=e===`mobile-panel`||H;Q.useEffect(()=>{if(H)return i?.(g!==`closed`),()=>i?.(!1)},[g,H,i]),Q.useEffect(()=>{if(!t)return;let e=()=>{let e=ou();if(e.tab===`schedule`||P.getState().activeMainTab===`schedule`){let t=e.scheduleView===`history`?`history`:`tasks`;x(e=>e===t?e:t)}};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[t]),Q.useEffect(()=>{l.some(e=>e.id===f)||p(u)},[f,u,l]);let W=V({queryKey:Qd,enabled:t,refetchOnMount:`always`,queryFn:be,select:e=>({...e,tasks:[...e.tasks].sort((e,t)=>e.task.enabled===t.task.enabled?e.task.name.localeCompare(t.task.name):e.task.enabled?-1:1)})}),te=Q.useMemo(()=>W.data?.tasks??[],[W.data]),G=W.data?.failedProjectIds??[],K=Q.useMemo(()=>m?te.find(({projectId:e,task:t})=>e===m.projectId&&t.id===m.taskId)??null:null,[m,te]),ne=K?.task??null,re=ee({queryKey:[...$d,I?.projectId??``,I?.taskId??``],enabled:t&&b===`history`,initialPageParam:void 0,queryFn:({pageParam:e,signal:t})=>Se({before:e,limit:20,...I?{projectId:I.projectId,taskId:I.taskId}:{}},t),getNextPageParam:e=>e.complete?void 0:e.nextCursor??void 0,refetchOnMount:`always`}),ie=Q.useMemo(()=>{let e=new Set,t=[];for(let n of re.data?.pages??[])for(let r of n.runs)e.has(r.id)||(e.add(r.id),t.push(r));return t},[re.data]),q=Q.useMemo(()=>ie.some(e=>e.status===`running`),[ie]),ae=Q.useMemo(()=>{if(!I)return null;let e=te.find(({projectId:e,task:t})=>e===I.projectId&&t.id===I.taskId);return e?.task.name?e.task.name:ie.find(e=>e.projectId===I.projectId&&e.taskId===I.taskId)?.taskName||I.taskId},[I,ie,te]),[J,oe]=Q.useState(()=>Date.now());Q.useEffect(()=>{if(!t||b!==`history`||!q)return;oe(Date.now());let e=window.setInterval(()=>oe(Date.now()),1e3);return()=>window.clearInterval(e)},[q,t,b]);let se=Q.useMemo(()=>new Map(l.map(e=>[e.id,e])),[l]);Q.useEffect(()=>{W.error&&Pe.error(W.error instanceof Error?W.error.message:a(`sessions.scheduledTasks.dialog.toast.loadFailed`))},[W.error,a]),Q.useEffect(()=>{let e=null,t=Qe(t=>{t.type===`scheduled-task-ran`&&(e&&clearTimeout(e),e=setTimeout(()=>{d.invalidateQueries({queryKey:Qd,exact:!0}),d.invalidateQueries({queryKey:$d})},400))});return()=>{e&&clearTimeout(e),t()}},[]),Q.useEffect(()=>{g===`edit`&&m&&!K&&W.isSuccess&&(h(null),_(`closed`))},[g,K,m,W.isSuccess]);let le=z({mutationFn:({projectID:e,taskDraft:t})=>ye(e,t),onSuccess:(e,{projectID:t})=>{d.setQueryData(Qd,n=>nf(n,t,e))}}),ue=z({mutationFn:({projectID:e,taskID:t})=>xe(e,t),onSuccess:(e,{projectID:t})=>{d.setQueryData(Qd,n=>nf(n,t,e))}}),de=z({mutationFn:({projectID:e,taskID:t})=>Ce(e,t),onSuccess:()=>{d.invalidateQueries({queryKey:Qd,exact:!0}),d.invalidateQueries({queryKey:$d})}}),me=z({mutationFn:({projectID:e,task:t})=>ye(e,t),onMutate:({projectID:e,task:t})=>{let n=d.getQueryData(Qd);return d.setQueryData(Qd,n=>n&&{...n,tasks:n.tasks.map(n=>n.projectId===e&&n.task.id===t.id?{projectId:e,task:t}:n)}),{previousTasks:n}},onSuccess:(e,{projectID:t})=>{d.setQueryData(Qd,n=>nf(n,t,e))},onError:(e,t,n)=>{n?.previousTasks&&d.setQueryData(Qd,n.previousTasks)}}),he=ce(()=>!E.current||window.confirm(a(`sessions.scheduledTasks.workspace.confirm.discardChanges`)));Q.useEffect(()=>{if(!w){c(null);return}let e=e=>e===`schedule`||window.confirm(a(`sessions.scheduledTasks.workspace.confirm.discardChanges`));return c(e),()=>{P.getState().mainTabGuard===e&&c(null)}},[w,c,a]);let ge=ce(e=>{let t={projectId:e.projectId,taskId:e.task.id};(Zd(t)!==(m?Zd(m):``)||g!==`edit`)&&he()&&(h(t),_(`edit`),D(!1))}),_e=ce(()=>{!f||!he()||(h(null),_(`create`),D(!1))}),ve=ce((e,t)=>{let n=P.getState();fu({sessionId:null,tab:`schedule`,isSettingsOpen:n.isSettingsDialogOpen,settingsPath:n.settingsPage,diffFile:null,scheduleView:e,scheduleProjectId:t?.projectId??null,scheduleTaskId:t?.taskId??null})}),we=ce(e=>{b!==e&&(g!==`closed`&&!he()||(h(null),_(`closed`),D(!1),L(null),x(e),ve(e,null)))}),Te=ce((t,r)=>{e===`mobile-panel`&&t&&r&&n?.(!1),Re(t,r,{phoneShell:!!(U&&!N()),switchToChat:!0})}),Ee=ce(e=>{Te(e.sessionId,e.directory)}),De=ce(e=>{g!==`closed`&&!he()||(h(null),_(`closed`),D(!1),L({projectId:e.projectId,taskId:e.task.id}),x(`history`),ve(`history`,null))}),Oe=ce(()=>{L(null)}),ke=ce(()=>{K&&De(K)}),Ae=ce(async()=>{if(re.data&&re.hasNextPage){await re.fetchNextPage();return}await re.refetch()}),je=ce(e=>{e||!he()||(h(null),_(`closed`),D(!1))}),Me=ce(()=>g===`closed`?(n?.(!1),!0):(je(!1),!0));Q.useEffect(()=>{if(e!==`mobile-panel`||!t)return;ef=Me;let n=()=>Me();return window.addEventListener(`oc:scheduled-tasks-close-request`,n),()=>{ef===Me&&(ef=null),window.removeEventListener(`oc:scheduled-tasks-close-request`,n)}},[e,t]);let Ne=ce(()=>g!==`closed`&&(je(!1),!0));rr({id:`mobile-scheduled-editor`,active:H&&g!==`closed`,onBack:Ne,surfaceRef:R,underlayRef:B}),Q.useEffect(()=>{if(r)return r(Ne),()=>r(null)},[r]);let Fe=ce(async e=>{let t=m?.projectId||f;if(!t)throw Error(a(`sessions.scheduledTasks.dialog.error.chooseProjectFirst`));let n=new Set(te.filter(e=>e.projectId===t).map(e=>e.task.id)),r=await le.mutateAsync({projectID:t,taskDraft:e}),i=e.id?r.find(t=>t.id===e.id):r.find(e=>!n.has(e.id)),o=[...r].filter(t=>t.name===e.name).sort((e,t)=>(t.state?.updatedAt||0)-(e.state?.updatedAt||0))[0],s=i||o;return s&&(h({projectId:t,taskId:s.id}),_(`edit`)),D(!1),Pe.success(a(`sessions.scheduledTasks.dialog.toast.saved`)),s}),Ie=ce(async e=>{let{projectId:t,task:n}=e;if(window.confirm(a(`sessions.scheduledTasks.dialog.confirm.deleteTask`,{taskName:n.name}))){k(Zd({projectId:t,taskId:n.id}));try{await ue.mutateAsync({projectID:t,taskID:n.id});let e=Zd({projectId:t,taskId:n.id});m&&Zd(m)===e&&(h(null),_(`closed`),D(!1)),Pe.success(a(`sessions.scheduledTasks.dialog.toast.deleted`))}catch(e){Pe.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.deleteFailed`))}finally{k(null)}}}),Le=ce(async({projectId:e,task:t})=>{k(Zd({projectId:e,taskId:t.id}));try{await de.mutateAsync({projectID:e,taskID:t.id}),Pe.success(a(`sessions.scheduledTasks.dialog.toast.started`))}catch(e){Pe.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.runFailed`))}finally{k(null)}}),ze=ce(async({projectId:e,task:t},n)=>{k(Zd({projectId:e,taskId:t.id}));try{await me.mutateAsync({projectID:e,task:{...t,enabled:n}})}catch(e){Pe.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.updateFailed`))}finally{k(null)}}),Be=Q.useMemo(()=>{let e=S.trim().toLocaleLowerCase();return te.filter(({task:t})=>v===`active`&&!t.enabled||v===`paused`&&t.enabled?!1:!e||t.name.toLocaleLowerCase().includes(e)||Wd(t,a).toLocaleLowerCase().includes(e))},[v,S,a,te]),Ve=e=>{let t=e.icon?$t[e.icon]:null,n=e.color?nn[e.color]:void 0,r=(0,$.jsx)(Z,{name:t??`folder`,className:`size-3.5`,style:n?{color:n}:void 0});return(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:e.iconImage?(0,$.jsx)(Jt,{project:e,className:`size-full object-contain`,fallback:r}):r}),(0,$.jsx)(`span`,{className:`truncate`,children:pe(e.path)})]})},He=l.map(e=>({id:e.id,label:Ve(e)}));return(0,$.jsxs)(`div`,{className:Y(`relative flex min-h-0`,H?`oc-mobile-scheduled-workspace w-full flex-col overflow-visible bg-transparent`:`h-full overflow-hidden bg-background`,U&&`flex-col`),"data-presentation":e,children:[(0,$.jsxs)(`div`,{ref:H?B:void 0,"data-mobile-navigation-underlay":H?`true`:void 0,"aria-hidden":H&&g!==`closed`?!0:void 0,inert:H&&g!==`closed`?!0:void 0,className:Y(H?`flex w-full min-w-0 flex-col gap-[var(--oc-mobile-page-gap)]`:`contents`),children:[H?(0,$.jsx)(Ar,{title:a(`sessions.scheduledTasks.dialog.title`)}):null,U&&!H?(0,$.jsxs)(`header`,{className:`flex h-14 shrink-0 items-center gap-2 border-b border-border/40 px-2`,children:[g===`closed`?null:(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,onClick:Me,"aria-label":a(`header.actions.backAria`),children:(0,$.jsx)(Z,{name:`arrow-left`,className:`size-5`})}),(0,$.jsx)(`h2`,{className:`min-w-0 flex-1 truncate px-1 typography-ui-label font-semibold text-foreground`,children:a(g===`edit`?`sessions.scheduledTasks.editor.title.edit`:g===`create`?`sessions.scheduledTasks.editor.title.new`:`sessions.scheduledTasks.dialog.title`)}),g===`edit`&&K?(0,$.jsxs)(En,{children:[(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,disabled:!!O,"aria-label":a(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:K.task.name}),children:(0,$.jsx)(Z,{name:`more-2`,className:`size-5`})})}),(0,$.jsxs)(Sn,{align:`end`,className:`min-w-40`,children:[(0,$.jsxs)(vn,{className:`min-h-11`,onSelect:()=>void Le(K),children:[(0,$.jsx)(Z,{name:`play`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.runNow`)]}),(0,$.jsxs)(vn,{className:`min-h-11`,onSelect:()=>De(K),children:[(0,$.jsx)(Z,{name:`history`,className:`size-4`}),a(`sessions.scheduledTasks.workspace.views.history`)]}),(0,$.jsxs)(vn,{className:`min-h-11`,onSelect:()=>void ze(K,!K.task.enabled),children:[(0,$.jsx)(Z,{name:K.task.enabled?`pause`:`play`,className:`size-4`}),K.task.enabled?a(`sessions.scheduledTasks.dialog.actions.pause`):a(`sessions.scheduledTasks.dialog.actions.resume`)]}),(0,$.jsxs)(vn,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void Ie(K),children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.delete`)]})]})]}):g===`closed`?(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,onClick:Me,"aria-label":a(`mobile.surface.closeAria`),children:(0,$.jsx)(Z,{name:`close`,className:`size-5`})}):(0,$.jsx)(`span`,{className:`size-11 shrink-0`,"aria-hidden":`true`})]}):null,(0,$.jsxs)(`section`,{className:Y(`min-w-0 flex-col transition-[width] duration-300 ease-out`,H?`flex-none overflow-visible`:`flex-1 overflow-hidden`,U&&!H&&g!==`closed`?`hidden`:`flex`),children:[(0,$.jsx)(`header`,{className:Y(`shrink-0`,H?`pb-0 pt-0`:U?`px-3 pb-3 pt-3`:`px-4 pb-5 pt-4 sm:px-6`),children:(0,$.jsxs)(`div`,{className:Y(`mx-auto w-full`,H?`max-w-[26rem]`:`max-w-4xl`),children:[(0,$.jsx)(`div`,{className:Y((b===`tasks`||I||!H)&&`mb-3`,H?`oc-mobile-floating-surface oc-mobile-segmented-track`:`grid grid-cols-2 gap-1 rounded-xl bg-[var(--surface-muted)] p-1`),role:`tablist`,"aria-label":a(`sessions.scheduledTasks.workspace.views.aria`),children:[`tasks`,`history`].map(e=>(0,$.jsxs)(X,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":b===e,className:Y(H?`oc-mobile-segmented-item`:`relative min-h-9 rounded-lg text-muted-foreground transition-[background-color,color,box-shadow] motion-reduce:transition-none`,!H&&U&&`min-h-11`,!H&&(b===e?`text-foreground hover:bg-transparent hover:text-foreground`:`hover:bg-interactive-hover/40 hover:text-foreground`)),onClick:()=>we(e),children:[b===e?(0,$.jsx)(Tr.span,{layoutId:`scheduled-workspace-view-pill`,className:Y(`oc-segmented-selected-pill absolute inset-0`,!H&&`rounded-lg`),transition:{duration:o?0:.18,ease:[.22,1,.36,1]},"aria-hidden":`true`}):null,(0,$.jsxs)(`span`,{className:`relative z-[1] inline-flex items-center gap-1.5`,children:[(0,$.jsx)(Z,{name:e===`tasks`?`calendar-schedule`:`history`,className:`size-4 shrink-0`}),a(`sessions.scheduledTasks.workspace.views.${e}`)]})]},e))}),b===`history`&&ae?(0,$.jsx)(`div`,{className:Y(`flex min-w-0 items-center`,H?`mt-[var(--oc-mobile-page-gap)]`:`mt-3`),role:`status`,"aria-label":a(`sessions.scheduledTasks.history.filter.aria`,{name:ae}),children:(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1 rounded-full border border-border/60 bg-[var(--surface-elevated)] py-1 pl-3 pr-1`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-meta text-foreground`,children:ae}),(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`shrink-0 rounded-full`,U?`size-8`:`size-7`),onClick:Oe,"aria-label":a(`sessions.scheduledTasks.history.filter.clearAria`),children:(0,$.jsx)(Z,{name:`close`,className:`size-3.5`})})]})}):null,b===`tasks`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:Y(H?`oc-mobile-floating-surface oc-mobile-segmented-track oc-mobile-scheduled-controls`:Y(`flex items-center justify-between`,U?`gap-2`:`gap-3`)),children:[(0,$.jsx)(`div`,{className:Y(H?`oc-mobile-segmented-group`:Y(`flex items-center gap-1`,U&&`min-w-0 flex-1`)),role:`group`,"aria-label":a(`sessions.scheduledTasks.dialog.title`),children:[`all`,`active`,`paused`].map(e=>(0,$.jsxs)(X,{type:`button`,variant:`ghost`,size:`sm`,className:Y(H?`oc-mobile-segmented-item`:`relative border-0 bg-transparent text-muted-foreground shadow-none transition-[color,background-color] duration-150 ease-out motion-reduce:transition-none`,!H&&(U?`h-11 min-h-11 min-w-0 flex-1 rounded-xl px-2`:`!h-9 !min-h-9 rounded-xl px-3`),!H&&(v===e?`text-foreground hover:bg-transparent hover:text-foreground`:`hover:bg-interactive-hover/40 hover:text-foreground`)),"aria-pressed":v===e,onClick:()=>y(e),children:[v===e?(0,$.jsx)(Tr.span,{layoutId:`scheduled-task-filter-pill`,className:Y(`oc-segmented-selected-pill absolute inset-0`,!H&&`rounded-xl`),transition:{duration:o?0:.18,ease:[.22,1,.36,1]},"aria-hidden":`true`}):null,(0,$.jsx)(`span`,{className:`relative z-[1]`,children:a(`sessions.scheduledTasks.workspace.filters.${e}`)})]},e))}),H?(0,$.jsx)(X,{variant:`ghost`,"data-mobile-press-feedback":`compact`,className:`oc-mobile-segmented-action shrink-0 bg-foreground text-background transition-[background-color,box-shadow] duration-150 ease-out hover:bg-foreground/90 hover:text-background hover:shadow-sm active:bg-interactive-active motion-reduce:transition-none`,onClick:_e,disabled:!f,"aria-label":a(`sessions.scheduledTasks.dialog.actions.create`),children:(0,$.jsx)(Z,{name:`add`,className:`size-4`})}):(0,$.jsx)(`div`,{className:`flex min-w-0 items-center gap-2`,children:(0,$.jsxs)(X,{variant:`ghost`,"data-mobile-press-feedback":U?`compact`:void 0,className:Y(`shrink-0 rounded-full bg-foreground text-background transition-[background-color,box-shadow] duration-150 ease-out hover:bg-foreground/90 hover:text-background hover:shadow-sm active:bg-interactive-active motion-reduce:transition-none`,U?`size-11 min-h-11 px-0 min-[400px]:w-auto min-[400px]:px-3.5`:`!h-9 !min-h-9 px-3.5`),onClick:_e,disabled:!f,"aria-label":a(`sessions.scheduledTasks.dialog.actions.create`),children:[(0,$.jsx)(Z,{name:`add`,className:`h-4 w-4`}),` `,(0,$.jsx)(`span`,{className:Y(U&&`hidden min-[400px]:inline`),children:a(`sessions.scheduledTasks.dialog.actions.create`)})]})})]}),H?null:(0,$.jsxs)(`div`,{className:Y(`group relative w-full`,U?`mt-3`:`mt-7`),children:[(0,$.jsx)(Z,{name:`search`,className:`pointer-events-none absolute left-3.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground transition-[color,transform] duration-150 ease-out group-focus-within:scale-105 group-focus-within:text-foreground motion-reduce:transition-none`}),(0,$.jsx)(ln,{value:S,onChange:e=>C(e.target.value),placeholder:a(`sessions.scheduledTasks.workspace.search.placeholder`),className:Y(`rounded-full bg-[var(--surface-elevated)] pl-10 pr-4 ring-1 ring-inset ring-border/50 transition-[background-color,box-shadow,color] duration-200 ease-out hover:[&:not(:focus)]:ring-border focus:bg-[var(--surface-elevated)] focus:shadow-sm focus:ring-2 focus:ring-[var(--interactive-focus-ring)] motion-reduce:transition-none`,U?`h-11 min-h-11`:`!h-9 !min-h-9`)})]})]}):null]})}),(0,$.jsx)(`div`,{className:Y(H?`flex-none overflow-visible pt-[var(--oc-mobile-page-gap)]`:`min-h-0 flex-1 overflow-y-auto`,!H&&(U?`overscroll-none px-3 pb-[max(1rem,env(safe-area-inset-bottom))]`:`px-6 pb-6 [scrollbar-gutter:stable]`)),children:(0,$.jsx)(`div`,{className:Y(`mx-auto w-full`,H?`max-w-[26rem]`:`max-w-4xl border-t border-border/40 pt-4`),children:b===`history`?(0,$.jsx)(`div`,{className:`space-y-3`,children:re.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 typography-meta text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin motion-reduce:animate-none`}),a(`sessions.scheduledTasks.history.loading`)]}):re.error&&ie.length===0?(0,$.jsx)(`div`,{className:`rounded-xl border border-dashed border-border p-4`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(Z,{name:`error-warning`,className:`mt-0.5 size-4 shrink-0 text-[var(--status-error)]`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-medium text-foreground`,children:a(`sessions.scheduledTasks.history.error.title`)}),(0,$.jsx)(`p`,{className:`mt-1 break-words typography-meta text-muted-foreground`,children:re.error instanceof Error?re.error.message:a(`sessions.scheduledTasks.history.error.description`)})]}),(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:()=>void Ae(),children:a(`sessions.scheduledTasks.history.retry`)})]})}):ie.length===0?(0,$.jsxs)(`div`,{className:`rounded-xl border border-dashed border-border p-6 text-center`,children:[(0,$.jsx)(Z,{name:`history`,className:`mx-auto size-5 text-muted-foreground`}),(0,$.jsx)(`p`,{className:`mt-2 typography-ui-label font-medium text-foreground`,children:a(`sessions.scheduledTasks.history.empty.title`)}),(0,$.jsx)(`p`,{className:`mt-1 typography-meta text-muted-foreground`,children:a(`sessions.scheduledTasks.history.empty.description`)})]}):(0,$.jsxs)(`div`,{className:Y(H?`space-y-4`:U?`space-y-2`:`divide-y divide-border/50 overflow-hidden rounded-xl border border-border/60 bg-[var(--surface-elevated)]`),children:[ie.map(e=>{let t=se.get(e.projectId),n=t?pe(t.path):e.projectId,r=e.directory?pe(e.directory):null,i=r&&r!==n?`${n} · ${r}`:n,o=Yd[e.status],s=!!(e.sessionId&&e.directory),c=Jd(qd(e,J))??(e.status===`running`?a(`sessions.scheduledTasks.history.duration.pending`):null),l=Kd(e.startedAt),u=a(`sessions.scheduledTasks.history.trigger.${e.trigger}`),d=e.trigger===`manual`?`play`:`calendar-schedule`,f=a(`sessions.scheduledTasks.dialog.status.${e.status}`),p=o.tone===`muted`?void 0:{color:`var(--status-${o.tone})`},m=t?.icon?$t[t.icon]??`folder`:`folder`,h=t?.color?nn[t.color]:void 0,g=(0,$.jsx)(`span`,{className:`flex size-3.5 shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,children:t?.iconImage?(0,$.jsx)(Jt,{project:t,className:`size-full object-contain`,fallback:(0,$.jsx)(Z,{name:m,className:`size-3.5`,style:h?{color:h}:void 0})}):(0,$.jsx)(Z,{name:m,className:`size-3.5`,style:h?{color:h}:void 0})}),_=(0,$.jsx)(`span`,{className:Y(`mt-0.5 flex shrink-0 items-center justify-center rounded-full border`,U?`size-7`:`size-8`),style:Xd(o.tone),title:f,"aria-label":f,children:(0,$.jsx)(Z,{name:o.Icon,className:Y(U?`size-3.5`:`size-4`,o.spin&&`animate-spin motion-reduce:animate-none`)})}),v=(0,$.jsxs)(`p`,{className:Y(`mt-0.5 flex min-w-0 items-center gap-1.5 text-muted-foreground`,U?`typography-micro`:`truncate typography-meta`),title:e.directory??n,children:[g,(0,$.jsx)(`span`,{className:Y(`min-w-0`,U?`break-words`:`truncate`),children:i})]}),y=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[c?(0,$.jsx)(`span`,{className:`typography-micro tabular-nums text-muted-foreground`,title:c,children:c}):null,(0,$.jsx)(`span`,{className:`typography-micro font-medium`,style:p,children:f})]}),b=(0,$.jsxs)(`div`,{className:Y(`flex w-full min-w-0 items-start`,U?`gap-2.5`:`gap-3`),children:[_,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 items-start justify-between gap-2`,children:[(0,$.jsx)(`h3`,{className:Y(`min-w-0 flex-1 font-semibold text-foreground`,U?`break-words typography-meta leading-snug`:`truncate typography-ui-label`),children:e.taskName}),y]}),v,(0,$.jsxs)(`div`,{className:Y(`mt-1 flex w-full min-w-0 gap-2`,U?`items-center`:`items-center justify-between gap-3`),children:[(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-1 flex-wrap items-center gap-x-3 gap-y-1 typography-micro text-muted-foreground`,U&&`gap-x-2.5 gap-y-0.5`),children:[(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1`,title:l,children:[(0,$.jsx)(Z,{name:`time`,className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap tabular-nums`,children:l})]}),(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1`,title:u,children:[(0,$.jsx)(Z,{name:d,className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:u})]})]}),!U&&s?(0,$.jsx)(`span`,{className:`shrink-0 self-center typography-ui-label font-medium text-foreground`,children:a(`sessions.scheduledTasks.history.openSession`)}):null]}),e.error?(0,$.jsxs)(`p`,{className:Y(`mt-1.5 min-w-0 break-words typography-micro text-[var(--surface-muted-foreground)] [overflow-wrap:anywhere]`,U?`line-clamp-3`:`line-clamp-1`),title:e.error.slice(0,300),children:[(0,$.jsx)(Z,{name:`error-warning`,className:`mr-1 inline-block size-3 align-[-0.125em] text-[var(--status-error)]`,"aria-hidden":`true`}),e.error.slice(0,300)]}):null]})]});if(U){let t=a(`sessions.scheduledTasks.history.openSession`),n=Y(`oc-mobile-scheduled-task-card w-full`,H?`oc-mobile-floating-surface oc-mobile-project-shell rounded-[var(--oc-mobile-surface-radius)]`:`rounded-xl border border-border/60 bg-[var(--surface-elevated)] shadow-sm dark:shadow-none`);return s?(0,$.jsx)(`article`,{"data-mobile-press-surface":`soft`,className:n,children:(0,$.jsx)(`button`,{type:`button`,"data-mobile-press-surface-trigger":!0,className:Y(`oc-mobile-scheduled-task-row w-full p-3 text-left outline-none`,`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)]`),"aria-label":t,onClick:()=>Ee(e),children:b})},e.id):(0,$.jsx)(`article`,{className:Y(n,`p-3`),children:b},e.id)}return s?(0,$.jsx)(`article`,{className:`w-full min-w-0`,children:(0,$.jsx)(`button`,{type:`button`,className:`w-full min-w-0 px-4 py-3 text-left outline-none transition-colors hover:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)] motion-reduce:transition-none`,"aria-label":a(`sessions.scheduledTasks.history.openSession`),onClick:()=>Ee(e),children:b})},e.id):(0,$.jsx)(`article`,{className:`w-full min-w-0 px-4 py-3`,children:b},e.id)}),re.error?(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-between gap-2 p-3 typography-meta text-[var(--status-error-foreground)]`,U?`rounded-xl border border-[var(--status-error-border)] bg-[var(--status-error-background)]`:`border-t border-[var(--status-error-border)] bg-[var(--status-error-background)]`),children:[(0,$.jsx)(`span`,{children:a(`sessions.scheduledTasks.history.error.more`)}),(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:()=>void Ae(),children:a(`sessions.scheduledTasks.history.retry`)})]}):null,re.hasNextPage?(0,$.jsx)(`div`,{className:Y(`flex justify-center`,U?`pt-2`:`border-t border-border/40 px-4 py-3`),children:(0,$.jsxs)(X,{variant:`outline`,size:`sm`,className:Y(U&&`min-h-11`),disabled:re.isFetchingNextPage,onClick:()=>void re.fetchNextPage(),children:[re.isFetchingNextPage?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin motion-reduce:animate-none`}):(0,$.jsx)(Z,{name:`history`,className:`size-4`}),re.isFetchingNextPage?a(`sessions.scheduledTasks.history.loadingMore`):a(`sessions.scheduledTasks.history.loadMore`)]})}):null]})}):(0,$.jsxs)($.Fragment,{children:[G.length>0?(0,$.jsx)(`div`,{className:`mb-3 rounded-xl border p-3 typography-meta`,style:Xd(`warning`),children:a(`sessions.scheduledTasks.workspace.partialLoadWarning`)}):null,W.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 typography-meta text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),` `,a(`sessions.scheduledTasks.dialog.loading`)]}):W.error?(0,$.jsx)(`div`,{className:`rounded-xl border border-dashed border-border p-4 typography-meta text-muted-foreground`,children:W.error instanceof Error?W.error.message:a(`sessions.scheduledTasks.dialog.toast.loadFailed`)}):(0,$.jsx)(wr,{initial:!1,mode:`popLayout`,children:Be.length===0?(0,$.jsx)(Tr.div,{initial:o?{opacity:0}:{opacity:0,y:4},animate:{opacity:1,y:0},exit:o?{opacity:0}:{opacity:0,y:-4},transition:{duration:o?0:.18,ease:[.22,1,.36,1]},className:`rounded-xl border border-dashed border-border p-4 typography-meta text-muted-foreground`,children:te.length>0?a(`sessions.scheduledTasks.workspace.search.noResults`):a(`sessions.scheduledTasks.dialog.empty.noTasks`)},`empty`):(0,$.jsx)(Tr.div,{initial:o?{opacity:0}:{opacity:0,y:4},animate:{opacity:1,y:0},exit:o?{opacity:0}:{opacity:0,y:-4},transition:{duration:o?0:.18,ease:[.22,1,.36,1]},className:Y(H?`space-y-4`:`space-y-1`),children:(0,$.jsx)(wr,{initial:!1,mode:`popLayout`,children:Be.map(e=>{let{projectId:t,task:n}=e,r=Zd({projectId:t,taskId:n.id}),i=g===`edit`&&m!==null&&Zd(m)===r,c=n.state?.nextRunAt,l=n.state?.lastStatus||`idle`,u=Yd[l],d=O===r,f=t=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(t,{className:Y(U&&`min-h-11`),onClick:t=>{t.stopPropagation(),Le(e)},disabled:d,children:[(0,$.jsx)(Z,{name:`play`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.runNow`)]}),(0,$.jsxs)(t,{className:Y(U&&`min-h-11`),onClick:t=>{t.stopPropagation(),De(e)},children:[(0,$.jsx)(Z,{name:`history`,className:`size-4`}),a(`sessions.scheduledTasks.workspace.views.history`)]}),(0,$.jsxs)(t,{className:Y(U&&`min-h-11`),onClick:t=>{t.stopPropagation(),ze(e,!n.enabled)},disabled:d,children:[(0,$.jsx)(Z,{name:n.enabled?`pause`:`play`,className:`size-4`}),n.enabled?a(`sessions.scheduledTasks.dialog.actions.pause`):a(`sessions.scheduledTasks.dialog.actions.resume`)]}),(0,$.jsxs)(t,{onClick:t=>{t.stopPropagation(),Ie(e)},disabled:d,className:Y(`text-destructive focus:text-destructive`,U&&`min-h-11`),children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.delete`)]})]});return(0,$.jsx)(Tr.div,{layout:`position`,initial:!o&&{opacity:0,y:6},animate:{opacity:1,y:0},exit:o?{opacity:0}:{opacity:0,y:-6},transition:{duration:o?0:.18,ease:[.22,1,.36,1]},"data-mobile-press-surface":H?`soft`:void 0,className:Y(H&&`oc-mobile-floating-surface oc-mobile-project-shell oc-mobile-scheduled-task-card`),children:(0,$.jsxs)(Hr,{open:A===r,onOpenChange:e=>{e&&F(null),j(e?r:null)},children:[(0,$.jsxs)(`div`,{className:Y(`group flex w-full items-center gap-1`,H&&`oc-mobile-project-card`),children:[(0,$.jsxs)(Rr,{render:(0,$.jsx)(`button`,{type:`button`,onClick:()=>ge(e),onContextMenu:!U&&!s?e=>{e.preventDefault(),F(null),j(r)}:void 0,"data-mobile-press-surface-trigger":H?!0:void 0,className:Y(`flex min-h-11 min-w-0 flex-1 items-center rounded-xl border py-3 text-left outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] motion-reduce:transition-none`,H?`oc-mobile-project-trigger oc-mobile-scheduled-task-row border-0 bg-transparent transition-opacity duration-150`:`transition-[background-color,border-color,box-shadow,opacity] duration-150 ease-out active:bg-interactive-active`,U&&!H?`gap-2.5 px-3`:H?void 0:`gap-3 px-4`,!H&&(i?`border-border/50 bg-[var(--surface-elevated)] shadow-sm dark:shadow-none`:`border-transparent hover:bg-interactive-hover`),!n.enabled&&`opacity-65`),"aria-pressed":i}),children:[(0,$.jsx)(`span`,{className:Y(`flex shrink-0 items-center justify-center rounded-full text-muted-foreground transition-[border-color,color,background-color] duration-150 motion-reduce:transition-none`,H?`oc-mobile-project-icon oc-mobile-glass-control`:`size-5 border border-border`),style:n.enabled&&u.tone!==`muted`?{color:`var(--status-${u.tone})`}:void 0,children:(0,$.jsx)(wr,{initial:!1,mode:`wait`,children:(0,$.jsx)(Tr.span,{initial:!o&&{opacity:0,scale:.72},animate:{opacity:1,scale:1},exit:o?{opacity:0}:{opacity:0,scale:.72},transition:{duration:o?0:.15},className:`flex`,children:(0,$.jsx)(Z,{name:n.enabled?u.Icon:`pause`,className:Y(H?`oc-mobile-project-icon-glyph`:`size-3.5`,u.spin&&n.enabled&&`animate-spin`)})},`${n.enabled}-${l}`)})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:Y(`block truncate font-medium`,H?`oc-mobile-project-title oc-mobile-entity-title font-semibold`:`typography-ui-label`),children:n.name}),(0,$.jsxs)(`span`,{className:Y(`mt-1 flex min-w-0 items-center text-muted-foreground`,H?`oc-mobile-project-meta oc-mobile-entity-meta`:`gap-1 typography-micro`),children:[(0,$.jsx)(`span`,{className:`truncate`,children:Wd(n,a,!H)}),(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground/50`,children:`·`}),(0,$.jsx)(`span`,{className:`shrink-0 truncate`,children:c?Gd(c,a):`—`})]})]})]}),(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`shrink-0 self-center rounded-lg text-muted-foreground`,U?`size-11 rounded-full`:`size-9`),onClick:t=>{t.stopPropagation(),De(e)},"aria-label":a(`sessions.scheduledTasks.workspace.views.history`),children:(0,$.jsx)(Z,{name:`history`,className:`size-4`})}),(0,$.jsxs)(En,{open:M===r,onOpenChange:e=>{e&&j(null),F(e?r:null)},children:[(0,$.jsx)(kn,{asChild:!0,children:(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`shrink-0 self-center text-muted-foreground transition-[opacity,transform,background-color] duration-150 ease-out data-[popup-open]:bg-interactive-hover motion-reduce:transition-none`,H?`oc-mobile-project-action oc-mobile-scheduled-task-action rounded-full`:`rounded-lg`,H?void 0:U?`size-11`:`size-8 translate-x-1 opacity-0 group-hover:translate-x-0 group-hover:opacity-100 data-[popup-open]:translate-x-0 data-[popup-open]:opacity-100`,i&&!H&&`opacity-100`),onClick:e=>e.stopPropagation(),"aria-label":a(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:n.name}),children:(0,$.jsx)(Z,{name:`more-2`,className:H?`size-5`:`size-4`})})}),(0,$.jsx)(Sn,{align:`end`,className:`min-w-40 motion-reduce:transition-none`,onClick:e=>e.stopPropagation(),children:f(vn)})]})]}),(0,$.jsx)(Br,{className:`min-w-40 motion-reduce:transition-none`,children:f(Vr)})]})},r)})})},`tasks`)})]})})})]})]}),s?g===`closed`?null:(0,$.jsx)(`div`,{ref:H?R:void 0,className:Y(H?`oc-mobile-scheduled-editor-overlay flex w-full min-w-0 max-w-full flex-col overflow-hidden bg-background [contain:layout_paint]`:`contents`),children:(0,$.jsx)(zd,{open:!0,presentation:H?`mobile-tab`:U?`mobile-panel`:void 0,task:g===`edit`?ne:null,onOpenChange:je,onSave:Fe,onDirtyChange:D,onRun:async()=>{K&&await Le(K)},onOpenTaskHistory:ke,onDelete:async()=>{K&&await Ie(K)},onToggleEnabled:async(e,t)=>{K&&await ze(K,t)},actionBusy:!!O,projectID:m?.projectId||f,projectOptions:He,onProjectChange:g===`create`?p:void 0})}):(0,$.jsx)(wr,{initial:!1,children:g===`closed`?null:(0,$.jsx)(Tr.div,{initial:o?{opacity:1,width:0}:{opacity:0,width:0,x:24},animate:{opacity:1,width:`clamp(380px, 36vw, 480px)`,x:0},exit:o?{opacity:0,width:0}:{opacity:0,width:0,x:24},transition:{duration:o?0:.26,ease:[.22,1,.36,1]},className:`h-full min-h-0 max-w-[480px] shrink-0 overflow-hidden`,children:(0,$.jsx)(`aside`,{className:`h-full min-h-0 w-[clamp(380px,36vw,480px)] border-l border-border/60 bg-background`,children:(0,$.jsx)(zd,{open:!0,presentation:`panel`,task:g===`edit`?ne:null,onOpenChange:je,onSave:Fe,onDirtyChange:D,onRun:async()=>{K&&await Le(K)},onOpenTaskHistory:ke,onDelete:async()=>{K&&await Ie(K)},onToggleEnabled:async(e,t)=>{K&&await ze(K,t)},actionBusy:!!O,projectID:m?.projectId||f,projectOptions:He,onProjectChange:g===`create`?p:void 0})})},`scheduled-task-details`)})]})}var df={"?":{code:`?`,color:`var(--status-info)`,description:`Untracked file`},A:{code:`A`,color:`var(--status-success)`,description:`New file`},D:{code:`D`,color:`var(--status-error)`,description:`Deleted file`},R:{code:`R`,color:`var(--status-info)`,description:`Renamed file`},C:{code:`C`,color:`var(--status-info)`,description:`Copied file`},M:{code:`M`,color:`var(--status-warning)`,description:`Modified file`}},ff=df.M;function pf(e){let t=e.index?.trim(),n=e.working_dir?.trim();return t&&t!==`?`?t.charAt(0):n?n.charAt(0):t?.charAt(0)||n?.charAt(0)||`M`}function mf(e){return df[pf(e)]??ff}var hf=Q.memo(function(e){let t=(0,qr.c)(57),{file:n,actionLabel:r,actionSymbol:i,onAction:a,onViewDiff:o,onRevert:s,isReverting:c,stats:l,rowPaddingClassName:u,indentPx:d,actionAtStart:f,showRevert:p,displayPath:m}=e,h=d===void 0?0:d,g=f!==void 0&&f,_=p===void 0||p,v;t[0]===n?v=t[1]:(v=mf(n),t[0]=n,t[1]=v);let y=v,{t:b}=fe(),x=y.description,S=l?.insertions??0,C=l?.deletions??0,w;t[2]!==a||t[3]!==o?(w=e=>{e.key===` `?(e.preventDefault(),a()):e.key===`Enter`&&(e.preventDefault(),o())},t[2]=a,t[3]=o,t[4]=w):w=t[4];let T=w,E;t[5]===a?E=t[6]:(E=e=>{e.preventDefault(),e.stopPropagation(),a()},t[5]=a,t[6]=E);let D=E,O;t[7]===s?O=t[8]:(O=e=>{e.preventDefault(),e.stopPropagation(),s()},t[7]=s,t[8]=O);let k=O,A;t[9]!==r||t[10]!==i||t[11]!==D?(A=(0,$.jsx)(`button`,{type:`button`,onClick:D,className:`flex size-6 items-center justify-center rounded typography-code font-semibold text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-label":r,title:r,children:i}),t[9]=r,t[10]=i,t[11]=D,t[12]=A):A=t[12];let j=A,M=`group flex h-8 items-center cursor-pointer ${u??`px-3`}`,N;t[13]===h?N=t[14]:(N=h>0?{paddingLeft:`${h}px`}:void 0,t[13]=h,t[14]=N);let P=g?j:null,F;t[15]===y.color?F=t[16]:(F={color:y.color},t[15]=y.color,t[16]=F);let I;t[17]!==y.code||t[18]!==x||t[19]!==F?(I=(0,$.jsx)(`span`,{className:`typography-code font-semibold w-3.5 shrink-0 text-center uppercase`,style:F,title:x,"aria-label":x,children:y.code}),t[17]=y.code,t[18]=x,t[19]=F,t[20]=I):I=t[20];let L;t[21]===n.path?L=t[22]:(L=(0,$.jsx)(Ft,{filePath:n.path,className:`size-3 shrink-0`}),t[21]=n.path,t[22]=L);let R=m??n.path,z;t[23]!==n.path||t[24]!==R?(z=(0,$.jsx)(Lt,{path:R,title:n.path,className:`min-w-0 flex-1 typography-code`}),t[23]=n.path,t[24]=R,t[25]=z):z=t[25];let B;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(B={color:`var(--status-success)`},t[26]=B):B=t[26];let V;t[27]===S?V=t[28]:(V=(0,$.jsxs)(`span`,{style:B,children:[`+`,S]}),t[27]=S,t[28]=V);let ee,H;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,$.jsx)(`span`,{className:`text-muted-foreground mx-0.5`,children:`/`}),H={color:`var(--status-error)`},t[29]=ee,t[30]=H):(ee=t[29],H=t[30]);let U;t[31]===C?U=t[32]:(U=(0,$.jsxs)(`span`,{style:H,children:[`-`,C]}),t[31]=C,t[32]=U);let W;t[33]!==V||t[34]!==U?(W=(0,$.jsxs)(`span`,{className:`shrink-0 typography-code tabular-nums`,children:[V,ee,U]}),t[33]=V,t[34]=U,t[35]=W):W=t[35];let te;t[36]!==I||t[37]!==L||t[38]!==z||t[39]!==W?(te=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[I,L,z,W]}),t[36]=I,t[37]=L,t[38]=z,t[39]=W,t[40]=te):te=t[40];let G;t[41]!==g||t[42]!==j||t[43]!==n.path||t[44]!==k||t[45]!==c||t[46]!==_||t[47]!==b?(G=g?null:(0,$.jsxs)(`div`,{className:`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,children:[_?(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:k,disabled:c,className:`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":b(`gitView.changes.revertFileAria`,{path:n.path}),children:c?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`arrow-go-back`,className:`size-3.5`})})}),(0,$.jsx)(dn,{sideOffset:8,children:b(`gitView.changes.revertFileTooltip`)})]}):null,j]}),t[41]=g,t[42]=j,t[43]=n.path,t[44]=k,t[45]=c,t[46]=_,t[47]=b,t[48]=G):G=t[48];let K;return t[49]!==T||t[50]!==o||t[51]!==N||t[52]!==P||t[53]!==te||t[54]!==G||t[55]!==M?(K=(0,$.jsxs)(`div`,{className:M,role:`button`,tabIndex:0,onClick:o,onKeyDown:T,style:N,children:[P,te,G]}),t[49]=T,t[50]=o,t[51]=N,t[52]=P,t[53]=te,t[54]=G,t[55]=M,t[56]=K):K=t[56],K}),gf=e=>e.replace(/\\/g,`/`).replace(/^\/+/,``).trim(),_f=e=>{let t=gf(e);if(!t)return e;let n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t},vf=(e,t)=>({id:`dir:${e}`,path:e,name:t,children:new Map,directFiles:[],files:[]}),yf=e=>{let t=vf(``,``);for(let n of e){let e=gf(n.path);if(!e)continue;let r=e.split(`/`).filter(Boolean).slice(0,-1),i=t;if(i.files.push(n),r.length>0){let e=``;for(let t of r){e=e?`${e}/${t}`:t;let r=i.children.get(t);if(r){r.files.push(n),i=r;continue}let a=vf(e,t);a.files.push(n),i.children.set(t,a),i=a}}i.directFiles.push(n)}return t},bf=(e,t)=>{let n=[],r=(e,i)=>{let a=Array.from(e.children.values()).sort((e,t)=>e.path.localeCompare(t.path));for(let e of a)n.push({key:e.id,kind:`directory`,depth:i,directory:e}),t.has(e.path)&&r(e,i+1);let o=[...e.directFiles].sort((e,t)=>e.path.localeCompare(t.path));for(let e of o)n.push({key:`file:${gf(e.path)}`,kind:`file`,depth:i,file:e})};return r(e,0),n},xf=1e3,Sf=34,Cf=30,wf=`pl-0 pr-2`,Tf=`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,Ef=`flex size-6 items-center justify-center tabular-nums typography-code text-muted-foreground`,Df=`flex size-6 items-center justify-center rounded typography-code font-semibold text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,Of=`flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50`,kf=(e,t)=>`${e} ${t}`,Af=({groups:e,diffStats:t,revertingPaths:n,isRevertingAll:r=!1,headerBackgroundClassName:i=`bg-sidebar`,onVisiblePathsChange:a,onRevertAll:o,onRevertDirectory:s,headerLeadingActions:c,headerActions:l})=>{let{t:u}=fe(),d=Q.useRef(null),f=P(e=>e.gitChangesViewMode),p=P(e=>e.setGitChangesViewMode),m=f===`tree`,h=Q.useMemo(()=>e.filter(e=>e.entries.length>0),[e]),[g,_]=Q.useState(new Set),[v,y]=Q.useState(new Set),[b,x]=Q.useState(!1),[S,C]=Q.useState(null),w=Q.useRef(new Set),T=Q.useMemo(()=>h.map(e=>yf(e.entries)),[h]),E=Q.useMemo(()=>{let e=new Map;return h.forEach((t,n)=>{let r=[],i=e=>{e.children.forEach(e=>{r.push(kf(t.id,e.path)),i(e)})},a=T[n];a&&i(a),e.set(t.id,r)}),e},[T,h]);Q.useEffect(()=>{if(!m){w.current=new Set;return}let e=new Set(Array.from(E.values()).flat()),t=w.current,n=t.size===0&&e.size>0;y(r=>{let i=new Set(r),a=!1;for(let t of i)e.has(t)||(i.delete(t),a=!0);for(let r of e){let e=!t.has(r);(n||e)&&!i.has(r)&&(i.add(r),a=!0)}return a?i:r}),w.current=e},[E,m]);let D=Q.useMemo(()=>{let e=[];return h.forEach((t,n)=>{if(e.push({type:`header`,key:`header:${t.id}`,groupIndex:n}),!g.has(t.id)){if(m){let r=new Set;v.forEach(e=>{e.startsWith(`${t.id} `)&&r.add(e.slice(t.id.length+1))}),bf(T[n],r).forEach(r=>{r.kind===`file`?e.push({type:`file`,key:`${t.id}:${r.key}`,groupIndex:n,file:r.file,depth:r.depth}):e.push({type:`directory`,key:`${t.id}:${r.key}`,groupIndex:n,directory:r.directory,depth:r.depth})});return}t.entries.forEach(r=>{e.push({type:`file`,key:`${t.id}:file:${r.path}`,groupIndex:n,file:r,depth:0})})}}),e},[g,v,m,T,h]),O=h[0]??null,k=Q.useMemo(()=>O?D.filter(e=>e.type!==`header`||e.groupIndex!==0):D,[O,D]),A=k.length,j=A>=xf,M=Cr({count:A,enabled:j,getScrollElement:()=>d.current,estimateSize:()=>Sf,overscan:12,getItemKey:e=>k[e]?.key??e}),N=M.getVirtualItems(),F=Q.useMemo(()=>{if(!j)return 0;let e=d.current?.scrollTop??0;return N.find(t=>t.end>e)?.index??0},[j,N,d]);Q.useEffect(()=>{if(!a)return;let e=e=>e&&e.type===`file`?e.file.path:null;if(A===0){a([]);return}if(!j){let e=[];for(let t of k)if(t.type===`file`&&(e.push(t.file.path),e.length>=Cf))break;a(e);return}a(k.slice(F,F+Math.ceil((d.current?.clientHeight??0)/Sf)+Cf).map(t=>e(t)).filter(e=>!!e).slice(0,Cf))},[a,A,k,j,F]);let I=Q.useCallback(e=>{_(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),L=Q.useCallback((e,t)=>{y(n=>{let r=new Set(n),i=kf(e,t);return r.has(i)?r.delete(i):r.add(i),r})},[]),R=Q.useCallback(e=>{let t=E.get(e)??[];y(e=>{let n=new Set(e);return t.forEach(e=>n.add(e)),n})},[E]),z=Q.useCallback(e=>{let t=E.get(e)??[];y(e=>{let n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[E]),B=Q.useMemo(()=>{let e=new Set;return h.forEach(t=>t.entries.forEach(t=>e.add(t.path))),Array.from(e)},[h]),V=B.length,ee=S?r||S.paths.some(e=>n.has(e)):!1,H=Q.useCallback(async()=>{!o||r||B.length===0||(await o(B),x(!1))},[B,r,o]),U=Q.useCallback(async()=>{!s||!S||ee||(await s(S.paths),C(null))},[ee,s,S]),W=Q.useCallback((e,t={})=>{let{pinned:n=!1,showToolbar:a=!1}=t,s=g.has(e.id),d=e.entries.length,f=E.get(e.id)??[],h=f.length>0&&f.every(e=>v.has(e)),_=u(h?`diffView.actions.collapseAll`:`diffView.actions.expandAll`),y=u(m?`settings.openchamber.git.option.flatList`:`settings.openchamber.git.option.treeView`);return(0,$.jsxs)(`div`,{className:Y(`flex h-8 items-center gap-0`,n?`shrink-0`:`sticky top-0 z-10`,i,wf,!n&&`mt-3`),children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>I(e.id),className:`flex min-w-0 flex-1 items-center gap-1.5 rounded text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-expanded":!s,children:[(0,$.jsx)(`h3`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:d}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:Y(`size-3 shrink-0 text-muted-foreground transition-transform`,s&&`-rotate-90`)})]}),(0,$.jsxs)(`div`,{className:Tf,children:[m?(0,$.jsx)(`button`,{type:`button`,onClick:()=>{if(h){z(e.id);return}R(e.id)},className:Of,"aria-label":_,title:_,children:(0,$.jsx)(Z,{name:h?`contract-up-down`:`expand-up-down`,className:`size-3.5`})}):null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>p(m?`flat`:`tree`),"aria-label":y,title:y,"aria-pressed":m,className:Of,children:(0,$.jsx)(Z,{name:m?`node-tree`:`list-unordered`,className:`size-3.5`})}),a&&o&&V>0?(0,$.jsx)(`button`,{type:`button`,onClick:()=>x(!0),disabled:r,className:Of,"aria-label":u(`gitView.changes.revertAll`),title:u(`gitView.changes.revertAll`),children:r?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`arrow-go-back`,className:`size-3.5`})}):null,a?c:null,a?l:null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onActionAll(e.entries.map(e=>e.path)),className:Df,"aria-label":e.actionAllLabel,title:e.actionAllLabel,children:e.actionSymbol})]})]})},[z,g,E,R,v,l,i,c,r,m,o,V,p,u,I]),te=Q.useCallback((e,t,i)=>{let a=v.has(kf(e.id,t.path)),o=t.files.map(e=>e.path),c=r||o.some(e=>n.has(e)),l=e.showRevertActions!==!1&&!!s;return(0,$.jsxs)(`div`,{className:Y(`group flex h-8 items-center`,wf),style:{paddingLeft:`${i*14}px`},children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>L(e.id,t.path),className:`flex min-w-0 flex-1 items-center gap-1.5 rounded text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":u(a?`gitView.changes.collapseDirectoryAria`:`gitView.changes.expandDirectoryAria`,{path:t.path}),children:[a?(0,$.jsx)(Z,{name:`folder-open-fill`,className:`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground`}):(0,$.jsx)(Z,{name:`folder-3-fill`,className:`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-code text-foreground`,title:t.path,children:t.name})]}),(0,$.jsxs)(`div`,{className:Tf,children:[(0,$.jsx)(`span`,{className:Ef,children:t.files.length}),l?(0,$.jsx)(`button`,{type:`button`,onClick:()=>C({path:t.path,paths:o,count:o.length}),disabled:c,className:Of,"aria-label":u(`gitView.changes.revertDirectoryAria`,{path:t.path}),title:u(`gitView.changes.revertDirectoryTooltip`),children:c?(0,$.jsx)(Z,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(Z,{name:`arrow-go-back`,className:`size-3.5`})}):null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onActionAll(t.files.map(e=>e.path)),className:Df,"aria-label":u(e.actionSymbol===`+`?`gitView.changes.stageDirectoryAria`:`gitView.changes.unstageDirectoryAria`,{path:t.path}),title:u(e.actionSymbol===`+`?`gitView.changes.stageDirectoryAria`:`gitView.changes.unstageDirectoryAria`,{path:t.path}),children:e.actionSymbol})]})]})},[v,r,s,n,u,L]),G=Q.useCallback(e=>{let i=h[e.groupIndex];if(!i)return null;if(e.type===`header`)return W(i,{showToolbar:!1});if(e.type===`directory`)return te(i,e.directory,e.depth);let a=e.file;return(0,$.jsx)(hf,{file:a,actionLabel:i.getActionLabel(a.path),actionSymbol:i.actionSymbol,onAction:()=>i.onActionFile(a.path),stats:t?.[a.path],onViewDiff:()=>i.onViewDiff(a.path),onRevert:()=>i.onRevertFile(a.path),isReverting:n.has(a.path)||r,rowPaddingClassName:wf,indentPx:e.depth*14,actionAtStart:!1,showRevert:i.showRevertActions!==!1,displayPath:m?_f(a.path):void 0})},[t,r,m,te,W,n,h]),K=Q.useCallback(e=>{let t=k[e],n=k[e-1];return!t||!n||t.type!==`file`&&t.type!==`directory`||n.type!==`file`&&n.type!==`directory`?!1:n.groupIndex===t.groupIndex},[k]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`oc-changes-panel relative flex h-full min-h-0 w-full flex-col overflow-hidden`,children:[O?(0,$.jsx)(`div`,{className:Y(`shrink-0`,i),children:W(O,{pinned:!0,showToolbar:!0})}):null,(0,$.jsx)(Wn,{ref:d,className:`overlay-scrollbar-target overlay-scrollbar-container min-h-0 w-full flex-1 overflow-x-hidden overflow-y-auto`,children:j?(0,$.jsx)(`div`,{style:{height:M.getTotalSize(),position:`relative`},children:N.map(e=>{let t=k[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:M.measureElement,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`},className:Y(K(e.index)&&`before:pointer-events-none before:absolute before:left-0 before:right-2 before:top-0 before:border-t before:border-border/60`),children:G(t)},t.key):null})}):(0,$.jsx)(`div`,{role:`list`,"aria-label":u(`gitView.changes.changedFilesAria`),children:k.map((e,t)=>(0,$.jsx)(`div`,{className:Y(`relative`,K(t)&&`before:pointer-events-none before:absolute before:left-0 before:right-2 before:top-0 before:border-t before:border-border/60`),children:G(e)},e.key))})}),(0,$.jsx)(Pn,{containerRef:d,disableHorizontal:!0})]}),(0,$.jsx)(bt,{open:b,onOpenChange:e=>{!r&&!e&&x(!1)},children:(0,$.jsxs)(_t,{className:`max-w-md`,children:[(0,$.jsxs)(ht,{children:[(0,$.jsx)(vt,{children:u(`gitView.changes.revertAllDialogTitle`)}),(0,$.jsx)(yt,{children:u(V===1?`gitView.changes.revertAllDescriptionSingle`:`gitView.changes.revertAllDescriptionPlural`,{count:V})})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:()=>x(!1),disabled:r,children:u(`gitView.common.cancel`)}),(0,$.jsx)(X,{variant:`destructive`,size:`sm`,onClick:()=>void H(),disabled:r,children:u(r?`gitView.changes.reverting`:`gitView.changes.revertAll`)})]})]})}),(0,$.jsx)(bt,{open:!!S,onOpenChange:e=>{!ee&&!e&&C(null)},children:(0,$.jsxs)(_t,{className:`max-w-md`,children:[(0,$.jsxs)(ht,{children:[(0,$.jsx)(vt,{children:u(`gitView.changes.revertDirectoryDialogTitle`)}),(0,$.jsx)(yt,{children:S?S.count===1?u(`gitView.changes.revertDirectoryDescriptionSingle`,{count:S.count,path:S.path}):u(`gitView.changes.revertDirectoryDescriptionPlural`,{count:S.count,path:S.path}):null})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:()=>C(null),disabled:ee,children:u(`gitView.common.cancel`)}),(0,$.jsx)(X,{variant:`destructive`,size:`sm`,onClick:()=>void U(),disabled:ee||!S,children:u(ee?`gitView.changes.reverting`:`gitView.changes.revertDirectory`)})]})]})})]})},jf=e=>{let t=(0,qr.c)(26),{stagedCount:n,unstagedCount:r,onLoad:i}=e,{t:a}=fe(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(Z,{name:`loader-4`,className:`size-5 text-muted-foreground`}),t[0]=o):o=t[0];let s;t[1]!==n||t[2]!==a?(s=a(`gitView.changes.deferredStagedCount`,{count:n}),t[1]=n,t[2]=a,t[3]=s):s=t[3];let c;t[4]!==a||t[5]!==r?(c=a(`gitView.changes.deferredUnstagedCount`,{count:r}),t[4]=a,t[5]=r,t[6]=c):c=t[6];let l;t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(`p`,{className:`typography-meta text-muted-foreground`,children:[s,` · `,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9];let u;t[10]===a?u=t[11]:(u=a(`gitView.changes.deferredHint`),t[10]=a,t[11]=u);let d;t[12]===u?d=t[13]:(d=(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:u}),t[12]=u,t[13]=d);let f;t[14]!==l||t[15]!==d?(f=(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center gap-1`,children:[l,d]}),t[14]=l,t[15]=d,t[16]=f):f=t[16];let p;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Z,{name:`refresh`,className:`size-3.5`}),t[17]=p):p=t[17];let m;t[18]===a?m=t[19]:(m=a(`gitView.changes.deferredLoadAction`),t[18]=a,t[19]=m);let h;t[20]!==i||t[21]!==m?(h=(0,$.jsxs)(X,{type:`button`,size:`sm`,variant:`outline`,onClick:i,children:[p,m]}),t[20]=i,t[21]=m,t[22]=h):h=t[22];let g;return t[23]!==h||t[24]!==f?(g=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center gap-3 px-6 py-8 text-center`,children:[o,f,h]}),t[23]=h,t[24]=f,t[25]=g):g=t[25],g},Mf=e=>e?e.oversized===!0:!1,Nf=38,Pf=200,Ff=e=>{let t=(0,qr.c)(20),{value:n,onChange:r,placeholder:i,disabled:a,hasTouchInput:o,isMobile:s}=e,c=a!==void 0&&a,l=o!==void 0&&o,u=s!==void 0&&s,{t:d}=fe(),f=Q.useRef(null),p=P(If),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>{let e=f.current;if(!e)return;let t=document.activeElement===e,n=()=>{e.style.height=`${Nf}px`;let n=e.scrollHeight,r=Math.min(Math.max(n,Nf),Pf);e.style.height=`${r}px`,e.style.overflowY=n>Pf?`auto`:`hidden`,n>Pf&&!t&&(e.scrollTop=e.scrollHeight)};n();let r=window.requestAnimationFrame(n);return()=>{window.cancelAnimationFrame(r)}},t[0]=m):m=t[0];let h;t[1]===n?h=t[2]:(h=[n],t[1]=n,t[2]=h),Q.useLayoutEffect(m,h);let g;t[3]===r?g=t[4]:(g=e=>r(e.target.value),t[3]=r,t[4]=g);let _;t[5]!==i||t[6]!==d?(_=i??d(`gitView.commit.messagePlaceholder`),t[5]=i,t[6]=d,t[7]=_):_=t[7];let v=l?`on`:`off`,y=l?`sentences`:`off`,b=u||p,x=c&&`opacity-50`,S;t[8]===x?S=t[9]:(S=Y(`w-full rounded-lg border border-border/60 bg-surface-elevated px-3 py-2 typography-ui-label text-foreground placeholder:text-muted-foreground`,`resize-none outline-none transition-[border-color,box-shadow] duration-150`,`focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,x),t[8]=x,t[9]=S);let C;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(C={minHeight:Nf,maxHeight:Pf},t[10]=C):C=t[10];let w;return t[11]!==c||t[12]!==b||t[13]!==S||t[14]!==g||t[15]!==_||t[16]!==v||t[17]!==y||t[18]!==n?(w=(0,$.jsx)(`textarea`,{ref:f,value:n,onChange:g,placeholder:_,rows:1,disabled:c,autoCorrect:v,autoCapitalize:y,spellCheck:b,className:S,style:C}),t[11]=c,t[12]=b,t[13]=S,t[14]=g,t[15]=_,t[16]=v,t[17]=y,t[18]=n,t[19]=w):w=t[19],w};function If(e){return e.inputSpellcheckEnabled}var Lf=e=>{let t=(0,qr.c)(30),{highlights:n,onInsert:r}=e,{t:i}=fe();if(n.length===0)return null;let a;t[0]!==n||t[1]!==r?(a=()=>{r(n)},t[0]=n,t[1]=r,t[2]=a):a=t[2];let o=a,s;t[3]===i?s=t[4]:(s=i(`gitView.commit.aiHighlights.title`),t[3]=i,t[4]=s);let c;t[5]===s?c=t[6]:(c=(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:s}),t[5]=s,t[6]=c);let l;t[7]===i?l=t[8]:(l=i(`gitView.commit.aiHighlights.insertAria`),t[7]=i,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Z,{name:`arrow-down`,className:`size-4`}),t[9]=u):u=t[9];let d;t[10]!==o||t[11]!==l?(d=(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`size-6`,onClick:o,"aria-label":l,children:u})}),t[10]=o,t[11]=l,t[12]=d):d=t[12];let f;t[13]===i?f=t[14]:(f=i(`gitView.commit.aiHighlights.insertTooltip`),t[13]=i,t[14]=f);let p;t[15]===f?p=t[16]:(p=(0,$.jsx)(dn,{sideOffset:8,children:f}),t[15]=f,t[16]=p);let m;t[17]!==d||t[18]!==p?(m=(0,$.jsxs)(fn,{children:[d,p]}),t[17]=d,t[18]=p,t[19]=m):m=t[19];let h;t[20]!==c||t[21]!==m?(h=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[c,m]}),t[20]=c,t[21]=m,t[22]=h):h=t[22];let g;t[23]===n?g=t[24]:(g=n.map(Rf),t[23]=n,t[24]=g);let _;t[25]===g?_=t[26]:(_=(0,$.jsx)(`ul`,{className:`space-y-1`,children:g}),t[25]=g,t[26]=_);let v;return t[27]!==h||t[28]!==_?(v=(0,$.jsxs)(`div`,{className:`space-y-2 rounded-xl border border-border/60 bg-transparent px-3 py-2`,children:[h,_]}),t[27]=h,t[28]=_,t[29]=v):v=t[29],v};function Rf(e,t){return(0,$.jsx)(`li`,{className:`typography-meta text-foreground`,children:e},`${e}-${t}`)}var zf=e=>{let t=(0,qr.c)(75),{stagedCount:n,commitMessage:r,onCommitMessageChange:i,generatedHighlights:a,onInsertHighlights:o,onGenerateMessage:s,isGeneratingMessage:c,onCommit:l,onCommitAndPush:u,commitAction:d,hasPendingIndexMutation:f,gitmojiEnabled:p,onOpenGitmojiPicker:m}=e,h=f!==void 0&&f,{t:g}=fe(),_=n>0,v;t[0]!==d||t[1]!==r||t[2]!==h||t[3]!==_?(v=r.trim()&&_&&d===null&&!h,t[0]=d,t[1]=r,t[2]=h,t[3]=_,t[4]=v):v=t[4];let y=v,{isMobile:b,hasTouchInput:x}=Nn(),S;t[5]===g?S=t[6]:(S=g(`gitView.commit.title`),t[5]=g,t[6]=S);let C;t[7]===S?C=t[8]:(C=(0,$.jsx)(`h3`,{className:`typography-ui-header font-semibold text-foreground`,children:S}),t[7]=S,t[8]=C);let w;t[9]!==_||t[10]!==g?(w=_?null:(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-meta text-muted-foreground`,children:g(`gitView.commit.stageFilesHint`)}),t[9]=_,t[10]=g,t[11]=w):w=t[11];let T;t[12]!==C||t[13]!==w?(T=(0,$.jsxs)(`div`,{className:`flex w-full items-baseline gap-2 px-0 pt-2 pb-1`,children:[C,w]}),t[12]=C,t[13]=w,t[14]=T):T=t[14];let E;t[15]!==a||t[16]!==o?(E=(0,$.jsx)(Lf,{highlights:a,onInsert:o}),t[15]=a,t[16]=o,t[17]=E):E=t[17];let D;t[18]===g?D=t[19]:(D=g(`gitView.commit.messagePlaceholder`),t[18]=g,t[19]=D);let O=d!==null,k;t[20]!==r||t[21]!==x||t[22]!==b||t[23]!==i||t[24]!==D||t[25]!==O?(k=(0,$.jsx)(Ff,{value:r,onChange:i,placeholder:D,disabled:O,hasTouchInput:x,isMobile:b}),t[20]=r,t[21]=x,t[22]=b,t[23]=i,t[24]=D,t[25]=O,t[26]=k):k=t[26];let A=c||d!==null||h||n===0,j;t[27]===g?j=t[28]:(j=g(`gitView.commit.generateAria`),t[27]=g,t[28]=j);let M;t[29]===c?M=t[30]:(M=c?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`ai-generate-2`,className:`size-4 text-primary`}),t[29]=c,t[30]=M);let N;t[31]===g?N=t[32]:(N=g(`gitView.commit.generate`),t[31]=g,t[32]=N);let P;t[33]===N?P=t[34]:(P=(0,$.jsx)(`span`,{className:`commit-actions__label`,children:N}),t[33]=N,t[34]=P);let F;t[35]!==s||t[36]!==A||t[37]!==j||t[38]!==M||t[39]!==P?(F=(0,$.jsxs)(X,{variant:`outline`,size:`sm`,onClick:s,disabled:A,type:`button`,"aria-label":j,className:`commit-actions__btn`,children:[M,P]}),t[35]=s,t[36]=A,t[37]=j,t[38]=M,t[39]=P,t[40]=F):F=t[40];let I;t[41]!==p||t[42]!==m||t[43]!==g?(I=p?(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:m,"aria-label":g(`gitView.commit.addGitmoji`),className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,children:(0,$.jsx)(Z,{name:`emotion-happy`,className:`size-4`})})}),(0,$.jsx)(dn,{side:`top`,children:(0,$.jsx)(`p`,{children:g(`gitView.commit.addGitmoji`)})})]}):null,t[41]=p,t[42]=m,t[43]=g,t[44]=I):I=t[44];let L;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(`div`,{className:`flex-1`}),t[45]=L):L=t[45];let R=!y||c,z;t[46]===g?z=t[47]:(z=g(`gitView.commit.commitAria`),t[46]=g,t[47]=z);let B;t[48]!==d||t[49]!==g?(B=d===`commit`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),(0,$.jsx)(`span`,{className:`commit-actions__label`,children:g(`gitView.commit.committing`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`git-commit`,className:`size-4`}),(0,$.jsx)(`span`,{className:`commit-actions__label`,children:g(`gitView.commit.commit`)})]}),t[48]=d,t[49]=g,t[50]=B):B=t[50];let V;t[51]!==l||t[52]!==R||t[53]!==z||t[54]!==B?(V=(0,$.jsx)(X,{size:`sm`,variant:`outline`,onClick:l,disabled:R,className:`commit-actions__btn whitespace-nowrap`,"aria-label":z,children:B}),t[51]=l,t[52]=R,t[53]=z,t[54]=B,t[55]=V):V=t[55];let ee;t[56]!==y||t[57]!==d||t[58]!==c||t[59]!==b||t[60]!==u||t[61]!==g?(ee=b?(0,$.jsxs)(fn,{children:[(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(X,{variant:`default`,size:`sm`,onClick:()=>u(),disabled:!y||c,className:`h-7 w-7 p-0`,"aria-label":g(`gitView.commit.pushAria`),children:d===`commitAndPush`?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`arrow-up`,className:`size-3.5`})})}),(0,$.jsx)(dn,{side:`top`,children:(0,$.jsx)(`p`,{children:g(`gitView.commit.push`)})})]}):(0,$.jsx)(X,{size:`sm`,variant:`default`,onClick:()=>u(),disabled:!y||c,className:`commit-actions__btn`,"aria-label":g(`gitView.commit.pushAria`),children:d===`commitAndPush`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}),(0,$.jsx)(`span`,{className:`commit-actions__label commit-actions__label--push`,children:g(`gitView.commit.pushing`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Z,{name:`arrow-up`,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`commit-actions__label commit-actions__label--push`,children:g(`gitView.commit.push`)})]})}),t[56]=y,t[57]=d,t[58]=c,t[59]=b,t[60]=u,t[61]=g,t[62]=ee):ee=t[62];let H;t[63]!==F||t[64]!==I||t[65]!==V||t[66]!==ee?(H=(0,$.jsxs)(`div`,{className:`@container/commit-actions flex items-center gap-2 min-w-0`,children:[F,I,L,V,ee]}),t[63]=F,t[64]=I,t[65]=V,t[66]=ee,t[67]=H):H=t[67];let U;t[68]!==k||t[69]!==H||t[70]!==E?(U=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 px-0 pt-1 pb-3`,children:[E,k,H]}),t[68]=k,t[69]=H,t[70]=E,t[71]=U):U=t[71];let W;return t[72]!==U||t[73]!==T?(W=(0,$.jsxs)(`section`,{className:`border-0 bg-transparent rounded-none`,children:[T,U]}),t[72]=U,t[73]=T,t[74]=W):W=t[74],W},Bf=e=>{let t=(0,qr.c)(29),{className:n,mobile:r}=e,i=r!==void 0&&r,{t:a}=fe(),o=P(Vf),s=P(Hf),c;t[0]===s?c=t[1]:(c=wn(bn(`open_command_palette`,s)),t[0]=s,t[1]=c);let l=c,u=i?`mobileGlass`:`ghost`,d=i?`mobileIcon`:`icon`,f;t[2]===o?f=t[3]:(f=()=>o(!0),t[2]=o,t[3]=f);let p;t[4]===a?p=t[5]:(p=a(`commandPalette.title`),t[4]=a,t[5]=p);let m=!i&&`size-7 rounded-md text-muted-foreground/75 focus-visible:ring-2 focus-visible:ring-primary`,h;t[6]!==n||t[7]!==m?(h=Y(`app-region-no-drag`,m,n),t[6]=n,t[7]=m,t[8]=h):h=t[8];let g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(Z,{name:`search`,className:`size-4 text-foreground/55 transition-colors group-hover:text-foreground group-focus-visible:text-foreground`}),t[9]=g):g=t[9];let _;t[10]!==u||t[11]!==d||t[12]!==f||t[13]!==p||t[14]!==h?(_=(0,$.jsx)(un,{asChild:!0,children:(0,$.jsx)(X,{variant:u,size:d,onClick:f,"aria-label":p,className:h,children:g})}),t[10]=u,t[11]=d,t[12]=f,t[13]=p,t[14]=h,t[15]=_):_=t[15];let v;t[16]===a?v=t[17]:(v=a(`commandPalette.title`),t[16]=a,t[17]=v);let y;t[18]===v?y=t[19]:(y=(0,$.jsx)(`span`,{children:v}),t[18]=v,t[19]=y);let b;t[20]!==i||t[21]!==l?(b=i?null:(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:l}),t[20]=i,t[21]=l,t[22]=b):b=t[22];let x;t[23]!==y||t[24]!==b?(x=(0,$.jsx)(dn,{children:(0,$.jsxs)(`p`,{className:`flex items-center gap-2`,children:[y,b]})}),t[23]=y,t[24]=b,t[25]=x):x=t[25];let S;return t[26]!==_||t[27]!==x?(S=(0,$.jsxs)(fn,{children:[_,x]}),t[26]=_,t[27]=x,t[28]=S):S=t[28],S};function Vf(e){return e.setCommandPaletteOpen}function Hf(e){return e.shortcutOverrides}var Uf=e=>{let t=e.time?.created;return typeof t==`number`&&Number.isFinite(t)?t:0},Wf=(e,t)=>e.filter(e=>t.has(e.id)).sort((e,t)=>Uf(t)-Uf(e)),Gf=e=>e.parentID??null,Kf=e=>{let t=e.time?.archived;return typeof t==`number`&&t>0},qf=(e,t,n,r)=>{let i=[];for(let a of e){if(t.has(a.id)||Kf(a))continue;let e=n.has(a.id),o=(r[a.id]??0)>0&&!Gf(a);!e&&!o||i.push(a)}return i.sort((e,t)=>Ze(t)-Ze(e)),i},Jf=(e,t)=>{let n=e?.trim()||null;return!n||n===`HEAD`||t&&n===t?null:n},Yf=e=>{let t=e.projectLabel?.trim()||null;if(e.isVSCode)return t?{projectLabel:t,branchLabel:null}:null;let n;n=e.owner?.kind===`worktree`?e.worktrees.find(t=>h(t.path)===e.owner?.scopeDirectory)?.branch??e.sessionWorktree?.branch:e.projectRootBranch??e.sessionWorktree?.branch;let r=Jf(n,t);return!t&&!r?null:{projectLabel:t,branchLabel:r}},Xf=e=>!!e.time?.archived,Zf=e=>{let t=e.parentID;return typeof t==`string`&&t.trim()?t:null},Qf=(e,t={})=>{let n=t.pinnedSessionIds??new Set,r=t.omitPinnedSessions===!0,i=t.getWorktree??(()=>null),a=xn(e).sort((e,t)=>Cn(e,t,n)),o=new Map(a.map(e=>[e.id,e])),s=new Map;a.forEach(e=>{let t=Zf(e);if(!t)return;let i=o.get(t);if(!i||Xf(i)!==Xf(e)||r&&n.has(t))return;let a=s.get(t)??[];a.push(e),s.set(t,a)}),s.forEach(e=>e.sort((e,t)=>Cn(e,t,n)));let c=e=>({session:e,children:(s.get(e.id)??[]).filter(e=>!(r&&n.has(e.id))).map(e=>c(e)),worktree:i(e)});return a.filter(e=>!(r&&n.has(e.id)||Zf(e))).map(e=>c(e))},$f=()=>{let e=Je.getState(),t=e.currentSessionId,n=P.getState();fu({sessionId:t,isNewSession:!!e.newSessionDraft?.open&&!t,tab:n.activeMainTab||`chat`,isSettingsOpen:n.isSettingsDialogOpen,settingsPath:n.settingsPage,diffFile:null,diffScope:null},{replace:!0,force:!0})},ep=()=>{H(),j.reconnectToRuntimeBaseUrl(),lt.setState({catalogTransportIdentity:n()}),$e()},tp=e=>{Je.getState().prepareForRuntimeSwitch(e.previousRuntimeKey),P.getState().prepareForRuntimeSwitch(e.previousRuntimeKey),e.previousRuntimeKey&&We.getState().stopRunningRunsForRuntime(e.previousRuntimeKey),H(),j.reconnectToRuntimeBaseUrl();let t=lt.persist.getOptions().storage;lt.persist.setOptions({storage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{}}}),lt.setState({catalogTransportIdentity:n(),activeDirectoryKey:`__global__`,directoryScoped:{},providerConfigLoadingByDirectory:{},agentConfigLoadingByDirectory:{},providers:[],agents:[],defaultProviders:{},currentProviderId:``,currentModelId:``,currentVariant:void 0,currentAgentName:void 0,selectedProviderId:``,agentModelSelections:{},lastSelectedAgentName:void 0,lastUserSelection:void 0,globalLastUserSelection:void 0,opencodeDefaultAgent:void 0,opencodeDefaultModel:void 0,selectionSource:`auto`,settingsDefaultModel:void 0,settingsDefaultVariant:void 0,settingsDefaultAgent:void 0,isConnected:!1,isInitialized:!1,connectionPhase:`connecting`,lastDisconnectReason:null}),lt.persist.setOptions({storage:t}),lt.persist.rehydrate(),ot.getState().resetForRuntimeSwitch(),Fe.getState().resetForRuntimeSwitch(),Oe.getState().reset(),jr(),Et(),Je.getState().restoreForRuntimeSwitch(e.runtimeKey),P.getState().restoreForRuntimeSwitch(e.runtimeKey),$f(),$e()};export{io as $,Rc as A,Cc as B,$c as C,Gc as D,Jc as E,jc as F,hc as G,pc as H,Oc as I,us as J,uc as K,kc as L,Mc as M,Ac as N,Hc as O,Ec as P,Oo as Q,vc as R,Qc as S,qc as T,mc as U,xc as V,gc as W,Fo as X,Vo as Y,Do as Z,Su as _,qf as a,di as at,Zc as b,zf as c,Af as d,Vi as et,rf as f,Au as g,ju as h,Wf as i,Ci as it,Pc as j,zc as k,Mf as l,$u as m,tp as n,ji as nt,Yf as o,ui as ot,uf as p,Xo as q,Qf as r,wi as rt,Bf as s,ri as st,ep as t,Mi as tt,jf as u,gu as v,Kc as w,Xc as x,Ll as y,Sc as z};
|