@openchambery/web 1.19.3-beta.9 → 1.19.3
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-Cv4AInhX.js → AssistantView-DOWGWhif.js} +1 -1
- package/dist/assets/{ChatContainer-D-zmwedK.js → ChatContainer-ESuWnDej.js} +4 -4
- package/dist/assets/{ContextPanel-CuQG68f_.js → ContextPanel-C-QjYjo6.js} +3 -3
- package/dist/assets/{DiagramView-BjotLg7O.js → DiagramView-D4zpHoNi.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-Cia2UcbD.js → MarkdownRendererImpl-DPktXM2f.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-Qa2h-rWO.js → MobileDetailNavigation-_RZ0g9LQ.js} +1 -1
- package/dist/assets/{MobileShareBridge-D22KXwEX.js → MobileShareBridge-8ddOV7xn.js} +1 -1
- package/dist/assets/MobileSurface-BloZNHV8.js +2 -0
- package/dist/assets/{MultiRunWindow-CZ-8L6CK.js → MultiRunWindow-CaPUUout.js} +1 -1
- package/dist/assets/{SettingsView-Bp2cotAg.js → SettingsView-BXSjsqxj.js} +1 -1
- package/dist/assets/{SettingsWindow-ClvAwy_-.js → SettingsWindow-Di5NNqk1.js} +1 -1
- package/dist/assets/{TerminalView-BRfhJkLi.js → TerminalView-8pH6k2Wa.js} +1 -1
- package/dist/assets/{ToolOutputDialog-CJYgo-o_.js → ToolOutputDialog-vmJW-g31.js} +1 -1
- package/dist/assets/appThemeRegistry-Ci9L1yAY.js +2 -0
- package/dist/assets/{gitApi-DDFDLxHA.js → gitApi-B578F2qF.js} +1 -1
- package/dist/assets/{insertionBoundaries-5mLOCAFx.js → insertionBoundaries-DAmum4c9.js} +1 -1
- package/dist/assets/{main-BZ1twyk2.js → main-C5gqMAdv.js} +2 -2
- package/dist/assets/{main-C3qjHZkD.js → main-fUahIzqx.js} +3 -3
- package/dist/assets/{miniChat-D4TKIcRy.js → miniChat-Lm6dEPuW.js} +2 -2
- package/dist/assets/{mobile-BZTk4Rw8.js → mobile-9NfssuIP.js} +2 -2
- package/dist/assets/{multirun-D1f791DS.js → multirun-DNChJl0k.js} +1 -1
- package/dist/assets/{projectMeta-CbG-R_wj.js → projectMeta-DL_sTHNq.js} +1 -1
- package/dist/assets/{radio-DBYd0713.js → radio-Dci6je4R.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-DIQjeyew.js → renderElectronMiniChatApp-B26yr2Xx.js} +2 -2
- package/dist/assets/{renderMobileApp--t-Kl-Jp.js → renderMobileApp-D6xShV-U.js} +4 -4
- package/dist/assets/{runtimeConfig-kzAv--O7.js → runtimeConfig-Ca0GzO_3.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-OopUJNze.js → runtimeEndpointReset-ptjKd1Gu.js} +1 -1
- package/dist/assets/{shikiHighlight-BVe-xPo_.js → shikiHighlight-DVFAhbnM.js} +1 -1
- package/dist/assets/{useAppFontEffects-B9YT_YH-.js → useAppFontEffects-D-IsiNk4.js} +2 -2
- package/dist/assets/{useDesktopWindowControlsLayout-CDPso6-y.js → useDesktopWindowControlsLayout-BjpJZ3Z1.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-C9Dljexf.js → useEffectiveDirectory-CH4Ozcru.js} +1 -1
- package/dist/assets/{useMobileNavigationStore-cXTRvYKn.js → useMobileNavigationStore-BPyT9UnS.js} +1 -1
- package/dist/assets/{useSessionAutoCleanup-Bg_PC5xz.js → useSessionAutoCleanup-BMxFa-vc.js} +1 -1
- package/dist/assets/{useWorkerHighlightedLines-BaI7DM5D.js → useWorkerHighlightedLines-CheaFJcr.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/dist/assets/MobileSurface-AWadZ88P.js +0 -2
- package/dist/assets/appThemeRegistry-BjjUM_wH.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,E as n,O as r,T as i,b as a,k as o,t as s}from"./useUIStore-DOxLVeGb.js";import{$ as c,Xt as l,_n as u,d,kn as f,kt as p,on as m,r as h,u as g,yn as _}from"./persistence-DE9RnVcA.js";import{a as v,i as y}from"./vendor-zustand-B4dlGEM2.js";import{nt as b,o as x,rt as S,s as C}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as w,Nt as T,r as E}from"./platform-MjT8iqKB.js";import{n as D}from"./vendor-react-DLPElpoQ.js";import{n as O,s as k,t as A}from"./vendor-tanstack-react-query-D7pys_c9.js";import{i as j}from"./terminalApi-Bnx0KvaV.js";import{n as M}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as ee,r as N,t as P}from"./clipboard-BXC1vZwE.js";import{$a as F,Cn as I,Co as L,Er as R,Fr as z,Ga as B,Ht as te,Kr as V,Mn as H,Mo as U,Po as ne,Sn as W,Tn as re,To as G,Ui as ie,Vt as ae,Yr as K,ar as oe,bn as se,dr as ce,ea as le,fr as ue,gr as q,hr as de,jr as fe,l as J,lr as pe,mr as me,na as he,nr as ge,or as _e,pr as ve,r as ye,sr as be,ur as xe,xo as Se,yn as Ce}from"./useMobileNavigationStore-cXTRvYKn.js";import{t as we}from"./MobileDetailNavigation-Qa2h-rWO.js";import{i as Te,t as Ee}from"./useAssistantUIStore-D2K7ksGj.js";import{a as De,i as Oe,n as ke,o as Ae,r as je,t as Me}from"./dialog-wraJHZQ2.js";import{n as Ne,t as Y}from"./utils-C2R0YoC5.js";import{n as X}from"./Icon-BLWVqBee.js";import{t as Z}from"./button-CeCkEpvn.js";import{d as Pe}from"./gitApi-DDFDLxHA.js";import{D as Fe,O as Ie,X as Le,o as Re,s as ze}from"./useAppFontEffects-B9YT_YH-.js";import{A as Be,F as Ve,J as He,M as Ue,P as We,S as Ge,U as Ke,V as qe,a as Je,c as Ye,f as Xe,g as Ze,h as Qe,i as $e,j as et,m as tt,n as nt,o as rt,p as it,q as at,r as ot,t as st,u as ct,v as lt,x as ut}from"./projectMeta-CbG-R_wj.js";import{t as dt}from"./input-CyG05w-V.js";import{i as ft,n as pt,t as mt}from"./tooltip-B__x-HDJ.js";import{n as ht}from"./useThemeSystem-DMzWVJaW.js";import{G as gt,H as _t,K as vt,U as yt,W as bt,_ as xt,h as St,p as Ct,v as wt,w as Tt,y as Et}from"./radio-DBYd0713.js";import{i as Dt,t as Ot}from"./OverlayScrollbar-GQgJusKL.js";import{P as kt,U as At,q as jt,rt as Mt,t as Nt,x as Pt}from"./ChatContainer-D-zmwedK.js";import{n as Ft}from"./useRuntimeAPIs-DSLXJybW.js";import{E as It,T as Lt,k as Rt,r as zt}from"./insertionBoundaries-5mLOCAFx.js";import{c as Bt}from"./appThemeRegistry-BjjUM_wH.js";import{_ as Vt,i as Ht,l as Ut,s as Wt,t as Gt,v as Kt,y as qt}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{a as Jt,o as Yt,s as Xt,t as Zt}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{f as Qt}from"./FadeInOnReveal-Cy3sf2M5.js";import{t as $t}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{a as en,i as tn,n as nn}from"./vendor-framer-motion-DFy_BSVd.js";import{A as rn,B as an,E as on,K as sn,a as cn,g as ln,q as un,t as dn,u as fn}from"./MobileSurface-AWadZ88P.js";import{a as pn,c as mn,l as hn,o as gn,s as _n}from"./shikiHighlight-BVe-xPo_.js";import{t as vn}from"./vendor-cron-parser-CCD11YFT.js";var yn=D(),Q=e(S(),1),$=b(),bn=Q.forwardRef((e,t)=>{let n=(0,yn.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)(x,{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)(C,{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});bn.displayName=`Switch`;var xn={},Sn=[],Cn=(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}},wn=e=>{switch(e?.status){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`default`}},Tn=({active:e,className:t,headerAction:n,listClassName:r,hideHeader:i=!1,mobileListDensity:a=!1})=>{let{t:o}=ee(),s=w(e=>e.currentDirectory)??null,c=an(e=>e.connect),l=an(e=>e.disconnect),{data:u,refetch:d,isError:f,error:p}=un(s,{enabled:e}),{data:m}=sn(s,{enabled:e}),h=u??xn,g=m??Sn,[_,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)(X,{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=wn(t),r=t?.status===`connected`,i=y===e,d=Cn(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)(mt,{children:[(0,$.jsx)(ft,{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)(pt,{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)(bn,{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`)})]})})]})},En=e=>!(e.dismissed===`true`||e.sessionShown===`true`||e.hasActiveToast),Dn=e=>!(!e.version||e.seenVersions.has(e.version)||e.dismissedVersion!==null&&e.dismissedVersion===e.version),On=e=>{if(typeof e!=`object`||!e)return``;let t=e.version;return typeof t==`string`?t.trim():``},kn=e=>!e||e.available!==!0||typeof e.latestVersion!=`string`?``:e.latestVersion.trim(),An=e=>{let t=e.trim().replace(/^v/i,``);return t?{target:t}:null},jn=5e3,Mn={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e)};function Nn(e,t,n=Mn){if(!e)return()=>void 0;let r=n.setTimeout(()=>{t().catch(()=>void 0)},jn);return()=>n.clearTimeout(r)}var Pn=`opencode-update-available`,Fn=`opencode-upgrade-progress`,In=`opencode-update-toast-dismissed-version`,Ln=()=>{let{t:e}=ee(),t=s(e=>e.showOpenCodeUpdateNotifications),n=Q.useRef(new Set),r=Q.useRef(!1);Q.useEffect(()=>{t||q.dismiss(Pn)},[t]);let i=M(()=>{q.dismiss(Fn),F({message:e(`opencodeUpdate.toast.reload.message`),mode:`projects`,scopes:[`all`]}).catch(()=>void 0)}),o=M(async t=>{if(!r.current){r.current=!0,q.dismiss(Pn),q.message(e(`opencodeUpdate.toast.upgrading.title`),{id:Fn,description:e(`opencodeUpdate.toast.upgrading.description`),duration:1/0,icon:(0,$.jsx)(X,{name:`refresh`,className:`h-4 w-4 animate-spin text-muted-foreground`})});try{let n=An(t);if(!n)throw Error(e(`opencodeUpdate.toast.failed.description`));let r=await f(`/api/opencode/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(n)}),a=await r.json().catch(()=>null);if(!r.ok||a?.success===!1)throw Error(a?.error||r.statusText||e(`opencodeUpdate.toast.failed.description`));q.success(e(`opencodeUpdate.toast.updated.title`),{id:Fn,description:a?.version?e(`opencodeUpdate.toast.updated.descriptionWithVersion`,{version:a.version}):e(`opencodeUpdate.toast.updated.description`),duration:1/0,icon:(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 text-[var(--status-success)]`}),action:{label:e(`opencodeUpdate.toast.actions.reload`),onClick:i}})}catch(t){q.error(e(`opencodeUpdate.toast.failed.title`),{id:Fn,description:t instanceof Error?t.message:e(`opencodeUpdate.toast.failed.description`),duration:1/0})}finally{r.current=!1}}});return Q.useEffect(()=>{let r=t=>{if(!s.getState().showOpenCodeUpdateNotifications){q.dismiss(Pn);return}Dn({version:t,dismissedVersion:a().getItem(In),seenVersions:n.current})&&(n.current.add(t),q.info(e(`opencodeUpdate.toast.available.title`),{id:Pn,description:e(`opencodeUpdate.toast.available.description`,{version:t}),duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:()=>{o(t)}},cancel:{label:e(`opencodeUpdate.toast.actions.dismiss`),onClick:()=>{a().setItem(In,t),h({openCodeUpdateToastDismissedVersion:t}),q.dismiss(Pn)}}}))},i=e=>{let t=On(e.detail);r(t)},c=!1,l=Nn(t,async()=>{try{let e=await f(`/api/opencode/upgrade-status`,{headers:{Accept:`application/json`}});if(!e.ok)throw Error(e.statusText||`OpenCode upgrade status check failed`);let t=kn(await e.json().catch(()=>null));!c&&t&&r(t)}catch{}});return window.addEventListener(`openchamber:opencode-update-available`,i),()=>{c=!0,l(),window.removeEventListener(`openchamber:opencode-update-available`,i)}},[t,e]),null},Rn=()=>{let e=(0,yn.c)(3),[t,n]=Q.useState(zn),{isUpdating:r}=t,i,a;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>G(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)(vt,{width:80,height:80,isAnimated:!0})}),e[2]=o):o=e[2],o};function zn(){return L()}var Bn=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)(_t,{className:`w-full max-w-md`,children:[(0,$.jsx)(bt,{className:`text-center`,children:(0,$.jsxs)(gt,{className:`flex items-center justify-center gap-2 text-destructive`,children:[(0,$.jsx)(X,{name:`chat-3`,className:`h-5 w-5`}),this.props.texts.title]})}),(0,$.jsxs)(yt,{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)(Z,{onClick:this.handleReset,variant:`outline`,className:`flex-1`,children:[(0,$.jsx)(X,{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 Vn(e){let t=(0,yn.c)(22),{t:n}=ee(),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)(Bn,{...e,texts:l}),t[19]=e,t[20]=l,t[21]=u):u=t[21],u}var Hn=e=>{let t=(0,yn.c)(10),{readOnly:n,active:r,selectionOverride:i}=e,a=n!==void 0&&n,o=r===void 0||r,s=J(Un),c=(i?.sessionId??s)||void 0,l;t[0]!==o||t[1]!==i?(l=i?{...i,active:o}:void 0,t[0]=o,t[1]=i,t[2]=l):l=t[2];let u;t[3]!==o||t[4]!==a||t[5]!==l?(u=(0,$.jsx)(Nt,{readOnly:a,active:o,explicitSession:l}),t[3]=o,t[4]=a,t[5]=l,t[6]=u):u=t[6];let d;return t[7]!==c||t[8]!==u?(d=(0,$.jsx)(Vn,{sessionId:c,children:u}),t[7]=c,t[8]=u,t[9]=d):d=t[9],d};function Un(e){return e.currentSessionId}var Wn=new Set,Gn=new Map;function Kn(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 qn(e,t){if(!t||e.has(t))return e;let n=new Set(e);return n.add(t),n}function Jn(e){let t=(0,yn.c)(7),n=e?.enabled??!0,r;t[0]===n?r=t[1]:(r={enabled:n},t[0]=n,t[1]=r);let i=te(r),a;t[2]===n?a=t[3]:(a=e=>n?e.statusById:Gn,t[2]=n,t[3]=a);let o=W(a),s;bb0:{if(!n){s=Wn;break bb0}let e;t[4]!==o||t[5]!==i?(e=Kn(i,o),t[4]=o,t[5]=i,t[6]=e):e=t[6],s=e}return s}function Yn(e){let t=(0,yn.c)(3),n=e?.includeCurrentSession??!0,r=Jn(e),i=J(Xn),a;bb0:{if(!n){a=r;break bb0}let e;t[0]!==i||t[1]!==r?(e=qn(r,i),t[0]=i,t[1]=r,t[2]=e):e=t[2],a=e}return a}function Xn(e){return e.currentSessionId}var Zn=e=>Object.fromEntries(e.map(e=>[e.id,le(e)])),Qn=(e,t,n)=>{let r=Zn(e.map(e=>e.session));return ge(r,n)?new Map((t??[]).map((e,t)=>[e,t])):new Map},$n=(e,t,n,r)=>{let i=Qn(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 Fe(e.session,t.session,r)}},er=({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}},tr=(e,t,n)=>n.get(e)===n.get(t),nr=e=>!!e.parentID,rr=(e,t)=>c(xe(e.session))??c(t.directory??null),ir=()=>3,ar=(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},or=(e,t,n)=>ar(e,t,n,e=>e.session.id),sr=(e,t,n)=>ar(e,t,n,e=>e.id),cr=({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}),lr=(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},ur=({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),l=s.find(e=>e.isMain)??null;(l?[l,...s.filter(e=>e.id!==l.id)]:s).forEach(n=>{if(n.isArchivedBucket)return;let s=`${e.project.id}:${n.id}`,l=n.folderScopeKey??c(n.directory??null),u=$n(n.sessions,l?i[l]:void 0,l?a[l]:void 0,r),d=[...n.sessions].filter(e=>!e.session.time?.archived&&!nr(e.session)).sort(u),f=new Map(d.map(e=>[e.session.id,e])),p=l?t[l]??[]:[],m=new Map;p.forEach(e=>{let t=e.parentId??null,n=m.get(t)??[];n.push(e),m.set(t,n)});let h=new Set(p.flatMap(e=>e.sessionIds)),g=(t,r,i)=>{o.push({scope:`project`,sessionId:t.session.id,projectId:e.project.id,directory:rr(t,n),groupKey:s,folderAncestorIds:r,visibleIndex:i})},_=(e,t)=>{let n=p.find(t=>t.id===e);if(!n)return;let r=[...t,n.id];(m.get(n.id)??[]).forEach(e=>{_(e.id,r)}),n.sessionIds.map(e=>f.get(e)).filter(e=>!!e).sort(u).forEach(e=>g(e,r))};(m.get(null)??[]).forEach(e=>_(e.id,[])),d.filter(e=>!h.has(e.session.id)).forEach((e,t)=>g(e,void 0,t))})}),o},dr=v()(y(e=>({expandedWorktreeGroups:{},setWorktreeGroupExpanded:(t,n)=>e(e=>({expandedWorktreeGroups:{...e.expandedWorktreeGroups,[t]:n}}))}),{name:`mobile-session-statusbar-collapse`,storage:p()}));typeof window<`u`&&t(e=>{o(e)&&dr.persist.rehydrate()});var fr=e=>{let t=(0,yn.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};fr.displayName=`SessionBusyIndicator`;function pr(e){let t=(0,yn.c)(34),{durationMs:n,size:r,className:i}=e,a=r===void 0?15:r,o=(a-1.5)/2,s=2*Math.PI*o,[c,l]=Q.useState(!1),u;t[0]===n?u=t[1]:(u=()=>Math.max(0,Math.ceil(n/1e3)-1),t[0]=n,t[1]=u);let[d,f]=Q.useState(u),p,m;t[2]===n?(p=t[3],m=t[4]):(p=()=>{let e=performance.now(),t=window.requestAnimationFrame(()=>l(!0)),r=window.setInterval(()=>{let t=performance.now()-e;f(Math.max(0,Math.ceil((n-t)/1e3)-1))},250);return()=>{window.cancelAnimationFrame(t),window.clearInterval(r)}},m=[n],t[2]=n,t[3]=p,t[4]=m),Q.useEffect(p,m);let h;t[5]===i?h=t[6]:(h=Y(`relative inline-flex shrink-0 items-center justify-center`,i),t[5]=i,t[6]=h);let g;t[7]===a?g=t[8]:(g={width:a,height:a},t[7]=a,t[8]=g);let _=`0 0 ${a} ${a}`,v=a/2,y=a/2,b;t[9]!==o||t[10]!==v||t[11]!==y?(b=(0,$.jsx)(`circle`,{cx:v,cy:y,r:o,fill:`none`,stroke:`var(--interactive-border)`,strokeWidth:1.5}),t[9]=o,t[10]=v,t[11]=y,t[12]=b):b=t[12];let x=a/2,S=a/2,C=c?s:0,w=`stroke-dashoffset ${n}ms linear`,T;t[13]===w?T=t[14]:(T={transition:w},t[13]=w,t[14]=T);let E;t[15]!==s||t[16]!==o||t[17]!==x||t[18]!==S||t[19]!==C||t[20]!==T?(E=(0,$.jsx)(`circle`,{cx:x,cy:S,r:o,fill:`none`,stroke:`var(--primary-base)`,strokeWidth:1.5,strokeLinecap:`round`,strokeDasharray:s,strokeDashoffset:C,style:T}),t[15]=s,t[16]=o,t[17]=x,t[18]=S,t[19]=C,t[20]=T,t[21]=E):E=t[21];let D;t[22]!==a||t[23]!==b||t[24]!==E||t[25]!==_?(D=(0,$.jsxs)(`svg`,{viewBox:_,width:a,height:a,className:`-rotate-90`,children:[b,E]}),t[22]=a,t[23]=b,t[24]=E,t[25]=_,t[26]=D):D=t[26];let O;t[27]===d?O=t[28]:(O=(0,$.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center !text-[8px] !leading-none font-semibold tabular-nums text-current`,children:d}),t[27]=d,t[28]=O);let k;return t[29]!==D||t[30]!==O||t[31]!==h||t[32]!==g?(k=(0,$.jsxs)(`span`,{className:h,style:g,"aria-hidden":`true`,children:[D,O]}),t[29]=D,t[30]=O,t[31]=h,t[32]=g,t[33]=k):k=t[33],k}function mr(){s.getState().setArchivedSessionsDialogOpen(!0)}function hr(e){q.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(Z,{variant:`secondary`,size:`sm`,className:`session-mutation-undo-action !h-[26px] !min-h-0 !min-w-0 shrink-0 !px-2 !text-[12px]`,onClick:()=>{e.onSecondary?.(),q.dismiss(t)}},e.secondaryLabel):null,Q.createElement(Z,{variant:`default`,size:`sm`,className:`session-mutation-undo-action !h-[26px] !min-h-0 !min-w-0 shrink-0 gap-1 !pl-2 !pr-1 !text-[12px]`,onClick:()=>{e.onPrimary(),q.dismiss(t)}},e.primaryLabel,Q.createElement(pr,{durationMs:e.durationMs})))),{duration:e.durationMs,className:`session-mutation-undo-toast !max-w-[calc(100vw-2rem)]`})}function gr(e){let t=Array.from(new Set(e.sessionIds.filter(Boolean)));t.length!==0&&hr({durationMs:fe,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{(async()=>{(await Promise.all(t.map(e=>K(e)))).some(e=>!e)&&q.error(e.undoFailedMessage)})()},secondaryLabel:e.settingsLabel,onSecondary:()=>{mr()}})}function _r(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}=V(t,{delayMs:n,onSettled:({failedIds:t})=>{t.length>0&&q.error(e.commitFailedMessage)}});return r&&hr({durationMs:n,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{z(r)}}),{batchId:r,scheduledIds:i}}var vr=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),yr=e=>{let t=e;return vr(t.directory??t.project?.worktree??null)},br=({open:e,project:t,worktree:n,onClose:r,onDeleted:i})=>{let{t:a}=ee(),o=ae(),s=ve(e=>e.activeSessions),c=J(e=>e.archiveSessions),l=w(e=>e.currentDirectory),[u,d]=Q.useState(!1),[f,p]=Q.useState(!1),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),v=vr(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])yr(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 tt(n.path).then(e=>{t||h(!!e?.isDirty)}).catch(()=>{t||h(!!n.status?.isDirty)}),()=>{t=!0}},[e,n?.path,n?.status?.isDirty]);let x=M(e=>{(async()=>{try{await ct(e.project,e.worktree,{deleteRemoteBranch:e.hasBranch&&e.deleteRemoteBranch,deleteLocalBranch:e.hasBranch&&e.deleteLocalBranch}),vr(e.currentDirectory)===e.worktreePath&&vr(e.project.path)&&w.getState().setDirectory(vr(e.project.path),{showOverlay:!1}),q.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){q.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&&q.success(e.length===1?o.t(`sessions.sidebar.bulkActions.archivedSingle`,{count:e.length}):o.t(`sessions.sidebar.bulkActions.archivedPlural`,{count:e.length})),q.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){q.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,T=(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)(At,{open:e,onClose:r,title:a(`mobile.projectEdit.deleteWorktreeTitle`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Z,{variant:`ghost`,className:`flex-1`,onClick:r,disabled:g,children:a(`projectEditDialog.actions.cancel`)}),(0,$.jsx)(Z,{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:[T(u,d,a(`mobile.projectEdit.deleteLocalBranch`),g),T(f,p,a(`mobile.projectEdit.deleteRemoteBranch`),g)]}):null]})})},xr=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Sr=e=>{let t=(0,yn.c)(36),{worktree:n,onDelete:r}=e,{t:i}=ee(),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}=Yt(a),f;t[2]===l?f=t[3]:(f=qt.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)(X,{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)(X,{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)(X,{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},Cr=({open:e,project:t,onClose:n,onWorktreesChanged:r})=>{let{t:i}=ee(),{currentTheme:a}=ht(),o=Se(e=>e.updateProjectMeta),s=Se(e=>e.discoverProjectIcon),c=Se(e=>e.removeProjectIcon),l=ze(e=>e.setWorktreeOrder),u=Se(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=Kt(Vt(Wt,{activationConstraint:{distance:8}}),Vt(Ht,{coordinateGetter:Jt})),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){q.error(e.error||i(`projectEditDialog.toast.failedToDiscoverIcon`));return}if(e.skipped){q.success(i(`projectEditDialog.toast.customIconAlreadySet`));return}q.success(i(`projectEditDialog.toast.iconDiscovered`))}).finally(()=>v(!1)))},D=()=>{t&&c(t.id).then(e=>{if(!e.ok){q.error(e.error||i(`projectEditDialog.toast.failedToRemoveIcon`));return}q.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=>xr(e.path)))},k=h?nt[h]??null:null,A=p?$e[p]:null,j=!!u;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ue,{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)(Z,{type:`button`,variant:`default`,size:`sm`,"aria-label":i(`projectEditDialog.actions.save`),onClick:T,disabled:!d.trim(),style:{touchAction:`manipulation`},children:[(0,$.jsx)(X,{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)(Je,{project:{id:t.id,iconImage:u},options:{themeVariant:a.metadata.variant,iconColor:a.colors.surface.foreground},className:`size-full object-contain`,fallback:(0,$.jsx)(X,{name:`folder-6`,className:`size-7`})}):A?(0,$.jsx)(X,{name:A,className:`size-7`,style:k?{color:k}:void 0}):(0,$.jsx)(X,{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)(dt,{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`})}),st.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`})}),ot.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)(X,{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)(Z,{size:`sm`,variant:`outline`,onClick:E,disabled:_,children:i(_?`projectEditDialog.actions.discovering`:`projectEditDialog.actions.discoverFavicon`)}),j?(0,$.jsx)(Z,{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)(Gt,{sensors:w,collisionDetection:Ut,onDragEnd:O,children:(0,$.jsx)(Zt,{items:y.map(e=>e.path),strategy:Xt,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:y.map(e=>(0,$.jsx)(Sr,{worktree:e,onDelete:()=>S(e)},e.path))})})})]})]}):null]}):null}),t?(0,$.jsx)(br,{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]})},wr=()=>3,Tr=()=>7,Er=(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 Xe(r,e)?e:r},Dr=(e,t)=>{t&&e.push(t)},Or=e=>{let t=[];return Dr(t,e.onRename?{id:`rename`,icon:`pencil-ai`,labelKey:`sessions.sidebar.session.menu.rename`,onClick:e.onRename}:null),Dr(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?(Dr(t,e.onCopyLink?{id:`copyLink`,icon:`file-copy`,labelKey:`sessions.sidebar.session.menu.copyLink`,onClick:e.onCopyLink}:null),Dr(t,e.onUnshare?{id:`unshare`,icon:`link-unlink-m`,labelKey:`sessions.sidebar.session.menu.unshare`,onClick:e.onUnshare}:null)):Dr(t,e.onShare?{id:`share`,icon:`share-2`,labelKey:`sessions.sidebar.session.menu.share`,onClick:e.onShare}:null),Dr(t,e.onRefreshTranscript?{id:`refreshTranscript`,icon:`refresh`,labelKey:`sessions.sidebar.session.menu.refreshTranscript`,onClick:e.onRefreshTranscript,disabled:e.refreshTranscriptDisabled,spinning:e.refreshTranscriptSpinning}:null),Dr(t,e.onArchive?{id:`archive`,icon:`archive`,labelKey:`sessions.sidebar.bulkActions.archive`,onClick:e.onArchive}:null),Dr(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},kr=e=>{let t=[];return Dr(t,e.onNewSession?{id:`newSession`,icon:`add`,labelKey:`sessions.sidebar.project.actions.newSession`,onClick:e.onNewSession}:null),Dr(t,e.gitRepository&&e.onNewWorktree?{id:`newWorktree`,icon:`node-tree`,labelKey:`sessions.sidebar.project.actions.newWorktree`,onClick:e.onNewWorktree}:null),Dr(t,e.onSyncSessions?{id:`syncSessions`,icon:`refresh`,labelKey:`sessions.sidebar.project.actions.syncSessions`,onClick:e.onSyncSessions}:null),Dr(t,e.onEditProject?{id:`edit`,icon:`pencil-ai`,labelKey:`sessions.sidebar.project.actions.edit`,onClick:e.onEditProject}:null),Dr(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},Ar=e=>{let t=[];return Dr(t,e.onNewSession?{id:`newSession`,icon:`add`,labelKey:`sessions.sidebar.project.actions.newSession`,onClick:e.onNewSession}:null),Dr(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},jr=(e,t)=>t(e.labelKey);function Mr(){let e=(0,yn.c)(3),t=ae(),n=ve(Fr),r;if(e[0]!==n||e[1]!==t){let i=new Map(t.map(Pr));r=n.map(e=>{let t=i.get(e.id);return t?be(t,e):e});let a=new Set(r.map(Nr));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 Nr(e){return e.id}function Pr(e){return[e.id,e]}function Fr(e){return e.activeSessions}var Ir=`__pinned_sessions__`;function Lr(e){return e===null||e===Ir}function Rr(e){let{activeProjectId:t,currentFilterProjectId:n,projects:r}=e;return n===null?null:n===Ir||r.some(e=>e.id===n)?n:t??n}var zr=3,Br=7,Vr=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.replace(/\/+$/,``)},Hr=e=>{let t=e;return Vr(t.directory??t.project?.worktree??``)},Ur=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 Wr(e){e.preventBaseUIHandler()}function Gr(e,t,n){t&&(e.preventBaseUIHandler(),n(e))}function Kr(e){let t=(0,yn.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)(X,{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)(Z,{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 qr(e,t){let n=(0,yn.c)(32),r=H($r),i;if(n[0]!==e){i=new Map;let t=new Set(e.map(Qr));e.forEach(e=>{let n=e.parentID;n&&t.has(n)&&i.set(n,[...i.get(n)||[],e])}),n[0]=e,n[1]=i}else i=n[1];let a=i,o;n[2]===t?o=n[3]:(o=e=>{let n=t?.[e];return n?.type===`busy`||n?.type===`retry`?n.type:`idle`},n[2]=t,n[3]=o);let s=o,c;n[4]!==s||n[5]!==a?(c=e=>(a.get(e)||[]).some(e=>s(e.id)!==`idle`),n[4]=s,n[5]=a,n[6]=c):c=n[6];let l=c,u;n[7]!==s||n[8]!==a?(u=e=>(a.get(e)||[]).filter(e=>s(e.id)!==`idle`).length,n[7]=s,n[8]=a,n[9]=u):u=n[9];let d=u,f;n[10]!==s||n[11]!==a?(f=e=>(a.get(e)||[]).filter(e=>s(e.id)!==`idle`).map(Zr).slice(0,3),n[10]=s,n[11]=a,n[12]=f):f=n[12];let p=f,m;n[13]===e?m=n[14]:(m=new Set(e.map(Xr)),n[13]=e,n[14]=m);let h=m,g;if(n[15]!==p||n[16]!==d||n[17]!==s||n[18]!==l||n[19]!==h||n[20]!==e||n[21]!==r){let t=e.filter(e=>{let t=e.parentID;return!t||!h.has(t)}),i=[],a=[];t.forEach(e=>{let t=s(e.id),n=l(e.id),o=(r[e.id]??0)>0,c={...e,_statusType:t,_hasRunningChildren:n,_runningChildrenCount:d(e.id),_childIndicators:p(e.id)};t!==`idle`||n||o?i.push(c):a.push(c)});let o=Yr;i.sort(o),a.sort(o),g=[...i,...a],n[15]=p,n[16]=d,n[17]=s,n[18]=l,n[19]=h,n[20]=e,n[21]=r,n[22]=g}else g=n[22];let _=g,v;n[23]===_?v=n[24]:(v=_.reduce(Jr,0),n[23]=_,n[24]=v);let y=v,b;n[25]!==_||n[26]!==r?(b=_.filter(e=>(r[e.id]??0)>0),n[25]=_,n[26]=r,n[27]=b):b=n[27];let x=b.length,S;return n[28]!==_||n[29]!==y||n[30]!==x?(S={sessions:_,totalRunning:y,totalUnread:x,totalCount:_.length},n[28]=_,n[29]=y,n[30]=x,n[31]=S):S=n[31],S}function Jr(e,t){return e+(t._statusType===`idle`?0:1)+(t._runningChildrenCount??0)}function Yr(e,t){return le(t)-le(e)}function Xr(e){return e.id}function Zr(e){return{session:e,isRunning:!0}}function Qr(e){return e.id}function $r(e){return e.index.session.unseenCount}function ei(){let e=(0,yn.c)(7),{t}=ee(),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=H(ti),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 ti(e){return e.index.session.unseenCount}function ni(e,t,n){let r=(0,yn.c)(6),i=J(ai),a=J(ii),o=H(ri),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=Vr(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=Vr(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 ri(e){return e.index.session.unseenCount}function ii(e){return e.getSessionsByDirectory}function ai(e){return e.availableWorktreesByProject}function oi(){let e=(0,yn.c)(2),t=J(si),n;return e[0]===t?n=e[1]:(n=e=>{let n=Vr(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=Vr(t);e&&r.push(e)}}return r},e[0]=t,e[1]=n),n}function si(e){return e.availableWorktreesByProject}function ci(e){let t=(0,yn.c)(2),{isRunning:n,showUnread:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(fr,{}),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 li(e){let t=(0,yn.c)(3),{count:n}=e;if(n===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(fr,{}),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 ui(e){let t=(0,yn.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 di=()=>{if(typeof window>`u`)return;let e=window.getSelection();e?.rangeCount&&e.removeAllRanges()},fi={touchAction:`manipulation`,userSelect:`none`,WebkitUserSelect:`none`,WebkitTouchCallout:`none`};function pi(e){let t=(0,yn.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:_}=ee(),[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=Or({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=>{Gr(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:fi}),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 te=n._statusType!==`idle`,V=x&&!r,H;t[34]!==te||t[35]!==V?(H=(0,$.jsx)(`span`,{className:`flex h-4 w-4 flex-shrink-0 items-center justify-center`,children:(0,$.jsx)(ci,{isRunning:te,showUnread:V})}),t[34]=te,t[35]=V,t[36]=H):H=t[36];let U=r?`font-semibold text-[var(--surface-foreground)]`:`text-[var(--surface-foreground)]`,ne;t[37]===U?ne=t[38]:(ne=Y(`truncate text-[15px] leading-tight`,U),t[37]=U,t[38]=ne);let W;t[39]!==o||t[40]!==n?(W=o(n),t[39]=o,t[40]=n,t[41]=W):W=t[41];let re;t[42]!==ne||t[43]!==W?(re=(0,$.jsx)(`span`,{className:ne,children:W}),t[42]=ne,t[43]=W,t[44]=re):re=t[44];let G;t[45]===a?G=t[46]:(G=a?(0,$.jsx)(`span`,{className:`truncate text-[12px] leading-none text-[var(--surface-mutedForeground)]`,children:a}):null,t[45]=a,t[46]=G);let ie;t[47]!==re||t[48]!==G?(ie=(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[re,G]}),t[47]=re,t[48]=G,t[49]=ie):ie=t[49];let ae;t[50]===n._runningChildrenCount?ae=t[51]:(ae=(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)(fr,{size:12}),n._runningChildrenCount]}),t[50]=n._runningChildrenCount,t[51]=ae);let K;t[52]===r?K=t[53]:(K=r&&(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 flex-shrink-0 text-[var(--primary-base)]`}),t[52]=r,t[53]=K);let oe;t[54]!==B||t[55]!==H||t[56]!==ie||t[57]!==ae||t[58]!==K||t[59]!==k?(oe=(0,$.jsxs)(hn,{onTouchStart:Wr,onContextMenu:k,render:B,children:[H,ie,ae,K]}),t[54]=B,t[55]=H,t[56]=ie,t[57]=ae,t[58]=K,t[59]=k,t[60]=oe):oe=t[60];let se;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)(mn,{}):null,(0,$.jsxs)(_n,{className:`min-h-10 px-3`,onClick:e.onClick,children:[(0,$.jsx)(X,{name:e.icon,className:`size-4`}),jr(e,_)]})]},e.id),t[64]=_,t[65]=e),se=O.map(e),t[61]=O,t[62]=_,t[63]=se}else se=t[63];let ce;t[66]===se?ce=t[67]:(ce=(0,$.jsx)(gn,{className:`min-w-[200px] p-1.5`,children:se}),t[66]=se,t[67]=ce);let le;return t[68]!==v||t[69]!==oe||t[70]!==ce?(le=(0,$.jsxs)(pn,{open:v,onOpenChange:y,children:[oe,ce]}),t[68]=v,t[69]=oe,t[70]=ce,t[71]=le):le=t[71],le}function mi(e){let t=(0,yn.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?$e[i]:null,p;t[0]!==c||t[1]!==l||t[2]!==f?(p=f?(0,$.jsx)(X,{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)(fr,{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)(Je,{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 hi=({onSessionSwitch:e})=>{let{t}=ee(),{git:n}=Ft(),{currentTheme:r}=ht(),i=s(e=>e.isMobile),a=Mr(),o=J(e=>e.currentSessionId),c=te(),l=J(e=>e.setCurrentSession),u=J(e=>e.openNewSessionDraft),d=Q.useCallback(e=>{if(!E()){ye.getState().openDraft(e);return}u(e)},[u]),f=J(e=>e.archiveSession),p=J(e=>e.shareSession),m=J(e=>e.unshareSession),h=J(e=>e.updateSessionTitle),g=J(e=>e.requestSessionSmartTitle),_=s(e=>e.mobileSessionPanelOpen),v=s(e=>e.setMobileSessionPanelOpen),y=Ke({onDismiss:()=>v(!1)}),b=Se(e=>e.projects),x=Se(e=>e.activeProjectId),S=Se(e=>e.setActiveProjectIdOnly),C=Se(e=>e.removeProject),w=me(),T=de(),D=J(e=>e.availableWorktreesByProject),O=ze(e=>e.orderByProject),k=ve(e=>e.activePaginationByDirectory),A=dr(e=>e.expandedWorktreeGroups),j=dr(e=>e.setWorktreeGroupExpanded),{sessions:N,totalRunning:F,totalUnread:I}=qr(a,c),{getSessionTitle:L,needsAttention:R}=ei(),z=ni(a,c,o),B=oi(),[V,H]=Q.useState(new Map),U=Yn(),[ne,W]=Q.useState(new Map),[re,G]=Q.useState(!1),[ie,ae]=Q.useState(null),[K,oe]=Q.useState(null),[se,ce]=Q.useState(null),[le,fe]=Q.useState(null),[he,ge]=Q.useState(``),[be,xe]=Q.useState(null),[Ce,we]=Q.useState(null),[Te,Ee]=Q.useState(null),De=Q.useRef(null);De.current||=Qt({onPressedKeyChange:ce});let Oe=Q.useRef(null),[ke,Ae]=Q.useState(!1),je=s(e=>e.mobileSessionFilterProjectId),Me=s(e=>e.setMobileSessionFilterProjectId),Pe=Q.useMemo(()=>N.some(e=>w.has(e.id)),[w,N]);Q.useEffect(()=>{!Pe&&je===Ir&&Me(null)},[je,Pe,Me]);let Fe=Q.useRef(!1);Q.useEffect(()=>{let e=Fe.current;if(Fe.current=_,!_||e)return;let t=Rr({activeProjectId:x,currentFilterProjectId:je,projects:b});t!==je&&Me(t)},[_,x,je,b,Me]),Q.useEffect(()=>{_||(oe(null),Ee(null),De.current?.reset())},[_]),Q.useEffect(()=>()=>{De.current?.reset()},[]),Q.useEffect(()=>{if(!K)return;di();let e=window.requestAnimationFrame(di);return document.addEventListener(`selectionchange`,di),()=>{window.cancelAnimationFrame(e),document.removeEventListener(`selectionchange`,di),di()}},[K]);let Ie=Q.useMemo(()=>je&&je!==Ir?b.find(e=>e.id===je)??null:null,[je,b]),Le=Q.useMemo(()=>Ie??b.find(e=>e.id===x)??null,[x,b,Ie]);Q.useEffect(()=>{let e=Vr(Le?.path??``);if(!_||!e){Ae(!1);return}let t=Oe.current;if(t?.git===n&&t.path===e){Ae(t.isGitRepository);return}let r=!1;return Ae(!1),n.checkIsGitRepository(e).then(t=>{r||(Oe.current={git:n,path:e,isGitRepository:t},Ae(t))}).catch(()=>{r||(Oe.current={git:n,path:e,isGitRepository:!1},Ae(!1))}),()=>{r=!0}},[n,_,Le]),Q.useEffect(()=>{if(!_||b.length===0)return;let e=!1;return Promise.all(b.map(async e=>({projectId:e.id,branch:await it(e.path).catch(()=>null)}))).then(t=>{e||W(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}},[_,b]);let He=Q.useMemo(()=>{if(je&&je!==Ir){let e=b.find(e=>e.id===je);return e?B(e):[]}return b.flatMap(B)},[je,b,B]);Q.useEffect(()=>{_&&pe(He)},[_,He]),Q.useEffect(()=>{if(!_||b.length===0)return;let e=!1;return(async()=>{let t=await Promise.all(b.map(async t=>{let r=Vr(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 Ye({id:t.id,path:r},{isCurrent:()=>!e})).worktrees}}catch{return{path:r,status:`failed`}}}));if(e)return;let r=new Set(b.map(e=>Vr(e.path)).filter(Boolean)),i=t.flatMap(e=>e?[e]:[]);J.setState(e=>{let t=Er(e.availableWorktreesByProject,r,i);return t===e.availableWorktreesByProject?{}:{availableWorktreesByProject:t,availableWorktrees:Array.from(t.values()).flat()}})})(),()=>{e=!0}},[n,_,b]);let Ue=Q.useCallback(e=>Ne(e.path)||e.path,[]),Ge=Q.useMemo(()=>{if(!je)return N;if(je===Ir)return N.filter(e=>w.has(e.id));let e=b.find(e=>e.id===je);if(!e)return N;let t=B(e);return N.filter(e=>{let n=Hr(e);return t.some(e=>Vr(e)===n)})},[N,je,w,b,B]),Je=Q.useMemo(()=>{if(!Ie)return[];let e=Vr(Ie.path),t=Re(O[Ie.id],D.get(e)??[]),n=[{key:`${Ie.id}::${e}`,directory:e,label:Ue(Ie),worktree:null,sessions:[]}];for(let r of t){let t=Vr(r.path);!t||t===e||n.some(e=>e.directory===t)||n.push({key:`${Ie.id}::${t}`,directory:t,label:r.branch||r.label||Ne(t),worktree:r,sessions:[]})}let r=new Map(n.map(e=>[e.directory,e]));for(let e of Ge)r.get(Hr(e))?.sessions.push(e);return n},[D,Ge,Ue,Ie,O]),Xe=Q.useCallback(e=>{let t=Hr(e);for(let e of b){let n=Vr(e.path),r=Ue(e);if(t===n){let t=ne.get(e.id);return t?`${r} · ${t}`:r}let i=(D.get(n)??[]).find(e=>Vr(e.path)===t);if(i)return i.branch?`${r} · ${i.branch}`:r}return Ne(t)||t||void 0},[D,Ue,b,ne]),Ze=Q.useCallback(()=>{oe(null),De.current?.reset(),v(!1)},[v]),Qe=()=>{oe(null),De.current?.reset()},$e=e=>({pressed:se===e.key||K?.key===e.key,onPointerDown:t=>{t.pointerType!==`touch`&&t.pointerType!==`pen`||t.button!==0||De.current?.start({pointerId:t.pointerId,key:e.key,clientX:t.clientX,clientY:t.clientY,onTrigger:()=>{di(),oe(e)}})},onPointerMove:e=>{De.current?.move(e.pointerId,e.clientX,e.clientY)},onPointerUp:e=>{De.current?.end(e.pointerId)},onPointerCancel:e=>{De.current?.cancel(e.pointerId)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),di(),De.current?.openFromContextMenu(e.key,()=>oe(e))}}),et=(e,t)=>{De.current?.consumeClick(e)||t()},tt=Q.useCallback(t=>{at(),Ze();let n=Hr(t)||null,r=Lr(je);E()?l(t.id,n,{preserveActiveProject:r}):ye.getState().openSession({sessionId:t.id,directory:n,preserveActiveProject:r}),e?.(t.id)},[Ze,je,e,l]),rt=Q.useCallback(async e=>{try{if(!(await p(e.id))?.share?.url){q.error(t(`sessions.sidebar.session.share.error`));return}q.success(t(`sessions.sidebar.session.share.successTitle`),{description:t(`sessions.sidebar.session.share.successDescription`)})}catch{q.error(t(`sessions.sidebar.session.share.error`))}},[p,t]),ot=Q.useCallback(async e=>{if((await P(e)).ok){q.success(t(`sessions.sidebar.session.menu.copied`));return}q.error(t(`sessions.sidebar.session.share.copyUrlError`))},[t]),st=Q.useCallback(async e=>{try{if(!await m(e)){q.error(t(`sessions.sidebar.session.unshare.error`));return}q.success(t(`sessions.sidebar.session.unshare.success`))}catch{q.error(t(`sessions.sidebar.session.unshare.error`))}},[t,m]),ct=Q.useCallback(async e=>{if(!await f(e)){q.error(t(`sessions.sidebar.session.archive.error`));return}gr({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`)})},[f,t]),lt=M(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}),ut=M(e=>{let n=lt(e.id);_r({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`)})}),ft=Q.useCallback(e=>{ge(L(e)),fe(e)},[L]),pt=Q.useCallback(async()=>{if(!le)return;let e=he.trim();if(e)try{await h(le.id,e),fe(null),ge(``)}catch{q.error(t(`sessions.sidebar.session.menu.rename`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[he,le,t,h]),mt=Q.useCallback(async()=>{if(!le)return;let e=le.id;fe(null),ge(``);try{await g(e)}catch{q.error(t(`sessions.sidebar.session.rename.smartTitle`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[le,g,t]),gt=Q.useCallback(()=>{if(Ze(),je){let e=b.find(e=>e.id===je);if(e){d({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?Hr(e):``;d(t?{directoryOverride:t}:void 0)},[Ze,je,b,a,d]),_t=Q.useCallback(()=>{!Le||!ke||(Ze(),S(Le.id),ae(Le.id),G(!0))},[Ze,S,ke,Le]),vt=(e,t)=>{Qe(),v(!1),d({selectedProjectId:e.id,directoryOverride:t,preserveDirectoryOverride:!0})},yt=e=>{Qe(),(async()=>{try{await Ye({id:e.project.id,path:e.project.path})}catch(e){console.warn(`[MobileStatus] Worktree refresh before session sync failed:`,e)}let t=J.getState().availableWorktreesByProject.get(e.project.path)??e.worktrees;await ue([e.project.path,...t.map(e=>e.path)],a)})()},bt=M(e=>{j(e,!A[e]),H(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})}),xt=Q.useCallback(e=>{let t=(V.get(e.key)??zr)+Br;if(H(t=>{let n=new Map(t);return n.set(e.key,(t.get(e.key)??zr)+Br),n}),t<e.sessions.length)return;let n=ve.getState().activePaginationByDirectory.get(e.directory);n?.hasMore&&!n.loadingMore&&_e(e.directory)},[V]),St=Q.useCallback(e=>{H(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),Ct=e=>{let n=e.worktree===null,r=n||A[e.key]===!0,i=V.get(e.key)??zr,a=sr(e.sessions,i,U),s=k.get(e.directory),c=a.length<e.sessions.length||s?.hasMore===!0,l=e.sessions.length>zr&&i>zr,u=n&&Ie?ne.get(Ie.id):null,d=e.label,f=n?`project:${Ie?.id??e.key}`:`worktree:${Ie?.id??e.key}:${e.directory}`,p=Ie?$e(n?{key:f,kind:`project`,project:Ie,worktrees:Je.flatMap(e=>e.worktree?[e.worktree]:[]),isGitRepository:ke}:{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:fi,children:[(0,$.jsx)(X,{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)(X,{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:Ur(e.sessions)})]}):(0,$.jsxs)(`button`,{type:`button`,"data-mobile-long-press-trigger":f,onClick:()=>et(f,()=>bt(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:fi,children:[(0,$.jsx)(X,{name:`arrow-down-s`,className:Y(`size-4 shrink-0 text-[var(--surface-mutedForeground)] transition-transform`,r?`rotate-0`:`-rotate-90`)}),(0,$.jsx)(X,{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:Ur(e.sessions)})]}),r?(0,$.jsxs)(`div`,{className:`pb-1`,children:[a.map(e=>(0,$.jsx)(pi,{session:e,isCurrent:e.id===o,isPinned:w.has(e.id),getSessionTitle:L,onClick:()=>et(`session:${e.id}`,()=>tt(e)),onRename:()=>ft(e),onTogglePinned:()=>T(e.id),onShare:()=>{rt(e)},onCopyShareUrl:e=>{ot(e)},onUnshare:()=>{st(e.id)},onArchive:()=>{ct(e.id)},onDelete:()=>ut(e),needsAttention:R,longPressHandlers:$e({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)(Z,{variant:`ghost`,size:`xs`,disabled:s?.loadingMore===!0,onClick:()=>xt(e),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showMore`)}):null,l?(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>St(e.key),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showFewer`)}):null]}):null]}):null]},e.key)},wt=Q.useCallback(()=>(0,$.jsxs)(`div`,{className:`shrink-0`,children:[(0,$.jsx)(qe,{controller:y,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)(li,{count:F}),(0,$.jsx)(ui,{count:I}),(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,onClick:gt,"aria-label":t(`mobile.sessions.newChat`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(X,{name:`add`,className:`h-5 w-5`})}),ke&&Le?(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,onClick:_t,"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)(X,{name:`node-tree`,className:`size-4`})}):null,(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,onClick:Ze,"aria-label":t(`mobile.surface.closeAria`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(X,{name:`close`,className:`h-5 w-5`})})]})]}),(b.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)(mi,{label:t(`chat.modelControls.modeValue.all`),isActive:je===null,onClick:()=>Me(null)}),Pe?(0,$.jsx)(mi,{label:t(`sessions.sidebar.session.actions.pinned`),leadingIcon:(0,$.jsx)(X,{name:`pushpin-2-fill`,className:`size-3.5`}),isActive:je===Ir,onClick:()=>Me(Ir)}):null,b.map(e=>(0,$.jsx)(mi,{label:Ue(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?nt[e.color]??null:null,isActive:je===e.id,status:z(e.path),onClick:()=>Me(e.id)},e.id))]})]}),[t,F,I,b,Pe,je,Me,Ue,r,z,gt,_t,Ze,ke,Le,y]),Tt=K?.kind===`project`?Ue(K.project):K?.kind===`worktree`?K.worktree.branch||K.worktree.label||Ne(K.worktree.path):K?.kind===`session`?L(K.session):``,Et=Q.useMemo(()=>{if(!be)return null;let e=b.find(e=>e.id===be);if(!e)return null;let t=Vr(e.path),n=Re(O[e.id],D.get(t)??[]),r=K?.kind===`project`&&K.project.id===e.id?K.isGitRepository:n.length>0||!!ne.get(e.id);return{id:e.id,label:Ue(e),path:t||e.path,icon:e.icon,color:e.color,iconImage:e.iconImage,iconBackground:e.iconBackground,isGitRepo:r,worktrees:n}},[K,D,be,Ue,b,ne,O]),Dt=Q.useMemo(()=>{if(!K)return[];if(K.kind===`project`){let e=K.project;return kr({gitRepository:K.isGitRepository,onNewSession:()=>vt(e,e.path),onNewWorktree:()=>{let t=e.id;Qe(),Ze(),S(t),ae(t),G(!0)},onSyncSessions:()=>yt(K),onEditProject:()=>{Qe(),xe(e.id)},onCloseProject:()=>{Qe(),we(e)}})}if(K.kind===`worktree`){let{project:e,worktree:t}=K;return Ar({onNewSession:()=>vt(e,t.path),onDeleteWorktree:()=>{Qe(),Ee({project:e,worktree:t})}})}let e=K.session,t=!!e.share?.url;return Or({pinned:w.has(e.id),shared:t,onRename:()=>{Qe(),ft(e)},onTogglePin:()=>{Qe(),T(e.id)},onShare:t?void 0:()=>{Qe(),rt(e)},onCopyLink:t?()=>{let t=e.share?.url;Qe(),t&&ot(t)}:void 0,onUnshare:t?()=>{Qe(),st(e.id)}:void 0,onArchive:()=>{Qe(),ct(e.id)},onDelete:()=>{Qe(),ut(e)}})},[K,ft,Qe,Ze,ct,ot,ut,rt,st,w,S,vt,yt,T]),Ot=Dt.length>0?(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,"data-mobile-session-action-sheet":K?.kind??`none`,children:Dt.map(e=>{let n=(0,$.jsx)(Kr,{icon:e.icon,label:jr(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)(We,{id:Ve,open:_,onOpenChange:v,keepMounted:!0,presentation:`sheet`,edge:`bottom`,dismissGesture:{reservedTargetSelector:`[data-mobile-sheet-snap-handle]`},ariaLabel:t(`mobile.sessions.sheet.title`),surfaceClassName:y.snapPoint===.98?`h-[98dvh] max-h-[98dvh]`:`h-[72dvh] max-h-[98dvh]`,surfaceElementRef:y.surfaceRef,onExitComplete:y.reset,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[wt(),(0,$.jsx)(Be,{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:[Je.map(Ct),Je.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]}):Ge.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`)})}):Ge.map(e=>(0,$.jsx)(pi,{session:e,isCurrent:e.id===o,isPinned:w.has(e.id),contextLabel:Xe(e),getSessionTitle:L,onClick:()=>et(`session:${e.id}`,()=>tt(e)),onRename:()=>ft(e),onTogglePinned:()=>T(e.id),onShare:()=>{rt(e)},onCopyShareUrl:e=>{ot(e)},onUnshare:()=>{st(e.id)},onArchive:()=>{ct(e.id)},onDelete:()=>ut(e),needsAttention:R,longPressHandlers:$e({key:`session:${e.id}`,kind:`session`,session:e})},e.id))})})]})}),(0,$.jsx)(At,{open:!!K,title:Tt,onClose:Qe,className:`select-none`,contentMaxHeightClassName:`max-h-[min(68dvh,560px)]`,children:Ot}),(0,$.jsx)(At,{open:!!le,title:t(`sessions.sidebar.session.menu.rename`),onClose:()=>{fe(null),ge(``)},footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Z,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>{fe(null),ge(``)},children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{type:`button`,variant:`default`,className:`flex-1`,disabled:!he.trim(),onClick:()=>void pt(),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(),pt()},children:[(0,$.jsx)(dt,{value:he,onChange:e=>ge(e.target.value),autoFocus:!0,className:`h-12`}),(0,$.jsxs)(Z,{type:`button`,variant:`outline`,className:`w-full gap-2`,onClick:()=>void mt(),children:[(0,$.jsx)(X,{name:`ai-generate-2`,className:`size-4`}),t(`sessions.sidebar.session.rename.smartTitle`)]})]})}),(0,$.jsx)(At,{open:!!Ce,title:t(`sessions.sidebar.project.actions.closeProject`),onClose:()=>we(null),closeAriaLabel:t(`mobile.surface.closeAria`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Z,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>we(null),children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{type:`button`,variant:`destructive`,className:`flex-1`,onClick:()=>{if(!Ce)return;let e=Ce;we(null),C(e.id),q.success(t(`mobile.sessions.toast.projectRemoved`,{label:Ue(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:Ce?Ue(Ce):``})})}),(0,$.jsx)(Pt,{open:re,projectId:ie,onOpenChange:e=>{G(e),e||ae(null)},onWorktreeCreated:(e,t)=>{G(!1),v(!1),t?.sessionId?E()?l(t.sessionId,e):ye.getState().openSession({sessionId:t.sessionId,directory:e}):ie&&d({selectedProjectId:ie,directoryOverride:e,preserveDirectoryOverride:!0})}}),Te?(0,$.jsx)(br,{open:!0,project:{id:Te.project.id,path:Te.project.path},worktree:Te.worktree,onClose:()=>Ee(null),onDeleted:()=>{let e=Vr(Te.project.path),t=Vr(Te.worktree.path);J.setState(n=>{let r=new Map(n.availableWorktreesByProject);return r.set(e,(r.get(e)??[]).filter(e=>Vr(e.path)!==t)),{availableWorktreesByProject:r,availableWorktrees:Array.from(r.values()).flat()}}),Ee(null)}}):null,(0,$.jsx)(Cr,{open:be!==null,project:Et,onClose:()=>xe(null)})]}):null},gi=`schedule`,_i=[`git`,`diff`,`terminal`,`files`,`diagram`],vi=[`tasks`,`history`],yi=`/session/new`,bi=new Set(_i),xi=new Set(vi),Si=new Set([`staged`,`working`,`turn`]);function Ci(e){return!e||e===`chat`?`chat`:e===`scheduled`||e===`schedule`?gi:e===`assistant`?`assistant`:bi.has(e)?e:`chat`}function wi(e){return fn(e)}function Ti(e){return e&&xi.has(e)?e:null}function Ei(e){return e&&Si.has(e)?e:null}function Di(){return yi}function Oi(e,t){let n=wi(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 ki(e,t){return t&&t.trim().length>0?`${e}/agent/${encodeURIComponent(t.trim())}`:e}function Ai(e={}){let t=Ti(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`,ki(i,e.focusSessionId)}function ji(e={}){let t=`/assistant`;return e.assistantId&&e.assistantId.trim().length>0&&(t=`/assistant/${encodeURIComponent(e.assistantId.trim())}`),ki(t,e.focusSessionId)}function Mi(e){let t=encodeURIComponent(e.sessionId),n=Ci(e.tab);if(n===`schedule`)return Ai({});if(n===`assistant`)return ji({});let r;r=n===`chat`?`/session/${t}`:`/session/${t}/${n}`;let i=new URLSearchParams;e.file&&i.set(`file`,e.file);let a=Ei(e.scope);a&&i.set(`scope`,a);let o=i.toString();return o?`${r}?${o}`:r}function Ni(e){let t=Ci(e.tab);return t===`schedule`?Ai({scheduleView:e.scheduleView??e.scheduledView,scheduleProjectId:e.scheduleProjectId??e.scheduledProjectId,scheduleTaskId:e.scheduleTaskId??e.scheduledTaskId,focusSessionId:e.focusSessionId}):t===`assistant`?ji({assistantId:e.assistantId,focusSessionId:e.focusSessionId}):e.sessionId&&e.sessionId.trim().length>0?Mi({sessionId:e.sessionId.trim(),tab:t,file:e.file,scope:e.scope}):`/`}function Pi(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e);return{file:t.get(`file`),scope:Ei(t.get(`scope`))}}function Fi(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 Ii(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 Li(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:wi(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}=Fi(o),l=s[0];if(l===`schedule`||l===`scheduled`)return Ii(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}=Pi(n),i=s[2];if(i===`schedule`||i===`scheduled`)return Ii(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=Ci(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 Ri(e){return typeof window>`u`?Bi():zi(e===void 0?`${window.location.pathname}${window.location.search}`:`${window.location.pathname}?${e.toString()}`)}function zi(e){let t=Li(e);switch(t.kind){case`new`:return{...Bi(),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:gi,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 Bi()}}function Bi(){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 Vi(){if(typeof window>`u`)return!1;try{let e=Li(`${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 Hi(e){if(e.isSettingsOpen)return Oi({slug:e.settingsPath.trim().length>0?e.settingsPath:`home`,entityId:e.settingsEntityId??null});if(e.tab===`schedule`)return Ni({tab:gi,scheduleView:e.scheduleView,scheduleProjectId:e.scheduleProjectId,scheduleTaskId:e.scheduleTaskId,focusSessionId:e.focusSessionId});if(e.tab===`assistant`)return Ni({tab:`assistant`,assistantId:e.assistantId,focusSessionId:e.focusSessionId});if((e.isNewSession||!e.sessionId&&e.tab===`chat`)&&e.isNewSession)return Di();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 Ni({sessionId:e.sessionId.trim(),tab:e.tab,file:t,scope:e.tab===`diff`?e.diffScope??null:null})}return e.isNewSession?Di():`/`}function Ui(e){if(typeof window>`u`)return!0;try{let t=`${window.location.pathname}${window.location.search}`,n=Hi(e);return JSON.stringify(Li(t))===JSON.stringify(Li(n))}catch{return!0}}function Wi(e,t={}){if(!(typeof window>`u`)&&!(Gi()||Mt())&&!(!t.force&&Ui(e)))try{let n=Hi(e);t.replace?window.history.replaceState({...window.history.state,route:e},``,n):window.history.pushState({route:e},``,n)}catch{}}function Gi(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}function Ki(e){if(!e||e.trim().length===0)return null;let t=ve.getState(),n=t.activeSessions.find(t=>t.id===e)??t.archivedSessions.find(t=>t.id===e)??null;if(!n)return null;let r=xe(n);return r?{sessionId:e,directory:r,session:n,fromCache:!t.hasLoaded,source:`memory`}:null}function qi(e){return Ki(e)?.directory??null}var Ji=new Map;async function Yi(e,t){let n=e.trim();if(!n)return null;let r=Ki(n);if(r)return r;let i=Ji.get(n);if(i)return i;let a=(async()=>{let e=Ki(n);if(e)return e;let r=await R(n,{signal:t?.signal});if(r?.directory)return{sessionId:r.id,directory:r.directory,session:null,fromCache:!1,source:`session-index`};if(t?.trySessionGet===!1)return null;try{let e=await T.getSession(n),t=typeof e.directory==`string`&&e.directory.trim()||(typeof e.project?.worktree==`string`?e.project.worktree.trim():``)||null;return t?{sessionId:n,directory:t,session:e,fromCache:!1,source:`session-get`}:null}catch{return null}})().finally(()=>{Ji.get(n)===a&&Ji.delete(n)});return Ji.set(n,a),a}var Xi=3e4;function Zi(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}function Qi(){let e=Q.useMemo(()=>Zi(),[]),n=Q.useMemo(()=>Mt(),[]),i=Q.useRef(!1),a=Q.useRef(!1),o=Q.useRef(new Set),[c,l]=Q.useState(()=>Ri()),u=J(e=>e.setCurrentSession),d=J(e=>e.currentSessionId),f=J(e=>e.currentSessionDirectory),p=s(e=>e.setActiveMainTab),m=s(e=>e.setSettingsDialogOpen),h=s(e=>e.setSettingsPage),g=s(e=>e.navigateToDiff),_=ve(e=>e.hasLoaded),v=ve(e=>e.activeSessions),y=ve(e=>e.archivedSessions),b=Q.useCallback(t=>{if(!e&&Ri().sessionId===t){o.current.has(t)||(o.current.add(t),Ce(t,`missing-directory`)),a.current=!0;try{m(!1),p(`chat`),Wi({sessionId:t,tab:`chat`,isSettingsOpen:!1,settingsPath:`home`,diffFile:null},{replace:!0,force:!0}),l(Ri())}finally{a.current=!1}}},[e,p,l,m]),x=Q.useCallback(async e=>{if(!a.current){a.current=!0;try{if(e.settingsPath){h(fn(e.settingsPath)),m(!0);return}if(s.getState().isSettingsDialogOpen&&m(!1),e.tab===`schedule`||e.tab===`assistant`){p(e.tab),e.tab===`assistant`&&e.assistantId&&Te.getState().selectAssistant(e.assistantId);return}if(e.isNewSession){p(`chat`),J.getState().newSessionDraft.open||J.getState().openNewSessionDraft();return}if(e.sessionId){let t=e.sessionId,n=qi(t);if(!n){a.current=!1;let e=await Yi(t);a.current=!0,n=e?.directory??null}let r=J.getState();n&&(t!==r.currentSessionId||n!==r.currentSessionDirectory)&&u(t,n)}e.tab?p(e.tab):e.sessionId&&p(`chat`),e.diffFile&&(e.tab===`diff`||!e.tab)&&g(e.diffFile)}finally{a.current=!1}}},[u,p,m,h,g]),S=Q.useCallback(()=>{let e=J.getState(),t=s.getState(),n=Ri(),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`?Ee()??n.assistantId:null,focusSessionId:a?n.focusSessionId:null}},[]),C=Q.useCallback((t={})=>{e||n||a.current||(Wi(S(),t),l(Ri()))},[e,n,S]);Q.useEffect(()=>{if(i.current||(i.current=!0,!Vi()))return;let t=Ri();(async()=>{await x(t),!e&&!n&&Wi({...S(),isNewSession:t.isNewSession||S().isNewSession,sessionId:t.isNewSession?null:t.sessionId??J.getState().currentSessionId??S().sessionId,tab:t.tab??s.getState().activeMainTab,settingsPath:t.settingsPath??s.getState().settingsPage,diffFile:t.isNewSession?null:t.diffFile??s.getState().pendingDiffFile},{replace:!0,force:!0})})()},[x,S,e,n]),Q.useEffect(()=>{if(!c.sessionId||c.isNewSession)return;let e=!1,t=c.sessionId;if(Ri().sessionId!==t||d===t&&f||o.current.has(t))return;let n=qi(t);if(n){o.current.delete(t),u(t,n);return}return(async()=>{let n=await Yi(t);if(!e&&Ri().sessionId===t){if(n?.directory){o.current.delete(t);let e=J.getState();(e.currentSessionId!==t||e.currentSessionDirectory!==n.directory)&&u(t,n.directory);return}ve.getState().hasLoaded&&b(t)}})(),()=>{e=!0}},[v,y,f,d,b,_,c.isNewSession,c.sessionId,u]),Q.useEffect(()=>{let t=d===c.sessionId&&!!f;if(!c.sessionId||c.isNewSession||e||t)return;let n=c.sessionId,r=setTimeout(()=>{let e=J.getState(),t=e.currentSessionId===n&&!!e.currentSessionDirectory;Ri().sessionId===n&&!t&&b(n)},Xi);return()=>clearTimeout(r)},[f,d,b,e,c.sessionId]),Q.useEffect(()=>{if(e||n)return;let t=J.getState().currentSessionId,r=!!J.getState().newSessionDraft?.open;return J.subscribe(e=>{let n=e.currentSessionId,i=!!e.newSessionDraft?.open;n===t&&i===r||a.current||(t=n,r=i,C(),l(Ri()))})},[e,n,C]),Q.useEffect(()=>{if(e||n)return;let t=s.getState().activeMainTab,r=s.getState().isSettingsDialogOpen,i=s.getState().settingsPage,o=s.getState().pendingDiffFile;return s.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)&&C()})},[e,n,C]),Q.useEffect(()=>{if(e||n)return;let t=Ee();return Te.subscribe(()=>{if(a.current)return;if(s.getState().activeMainTab!==`assistant`){t=Ee();return}let e=Ee();e!==t&&(t=e,C())})},[e,n,C]),Q.useEffect(()=>{if(typeof window>`u`||e||n)return;let t=()=>{let e=Ri();if(l(e),Vi())x(e);else{let e=s.getState();e.isSettingsDialogOpen&&m(!1),e.activeMainTab!==`chat`&&p(`chat`)}};return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t)}},[x,e,n,p,m]),Q.useEffect(()=>{if(!(e||n))return t(e=>{r(e)&&(o.current.clear(),queueMicrotask(()=>{l(Ri())}))})},[e,n])}var $i=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,ea=(e,t)=>{let n=new Set;for(let r of e){if(!r.trim())continue;let e=$i(r);n.add(e);for(let[r,i]of t)if($i(r)===e)for(let e of i)e.path.trim()&&n.add($i(e.path))}return[...n]},ta=(e,t,n)=>{let r=ea(e,t),i=n?.currentDirectory?.trim()??``;if(!i)return{directories:r};let a=$i(i),o=null;for(let t of e){if(!t.trim())continue;let e=$i(t);(a===e||a.startsWith(`${e}/`))&&(!o||e.length>o.length)&&(o=e)}for(let[e,n]of t){let t=$i(e);for(let e of n){if(!e.path.trim())continue;let n=$i(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($i(e)===o)for(let e of n)e.path.trim()&&s.add($i(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}},na=async(e,t=ce,n)=>{try{await t(e,n)}catch(e){console.warn(`[SessionStartup] Initial session index sync failed:`,e)}finally{U()}},ra=async(e,t,n=ce,r=oe)=>{r().catch(e=>{console.warn(`[SessionStartup] Early session index hydrate failed:`,e)}),await e;let i=t();await na(i.directories,n,{priorityDirectories:i.priorityDirectories})},ia=()=>{let e=(0,yn.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=Le(i());ra(e,oa),Promise.resolve(e).then(la)},r=[],e[0]=n,e[1]=r):(n=e[0],r=e[1]),Q.useLayoutEffect(n,r),null};function aa(e){return e.path}function oa(){return ta(Se.getState().projects.map(aa),J.getState().availableWorktreesByProject,{currentDirectory:w.getState().currentDirectory})}function sa(e){return e.path}function ca(e){console.warn(`[SessionStartup] Batch git discovery failed (fallback to per-directory):`,e)}function la(){let e=Se.getState().projects.map(sa);e.length!==0&&Pe(e).catch(ca)}var ua=()=>{let e=(0,yn.c)(13),[t,n]=(0,Q.useState)(!1),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{n(l())},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 m(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 u(e):{success:!0},e[4]=t,e[5]=s);let c=s,d;e[6]===t?d=e[7]:(d=async e=>t?await _(e):{success:!0},e[6]=t,e[7]=d);let f=d,p;return e[8]!==t||e[9]!==o||e[10]!==c||e[11]!==f?(p={isDesktop:t,requestAccess:o,startAccessing:c,stopAccessing:f},e[8]=t,e[9]=o,e[10]=c,e[11]=f,e[12]=p):p=e[12],p},da=e=>e.trim().replace(/\s+/g,`-`).replace(/[^A-Za-z0-9._/-]/g,`-`).replace(/-+/g,`-`).replace(/\/{2,}/g,`/`).replace(/\/-+/g,`/`).replace(/-+\//g,`/`).replace(/^[-/]+/,``).replace(/[-/]+$/,``),fa=({currentBranch:e,onRename:t,showEditButton:n=!0,iconOnly:r=!1})=>{let{t:i}=ee(),[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=da(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)(X,{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)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{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)(X,{name:`close`,className:`size-3.5`})})]})});let g=e||i(`gitView.branch.detachedHead`);return r?(0,$.jsxs)(mt,{children:[(0,$.jsx)(ft,{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)(X,{name:`git-branch`,className:`size-3.5`})})}),(0,$.jsx)(pt,{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)(X,{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)(Z,{variant:`ghost`,size:`xs`,className:`size-6 p-0 shrink-0`,onClick:f,title:i(`gitView.branch.renameTitle`),children:(0,$.jsx)(X,{name:`edit`,className:`size-3.5`})})]})]})},pa=e=>{let t=(0,yn.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}=ee(),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)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{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)(ft,{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)(pt,{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)(mt,{delayDuration:T,children:[A,j]}),t[34]=A,t[35]=j,t[36]=T,t[37]=M):M=t[37],M},ma={branch:`git-branch`,briefcase:`briefcase`,house:`home`,graduation:`graduation-cap`,code:`code`,heart:`heart`,user:`user-3`},ha={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 ga(e){return e&&ha[e]||`var(--primary)`}var _a=e=>{let t=(0,yn.c)(36),{activeProfile:n,identities:r,onSelect:i,isApplying:a,iconOnly:o}=e,s=o!==void 0&&o,{t:c}=ee(),l=ma[n?.icon??`branch`]??`user-3`,u=n?.color,d;t[0]===u?d=t[1]:(d=ga(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)(X,{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)(X,{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)(ft,{asChild:!0,children:(0,$.jsx)(Tt,{asChild:!0,children:(0,$.jsxs)(Z,{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)(pt,{sideOffset:8,children:b}),t[19]=b,t[20]=x);let S;t[21]!==y||t[22]!==x?(S=(0,$.jsxs)(mt,{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)(Et,{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)(X,{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)(wt,{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)(xt,{children:[S,w]}),t[33]=S,t[34]=w,t[35]=T):T=t[35],T},va=(e,t)=>e??t,ya=e=>e===`/`,ba=e=>e.replace(/\\/g,`/`),xa=e=>{if(!e||ya(e))return e;let t=e;for(;t.length>1&&t.endsWith(`/`);)t=t.slice(0,-1);return t},Sa=e=>e.endsWith(`/`),Ca=e=>{let t=e.trim();return!t||Sa(t)?t:`${t}/`},wa=e=>e.lastIndexOf(`/`),Ta=e=>{if(Sa(e))return e;let t=wa(e);return t<0?e:e.slice(0,t+1)},Ea=e=>{let t=wa(e);return e.slice(t+1)},Da=e=>{let t=xa(e.trim());if(!t||t===`~`||t===`~/`||t===`/`)return null;let n=wa(t);return n<0?null:t.startsWith(`~/`)&&n<=1?`~/`:n===0?`/`:`${t.slice(0,n)}/`},Oa=e=>Sa(e)&&Da(e)!==null,ka=(e,t)=>`${Ta(e)}${t}/`,Aa=e=>{if(!e)return null;let t=xa(ba(e.trim()));return t?t.toLowerCase():null},ja=(e,t)=>{let n=e.trim();return n===`~`?t:n.startsWith(`~/`)?`${t}${n.slice(1)}`:n},Ma=e=>typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey,Na=e=>{if(!e)return;e.focus({preventScroll:!0});let t=e.value.length;e.setSelectionRange(t,t),e.scrollLeft=e.scrollWidth},Pa=async()=>{try{let e=await f(`/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 ba(t.home.trim())}}catch{}return T.getFilesystemHome().catch(()=>null)},Fa=({open:e,onOpenChange:t,forceMobile:n})=>{let{t:r}=ee(),i=w(e=>e.homeDirectory),a=Se(e=>e.projects),o=Se(e=>e.addProject),s=on(e=>e.profiles),c=on(e=>e.globalIdentity),l=on(e=>e.defaultGitIdentityId),u=on(e=>e.loadProfiles),d=on(e=>e.loadGlobalIdentity),f=on(e=>e.loadDefaultGitIdentityId),{isDesktop:p,requestAccess:m,startAccessing:h}=ua(),g=va(n,Dt().isMobile),_=Q.useRef(null),v=Q.useRef(new Map),[y,b]=Q.useState(``),[x,S]=Q.useState(`~/`),[C,E]=Q.useState([]),[D,O]=Q.useState(!1),[k,A]=Q.useState(!1),[j,N]=Q.useState(0),[P,F]=Q.useState(!1),[I,L]=Q.useState(!1),[R,z]=Q.useState(!1),[B,te]=Q.useState(``),[V,H]=Q.useState(null),[U,ne]=Q.useState(!1),W=y||i,re=Q.useMemo(()=>new Set(a.map(e=>Aa(e.path)).filter(e=>!!e)),[a]);Q.useEffect(()=>{if(!e)return;S(`~/`),E([]),N(0),F(!1),L(!1),z(!1),te(``),H(null),ne(!1),requestAnimationFrame(()=>Na(_.current));let t=!1;return(async()=>{let e=await Pa();t||(b(e||i||``),requestAnimationFrame(()=>Na(_.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||!R||V!==null)return;let t=typeof l==`string`?l.trim():``;if(t&&G.some(e=>e.id===t)){H(t);return}let n=G.find(e=>e.authType===`ssh`||e.sshKey);n&&H(n.id)},[G,l,R,e,V]);let ie=Q.useMemo(()=>G.find(e=>e.id===V)??null,[G,V]),ae=Q.useMemo(()=>Ta(x),[x]),K=Q.useMemo(()=>Sa(x)?``:Ea(x),[x]),oe=Q.useMemo(()=>W?ja(ae,W):``,[ae,W]);Q.useEffect(()=>{if(!e||!oe){E([]);return}let t=!1;return O(!0),A(!1),T.listLocalDirectory(oe).then(e=>{if(t)return;A(!1);let n=e.filter(e=>e.isDirectory).map(e=>({name:e.name,path:ba(e.path)})).sort((e,t)=>e.name.localeCompare(t.name));E(n)}).catch(()=>{t||(E([]),A(!0))}).finally(()=>{t||O(!1)}),()=>{t=!0}},[oe,e]);let se=Q.useMemo(()=>{let e=K.toLowerCase(),t=U||K.startsWith(`.`);return C.filter(n=>n.name.toLowerCase().startsWith(e)&&(t||!n.name.startsWith(`.`)))},[K,C,U]),ce=Q.useMemo(()=>{let e=[];Oa(x)&&e.push({type:`up`,value:`browse:up`,name:`..`,path:Da(x)});for(let t of se){let n=Aa(t.path);e.push({type:`directory`,value:`browse:${t.path}`,name:t.name,path:t.path,alreadyAdded:!!(n&&re.has(n))})}return e},[re,se,x]);Q.useEffect(()=>{N(0)},[x,ce.length]);let le=Q.useMemo(()=>W?xa(ja(x,W)):``,[W,x]),ue=Aa(le),de=!!(ue&&re.has(ue)),fe=Q.useMemo(()=>K?se.find(e=>e.name===K)??null:null,[K,se]),pe=!!(le&&!de&&(Sa(x)&&k||!Sa(x)&&K.trim().length>0&&fe===null)),me=!P&&!I&&!de&&!!le,he=me&&B.trim().length>0,ge=ce[j]??null,_e=!!ge,ve=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`,be=r(de?`directoryExplorerDialog.actions.alreadyAdded`:R?P?`directoryExplorerDialog.actions.cloning`:`directoryExplorerDialog.actions.cloneAndAdd`:P?`directoryExplorerDialog.actions.adding`:pe?`directoryExplorerDialog.actions.createAndAdd`:`directoryExplorerDialog.actions.addProject`);Q.useLayoutEffect(()=>{e&&Na(_.current)},[e]),Q.useLayoutEffect(()=>{let e=ce[j];e&&v.current.get(e.value)?.scrollIntoView({block:`nearest`})},[j,ce]);let xe=M(()=>{t(!1)}),Ce=M(e=>{let t=J.getState();t.newSessionDraft?.open&&t.setNewSessionDraftTarget({projectId:e.id,directoryOverride:e.path},{force:!0})}),we=M(e=>{let t={selectedProjectId:e.id,directoryOverride:e.path,preserveDirectoryOverride:!0};if(g){ye.getState().openDraft(t);return}J.getState().openNewSessionDraft(t)}),Te=M((e,t)=>{e.stopPropagation();let n=Aa(t);if(n&&re.has(n))return;let i=o(t);if(!i){q.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}Ce(i)}),Ee=M(async e=>{if(!e||P)return;let t=Aa(e);if(t&&re.has(t))return;let n=e;F(!0);try{let t=!R&&pe&&Aa(e)===Aa(le);if(R){let t=B.trim();if(!t){q.error(r(`directoryExplorerDialog.toast.cloneUrlRequired`));return}n=(await T.cloneRepository({remoteUrl:t,destinationPath:e,gitIdentityId:ie?.id??null})).path}else t&&await T.createDirectory(e);let i=o(n);if(!i){q.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}we(i),xe()}catch(e){q.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{F(!1)}}),Ne=M(e=>{S(Ca(e))}),Pe=M(e=>{S(ka(x,e.name))}),Fe=M(e=>{if(e){if(e.type===`up`){e.path&&Ne(e.path);return}Pe(e)}}),Ie=M(async()=>{if(!(!p||I)){L(!0);try{let e=await m(le);if(!e.success||!e.path){e.error&&e.error!==`Directory selection cancelled`&&q.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e.error});return}let t=await h(e.path);if(!t.success){q.error(r(`directoryExplorerDialog.toast.failedToOpenDirectory`),{description:t.error||r(`directoryExplorerDialog.toast.desktopCouldNotGrantAccess`)});return}await Ee(e.path)}catch(e){q.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{L(!1)}}}),Le=M(e=>{if(e.key===`ArrowDown`){e.preventDefault(),N(e=>Math.min(ce.length-1,e+1));return}if(e.key===`ArrowUp`){e.preventDefault(),N(e=>Math.max(0,e-1));return}if(e.key===`Enter`){if(e.preventDefault(),Ma(e)){Ee(le);return}_e&&Fe(ge);return}e.key===`Backspace`&&x===``&&(e.preventDefault(),xe())}),Re=(0,$.jsxs)(`button`,{type:`button`,onClick:()=>ne(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:[U?(0,$.jsx)(X,{name:`checkbox`,className:`h-4 w-4 text-primary`}):(0,$.jsx)(X,{name:`checkbox-blank`,className:`h-4 w-4`}),r(`directoryExplorerDialog.toggle.showHidden`)]}),ze=(0,$.jsxs)(`div`,{className:`px-2.5 py-1.5`,children:[R?(0,$.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5`,children:[(0,$.jsx)(dt,{value:B,onChange:e=>te(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)(_a,{activeProfile:ie,identities:G,onSelect:e=>H(e.id),isApplying:P,iconOnly:!0})]}):null,(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(X,{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)(dt,{ref:_,value:x,onChange:e=>S(ba(e.target.value)),onKeyDown:Le,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`})]})]}),Be=(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`)}),D?(0,$.jsx)(`div`,{className:`py-10 text-center typography-ui-label text-muted-foreground`,children:r(`directoryExplorerDialog.browse.loading`)}):ce.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:ce.map((e,t)=>{let n=t===j;return(0,$.jsxs)(`div`,{onMouseEnter:()=>N(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:()=>Fe(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)(X,{name:`arrow-left-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/80`}):(0,$.jsx)(X,{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=>Te(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)(X,{name:`add`,className:`h-3.5 w-3.5`})}):null]},e.value)})})]})}),Ve=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:[ze,Be]}),He=(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)(X,{name:`arrow-up-s`,className:`h-3.5 w-3.5`}),(0,$.jsx)(X,{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)(X,{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:ve}),(0,$.jsx)(X,{name:`corner-down-left`,className:`h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.add`)]})]}),We=()=>(0,$.jsxs)($.Fragment,{children:[g?null:He,(0,$.jsxs)(`div`,{className:Y(`flex w-full flex-row justify-end gap-2 sm:w-auto`,g&&`justify-stretch`),children:[p?(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:Ie,disabled:P||I||R,children:r(I?`directoryExplorerDialog.actions.openingFinder`:`directoryExplorerDialog.actions.openInFinder`)}):null,(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>z(e=>!e),disabled:P||I,className:Y(g&&`flex-1`),children:r(R?`directoryExplorerDialog.actions.addLocalProject`:`directoryExplorerDialog.actions.cloneRepository`)}),g?(0,$.jsx)(Z,{size:`xs`,onClick:()=>void Ee(le),disabled:R?!he:!me,className:`flex-1`,children:be}):(0,$.jsx)(Z,{size:`xs`,onClick:()=>void Ee(le),disabled:R?!he:!me,children:be})]})]});return g?(0,$.jsx)(Ue,{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:Re,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:Ve}),(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:We()})})]})}):(0,$.jsx)(Me,{open:e,onOpenChange:t,children:(0,$.jsxs)(ke,{className:`flex w-full max-w-xl flex-col gap-0 overflow-hidden p-0 sm:max-h-[80vh]`,initialFocus:!1,children:[(0,$.jsx)(De,{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)(Ae,{children:r(`directoryExplorerDialog.title`)}),(0,$.jsx)(je,{className:`mt-2`,children:r(`directoryExplorerDialog.description`)})]}),Re]})}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 px-2 pb-0`,children:Ve}),(0,$.jsx)(Oe,{className:`flex w-full flex-col gap-3 px-5 py-3 sm:flex-row sm:items-center sm:justify-between`,children:We()})]})})},Ia=async(e,t)=>{try{let t=await e.json();if(t&&typeof t.error==`string`&&t.error.trim().length>0)return t.error}catch{return t}return t},La=e=>{let t=typeof e==`string`?e.trim():``;if(!t)throw Error(`projectId is required`);return t},Ra=e=>e===null||typeof e==`string`,za=e=>e===null||typeof e==`number`&&Number.isFinite(e),Ba=e=>typeof e==`number`&&Number.isFinite(e)&&e>=0&&e<=864e13,Va=e=>e===null||Ba(e),Ha=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.id==`string`&&t.id.length>0&&typeof t.projectId==`string`&&t.projectId.length>0&&typeof t.taskId==`string`&&t.taskId.length>0&&typeof t.taskName==`string`&&(t.trigger===`scheduled`||t.trigger===`manual`)&&(t.status===`running`||t.status===`success`||t.status===`error`)&&Ra(t.sessionId)&&Ra(t.directory)&&Ra(t.error)&&Ba(t.startedAt)&&Va(t.finishedAt)&&za(t.durationMs)&&(t.durationMs===null||t.durationMs>=0)},Ua=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Malformed scheduled task runs response`);let t=e;if(!Array.isArray(t.runs)||!t.runs.every(Ha)||!Ra(t.nextCursor)||typeof t.complete!=`boolean`||t.complete!==(t.nextCursor===null)||t.nextCursor!==null&&t.nextCursor.length===0)throw Error(`Malformed scheduled task runs response`);return{runs:t.runs,nextCursor:t.nextCursor,complete:t.complete}},Wa=async(e,t)=>{let n=new URLSearchParams;e.before&&n.set(`before`,e.before);let r=e.limit??20;if(!Number.isInteger(r)||r<1)throw Error(`limit must be a positive integer`);n.set(`limit`,String(r)),e.projectId&&n.set(`projectId`,e.projectId),e.taskId&&n.set(`taskId`,e.taskId);let i=await f(`/api/openchamber/scheduled-task-runs?${n.toString()}`,{signal:t});if(!i.ok)throw Error(await Ia(i,`Failed to load scheduled task history`));return Ua(await i.json().catch(()=>null))},Ga=async()=>{let e=await f(`/api/openchamber/scheduled-tasks`);if(!e.ok)throw Error(await Ia(e,`Failed to load schedules`));let t=await e.json().catch(()=>null);return{tasks:Array.isArray(t?.tasks)?t.tasks:[],failedProjectIds:Array.isArray(t?.failedProjectIds)?t.failedProjectIds.filter(e=>typeof e==`string`):[]}},Ka=async(e,t)=>{let n=La(e),r=await f(`/api/projects/${encodeURIComponent(n)}/scheduled-tasks`,{method:`PUT`,headers:{"content-type":`application/json`,accept:`application/json`},body:JSON.stringify({task:t})});if(!r.ok)throw Error(await Ia(r,`Failed to save schedule`));let i=await r.json().catch(()=>null);return!i||!Array.isArray(i.tasks)?[]:i.tasks},qa=async(e,t)=>{let n=La(e),r=La(t),i=await f(`/api/projects/${encodeURIComponent(n)}/scheduled-tasks/${encodeURIComponent(r)}`,{method:`DELETE`,headers:{accept:`application/json`}});if(!i.ok)throw Error(await Ia(i,`Failed to delete schedule`));let a=await i.json().catch(()=>null);return!a||!Array.isArray(a.tasks)?[]:a.tasks},Ja=async(e,t)=>{let n=La(e),r=La(t),i=await f(`/api/projects/${encodeURIComponent(n)}/scheduled-tasks/${encodeURIComponent(r)}/run`,{method:`POST`,headers:{accept:`application/json`}});if(!i.ok)throw Error(await Ia(i,`Failed to run schedule`));let a=await i.json().catch(()=>null);return{sessionId:typeof a?.sessionId==`string`&&a.sessionId.length>0?a.sessionId:void 0}},Ya=`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,Xa=`oc-settings-group-label`,Za=vn();function Qa(e){if(!e||!e.trim())return{valid:!1,error:`required`};try{return Za.CronExpressionParser.parse(e),{valid:!0}}catch(e){return{valid:!1,error:e instanceof Error?e.message:`Invalid cron expression`}}}function $a(e,t,n=4){try{let r=t?{tz:t,currentDate:new Date}:{currentDate:new Date},i=Za.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 eo=[{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`}],to=[0,1,2,3,4,5,6],no=`!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`,ro=`oc-settings-inline-value`,io=`oc-settings-split-row ${Ya}`,ao=ro,oo=io,so=()=>{let e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`},co=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},lo=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,uo=(e,t,n)=>{let r=co(e);return r?new Intl.DateTimeFormat(n,{month:`short`,day:`numeric`,year:`numeric`}).format(r):t},fo=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),po=(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},mo=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}},ho=(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`)}`},go=(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`},_o=e=>/^(0[1-9]|1[0-2])$/.test(e)?e:go(e,{min:1,max:12}),vo=e=>/^[0-5][0-9]$/.test(e)?e:go(e,{max:59}),yo=(e,t)=>go(String(Number.parseInt(e,10)+t),{min:1,max:12,loop:!0}),bo=(e,t)=>go(String(Number.parseInt(e,10)+t),{min:0,max:59,loop:!0}),xo=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}},So=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}},Co=e=>{let t=new Intl.DateTimeFormat(e,{weekday:`short`}),n=new Date(2023,0,1);return to.map(e=>t.format(new Date(n.getFullYear(),n.getMonth(),n.getDate()+e)))},wo=(e,t)=>[...e.slice(t),...e.slice(0,t)],To=e=>{let t=(0,yn.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},Eo=e=>{let t=(0,yn.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=mo(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=Io,E=Lo,D=Ro,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):ho(_o(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(ho(_o(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,vo(t)):ho(f.hour12,vo(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 ee=M,N;t[20]!==r||t[21]!==f.hour12||t[22]!==f.hour24||t[23]!==f.meridiem||t[24]!==a?(N=()=>{let e=b.current;e!==null&&(w(null),e.length!==0&&r(a?D(f.hour24,vo(e.padStart(2,`0`))):ho(f.hour12,vo(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]=N):N=t[25];let P=N,F;t[26]!==r||t[27]!==f.hour12||t[28]!==f.hour24||t[29]!==f.meridiem||t[30]!==f.minute||t[31]!==a?(F=e=>r(a?D(E(f.hour24,e),f.minute):ho(yo(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]=F):F=t[32];let I=F,L;t[33]!==r||t[34]!==f.hour12||t[35]!==f.hour24||t[36]!==f.meridiem||t[37]!==f.minute||t[38]!==a?(L=e=>r(a?D(f.hour24,bo(f.minute,e)):ho(f.hour12,bo(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]=L):L=t[39];let R=L,z;t[40]!==r||t[41]!==f.hour12||t[42]!==f.meridiem||t[43]!==f.minute?(z=e=>{e!==f.meridiem&&r(ho(f.hour12,f.minute,e))},t[40]=r,t[41]=f.hour12,t[42]=f.meridiem,t[43]=f.minute,t[44]=z):z=t[44];let B=z,te;t[45]!==j||t[46]!==I?(te=e=>{if(e.key===`ArrowRight`){e.preventDefault(),j(),m.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),S(null),I(e.key===`ArrowUp`?1:-1))},t[45]=j,t[46]=I,t[47]=te):te=t[47];let V=te,H;t[48]!==P||t[49]!==R?(H=e=>{if(e.key===`ArrowLeft`&&(e.currentTarget.selectionStart??0)===0){e.preventDefault(),P(),p.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),w(null),R(e.key===`ArrowUp`?1:-1))},t[48]=P,t[49]=R,t[50]=H):H=t[50];let U=H,ne=a?`px-2`:`pl-2 pr-1`,W;t[51]!==i||t[52]!==ne?(W=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)]`,ne,i),t[51]=i,t[52]=ne,t[53]=W):W=t[53];let re=h??(a?f.hour24:f.hour12),G;t[54]===k?G=t[55]:(G=e=>k(e.target.value),t[54]=k,t[55]=G);let ie;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(ie=()=>S(``),t[56]=ie):ie=t[56];let ae;t[57]!==j||t[58]!==o||t[59]!==V||t[60]!==re||t[61]!==G?(ae=(0,$.jsx)(`input`,{ref:p,inputMode:`numeric`,value:re,onChange:G,onKeyDown:V,onFocus:ie,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]=V,t[60]=re,t[61]=G,t[62]=ae):ae=t[62];let K;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(`span`,{className:`font-mono text-sm text-muted-foreground`,children:`:`}),t[63]=K):K=t[63];let oe=_??f.minute,se;t[64]===ee?se=t[65]:(se=e=>ee(e.target.value),t[64]=ee,t[65]=se);let ce;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(ce=()=>w(``),t[66]=ce):ce=t[66];let le;t[67]!==P||t[68]!==s||t[69]!==U||t[70]!==oe||t[71]!==se?(le=(0,$.jsx)(`input`,{ref:m,inputMode:`numeric`,value:oe,onChange:se,onKeyDown:U,onFocus:ce,onBlur:P,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]=P,t[68]=s,t[69]=U,t[70]=oe,t[71]=se,t[72]=le):le=t[72];let ue;t[73]!==l||t[74]!==f.meridiem||t[75]!==c||t[76]!==u||t[77]!==B||t[78]!==a?(ue=a?null:(0,$.jsxs)(Qe,{value:f.meridiem,onValueChange:e=>B(e),children:[(0,$.jsx)(ut,{"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)(Ge,{})}),(0,$.jsxs)(Ze,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(lt,{value:`AM`,children:l}),(0,$.jsx)(lt,{value:`PM`,children:u})]})]}),t[73]=l,t[74]=f.meridiem,t[75]=c,t[76]=u,t[77]=B,t[78]=a,t[79]=ue):ue=t[79];let q;return t[80]!==W||t[81]!==ae||t[82]!==le||t[83]!==ue?(q=(0,$.jsxs)(`div`,{className:W,children:[ae,K,le,ue]}),t[80]=W,t[81]=ae,t[82]=le,t[83]=ue,t[84]=q):q=t[84],q},Do=e=>new Date(e.getFullYear(),e.getMonth(),1),Oo=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())},ko=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),Ao=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`]},jo=(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:Ao(e),onceDate:typeof e.schedule.date==`string`&&/^\d{4}-\d{2}-\d{2}$/.test(e.schedule.date)?e.schedule.date:so(),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:so(),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}}},Mo=(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(!Qa(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`)},No=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))},Po=e=>{let t=(0,yn.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?oo:io,f=n.schedule.cronExpression,p;t[0]===f?p=t[1]:(p=f.trim()?Qa(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=$a(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)(To,{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)(dt,{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 ee;t[30]!==f||t[31]!==m||t[32]!==a?(ee=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]=ee):ee=t[33];let N;t[34]!==T||t[35]!==D||t[36]!==M||t[37]!==ee?(N=(0,$.jsxs)(`div`,{"data-settings-value":T,className:D,children:[M,ee]}),t[34]=T,t[35]=D,t[36]=M,t[37]=ee,t[38]=N):N=t[38];let P;t[39]!==w||t[40]!==N||t[41]!==S?(P=(0,$.jsxs)(`div`,{className:S,children:[w,N]}),t[39]=w,t[40]=N,t[41]=S,t[42]=P):P=t[42];let F;t[43]!==v||t[44]!==u||t[45]!==g||t[46]!==d||t[47]!==a?(F=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]=F):F=t[48];let I;t[49]!==u||t[50]!==d?(I=u&&[d,`items-start`],t[49]=u,t[50]=d,t[51]=I):I=t[51];let L;t[52]===I?L=t[53]:(L=Y(`flex flex-col gap-1`,I),t[52]=I,t[53]=L);let R;t[54]===a?R=t[55]:(R=a(`sessions.scheduledTasks.editor.cronExpression.examples`),t[54]=a,t[55]=R);let z;t[56]===R?z=t[57]:(z=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:R}),t[56]=R,t[57]=z);let B=u?``:void 0,te=u&&`oc-settings-split-row-control justify-end`,V;t[58]===te?V=t[59]:(V=Y(`flex flex-wrap gap-1.5`,te),t[58]=te,t[59]=V);let H;t[60]!==r||t[61]!==a?(H=eo.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]=H):H=t[62];let U;t[63]!==B||t[64]!==V||t[65]!==H?(U=(0,$.jsx)(`div`,{"data-settings-value":B,className:V,children:H}),t[63]=B,t[64]=V,t[65]=H,t[66]=U):U=t[66];let ne;t[67]!==L||t[68]!==z||t[69]!==U?(ne=(0,$.jsxs)(`div`,{className:L,children:[z,U]}),t[67]=L,t[68]=z,t[69]=U,t[70]=ne):ne=t[70];let W;return t[71]!==P||t[72]!==F||t[73]!==ne||t[74]!==b?(W=(0,$.jsxs)(`div`,{className:b,children:[P,F,ne]}),t[71]=P,t[72]=F,t[73]=ne,t[74]=b,t[75]=W):W=t[75],W};function Fo(e){let{open:t,task:n,onOpenChange:r,onSave:i,presentation:a=`dialog`,onDirtyChange:o,onRun:c,onOpenTaskHistory:l,onDelete:u,onToggleEnabled:d,actionBusy:f=!1,projectID:p=``,projectOptions:m=[],onProjectChange:h}=e,g=a===`panel`,_=a===`mobile-panel`,v=a===`mobile-tab`,y=_||v,b=_||v,x=g||y,S=y?ao:ro,C=y?oo:io,{t:w,locale:T}=ee(),E=he(e=>e.loadProviders),D=he(e=>e.loadAgents),O=he(e=>e.providers),k=he(e=>e.currentProviderId),A=he(e=>e.currentModelId),j=he(e=>e.currentVariant||``),M=he(e=>e.currentAgentName||``),N=s(e=>e.timeFormatPreference),P=s(e=>e.weekStartPreference),F=s(e=>e.isMobile),[I,L]=Q.useState(()=>jo(n,{providerID:k,modelID:A,variant:j,agent:M})),[R,z]=Q.useState(!1),[te,V]=Q.useState(!1),[H,U]=Q.useState(!1),[ne,W]=Q.useState(``),[re,G]=Q.useState(!1),[ie,ae]=Q.useState(``),[K,oe]=Q.useState(!1),[se,ce]=Q.useState(``),[le,ue]=Q.useState(()=>{let e=co(n?.schedule?.date||``)||new Date;return new Date(e.getFullYear(),e.getMonth(),1)}),de=Q.useRef(null),fe=Q.useRef(null),J=Q.useRef(null),pe=Q.useRef(null),me=Q.useRef(null),ge=Q.useRef(``),_e=Q.useRef(void 0),ve=Q.useRef(n);ve.current=n;let ye=n?.id||null,be=Q.useMemo(()=>So(T),[T]),xe=Q.useMemo(()=>xo(T),[T]),Se=Q.useMemo(()=>N===`24h`||N!==`12h`&&be,[N,be]),Ce=Q.useMemo(()=>P===`sunday`?0:P===`monday`?1:xe,[P,xe]),Te=Q.useMemo(()=>{let e=Co(T);return wo(to.map(t=>({value:t,label:e[t]||``})),Ce)},[T,Ce]);Q.useEffect(()=>{t&&(E({source:`scheduledTaskEditor`}),D({source:`scheduledTaskEditor`}))},[t,E,D]),Q.useEffect(()=>{if(!t){_e.current=void 0;return}if(_e.current===ye)return;_e.current=ye;let e=ve.current,n=jo(e,{providerID:k,modelID:A,variant:j,agent:M});ge.current=JSON.stringify(n),L(n),o?.(!1);let r=co(e?.schedule?.date||``)||new Date;ue(new Date(r.getFullYear(),r.getMonth(),1)),V(!1),G(!1),U(!1),ae(``),W(``)},[t,ye,k,A,j,M,o]),Q.useEffect(()=>{if(!(!t||!n||I.id!==n.id||I.enabled===n.enabled)&&(L(e=>({...e,enabled:n.enabled})),ge.current)){let e=JSON.parse(ge.current);ge.current=JSON.stringify({...e,enabled:n.enabled})}},[I.enabled,I.id,t,n]),Q.useEffect(()=>{!t||!ge.current||o?.(JSON.stringify(I)!==ge.current)},[I,o,t]),Q.useEffect(()=>{if(!te)return;let e=e=>{de.current&&!de.current.contains(e.target)&&V(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[te]);let Ee=Q.useMemo(()=>O.find(e=>e.id===I.execution.providerID)?.models?.find(e=>e.id===I.execution.modelID),[I.execution.modelID,I.execution.providerID,O]),De=Q.useMemo(()=>Ee?.variants?Object.keys(Ee.variants):[],[Ee]);Q.useEffect(()=>{!Ee||!I.execution.variant||De.includes(I.execution.variant)||L(e=>({...e,execution:{...e.execution,variant:``}}))},[De,I.execution.variant,Ee]);let Oe=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)}}})},[]),Ne=Q.useCallback((e,t)=>{L(n=>{let r=n.schedule.times.slice();return r[e]=t,{...n,schedule:{...n.schedule,times:r}}})},[]),Pe=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`]}}})},[]),Fe=Q.useCallback(()=>{L(e=>({...e,schedule:{...e.schedule,times:[...e.schedule.times,`12:00`]}}))},[]),Ie=Q.useMemo(()=>Oo(),[]),Le=Q.useMemo(()=>Do(Ie),[Ie]),Re=Q.useMemo(()=>{let e=co(I.schedule.onceDate);return e?ko(e,Ie)?w(`sessions.scheduledTasks.editor.date.today`):new Intl.DateTimeFormat(T,{weekday:`short`}).format(e):null},[I.schedule.onceDate,T,w,Ie]),ze=Q.useMemo(()=>Do(le).getTime()<=Le.getTime(),[le,Le]),Be=Q.useMemo(()=>Te.map(e=>e.label),[Te]),Ve=Q.useCallback(e=>{L(t=>({...t,schedule:{...t.schedule,onceDate:e}}))},[]),Ue=Q.useCallback((e,t)=>{if(e.startsWith(`/`)){let n=e.indexOf(` `),r=e.indexOf(`
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,E as n,O as r,T as i,b as a,k as o,t as s}from"./useUIStore-DOxLVeGb.js";import{$ as c,Xt as l,_n as u,d,kn as f,kt as p,on as m,r as h,u as g,yn as _}from"./persistence-DE9RnVcA.js";import{a as v,i as y}from"./vendor-zustand-B4dlGEM2.js";import{nt as b,o as x,rt as S,s as C}from"./vendor-base-ui-CnHfUmDN.js";import{Ct as w,Nt as T,r as E}from"./platform-MjT8iqKB.js";import{n as D}from"./vendor-react-DLPElpoQ.js";import{n as O,s as k,t as A}from"./vendor-tanstack-react-query-D7pys_c9.js";import{i as j}from"./terminalApi-Bnx0KvaV.js";import{n as M}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as ee,r as N,t as P}from"./clipboard-BXC1vZwE.js";import{$a as F,Cn as I,Co as L,Er as R,Fr as z,Ga as B,Ht as te,Kr as V,Mn as H,Mo as U,Po as ne,Sn as W,Tn as re,To as G,Ui as ie,Vt as ae,Yr as K,ar as oe,bn as se,dr as ce,ea as le,fr as ue,gr as q,hr as de,jr as fe,l as J,lr as pe,mr as me,na as he,nr as ge,or as _e,pr as ve,r as ye,sr as be,ur as xe,xo as Se,yn as Ce}from"./useMobileNavigationStore-BPyT9UnS.js";import{t as we}from"./MobileDetailNavigation-_RZ0g9LQ.js";import{i as Te,t as Ee}from"./useAssistantUIStore-D2K7ksGj.js";import{a as De,i as Oe,n as ke,o as Ae,r as je,t as Me}from"./dialog-wraJHZQ2.js";import{n as Ne,t as Y}from"./utils-C2R0YoC5.js";import{n as X}from"./Icon-BLWVqBee.js";import{t as Z}from"./button-CeCkEpvn.js";import{d as Pe}from"./gitApi-B578F2qF.js";import{D as Fe,O as Ie,X as Le,o as Re,s as ze}from"./useAppFontEffects-D-IsiNk4.js";import{A as Be,F as Ve,J as He,M as Ue,P as We,S as Ge,U as Ke,V as qe,a as Je,c as Ye,f as Xe,g as Ze,h as Qe,i as $e,j as et,m as tt,n as nt,o as rt,p as it,q as at,r as ot,t as st,u as ct,v as lt,x as ut}from"./projectMeta-DL_sTHNq.js";import{t as dt}from"./input-CyG05w-V.js";import{i as ft,n as pt,t as mt}from"./tooltip-B__x-HDJ.js";import{n as ht}from"./useThemeSystem-DMzWVJaW.js";import{G as gt,H as _t,K as vt,U as yt,W as bt,_ as xt,h as St,p as Ct,v as wt,w as Tt,y as Et}from"./radio-Dci6je4R.js";import{i as Dt,t as Ot}from"./OverlayScrollbar-GQgJusKL.js";import{P as kt,U as At,q as jt,rt as Mt,t as Nt,x as Pt}from"./ChatContainer-ESuWnDej.js";import{n as Ft}from"./useRuntimeAPIs-DSLXJybW.js";import{E as It,T as Lt,k as Rt,r as zt}from"./insertionBoundaries-DAmum4c9.js";import{c as Bt}from"./appThemeRegistry-Ci9L1yAY.js";import{_ as Vt,i as Ht,l as Ut,s as Wt,t as Gt,v as Kt,y as qt}from"./vendor-dnd-kit-core-CvWxUPdb.js";import{a as Jt,o as Yt,s as Xt,t as Zt}from"./vendor-dnd-kit-sortable-hHdP9lLb.js";import{f as Qt}from"./FadeInOnReveal-Cy3sf2M5.js";import{t as $t}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{a as en,i as tn,n as nn}from"./vendor-framer-motion-DFy_BSVd.js";import{A as rn,B as an,E as on,K as sn,a as cn,g as ln,q as un,t as dn,u as fn}from"./MobileSurface-BloZNHV8.js";import{a as pn,c as mn,l as hn,o as gn,s as _n}from"./shikiHighlight-DVFAhbnM.js";import{t as vn}from"./vendor-cron-parser-CCD11YFT.js";var yn=D(),Q=e(S(),1),$=b(),bn=Q.forwardRef((e,t)=>{let n=(0,yn.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)(x,{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)(C,{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});bn.displayName=`Switch`;var xn={},Sn=[],Cn=(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}},wn=e=>{switch(e?.status){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`default`}},Tn=({active:e,className:t,headerAction:n,listClassName:r,hideHeader:i=!1,mobileListDensity:a=!1})=>{let{t:o}=ee(),s=w(e=>e.currentDirectory)??null,c=an(e=>e.connect),l=an(e=>e.disconnect),{data:u,refetch:d,isError:f,error:p}=un(s,{enabled:e}),{data:m}=sn(s,{enabled:e}),h=u??xn,g=m??Sn,[_,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)(X,{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=wn(t),r=t?.status===`connected`,i=y===e,d=Cn(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)(mt,{children:[(0,$.jsx)(ft,{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)(pt,{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)(bn,{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`)})]})})]})},En=e=>!(e.dismissed===`true`||e.sessionShown===`true`||e.hasActiveToast),Dn=e=>!(!e.version||e.seenVersions.has(e.version)||e.dismissedVersion!==null&&e.dismissedVersion===e.version),On=e=>{if(typeof e!=`object`||!e)return``;let t=e.version;return typeof t==`string`?t.trim():``},kn=e=>!e||e.available!==!0||typeof e.latestVersion!=`string`?``:e.latestVersion.trim(),An=e=>{let t=e.trim().replace(/^v/i,``);return t?{target:t}:null},jn=5e3,Mn={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e)};function Nn(e,t,n=Mn){if(!e)return()=>void 0;let r=n.setTimeout(()=>{t().catch(()=>void 0)},jn);return()=>n.clearTimeout(r)}var Pn=`opencode-update-available`,Fn=`opencode-upgrade-progress`,In=`opencode-update-toast-dismissed-version`,Ln=()=>{let{t:e}=ee(),t=s(e=>e.showOpenCodeUpdateNotifications),n=Q.useRef(new Set),r=Q.useRef(!1);Q.useEffect(()=>{t||q.dismiss(Pn)},[t]);let i=M(()=>{q.dismiss(Fn),F({message:e(`opencodeUpdate.toast.reload.message`),mode:`projects`,scopes:[`all`]}).catch(()=>void 0)}),o=M(async t=>{if(!r.current){r.current=!0,q.dismiss(Pn),q.message(e(`opencodeUpdate.toast.upgrading.title`),{id:Fn,description:e(`opencodeUpdate.toast.upgrading.description`),duration:1/0,icon:(0,$.jsx)(X,{name:`refresh`,className:`h-4 w-4 animate-spin text-muted-foreground`})});try{let n=An(t);if(!n)throw Error(e(`opencodeUpdate.toast.failed.description`));let r=await f(`/api/opencode/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify(n)}),a=await r.json().catch(()=>null);if(!r.ok||a?.success===!1)throw Error(a?.error||r.statusText||e(`opencodeUpdate.toast.failed.description`));q.success(e(`opencodeUpdate.toast.updated.title`),{id:Fn,description:a?.version?e(`opencodeUpdate.toast.updated.descriptionWithVersion`,{version:a.version}):e(`opencodeUpdate.toast.updated.description`),duration:1/0,icon:(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 text-[var(--status-success)]`}),action:{label:e(`opencodeUpdate.toast.actions.reload`),onClick:i}})}catch(t){q.error(e(`opencodeUpdate.toast.failed.title`),{id:Fn,description:t instanceof Error?t.message:e(`opencodeUpdate.toast.failed.description`),duration:1/0})}finally{r.current=!1}}});return Q.useEffect(()=>{let r=t=>{if(!s.getState().showOpenCodeUpdateNotifications){q.dismiss(Pn);return}Dn({version:t,dismissedVersion:a().getItem(In),seenVersions:n.current})&&(n.current.add(t),q.info(e(`opencodeUpdate.toast.available.title`),{id:Pn,description:e(`opencodeUpdate.toast.available.description`,{version:t}),duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:()=>{o(t)}},cancel:{label:e(`opencodeUpdate.toast.actions.dismiss`),onClick:()=>{a().setItem(In,t),h({openCodeUpdateToastDismissedVersion:t}),q.dismiss(Pn)}}}))},i=e=>{let t=On(e.detail);r(t)},c=!1,l=Nn(t,async()=>{try{let e=await f(`/api/opencode/upgrade-status`,{headers:{Accept:`application/json`}});if(!e.ok)throw Error(e.statusText||`OpenCode upgrade status check failed`);let t=kn(await e.json().catch(()=>null));!c&&t&&r(t)}catch{}});return window.addEventListener(`openchamber:opencode-update-available`,i),()=>{c=!0,l(),window.removeEventListener(`openchamber:opencode-update-available`,i)}},[t,e]),null},Rn=()=>{let e=(0,yn.c)(3),[t,n]=Q.useState(zn),{isUpdating:r}=t,i,a;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>G(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)(vt,{width:80,height:80,isAnimated:!0})}),e[2]=o):o=e[2],o};function zn(){return L()}var Bn=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)(_t,{className:`w-full max-w-md`,children:[(0,$.jsx)(bt,{className:`text-center`,children:(0,$.jsxs)(gt,{className:`flex items-center justify-center gap-2 text-destructive`,children:[(0,$.jsx)(X,{name:`chat-3`,className:`h-5 w-5`}),this.props.texts.title]})}),(0,$.jsxs)(yt,{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)(Z,{onClick:this.handleReset,variant:`outline`,className:`flex-1`,children:[(0,$.jsx)(X,{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 Vn(e){let t=(0,yn.c)(22),{t:n}=ee(),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)(Bn,{...e,texts:l}),t[19]=e,t[20]=l,t[21]=u):u=t[21],u}var Hn=e=>{let t=(0,yn.c)(10),{readOnly:n,active:r,selectionOverride:i}=e,a=n!==void 0&&n,o=r===void 0||r,s=J(Un),c=(i?.sessionId??s)||void 0,l;t[0]!==o||t[1]!==i?(l=i?{...i,active:o}:void 0,t[0]=o,t[1]=i,t[2]=l):l=t[2];let u;t[3]!==o||t[4]!==a||t[5]!==l?(u=(0,$.jsx)(Nt,{readOnly:a,active:o,explicitSession:l}),t[3]=o,t[4]=a,t[5]=l,t[6]=u):u=t[6];let d;return t[7]!==c||t[8]!==u?(d=(0,$.jsx)(Vn,{sessionId:c,children:u}),t[7]=c,t[8]=u,t[9]=d):d=t[9],d};function Un(e){return e.currentSessionId}var Wn=new Set,Gn=new Map;function Kn(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 qn(e,t){if(!t||e.has(t))return e;let n=new Set(e);return n.add(t),n}function Jn(e){let t=(0,yn.c)(7),n=e?.enabled??!0,r;t[0]===n?r=t[1]:(r={enabled:n},t[0]=n,t[1]=r);let i=te(r),a;t[2]===n?a=t[3]:(a=e=>n?e.statusById:Gn,t[2]=n,t[3]=a);let o=W(a),s;bb0:{if(!n){s=Wn;break bb0}let e;t[4]!==o||t[5]!==i?(e=Kn(i,o),t[4]=o,t[5]=i,t[6]=e):e=t[6],s=e}return s}function Yn(e){let t=(0,yn.c)(3),n=e?.includeCurrentSession??!0,r=Jn(e),i=J(Xn),a;bb0:{if(!n){a=r;break bb0}let e;t[0]!==i||t[1]!==r?(e=qn(r,i),t[0]=i,t[1]=r,t[2]=e):e=t[2],a=e}return a}function Xn(e){return e.currentSessionId}var Zn=e=>Object.fromEntries(e.map(e=>[e.id,le(e)])),Qn=(e,t,n)=>{let r=Zn(e.map(e=>e.session));return ge(r,n)?new Map((t??[]).map((e,t)=>[e,t])):new Map},$n=(e,t,n,r)=>{let i=Qn(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 Fe(e.session,t.session,r)}},er=({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}},tr=(e,t,n)=>n.get(e)===n.get(t),nr=e=>!!e.parentID,rr=(e,t)=>c(xe(e.session))??c(t.directory??null),ir=()=>3,ar=(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},or=(e,t,n)=>ar(e,t,n,e=>e.session.id),sr=(e,t,n)=>ar(e,t,n,e=>e.id),cr=({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}),lr=(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},ur=({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),l=s.find(e=>e.isMain)??null;(l?[l,...s.filter(e=>e.id!==l.id)]:s).forEach(n=>{if(n.isArchivedBucket)return;let s=`${e.project.id}:${n.id}`,l=n.folderScopeKey??c(n.directory??null),u=$n(n.sessions,l?i[l]:void 0,l?a[l]:void 0,r),d=[...n.sessions].filter(e=>!e.session.time?.archived&&!nr(e.session)).sort(u),f=new Map(d.map(e=>[e.session.id,e])),p=l?t[l]??[]:[],m=new Map;p.forEach(e=>{let t=e.parentId??null,n=m.get(t)??[];n.push(e),m.set(t,n)});let h=new Set(p.flatMap(e=>e.sessionIds)),g=(t,r,i)=>{o.push({scope:`project`,sessionId:t.session.id,projectId:e.project.id,directory:rr(t,n),groupKey:s,folderAncestorIds:r,visibleIndex:i})},_=(e,t)=>{let n=p.find(t=>t.id===e);if(!n)return;let r=[...t,n.id];(m.get(n.id)??[]).forEach(e=>{_(e.id,r)}),n.sessionIds.map(e=>f.get(e)).filter(e=>!!e).sort(u).forEach(e=>g(e,r))};(m.get(null)??[]).forEach(e=>_(e.id,[])),d.filter(e=>!h.has(e.session.id)).forEach((e,t)=>g(e,void 0,t))})}),o},dr=v()(y(e=>({expandedWorktreeGroups:{},setWorktreeGroupExpanded:(t,n)=>e(e=>({expandedWorktreeGroups:{...e.expandedWorktreeGroups,[t]:n}}))}),{name:`mobile-session-statusbar-collapse`,storage:p()}));typeof window<`u`&&t(e=>{o(e)&&dr.persist.rehydrate()});var fr=e=>{let t=(0,yn.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};fr.displayName=`SessionBusyIndicator`;function pr(e){let t=(0,yn.c)(34),{durationMs:n,size:r,className:i}=e,a=r===void 0?15:r,o=(a-1.5)/2,s=2*Math.PI*o,[c,l]=Q.useState(!1),u;t[0]===n?u=t[1]:(u=()=>Math.max(0,Math.ceil(n/1e3)-1),t[0]=n,t[1]=u);let[d,f]=Q.useState(u),p,m;t[2]===n?(p=t[3],m=t[4]):(p=()=>{let e=performance.now(),t=window.requestAnimationFrame(()=>l(!0)),r=window.setInterval(()=>{let t=performance.now()-e;f(Math.max(0,Math.ceil((n-t)/1e3)-1))},250);return()=>{window.cancelAnimationFrame(t),window.clearInterval(r)}},m=[n],t[2]=n,t[3]=p,t[4]=m),Q.useEffect(p,m);let h;t[5]===i?h=t[6]:(h=Y(`relative inline-flex shrink-0 items-center justify-center`,i),t[5]=i,t[6]=h);let g;t[7]===a?g=t[8]:(g={width:a,height:a},t[7]=a,t[8]=g);let _=`0 0 ${a} ${a}`,v=a/2,y=a/2,b;t[9]!==o||t[10]!==v||t[11]!==y?(b=(0,$.jsx)(`circle`,{cx:v,cy:y,r:o,fill:`none`,stroke:`var(--interactive-border)`,strokeWidth:1.5}),t[9]=o,t[10]=v,t[11]=y,t[12]=b):b=t[12];let x=a/2,S=a/2,C=c?s:0,w=`stroke-dashoffset ${n}ms linear`,T;t[13]===w?T=t[14]:(T={transition:w},t[13]=w,t[14]=T);let E;t[15]!==s||t[16]!==o||t[17]!==x||t[18]!==S||t[19]!==C||t[20]!==T?(E=(0,$.jsx)(`circle`,{cx:x,cy:S,r:o,fill:`none`,stroke:`var(--primary-base)`,strokeWidth:1.5,strokeLinecap:`round`,strokeDasharray:s,strokeDashoffset:C,style:T}),t[15]=s,t[16]=o,t[17]=x,t[18]=S,t[19]=C,t[20]=T,t[21]=E):E=t[21];let D;t[22]!==a||t[23]!==b||t[24]!==E||t[25]!==_?(D=(0,$.jsxs)(`svg`,{viewBox:_,width:a,height:a,className:`-rotate-90`,children:[b,E]}),t[22]=a,t[23]=b,t[24]=E,t[25]=_,t[26]=D):D=t[26];let O;t[27]===d?O=t[28]:(O=(0,$.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center !text-[8px] !leading-none font-semibold tabular-nums text-current`,children:d}),t[27]=d,t[28]=O);let k;return t[29]!==D||t[30]!==O||t[31]!==h||t[32]!==g?(k=(0,$.jsxs)(`span`,{className:h,style:g,"aria-hidden":`true`,children:[D,O]}),t[29]=D,t[30]=O,t[31]=h,t[32]=g,t[33]=k):k=t[33],k}function mr(){s.getState().setArchivedSessionsDialogOpen(!0)}function hr(e){q.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(Z,{variant:`secondary`,size:`sm`,className:`session-mutation-undo-action !h-[26px] !min-h-0 !min-w-0 shrink-0 !px-2 !text-[12px]`,onClick:()=>{e.onSecondary?.(),q.dismiss(t)}},e.secondaryLabel):null,Q.createElement(Z,{variant:`default`,size:`sm`,className:`session-mutation-undo-action !h-[26px] !min-h-0 !min-w-0 shrink-0 gap-1 !pl-2 !pr-1 !text-[12px]`,onClick:()=>{e.onPrimary(),q.dismiss(t)}},e.primaryLabel,Q.createElement(pr,{durationMs:e.durationMs})))),{duration:e.durationMs,className:`session-mutation-undo-toast !max-w-[calc(100vw-2rem)]`})}function gr(e){let t=Array.from(new Set(e.sessionIds.filter(Boolean)));t.length!==0&&hr({durationMs:fe,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{(async()=>{(await Promise.all(t.map(e=>K(e)))).some(e=>!e)&&q.error(e.undoFailedMessage)})()},secondaryLabel:e.settingsLabel,onSecondary:()=>{mr()}})}function _r(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}=V(t,{delayMs:n,onSettled:({failedIds:t})=>{t.length>0&&q.error(e.commitFailedMessage)}});return r&&hr({durationMs:n,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{z(r)}}),{batchId:r,scheduledIds:i}}var vr=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),yr=e=>{let t=e;return vr(t.directory??t.project?.worktree??null)},br=({open:e,project:t,worktree:n,onClose:r,onDeleted:i})=>{let{t:a}=ee(),o=ae(),s=ve(e=>e.activeSessions),c=J(e=>e.archiveSessions),l=w(e=>e.currentDirectory),[u,d]=Q.useState(!1),[f,p]=Q.useState(!1),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),v=vr(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])yr(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 tt(n.path).then(e=>{t||h(!!e?.isDirty)}).catch(()=>{t||h(!!n.status?.isDirty)}),()=>{t=!0}},[e,n?.path,n?.status?.isDirty]);let x=M(e=>{(async()=>{try{await ct(e.project,e.worktree,{deleteRemoteBranch:e.hasBranch&&e.deleteRemoteBranch,deleteLocalBranch:e.hasBranch&&e.deleteLocalBranch}),vr(e.currentDirectory)===e.worktreePath&&vr(e.project.path)&&w.getState().setDirectory(vr(e.project.path),{showOverlay:!1}),q.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){q.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&&q.success(e.length===1?o.t(`sessions.sidebar.bulkActions.archivedSingle`,{count:e.length}):o.t(`sessions.sidebar.bulkActions.archivedPlural`,{count:e.length})),q.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){q.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,T=(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)(At,{open:e,onClose:r,title:a(`mobile.projectEdit.deleteWorktreeTitle`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Z,{variant:`ghost`,className:`flex-1`,onClick:r,disabled:g,children:a(`projectEditDialog.actions.cancel`)}),(0,$.jsx)(Z,{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:[T(u,d,a(`mobile.projectEdit.deleteLocalBranch`),g),T(f,p,a(`mobile.projectEdit.deleteRemoteBranch`),g)]}):null]})})},xr=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Sr=e=>{let t=(0,yn.c)(36),{worktree:n,onDelete:r}=e,{t:i}=ee(),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}=Yt(a),f;t[2]===l?f=t[3]:(f=qt.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)(X,{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)(X,{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)(X,{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},Cr=({open:e,project:t,onClose:n,onWorktreesChanged:r})=>{let{t:i}=ee(),{currentTheme:a}=ht(),o=Se(e=>e.updateProjectMeta),s=Se(e=>e.discoverProjectIcon),c=Se(e=>e.removeProjectIcon),l=ze(e=>e.setWorktreeOrder),u=Se(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=Kt(Vt(Wt,{activationConstraint:{distance:8}}),Vt(Ht,{coordinateGetter:Jt})),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){q.error(e.error||i(`projectEditDialog.toast.failedToDiscoverIcon`));return}if(e.skipped){q.success(i(`projectEditDialog.toast.customIconAlreadySet`));return}q.success(i(`projectEditDialog.toast.iconDiscovered`))}).finally(()=>v(!1)))},D=()=>{t&&c(t.id).then(e=>{if(!e.ok){q.error(e.error||i(`projectEditDialog.toast.failedToRemoveIcon`));return}q.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=>xr(e.path)))},k=h?nt[h]??null:null,A=p?$e[p]:null,j=!!u;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ue,{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)(Z,{type:`button`,variant:`default`,size:`sm`,"aria-label":i(`projectEditDialog.actions.save`),onClick:T,disabled:!d.trim(),style:{touchAction:`manipulation`},children:[(0,$.jsx)(X,{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)(Je,{project:{id:t.id,iconImage:u},options:{themeVariant:a.metadata.variant,iconColor:a.colors.surface.foreground},className:`size-full object-contain`,fallback:(0,$.jsx)(X,{name:`folder-6`,className:`size-7`})}):A?(0,$.jsx)(X,{name:A,className:`size-7`,style:k?{color:k}:void 0}):(0,$.jsx)(X,{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)(dt,{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`})}),st.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`})}),ot.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)(X,{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)(Z,{size:`sm`,variant:`outline`,onClick:E,disabled:_,children:i(_?`projectEditDialog.actions.discovering`:`projectEditDialog.actions.discoverFavicon`)}),j?(0,$.jsx)(Z,{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)(Gt,{sensors:w,collisionDetection:Ut,onDragEnd:O,children:(0,$.jsx)(Zt,{items:y.map(e=>e.path),strategy:Xt,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-1.5`,children:y.map(e=>(0,$.jsx)(Sr,{worktree:e,onDelete:()=>S(e)},e.path))})})})]})]}):null]}):null}),t?(0,$.jsx)(br,{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]})},wr=()=>3,Tr=()=>7,Er=(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 Xe(r,e)?e:r},Dr=(e,t)=>{t&&e.push(t)},Or=e=>{let t=[];return Dr(t,e.onRename?{id:`rename`,icon:`pencil-ai`,labelKey:`sessions.sidebar.session.menu.rename`,onClick:e.onRename}:null),Dr(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?(Dr(t,e.onCopyLink?{id:`copyLink`,icon:`file-copy`,labelKey:`sessions.sidebar.session.menu.copyLink`,onClick:e.onCopyLink}:null),Dr(t,e.onUnshare?{id:`unshare`,icon:`link-unlink-m`,labelKey:`sessions.sidebar.session.menu.unshare`,onClick:e.onUnshare}:null)):Dr(t,e.onShare?{id:`share`,icon:`share-2`,labelKey:`sessions.sidebar.session.menu.share`,onClick:e.onShare}:null),Dr(t,e.onRefreshTranscript?{id:`refreshTranscript`,icon:`refresh`,labelKey:`sessions.sidebar.session.menu.refreshTranscript`,onClick:e.onRefreshTranscript,disabled:e.refreshTranscriptDisabled,spinning:e.refreshTranscriptSpinning}:null),Dr(t,e.onArchive?{id:`archive`,icon:`archive`,labelKey:`sessions.sidebar.bulkActions.archive`,onClick:e.onArchive}:null),Dr(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},kr=e=>{let t=[];return Dr(t,e.onNewSession?{id:`newSession`,icon:`add`,labelKey:`sessions.sidebar.project.actions.newSession`,onClick:e.onNewSession}:null),Dr(t,e.gitRepository&&e.onNewWorktree?{id:`newWorktree`,icon:`node-tree`,labelKey:`sessions.sidebar.project.actions.newWorktree`,onClick:e.onNewWorktree}:null),Dr(t,e.onSyncSessions?{id:`syncSessions`,icon:`refresh`,labelKey:`sessions.sidebar.project.actions.syncSessions`,onClick:e.onSyncSessions}:null),Dr(t,e.onEditProject?{id:`edit`,icon:`pencil-ai`,labelKey:`sessions.sidebar.project.actions.edit`,onClick:e.onEditProject}:null),Dr(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},Ar=e=>{let t=[];return Dr(t,e.onNewSession?{id:`newSession`,icon:`add`,labelKey:`sessions.sidebar.project.actions.newSession`,onClick:e.onNewSession}:null),Dr(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},jr=(e,t)=>t(e.labelKey);function Mr(){let e=(0,yn.c)(3),t=ae(),n=ve(Fr),r;if(e[0]!==n||e[1]!==t){let i=new Map(t.map(Pr));r=n.map(e=>{let t=i.get(e.id);return t?be(t,e):e});let a=new Set(r.map(Nr));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 Nr(e){return e.id}function Pr(e){return[e.id,e]}function Fr(e){return e.activeSessions}var Ir=`__pinned_sessions__`;function Lr(e){return e===null||e===Ir}function Rr(e){let{activeProjectId:t,currentFilterProjectId:n,projects:r}=e;return n===null?null:n===Ir||r.some(e=>e.id===n)?n:t??n}var zr=3,Br=7,Vr=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.replace(/\/+$/,``)},Hr=e=>{let t=e;return Vr(t.directory??t.project?.worktree??``)},Ur=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 Wr(e){e.preventBaseUIHandler()}function Gr(e,t,n){t&&(e.preventBaseUIHandler(),n(e))}function Kr(e){let t=(0,yn.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)(X,{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)(Z,{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 qr(e,t){let n=(0,yn.c)(32),r=H($r),i;if(n[0]!==e){i=new Map;let t=new Set(e.map(Qr));e.forEach(e=>{let n=e.parentID;n&&t.has(n)&&i.set(n,[...i.get(n)||[],e])}),n[0]=e,n[1]=i}else i=n[1];let a=i,o;n[2]===t?o=n[3]:(o=e=>{let n=t?.[e];return n?.type===`busy`||n?.type===`retry`?n.type:`idle`},n[2]=t,n[3]=o);let s=o,c;n[4]!==s||n[5]!==a?(c=e=>(a.get(e)||[]).some(e=>s(e.id)!==`idle`),n[4]=s,n[5]=a,n[6]=c):c=n[6];let l=c,u;n[7]!==s||n[8]!==a?(u=e=>(a.get(e)||[]).filter(e=>s(e.id)!==`idle`).length,n[7]=s,n[8]=a,n[9]=u):u=n[9];let d=u,f;n[10]!==s||n[11]!==a?(f=e=>(a.get(e)||[]).filter(e=>s(e.id)!==`idle`).map(Zr).slice(0,3),n[10]=s,n[11]=a,n[12]=f):f=n[12];let p=f,m;n[13]===e?m=n[14]:(m=new Set(e.map(Xr)),n[13]=e,n[14]=m);let h=m,g;if(n[15]!==p||n[16]!==d||n[17]!==s||n[18]!==l||n[19]!==h||n[20]!==e||n[21]!==r){let t=e.filter(e=>{let t=e.parentID;return!t||!h.has(t)}),i=[],a=[];t.forEach(e=>{let t=s(e.id),n=l(e.id),o=(r[e.id]??0)>0,c={...e,_statusType:t,_hasRunningChildren:n,_runningChildrenCount:d(e.id),_childIndicators:p(e.id)};t!==`idle`||n||o?i.push(c):a.push(c)});let o=Yr;i.sort(o),a.sort(o),g=[...i,...a],n[15]=p,n[16]=d,n[17]=s,n[18]=l,n[19]=h,n[20]=e,n[21]=r,n[22]=g}else g=n[22];let _=g,v;n[23]===_?v=n[24]:(v=_.reduce(Jr,0),n[23]=_,n[24]=v);let y=v,b;n[25]!==_||n[26]!==r?(b=_.filter(e=>(r[e.id]??0)>0),n[25]=_,n[26]=r,n[27]=b):b=n[27];let x=b.length,S;return n[28]!==_||n[29]!==y||n[30]!==x?(S={sessions:_,totalRunning:y,totalUnread:x,totalCount:_.length},n[28]=_,n[29]=y,n[30]=x,n[31]=S):S=n[31],S}function Jr(e,t){return e+(t._statusType===`idle`?0:1)+(t._runningChildrenCount??0)}function Yr(e,t){return le(t)-le(e)}function Xr(e){return e.id}function Zr(e){return{session:e,isRunning:!0}}function Qr(e){return e.id}function $r(e){return e.index.session.unseenCount}function ei(){let e=(0,yn.c)(7),{t}=ee(),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=H(ti),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 ti(e){return e.index.session.unseenCount}function ni(e,t,n){let r=(0,yn.c)(6),i=J(ai),a=J(ii),o=H(ri),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=Vr(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=Vr(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 ri(e){return e.index.session.unseenCount}function ii(e){return e.getSessionsByDirectory}function ai(e){return e.availableWorktreesByProject}function oi(){let e=(0,yn.c)(2),t=J(si),n;return e[0]===t?n=e[1]:(n=e=>{let n=Vr(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=Vr(t);e&&r.push(e)}}return r},e[0]=t,e[1]=n),n}function si(e){return e.availableWorktreesByProject}function ci(e){let t=(0,yn.c)(2),{isRunning:n,showUnread:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(fr,{}),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 li(e){let t=(0,yn.c)(3),{count:n}=e;if(n===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(fr,{}),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 ui(e){let t=(0,yn.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 di=()=>{if(typeof window>`u`)return;let e=window.getSelection();e?.rangeCount&&e.removeAllRanges()},fi={touchAction:`manipulation`,userSelect:`none`,WebkitUserSelect:`none`,WebkitTouchCallout:`none`};function pi(e){let t=(0,yn.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:_}=ee(),[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=Or({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=>{Gr(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:fi}),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 te=n._statusType!==`idle`,V=x&&!r,H;t[34]!==te||t[35]!==V?(H=(0,$.jsx)(`span`,{className:`flex h-4 w-4 flex-shrink-0 items-center justify-center`,children:(0,$.jsx)(ci,{isRunning:te,showUnread:V})}),t[34]=te,t[35]=V,t[36]=H):H=t[36];let U=r?`font-semibold text-[var(--surface-foreground)]`:`text-[var(--surface-foreground)]`,ne;t[37]===U?ne=t[38]:(ne=Y(`truncate text-[15px] leading-tight`,U),t[37]=U,t[38]=ne);let W;t[39]!==o||t[40]!==n?(W=o(n),t[39]=o,t[40]=n,t[41]=W):W=t[41];let re;t[42]!==ne||t[43]!==W?(re=(0,$.jsx)(`span`,{className:ne,children:W}),t[42]=ne,t[43]=W,t[44]=re):re=t[44];let G;t[45]===a?G=t[46]:(G=a?(0,$.jsx)(`span`,{className:`truncate text-[12px] leading-none text-[var(--surface-mutedForeground)]`,children:a}):null,t[45]=a,t[46]=G);let ie;t[47]!==re||t[48]!==G?(ie=(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[re,G]}),t[47]=re,t[48]=G,t[49]=ie):ie=t[49];let ae;t[50]===n._runningChildrenCount?ae=t[51]:(ae=(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)(fr,{size:12}),n._runningChildrenCount]}),t[50]=n._runningChildrenCount,t[51]=ae);let K;t[52]===r?K=t[53]:(K=r&&(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 flex-shrink-0 text-[var(--primary-base)]`}),t[52]=r,t[53]=K);let oe;t[54]!==B||t[55]!==H||t[56]!==ie||t[57]!==ae||t[58]!==K||t[59]!==k?(oe=(0,$.jsxs)(hn,{onTouchStart:Wr,onContextMenu:k,render:B,children:[H,ie,ae,K]}),t[54]=B,t[55]=H,t[56]=ie,t[57]=ae,t[58]=K,t[59]=k,t[60]=oe):oe=t[60];let se;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)(mn,{}):null,(0,$.jsxs)(_n,{className:`min-h-10 px-3`,onClick:e.onClick,children:[(0,$.jsx)(X,{name:e.icon,className:`size-4`}),jr(e,_)]})]},e.id),t[64]=_,t[65]=e),se=O.map(e),t[61]=O,t[62]=_,t[63]=se}else se=t[63];let ce;t[66]===se?ce=t[67]:(ce=(0,$.jsx)(gn,{className:`min-w-[200px] p-1.5`,children:se}),t[66]=se,t[67]=ce);let le;return t[68]!==v||t[69]!==oe||t[70]!==ce?(le=(0,$.jsxs)(pn,{open:v,onOpenChange:y,children:[oe,ce]}),t[68]=v,t[69]=oe,t[70]=ce,t[71]=le):le=t[71],le}function mi(e){let t=(0,yn.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?$e[i]:null,p;t[0]!==c||t[1]!==l||t[2]!==f?(p=f?(0,$.jsx)(X,{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)(fr,{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)(Je,{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 hi=({onSessionSwitch:e})=>{let{t}=ee(),{git:n}=Ft(),{currentTheme:r}=ht(),i=s(e=>e.isMobile),a=Mr(),o=J(e=>e.currentSessionId),c=te(),l=J(e=>e.setCurrentSession),u=J(e=>e.openNewSessionDraft),d=Q.useCallback(e=>{if(!E()){ye.getState().openDraft(e);return}u(e)},[u]),f=J(e=>e.archiveSession),p=J(e=>e.shareSession),m=J(e=>e.unshareSession),h=J(e=>e.updateSessionTitle),g=J(e=>e.requestSessionSmartTitle),_=s(e=>e.mobileSessionPanelOpen),v=s(e=>e.setMobileSessionPanelOpen),y=Ke({onDismiss:()=>v(!1)}),b=Se(e=>e.projects),x=Se(e=>e.activeProjectId),S=Se(e=>e.setActiveProjectIdOnly),C=Se(e=>e.removeProject),w=me(),T=de(),D=J(e=>e.availableWorktreesByProject),O=ze(e=>e.orderByProject),k=ve(e=>e.activePaginationByDirectory),A=dr(e=>e.expandedWorktreeGroups),j=dr(e=>e.setWorktreeGroupExpanded),{sessions:N,totalRunning:F,totalUnread:I}=qr(a,c),{getSessionTitle:L,needsAttention:R}=ei(),z=ni(a,c,o),B=oi(),[V,H]=Q.useState(new Map),U=Yn(),[ne,W]=Q.useState(new Map),[re,G]=Q.useState(!1),[ie,ae]=Q.useState(null),[K,oe]=Q.useState(null),[se,ce]=Q.useState(null),[le,fe]=Q.useState(null),[he,ge]=Q.useState(``),[be,xe]=Q.useState(null),[Ce,we]=Q.useState(null),[Te,Ee]=Q.useState(null),De=Q.useRef(null);De.current||=Qt({onPressedKeyChange:ce});let Oe=Q.useRef(null),[ke,Ae]=Q.useState(!1),je=s(e=>e.mobileSessionFilterProjectId),Me=s(e=>e.setMobileSessionFilterProjectId),Pe=Q.useMemo(()=>N.some(e=>w.has(e.id)),[w,N]);Q.useEffect(()=>{!Pe&&je===Ir&&Me(null)},[je,Pe,Me]);let Fe=Q.useRef(!1);Q.useEffect(()=>{let e=Fe.current;if(Fe.current=_,!_||e)return;let t=Rr({activeProjectId:x,currentFilterProjectId:je,projects:b});t!==je&&Me(t)},[_,x,je,b,Me]),Q.useEffect(()=>{_||(oe(null),Ee(null),De.current?.reset())},[_]),Q.useEffect(()=>()=>{De.current?.reset()},[]),Q.useEffect(()=>{if(!K)return;di();let e=window.requestAnimationFrame(di);return document.addEventListener(`selectionchange`,di),()=>{window.cancelAnimationFrame(e),document.removeEventListener(`selectionchange`,di),di()}},[K]);let Ie=Q.useMemo(()=>je&&je!==Ir?b.find(e=>e.id===je)??null:null,[je,b]),Le=Q.useMemo(()=>Ie??b.find(e=>e.id===x)??null,[x,b,Ie]);Q.useEffect(()=>{let e=Vr(Le?.path??``);if(!_||!e){Ae(!1);return}let t=Oe.current;if(t?.git===n&&t.path===e){Ae(t.isGitRepository);return}let r=!1;return Ae(!1),n.checkIsGitRepository(e).then(t=>{r||(Oe.current={git:n,path:e,isGitRepository:t},Ae(t))}).catch(()=>{r||(Oe.current={git:n,path:e,isGitRepository:!1},Ae(!1))}),()=>{r=!0}},[n,_,Le]),Q.useEffect(()=>{if(!_||b.length===0)return;let e=!1;return Promise.all(b.map(async e=>({projectId:e.id,branch:await it(e.path).catch(()=>null)}))).then(t=>{e||W(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}},[_,b]);let He=Q.useMemo(()=>{if(je&&je!==Ir){let e=b.find(e=>e.id===je);return e?B(e):[]}return b.flatMap(B)},[je,b,B]);Q.useEffect(()=>{_&&pe(He)},[_,He]),Q.useEffect(()=>{if(!_||b.length===0)return;let e=!1;return(async()=>{let t=await Promise.all(b.map(async t=>{let r=Vr(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 Ye({id:t.id,path:r},{isCurrent:()=>!e})).worktrees}}catch{return{path:r,status:`failed`}}}));if(e)return;let r=new Set(b.map(e=>Vr(e.path)).filter(Boolean)),i=t.flatMap(e=>e?[e]:[]);J.setState(e=>{let t=Er(e.availableWorktreesByProject,r,i);return t===e.availableWorktreesByProject?{}:{availableWorktreesByProject:t,availableWorktrees:Array.from(t.values()).flat()}})})(),()=>{e=!0}},[n,_,b]);let Ue=Q.useCallback(e=>Ne(e.path)||e.path,[]),Ge=Q.useMemo(()=>{if(!je)return N;if(je===Ir)return N.filter(e=>w.has(e.id));let e=b.find(e=>e.id===je);if(!e)return N;let t=B(e);return N.filter(e=>{let n=Hr(e);return t.some(e=>Vr(e)===n)})},[N,je,w,b,B]),Je=Q.useMemo(()=>{if(!Ie)return[];let e=Vr(Ie.path),t=Re(O[Ie.id],D.get(e)??[]),n=[{key:`${Ie.id}::${e}`,directory:e,label:Ue(Ie),worktree:null,sessions:[]}];for(let r of t){let t=Vr(r.path);!t||t===e||n.some(e=>e.directory===t)||n.push({key:`${Ie.id}::${t}`,directory:t,label:r.branch||r.label||Ne(t),worktree:r,sessions:[]})}let r=new Map(n.map(e=>[e.directory,e]));for(let e of Ge)r.get(Hr(e))?.sessions.push(e);return n},[D,Ge,Ue,Ie,O]),Xe=Q.useCallback(e=>{let t=Hr(e);for(let e of b){let n=Vr(e.path),r=Ue(e);if(t===n){let t=ne.get(e.id);return t?`${r} · ${t}`:r}let i=(D.get(n)??[]).find(e=>Vr(e.path)===t);if(i)return i.branch?`${r} · ${i.branch}`:r}return Ne(t)||t||void 0},[D,Ue,b,ne]),Ze=Q.useCallback(()=>{oe(null),De.current?.reset(),v(!1)},[v]),Qe=()=>{oe(null),De.current?.reset()},$e=e=>({pressed:se===e.key||K?.key===e.key,onPointerDown:t=>{t.pointerType!==`touch`&&t.pointerType!==`pen`||t.button!==0||De.current?.start({pointerId:t.pointerId,key:e.key,clientX:t.clientX,clientY:t.clientY,onTrigger:()=>{di(),oe(e)}})},onPointerMove:e=>{De.current?.move(e.pointerId,e.clientX,e.clientY)},onPointerUp:e=>{De.current?.end(e.pointerId)},onPointerCancel:e=>{De.current?.cancel(e.pointerId)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),di(),De.current?.openFromContextMenu(e.key,()=>oe(e))}}),et=(e,t)=>{De.current?.consumeClick(e)||t()},tt=Q.useCallback(t=>{at(),Ze();let n=Hr(t)||null,r=Lr(je);E()?l(t.id,n,{preserveActiveProject:r}):ye.getState().openSession({sessionId:t.id,directory:n,preserveActiveProject:r}),e?.(t.id)},[Ze,je,e,l]),rt=Q.useCallback(async e=>{try{if(!(await p(e.id))?.share?.url){q.error(t(`sessions.sidebar.session.share.error`));return}q.success(t(`sessions.sidebar.session.share.successTitle`),{description:t(`sessions.sidebar.session.share.successDescription`)})}catch{q.error(t(`sessions.sidebar.session.share.error`))}},[p,t]),ot=Q.useCallback(async e=>{if((await P(e)).ok){q.success(t(`sessions.sidebar.session.menu.copied`));return}q.error(t(`sessions.sidebar.session.share.copyUrlError`))},[t]),st=Q.useCallback(async e=>{try{if(!await m(e)){q.error(t(`sessions.sidebar.session.unshare.error`));return}q.success(t(`sessions.sidebar.session.unshare.success`))}catch{q.error(t(`sessions.sidebar.session.unshare.error`))}},[t,m]),ct=Q.useCallback(async e=>{if(!await f(e)){q.error(t(`sessions.sidebar.session.archive.error`));return}gr({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`)})},[f,t]),lt=M(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}),ut=M(e=>{let n=lt(e.id);_r({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`)})}),ft=Q.useCallback(e=>{ge(L(e)),fe(e)},[L]),pt=Q.useCallback(async()=>{if(!le)return;let e=he.trim();if(e)try{await h(le.id,e),fe(null),ge(``)}catch{q.error(t(`sessions.sidebar.session.menu.rename`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[he,le,t,h]),mt=Q.useCallback(async()=>{if(!le)return;let e=le.id;fe(null),ge(``);try{await g(e)}catch{q.error(t(`sessions.sidebar.session.rename.smartTitle`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[le,g,t]),gt=Q.useCallback(()=>{if(Ze(),je){let e=b.find(e=>e.id===je);if(e){d({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?Hr(e):``;d(t?{directoryOverride:t}:void 0)},[Ze,je,b,a,d]),_t=Q.useCallback(()=>{!Le||!ke||(Ze(),S(Le.id),ae(Le.id),G(!0))},[Ze,S,ke,Le]),vt=(e,t)=>{Qe(),v(!1),d({selectedProjectId:e.id,directoryOverride:t,preserveDirectoryOverride:!0})},yt=e=>{Qe(),(async()=>{try{await Ye({id:e.project.id,path:e.project.path})}catch(e){console.warn(`[MobileStatus] Worktree refresh before session sync failed:`,e)}let t=J.getState().availableWorktreesByProject.get(e.project.path)??e.worktrees;await ue([e.project.path,...t.map(e=>e.path)],a)})()},bt=M(e=>{j(e,!A[e]),H(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})}),xt=Q.useCallback(e=>{let t=(V.get(e.key)??zr)+Br;if(H(t=>{let n=new Map(t);return n.set(e.key,(t.get(e.key)??zr)+Br),n}),t<e.sessions.length)return;let n=ve.getState().activePaginationByDirectory.get(e.directory);n?.hasMore&&!n.loadingMore&&_e(e.directory)},[V]),St=Q.useCallback(e=>{H(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),Ct=e=>{let n=e.worktree===null,r=n||A[e.key]===!0,i=V.get(e.key)??zr,a=sr(e.sessions,i,U),s=k.get(e.directory),c=a.length<e.sessions.length||s?.hasMore===!0,l=e.sessions.length>zr&&i>zr,u=n&&Ie?ne.get(Ie.id):null,d=e.label,f=n?`project:${Ie?.id??e.key}`:`worktree:${Ie?.id??e.key}:${e.directory}`,p=Ie?$e(n?{key:f,kind:`project`,project:Ie,worktrees:Je.flatMap(e=>e.worktree?[e.worktree]:[]),isGitRepository:ke}:{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:fi,children:[(0,$.jsx)(X,{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)(X,{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:Ur(e.sessions)})]}):(0,$.jsxs)(`button`,{type:`button`,"data-mobile-long-press-trigger":f,onClick:()=>et(f,()=>bt(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:fi,children:[(0,$.jsx)(X,{name:`arrow-down-s`,className:Y(`size-4 shrink-0 text-[var(--surface-mutedForeground)] transition-transform`,r?`rotate-0`:`-rotate-90`)}),(0,$.jsx)(X,{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:Ur(e.sessions)})]}),r?(0,$.jsxs)(`div`,{className:`pb-1`,children:[a.map(e=>(0,$.jsx)(pi,{session:e,isCurrent:e.id===o,isPinned:w.has(e.id),getSessionTitle:L,onClick:()=>et(`session:${e.id}`,()=>tt(e)),onRename:()=>ft(e),onTogglePinned:()=>T(e.id),onShare:()=>{rt(e)},onCopyShareUrl:e=>{ot(e)},onUnshare:()=>{st(e.id)},onArchive:()=>{ct(e.id)},onDelete:()=>ut(e),needsAttention:R,longPressHandlers:$e({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)(Z,{variant:`ghost`,size:`xs`,disabled:s?.loadingMore===!0,onClick:()=>xt(e),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showMore`)}):null,l?(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>St(e.key),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showFewer`)}):null]}):null]}):null]},e.key)},wt=Q.useCallback(()=>(0,$.jsxs)(`div`,{className:`shrink-0`,children:[(0,$.jsx)(qe,{controller:y,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)(li,{count:F}),(0,$.jsx)(ui,{count:I}),(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,onClick:gt,"aria-label":t(`mobile.sessions.newChat`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(X,{name:`add`,className:`h-5 w-5`})}),ke&&Le?(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,onClick:_t,"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)(X,{name:`node-tree`,className:`size-4`})}):null,(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,onClick:Ze,"aria-label":t(`mobile.surface.closeAria`),className:`text-[var(--surface-mutedForeground)]`,style:{touchAction:`manipulation`},children:(0,$.jsx)(X,{name:`close`,className:`h-5 w-5`})})]})]}),(b.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)(mi,{label:t(`chat.modelControls.modeValue.all`),isActive:je===null,onClick:()=>Me(null)}),Pe?(0,$.jsx)(mi,{label:t(`sessions.sidebar.session.actions.pinned`),leadingIcon:(0,$.jsx)(X,{name:`pushpin-2-fill`,className:`size-3.5`}),isActive:je===Ir,onClick:()=>Me(Ir)}):null,b.map(e=>(0,$.jsx)(mi,{label:Ue(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?nt[e.color]??null:null,isActive:je===e.id,status:z(e.path),onClick:()=>Me(e.id)},e.id))]})]}),[t,F,I,b,Pe,je,Me,Ue,r,z,gt,_t,Ze,ke,Le,y]),Tt=K?.kind===`project`?Ue(K.project):K?.kind===`worktree`?K.worktree.branch||K.worktree.label||Ne(K.worktree.path):K?.kind===`session`?L(K.session):``,Et=Q.useMemo(()=>{if(!be)return null;let e=b.find(e=>e.id===be);if(!e)return null;let t=Vr(e.path),n=Re(O[e.id],D.get(t)??[]),r=K?.kind===`project`&&K.project.id===e.id?K.isGitRepository:n.length>0||!!ne.get(e.id);return{id:e.id,label:Ue(e),path:t||e.path,icon:e.icon,color:e.color,iconImage:e.iconImage,iconBackground:e.iconBackground,isGitRepo:r,worktrees:n}},[K,D,be,Ue,b,ne,O]),Dt=Q.useMemo(()=>{if(!K)return[];if(K.kind===`project`){let e=K.project;return kr({gitRepository:K.isGitRepository,onNewSession:()=>vt(e,e.path),onNewWorktree:()=>{let t=e.id;Qe(),Ze(),S(t),ae(t),G(!0)},onSyncSessions:()=>yt(K),onEditProject:()=>{Qe(),xe(e.id)},onCloseProject:()=>{Qe(),we(e)}})}if(K.kind===`worktree`){let{project:e,worktree:t}=K;return Ar({onNewSession:()=>vt(e,t.path),onDeleteWorktree:()=>{Qe(),Ee({project:e,worktree:t})}})}let e=K.session,t=!!e.share?.url;return Or({pinned:w.has(e.id),shared:t,onRename:()=>{Qe(),ft(e)},onTogglePin:()=>{Qe(),T(e.id)},onShare:t?void 0:()=>{Qe(),rt(e)},onCopyLink:t?()=>{let t=e.share?.url;Qe(),t&&ot(t)}:void 0,onUnshare:t?()=>{Qe(),st(e.id)}:void 0,onArchive:()=>{Qe(),ct(e.id)},onDelete:()=>{Qe(),ut(e)}})},[K,ft,Qe,Ze,ct,ot,ut,rt,st,w,S,vt,yt,T]),Ot=Dt.length>0?(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,"data-mobile-session-action-sheet":K?.kind??`none`,children:Dt.map(e=>{let n=(0,$.jsx)(Kr,{icon:e.icon,label:jr(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)(We,{id:Ve,open:_,onOpenChange:v,keepMounted:!0,presentation:`sheet`,edge:`bottom`,dismissGesture:{reservedTargetSelector:`[data-mobile-sheet-snap-handle]`},ariaLabel:t(`mobile.sessions.sheet.title`),surfaceClassName:y.snapPoint===.98?`h-[98dvh] max-h-[98dvh]`:`h-[72dvh] max-h-[98dvh]`,surfaceElementRef:y.surfaceRef,onExitComplete:y.reset,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[wt(),(0,$.jsx)(Be,{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:[Je.map(Ct),Je.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]}):Ge.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`)})}):Ge.map(e=>(0,$.jsx)(pi,{session:e,isCurrent:e.id===o,isPinned:w.has(e.id),contextLabel:Xe(e),getSessionTitle:L,onClick:()=>et(`session:${e.id}`,()=>tt(e)),onRename:()=>ft(e),onTogglePinned:()=>T(e.id),onShare:()=>{rt(e)},onCopyShareUrl:e=>{ot(e)},onUnshare:()=>{st(e.id)},onArchive:()=>{ct(e.id)},onDelete:()=>ut(e),needsAttention:R,longPressHandlers:$e({key:`session:${e.id}`,kind:`session`,session:e})},e.id))})})]})}),(0,$.jsx)(At,{open:!!K,title:Tt,onClose:Qe,className:`select-none`,contentMaxHeightClassName:`max-h-[min(68dvh,560px)]`,children:Ot}),(0,$.jsx)(At,{open:!!le,title:t(`sessions.sidebar.session.menu.rename`),onClose:()=>{fe(null),ge(``)},footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Z,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>{fe(null),ge(``)},children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{type:`button`,variant:`default`,className:`flex-1`,disabled:!he.trim(),onClick:()=>void pt(),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(),pt()},children:[(0,$.jsx)(dt,{value:he,onChange:e=>ge(e.target.value),autoFocus:!0,className:`h-12`}),(0,$.jsxs)(Z,{type:`button`,variant:`outline`,className:`w-full gap-2`,onClick:()=>void mt(),children:[(0,$.jsx)(X,{name:`ai-generate-2`,className:`size-4`}),t(`sessions.sidebar.session.rename.smartTitle`)]})]})}),(0,$.jsx)(At,{open:!!Ce,title:t(`sessions.sidebar.project.actions.closeProject`),onClose:()=>we(null),closeAriaLabel:t(`mobile.surface.closeAria`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Z,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>we(null),children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{type:`button`,variant:`destructive`,className:`flex-1`,onClick:()=>{if(!Ce)return;let e=Ce;we(null),C(e.id),q.success(t(`mobile.sessions.toast.projectRemoved`,{label:Ue(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:Ce?Ue(Ce):``})})}),(0,$.jsx)(Pt,{open:re,projectId:ie,onOpenChange:e=>{G(e),e||ae(null)},onWorktreeCreated:(e,t)=>{G(!1),v(!1),t?.sessionId?E()?l(t.sessionId,e):ye.getState().openSession({sessionId:t.sessionId,directory:e}):ie&&d({selectedProjectId:ie,directoryOverride:e,preserveDirectoryOverride:!0})}}),Te?(0,$.jsx)(br,{open:!0,project:{id:Te.project.id,path:Te.project.path},worktree:Te.worktree,onClose:()=>Ee(null),onDeleted:()=>{let e=Vr(Te.project.path),t=Vr(Te.worktree.path);J.setState(n=>{let r=new Map(n.availableWorktreesByProject);return r.set(e,(r.get(e)??[]).filter(e=>Vr(e.path)!==t)),{availableWorktreesByProject:r,availableWorktrees:Array.from(r.values()).flat()}}),Ee(null)}}):null,(0,$.jsx)(Cr,{open:be!==null,project:Et,onClose:()=>xe(null)})]}):null},gi=`schedule`,_i=[`git`,`diff`,`terminal`,`files`,`diagram`],vi=[`tasks`,`history`],yi=`/session/new`,bi=new Set(_i),xi=new Set(vi),Si=new Set([`staged`,`working`,`turn`]);function Ci(e){return!e||e===`chat`?`chat`:e===`scheduled`||e===`schedule`?gi:e===`assistant`?`assistant`:bi.has(e)?e:`chat`}function wi(e){return fn(e)}function Ti(e){return e&&xi.has(e)?e:null}function Ei(e){return e&&Si.has(e)?e:null}function Di(){return yi}function Oi(e,t){let n=wi(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 ki(e,t){return t&&t.trim().length>0?`${e}/agent/${encodeURIComponent(t.trim())}`:e}function Ai(e={}){let t=Ti(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`,ki(i,e.focusSessionId)}function ji(e={}){let t=`/assistant`;return e.assistantId&&e.assistantId.trim().length>0&&(t=`/assistant/${encodeURIComponent(e.assistantId.trim())}`),ki(t,e.focusSessionId)}function Mi(e){let t=encodeURIComponent(e.sessionId),n=Ci(e.tab);if(n===`schedule`)return Ai({});if(n===`assistant`)return ji({});let r;r=n===`chat`?`/session/${t}`:`/session/${t}/${n}`;let i=new URLSearchParams;e.file&&i.set(`file`,e.file);let a=Ei(e.scope);a&&i.set(`scope`,a);let o=i.toString();return o?`${r}?${o}`:r}function Ni(e){let t=Ci(e.tab);return t===`schedule`?Ai({scheduleView:e.scheduleView??e.scheduledView,scheduleProjectId:e.scheduleProjectId??e.scheduledProjectId,scheduleTaskId:e.scheduleTaskId??e.scheduledTaskId,focusSessionId:e.focusSessionId}):t===`assistant`?ji({assistantId:e.assistantId,focusSessionId:e.focusSessionId}):e.sessionId&&e.sessionId.trim().length>0?Mi({sessionId:e.sessionId.trim(),tab:t,file:e.file,scope:e.scope}):`/`}function Pi(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e);return{file:t.get(`file`),scope:Ei(t.get(`scope`))}}function Fi(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 Ii(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 Li(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:wi(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}=Fi(o),l=s[0];if(l===`schedule`||l===`scheduled`)return Ii(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}=Pi(n),i=s[2];if(i===`schedule`||i===`scheduled`)return Ii(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=Ci(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 Ri(e){return typeof window>`u`?Bi():zi(e===void 0?`${window.location.pathname}${window.location.search}`:`${window.location.pathname}?${e.toString()}`)}function zi(e){let t=Li(e);switch(t.kind){case`new`:return{...Bi(),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:gi,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 Bi()}}function Bi(){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 Vi(){if(typeof window>`u`)return!1;try{let e=Li(`${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 Hi(e){if(e.isSettingsOpen)return Oi({slug:e.settingsPath.trim().length>0?e.settingsPath:`home`,entityId:e.settingsEntityId??null});if(e.tab===`schedule`)return Ni({tab:gi,scheduleView:e.scheduleView,scheduleProjectId:e.scheduleProjectId,scheduleTaskId:e.scheduleTaskId,focusSessionId:e.focusSessionId});if(e.tab===`assistant`)return Ni({tab:`assistant`,assistantId:e.assistantId,focusSessionId:e.focusSessionId});if((e.isNewSession||!e.sessionId&&e.tab===`chat`)&&e.isNewSession)return Di();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 Ni({sessionId:e.sessionId.trim(),tab:e.tab,file:t,scope:e.tab===`diff`?e.diffScope??null:null})}return e.isNewSession?Di():`/`}function Ui(e){if(typeof window>`u`)return!0;try{let t=`${window.location.pathname}${window.location.search}`,n=Hi(e);return JSON.stringify(Li(t))===JSON.stringify(Li(n))}catch{return!0}}function Wi(e,t={}){if(!(typeof window>`u`)&&!(Gi()||Mt())&&!(!t.force&&Ui(e)))try{let n=Hi(e);t.replace?window.history.replaceState({...window.history.state,route:e},``,n):window.history.pushState({route:e},``,n)}catch{}}function Gi(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}function Ki(e){if(!e||e.trim().length===0)return null;let t=ve.getState(),n=t.activeSessions.find(t=>t.id===e)??t.archivedSessions.find(t=>t.id===e)??null;if(!n)return null;let r=xe(n);return r?{sessionId:e,directory:r,session:n,fromCache:!t.hasLoaded,source:`memory`}:null}function qi(e){return Ki(e)?.directory??null}var Ji=new Map;async function Yi(e,t){let n=e.trim();if(!n)return null;let r=Ki(n);if(r)return r;let i=Ji.get(n);if(i)return i;let a=(async()=>{let e=Ki(n);if(e)return e;let r=await R(n,{signal:t?.signal});if(r?.directory)return{sessionId:r.id,directory:r.directory,session:null,fromCache:!1,source:`session-index`};if(t?.trySessionGet===!1)return null;try{let e=await T.getSession(n),t=typeof e.directory==`string`&&e.directory.trim()||(typeof e.project?.worktree==`string`?e.project.worktree.trim():``)||null;return t?{sessionId:n,directory:t,session:e,fromCache:!1,source:`session-get`}:null}catch{return null}})().finally(()=>{Ji.get(n)===a&&Ji.delete(n)});return Ji.set(n,a),a}var Xi=3e4;function Zi(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}function Qi(){let e=Q.useMemo(()=>Zi(),[]),n=Q.useMemo(()=>Mt(),[]),i=Q.useRef(!1),a=Q.useRef(!1),o=Q.useRef(new Set),[c,l]=Q.useState(()=>Ri()),u=J(e=>e.setCurrentSession),d=J(e=>e.currentSessionId),f=J(e=>e.currentSessionDirectory),p=s(e=>e.setActiveMainTab),m=s(e=>e.setSettingsDialogOpen),h=s(e=>e.setSettingsPage),g=s(e=>e.navigateToDiff),_=ve(e=>e.hasLoaded),v=ve(e=>e.activeSessions),y=ve(e=>e.archivedSessions),b=Q.useCallback(t=>{if(!e&&Ri().sessionId===t){o.current.has(t)||(o.current.add(t),Ce(t,`missing-directory`)),a.current=!0;try{m(!1),p(`chat`),Wi({sessionId:t,tab:`chat`,isSettingsOpen:!1,settingsPath:`home`,diffFile:null},{replace:!0,force:!0}),l(Ri())}finally{a.current=!1}}},[e,p,l,m]),x=Q.useCallback(async e=>{if(!a.current){a.current=!0;try{if(e.settingsPath){h(fn(e.settingsPath)),m(!0);return}if(s.getState().isSettingsDialogOpen&&m(!1),e.tab===`schedule`||e.tab===`assistant`){p(e.tab),e.tab===`assistant`&&e.assistantId&&Te.getState().selectAssistant(e.assistantId);return}if(e.isNewSession){p(`chat`),J.getState().newSessionDraft.open||J.getState().openNewSessionDraft();return}if(e.sessionId){let t=e.sessionId,n=qi(t);if(!n){a.current=!1;let e=await Yi(t);a.current=!0,n=e?.directory??null}let r=J.getState();n&&(t!==r.currentSessionId||n!==r.currentSessionDirectory)&&u(t,n)}e.tab?p(e.tab):e.sessionId&&p(`chat`),e.diffFile&&(e.tab===`diff`||!e.tab)&&g(e.diffFile)}finally{a.current=!1}}},[u,p,m,h,g]),S=Q.useCallback(()=>{let e=J.getState(),t=s.getState(),n=Ri(),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`?Ee()??n.assistantId:null,focusSessionId:a?n.focusSessionId:null}},[]),C=Q.useCallback((t={})=>{e||n||a.current||(Wi(S(),t),l(Ri()))},[e,n,S]);Q.useEffect(()=>{if(i.current||(i.current=!0,!Vi()))return;let t=Ri();(async()=>{await x(t),!e&&!n&&Wi({...S(),isNewSession:t.isNewSession||S().isNewSession,sessionId:t.isNewSession?null:t.sessionId??J.getState().currentSessionId??S().sessionId,tab:t.tab??s.getState().activeMainTab,settingsPath:t.settingsPath??s.getState().settingsPage,diffFile:t.isNewSession?null:t.diffFile??s.getState().pendingDiffFile},{replace:!0,force:!0})})()},[x,S,e,n]),Q.useEffect(()=>{if(!c.sessionId||c.isNewSession)return;let e=!1,t=c.sessionId;if(Ri().sessionId!==t||d===t&&f||o.current.has(t))return;let n=qi(t);if(n){o.current.delete(t),u(t,n);return}return(async()=>{let n=await Yi(t);if(!e&&Ri().sessionId===t){if(n?.directory){o.current.delete(t);let e=J.getState();(e.currentSessionId!==t||e.currentSessionDirectory!==n.directory)&&u(t,n.directory);return}ve.getState().hasLoaded&&b(t)}})(),()=>{e=!0}},[v,y,f,d,b,_,c.isNewSession,c.sessionId,u]),Q.useEffect(()=>{let t=d===c.sessionId&&!!f;if(!c.sessionId||c.isNewSession||e||t)return;let n=c.sessionId,r=setTimeout(()=>{let e=J.getState(),t=e.currentSessionId===n&&!!e.currentSessionDirectory;Ri().sessionId===n&&!t&&b(n)},Xi);return()=>clearTimeout(r)},[f,d,b,e,c.sessionId]),Q.useEffect(()=>{if(e||n)return;let t=J.getState().currentSessionId,r=!!J.getState().newSessionDraft?.open;return J.subscribe(e=>{let n=e.currentSessionId,i=!!e.newSessionDraft?.open;n===t&&i===r||a.current||(t=n,r=i,C(),l(Ri()))})},[e,n,C]),Q.useEffect(()=>{if(e||n)return;let t=s.getState().activeMainTab,r=s.getState().isSettingsDialogOpen,i=s.getState().settingsPage,o=s.getState().pendingDiffFile;return s.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)&&C()})},[e,n,C]),Q.useEffect(()=>{if(e||n)return;let t=Ee();return Te.subscribe(()=>{if(a.current)return;if(s.getState().activeMainTab!==`assistant`){t=Ee();return}let e=Ee();e!==t&&(t=e,C())})},[e,n,C]),Q.useEffect(()=>{if(typeof window>`u`||e||n)return;let t=()=>{let e=Ri();if(l(e),Vi())x(e);else{let e=s.getState();e.isSettingsDialogOpen&&m(!1),e.activeMainTab!==`chat`&&p(`chat`)}};return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t)}},[x,e,n,p,m]),Q.useEffect(()=>{if(!(e||n))return t(e=>{r(e)&&(o.current.clear(),queueMicrotask(()=>{l(Ri())}))})},[e,n])}var $i=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,ea=(e,t)=>{let n=new Set;for(let r of e){if(!r.trim())continue;let e=$i(r);n.add(e);for(let[r,i]of t)if($i(r)===e)for(let e of i)e.path.trim()&&n.add($i(e.path))}return[...n]},ta=(e,t,n)=>{let r=ea(e,t),i=n?.currentDirectory?.trim()??``;if(!i)return{directories:r};let a=$i(i),o=null;for(let t of e){if(!t.trim())continue;let e=$i(t);(a===e||a.startsWith(`${e}/`))&&(!o||e.length>o.length)&&(o=e)}for(let[e,n]of t){let t=$i(e);for(let e of n){if(!e.path.trim())continue;let n=$i(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($i(e)===o)for(let e of n)e.path.trim()&&s.add($i(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}},na=async(e,t=ce,n)=>{try{await t(e,n)}catch(e){console.warn(`[SessionStartup] Initial session index sync failed:`,e)}finally{U()}},ra=async(e,t,n=ce,r=oe)=>{r().catch(e=>{console.warn(`[SessionStartup] Early session index hydrate failed:`,e)}),await e;let i=t();await na(i.directories,n,{priorityDirectories:i.priorityDirectories})},ia=()=>{let e=(0,yn.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=Le(i());ra(e,oa),Promise.resolve(e).then(la)},r=[],e[0]=n,e[1]=r):(n=e[0],r=e[1]),Q.useLayoutEffect(n,r),null};function aa(e){return e.path}function oa(){return ta(Se.getState().projects.map(aa),J.getState().availableWorktreesByProject,{currentDirectory:w.getState().currentDirectory})}function sa(e){return e.path}function ca(e){console.warn(`[SessionStartup] Batch git discovery failed (fallback to per-directory):`,e)}function la(){let e=Se.getState().projects.map(sa);e.length!==0&&Pe(e).catch(ca)}var ua=()=>{let e=(0,yn.c)(13),[t,n]=(0,Q.useState)(!1),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{n(l())},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 m(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 u(e):{success:!0},e[4]=t,e[5]=s);let c=s,d;e[6]===t?d=e[7]:(d=async e=>t?await _(e):{success:!0},e[6]=t,e[7]=d);let f=d,p;return e[8]!==t||e[9]!==o||e[10]!==c||e[11]!==f?(p={isDesktop:t,requestAccess:o,startAccessing:c,stopAccessing:f},e[8]=t,e[9]=o,e[10]=c,e[11]=f,e[12]=p):p=e[12],p},da=e=>e.trim().replace(/\s+/g,`-`).replace(/[^A-Za-z0-9._/-]/g,`-`).replace(/-+/g,`-`).replace(/\/{2,}/g,`/`).replace(/\/-+/g,`/`).replace(/-+\//g,`/`).replace(/^[-/]+/,``).replace(/[-/]+$/,``),fa=({currentBranch:e,onRename:t,showEditButton:n=!0,iconOnly:r=!1})=>{let{t:i}=ee(),[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=da(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)(X,{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)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{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)(X,{name:`close`,className:`size-3.5`})})]})});let g=e||i(`gitView.branch.detachedHead`);return r?(0,$.jsxs)(mt,{children:[(0,$.jsx)(ft,{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)(X,{name:`git-branch`,className:`size-3.5`})})}),(0,$.jsx)(pt,{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)(X,{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)(Z,{variant:`ghost`,size:`xs`,className:`size-6 p-0 shrink-0`,onClick:f,title:i(`gitView.branch.renameTitle`),children:(0,$.jsx)(X,{name:`edit`,className:`size-3.5`})})]})]})},pa=e=>{let t=(0,yn.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}=ee(),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)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{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)(ft,{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)(pt,{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)(mt,{delayDuration:T,children:[A,j]}),t[34]=A,t[35]=j,t[36]=T,t[37]=M):M=t[37],M},ma={branch:`git-branch`,briefcase:`briefcase`,house:`home`,graduation:`graduation-cap`,code:`code`,heart:`heart`,user:`user-3`},ha={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 ga(e){return e&&ha[e]||`var(--primary)`}var _a=e=>{let t=(0,yn.c)(36),{activeProfile:n,identities:r,onSelect:i,isApplying:a,iconOnly:o}=e,s=o!==void 0&&o,{t:c}=ee(),l=ma[n?.icon??`branch`]??`user-3`,u=n?.color,d;t[0]===u?d=t[1]:(d=ga(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)(X,{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)(X,{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)(ft,{asChild:!0,children:(0,$.jsx)(Tt,{asChild:!0,children:(0,$.jsxs)(Z,{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)(pt,{sideOffset:8,children:b}),t[19]=b,t[20]=x);let S;t[21]!==y||t[22]!==x?(S=(0,$.jsxs)(mt,{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)(Et,{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)(X,{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)(wt,{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)(xt,{children:[S,w]}),t[33]=S,t[34]=w,t[35]=T):T=t[35],T},va=(e,t)=>e??t,ya=e=>e===`/`,ba=e=>e.replace(/\\/g,`/`),xa=e=>{if(!e||ya(e))return e;let t=e;for(;t.length>1&&t.endsWith(`/`);)t=t.slice(0,-1);return t},Sa=e=>e.endsWith(`/`),Ca=e=>{let t=e.trim();return!t||Sa(t)?t:`${t}/`},wa=e=>e.lastIndexOf(`/`),Ta=e=>{if(Sa(e))return e;let t=wa(e);return t<0?e:e.slice(0,t+1)},Ea=e=>{let t=wa(e);return e.slice(t+1)},Da=e=>{let t=xa(e.trim());if(!t||t===`~`||t===`~/`||t===`/`)return null;let n=wa(t);return n<0?null:t.startsWith(`~/`)&&n<=1?`~/`:n===0?`/`:`${t.slice(0,n)}/`},Oa=e=>Sa(e)&&Da(e)!==null,ka=(e,t)=>`${Ta(e)}${t}/`,Aa=e=>{if(!e)return null;let t=xa(ba(e.trim()));return t?t.toLowerCase():null},ja=(e,t)=>{let n=e.trim();return n===`~`?t:n.startsWith(`~/`)?`${t}${n.slice(1)}`:n},Ma=e=>typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey,Na=e=>{if(!e)return;e.focus({preventScroll:!0});let t=e.value.length;e.setSelectionRange(t,t),e.scrollLeft=e.scrollWidth},Pa=async()=>{try{let e=await f(`/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 ba(t.home.trim())}}catch{}return T.getFilesystemHome().catch(()=>null)},Fa=({open:e,onOpenChange:t,forceMobile:n})=>{let{t:r}=ee(),i=w(e=>e.homeDirectory),a=Se(e=>e.projects),o=Se(e=>e.addProject),s=on(e=>e.profiles),c=on(e=>e.globalIdentity),l=on(e=>e.defaultGitIdentityId),u=on(e=>e.loadProfiles),d=on(e=>e.loadGlobalIdentity),f=on(e=>e.loadDefaultGitIdentityId),{isDesktop:p,requestAccess:m,startAccessing:h}=ua(),g=va(n,Dt().isMobile),_=Q.useRef(null),v=Q.useRef(new Map),[y,b]=Q.useState(``),[x,S]=Q.useState(`~/`),[C,E]=Q.useState([]),[D,O]=Q.useState(!1),[k,A]=Q.useState(!1),[j,N]=Q.useState(0),[P,F]=Q.useState(!1),[I,L]=Q.useState(!1),[R,z]=Q.useState(!1),[B,te]=Q.useState(``),[V,H]=Q.useState(null),[U,ne]=Q.useState(!1),W=y||i,re=Q.useMemo(()=>new Set(a.map(e=>Aa(e.path)).filter(e=>!!e)),[a]);Q.useEffect(()=>{if(!e)return;S(`~/`),E([]),N(0),F(!1),L(!1),z(!1),te(``),H(null),ne(!1),requestAnimationFrame(()=>Na(_.current));let t=!1;return(async()=>{let e=await Pa();t||(b(e||i||``),requestAnimationFrame(()=>Na(_.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||!R||V!==null)return;let t=typeof l==`string`?l.trim():``;if(t&&G.some(e=>e.id===t)){H(t);return}let n=G.find(e=>e.authType===`ssh`||e.sshKey);n&&H(n.id)},[G,l,R,e,V]);let ie=Q.useMemo(()=>G.find(e=>e.id===V)??null,[G,V]),ae=Q.useMemo(()=>Ta(x),[x]),K=Q.useMemo(()=>Sa(x)?``:Ea(x),[x]),oe=Q.useMemo(()=>W?ja(ae,W):``,[ae,W]);Q.useEffect(()=>{if(!e||!oe){E([]);return}let t=!1;return O(!0),A(!1),T.listLocalDirectory(oe).then(e=>{if(t)return;A(!1);let n=e.filter(e=>e.isDirectory).map(e=>({name:e.name,path:ba(e.path)})).sort((e,t)=>e.name.localeCompare(t.name));E(n)}).catch(()=>{t||(E([]),A(!0))}).finally(()=>{t||O(!1)}),()=>{t=!0}},[oe,e]);let se=Q.useMemo(()=>{let e=K.toLowerCase(),t=U||K.startsWith(`.`);return C.filter(n=>n.name.toLowerCase().startsWith(e)&&(t||!n.name.startsWith(`.`)))},[K,C,U]),ce=Q.useMemo(()=>{let e=[];Oa(x)&&e.push({type:`up`,value:`browse:up`,name:`..`,path:Da(x)});for(let t of se){let n=Aa(t.path);e.push({type:`directory`,value:`browse:${t.path}`,name:t.name,path:t.path,alreadyAdded:!!(n&&re.has(n))})}return e},[re,se,x]);Q.useEffect(()=>{N(0)},[x,ce.length]);let le=Q.useMemo(()=>W?xa(ja(x,W)):``,[W,x]),ue=Aa(le),de=!!(ue&&re.has(ue)),fe=Q.useMemo(()=>K?se.find(e=>e.name===K)??null:null,[K,se]),pe=!!(le&&!de&&(Sa(x)&&k||!Sa(x)&&K.trim().length>0&&fe===null)),me=!P&&!I&&!de&&!!le,he=me&&B.trim().length>0,ge=ce[j]??null,_e=!!ge,ve=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`,be=r(de?`directoryExplorerDialog.actions.alreadyAdded`:R?P?`directoryExplorerDialog.actions.cloning`:`directoryExplorerDialog.actions.cloneAndAdd`:P?`directoryExplorerDialog.actions.adding`:pe?`directoryExplorerDialog.actions.createAndAdd`:`directoryExplorerDialog.actions.addProject`);Q.useLayoutEffect(()=>{e&&Na(_.current)},[e]),Q.useLayoutEffect(()=>{let e=ce[j];e&&v.current.get(e.value)?.scrollIntoView({block:`nearest`})},[j,ce]);let xe=M(()=>{t(!1)}),Ce=M(e=>{let t=J.getState();t.newSessionDraft?.open&&t.setNewSessionDraftTarget({projectId:e.id,directoryOverride:e.path},{force:!0})}),we=M(e=>{let t={selectedProjectId:e.id,directoryOverride:e.path,preserveDirectoryOverride:!0};if(g){ye.getState().openDraft(t);return}J.getState().openNewSessionDraft(t)}),Te=M((e,t)=>{e.stopPropagation();let n=Aa(t);if(n&&re.has(n))return;let i=o(t);if(!i){q.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}Ce(i)}),Ee=M(async e=>{if(!e||P)return;let t=Aa(e);if(t&&re.has(t))return;let n=e;F(!0);try{let t=!R&&pe&&Aa(e)===Aa(le);if(R){let t=B.trim();if(!t){q.error(r(`directoryExplorerDialog.toast.cloneUrlRequired`));return}n=(await T.cloneRepository({remoteUrl:t,destinationPath:e,gitIdentityId:ie?.id??null})).path}else t&&await T.createDirectory(e);let i=o(n);if(!i){q.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}we(i),xe()}catch(e){q.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{F(!1)}}),Ne=M(e=>{S(Ca(e))}),Pe=M(e=>{S(ka(x,e.name))}),Fe=M(e=>{if(e){if(e.type===`up`){e.path&&Ne(e.path);return}Pe(e)}}),Ie=M(async()=>{if(!(!p||I)){L(!0);try{let e=await m(le);if(!e.success||!e.path){e.error&&e.error!==`Directory selection cancelled`&&q.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e.error});return}let t=await h(e.path);if(!t.success){q.error(r(`directoryExplorerDialog.toast.failedToOpenDirectory`),{description:t.error||r(`directoryExplorerDialog.toast.desktopCouldNotGrantAccess`)});return}await Ee(e.path)}catch(e){q.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{L(!1)}}}),Le=M(e=>{if(e.key===`ArrowDown`){e.preventDefault(),N(e=>Math.min(ce.length-1,e+1));return}if(e.key===`ArrowUp`){e.preventDefault(),N(e=>Math.max(0,e-1));return}if(e.key===`Enter`){if(e.preventDefault(),Ma(e)){Ee(le);return}_e&&Fe(ge);return}e.key===`Backspace`&&x===``&&(e.preventDefault(),xe())}),Re=(0,$.jsxs)(`button`,{type:`button`,onClick:()=>ne(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:[U?(0,$.jsx)(X,{name:`checkbox`,className:`h-4 w-4 text-primary`}):(0,$.jsx)(X,{name:`checkbox-blank`,className:`h-4 w-4`}),r(`directoryExplorerDialog.toggle.showHidden`)]}),ze=(0,$.jsxs)(`div`,{className:`px-2.5 py-1.5`,children:[R?(0,$.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5`,children:[(0,$.jsx)(dt,{value:B,onChange:e=>te(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)(_a,{activeProfile:ie,identities:G,onSelect:e=>H(e.id),isApplying:P,iconOnly:!0})]}):null,(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(X,{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)(dt,{ref:_,value:x,onChange:e=>S(ba(e.target.value)),onKeyDown:Le,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`})]})]}),Be=(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`)}),D?(0,$.jsx)(`div`,{className:`py-10 text-center typography-ui-label text-muted-foreground`,children:r(`directoryExplorerDialog.browse.loading`)}):ce.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:ce.map((e,t)=>{let n=t===j;return(0,$.jsxs)(`div`,{onMouseEnter:()=>N(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:()=>Fe(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)(X,{name:`arrow-left-s`,className:`h-4 w-4 flex-shrink-0 text-muted-foreground/80`}):(0,$.jsx)(X,{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=>Te(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)(X,{name:`add`,className:`h-3.5 w-3.5`})}):null]},e.value)})})]})}),Ve=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:[ze,Be]}),He=(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)(X,{name:`arrow-up-s`,className:`h-3.5 w-3.5`}),(0,$.jsx)(X,{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)(X,{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:ve}),(0,$.jsx)(X,{name:`corner-down-left`,className:`h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.add`)]})]}),We=()=>(0,$.jsxs)($.Fragment,{children:[g?null:He,(0,$.jsxs)(`div`,{className:Y(`flex w-full flex-row justify-end gap-2 sm:w-auto`,g&&`justify-stretch`),children:[p?(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:Ie,disabled:P||I||R,children:r(I?`directoryExplorerDialog.actions.openingFinder`:`directoryExplorerDialog.actions.openInFinder`)}):null,(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>z(e=>!e),disabled:P||I,className:Y(g&&`flex-1`),children:r(R?`directoryExplorerDialog.actions.addLocalProject`:`directoryExplorerDialog.actions.cloneRepository`)}),g?(0,$.jsx)(Z,{size:`xs`,onClick:()=>void Ee(le),disabled:R?!he:!me,className:`flex-1`,children:be}):(0,$.jsx)(Z,{size:`xs`,onClick:()=>void Ee(le),disabled:R?!he:!me,children:be})]})]});return g?(0,$.jsx)(Ue,{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:Re,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:Ve}),(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:We()})})]})}):(0,$.jsx)(Me,{open:e,onOpenChange:t,children:(0,$.jsxs)(ke,{className:`flex w-full max-w-xl flex-col gap-0 overflow-hidden p-0 sm:max-h-[80vh]`,initialFocus:!1,children:[(0,$.jsx)(De,{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)(Ae,{children:r(`directoryExplorerDialog.title`)}),(0,$.jsx)(je,{className:`mt-2`,children:r(`directoryExplorerDialog.description`)})]}),Re]})}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 px-2 pb-0`,children:Ve}),(0,$.jsx)(Oe,{className:`flex w-full flex-col gap-3 px-5 py-3 sm:flex-row sm:items-center sm:justify-between`,children:We()})]})})},Ia=async(e,t)=>{try{let t=await e.json();if(t&&typeof t.error==`string`&&t.error.trim().length>0)return t.error}catch{return t}return t},La=e=>{let t=typeof e==`string`?e.trim():``;if(!t)throw Error(`projectId is required`);return t},Ra=e=>e===null||typeof e==`string`,za=e=>e===null||typeof e==`number`&&Number.isFinite(e),Ba=e=>typeof e==`number`&&Number.isFinite(e)&&e>=0&&e<=864e13,Va=e=>e===null||Ba(e),Ha=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.id==`string`&&t.id.length>0&&typeof t.projectId==`string`&&t.projectId.length>0&&typeof t.taskId==`string`&&t.taskId.length>0&&typeof t.taskName==`string`&&(t.trigger===`scheduled`||t.trigger===`manual`)&&(t.status===`running`||t.status===`success`||t.status===`error`)&&Ra(t.sessionId)&&Ra(t.directory)&&Ra(t.error)&&Ba(t.startedAt)&&Va(t.finishedAt)&&za(t.durationMs)&&(t.durationMs===null||t.durationMs>=0)},Ua=e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Malformed scheduled task runs response`);let t=e;if(!Array.isArray(t.runs)||!t.runs.every(Ha)||!Ra(t.nextCursor)||typeof t.complete!=`boolean`||t.complete!==(t.nextCursor===null)||t.nextCursor!==null&&t.nextCursor.length===0)throw Error(`Malformed scheduled task runs response`);return{runs:t.runs,nextCursor:t.nextCursor,complete:t.complete}},Wa=async(e,t)=>{let n=new URLSearchParams;e.before&&n.set(`before`,e.before);let r=e.limit??20;if(!Number.isInteger(r)||r<1)throw Error(`limit must be a positive integer`);n.set(`limit`,String(r)),e.projectId&&n.set(`projectId`,e.projectId),e.taskId&&n.set(`taskId`,e.taskId);let i=await f(`/api/openchamber/scheduled-task-runs?${n.toString()}`,{signal:t});if(!i.ok)throw Error(await Ia(i,`Failed to load scheduled task history`));return Ua(await i.json().catch(()=>null))},Ga=async()=>{let e=await f(`/api/openchamber/scheduled-tasks`);if(!e.ok)throw Error(await Ia(e,`Failed to load schedules`));let t=await e.json().catch(()=>null);return{tasks:Array.isArray(t?.tasks)?t.tasks:[],failedProjectIds:Array.isArray(t?.failedProjectIds)?t.failedProjectIds.filter(e=>typeof e==`string`):[]}},Ka=async(e,t)=>{let n=La(e),r=await f(`/api/projects/${encodeURIComponent(n)}/scheduled-tasks`,{method:`PUT`,headers:{"content-type":`application/json`,accept:`application/json`},body:JSON.stringify({task:t})});if(!r.ok)throw Error(await Ia(r,`Failed to save schedule`));let i=await r.json().catch(()=>null);return!i||!Array.isArray(i.tasks)?[]:i.tasks},qa=async(e,t)=>{let n=La(e),r=La(t),i=await f(`/api/projects/${encodeURIComponent(n)}/scheduled-tasks/${encodeURIComponent(r)}`,{method:`DELETE`,headers:{accept:`application/json`}});if(!i.ok)throw Error(await Ia(i,`Failed to delete schedule`));let a=await i.json().catch(()=>null);return!a||!Array.isArray(a.tasks)?[]:a.tasks},Ja=async(e,t)=>{let n=La(e),r=La(t),i=await f(`/api/projects/${encodeURIComponent(n)}/scheduled-tasks/${encodeURIComponent(r)}/run`,{method:`POST`,headers:{accept:`application/json`}});if(!i.ok)throw Error(await Ia(i,`Failed to run schedule`));let a=await i.json().catch(()=>null);return{sessionId:typeof a?.sessionId==`string`&&a.sessionId.length>0?a.sessionId:void 0}},Ya=`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,Xa=`oc-settings-group-label`,Za=vn();function Qa(e){if(!e||!e.trim())return{valid:!1,error:`required`};try{return Za.CronExpressionParser.parse(e),{valid:!0}}catch(e){return{valid:!1,error:e instanceof Error?e.message:`Invalid cron expression`}}}function $a(e,t,n=4){try{let r=t?{tz:t,currentDate:new Date}:{currentDate:new Date},i=Za.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 eo=[{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`}],to=[0,1,2,3,4,5,6],no=`!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`,ro=`oc-settings-inline-value`,io=`oc-settings-split-row ${Ya}`,ao=ro,oo=io,so=()=>{let e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`},co=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},lo=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,uo=(e,t,n)=>{let r=co(e);return r?new Intl.DateTimeFormat(n,{month:`short`,day:`numeric`,year:`numeric`}).format(r):t},fo=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),po=(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},mo=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}},ho=(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`)}`},go=(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`},_o=e=>/^(0[1-9]|1[0-2])$/.test(e)?e:go(e,{min:1,max:12}),vo=e=>/^[0-5][0-9]$/.test(e)?e:go(e,{max:59}),yo=(e,t)=>go(String(Number.parseInt(e,10)+t),{min:1,max:12,loop:!0}),bo=(e,t)=>go(String(Number.parseInt(e,10)+t),{min:0,max:59,loop:!0}),xo=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}},So=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}},Co=e=>{let t=new Intl.DateTimeFormat(e,{weekday:`short`}),n=new Date(2023,0,1);return to.map(e=>t.format(new Date(n.getFullYear(),n.getMonth(),n.getDate()+e)))},wo=(e,t)=>[...e.slice(t),...e.slice(0,t)],To=e=>{let t=(0,yn.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},Eo=e=>{let t=(0,yn.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=mo(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=Io,E=Lo,D=Ro,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):ho(_o(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(ho(_o(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,vo(t)):ho(f.hour12,vo(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 ee=M,N;t[20]!==r||t[21]!==f.hour12||t[22]!==f.hour24||t[23]!==f.meridiem||t[24]!==a?(N=()=>{let e=b.current;e!==null&&(w(null),e.length!==0&&r(a?D(f.hour24,vo(e.padStart(2,`0`))):ho(f.hour12,vo(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]=N):N=t[25];let P=N,F;t[26]!==r||t[27]!==f.hour12||t[28]!==f.hour24||t[29]!==f.meridiem||t[30]!==f.minute||t[31]!==a?(F=e=>r(a?D(E(f.hour24,e),f.minute):ho(yo(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]=F):F=t[32];let I=F,L;t[33]!==r||t[34]!==f.hour12||t[35]!==f.hour24||t[36]!==f.meridiem||t[37]!==f.minute||t[38]!==a?(L=e=>r(a?D(f.hour24,bo(f.minute,e)):ho(f.hour12,bo(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]=L):L=t[39];let R=L,z;t[40]!==r||t[41]!==f.hour12||t[42]!==f.meridiem||t[43]!==f.minute?(z=e=>{e!==f.meridiem&&r(ho(f.hour12,f.minute,e))},t[40]=r,t[41]=f.hour12,t[42]=f.meridiem,t[43]=f.minute,t[44]=z):z=t[44];let B=z,te;t[45]!==j||t[46]!==I?(te=e=>{if(e.key===`ArrowRight`){e.preventDefault(),j(),m.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),S(null),I(e.key===`ArrowUp`?1:-1))},t[45]=j,t[46]=I,t[47]=te):te=t[47];let V=te,H;t[48]!==P||t[49]!==R?(H=e=>{if(e.key===`ArrowLeft`&&(e.currentTarget.selectionStart??0)===0){e.preventDefault(),P(),p.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),w(null),R(e.key===`ArrowUp`?1:-1))},t[48]=P,t[49]=R,t[50]=H):H=t[50];let U=H,ne=a?`px-2`:`pl-2 pr-1`,W;t[51]!==i||t[52]!==ne?(W=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)]`,ne,i),t[51]=i,t[52]=ne,t[53]=W):W=t[53];let re=h??(a?f.hour24:f.hour12),G;t[54]===k?G=t[55]:(G=e=>k(e.target.value),t[54]=k,t[55]=G);let ie;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(ie=()=>S(``),t[56]=ie):ie=t[56];let ae;t[57]!==j||t[58]!==o||t[59]!==V||t[60]!==re||t[61]!==G?(ae=(0,$.jsx)(`input`,{ref:p,inputMode:`numeric`,value:re,onChange:G,onKeyDown:V,onFocus:ie,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]=V,t[60]=re,t[61]=G,t[62]=ae):ae=t[62];let K;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(`span`,{className:`font-mono text-sm text-muted-foreground`,children:`:`}),t[63]=K):K=t[63];let oe=_??f.minute,se;t[64]===ee?se=t[65]:(se=e=>ee(e.target.value),t[64]=ee,t[65]=se);let ce;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(ce=()=>w(``),t[66]=ce):ce=t[66];let le;t[67]!==P||t[68]!==s||t[69]!==U||t[70]!==oe||t[71]!==se?(le=(0,$.jsx)(`input`,{ref:m,inputMode:`numeric`,value:oe,onChange:se,onKeyDown:U,onFocus:ce,onBlur:P,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]=P,t[68]=s,t[69]=U,t[70]=oe,t[71]=se,t[72]=le):le=t[72];let ue;t[73]!==l||t[74]!==f.meridiem||t[75]!==c||t[76]!==u||t[77]!==B||t[78]!==a?(ue=a?null:(0,$.jsxs)(Qe,{value:f.meridiem,onValueChange:e=>B(e),children:[(0,$.jsx)(ut,{"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)(Ge,{})}),(0,$.jsxs)(Ze,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(lt,{value:`AM`,children:l}),(0,$.jsx)(lt,{value:`PM`,children:u})]})]}),t[73]=l,t[74]=f.meridiem,t[75]=c,t[76]=u,t[77]=B,t[78]=a,t[79]=ue):ue=t[79];let q;return t[80]!==W||t[81]!==ae||t[82]!==le||t[83]!==ue?(q=(0,$.jsxs)(`div`,{className:W,children:[ae,K,le,ue]}),t[80]=W,t[81]=ae,t[82]=le,t[83]=ue,t[84]=q):q=t[84],q},Do=e=>new Date(e.getFullYear(),e.getMonth(),1),Oo=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())},ko=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),Ao=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`]},jo=(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:Ao(e),onceDate:typeof e.schedule.date==`string`&&/^\d{4}-\d{2}-\d{2}$/.test(e.schedule.date)?e.schedule.date:so(),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:so(),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}}},Mo=(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(!Qa(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`)},No=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))},Po=e=>{let t=(0,yn.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?oo:io,f=n.schedule.cronExpression,p;t[0]===f?p=t[1]:(p=f.trim()?Qa(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=$a(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)(To,{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)(dt,{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 ee;t[30]!==f||t[31]!==m||t[32]!==a?(ee=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]=ee):ee=t[33];let N;t[34]!==T||t[35]!==D||t[36]!==M||t[37]!==ee?(N=(0,$.jsxs)(`div`,{"data-settings-value":T,className:D,children:[M,ee]}),t[34]=T,t[35]=D,t[36]=M,t[37]=ee,t[38]=N):N=t[38];let P;t[39]!==w||t[40]!==N||t[41]!==S?(P=(0,$.jsxs)(`div`,{className:S,children:[w,N]}),t[39]=w,t[40]=N,t[41]=S,t[42]=P):P=t[42];let F;t[43]!==v||t[44]!==u||t[45]!==g||t[46]!==d||t[47]!==a?(F=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]=F):F=t[48];let I;t[49]!==u||t[50]!==d?(I=u&&[d,`items-start`],t[49]=u,t[50]=d,t[51]=I):I=t[51];let L;t[52]===I?L=t[53]:(L=Y(`flex flex-col gap-1`,I),t[52]=I,t[53]=L);let R;t[54]===a?R=t[55]:(R=a(`sessions.scheduledTasks.editor.cronExpression.examples`),t[54]=a,t[55]=R);let z;t[56]===R?z=t[57]:(z=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:R}),t[56]=R,t[57]=z);let B=u?``:void 0,te=u&&`oc-settings-split-row-control justify-end`,V;t[58]===te?V=t[59]:(V=Y(`flex flex-wrap gap-1.5`,te),t[58]=te,t[59]=V);let H;t[60]!==r||t[61]!==a?(H=eo.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]=H):H=t[62];let U;t[63]!==B||t[64]!==V||t[65]!==H?(U=(0,$.jsx)(`div`,{"data-settings-value":B,className:V,children:H}),t[63]=B,t[64]=V,t[65]=H,t[66]=U):U=t[66];let ne;t[67]!==L||t[68]!==z||t[69]!==U?(ne=(0,$.jsxs)(`div`,{className:L,children:[z,U]}),t[67]=L,t[68]=z,t[69]=U,t[70]=ne):ne=t[70];let W;return t[71]!==P||t[72]!==F||t[73]!==ne||t[74]!==b?(W=(0,$.jsxs)(`div`,{className:b,children:[P,F,ne]}),t[71]=P,t[72]=F,t[73]=ne,t[74]=b,t[75]=W):W=t[75],W};function Fo(e){let{open:t,task:n,onOpenChange:r,onSave:i,presentation:a=`dialog`,onDirtyChange:o,onRun:c,onOpenTaskHistory:l,onDelete:u,onToggleEnabled:d,actionBusy:f=!1,projectID:p=``,projectOptions:m=[],onProjectChange:h}=e,g=a===`panel`,_=a===`mobile-panel`,v=a===`mobile-tab`,y=_||v,b=_||v,x=g||y,S=y?ao:ro,C=y?oo:io,{t:w,locale:T}=ee(),E=he(e=>e.loadProviders),D=he(e=>e.loadAgents),O=he(e=>e.providers),k=he(e=>e.currentProviderId),A=he(e=>e.currentModelId),j=he(e=>e.currentVariant||``),M=he(e=>e.currentAgentName||``),N=s(e=>e.timeFormatPreference),P=s(e=>e.weekStartPreference),F=s(e=>e.isMobile),[I,L]=Q.useState(()=>jo(n,{providerID:k,modelID:A,variant:j,agent:M})),[R,z]=Q.useState(!1),[te,V]=Q.useState(!1),[H,U]=Q.useState(!1),[ne,W]=Q.useState(``),[re,G]=Q.useState(!1),[ie,ae]=Q.useState(``),[K,oe]=Q.useState(!1),[se,ce]=Q.useState(``),[le,ue]=Q.useState(()=>{let e=co(n?.schedule?.date||``)||new Date;return new Date(e.getFullYear(),e.getMonth(),1)}),de=Q.useRef(null),fe=Q.useRef(null),J=Q.useRef(null),pe=Q.useRef(null),me=Q.useRef(null),ge=Q.useRef(``),_e=Q.useRef(void 0),ve=Q.useRef(n);ve.current=n;let ye=n?.id||null,be=Q.useMemo(()=>So(T),[T]),xe=Q.useMemo(()=>xo(T),[T]),Se=Q.useMemo(()=>N===`24h`||N!==`12h`&&be,[N,be]),Ce=Q.useMemo(()=>P===`sunday`?0:P===`monday`?1:xe,[P,xe]),Te=Q.useMemo(()=>{let e=Co(T);return wo(to.map(t=>({value:t,label:e[t]||``})),Ce)},[T,Ce]);Q.useEffect(()=>{t&&(E({source:`scheduledTaskEditor`}),D({source:`scheduledTaskEditor`}))},[t,E,D]),Q.useEffect(()=>{if(!t){_e.current=void 0;return}if(_e.current===ye)return;_e.current=ye;let e=ve.current,n=jo(e,{providerID:k,modelID:A,variant:j,agent:M});ge.current=JSON.stringify(n),L(n),o?.(!1);let r=co(e?.schedule?.date||``)||new Date;ue(new Date(r.getFullYear(),r.getMonth(),1)),V(!1),G(!1),U(!1),ae(``),W(``)},[t,ye,k,A,j,M,o]),Q.useEffect(()=>{if(!(!t||!n||I.id!==n.id||I.enabled===n.enabled)&&(L(e=>({...e,enabled:n.enabled})),ge.current)){let e=JSON.parse(ge.current);ge.current=JSON.stringify({...e,enabled:n.enabled})}},[I.enabled,I.id,t,n]),Q.useEffect(()=>{!t||!ge.current||o?.(JSON.stringify(I)!==ge.current)},[I,o,t]),Q.useEffect(()=>{if(!te)return;let e=e=>{de.current&&!de.current.contains(e.target)&&V(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[te]);let Ee=Q.useMemo(()=>O.find(e=>e.id===I.execution.providerID)?.models?.find(e=>e.id===I.execution.modelID),[I.execution.modelID,I.execution.providerID,O]),De=Q.useMemo(()=>Ee?.variants?Object.keys(Ee.variants):[],[Ee]);Q.useEffect(()=>{!Ee||!I.execution.variant||De.includes(I.execution.variant)||L(e=>({...e,execution:{...e.execution,variant:``}}))},[De,I.execution.variant,Ee]);let Oe=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)}}})},[]),Ne=Q.useCallback((e,t)=>{L(n=>{let r=n.schedule.times.slice();return r[e]=t,{...n,schedule:{...n.schedule,times:r}}})},[]),Pe=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`]}}})},[]),Fe=Q.useCallback(()=>{L(e=>({...e,schedule:{...e.schedule,times:[...e.schedule.times,`12:00`]}}))},[]),Ie=Q.useMemo(()=>Oo(),[]),Le=Q.useMemo(()=>Do(Ie),[Ie]),Re=Q.useMemo(()=>{let e=co(I.schedule.onceDate);return e?ko(e,Ie)?w(`sessions.scheduledTasks.editor.date.today`):new Intl.DateTimeFormat(T,{weekday:`short`}).format(e):null},[I.schedule.onceDate,T,w,Ie]),ze=Q.useMemo(()=>Do(le).getTime()<=Le.getTime(),[le,Le]),Be=Q.useMemo(()=>Te.map(e=>e.label),[Te]),Ve=Q.useCallback(e=>{L(t=>({...t,schedule:{...t.schedule,onceDate:e}}))},[]),Ue=Q.useCallback((e,t)=>{if(e.startsWith(`/`)){let n=e.indexOf(` `),r=e.indexOf(`
|
|
2
2
|
`),i=Math.min(n===-1?e.length:n,r===-1?e.length:r);if(t<=i&&n===-1){ae(e.substring(1,i)),G(!0),U(!1),oe(!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);if((!e||/\s/.test(e))&&!t.includes(` `)&&!t.includes(`
|
|
3
3
|
`)){ce(t),oe(!0),U(!1);return}}oe(!1);let i=n.lastIndexOf(`@`);if(i!==-1){let e=i>0?n[i-1]:null,t=n.substring(i+1);(!e||/\s/.test(e))&&!t.includes(` `)&&!t.includes(`
|
|
4
4
|
`)?(W(t),U(!0)):U(!1);return}U(!1)},[]),We=Q.useCallback(e=>{L(t=>({...t,execution:{...t.execution,prompt:e}}))},[]),Ke=Q.useCallback(e=>{let t=I.execution.prompt,n=fe.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=zt(t,r===-1?n:r,n,`@${i}`);We(a.text),U(!1),W(``),requestAnimationFrame(()=>{let e=fe.current;e&&(e.selectionStart=a.caret,e.selectionEnd=a.caret,e.focus()),Ue(a.text,a.caret)})},[I.execution.prompt,We,Ue]),qe=Q.useCallback(e=>{let t=I.execution.prompt,n=fe.current?.selectionStart??t.length,r=t.substring(0,n).lastIndexOf(`@`),i=zt(t,r===-1?n:r,n,`@${e}`);We(i.text),U(!1),W(``),requestAnimationFrame(()=>{let e=fe.current;e&&(e.selectionStart=i.caret,e.selectionEnd=i.caret,e.focus()),Ue(i.text,i.caret)})},[I.execution.prompt,We,Ue]),Je=Q.useCallback(e=>{let t=`/${e.name} `;We(t),G(!1),ae(``),oe(!1),requestAnimationFrame(()=>{let e=fe.current;e&&(e.focus(),e.selectionStart=e.value.length,e.selectionEnd=e.value.length),Ue(t,t.length)})},[We,Ue]),Ye=Q.useCallback((e,t)=>{let n=I.execution.prompt,r=fe.current?.selectionStart??n.length,i=n.substring(0,r).lastIndexOf(`#`),a=i===-1?r:i,o=`${n.substring(0,a)}#${t} ${n.substring(r)}`,s=a+t.length+2;We(o),oe(!1),ce(``),requestAnimationFrame(()=>{let e=fe.current;e&&(e.selectionStart=s,e.selectionEnd=s,e.focus()),Ue(o,s)})},[I.execution.prompt,We,Ue]),Xe=Q.useCallback(e=>{if(re&&pe.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)){e.preventDefault(),pe.current.handleKeyDown(e.key);return}H&&J.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)&&(e.preventDefault(),J.current.handleKeyDown(e.key)),K&&me.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)&&(e.preventDefault(),me.current.handleKeyDown(e.key))},[re,H,K]),$e=Q.useCallback(async()=>{let e=Mo(I,w);if(e){q.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:No(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=jo(e||n,{providerID:k,modelID:A,variant:j,agent:M});ge.current=JSON.stringify(t),L(t),o?.(!1)}else r(!1)}catch(e){q.error(e instanceof Error?e.message:w(`sessions.scheduledTasks.editor.toast.saveFailed`))}finally{z(!1)}},[M,A,k,j,I,o,r,i,a,w,n]),tt=Q.useId(),nt=Q.useCallback(()=>typeof document>`u`?!1:!!document.querySelector(`[data-slot="dropdown-menu-content"], [data-slot="select-content"]`),[]),it=w(n?`sessions.scheduledTasks.editor.title.edit`:`sessions.scheduledTasks.editor.title.new`),at=w(`sessions.scheduledTasks.editor.description`),ot=(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`,(g||v)&&`hidden`),children:[(0,$.jsx)(To,{htmlFor:`sched-name`,required:!0,children:w(`sessions.scheduledTasks.editor.taskName.label`)}),(0,$.jsx)(dt,{id:`sched-name`,value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:w(`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`,x&&`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:[x?(0,$.jsx)(`h3`,{className:Xa,children:w(`sessions.scheduledTasks.editor.panel.frequency`)}):null,(0,$.jsxs)(`div`,{className:Y(x&&`oc-settings-group-card`,x&&I.schedule.kind===`once`&&te&&`overflow-visible`),children:[(0,$.jsx)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,x&&`flex flex-col gap-0`,!F&&!x&&`sm:grid-cols-2`),children:(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,x&&[C,`last:border-b`]),children:[(0,$.jsx)(To,{children:w(`sessions.scheduledTasks.editor.scheduleType.label`)}),(0,$.jsx)(`div`,{"data-settings-value":x?``:void 0,className:Y(x&&`oc-settings-split-row-control`),children:(0,$.jsxs)(Qe,{value:I.schedule.kind,onValueChange:e=>{L(t=>({...t,schedule:{...t.schedule,kind:e,...e===`cron`&&!t.schedule.cronExpression?{cronExpression:`0 * * * *`}:{}}}))},children:[(0,$.jsx)(ut,{className:Y(!x&&no,x&&S),children:(0,$.jsx)(Ge,{children:e=>w(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)(Ze,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(lt,{value:`daily`,children:w(`sessions.scheduledTasks.editor.scheduleType.daily`)}),(0,$.jsx)(lt,{value:`weekly`,children:w(`sessions.scheduledTasks.editor.scheduleType.weekly`)}),(0,$.jsx)(lt,{value:`once`,children:w(`sessions.scheduledTasks.editor.scheduleType.once`)}),(0,$.jsx)(lt,{value:`cron`,children:w(`sessions.scheduledTasks.editor.scheduleType.cron`)})]})]})})]})}),I.schedule.kind===`cron`?(0,$.jsx)(Po,{draft:I,setDraft:L,locale:T,t:w,panel:g,mobilePanel:y}):I.schedule.kind===`once`?(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,x&&`flex flex-col gap-0`,!F&&!x&&`sm:grid-cols-2`),children:[(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,x&&C),ref:de,children:[(0,$.jsx)(To,{children:w(`sessions.scheduledTasks.editor.date.label`)}),(0,$.jsxs)(`div`,{"data-settings-value":x?``:void 0,className:Y(`relative`,x&&`oc-settings-split-row-control`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(!x&&no,`flex items-center justify-between gap-2 text-left`,x&&[S,`w-full`]),onClick:()=>V(e=>!e),children:[(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(X,{name:`calendar`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:uo(I.schedule.onceDate,w(`sessions.scheduledTasks.editor.date.placeholder`),T)})]}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4 shrink-0 text-muted-foreground`})]}),te?(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`,y?`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:()=>ue(e=>fo(e,-1)),"aria-label":w(`sessions.scheduledTasks.editor.date.previousMonth`),disabled:ze,children:(0,$.jsx)(X,{name:`arrow-left-s`,className:`h-4 w-4`})}),(0,$.jsx)(`div`,{className:`typography-ui-label text-foreground`,children:new Intl.DateTimeFormat(T,{month:`long`,year:`numeric`}).format(le)}),(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-interactive-hover`,onClick:()=>ue(e=>fo(e,1)),"aria-label":w(`sessions.scheduledTasks.editor.date.nextMonth`),children:(0,$.jsx)(X,{name:`arrow-right-s`,className:`h-4 w-4`})})]}),(0,$.jsx)(`div`,{className:`mb-1 grid grid-cols-7 gap-1 px-1`,children:Be.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:po(le,Ce).map(({date:e,inCurrentMonth:t})=>{let n=lo(e),r=n===I.schedule.onceDate,i=ko(e,Ie),a=e.getTime()<Ie.getTime();return(0,$.jsx)(`button`,{type:`button`,onClick:()=>{a||(Ve(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:Re||``}),(0,$.jsx)(Z,{type:`button`,size:`xs`,variant:`ghost`,onClick:()=>{Ve(lo(Ie)),ue(new Date(Ie.getFullYear(),Ie.getMonth(),1))},children:w(`sessions.scheduledTasks.editor.date.jumpToToday`)})]})]}):null]})]}),(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,x&&C),children:[(0,$.jsx)(To,{children:w(`sessions.scheduledTasks.editor.time.label`)}),(0,$.jsx)(`div`,{"data-settings-value":x?``:void 0,className:Y(x&&`oc-settings-split-row-control`),children:(0,$.jsx)(Eo,{value:I.schedule.onceTime,className:Y(x&&`oc-settings-inline-value w-fit min-w-0 justify-end`),use24Hour:Se,hourAriaLabel:w(`sessions.scheduledTasks.editor.time.hourAria`),minuteAriaLabel:w(`sessions.scheduledTasks.editor.time.minuteAria`),periodAriaLabel:w(`sessions.scheduledTasks.editor.time.periodAria`),amLabel:w(`sessions.scheduledTasks.editor.time.period.am`),pmLabel:w(`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`,x&&`flex flex-col gap-0`,!F&&!x&&`sm:grid-cols-2`),children:[I.schedule.kind===`weekly`?(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,x&&[`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,`oc-settings-split-row`],!F&&!x&&`sm:col-span-2`),children:[(0,$.jsx)(To,{children:w(`sessions.scheduledTasks.editor.weekdays.label`)}),(0,$.jsx)(`div`,{"data-settings-value":x?``:void 0,className:Y(`flex flex-wrap gap-x-3 gap-y-2`,x&&`oc-settings-split-row-control justify-end`),children:Te.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)(He,{checked:t,onChange:t=>Oe(e.value,t),ariaLabel:e.label}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>Oe(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`,x&&[C,`justify-start`],y&&`flex-col items-stretch`),children:[(0,$.jsx)(To,{children:w(`sessions.scheduledTasks.editor.times.label`)}),(0,$.jsxs)(`div`,{"data-settings-value":x?``:void 0,className:Y(x?`oc-settings-split-row-control relative flex-wrap justify-end`:`contents`),children:[(0,$.jsx)(`div`,{className:Y(`flex flex-col gap-2`,x&&`flex-row flex-wrap justify-end transition-[padding] motion-reduce:transition-none`,g&&`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)(Eo,{value:e,className:Y(x&&`oc-settings-inline-value w-fit min-w-0`),use24Hour:Se,hourAriaLabel:w(`sessions.scheduledTasks.editor.time.hourAria`),minuteAriaLabel:w(`sessions.scheduledTasks.editor.time.minuteAria`),periodAriaLabel:w(`sessions.scheduledTasks.editor.time.periodAria`),amLabel:w(`sessions.scheduledTasks.editor.time.period.am`),pmLabel:w(`sessions.scheduledTasks.editor.time.period.pm`),onChange:e=>Ne(t,e)}),I.schedule.times.length>1?(0,$.jsx)(Z,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>Pe(t),"aria-label":w(`sessions.scheduledTasks.editor.times.removeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})}):null]},t))}),(0,$.jsx)(`div`,{className:Y(x&&`shrink-0`,g&&`absolute right-0`),children:(0,$.jsxs)(Z,{type:`button`,size:x?`icon`:`sm`,variant:x?`ghost`:`outline`,className:Y(`h-9`,g&&`size-7 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 motion-reduce:transition-none`,y&&`size-9`),onClick:Fe,"aria-label":w(`sessions.scheduledTasks.editor.times.add`),children:[(0,$.jsx)(X,{name:`add`,className:Y(`h-4 w-4`,!x&&`mr-1`)}),x?null:w(`sessions.scheduledTasks.editor.times.add`)]})})]})]})]})]})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-3 border-t border-border/40 pt-5`,x&&`contents`),children:[(0,$.jsxs)(`div`,{className:Y(x?`oc-settings-group order-2`:`contents`),children:[x?(0,$.jsx)(`h3`,{className:Xa,children:w(`sessions.scheduledTasks.editor.panel.details`)}):null,(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,x&&[`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&&!x&&`sm:grid-cols-2`),children:[m.length>0?(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,x&&C),children:[(0,$.jsx)(To,{children:w(`sessions.scheduledTasks.dialog.project.label`)}),(0,$.jsx)(`div`,{"data-settings-value":x?``:void 0,className:Y(x&&`oc-settings-split-row-control`),children:(0,$.jsxs)(Qe,{value:p,disabled:!h,onValueChange:h,children:[(0,$.jsx)(ut,{className:Y(!x&&no,x&&S),children:(0,$.jsx)(Ge,{children:e=>m.find(t=>t.id===e)?.label})}),(0,$.jsx)(Ze,{className:`motion-reduce:transition-none`,children:m.map(e=>(0,$.jsx)(lt,{value:e.id,children:e.label},e.id))})]})})]}):null,(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,x&&C),children:[(0,$.jsx)(To,{required:!0,children:w(`sessions.scheduledTasks.editor.model.label`)}),(0,$.jsx)(`div`,{"data-settings-value":x?``:void 0,className:Y(x&&`oc-settings-split-row-control`),children:(0,$.jsx)(Ct,{providerId:I.execution.providerID,modelId:I.execution.modelID,variant:I.execution.variant,className:Y(!x&&no,x&&S,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),showIcon:!g,onChange:(e,t,n=``)=>{L(r=>({...r,execution:{...r.execution,providerID:e,modelID:t,variant:n}}))}})})]}),x?(0,$.jsxs)(`div`,{className:C,children:[(0,$.jsx)(To,{children:w(`sessions.scheduledTasks.editor.agent.label`)}),(0,$.jsx)(`div`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(St,{agentName:I.execution.agent,className:Y(S,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),showIcon:!0,filter:e=>B(e.mode),onChange:e=>L(t=>({...t,execution:{...t.execution,agent:e}}))})})]}):null,x?(0,$.jsxs)(`label`,{className:Y(C,`cursor-pointer`),children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:w(`sessions.scheduledTasks.editor.goal.label`)}),(0,$.jsx)(`span`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(He,{checked:I.execution.goalEnabled,onChange:e=>L(t=>({...t,execution:{...t.execution,goalEnabled:e}})),ariaLabel:w(`sessions.scheduledTasks.editor.goal.aria`)})})]}):null]})]}),x?null:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,$.jsx)(To,{children:w(`sessions.scheduledTasks.editor.agent.label`)}),(0,$.jsx)(St,{agentName:I.execution.agent,className:Y(no,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),filter:e=>B(e.mode),onChange:e=>L(t=>({...t,execution:{...t.execution,agent:e}}))})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,x&&`order-1`),children:[(0,$.jsx)(`div`,{className:Y(x&&`sr-only`),children:(0,$.jsx)(To,{htmlFor:`sched-prompt`,required:!0,children:w(`sessions.scheduledTasks.editor.prompt.label`)})}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(rt,{id:`sched-prompt`,ref:fe,value:I.execution.prompt,onChange:e=>{let t=e.target.value;We(t);let n=e.target.selectionStart??t.length;Ue(t,n)},onKeyDown:Xe,rows:x?4:8,simple:x,placeholder:w(`sessions.scheduledTasks.editor.prompt.placeholder`),className:Y(`typography-meta min-h-[120px] max-h-[300px] resize-none overflow-y-auto`,x&&`!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)]`)}),re?(0,$.jsx)(It,{ref:pe,searchQuery:ie,onCommandSelect:Je,onClose:()=>G(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,H?(0,$.jsx)(Rt,{ref:J,searchQuery:ne,onFileSelect:Ke,onAgentSelect:qe,onClose:()=>U(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,K?(0,$.jsx)(Lt,{ref:me,searchQuery:se,onSnippetSelect:Ye,onClose:()=>oe(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null]})]}),x?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)(He,{checked:I.execution.goalEnabled,onChange:e=>L(t=>({...t,execution:{...t.execution,goalEnabled:e}})),ariaLabel:w(`sessions.scheduledTasks.editor.goal.aria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:w(`sessions.scheduledTasks.editor.goal.label`)})]}),I.execution.goalEnabled?(0,$.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-2`,children:[(0,$.jsx)(He,{checked:I.execution.goalTokenBudget!==null,onChange:e=>L(t=>({...t,execution:{...t.execution,goalTokenBudget:e?2e5:null}})),ariaLabel:w(`sessions.scheduledTasks.editor.goal.budgetAria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:w(`sessions.scheduledTasks.editor.goal.budgetLabel`)})]}):null,I.execution.goalEnabled&&I.execution.goalTokenBudget!==null?(0,$.jsx)(rn,{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]})]})]}),st=(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-between gap-3`,a===`panel`&&`justify-end`,b&&`flex-nowrap gap-2`),children:[(0,$.jsxs)(`label`,{className:Y(`inline-flex items-center gap-2`,a===`panel`&&`hidden`),children:[(0,$.jsx)(He,{checked:I.enabled,onChange:e=>L(t=>({...t,enabled:e})),ariaLabel:w(`sessions.scheduledTasks.editor.enabled.aria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:w(`sessions.scheduledTasks.editor.enabled.label`)})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-end gap-2`,b&&`ml-auto flex-nowrap`),children:[a!==`panel`&&!b?(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>r(!1),disabled:R,children:w(`sessions.scheduledTasks.editor.actions.cancel`)}):null,(0,$.jsx)(Z,{type:`button`,size:`sm`,className:Y(a===`panel`&&`rounded-lg`,b&&`min-h-11 px-5`),onClick:$e,disabled:R,children:w(R?`sessions.scheduledTasks.editor.actions.saving`:n?`sessions.scheduledTasks.editor.actions.save`:`sessions.scheduledTasks.dialog.actions.create`)})]})]}),ct=!!(n&&l),ft=n&&u&&c?(0,$.jsxs)(xt,{children:[(0,$.jsx)(Tt,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:v?`mobileGlass`:`ghost`,size:v?`mobileIcon`:`icon`,className:Y(!v&&`rounded-lg`,!v&&(F?`size-11`:`size-8`)),disabled:R||f,"aria-label":w(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:n.name}),children:(0,$.jsx)(X,{name:`more-2`,className:v?`size-5`:`size-4`})})}),(0,$.jsxs)(wt,{align:`end`,className:`min-w-40 motion-reduce:transition-none`,children:[(0,$.jsxs)(Et,{className:Y(v&&`min-h-11`),onSelect:()=>void c(n),children:[(0,$.jsx)(X,{name:`play`,className:`size-4`}),w(`sessions.scheduledTasks.dialog.actions.runNow`)]}),ct?(0,$.jsxs)(Et,{className:Y(v&&`min-h-11`),onSelect:()=>l?.(n),children:[(0,$.jsx)(X,{name:`history`,className:`size-4`}),w(`sessions.scheduledTasks.workspace.views.history`)]}):null,d?(0,$.jsxs)(Et,{className:Y(v&&`min-h-11`),onSelect:()=>void d(n,!n.enabled),children:[(0,$.jsx)(X,{name:n.enabled?`pause`:`play`,className:`size-4`}),n.enabled?w(`sessions.scheduledTasks.dialog.taskToggle.pauseAria`,{taskName:n.name}):w(`sessions.scheduledTasks.dialog.taskToggle.enableAria`,{taskName:n.name})]}):null,(0,$.jsxs)(Et,{variant:`destructive`,className:Y(v&&`min-h-11`),onSelect:()=>void u(n),children:[(0,$.jsx)(X,{name:`delete-bin`,className:`size-4`}),w(`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?w(`sessions.scheduledTasks.dialog.taskToggle.enabled`):w(`sessions.scheduledTasks.dialog.taskToggle.paused`):it}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[ft,n&&d?(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`rounded-lg`,F?`size-11`:`size-8`),disabled:R||f,onClick:()=>void d(n,!n.enabled),"aria-label":n.enabled?w(`sessions.scheduledTasks.dialog.taskToggle.pauseAria`,{taskName:n.name}):w(`sessions.scheduledTasks.dialog.taskToggle.enableAria`,{taskName:n.name}),children:(0,$.jsx)(X,{name:n.enabled?`pause`:`play`,className:`size-4`})}):null,(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`rounded-lg`,F?`size-11`:`size-8`),onClick:()=>r(!1),"aria-label":w(`sessions.scheduledTasks.editor.actions.cancel`),children:(0,$.jsx)(X,{name:F?`arrow-left`:`close`,className:`size-4`})})]})]}),(0,$.jsx)(`h2`,{id:`scheduled-task-panel-title`,className:`sr-only`,children:it}),(0,$.jsx)(dt,{value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:w(`sessions.scheduledTasks.editor.taskName.placeholder`),"aria-label":w(`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)(et,{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:ot})}),(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-border/50 bg-background/95 px-6 py-3 backdrop-blur-sm`,children:st})]}):null:a===`mobile-panel`?t?(0,$.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col bg-background`,"aria-label":it,children:[(0,$.jsx)(et,{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:ot})}),(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-border/50 bg-background/95 px-3 py-2 backdrop-blur-sm`,children:st})]}):null:a===`mobile-tab`?t?(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-label":it,children:[(0,$.jsx)(we,{sticky:!0,title:it,backAriaLabel:w(`header.actions.backAria`),onBack:()=>r(!1),backDisabled:R,trailing:ft}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden px-[var(--oc-mobile-page-inline-inset)] pb-[calc(var(--oc-mobile-dock-height)+2.5rem+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))] pt-4`,children:[(0,$.jsx)(dt,{value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:w(`sessions.scheduledTasks.editor.taskName.placeholder`),"aria-label":w(`sessions.scheduledTasks.editor.taskName.label`),maxLength:80,className:`oc-mobile-detail-editor-title mb-5 !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`}),ot]}),(0,$.jsx)(dn,{as:`footer`,"data-scheduled-editor-footer":``,className:`z-[60]`,children:st})]}):null:F?(0,$.jsx)(At,{open:t,title:it,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:it}),e]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:at})]}),footer:st,children:ot}):(0,$.jsx)(Me,{open:t,onOpenChange:e=>{!e&&nt()||r(e)},children:(0,$.jsxs)(ke,{"aria-describedby":tt,className:`!max-w-[720px] w-[90vw] h-[680px] max-h-[85vh] gap-0 p-0 overflow-hidden`,children:[(0,$.jsx)(je,{id:tt,className:`sr-only`,children:at}),(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)(Ae,{className:`typography-ui-label font-medium text-foreground`,children:it}),(0,$.jsx)(`p`,{className:`typography-meta mt-0.5 text-muted-foreground`,children:at})]})}),(0,$.jsx)(et,{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:ot})}),(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:st})})]})})}function Io(e){return go(e,{min:0,max:23})}function Lo(e,t){return go(String(Number.parseInt(e,10)+t),{min:0,max:23,loop:!0})}function Ro(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 zo=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))},Bo=(e,t,n=!0)=>{let r=zo(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||``})},Vo=(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})},Ho=e=>new Intl.DateTimeFormat(N(),{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)),Uo=(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},Wo=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`},Go={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`}},Ko=e=>e===`muted`?{}:{color:`var(--status-${e})`,backgroundColor:`var(--status-${e}-background)`,borderColor:`var(--status-${e}-border)`},qo=({projectId:e,taskId:t})=>`${e}:${t}`,Jo=d.scoped(`scheduled-tasks`),Yo=d.scoped(`scheduled-task-runs`),Xo=null,Zo=()=>Xo?Xo():(s.getState().setScheduledTasksDialogOpen(!1),!0),Qo=(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 $o(){let e=(0,yn.c)(9),{t}=ee(),n=s(is),r=s(rs);if(!s(ns))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)(as,{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)(At,{open:n,title:i,onClose:ts,className:`h-[min(92dvh,760px)] max-w-none sm:max-w-2xl`,contentMaxHeightClassName:`max-h-none`,renderHeader:es,containedBody:!0,children:a}),e[5]=n,e[6]=i,e[7]=a,e[8]=o):o=e[8],o}function es(){return null}function ts(){return Zo()}function ns(e){return e.isMobile}function rs(e){return e.setScheduledTasksDialogOpen}function is(e){return e.isScheduledTasksDialogOpen}function as({presentation:e=`workspace`,open:t=!0,onOpenChange:n,registerEditorBackHandler:r,onEditorActiveChange:i}={}){let{t:a}=ee(),o=nn(),c=s(e=>e.isMobile),l=s(e=>e.setMainTabGuard),u=Se(e=>e.projects),d=Se(e=>e.getActiveProject())?.id||u[0]?.id||``,[f,p]=Q.useState(d),[m,h]=Q.useState(null),[_,v]=Q.useState(`closed`),[y,b]=Q.useState(`all`),[x,S]=Q.useState(()=>Ri().scheduleView===`history`?`history`:`tasks`),[C,w]=Q.useState(``),[T,D]=Q.useState(!1),[j,N]=Q.useState(null),[P,F]=Q.useState(null),[I,L]=Q.useState(null),[R,z]=Q.useState(null),B=Q.useRef(null),te=Q.useRef(null),V=e===`mobile-tab`,H=e===`mobile-panel`||V;Q.useEffect(()=>{if(V)return i?.(_!==`closed`),()=>i?.(!1)},[_,V,i]),Q.useEffect(()=>{if(!t)return;let e=()=>{let e=Ri();if(e.tab===`schedule`||s.getState().activeMainTab===`schedule`){let t=e.scheduleView===`history`?`history`:`tasks`;S(e=>e===t?e:t)}};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[t]),Q.useEffect(()=>{u.some(e=>e.id===f)||p(d)},[f,d,u]);let U=k({queryKey:Jo,enabled:t,refetchOnMount:`always`,queryFn:Ga,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)})}),W=Q.useMemo(()=>U.data?.tasks??[],[U.data]),re=U.data?.failedProjectIds??[],G=Q.useMemo(()=>m?W.find(({projectId:e,task:t})=>e===m.projectId&&t.id===m.taskId)??null:null,[m,W]),ie=G?.task??null,ae=A({queryKey:[...Yo,R?.projectId??``,R?.taskId??``],enabled:t&&x===`history`,initialPageParam:void 0,queryFn:({pageParam:e,signal:t})=>Wa({before:e,limit:20,...R?{projectId:R.projectId,taskId:R.taskId}:{}},t),getNextPageParam:e=>e.complete?void 0:e.nextCursor??void 0,refetchOnMount:`always`}),K=Q.useMemo(()=>{let e=new Set,t=[];for(let n of ae.data?.pages??[])for(let r of n.runs)e.has(r.id)||(e.add(r.id),t.push(r));return t},[ae.data]),oe=Q.useMemo(()=>K.some(e=>e.status===`running`),[K]),ce=Q.useMemo(()=>{if(!R)return null;let e=W.find(({projectId:e,task:t})=>e===R.projectId&&t.id===R.taskId);return e?.task.name?e.task.name:K.find(e=>e.projectId===R.projectId&&e.taskId===R.taskId)?.taskName||R.taskId},[R,K,W]),[le,ue]=Q.useState(()=>Date.now());Q.useEffect(()=>{if(!t||x!==`history`||!oe)return;ue(Date.now());let e=window.setInterval(()=>ue(Date.now()),1e3);return()=>window.clearInterval(e)},[oe,t,x]);let de=Q.useMemo(()=>new Map(u.map(e=>[e.id,e])),[u]);Q.useEffect(()=>{U.error&&q.error(U.error instanceof Error?U.error.message:a(`sessions.scheduledTasks.dialog.toast.loadFailed`))},[U.error,a]),Q.useEffect(()=>{let e=null,t=ne(t=>{t.type===`scheduled-task-ran`&&(e&&clearTimeout(e),e=setTimeout(()=>{g.invalidateQueries({queryKey:Jo,exact:!0}),g.invalidateQueries({queryKey:Yo})},400))});return()=>{e&&clearTimeout(e),t()}},[]),Q.useEffect(()=>{_===`edit`&&m&&!G&&U.isSuccess&&(h(null),v(`closed`))},[_,G,m,U.isSuccess]);let fe=O({mutationFn:({projectID:e,taskDraft:t})=>Ka(e,t),onSuccess:(e,{projectID:t})=>{g.setQueryData(Jo,n=>Qo(n,t,e))}}),J=O({mutationFn:({projectID:e,taskID:t})=>qa(e,t),onSuccess:(e,{projectID:t})=>{g.setQueryData(Jo,n=>Qo(n,t,e))}}),pe=O({mutationFn:({projectID:e,taskID:t})=>Ja(e,t),onSuccess:()=>{g.invalidateQueries({queryKey:Jo,exact:!0}),g.invalidateQueries({queryKey:Yo})}}),me=O({mutationFn:({projectID:e,task:t})=>Ka(e,t),onMutate:({projectID:e,task:t})=>{let n=g.getQueryData(Jo);return g.setQueryData(Jo,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})=>{g.setQueryData(Jo,n=>Qo(n,t,e))},onError:(e,t,n)=>{n?.previousTasks&&g.setQueryData(Jo,n.previousTasks)}}),he=M(()=>!T||window.confirm(a(`sessions.scheduledTasks.workspace.confirm.discardChanges`)));Q.useEffect(()=>{if(!T){l(null);return}let e=e=>e===`schedule`||window.confirm(a(`sessions.scheduledTasks.workspace.confirm.discardChanges`));return l(e),()=>{s.getState().mainTabGuard===e&&l(null)}},[T,l,a]);let ge=M(e=>{let t={projectId:e.projectId,taskId:e.task.id};(qo(t)!==(m?qo(m):``)||_!==`edit`)&&he()&&(h(t),v(`edit`),D(!1))}),_e=M(()=>{!f||!he()||(h(null),v(`create`),D(!1))}),ve=M((e,t)=>{let n=s.getState();Wi({sessionId:null,tab:`schedule`,isSettingsOpen:n.isSettingsDialogOpen,settingsPath:n.settingsPage,diffFile:null,scheduleView:e,scheduleProjectId:t?.projectId??null,scheduleTaskId:t?.taskId??null})}),ye=M(e=>{x!==e&&(_!==`closed`&&!he()||(h(null),v(`closed`),D(!1),z(null),S(e),ve(e,null)))}),be=M((t,r)=>{e===`mobile-panel`&&t&&r&&n?.(!1),se(t,r,{phoneShell:!!(H&&!E()),switchToChat:!0})}),xe=M(e=>{be(e.sessionId,e.directory)}),Ce=M(e=>{_!==`closed`&&!he()||(h(null),v(`closed`),D(!1),z({projectId:e.projectId,taskId:e.task.id}),S(`history`),ve(`history`,null))}),we=M(()=>{z(null)}),Te=M(()=>{G&&Ce(G)}),Ee=M(async()=>{if(ae.data&&ae.hasNextPage){await ae.fetchNextPage();return}await ae.refetch()}),De=M(e=>{e||!he()||(h(null),v(`closed`),D(!1))}),Oe=M(()=>_===`closed`?(n?.(!1),!0):(De(!1),!0));Q.useEffect(()=>{if(e!==`mobile-panel`||!t)return;Xo=Oe;let n=()=>Oe();return window.addEventListener(`oc:scheduled-tasks-close-request`,n),()=>{Xo===Oe&&(Xo=null),window.removeEventListener(`oc:scheduled-tasks-close-request`,n)}},[e,t]);let ke=M(()=>_!==`closed`&&(De(!1),!0));Bt({id:`mobile-scheduled-editor`,active:V&&_!==`closed`,onBack:ke,surfaceRef:B,underlayRef:te}),Q.useEffect(()=>{if(r)return r(ke),()=>r(null)},[r]);let Ae=M(async e=>{let t=m?.projectId||f;if(!t)throw Error(a(`sessions.scheduledTasks.dialog.error.chooseProjectFirst`));let n=new Set(W.filter(e=>e.projectId===t).map(e=>e.task.id)),r=await fe.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}),v(`edit`)),D(!1),q.success(a(`sessions.scheduledTasks.dialog.toast.saved`)),s}),je=M(async e=>{let{projectId:t,task:n}=e;if(window.confirm(a(`sessions.scheduledTasks.dialog.confirm.deleteTask`,{taskName:n.name}))){N(qo({projectId:t,taskId:n.id}));try{await J.mutateAsync({projectID:t,taskID:n.id});let e=qo({projectId:t,taskId:n.id});m&&qo(m)===e&&(h(null),v(`closed`),D(!1)),q.success(a(`sessions.scheduledTasks.dialog.toast.deleted`))}catch(e){q.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.deleteFailed`))}finally{N(null)}}}),Me=M(async({projectId:e,task:t})=>{N(qo({projectId:e,taskId:t.id}));try{await pe.mutateAsync({projectID:e,taskID:t.id}),q.success(a(`sessions.scheduledTasks.dialog.toast.started`))}catch(e){q.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.runFailed`))}finally{N(null)}}),Pe=M(async({projectId:e,task:t},n)=>{N(qo({projectId:e,taskId:t.id}));try{await me.mutateAsync({projectID:e,task:{...t,enabled:n}})}catch(e){q.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.updateFailed`))}finally{N(null)}}),Fe=Q.useMemo(()=>{let e=C.trim().toLocaleLowerCase();return W.filter(({task:t})=>y===`active`&&!t.enabled||y===`paused`&&t.enabled?!1:!e||t.name.toLocaleLowerCase().includes(e)||Bo(t,a).toLocaleLowerCase().includes(e))},[y,C,a,W]),Ie=e=>{let t=e.icon?$e[e.icon]:null,n=e.color?nt[e.color]:void 0,r=(0,$.jsx)(X,{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)(Je,{project:e,className:`size-full object-contain`,fallback:r}):r}),(0,$.jsx)(`span`,{className:`truncate`,children:Ne(e.path)})]})},Le=u.map(e=>({id:e.id,label:Ie(e)}));return(0,$.jsxs)(`div`,{className:Y(`relative flex min-h-0`,V?`oc-mobile-scheduled-workspace w-full flex-col overflow-visible bg-transparent`:`h-full overflow-hidden bg-background`,H&&`flex-col`),"data-presentation":e,children:[(0,$.jsxs)(`div`,{ref:V?te:void 0,"data-mobile-navigation-underlay":V?`true`:void 0,"aria-hidden":V&&_!==`closed`?!0:void 0,inert:V&&_!==`closed`?!0:void 0,className:Y(V?`flex w-full min-w-0 flex-col gap-[var(--oc-mobile-page-gap)]`:`contents`),children:[V?(0,$.jsx)(cn,{title:a(`sessions.scheduledTasks.dialog.title`)}):null,H&&!V?(0,$.jsxs)(`header`,{className:`flex h-14 shrink-0 items-center gap-2 border-b border-border/40 px-2`,children:[_===`closed`?null:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,onClick:Oe,"aria-label":a(`header.actions.backAria`),children:(0,$.jsx)(X,{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(_===`edit`?`sessions.scheduledTasks.editor.title.edit`:_===`create`?`sessions.scheduledTasks.editor.title.new`:`sessions.scheduledTasks.dialog.title`)}),_===`edit`&&G?(0,$.jsxs)(xt,{children:[(0,$.jsx)(Tt,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,disabled:!!j,"aria-label":a(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:G.task.name}),children:(0,$.jsx)(X,{name:`more-2`,className:`size-5`})})}),(0,$.jsxs)(wt,{align:`end`,className:`min-w-40`,children:[(0,$.jsxs)(Et,{className:`min-h-11`,onSelect:()=>void Me(G),children:[(0,$.jsx)(X,{name:`play`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.runNow`)]}),(0,$.jsxs)(Et,{className:`min-h-11`,onSelect:()=>Ce(G),children:[(0,$.jsx)(X,{name:`history`,className:`size-4`}),a(`sessions.scheduledTasks.workspace.views.history`)]}),(0,$.jsxs)(Et,{className:`min-h-11`,onSelect:()=>void Pe(G,!G.task.enabled),children:[(0,$.jsx)(X,{name:G.task.enabled?`pause`:`play`,className:`size-4`}),G.task.enabled?a(`sessions.scheduledTasks.dialog.actions.pause`):a(`sessions.scheduledTasks.dialog.actions.resume`)]}),(0,$.jsxs)(Et,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void je(G),children:[(0,$.jsx)(X,{name:`delete-bin`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.delete`)]})]})]}):_===`closed`?(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:`size-11 shrink-0 rounded-lg`,onClick:Oe,"aria-label":a(`mobile.surface.closeAria`),children:(0,$.jsx)(X,{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`,V?`flex-none overflow-visible`:`flex-1 overflow-hidden`,H&&!V&&_!==`closed`?`hidden`:`flex`),children:[(0,$.jsx)(`header`,{className:Y(`shrink-0`,V?`pb-0 pt-0`:H?`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`,V?`max-w-[26rem]`:`max-w-4xl`),children:[(0,$.jsx)(`div`,{className:Y((x===`tasks`||R||!V)&&`mb-3`,V?`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)(Z,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":x===e,className:Y(V?`oc-mobile-segmented-item`:`relative min-h-9 rounded-lg text-muted-foreground transition-[background-color,color,box-shadow] motion-reduce:transition-none`,!V&&H&&`min-h-11`,!V&&(x===e?`text-foreground hover:bg-transparent hover:text-foreground`:`hover:bg-interactive-hover/40 hover:text-foreground`)),onClick:()=>ye(e),children:[x===e?(0,$.jsx)(tn.span,{layoutId:`scheduled-workspace-view-pill`,className:Y(`oc-segmented-selected-pill absolute inset-0`,!V&&`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)(X,{name:e===`tasks`?`calendar-schedule`:`history`,className:`size-4 shrink-0`}),a(`sessions.scheduledTasks.workspace.views.${e}`)]})]},e))}),x===`history`&&ce?(0,$.jsx)(`div`,{className:Y(`flex min-w-0 items-center`,V?`mt-[var(--oc-mobile-page-gap)]`:`mt-3`),role:`status`,"aria-label":a(`sessions.scheduledTasks.history.filter.aria`,{name:ce}),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:ce}),(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`shrink-0 rounded-full`,H?`size-8`:`size-7`),onClick:we,"aria-label":a(`sessions.scheduledTasks.history.filter.clearAria`),children:(0,$.jsx)(X,{name:`close`,className:`size-3.5`})})]})}):null,x===`tasks`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:Y(V?`oc-mobile-floating-surface oc-mobile-segmented-track oc-mobile-scheduled-controls`:Y(`flex items-center justify-between`,H?`gap-2`:`gap-3`)),children:[(0,$.jsx)(`div`,{className:Y(V?`oc-mobile-segmented-group`:Y(`flex items-center gap-1`,H&&`min-w-0 flex-1`)),role:`group`,"aria-label":a(`sessions.scheduledTasks.dialog.title`),children:[`all`,`active`,`paused`].map(e=>(0,$.jsxs)(Z,{type:`button`,variant:`ghost`,size:`sm`,className:Y(V?`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`,!V&&(H?`h-11 min-h-11 min-w-0 flex-1 rounded-xl px-2`:`!h-9 !min-h-9 rounded-xl px-3`),!V&&(y===e?`text-foreground hover:bg-transparent hover:text-foreground`:`hover:bg-interactive-hover/40 hover:text-foreground`)),"aria-pressed":y===e,onClick:()=>b(e),children:[y===e?(0,$.jsx)(tn.span,{layoutId:`scheduled-task-filter-pill`,className:Y(`oc-segmented-selected-pill absolute inset-0`,!V&&`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))}),V?(0,$.jsx)(Z,{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)(X,{name:`add`,className:`size-4`})}):(0,$.jsx)(`div`,{className:`flex min-w-0 items-center gap-2`,children:(0,$.jsxs)(Z,{variant:`ghost`,"data-mobile-press-feedback":H?`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`,H?`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)(X,{name:`add`,className:`h-4 w-4`}),` `,(0,$.jsx)(`span`,{className:Y(H&&`hidden min-[400px]:inline`),children:a(`sessions.scheduledTasks.dialog.actions.create`)})]})})]}),V?null:(0,$.jsxs)(`div`,{className:Y(`group relative w-full`,H?`mt-3`:`mt-7`),children:[(0,$.jsx)(X,{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)(dt,{value:C,onChange:e=>w(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`,H?`h-11 min-h-11`:`!h-9 !min-h-9`)})]})]}):null]})}),(0,$.jsx)(`div`,{className:Y(V?`flex-none overflow-visible pt-[var(--oc-mobile-page-gap)]`:`min-h-0 flex-1 overflow-y-auto`,!V&&(H?`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`,V?`max-w-[26rem]`:`max-w-4xl border-t border-border/40 pt-4`),children:x===`history`?(0,$.jsx)(`div`,{className:`space-y-3`,children:ae.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin motion-reduce:animate-none`}),a(`sessions.scheduledTasks.history.loading`)]}):ae.error&&K.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)(X,{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:ae.error instanceof Error?ae.error.message:a(`sessions.scheduledTasks.history.error.description`)})]}),(0,$.jsx)(Z,{variant:`outline`,size:`sm`,onClick:()=>void Ee(),children:a(`sessions.scheduledTasks.history.retry`)})]})}):K.length===0?(0,$.jsxs)(`div`,{className:`rounded-xl border border-dashed border-border p-6 text-center`,children:[(0,$.jsx)(X,{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(V?`space-y-4`:H?`space-y-2`:`divide-y divide-border/50 overflow-hidden rounded-xl border border-border/60 bg-[var(--surface-elevated)]`),children:[K.map(e=>{let t=de.get(e.projectId),n=t?Ne(t.path):e.projectId,r=e.directory?Ne(e.directory):null,i=r&&r!==n?`${n} · ${r}`:n,o=Go[e.status],s=!!(e.sessionId&&e.directory),c=Wo(Uo(e,le))??(e.status===`running`?a(`sessions.scheduledTasks.history.duration.pending`):null),l=Ho(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?$e[t.icon]??`folder`:`folder`,h=t?.color?nt[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)(Je,{project:t,className:`size-full object-contain`,fallback:(0,$.jsx)(X,{name:m,className:`size-3.5`,style:h?{color:h}:void 0})}):(0,$.jsx)(X,{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`,H?`size-7`:`size-8`),style:Ko(o.tone),title:f,"aria-label":f,children:(0,$.jsx)(X,{name:o.Icon,className:Y(H?`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`,H?`typography-micro`:`truncate typography-meta`),title:e.directory??n,children:[g,(0,$.jsx)(`span`,{className:Y(`min-w-0`,H?`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`,H?`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`,H?`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`,H?`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`,H&&`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)(X,{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)(X,{name:d,className:`size-3 shrink-0`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`whitespace-nowrap`,children:u})]})]}),!H&&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]`,H?`line-clamp-3`:`line-clamp-1`),title:e.error.slice(0,300),children:[(0,$.jsx)(X,{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(H){let t=a(`sessions.scheduledTasks.history.openSession`),n=Y(`oc-mobile-scheduled-task-card w-full`,V?`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:()=>xe(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:()=>xe(e),children:b})},e.id):(0,$.jsx)(`article`,{className:`w-full min-w-0 px-4 py-3`,children:b},e.id)}),ae.error?(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-between gap-2 p-3 typography-meta text-[var(--status-error-foreground)]`,H?`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)(Z,{variant:`outline`,size:`sm`,onClick:()=>void Ee(),children:a(`sessions.scheduledTasks.history.retry`)})]}):null,ae.hasNextPage?(0,$.jsx)(`div`,{className:Y(`flex justify-center`,H?`pt-2`:`border-t border-border/40 px-4 py-3`),children:(0,$.jsxs)(Z,{variant:`outline`,size:`sm`,className:Y(H&&`min-h-11`),disabled:ae.isFetchingNextPage,onClick:()=>void ae.fetchNextPage(),children:[ae.isFetchingNextPage?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin motion-reduce:animate-none`}):(0,$.jsx)(X,{name:`history`,className:`size-4`}),ae.isFetchingNextPage?a(`sessions.scheduledTasks.history.loadingMore`):a(`sessions.scheduledTasks.history.loadMore`)]})}):null]})}):(0,$.jsxs)($.Fragment,{children:[re.length>0?(0,$.jsx)(`div`,{className:`mb-3 rounded-xl border p-3 typography-meta`,style:Ko(`warning`),children:a(`sessions.scheduledTasks.workspace.partialLoadWarning`)}):null,U.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 typography-meta text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`h-4 w-4 animate-spin`}),` `,a(`sessions.scheduledTasks.dialog.loading`)]}):U.error?(0,$.jsx)(`div`,{className:`rounded-xl border border-dashed border-border p-4 typography-meta text-muted-foreground`,children:U.error instanceof Error?U.error.message:a(`sessions.scheduledTasks.dialog.toast.loadFailed`)}):(0,$.jsx)(en,{initial:!1,mode:`popLayout`,children:Fe.length===0?(0,$.jsx)(tn.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:W.length>0?a(`sessions.scheduledTasks.workspace.search.noResults`):a(`sessions.scheduledTasks.dialog.empty.noTasks`)},`empty`):(0,$.jsx)(tn.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(V?`space-y-4`:`space-y-1`),children:(0,$.jsx)(en,{initial:!1,mode:`popLayout`,children:Fe.map(e=>{let{projectId:t,task:n}=e,r=qo({projectId:t,taskId:n.id}),i=_===`edit`&&m!==null&&qo(m)===r,s=n.state?.nextRunAt,l=n.state?.lastStatus||`idle`,u=Go[l],d=j===r,f=t=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(t,{className:Y(H&&`min-h-11`),onClick:t=>{t.stopPropagation(),Me(e)},disabled:d,children:[(0,$.jsx)(X,{name:`play`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.runNow`)]}),(0,$.jsxs)(t,{className:Y(H&&`min-h-11`),onClick:t=>{t.stopPropagation(),Ce(e)},children:[(0,$.jsx)(X,{name:`history`,className:`size-4`}),a(`sessions.scheduledTasks.workspace.views.history`)]}),(0,$.jsxs)(t,{className:Y(H&&`min-h-11`),onClick:t=>{t.stopPropagation(),Pe(e,!n.enabled)},disabled:d,children:[(0,$.jsx)(X,{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(),je(e)},disabled:d,className:Y(`text-destructive focus:text-destructive`,H&&`min-h-11`),children:[(0,$.jsx)(X,{name:`delete-bin`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.delete`)]})]});return(0,$.jsx)(tn.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":V?`soft`:void 0,className:Y(V&&`oc-mobile-floating-surface oc-mobile-project-shell oc-mobile-scheduled-task-card`),children:(0,$.jsxs)(pn,{open:P===r,onOpenChange:e=>{e&&L(null),F(e?r:null)},children:[(0,$.jsxs)(`div`,{className:Y(`group flex w-full items-center gap-1`,V&&`oc-mobile-project-card`),children:[(0,$.jsxs)(hn,{render:(0,$.jsx)(`button`,{type:`button`,onClick:()=>ge(e),onContextMenu:!H&&!c?e=>{e.preventDefault(),L(null),F(r)}:void 0,"data-mobile-press-surface-trigger":V?!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`,V?`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`,H&&!V?`gap-2.5 px-3`:V?void 0:`gap-3 px-4`,!V&&(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`,V?`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)(en,{initial:!1,mode:`wait`,children:(0,$.jsx)(tn.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)(X,{name:n.enabled?u.Icon:`pause`,className:Y(V?`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`,V?`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`,V?`oc-mobile-project-meta oc-mobile-entity-meta`:`gap-1 typography-micro`),children:[(0,$.jsx)(`span`,{className:`truncate`,children:Bo(n,a,!V)}),(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground/50`,children:`·`}),(0,$.jsx)(`span`,{className:`shrink-0 truncate`,children:s?Vo(s,a):`—`})]})]})]}),(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`shrink-0 self-center rounded-lg text-muted-foreground`,H?`size-11 rounded-full`:`size-9`),onClick:t=>{t.stopPropagation(),Ce(e)},"aria-label":a(`sessions.scheduledTasks.workspace.views.history`),children:(0,$.jsx)(X,{name:`history`,className:`size-4`})}),(0,$.jsxs)(xt,{open:I===r,onOpenChange:e=>{e&&F(null),L(e?r:null)},children:[(0,$.jsx)(Tt,{asChild:!0,children:(0,$.jsx)(Z,{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`,V?`oc-mobile-project-action oc-mobile-scheduled-task-action rounded-full`:`rounded-lg`,V?void 0:H?`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&&!V&&`opacity-100`),onClick:e=>e.stopPropagation(),"aria-label":a(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:n.name}),children:(0,$.jsx)(X,{name:`more-2`,className:V?`size-5`:`size-4`})})}),(0,$.jsx)(wt,{align:`end`,className:`min-w-40 motion-reduce:transition-none`,onClick:e=>e.stopPropagation(),children:f(Et)})]})]}),(0,$.jsx)(gn,{className:`min-w-40 motion-reduce:transition-none`,children:f(_n)})]})},r)})})},`tasks`)})]})})})]})]}),c?_===`closed`?null:(0,$.jsx)(`div`,{ref:V?B:void 0,className:Y(V?`fixed inset-0 z-50 flex h-[100dvh] w-full min-w-0 max-w-full flex-col overflow-hidden bg-background [contain:layout_paint]`:`contents`),children:(0,$.jsx)(Fo,{open:!0,presentation:V?`mobile-tab`:H?`mobile-panel`:void 0,task:_===`edit`?ie:null,onOpenChange:De,onSave:Ae,onDirtyChange:D,onRun:async()=>{G&&await Me(G)},onOpenTaskHistory:Te,onDelete:async()=>{G&&await je(G)},onToggleEnabled:async(e,t)=>{G&&await Pe(G,t)},actionBusy:!!j,projectID:m?.projectId||f,projectOptions:Le,onProjectChange:_===`create`?p:void 0})}):(0,$.jsx)(en,{initial:!1,children:_===`closed`?null:(0,$.jsx)(tn.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)(Fo,{open:!0,presentation:`panel`,task:_===`edit`?ie:null,onOpenChange:De,onSave:Ae,onDirtyChange:D,onRun:async()=>{G&&await Me(G)},onOpenTaskHistory:Te,onDelete:async()=>{G&&await je(G)},onToggleEnabled:async(e,t)=>{G&&await Pe(G,t)},actionBusy:!!j,projectID:m?.projectId||f,projectOptions:Le,onProjectChange:_===`create`?p:void 0})})},`scheduled-task-details`)})]})}var os={"?":{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`}},ss=os.M;function cs(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 ls(e){return os[cs(e)]??ss}var us=Q.memo(function(e){let t=(0,yn.c)(55),{file:n,actionLabel:r,actionSymbol:i,onAction:a,onViewDiff:o,onRevert:s,isReverting:c,stats:l,rowPaddingClassName:u,indentPx:d,actionAtStart:f,showRevert:p}=e,m=d===void 0?0:d,h=f!==void 0&&f,g=p===void 0||p,_;t[0]===n?_=t[1]:(_=ls(n),t[0]=n,t[1]=_);let v=_,{t:y}=ee(),b=v.description,x=l?.insertions??0,S=l?.deletions??0,C;t[2]!==a||t[3]!==o?(C=e=>{e.key===` `?(e.preventDefault(),a()):e.key===`Enter`&&(e.preventDefault(),o())},t[2]=a,t[3]=o,t[4]=C):C=t[4];let w=C,T;t[5]===a?T=t[6]:(T=e=>{e.preventDefault(),e.stopPropagation(),a()},t[5]=a,t[6]=T);let E=T,D;t[7]===s?D=t[8]:(D=e=>{e.preventDefault(),e.stopPropagation(),s()},t[7]=s,t[8]=D);let O=D,k;t[9]!==r||t[10]!==i||t[11]!==E?(k=(0,$.jsx)(`button`,{type:`button`,onClick:E,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]=E,t[12]=k):k=t[12];let A=k,j=`group flex h-8 items-center cursor-pointer ${u??`px-3`}`,M;t[13]===m?M=t[14]:(M=m>0?{paddingLeft:`${m}px`}:void 0,t[13]=m,t[14]=M);let N=h?A:null,P;t[15]===v.color?P=t[16]:(P={color:v.color},t[15]=v.color,t[16]=P);let F;t[17]!==v.code||t[18]!==b||t[19]!==P?(F=(0,$.jsx)(`span`,{className:`typography-code font-semibold w-3.5 shrink-0 text-center uppercase`,style:P,title:b,"aria-label":b,children:v.code}),t[17]=v.code,t[18]=b,t[19]=P,t[20]=F):F=t[20];let I,L;t[21]===n.path?(I=t[22],L=t[23]):(I=(0,$.jsx)(jt,{filePath:n.path,className:`size-3 shrink-0`}),L=(0,$.jsx)(kt,{path:n.path,className:`min-w-0 flex-1 typography-code`}),t[21]=n.path,t[22]=I,t[23]=L);let R;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(R={color:`var(--status-success)`},t[24]=R):R=t[24];let z;t[25]===x?z=t[26]:(z=(0,$.jsxs)(`span`,{style:R,children:[`+`,x]}),t[25]=x,t[26]=z);let B,te;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(`span`,{className:`text-muted-foreground mx-0.5`,children:`/`}),te={color:`var(--status-error)`},t[27]=B,t[28]=te):(B=t[27],te=t[28]);let V;t[29]===S?V=t[30]:(V=(0,$.jsxs)(`span`,{style:te,children:[`-`,S]}),t[29]=S,t[30]=V);let H;t[31]!==z||t[32]!==V?(H=(0,$.jsxs)(`span`,{className:`shrink-0 typography-code tabular-nums`,children:[z,B,V]}),t[31]=z,t[32]=V,t[33]=H):H=t[33];let U;t[34]!==F||t[35]!==I||t[36]!==L||t[37]!==H?(U=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[F,I,L,H]}),t[34]=F,t[35]=I,t[36]=L,t[37]=H,t[38]=U):U=t[38];let ne;t[39]!==h||t[40]!==A||t[41]!==n.path||t[42]!==O||t[43]!==c||t[44]!==g||t[45]!==y?(ne=h?null:(0,$.jsxs)(`div`,{className:`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,children:[g?(0,$.jsxs)(mt,{children:[(0,$.jsx)(ft,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,onClick:O,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":y(`gitView.changes.revertFileAria`,{path:n.path}),children:c?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:`arrow-go-back`,className:`size-3.5`})})}),(0,$.jsx)(pt,{sideOffset:8,children:y(`gitView.changes.revertFileTooltip`)})]}):null,A]}),t[39]=h,t[40]=A,t[41]=n.path,t[42]=O,t[43]=c,t[44]=g,t[45]=y,t[46]=ne):ne=t[46];let W;return t[47]!==w||t[48]!==o||t[49]!==M||t[50]!==N||t[51]!==U||t[52]!==ne||t[53]!==j?(W=(0,$.jsxs)(`div`,{className:j,role:`button`,tabIndex:0,onClick:o,onKeyDown:w,style:M,children:[N,U,ne]}),t[47]=w,t[48]=o,t[49]=M,t[50]=N,t[51]=U,t[52]=ne,t[53]=j,t[54]=W):W=t[54],W}),ds=e=>e.replace(/\\/g,`/`).replace(/^\/+/,``).trim(),fs=(e,t)=>({id:`dir:${e}`,path:e,name:t,children:new Map,directFiles:[],files:[]}),ps=e=>{let t=fs(``,``);for(let n of e){let e=ds(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=fs(e,t);a.files.push(n),i.children.set(t,a),i=a}}i.directFiles.push(n)}return t},ms=(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:${ds(e.path)}`,kind:`file`,depth:i,file:e})};return r(e,0),n},hs=1e3,gs=34,_s=30,vs=`pl-0 pr-2`,ys=`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,bs=`flex size-6 items-center justify-center tabular-nums typography-code text-muted-foreground`,xs=`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`,Ss=`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`,Cs=(e,t)=>`${e} ${t}`,ws=({groups:e,diffStats:t,revertingPaths:n,isRevertingAll:r=!1,headerBackgroundClassName:i=`bg-sidebar`,onVisiblePathsChange:a,onRevertAll:o,onRevertDirectory:c,headerLeadingActions:l,headerActions:u})=>{let{t:d}=ee(),f=Q.useRef(null),p=s(e=>e.gitChangesViewMode),m=s(e=>e.setGitChangesViewMode),h=p===`tree`,g=Q.useMemo(()=>e.filter(e=>e.entries.length>0),[e]),[_,v]=Q.useState(new Set),[y,b]=Q.useState(new Set),[x,S]=Q.useState(!1),[C,w]=Q.useState(null),T=Q.useRef(new Set),E=Q.useMemo(()=>g.map(e=>ps(e.entries)),[g]),D=Q.useMemo(()=>{let e=new Map;return g.forEach((t,n)=>{let r=[],i=e=>{e.children.forEach(e=>{r.push(Cs(t.id,e.path)),i(e)})},a=E[n];a&&i(a),e.set(t.id,r)}),e},[E,g]);Q.useEffect(()=>{if(!h){T.current=new Set;return}let e=new Set(Array.from(D.values()).flat()),t=T.current,n=t.size===0&&e.size>0;b(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}),T.current=e},[D,h]);let O=Q.useMemo(()=>{let e=[];return g.forEach((t,n)=>{if(e.push({type:`header`,key:`header:${t.id}`,groupIndex:n}),!_.has(t.id)){if(h){let r=new Set;y.forEach(e=>{e.startsWith(`${t.id} `)&&r.add(e.slice(t.id.length+1))}),ms(E[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},[_,y,h,E,g]),k=g[0]??null,A=Q.useMemo(()=>k?O.filter(e=>e.type!==`header`||e.groupIndex!==0):O,[k,O]),j=A.length,M=j>=hs,N=$t({count:j,enabled:M,getScrollElement:()=>f.current,estimateSize:()=>gs,overscan:12,getItemKey:e=>A[e]?.key??e}),P=N.getVirtualItems(),F=Q.useMemo(()=>{if(!M)return 0;let e=f.current?.scrollTop??0;return P.find(t=>t.end>e)?.index??0},[M,P,f]);Q.useEffect(()=>{if(!a)return;let e=e=>e&&e.type===`file`?e.file.path:null;if(j===0){a([]);return}if(!M){let e=[];for(let t of A)if(t.type===`file`&&(e.push(t.file.path),e.length>=_s))break;a(e);return}a(A.slice(F,F+Math.ceil((f.current?.clientHeight??0)/gs)+_s).map(t=>e(t)).filter(e=>!!e).slice(0,_s))},[a,j,A,M,F]);let I=Q.useCallback(e=>{v(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),L=Q.useCallback((e,t)=>{b(n=>{let r=new Set(n),i=Cs(e,t);return r.has(i)?r.delete(i):r.add(i),r})},[]),R=Q.useCallback(e=>{let t=D.get(e)??[];b(e=>{let n=new Set(e);return t.forEach(e=>n.add(e)),n})},[D]),z=Q.useCallback(e=>{let t=D.get(e)??[];b(e=>{let n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[D]),B=Q.useMemo(()=>{let e=new Set;return g.forEach(t=>t.entries.forEach(t=>e.add(t.path))),Array.from(e)},[g]),te=B.length,V=C?r||C.paths.some(e=>n.has(e)):!1,H=Q.useCallback(async()=>{!o||r||B.length===0||(await o(B),S(!1))},[B,r,o]),U=Q.useCallback(async()=>{!c||!C||V||(await c(C.paths),w(null))},[V,c,C]),ne=Q.useCallback((e,t={})=>{let{pinned:n=!1,showToolbar:a=!1}=t,s=_.has(e.id),c=e.entries.length,f=D.get(e.id)??[],p=f.length>0&&f.every(e=>y.has(e)),g=d(p?`diffView.actions.collapseAll`:`diffView.actions.expandAll`),v=d(h?`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,vs,!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:c}),(0,$.jsx)(X,{name:`arrow-down-s`,className:Y(`size-3 shrink-0 text-muted-foreground transition-transform`,s&&`-rotate-90`)})]}),(0,$.jsxs)(`div`,{className:ys,children:[h?(0,$.jsx)(`button`,{type:`button`,onClick:()=>{if(p){z(e.id);return}R(e.id)},className:Ss,"aria-label":g,title:g,children:(0,$.jsx)(X,{name:p?`contract-up-down`:`expand-up-down`,className:`size-3.5`})}):null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>m(h?`flat`:`tree`),"aria-label":v,title:v,"aria-pressed":h,className:Ss,children:(0,$.jsx)(X,{name:h?`node-tree`:`list-unordered`,className:`size-3.5`})}),a&&o&&te>0?(0,$.jsx)(`button`,{type:`button`,onClick:()=>S(!0),disabled:r,className:Ss,"aria-label":d(`gitView.changes.revertAll`),title:d(`gitView.changes.revertAll`),children:r?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:`arrow-go-back`,className:`size-3.5`})}):null,a?l:null,a?u:null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onActionAll(e.entries.map(e=>e.path)),className:xs,"aria-label":e.actionAllLabel,title:e.actionAllLabel,children:e.actionSymbol})]})]})},[z,_,D,R,y,u,i,l,r,h,o,te,m,d,I]),W=Q.useCallback((e,t,i)=>{let a=y.has(Cs(e.id,t.path)),o=t.files.map(e=>e.path),s=r||o.some(e=>n.has(e)),l=e.showRevertActions!==!1&&!!c;return(0,$.jsxs)(`div`,{className:Y(`group flex h-8 items-center`,vs),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":d(a?`gitView.changes.collapseDirectoryAria`:`gitView.changes.expandDirectoryAria`,{path:t.path}),children:[a?(0,$.jsx)(X,{name:`folder-open-fill`,className:`h-3.5 w-3.5 flex-shrink-0 text-muted-foreground`}):(0,$.jsx)(X,{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:ys,children:[(0,$.jsx)(`span`,{className:bs,children:t.files.length}),l?(0,$.jsx)(`button`,{type:`button`,onClick:()=>w({path:t.path,paths:o,count:o.length}),disabled:s,className:Ss,"aria-label":d(`gitView.changes.revertDirectoryAria`,{path:t.path}),title:d(`gitView.changes.revertDirectoryTooltip`),children:s?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:`arrow-go-back`,className:`size-3.5`})}):null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onActionAll(t.files.map(e=>e.path)),className:xs,"aria-label":d(e.actionSymbol===`+`?`gitView.changes.stageDirectoryAria`:`gitView.changes.unstageDirectoryAria`,{path:t.path}),title:d(e.actionSymbol===`+`?`gitView.changes.stageDirectoryAria`:`gitView.changes.unstageDirectoryAria`,{path:t.path}),children:e.actionSymbol})]})]})},[y,r,c,n,d,L]),re=Q.useCallback(e=>{let i=g[e.groupIndex];if(!i)return null;if(e.type===`header`)return ne(i,{showToolbar:!1});if(e.type===`directory`)return W(i,e.directory,e.depth);let a=e.file;return(0,$.jsx)(us,{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:vs,indentPx:e.depth*14,actionAtStart:!1,showRevert:i.showRevertActions!==!1})},[t,r,W,ne,n,g]),G=Q.useCallback(e=>{let t=A[e],n=A[e-1];return!t||!n||t.type!==`file`&&t.type!==`directory`||n.type!==`file`&&n.type!==`directory`?!1:n.groupIndex===t.groupIndex},[A]);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:[k?(0,$.jsx)(`div`,{className:Y(`shrink-0`,i),children:ne(k,{pinned:!0,showToolbar:!0})}):null,(0,$.jsx)(et,{ref:f,className:`overlay-scrollbar-target overlay-scrollbar-container min-h-0 w-full flex-1 overflow-x-hidden overflow-y-auto`,children:M?(0,$.jsx)(`div`,{style:{height:N.getTotalSize(),position:`relative`},children:P.map(e=>{let t=A[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:N.measureElement,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`},className:Y(G(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:re(t)},t.key):null})}):(0,$.jsx)(`div`,{role:`list`,"aria-label":d(`gitView.changes.changedFilesAria`),children:A.map((e,t)=>(0,$.jsx)(`div`,{className:Y(`relative`,G(t)&&`before:pointer-events-none before:absolute before:left-0 before:right-2 before:top-0 before:border-t before:border-border/60`),children:re(e)},e.key))})}),(0,$.jsx)(Ot,{containerRef:f,disableHorizontal:!0})]}),(0,$.jsx)(Me,{open:x,onOpenChange:e=>{!r&&!e&&S(!1)},children:(0,$.jsxs)(ke,{className:`max-w-md`,children:[(0,$.jsxs)(De,{children:[(0,$.jsx)(Ae,{children:d(`gitView.changes.revertAllDialogTitle`)}),(0,$.jsx)(je,{children:d(te===1?`gitView.changes.revertAllDescriptionSingle`:`gitView.changes.revertAllDescriptionPlural`,{count:te})})]}),(0,$.jsxs)(Oe,{children:[(0,$.jsx)(Z,{variant:`outline`,size:`sm`,onClick:()=>S(!1),disabled:r,children:d(`gitView.common.cancel`)}),(0,$.jsx)(Z,{variant:`destructive`,size:`sm`,onClick:()=>void H(),disabled:r,children:d(r?`gitView.changes.reverting`:`gitView.changes.revertAll`)})]})]})}),(0,$.jsx)(Me,{open:!!C,onOpenChange:e=>{!V&&!e&&w(null)},children:(0,$.jsxs)(ke,{className:`max-w-md`,children:[(0,$.jsxs)(De,{children:[(0,$.jsx)(Ae,{children:d(`gitView.changes.revertDirectoryDialogTitle`)}),(0,$.jsx)(je,{children:C?C.count===1?d(`gitView.changes.revertDirectoryDescriptionSingle`,{count:C.count,path:C.path}):d(`gitView.changes.revertDirectoryDescriptionPlural`,{count:C.count,path:C.path}):null})]}),(0,$.jsxs)(Oe,{children:[(0,$.jsx)(Z,{variant:`outline`,size:`sm`,onClick:()=>w(null),disabled:V,children:d(`gitView.common.cancel`)}),(0,$.jsx)(Z,{variant:`destructive`,size:`sm`,onClick:()=>void U(),disabled:V||!C,children:d(V?`gitView.changes.reverting`:`gitView.changes.revertDirectory`)})]})]})})]})},Ts=e=>{let t=(0,yn.c)(26),{stagedCount:n,unstagedCount:r,onLoad:i}=e,{t:a}=ee(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(X,{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)(X,{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)(Z,{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},Es=e=>e?e.oversized===!0:!1,Ds=38,Os=200,ks=e=>{let t=(0,yn.c)(20),{value:n,onChange:r,placeholder:i,disabled:a,hasTouchInput:o,isMobile:c}=e,l=a!==void 0&&a,u=o!==void 0&&o,d=c!==void 0&&c,{t:f}=ee(),p=Q.useRef(null),m=s(As),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{let e=p.current;if(!e)return;let t=document.activeElement===e,n=()=>{e.style.height=`${Ds}px`;let n=e.scrollHeight,r=Math.min(Math.max(n,Ds),Os);e.style.height=`${r}px`,e.style.overflowY=n>Os?`auto`:`hidden`,n>Os&&!t&&(e.scrollTop=e.scrollHeight)};n();let r=window.requestAnimationFrame(n);return()=>{window.cancelAnimationFrame(r)}},t[0]=h):h=t[0];let g;t[1]===n?g=t[2]:(g=[n],t[1]=n,t[2]=g),Q.useLayoutEffect(h,g);let _;t[3]===r?_=t[4]:(_=e=>r(e.target.value),t[3]=r,t[4]=_);let v;t[5]!==i||t[6]!==f?(v=i??f(`gitView.commit.messagePlaceholder`),t[5]=i,t[6]=f,t[7]=v):v=t[7];let y=u?`on`:`off`,b=u?`sentences`:`off`,x=d||m,S=l&&`opacity-50`,C;t[8]===S?C=t[9]:(C=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)]`,S),t[8]=S,t[9]=C);let w;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(w={minHeight:Ds,maxHeight:Os},t[10]=w):w=t[10];let T;return t[11]!==l||t[12]!==x||t[13]!==C||t[14]!==_||t[15]!==v||t[16]!==y||t[17]!==b||t[18]!==n?(T=(0,$.jsx)(`textarea`,{ref:p,value:n,onChange:_,placeholder:v,rows:1,disabled:l,autoCorrect:y,autoCapitalize:b,spellCheck:x,className:C,style:w}),t[11]=l,t[12]=x,t[13]=C,t[14]=_,t[15]=v,t[16]=y,t[17]=b,t[18]=n,t[19]=T):T=t[19],T};function As(e){return e.inputSpellcheckEnabled}var js=e=>{let t=(0,yn.c)(30),{highlights:n,onInsert:r}=e,{t:i}=ee();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)(X,{name:`arrow-down`,className:`size-4`}),t[9]=u):u=t[9];let d;t[10]!==o||t[11]!==l?(d=(0,$.jsx)(ft,{asChild:!0,children:(0,$.jsx)(Z,{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)(pt,{sideOffset:8,children:f}),t[15]=f,t[16]=p);let m;t[17]!==d||t[18]!==p?(m=(0,$.jsxs)(mt,{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(Ms),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 Ms(e,t){return(0,$.jsx)(`li`,{className:`typography-meta text-foreground`,children:e},`${e}-${t}`)}var Ns=e=>{let t=(0,yn.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}=ee(),_=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}=Dt(),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)(js,{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)(ks,{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)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{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)(Z,{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)(mt,{children:[(0,$.jsx)(ft,{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)(X,{name:`emotion-happy`,className:`size-4`})})}),(0,$.jsx)(pt,{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)(X,{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)(X,{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 te;t[51]!==l||t[52]!==R||t[53]!==z||t[54]!==B?(te=(0,$.jsx)(Z,{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]=te):te=t[55];let V;t[56]!==y||t[57]!==d||t[58]!==c||t[59]!==b||t[60]!==u||t[61]!==g?(V=b?(0,$.jsxs)(mt,{children:[(0,$.jsx)(ft,{asChild:!0,children:(0,$.jsx)(Z,{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)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`arrow-up`,className:`size-3.5`})})}),(0,$.jsx)(pt,{side:`top`,children:(0,$.jsx)(`p`,{children:g(`gitView.commit.push`)})})]}):(0,$.jsx)(Z,{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)(X,{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)(X,{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]=V):V=t[62];let H;t[63]!==F||t[64]!==I||t[65]!==te||t[66]!==V?(H=(0,$.jsxs)(`div`,{className:`@container/commit-actions flex items-center gap-2 min-w-0`,children:[F,I,L,te,V]}),t[63]=F,t[64]=I,t[65]=te,t[66]=V,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 ne;return t[72]!==U||t[73]!==T?(ne=(0,$.jsxs)(`section`,{className:`border-0 bg-transparent rounded-none`,children:[T,U]}),t[72]=U,t[73]=T,t[74]=ne):ne=t[74],ne},Ps=e=>{let t=e.time?.created;return typeof t==`number`&&Number.isFinite(t)?t:0},Fs=(e,t)=>e.filter(e=>t.has(e.id)).sort((e,t)=>Ps(t)-Ps(e)),Is=(e,t)=>e?t.kind===e.kind?t.projectRoot.length===e.projectRoot.length?t.projectId.localeCompare(e.projectId)<0:t.projectRoot.length>e.projectRoot.length:t.kind===`project`:!0,Ls=(e,t,n)=>{Is(e.get(t),n)&&e.set(t,n)},Rs=e=>{let t=e;return c(t.directory)??c(t.project?.worktree)},zs=e=>{if(e===`/`||/^[A-Z]:$/.test(e))return null;let t=e.lastIndexOf(`/`);return t<0?null:t===0?`/`:t===2&&/^[A-Z]:\//.test(e)?e.slice(0,2):e.slice(0,t)},Bs=(e,t,n,r,i=[])=>{let a=new Map,o=new Map;for(let e of t){let t=c(e.normalizedPath);if(!t)continue;let n=o.get(t);(!n||e.id.localeCompare(n.id)<0)&&o.set(t,e),Ls(a,t,{projectId:e.id,projectRoot:t,scopeDirectory:t,kind:`project`})}if(!r)for(let[e,t]of n){let n=c(e),r=n?o.get(n):void 0;if(!(!r||!n))for(let e of t){let t=c(e.path);t&&Ls(a,t,{projectId:r.id,projectRoot:n,scopeDirectory:t,kind:`worktree`})}}let s=new Map,l=new Map,u=new Map,d=new Map,f=new Map,p=e=>{if(!e)return null;if(s.has(e))return s.get(e)??null;if(r){let t=a.get(e)??null;return s.set(e,t),t}let t=[],n=e,i=null;for(;n;){if(s.has(n)){i=s.get(n)??null;break}if(t.push(n),i=a.get(n)??null,i)break;n=zs(n)}for(let e of t)s.set(e,i);return i},m=(e,t,n)=>{for(let r of e){let e=p(Rs(r));if(!e)continue;l.set(r.id,e);let i=t.get(e.projectId);if(i?i.push(r):t.set(e.projectId,[r]),!n)continue;let a=n.get(e.scopeDirectory);a?a.add(r.id):n.set(e.scopeDirectory,new Set([r.id]))}};return m(e,u,f),m(i,d),{bySessionId:l,sessionsByProject:u,archivedSessionsByProject:d,sessionsByScope:f,directoryResolutions:s.size}},Vs=e=>!!e.time?.archived,Hs=e=>{let t=e.parentID;return typeof t==`string`&&t.trim()?t:null},Us=(e,t={})=>{let n=t.pinnedSessionIds??new Set,r=t.omitPinnedSessions===!0,i=t.getWorktree??(()=>null),a=Ie(e).sort((e,t)=>Fe(e,t,n)),o=new Map(a.map(e=>[e.id,e])),s=new Map;a.forEach(e=>{let t=Hs(e);if(!t)return;let i=o.get(t);if(!i||Vs(i)!==Vs(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)=>Fe(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)||Hs(e))).map(e=>c(e))},Ws=()=>{let e=J.getState(),t=e.currentSessionId,n=s.getState();Wi({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})},Gs=()=>{j(),T.reconnectToRuntimeBaseUrl(),he.setState({catalogTransportIdentity:n()}),re()},Ks=e=>{J.getState().prepareForRuntimeSwitch(e.previousRuntimeKey),s.getState().prepareForRuntimeSwitch(e.previousRuntimeKey),e.previousRuntimeKey&&ie.getState().stopRunningRunsForRuntime(e.previousRuntimeKey),j(),T.reconnectToRuntimeBaseUrl(),he.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`,isConnected:!1,isInitialized:!1,connectionPhase:`connecting`,lastDisconnectReason:null}),Se.getState().resetForRuntimeSwitch(),ve.getState().resetForRuntimeSwitch(),I.getState().reset(),ln(),J.getState().restoreForRuntimeSwitch(e.runtimeKey),s.getState().restoreForRuntimeSwitch(e.runtimeKey),Ws(),re()};export{ur as A,qn as B,Tr as C,_r as D,br as E,sr as F,Ln as G,Jn as H,Zn as I,En as K,er as L,ir as M,lr as N,gr as O,or as P,tr as R,wr as S,Cr as T,Hn as U,Yn as V,Rn as W,hi as _,Fs as a,Ar as b,Ts as c,as as d,Fa as f,Qi as g,ia as h,Bs as i,cr as j,fr as k,ws as l,fa as m,Ks as n,Ns as o,pa as p,Tn as q,Us as r,Es as s,Gs as t,$o as u,kr as v,Er as w,jr as x,Or as y,$n as z};
|