@openchambery/web 1.17.1 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/lib/DOCUMENTATION.md +1 -0
- package/dist/assets/{AgentAvatar-C6Hxu5_o.js → AgentAvatar-B2kZjgaf.js} +1 -1
- package/dist/assets/{AssistantView-CbnxMZU0.js → AssistantView-Dc9MhgcD.js} +1 -1
- package/dist/assets/{ChatContainer-DEDGosbz.js → ChatContainer-CA3RO1yP.js} +40 -40
- package/dist/assets/{DiagramView-Byxhaduz.js → DiagramView-CpT4q2Jg.js} +1 -1
- package/dist/assets/{FadeInOnReveal-CvNA_aGD.js → FadeInOnReveal-aeWlaqVB.js} +1 -1
- package/dist/assets/{Icon-BPJ_quEe.js → Icon-AXqa-fYB.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-Cv8V-Q5l.js → MarkdownRendererImpl-DLnXrjCS.js} +2 -2
- package/dist/assets/{MobileDetailNavigation-lVtCe-5P.js → MobileDetailNavigation-BYX8jFRg.js} +1 -1
- package/dist/assets/MobileShareBridge-BJzGsvUa.js +4 -0
- package/dist/assets/MobileSurface-Cfe17dw4.js +2 -0
- package/dist/assets/{MultiRunWindow-1kkKTh4h.js → MultiRunWindow-DEYIMkSg.js} +1 -1
- package/dist/assets/{OnboardingScreen-CdvaEBtt.js → OnboardingScreen-CCfdEtW6.js} +1 -1
- package/dist/assets/{OverlayScrollbar-Dqk1zGJB.js → OverlayScrollbar-CpQvV-qY.js} +1 -1
- package/dist/assets/SettingsView-PjA5aLCR.js +25 -0
- package/dist/assets/{SettingsWindow-DMQMRgc3.js → SettingsWindow-DOe4sCjl.js} +1 -1
- package/dist/assets/{TerminalView-jYq0JQPc.js → TerminalView-Bf-2wMV0.js} +1 -1
- package/dist/assets/{ToolOutputDialog-DJefd2N6.js → ToolOutputDialog-DuT5ne12.js} +1 -1
- package/dist/assets/{appThemeRegistry-BXeIggYO.js → appThemeRegistry--wNZ5yxf.js} +2 -2
- package/dist/assets/{button-BmNJBT13.js → button-CDvMVaiO.js} +1 -1
- package/dist/assets/{clipboard-CXWbHCAk.js → clipboard-Jdqe05db.js} +1 -1
- package/dist/assets/{collapsible-68IqWBM1.js → collapsible-C2aamDvD.js} +1 -1
- package/dist/assets/{context-menu-BbRpMBQh.js → context-menu-CS_u7xxB.js} +1 -1
- package/dist/assets/desktopHosts-CBoBpJ1Z.js +1 -0
- package/dist/assets/desktopRelayRestore-l2R9muux.js +1 -0
- package/dist/assets/{diagram-YN0GZ1Q0.js → diagram-CEon0BQs.js} +1 -1
- package/dist/assets/{dialog-BV1ENlLf.js → dialog-BzZ3cKxG.js} +1 -1
- package/dist/assets/es-C25PRSjo.js +15 -0
- package/dist/assets/{fileQueries-i4oziMnC.js → fileQueries-CE_DaZWQ.js} +1 -1
- package/dist/assets/fr-Cv8ZWQdW.js +13 -0
- package/dist/assets/{gitApi-Bs_2iBAm.js → gitApi-DSLGdswL.js} +3 -3
- package/dist/assets/gitApiHttp-D8j1qRH4.js +2 -0
- package/dist/assets/{input-BLVhPvhN.js → input-k9DGGyZ6.js} +1 -1
- package/dist/assets/insertionBoundaries-BkoTIR-0.js +1 -0
- package/dist/assets/{ja-Dcb0VtDE.js → ja-Ue9m9eSe.js} +3 -3
- package/dist/assets/{ko-CX71xNDX.js → ko-DWBUCCV6.js} +3 -3
- package/dist/assets/main-CTnxV3y3.js +172 -0
- package/dist/assets/{main-CT0DuuLm.js → main-D1Xze0xA.js} +2 -2
- package/dist/assets/{markdown-worker-Cq3Twp1A.js → markdown-worker-DkeWiER6.js} +1 -1
- package/dist/assets/{markdownTheme-CCnvI6L0.js → markdownTheme-DNT93i5L.js} +1 -1
- package/dist/assets/miniChat-Dxajshg_.js +2 -0
- package/dist/assets/mobile-CisSv-ca.js +2 -0
- package/dist/assets/multirun-BOb2dW9T.js +4 -0
- package/dist/assets/persistence-DPNMIbF5.js +3 -0
- package/dist/assets/{pl-mR_3Sqr8.js → pl-DaBaPCyE.js} +3 -3
- package/dist/assets/projectMeta-WTDhB__y.js +3 -0
- package/dist/assets/pt-BR-C2cJZ43o.js +15 -0
- package/dist/assets/radio-DZwuHb7-.js +1 -0
- package/dist/assets/renderElectronMiniChatApp-DpYFpBSy.js +2 -0
- package/dist/assets/renderMobileApp-DB1TXtLg.js +23 -0
- package/dist/assets/runtimeConfig-BtWi74Pm.js +1 -0
- package/dist/assets/runtimeEndpointReset-BnA1DoNG.js +145 -0
- package/dist/assets/{sortable-tabs-strip-oKJ700WG.js → sortable-tabs-strip-DADoz-JR.js} +1 -1
- package/dist/assets/src-oHrYIqHF.css +2 -0
- package/dist/assets/{store-oojlrF4d.js → store-SqV3zfE8.js} +4 -4
- package/dist/assets/{terminalApi-BYTA045F.js → terminalApi-tB3qLcfa.js} +1 -1
- package/dist/assets/{tooltip-BYGBBTc2.js → tooltip-DMNR5rN0.js} +1 -1
- package/dist/assets/uk-DJz_P8OZ.js +15 -0
- package/dist/assets/{url-CGHw6D-E.js → url-7MqoLs9X.js} +1 -1
- package/dist/assets/useAppFontEffects-CeS0e0FK.js +7 -0
- package/dist/assets/{useAssistantUIStore-ESTV1mEY.js → useAssistantUIStore-Bq3cPj2x.js} +1 -1
- package/dist/assets/{useDesktopWindowControlsLayout-Cq5a2gcJ.js → useDesktopWindowControlsLayout-DwFMUFtC.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-DG6uPzBG.js → useEffectiveDirectory-Dp8McufI.js} +1 -1
- package/dist/assets/{useFontPreferences-Bu4ME5hk.js → useFontPreferences-CIurCeNv.js} +1 -1
- package/dist/assets/useMobileNavigationStore-kWPnKBP1.js +475 -0
- package/dist/assets/useSessionAutoCleanup-BLiIZW0x.js +1 -0
- package/dist/assets/useUIStore-5agS8bsW.js +1 -0
- package/dist/assets/{useWorkerHighlightedLines-ADgu9578.js → useWorkerHighlightedLines-Cnxz7HaG.js} +1 -1
- package/dist/assets/{utils-DyUyiLje.js → utils-Co19EJEL.js} +1 -1
- package/dist/assets/zh-CN-DLAKDOM9.js +15 -0
- package/dist/assets/zh-TW-s3Jjx1_n.js +15 -0
- package/dist/index.html +9 -9
- package/dist/mini-chat.html +9 -9
- package/dist/mobile.html +9 -9
- package/package.json +1 -1
- package/server/index.d.ts +4 -0
- package/server/index.js +29 -15
- package/server/lib/client-auth/pairing.js +7 -1
- package/server/lib/client-auth/pairing.test.js +45 -0
- package/server/lib/desktop-hosts/routes.js +157 -0
- package/server/lib/desktop-hosts/routes.test.js +227 -0
- package/server/lib/message-queue/DOCUMENTATION.md +1 -1
- package/server/lib/message-queue/routes.js +1 -1
- package/server/lib/message-queue/routes.test.js +1 -0
- package/server/lib/message-queue/service.js +12 -1
- package/server/lib/message-queue/service.test.js +30 -0
- package/server/lib/opencode/DOCUMENTATION.md +4 -4
- package/server/lib/opencode/bootstrap-runtime.js +7 -0
- package/server/lib/opencode/cli-entry-runtime.js +6 -0
- package/server/lib/opencode/cli-entry-runtime.test.js +43 -0
- package/server/lib/opencode/core-routes.js +4 -1
- package/server/lib/opencode/core-routes.test.js +29 -0
- package/server/lib/opencode/openchamber-routes.js +12 -0
- package/server/lib/opencode/settings-runtime.js +1 -1
- package/server/lib/package-manager.js +3 -1
- package/server/lib/relay/DOCUMENTATION.md +44 -1
- package/server/lib/relay/host-client.js +4 -1
- package/server/lib/relay/service.js +16 -8
- package/server/lib/relay/service.test.js +21 -6
- package/server/lib/relay/tunnel-host.js +57 -4
- package/server/lib/relay/tunnel-host.test.js +250 -2
- package/dist/assets/MobileShareBridge-DAlvgjo1.js +0 -4
- package/dist/assets/MobileSurface-Bde8yLWo.js +0 -2
- package/dist/assets/SettingsView-D0dhTIur.js +0 -25
- package/dist/assets/desktopHosts-BpjUSDz4.js +0 -1
- package/dist/assets/desktopRelayRestore-BzUEk1i7.js +0 -1
- package/dist/assets/es-EXZUX1sB.js +0 -15
- package/dist/assets/fr-jWNPO91J.js +0 -13
- package/dist/assets/gitApiHttp-C1DaEMKR.js +0 -2
- package/dist/assets/insertionBoundaries-BAFtAotq.js +0 -1
- package/dist/assets/main-G8tKFcTV.js +0 -172
- package/dist/assets/miniChat-BP3OHqNF.js +0 -2
- package/dist/assets/mobile-BtwuDs-C.js +0 -2
- package/dist/assets/multirun-B-L3JH60.js +0 -4
- package/dist/assets/persistence-C_KCiMcY.js +0 -3
- package/dist/assets/projectMeta-Cp74cItv.js +0 -3
- package/dist/assets/pt-BR-D1RpVOvC.js +0 -15
- package/dist/assets/radio-Bs4mdPv5.js +0 -1
- package/dist/assets/renderElectronMiniChatApp-dgirEOtR.js +0 -2
- package/dist/assets/renderMobileApp-DK9qzy0P.js +0 -23
- package/dist/assets/runtimeConfig-JSaYFA5x.js +0 -1
- package/dist/assets/runtimeEndpointReset-C0eCWIE6.js +0 -145
- package/dist/assets/src-8zziWB78.css +0 -2
- package/dist/assets/uk-UvnVqWv-.js +0 -15
- package/dist/assets/useAppFontEffects-BhLcUfRB.js +0 -7
- package/dist/assets/useMobileNavigationStore-1xHjnAsg.js +0 -475
- package/dist/assets/useSessionAutoCleanup-BFletAeV.js +0 -1
- package/dist/assets/useUIStore-D6BTB4va.js +0 -1
- package/dist/assets/zh-CN-9v-RC966.js +0 -15
- package/dist/assets/zh-TW-BZ_wZdC-.js +0 -15
|
@@ -1,145 +0,0 @@
|
|
|
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,t as o}from"./useUIStore-D6BTB4va.js";import{$t as s,Xt as c,_n as l,d as u,kn as d,on as f,r as p,st as m,u as h,yn as g}from"./persistence-C_KCiMcY.js";import{nt as _,rt as v,tt as y}from"./vendor-base-ui-CnHfUmDN.js";import{kt as b,yt as x}from"./gitApiHttp-C1DaEMKR.js";import{n as S}from"./vendor-react-DLPElpoQ.js";import{n as C,s as w,t as T}from"./vendor-tanstack-react-query-D7pys_c9.js";import{i as E}from"./terminalApi-BYTA045F.js";import{n as D}from"./vendor-reactuses-core-DDoDDyM9.js";import{n as ee,r as O,t as k}from"./clipboard-CXWbHCAk.js";import{i as A,t as j}from"./store-oojlrF4d.js";import{$n as M,Ar as N,Ba as P,Cr as F,Dr as I,En as L,Gr as te,Hi as R,It as z,Jr as B,Lt as V,Ma as H,Pr as U,Sr as W,_n as ne,_o as G,br as K,co as re,ei as ie,en as ae,fo as oe,gr as se,hr as ce,ki as le,l as q,mn as ue,mr as J,pn as de,r as fe,uo as pe,vr as me,wo as he,xo as ge,xr as _e,yn as ve,yo as ye,yr as be}from"./useMobileNavigationStore-1xHjnAsg.js";import{t as xe}from"./MobileDetailNavigation-lVtCe-5P.js";import{i as Se,t as Ce}from"./useAssistantUIStore-ESTV1mEY.js";import{n as we,t as Y}from"./utils-DyUyiLje.js";import{n as X}from"./Icon-BPJ_quEe.js";import{a as Te,i as Ee,n as De,o as Oe,r as ke,t as Ae}from"./dialog-BV1ENlLf.js";import{t as Z}from"./button-BmNJBT13.js";import{d as je}from"./gitApi-Bs_2iBAm.js";import{R as Me,Z as Ne}from"./useAppFontEffects-BhLcUfRB.js";import{A as Pe,N as Fe,S as Ie,a as Le,c as Re,f as ze,g as Be,h as Ve,i as He,j as Ue,m as We,n as Ge,o as Ke,p as qe,u as Je,v as Ye,x as Xe}from"./projectMeta-Cp74cItv.js";import{t as Ze}from"./input-BLVhPvhN.js";import{i as Qe,n as $e,t as et}from"./tooltip-BYGBBTc2.js";import{_ as tt,g as nt,h as rt,m as it}from"./useSessionAutoCleanup-BFletAeV.js";import{n as at,t as ot}from"./useThemeSystem-DMzWVJaW.js";import{C as st,E as ct,O as lt,T as ut,X as dt,Y as ft,h as pt,j as mt,k as ht,p as gt,v as _t,w as vt,x as yt,y as bt}from"./radio-Bs4mdPv5.js";import{i as xt,t as St}from"./OverlayScrollbar-Dqk1zGJB.js";import{g as Ct,x as wt}from"./markdownTheme-CCnvI6L0.js";import{K as Tt,U as Et,V as Dt,W as Ot,et as kt,t as At,y as jt,z as Mt}from"./ChatContainer-DEDGosbz.js";import{n as Nt}from"./useRuntimeAPIs-DSLXJybW.js";import{c as Pt,n as Ft,t as It}from"./appThemeRegistry-BXeIggYO.js";import{h as Lt,p as Rt}from"./markdown-worker-Cq3Twp1A.js";import{n as zt}from"./useEffectiveDirectory-DG6uPzBG.js";import{f as Bt}from"./FadeInOnReveal-CvNA_aGD.js";import{E as Vt,T as Ht,b as Ut,g as Wt,k as Gt,r as Kt,x as qt,y as Jt}from"./insertionBoundaries-BAFtAotq.js";import{n as Yt}from"./useWorkerHighlightedLines-ADgu9578.js";import{t as Xt}from"./vendor-tanstack-react-virtual-tlDgH6PG.js";import{c as Zt,d as Qt,f as $t,l as en,m as tn,n as nn,o as rn,p as an,s as on,t as sn,u as cn}from"./vendor-pierre-diffs-BenIz2TM.js";import{a as ln,i as un,n as dn}from"./vendor-framer-motion-DFy_BSVd.js";import{E as fn,H as pn,J as mn,P as hn,X as gn,Y as _n,a as vn,g as yn,t as bn,u as xn}from"./MobileSurface-Bde8yLWo.js";import{a as Sn,i as Cn,n as wn,r as Tn,t as En}from"./context-menu-BbRpMBQh.js";import{n as Dn,r as On,t as kn}from"./collapsible-68IqWBM1.js";import{t as An}from"./vendor-cron-parser-CCD11YFT.js";var Q=e(v(),1),jn=S(),$=_(),Mn=e(y(),1);function Nn(){return new Worker(sn,{type:`module`})}var Pn=[`typescript`,`javascript`,`tsx`,`jsx`,`json`,`markdown`],Fn={unified:{poolSize:1,totalASTLRUCacheSize:24,lineDiffType:`none`},split:{poolSize:2,totalASTLRUCacheSize:56,lineDiffType:`word-alt`}},In,Ln,Rn=e=>{let t=Fn[e],n=new an({workerFactory:Nn,poolSize:t.poolSize,totalASTLRUCacheSize:t.totalASTLRUCacheSize},{theme:{light:`pierre-light`,dark:`pierre-dark`},langs:Pn,lineDiffType:t.lineDiffType,preferredHighlighter:`shiki-wasm`});return n.initialize(),n},zn=e=>{if(!(typeof window>`u`))return e===`split`?(Ln??=Rn(`split`),Ln):(In??=Rn(`unified`),In)},Bn=e=>{let t=(0,jn.c)(7),{children:n,renderTheme:r}=e,i=Hn(`unified`),a=Hn(`split`),o,s;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{i&&i.setRenderOptions({theme:r,lineDiffType:Fn.unified.lineDiffType}),a&&a.setRenderOptions({theme:r,lineDiffType:Fn.split.lineDiffType})},s=[r,a,i],t[0]=r,t[1]=a,t[2]=i,t[3]=o,t[4]=s):(o=t[3],s=t[4]),(0,Q.useEffect)(o,s);let c;return t[5]===n?c=t[6]:(c=(0,$.jsx)($.Fragment,{children:n}),t[5]=n,t[6]=c),c},Vn=e=>{let t=(0,jn.c)(11),{children:n}=e,r=ot(),i,a;if(t[0]!==r?.availableThemes||t[1]!==r?.darkThemeId||t[2]!==r?.lightThemeId){let e=wt(!1),n=wt(!0),o=r?.lightThemeId??e.metadata.id,s=r?.darkThemeId??n.metadata.id;a=r?.availableThemes.find(e=>e.metadata.id===o)??e,i=r?.availableThemes.find(e=>e.metadata.id===s)??n,It(a),It(i),t[0]=r?.availableThemes,t[1]=r?.darkThemeId,t[2]=r?.lightThemeId,t[3]=i,t[4]=a}else i=t[3],a=t[4];let o;t[5]!==i.metadata.id||t[6]!==a.metadata.id?(o={light:a.metadata.id,dark:i.metadata.id},t[5]=i.metadata.id,t[6]=a.metadata.id,t[7]=o):o=t[7];let s=o,c;return t[8]!==n||t[9]!==s?(c=(0,$.jsx)(Bn,{renderTheme:s,children:n}),t[8]=n,t[9]=s,t[10]=c):c=t[10],c},Hn=e=>{let t=(0,jn.c)(2),n=e===void 0?`unified`:e,r;return t[0]===n?r=t[1]:(r=zn(n),t[0]=n,t[1]=r),r},Un={},Wn=[],Gn=(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}},Kn=e=>{switch(e?.status){case`connected`:return`success`;case`failed`:return`error`;case`needs_auth`:case`needs_client_registration`:return`warning`;default:return`default`}},qn=({active:e,className:t,headerAction:n,listClassName:r,hideHeader:i=!1,mobileListDensity:a=!1})=>{let{t:o}=ee(),s=x(e=>e.currentDirectory)??null,c=pn(e=>e.connect),l=pn(e=>e.disconnect),{data:u,refetch:d,isError:f,error:p}=_n(s,{enabled:e}),{data:m}=mn(s,{enabled:e}),h=u??Un,g=m??Wn,[_,v]=Q.useState(!1),[y,b]=Q.useState(null),S=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]),C=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:C,"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&&S.length>0&&`rounded-xl bg-[var(--surface-muted)] p-1.5`),children:[S.map(e=>{let t=h[e]??(f&&!u&&g.some(t=>t.name===e)?{status:`failed`,error:p.message}:void 0),n=Kn(t),r=t?.status===`connected`,i=y===e,d=Gn(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)(et,{children:[(0,$.jsx)(Qe,{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)($e,{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)(gn,{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)}),S.length===0&&(0,$.jsx)(`div`,{className:`px-4 py-5 typography-ui-label text-muted-foreground text-center`,children:o(`mcpDropdown.empty.configureInConfig`)})]})})]})},Jn=e=>!(e.dismissed===`true`||e.sessionShown===`true`||e.hasActiveToast),Yn=e=>!(!e.version||e.seenVersions.has(e.version)||e.dismissedVersion!==null&&e.dismissedVersion===e.version),Xn=e=>{if(typeof e!=`object`||!e)return``;let t=e.version;return typeof t==`string`?t.trim():``},Zn=e=>!e||e.available!==!0||typeof e.latestVersion!=`string`?``:e.latestVersion.trim(),Qn=5e3,$n={setTimeout:(e,t)=>globalThis.setTimeout(e,t),clearTimeout:e=>globalThis.clearTimeout(e)};function er(e,t,n=$n){if(!e)return()=>void 0;let r=n.setTimeout(()=>{t().catch(()=>void 0)},Qn);return()=>n.clearTimeout(r)}var tr=`opencode-update-available`,nr=`opencode-upgrade-progress`,rr=`opencode-update-toast-dismissed-version`,ir=()=>{let{t:e}=ee(),t=o(e=>e.showOpenCodeUpdateNotifications),n=Q.useRef(new Set),r=Q.useRef(!1);Q.useEffect(()=>{t||M.dismiss(tr)},[t]);let i=Q.useCallback(()=>{M.dismiss(nr),P({message:e(`opencodeUpdate.toast.reload.message`),mode:`projects`,scopes:[`all`]}).catch(()=>void 0)},[e]),s=Q.useCallback(async()=>{if(!r.current){r.current=!0,M.dismiss(tr),M.message(e(`opencodeUpdate.toast.upgrading.title`),{id:nr,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 t=await d(`/api/opencode/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:JSON.stringify({})}),n=await t.json().catch(()=>null);if(!t.ok||n?.success===!1)throw Error(n?.error||t.statusText||e(`opencodeUpdate.toast.failed.description`));M.success(e(`opencodeUpdate.toast.updated.title`),{id:nr,description:n?.version?e(`opencodeUpdate.toast.updated.descriptionWithVersion`,{version:n.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){M.error(e(`opencodeUpdate.toast.failed.title`),{id:nr,description:t instanceof Error?t.message:e(`opencodeUpdate.toast.failed.description`),duration:1/0})}finally{r.current=!1}}},[i,e]);return Q.useEffect(()=>{let r=t=>{if(!o.getState().showOpenCodeUpdateNotifications){M.dismiss(tr);return}Yn({version:t,dismissedVersion:a().getItem(rr),seenVersions:n.current})&&(n.current.add(t),M.info(e(`opencodeUpdate.toast.available.title`),{id:tr,description:e(`opencodeUpdate.toast.available.description`,{version:t}),duration:1/0,action:{label:e(`opencodeUpdate.toast.actions.update`),onClick:s},cancel:{label:e(`opencodeUpdate.toast.actions.dismiss`),onClick:()=>{a().setItem(rr,t),p({openCodeUpdateToastDismissedVersion:t}),M.dismiss(tr)}}}))},i=e=>{let t=Xn(e.detail);r(t)},c=!1,l=er(t,async()=>{try{let e=await d(`/api/opencode/upgrade-status`,{headers:{Accept:`application/json`}});if(!e.ok)throw Error(e.statusText||`OpenCode upgrade status check failed`);let t=Zn(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)}},[s,t,e]),null},ar=()=>{let e=(0,jn.c)(3),[t,n]=Q.useState(or),{isUpdating:r}=t,i,a;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>oe(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)(dt,{width:80,height:80,isAnimated:!0})}),e[2]=o):o=e[2],o};function or(){return pe()}var sr=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)(it,{className:`w-full max-w-md`,children:[(0,$.jsx)(nt,{className:`text-center`,children:(0,$.jsxs)(tt,{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)(rt,{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 cr(e){let t=(0,jn.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)(sr,{...e,texts:l}),t[19]=e,t[20]=l,t[21]=u):u=t[21],u}var lr=e=>{let t=(0,jn.c)(10),{readOnly:n,active:r,selectionOverride:i}=e,a=n!==void 0&&n,o=r===void 0||r,s=q(ur),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)(At,{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)(cr,{sessionId:c,children:u}),t[7]=c,t[8]=u,t[9]=d):d=t[9],d};function ur(e){return e.currentSessionId}function dr(e){let t=(0,jn.c)(85),{draft:n,onEdit:r,onDelete:i,className:a,maxWidth:o}=e,{t:s}=ee(),c=ot()?.currentTheme,[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),p=typeof n.text==`string`?n.text:``,m;t[0]===p?m=t[1]:(m=p.length>150||p.split(`
|
|
2
|
-
`).length>3,t[0]=p,t[1]=m);let h=m,g;t[2]===a?g=t[3]:(g=Y(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden transition-all duration-200`,a),t[2]=a,t[3]=g);let _=c?.colors?.surface?.elevated,v=c?.colors?.interactive?.border,y=o?`${Math.max(200,Math.floor(o))}px`:void 0,b;t[4]!==_||t[5]!==v||t[6]!==y?(b={backgroundColor:_,borderColor:v,maxWidth:y},t[4]=_,t[5]=v,t[6]=y,t[7]=b):b=t[7];let x;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{e.preventDefault(),f(!0)},t[8]=x):x=t[8];let S;t[9]!==g||t[10]!==b?(S=(0,$.jsx)(`div`,{className:g,style:b,"data-comment-card":`true`,onContextMenu:x}),t[9]=g,t[10]=b,t[11]=S):S=t[11];let C;t[12]===n.fileLabel?C=t[13]:(C=(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,title:n.fileLabel,children:n.fileLabel}),t[12]=n.fileLabel,t[13]=C);let w;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(`span`,{children:`•`}),t[14]=w):w=t[14];let T;t[15]!==n.endLine||t[16]!==n.startLine||t[17]!==s?(T=s(`inlineComment.range.lines`,{start:n.startLine,end:n.endLine}),t[15]=n.endLine,t[16]=n.startLine,t[17]=s,t[18]=T):T=t[18];let E;t[19]===T?E=t[20]:(E=(0,$.jsx)(`span`,{children:T}),t[19]=T,t[20]=E);let D;t[21]===n.side?D=t[22]:(D=n.side&&(0,$.jsxs)(`span`,{children:[`(`,n.side,`)`]}),t[21]=n.side,t[22]=D);let O;t[23]!==E||t[24]!==D||t[25]!==C?(O=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-1.5`,children:[C,w,E,D]}),t[23]=E,t[24]=D,t[25]=C,t[26]=O):O=t[26];let k=l||!h,A=!l&&h&&`line-clamp-3`,j;t[27]===A?j=t[28]:(j=Y(`text-sm whitespace-pre-wrap break-words leading-relaxed`,A),t[27]=A,t[28]=j);let M;t[29]!==p||t[30]!==j?(M=(0,$.jsx)(`div`,{className:j,children:p}),t[29]=p,t[30]=j,t[31]=M):M=t[31];let N;t[32]!==h||t[33]!==l||t[34]!==s?(N=h&&(0,$.jsx)(On,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,className:`h-6 px-0 mt-1 text-xs text-muted-foreground hover:text-foreground w-full justify-start`,children:l?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`arrow-up-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showLess`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{name:`arrow-down-s`,className:`size-3 mr-1`}),s(`inlineComment.actions.showMore`)]})})}),t[32]=h,t[33]=l,t[34]=s,t[35]=N):N=t[35];let P;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(Dn,{}),t[36]=P):P=t[36];let F;t[37]!==k||t[38]!==M||t[39]!==N?(F=(0,$.jsxs)(kn,{open:k,onOpenChange:u,children:[M,N,P]}),t[37]=k,t[38]=M,t[39]=N,t[40]=F):F=t[40];let I;t[41]!==O||t[42]!==F?(I=(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[O,F]}),t[41]=O,t[42]=F,t[43]=I):I=t[43];let L;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(mt,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,className:`h-6 w-6 -mr-1 text-muted-foreground hover:text-foreground`,children:(0,$.jsx)(X,{name:`more`,className:`size-4`})})}),t[44]=L):L=t[44];let te;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(X,{name:`edit`,className:`size-4 mr-2`}),t[45]=te):te=t[45];let R;t[46]===s?R=t[47]:(R=s(`inlineComment.actions.editComment`),t[46]=s,t[47]=R);let z;t[48]!==r||t[49]!==R?(z=(0,$.jsxs)(ct,{onClick:r,children:[te,R]}),t[48]=r,t[49]=R,t[50]=z):z=t[50];let B;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(X,{name:`delete-bin`,className:`size-4 mr-2`}),t[51]=B):B=t[51];let V;t[52]===s?V=t[53]:(V=s(`inlineComment.actions.deleteComment`),t[52]=s,t[53]=V);let H;t[54]!==i||t[55]!==V?(H=(0,$.jsxs)(ct,{onClick:i,className:`text-destructive`,children:[B,V]}),t[54]=i,t[55]=V,t[56]=H):H=t[56];let U;t[57]!==z||t[58]!==H?(U=(0,$.jsxs)(vt,{children:[L,(0,$.jsxs)(ut,{align:`end`,children:[z,H]})]}),t[57]=z,t[58]=H,t[59]=U):U=t[59];let W;t[60]!==I||t[61]!==U?(W=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 p-3`,children:[I,U]}),t[60]=I,t[61]=U,t[62]=W):W=t[62];let ne;t[63]!==W||t[64]!==S?(ne=(0,$.jsx)(Sn,{render:S,children:W}),t[63]=W,t[64]=S,t[65]=ne):ne=t[65];let G;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(X,{name:`edit`,className:`size-4 mr-2`}),t[66]=G):G=t[66];let K;t[67]===s?K=t[68]:(K=s(`inlineComment.actions.editComment`),t[67]=s,t[68]=K);let re;t[69]!==r||t[70]!==K?(re=(0,$.jsxs)(Tn,{onClick:r,children:[G,K]}),t[69]=r,t[70]=K,t[71]=re):re=t[71];let ie;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(X,{name:`delete-bin`,className:`size-4 mr-2`}),t[72]=ie):ie=t[72];let ae;t[73]===s?ae=t[74]:(ae=s(`inlineComment.actions.deleteComment`),t[73]=s,t[74]=ae);let oe;t[75]!==i||t[76]!==ae?(oe=(0,$.jsxs)(Tn,{onClick:i,className:`text-destructive focus:text-destructive`,children:[ie,ae]}),t[75]=i,t[76]=ae,t[77]=oe):oe=t[77];let se;t[78]!==re||t[79]!==oe?(se=(0,$.jsxs)(wn,{children:[re,oe]}),t[78]=re,t[79]=oe,t[80]=se):se=t[80];let ce;return t[81]!==d||t[82]!==ne||t[83]!==se?(ce=(0,$.jsxs)(En,{open:d,onOpenChange:f,children:[ne,se]}),t[81]=d,t[82]=ne,t[83]=se,t[84]=ce):ce=t[84],ce}function fr(e){let t=(0,jn.c)(67),{initialText:n,onTextChange:r,onSave:i,onCancel:a,fileLabel:o,lineRange:s,isEditing:c,className:l,maxWidth:u,onAddToChat:d}=e,f=n===void 0?``:n,p=c!==void 0&&c,{t:m}=ee(),h=ot()?.currentTheme,{isMobile:g}=xt(),[_,v]=Q.useState(f),y=(0,Q.useRef)(null),b;t[0]===r?b=t[1]:(b=e=>{v(e),r?.(e)},t[0]=r,t[1]=b);let x=b,S=(0,Q.useRef)(s),C,w;t[2]===s?(C=t[3],w=t[4]):(C=()=>{s&&(S.current=s)},w=[s],t[2]=s,t[3]=C,t[4]=w),(0,Q.useEffect)(C,w);let T=br,E=T(s),D,O;t[5]===g?(D=t[6],O=t[7]):(D=()=>{let e=y.current;if(!e)return;let t=e.closest(`.overlay-scrollbar-container`),n=t?.scrollTop??window.scrollY,r=t?.scrollLeft??window.scrollX;if(g){e.scrollIntoView({behavior:`auto`,block:`nearest`});try{e.focus({preventScroll:!0})}catch{e.focus()}return}try{e.focus({preventScroll:!0})}catch{e.focus()}let i=e.value.length;try{e.setSelectionRange(i,i)}catch{}requestAnimationFrame(()=>{t?(t.scrollTop=n,t.scrollLeft=r):window.scrollTo({top:n,left:r})})},O=[g],t[5]=g,t[6]=D,t[7]=O),(0,Q.useEffect)(D,O);let k;t[8]!==a||t[9]!==i||t[10]!==_?(k=e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`?(e.preventDefault(),_.trim()&&i(_,T(S.current))):e.key===`Escape`&&(e.preventDefault(),a())},t[8]=a,t[9]=i,t[10]=_,t[11]=k):k=t[11];let A=k,j;t[12]!==i||t[13]!==_?(j=e=>{e.stopPropagation(),_.trim()&&i(_,T(S.current))},t[12]=i,t[13]=_,t[14]=j):j=t[14];let M=j,N;t[15]===l?N=t[16]:(N=Y(`rounded-lg border shadow-none w-full max-w-[min(100%,calc(var(--oc-context-panel-width,100vw)-var(--oc-editor-gutter-width,0px)))] overflow-hidden animate-in fade-in zoom-in-95 duration-200`,l),t[15]=l,t[16]=N);let P=h?.colors?.surface?.elevated,F=h?.colors?.interactive?.border,I=u?`${Math.max(200,Math.floor(u))}px`:void 0,L;t[17]!==P||t[18]!==F||t[19]!==I?(L={backgroundColor:P,borderColor:F,maxWidth:I},t[17]=P,t[18]=F,t[19]=I,t[20]=L):L=t[20];let te=yr,R=vr,z=(o||s)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-muted-foreground mb-2`,children:[o&&(0,$.jsx)(`span`,{className:`truncate max-w-[200px]`,children:o}),o&&s&&(0,$.jsx)(`span`,{children:`•`}),E&&(0,$.jsx)(`span`,{children:m(`inlineComment.range.lines`,{start:E.start,end:E.end})})]}),B;t[21]===x?B=t[22]:(B=e=>x(e.target.value),t[21]=x,t[22]=B);let V;t[23]!==g||t[24]!==m?(V=m(g?`inlineComment.input.placeholderShort`:`inlineComment.input.placeholder`),t[23]=g,t[24]=m,t[25]=V):V=t[25];let H;t[26]!==A||t[27]!==B||t[28]!==V||t[29]!==_?(H=(0,$.jsx)(Ke,{simple:!0,ref:y,value:_,onChange:B,onKeyDown:A,placeholder:V,outerClassName:`rounded-[var(--radius-xl)] bg-[var(--surface-subtle)] ring-1 ring-inset ring-border/60 focus-within:ring-2 focus-within:ring-[var(--interactive-focus-ring)]`,className:`min-h-[80px] px-3 py-2.5 text-sm resize-y`}),t[26]=A,t[27]=B,t[28]=V,t[29]=_,t[30]=H):H=t[30];let U;t[31]!==E||t[32]!==d||t[33]!==m?(U=E&&d?(0,$.jsxs)(Z,{variant:`outline`,size:`sm`,onClick:()=>d(E),onPointerDown:_r,className:`mr-auto h-8 gap-1.5`,children:[(0,$.jsx)(X,{name:`add`,className:`size-4`}),m(`chat.textSelection.actions.addToChat`),(0,$.jsx)(Dt,{shortcut:`⌘+I`})]}):null,t[31]=E,t[32]=d,t[33]=m,t[34]=U):U=t[34];let W;t[35]===m?W=t[36]:(W=m(`inlineComment.actions.cancel`),t[35]=m,t[36]=W);let ne;t[37]!==a||t[38]!==W?(ne=(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,onClick:a,onPointerDown:gr,onTouchStart:hr,className:`h-8 text-muted-foreground hover:text-foreground`,children:W}),t[37]=a,t[38]=W,t[39]=ne):ne=t[39];let G;t[40]===_?G=t[41]:(G=_.trim(),t[40]=_,t[41]=G);let K=!G,re=h?.colors?.status?.success,ie=h?.colors?.status?.successForeground,ae;t[42]!==re||t[43]!==ie?(ae={backgroundColor:re,color:ie},t[42]=re,t[43]=ie,t[44]=ae):ae=t[44];let oe;t[45]!==p||t[46]!==m?(oe=m(p?`inlineComment.actions.save`:`inlineComment.actions.comment`),t[45]=p,t[46]=m,t[47]=oe):oe=t[47];let se;t[48]!==M||t[49]!==K||t[50]!==ae||t[51]!==oe?(se=(0,$.jsx)(Z,{size:`sm`,onClick:M,onPointerDown:mr,onTouchStart:pr,disabled:K,className:`h-8 min-w-[80px]`,style:ae,children:oe}),t[48]=M,t[49]=K,t[50]=ae,t[51]=oe,t[52]=se):se=t[52];let ce;t[53]!==U||t[54]!==ne||t[55]!==se?(ce=(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 mt-3`,children:[U,ne,se]}),t[53]=U,t[54]=ne,t[55]=se,t[56]=ce):ce=t[56];let le;t[57]!==z||t[58]!==H||t[59]!==ce?(le=(0,$.jsxs)(`div`,{className:`p-3`,children:[z,H,ce]}),t[57]=z,t[58]=H,t[59]=ce,t[60]=le):le=t[60];let q;return t[61]!==N||t[62]!==L||t[63]!==te||t[64]!==R||t[65]!==le?(q=(0,$.jsx)(`div`,{className:N,style:L,"data-comment-input":`true`,onPointerDown:te,onTouchStart:R,children:le}),t[61]=N,t[62]=L,t[63]=te,t[64]=R,t[65]=le,t[66]=q):q=t[66],q}function pr(e){return e.stopPropagation()}function mr(e){return e.stopPropagation()}function hr(e){return e.stopPropagation()}function gr(e){return e.stopPropagation()}function _r(e){return e.stopPropagation()}function vr(e){return e.stopPropagation()}function yr(e){return e.stopPropagation()}function br(e){if(!e)return;let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}}var xr=e=>{let t=Math.min(e.startLine,e.endLine),n=Math.max(e.startLine,e.endLine);return{...e,startLine:t,endLine:n}},Sr=e=>{let t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{...e,start:t,end:n}};function Cr(e){let t=(0,jn.c)(40),{t:n}=ee(),{source:r,fileLabel:i,language:a,getCodeForRange:o,toStoreRange:s,fromDraftRange:c}=e,l=q(kr),u=q(Or),d=Tt(Dr),f=Tt(Er),p=Tt(Tr),m=Tt(wr),[h,g]=Q.useState(null),[_,v]=Q.useState(``),[y,b]=Q.useState(null),x=l??(u?`draft`:null),S;bb0:{if(!x||!i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],S=e;break bb0}let e;t[1]!==m||t[2]!==x?(e=m[x]??[],t[1]=m,t[2]=x,t[3]=e):e=t[3];let n=e,a;if(t[4]!==i||t[5]!==n||t[6]!==r){let e;t[8]!==i||t[9]!==r?(e=e=>e.source===r&&e.fileLabel===i,t[8]=i,t[9]=r,t[10]=e):e=t[10],a=n.filter(e),t[4]=i,t[5]=n,t[6]=r,t[7]=a}else a=t[7];S=a}let C=S,w;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(w=()=>{g(null),v(``),b(null)},t[11]=w):w=t[11];let T=w,E;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{T()},t[12]=E):E=t[12];let D=E,O;t[13]===c?O=t[14]:(O=e=>{let t=Sr(c(e));g(t),v(e.text),b(e.id)},t[13]=c,t[14]=O);let k=O,A;t[15]!==y||t[16]!==p?(A=e=>{p(e.sessionKey,e.id),y===e.id&&T()},t[15]=y,t[16]=p,t[17]=A):A=t[17];let j=A,N;t[18]!==d||t[19]!==y||t[20]!==i||t[21]!==o||t[22]!==a||t[23]!==h||t[24]!==x||t[25]!==r||t[26]!==n||t[27]!==s||t[28]!==f?(N=(e,t)=>{let c=t??h,l=e.trim();if(!c||!l||!i)return;if(!x){M.error(n(`inlineComment.toast.selectSessionToSave`));return}let u=Sr(c),p=xr(s(u)),m=o(u);y?f(x,y,{fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}):d({sessionKey:x,source:r,fileLabel:i,startLine:p.startLine,endLine:p.endLine,side:p.side,code:m,language:a,text:l}),T()},t[18]=d,t[19]=y,t[20]=i,t[21]=o,t[22]=a,t[23]=h,t[24]=x,t[25]=r,t[26]=n,t[27]=s,t[28]=f,t[29]=N):N=t[29];let P=N,F;return t[30]!==_||t[31]!==j||t[32]!==C||t[33]!==y||t[34]!==c||t[35]!==P||t[36]!==h||t[37]!==x||t[38]!==k?(F={sessionKey:x,drafts:C,selection:h,setSelection:g,commentText:_,setCommentText:v,editingDraftId:y,setEditingDraftId:b,reset:T,cancel:D,startEdit:k,deleteDraft:j,saveComment:P,fromDraftRange:c},t[30]=_,t[31]=j,t[32]=C,t[33]=y,t[34]=c,t[35]=P,t[36]=h,t[37]=x,t[38]=k,t[39]=F):F=t[39],F}function wr(e){return e.drafts}function Tr(e){return e.removeDraft}function Er(e){return e.updateDraft}function Dr(e){return e.addDraft}function Or(e){return e.newSessionDraft?.open}function kr(e){return e.currentSessionId}function Ar(e){let{drafts:t,editingDraftId:n,commentText:r,onTextChange:i,selection:a,isDragging:o,fileLabel:s,newWidgetId:c,mapDraftToRange:l,onSave:u,onCancel:d,onEdit:f,onDelete:p,onAddToChat:m}=e,h=[];for(let e of t){let t=l(e);if(e.id===n){h.push({afterLine:t.end,id:`edit-${e.id}`,content:(0,$.jsx)(fr,{initialText:r,onTextChange:i,fileLabel:s,lineRange:t,isEditing:!0,onSave:u,onCancel:d,onAddToChat:m},`edit-${e.id}`)});continue}h.push({afterLine:t.end,id:`card-${e.id}`,content:(0,$.jsx)(dr,{draft:e,onEdit:()=>f(e),onDelete:()=>p(e)},`card-${e.id}`)})}if(a&&!n&&!o){let e={...a,start:Math.min(a.start,a.end),end:Math.max(a.start,a.end)};h.push({afterLine:e.end,id:c,content:(0,$.jsx)(fr,{initialText:r,onTextChange:i,fileLabel:s,lineRange:e,isEditing:!1,onSave:u,onCancel:d,onAddToChat:m},c)})}return h}var jr=e=>{if(e.type===`new`){let t=Math.min(e.selection.start,e.selection.end),n=Math.max(e.selection.start,e.selection.end);return`new-comment-${e.selection.side??`additions`}-${t}-${n}`}return`draft-${e.draft.id}`},Mr=e=>{let{drafts:t,editingDraftId:n,selection:r}=e,i=[];for(let e of t){if(!Number.isFinite(e.endLine))continue;let t=Math.max(1,Math.floor(e.endLine)),r=e.side===`original`?`deletions`:`additions`;i.push({lineNumber:t,side:r,metadata:{type:e.id===n?`edit`:`saved`,draft:e}})}return r&&!n&&i.push({lineNumber:Math.max(r.start,r.end),side:r.side??`additions`,metadata:{type:`new`,selection:r}}),i};function Nr(e){let t=e.trim();if(!t)return null;if(/^-?\d+(\.\d+)?$/.test(t)){let e=Number.parseFloat(t);return Number.isFinite(e)?e:null}if(t.endsWith(`px`)){let e=Number.parseFloat(t.slice(0,-2));return Number.isFinite(e)?e:null}return null}function Pr(e){if(!(!e||e<=0))return Math.max(200,Math.floor(e))}function Fr(e){let{diffRootRef:t,drafts:n,selection:r,editingDraftId:i,commentText:a,onTextChange:o,fileLabel:s,onSave:c,onCancel:l,onEdit:u,onDelete:d,onAddToChat:f}=e,[p,m]=Q.useState(0),[h,g]=Q.useState(null),_=Q.useMemo(()=>!r||i?null:jr({type:`new`,selection:r}),[i,r]),v=Q.useMemo(()=>{let e=n.map(e=>jr({type:e.id===i?`edit`:`saved`,draft:e}));return _&&e.push(_),e},[n,i,_]),y=Q.useCallback(e=>{let n=t.current;if(!n)return null;let r=n.querySelector(`diffs-container`);if(!(r instanceof HTMLElement))return null;let i=r.querySelector(`[data-annotation-id="${e}"]`);if(i instanceof HTMLElement)return i;let a=r.shadowRoot;return a?a.querySelector(`[data-annotation-id="${e}"]`):null},[t]);Q.useEffect(()=>{if(v.length===0)return;let e=!1,t=0,n=()=>{e||v.every(e=>!!y(e))||t>=12||(t+=1,requestAnimationFrame(()=>{e||(m(e=>e+1),n())}))};return n(),()=>{e=!0}},[v,y]),Q.useEffect(()=>{let e=t.current;if(!e)return;let n=()=>{let t=Nr(getComputedStyle(e).getPropertyValue(`--oc-context-panel-width`)),n=e.getBoundingClientRect(),r=t??n.width;g(r>0?r:null)};n();let r=new ResizeObserver(()=>{n()});return r.observe(e),window.addEventListener(`resize`,n),()=>{r.disconnect(),window.removeEventListener(`resize`,n)}},[t]);let b=Q.useCallback(e=>{let n=t.current?.getBoundingClientRect(),r=e.closest(`[data-annotation-content]`),i=r instanceof HTMLElement?r.getBoundingClientRect():e.getBoundingClientRect(),a=[i.width];n&&a.push(n.right-i.left);let o=a.filter(e=>Number.isFinite(e)&&e>0);return o.length>0?Pr(Math.min(...o)):Pr(h)},[t,h]);return(0,$.jsxs)($.Fragment,{children:[n.map(e=>{let t=jr({type:e.id===i?`edit`:`saved`,draft:e}),n=y(t);if(!n)return null;let r=b(n);return e.id===i?(0,Mn.createPortal)((0,$.jsx)(fr,{initialText:a,onTextChange:o,fileLabel:s,lineRange:{start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`},isEditing:!0,onSave:c,onCancel:l,onAddToChat:f,maxWidth:r}),n,`draft-edit-${e.id}`):(0,Mn.createPortal)((0,$.jsx)(dr,{draft:e,onEdit:()=>u(e),onDelete:()=>d(e),maxWidth:r}),n,`draft-card-${e.id}`)}),r&&!i&&_&&(()=>{let e=y(_);if(!e)return null;let t=b(e);return(0,Mn.createPortal)((0,$.jsx)(fr,{initialText:a,onTextChange:o,fileLabel:s,lineRange:r,isEditing:!1,onSave:c,onCancel:l,onAddToChat:f,maxWidth:t}),e,_)})()]})}function Ir(e){let t=(0,jn.c)(13),{position:n,onAddToChat:r}=e,{t:i}=ee(),a;t[0]!==n.x||t[1]!==n.y?(a={left:n.x,top:n.y},t[0]=n.x,t[1]=n.y,t[2]=a):a=t[2];let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(X,{name:`add`,className:`size-4`}),t[3]=o):o=t[3];let s;t[4]===i?s=t[5]:(s=i(`chat.textSelection.actions.addToChat`),t[4]=i,t[5]=s);let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Dt,{shortcut:`⌘+I`}),t[6]=c):c=t[6];let l;t[7]!==r||t[8]!==s?(l=(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,className:`h-7 gap-1.5 px-2`,onClick:r,children:[o,s,c]}),t[7]=r,t[8]=s,t[9]=l):l=t[9];let u;return t[10]!==a||t[11]!==l?(u=(0,Mn.createPortal)((0,$.jsx)(`div`,{"data-code-selection-action":`true`,className:`fixed z-[100] -translate-y-full rounded-lg border border-[var(--interactive-border)] bg-[var(--surface-elevated)] p-1 shadow-lg`,style:a,onPointerDown:Lr,children:l}),document.body),t[10]=a,t[11]=l,t[12]=u):u=t[12],u}function Lr(e){return e.preventDefault()}var Rr=5e5,zr=`
|
|
3
|
-
:host {
|
|
4
|
-
font-family: var(--font-mono);
|
|
5
|
-
font-size: var(--text-code);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
pre, [data-code] {
|
|
9
|
-
font-family: var(--font-mono);
|
|
10
|
-
font-size: var(--text-code);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/* Mobile touch selection support */
|
|
14
|
-
[data-line-number] {
|
|
15
|
-
touch-action: manipulation;
|
|
16
|
-
-webkit-tap-highlight-color: transparent;
|
|
17
|
-
cursor: pointer;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* Ensure interactive line numbers work on touch */
|
|
21
|
-
pre[data-interactive-line-numbers] [data-line-number] {
|
|
22
|
-
touch-action: manipulation;
|
|
23
|
-
}
|
|
24
|
-
`,Br=`
|
|
25
|
-
${zr}
|
|
26
|
-
|
|
27
|
-
:host {
|
|
28
|
-
--diffs-bg-separator-override: var(--surface-elevated);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
[data-diff-header],
|
|
32
|
-
[data-diff] {
|
|
33
|
-
[data-separator] {
|
|
34
|
-
height: 24px !important;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
[data-separator="line-info-basic"] {
|
|
39
|
-
height: 24px !important;
|
|
40
|
-
background: var(--diffs-bg) !important;
|
|
41
|
-
position: relative;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
[data-diff-type="single"] [data-gutter],
|
|
45
|
-
[data-diff-type="split"] [data-deletions] [data-gutter] {
|
|
46
|
-
[data-separator-wrapper] {
|
|
47
|
-
position: absolute;
|
|
48
|
-
left: 100%;
|
|
49
|
-
display: flex;
|
|
50
|
-
align-items: center;
|
|
51
|
-
gap: unset;
|
|
52
|
-
width: max-content;
|
|
53
|
-
background: transparent;
|
|
54
|
-
color: var(--diffs-fg-number);
|
|
55
|
-
font-family: var(--diffs-header-font-family, var(--font-sans));
|
|
56
|
-
font-size: 0.75rem;
|
|
57
|
-
line-height: 1;
|
|
58
|
-
margin-left: calc(-2ch - 2px);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
[data-separator-wrapper][data-separator-multi-button] {
|
|
62
|
-
margin-left: calc(-3ch - 2px);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
[data-expand-button],
|
|
66
|
-
[data-separator-content] {
|
|
67
|
-
display: block;
|
|
68
|
-
align-self: unset;
|
|
69
|
-
min-width: unset;
|
|
70
|
-
min-height: unset;
|
|
71
|
-
padding: 0;
|
|
72
|
-
flex-shrink: 0;
|
|
73
|
-
grid-column: unset;
|
|
74
|
-
border: none;
|
|
75
|
-
width: auto;
|
|
76
|
-
height: auto;
|
|
77
|
-
background-color: transparent;
|
|
78
|
-
color: inherit;
|
|
79
|
-
font: inherit;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
[data-expand-button]:not([data-expand-all-button]) {
|
|
83
|
-
&[data-expand-down]::before {
|
|
84
|
-
content: '\\2191';
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
&[data-expand-up]::before {
|
|
88
|
-
content: '\\2193';
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
&[data-expand-both]::before {
|
|
92
|
-
content: '\\2195';
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
svg {
|
|
96
|
-
display: none;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
[data-separator-content] {
|
|
101
|
-
background: transparent;
|
|
102
|
-
margin-left: calc(2px + 1ch);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
[data-expand-all-button] {
|
|
106
|
-
position: relative;
|
|
107
|
-
margin-left: 14px;
|
|
108
|
-
text-transform: lowercase;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
[data-expand-all-button]::before {
|
|
112
|
-
content: '';
|
|
113
|
-
display: block;
|
|
114
|
-
position: absolute;
|
|
115
|
-
top: 50%;
|
|
116
|
-
left: -8px;
|
|
117
|
-
margin-top: -1px;
|
|
118
|
-
width: 3px;
|
|
119
|
-
height: 3px;
|
|
120
|
-
border-radius: 2px;
|
|
121
|
-
background-color: var(--diffs-fg-number);
|
|
122
|
-
pointer-events: none;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
[data-separator-content]:hover,
|
|
126
|
-
[data-expand-button]:hover,
|
|
127
|
-
[data-expand-all-button]:hover {
|
|
128
|
-
color: var(--diffs-fg);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
[data-expand-all-button]:hover {
|
|
132
|
-
text-decoration: underline;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
`;function Vr(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t.toString(16)}function Hr(e){let t=e.length>400?`${e.slice(0,200)}${e.slice(-200)}`:e;return`${e.length}:${Vr(t)}`}var Ur=(e,t,n,r)=>{let i=r.side===`deletions`,a=(n?(i?n.deletionLines:n.additionLines).join(``):i?e:t).split(`
|
|
136
|
-
`),o=Math.min(r.start,r.end),s=Math.max(r.start,r.end),c=Math.max(1,o),l=Math.min(a.length,s);return c>l?``:a.slice(c-1,l).join(`
|
|
137
|
-
`)},Wr=(e,t)=>e===t?!0:!e||!t?!1:e.start===t.start&&e.end===t.end&&e.side===t.side,Gr=e=>e===`auto`||e===`scroll`||e===`overlay`,Kr=e=>{let t=e?.parentElement??null;for(;t;){if(Gr(window.getComputedStyle(t).overflowY))return t;t=t.parentElement}return null},qr=(e,t)=>{if(!e||!t||typeof window>`u`)return()=>{};let n=Kr(e);if(!n)return()=>{};let r=t.getBoundingClientRect().height;if(!r)return()=>{};let i=e.getBoundingClientRect().top-n.getBoundingClientRect().top,a=t.style.minHeight;t.style.minHeight=`${Math.ceil(r)}px`;let o=!1;return()=>{if(o)return;o=!0,t.style.minHeight=a;let r=e.getBoundingClientRect().top-n.getBoundingClientRect().top-i;r&&(n.scrollTop+=r)}},Jr=(e,t)=>{if(typeof window>`u`)return()=>{};let n=null,r=null,i=!1,a=()=>{i||(r?.disconnect(),r=null,n=window.requestAnimationFrame(()=>{n=window.requestAnimationFrame(()=>{i||t()})}))},o=()=>e.querySelector(`diffs-container`)?.shadowRoot??void 0,s=(e=o())=>!!e?.querySelector(`[data-line]`);return s()?a():typeof MutationObserver<`u`?(r=new MutationObserver(()=>{let e=o();if(e){if(s(e)){a();return}r?.disconnect(),r=new MutationObserver(()=>{s(e)&&a()}),r.observe(e,{childList:!0,subtree:!0})}}),r.observe(e,{childList:!0,subtree:!0})):n=window.requestAnimationFrame(a),()=>{i=!0,r?.disconnect(),n!==null&&window.cancelAnimationFrame(n)}},Yr=new WeakMap,Xr={lineHeight:24,hunkSeparatorHeight:24,spacing:0};function Zr(e){let t=e.closest(`[data-diff-virtual-root]`);if(t instanceof HTMLElement){let e=t.querySelector(`[data-diff-virtual-content]`);return{key:t,root:t,content:e instanceof HTMLElement?e:void 0}}return{key:document,root:document,content:void 0}}function Qr(e){if(typeof document>`u`)return null;let t=Zr(e),n=Yr.get(t.key);if(!n){let e=new rn;e.setup(t.root,t.content),n={virtualizer:e,refs:0},Yr.set(t.key,n)}n.refs+=1;let r=!1;return{virtualizer:n.virtualizer,root:t.root,release:()=>{if(r)return;r=!0;let e=Yr.get(t.key);e&&(--e.refs,!(e.refs>0)&&(e.virtualizer.cleanUp(),Yr.delete(t.key)))}}}var $r=(e,t,n)=>{if(typeof window>`u`)return()=>{};let r=[],i=()=>{try{e.rerender()}catch{}let r=t?.root;r instanceof HTMLElement?r.dispatchEvent(new Event(`scroll`,{bubbles:!1})):document.dispatchEvent(new Event(`scroll`,{bubbles:!1})),window.dispatchEvent(new Event(`resize`)),n()};return r.push(window.requestAnimationFrame(i)),r.push(window.requestAnimationFrame(()=>{r.push(window.requestAnimationFrame(i))})),()=>{for(let e of r)window.cancelAnimationFrame(e)}},ei=({original:e,modified:t,fileDiff:n,language:r,fileName:i,renderSideBySide:a,wrapLines:s,layout:c=`fill`,enableComments:l=!0,enableSelectionActions:u=!0,focusLine:d=null})=>{let f=ot(),p=f?.currentTheme.metadata.variant===`dark`,h=f?.availableThemes.find(e=>e.metadata.id===f.lightThemeId)??wt(!1),g=f?.availableThemes.find(e=>e.metadata.id===f.darkThemeId)??wt(!0),{isMobile:_}=xt(),v=G(e=>e.addCodeSelectionAttachment),y=G(e=>e.setPendingInputText),[b,x]=Q.useState(null),{drafts:S,selection:C,setSelection:w,commentText:T,setCommentText:E,editingDraftId:D,saveComment:ee,cancel:O,startEdit:k,deleteDraft:A}=Cr({source:`diff`,fileLabel:i||`unknown`,language:r,getCodeForRange:r=>Ur(e,t,n,r),toStoreRange:e=>({startLine:e.start,endLine:e.end,side:e.side===`deletions`?`original`:`modified`}),fromDraftRange:e=>({start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`})}),j=(0,Q.useRef)(null),M=(0,Q.useRef)(null),N=(0,Q.useRef)(``),P=(0,Q.useRef)(!1),F=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{j.current=C},[C]),(0,Q.useEffect)(()=>{M.current=D},[D]),(0,Q.useEffect)(()=>{N.current=T},[T]);let I=(0,Q.useCallback)(e=>{if(!l||P.current)return;let t=j.current;if(!(!e&&t&&N.current.trim())){if(_&&t&&e&&e.side===t.side){let n=Math.min(t.start,e.start),r=Math.max(t.end,e.end);w({...e,start:n,end:r})}else w(e);e&&(M.current||E(``))}},[l,_,E,w]),L=(0,Q.useCallback)(()=>{O()},[O]),te=(0,Q.useCallback)(e=>{let t=document.createElement(`div`);t.style.position=`relative`;let n=jr(e.metadata);return t.dataset.annotationId=n,t.dataset.annotationSide=e.side,t.dataset.annotationLine=String(e.lineNumber),t},[]),R=(0,Q.useCallback)((e,t)=>{ee(e,t??C??void 0)},[ee,C]),z=(0,Q.useCallback)(r=>{if(!i)return;let a=Math.min(r.start,r.end),s=Math.max(r.start,r.end),c=a===s?`${a}`:`${a}-${s}`,l=Ur(e,t,n,r);if(!l)return;let u=`${i.replace(/\\/g,`/`).split(`/`).pop()||i}:${c}`;v(i,u,l),y(m(u),`append-inline`),o.getState().setActiveMainTab(`chat`)},[v,n,i,t,e,y]);(0,Q.useEffect)(()=>{if(!u)return;let e=e=>{if(!e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||e.key.toLowerCase()!==`i`)return;let t=b?.range??j.current;t&&(e.preventDefault(),z(t))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u,z,b]),(0,Q.useEffect)(()=>{x(null)},[i,n,e,t]);let B=(0,Q.useCallback)(e=>{w(e);let t=K.current;if(t)try{P.current=!0,t.setSelectedLines(e),F.current=e}catch{}finally{P.current=!1}},[w]),V=(0,Q.useCallback)(e=>{let t=e.closest(`[data-line-type]`)?.getAttribute(`data-line-type`)??e.getAttribute(`data-line-type`);if(t===`change-deletion`)return`deletions`;if(t===`change-addition`)return`additions`;let n=e.getAttribute(`data-column-side`)??e.getAttribute(`data-side`)??e.closest(`[data-column-side]`)?.getAttribute(`data-column-side`);if(n===`deletions`||n===`left`||n===`original`)return`deletions`;if(n===`additions`||n===`right`||n===`modified`)return`additions`;let r=e.closest(`[data-line-type]`);if(r instanceof HTMLElement){let t=r.getBoundingClientRect(),n=e.getBoundingClientRect(),i=t.left+t.width/2;return n.left+n.width/2<i?`deletions`:`additions`}return`additions`},[]);It(h),It(g);let H=`${h.metadata.id}:${g.metadata.id}:${p?`dark`:`light`}`,U=(0,Q.useMemo)(()=>{if(n){let e=n.deletionLines.reduce((e,t)=>e+t.length,0),t=n.additionLines.reduce((e,t)=>e+t.length,0);return Math.max(e,t)>Rr}return Math.max(e.length,t.length)>Rr},[n,t.length,e.length]),W=(0,Q.useRef)(null),ne=(0,Q.useRef)(null),K=(0,Q.useRef)(null),re=(0,Q.useRef)(null),ie=(0,Q.useRef)(null),ae=(0,Q.useRef)(null),oe=(0,Q.useRef)(void 0),se=(0,Q.useRef)(void 0),ce=(0,Q.useRef)(void 0),le=(0,Q.useRef)(void 0),q=(0,Q.useRef)(null),[,ue]=Q.useReducer(e=>e+1,0),J=Hn(U?`unified`:a?`split`:`unified`),de=(0,Q.useMemo)(()=>Ft(h),[h]),fe=(0,Q.useMemo)(()=>Ft(g),[g]);Q.useLayoutEffect(()=>{let e=W.current;if(!e)return;let t=e.querySelector(`diffs-container`);if(!t)return;let n=p?fe:de,r=(e,t)=>e.colors?.[t],i=r(de,`terminal.ansiGreen`),a=r(de,`terminal.ansiRed`),o=r(de,`terminal.ansiBlue`),s=r(fe,`terminal.ansiGreen`),c=r(fe,`terminal.ansiRed`),l=r(fe,`terminal.ansiBlue`);t.style.setProperty(`--shiki-light`,de.fg),t.style.setProperty(`--shiki-light-bg`,de.bg),i&&t.style.setProperty(`--shiki-light-addition-color`,i),a&&t.style.setProperty(`--shiki-light-deletion-color`,a),o&&t.style.setProperty(`--shiki-light-modified-color`,o),t.style.setProperty(`--shiki-dark`,fe.fg),t.style.setProperty(`--shiki-dark-bg`,fe.bg),s&&t.style.setProperty(`--shiki-dark-addition-color`,s),c&&t.style.setProperty(`--shiki-dark-deletion-color`,c),l&&t.style.setProperty(`--shiki-dark-modified-color`,l),t.style.setProperty(`--diffs-bg`,n.bg),t.style.setProperty(`--diffs-fg`,n.fg);let u=p?s:i,d=p?c:a,f=p?l:o;u&&t.style.setProperty(`--diffs-addition-color-override`,u),d&&t.style.setProperty(`--diffs-deletion-color-override`,d),f&&t.style.setProperty(`--diffs-modified-color-override`,f);let m=t.shadowRoot?.querySelector(`pre`);m&&(m.style.setProperty(`--shiki-light`,de.fg),m.style.setProperty(`--shiki-light-bg`,de.bg),i&&m.style.setProperty(`--shiki-light-addition-color`,i),a&&m.style.setProperty(`--shiki-light-deletion-color`,a),o&&m.style.setProperty(`--shiki-light-modified-color`,o),m.style.setProperty(`--shiki-dark`,fe.fg),m.style.setProperty(`--shiki-dark-bg`,fe.bg),s&&m.style.setProperty(`--shiki-dark-addition-color`,s),c&&m.style.setProperty(`--shiki-dark-deletion-color`,c),l&&m.style.setProperty(`--shiki-dark-modified-color`,l),m.style.setProperty(`--diffs-bg`,n.bg),m.style.setProperty(`--diffs-fg`,n.fg),u&&m.style.setProperty(`--diffs-addition-color-override`,u),d&&m.style.setProperty(`--diffs-deletion-color-override`,d),f&&m.style.setProperty(`--diffs-modified-color-override`,f))},[fe,H,p,de]);let pe=(0,Q.useMemo)(()=>({theme:{dark:g.metadata.id,light:h.metadata.id},themeType:p?`dark`:`light`,diffStyle:a?`split`:`unified`,diffIndicators:`none`,hunkSeparators:`line-info-basic`,lineDiffType:`none`,maxLineDiffLength:U?0:1e3,maxLineLengthForHighlighting:U?1:1e3,tokenizeMaxLineLength:U?1:1e3,collapsedContextThreshold:0,expansionLineCount:20,overflow:s?`wrap`:`scroll`,disableFileHeader:!0,enableLineSelection:l,enableHoverUtility:!1,onLineSelected:l?I:void 0,unsafeCSS:Br,renderAnnotation:l?te:void 0}),[g.metadata.id,l,p,U,h.metadata.id,a,s,I,te]),me=(0,Q.useMemo)(()=>l?Mr({drafts:S,editingDraftId:D,selection:C}):[],[D,l,S,C]),he=(0,Q.useRef)(me);if((0,Q.useEffect)(()=>{he.current=me},[me]),(0,Q.useEffect)(()=>{let e=ne.current;return()=>{K.current?.cleanUp(),K.current=null,re.current?.release(),re.current=null,ie.current=null,ae.current=null,oe.current=void 0,se.current=void 0,ce.current=void 0,le.current=void 0,e&&(e.innerHTML=``)}},[]),(0,Q.useEffect)(()=>{if(typeof window>`u`)return;let a=ne.current,o=W.current;if(!a||!J)return;let s=qr(o,a),c=re.current;c||(c=Qr(a),re.current=c),re.current=c;let l=c?.virtualizer??null,u=n?void 0:{name:i||``,contents:e,lang:r,cacheKey:`old:${H}:${i}:${Hr(e)}`},f=n?void 0:{name:i||``,contents:t,lang:r,cacheKey:`new:${H}:${i}:${Hr(t)}`},p=n?se.current!==n:se.current!==void 0||!u||!f||!ce.current||!le.current||!tn(ce.current,u)||!tn(le.current,f),m=K.current,h=!!(m&&(ie.current!==l||ae.current!==J||l&&(oe.current!==pe.hunkSeparators||p)));h&&(m?.cleanUp(),K.current=null,a.innerHTML=``);let g=K.current,_=!h&&m?!$t(m.options,pe):!1;if(g?g.setOptions(pe):(g=c?new on(pe,c.virtualizer,Xr,J):new Zt(pe,J),K.current=g,F.current=null),ie.current=l,ae.current=J,oe.current=l?pe.hunkSeparators:void 0,se.current=n,ce.current=u,le.current=f,n)g.render({fileDiff:n,forceRender:_,lineAnnotations:he.current,containerWrapper:a});else{if(!u||!f)return;g.render({oldFile:u,newFile:f,forceRender:_,lineAnnotations:he.current,containerWrapper:a})}let v=Jr(a,()=>{if(s(),$r(g,c,ue),!d||q.current===d)return;let e=(a.querySelector(`diffs-container`)?.shadowRoot)?.querySelector(`[data-line="${d}"]:not([data-line-type="change-deletion"])`);e instanceof HTMLElement&&(e.scrollIntoView({block:`center`}),q.current=d)});return()=>{v(),s()}},[H,n,i,d,r,t,pe,e,J]),(0,Q.useEffect)(()=>{let e=K.current;if(e){try{e.setLineAnnotations(me)}catch(t){console.error(`Failed to apply diff line annotations`,t);try{e.setLineAnnotations([])}catch{}}requestAnimationFrame(()=>{if(K.current===e){try{e.rerender()}catch{}ue()}})}},[me]),(0,Q.useEffect)(()=>{let e=K.current;if(!e||C!==null)return;let t=F.current;if(!Wr(C,t))try{P.current=!0,e.setSelectedLines(C),F.current=C}catch{}finally{P.current=!1}},[C]),(0,Q.useEffect)(()=>{if(!l)return;let e=ne.current;if(!e)return;let t=null,n=()=>{},r=()=>{let i=e.querySelector(`diffs-container`)?.shadowRoot;if(!i){t=requestAnimationFrame(r);return}let a=e=>{if(!(e instanceof MouseEvent)||e.button!==0||!(e.target instanceof Element))return;let t=e.target.closest(`[data-column-number]`);if(!(t instanceof HTMLElement))return;let n=t.getAttribute(`data-column-number`),r=n?parseInt(n,10):NaN;if(Number.isNaN(r))return;let a=V(t);if(I({start:r,end:r,side:a}),u){let e=t.getBoundingClientRect(),n=t.closest(`[data-line-type]`)?.getAttribute(`data-line-type`),o=Array.from(i.querySelectorAll(`[data-line="${r}"]`)).find(e=>!n||e.getAttribute(`data-line-type`)===n);x({range:{start:r,end:r,side:a},x:Math.min(window.innerWidth-240,Math.max(8,o?.getBoundingClientRect().left??e.right+12)),y:e.top-8})}e.preventDefault(),e.stopPropagation()},o=(e,t)=>{let n=(e instanceof Element?e:e.parentElement)?.closest(`[data-line]`);if(!(n instanceof HTMLElement))return null;let r=Number.parseInt(n.getAttribute(`data-line`)??``,10);if(Number.isFinite(r))return{lineNumber:r,side:V(n),lineStartX:n.getBoundingClientRect().left};let i=Array.from(n.querySelectorAll(`[data-column-number]`));if(i.length===0)return null;let a=i.reduce((e,n)=>{let r=Math.abs(e.getBoundingClientRect().right-t);return Math.abs(n.getBoundingClientRect().right-t)<r?n:e}),o=Number.parseInt(a.getAttribute(`data-column-number`)??``,10);return Number.isFinite(o)?{lineNumber:o,side:V(a),lineStartX:a.getBoundingClientRect().right+12}:null},s=()=>{u&&window.requestAnimationFrame(()=>{let e=i.getSelection?.(),t=e?.rangeCount?e:window.getSelection();if(!t)return;let n=t.getComposedRanges?.({shadowRoots:[i]})[0],r=document.createRange();if(n)r.setStart(n.startContainer,n.startOffset),r.setEnd(n.endContainer,n.endOffset);else if(t.rangeCount>0){let e=t.getRangeAt(0);r.setStart(e.startContainer,e.startOffset),r.setEnd(e.endContainer,e.endOffset)}else return;if(!r.toString().trim())return;let a=r.getBoundingClientRect(),s=o(r.startContainer,a.left),c=o(r.endContainer,a.right);!s||!c||s.side!==c.side||x({range:{start:s.lineNumber,end:c.lineNumber,side:s.side},x:Math.min(window.innerWidth-240,Math.max(8,s.lineStartX)),y:Math.max(8,a.top-8)})})};i.addEventListener(`click`,a,!0),i.addEventListener(`pointerup`,s),window.addEventListener(`pointerup`,s,!0),n=()=>{i.removeEventListener(`click`,a,!0),i.removeEventListener(`pointerup`,s),window.removeEventListener(`pointerup`,s,!0)}};return r(),()=>{t!==null&&cancelAnimationFrame(t),n()}},[H,l,u,i,I,V]),(0,Q.useEffect)(()=>{let e=ne.current;if(!e)return;let t=null,n=null,r=setTimeout(()=>{let r=e.querySelector(`diffs-container`);if(!(r instanceof HTMLElement))return;let i=r.shadowRoot;t=new MutationObserver(()=>{n&&cancelAnimationFrame(n),n=requestAnimationFrame(()=>{ue(),n=null})}),t.observe(r,{childList:!0,subtree:!0}),i&&t.observe(i,{childList:!0,subtree:!0})},100);return()=>{clearTimeout(r),n&&cancelAnimationFrame(n),t?.disconnect()}},[H,i]),typeof window>`u`)return null;let ge=l?(0,$.jsx)(Fr,{diffRootRef:W,drafts:S,selection:C,editingDraftId:D,commentText:T,onTextChange:E,fileLabel:i?.split(`/`).pop()??``,onSave:R,onCancel:L,onEdit:e=>{B({start:e.startLine,end:e.endLine,side:e.side===`original`?`deletions`:`additions`}),k(e)},onDelete:A,onAddToChat:u?z:void 0}):null,_e=u&&b?(0,$.jsx)(Ir,{position:b,onAddToChat:()=>{z(b.range),x(null),window.getSelection()?.removeAllRanges()}}):null;return c===`fill`?(0,$.jsx)(`div`,{className:Y(`flex flex-col relative`,`size-full`),"data-diff-virtual-root":!0,children:(0,$.jsxs)(`div`,{className:`flex-1 relative min-h-0`,children:[(0,$.jsx)(Pe,{outerClassName:`pierre-diff-wrapper size-full`,disableHorizontal:!1,fillContainer:!0,"data-diff-virtual-content":!0,children:(0,$.jsx)(`div`,{ref:W,className:`size-full relative`,children:(0,$.jsx)(`div`,{ref:ne,className:`size-full`})})}),ge,_e]})}):(0,$.jsxs)(`div`,{className:Y(`relative`,`w-full`),children:[(0,$.jsx)(`div`,{ref:W,className:`pierre-diff-wrapper w-full overflow-x-auto overflow-y-visible relative`,children:(0,$.jsx)(`div`,{ref:ne,className:`w-full`})}),ge,_e]})},ti=5e3,ni=(e,t)=>{if(!e)return 1;let n=1;for(let r=0;r<e.length;r+=1)if(e.charCodeAt(r)===10&&(n+=1,n>t))return n;return n},ri=(e,t)=>j(A.getState().dictionary,e,t),ii=e=>{let t=(e instanceof Error?e.message:String(e??``)).toLowerCase();return t.includes(`file not found`)||t.includes(`not found`)||t.includes(`enoent`)||t.includes(`no such file`)||t.includes(`does not exist`)?`missing`:`unreadable`},ai=async(e,t)=>{if(e.readFile){let n=await e.readFile(t,{optional:!0});if(typeof n.exists!=`boolean`)throw Error(`Optional file read requires an existence response header`);return{content:n.content??``,exists:n.exists}}let n=new URLSearchParams({path:t,optional:`true`}),r=await d(`/api/fs/read?${n.toString()}`,{cache:`no-store`});if(!r.ok){let e=await r.json().catch(()=>({error:r.statusText}));throw Error(e.error||`Failed to read file`)}let i=r.headers.get(`x-openchamber-file-exists`);if(i!==`true`&&i!==`false`)throw Error(`Optional file read requires an existence response header`);return{content:await r.text(),exists:i===`true`}},oi=async(e,t)=>{try{let{content:n,exists:r}=await ai(e,t);return r?ni(n,5e3)>5e3?{ok:!1,reason:`too-large`}:{ok:!0}:{ok:!1,reason:`missing`}}catch(e){return{ok:!1,reason:ii(e)}}},si=e=>e===`too-large`?ri(`contextFileOpen.failure.tooLarge`,{count:ti.toLocaleString(O())}):ri(e===`missing`?`contextFileOpen.failure.missing`:`contextFileOpen.failure.unreadable`),ci=64,li=3,ui=new Map,di=(e,t,n=li)=>{let r=`${e}\0${n}\0${t}`,i=ui.get(r);if(i)return ui.delete(r),ui.set(r,i),i;let a=pi(t),o=a?Qt(nn(t,n),{oldFile:{name:e,contents:a.before},newFile:{name:e,contents:a.after}})??hi(e):cn(fi(e,t))[0]?.files[0]??hi(e);for(ui.set(r,o);ui.size>ci;){let e=ui.keys().next().value;if(!e)break;ui.delete(e)}return o},fi=(e,t)=>!t.trim()||t.startsWith(`diff --git `)||/^--- [^\n]*\r?\n\+\+\+ /m.test(t)?t:`Index: ${e}\n===================================================================\n--- ${e}\t\n+++ ${e}\t\n${t}`,pi=e=>{if(!e.startsWith(`diff --git `)&&!/^--- [^\n]*\t?\r?\n\+\+\+ [^\n]*\t?(?:\r?\n|$)/m.test(e))return;let t=[...e.matchAll(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@[^\n]*(?:\r?\n|$)/gm)];if(t.length!==1)return;let n=t[0],r=Number.parseInt(n[1]??``,10),i=Number.parseInt(n[2]??``,10);if(r>1||i>1||!Number.isFinite(r)||!Number.isFinite(i))return;let a=(n.index??0)+n[0].length,o=e.slice(a),s=[],c=[],l;for(let e of o.split(/\r?\n/)){if(e.startsWith(`diff --git `)||e.startsWith(`@@ `))break;if(e.startsWith(`\\`)){if(l===`-`||l===` `){let e=s.at(-1);e&&(e.newline=!1)}if(l===`+`||l===` `){let e=c.at(-1);e&&(e.newline=!1)}continue}if(e.startsWith(`-`)){s.push({text:e.slice(1),newline:!0}),l=`-`;continue}if(e.startsWith(`+`)){c.push({text:e.slice(1),newline:!0}),l=`+`;continue}e.startsWith(` `)&&(s.push({text:e.slice(1),newline:!0}),c.push({text:e.slice(1),newline:!0}),l=` `)}return{before:mi(s),after:mi(c)}},mi=e=>e.map(e=>e.text+(e.newline?`
|
|
138
|
-
`:``)).join(``),hi=e=>en({name:e,contents:``},{name:e,contents:``}),gi=e=>{if(!e)return null;let t=e.split(`
|
|
139
|
-
`),n=null;for(let e of t){let t=e.match(/^@@\s*-\d+(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s*@@/);if(t){let e=Number.parseInt(t[1]??``,10);n=Number.isFinite(e)&&e>=1?e:null;continue}if(n!==null){if(e.startsWith(` `)){n+=1;continue}if(e.startsWith(`+`))return n;if(e.startsWith(`-`))return Math.max(1,n)}}return null},_i=e=>{let t=[],n=new Set;for(let r of e){let e=r.path.trim(),i=r.patch;if(!e||!i.trim()||n.has(e))continue;n.add(e);let a=0,o=0;for(let e of i.split(`
|
|
140
|
-
`))e.startsWith(`+++`)||e.startsWith(`---`)||(e.startsWith(`+`)&&(a+=1),e.startsWith(`-`)&&(o+=1));let s=/^---\s+\/dev\/null(?:\s|$)/m.test(i)?`added`:/^\+\+\+\s+\/dev\/null(?:\s|$)/m.test(i)?`deleted`:`modified`;t.push({file:e,patch:i,status:s,additions:a,deletions:o})}return t},vi=e=>typeof e.patch==`string`&&e.patch.length>0||typeof e.before==`string`&&e.before.length>0||typeof e.after==`string`&&e.after.length>0,yi=e=>{for(let t of e)if(t.file?.trim()&&!vi(t))return!0;return!1},bi=(e,t)=>{if(e.length===0)return[];if(t.length===0)return e.slice();let n=new Map;for(let e of t){let t=e.file?.trim();t&&n.set(t,e)}return e.map(e=>{let t=e.file?.trim();if(!t)return e;let r=n.get(t);return r?{...e,patch:typeof r.patch==`string`?r.patch:e.patch,before:typeof r.before==`string`?r.before:e.before,after:typeof r.after==`string`?r.after:e.after,additions:e.additions??r.additions,deletions:e.deletions??r.deletions,status:e.status??r.status}:e})},xi=1100,Si=15e3,Ci=500,wi=300,Ti=1e6,Ei=3,Di=e=>e<=6?e:e<=12?6:e<=25?4:2,Oi=Q.memo(()=>{let e=(0,jn.c)(4),{t}=ee(),n;e[0]===t?n=e[1]:(n=t(`diffView.binary.unavailable`),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,$.jsx)(`div`,{className:`rounded-lg border border-border/60 bg-background px-3 py-2`,children:(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:n})}),e[2]=n,e[3]=r),r}),ki={"?":{code:`?`,color:`var(--status-info)`,descriptionKey:`diffView.change.untracked`},A:{code:`A`,color:`var(--status-success)`,descriptionKey:`diffView.change.new`},D:{code:`D`,color:`var(--status-error)`,descriptionKey:`diffView.change.deleted`},R:{code:`R`,color:`var(--status-info)`,descriptionKey:`diffView.change.renamed`},C:{code:`C`,color:`var(--status-info)`,descriptionKey:`diffView.change.copied`},M:{code:`M`,color:`var(--status-warning)`,descriptionKey:`diffView.change.modified`}},Ai=ki.M,ji=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`},Mi=e=>ki[ji(e)]??Ai,Ni=e=>{let{index:t,working_dir:n}=e;return t===`A`||n===`A`||t===`?`||n===`?`},Pi=e=>{let t=e.index?.trim();return!!(t&&t!==`?`)},Fi=e=>!!e.working_dir?.trim()||e.index===`?`,Ii=(e,t)=>Ct(e,t),Li=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),Ri=(e,t)=>{let n=e.split(`
|
|
141
|
-
`),r=t.split(`
|
|
142
|
-
`),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1)if(n[e]!==r[e])return e+1;return r.length>n.length?n.length+1:n.length>r.length?Math.max(1,r.length):1},zi=e=>/^Binary files .+ differ$/m.test(e)||/^GIT binary patch$/m.test(e),Bi=e=>Array.isArray(e)?e.filter(e=>!e||typeof e!=`object`?!1:typeof e.file==`string`):[],Vi=e=>e===`added`?`A`:e===`deleted`?`D`:`M`,Hi=(e,t,n)=>zi(t)?{original:``,modified:``,isBinary:!0,patch:t,contextMode:n}:{original:``,modified:``,patch:t,fileDiff:di(e,t),contextMode:n},Ui=(e,t,n)=>{let r=e??0,i=t??0;return!r&&!i?null:(0,$.jsxs)(`span`,{className:Y(`typography-code flex items-center gap-1 whitespace-nowrap`,n?.shrink?`min-w-0 overflow-hidden`:`flex-shrink-0`,n?.className),children:[r?(0,$.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,r]}):null,i?(0,$.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,i]}):null]})},Wi=Q.memo(e=>{let t=(0,jn.c)(53),{scope:n,workingCount:r,stagedCount:i,turnCount:a,onScopeChange:o}=e,{t:s}=ee(),[c,l]=Q.useState(!1),u=n===`staged`?i:n===`turn`?a:r,d;t[0]!==n||t[1]!==s?(d=s(n===`staged`?`diffView.scope.staged`:n===`turn`?`diffView.scope.lastTurn`:`diffView.scope.changed`),t[0]=n,t[1]=s,t[2]=d):d=t[2];let f=d,p;t[3]===s?p=t[4]:(p=s(`diffView.scope.selectorAria`),t[3]=s,t[4]=p);let m;t[5]===u?m=t[6]:(m=(0,$.jsxs)(`span`,{className:`diff-toolbar__scope-count`,children:[`: `,u]}),t[5]=u,t[6]=m);let h;t[7]!==f||t[8]!==m?(h=(0,$.jsxs)(`span`,{className:`whitespace-nowrap`,children:[f,m]}),t[7]=f,t[8]=m,t[9]=h):h=t[9];let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(X,{name:`arrow-down-s`,className:`size-4 flex-shrink-0 opacity-60`}),t[10]=g):g=t[10];let _;t[11]!==p||t[12]!==h?(_=(0,$.jsx)(mt,{asChild:!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 flex-shrink-0 items-center gap-1.5 rounded-md px-2 typography-code font-semibold text-foreground outline-none hover:bg-interactive-hover focus-visible:ring-2 focus-visible:ring-ring`,"aria-label":p,children:[h,g]})}),t[11]=p,t[12]=h,t[13]=_):_=t[13];let v;t[14]===o?v=t[15]:(v=e=>{(e===`working`||e===`staged`||e===`turn`)&&(o?.(e),l(!1))},t[14]=o,t[15]=v);let y;t[16]===s?y=t[17]:(y=s(`diffView.scope.changed`),t[16]=s,t[17]=y);let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`span`,{children:y}),t[18]=y,t[19]=b);let x;t[20]===r?x=t[21]:(x=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:r}),t[20]=r,t[21]=x);let S;t[22]!==x||t[23]!==b?(S=(0,$.jsx)(ht,{value:`working`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[b,x]})}),t[22]=x,t[23]=b,t[24]=S):S=t[24];let C;t[25]===s?C=t[26]:(C=s(`diffView.scope.staged`),t[25]=s,t[26]=C);let w;t[27]===C?w=t[28]:(w=(0,$.jsx)(`span`,{children:C}),t[27]=C,t[28]=w);let T;t[29]===i?T=t[30]:(T=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:i}),t[29]=i,t[30]=T);let E;t[31]!==w||t[32]!==T?(E=(0,$.jsx)(ht,{value:`staged`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[w,T]})}),t[31]=w,t[32]=T,t[33]=E):E=t[33];let D;t[34]===s?D=t[35]:(D=s(`diffView.scope.lastTurn`),t[34]=s,t[35]=D);let O;t[36]===D?O=t[37]:(O=(0,$.jsx)(`span`,{children:D}),t[36]=D,t[37]=O);let k;t[38]===a?k=t[39]:(k=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:a}),t[38]=a,t[39]=k);let A;t[40]!==O||t[41]!==k?(A=(0,$.jsx)(ht,{value:`turn`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center justify-between gap-3`,children:[O,k]})}),t[40]=O,t[41]=k,t[42]=A):A=t[42];let j;t[43]!==n||t[44]!==S||t[45]!==E||t[46]!==A||t[47]!==v?(j=(0,$.jsx)(ut,{align:`start`,className:`w-40`,children:(0,$.jsxs)(lt,{value:n,onValueChange:v,children:[S,E,A]})}),t[43]=n,t[44]=S,t[45]=E,t[46]=A,t[47]=v,t[48]=j):j=t[48];let M;return t[49]!==c||t[50]!==j||t[51]!==_?(M=(0,$.jsxs)(vt,{open:c,onOpenChange:l,children:[_,j]}),t[49]=c,t[50]=j,t[51]=_,t[52]=M):M=t[52],M}),Gi=Q.memo(e=>{let t=(0,jn.c)(11),{changedFiles:n,selectedFile:r,onSelectFile:i}=e,{t:a}=ee();if(n.length===0)return null;let o;if(t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==a){let e;t[5]!==i||t[6]!==r||t[7]!==a?(e=e=>{let t=Mi(e),n=r===e.path;return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.path),className:Y(`flex w-full items-center gap-1.5 rounded-md px-2 py-1 text-left transition-colors`,n?`bg-interactive-selection text-interactive-selection-foreground`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),children:[(0,$.jsx)(Et,{filePath:e.path,className:`size-3 flex-shrink-0`}),(0,$.jsx)(`span`,{className:`typography-code font-semibold w-3.5 text-center uppercase`,style:{color:t.color},title:a(t.descriptionKey),"aria-label":a(t.descriptionKey),children:t.code}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-code`,style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},title:e.path,children:e.path}),Ui(e.insertions,e.deletions)]})},e.path)},t[5]=i,t[6]=r,t[7]=a,t[8]=e):e=t[8],o=n.map(e),t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=o}else o=t[4];let s;return t[9]===o?s=t[10]:(s=(0,$.jsx)(Pe,{outerClassName:`flex-1 min-h-0`,className:`px-2 py-2`,children:(0,$.jsx)(`ul`,{className:`flex flex-col gap-1`,children:o})}),t[9]=o,t[10]=s),s}),Ki=Q.memo(e=>{let t=(0,jn.c)(20),{filePath:n,diff:r,renderSideBySide:i}=e,{t:a}=ee(),o=r.original.length>0,s=r.modified.length>0,c=i?`flex flex-row gap-6 items-start justify-center`:`flex flex-col gap-4 items-center`,l=i?`flex flex-col items-center gap-2 flex-1 min-w-0`:`flex flex-col items-center gap-2`,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u={contain:`layout`},t[0]=u):u=t[0];let d;t[1]!==r.original||t[2]!==n||t[3]!==o||t[4]!==l||t[5]!==i||t[6]!==a?(d=o&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(`diffView.image.original`)}),(0,$.jsx)(`img`,{src:r.original,alt:a(`diffView.image.originalAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[1]=r.original,t[2]=n,t[3]=o,t[4]=l,t[5]=i,t[6]=a,t[7]=d):d=t[7];let f;t[8]!==r.modified||t[9]!==n||t[10]!==s||t[11]!==o||t[12]!==l||t[13]!==i||t[14]!==a?(f=s&&(0,$.jsxs)(`div`,{className:l,children:[(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground font-medium`,children:a(o?`diffView.image.modified`:`diffView.image.new`)}),(0,$.jsx)(`img`,{src:r.modified,alt:a(`diffView.image.modifiedAlt`,{path:n}),className:i?`max-w-full max-h-[70vh] object-contain`:`max-w-full object-contain`,style:{imageRendering:`auto`}})]}),t[8]=r.modified,t[9]=n,t[10]=s,t[11]=o,t[12]=l,t[13]=i,t[14]=a,t[15]=f):f=t[15];let p;return t[16]!==c||t[17]!==d||t[18]!==f?(p=(0,$.jsx)(`div`,{className:`w-full overflow-auto p-4`,style:u,children:(0,$.jsxs)(`div`,{className:c,children:[d,f]})}),t[16]=c,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}),qi=Q.memo(e=>{let t=(0,jn.c)(17),{filePath:n,diff:r,renderSideBySide:i,wrapLines:a,focusLine:o}=e,s;t[0]===n?s=t[1]:(s=Rt(n)||`text`,t[0]=n,t[1]=s);let c=s;if(r.isBinary){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Oi,{}),t[2]=e):e=t[2],e}if(Lt(n)){let e;return t[3]!==r||t[4]!==n||t[5]!==i?(e=(0,$.jsx)(Ki,{filePath:n,diff:r,renderSideBySide:i}),t[3]=r,t[4]=n,t[5]=i,t[6]=e):e=t[6],e}let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l={contain:`layout`},t[7]=l):l=t[7];let u;return t[8]!==r.fileDiff||t[9]!==r.modified||t[10]!==r.original||t[11]!==n||t[12]!==o||t[13]!==c||t[14]!==i||t[15]!==a?(u=(0,$.jsx)(`div`,{className:`w-full`,style:l,children:(0,$.jsx)(ei,{original:r.original,modified:r.modified,fileDiff:r.fileDiff,language:c,fileName:n,renderSideBySide:i,wrapLines:a,focusLine:o,layout:`inline`,enableSelectionActions:!0})}),t[8]=r.fileDiff,t[9]=r.modified,t[10]=r.original,t[11]=n,t[12]=o,t[13]=c,t[14]=i,t[15]=a,t[16]=u):u=t[16],u}),Ji=Q.memo(e=>{let t=(0,jn.c)(7),{filePath:n,staged:r,busyAction:i,disabled:a,onAction:o}=e,{t:s}=ee(),c;return t[0]!==i||t[1]!==a||t[2]!==n||t[3]!==o||t[4]!==r||t[5]!==s?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-0.5 rounded-full border border-[var(--interactive-border)]/45 bg-[var(--surface-background)]/95 px-1 py-0.5 shadow-lg backdrop-blur-md`,children:r?(0,$.jsx)(Yi,{label:s(`gitView.changes.unstageFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`unstage`,disabled:a,onClick:()=>o(`unstage`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Yi,{label:s(`gitView.changes.revertFileAria`,{path:n}),icon:`arrow-go-back`,loading:i===`discard`,disabled:a,tone:`failure`,onClick:()=>o(`discard`)}),(0,$.jsx)(Yi,{label:s(`gitView.changes.stageFileAria`,{path:n}),icon:`add`,loading:i===`stage`,disabled:a,tone:`success`,onClick:()=>o(`stage`)})]})}),t[0]=i,t[1]=a,t[2]=n,t[3]=o,t[4]=r,t[5]=s,t[6]=c):c=t[6],c}),Yi=e=>{let t=(0,jn.c)(14),{label:n,icon:r,loading:i,disabled:a,tone:o,onClick:s}=e,c=o===`failure`&&`text-[var(--status-error)] hover:text-[var(--status-error)]`,l=o===`success`&&`text-[var(--status-success)] hover:text-[var(--status-success)]`,u;t[0]!==c||t[1]!==l?(u=Y(`h-6 w-6 rounded-none bg-transparent p-0 text-muted-foreground opacity-70 hover:bg-transparent hover:text-foreground hover:opacity-100`,c,l),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d;t[3]===s?d=t[4]:(d=e=>{e.stopPropagation(),s()},t[3]=s,t[4]=d);let f;t[5]!==r||t[6]!==i?(f=i?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:r,className:r===`add`?`size-4`:`size-3.5`}),t[5]=r,t[6]=i,t[7]=f):f=t[7];let p;return t[8]!==a||t[9]!==n||t[10]!==u||t[11]!==d||t[12]!==f?(p=(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,className:u,disabled:a,title:n,"aria-label":n,onClick:d,children:f}),t[8]=a,t[9]=n,t[10]=u,t[11]=d,t[12]=f,t[13]=p):p=t[13],p},Xi=Q.memo(({directory:e,file:t,layout:n,wrapLines:r,isSelected:i,isExpanded:a,isMounted:s,onSelect:c,onExpandedChange:l,registerSectionRef:u,showOpenInEditorAction:d=!1,isOpeningInEditor:f=!1,onOpenInEditor:p,staged:m=!1,loadFullFiles:h=!1,initialDiffData:g=null,focusLine:_=null,showFileActions:v=!0,disableGitFetch:y=!1})=>{let{t:b}=ee(),{git:x}=Nt(),S=Ut(Q.useCallback(n=>n.directories.get(e)?.diffCache.get(t.path)??null,[e,t.path])),C=Ut(e=>e.setDiff),w=Ut(e=>e.fetchStatus),T=o(e=>e.setDiffFileLayout),[E,D]=Q.useState(0),[O,k]=Q.useState(null),[A,j]=Q.useState(!1),[N,P]=Q.useState(null),[F,I]=Q.useState(!1),[L,te]=Q.useState(null),[R,z]=Q.useState(null),B=Q.useRef(null),V=Q.useRef(null),H=Q.useMemo(()=>Mi(t),[t]),U=n===`side-by-side`,W=h?`full`:`patch`,ne=`${t.index}:${t.working_dir}:${t.insertions}:${t.deletions}`,G=Q.useMemo(()=>g||(m?R:L||(S?{original:S.original,modified:S.modified,isBinary:S.isBinary,contextMode:`full`}:null)),[S,g,L,m,R]),K=G?.contextMode===W,re=Q.useCallback(e=>{V.current=e,u(t.path,e)},[t.path,u]),ie=Q.useCallback(e=>{l(t.path,e)},[t.path,l]),ae=Q.useCallback(()=>{c(t.path)},[t.path,c]);Q.useEffect(()=>{m?z(null):te(null),k(null),B.current=null},[ne,m]),Q.useEffect(()=>{if(!a||!s)return;if(y){B.current=null,j(!1);return}if(!e||g||G&&K){B.current=null,j(!1);return}let n=`${e}::${t.path}::${m?`staged`:`unstaged`}::${ne}::${W}::${E}`;if(B.current===n)return;B.current=n,k(null),j(!0);let r=!1,i=h?Ti:Ei,o=Lt(t.path)||h?x.getGitFileDiff(e,{path:t.path,staged:m}):x.getGitDiff(e,{path:t.path,staged:m,contextLines:i}),c=Si,l=new Promise((e,t)=>{setTimeout(()=>t(Error(`Timed out after ${c}ms`)),c)});return Promise.race([o,l]).then(n=>{if(!r){if(`diff`in n){let e=Hi(t.path,n.diff,W);m?z(e):te(e)}else{let r={original:n.original??``,modified:n.modified??``,isBinary:n.isBinary,contextMode:`full`};m?z(r):C(e,t.path,r)}j(!1)}}).catch(e=>{if(r)return;let t=e instanceof Error?e.message:String(e);k(t),j(!1)}),()=>{r=!0,B.current===n&&(B.current=null)}},[W,G,K,E,e,y,t.path,ne,x,g,a,s,h,C,m]);let oe=Q.useCallback(()=>{ie(!a),ae()},[ie,ae,a]),se=Q.useCallback(async n=>{if(!(!e||N!==null)){P(n);try{n===`stage`?await x.stageGitFile(e,t.path):n===`unstage`?await x.unstageGitFile(e,t.path):await x.revertGitFile(e,t.path,{scope:`working`}),D(e=>e+1),await w(e,x)}catch(e){let t=n===`unstage`?`gitView.toast.unstageFileFailed`:n===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.revertFailed`;M.error(e instanceof Error?e.message:b(t))}finally{P(e=>e===n?null:e)}}},[e,w,t.path,N,x,b]);return(0,$.jsxs)(`div`,{ref:re,className:`scroll-mt-9 border-b border-[var(--interactive-border)]/40 last:border-b-0`,children:[(0,$.jsx)(`div`,{className:`sticky top-0 z-30 border-b border-[var(--interactive-border)]/35 bg-[var(--surface-elevated)]/90 backdrop-blur-md supports-[backdrop-filter]:bg-[var(--surface-elevated)]/80`,children:(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:oe,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),oe())},className:Y(`cursor-pointer`,`group/header relative grid min-h-8 w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1.5 overflow-hidden px-2 py-1`,`bg-transparent`,`text-muted-foreground hover:text-foreground`,i?`bg-[var(--interactive-selection)]/35`:null),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-none group-hover/header:bg-[var(--interactive-hover)]/50`}),(0,$.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`flex size-4 items-center justify-center opacity-70 group-hover/header:opacity-100`,children:a?(0,$.jsx)(X,{name:`arrow-down-s`,className:`size-3.5`}):(0,$.jsx)(X,{name:`arrow-right-s`,className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`typography-code font-semibold leading-none w-3.5 text-center uppercase`,style:{color:H.color},title:b(H.descriptionKey),"aria-label":b(H.descriptionKey),children:H.code}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 overflow-hidden typography-code`,title:t.path,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(Et,{filePath:t.path,className:`size-3 flex-shrink-0 align-middle`}),(()=>{let e=t.path.lastIndexOf(`/`);if(e===-1)return(0,$.jsx)(`span`,{className:`block min-w-0 truncate typography-code text-foreground`,style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:t.path});let n=t.path.slice(0,e),r=t.path.slice(e+1);return(0,$.jsxs)(`span`,{className:`flex min-w-0 items-baseline overflow-hidden`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-code text-muted-foreground`,style:{direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},children:n}),(0,$.jsxs)(`span`,{className:`flex-shrink-0 typography-code`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`/`}),(0,$.jsx)(`span`,{className:`text-foreground`,children:r})]})]})})()]})})]}),(0,$.jsxs)(`div`,{className:`relative flex shrink-0 items-center justify-self-end gap-1.5`,children:[Ui(t.insertions,t.deletions),d&&p?(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,className:`h-5 w-5 p-0 opacity-70 hover:opacity-100`,title:b(`diffView.actions.openFileInEditorAtChange`),onClick:e=>{e.stopPropagation(),p(t.path,G)},disabled:f,children:f?(0,$.jsx)(X,{name:`loader-4`,className:`size-3.5 animate-spin`}):(0,$.jsx)(X,{name:`edit`,className:`size-3.5`})}):null,(0,$.jsx)(Yt,{mode:U?`side-by-side`:`unified`,onModeChange:e=>{let n=e===`side-by-side`?`side-by-side`:`inline`;T(t.path,n)},className:`opacity-70`})]})]})}),a&&(0,$.jsxs)(`div`,{className:`relative bg-background overflow-hidden`,children:[!s&&!O?(0,$.jsx)(`div`,{className:`h-40 border border-border/40 bg-background/40`}):null,O?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:b(`diffView.state.failedToLoadDiff`)}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground max-w-[32rem] text-center`,children:O}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>D(e=>e+1),children:b(`diffView.actions.retry`)})]}):null,s&&A&&!G&&!O?(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),b(`diffView.state.loadingDiff`)]}):null,s&&G&&!F&&t.insertions+t.deletions>Ci?(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-8 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:b(`diffView.state.largeDiff`,{count:t.insertions+t.deletions})}),(0,$.jsx)(`div`,{className:`typography-meta text-muted-foreground`,children:b(`diffView.state.largeDiffDescription`)}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>I(!0),children:b(`diffView.actions.renderAnyway`)})]}):null,s&&G&&(F||t.insertions+t.deletions<=Ci)?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(qi,{filePath:t.path,diff:G,renderSideBySide:U,wrapLines:r,focusLine:_}),v?(0,$.jsx)(`div`,{className:`pointer-events-none absolute bottom-3 right-3 z-20`,children:(0,$.jsx)(`div`,{className:`pointer-events-auto`,children:(0,$.jsx)(Ji,{filePath:t.path,staged:m,busyAction:N,disabled:N!==null,onAction:se})})}):null]}):null]})]})}),Zi=({hideStackedFileSidebar:e=!1,stackedDefaultCollapsedAll:t=!1,pinSelectedFileHeaderToTopOnNavigate:n=!1,showOpenInEditorAction:r=!1,diffScope:i=`all`,turnMessageId:a=null,sessionId:c=null,directory:l=null,onDiffScopeChange:u,targetFilePath:d=null,targetLine:f=null,toolPatches:p=null,flushContent:m=!1,singleFileView:h=!1,preloadFullFiles:g=!1,navigationRequestKey:_})=>{let{t:v}=ee(),{git:y,files:x}=Nt(),S=zt(),C=typeof l==`string`&&l.trim()?l.trim():S,{screenWidth:w,isMobile:T}=xt(),E=qt(C??null),D=Jt(C??null),O=Wt(C??null),k=Ut(e=>e.setActiveDirectory),A=Ut(e=>e.ensureStatus),j=Ut(e=>e.fetchStatus),N=Ut(e=>e.setDiff),[P,F]=Q.useState(null),[L,te]=Q.useState(!1),[R,z]=Q.useState(null),[B,V]=Q.useState(null),[H,U]=Q.useState(()=>new Set),[W,ne]=Q.useState(()=>new Set),[G,K]=Q.useState(g),[re,oe]=Q.useState(0),[se,ce]=Q.useState(!1),[le,ue]=Q.useState(!1),[J,de]=Q.useState(i);Q.useEffect(()=>{de(i)},[i]);let fe=o(e=>e.pendingDiffFile),pe=o(e=>e.pendingDiffStaged),me=o(e=>e.pendingDiffScope),he=o(e=>e.pendingDiffLine),ge=o(e=>e.setPendingDiffFile),_e=o(e=>e.diffLayoutPreference),ve=o(e=>e.diffFileLayout),ye=o(e=>e.setDiffFileLayout),be=o(e=>e.diffWrapLines),xe=o(e=>e.setDiffWrapLines),Se=o(e=>e.openContextFileAtLine),Ce=q(e=>e.currentSessionId),we=typeof c==`string`&&c.trim()?c.trim():Ce,Te=ae(we??``,C??void 0),Ee=be,De=J===`staged`||J!==`working`&&null,Oe=De??L,ke=T||w<=768,Ae=!!we&&J!==`turn`&&!ke&&!s(),je=!e&&!ke&&w>=1024,Me=Q.useRef(null),Ne=Q.useRef(new Map),Fe=Q.useRef(null),Ie=Q.useRef(null),Le=Q.useRef(!1),Re=Q.useRef(null),ze=Q.useRef(null),Be=Q.useRef(null),Ve=Q.useCallback(()=>{Fe.current=null,Le.current=!1,V(null),Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null)},[]),He=Q.useCallback(e=>{U(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Ue=Q.useMemo(()=>{let e=Te.length-1;if(a&&(e=Te.findIndex(e=>e.id===a),e<0))return[];for(let t=e;t>=0;--t){let e=Te[t];if(e.role===`user`)return Bi(e.summary?.diffs)}return[]},[Te,a]),We=Q.useMemo(()=>{let e=Te.length-1;if(a&&(e=Te.findIndex(e=>e.id===a),e<0))return null;for(let t=e;t>=0;--t){let e=Te[t];if(e.role===`user`&&typeof e.id==`string`&&e.id)return e.id}return null},[Te,a]),Ge=Q.useMemo(()=>_i(p??[]),[p]),Ke=Ge.length>0,[qe,Je]=Q.useState(null),[Ye,Xe]=Q.useState(null),[Ze,tt]=Q.useState(0),nt=Q.useRef(0),rt=Q.useMemo(()=>Ke?Ge:qe?bi(Ue,qe):Ue,[qe,Ue,Ge,Ke]);Q.useEffect(()=>{if(J!==`turn`||Ke){Je(null),Xe(null);return}if(!we||Ue.length===0){Je(null),Xe(null);return}if(!yi(Ue)){Je(null),Xe(null);return}let e=++nt.current;return Xe(null),Je(null),b.getSessionDiff({sessionID:we,directory:C,messageID:We}).then(t=>{e===nt.current&&Je(t)}).catch(t=>{if(e!==nt.current)return;let n=t instanceof Error?t.message:String(t);Xe(n),Je(null)}),()=>{nt.current+=1}},[J,we,C,Ue,We,Ze,Ke]);let it=Q.useMemo(()=>{let e=new Map;for(let t of rt)if(t.file){if(typeof t.patch==`string`&&t.patch.length>0){e.set(t.file,Hi(t.file,t.patch,`patch`));continue}(typeof t.before==`string`&&t.before.length>0||typeof t.after==`string`&&t.after.length>0)&&e.set(t.file,{original:t.before??``,modified:t.after??``,contextMode:`full`})}return e},[rt]),at=Q.useMemo(()=>{if(J===`turn`)return rt.map(e=>({path:e.file??``,index:``,working_dir:Vi(e.status),insertions:e.additions??0,deletions:e.deletions??0,isNew:e.status===`added`})).filter(e=>e.path).sort((e,t)=>e.path.localeCompare(t.path));if(!D?.files)return[];let e=D.diffStats??{},t=J===`staged`?Pi:J===`working`?Fi:()=>!0;return D.files.filter(t).map(t=>({...t,insertions:e[t.path]?.insertions??0,deletions:e[t.path]?.deletions??0,isNew:Ni(t)})).sort((e,t)=>e.path.localeCompare(t.path))},[J,rt,D]),ot=Q.useMemo(()=>D?.files?D.files.filter(Fi).length:0,[D]),st=Q.useMemo(()=>D?.files?D.files.filter(Pi).length:0,[D]),ct=rt.length,lt=Q.useMemo(()=>at.map(e=>e.path).join(`\0`),[at]),ut=Q.useMemo(()=>{if(!h)return at;let e=d?.trim()||P;return e?at.filter(t=>t.path===e):[]},[at,P,h,d]);Q.useEffect(()=>{let e=lt?lt.split(`\0`):[],n=new Set(e),r=`${C??``}:${J}:${t?`collapsed`:`default`}`,i=p!==null&&Be.current!==p,a=ze.current!==r||i;ze.current=r,Be.current=p,U(r=>{if(a){let n=t?0:Di(e.length);return new Set(e.slice(0,n))}let i=!1,o=new Set;for(let e of r){if(!n.has(e)){i=!0;continue}o.add(e)}return i?o:r}),ne(e=>{if(a)return new Set;let t=!1,r=new Set;for(let i of e){if(!n.has(i)){t=!0;continue}r.add(i)}return t?r:e})},[J,lt,C,t,p]);let dt=Q.useCallback(()=>{Re.current=null;let e=Me.current;if(!e)return;let t=e.getBoundingClientRect(),n=t.top-wi,r=t.bottom+wi,i={};for(let[e,t]of Ne.current){if(!t||!H.has(e))continue;let a=t.getBoundingClientRect();a.bottom<n||a.top>r||(i[e]=!0)}ne(e=>{let t=!1,n=new Set(e);for(let e of Object.keys(i))n.has(e)||(n.add(e),t=!0);return t?n:e})},[H]),ft=Q.useCallback(()=>{typeof window>`u`||Re.current===null&&(Re.current=window.requestAnimationFrame(dt))},[dt]);Q.useEffect(()=>{let e=Me.current;if(e)return ft(),e.addEventListener(`scroll`,ft,{passive:!0}),window.addEventListener(`resize`,ft),()=>{e.removeEventListener(`scroll`,ft),window.removeEventListener(`resize`,ft),Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null)}},[at,H,ft]);let pt=Q.useCallback(e=>{let t=ve[e.path];if(t)return t;if(_e===`inline`)return`inline`;if(_e===`side-by-side`)return`side-by-side`;let n=w<xi;return e.isNew||n?`inline`:`side-by-side`},[ve,_e,w]),mt=Q.useMemo(()=>ut.length===0?null:ut.every(e=>pt(e)===`side-by-side`)?`side-by-side`:`inline`,[pt,ut]);Q.useEffect(()=>{C&&(k(C),A(C,y))},[C,k,A,y]),Q.useEffect(()=>{if(C)return ie.onGitRefreshHint(e=>{Li(e.directory)===Li(C)&&j(C,y)})},[C,j,y]),Q.useEffect(()=>{J!==`all`&&!me||fe&&(me&&de(me),F(fe),te(me===`staged`||!me&&pe),z(he),ge(null),Le.current=!0,Fe.current=fe,He(fe),oe(e=>e+1))},[J,He,fe,he,me,pe,ge]),Q.useEffect(()=>{if(J===`all`)return;let e=d?.trim();e&&(F(e),te(J===`staged`),z(f),Le.current=!0,Fe.current=e,He(e),oe(e=>e+1))},[J,He,_,d,f]),Q.useEffect(()=>{P&&(at.some(e=>e.path===P)||(F(null),te(!1)))},[at,P]);let ht=Q.useCallback((e,t)=>{let n=Ne.current;t?n.set(e,t):n.delete(e),ft()},[ft]),gt=Q.useCallback((e,t)=>{Ve(),U(n=>{if(t===n.has(e))return n;let r=new Set(n);return t?r.add(e):r.delete(e),r}),t||ne(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),ft()},[Ve,ft]),_t=Q.useCallback(()=>{Ve(),U(e=>e.size>0?new Set:new Set(at.map(e=>e.path))),ne(new Set),ft()},[Ve,at,ft]),vt=Q.useCallback(async e=>{if(!Ce)return;let t=q.getState().getDirectoryForSession(Ce)||C||``;if(!t){M.error(v(`diffView.reviewDialog.toast.noSessionDirectory`));return}ue(!0);try{await I({originalSessionID:Ce,directory:t,providerID:e.providerID,modelID:e.modelID,agent:e.agent||void 0,variant:e.variant||void 0,generateHandoff:e.generateHandoff,returnAfterHandoffRequest:e.generateHandoff,autoReview:e.autoReview}),ce(!1)}catch(e){console.error(`[review-flow] failed to start review flow`,e),M.error(e instanceof Error?e.message:v(`diffView.reviewDialog.toast.startFailed`))}finally{ue(!1)}},[Ce,C,v]),yt=Q.useCallback(e=>{let t=Ne.current.get(e),n=Me.current;if(!t||!n)return!1;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect().top-r.top,a=Math.max(0,n.scrollHeight-n.clientHeight);return n.scrollTop=Math.min(a,Math.max(0,n.scrollTop+i)),!0},[]);Q.useEffect(()=>{if(!Fe.current)return;let e=0,t=!1,r=()=>{t||(t=!0,Fe.current=null,Le.current=!1,V(null),Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null))},i=()=>{if(t){Ie.current=null;return}let a=Fe.current;if(!a){r(),Ie.current=null;return}if(!yt(a)){e+=1,e<20?Ie.current=window.requestAnimationFrame(i):(r(),Ie.current=null);return}n&&Le.current&&V(a),r()};return Ie.current=window.requestAnimationFrame(i),()=>{t=!0,Ie.current!==null&&(window.cancelAnimationFrame(Ie.current),Ie.current=null)}},[n,re,yt]);let bt=Q.useCallback(e=>{},[]),St=Q.useCallback(e=>{Ve(),F(e),te(!1),Le.current=!0,Fe.current=e,He(e),oe(e=>e+1),yt(e)},[Ve,He,yt]),Ct=Q.useCallback(e=>{let t=e===`side-by-side`?`side-by-side`:`inline`;ut.forEach(e=>{ye(e.path,t)})},[ye,ut]),[wt,Tt]=Q.useState(null),Et=Q.useCallback(async(e,t)=>{if(!(!C||!e)){Tt(e);try{let n=null;if(t?.patch&&!t.isBinary&&!Lt(e)?n=gi(t.patch):t&&t.contextMode===`full`&&!t.isBinary&&!Lt(e)&&(n=Ri(t.original,t.modified)),n===null)try{n=gi((await y.getGitDiff(C,{path:e,staged:Oe,contextLines:3})).diff)}catch{n=null}let r=t;if(n===null||!r){let t=await y.getGitFileDiff(C,{path:e,staged:Oe});r={original:t.original??``,modified:t.modified??``,isBinary:t.isBinary},Oe||N(C,e,r)}let i=n??(r.isBinary||Lt(e)?1:Ri(r.original,r.modified)),a=Ii(C,e),o=await oi(x,a);if(!o.ok){M.error(si(o.reason));return}Se(C,a,i,1)}finally{Tt(t=>t===e?null:t)}}},[Oe,C,x,y,Se,N]),Dt=()=>{if(!C)return null;let e=e=>De===null?L&&e===P:De;return(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-1 min-h-0 h-full`,m?`gap-0`:`gap-3 px-3 pb-3 pt-2`),children:[je&&(0,$.jsxs)(`section`,{className:`hidden lg:flex w-72 flex-col rounded-xl border border-border/60 bg-background/70 overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-b border-border/40`,children:[(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:v(`diffView.section.files`)}),(0,$.jsx)(`span`,{className:`typography-code text-muted-foreground`,children:at.length})]}),(0,$.jsx)(Gi,{changedFiles:at,selectedFile:null,onSelectFile:St})]}),(0,$.jsx)(`div`,{className:`relative flex-1 min-w-0 min-h-0 h-full`,children:(0,$.jsx)(Pe,{ref:Me,outerClassName:`min-h-0 h-full`,className:`[overflow-anchor:none] pb-16 pwa-overlay-scroll`,disableHorizontal:!0,observeMutations:!1,preventOverscroll:!0,"data-diff-virtual-root":!0,children:(0,$.jsx)(`div`,{className:`flex flex-col [overflow-anchor:none]`,"data-diff-virtual-content":!0,children:ut.map(t=>(0,$.jsx)(Xi,{directory:C,file:t,layout:pt(t),wrapLines:Ee,isSelected:!1,isExpanded:H.has(t.path),isMounted:W.has(t.path)||t.path===B,onSelect:bt,onExpandedChange:gt,registerSectionRef:ht,showOpenInEditorAction:r&&J!==`turn`,isOpeningInEditor:wt===t.path,onOpenInEditor:(e,t)=>{Et(e,t)},staged:e(t.path),loadFullFiles:G,initialDiffData:J===`turn`?it.get(t.path)??null:null,focusLine:t.path===(d?.trim()||P)?f??R:null,showFileActions:J!==`turn`,disableGitFetch:J===`turn`},t.path))})})})]})};return(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background`,children:[h?null:(0,$.jsxs)(`div`,{className:`@container/diff-toolbar flex min-w-0 items-center gap-1.5 px-2 py-1.5 bg-background`,children:[!T&&(J===`working`||J===`staged`||J===`turn`?(0,$.jsx)(Wi,{scope:J,workingCount:ot,stagedCount:st,turnCount:ct,onScopeChange:e=>{de(e),u?.(e)}}):(0,$.jsx)(`div`,{className:`flex items-center gap-1 rounded-md px-2 py-1 text-muted-foreground shrink-0`,children:(0,$.jsx)(`span`,{className:`typography-code font-semibold text-foreground`,children:O&&!D?v(`diffView.state.loadingChanges`):ut.length===1?v(`diffView.summary.changedFilesSingle`,{count:ut.length}):v(`diffView.summary.changedFilesPlural`,{count:ut.length})})})),!h&&at.length>0&&(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,onClick:_t,className:Y(`diff-toolbar__expand-button h-7 flex-shrink-0 gap-1 px-1.5 text-muted-foreground hover:text-foreground`,`ml-auto`),title:H.size>0?v(`diffView.actions.collapseAll`):v(`diffView.actions.expandAll`),children:[(0,$.jsx)(X,{name:`expand-up-down`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__expand-label typography-code`,children:H.size>0?v(`diffView.actions.collapseAll`):v(`diffView.actions.expandAll`)})]}),at.length>0&&Ae&&(0,$.jsxs)(Z,{variant:`default`,size:`sm`,onClick:()=>ce(!0),disabled:le,className:`diff-toolbar__review-button h-7 flex-shrink-0 gap-1.5 px-2`,"aria-label":v(`diffView.actions.reviewAria`),children:[le?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(X,{name:`search-eye`,className:`size-4`}),(0,$.jsx)(`span`,{className:`diff-toolbar__review-label typography-code`,children:v(`diffView.actions.review`)})]}),at.length>0&&(0,$.jsxs)(et,{children:[(0,$.jsx)(Qe,{asChild:!0,children:(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,onClick:()=>K(e=>!e),"aria-pressed":G,"aria-label":v(G?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`),className:Y(`h-7 w-7 flex-shrink-0 p-0 text-muted-foreground hover:text-foreground`,G&&`bg-interactive-selection text-interactive-selection-foreground`),children:(0,$.jsx)(X,{name:`file-download`,className:`size-4`})})}),(0,$.jsx)($e,{children:(0,$.jsx)(`p`,{children:v(G?`diffView.actions.disableFullFiles`:`diffView.actions.loadFullFiles`)})})]}),at.length>0&&(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,onClick:()=>xe(!be),className:Y(`h-5 w-5 p-0 transition-opacity`,Ee?`text-foreground opacity-100`:`text-muted-foreground opacity-60 hover:opacity-100`),title:v(Ee?`diffView.actions.disableLineWrap`:`diffView.actions.enableLineWrap`),children:(0,$.jsx)(X,{name:`text-wrap`,className:`size-4`})}),mt&&(0,$.jsx)(Yt,{mode:mt===`side-by-side`?`side-by-side`:`unified`,onModeChange:Ct})]}),(0,$.jsx)(Ot,{open:se,onOpenChange:ce,projectDirectory:C??null,submitting:le,onConfirm:vt}),(()=>{if(!C)return(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(`diffView.state.selectSessionDirectory`)});if(J!==`turn`&&O&&!D)return(0,$.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),v(`diffView.state.loadingRepositoryStatus`)]});if(J!==`turn`&&E===!1)return(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(`diffView.state.notGitRepository`)});if(ut.length===0)return(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:v(J===`turn`?`diffView.state.noLastTurnChanges`:`diffView.state.cleanWorkingTree`)});let e=J===`turn`&&!Ke&&yi(Ue),t=!e||qe!==null;return J===`turn`&&e&&Ye&&!t?(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-2 px-4 text-sm text-muted-foreground`,children:[(0,$.jsx)(`div`,{className:`typography-ui-label font-semibold text-foreground`,children:v(`diffView.state.failedToLoadDiff`)}),(0,$.jsx)(`div`,{className:`typography-meta max-w-[32rem] text-center text-muted-foreground`,children:Ye}),(0,$.jsx)(`button`,{type:`button`,className:`typography-ui-label text-primary hover:underline`,onClick:()=>tt(e=>e+1),children:v(`diffView.actions.retry`)}),(0,$.jsx)(`div`,{className:`mt-4 w-full max-w-md space-y-1`,children:at.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 rounded-md px-2 py-1 typography-code`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-foreground`,children:e.path}),Ui(e.insertions,e.deletions)]},e.path))})]}):J===`turn`&&e&&!t?(0,$.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin`}),v(`diffView.state.loadingDiff`)]}):Dt()})()]})},Qi=e=>{let t=(0,jn.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};Qi.displayName=`SessionBusyIndicator`;function $i(e){let t=(0,jn.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 ee;t[27]===d?ee=t[28]:(ee=(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]=ee);let O;return t[29]!==D||t[30]!==ee||t[31]!==h||t[32]!==g?(O=(0,$.jsxs)(`span`,{className:h,style:g,"aria-hidden":`true`,children:[D,ee]}),t[29]=D,t[30]=ee,t[31]=h,t[32]=g,t[33]=O):O=t[33],O}function ea(){o.getState().setArchivedSessionsDialogOpen(!0)}function ta(e){M.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?.(),M.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(),M.dismiss(t)}},e.primaryLabel,Q.createElement($i,{durationMs:e.durationMs})))),{duration:e.durationMs,className:`session-mutation-undo-toast !max-w-[calc(100vw-2rem)]`})}function na(e){let t=Array.from(new Set(e.sessionIds.filter(Boolean)));t.length!==0&&ta({durationMs:N,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{(async()=>{(await Promise.all(t.map(e=>B(e)))).some(e=>!e)&&M.error(e.undoFailedMessage)})()},secondaryLabel:e.settingsLabel,onSecondary:()=>{ea()}})}function ra(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}=te(t,{delayMs:n,onSettled:({failedIds:t})=>{t.length>0&&M.error(e.commitFailedMessage)}});return r&&ta({durationMs:n,message:e.message,primaryLabel:e.undoLabel,onPrimary:()=>{U(r)}}),{batchId:r,scheduledIds:i}}var ia=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/,``),aa=e=>{let t=e;return ia(t.directory??t.project?.worktree??null)},oa=({open:e,project:t,worktree:n,onClose:r,onDeleted:i})=>{let{t:a}=ee(),o=z(),s=W(e=>e.activeSessions),c=q(e=>e.archiveSessions),l=x(e=>e.currentDirectory),[u,d]=Q.useState(!1),[f,p]=Q.useState(!1),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),v=ia(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])aa(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 We(n.path).then(e=>{t||h(!!e?.isDirty)}).catch(()=>{t||h(!!n.status?.isDirty)}),()=>{t=!0}},[e,n?.path,n?.status?.isDirty]);let S=D(e=>{(async()=>{try{await Je(e.project,e.worktree,{deleteRemoteBranch:e.hasBranch&&e.deleteRemoteBranch,deleteLocalBranch:e.hasBranch&&e.deleteLocalBranch}),ia(e.currentDirectory)===e.worktreePath&&ia(e.project.path)&&x.getState().setDirectory(ia(e.project.path),{showOverlay:!1}),M.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){M.error(e.t(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:t instanceof Error?t.message:e.t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}})()}),C=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&&M.success(e.length===1?o.t(`sessions.sidebar.bulkActions.archivedSingle`,{count:e.length}):o.t(`sessions.sidebar.bulkActions.archivedPlural`,{count:e.length})),M.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}}S(o),o.onClose()}catch(e){M.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 w=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)(Mt,{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 C(),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:w})}),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]})})},sa=()=>3,ca=()=>7,la=(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 ze(r,e)?e:r};function ua(){let e=(0,jn.c)(3),t=z(),n=W(pa),r;if(e[0]!==n||e[1]!==t){let i=new Map(t.map(fa));r=n.map(e=>{let t=i.get(e.id);return t?se(t,e):e});let a=new Set(r.map(da));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 da(e){return e.id}function fa(e){return[e.id,e]}function pa(e){return e.activeSessions}var ma=`__pinned_sessions__`,ha=3,ga=7,_a=e=>{if(!e)return``;let t=e.replace(/\\/g,`/`);return t===`/`?`/`:t.replace(/\/+$/,``)},va=e=>{let t=e;return _a(t.directory??t.project?.worktree??``)},ya=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 ba(e){e.preventBaseUIHandler()}function xa(e,t,n){t&&(e.preventBaseUIHandler(),n(e))}function Sa(e){let t=(0,jn.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 Ca(e,t){let n=(0,jn.c)(32),r=L(ka),i;if(n[0]!==e){i=new Map;let t=new Set(e.map(Oa));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(Da).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(Ea)),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=Ta;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(wa,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 wa(e,t){return e+(t._statusType===`idle`?0:1)+(t._runningChildrenCount??0)}function Ta(e,t){let n=e.time?.updated??0;return(t.time?.updated??0)-n}function Ea(e){return e.id}function Da(e){return{session:e,isRunning:!0}}function Oa(e){return e.id}function ka(e){return e.index.session.unseenCount}function Aa(){let e=(0,jn.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=L(ja),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 ja(e){return e.index.session.unseenCount}function Ma(e,t,n){let r=(0,jn.c)(6),i=q(Fa),a=q(Pa),o=L(Na),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=_a(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=_a(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 Na(e){return e.index.session.unseenCount}function Pa(e){return e.getSessionsByDirectory}function Fa(e){return e.availableWorktreesByProject}function Ia(){let e=(0,jn.c)(2),t=q(La),n;return e[0]===t?n=e[1]:(n=e=>{let n=_a(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=_a(t);e&&r.push(e)}}return r},e[0]=t,e[1]=n),n}function La(e){return e.availableWorktreesByProject}function Ra(e){let t=(0,jn.c)(2),{isRunning:n,showUnread:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Qi,{}),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 za(e){let t=(0,jn.c)(3),{count:n}=e;if(n===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(Qi,{}),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 Ba(e){let t=(0,jn.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 Va=()=>{if(typeof window>`u`)return;let e=window.getSelection();e?.rangeCount&&e.removeAllRanges()},Ha={touchAction:`manipulation`,userSelect:`none`,WebkitUserSelect:`none`,WebkitTouchCallout:`none`};function Ua(e){let t=(0,jn.c)(85),{session:n,isCurrent:r,isPinned:i,contextLabel:a,getSessionTitle:o,onClick:s,onRename:c,onTogglePinned:l,onShare:u,onCopyShareUrl:d,onUnshare:f,onArchive:p,needsAttention:m,longPressHandlers:h}=e,{t:g}=ee(),[_,v]=Q.useState(!1),y;t[0]!==m||t[1]!==n.id?(y=m(n.id),t[0]=m,t[1]=n.id,t[2]=y):y=t[2];let b=y,x=n.share?.url,S;t[3]!==h.onContextMenu||t[4]!==h.pressed?(S=e=>{xa(e,h.pressed,h.onContextMenu)},t[3]=h.onContextMenu,t[4]=h.pressed,t[5]=S):S=t[5];let C=n.id,w=`session:${n.id}`,T=h.onPointerDown,E=h.onPointerMove,D=h.onPointerUp,O=h.onPointerCancel,k;t[6]!==_||t[7]!==s?(k=e=>{if(_){e.preventDefault();return}s()},t[6]=_,t[7]=s,t[8]=k):k=t[8];let A=h.pressed&&`bg-[var(--interactive-active)] scale-[0.99]`,j=r?`bg-[color-mix(in_srgb,var(--interactive-selection)_40%,transparent)]`:`hover:bg-[var(--interactive-hover)]`,M;t[9]!==A||t[10]!==j?(M=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)]`,A,j),t[9]=A,t[10]=j,t[11]=M):M=t[11];let N;t[12]!==h.onPointerCancel||t[13]!==h.onPointerDown||t[14]!==h.onPointerMove||t[15]!==h.onPointerUp||t[16]!==n.id||t[17]!==M||t[18]!==w||t[19]!==k?(N=(0,$.jsx)(`button`,{type:`button`,"data-mobile-session-context-trigger":C,"data-mobile-long-press-trigger":w,onPointerDown:T,onPointerMove:E,onPointerUp:D,onPointerCancel:O,onClick:k,className:M,style:Ha}),t[12]=h.onPointerCancel,t[13]=h.onPointerDown,t[14]=h.onPointerMove,t[15]=h.onPointerUp,t[16]=n.id,t[17]=M,t[18]=w,t[19]=k,t[20]=N):N=t[20];let P=n._statusType!==`idle`,F=b&&!r,I;t[21]!==P||t[22]!==F?(I=(0,$.jsx)(`span`,{className:`flex h-4 w-4 flex-shrink-0 items-center justify-center`,children:(0,$.jsx)(Ra,{isRunning:P,showUnread:F})}),t[21]=P,t[22]=F,t[23]=I):I=t[23];let L=r?`font-semibold text-[var(--surface-foreground)]`:`text-[var(--surface-foreground)]`,te;t[24]===L?te=t[25]:(te=Y(`truncate text-[15px] leading-tight`,L),t[24]=L,t[25]=te);let R;t[26]!==o||t[27]!==n?(R=o(n),t[26]=o,t[27]=n,t[28]=R):R=t[28];let z;t[29]!==te||t[30]!==R?(z=(0,$.jsx)(`span`,{className:te,children:R}),t[29]=te,t[30]=R,t[31]=z):z=t[31];let B;t[32]===a?B=t[33]:(B=a?(0,$.jsx)(`span`,{className:`truncate text-[12px] leading-none text-[var(--surface-mutedForeground)]`,children:a}):null,t[32]=a,t[33]=B);let V;t[34]!==z||t[35]!==B?(V=(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[z,B]}),t[34]=z,t[35]=B,t[36]=V):V=t[36];let H;t[37]===n._runningChildrenCount?H=t[38]:(H=(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)(Qi,{size:12}),n._runningChildrenCount]}),t[37]=n._runningChildrenCount,t[38]=H);let U;t[39]===r?U=t[40]:(U=r&&(0,$.jsx)(X,{name:`check`,className:`h-4 w-4 flex-shrink-0 text-[var(--primary-base)]`}),t[39]=r,t[40]=U);let W;t[41]!==N||t[42]!==I||t[43]!==S||t[44]!==V||t[45]!==H||t[46]!==U?(W=(0,$.jsxs)(Sn,{onTouchStart:ba,onContextMenu:S,render:N,children:[I,V,H,U]}),t[41]=N,t[42]=I,t[43]=S,t[44]=V,t[45]=H,t[46]=U,t[47]=W):W=t[47];let ne;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(X,{name:`pencil-ai`,className:`size-4`}),t[48]=ne):ne=t[48];let G;t[49]===g?G=t[50]:(G=g(`sessions.sidebar.session.menu.rename`),t[49]=g,t[50]=G);let K;t[51]!==c||t[52]!==G?(K=(0,$.jsxs)(Tn,{className:`min-h-10 px-3`,onClick:c,children:[ne,G]}),t[51]=c,t[52]=G,t[53]=K):K=t[53];let re=i?`unpin`:`pushpin`,ie;t[54]===re?ie=t[55]:(ie=(0,$.jsx)(X,{name:re,className:`size-4`}),t[54]=re,t[55]=ie);let ae;t[56]!==i||t[57]!==g?(ae=g(i?`sessions.sidebar.session.menu.unpin`:`sessions.sidebar.session.menu.pin`),t[56]=i,t[57]=g,t[58]=ae):ae=t[58];let oe;t[59]!==l||t[60]!==ie||t[61]!==ae?(oe=(0,$.jsxs)(Tn,{className:`min-h-10 px-3`,onClick:l,children:[ie,ae]}),t[59]=l,t[60]=ie,t[61]=ae,t[62]=oe):oe=t[62];let se;t[63]!==d||t[64]!==u||t[65]!==f||t[66]!==x||t[67]!==g?(se=x?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Tn,{className:`min-h-10 px-3`,onClick:()=>d(x),children:[(0,$.jsx)(X,{name:`file-copy`,className:`size-4`}),g(`sessions.sidebar.session.menu.copyLink`)]}),(0,$.jsxs)(Tn,{className:`min-h-10 px-3`,onClick:f,children:[(0,$.jsx)(X,{name:`link-unlink-m`,className:`size-4`}),g(`sessions.sidebar.session.menu.unshare`)]})]}):(0,$.jsxs)(Tn,{className:`min-h-10 px-3`,onClick:u,children:[(0,$.jsx)(X,{name:`share-2`,className:`size-4`}),g(`sessions.sidebar.session.menu.share`)]}),t[63]=d,t[64]=u,t[65]=f,t[66]=x,t[67]=g,t[68]=se):se=t[68];let ce;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(Cn,{}),t[69]=ce):ce=t[69];let le;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(X,{name:`inbox-archive`,className:`size-4`}),t[70]=le):le=t[70];let q;t[71]===g?q=t[72]:(q=g(`sessions.sidebar.bulkActions.archive`),t[71]=g,t[72]=q);let ue;t[73]!==p||t[74]!==q?(ue=(0,$.jsxs)(Tn,{className:`min-h-10 px-3`,onClick:p,children:[le,q]}),t[73]=p,t[74]=q,t[75]=ue):ue=t[75];let J;t[76]!==K||t[77]!==oe||t[78]!==se||t[79]!==ue?(J=(0,$.jsxs)(wn,{className:`min-w-[200px] p-1.5`,children:[K,oe,se,ce,ue]}),t[76]=K,t[77]=oe,t[78]=se,t[79]=ue,t[80]=J):J=t[80];let de;return t[81]!==_||t[82]!==W||t[83]!==J?(de=(0,$.jsxs)(En,{open:_,onOpenChange:v,children:[W,J]}),t[81]=_,t[82]=W,t[83]=J,t[84]=de):de=t[84],de}function Wa(e){let t=(0,jn.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?He[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)(Qi,{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)(Le,{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 Ga=({onSessionSwitch:e})=>{let{t}=ee(),{git:n}=Nt(),{currentTheme:r}=at(),i=o(e=>e.isMobile),a=ua(),s=q(e=>e.currentSessionId),c=V(),l=q(e=>e.setCurrentSession),u=q(e=>e.openNewSessionDraft),d=Q.useCallback(e=>{if(!he()){fe.getState().openDraft(e);return}u(e)},[u]),f=q(e=>e.archiveSession),p=q(e=>e.shareSession),m=q(e=>e.unshareSession),h=q(e=>e.updateSessionTitle),g=q(e=>e.requestSessionSmartTitle),_=o(e=>e.mobileSessionPanelOpen),v=o(e=>e.setMobileSessionPanelOpen),y=st({onDismiss:()=>v(!1)}),b=re(e=>e.projects),x=re(e=>e.activeProjectId),S=re(e=>e.setActiveProjectIdOnly),C=Me(e=>e.ids),w=Me(e=>e.toggle),T=q(e=>e.availableWorktreesByProject),E=W(e=>e.activePaginationByDirectory),{sessions:D,totalRunning:O,totalUnread:A}=Ca(a,c),{getSessionTitle:j,needsAttention:N}=Aa(),P=Ma(a,c,s),F=Ia(),[I,L]=Q.useState(new Set),[te,R]=Q.useState(new Map),[z,B]=Q.useState(new Map),[H,U]=Q.useState(!1),[ne,G]=Q.useState(null),[K,ie]=Q.useState(null),[ae,oe]=Q.useState(null),[se,le]=Q.useState(null),[ue,J]=Q.useState(``),[de,pe]=Q.useState(null),ge=Q.useRef(null);ge.current||=Bt({onPressedKeyChange:oe});let ve=Q.useRef(null),[ye,be]=Q.useState(!1),xe=o(e=>e.mobileSessionFilterProjectId),Se=o(e=>e.setMobileSessionFilterProjectId),Ce=Q.useMemo(()=>D.some(e=>C.has(e.id)),[C,D]);Q.useEffect(()=>{!Ce&&xe===ma&&Se(null)},[xe,Ce,Se]),Q.useEffect(()=>{_||(ie(null),pe(null),ge.current?.reset())},[_]),Q.useEffect(()=>()=>{ge.current?.reset()},[]),Q.useEffect(()=>{if(!K)return;Va();let e=window.requestAnimationFrame(Va);return document.addEventListener(`selectionchange`,Va),()=>{window.cancelAnimationFrame(e),document.removeEventListener(`selectionchange`,Va),Va()}},[K]);let Te=Q.useMemo(()=>xe&&xe!==ma?b.find(e=>e.id===xe)??null:null,[xe,b]),Ee=Q.useMemo(()=>Te??b.find(e=>e.id===x)??null,[x,b,Te]);Q.useEffect(()=>{let e=_a(Ee?.path??``);if(!_||!e){be(!1);return}let t=ve.current;if(t?.git===n&&t.path===e){be(t.isGitRepository);return}let r=!1;return be(!1),n.checkIsGitRepository(e).then(t=>{r||(ve.current={git:n,path:e,isGitRepository:t},be(t))}).catch(()=>{r||(ve.current={git:n,path:e,isGitRepository:!1},be(!1))}),()=>{r=!0}},[n,_,Ee]),Q.useEffect(()=>{if(!_||b.length===0)return;let e=!1;return Promise.all(b.map(async e=>({projectId:e.id,branch:await qe(e.path).catch(()=>null)}))).then(t=>{e||B(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 De=Q.useMemo(()=>{if(xe&&xe!==ma){let e=b.find(e=>e.id===xe);return e?F(e):[]}return b.flatMap(F)},[xe,b,F]);Q.useEffect(()=>{_&&me(De)},[_,De]),Q.useEffect(()=>{if(!_||b.length===0)return;let e=!1;return(async()=>{let t=await Promise.all(b.map(async t=>{let r=_a(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 Re({id:t.id,path:r},{isCurrent:()=>!e})).worktrees}}catch{return{path:r,status:`failed`}}}));if(e)return;let r=new Set(b.map(e=>_a(e.path)).filter(Boolean)),i=t.flatMap(e=>e?[e]:[]);q.setState(e=>{let t=la(e.availableWorktreesByProject,r,i);return t===e.availableWorktreesByProject?{}:{availableWorktreesByProject:t,availableWorktrees:Array.from(t.values()).flat()}})})(),()=>{e=!0}},[n,_,b]);let Oe=Q.useCallback(e=>we(e.path)||e.path,[]),ke=Q.useMemo(()=>{if(!xe)return D;if(xe===ma)return D.filter(e=>C.has(e.id));let e=b.find(e=>e.id===xe);if(!e)return D;let t=F(e);return D.filter(e=>{let n=va(e);return t.some(e=>_a(e)===n)})},[D,xe,C,b,F]),Ae=Q.useMemo(()=>{if(!Te)return[];let e=_a(Te.path),t=T.get(e)??[],n=[{key:`${Te.id}::${e}`,directory:e,label:Oe(Te),worktree:null,sessions:[]}];for(let r of t){let t=_a(r.path);!t||t===e||n.some(e=>e.directory===t)||n.push({key:`${Te.id}::${t}`,directory:t,label:r.branch||r.label||we(t),worktree:r,sessions:[]})}let r=new Map(n.map(e=>[e.directory,e]));for(let e of ke)r.get(va(e))?.sessions.push(e);return n},[T,ke,Oe,Te]),je=Q.useCallback(e=>{let t=va(e);for(let e of b){let n=_a(e.path),r=Oe(e);if(t===n){let t=z.get(e.id);return t?`${r} · ${t}`:r}let i=(T.get(n)??[]).find(e=>_a(e.path)===t);if(i)return i.branch?`${r} · ${i.branch}`:r}return we(t)||t||void 0},[T,Oe,b,z]),Ne=Q.useCallback(()=>{ie(null),ge.current?.reset(),v(!1)},[v]),Fe=()=>{ie(null),ge.current?.reset()},Ie=e=>({pressed:ae===e.key||K?.key===e.key,onPointerDown:t=>{t.pointerType!==`touch`&&t.pointerType!==`pen`||t.button!==0||ge.current?.start({pointerId:t.pointerId,key:e.key,clientX:t.clientX,clientY:t.clientY,onTrigger:()=>{Va(),ie(e)}})},onPointerMove:e=>{ge.current?.move(e.pointerId,e.clientX,e.clientY)},onPointerUp:e=>{ge.current?.end(e.pointerId)},onPointerCancel:e=>{ge.current?.cancel(e.pointerId)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),Va(),ge.current?.openFromContextMenu(e.key,()=>ie(e))}}),Le=(e,t)=>{ge.current?.consumeClick(e)||t()},ze=Q.useCallback(t=>{ft(),Ne();let n=va(t)||null;he()?l(t.id,n):fe.getState().openSession({sessionId:t.id,directory:n}),e?.(t.id)},[Ne,e,l]),Be=Q.useCallback(async e=>{try{if(!(await p(e.id))?.share?.url){M.error(t(`sessions.sidebar.session.share.error`));return}M.success(t(`sessions.sidebar.session.share.successTitle`),{description:t(`sessions.sidebar.session.share.successDescription`)})}catch{M.error(t(`sessions.sidebar.session.share.error`))}},[p,t]),Ve=Q.useCallback(async e=>{if((await k(e)).ok){M.success(t(`sessions.sidebar.session.menu.copied`));return}M.error(t(`sessions.sidebar.session.share.copyUrlError`))},[t]),He=Q.useCallback(async e=>{try{if(!await m(e)){M.error(t(`sessions.sidebar.session.unshare.error`));return}M.success(t(`sessions.sidebar.session.unshare.success`))}catch{M.error(t(`sessions.sidebar.session.unshare.error`))}},[t,m]),Ue=Q.useCallback(async e=>{if(!await f(e)){M.error(t(`sessions.sidebar.session.archive.error`));return}na({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]),We=Q.useCallback(e=>{J(j(e)),le(e)},[j]),Ke=Q.useCallback(async()=>{if(!se)return;let e=ue.trim();if(e)try{await h(se.id,e),le(null),J(``)}catch{M.error(t(`sessions.sidebar.session.menu.rename`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[ue,se,t,h]),Je=Q.useCallback(async()=>{if(!se)return;let e=se.id;le(null),J(``);try{await g(e)}catch{M.error(t(`sessions.sidebar.session.rename.smartTitle`),{description:t(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},[se,g,t]),Ye=Q.useCallback(()=>{if(Ne(),xe){let e=b.find(e=>e.id===xe);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?va(e):``;d(t?{directoryOverride:t}:void 0)},[Ne,xe,b,a,d]),Xe=Q.useCallback(()=>{!Ee||!ye||(Ne(),S(Ee.id),G(Ee.id),U(!0))},[Ne,S,ye,Ee]),Qe=(e,t)=>{Fe(),v(!1),d({selectedProjectId:e.id,directoryOverride:t,preserveDirectoryOverride:!0})},$e=e=>{Fe(),(async()=>{try{await Re({id:e.project.id,path:e.project.path})}catch(e){console.warn(`[MobileStatus] Worktree refresh before session sync failed:`,e)}let t=q.getState().availableWorktreesByProject.get(e.project.path)??e.worktrees;await _e([e.project.path,...t.map(e=>e.path)],a)})()},et=Q.useCallback(e=>{L(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),R(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),tt=Q.useCallback(e=>{let t=(te.get(e.key)??ha)+ga;if(R(t=>{let n=new Map(t);return n.set(e.key,(t.get(e.key)??ha)+ga),n}),t<e.sessions.length)return;let n=W.getState().activePaginationByDirectory.get(e.directory);n?.hasMore&&!n.loadingMore&&ce(e.directory)},[te]),nt=Q.useCallback(e=>{R(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),rt=e=>{let n=e.worktree===null,r=n||I.has(e.key),i=te.get(e.key)??ha,a=e.sessions.slice(0,i),o=E.get(e.directory),c=a.length<e.sessions.length||o?.hasMore===!0,l=e.sessions.length>ha&&i>ha,u=n&&Te?z.get(Te.id):null,d=e.label,f=n?`project:${Te?.id??e.key}`:`worktree:${Te?.id??e.key}:${e.directory}`,p=Te?Ie(n?{key:f,kind:`project`,project:Te,worktrees:Ae.flatMap(e=>e.worktree?[e.worktree]:[]),isGitRepository:ye}:{key:f,kind:`worktree`,project:Te,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:Ha,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:ya(e.sessions)})]}):(0,$.jsxs)(`button`,{type:`button`,"data-mobile-long-press-trigger":f,onClick:()=>Le(f,()=>et(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:Ha,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:ya(e.sessions)})]}),r?(0,$.jsxs)(`div`,{className:`pb-1`,children:[a.map(e=>(0,$.jsx)(Ua,{session:e,isCurrent:e.id===s,isPinned:C.has(e.id),getSessionTitle:j,onClick:()=>Le(`session:${e.id}`,()=>ze(e)),onRename:()=>We(e),onTogglePinned:()=>w(e.id),onShare:()=>{Be(e)},onCopyShareUrl:e=>{Ve(e)},onUnshare:()=>{He(e.id)},onArchive:()=>{Ue(e.id)},needsAttention:N,longPressHandlers:Ie({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:o?.loadingMore===!0,onClick:()=>tt(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:()=>nt(e.key),className:`text-muted-foreground/70 hover:text-foreground`,children:t(`sessions.sidebar.group.showFewer`)}):null]}):null]}):null]},e.key)},it=Q.useCallback(()=>(0,$.jsxs)(`div`,{className:`shrink-0`,children:[(0,$.jsx)(yt,{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)(za,{count:O}),(0,$.jsx)(Ba,{count:A}),(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,onClick:Ye,"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`})}),ye&&Ee?(0,$.jsx)(Z,{variant:`ghost`,size:`icon`,onClick:Xe,"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:Ne,"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||Ce)&&(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)(Wa,{label:t(`chat.modelControls.modeValue.all`),isActive:xe===null,onClick:()=>Se(null)}),Ce?(0,$.jsx)(Wa,{label:t(`sessions.sidebar.session.actions.pinned`),leadingIcon:(0,$.jsx)(X,{name:`pushpin-2-fill`,className:`size-3.5`}),isActive:xe===ma,onClick:()=>Se(ma)}):null,b.map(e=>(0,$.jsx)(Wa,{label:Oe(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?Ge[e.color]??null:null,isActive:xe===e.id,status:P(e.path),onClick:()=>Se(e.id)},e.id))]})]}),[t,O,A,b,Ce,xe,Se,Oe,r,P,Ye,Xe,Ne,ye,Ee,y]),ot=K?.kind===`project`?Oe(K.project):K?.kind===`worktree`?K.worktree.branch||K.worktree.label||we(K.worktree.path):K?.kind===`session`?j(K.session):``,ct=K?.kind===`project`?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,"data-mobile-session-action-sheet":`project`,children:[(0,$.jsx)(Sa,{icon:`add`,label:t(`sessions.sidebar.project.actions.newSession`),onClick:()=>Qe(K.project,K.project.path)}),K.isGitRepository?(0,$.jsx)(Sa,{icon:`node-tree`,label:t(`sessions.sidebar.project.actions.newWorktree`),onClick:()=>{let e=K.project.id;Fe(),Ne(),S(e),G(e),U(!0)}}):null,(0,$.jsx)(Sa,{icon:`refresh`,label:t(`sessions.sidebar.project.actions.syncSessions`),onClick:()=>$e(K)})]}):K?.kind===`worktree`?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,"data-mobile-session-action-sheet":`worktree`,children:[(0,$.jsx)(Sa,{icon:`add`,label:t(`sessions.sidebar.project.actions.newSession`),onClick:()=>Qe(K.project,K.worktree.path)}),(0,$.jsx)(Sa,{icon:`delete-bin`,label:t(`mobile.projectEdit.deleteWorktreeConfirmButton`),destructive:!0,onClick:()=>{let e={project:K.project,worktree:K.worktree};Fe(),pe(e)}})]}):K?.kind===`session`?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,"data-mobile-session-action-sheet":`session`,children:[(0,$.jsx)(Sa,{icon:`pencil-ai`,label:t(`sessions.sidebar.session.menu.rename`),onClick:()=>{let e=K.session;Fe(),We(e)}}),(0,$.jsx)(Sa,{icon:C.has(K.session.id)?`unpin`:`pushpin`,label:C.has(K.session.id)?t(`sessions.sidebar.session.menu.unpin`):t(`sessions.sidebar.session.menu.pin`),onClick:()=>{let e=K.session.id;Fe(),w(e)}}),K.session.share?.url?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Sa,{icon:`file-copy`,label:t(`sessions.sidebar.session.menu.copyLink`),onClick:()=>{let e=K.session.share?.url;Fe(),e&&Ve(e)}}),(0,$.jsx)(Sa,{icon:`link-unlink-m`,label:t(`sessions.sidebar.session.menu.unshare`),onClick:()=>{let e=K.session.id;Fe(),He(e)}})]}):(0,$.jsx)(Sa,{icon:`share-2`,label:t(`sessions.sidebar.session.menu.share`),onClick:()=>{let e=K.session;Fe(),Be(e)}}),(0,$.jsx)(Sa,{icon:`archive`,label:t(`sessions.sidebar.bulkActions.archive`),onClick:()=>{let e=K.session.id;Fe(),Ue(e)}})]}):null;return i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(_t,{id:bt,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:[it(),(0,$.jsx)(Pe,{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:Te?(0,$.jsxs)($.Fragment,{children:[Ae.map(rt),Ae.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]}):ke.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`)})}):ke.map(e=>(0,$.jsx)(Ua,{session:e,isCurrent:e.id===s,isPinned:C.has(e.id),contextLabel:je(e),getSessionTitle:j,onClick:()=>Le(`session:${e.id}`,()=>ze(e)),onRename:()=>We(e),onTogglePinned:()=>w(e.id),onShare:()=>{Be(e)},onCopyShareUrl:e=>{Ve(e)},onUnshare:()=>{He(e.id)},onArchive:()=>{Ue(e.id)},needsAttention:N,longPressHandlers:Ie({key:`session:${e.id}`,kind:`session`,session:e})},e.id))})})]})}),(0,$.jsx)(Mt,{open:!!K,title:ot,onClose:Fe,className:`select-none`,contentMaxHeightClassName:`max-h-[min(68dvh,560px)]`,children:ct}),(0,$.jsx)(Mt,{open:!!se,title:t(`sessions.sidebar.session.menu.rename`),onClose:()=>{le(null),J(``)},footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Z,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>{le(null),J(``)},children:t(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Z,{type:`button`,variant:`default`,className:`flex-1`,disabled:!ue.trim(),onClick:()=>void Ke(),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(),Ke()},children:[(0,$.jsx)(Ze,{value:ue,onChange:e=>J(e.target.value),autoFocus:!0,className:`h-12`}),(0,$.jsxs)(Z,{type:`button`,variant:`outline`,className:`w-full gap-2`,onClick:()=>void Je(),children:[(0,$.jsx)(X,{name:`ai-generate-2`,className:`size-4`}),t(`sessions.sidebar.session.rename.smartTitle`)]})]})}),(0,$.jsx)(jt,{open:H,projectId:ne,onOpenChange:e=>{U(e),e||G(null)},onWorktreeCreated:(e,t)=>{U(!1),v(!1),t?.sessionId?he()?l(t.sessionId,e):fe.getState().openSession({sessionId:t.sessionId,directory:e}):ne&&d({selectedProjectId:ne,directoryOverride:e,preserveDirectoryOverride:!0})}}),de?(0,$.jsx)(oa,{open:!0,project:{id:de.project.id,path:de.project.path},worktree:de.worktree,onClose:()=>pe(null),onDeleted:()=>{let e=_a(de.project.path),t=_a(de.worktree.path);q.setState(n=>{let r=new Map(n.availableWorktreesByProject);return r.set(e,(r.get(e)??[]).filter(e=>_a(e.path)!==t)),{availableWorktreesByProject:r,availableWorktrees:Array.from(r.values()).flat()}}),pe(null)}}):null]}):null},Ka=`schedule`,qa=[`git`,`diff`,`terminal`,`files`,`diagram`,`plan`],Ja=[`tasks`,`history`],Ya=`/session/new`,Xa=new Set(qa),Za=new Set(Ja),Qa=new Set([`staged`,`working`,`turn`]);function $a(e){return!e||e===`chat`?`chat`:e===`scheduled`||e===`schedule`?Ka:e===`assistant`?`assistant`:Xa.has(e)?e:`chat`}function eo(e){return xn(e)}function to(e){return e&&Za.has(e)?e:null}function no(e){return e&&Qa.has(e)?e:null}function ro(){return Ya}function io(e,t){let n=eo(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 ao(e,t){return t&&t.trim().length>0?`${e}/agent/${encodeURIComponent(t.trim())}`:e}function oo(e={}){let t=to(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`,ao(i,e.focusSessionId)}function so(e={}){let t=`/assistant`;return e.assistantId&&e.assistantId.trim().length>0&&(t=`/assistant/${encodeURIComponent(e.assistantId.trim())}`),ao(t,e.focusSessionId)}function co(e){let t=encodeURIComponent(e.sessionId),n=$a(e.tab);if(n===`schedule`)return oo({});if(n===`assistant`)return so({});let r;r=n===`chat`?`/session/${t}`:n===`plan`?`/session/${t}/plan`:`/session/${t}/${n}`;let i=new URLSearchParams;e.file&&i.set(`file`,e.file),e.mode===`plan`&&n===`chat`&&i.set(`mode`,`plan`);let a=no(e.scope);a&&i.set(`scope`,a);let o=i.toString();return o?`${r}?${o}`:r}function lo(e){let t=$a(e.tab);return t===`schedule`?oo({scheduleView:e.scheduleView??e.scheduledView,scheduleProjectId:e.scheduleProjectId??e.scheduledProjectId,scheduleTaskId:e.scheduleTaskId??e.scheduledTaskId,focusSessionId:e.focusSessionId}):t===`assistant`?so({assistantId:e.assistantId,focusSessionId:e.focusSessionId}):e.sessionId&&e.sessionId.trim().length>0?co({sessionId:e.sessionId.trim(),tab:t,file:e.file,mode:e.mode??(t===`plan`?`plan`:null),scope:e.scope}):`/`}function uo(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e);return{file:t.get(`file`),mode:t.get(`mode`)===`plan`?`plan`:null,scope:no(t.get(`scope`))}}function fo(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 po(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 mo(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:eo(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}=fo(o),l=s[0];if(l===`schedule`||l===`scheduled`)return po(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,mode:r,scope:i}=uo(n),a=s[2];if(a===`schedule`||a===`scheduled`)return po(s.slice(2),c);if(a===`assistant`)return{kind:`assistant`,assistantId:s[3]?decodeURIComponent(s[3]):null,focusSessionId:c};if(!a)return r===`plan`?{kind:`session`,sessionId:e,tab:`plan`,file:t,mode:`plan`,scope:i}:{kind:`session`,sessionId:e,tab:`chat`,file:t,mode:r,scope:i};if(a===`plan`)return{kind:`session`,sessionId:e,tab:`plan`,file:t,mode:`plan`,scope:i};let o=$a(a);return o===`chat`&&a!==`chat`?{kind:`session`,sessionId:e,tab:`chat`,file:t,mode:r,scope:i}:{kind:`session`,sessionId:e,tab:o,file:t,mode:r,scope:i}}return{kind:`unknown`}}function ho(e){return typeof window>`u`?_o():go(e===void 0?`${window.location.pathname}${window.location.search}`:`${window.location.pathname}?${e.toString()}`)}function go(e){let t=mo(e);switch(t.kind){case`new`:return{..._o(),isNewSession:!0,tab:`chat`};case`session`:{let e=t.tab===`chat`&&t.mode===`plan`?`plan`:t.tab;return{sessionId:t.sessionId,isNewSession:!1,tab:e===`chat`&&t.mode!==`plan`?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:Ka,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 _o()}}function _o(){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 vo(){if(typeof window>`u`)return!1;try{let e=mo(`${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 yo(e){if(e.isSettingsOpen)return io({slug:e.settingsPath.trim().length>0?e.settingsPath:`home`,entityId:e.settingsEntityId??null});if(e.tab===`schedule`)return lo({tab:Ka,scheduleView:e.scheduleView,scheduleProjectId:e.scheduleProjectId,scheduleTaskId:e.scheduleTaskId,focusSessionId:e.focusSessionId});if(e.tab===`assistant`)return lo({tab:`assistant`,assistantId:e.assistantId,focusSessionId:e.focusSessionId});if((e.isNewSession||!e.sessionId&&e.tab===`chat`)&&e.isNewSession)return ro();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 lo({sessionId:e.sessionId.trim(),tab:e.tab===`context`?`chat`:e.tab,file:t,mode:e.tab===`plan`?`plan`:null,scope:e.tab===`diff`?e.diffScope??null:null})}return e.isNewSession?ro():`/`}function bo(e){if(typeof window>`u`)return!0;try{let t=`${window.location.pathname}${window.location.search}`,n=yo(e);return JSON.stringify(mo(t))===JSON.stringify(mo(n))}catch{return!0}}function xo(e,t={}){if(!(typeof window>`u`)&&!(So()||kt())&&!(!t.force&&bo(e)))try{let n=yo(e);t.replace?window.history.replaceState({...window.history.state,route:e},``,n):window.history.pushState({route:e},``,n)}catch{}}function So(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}function Co(e){if(!e||e.trim().length===0)return null;let t=W.getState(),n=t.activeSessions.find(t=>t.id===e)??t.archivedSessions.find(t=>t.id===e)??null;if(!n)return null;let r=be(n);return r?{sessionId:e,directory:r,session:n,fromCache:!t.hasLoaded,source:`memory`}:null}function wo(e){return Co(e)?.directory??null}var To=new Map;async function Eo(e,t){let n=e.trim();if(!n)return null;let r=Co(n);if(r)return r;let i=To.get(n);if(i)return i;let a=(async()=>{let e=Co(n);if(e)return e;let r=await F(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 b.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(()=>{To.get(n)===a&&To.delete(n)});return To.set(n,a),a}var Do=3e4;function Oo(){return typeof window>`u`?!1:window.__VSCODE_CONFIG__!==void 0}function ko(){let e=Q.useMemo(()=>Oo(),[]),n=Q.useMemo(()=>kt(),[]),i=Q.useRef(!1),a=Q.useRef(!1),s=Q.useRef(new Set),[c,l]=Q.useState(()=>ho()),u=q(e=>e.setCurrentSession),d=q(e=>e.currentSessionId),f=q(e=>e.currentSessionDirectory),p=o(e=>e.setActiveMainTab),m=o(e=>e.setSettingsDialogOpen),h=o(e=>e.setSettingsPage),g=o(e=>e.navigateToDiff),_=W(e=>e.hasLoaded),v=W(e=>e.activeSessions),y=W(e=>e.archivedSessions),b=Q.useCallback(t=>{if(!e&&ho().sessionId===t){s.current.has(t)||(s.current.add(t),de(t,`missing-directory`)),a.current=!0;try{m(!1),p(`chat`),xo({sessionId:t,tab:`chat`,isSettingsOpen:!1,settingsPath:`home`,diffFile:null},{replace:!0,force:!0}),l(ho())}finally{a.current=!1}}},[e,p,l,m]),x=Q.useCallback(async e=>{if(!a.current){a.current=!0;try{if(e.settingsPath){h(xn(e.settingsPath)),m(!0);return}if(o.getState().isSettingsDialogOpen&&m(!1),e.tab===`schedule`||e.tab===`assistant`){p(e.tab),e.tab===`assistant`&&e.assistantId&&Se.getState().selectAssistant(e.assistantId);return}if(e.isNewSession){p(`chat`),q.getState().newSessionDraft.open||q.getState().openNewSessionDraft();return}if(e.sessionId){let t=e.sessionId,n=wo(t);if(!n){a.current=!1;let e=await Eo(t);a.current=!0,n=e?.directory??null}let r=q.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=q.getState(),t=o.getState(),n=ho(),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`?Ce()??n.assistantId:null,focusSessionId:a?n.focusSessionId:null}},[]),C=Q.useCallback((t={})=>{e||n||a.current||(xo(S(),t),l(ho()))},[e,n,S]);Q.useEffect(()=>{if(i.current||(i.current=!0,!vo()))return;let t=ho();(async()=>{await x(t),!e&&!n&&xo({...S(),isNewSession:t.isNewSession||S().isNewSession,sessionId:t.isNewSession?null:t.sessionId??q.getState().currentSessionId??S().sessionId,tab:t.tab??o.getState().activeMainTab,settingsPath:t.settingsPath??o.getState().settingsPage,diffFile:t.isNewSession?null:t.diffFile??o.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(ho().sessionId!==t||d===t&&f||s.current.has(t))return;let n=wo(t);if(n){s.current.delete(t),u(t,n);return}return(async()=>{let n=await Eo(t);if(!e&&ho().sessionId===t){if(n?.directory){s.current.delete(t);let e=q.getState();(e.currentSessionId!==t||e.currentSessionDirectory!==n.directory)&&u(t,n.directory);return}W.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=q.getState(),t=e.currentSessionId===n&&!!e.currentSessionDirectory;ho().sessionId===n&&!t&&b(n)},Do);return()=>clearTimeout(r)},[f,d,b,e,c.sessionId]),Q.useEffect(()=>{if(e||n)return;let t=q.getState().currentSessionId,r=!!q.getState().newSessionDraft?.open;return q.subscribe(e=>{let n=e.currentSessionId,i=!!e.newSessionDraft?.open;n===t&&i===r||a.current||(t=n,r=i,C(),l(ho()))})},[e,n,C]),Q.useEffect(()=>{if(e||n)return;let t=o.getState().activeMainTab,r=o.getState().isSettingsDialogOpen,i=o.getState().settingsPage,s=o.getState().pendingDiffFile;return o.subscribe(e=>{if(a.current)return;let n=e.activeMainTab!==t,o=e.isSettingsDialogOpen!==r,c=e.settingsPage!==i,l=e.pendingDiffFile!==s&&e.activeMainTab===`diff`;t=e.activeMainTab,r=e.isSettingsDialogOpen,i=e.settingsPage,s=e.pendingDiffFile,(n||o||c||l)&&C()})},[e,n,C]),Q.useEffect(()=>{if(e||n)return;let t=Ce();return Se.subscribe(()=>{if(a.current)return;if(o.getState().activeMainTab!==`assistant`){t=Ce();return}let e=Ce();e!==t&&(t=e,C())})},[e,n,C]),Q.useEffect(()=>{if(typeof window>`u`||e||n)return;let t=()=>{let e=ho();if(l(e),vo())x(e);else{let e=o.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)&&(s.current.clear(),queueMicrotask(()=>{l(ho())}))})},[e,n])}var Ao=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``)||`/`,jo=(e,t)=>{let n=new Set;for(let r of e){if(!r.trim())continue;let e=Ao(r);n.add(e);for(let[r,i]of t)if(Ao(r)===e)for(let e of i)e.path.trim()&&n.add(Ao(e.path))}return[...n]},Mo=(e,t,n)=>{let r=jo(e,t),i=n?.currentDirectory?.trim()??``;if(!i)return{directories:r};let a=Ao(i),o=null;for(let t of e){if(!t.trim())continue;let e=Ao(t);(a===e||a.startsWith(`${e}/`))&&(!o||e.length>o.length)&&(o=e)}for(let[e,n]of t){let t=Ao(e);for(let e of n){if(!e.path.trim())continue;let n=Ao(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(Ao(e)===o)for(let e of n)e.path.trim()&&s.add(Ao(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}},No=async(e,t=K,n)=>{try{await t(e,n)}catch(e){console.warn(`[SessionStartup] Initial session index sync failed:`,e)}finally{ye()}},Po=async(e,t,n=K,r=J)=>{r().catch(e=>{console.warn(`[SessionStartup] Early session index hydrate failed:`,e)}),await e;let i=t();await No(i.directories,n,{priorityDirectories:i.priorityDirectories})},Fo=()=>{let e=(0,jn.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=Ne(i());Po(e,Lo),Promise.resolve(e).then(Bo)},r=[],e[0]=n,e[1]=r):(n=e[0],r=e[1]),Q.useLayoutEffect(n,r),null};function Io(e){return e.path}function Lo(){return Mo(re.getState().projects.map(Io),q.getState().availableWorktreesByProject,{currentDirectory:x.getState().currentDirectory})}function Ro(e){return e.path}function zo(e){console.warn(`[SessionStartup] Batch git discovery failed (fallback to per-directory):`,e)}function Bo(){let e=re.getState().projects.map(Ro);e.length!==0&&je(e).catch(zo)}var Vo=()=>{let e=(0,jn.c)(13),[t,n]=(0,Q.useState)(!1),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{n(c())},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 f(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 l(e):{success:!0},e[4]=t,e[5]=s);let u=s,d;e[6]===t?d=e[7]:(d=async e=>t?await g(e):{success:!0},e[6]=t,e[7]=d);let p=d,m;return e[8]!==t||e[9]!==o||e[10]!==u||e[11]!==p?(m={isDesktop:t,requestAccess:o,startAccessing:u,stopAccessing:p},e[8]=t,e[9]=o,e[10]=u,e[11]=p,e[12]=m):m=e[12],m},Ho=e=>e.trim().replace(/\s+/g,`-`).replace(/[^A-Za-z0-9._/-]/g,`-`).replace(/-+/g,`-`).replace(/\/{2,}/g,`/`).replace(/\/-+/g,`/`).replace(/-+\//g,`/`).replace(/^[-/]+/,``).replace(/[-/]+$/,``),Uo=({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=Ho(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)(et,{children:[(0,$.jsx)(Qe,{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)($e,{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`})})]})]})},Wo=e=>{let t=(0,jn.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)(Qe,{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)($e,{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)(et,{delayDuration:T,children:[A,j]}),t[34]=A,t[35]=j,t[36]=T,t[37]=M):M=t[37],M},Go={branch:`git-branch`,briefcase:`briefcase`,house:`home`,graduation:`graduation-cap`,code:`code`,heart:`heart`,user:`user-3`},Ko={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 qo(e){return e&&Ko[e]||`var(--primary)`}var Jo=e=>{let t=(0,jn.c)(36),{activeProfile:n,identities:r,onSelect:i,isApplying:a,iconOnly:o}=e,s=o!==void 0&&o,{t:c}=ee(),l=Go[n?.icon??`branch`]??`user-3`,u=n?.color,d;t[0]===u?d=t[1]:(d=qo(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)(Qe,{asChild:!0,children:(0,$.jsx)(mt,{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)($e,{sideOffset:8,children:b}),t[19]=b,t[20]=x);let S;t[21]!==y||t[22]!==x?(S=(0,$.jsxs)(et,{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)(ct,{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)(ut,{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)(vt,{children:[S,w]}),t[33]=S,t[34]=w,t[35]=T):T=t[35],T},Yo=(e,t)=>e??t,Xo=e=>e===`/`,Zo=e=>e.replace(/\\/g,`/`),Qo=e=>{if(!e||Xo(e))return e;let t=e;for(;t.length>1&&t.endsWith(`/`);)t=t.slice(0,-1);return t},$o=e=>e.endsWith(`/`),es=e=>{let t=e.trim();return!t||$o(t)?t:`${t}/`},ts=e=>e.lastIndexOf(`/`),ns=e=>{if($o(e))return e;let t=ts(e);return t<0?e:e.slice(0,t+1)},rs=e=>{let t=ts(e);return e.slice(t+1)},is=e=>{let t=Qo(e.trim());if(!t||t===`~`||t===`~/`||t===`/`)return null;let n=ts(t);return n<0?null:t.startsWith(`~/`)&&n<=1?`~/`:n===0?`/`:`${t.slice(0,n)}/`},as=e=>$o(e)&&is(e)!==null,os=(e,t)=>`${ns(e)}${t}/`,ss=e=>{if(!e)return null;let t=Qo(Zo(e.trim()));return t?t.toLowerCase():null},cs=(e,t)=>{let n=e.trim();return n===`~`?t:n.startsWith(`~/`)?`${t}${n.slice(1)}`:n},ls=e=>typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey,us=e=>{if(!e)return;e.focus({preventScroll:!0});let t=e.value.length;e.setSelectionRange(t,t),e.scrollLeft=e.scrollWidth},ds=async()=>{try{let e=await d(`/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 Zo(t.home.trim())}}catch{}return b.getFilesystemHome().catch(()=>null)},fs=({open:e,onOpenChange:t,forceMobile:n})=>{let{t:r}=ee(),i=x(e=>e.homeDirectory),a=re(e=>e.projects),o=re(e=>e.addProject),s=fn(e=>e.profiles),c=fn(e=>e.globalIdentity),l=fn(e=>e.defaultGitIdentityId),u=fn(e=>e.loadProfiles),d=fn(e=>e.loadGlobalIdentity),f=fn(e=>e.loadDefaultGitIdentityId),{isDesktop:p,requestAccess:m,startAccessing:h}=Vo(),g=Yo(n,xt().isMobile),_=Q.useRef(null),v=Q.useRef(new Map),[y,S]=Q.useState(``),[C,w]=Q.useState(`~/`),[T,E]=Q.useState([]),[O,k]=Q.useState(!1),[A,j]=Q.useState(!1),[N,P]=Q.useState(0),[F,I]=Q.useState(!1),[L,te]=Q.useState(!1),[R,z]=Q.useState(!1),[B,V]=Q.useState(``),[H,U]=Q.useState(null),[W,ne]=Q.useState(!1),G=y||i,K=Q.useMemo(()=>new Set(a.map(e=>ss(e.path)).filter(e=>!!e)),[a]);Q.useEffect(()=>{if(!e)return;w(`~/`),E([]),P(0),I(!1),te(!1),z(!1),V(``),U(null),ne(!1),requestAnimationFrame(()=>us(_.current));let t=!1;return(async()=>{let e=await ds();t||(S(e||i||``),requestAnimationFrame(()=>us(_.current)))})(),()=>{t=!0}},[i,e]),Q.useEffect(()=>{e&&(u(),d(),f())},[f,u,d,e]);let ie=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||H!==null)return;let t=typeof l==`string`?l.trim():``;if(t&&ie.some(e=>e.id===t)){U(t);return}let n=ie.find(e=>e.authType===`ssh`||e.sshKey);n&&U(n.id)},[ie,l,R,e,H]);let ae=Q.useMemo(()=>ie.find(e=>e.id===H)??null,[ie,H]),oe=Q.useMemo(()=>ns(C),[C]),se=Q.useMemo(()=>$o(C)?``:rs(C),[C]),ce=Q.useMemo(()=>G?cs(oe,G):``,[oe,G]);Q.useEffect(()=>{if(!e||!ce){E([]);return}let t=!1;return k(!0),j(!1),b.listLocalDirectory(ce).then(e=>{if(t)return;j(!1);let n=e.filter(e=>e.isDirectory).map(e=>({name:e.name,path:Zo(e.path)})).sort((e,t)=>e.name.localeCompare(t.name));E(n)}).catch(()=>{t||(E([]),j(!0))}).finally(()=>{t||k(!1)}),()=>{t=!0}},[ce,e]);let le=Q.useMemo(()=>{let e=se.toLowerCase(),t=W||se.startsWith(`.`);return T.filter(n=>n.name.toLowerCase().startsWith(e)&&(t||!n.name.startsWith(`.`)))},[se,T,W]),ue=Q.useMemo(()=>{let e=[];as(C)&&e.push({type:`up`,value:`browse:up`,name:`..`,path:is(C)});for(let t of le){let n=ss(t.path);e.push({type:`directory`,value:`browse:${t.path}`,name:t.name,path:t.path,alreadyAdded:!!(n&&K.has(n))})}return e},[K,le,C]);Q.useEffect(()=>{P(0)},[C,ue.length]);let J=Q.useMemo(()=>G?Qo(cs(C,G)):``,[G,C]),de=ss(J),fe=!!(de&&K.has(de)),pe=Q.useMemo(()=>se?le.find(e=>e.name===se)??null:null,[se,le]),me=!!(J&&!fe&&($o(C)&&A||!$o(C)&&se.trim().length>0&&pe===null)),he=!F&&!L&&!fe&&!!J,ge=he&&B.trim().length>0,_e=ue[N]??null,ve=!!_e,ye=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform)?`⌘`:`Ctrl`,be=r(fe?`directoryExplorerDialog.actions.alreadyAdded`:R?F?`directoryExplorerDialog.actions.cloning`:`directoryExplorerDialog.actions.cloneAndAdd`:F?`directoryExplorerDialog.actions.adding`:me?`directoryExplorerDialog.actions.createAndAdd`:`directoryExplorerDialog.actions.addProject`);Q.useLayoutEffect(()=>{e&&us(_.current)},[e]),Q.useLayoutEffect(()=>{let e=ue[N];e&&v.current.get(e.value)?.scrollIntoView({block:`nearest`})},[N,ue]);let xe=D(()=>{t(!1)}),Se=D(e=>{let t=q.getState();t.newSessionDraft?.open&&t.setNewSessionDraftTarget({projectId:e.id,directoryOverride:e.path},{force:!0})}),Ce=D((e,t)=>{e.stopPropagation();let n=ss(t);if(n&&K.has(n))return;let i=o(t);if(!i){M.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}Se(i)}),we=D(async e=>{if(!e||F)return;let t=ss(e);if(t&&K.has(t))return;let n=e;I(!0);try{let t=!R&&me&&ss(e)===ss(J);if(R){let t=B.trim();if(!t){M.error(r(`directoryExplorerDialog.toast.cloneUrlRequired`));return}n=(await b.cloneRepository({remoteUrl:t,destinationPath:e,gitIdentityId:ae?.id??null})).path}else t&&await b.createDirectory(e);let i=o(n);if(!i){M.error(r(`directoryExplorerDialog.toast.failedToAddProject`),{description:r(`directoryExplorerDialog.toast.selectValidDirectoryPath`)});return}Se(i),xe()}catch(e){M.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{I(!1)}}),je=D(e=>{w(es(e))}),Me=D(e=>{w(os(C,e.name))}),Ne=D(e=>{if(e){if(e.type===`up`){e.path&&je(e.path);return}Me(e)}}),Pe=D(async()=>{if(!(!p||L)){te(!0);try{let e=await m(J);if(!e.success||!e.path){e.error&&e.error!==`Directory selection cancelled`&&M.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e.error});return}let t=await h(e.path);if(!t.success){M.error(r(`directoryExplorerDialog.toast.failedToOpenDirectory`),{description:t.error||r(`directoryExplorerDialog.toast.desktopCouldNotGrantAccess`)});return}await we(e.path)}catch(e){M.error(r(`directoryExplorerDialog.toast.failedToSelectDirectory`),{description:e instanceof Error?e.message:r(`directoryExplorerDialog.toast.unknownError`)})}finally{te(!1)}}}),Fe=D(e=>{if(e.key===`ArrowDown`){e.preventDefault(),P(e=>Math.min(ue.length-1,e+1));return}if(e.key===`ArrowUp`){e.preventDefault(),P(e=>Math.max(0,e-1));return}if(e.key===`Enter`){if(e.preventDefault(),ls(e)){we(J);return}ve&&Ne(_e);return}e.key===`Backspace`&&C===``&&(e.preventDefault(),xe())}),Ie=(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:[W?(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`)]}),Le=(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)(Ze,{value:B,onChange:e=>V(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)(Jo,{activeProfile:ae,identities:ie,onSelect:e=>U(e.id),isApplying:F,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)(Ze,{ref:_,value:C,onChange:e=>w(Zo(e.target.value)),onKeyDown:Fe,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`})]})]}),Re=(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`)}),O?(0,$.jsx)(`div`,{className:`py-10 text-center typography-ui-label text-muted-foreground`,children:r(`directoryExplorerDialog.browse.loading`)}):ue.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:ue.map((e,t)=>{let n=t===N;return(0,$.jsxs)(`div`,{onMouseEnter:()=>P(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:()=>Ne(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=>Ce(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)})})]})}),ze=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3`,children:[Le,Re]}),Be=(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:ye}),(0,$.jsx)(X,{name:`corner-down-left`,className:`h-3.5 w-3.5`}),r(`directoryExplorerDialog.footer.add`)]})]}),Ve=()=>(0,$.jsxs)($.Fragment,{children:[g?null:Be,(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:Pe,disabled:F||L||R,children:r(L?`directoryExplorerDialog.actions.openingFinder`:`directoryExplorerDialog.actions.openInFinder`)}):null,(0,$.jsx)(Z,{variant:`ghost`,size:`xs`,onClick:()=>z(e=>!e),disabled:F||L,className:Y(g&&`flex-1`),children:r(R?`directoryExplorerDialog.actions.addLocalProject`:`directoryExplorerDialog.actions.cloneRepository`)}),g?(0,$.jsx)(Z,{size:`xs`,onClick:()=>void we(J),disabled:R?!ge:!he,className:`flex-1`,children:be}):(0,$.jsx)(Z,{size:`xs`,onClick:()=>void we(J),disabled:R?!ge:!he,children:be})]})]});return g?(0,$.jsx)(Mt,{open:e,onClose:xe,title:r(`directoryExplorerDialog.title`),className:`h-[88dvh] max-h-[720px] max-w-full`,contentMaxHeightClassName:`flex-1`,footer:(0,$.jsx)(`div`,{className:`flex flex-col gap-2`,children:Ve()}),children:(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[(0,$.jsx)(`div`,{className:`flex justify-end`,children:Ie}),ze]})}):(0,$.jsx)(Ae,{open:e,onOpenChange:t,children:(0,$.jsxs)(De,{className:`flex w-full max-w-xl flex-col gap-0 overflow-hidden p-0 sm:max-h-[80vh]`,initialFocus:!1,children:[(0,$.jsx)(Te,{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)(Oe,{children:r(`directoryExplorerDialog.title`)}),(0,$.jsx)(ke,{className:`mt-2`,children:r(`directoryExplorerDialog.description`)})]}),Ie]})}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 px-2 pb-0`,children:ze}),(0,$.jsx)(Ee,{className:`flex w-full flex-col gap-3 px-5 py-3 sm:flex-row sm:items-center sm:justify-between`,children:Ve()})]})})},ps=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},ms=e=>{let t=typeof e==`string`?e.trim():``;if(!t)throw Error(`projectId is required`);return t},hs=e=>e===null||typeof e==`string`,gs=e=>e===null||typeof e==`number`&&Number.isFinite(e),_s=e=>typeof e==`number`&&Number.isFinite(e)&&e>=0&&e<=864e13,vs=e=>e===null||_s(e),ys=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`)&&hs(t.sessionId)&&hs(t.directory)&&hs(t.error)&&_s(t.startedAt)&&vs(t.finishedAt)&&gs(t.durationMs)&&(t.durationMs===null||t.durationMs>=0)},bs=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(ys)||!hs(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}},xs=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 d(`/api/openchamber/scheduled-task-runs?${n.toString()}`,{signal:t});if(!i.ok)throw Error(await ps(i,`Failed to load scheduled task history`));return bs(await i.json().catch(()=>null))},Ss=async()=>{let e=await d(`/api/openchamber/scheduled-tasks`);if(!e.ok)throw Error(await ps(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`):[]}},Cs=async(e,t)=>{let n=ms(e),r=await d(`/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 ps(r,`Failed to save schedule`));let i=await r.json().catch(()=>null);return!i||!Array.isArray(i.tasks)?[]:i.tasks},ws=async(e,t)=>{let n=ms(e),r=ms(t),i=await d(`/api/projects/${encodeURIComponent(n)}/scheduled-tasks/${encodeURIComponent(r)}`,{method:`DELETE`,headers:{accept:`application/json`}});if(!i.ok)throw Error(await ps(i,`Failed to delete schedule`));let a=await i.json().catch(()=>null);return!a||!Array.isArray(a.tasks)?[]:a.tasks},Ts=async(e,t)=>{let n=ms(e),r=ms(t),i=await d(`/api/projects/${encodeURIComponent(n)}/scheduled-tasks/${encodeURIComponent(r)}/run`,{method:`POST`,headers:{accept:`application/json`}});if(!i.ok)throw Error(await ps(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}},Es=`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,Ds=`oc-settings-group-label`,Os=An();function ks(e){if(!e||!e.trim())return{valid:!1,error:`required`};try{return Os.CronExpressionParser.parse(e),{valid:!0}}catch(e){return{valid:!1,error:e instanceof Error?e.message:`Invalid cron expression`}}}function As(e,t,n=4){try{let r=t?{tz:t,currentDate:new Date}:{currentDate:new Date},i=Os.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 js=[{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`}],Ms=[0,1,2,3,4,5,6],Ns=`!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,transform] duration-150 ease-out hover:[&:not(:focus)]:bg-[var(--surface-subtle)] hover:[&:not(:focus)]:ring-transparent active:scale-[0.99] 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`,Ps=`oc-settings-inline-value`,Fs=`oc-settings-split-row ${Es}`,Is=Ps,Ls=Fs,Rs=()=>{let e=new Date;return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`},zs=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},Bs=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Vs=(e,t,n)=>{let r=zs(e);return r?new Intl.DateTimeFormat(n,{month:`short`,day:`numeric`,year:`numeric`}).format(r):t},Hs=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),Us=(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},Ws=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}},Gs=(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`)}`},Ks=(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`},qs=e=>/^(0[1-9]|1[0-2])$/.test(e)?e:Ks(e,{min:1,max:12}),Js=e=>/^[0-5][0-9]$/.test(e)?e:Ks(e,{max:59}),Ys=(e,t)=>Ks(String(Number.parseInt(e,10)+t),{min:1,max:12,loop:!0}),Xs=(e,t)=>Ks(String(Number.parseInt(e,10)+t),{min:0,max:59,loop:!0}),Zs=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}},Qs=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}},$s=e=>{let t=new Intl.DateTimeFormat(e,{weekday:`short`}),n=new Date(2023,0,1);return Ms.map(e=>t.format(new Date(n.getFullYear(),n.getMonth(),n.getDate()+e)))},ec=(e,t)=>[...e.slice(t),...e.slice(0,t)],tc=e=>{let t=(0,jn.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},nc=e=>{let t=(0,jn.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=Ws(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=fc,E=pc,D=mc,ee;t[4]!==r||t[5]!==f.meridiem||t[6]!==f.minute||t[7]!==a?(ee=e=>{let t=e.replace(/\D/g,``).slice(0,2);S(t),t.length===2&&(r(a?D(T(t),f.minute):Gs(qs(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]=ee):ee=t[8];let O=ee,k;t[9]!==r||t[10]!==f.meridiem||t[11]!==f.minute||t[12]!==a?(k=()=>{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(Gs(qs(e.padStart(2,`0`)),f.minute,f.meridiem))}},t[9]=r,t[10]=f.meridiem,t[11]=f.minute,t[12]=a,t[13]=k):k=t[13];let A=k,j;t[14]!==r||t[15]!==f.hour12||t[16]!==f.hour24||t[17]!==f.meridiem||t[18]!==a?(j=e=>{let t=e.replace(/\D/g,``).slice(0,2);w(t),t.length===2&&(r(a?D(f.hour24,Js(t)):Gs(f.hour12,Js(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]=j):j=t[19];let M=j,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,Js(e.padStart(2,`0`))):Gs(f.hour12,Js(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):Gs(Ys(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,Xs(f.minute,e)):Gs(f.hour12,Xs(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 te=L,R;t[40]!==r||t[41]!==f.hour12||t[42]!==f.meridiem||t[43]!==f.minute?(R=e=>{e!==f.meridiem&&r(Gs(f.hour12,f.minute,e))},t[40]=r,t[41]=f.hour12,t[42]=f.meridiem,t[43]=f.minute,t[44]=R):R=t[44];let z=R,B;t[45]!==A||t[46]!==I?(B=e=>{if(e.key===`ArrowRight`){e.preventDefault(),A(),m.current?.focus();return}(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),S(null),I(e.key===`ArrowUp`?1:-1))},t[45]=A,t[46]=I,t[47]=B):B=t[47];let V=B,H;t[48]!==P||t[49]!==te?(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),te(e.key===`ArrowUp`?1:-1))},t[48]=P,t[49]=te,t[50]=H):H=t[50];let U=H,W=a?`px-2`:`pl-2 pr-1`,ne;t[51]!==i||t[52]!==W?(ne=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)]`,W,i),t[51]=i,t[52]=W,t[53]=ne):ne=t[53];let G=h??(a?f.hour24:f.hour12),K;t[54]===O?K=t[55]:(K=e=>O(e.target.value),t[54]=O,t[55]=K);let re;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(re=()=>S(``),t[56]=re):re=t[56];let ie;t[57]!==A||t[58]!==o||t[59]!==V||t[60]!==G||t[61]!==K?(ie=(0,$.jsx)(`input`,{ref:p,inputMode:`numeric`,value:G,onChange:K,onKeyDown:V,onFocus:re,onBlur:A,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]=A,t[58]=o,t[59]=V,t[60]=G,t[61]=K,t[62]=ie):ie=t[62];let ae;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(`span`,{className:`font-mono text-sm text-muted-foreground`,children:`:`}),t[63]=ae):ae=t[63];let oe=_??f.minute,se;t[64]===M?se=t[65]:(se=e=>M(e.target.value),t[64]=M,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 q;t[73]!==l||t[74]!==f.meridiem||t[75]!==c||t[76]!==u||t[77]!==z||t[78]!==a?(q=a?null:(0,$.jsxs)(Ve,{value:f.meridiem,onValueChange:e=>z(e),children:[(0,$.jsx)(Xe,{"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)(Ie,{})}),(0,$.jsxs)(Be,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(Ye,{value:`AM`,children:l}),(0,$.jsx)(Ye,{value:`PM`,children:u})]})]}),t[73]=l,t[74]=f.meridiem,t[75]=c,t[76]=u,t[77]=z,t[78]=a,t[79]=q):q=t[79];let ue;return t[80]!==ne||t[81]!==ie||t[82]!==le||t[83]!==q?(ue=(0,$.jsxs)(`div`,{className:ne,children:[ie,ae,le,q]}),t[80]=ne,t[81]=ie,t[82]=le,t[83]=q,t[84]=ue):ue=t[84],ue},rc=e=>new Date(e.getFullYear(),e.getMonth(),1),ic=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth(),e.getDate())},ac=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),oc=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`]},sc=(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:oc(e),onceDate:typeof e.schedule.date==`string`&&/^\d{4}-\d{2}-\d{2}$/.test(e.schedule.date)?e.schedule.date:Rs(),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:Rs(),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}}},cc=(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(!ks(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`)},lc=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))},uc=e=>{let t=(0,jn.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?Ls:Fs,f=n.schedule.cronExpression,p;t[0]===f?p=t[1]:(p=f.trim()?ks(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=As(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)(tc,{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 ee;t[19]===r?ee=t[20]:(ee=e=>r(t=>({...t,schedule:{...t.schedule,cronExpression:e.target.value}})),t[19]=r,t[20]=ee);let O;t[21]===a?O=t[22]:(O=a(`sessions.scheduledTasks.editor.cronExpression.placeholder`),t[21]=a,t[22]=O);let k=u&&`min-w-[140px] text-right`,A;t[23]===k?A=t[24]:(A=Y(`w-full font-mono`,k),t[23]=k,t[24]=A);let j;t[25]!==f||t[26]!==ee||t[27]!==O||t[28]!==A?(j=(0,$.jsx)(Ze,{id:`sched-cron`,value:f,onChange:ee,placeholder:O,className:A}),t[25]=f,t[26]=ee,t[27]=O,t[28]=A,t[29]=j):j=t[29];let M;t[30]!==f||t[31]!==m||t[32]!==a?(M=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]=M):M=t[33];let N;t[34]!==T||t[35]!==D||t[36]!==j||t[37]!==M?(N=(0,$.jsxs)(`div`,{"data-settings-value":T,className:D,children:[j,M]}),t[34]=T,t[35]=D,t[36]=j,t[37]=M,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 te;t[54]===a?te=t[55]:(te=a(`sessions.scheduledTasks.editor.cronExpression.examples`),t[54]=a,t[55]=te);let R;t[56]===te?R=t[57]:(R=(0,$.jsx)(`span`,{className:`typography-meta text-muted-foreground`,children:te}),t[56]=te,t[57]=R);let z=u?``:void 0,B=u&&`oc-settings-split-row-control justify-end`,V;t[58]===B?V=t[59]:(V=Y(`flex flex-wrap gap-1.5`,B),t[58]=B,t[59]=V);let H;t[60]!==r||t[61]!==a?(H=js.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]!==z||t[64]!==V||t[65]!==H?(U=(0,$.jsx)(`div`,{"data-settings-value":z,className:V,children:H}),t[63]=z,t[64]=V,t[65]=H,t[66]=U):U=t[66];let W;t[67]!==L||t[68]!==R||t[69]!==U?(W=(0,$.jsxs)(`div`,{className:L,children:[R,U]}),t[67]=L,t[68]=R,t[69]=U,t[70]=W):W=t[70];let ne;return t[71]!==P||t[72]!==F||t[73]!==W||t[74]!==b?(ne=(0,$.jsxs)(`div`,{className:b,children:[P,F,W]}),t[71]=P,t[72]=F,t[73]=W,t[74]=b,t[75]=ne):ne=t[75],ne};function dc(e){let{open:t,task:n,onOpenChange:r,onSave:i,presentation:a=`dialog`,onDirtyChange:s,onRun:c,onDelete:l,onToggleEnabled:u,actionBusy:d=!1,projectID:f=``,projectOptions:p=[],onProjectChange:m}=e,h=a===`panel`,g=a===`mobile-panel`,_=a===`mobile-tab`,v=g||_,y=g||_,b=h||v,x=v?Is:Ps,S=v?Ls:Fs,{t:C,locale:w}=ee(),T=R(e=>e.loadProviders),E=R(e=>e.loadAgents),D=R(e=>e.providers),O=R(e=>e.currentProviderId),k=R(e=>e.currentModelId),A=R(e=>e.currentVariant||``),j=R(e=>e.currentAgentName||``),N=o(e=>e.timeFormatPreference),P=o(e=>e.weekStartPreference),F=o(e=>e.isMobile),[I,L]=Q.useState(()=>sc(n,{providerID:O,modelID:k,variant:A,agent:j})),[te,z]=Q.useState(!1),[B,V]=Q.useState(!1),[U,W]=Q.useState(!1),[ne,G]=Q.useState(``),[K,re]=Q.useState(!1),[ie,ae]=Q.useState(``),[oe,se]=Q.useState(!1),[ce,le]=Q.useState(``),[q,ue]=Q.useState(()=>{let e=zs(n?.schedule?.date||``)||new Date;return new Date(e.getFullYear(),e.getMonth(),1)}),J=Q.useRef(null),de=Q.useRef(null),fe=Q.useRef(null),pe=Q.useRef(null),me=Q.useRef(null),he=Q.useRef(``),ge=Q.useRef(void 0),_e=Q.useRef(n);_e.current=n;let ve=n?.id||null,ye=Q.useMemo(()=>Qs(w),[w]),be=Q.useMemo(()=>Zs(w),[w]),Se=Q.useMemo(()=>N===`24h`||N!==`12h`&&ye,[N,ye]),Ce=Q.useMemo(()=>P===`sunday`?0:P===`monday`?1:be,[P,be]),we=Q.useMemo(()=>{let e=$s(w);return ec(Ms.map(t=>({value:t,label:e[t]||``})),Ce)},[w,Ce]);Q.useEffect(()=>{t&&(T({source:`scheduledTaskEditor`}),E({source:`scheduledTaskEditor`}))},[t,T,E]),Q.useEffect(()=>{if(!t){ge.current=void 0;return}if(ge.current===ve)return;ge.current=ve;let e=_e.current,n=sc(e,{providerID:O,modelID:k,variant:A,agent:j});he.current=JSON.stringify(n),L(n),s?.(!1);let r=zs(e?.schedule?.date||``)||new Date;ue(new Date(r.getFullYear(),r.getMonth(),1)),V(!1),re(!1),W(!1),ae(``),G(``)},[t,ve,O,k,A,j,s]),Q.useEffect(()=>{if(!(!t||!n||I.id!==n.id||I.enabled===n.enabled)&&(L(e=>({...e,enabled:n.enabled})),he.current)){let e=JSON.parse(he.current);he.current=JSON.stringify({...e,enabled:n.enabled})}},[I.enabled,I.id,t,n]),Q.useEffect(()=>{!t||!he.current||s?.(JSON.stringify(I)!==he.current)},[I,s,t]),Q.useEffect(()=>{if(!B)return;let e=e=>{J.current&&!J.current.contains(e.target)&&V(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[B]);let Te=Q.useMemo(()=>D.find(e=>e.id===I.execution.providerID)?.models?.find(e=>e.id===I.execution.modelID),[I.execution.modelID,I.execution.providerID,D]),Ee=Q.useMemo(()=>Te?.variants?Object.keys(Te.variants):[],[Te]);Q.useEffect(()=>{!Te||!I.execution.variant||Ee.includes(I.execution.variant)||L(e=>({...e,execution:{...e.execution,variant:``}}))},[Ee,I.execution.variant,Te]);let je=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)}}})},[]),Me=Q.useCallback((e,t)=>{L(n=>{let r=n.schedule.times.slice();return r[e]=t,{...n,schedule:{...n.schedule,times:r}}})},[]),Ne=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`]}}})},[]),Pe=Q.useCallback(()=>{L(e=>({...e,schedule:{...e.schedule,times:[...e.schedule.times,`12:00`]}}))},[]),Le=Q.useMemo(()=>ic(),[]),Re=Q.useMemo(()=>rc(Le),[Le]),ze=Q.useMemo(()=>{let e=zs(I.schedule.onceDate);return e?ac(e,Le)?C(`sessions.scheduledTasks.editor.date.today`):new Intl.DateTimeFormat(w,{weekday:`short`}).format(e):null},[I.schedule.onceDate,w,C,Le]),He=Q.useMemo(()=>rc(q).getTime()<=Re.getTime(),[q,Re]),We=Q.useMemo(()=>we.map(e=>e.label),[we]),Ge=Q.useCallback(e=>{L(t=>({...t,schedule:{...t.schedule,onceDate:e}}))},[]),qe=Q.useCallback((e,t)=>{if(e.startsWith(`/`)){let n=e.indexOf(` `),r=e.indexOf(`
|
|
143
|
-
`),i=Math.min(n===-1?e.length:n,r===-1?e.length:r);if(t<=i&&n===-1){ae(e.substring(1,i)),re(!0),W(!1),se(!1);return}}re(!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(`
|
|
144
|
-
`)){le(t),se(!0),W(!1);return}}se(!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(`
|
|
145
|
-
`)?(G(t),W(!0)):W(!1);return}W(!1)},[]),Je=Q.useCallback(e=>{L(t=>({...t,execution:{...t.execution,prompt:e}}))},[]),Qe=Q.useCallback(e=>{let t=I.execution.prompt,n=de.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=Kt(t,r===-1?n:r,n,`@${i}`);Je(a.text),W(!1),G(``),requestAnimationFrame(()=>{let e=de.current;e&&(e.selectionStart=a.caret,e.selectionEnd=a.caret,e.focus()),qe(a.text,a.caret)})},[I.execution.prompt,Je,qe]),$e=Q.useCallback(e=>{let t=I.execution.prompt,n=de.current?.selectionStart??t.length,r=t.substring(0,n).lastIndexOf(`@`),i=Kt(t,r===-1?n:r,n,`@${e}`);Je(i.text),W(!1),G(``),requestAnimationFrame(()=>{let e=de.current;e&&(e.selectionStart=i.caret,e.selectionEnd=i.caret,e.focus()),qe(i.text,i.caret)})},[I.execution.prompt,Je,qe]),et=Q.useCallback(e=>{let t=`/${e.name} `;Je(t),re(!1),ae(``),se(!1),requestAnimationFrame(()=>{let e=de.current;e&&(e.focus(),e.selectionStart=e.value.length,e.selectionEnd=e.value.length),qe(t,t.length)})},[Je,qe]),tt=Q.useCallback((e,t)=>{let n=I.execution.prompt,r=de.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;Je(o),se(!1),le(``),requestAnimationFrame(()=>{let e=de.current;e&&(e.selectionStart=s,e.selectionEnd=s,e.focus()),qe(o,s)})},[I.execution.prompt,Je,qe]),nt=Q.useCallback(e=>{if(K&&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}U&&fe.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)&&(e.preventDefault(),fe.current.handleKeyDown(e.key)),oe&&me.current&&(e.key===`Enter`||e.key===`ArrowUp`||e.key===`ArrowDown`||e.key===`Escape`||e.key===`Tab`)&&(e.preventDefault(),me.current.handleKeyDown(e.key))},[K,U,oe]),rt=Q.useCallback(async()=>{let e=cc(I,C);if(e){M.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:lc(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=sc(e||n,{providerID:O,modelID:k,variant:A,agent:j});he.current=JSON.stringify(t),L(t),s?.(!1)}else r(!1)}catch(e){M.error(e instanceof Error?e.message:C(`sessions.scheduledTasks.editor.toast.saveFailed`))}finally{z(!1)}},[j,k,O,A,I,s,r,i,a,C,n]),it=Q.useId(),at=Q.useCallback(()=>typeof document>`u`?!1:!!document.querySelector(`[data-slot="dropdown-menu-content"], [data-slot="select-content"]`),[]),ot=C(n?`sessions.scheduledTasks.editor.title.edit`:`sessions.scheduledTasks.editor.title.new`),st=C(`sessions.scheduledTasks.editor.description`),lt=(0,$.jsxs)(`div`,{className:Y(`oc-settings-workspace oc-settings-page-content oc-scheduled-task-form`,F?`oc-settings-workspace-mobile`:`oc-settings-workspace-desktop`),children:[(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,(h||_)&&`hidden`),children:[(0,$.jsx)(tc,{htmlFor:`sched-name`,required:!0,children:C(`sessions.scheduledTasks.editor.taskName.label`)}),(0,$.jsx)(Ze,{id:`sched-name`,value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),maxLength:80,className:`w-full`})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-3 border-t border-border/40 pt-5`,b&&`oc-settings-group order-4 animate-in fade-in slide-in-from-right-1 border-0 pt-0 duration-200 [animation-delay:80ms] [animation-fill-mode:both] motion-reduce:animate-none`),children:[b?(0,$.jsx)(`h3`,{className:Ds,children:C(`sessions.scheduledTasks.editor.panel.frequency`)}):null,(0,$.jsxs)(`div`,{className:Y(b&&`oc-settings-group-card`,b&&I.schedule.kind===`once`&&B&&`overflow-visible`),children:[(0,$.jsx)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&[S,`last:border-b`]),children:[(0,$.jsx)(tc,{children:C(`sessions.scheduledTasks.editor.scheduleType.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsxs)(Ve,{value:I.schedule.kind,onValueChange:e=>{L(t=>({...t,schedule:{...t.schedule,kind:e,...e===`cron`&&!t.schedule.cronExpression?{cronExpression:`0 * * * *`}:{}}}))},children:[(0,$.jsx)(Xe,{className:Y(!b&&Ns,b&&x),children:(0,$.jsx)(Ie,{children:e=>C(e===`daily`?`sessions.scheduledTasks.editor.scheduleType.daily`:e===`weekly`?`sessions.scheduledTasks.editor.scheduleType.weekly`:e===`cron`?`sessions.scheduledTasks.editor.scheduleType.cron`:`sessions.scheduledTasks.editor.scheduleType.once`)})}),(0,$.jsxs)(Be,{className:`motion-reduce:transition-none`,children:[(0,$.jsx)(Ye,{value:`daily`,children:C(`sessions.scheduledTasks.editor.scheduleType.daily`)}),(0,$.jsx)(Ye,{value:`weekly`,children:C(`sessions.scheduledTasks.editor.scheduleType.weekly`)}),(0,$.jsx)(Ye,{value:`once`,children:C(`sessions.scheduledTasks.editor.scheduleType.once`)}),(0,$.jsx)(Ye,{value:`cron`,children:C(`sessions.scheduledTasks.editor.scheduleType.cron`)})]})]})})]})}),I.schedule.kind===`cron`?(0,$.jsx)(uc,{draft:I,setDraft:L,locale:w,t:C,panel:h,mobilePanel:v}):I.schedule.kind===`once`?(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:[(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),ref:J,children:[(0,$.jsx)(tc,{children:C(`sessions.scheduledTasks.editor.date.label`)}),(0,$.jsxs)(`div`,{"data-settings-value":b?``:void 0,className:Y(`relative`,b&&`oc-settings-split-row-control`),children:[(0,$.jsxs)(`button`,{type:`button`,className:Y(!b&&Ns,`flex items-center justify-between gap-2 text-left`,b&&[x,`w-full`]),onClick:()=>V(e=>!e),children:[(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(X,{name:`calendar`,className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-foreground`,children:Vs(I.schedule.onceDate,C(`sessions.scheduledTasks.editor.date.placeholder`),w)})]}),(0,$.jsx)(X,{name:`arrow-down-s`,className:`h-4 w-4 shrink-0 text-muted-foreground`})]}),B?(0,$.jsxs)(`div`,{className:Y(`absolute top-[calc(100%+6px)] z-50 w-[min(288px,calc(100vw-2rem))] animate-in fade-in zoom-in-95 slide-in-from-top-1 rounded-xl border border-border bg-background p-3 shadow-sm duration-150 motion-reduce:animate-none`,v?`right-0`:`left-0`),children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,$.jsx)(`button`,{type:`button`,className:`inline-flex h-8 w-8 items-center justify-center rounded-md hover:bg-interactive-hover disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>ue(e=>Hs(e,-1)),"aria-label":C(`sessions.scheduledTasks.editor.date.previousMonth`),disabled:He,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(w,{month:`long`,year:`numeric`}).format(q)}),(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=>Hs(e,1)),"aria-label":C(`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:We.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:Us(q,Ce).map(({date:e,inCurrentMonth:t})=>{let n=Bs(e),r=n===I.schedule.onceDate,i=ac(e,Le),a=e.getTime()<Le.getTime();return(0,$.jsx)(`button`,{type:`button`,onClick:()=>{a||(Ge(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:ze||``}),(0,$.jsx)(Z,{type:`button`,size:`xs`,variant:`ghost`,onClick:()=>{Ge(Bs(Le)),ue(new Date(Le.getFullYear(),Le.getMonth(),1))},children:C(`sessions.scheduledTasks.editor.date.jumpToToday`)})]})]}):null]})]}),(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(tc,{children:C(`sessions.scheduledTasks.editor.time.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsx)(nc,{value:I.schedule.onceTime,className:Y(b&&`oc-settings-inline-value w-fit min-w-0 justify-end`),use24Hour:Se,hourAriaLabel:C(`sessions.scheduledTasks.editor.time.hourAria`),minuteAriaLabel:C(`sessions.scheduledTasks.editor.time.minuteAria`),periodAriaLabel:C(`sessions.scheduledTasks.editor.time.periodAria`),amLabel:C(`sessions.scheduledTasks.editor.time.period.am`),pmLabel:C(`sessions.scheduledTasks.editor.time.period.pm`),onChange:e=>L(t=>({...t,schedule:{...t.schedule,onceTime:e}}))})})]})]}):(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&`flex flex-col gap-0`,!F&&!b&&`sm:grid-cols-2`),children:[I.schedule.kind===`weekly`?(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,b&&[`oc-settings-group-row border-b border-[var(--oc-settings-row-divider)] last:border-b-0`,`oc-settings-split-row`],!F&&!b&&`sm:col-span-2`),children:[(0,$.jsx)(tc,{children:C(`sessions.scheduledTasks.editor.weekdays.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(`flex flex-wrap gap-x-3 gap-y-2`,b&&`oc-settings-split-row-control justify-end`),children:we.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)(Fe,{checked:t,onChange:t=>je(e.value,t),ariaLabel:e.label}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>je(e.value,!t),className:`group-hover:text-foreground`,children:e.label})]},e.value)})})]}):null,(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-2`,b&&[S,`justify-start`],v&&`flex-col items-stretch`),children:[(0,$.jsx)(tc,{children:C(`sessions.scheduledTasks.editor.times.label`)}),(0,$.jsxs)(`div`,{"data-settings-value":b?``:void 0,className:Y(b?`oc-settings-split-row-control relative flex-wrap justify-end`:`contents`),children:[(0,$.jsx)(`div`,{className:Y(`flex flex-col gap-2`,b&&`flex-row flex-wrap justify-end transition-[padding] motion-reduce:transition-none`,h&&`group-hover:pr-8`),children:I.schedule.times.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(nc,{value:e,className:Y(b&&`oc-settings-inline-value w-fit min-w-0`),use24Hour:Se,hourAriaLabel:C(`sessions.scheduledTasks.editor.time.hourAria`),minuteAriaLabel:C(`sessions.scheduledTasks.editor.time.minuteAria`),periodAriaLabel:C(`sessions.scheduledTasks.editor.time.periodAria`),amLabel:C(`sessions.scheduledTasks.editor.time.period.am`),pmLabel:C(`sessions.scheduledTasks.editor.time.period.pm`),onChange:e=>Me(t,e)}),I.schedule.times.length>1?(0,$.jsx)(Z,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>Ne(t),"aria-label":C(`sessions.scheduledTasks.editor.times.removeAria`),children:(0,$.jsx)(X,{name:`close`,className:`h-4 w-4`})}):null]},t))}),(0,$.jsx)(`div`,{className:Y(b&&`shrink-0`,h&&`absolute right-0`),children:(0,$.jsxs)(Z,{type:`button`,size:b?`icon`:`sm`,variant:b?`ghost`:`outline`,className:Y(`h-9`,h&&`size-7 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 motion-reduce:transition-none`,v&&`size-9`),onClick:Pe,"aria-label":C(`sessions.scheduledTasks.editor.times.add`),children:[(0,$.jsx)(X,{name:`add`,className:Y(`h-4 w-4`,!b&&`mr-1`)}),b?null:C(`sessions.scheduledTasks.editor.times.add`)]})})]})]})]})]})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-3 border-t border-border/40 pt-5`,b&&`contents`),children:[(0,$.jsxs)(`div`,{className:Y(b?`oc-settings-group order-2`:`contents`),children:[b?(0,$.jsx)(`h3`,{className:Ds,children:C(`sessions.scheduledTasks.editor.panel.details`)}):null,(0,$.jsxs)(`div`,{className:Y(`grid grid-cols-1 gap-x-4 gap-y-3`,b&&[`flex flex-col gap-0 animate-in fade-in slide-in-from-right-1 duration-200 [animation-delay:40ms] [animation-fill-mode:both] motion-reduce:animate-none`,`oc-settings-group-card`],!F&&!b&&`sm:grid-cols-2`),children:[p.length>0?(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(tc,{children:C(`sessions.scheduledTasks.dialog.project.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsxs)(Ve,{value:f,disabled:!m,onValueChange:m,children:[(0,$.jsx)(Xe,{className:Y(!b&&Ns,b&&x),children:(0,$.jsx)(Ie,{children:e=>p.find(t=>t.id===e)?.label})}),(0,$.jsx)(Be,{className:`motion-reduce:transition-none`,children:p.map(e=>(0,$.jsx)(Ye,{value:e.id,children:e.label},e.id))})]})})]}):null,(0,$.jsxs)(`div`,{className:Y(`flex min-w-0 flex-col gap-1`,b&&S),children:[(0,$.jsx)(tc,{required:!0,children:C(`sessions.scheduledTasks.editor.model.label`)}),(0,$.jsx)(`div`,{"data-settings-value":b?``:void 0,className:Y(b&&`oc-settings-split-row-control`),children:(0,$.jsx)(gt,{providerId:I.execution.providerID,modelId:I.execution.modelID,variant:I.execution.variant,className:Y(!b&&Ns,b&&x,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),showIcon:!h,onChange:(e,t,n=``)=>{L(r=>({...r,execution:{...r.execution,providerID:e,modelID:t,variant:n}}))}})})]}),b?(0,$.jsxs)(`div`,{className:S,children:[(0,$.jsx)(tc,{children:C(`sessions.scheduledTasks.editor.agent.label`)}),(0,$.jsx)(`div`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(pt,{agentName:I.execution.agent,className:Y(x,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),showIcon:!0,filter:e=>H(e.mode),onChange:e=>L(t=>({...t,execution:{...t.execution,agent:e}}))})})]}):null,b?(0,$.jsxs)(`label`,{className:Y(S,`cursor-pointer`),children:[(0,$.jsx)(`span`,{className:`typography-ui-label text-foreground`,children:C(`sessions.scheduledTasks.editor.goal.label`)}),(0,$.jsx)(`span`,{"data-settings-value":``,className:`oc-settings-split-row-control`,children:(0,$.jsx)(Fe,{checked:I.execution.goalEnabled,onChange:e=>L(t=>({...t,execution:{...t.execution,goalEnabled:e}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.aria`)})})]}):null]})]}),b?null:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,$.jsx)(tc,{children:C(`sessions.scheduledTasks.editor.agent.label`)}),(0,$.jsx)(pt,{agentName:I.execution.agent,className:Y(Ns,`[&>div]:min-w-0 [&>div]:flex-1 [&_span]:truncate`),filter:e=>H(e.mode),onChange:e=>L(t=>({...t,execution:{...t.execution,agent:e}}))})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-col gap-1`,b&&`order-1`),children:[(0,$.jsx)(`div`,{className:Y(b&&`sr-only`),children:(0,$.jsx)(tc,{htmlFor:`sched-prompt`,required:!0,children:C(`sessions.scheduledTasks.editor.prompt.label`)})}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Ke,{id:`sched-prompt`,ref:de,value:I.execution.prompt,onChange:e=>{let t=e.target.value;Je(t);let n=e.target.selectionStart??t.length;qe(t,n)},onKeyDown:nt,rows:b?4:8,simple:b,placeholder:C(`sessions.scheduledTasks.editor.prompt.placeholder`),className:Y(`typography-meta min-h-[120px] max-h-[300px] resize-none overflow-y-auto`,b&&`!h-32 !min-h-32 !max-h-32 rounded-2xl border border-border/60 bg-[var(--surface-elevated)] px-4 py-4 text-base shadow-none ring-0 placeholder:text-muted-foreground/65 focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`)}),K?(0,$.jsx)(Vt,{ref:pe,searchQuery:ie,onCommandSelect:et,onClose:()=>re(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,U?(0,$.jsx)(Gt,{ref:fe,searchQuery:ne,onFileSelect:Qe,onAgentSelect:$e,onClose:()=>W(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null,oe?(0,$.jsx)(Ht,{ref:me,searchQuery:ce,onSnippetSelect:tt,onClose:()=>se(!1),style:{left:0,top:`auto`,bottom:`calc(100% + 6px)`,marginBottom:0,maxWidth:`100%`}}):null]})]}),b?null:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-8 gap-y-2`,children:[(0,$.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-2`,children:[(0,$.jsx)(Fe,{checked:I.execution.goalEnabled,onChange:e=>L(t=>({...t,execution:{...t.execution,goalEnabled:e}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.aria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.goal.label`)})]}),I.execution.goalEnabled?(0,$.jsxs)(`label`,{className:`inline-flex cursor-pointer items-center gap-2`,children:[(0,$.jsx)(Fe,{checked:I.execution.goalTokenBudget!==null,onChange:e=>L(t=>({...t,execution:{...t.execution,goalTokenBudget:e?2e5:null}})),ariaLabel:C(`sessions.scheduledTasks.editor.goal.budgetAria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.goal.budgetLabel`)})]}):null,I.execution.goalEnabled&&I.execution.goalTokenBudget!==null?(0,$.jsx)(hn,{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]})]})]}),dt=(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-between gap-3`,a===`panel`&&`justify-end`,y&&`flex-nowrap gap-2`),children:[(0,$.jsxs)(`label`,{className:Y(`inline-flex items-center gap-2`,a===`panel`&&`hidden`),children:[(0,$.jsx)(Fe,{checked:I.enabled,onChange:e=>L(t=>({...t,enabled:e})),ariaLabel:C(`sessions.scheduledTasks.editor.enabled.aria`)}),(0,$.jsx)(`span`,{className:`typography-meta`,children:C(`sessions.scheduledTasks.editor.enabled.label`)})]}),(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-end gap-2`,y&&`ml-auto flex-nowrap`),children:[a!==`panel`&&!y?(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>r(!1),disabled:te,children:C(`sessions.scheduledTasks.editor.actions.cancel`)}):null,(0,$.jsx)(Z,{type:`button`,size:`sm`,className:Y(a===`panel`&&`rounded-lg`,y&&`min-h-11 px-5`),onClick:rt,disabled:te,children:C(te?`sessions.scheduledTasks.editor.actions.saving`:n?`sessions.scheduledTasks.editor.actions.save`:`sessions.scheduledTasks.dialog.actions.create`)})]})]});return a===`panel`?t?(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-labelledby":`scheduled-task-panel-title`,children:[(0,$.jsxs)(`header`,{className:`shrink-0 animate-in fade-in slide-in-from-right-1 px-6 pb-4 pt-5 duration-200 motion-reduce:animate-none`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:Y(`typography-meta font-medium`,n?.enabled?`text-[var(--status-info)]`:`text-muted-foreground`),children:n?n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.enabled`):C(`sessions.scheduledTasks.dialog.taskToggle.paused`):ot}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n&&l&&c?(0,$.jsxs)(vt,{children:[(0,$.jsx)(mt,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`rounded-lg transition-transform duration-150 active:scale-90 motion-reduce:transition-none`,F?`size-11`:`size-8`),disabled:te||d,"aria-label":C(`sessions.scheduledTasks.dialog.actions.moreAria`,{taskName:n.name}),children:(0,$.jsx)(X,{name:`more-2`,className:`size-4`})})}),(0,$.jsxs)(ut,{align:`end`,className:`min-w-40 motion-reduce:transition-none`,children:[(0,$.jsxs)(ct,{onSelect:()=>void c(n),children:[(0,$.jsx)(X,{name:`play`,className:`size-4`}),C(`sessions.scheduledTasks.dialog.actions.runNow`)]}),u?(0,$.jsxs)(ct,{onSelect:()=>void u(n,!n.enabled),children:[(0,$.jsx)(X,{name:n.enabled?`pause`:`play`,className:`size-4`}),n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.pauseAria`,{taskName:n.name}):C(`sessions.scheduledTasks.dialog.taskToggle.enableAria`,{taskName:n.name})]}):null,(0,$.jsxs)(ct,{variant:`destructive`,onSelect:()=>void l(n),children:[(0,$.jsx)(X,{name:`delete-bin`,className:`size-4`}),C(`sessions.scheduledTasks.dialog.actions.delete`)]})]})]}):null,n&&u?(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`group rounded-lg transition-transform duration-150 active:scale-90 motion-reduce:transition-none`,F?`size-11`:`size-8`),disabled:te||d,onClick:()=>void u(n,!n.enabled),"aria-label":n.enabled?C(`sessions.scheduledTasks.dialog.taskToggle.pauseAria`,{taskName:n.name}):C(`sessions.scheduledTasks.dialog.taskToggle.enableAria`,{taskName:n.name}),children:(0,$.jsx)(X,{name:n.enabled?`pause`:`play`,className:`size-4 transition-transform duration-150 group-active:scale-75 motion-reduce:transition-none`})}):null,(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon`,className:Y(`rounded-lg transition-transform duration-150 active:scale-90 motion-reduce:transition-none`,F?`size-11`:`size-8`),onClick:()=>r(!1),"aria-label":C(`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:ot}),(0,$.jsx)(Ze,{value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),"aria-label":C(`sessions.scheduledTasks.editor.taskName.label`),maxLength:80,className:`mt-1 !h-9 !min-h-9 border-0 bg-transparent px-0 text-lg font-semibold shadow-none ring-0 hover:!bg-transparent focus:!bg-transparent focus:ring-0`})]}),(0,$.jsx)(Ue,{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:lt})}),(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-border/50 bg-background/95 px-6 py-3 backdrop-blur-sm`,children:dt})]}):null:a===`mobile-panel`?t?(0,$.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col bg-background`,"aria-label":ot,children:[(0,$.jsx)(Ue,{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:lt})}),(0,$.jsx)(`footer`,{className:`shrink-0 border-t border-border/50 bg-background/95 px-3 py-2 backdrop-blur-sm`,children:dt})]}):null:a===`mobile-tab`?t?(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-label":ot,children:[(0,$.jsx)(xe,{sticky:!0,title:ot,backAriaLabel:C(`header.actions.backAria`),onBack:()=>r(!1),backDisabled:te}),(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)(Ze,{value:I.name,onChange:e=>L(t=>({...t,name:e.target.value})),placeholder:C(`sessions.scheduledTasks.editor.taskName.placeholder`),"aria-label":C(`sessions.scheduledTasks.editor.taskName.label`),maxLength:80,className:`oc-mobile-detail-editor-title 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`}),lt]}),(0,$.jsx)(bn,{as:`footer`,"data-scheduled-editor-footer":``,className:`z-[60]`,children:dt})]}):null:F?(0,$.jsx)(Mt,{open:t,title:ot,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:ot}),e]}),(0,$.jsx)(`p`,{className:`typography-micro text-muted-foreground`,children:st})]}),footer:dt,children:lt}):(0,$.jsx)(Ae,{open:t,onOpenChange:e=>{!e&&at()||r(e)},children:(0,$.jsxs)(De,{"aria-describedby":it,className:`!max-w-[720px] w-[90vw] h-[680px] max-h-[85vh] gap-0 p-0 overflow-hidden`,children:[(0,$.jsx)(ke,{id:it,className:`sr-only`,children:st}),(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)(Oe,{className:`typography-ui-label font-medium text-foreground`,children:ot}),(0,$.jsx)(`p`,{className:`typography-meta mt-0.5 text-muted-foreground`,children:st})]})}),(0,$.jsx)(Ue,{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:lt})}),(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:dt})})]})})}function fc(e){return Ks(e,{min:0,max:23})}function pc(e,t){return Ks(String(Number.parseInt(e,10)+t),{min:0,max:23,loop:!0})}function mc(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 hc=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))},gc=(e,t,n=!0)=>{let r=hc(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||``})},_c=(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})},vc=e=>new Intl.DateTimeFormat(O(),{month:`numeric`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)),yc=(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},bc=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`},xc={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`}},Sc=e=>e===`muted`?{}:{color:`var(--status-${e})`,backgroundColor:`var(--status-${e}-background)`,borderColor:`var(--status-${e}-border)`},Cc=({projectId:e,taskId:t})=>`${e}:${t}`,wc=u.scoped(`scheduled-tasks`),Tc=u.scoped(`scheduled-task-runs`),Ec=null,Dc=()=>Ec?Ec():(o.getState().setScheduledTasksDialogOpen(!1),!0),Oc=(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 kc(){let e=(0,jn.c)(9),{t}=ee(),n=o(Pc),r=o(Nc);if(!o(Mc))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)(Fc,{presentation:`mobile-panel`,open:n,onOpenChange:r}),e[2]=n,e[3]=r,e[4]=a):a=e[4];let s;return e[5]!==n||e[6]!==i||e[7]!==a?(s=(0,$.jsx)(Mt,{open:n,title:i,onClose:jc,className:`h-[min(92dvh,760px)] max-w-none sm:max-w-2xl`,contentMaxHeightClassName:`max-h-none`,renderHeader:Ac,containedBody:!0,children:a}),e[5]=n,e[6]=i,e[7]=a,e[8]=s):s=e[8],s}function Ac(){return null}function jc(){return Dc()}function Mc(e){return e.isMobile}function Nc(e){return e.setScheduledTasksDialogOpen}function Pc(e){return e.isScheduledTasksDialogOpen}function Fc({presentation:e=`workspace`,open:t=!0,onOpenChange:n,registerEditorBackHandler:r,onEditorActiveChange:i}={}){let{t:a}=ee(),s=dn(),c=o(e=>e.isMobile),l=o(e=>e.setMainTabGuard),u=re(e=>e.projects),d=re(e=>e.getActiveProject())?.id||u[0]?.id||``,[f,p]=Q.useState(d),[m,g]=Q.useState(null),[_,v]=Q.useState(`closed`),[y,b]=Q.useState(`all`),[x,S]=Q.useState(()=>ho().scheduleView===`history`?`history`:`tasks`),[E,O]=Q.useState(``),[k,A]=Q.useState(!1),[j,N]=Q.useState(null),[P,F]=Q.useState(null),[I,L]=Q.useState(null),te=Q.useRef(null),R=Q.useRef(null),z=e===`mobile-tab`,B=e===`mobile-panel`||z;Q.useEffect(()=>{if(z)return i?.(_!==`closed`),()=>i?.(!1)},[_,z,i]),Q.useEffect(()=>{if(!t)return;let e=()=>{let e=ho();if(e.tab===`schedule`||o.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 V=w({queryKey:wc,enabled:t,refetchOnMount:`always`,queryFn:Ss,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)})}),H=Q.useMemo(()=>V.data?.tasks??[],[V.data]),U=V.data?.failedProjectIds??[],W=Q.useMemo(()=>m?H.find(({projectId:e,task:t})=>e===m.projectId&&t.id===m.taskId)??null:null,[m,H]),ne=W?.task??null,G=T({queryKey:Tc,enabled:t&&x===`history`,initialPageParam:void 0,queryFn:({pageParam:e,signal:t})=>xs({before:e,limit:20},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 G.data?.pages??[])for(let r of n.runs)e.has(r.id)||(e.add(r.id),t.push(r));return t},[G.data]),ie=Q.useMemo(()=>K.some(e=>e.status===`running`),[K]),[ae,oe]=Q.useState(()=>Date.now());Q.useEffect(()=>{if(!t||x!==`history`||!ie)return;oe(Date.now());let e=window.setInterval(()=>oe(Date.now()),1e3);return()=>window.clearInterval(e)},[ie,t,x]);let se=Q.useMemo(()=>new Map(u.map(e=>[e.id,e])),[u]);Q.useEffect(()=>{V.error&&M.error(V.error instanceof Error?V.error.message:a(`sessions.scheduledTasks.dialog.toast.loadFailed`))},[V.error,a]),Q.useEffect(()=>{let e=null,t=ge(t=>{t.type===`scheduled-task-ran`&&(e&&clearTimeout(e),e=setTimeout(()=>{h.invalidateQueries({queryKey:wc,exact:!0}),h.invalidateQueries({queryKey:Tc,exact:!0})},400))});return()=>{e&&clearTimeout(e),t()}},[]),Q.useEffect(()=>{_===`edit`&&m&&!W&&V.isSuccess&&(g(null),v(`closed`))},[_,W,m,V.isSuccess]);let ce=C({mutationFn:({projectID:e,taskDraft:t})=>Cs(e,t),onSuccess:(e,{projectID:t})=>{h.setQueryData(wc,n=>Oc(n,t,e))}}),le=C({mutationFn:({projectID:e,taskID:t})=>ws(e,t),onSuccess:(e,{projectID:t})=>{h.setQueryData(wc,n=>Oc(n,t,e))}}),q=C({mutationFn:({projectID:e,taskID:t})=>Ts(e,t),onSuccess:()=>{h.invalidateQueries({queryKey:wc,exact:!0}),h.invalidateQueries({queryKey:Tc,exact:!0})}}),J=C({mutationFn:({projectID:e,task:t})=>Cs(e,t),onMutate:({projectID:e,task:t})=>{let n=h.getQueryData(wc);return h.setQueryData(wc,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})=>{h.setQueryData(wc,n=>Oc(n,t,e))},onError:(e,t,n)=>{n?.previousTasks&&h.setQueryData(wc,n.previousTasks)}}),de=D(()=>!k||window.confirm(a(`sessions.scheduledTasks.workspace.confirm.discardChanges`)));Q.useEffect(()=>{if(!k){l(null);return}let e=e=>e===`schedule`||window.confirm(a(`sessions.scheduledTasks.workspace.confirm.discardChanges`));return l(e),()=>{o.getState().mainTabGuard===e&&l(null)}},[k,l,a]);let fe=D(e=>{let t={projectId:e.projectId,taskId:e.task.id};(Cc(t)!==(m?Cc(m):``)||_!==`edit`)&&de()&&(g(t),v(`edit`),A(!1))}),pe=D(()=>{!f||!de()||(g(null),v(`create`),A(!1))}),me=D((e,t)=>{let n=o.getState();xo({sessionId:null,tab:`schedule`,isSettingsOpen:n.isSettingsDialogOpen,settingsPath:n.settingsPage,diffFile:null,scheduleView:e,scheduleProjectId:t?.projectId??null,scheduleTaskId:t?.taskId??null})}),_e=D(e=>{x!==e&&(_!==`closed`&&!de()||(g(null),v(`closed`),A(!1),S(e),me(e,null)))}),ve=D(t=>{e===`mobile-panel`&&t.sessionId&&t.directory&&n?.(!1),ue(t.sessionId,t.directory,{phoneShell:!!(B&&!he()),switchToChat:!0})}),ye=D(async()=>{if(G.data&&G.hasNextPage){await G.fetchNextPage();return}await G.refetch()}),be=D(e=>{e||!de()||(g(null),v(`closed`),A(!1))}),xe=D(()=>_===`closed`?(n?.(!1),!0):(be(!1),!0));Q.useEffect(()=>{if(e!==`mobile-panel`||!t)return;Ec=xe;let n=()=>xe();return window.addEventListener(`oc:scheduled-tasks-close-request`,n),()=>{Ec===xe&&(Ec=null),window.removeEventListener(`oc:scheduled-tasks-close-request`,n)}},[e,t]);let Se=D(()=>_!==`closed`&&(be(!1),!0));Pt({id:`mobile-scheduled-editor`,active:z&&_!==`closed`,onBack:Se,surfaceRef:te,underlayRef:R}),Q.useEffect(()=>{if(r)return r(Se),()=>r(null)},[r]);let Ce=D(async e=>{let t=m?.projectId||f;if(!t)throw Error(a(`sessions.scheduledTasks.dialog.error.chooseProjectFirst`));let n=new Set(H.filter(e=>e.projectId===t).map(e=>e.task.id)),r=await ce.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&&(g({projectId:t,taskId:s.id}),v(`edit`)),A(!1),M.success(a(`sessions.scheduledTasks.dialog.toast.saved`)),s}),Te=D(async e=>{let{projectId:t,task:n}=e;if(window.confirm(a(`sessions.scheduledTasks.dialog.confirm.deleteTask`,{taskName:n.name}))){N(Cc({projectId:t,taskId:n.id}));try{await le.mutateAsync({projectID:t,taskID:n.id});let e=Cc({projectId:t,taskId:n.id});m&&Cc(m)===e&&(g(null),v(`closed`),A(!1)),M.success(a(`sessions.scheduledTasks.dialog.toast.deleted`))}catch(e){M.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.deleteFailed`))}finally{N(null)}}}),Ee=D(async({projectId:e,task:t})=>{N(Cc({projectId:e,taskId:t.id}));try{await q.mutateAsync({projectID:e,taskID:t.id}),M.success(a(`sessions.scheduledTasks.dialog.toast.started`))}catch(e){M.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.runFailed`))}finally{N(null)}}),De=D(async({projectId:e,task:t},n)=>{N(Cc({projectId:e,taskId:t.id}));try{await J.mutateAsync({projectID:e,task:{...t,enabled:n}})}catch(e){M.error(e instanceof Error?e.message:a(`sessions.scheduledTasks.dialog.toast.updateFailed`))}finally{N(null)}}),Oe=Q.useMemo(()=>{let e=E.trim().toLocaleLowerCase();return H.filter(({task:t})=>y===`active`&&!t.enabled||y===`paused`&&t.enabled?!1:!e||t.name.toLocaleLowerCase().includes(e)||gc(t,a).toLocaleLowerCase().includes(e))},[y,E,a,H]),ke=e=>{let t=e.icon?He[e.icon]:null,n=e.color?Ge[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)(Le,{project:e,className:`size-full object-contain`,fallback:r}):r}),(0,$.jsx)(`span`,{className:`truncate`,children:we(e.path)})]})},Ae=u.map(e=>({id:e.id,label:ke(e)}));return(0,$.jsxs)(`div`,{className:Y(`relative flex min-h-0`,z?`oc-mobile-scheduled-workspace w-full flex-col overflow-visible bg-transparent`:`h-full overflow-hidden bg-background`,B&&`flex-col`),"data-presentation":e,children:[(0,$.jsxs)(`div`,{ref:z?R:void 0,"data-mobile-navigation-underlay":z?`true`:void 0,"aria-hidden":z&&_!==`closed`?!0:void 0,inert:z&&_!==`closed`?!0:void 0,className:Y(z?`flex w-full min-w-0 flex-col gap-[var(--oc-mobile-page-gap)]`:`contents`),children:[z?(0,$.jsx)(vn,{title:a(`sessions.scheduledTasks.dialog.title`)}):null,B&&!z?(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:xe,"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`&&W?(0,$.jsxs)(vt,{children:[(0,$.jsx)(mt,{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:W.task.name}),children:(0,$.jsx)(X,{name:`more-2`,className:`size-5`})})}),(0,$.jsxs)(ut,{align:`end`,className:`min-w-40`,children:[(0,$.jsxs)(ct,{className:`min-h-11`,onSelect:()=>void Ee(W),children:[(0,$.jsx)(X,{name:`play`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.runNow`)]}),(0,$.jsxs)(ct,{className:`min-h-11`,onSelect:()=>void De(W,!W.task.enabled),children:[(0,$.jsx)(X,{name:W.task.enabled?`pause`:`play`,className:`size-4`}),W.task.enabled?a(`sessions.scheduledTasks.dialog.actions.pause`):a(`sessions.scheduledTasks.dialog.actions.resume`)]}),(0,$.jsxs)(ct,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void Te(W),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:xe,"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`,z?`flex-none overflow-visible`:`flex-1 overflow-hidden`,B&&!z&&_!==`closed`?`hidden`:`flex`),children:[(0,$.jsx)(`header`,{className:Y(`shrink-0`,z?`pb-0 pt-0`:B?`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`,z?`max-w-[26rem]`:`max-w-4xl`),children:[(0,$.jsx)(`div`,{className:Y((x===`tasks`||!z)&&`mb-3`,z?`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,"data-mobile-press-feedback":z?`none`:void 0,className:Y(z?`oc-mobile-segmented-item`:`relative min-h-9 rounded-lg text-muted-foreground transition-[background-color,color,box-shadow] motion-reduce:transition-none`,!z&&B&&`min-h-11`,!z&&(x===e?`text-foreground hover:bg-transparent hover:text-foreground`:`hover:bg-interactive-hover/40 hover:text-foreground`)),onClick:()=>_e(e),children:[x===e?(0,$.jsx)(un.span,{layoutId:`scheduled-workspace-view-pill`,className:Y(`oc-segmented-selected-pill absolute inset-0`,!z&&`rounded-lg`),transition:{duration:s?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===`tasks`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:Y(z?`oc-mobile-floating-surface oc-mobile-segmented-track oc-mobile-scheduled-controls`:Y(`flex items-center justify-between`,B?`gap-2`:`gap-3`)),children:[(0,$.jsx)(`div`,{className:Y(z?`oc-mobile-segmented-group`:Y(`flex items-center gap-1`,B&&`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`,"data-mobile-press-feedback":z?`none`:void 0,className:Y(z?`oc-mobile-segmented-item`:`relative border-0 bg-transparent text-muted-foreground shadow-none transition-[color,background-color,transform] duration-150 ease-out motion-reduce:transition-none active:scale-[0.97]`,!z&&(B?`h-11 min-h-11 min-w-0 flex-1 rounded-xl px-2`:`!h-9 !min-h-9 rounded-xl px-3`),!z&&(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)(un.span,{layoutId:`scheduled-task-filter-pill`,className:Y(`oc-segmented-selected-pill absolute inset-0`,!z&&`rounded-xl`),transition:{duration:s?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))}),z?(0,$.jsx)(Z,{variant:`ghost`,"data-mobile-press-feedback":`none`,className:`oc-mobile-segmented-action shrink-0 bg-foreground text-background transition-[background-color,transform,box-shadow] duration-150 ease-out hover:bg-foreground/90 hover:text-background hover:shadow-sm active:scale-[0.97] motion-reduce:transition-none`,onClick:pe,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`,className:Y(`shrink-0 rounded-full bg-foreground text-background transition-[background-color,transform,box-shadow] duration-150 ease-out hover:bg-foreground/90 hover:text-background hover:shadow-sm active:scale-[0.97] motion-reduce:transition-none`,B?`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:pe,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(B&&`hidden min-[400px]:inline`),children:a(`sessions.scheduledTasks.dialog.actions.create`)})]})})]}),z?null:(0,$.jsxs)(`div`,{className:Y(`group relative w-full`,B?`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)(Ze,{value:E,onChange:e=>O(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`,B?`h-11 min-h-11`:`!h-9 !min-h-9`)})]})]}):null]})}),(0,$.jsx)(`div`,{className:Y(z?`flex-none overflow-visible pt-[var(--oc-mobile-page-gap)]`:`min-h-0 flex-1 overflow-y-auto`,!z&&(B?`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`,z?`max-w-[26rem]`:`max-w-4xl border-t border-border/40 pt-4`),children:x===`history`?(0,$.jsx)(`div`,{className:`space-y-3`,children:G.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`)]}):G.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:G.error instanceof Error?G.error.message:a(`sessions.scheduledTasks.history.error.description`)})]}),(0,$.jsx)(Z,{variant:`outline`,size:`sm`,onClick:()=>void ye(),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(z?`space-y-4`:B?`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=se.get(e.projectId),n=t?we(t.path):e.projectId,r=e.directory?we(e.directory):null,i=r&&r!==n?`${n} · ${r}`:n,o=xc[e.status],s=!!(e.sessionId&&e.directory),c=bc(yc(e,ae))??(e.status===`running`?a(`sessions.scheduledTasks.history.duration.pending`):null),l=vc(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?He[t.icon]??`folder`:`folder`,h=t?.color?Ge[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)(Le,{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`,B?`size-7`:`size-8`),style:Sc(o.tone),title:f,"aria-label":f,children:(0,$.jsx)(X,{name:o.Icon,className:Y(B?`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`,B?`typography-micro`:`truncate typography-meta`),title:e.directory??n,children:[g,(0,$.jsx)(`span`,{className:Y(`min-w-0`,B?`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`,B?`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`,B?`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`,B?`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`,B&&`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})]})]}),!B&&s?(0,$.jsx)(Z,{variant:`ghost`,size:`sm`,className:`h-7 shrink-0 self-center text-foreground`,onClick:()=>ve(e),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]`,B?`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(B){let t=a(`sessions.scheduledTasks.history.openSession`),n=Y(`oc-mobile-scheduled-task-card w-full`,z?`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,"data-mobile-press-feedback":`none`,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:()=>ve(e),children:b})},e.id):(0,$.jsx)(`article`,{className:Y(n,`p-3`),children:b},e.id)}return(0,$.jsx)(`article`,{className:`w-full min-w-0 px-4 py-3`,children:b},e.id)}),G.error?(0,$.jsxs)(`div`,{className:Y(`flex flex-wrap items-center justify-between gap-2 p-3 typography-meta text-[var(--status-error-foreground)]`,B?`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 ye(),children:a(`sessions.scheduledTasks.history.retry`)})]}):null,G.hasNextPage?(0,$.jsx)(`div`,{className:Y(`flex justify-center`,B?`pt-2`:`border-t border-border/40 px-4 py-3`),children:(0,$.jsxs)(Z,{variant:`outline`,size:`sm`,className:Y(B&&`min-h-11`),disabled:G.isFetchingNextPage,onClick:()=>void G.fetchNextPage(),children:[G.isFetchingNextPage?(0,$.jsx)(X,{name:`loader-4`,className:`size-4 animate-spin motion-reduce:animate-none`}):(0,$.jsx)(X,{name:`history`,className:`size-4`}),G.isFetchingNextPage?a(`sessions.scheduledTasks.history.loadingMore`):a(`sessions.scheduledTasks.history.loadMore`)]})}):null]})}):(0,$.jsxs)($.Fragment,{children:[U.length>0?(0,$.jsx)(`div`,{className:`mb-3 rounded-xl border p-3 typography-meta`,style:Sc(`warning`),children:a(`sessions.scheduledTasks.workspace.partialLoadWarning`)}):null,V.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`)]}):V.error?(0,$.jsx)(`div`,{className:`rounded-xl border border-dashed border-border p-4 typography-meta text-muted-foreground`,children:V.error instanceof Error?V.error.message:a(`sessions.scheduledTasks.dialog.toast.loadFailed`)}):(0,$.jsx)(ln,{initial:!1,mode:`popLayout`,children:Oe.length===0?(0,$.jsx)(un.div,{initial:s?{opacity:0}:{opacity:0,y:4},animate:{opacity:1,y:0},exit:s?{opacity:0}:{opacity:0,y:-4},transition:{duration:s?0:.18,ease:[.22,1,.36,1]},className:`rounded-xl border border-dashed border-border p-4 typography-meta text-muted-foreground`,children:H.length>0?a(`sessions.scheduledTasks.workspace.search.noResults`):a(`sessions.scheduledTasks.dialog.empty.noTasks`)},`empty`):(0,$.jsx)(un.div,{initial:s?{opacity:0}:{opacity:0,y:4},animate:{opacity:1,y:0},exit:s?{opacity:0}:{opacity:0,y:-4},transition:{duration:s?0:.18,ease:[.22,1,.36,1]},className:Y(z?`space-y-4`:`space-y-1`),children:(0,$.jsx)(ln,{initial:!1,mode:`popLayout`,children:Oe.map(e=>{let{projectId:t,task:n}=e,r=Cc({projectId:t,taskId:n.id}),i=_===`edit`&&m!==null&&Cc(m)===r,o=n.state?.nextRunAt,l=n.state?.lastStatus||`idle`,u=xc[l],d=j===r,f=t=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(t,{className:Y(B&&`min-h-11`),onClick:t=>{t.stopPropagation(),Ee(e)},disabled:d,children:[(0,$.jsx)(X,{name:`play`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.runNow`)]}),(0,$.jsxs)(t,{className:Y(B&&`min-h-11`),onClick:t=>{t.stopPropagation(),De(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(),Te(e)},disabled:d,className:Y(`text-destructive focus:text-destructive`,B&&`min-h-11`),children:[(0,$.jsx)(X,{name:`delete-bin`,className:`size-4`}),a(`sessions.scheduledTasks.dialog.actions.delete`)]})]});return(0,$.jsx)(un.div,{layout:`position`,initial:!s&&{opacity:0,y:6},animate:{opacity:1,y:0},exit:s?{opacity:0}:{opacity:0,y:-6},transition:{duration:s?0:.18,ease:[.22,1,.36,1]},"data-mobile-press-surface":z?`soft`:void 0,className:Y(z&&`oc-mobile-floating-surface oc-mobile-project-shell oc-mobile-scheduled-task-card`),children:(0,$.jsxs)(En,{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`,z&&`oc-mobile-project-card`),children:[(0,$.jsxs)(Sn,{render:(0,$.jsx)(`button`,{type:`button`,onClick:()=>fe(e),onContextMenu:!B&&!c?e=>{e.preventDefault(),L(null),F(r)}:void 0,"data-mobile-press-surface-trigger":z?!0:void 0,"data-mobile-press-feedback":z?`none`: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`,z?`oc-mobile-project-trigger oc-mobile-scheduled-task-row border-0 bg-transparent transition-opacity duration-150`:`transition-[background-color,border-color,box-shadow,transform,opacity] duration-150 ease-out active:scale-[0.995]`,B&&!z?`gap-2.5 px-3`:z?void 0:`gap-3 px-4`,!z&&(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`,z?`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)(ln,{initial:!1,mode:`wait`,children:(0,$.jsx)(un.span,{initial:!s&&{opacity:0,scale:.72},animate:{opacity:1,scale:1},exit:s?{opacity:0}:{opacity:0,scale:.72},transition:{duration:s?0:.15},className:`flex`,children:(0,$.jsx)(X,{name:n.enabled?u.Icon:`pause`,className:Y(z?`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`,z?`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`,z?`oc-mobile-project-meta oc-mobile-entity-meta`:`gap-1 typography-micro`),children:[(0,$.jsx)(`span`,{className:`truncate`,children:gc(n,a,!z)}),(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground/50`,children:`·`}),(0,$.jsx)(`span`,{className:`shrink-0 truncate`,children:o?_c(o,a):`—`})]})]})]}),(0,$.jsxs)(vt,{open:I===r,onOpenChange:e=>{e&&F(null),L(e?r:null)},children:[(0,$.jsx)(mt,{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 active:scale-95 data-[popup-open]:bg-interactive-hover motion-reduce:transition-none`,z?`oc-mobile-project-action oc-mobile-scheduled-task-action rounded-full`:`rounded-lg`,z?void 0:B?`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&&!z&&`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:z?`size-5`:`size-4`})})}),(0,$.jsx)(ut,{align:`end`,className:`min-w-40 motion-reduce:transition-none`,onClick:e=>e.stopPropagation(),children:f(ct)})]})]}),(0,$.jsx)(wn,{className:`min-w-40 motion-reduce:transition-none`,children:f(Tn)})]})},r)})})},`tasks`)})]})})})]})]}),c?_===`closed`?null:(0,$.jsx)(`div`,{ref:z?te:void 0,className:Y(z?`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)(dc,{open:!0,presentation:z?`mobile-tab`:B?`mobile-panel`:void 0,task:_===`edit`?ne:null,onOpenChange:be,onSave:Ce,onDirtyChange:A,onRun:async()=>{W&&await Ee(W)},onDelete:async()=>{W&&await Te(W)},onToggleEnabled:async(e,t)=>{W&&await De(W,t)},actionBusy:!!j,projectID:m?.projectId||f,projectOptions:Ae,onProjectChange:_===`create`?p:void 0})}):(0,$.jsx)(ln,{initial:!1,children:_===`closed`?null:(0,$.jsx)(un.div,{initial:s?{opacity:1,width:0}:{opacity:0,width:0,x:24},animate:{opacity:1,width:`clamp(380px, 36vw, 480px)`,x:0},exit:s?{opacity:0,width:0}:{opacity:0,width:0,x:24},transition:{duration:s?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)(dc,{open:!0,presentation:`panel`,task:_===`edit`?ne:null,onOpenChange:be,onSave:Ce,onDirtyChange:A,onRun:async()=>{W&&await Ee(W)},onDelete:async()=>{W&&await Te(W)},onToggleEnabled:async(e,t)=>{W&&await De(W,t)},actionBusy:!!j,projectID:m?.projectId||f,projectOptions:Ae,onProjectChange:_===`create`?p:void 0})})},`scheduled-task-details`)})]})}var Ic={"?":{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`}},Lc=Ic.M;function Rc(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 zc(e){return Ic[Rc(e)]??Lc}var Bc=Q.memo(function(e){let t=(0,jn.c)(61),{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]:(_=zc(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;t[21]===n.path?I=t[22]:(I=(0,$.jsx)(Et,{filePath:n.path,className:`size-3 shrink-0`}),t[21]=n.path,t[22]=I);let L;if(t[23]!==n.path){bb0:{let e=n.path.lastIndexOf(`/`);if(e===-1){let e;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(e={direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},t[25]=e):e=t[25],L=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-code text-foreground`,style:e,title:n.path,children:n.path});break bb0}let r=n.path.slice(0,e),i=n.path.slice(e),a;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(a={direction:`rtl`,textAlign:`left`,unicodeBidi:`plaintext`},t[26]=a):a=t[26];let o;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`/`}),t[27]=o):o=t[27];let s=(0,$.jsx)(`span`,{className:`text-foreground`,children:i.slice(1)}),c;t[28]===s?c=t[29]:(c=(0,$.jsxs)(`span`,{className:`flex-shrink-0 typography-code`,children:[o,s]}),t[28]=s,t[29]=c),L=(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline overflow-hidden`,title:n.path,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate typography-code text-muted-foreground`,style:a,children:r}),c]})}t[23]=n.path,t[24]=L}else L=t[24];let te;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(te={color:`var(--status-success)`},t[30]=te):te=t[30];let R;t[31]===x?R=t[32]:(R=(0,$.jsxs)(`span`,{style:te,children:[`+`,x]}),t[31]=x,t[32]=R);let z,B;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(`span`,{className:`text-muted-foreground mx-0.5`,children:`/`}),B={color:`var(--status-error)`},t[33]=z,t[34]=B):(z=t[33],B=t[34]);let V;t[35]===S?V=t[36]:(V=(0,$.jsxs)(`span`,{style:B,children:[`-`,S]}),t[35]=S,t[36]=V);let H;t[37]!==R||t[38]!==V?(H=(0,$.jsxs)(`span`,{className:`shrink-0 typography-code tabular-nums`,children:[R,z,V]}),t[37]=R,t[38]=V,t[39]=H):H=t[39];let U;t[40]!==F||t[41]!==I||t[42]!==L||t[43]!==H?(U=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[F,I,L,H]}),t[40]=F,t[41]=I,t[42]=L,t[43]=H,t[44]=U):U=t[44];let W;t[45]!==h||t[46]!==A||t[47]!==n.path||t[48]!==O||t[49]!==c||t[50]!==g||t[51]!==y?(W=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)(et,{children:[(0,$.jsx)(Qe,{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)($e,{sideOffset:8,children:y(`gitView.changes.revertFileTooltip`)})]}):null,A]}),t[45]=h,t[46]=A,t[47]=n.path,t[48]=O,t[49]=c,t[50]=g,t[51]=y,t[52]=W):W=t[52];let ne;return t[53]!==w||t[54]!==o||t[55]!==M||t[56]!==N||t[57]!==U||t[58]!==W||t[59]!==j?(ne=(0,$.jsxs)(`div`,{className:j,role:`button`,tabIndex:0,onClick:o,onKeyDown:w,style:M,children:[N,U,W]}),t[53]=w,t[54]=o,t[55]=M,t[56]=N,t[57]=U,t[58]=W,t[59]=j,t[60]=ne):ne=t[60],ne}),Vc=e=>e.replace(/\\/g,`/`).replace(/^\/+/,``).trim(),Hc=(e,t)=>({id:`dir:${e}`,path:e,name:t,children:new Map,directFiles:[],files:[]}),Uc=e=>{let t=Hc(``,``);for(let n of e){let e=Vc(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=Hc(e,t);a.files.push(n),i.children.set(t,a),i=a}}i.directFiles.push(n)}return t},Wc=(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:${Vc(e.path)}`,kind:`file`,depth:i,file:e})};return r(e,0),n},Gc=1e3,Kc=34,qc=30,Jc=`pl-0 pr-2`,Yc=`ml-auto grid shrink-0 grid-flow-col auto-cols-[1.5rem] items-center justify-end`,Xc=`flex size-6 items-center justify-center tabular-nums typography-code text-muted-foreground`,Zc=`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`,Qc=`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`,$c=(e,t)=>`${e} ${t}`,el=({groups:e,diffStats:t,revertingPaths:n,isRevertingAll:r=!1,headerBackgroundClassName:i=`bg-sidebar`,onVisiblePathsChange:a,onRevertAll:s,onRevertDirectory:c,headerActions:l})=>{let{t:u}=ee(),d=Q.useRef(null),f=o(e=>e.gitChangesViewMode),p=o(e=>e.setGitChangesViewMode),m=f===`tree`,h=Q.useMemo(()=>e.filter(e=>e.entries.length>0),[e]),[g,_]=Q.useState(new Set),[v,y]=Q.useState(new Set),[b,x]=Q.useState(!1),[S,C]=Q.useState(null),w=Q.useRef(new Set),T=Q.useMemo(()=>h.map(e=>Uc(e.entries)),[h]),E=Q.useMemo(()=>{let e=new Map;return h.forEach((t,n)=>{let r=[],i=e=>{e.children.forEach(e=>{r.push($c(t.id,e.path)),i(e)})},a=T[n];a&&i(a),e.set(t.id,r)}),e},[T,h]);Q.useEffect(()=>{if(!m){w.current=new Set;return}let e=new Set(Array.from(E.values()).flat()),t=w.current,n=t.size===0&&e.size>0;y(r=>{let i=new Set(r),a=!1;for(let t of i)e.has(t)||(i.delete(t),a=!0);for(let r of e){let e=!t.has(r);(n||e)&&!i.has(r)&&(i.add(r),a=!0)}return a?i:r}),w.current=e},[E,m]);let D=Q.useMemo(()=>{let e=[];return h.forEach((t,n)=>{if(e.push({type:`header`,key:`header:${t.id}`,groupIndex:n}),!g.has(t.id)){if(m){let r=new Set;v.forEach(e=>{e.startsWith(`${t.id} `)&&r.add(e.slice(t.id.length+1))}),Wc(T[n],r).forEach(r=>{r.kind===`file`?e.push({type:`file`,key:`${t.id}:${r.key}`,groupIndex:n,file:r.file,depth:r.depth}):e.push({type:`directory`,key:`${t.id}:${r.key}`,groupIndex:n,directory:r.directory,depth:r.depth})});return}t.entries.forEach(r=>{e.push({type:`file`,key:`${t.id}:file:${r.path}`,groupIndex:n,file:r,depth:0})})}}),s&&h.length>0&&e.push({type:`revert-all`,key:`revert-all`}),e},[g,v,m,s,T,h]),O=h[0]??null,k=Q.useMemo(()=>O?D.filter(e=>e.type!==`header`||e.groupIndex!==0):D,[O,D]),A=k.length,j=A>=Gc,M=Xt({count:A,enabled:j,getScrollElement:()=>d.current,estimateSize:()=>Kc,overscan:12,getItemKey:e=>k[e]?.key??e}),N=M.getVirtualItems(),P=Q.useMemo(()=>{if(!j)return 0;let e=d.current?.scrollTop??0;return N.find(t=>t.end>e)?.index??0},[j,N,d]);Q.useEffect(()=>{if(!a)return;let e=e=>e&&e.type===`file`?e.file.path:null;if(A===0){a([]);return}if(!j){let e=[];for(let t of k)if(t.type===`file`&&(e.push(t.file.path),e.length>=qc))break;a(e);return}a(k.slice(P,P+Math.ceil((d.current?.clientHeight??0)/Kc)+qc).map(t=>e(t)).filter(e=>!!e).slice(0,qc))},[a,A,k,j,P]);let F=Q.useCallback(e=>{_(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),I=Q.useCallback((e,t)=>{y(n=>{let r=new Set(n),i=$c(e,t);return r.has(i)?r.delete(i):r.add(i),r})},[]),L=Q.useCallback(e=>{let t=E.get(e)??[];y(e=>{let n=new Set(e);return t.forEach(e=>n.add(e)),n})},[E]),te=Q.useCallback(e=>{let t=E.get(e)??[];y(e=>{let n=new Set(e);return t.forEach(e=>n.delete(e)),n})},[E]),R=Q.useMemo(()=>{let e=new Set;return h.forEach(t=>t.entries.forEach(t=>e.add(t.path))),Array.from(e)},[h]),z=R.length,B=S?r||S.paths.some(e=>n.has(e)):!1,V=Q.useCallback(async()=>{!s||r||R.length===0||(await s(R),x(!1))},[R,r,s]),H=Q.useCallback(async()=>{!c||!S||B||(await c(S.paths),C(null))},[B,c,S]),U=Q.useCallback((e,t={})=>{let{pinned:n=!1,showToolbar:r=!1}=t,a=g.has(e.id),o=e.entries.length,s=E.get(e.id)??[],c=s.length>0&&s.every(e=>v.has(e)),d=u(c?`diffView.actions.collapseAll`:`diffView.actions.expandAll`),f=u(m?`settings.openchamber.git.option.flatList`:`settings.openchamber.git.option.treeView`);return(0,$.jsxs)(`div`,{className:Y(`flex h-8 items-center gap-0`,n?`shrink-0`:`sticky top-0 z-10`,i,Jc,!n&&`mt-3`),children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>F(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":!a,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:o}),(0,$.jsx)(X,{name:`arrow-down-s`,className:Y(`size-3 shrink-0 text-muted-foreground transition-transform`,a&&`-rotate-90`)})]}),(0,$.jsxs)(`div`,{className:Yc,children:[m?(0,$.jsx)(`button`,{type:`button`,onClick:()=>{if(c){te(e.id);return}L(e.id)},className:Qc,"aria-label":d,title:d,children:(0,$.jsx)(X,{name:c?`contract-up-down`:`expand-up-down`,className:`size-3.5`})}):null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>p(m?`flat`:`tree`),"aria-label":f,title:f,"aria-pressed":m,className:Qc,children:(0,$.jsx)(X,{name:m?`node-tree`:`list-unordered`,className:`size-3.5`})}),r?l:null,(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onActionAll(e.entries.map(e=>e.path)),className:Zc,"aria-label":e.actionAllLabel,title:e.actionAllLabel,children:e.actionSymbol})]})]})},[te,g,E,L,v,l,i,m,p,u,F]),W=Q.useCallback((e,t,i)=>{let a=v.has($c(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`,Jc),style:{paddingLeft:`${i*14}px`},children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>I(e.id,t.path),className:`flex min-w-0 flex-1 items-center gap-1.5 rounded text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":u(a?`gitView.changes.collapseDirectoryAria`:`gitView.changes.expandDirectoryAria`,{path:t.path}),children:[a?(0,$.jsx)(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:Yc,children:[(0,$.jsx)(`span`,{className:Xc,children:t.files.length}),l?(0,$.jsx)(`button`,{type:`button`,onClick:()=>C({path:t.path,paths:o,count:o.length}),disabled:s,className:Qc,"aria-label":u(`gitView.changes.revertDirectoryAria`,{path:t.path}),title:u(`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:Zc,"aria-label":u(e.actionSymbol===`+`?`gitView.changes.stageDirectoryAria`:`gitView.changes.unstageDirectoryAria`,{path:t.path}),title:u(e.actionSymbol===`+`?`gitView.changes.stageDirectoryAria`:`gitView.changes.unstageDirectoryAria`,{path:t.path}),children:e.actionSymbol})]})]})},[v,r,c,n,u,I]),ne=Q.useCallback(e=>{if(e.type===`revert-all`)return(0,$.jsx)(`div`,{className:Y(`flex justify-end py-2`,Jc),children:(0,$.jsxs)(Z,{variant:`ghost`,size:`sm`,onClick:()=>x(!0),disabled:r,className:`gap-1.5 text-[var(--status-error)] hover:bg-[var(--status-error)]/10 hover:text-[var(--status-error)]`,children:[(0,$.jsx)(X,{name:`arrow-go-back`,className:`size-3.5`}),u(`gitView.changes.revertAll`)]})});let i=h[e.groupIndex];if(!i)return null;if(e.type===`header`)return U(i,{showToolbar:!1});if(e.type===`directory`)return W(i,e.directory,e.depth);let a=e.file;return(0,$.jsx)(Bc,{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:Jc,indentPx:e.depth*14,actionAtStart:!1,showRevert:i.showRevertActions!==!1})},[t,r,W,U,n,u,h]),G=Q.useCallback(e=>{let t=k[e],n=k[e-1];return!t||!n||t.type!==`file`&&t.type!==`directory`||n.type!==`file`&&n.type!==`directory`?!1:n.groupIndex===t.groupIndex},[k]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 w-full flex-col overflow-hidden`,children:[O?(0,$.jsx)(`div`,{className:Y(`shrink-0`,i),children:U(O,{pinned:!0,showToolbar:!0})}):null,(0,$.jsx)(Ue,{ref:d,className:`overlay-scrollbar-target overlay-scrollbar-container min-h-0 w-full flex-1 overflow-x-hidden overflow-y-auto`,children:j?(0,$.jsx)(`div`,{style:{height:M.getTotalSize(),position:`relative`},children:N.map(e=>{let t=k[e.index];return t?(0,$.jsx)(`div`,{"data-index":e.index,ref:M.measureElement,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`},className:Y(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:ne(t)},t.key):null})}):(0,$.jsx)(`div`,{role:`list`,"aria-label":u(`gitView.changes.changedFilesAria`),children:k.map((e,t)=>(0,$.jsx)(`div`,{className:Y(`relative`,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:ne(e)},e.key))})}),(0,$.jsx)(St,{containerRef:d,disableHorizontal:!0})]}),(0,$.jsx)(Ae,{open:b,onOpenChange:e=>{!r&&!e&&x(!1)},children:(0,$.jsxs)(De,{className:`max-w-md`,children:[(0,$.jsxs)(Te,{children:[(0,$.jsx)(Oe,{children:u(`gitView.changes.revertAllDialogTitle`)}),(0,$.jsx)(ke,{children:u(z===1?`gitView.changes.revertAllDescriptionSingle`:`gitView.changes.revertAllDescriptionPlural`,{count:z})})]}),(0,$.jsxs)(Ee,{children:[(0,$.jsx)(Z,{variant:`outline`,size:`sm`,onClick:()=>x(!1),disabled:r,children:u(`gitView.common.cancel`)}),(0,$.jsx)(Z,{variant:`destructive`,size:`sm`,onClick:()=>void V(),disabled:r,children:u(r?`gitView.changes.reverting`:`gitView.changes.revertAll`)})]})]})}),(0,$.jsx)(Ae,{open:!!S,onOpenChange:e=>{!B&&!e&&C(null)},children:(0,$.jsxs)(De,{className:`max-w-md`,children:[(0,$.jsxs)(Te,{children:[(0,$.jsx)(Oe,{children:u(`gitView.changes.revertDirectoryDialogTitle`)}),(0,$.jsx)(ke,{children:S?S.count===1?u(`gitView.changes.revertDirectoryDescriptionSingle`,{count:S.count,path:S.path}):u(`gitView.changes.revertDirectoryDescriptionPlural`,{count:S.count,path:S.path}):null})]}),(0,$.jsxs)(Ee,{children:[(0,$.jsx)(Z,{variant:`outline`,size:`sm`,onClick:()=>C(null),disabled:B,children:u(`gitView.common.cancel`)}),(0,$.jsx)(Z,{variant:`destructive`,size:`sm`,onClick:()=>void H(),disabled:B||!S,children:u(B?`gitView.changes.reverting`:`gitView.changes.revertDirectory`)})]})]})})]})},tl=38,nl=200,rl=e=>{let t=(0,jn.c)(20),{value:n,onChange:r,placeholder:i,disabled:a,hasTouchInput:s,isMobile:c}=e,l=a!==void 0&&a,u=s!==void 0&&s,d=c!==void 0&&c,{t:f}=ee(),p=Q.useRef(null),m=o(il),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=`${tl}px`;let n=e.scrollHeight,r=Math.min(Math.max(n,tl),nl);e.style.height=`${r}px`,e.style.overflowY=n>nl?`auto`:`hidden`,n>nl&&!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:tl,maxHeight:nl},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 il(e){return e.inputSpellcheckEnabled}var al=e=>{let t=(0,jn.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)(Qe,{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)($e,{sideOffset:8,children:f}),t[15]=f,t[16]=p);let m;t[17]!==d||t[18]!==p?(m=(0,$.jsxs)(et,{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(ol),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 ol(e,t){return(0,$.jsx)(`li`,{className:`typography-meta text-foreground`,children:e},`${e}-${t}`)}var sl=e=>{let t=(0,jn.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}=xt(),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)(al,{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)(rl,{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)(et,{children:[(0,$.jsx)(Qe,{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)($e,{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 te=!y||c,R;t[46]===g?R=t[47]:(R=g(`gitView.commit.commitAria`),t[46]=g,t[47]=R);let z;t[48]!==d||t[49]!==g?(z=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]=z):z=t[50];let B;t[51]!==l||t[52]!==te||t[53]!==R||t[54]!==z?(B=(0,$.jsx)(Z,{size:`sm`,variant:`outline`,onClick:l,disabled:te,className:`commit-actions__btn whitespace-nowrap`,"aria-label":R,children:z}),t[51]=l,t[52]=te,t[53]=R,t[54]=z,t[55]=B):B=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)(et,{children:[(0,$.jsx)(Qe,{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)($e,{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]!==B||t[66]!==V?(H=(0,$.jsxs)(`div`,{className:`@container/commit-actions flex items-center gap-2 min-w-0`,children:[F,I,L,B,V]}),t[63]=F,t[64]=I,t[65]=B,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 W;return t[72]!==U||t[73]!==T?(W=(0,$.jsxs)(`section`,{className:`border-0 bg-transparent rounded-none`,children:[T,U]}),t[72]=U,t[73]=T,t[74]=W):W=t[74],W},cl=()=>{let e=q.getState(),t=e.currentSessionId,n=o.getState();xo({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})},ll=()=>{E(),b.reconnectToRuntimeBaseUrl(),R.setState({catalogTransportIdentity:n()}),ve()},ul=e=>{q.getState().prepareForRuntimeSwitch(e.previousRuntimeKey),o.getState().prepareForRuntimeSwitch(e.previousRuntimeKey),e.previousRuntimeKey&&le.getState().stopRunningRunsForRuntime(e.previousRuntimeKey),E(),b.reconnectToRuntimeBaseUrl(),R.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}),re.getState().resetForRuntimeSwitch(),W.getState().resetForRuntimeSwitch(),ne.getState().reset(),yn(),q.getState().restoreForRuntimeSwitch(e.runtimeKey),o.getState().restoreForRuntimeSwitch(e.runtimeKey),cl(),ve()};export{ar as A,zr as C,Sr as D,Ar as E,Jn as M,qn as N,Cr as O,Vn as P,oi as S,Ir as T,ra as _,kc as a,Zi as b,Wo as c,ko as d,Ga as f,oa as g,la as h,el as i,ir as j,lr as k,Uo as l,ca as m,ul as n,Fc as o,sa as p,sl as r,fs as s,ll as t,Fo as u,na as v,ei as w,si as x,Qi as y};
|