@openchambery/web 1.18.2-beta.2 → 1.18.2-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AgentAvatar-B2kZjgaf.js → AgentAvatar-B4fj9PIe.js} +1 -1
- package/dist/assets/{AssistantView-DvoyOGkx.js → AssistantView-C00aiEHK.js} +1 -1
- package/dist/assets/{ChatContainer-D6yfuigV.js → ChatContainer-BDFeDKu-.js} +39 -39
- package/dist/assets/{DiagramView-MGGo9iME.js → DiagramView-CUfSFI3e.js} +1 -1
- package/dist/assets/{FadeInOnReveal-aeWlaqVB.js → FadeInOnReveal-CKKU6fKI.js} +1 -1
- package/dist/assets/{Icon-AXqa-fYB.js → Icon-DiIuWOuC.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-jVOkZkyX.js → MarkdownRendererImpl-Cen6E9Lj.js} +2 -2
- package/dist/assets/{MobileDetailNavigation-Q2IzHqGA.js → MobileDetailNavigation-DILi0tN7.js} +1 -1
- package/dist/assets/{MobileShareBridge-apXM34Lb.js → MobileShareBridge-PZMRiieI.js} +1 -1
- package/dist/assets/MobileSurface-BLYcR0tO.js +2 -0
- package/dist/assets/{MultiRunWindow-B-l_O-bd.js → MultiRunWindow-D_2mWZyv.js} +1 -1
- package/dist/assets/{OnboardingScreen-CUsgwt4y.js → OnboardingScreen-CYeRZznl.js} +1 -1
- package/dist/assets/{OverlayScrollbar-D6NySAxi.js → OverlayScrollbar-BgMLtMIq.js} +1 -1
- package/dist/assets/SettingsView-CbDBfQp1.js +25 -0
- package/dist/assets/{SettingsWindow-DfVgTQ4I.js → SettingsWindow-Br7XLcSd.js} +1 -1
- package/dist/assets/{TerminalView-DNyjfkvT.js → TerminalView-CM5jRKlj.js} +1 -1
- package/dist/assets/{ToolOutputDialog-DLG1iThm.js → ToolOutputDialog-D3U6aTZ4.js} +1 -1
- package/dist/assets/appThemeRegistry-CDxBJNNB.js +2 -0
- package/dist/assets/assistant-guide-hero-BeUHQcxE.jpg +0 -0
- package/dist/assets/{button-CDvMVaiO.js → button-DaAoVF4X.js} +1 -1
- package/dist/assets/{clipboard-BW7nk_Cx.js → clipboard-BnElHSnO.js} +1 -1
- package/dist/assets/{collapsible-C2aamDvD.js → collapsible-BmuQu0dq.js} +1 -1
- package/dist/assets/{context-menu-BaxmodD8.js → context-menu-DBOMervd.js} +1 -1
- package/dist/assets/{desktopHosts-CBoBpJ1Z.js → desktopHosts-ZK_vkdzL.js} +1 -1
- package/dist/assets/{desktopRelayRestore-l2R9muux.js → desktopRelayRestore-CewM6-g5.js} +1 -1
- package/dist/assets/{diagram-CEon0BQs.js → diagram-DAE4CZy2.js} +1 -1
- package/dist/assets/{dialog-DjYfj1Sn.js → dialog-COrLBm9O.js} +1 -1
- package/dist/assets/{es-5Lhudh0n.js → es-DIVYdoxi.js} +1 -1
- package/dist/assets/{fileQueries-CE_DaZWQ.js → fileQueries-CmWYnRVz.js} +1 -1
- package/dist/assets/{fr-Q_UhFmKT.js → fr-CNTlVypq.js} +2 -2
- package/dist/assets/{gitApi-BYxg_qGJ.js → gitApi-BQT3QXD2.js} +1 -1
- package/dist/assets/gitApiHttp-BxGAFLTf.js +2 -0
- package/dist/assets/{input-k9DGGyZ6.js → input-XiL2-2gG.js} +1 -1
- package/dist/assets/insertionBoundaries-9a0RuIDc.js +1 -0
- package/dist/assets/{ja-CzMPz7bT.js → ja-C_eW5ZM8.js} +1 -1
- package/dist/assets/{ko-B-EslUsR.js → ko-CE3cOv7v.js} +1 -1
- package/dist/assets/{main-LDphyc-v.js → main-BGfX81Y9.js} +20 -20
- package/dist/assets/{main-CO6z5yRB.js → main-CEqSDnE2.js} +2 -2
- package/dist/assets/{markdown-worker-DkeWiER6.js → markdown-worker-BDyY0vt6.js} +1 -1
- package/dist/assets/{markdownTheme-DNT93i5L.js → markdownTheme-D-aLQZaM.js} +1 -1
- package/dist/assets/{miniChat-BZQwTZpx.js → miniChat-CKucSAhg.js} +2 -2
- package/dist/assets/mobile-C4bTWKry.js +2 -0
- package/dist/assets/{multirun-ZlwlkIy5.js → multirun-DeNtSkgb.js} +1 -1
- package/dist/assets/{persistence-DPNMIbF5.js → persistence-D1lIuyqO.js} +1 -1
- package/dist/assets/{pl-Dnea6Ppc.js → pl-BZKZOE99.js} +1 -1
- package/dist/assets/projectMeta-BunN9pH5.js +3 -0
- package/dist/assets/{pt-BR-Ca6QTem7.js → pt-BR-DHDgp8S3.js} +1 -1
- package/dist/assets/{radio-CJuhbQ5a.js → radio-Bziafaje.js} +1 -1
- package/dist/assets/renderElectronMiniChatApp-D8-FDgWE.js +2 -0
- package/dist/assets/renderMobileApp-CdU0aJ-e.js +23 -0
- package/dist/assets/{runtimeConfig-BtWi74Pm.js → runtimeConfig-BXCt7ZsQ.js} +1 -1
- package/dist/assets/runtimeEndpointReset-CK1GhIsm.js +145 -0
- package/dist/assets/{sortable-tabs-strip-D8JHUI0z.js → sortable-tabs-strip-pWlBorwQ.js} +1 -1
- package/dist/assets/src-8kQFmtjw.css +2 -0
- package/dist/assets/{store-wa1ersRf.js → store-CUWqzRt7.js} +2 -2
- package/dist/assets/{terminalApi-tB3qLcfa.js → terminalApi-DpiAJlil.js} +1 -1
- package/dist/assets/{tooltip-DMNR5rN0.js → tooltip-BLugzWq-.js} +1 -1
- package/dist/assets/{uk-xGc9Pzge.js → uk-CfQK6cz1.js} +1 -1
- package/dist/assets/{url-7MqoLs9X.js → url-DMs_PgIC.js} +1 -1
- package/dist/assets/useAppFontEffects-IEUQDvE8.js +7 -0
- package/dist/assets/useDesktopWindowControlsLayout-MlqJX89k.js +1 -0
- package/dist/assets/{useEffectiveDirectory-aUC3zzl_.js → useEffectiveDirectory-GbhkdO6m.js} +1 -1
- package/dist/assets/{useFontPreferences-CIurCeNv.js → useFontPreferences-92Qg-98H.js} +1 -1
- package/dist/assets/useMobileNavigationStore-DQHF_ETu.js +476 -0
- package/dist/assets/useSessionAutoCleanup-BuU_S_Sh.js +1 -0
- package/dist/assets/{useWorkerHighlightedLines-CiYQjBe6.js → useWorkerHighlightedLines-Ca6OgNHF.js} +1 -1
- package/dist/assets/{utils-Co19EJEL.js → utils-BxJEIWv5.js} +1 -1
- package/dist/assets/{zh-CN-sL4ktGB3.js → zh-CN-DvY2fKWp.js} +1 -1
- package/dist/assets/{zh-TW-Cfxps4gq.js → zh-TW-eWe0lm3-.js} +1 -1
- package/dist/index.html +8 -8
- package/dist/mini-chat.html +8 -8
- package/dist/mobile.html +8 -8
- package/package.json +1 -1
- package/server/index.d.ts +6 -0
- package/server/index.js +13 -0
- package/server/lib/config-sync/DOCUMENTATION.md +70 -0
- package/server/lib/config-sync/config-sync.test.js +197 -0
- package/server/lib/config-sync/constants.js +39 -0
- package/server/lib/config-sync/contract.js +130 -0
- package/server/lib/config-sync/credential-auth.js +39 -0
- package/server/lib/config-sync/engine.js +108 -0
- package/server/lib/config-sync/index.js +67 -0
- package/server/lib/config-sync/local-backup.js +171 -0
- package/server/lib/config-sync/plan.js +318 -0
- package/server/lib/config-sync/receiver.js +330 -0
- package/server/lib/config-sync/routes.js +141 -0
- package/server/lib/config-sync/routes.test.js +154 -0
- package/server/lib/config-sync/scripts.js +264 -0
- package/server/lib/config-sync/selections.js +112 -0
- package/server/lib/config-sync/tar.js +35 -0
- package/server/lib/config-sync/target-id.js +24 -0
- package/server/lib/event-stream/DOCUMENTATION.md +2 -2
- package/server/lib/event-stream/diff-summary.js +39 -11
- package/server/lib/event-stream/diff-summary.test.js +73 -6
- package/server/lib/event-stream/protocol.test.js +70 -7
- package/server/lib/notifications/DOCUMENTATION.md +2 -2
- package/server/lib/notifications/runtime.js +68 -27
- package/server/lib/notifications/runtime.test.js +176 -0
- package/server/lib/opencode/DOCUMENTATION.md +4 -1
- package/server/lib/opencode/bootstrap-runtime.js +2 -0
- package/server/lib/opencode/core-routes.js +1 -0
- package/server/lib/opencode/feature-routes-runtime.test.js +10 -1
- package/server/lib/opencode/openchamber-routes.js +7 -0
- package/server/lib/opencode/settings-runtime.js +82 -51
- package/server/lib/opencode/settings-runtime.test.js +42 -0
- package/server/lib/relay/DOCUMENTATION.md +1 -1
- package/server/lib/session-index/DOCUMENTATION.md +12 -6
- package/server/lib/session-index/routes.js +34 -0
- package/server/lib/session-index/routes.test.js +76 -0
- package/server/lib/session-index/service.js +53 -4
- package/server/lib/session-index/service.test.js +72 -2
- package/server/lib/session-title/DOCUMENTATION.md +19 -14
- package/server/lib/session-title/runtime.js +8 -8
- package/server/lib/session-title/runtime.test.js +231 -0
- package/server/lib/session-turn-pages/DOCUMENTATION.md +26 -6
- package/server/lib/session-turn-pages/changes.service.js +156 -0
- package/server/lib/session-turn-pages/changes.service.test.js +188 -0
- package/server/lib/session-turn-pages/reconcile.routes.test.js +52 -0
- package/server/lib/session-turn-pages/reconcile.service.js +3 -1
- package/server/lib/session-turn-pages/reconcile.service.test.js +44 -0
- package/server/lib/session-turn-pages/routes.js +273 -12
- package/server/lib/session-turn-pages/routes.test.js +387 -0
- package/server/lib/session-turn-pages/service.js +31 -7
- package/server/lib/session-turn-pages/service.test.js +40 -0
- package/server/lib/small-model/DOCUMENTATION.md +93 -38
- package/server/lib/small-model/catalog.js +10 -2
- package/server/lib/small-model/catalog.test.js +3 -1
- package/server/lib/small-model/index.js +52 -28
- package/server/lib/small-model/opencode-session.js +339 -0
- package/server/lib/small-model/opencode-session.test.js +177 -0
- package/server/lib/small-model/resolve.js +116 -5
- package/server/lib/small-model/resolve.test.js +76 -10
- package/server/lib/small-model/summary-settings.test.js +60 -3
- package/dist/assets/MobileSurface-htGkf7Ua.js +0 -2
- package/dist/assets/SettingsView-DxMpVLlt.js +0 -25
- package/dist/assets/appThemeRegistry-CgfOR_0L.js +0 -2
- package/dist/assets/gitApiHttp-D8j1qRH4.js +0 -2
- package/dist/assets/insertionBoundaries-DzXMTleb.js +0 -1
- package/dist/assets/mobile-BktO3_4R.js +0 -2
- package/dist/assets/projectMeta-v-LP2mzz.js +0 -3
- package/dist/assets/renderElectronMiniChatApp-Db8uO-6q.js +0 -2
- package/dist/assets/renderMobileApp-BCV81Ryl.js +0 -23
- package/dist/assets/runtimeEndpointReset-Dg3DMy9v.js +0 -145
- package/dist/assets/src-oHrYIqHF.css +0 -2
- package/dist/assets/useAppFontEffects-CM0VKsdo.js +0 -7
- package/dist/assets/useDesktopWindowControlsLayout-Cq-r4Hcb.js +0 -1
- package/dist/assets/useMobileNavigationStore-DnzT4jO2.js +0 -475
- package/dist/assets/useSessionAutoCleanup-DxZeceKO.js +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-D3U6aTZ4.js","assets/rolldown-runtime-C0FnF6B9.js","assets/useUIStore-5agS8bsW.js","assets/vendor-zustand-B4dlGEM2.js","assets/vendor-base-ui-CnHfUmDN.js","assets/persistence-D1lIuyqO.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-react-DLPElpoQ.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/vendor-reactuses-core-DDoDDyM9.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/clipboard-BnElHSnO.js","assets/store-CUWqzRt7.js","assets/vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js","assets/utils-BxJEIWv5.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/Icon-DiIuWOuC.js","assets/dialog-COrLBm9O.js","assets/button-DaAoVF4X.js","assets/useThemeSystem-DMzWVJaW.js","assets/markdownTheme-D-aLQZaM.js","assets/vendor-pierre-diffs-BenIz2TM.js","assets/vendor-hast-util-to-html-B0p1k5Xa.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-DpDied8H.js","assets/appThemeRegistry-CDxBJNNB.js","assets/useMobileNavigationStore-DQHF_ETu.js","assets/gitApiHttp-BxGAFLTf.js","assets/vendor-opencode-sdk-C07HQypa.js","assets/vendor-tanstack-react-query-D7pys_c9.js","assets/vendor-sonner-DVzioF3d.js","assets/useAssistantUIStore-Bq3cPj2x.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/markdown-worker-BDyY0vt6.js","assets/useEffectiveDirectory-GbhkdO6m.js","assets/useWorkerHighlightedLines-Ca6OgNHF.js","assets/tooltip-BLugzWq-.js","assets/vendor-tanstack-react-virtual-tlDgH6PG.js","assets/vendor-capacitor-app-PzT84wSx.js","assets/vendor-capacitor-push-notifications-DB3-G2vL.js","assets/vendor-capacitor-status-bar-DeAGEDuY.js","assets/vendor-capacitor-keyboard-BkRQ-Kv-.js","assets/gitApi-BQT3QXD2.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{A as t,D as n,F as r,M as i,W as a,Z as o,b as s,j as c,t as l,w as u}from"./useUIStore-5agS8bsW.js";import{$ as d,Sn as f,kn as p,kt as m,n as h,t as g,xn as _}from"./persistence-D1lIuyqO.js";import{a as v,i as y}from"./vendor-zustand-B4dlGEM2.js";import{nt as b,rt as x}from"./vendor-base-ui-CnHfUmDN.js";import{kt as S,yt as C}from"./gitApiHttp-BxGAFLTf.js";import{a as w,n as T,o as E}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{n as D,t as O}from"./vendor-react-DLPElpoQ.js";/* empty css */import{r as k}from"./vendor-sonner-DVzioF3d.js";import{n as A}from"./vendor-reactuses-core-DDoDDyM9.js";import{i as j,n as ee,t as M}from"./clipboard-BnElHSnO.js";import{n as N}from"./store-CUWqzRt7.js";import{Ao as P,En as te,Fa as F,Fr as I,Gt as L,I as R,It as z,Ji as B,Lt as V,Mo as H,Na as U,Pa as W,Qt as ne,Sa as re,Sr as ie,Wt as G,Xi as ae,_r as oe,br as se,cr as ce,en as le,fr as ue,go as K,gr as de,hr as fe,ii as pe,in as me,jo as he,kn as ge,kt as _e,l as q,lr as ve,mr as ye,r as be,rn as xe,t as Se,ta as Ce,tn as we,vr as J,xa as Y,xr as Te,yr as Ee,zt as De}from"./useMobileNavigationStore-DQHF_ETu.js";import{a as Oe,c as ke,d as Ae,f as je,l as Me,o as Ne,p as Pe,t as Fe,u as Ie}from"./MobileShareBridge-PZMRiieI.js";import{_ as Le,t as Re,y as ze}from"./MobileDetailNavigation-DILi0tN7.js";import{i as Be,r as Ve}from"./useAssistantUIStore-Bq3cPj2x.js";import{t as He}from"./AgentAvatar-B4fj9PIe.js";import{t as X}from"./utils-BxJEIWv5.js";import{n as Z}from"./Icon-DiIuWOuC.js";import{t as Ue}from"./button-DaAoVF4X.js";import{F as We,I as Ge,M as Ke,N as qe,p as Je}from"./gitApi-BQT3QXD2.js";import{B as Ye,C as Xe,G as Ze,H as Qe,K as $e,Q as et,R as tt,S as nt,U as rt,V as it,W as at,i as ot,o as st,q as ct,r as lt,s as ut,t as dt,z as ft}from"./useAppFontEffects-IEUQDvE8.js";import{D as pt,E as mt,a as ht,c as gt,i as _t,j as vt,n as yt,p as bt}from"./projectMeta-BunN9pH5.js";import{t as xt}from"./input-XiL2-2gG.js";import{r as St}from"./tooltip-BLugzWq-.js";import{c as Ct,f as wt,o as Tt,p as Et,s as Dt,u as Ot}from"./useSessionAutoCleanup-BuU_S_Sh.js";import{n as kt}from"./useThemeSystem-DMzWVJaW.js";import{D as At,E as jt,N as Mt,O as Nt,Q as Pt,Z as Ft,_ as It,b as Lt,y as Rt}from"./radio-Bziafaje.js";import{a as zt,n as Bt}from"./OverlayScrollbar-BgMLtMIq.js";import{x as Vt}from"./markdownTheme-D-aLQZaM.js";import{H as Ht,M as Ut,U as Wt,j as Gt,m as Kt,q as qt,y as Jt,z as Yt}from"./ChatContainer-BDFeDKu-.js";import{n as Xt}from"./useRuntimeAPIs-DSLXJybW.js";import{c as Zt,i as Qt,l as $t,o as en,s as tn,t as nn,u as rn}from"./appThemeRegistry-CDxBJNNB.js";import{a as an}from"./url-DMs_PgIC.js";import{f as on,h as sn,p as cn}from"./markdown-worker-BDyY0vt6.js";import{n as ln}from"./useEffectiveDirectory-GbhkdO6m.js";import{f as un}from"./FadeInOnReveal-CKKU6fKI.js";import{M as dn,b as fn,g as pn,x as mn,y as hn}from"./insertionBoundaries-9a0RuIDc.js";import{a as gn}from"./vendor-pierre-diffs-BenIz2TM.js";import{B as _n,I as vn,J as yn,X as bn,Y as xn,Z as Sn,_ as Cn,a as wn,b as Tn,i as En,n as Dn,o as On,p as kn,r as An,t as jn,v as Mn}from"./MobileSurface-BLYcR0tO.js";import{t as Nn}from"./useFontPreferences-92Qg-98H.js";import{A as Pn,B as Fn,C as In,D as Ln,E as Rn,I as zn,L as Bn,R as Vn,S as Hn,T as Un,V as Wn,_ as Gn,a as Kn,b as qn,c as Jn,f as Yn,g as Xn,h as Zn,i as Qn,j as $n,l as er,m as tr,n as nr,o as rr,p as ir,r as ar,s as or,t as sr,u as cr,v as lr,w as ur,x as dr,y as fr}from"./runtimeEndpointReset-CK1GhIsm.js";import{a as pr,c as mr,i as hr,l as gr,o as _r,r as vr,s as yr,t as br}from"./SettingsView-CbDBfQp1.js";import{a as xr,i as Sr,n as Cr,r as wr,t as Tr}from"./context-menu-DBOMervd.js";import{r as Er,t as Dr}from"./AssistantView-C00aiEHK.js";import{a as Or,i as kr,r as Ar}from"./fileQueries-CmWYnRVz.js";var Q=e(x(),1),jr=O(),Mr=null,Nr=!1,Pr=new Promise(e=>{Mr=e});function Fr(){Nr||(Nr=!0,Mr?.())}var Ir=6,Lr=e=>e.parentID??null,Rr=e=>{let t=e.replace(/\/+$/,``);return t.slice(t.lastIndexOf(`/`)+1)||t},zr=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``),Br=(e,t)=>{if(!e)return``;let n=null,r=-1;for(let i of t){let t=zr(i.path);(e===t||e.startsWith(`${t}/`))&&t.length>r&&(n=i,r=t.length)}return Rr(n?n.path:e)},Vr=()=>{let e=fe.getState().activeSessions,t=te.getState().index.session.unseenCount,n=K.getState().projects,r=0,i=[];for(let a of e){let e=Lr(a)!==null,o=(t[a.id]??0)>0&&!e;o&&(r+=1),e||i.push({id:a.id,title:a.title??``,updated:a.time?.updated??a.time?.created??0,unread:o,project:Br(ue(a),n)})}i.sort((e,t)=>t.updated-e.updated);let a=i.slice(0,Ir).map(({id:e,title:t,unread:n,project:r})=>({id:e,title:t,unread:n,project:r}));return{attentionCount:r,recentSessions:a}},Hr=`__OPENCHAMBER_WIDGET_SNAPSHOT__`,Ur=()=>{typeof window>`u`||(window[Hr]=()=>{try{return JSON.stringify(Vr())}catch{return null}})},Wr=D(),Gr=w(`OpenChamberExternalBrowser`),Kr={getPlatform:()=>T.getPlatform(),isPluginAvailable:e=>T.isPluginAvailable(e),openInSystemBrowser:e=>Gr.open(e),openExternal:an},qr=async(e,t=Kr)=>{if(t.getPlatform()===`android`){if(!t.isPluginAvailable(`OpenChamberExternalBrowser`))return!1;try{return await t.openInSystemBrowser({url:e}),!0}catch{return!1}}return t.openExternal(e)},$=b(),Jr=`mobile-app-update-available`,Yr=`mobile-app-update-toast-dismissed-version`,Xr=()=>{let e=(0,Wr.c)(8),{t}=ee(),n=_n(Zr),r=_n(Qr),i=_n($r),a=_n(ei),o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=new Set,e[0]=o):o=e[0];let c=Q.useRef(o),l,u;return e[1]!==n||e[2]!==a||e[3]!==r||e[4]!==t||e[5]!==i?(l=()=>{if(P()!==`android`||r!==`mobile`||!n||!i||!a){J.dismiss(Jr);return}s().getItem(Yr)!==i&&(c.current.has(i)||(c.current.add(i),J.info(t(`mobileUpdate.toast.available.title`),{id:Jr,description:t(`mobileUpdate.toast.available.description`,{version:i}),duration:1/0,icon:(0,$.jsx)(Z,{name:`download`,className:`h-4 w-4 text-muted-foreground`}),action:{label:t(`mobileUpdate.toast.actions.download`),onClick:()=>{qr(a)}},cancel:{label:t(`mobileUpdate.toast.actions.dismiss`),onClick:()=>{s().setItem(Yr,i),J.dismiss(Jr)}}})))},u=[n,a,r,t,i],e[1]=n,e[2]=a,e[3]=r,e[4]=t,e[5]=i,e[6]=l,e[7]=u):(l=e[6],u=e[7]),Q.useEffect(l,u),null};function Zr(e){return e.available}function Qr(e){return e.runtimeType}function $r(e){return e.info?.version}function ei(e){return e.info?.downloadUrl}var ti=e=>{let t=(0,Wr.c)(20),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({children:n,className:r,contentClassName:i,style:o,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s;t[6]===r?s=t[7]:(s=X(`oc-mobile-header relative z-30 shrink-0 border-b border-border/30 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80`,r),t[6]=r,t[7]=s);let c;t[8]===o?c=t[9]:(c={paddingTop:`var(--oc-safe-area-top, 0px)`,...o},t[8]=o,t[9]=c);let l;t[10]===i?l=t[11]:(l=X(`flex h-[var(--oc-header-height,56px)] w-full items-center gap-1 px-2`,i),t[10]=i,t[11]=l);let u;t[12]!==n||t[13]!==l?(u=(0,$.jsx)(`div`,{className:l,children:n}),t[12]=n,t[13]=l,t[14]=u):u=t[14];let d;return t[15]!==a||t[16]!==s||t[17]!==c||t[18]!==u?(d=(0,$.jsx)(`header`,{className:s,style:c,...a,children:u}),t[15]=a,t[16]=s,t[17]=c,t[18]=u,t[19]=d):d=t[19],d},ni=`.oc-mobile-composer`;function ri(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.closest==`function`&&!!t.closest(ni)}function ii(e){if(!e||typeof e!=`object`||ri(e))return!1;let t=e,n=typeof t.tagName==`string`?t.tagName.toUpperCase():``;return n===`TEXTAREA`||n===`INPUT`||t.isContentEditable===!0}function ai(e){return ri(e??null)}function oi(e,t){return e?`cache`:ri(t??null)?`open`:ii(t??null)?`field`:`ignore`}var si=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/g,``),ci=e=>{let t=e.index?.trim();return!!(t&&t!==`?`)},li=e=>{let t=e.working_dir?.trim(),n=e.index?.trim();return!!(t||n===`?`)},ui=(e,t)=>t?`${e}\u0000staged`:e,di=({onClose:e,initialDiffPath:t,initialDiffStaged:n=!1,initialDiffTargetLine:r=null,hideDiffHeader:i=!1})=>{let{t:a}=ee(),{git:o}=Xt(),s=si(ln()??null),c=hn(s||null),l=mn(s||null),u=pn(s||null),d=fn(e=>e.setActiveDirectory),f=fn(e=>e.ensureAll),p=fn(e=>e.fetchStatus),m=fn(e=>e.fetchBranches),h=fn(e=>e.prefetchDiffs),g=fn(e=>e.getDiff),_=fn(e=>e.setDiff),[v,y]=Q.useState(()=>t?{type:`diff`,path:t,staged:n,targetLine:r}:{type:`list`}),b=Q.useRef(null);Q.useEffect(()=>{t&&y(e=>e.type===`diff`&&e.path===t&&e.staged===n&&e.targetLine===r?e:{type:`diff`,path:t,staged:n,targetLine:r})},[t,n,r]);let[x,S]=Q.useState(null),[C,w]=Q.useState(null),[T,E]=Q.useState(``),[D,O]=Q.useState(new Set),[k,j]=Q.useState(!1),[M,N]=Q.useState(!1),[P,te]=Q.useState([]),[F,I]=Q.useState([]),[L,R]=Q.useState([]),[z,B]=Q.useState(null),[V,H]=Q.useState({key:null,loading:!1,error:null,resolved:!1}),[U,W]=Q.useState(0),ne=Q.useRef({key:null,generation:0}),[re,ie]=Q.useState(!1),G=Qn(c)&&!re,ae=Q.useMemo(()=>{let e=c?.files??[];if(G)return[];let t=new Map;for(let n of e)t.set(n.path,n);return Array.from(t.values()).sort((e,t)=>e.path.localeCompare(t.path))},[c?.files,G]),oe=Q.useMemo(()=>ae.filter(ci),[ae]),se=Q.useMemo(()=>ae.filter(li),[ae]),{deferredStagedCount:ce,deferredUnstagedCount:le}=Q.useMemo(()=>{if(!G||!c)return{deferredStagedCount:0,deferredUnstagedCount:0};let e=0,t=0;for(let n of c.files??[])ci(n)&&(e+=1),li(n)&&(t+=1);return{deferredStagedCount:e,deferredUnstagedCount:t}},[G,c]),ue=Q.useMemo(()=>{if(L.length>0)return L;let e=c?.tracking?.includes(`/`)?c.tracking.split(`/`)[0]:null;return e||z?[{name:e||`origin`,fetchUrl:z??``,pushUrl:z??``}]:[]},[z,L,c?.tracking]),K=Q.useMemo(()=>e=>!s||v.type!==`diff`?null:e.directories.get(s)?.diffCache.get(ui(v.path,v.staged))??null,[s,v]),de=fn(K),fe=Q.useMemo(()=>v.type===`diff`?ae.find(e=>e.path===v.path)??null:null,[ae,v]),pe=v.type===`diff`&&s?`${s}\u0000${ui(v.path,v.staged)}`:null,me=V.key===pe,he=!!(pe&&!de&&(!me||V.loading)),ge=me?V.error:null,_e=!!(fe||me&&V.resolved),q=A(async(e,t=!0)=>{try{await Promise.all([p(e,o),m(e,o)])}catch(e){t&&J.error(e instanceof Error?e.message:a(`gitView.toast.refreshRepositoryFailed`))}}),ve=A(async(e,t,n)=>{let r=()=>ne.current.key===t&&ne.current.generation===n;try{let[t,n]=await Promise.all([o.getRemotes(e).catch(()=>[]),o.getRemoteUrl?o.getRemoteUrl(e).catch(()=>null):Promise.resolve(null)]);if(!r())return;R(t),B(n)}catch{if(!r())return;R([]),B(null)}}),ye=A(e=>{if(e!==s)return{requestGeneration:null,promise:Promise.resolve()};let t=ne.current.generation+1;return ne.current={key:e,generation:t},{requestGeneration:t,promise:ve(e,e,t)}});Q.useEffect(()=>{s&&(d(s),f(s,o))},[s,f,o,d]),Q.useEffect(()=>{if(!s){ne.current={key:null,generation:ne.current.generation+1},R([]),B(null);return}let{requestGeneration:e,promise:t}=ye(s);return()=>{e!==null&&ne.current.key===s&&ne.current.generation===e&&(ne.current={key:s,generation:e+1})}},[s,o,ye]),Q.useEffect(()=>{if(!s||ae.length===0)return;let e=Array.from(new Set([...oe.map(e=>e.path),...F,...ae.slice(0,20).map(e=>e.path)])).filter(Boolean);if(e.length===0)return;let t=window.setTimeout(()=>{h(s,o,e,{maxFiles:40})},120);return()=>window.clearTimeout(t)},[ae,s,o,h,oe,F]),Q.useEffect(()=>{if(v.type!==`diff`){H({key:null,loading:!1,error:null,resolved:!1});return}let e=ui(v.path,v.staged);if(!s||!pe){H({key:null,loading:!1,error:null,resolved:!1});return}if(g(s,e)){H(e=>({key:pe,loading:!1,error:null,resolved:e.key===pe&&e.resolved||!!fe}));return}let t=!1;return H({key:pe,loading:!0,error:null,resolved:!1}),o.getGitFileDiff(s,{path:v.path,staged:v.staged||void 0}).then(n=>{t||(_(s,e,{original:n.original??``,modified:n.modified??``,isBinary:n.isBinary}),H(e=>e.key===pe?{...e,loading:!1,error:null,resolved:!0}:e))}).catch(e=>{t||H(t=>t.key===pe?{...t,loading:!1,error:e instanceof Error?e.message:String(e),resolved:!1}:t)}),()=>{t=!0}},[pe,s,U,g,o,v,fe,_]);let be=async(e,t)=>{if(!s)return;let n=s;S(e);try{let r=e=>{let t=`${e.name}/`,n=c?.tracking?.startsWith(t)?c.tracking.slice(t.length):void 0;return{remote:e.name,branch:n,rebase:!0}};if(e===`fetch`){if(!t)throw Error(a(`mobile.changes.noRemote`));await o.gitFetch(n,{remote:t.name}),J.success(a(`gitView.toast.fetchedFromRemote`,{name:t.name}))}else if(e===`sync`){if(!t)throw Error(a(`mobile.changes.noRemote`));await o.gitFetch(n,{remote:t.name});let e=await o.getGitStatus(n);if((e.behind??0)>0){if((e.files?.length??0)>0){J.error(a(`gitView.toast.commitOrStashBeforeSync`));return}await o.gitPull(n,r(t))}((await o.getGitStatus(n)).ahead??0)>0&&await o.gitPush(n),J.success(a(`gitView.toast.alreadyUpToDate`))}await q(n,!1),await ye(n).promise}catch(e){J.error(e instanceof Error?e.message:a(`gitView.toast.syncActionFailed`,{action:a(`gitView.sync.syncChanges`)}))}finally{S(null)}},xe=A(async(e,t)=>{if(!s||e.length===0)return;let n=s;try{t===`stage`?e.length>1?await qe(n,e):await Ke(n,e[0]):e.length>1?await Ge(n,e):await We(n,e[0]),await q(n,!1)}catch(e){J.error(e instanceof Error?e.message:a(t===`stage`?`gitView.toast.stageFileFailed`:`gitView.toast.unstageFileFailed`))}}),Se=A((e,t=!1)=>{y({type:`diff`,path:e,staged:t,targetLine:null})}),Ce=A(()=>v.type===`diff`&&(y({type:`list`}),!0));Zt({id:`mobile-changes-diff`,active:v.type===`diff`&&!i,layer:`overlay`,onBack:Ce,surfaceRef:b});let we=A(async e=>{if(!s)return;let t=s;O(t=>new Set(t).add(e));try{await o.revertGitFile(t,e),J.success(a(`gitView.toast.revertedFile`,{path:e})),await q(t,!1)}catch(e){J.error(e instanceof Error?e.message:a(`gitView.toast.revertFailed`))}finally{O(t=>{let n=new Set(t);return n.delete(e),n})}}),Y=A(async e=>{if(!s||e.length===0||k)return;let t=s,n=Array.from(new Set(e));j(!0),O(new Set(n));try{await Promise.all(n.map(e=>o.revertGitFile(t,e))),await q(t,!1),J.success(n.length===1?a(`gitView.toast.revertedFilesSingle`,{count:n.length}):a(`gitView.toast.revertedFilesPlural`,{count:n.length}))}catch(e){J.error(e instanceof Error?e.message:a(`gitView.toast.revertFailed`))}finally{O(new Set),j(!1)}}),Te=A(e=>{let t=e.map(e=>e.trim()).filter(Boolean);if(t.length===0){te([]);return}E(e=>`${e.trim()}${e.trim()?`
|
|
3
|
+
|
|
4
|
+
`:``}${t.join(`
|
|
5
|
+
`)}`.trim()),te([])}),Ee=A(async()=>{if(!s)return;let e=s,t=oe.map(e=>e.path).sort();if(t.length===0){J.error(a(`gitView.toast.selectFileToDescribe`));return}N(!0);try{let{message:n}=await Je(e,t);E(n.subject?.trim()??``),te(Array.isArray(n.highlights)?n.highlights:[])}catch(e){J.error(e instanceof Error?e.message:a(`gitView.toast.generateCommitMessageFailed`))}finally{N(!1)}}),De=async(e={})=>{if(!s)return;let t=s;if(!T.trim()){J.error(a(`gitView.toast.enterCommitMessage`));return}let n=oe.map(e=>e.path).sort();if(n.length===0){J.error(a(`gitView.toast.selectFileToCommit`));return}w(e.pushAfter?`commitAndPush`:`commit`);try{if(await o.createGitCommit(t,T.trim(),{files:n}),J.success(a(`gitView.toast.commitCreated`)),E(``),te([]),e.pushAfter){let e=c?.tracking?.split(`/`)[0],n=ue.find(t=>t.name===e)??ue[0];if(!n)throw Error(a(`mobile.changes.noRemote`));S(`sync`);let r=`${n.name}/`,i=c?.tracking?.startsWith(r)?c.tracking.slice(r.length):void 0;await o.gitFetch(t,{remote:n.name}),((await o.getGitStatus(t)).behind??0)>0&&await o.gitPull(t,{remote:n.name,branch:i,rebase:!0}),((await o.getGitStatus(t)).ahead??0)>0&&await o.gitPush(t),await q(t,!1),await ye(t).promise}else await q(t,!1)}catch(e){J.error(e instanceof Error?e.message:a(`gitView.toast.createCommitFailed`))}finally{w(null),e.pushAfter&&S(null)}},Oe=Q.useMemo(()=>{let e=[];return oe.length>0&&e.push({id:`staged`,title:a(`gitView.changes.stagedTitle`),entries:oe,actionSymbol:`-`,actionAllLabel:a(`gitView.changes.unstageAllAria`),getActionLabel:e=>a(`gitView.changes.unstageFileAria`,{path:e}),onActionFile:e=>void xe([e],`unstage`),onActionAll:e=>void xe(e,`unstage`),onViewDiff:e=>Se(e,!0),onRevertFile:we,showRevertActions:!1,accent:!0}),se.length>0&&e.push({id:`unstaged`,title:a(`gitView.changes.title`),entries:se,actionSymbol:`+`,actionAllLabel:a(`gitView.changes.stageAllAria`),getActionLabel:e=>a(`gitView.changes.stageFileAria`,{path:e}),onActionFile:e=>void xe([e],`stage`),onActionAll:e=>void xe(e,`stage`),onViewDiff:e=>Se(e,!1),onRevertFile:we}),e},[we,Se,xe,oe,a,se]),ke=t=>(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background text-foreground`,children:[i?null:(0,$.jsxs)(`header`,{className:`flex h-[var(--oc-header-height,56px)] shrink-0 items-center gap-2 px-3 text-foreground`,children:[e?(0,$.jsx)(`button`,{type:`button`,className:`-ml-1 flex size-10 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":a(`mobile.surface.closeAria`),onClick:e,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`close`,className:`size-5`})}):null,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 px-1`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label text-foreground`,children:a(`mobile.nav.changes`)}),(0,$.jsx)(`p`,{className:`truncate typography-micro text-muted-foreground`,children:c?.current||s||``})]})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:t})]});return s?u&&l===null?ke((0,$.jsx)(fi,{loading:!0,message:a(`gitView.loading.checkingRepository`)})):l===!1?ke((0,$.jsx)(fi,{icon:!0,message:a(`gitView.empty.notGitRepository`),description:a(`gitView.empty.notGitRepositoryDescription`)})):v.type===`diff`?(0,$.jsx)(`div`,{ref:b,className:`h-full min-h-0`,children:(0,$.jsx)(pi,{path:v.path,diff:de,fileExists:_e,error:ge,loading:he,targetLine:v.targetLine,onBack:Ce,onRetry:()=>W(e=>e+1),hideHeader:i})}):(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background text-foreground`,children:[(0,$.jsxs)(`header`,{className:`flex h-[var(--oc-header-height,56px)] shrink-0 items-center gap-2 px-3 text-foreground`,children:[e?(0,$.jsx)(`button`,{type:`button`,className:`-ml-1 flex size-10 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":a(`mobile.surface.closeAria`),onClick:e,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`close`,className:`size-5`})}):null,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 px-1`,children:[(0,$.jsx)(`h2`,{className:`typography-ui-label text-foreground`,children:a(`mobile.nav.changes`)}),(0,$.jsx)(`p`,{className:`truncate typography-micro text-muted-foreground`,children:c?.current||s})]}),(0,$.jsx)(cr,{syncAction:x,remotes:ue,onSync:e=>void be(`sync`,e),disabled:C!==null||u,aheadCount:c?.ahead??0,behindCount:c?.behind??0,trackingRemoteName:c?.tracking?.split(`/`)[0],hasUncommittedChanges:(c?.files?.length??0)>0})]}),G?(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(Kn,{stagedCount:ce,unstagedCount:le,onLoad:()=>ie(!0)})}):ae.length>0?(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden px-4 pt-4`,children:(0,$.jsx)(rr,{groups:Oe,diffStats:c?.diffStats,revertingPaths:D,onRevertAll:Y,isRevertingAll:k,headerBackgroundClassName:`bg-transparent`,onVisiblePathsChange:I})}),(0,$.jsx)(`div`,{className:`shrink-0 border-t border-border/50 px-4 pb-4 pt-3`,children:(0,$.jsx)(ar,{stagedCount:oe.length,commitMessage:T,onCommitMessageChange:E,generatedHighlights:P,onInsertHighlights:Te,onGenerateMessage:Ee,isGeneratingMessage:M,onCommit:()=>void De({pushAfter:!1}),onCommitAndPush:()=>void De({pushAfter:!0}),commitAction:C,gitmojiEnabled:!1,onOpenGitmojiPicker:()=>{}})})]}):(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(fi,{icon:!0,message:a(`gitView.empty.cleanTitle`),description:a(`mobile.changes.cleanDescription`)})})]}):ke((0,$.jsx)(fi,{message:a(`gitView.empty.selectSessionOrDirectory`)}))},fi=e=>{let t=(0,Wr.c)(13),{message:n,description:r,loading:i,icon:a}=e,o=i!==void 0&&i,s=a!==void 0&&a,c;t[0]===o?c=t[1]:(c=o?(0,$.jsx)(Z,{name:`loader-4`,className:`size-5 animate-spin text-muted-foreground`}):null,t[0]=o,t[1]=c);let l;t[2]===s?l=t[3]:(l=s?(0,$.jsx)(Z,{name:`git-branch`,className:`size-6 text-muted-foreground`}):null,t[2]=s,t[3]=l);let u;t[4]===n?u=t[5]:(u=(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold text-foreground`,children:n}),t[4]=n,t[5]=u);let d;t[6]===r?d=t[7]:(d=r?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:r}):null,t[6]=r,t[7]=d);let f;return t[8]!==c||t[9]!==l||t[10]!==u||t[11]!==d?(f=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center`,children:(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center gap-2`,children:[c,l,u,d]})}),t[8]=c,t[9]=l,t[10]=u,t[11]=d,t[12]=f):f=t[12],f},pi=e=>{let t=(0,Wr.c)(20),{path:n,diff:r,fileExists:i,error:a,loading:o,targetLine:s,onBack:c,onRetry:l,hideHeader:u}=e,d=u!==void 0&&u,{t:f}=ee(),p;t[0]===n?p=t[1]:(p=cn(n)||`text`,t[0]=n,t[1]=p);let m=p,h;t[2]!==d||t[3]!==c||t[4]!==n||t[5]!==f?(h=d?null:(0,$.jsxs)(`header`,{className:`flex h-[var(--oc-header-height,56px)] shrink-0 items-center gap-3 border-b border-border/50 px-3 text-foreground`,children:[(0,$.jsx)(`button`,{type:`button`,className:`flex size-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":f(`header.actions.backAria`),onClick:c,children:(0,$.jsx)(Z,{name:`arrow-left`,className:`size-5`})}),(0,$.jsx)(`div`,{className:`min-w-0 flex-1 px-2`,children:(0,$.jsx)(`h2`,{className:`truncate typography-ui-header text-foreground`,children:n})})]}),t[2]=d,t[3]=c,t[4]=n,t[5]=f,t[6]=h):h=t[6];let g;t[7]!==r||t[8]!==a||t[9]!==i||t[10]!==m||t[11]!==o||t[12]!==l||t[13]!==n||t[14]!==f||t[15]!==s?(g=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:a?(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center`,children:(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center gap-3`,children:[(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold text-foreground`,children:f(`mobile.changes.diffDetail.loadFailed`)}),(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:a}),(0,$.jsx)(Ue,{type:`button`,size:`sm`,variant:`outline`,onClick:l,children:f(`diffView.actions.retry`)})]})}):o?(0,$.jsx)(fi,{loading:!0,message:f(`diffView.state.loadingDiff`)}):i?r?r.isBinary?(0,$.jsx)(fi,{icon:!0,message:f(`diffView.binary.unavailable`)}):sn(n)?(0,$.jsx)(fi,{icon:!0,message:f(`mobile.changes.diffDetail.imageUnavailable`)}):(0,$.jsx)(vt,{className:`h-full overflow-y-auto overflow-x-hidden p-3 pwa-overlay-scroll`,"data-diff-virtual-root":!0,"data-diff-virtual-content":!0,children:(0,$.jsx)($n,{original:r.original,modified:r.modified,language:m,fileName:n,renderSideBySide:!1,wrapLines:!0,focusLine:s,layout:`inline`})}):(0,$.jsx)(fi,{loading:!0,message:f(`diffView.state.loadingDiff`)}):(0,$.jsx)(fi,{icon:!0,message:f(`mobile.changes.diffDetail.missingTitle`),description:f(`mobile.changes.diffDetail.missingDescription`)})}),t[7]=r,t[8]=a,t[9]=i,t[10]=m,t[11]=o,t[12]=l,t[13]=n,t[14]=f,t[15]=s,t[16]=g):g=t[16];let _;return t[17]!==h||t[18]!==g?(_=(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background text-foreground`,children:[h,g]}),t[17]=h,t[18]=g,t[19]=_):_=t[19],_},mi=rn(()=>E(()=>import(`./ToolOutputDialog-D3U6aTZ4.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45]))),hi=25e4,gi=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/g,``),_i=e=>{let t=gi(e);return!t||t===`/`?t||`/`:t.split(`/`).filter(Boolean).at(-1)??t},vi=e=>{let t=gi(e);if(!t||t===`/`)return null;let n=t.lastIndexOf(`/`);return n<=0?t.startsWith(`/`)?`/`:null:t.slice(0,n)},yi=(e,t)=>{let n=gi(e),r=gi(t);return!r||n===r?_i(n):n.startsWith(`${r}/`)?n.slice(r.length+1):n},bi=e=>{if(typeof e!=`number`||!Number.isFinite(e)||e<0)return``;if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024;for(let e of t){if(n<1024||e===t[t.length-1])return`${n.toFixed(n>=10?0:1)} ${e}`;n/=1024}return``},xi=e=>e.toLowerCase().endsWith(`.svg`)?``:r().authenticatedAsset(`/api/fs/raw`,{path:e}),Si=e=>/\.(md|mdx|markdown)$/i.test(e),Ci=e=>{let t=(0,Wr.c)(138),{onClose:n,initialFilePath:r,directFilePreview:i,hideFileHeader:a}=e,o=r===void 0?null:r,s=i!==void 0&&i,c=a!==void 0&&a,{t:u}=ee(),{files:d}=Xt(),f=ln()??null,p;t[0]===f?p=t[1]:(p=gi(f),t[0]=f,t[1]=p);let m=p,h;t[2]!==o||t[3]!==m?(h=()=>{let e=gi(o);return e?{type:`file`,path:e,returnDirectory:vi(e)??m}:{type:`browser`,directory:m}},t[2]=o,t[3]=m,t[4]=h):h=t[4];let[g,_]=Q.useState(h),v=Q.useRef(null),[y,b]=Q.useState(``),x=l(ki),S=l(Ai),C,w;t[5]===m?(C=t[6],w=t[7]):(C=()=>{m&&_(e=>e.type===`file`?e.returnDirectory?e:{...e,returnDirectory:vi(e.path)??m}:e.type===`browser`&&e.directory?e:{type:`browser`,directory:m})},w=[m],t[5]=m,t[6]=C,t[7]=w),Q.useEffect(C,w);let T,E;t[8]!==x||t[9]!==m||t[10]!==S?(E=()=>{if(!x||!m)return;let e=gi(x);if(!e){S(null);return}b(``),_({type:`file`,path:e,returnDirectory:vi(e)??m}),S(null)},T=[x,m,S],t[8]=x,t[9]=m,t[10]=S,t[11]=T,t[12]=E):(T=t[11],E=t[12]),Q.useEffect(E,T);let D=g.type===`browser`?g.directory:g.returnDirectory,O=g.type===`browser`?g.directory:``,k=g.type===`file`?g.path:``,j=dn(y,250),N;t[13]===y?N=t[14]:(N=y.trim(),t[13]=y,t[14]=N);let P=N,te;t[15]===j?te=t[16]:(te=j.trim(),t[15]=j,t[16]=te);let F=te,I;t[17]!==O||t[18]!==m?(I={scopeDirectory:m,directory:O},t[17]=O,t[18]=m,t[19]=I):I=t[19];let L=!!O,R;t[20]===L?R=t[21]:(R={enabled:L,refetchOnMount:`always`},t[20]=L,t[21]=R);let z=kr(I,R),B;t[22]!==O||t[23]!==F?(B={directory:O,query:F,maxResults:40},t[22]=O,t[23]=F,t[24]=B):B=t[24];let V=!!(O&&F),H;t[25]===V?H=t[26]:(H={enabled:V},t[25]=V,t[26]=H);let U=Or(B,H),W;t[27]!==k||t[28]!==d?(W=k&&d.readFile&&(!sn(k)||k.toLowerCase().endsWith(`.svg`)),t[27]=k,t[28]=d,t[29]=W):W=t[29];let ne=!!W,re;t[30]!==k||t[31]!==m?(re={scopeDirectory:m,path:k},t[30]=k,t[31]=m,t[32]=re):re=t[32];let ie;t[33]===ne?ie=t[34]:(ie={enabled:ne},t[33]=ne,t[34]=ie);let G=Ar(re,ie),ae=z.data?.entries.slice().sort(ji)??[],oe;t[35]!==z.error||t[36]!==u?(oe=z.error?z.error instanceof Error?z.error.message:u(`mobile.files.error.listFailed`):null,t[35]=z.error,t[36]=u,t[37]=oe):oe=t[37];let se=oe,ce=z.isFetching,le;t[38]===U.data?le=t[39]:(le=U.data??[],t[38]=U.data,t[39]=le);let ue=le,K=!!(P&&F&&y===j&&U.isFetching),de;t[40]!==G.data||t[41]!==u?(de=G.data&&G.data.length>hi?`${G.data.slice(0,hi)}\n\n${u(`mobile.files.file.truncated`)}`:G.data??``,t[40]=G.data,t[41]=u,t[42]=de):de=t[42];let fe=de,pe;t[43]!==k||t[44]!==G.error||t[45]!==d||t[46]!==u?(pe=k&&!d.readFile?u(`mobile.files.error.readUnavailable`):G.error?G.error instanceof Error?G.error.message:u(`filesView.error.readFileFailed`):null,t[43]=k,t[44]=G.error,t[45]=d,t[46]=u,t[47]=pe):pe=t[47];let me=pe,he=ne&&G.isFetching,ge;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(ge=e=>{b(``),_({type:`browser`,directory:e})},t[48]=ge):ge=t[48];let _e=ge,q;t[49]!==D||t[50]!==m?(q=e=>{_({type:`file`,path:e,returnDirectory:D||m})},t[49]=D,t[50]=m,t[51]=q):q=t[51];let ve=q,ye;t[52]!==s||t[53]!==n||t[54]!==g.returnDirectory||t[55]!==g.type?(ye=()=>g.type===`file`?s?(n?.(),!0):(_({type:`browser`,directory:g.returnDirectory}),!0):!1,t[52]=s,t[53]=n,t[54]=g.returnDirectory,t[55]=g.type,t[56]=ye):ye=t[56];let be=A(ye),xe=g.type===`file`,Se;t[57]!==be||t[58]!==xe?(Se={id:`mobile-files-detail`,active:xe,layer:`overlay`,onBack:be,surfaceRef:v},t[57]=be,t[58]=xe,t[59]=Se):Se=t[59],Zt(Se);let Ce;t[60]===u?Ce=t[61]:(Ce=async e=>{(await M(e)).ok||J.error(u(`mobile.files.toast.copyFailed`))},t[60]=u,t[61]=Ce);let we=Ce,Y;t[62]!==fe||t[63]!==u?(Y=async()=>{(await M(fe)).ok?J.success(u(`mobile.files.toast.contentCopied`)):J.error(u(`mobile.files.toast.copyFailed`))},t[62]=fe,t[63]=u,t[64]=Y):Y=t[64];let Te=Y;if(!m){let e;t[65]===u?e=t[66]:(e=u(`mobile.files.empty.noDirectory`),t[65]=u,t[66]=e);let n;return t[67]===e?n=t[68]:(n=(0,$.jsx)(Oi,{message:e}),t[67]=e,t[68]=n),n}if(g.type===`file`){let e;t[69]!==we||t[70]!==g.path?(e=()=>void we(g.path),t[69]=we,t[70]=g.path,t[71]=e):e=t[71];let n;t[72]===Te?n=t[73]:(n=()=>void Te(),t[72]=Te,t[73]=n);let r;return t[74]!==be||t[75]!==fe||t[76]!==me||t[77]!==c||t[78]!==he||t[79]!==g.path||t[80]!==e||t[81]!==n?(r=(0,$.jsx)(`div`,{ref:v,className:`h-full min-h-0`,children:(0,$.jsx)(Ei,{path:g.path,content:fe,error:me,isLoading:he,hideHeader:c,onBack:be,onCopyPath:e,onCopyContent:n})}),t[74]=be,t[75]=fe,t[76]=me,t[77]=c,t[78]=he,t[79]=g.path,t[80]=e,t[81]=n,t[82]=r):r=t[82],r}let Ee;t[83]!==m||t[84]!==g.directory||t[85]!==u?(Ee=g.directory===m?u(`mobile.files.rootDirectory`):_i(g.directory),t[83]=m,t[84]=g.directory,t[85]=u,t[86]=Ee):Ee=t[86];let De=Ee,Oe;t[87]!==y||t[88]!==ue?(Oe=y.trim()?ue:[],t[87]=y,t[88]=ue,t[89]=Oe):Oe=t[89];let ke=Oe,Ae,je,Me,Ne;if(t[90]!==n||t[91]!==y||t[92]!==m||t[93]!==g.directory||t[94]!==u){let e=vi(g.directory),r=g.directory!==m&&e!==null&&(e===m||e.startsWith(`${m}/`)),i=r&&!y.trim(),a=r?e:null;Ne=`flex h-full flex-col overflow-hidden bg-background text-foreground`,Ae=`flex h-[var(--oc-header-height,56px)] shrink-0 items-center gap-2 px-3 text-foreground`,t[99]!==n||t[100]!==u?(je=n?(0,$.jsx)(`button`,{type:`button`,className:`-ml-1 flex size-10 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":u(`mobile.surface.closeAria`),onClick:n,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`close`,className:`size-5`})}):null,t[99]=n,t[100]=u,t[101]=je):je=t[101],Me=i&&a?(0,$.jsx)(`button`,{type:`button`,className:`flex size-10 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":u(`mobile.files.backToParentAria`,{name:_i(a)}),onClick:()=>_e(a),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`arrow-left`,className:`size-5`})}):null,t[90]=n,t[91]=y,t[92]=m,t[93]=g.directory,t[94]=u,t[95]=Ae,t[96]=je,t[97]=Me,t[98]=Ne}else Ae=t[95],je=t[96],Me=t[97],Ne=t[98];let Pe;t[102]===De?Pe=t[103]:(Pe=(0,$.jsx)(`div`,{className:`min-w-0 flex-1 px-1`,children:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label text-foreground`,children:De})}),t[102]=De,t[103]=Pe);let Fe;t[104]===u?Fe=t[105]:(Fe=u(`mobile.files.refreshAria`),t[104]=u,t[105]=Fe);let Ie;t[106]===z?Ie=t[107]:(Ie=()=>void z.refetch(),t[106]=z,t[107]=Ie);let Le;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(Le={touchAction:`manipulation`},t[108]=Le):Le=t[108];let Re=ce&&`animate-spin`,ze;t[109]===Re?ze=t[110]:(ze=X(`size-5`,Re),t[109]=Re,t[110]=ze);let Be;t[111]===ze?Be=t[112]:(Be=(0,$.jsx)(Z,{name:`refresh`,className:ze}),t[111]=ze,t[112]=Be);let Ve;t[113]!==Fe||t[114]!==Ie||t[115]!==Be?(Ve=(0,$.jsx)(`button`,{type:`button`,className:`flex size-10 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":Fe,onClick:Ie,style:Le,children:Be}),t[113]=Fe,t[114]=Ie,t[115]=Be,t[116]=Ve):Ve=t[116];let He;t[117]!==Ae||t[118]!==je||t[119]!==Me||t[120]!==Pe||t[121]!==Ve?(He=(0,$.jsxs)(`header`,{className:Ae,children:[je,Me,Pe,Ve]}),t[117]=Ae,t[118]=je,t[119]=Me,t[120]=Pe,t[121]=Ve,t[122]=He):He=t[122];let Ue;t[123]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,$.jsx)(Z,{name:`search`,className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),t[123]=Ue):Ue=t[123];let We;t[124]===Symbol.for(`react.memo_cache_sentinel`)?(We=e=>b(e.target.value),t[124]=We):We=t[124];let Ge;t[125]===u?Ge=t[126]:(Ge=u(`mobile.files.search.placeholder`),t[125]=u,t[126]=Ge);let Ke;t[127]!==y||t[128]!==Ge?(Ke=(0,$.jsx)(`div`,{className:`shrink-0 px-4 pb-2 pt-1`,"data-mobile-sheet-no-dismiss":``,children:(0,$.jsxs)(`div`,{className:`relative`,children:[Ue,(0,$.jsx)(xt,{type:`text`,inputMode:`search`,value:y,onChange:We,placeholder:Ge,className:`h-11 pl-9`})]})}),t[127]=y,t[128]=Ge,t[129]=Ke):Ke=t[129];let qe=vt,Je=se?(0,$.jsx)(Oi,{message:se}):y.trim()?(0,$.jsx)(Ti,{results:ke,isSearching:K,onOpenFile:ve}):(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-2xl border border-border/40 bg-[var(--surface-elevated)]`,children:[ae.length===0&&!ce?(0,$.jsx)(`div`,{className:`px-4 py-8 text-center typography-body text-muted-foreground`,children:u(`mobile.files.empty.directory`)}):null,ae.map(e=>(0,$.jsx)(wi,{name:e.name,path:e.path,directory:e.isDirectory,meta:e.isDirectory?void 0:bi(e.size),onClick:()=>e.isDirectory?_e(e.path):ve(e.path)},e.path))]}),Ye;t[130]!==qe||t[131]!==Je?(Ye=(0,$.jsx)(qe,{className:`overlay-scrollbar-container min-h-0 flex-1 overflow-y-auto px-4 pb-3`,children:Je}),t[130]=qe,t[131]=Je,t[132]=Ye):Ye=t[132];let Xe;return t[133]!==Ne||t[134]!==He||t[135]!==Ke||t[136]!==Ye?(Xe=(0,$.jsxs)(`div`,{className:Ne,children:[He,Ke,Ye]}),t[133]=Ne,t[134]=He,t[135]=Ke,t[136]=Ye,t[137]=Xe):Xe=t[137],Xe},wi=e=>{let t=(0,Wr.c)(16),{name:n,path:r,directory:i,meta:a,onClick:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={touchAction:`manipulation`},t[0]=s):s=t[0];let c;t[1]!==i||t[2]!==r?(c=i?(0,$.jsx)(Z,{name:`folder-3-fill`,className:`size-5 shrink-0 text-muted-foreground`}):(0,$.jsx)(Wt,{filePath:r,className:`size-5 shrink-0`}),t[1]=i,t[2]=r,t[3]=c):c=t[3];let l;t[4]===n?l=t[5]:(l=(0,$.jsx)(`span`,{className:`block min-w-0 flex-1 truncate typography-ui-label text-foreground`,children:n}),t[4]=n,t[5]=l);let u;t[6]===a?u=t[7]:(u=a?(0,$.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground`,children:a}):null,t[6]=a,t[7]=u);let d;t[8]===i?d=t[9]:(d=i?(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4 shrink-0 text-muted-foreground/60`}):null,t[8]=i,t[9]=d);let f;return t[10]!==o||t[11]!==c||t[12]!==l||t[13]!==u||t[14]!==d?(f=(0,$.jsxs)(`button`,{type:`button`,className:`flex min-h-14 w-full items-center gap-3 border-b border-border/30 px-3 py-2.5 text-left transition-colors last:border-b-0 hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset`,onClick:o,style:s,children:[c,l,u,d]}),t[10]=o,t[11]=c,t[12]=l,t[13]=u,t[14]=d,t[15]=f):f=t[15],f},Ti=e=>{let t=(0,Wr.c)(10),{results:n,isSearching:r,onOpenFile:i}=e,{t:a}=ee(),o=gi(ln()??null);if(r){let e;t[0]===a?e=t[1]:(e=a(`common.loading`),t[0]=a,t[1]=e);let n;return t[2]===e?n=t[3]:(n=(0,$.jsx)(Oi,{loading:!0,message:e}),t[2]=e,t[3]=n),n}if(n.length===0){let e;t[4]===a?e=t[5]:(e=a(`mobile.files.search.empty`),t[4]=a,t[5]=e);let n;return t[6]===e?n=t[7]:(n=(0,$.jsx)(Oi,{message:e}),t[6]=e,t[7]=n),n}let s=n.map(e=>(0,$.jsx)(wi,{name:_i(e.path),path:e.path,directory:!1,meta:yi(e.path,o),onClick:()=>i(e.path)},e.path)),c;return t[8]===s?c=t[9]:(c=(0,$.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-border/40 bg-[var(--surface-elevated)]`,children:s}),t[8]=s,t[9]=c),c},Ei=e=>{let t=(0,Wr.c)(59),{path:r,content:i,error:s,isLoading:c,hideHeader:l,onBack:d,onCopyPath:f,onCopyContent:m}=e,h=l!==void 0&&l,{t:g}=ee(),_=sn(r)&&!r.toLowerCase().endsWith(`.svg`)?r:``,v;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(v=n(),t[0]=v):v=t[0];let y=v,b;t[1]===_?b=t[2]:(b=_&&o()?`${y}|${_}`:``,t[1]=_,t[2]=b);let x=b,S=_&&!x?`${y}|${_}`:``,[C,w]=Q.useState(``),[T,E]=Q.useState(``),[D,O]=Q.useState(null),[k,j]=Q.useState(!1),M;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(M={open:!1,title:``,content:``},t[3]=M):M=t[3];let[N,P]=Q.useState(M),te,F;t[4]===S?(te=t[5],F=t[6]):(te=()=>{if(!S){w(``);return}let e=!1;return w(``),a(u()).then(t=>{!e&&t&&w(S)}).catch(Mi),()=>{e=!0}},F=[S],t[4]=S,t[5]=te,t[6]=F),Q.useEffect(te,F);let I,L;t[7]!==_||t[8]!==x||t[9]!==g?(I=()=>{if(!x){E(``),O(null),j(!1);return}let e=!1,t=``;return E(``),O(null),j(!0),p(`/api/fs/raw`,{query:{path:_}}).then(async e=>{if(!e.ok)throw Error(g(`filesView.error.readFileFailed`));return e.blob()}).then(n=>{if(t=URL.createObjectURL(n),e){URL.revokeObjectURL(t);return}E(t)}).catch(t=>{e||O(t instanceof Error?t.message:g(`filesView.error.readFileFailed`))}).finally(()=>{e||j(!1)}),()=>{e=!0,t&&URL.revokeObjectURL(t)}},L=[_,x,g],t[7]=_,t[8]=x,t[9]=g,t[10]=I,t[11]=L):(I=t[10],L=t[11]),Q.useEffect(I,L);let R=!!(S&&C!==S),z;t[12]!==R||t[13]!==r||t[14]!==x||t[15]!==T?(z=x?T:R?``:xi(r),t[12]=R,t[13]=r,t[14]=x,t[15]=T,t[16]=z):z=t[16];let B=z,V=s??D,H;t[17]===r?H=t[18]:(H=_i(r),t[17]=r,t[18]=H);let U=H,W;t[19]!==i||t[20]!==r?(W=sn(r)?`data:${on(r)};utf8,${encodeURIComponent(i)}`:``,t[19]=i,t[20]=r,t[21]=W):W=t[21];let ne=W,re;t[22]!==i||t[23]!==ne||t[24]!==B||t[25]!==r?(re=B||(sn(r)&&i?ne:``),t[22]=i,t[23]=ne,t[24]=B,t[25]=r,t[26]=re):re=t[26];let ie=re,G;t[27]!==U||t[28]!==_||t[29]!==r||t[30]!==ie?(G=()=>{let e=_||ie;e&&P({open:!0,title:U,content:``,metadata:{tool:`image-preview`,filename:U,mime:on(r)},image:{url:e,mimeType:on(r),filename:U}})},t[27]=U,t[28]=_,t[29]=r,t[30]=ie,t[31]=G):G=t[31];let ae=A(G),oe;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(oe=e=>{P(t=>t.open===e?t:{...t,open:e})},t[32]=oe):oe=t[32];let se=A(oe),ce;t[33]!==h||t[34]!==U||t[35]!==d||t[36]!==m||t[37]!==f||t[38]!==r||t[39]!==g?(ce=h?(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1 px-3 pb-1`,children:[sn(r)?null:(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,onClick:m,"aria-label":g(`mobile.files.copyContentAria`),children:(0,$.jsx)(Z,{name:`file-copy`,className:`size-4`})}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,onClick:f,"aria-label":g(`mobile.files.copyPathAria`),children:(0,$.jsx)(Z,{name:`clipboard`,className:`size-4`})})]}):(0,$.jsxs)(`header`,{className:`flex h-[var(--oc-header-height,56px)] shrink-0 items-center gap-3 border-b border-border/50 px-3 text-foreground`,children:[(0,$.jsx)(`button`,{type:`button`,className:`flex size-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":g(`header.actions.backAria`),onClick:d,children:(0,$.jsx)(Z,{name:`arrow-left`,className:`size-5`})}),(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsx)(`h2`,{className:`truncate typography-ui-header text-foreground`,children:U})}),sn(r)?null:(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,onClick:m,"aria-label":g(`mobile.files.copyContentAria`),children:(0,$.jsx)(Z,{name:`file-copy`,className:`size-4`})}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,onClick:f,"aria-label":g(`mobile.files.copyPathAria`),children:(0,$.jsx)(Z,{name:`clipboard`,className:`size-4`})})]}),t[33]=h,t[34]=U,t[35]=d,t[36]=m,t[37]=f,t[38]=r,t[39]=g,t[40]=ce):ce=t[40];let le;t[41]!==i||t[42]!==R||t[43]!==V||t[44]!==U||t[45]!==c||t[46]!==k||t[47]!==ae||t[48]!==r||t[49]!==ie||t[50]!==g?(le=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:c||R||k?(0,$.jsx)(Oi,{loading:!0,message:g(`filesView.state.loading`)}):V?(0,$.jsx)(Oi,{message:V}):sn(r)&&ie?(0,$.jsx)(vt,{className:`h-full overflow-auto p-4`,children:(0,$.jsx)(`button`,{type:`button`,className:`mx-auto block max-h-full max-w-full cursor-zoom-in rounded-lg border-0 bg-transparent p-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,onClick:ae,"aria-label":U,children:(0,$.jsx)(`img`,{src:ie,alt:U,className:`mx-auto max-h-full max-w-full rounded-lg object-contain`,draggable:!1})})}):(0,$.jsx)(Di,{path:r,content:i})}),t[41]=i,t[42]=R,t[43]=V,t[44]=U,t[45]=c,t[46]=k,t[47]=ae,t[48]=r,t[49]=ie,t[50]=g,t[51]=le):le=t[51];let ue;t[52]!==se||t[53]!==N?(ue=N.open?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(mi,{popup:N,onOpenChange:se,isMobile:!0})}):null,t[52]=se,t[53]=N,t[54]=ue):ue=t[54];let K;return t[55]!==ce||t[56]!==le||t[57]!==ue?(K=(0,$.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden bg-background text-foreground`,children:[ce,le,ue]}),t[55]=ce,t[56]=le,t[57]=ue,t[58]=K):K=t[58],K},Di=e=>{let t=(0,Wr.c)(30),{path:n,content:r}=e,{currentTheme:i,availableThemes:a,lightThemeId:o,darkThemeId:s}=kt(),c;t[0]!==a||t[1]!==o?(c=a.find(e=>e.metadata.id===o)??Vt(!1),t[0]=a,t[1]=o,t[2]=c):c=t[2];let l=c,u;t[3]!==a||t[4]!==s?(u=a.find(e=>e.metadata.id===s)??Vt(!0),t[3]=a,t[4]=s,t[5]=u):u=t[5];let d=u,f,p;t[6]!==d||t[7]!==l?(f=()=>{nn(l),nn(d)},p=[d,l],t[6]=d,t[7]=l,t[8]=f,t[9]=p):(f=t[8],p=t[9]),Q.useEffect(f,p);let m;t[10]!==d.metadata.id||t[11]!==l.metadata.id?(m={light:l.metadata.id,dark:d.metadata.id},t[10]=d.metadata.id,t[11]=l.metadata.id,t[12]=m):m=t[12];let h=m;if(Si(n)){let e;return t[13]===r?e=t[14]:(e=(0,$.jsx)(vt,{className:`h-full overflow-y-auto px-4 py-4`,children:(0,$.jsx)(Qt,{content:r,enableFileReferences:!1})}),t[13]=r,t[14]=e),e}let g;t[15]===n?g=t[16]:(g=_i(n),t[15]=n,t[16]=g);let _;t[17]===n?_=t[18]:(_=cn(n)||void 0,t[17]=n,t[18]=_);let v;t[19]!==r||t[20]!==g||t[21]!==_?(v={name:g,contents:r,lang:_},t[19]=r,t[20]=g,t[21]=_,t[22]=v):v=t[22];let y=i.metadata.variant===`dark`?`dark`:`light`,b;t[23]!==h||t[24]!==y?(b={disableFileHeader:!0,overflow:`wrap`,theme:h,themeType:y,unsafeCSS:Pn},t[23]=h,t[24]=y,t[25]=b):b=t[25];let x;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(x={minHeight:`100%`},t[26]=x):x=t[26];let S;return t[27]!==b||t[28]!==v?(S=(0,$.jsx)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:(0,$.jsx)(vt,{className:`min-h-0 flex-1 overflow-auto bg-[var(--syntax-base-background)]`,children:(0,$.jsx)(gn,{file:v,options:b,className:`block min-h-full w-full`,style:x})})}),t[27]=b,t[28]=v,t[29]=S):S=t[29],S},Oi=e=>{let t=(0,Wr.c)(7),{message:n,loading:r}=e,i=r!==void 0&&r,a;t[0]===i?a=t[1]:(a=i?(0,$.jsx)(Z,{name:`loader-4`,className:`size-5 animate-spin text-muted-foreground`}):(0,$.jsx)(Z,{name:`folder-open-fill`,className:`size-6 text-muted-foreground`}),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=(0,$.jsx)(`p`,{className:`typography-ui-label font-semibold text-foreground`,children:n}),t[2]=n,t[3]=o);let s;return t[4]!==a||t[5]!==o?(s=(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center`,children:(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center gap-2`,children:[a,o]})}),t[4]=a,t[5]=o,t[6]=s):s=t[6],s};function ki(e){return e.pendingFileFocusPath}function Ai(e){return e.setPendingFileFocusPath}function ji(e,t){return e.isDirectory===t.isDirectory?e.name.localeCompare(t.name):e.isDirectory?-1:1}function Mi(){}var Ni=v(e=>({expandedParents:{},toggleParent:t=>e(e=>{let n={...e.expandedParents};return n[t]?delete n[t]:n[t]=!0,{expandedParents:n}})})),Pi=v()(y(e=>({projectExpanded:{},worktreeExpanded:{},setProjectExpanded:(t,n)=>e(e=>({projectExpanded:{...e.projectExpanded,[t]:n}})),setWorktreeExpanded:(t,n)=>e(e=>({worktreeExpanded:{...e.worktreeExpanded,[t]:n}}))}),{name:`mobile-session-tree`,storage:m()}));typeof window<`u`&&c(e=>{t(e)&&Pi.persist.rehydrate()});var Fi=36,Ii=18,Li=e=>e.parentID??null,Ri=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/g,``),zi=e=>{let t=e;return Ri(t.directory??t.project?.worktree??null)},Bi=e=>{let t=Ri(e);if(!t)return``;let n=t.split(`/`).filter(Boolean);return n[n.length-1]||t},Vi=e=>{let t=e.time?.updated??e.time?.created,n=typeof t==`number`?t:Number(t);return Number.isFinite(n)&&n>0?n:0},Hi=(e,t)=>e.size===t.size&&[...e].every(e=>t.has(e)),Ui=e=>{if(e<=0)return``;let t=Date.now()-e;if(t<6e4)return`now`;let n=Math.floor(t/6e4);if(n<60)return`${n}m`;let r=Math.floor(n/60);if(r<24)return`${r}h`;let i=Math.floor(r/24);return i<7?`${i}d`:new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`}).format(new Date(e))},Wi=(e,t)=>{let n=Ri(e),r=Ri(t);return!!(n&&r&&(n===r||n.startsWith(`${r}/`)))},Gi=(e,t)=>e.worktrees.find(e=>Ri(e.path)===t)??null,Ki=(e,t)=>t===e.path||!!Gi(e,t),qi=(e,t)=>{let n=Ri(t);return n?e.find(e=>Ki(e,n))??null:null},Ji=(e,t,n)=>!n||`${e.title??``} ${e.id} ${zi(e)} ${t}`.toLowerCase().includes(n),Yi=e=>{let t=(0,Wr.c)(14),{project:n,size:r}=e,i=r===void 0?`md`:r,a=i===`sm`?`size-6 rounded-md`:`size-8 rounded-lg`,o=i===`sm`?`size-3.5`:`size-4`,s=n.icon?_t[n.icon]:null,c=n.color?yt[n.color]:void 0,l=s??`folder-open`,u;t[0]===c?u=t[1]:(u=c?{color:c}:void 0,t[0]=c,t[1]=u);let d;t[2]!==o||t[3]!==l||t[4]!==u?(d=(0,$.jsx)(Z,{name:l,className:o,style:u}),t[2]=o,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f=d,p;t[6]===a?p=t[7]:(p=X(`flex shrink-0 items-center justify-center overflow-hidden text-muted-foreground`,a),t[6]=a,t[7]=p);let m;t[8]!==f||t[9]!==n?(m=n.iconImage?(0,$.jsx)(ht,{project:n,className:`size-full object-contain`,fallback:f}):f,t[8]=f,t[9]=n,t[10]=m):m=t[10];let h;return t[11]!==p||t[12]!==m?(h=(0,$.jsx)(`span`,{className:p,children:m}),t[11]=p,t[12]=m,t[13]=h):h=t[13],h},Xi=e=>{let t=(0,Wr.c)(5),{expanded:n}=e,r=n?`rotate-0`:`-rotate-90`,i;t[0]===r?i=t[1]:(i=X(`flex size-5 shrink-0 items-center justify-center text-muted-foreground/70 transition-transform duration-150`,r),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-4`}),t[2]=a):a=t[2];let o;return t[3]===i?o=t[4]:(o=(0,$.jsx)(`span`,{"aria-hidden":!0,className:i,children:a}),t[3]=i,t[4]=o),o},Zi=e=>{let t=(0,Wr.c)(2),{ariaLabel:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`span`,{className:`inline-block size-1.5 shrink-0 rounded-full bg-primary`,"aria-label":n}),t[0]=n,t[1]=r),r},Qi=e=>{let t=(0,Wr.c)(12),{onClick:n,className:r}=e,{t:i}=ee(),a;t[0]===i?a=t[1]:(a=i(`sessions.sidebar.project.actions.newWorktree`),t[0]=i,t[1]=a);let o=a,s;t[2]===r?s=t[3]:(s=X(`flex size-9 shrink-0 items-center justify-center rounded-full text-[var(--surface-mutedForeground)] transition-colors hover:bg-[var(--interactive-hover)] hover:text-[var(--surface-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,r),t[2]=r,t[3]=s);let c;t[4]===n?c=t[5]:(c=e=>{e.stopPropagation(),n()},t[4]=n,t[5]=c);let l,u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l={touchAction:`manipulation`},u=(0,$.jsx)(Z,{name:`node-tree`,className:`size-4`}),t[6]=l,t[7]=u):(l=t[6],u=t[7]);let d;return t[8]!==o||t[9]!==s||t[10]!==c?(d=(0,$.jsx)(`button`,{type:`button`,className:s,"aria-label":o,title:o,onClick:c,style:l,children:u}),t[8]=o,t[9]=s,t[10]=c,t[11]=d):d=t[11],d},$i=e=>{let t=(0,Wr.c)(10),{icon:n,label:r,onClick:i,destructive:a}=e,o=a!==void 0&&a?`destructive`:`ghost`,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={touchAction:`manipulation`},t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,$.jsx)(Z,{name:n,className:`size-5 shrink-0`}),t[1]=n,t[2]=c);let l;t[3]===r?l=t[4]:(l=(0,$.jsx)(`span`,{className:`truncate`,children:r}),t[3]=r,t[4]=l);let u;return t[5]!==i||t[6]!==o||t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(Ue,{type:`button`,variant:o,size:`default`,className:`min-h-12 w-full justify-start gap-3 rounded-xl px-3 typography-ui-label`,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},ea=e=>{let t=(0,Wr.c)(65),{session:n,active:r,indent:i,contextLabel:a,confirmingArchive:o,hasChildren:s,expanded:c,onToggleChildren:l,onSelect:u,onRequestArchive:d,onConfirmArchive:f,onStop:p,stopAriaLabel:m,longPressHandlers:h}=e,g=o!==void 0&&o,_=s!==void 0&&s,v=c!==void 0&&c,{t:y}=ee(),b;t[0]===n?b=t[1]:(b=Ui(Vi(n)),t[0]=n,t[1]=b);let x=b,S;t[2]!==n.title||t[3]!==y?(S=n.title?.trim()||y(`mobile.sessions.untitled`),t[2]=n.title,t[3]=y,t[4]=S):S=t[4];let C=S,w=r&&!g&&`bg-[color-mix(in_srgb,var(--primary)_10%,transparent)]`,T=g&&`bg-[color-mix(in_srgb,var(--destructive)_8%,transparent)]`,E;t[5]!==w||t[6]!==T?(E=X(`relative flex items-center gap-1 transition-colors`,w,T),t[5]=w,t[6]=T,t[7]=E):E=t[7];let D;t[8]!==v||t[9]!==_||t[10]!==i||t[11]!==l||t[12]!==y?(D=_&&l?(0,$.jsx)(`button`,{type:`button`,className:`absolute z-10 flex w-6 items-center justify-center rounded-md text-muted-foreground/70 transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,style:{left:Math.max(i-32,2),top:0,bottom:0,touchAction:`manipulation`},"aria-label":y(v?`sessions.sidebar.session.subsessions.collapse`:`sessions.sidebar.session.subsessions.expand`),onClick:e=>{e.stopPropagation(),l()},children:(0,$.jsx)(Z,{name:`arrow-down-s`,className:X(`size-[18px] transition-transform duration-150`,v?`rotate-0`:`-rotate-90`)})}):null,t[8]=v,t[9]=_,t[10]=i,t[11]=l,t[12]=y,t[13]=D):D=t[13];let O=g&&`opacity-50`,k=h.pressed&&`bg-interactive-active scale-[0.99]`,A;t[14]!==O||t[15]!==k?(A=X(`flex min-h-12 min-w-0 flex-1 items-center gap-2.5 py-2 pr-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset`,O,k),t[14]=O,t[15]=k,t[16]=A):A=t[16];let j;t[17]===i?j=t[18]:(j={paddingLeft:i,touchAction:`manipulation`},t[17]=i,t[18]=j);let M=h.onPointerDown,N=h.onPointerMove,P=h.onPointerUp,te=h.onPointerCancel,F=h.onContextMenu,I=r?`bg-primary`:`bg-muted-foreground/30`,L;t[19]===I?L=t[20]:(L=X(`size-1.5 shrink-0 rounded-full`,I),t[19]=I,t[20]=L);let R;t[21]===L?R=t[22]:(R=(0,$.jsx)(`span`,{className:L,"aria-hidden":!0}),t[21]=L,t[22]=R);let z=r?`text-primary`:`text-foreground`,B;t[23]===z?B=t[24]:(B=X(`block min-w-0 flex-1 truncate typography-ui-label`,z),t[23]=z,t[24]=B);let V;t[25]!==B||t[26]!==C?(V=(0,$.jsx)(`span`,{className:B,children:C}),t[25]=B,t[26]=C,t[27]=V):V=t[27];let H;t[28]===x?H=t[29]:(H=x?(0,$.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground tabular-nums`,children:x}):null,t[28]=x,t[29]=H);let U;t[30]!==R||t[31]!==V||t[32]!==H?(U=(0,$.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[R,V,H]}),t[30]=R,t[31]=V,t[32]=H,t[33]=U):U=t[33];let W;t[34]===a?W=t[35]:(W=a?(0,$.jsx)(`span`,{className:`block truncate typography-micro text-muted-foreground pl-4`,children:a}):null,t[34]=a,t[35]=W);let ne;t[36]!==U||t[37]!==W?(ne=(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[U,W]}),t[36]=U,t[37]=W,t[38]=ne):ne=t[38];let re;t[39]!==g||t[40]!==h.onContextMenu||t[41]!==h.onPointerCancel||t[42]!==h.onPointerDown||t[43]!==h.onPointerMove||t[44]!==h.onPointerUp||t[45]!==u||t[46]!==A||t[47]!==j||t[48]!==ne?(re=(0,$.jsx)(`button`,{type:`button`,className:A,style:j,onClick:u,onPointerDown:M,onPointerMove:N,onPointerUp:P,onPointerCancel:te,onContextMenu:F,disabled:g,children:ne}),t[39]=g,t[40]=h.onContextMenu,t[41]=h.onPointerCancel,t[42]=h.onPointerDown,t[43]=h.onPointerMove,t[44]=h.onPointerUp,t[45]=u,t[46]=A,t[47]=j,t[48]=ne,t[49]=re):re=t[49];let ie;t[50]!==p||t[51]!==m?(ie=p?(0,$.jsx)(`button`,{type:`button`,className:`mr-0.5 flex size-9 shrink-0 items-center justify-center rounded-xl text-[var(--surface-mutedForeground)] transition-colors hover:bg-[var(--interactive-hover)] hover:text-[var(--surface-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-label":m,onClick:e=>{e.stopPropagation(),p()},style:{touchAction:`manipulation`},children:(0,$.jsx)(Rn,{})}):null,t[50]=p,t[51]=m,t[52]=ie):ie=t[52];let G;t[53]!==g||t[54]!==f||t[55]!==d||t[56]!==y||t[57]!==C?(G=d?(0,$.jsxs)($.Fragment,{children:[g?(0,$.jsxs)(`button`,{type:`button`,className:`flex h-9 shrink-0 items-center gap-1.5 rounded-xl bg-destructive px-3 text-destructive-foreground transition-opacity hover:opacity-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive`,"aria-label":y(`mobile.sessions.archiveSessionAria`,{title:C}),onClick:f,style:{touchAction:`manipulation`},children:[(0,$.jsx)(Z,{name:`archive`,className:`size-4`}),(0,$.jsx)(`span`,{className:`typography-ui-label`,children:y(`sessions.sidebar.bulkActions.archive`)})]}):null,(0,$.jsx)(`button`,{type:`button`,className:`mr-1.5 flex size-9 shrink-0 items-center justify-center rounded-xl text-muted-foreground/70 transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":y(g?`mobile.sessions.cancelArchiveAria`:`mobile.sessions.archiveSessionAria`,{title:C}),onClick:d,style:{touchAction:`manipulation`},children:g?(0,$.jsx)(Z,{name:`close`,className:`size-4`}):(0,$.jsx)(Z,{name:`archive`,className:`size-4`})})]}):null,t[53]=g,t[54]=f,t[55]=d,t[56]=y,t[57]=C,t[58]=G):G=t[58];let ae;return t[59]!==re||t[60]!==ie||t[61]!==G||t[62]!==E||t[63]!==D?(ae=(0,$.jsxs)(`div`,{className:E,children:[D,re,ie,G]}),t[59]=re,t[60]=ie,t[61]=G,t[62]=E,t[63]=D,t[64]=ae):ae=t[64],ae},ta=e=>{let t=(0,Wr.c)(15),{indent:n,showMore:r,showFewer:i,loadingMore:a,onShowMore:o,onShowFewer:s}=e,c=a!==void 0&&a,{t:l}=ee();if(!r&&!i)return null;let u;t[0]===n?u=t[1]:(u={paddingLeft:n,touchAction:`manipulation`},t[0]=n,t[1]=u);let d;t[2]!==s||t[3]!==i||t[4]!==l?(d=i?(0,$.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 text-left transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset`,onClick:s,children:[(0,$.jsx)(Z,{name:`arrow-up-s`,className:`size-4`}),(0,$.jsx)(`span`,{className:`typography-micro`,children:l(`sessions.sidebar.group.showFewer`)})]}):null,t[2]=s,t[3]=i,t[4]=l,t[5]=d):d=t[5];let f;t[6]!==c||t[7]!==o||t[8]!==r||t[9]!==l?(f=r?(0,$.jsxs)(`button`,{type:`button`,className:X(`inline-flex items-center gap-1.5 text-left transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset disabled:pointer-events-none disabled:opacity-60`,c&&`animate-pulse`),onClick:o,disabled:c,children:[(0,$.jsx)(Z,{name:`arrow-down-s`,className:`size-4`}),(0,$.jsx)(`span`,{className:`typography-micro`,children:l(`sessions.sidebar.group.showMore`)})]}):null,t[6]=c,t[7]=o,t[8]=r,t[9]=l,t[10]=f):f=t[10];let p;return t[11]!==u||t[12]!==d||t[13]!==f?(p=(0,$.jsxs)(`div`,{className:`flex min-h-10 w-full items-center gap-3 py-1.5 pr-3 text-muted-foreground`,style:u,children:[d,f]}),t[11]=u,t[12]=d,t[13]=f,t[14]=p):p=t[14],p},na=({open:e,onOpenChange:t,variant:n=`sheet`})=>{let{t:r}=ee(),{git:i}=Xt(),a=z(),o=fe(e=>e.activeSessions),s=fe(e=>e.activePaginationByDirectory),c=K(e=>e.projects),l=K(e=>e.activeProjectId),u=C(e=>e.currentDirectory),d=q(e=>e.currentSessionId),f=q(e=>e.availableWorktreesByProject),p=q(e=>e.setCurrentSession),m=q(e=>e.archiveSession),h=q(e=>e.archiveSessions),g=q(e=>e.updateSessionTitle),_=q(e=>e.requestSessionSmartTitle),v=q(e=>e.shareSession),y=q(e=>e.unshareSession),b=q(e=>e.openNewSessionDraft),x=K(e=>e.setActiveProject),S=K(e=>e.setActiveProjectIdOnly),w=K(e=>e.removeProject),T=de(),E=oe(),D=Pi(e=>e.projectExpanded),O=Pi(e=>e.worktreeExpanded),k=Pi(e=>e.setProjectExpanded),j=Pi(e=>e.setWorktreeExpanded),N=ut(e=>e.orderByProject),P=Ni(e=>e.expandedParents),te=Ni(e=>e.toggleParent),[F,L]=Q.useState(``),[H,U]=Q.useState(null),[W,ne]=Q.useState(null),[re,ie]=Q.useState(0),[G,ae]=Q.useState(!1),[se,le]=Q.useState(!1),[ue,pe]=Q.useState(null),[me,he]=Q.useState(null),[ge,_e]=Q.useState(null),[be,xe]=Q.useState(null),[Se,Ce]=Q.useState(null),[we,Y]=Q.useState(``),[Te,Ee]=Q.useState(!1),[De,Oe]=Q.useState(null),ke=Q.useRef(null);ke.current||=un({onPressedKeyChange:xe});let[Ae,je]=Q.useState(new Set),[Me,Ne]=Q.useState(new Map),[Pe,Fe]=Q.useState(new Map),Ie=V(),Le=Q.useMemo(()=>{let e={};for(let[t,n]of Object.entries(Ie))e[t]=n.type===`busy`||n.type===`retry`;return e},[Ie]),Re=A(e=>{R(e),I(e)}),ze=A(e=>{Promise.all(e.map(e=>(R(e),I(e))))});Q.useEffect(()=>{if(!e){L(``),Fe(new Map),U(null),ne(null),he(null),Ce(null),Oe(null),ke.current?.reset();return}},[e]),Q.useEffect(()=>()=>{ke.current?.reset()},[]),Q.useEffect(()=>{if(!e)return;if(c.length===0){q.setState(e=>{let t=dr(e.availableWorktreesByProject,new Set,[]);return t===e.availableWorktreesByProject?{}:{availableWorktreesByProject:t,availableWorktrees:[]}}),je(e=>e.size===0?e:new Set),Ne(e=>e.size===0?e:new Map);return}let t=!1;return(async()=>{let e=await Promise.all(c.map(async e=>{let n=Ri(e.path);if(!n)return null;let r;try{r=await i.checkIsGitRepository(n)}catch{return{id:e.id,path:n,gitStatus:`failed`}}if(!r)return{id:e.id,path:n,gitStatus:`success`,isGitRepo:r,worktreeStatus:`success`,worktrees:[]};let[a,o]=await Promise.allSettled([gt({id:e.id,path:n},{isCurrent:()=>!t}),bt(n)]);return{id:e.id,path:n,gitStatus:`success`,isGitRepo:r,worktreeStatus:a.status===`fulfilled`?`success`:`failed`,worktrees:a.status===`fulfilled`?a.value.worktrees:void 0,rootBranchStatus:o.status===`fulfilled`?`success`:`failed`,rootBranch:o.status===`fulfilled`?o.value:void 0}}));if(t)return;let n=new Set(c.map(e=>Ri(e.path)).filter(Boolean)),r=e.flatMap(e=>e?.worktreeStatus?[{path:e.path,status:e.worktreeStatus,worktrees:e.worktrees}]:[]);q.setState(e=>{let t=dr(e.availableWorktreesByProject,n,r);return t===e.availableWorktreesByProject?{}:{availableWorktreesByProject:t,availableWorktrees:Array.from(t.values()).flat()}}),je(t=>{let r=new Set([...t].filter(e=>n.has(e)));for(let t of e)t?.gitStatus===`success`&&(t.isGitRepo?r.add(t.path):r.delete(t.path));return Hi(r,t)?t:r}),Ne(t=>{let n=new Set(c.map(e=>e.id)),r=new Map([...t].filter(([e])=>n.has(e)));for(let t of e){if(!t||t.gitStatus!==`success`)continue;if(!t.isGitRepo){r.delete(t.id);continue}if(t.rootBranchStatus!==`success`)continue;let e=t.rootBranch?.trim();e&&e!==`HEAD`?r.set(t.id,e):r.delete(t.id)}return r.size===t.size&&[...r].every(([e,n])=>t.get(e)===n)?t:r})})(),()=>{t=!0}},[i,e,c,re]);let Be=Q.useMemo(()=>c.map(e=>({id:e.id,label:Bi(e.path),path:Ri(e.path),icon:e.icon,color:e.color,iconImage:e.iconImage,iconBackground:e.iconBackground,isGitRepo:Ae.has(Ri(e.path)),worktrees:st(N[e.id],f.get(Ri(e.path))??[])})),[Ae,c,N,f]),Ve=Q.useMemo(()=>{let e=new Map(a.map(e=>[e.id,e])),t=o.map(t=>{let n=e.get(t.id);return n?ve(n,t):t}),n=new Set(t.map(e=>e.id));for(let e of a)n.has(e.id)||t.push(e);return t},[o,a]),He=F.trim().toLowerCase(),We=Q.useMemo(()=>{let e=Be.map(e=>({project:e,buckets:[],totalSessions:0,isActive:e.id===l})),t=(e,t,n)=>{let r=Ri(t)||e.project.path,i=r||`__root__`,a=e.buckets.find(e=>e.key===i);return a||(a={key:i,label:n?.branch||Bi(r),path:r,worktree:n,sessions:[]},e.buckets.push(a)),a};for(let n of e){t(n,n.project.path,null);for(let e of n.project.worktrees)t(n,e.path,e)}for(let n of Ve){let r=zi(n);if(!r)continue;let i=Ri(r),a=e.find(e=>Ki(e.project,i));if(!a)continue;let o=Gi(a.project,i);(o?t(a,o.path,o):t(a,a.project.path,null)).sessions.push(n)}for(let t of e)for(let e of t.buckets){e.sessions.sort((e,t)=>B(t)-B(e));for(let n of e.sessions)Li(n)||(t.totalSessions+=1)}return e},[l,Be,Ve]),Ge=Ri(u),Ke=e=>e.isActive?Ge===e.project.path?e.project.path:e.project.worktrees.find(e=>Wi(Ge,e.path))?.path??e.project.path:null,qe=e=>D[e.project.id]??!0,Je=(e,t)=>O[`${e.project.id}::${t.key}`]??!1,Ye=e=>{Fe(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},Xe=()=>{he(null),ke.current?.reset()},Ze=e=>({pressed:be===e.key||me?.key===e.key,onPointerDown:t=>{t.pointerType!==`touch`&&t.pointerType!==`pen`||t.button!==0||ke.current?.start({pointerId:t.pointerId,key:e.key,clientX:t.clientX,clientY:t.clientY,onTrigger:()=>he(e)})},onPointerMove:e=>{ke.current?.move(e.pointerId,e.clientX,e.clientY)},onPointerUp:e=>{ke.current?.end(e.pointerId)},onPointerCancel:e=>{ke.current?.cancel(e.pointerId)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),ke.current?.openFromContextMenu(e.key,()=>he(e))}}),Qe=(e,t)=>{ke.current?.consumeClick(e)||t()},$e=(e,t,n,r)=>{let i=fr(),a=qn();if(Fe(t=>{let r=new Map(t),o=Math.max(i,t.get(e)??i,n);return r.set(e,o+a),r}),Math.max(i,n)+a<r)return;let o=Ri(t);if(!o)return;let s=fe.getState().activePaginationByDirectory.get(o);s?.hasMore&&!s.loadingMore&&ce(o)},et=(e,t,n)=>{let i=`${e.project.id}::${t.key}`,a=fr(),o=new Set(t.sessions.map(e=>e.id)),c=new Map;for(let e of t.sessions){let t=Li(e);if(t&&o.has(t)){let n=c.get(t)??[];n.push(e),c.set(t,n)}}let l=t.sessions.filter(e=>!Li(e)),u=Pe.get(i)??a,f=l.slice(0,u),p=l.length-f.length,m=s.get(Ri(t.path)),h=m?.hasMore===!0,g=m?.loadingMore===!0,_=l.length>a&&u>a,v=(e,t)=>{let n=c.get(e.id)??[],i=n.length>0,a=!!P[e.id],o=Le[e.id]||!1,s=i&&!a?n.filter(e=>Le[e.id]).map(e=>e.id):[],l=s.length>0,u=o?[e.id,...s]:s,f=e.title?.trim()||r(`mobile.sessions.untitled`),p=`session:${e.id}`;return(0,$.jsxs)(Q.Fragment,{children:[(0,$.jsx)(ea,{session:e,active:d===e.id,indent:t,hasChildren:i,expanded:a,onToggleChildren:i?()=>te(e.id):void 0,confirmingArchive:W===e.id,onSelect:()=>Qe(p,()=>rt(e)),onRequestArchive:()=>it(e.id),onConfirmArchive:()=>void at(e),onStop:o||l?()=>ze(u):void 0,stopAriaLabel:r(l?`mobile.sessions.stopSubsessionsAria`:`mobile.sessions.stopSessionAria`,{title:f}),longPressHandlers:Ze({key:p,kind:`session`,session:e})}),i&&a?n.map(e=>v(e,t+Ii)):null]},e.id)};return(0,$.jsxs)(`div`,{children:[f.map(e=>v(e,n)),(0,$.jsx)(ta,{indent:n,showMore:p>0||h,showFewer:_,loadingMore:g,onShowMore:()=>$e(i,t.path,f.length,l.length),onShowFewer:()=>Ye(i)})]})},tt=(e,t)=>{k(e,!t)},nt=(e,t,n)=>{j(`${e}::${t}`,!n)},rt=e=>{Ft();let n=zi(e)||null,r=qi(Be,n??``);r&&S(r.id),p(e.id,n),t(!1)},it=e=>{ne(t=>t===e?null:e)},at=async e=>{ne(null),await m(e.id)?Un({sessionIds:[e.id],message:r(`sessions.sidebar.session.archive.success`),undoLabel:r(`sessions.sidebar.undo`),settingsLabel:r(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:r(`sessions.sidebar.session.archive.undoFailed`)}):J.error(r(`sessions.sidebar.session.archive.error`))},ot=()=>{b(),t(!1)},ct=e=>{pe(e),S(e),le(!0)},lt=e=>{let t=new Map;for(let e of Ve){let n=Li(e);if(!n)continue;let r=t.get(n)??[];r.push(e.id),t.set(n,r)}let n=[],r=new Set,i=e=>{if(!r.has(e)){r.add(e),n.push(e);for(let n of t.get(e)??[])i(n)}};return i(e),n},dt=async e=>{let t=lt(e.id),{archivedIds:n,failedIds:i}=await h(t);n.length>0&&Un({sessionIds:n,message:n.length===1?r(`sessions.sidebar.session.archive.success`):r(`sessions.sidebar.bulkActions.archivedPlural`,{count:n.length}),undoLabel:r(`sessions.sidebar.undo`),settingsLabel:r(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:n.length===1?r(`sessions.sidebar.session.archive.undoFailed`):r(`sessions.sidebar.bulkActions.archiveUndoFailed`,{count:n.length})}),i.length>0&&J.error(i.length===1?r(`sessions.sidebar.bulkActions.failedArchiveSingle`,{count:i.length}):r(`sessions.sidebar.bulkActions.failedArchivePlural`,{count:i.length}))},ft=e=>{let t=lt(e.id);ur({sessionIds:t,message:t.length===1?r(`sessions.sidebar.session.delete.success`):r(`sessions.sidebar.bulkActions.deletedPlural`,{count:t.length}),undoLabel:r(`sessions.sidebar.undo`),commitFailedMessage:r(`sessions.sidebar.session.delete.error`)})},pt=async e=>{try{if(!(await v(e.id))?.share?.url){J.error(r(`sessions.sidebar.session.share.error`));return}J.success(r(`sessions.sidebar.session.share.successTitle`),{description:r(`sessions.sidebar.session.share.successDescription`)})}catch{J.error(r(`sessions.sidebar.session.share.error`))}},mt=async e=>{if((await M(e)).ok){J.success(r(`sessions.sidebar.session.menu.copied`));return}J.error(r(`sessions.sidebar.session.share.copyUrlError`))},ht=async e=>{try{if(await y(e)){J.success(r(`sessions.sidebar.session.unshare.success`));return}J.error(r(`sessions.sidebar.session.unshare.error`))}catch{J.error(r(`sessions.sidebar.session.unshare.error`))}},_t=async()=>{if(!Se)return;let e=we.trim();if(e)try{await g(Se.id,e),Ce(null),Y(``)}catch{J.error(r(`sessions.sidebar.session.menu.rename`),{description:r(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}},yt=async()=>{if(!Se||Te)return;let e=Se.id;Ce(null),Y(``),Ee(!0);try{await _(e)}catch{J.error(r(`sessions.sidebar.session.rename.smartTitle`),{description:r(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}finally{Ee(!1)}},St=(e,n)=>{S(e.id),b({selectedProjectId:e.id,directoryOverride:n,preserveDirectoryOverride:!0}),t(!1)},Ct=e=>{(async()=>{try{await gt({id:e.id,path:e.path})}catch(e){console.warn(`[MobileSessions] Worktree refresh before session sync failed:`,e)}let t=q.getState().availableWorktreesByProject.get(e.path)??e.worktrees,n=[e.path,...t.map(e=>e.path)];await ye(n,Ve)})()},wt=e=>{let t=zi(e),n=qi(Be,t);if(!n)return Bi(t)||t;let r=Gi(n,Ri(t));return r?.branch?`${n.label} · ${r.branch}`:n.label},Tt=e=>{x(e.id),t(!1)},Et=Q.useMemo(()=>He?We.filter(e=>`${e.project.label} ${e.project.path}`.toLowerCase().includes(He)?!0:e.buckets.some(t=>t.sessions.some(t=>Ji(t,e.project.label,He)))):We,[He,We]),Dt=Q.useMemo(()=>He?Ve.filter(e=>{let t=zi(e);return Ji(e,qi(Be,t)?.label??``,He)}).sort((e,t)=>B(t)-B(e)):[],[He,Be,Ve]),Ot=Q.useMemo(()=>He?Be.filter(e=>`${e.label} ${e.path}`.toLowerCase().includes(He)).map(e=>({...e,sessionCount:Ve.filter(t=>!Li(t)&&Ki(e,Ri(zi(t)))).length})):[],[He,Be,Ve]),kt=He&&Dt.length===0&&Ot.length===0,At=Be.length>0?(0,$.jsxs)(Ue,{type:`button`,variant:`default`,size:`sm`,"aria-label":r(`mobile.sessions.newChat`),onClick:ot,style:{touchAction:`manipulation`},children:[(0,$.jsx)(Z,{name:`add`,className:`size-4`}),r(`mobile.sessions.newChat`)]}):null,jt=Be.find(e=>e.id===l)??null,Mt=jt?.isGitRepo?(0,$.jsx)(Ue,{type:`button`,variant:`chip`,size:`sm`,"aria-label":r(`sessions.sidebar.project.actions.newWorktree`),title:r(`sessions.sidebar.project.actions.newWorktree`),onClick:()=>ct(jt.id),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`node-tree`,className:`size-4`})}):null,Nt=(0,$.jsx)(Ue,{type:`button`,variant:`chip`,size:`sm`,"aria-label":r(`sessions.sidebar.header.actions.addProject`),title:r(`sessions.sidebar.header.actions.addProject`),onClick:()=>ae(!0),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`folder-add`,className:`size-4`})}),Pt=At||Nt?(0,$.jsxs)($.Fragment,{children:[At,Mt,Nt]}):null,Lt=me?.kind===`project`?me.project.label:me?.kind===`worktree`?me.worktree.branch||me.worktree.label||me.worktree.path:me?.kind===`session`?me.session.title?.trim()||r(`mobile.sessions.untitled`):``,Rt=Q.useMemo(()=>{if(!me)return[];if(me.kind===`project`){let e=me.project;return Zn({gitRepository:e.isGitRepo,onNewSession:()=>{Xe(),St(e,e.path)},onNewWorktree:()=>{Xe(),ct(e.id)},onSyncSessions:()=>{Xe(),Ct(e)},onEditProject:()=>{Xe(),U(e.id)},onCloseProject:()=>{Xe(),_e(e)}})}if(me.kind===`worktree`){let{project:e,worktree:t}=me;return Gn({onNewSession:()=>{Xe(),St(e,t.path)},onDeleteWorktree:()=>{Xe(),Oe({project:e,worktree:t})}})}let e=me.session,t=!!e.share?.url;return Xn({pinned:T.has(e.id),shared:t,onRename:()=>{Xe(),Y(e.title?.trim()||r(`mobile.sessions.untitled`)),Ce(e)},onTogglePin:()=>{Xe(),E(e.id)},onShare:t?void 0:()=>{Xe(),pt(e)},onCopyLink:t?()=>{let t=e.share?.url;Xe(),t&&mt(t)}:void 0,onUnshare:t?()=>{Xe(),ht(e.id)}:void 0,onArchive:()=>{Xe(),dt(e)},onDelete:()=>{Xe(),ft(e)}})},[me,Xe,dt,mt,ft,ct,pt,ht,T,St,Ct,r,E]),zt=Rt.length>0?(0,$.jsx)(`div`,{className:`flex flex-col gap-1`,children:Rt.map(e=>{let t=(0,$.jsx)($i,{icon:e.icon,label:lr(e,r),destructive:e.destructive,onClick:e.onClick},e.id);return e.separated?(0,$.jsx)(`div`,{className:`mt-3 border-t border-[var(--surface-subtle)] pt-3`,children:t},e.id):t})}):null,Bt=(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsx)(`div`,{className:`shrink-0 px-4 pb-2 pt-1`,children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Z,{name:`search`,className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(xt,{value:F,onChange:e=>L(e.target.value),placeholder:r(`mobile.sessions.search.placeholder`),className:X(`h-11 pl-9`,F&&`pr-10`)}),F?(0,$.jsx)(`button`,{type:`button`,className:`absolute right-1.5 top-1/2 flex size-8 -translate-y-1/2 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":r(`mobile.sessions.clearSearchAria`),onClick:()=>L(``),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`close`,className:`size-4`})}):null]})}),(0,$.jsx)(vt,{className:`overlay-scrollbar-container min-h-0 flex-1 overflow-y-auto pb-4`,children:Be.length===0?(0,$.jsx)(ra,{title:r(`mobile.sessions.empty.noProjectsTitle`),description:r(`mobile.sessions.empty.noProjectsDescription`),action:(0,$.jsxs)(`button`,{type:`button`,className:`flex items-center justify-center gap-2 rounded-2xl bg-primary px-5 py-3 typography-ui-label text-primary-foreground transition-opacity hover:opacity-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,onClick:()=>ae(!0),children:[(0,$.jsx)(Z,{name:`folder-add`,className:`size-4`}),r(`sessions.sidebar.header.actions.addProject`)]})}):kt?(0,$.jsx)(ra,{title:r(`mobile.sessions.empty.searchTitle`),description:r(`mobile.sessions.empty.searchDescription`)}):He?(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 px-3 pt-2`,children:[Dt.length>0?(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-1 pb-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-micro font-semibold uppercase tracking-wider text-muted-foreground`,children:r(`mobile.sessions.search.section.sessions`)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground tabular-nums`,children:Dt.length})]}),(0,$.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-border/40 bg-[var(--surface-elevated)]`,children:Dt.map((e,t)=>{let n=Le[e.id]||!1,i=e.title?.trim()||r(`mobile.sessions.untitled`);return(0,$.jsx)(`div`,{className:X(t>0&&`border-t border-border/30`),children:(0,$.jsx)(ea,{session:e,active:d===e.id,indent:12,contextLabel:wt(e),onSelect:()=>Qe(`session:${e.id}`,()=>rt(e)),longPressHandlers:Ze({key:`session:${e.id}`,kind:`session`,session:e}),onStop:n?()=>Re(e.id):void 0,stopAriaLabel:r(`mobile.sessions.stopSessionAria`,{title:i})})},e.id)})})]}):null,Ot.length>0?(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-1 pb-1.5`,children:[(0,$.jsx)(`span`,{className:`typography-micro font-semibold uppercase tracking-wider text-muted-foreground`,children:r(`mobile.sessions.search.section.projects`)}),(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground tabular-nums`,children:Ot.length})]}),(0,$.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-border/40 bg-[var(--surface-elevated)]`,children:Ot.map((e,t)=>{let n=`project:${e.id}`,r=Ze({key:n,kind:`project`,project:e});return(0,$.jsxs)(`div`,{className:X(`flex items-center`,t>0&&`border-t border-border/30`),children:[(0,$.jsxs)(`button`,{type:`button`,className:X(`flex min-h-14 min-w-0 flex-1 items-center gap-3 px-3 py-2 text-left transition-all hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset`,r.pressed&&`bg-interactive-active scale-[0.99]`),onClick:()=>Qe(n,()=>Tt(e)),onPointerDown:r.onPointerDown,onPointerMove:r.onPointerMove,onPointerUp:r.onPointerUp,onPointerCancel:r.onPointerCancel,onContextMenu:r.onContextMenu,style:{touchAction:`manipulation`},children:[(0,$.jsx)(Yi,{project:e}),(0,$.jsx)(`span`,{className:`block min-w-0 flex-1 truncate typography-ui-label text-foreground`,children:e.label}),(0,$.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground tabular-nums`,children:e.sessionCount})]}),e.isGitRepo?(0,$.jsx)(Qi,{className:`mr-2`,onClick:()=>ct(e.id)}):null]},e.id)})})]}):null]}):(0,$.jsx)(`div`,{className:`flex flex-col`,children:Et.map((e,t)=>{let n=qe(e),i=`project:${e.project.id}`,a=Ze({key:i,kind:`project`,project:e.project}),o=He?e.buckets.filter(t=>t.sessions.some(t=>Ji(t,e.project.label,He))):e.buckets,s=Ke(e);return(0,$.jsxs)(`section`,{className:X(t>0&&`border-t border-border/30`),children:[(0,$.jsxs)(`div`,{className:`flex min-h-14 w-full items-center`,children:[(0,$.jsxs)(`button`,{type:`button`,className:X(`flex min-h-14 min-w-0 flex-1 items-center gap-2 px-3 py-2 text-left transition-all hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset`,a.pressed&&`bg-interactive-active scale-[0.99]`),onClick:()=>Qe(i,()=>tt(e.project.id,n)),onPointerDown:a.onPointerDown,onPointerMove:a.onPointerMove,onPointerUp:a.onPointerUp,onPointerCancel:a.onPointerCancel,onContextMenu:a.onContextMenu,"aria-expanded":n,"aria-label":r(n?`sessions.sidebar.group.collapseAria`:`sessions.sidebar.group.expandAria`,{label:e.project.label}),style:{touchAction:`manipulation`},children:[(0,$.jsx)(Yi,{project:e.project}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`block truncate typography-ui-label font-semibold text-foreground`,children:e.project.label}),Me.get(e.project.id)?(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 typography-micro text-muted-foreground`,children:[(0,$.jsx)(Z,{name:`git-branch`,className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:Me.get(e.project.id)})]}):null]}),e.isActive?(0,$.jsx)(Zi,{ariaLabel:r(`mobile.sessions.activeProjectAria`)}):null,(0,$.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground tabular-nums`,children:e.totalSessions})]}),(()=>{let t=n?[]:[...new Set(e.buckets.flatMap(e=>e.sessions.filter(e=>Le[e.id]).map(e=>e.id)))];return t.length>0?(0,$.jsx)(`button`,{type:`button`,className:`flex size-9 shrink-0 items-center justify-center rounded-full text-[var(--surface-mutedForeground)] transition-colors hover:bg-[var(--interactive-hover)] hover:text-[var(--surface-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] mr-1`,"aria-label":r(`mobile.sessions.stopGroupAria`,{label:e.project.label}),onClick:e=>{e.stopPropagation(),ze(t)},style:{touchAction:`manipulation`},children:(0,$.jsx)(Rn,{})}):null})(),e.project.isGitRepo?(0,$.jsx)(Qi,{className:`mr-2`,onClick:()=>ct(e.project.id)}):null]}),n?(0,$.jsx)(`div`,{className:`pb-2`,children:(()=>{let t=o.find(e=>e.worktree===null),n=o.filter(e=>e.worktree!==null);return(0,$.jsxs)($.Fragment,{children:[t&&t.sessions.length>0?et(e,t,Fi):null,n.map(t=>{let n=Je(e,t),i=s===t.path,a=`worktree:${e.project.id}:${t.key}`,o=Ze({key:a,kind:`worktree`,project:e.project,worktree:t.worktree});return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,className:X(`flex min-h-11 w-full items-center gap-2 py-1.5 pl-4 pr-3 text-left transition-all hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset`,o.pressed&&`bg-interactive-active scale-[0.99]`),onClick:()=>Qe(a,()=>nt(e.project.id,t.key,n)),onPointerDown:o.onPointerDown,onPointerMove:o.onPointerMove,onPointerUp:o.onPointerUp,onPointerCancel:o.onPointerCancel,onContextMenu:o.onContextMenu,"aria-expanded":n,"aria-label":r(n?`sessions.sidebar.group.collapseAria`:`sessions.sidebar.group.expandAria`,{label:t.label}),style:{touchAction:`manipulation`},children:[(0,$.jsx)(Xi,{expanded:n}),(0,$.jsx)(Z,{name:`node-tree`,className:X(`size-4 shrink-0`,i?`text-primary`:`text-muted-foreground`)}),(0,$.jsx)(`span`,{className:X(`block min-w-0 flex-1 truncate typography-ui-label font-semibold`,i?`text-foreground`:`text-foreground/90`),children:t.label}),i?(0,$.jsx)(Zi,{ariaLabel:r(`mobile.sessions.activeWorktreeAria`)}):null,(()=>{let e=n?[]:t.sessions.filter(e=>Le[e.id]).map(e=>e.id);return e.length>0?(0,$.jsx)(`button`,{type:`button`,className:`flex size-9 shrink-0 items-center justify-center rounded-full text-[var(--surface-mutedForeground)] transition-colors hover:bg-[var(--interactive-hover)] hover:text-[var(--surface-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-label":r(`mobile.sessions.stopGroupAria`,{label:t.label}),onClick:t=>{t.stopPropagation(),ze(e)},style:{touchAction:`manipulation`},children:(0,$.jsx)(Rn,{})}):null})(),(0,$.jsx)(`span`,{className:`shrink-0 typography-micro text-muted-foreground tabular-nums`,children:t.sessions.length})]}),n?et(e,t,Fi):null]},t.key)})]})})()}):null]},e.project.id)})})}),(0,$.jsx)(er,{open:G,onOpenChange:ae,forceMobile:!0}),(0,$.jsx)(Jt,{open:se,projectId:ue,onOpenChange:e=>{le(e),e||pe(null)},onWorktreeCreated:(e,n)=>{n?.sessionId?p(n.sessionId,e):b({selectedProjectId:ue,directoryOverride:e,preserveDirectoryOverride:!0}),t(!1)}}),(0,$.jsx)(Yt,{open:!!me,title:Lt,onClose:Xe,contentMaxHeightClassName:`max-h-[min(68dvh,560px)]`,children:zt}),(0,$.jsx)(Yt,{open:!!ge,title:r(`sessions.sidebar.project.actions.closeProject`),onClose:()=>_e(null),closeAriaLabel:r(`mobile.surface.closeAria`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>_e(null),children:r(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Ue,{type:`button`,variant:`destructive`,className:`flex-1`,onClick:()=>{if(!ge)return;let e=ge;_e(null),w(e.id),J.success(r(`mobile.sessions.toast.projectRemoved`,{label:e.label}))},children:r(`mobile.sessions.confirmRemoveProject`)})]}),children:(0,$.jsx)(`p`,{className:`px-1 py-1 typography-ui-body text-foreground`,children:r(`mobile.projects.closeConfirmMessage`,{title:ge?.label??``})})}),(0,$.jsx)(Yt,{open:!!Se,title:r(`sessions.sidebar.session.menu.rename`),onClose:()=>{Te||(Ce(null),Y(``))},footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,className:`flex-1`,disabled:Te,onClick:()=>{Ce(null),Y(``)},children:r(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Ue,{type:`button`,variant:`default`,className:`flex-1`,disabled:!we.trim()||Te,onClick:()=>void _t(),children:r(`sessions.sidebar.session.rename.save`)})]}),children:(0,$.jsxs)(`form`,{className:`flex flex-col gap-3 px-1 py-1`,onSubmit:e=>{e.preventDefault(),_t()},children:[(0,$.jsx)(xt,{value:we,onChange:e=>Y(e.target.value),autoFocus:!0,className:`h-12`,disabled:Te}),(0,$.jsxs)(Ue,{type:`button`,variant:`outline`,className:`w-full gap-2`,disabled:Te,onClick:()=>void yt(),children:[Te?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`ai-generate-2`,className:`size-4`}),r(`sessions.sidebar.session.rename.smartTitle`)]})]})}),De?(0,$.jsx)(In,{open:!0,project:{id:De.project.id,path:De.project.path},worktree:De.worktree,onClose:()=>Oe(null),onDeleted:()=>ie(e=>e+1)}):null,(0,$.jsx)(Hn,{open:H!==null,project:Be.find(e=>e.id===H)??null,onClose:()=>U(null),onWorktreesChanged:()=>ie(e=>e+1)})]});return n===`sidebar`?e?(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,$.jsx)(`div`,{className:`flex h-[var(--oc-header-height,56px)] shrink-0 items-center justify-end gap-2 px-4`,children:Pt?(0,$.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:Pt}):null}),Bt]}):null:(0,$.jsx)(It,{id:`mobile-sessions-sheet`,open:e,onOpenChange:t,trailing:Pt,ariaLabel:r(`mobile.sessions.sheet.title`),closeAriaLabel:r(`mobile.surface.closeAria`),resizeAriaLabel:r(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:Bt})},ra=e=>{let t=(0,Wr.c)(10),{title:n,description:r,action:i}=e,a;t[0]===n?a=t[1]:(a=(0,$.jsx)(`p`,{className:`typography-ui-label text-foreground`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=r?(0,$.jsx)(`p`,{className:`typography-meta text-muted-foreground`,children:r}):null,t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=i?(0,$.jsx)(`div`,{className:`pt-2`,children:i}):null,t[4]=i,t[5]=s);let c;return t[6]!==a||t[7]!==o||t[8]!==s?(c=(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[a,o,s]}),t[6]=a,t[7]=o,t[8]=s,t[9]=c):c=t[9],c},ia=`/assets/assistant-guide-hero-BeUHQcxE.jpg`,aa=[{image:yr,titleKey:`assistants.shareWelcome.example.chat.title`,descriptionKey:`assistants.shareWelcome.example.chat.description`},{image:mr,titleKey:`assistants.shareWelcome.example.article.title`,descriptionKey:`assistants.shareWelcome.example.article.description`},{image:_r,titleKey:`assistants.shareWelcome.example.note.title`,descriptionKey:`assistants.shareWelcome.example.note.description`}];function oa(){let e=(0,Wr.c)(8),{t}=ee(),n;e[0]===t?n=e[1]:(n=t(`assistants.state.unavailable`),e[0]=t,e[1]=n);let r,i,a,o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`div`,{className:`h-10 w-10 animate-pulse rounded-xl bg-[var(--surface-muted)] motion-reduce:animate-none`}),i=(0,$.jsx)(`div`,{className:`mt-2 h-4 w-2/3 animate-pulse rounded-md bg-[var(--surface-muted)] motion-reduce:animate-none`}),a=(0,$.jsx)(`div`,{className:`h-3.5 w-full animate-pulse rounded-md bg-[var(--surface-muted)] motion-reduce:animate-none`}),o=(0,$.jsx)(`div`,{className:`h-3.5 w-4/5 animate-pulse rounded-md bg-[var(--surface-muted)] motion-reduce:animate-none`}),e[2]=r,e[3]=i,e[4]=a,e[5]=o):(r=e[2],i=e[3],a=e[4],o=e[5]);let s;return e[6]===n?s=e[7]:(s=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3 p-5`,"aria-busy":`true`,"aria-label":n,children:[r,i,a,o]}),e[6]=n,e[7]=s),s}function sa(e){let t=(0,Wr.c)(51),{onEnable:n}=e,{t:r}=ee(),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(`div`,{className:`oc-mobile-assistant-guide-hero`,"aria-hidden":`true`,children:[(0,$.jsx)(`img`,{src:ia,alt:``}),(0,$.jsx)(`div`,{className:`oc-mobile-assistant-guide-hero-fade`})]}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Z,{name:`sparkling`,className:`size-3.5`}),t[1]=a):a=t[1];let o;t[2]===r?o=t[3]:(o=r(`assistants.subtitle`),t[2]=r,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,$.jsxs)(`span`,{className:`oc-mobile-assistant-guide-kicker`,children:[a,o]}),t[4]=o,t[5]=s);let c;t[6]===r?c=t[7]:(c=r(`assistants.state.instanceDisabled`),t[6]=r,t[7]=c);let l;t[8]===c?l=t[9]:(l=(0,$.jsx)(`h2`,{className:`oc-mobile-assistant-guide-title`,children:c}),t[8]=c,t[9]=l);let u;t[10]===r?u=t[11]:(u=r(`assistants.onboarding.description`),t[10]=r,t[11]=u);let d;t[12]===u?d=t[13]:(d=(0,$.jsx)(`p`,{className:`oc-mobile-assistant-guide-description`,children:u}),t[12]=u,t[13]=d);let f;t[14]!==s||t[15]!==l||t[16]!==d?(f=(0,$.jsxs)(`div`,{className:`oc-mobile-assistant-guide-heading`,children:[s,l,d]}),t[14]=s,t[15]=l,t[16]=d,t[17]=f):f=t[17];let p;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Z,{name:`sparkling`,className:`size-[18px]`}),t[18]=p):p=t[18];let m;t[19]===r?m=t[20]:(m=r(`assistants.settings.instanceEnabled`),t[19]=r,t[20]=m);let h;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(Z,{name:`arrow-right-s`,className:`ml-auto size-4`}),t[21]=h):h=t[21];let g;t[22]!==n||t[23]!==m?(g=(0,$.jsxs)(Ue,{type:`button`,size:`lg`,className:`w-full`,onClick:n,children:[p,m,h]}),t[22]=n,t[23]=m,t[24]=g):g=t[24];let _;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(`span`,{className:`oc-mobile-assistant-guide-share-icon`,children:(0,$.jsx)(Z,{name:`share-2`,className:`size-4`})}),t[25]=_):_=t[25];let v;t[26]===r?v=t[27]:(v=r(`assistants.shareWelcome.title`),t[26]=r,t[27]=v);let y;t[28]===v?y=t[29]:(y=(0,$.jsx)(`h3`,{id:`assistant-share-guide-title`,className:`typography-ui-label font-semibold text-foreground`,children:v}),t[28]=v,t[29]=y);let b;t[30]===r?b=t[31]:(b=r(`assistants.shareWelcome.description`),t[30]=r,t[31]=b);let x;t[32]===b?x=t[33]:(x=(0,$.jsx)(`p`,{className:`mt-1 typography-meta leading-5 text-muted-foreground`,children:b}),t[32]=b,t[33]=x);let S;t[34]!==y||t[35]!==x?(S=(0,$.jsxs)(`div`,{className:`oc-mobile-assistant-guide-share-heading`,children:[_,(0,$.jsxs)(`div`,{className:`min-w-0`,children:[y,x]})]}),t[34]=y,t[35]=x,t[36]=S):S=t[36];let C;t[37]===r?C=t[38]:(C=r(`assistants.shareWelcome.examplesAria`),t[37]=r,t[38]=C);let w;t[39]===r?w=t[40]:(w=aa.map((e,t)=>(0,$.jsxs)(`article`,{className:`oc-mobile-assistant-guide-step`,children:[(0,$.jsxs)(`div`,{className:`oc-mobile-assistant-guide-step-image`,children:[(0,$.jsx)(`img`,{src:e.image,alt:``}),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:t+1})]}),(0,$.jsxs)(`div`,{className:`oc-mobile-assistant-guide-step-copy`,children:[(0,$.jsx)(`h4`,{children:r(e.titleKey)}),(0,$.jsx)(`p`,{children:r(e.descriptionKey)})]})]},e.titleKey)),t[39]=r,t[40]=w);let T;t[41]!==C||t[42]!==w?(T=(0,$.jsx)(`div`,{className:`oc-mobile-assistant-guide-steps`,"aria-label":C,children:w}),t[41]=C,t[42]=w,t[43]=T):T=t[43];let E;t[44]!==S||t[45]!==T?(E=(0,$.jsxs)(`section`,{className:`oc-mobile-assistant-guide-share`,"aria-labelledby":`assistant-share-guide-title`,children:[S,T]}),t[44]=S,t[45]=T,t[46]=E):E=t[46];let D;return t[47]!==g||t[48]!==E||t[49]!==f?(D=(0,$.jsxs)(Dn,{className:`oc-mobile-assistant-guide`,children:[i,(0,$.jsxs)(`div`,{className:`oc-mobile-assistant-guide-body`,children:[f,g,E]})]}),t[47]=g,t[48]=E,t[49]=f,t[50]=D):D=t[50],D}function ca({assistantID:e,displayName:t,avatarEmoji:n,modeLabel:r,summary:i,enabled:a,editLabel:o,deleteLabel:s,onOpen:c,onEdit:l,onDelete:u}){let[d,f]=Q.useState(!1),[p,m]=Q.useState(!1),h=Q.useRef(null);h.current||=un({onPressedKeyChange:t=>m(t===e)}),Q.useEffect(()=>()=>h.current?.reset(),[]);let g=A(()=>{h.current?.consumeClick(e)||d||c()}),_=A(()=>{f(!1),l()}),v=A(()=>{f(!1),u()}),y=A(()=>{m(!1),f(!0)}),b=A(t=>{t.pointerType!==`touch`&&t.pointerType!==`pen`||t.button!==0||h.current?.start({pointerId:t.pointerId,key:e,clientX:t.clientX,clientY:t.clientY,onTrigger:y})}),x=A(e=>{h.current?.move(e.pointerId,e.clientX,e.clientY)}),S=A(e=>{h.current?.end(e.pointerId)}),C=A(e=>{h.current?.cancel(e.pointerId)}),w=A(t=>{t.preventDefault(),t.stopPropagation(),h.current?.openFromContextMenu(e,y)});return(0,$.jsxs)(Tr,{open:d,onOpenChange:f,children:[(0,$.jsx)(Dn,{"data-mobile-press-surface":`soft`,className:X(`oc-mobile-assistant-card-shell`,p&&`bg-interactive-hover`),children:(0,$.jsxs)(xr,{render:(0,$.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":`false`,"data-mobile-press-surface-trigger":!0,"data-mobile-press-feedback":`none`,className:X(`oc-mobile-assistant-card`,!a&&`opacity-65`),onClick:g,onPointerDown:b,onPointerMove:x,onPointerUp:S,onPointerCancel:C,onContextMenu:w,style:{touchAction:`pan-y`}}),children:[(0,$.jsx)(`span`,{className:`oc-mobile-assistant-avatar oc-mobile-glass-control oc-mobile-glass-control--clear rounded-full`,children:(0,$.jsx)(He,{name:e,emoji:n,size:28,label:t})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`oc-mobile-entity-title block truncate font-semibold text-foreground`,children:t}),(0,$.jsxs)(`span`,{className:`oc-mobile-entity-meta mt-0.5 flex min-w-0 items-center text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`shrink-0`,children:r}),(0,$.jsx)(`span`,{"aria-hidden":!0,className:`text-muted-foreground/50`,children:`·`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:i})]})]}),(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4 shrink-0 text-muted-foreground`})]})}),(0,$.jsxs)(Cr,{className:`min-w-[10rem]`,children:[(0,$.jsxs)(wr,{className:`min-h-10 px-3`,onClick:_,children:[(0,$.jsx)(Z,{name:`edit`,className:`size-4`}),o]}),(0,$.jsx)(Sr,{}),(0,$.jsxs)(wr,{className:`min-h-10 px-3 text-[var(--status-error)] focus:text-[var(--status-error)] data-[highlighted]:text-[var(--status-error)] [&_svg]:text-[var(--status-error)]`,onClick:v,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-4`}),s]})]})]})}function la(e){let t=(0,Wr.c)(104),{onEnable:n,onOpenAssistant:r,className:i}=e,{t:a}=ee(),o=Ut(),s=Le(),c=ze(),l=Be(ua),[u,d]=Q.useState(null),f;t[0]===n?f=t[1]:(f=()=>n(),t[0]=n,t[1]=f);let p=A(f),m;t[2]!==o||t[3]!==l?(m=()=>{l(),o?.openSettings(`assistants`)},t[2]=o,t[3]=l,t[4]=m):m=t[4];let h=A(m),g;t[5]===r?g=t[6]:(g=e=>r(e),t[5]=r,t[6]=g);let _=A(g),v;t[7]===o?v=t[8]:(v=e=>{Ve(e,o?{openMobileSettings:o.openSettings}:void 0)},t[7]=o,t[8]=v);let y=A(v),b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>{d(e)},t[9]=b):b=t[9];let x=A(b),S;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>{e||d(null)},t[10]=S):S=t[10];let C=A(S),w;t[11]===a?w=t[12]:(w=a(`assistants.title`),t[11]=a,t[12]=w);let T=w,E;t[13]===a?E=t[14]:(E=a(`assistants.menu.edit`),t[13]=a,t[14]=E);let D=E,O;t[15]===a?O=t[16]:(O=a(`assistants.settings.delete`),t[15]=a,t[16]=O);let k=O;if(s.isPending||s.data?.supported&&s.data.enabled&&c.isPending){let e;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Dn,{className:`oc-mobile-assistant-loading`,children:(0,$.jsx)(oa,{})}),t[17]=e):e=t[17];let n;return t[18]!==i||t[19]!==T?(n=(0,$.jsx)(En,{title:T,className:i,surface:!1,children:e}),t[18]=i,t[19]=T,t[20]=n):n=t[20],n}if(s.data?.supported&&s.data.enabled&&c.data?.enabled&&c.data.assistants.length>0){let e;t[21]===a?e=t[22]:(e=a(`assistants.listAria`),t[21]=a,t[22]=e);let n;if(t[23]!==k||t[24]!==D||t[25]!==y||t[26]!==_||t[27]!==x||t[28]!==c.data.assistants||t[29]!==a){let e;t[31]!==k||t[32]!==D||t[33]!==y||t[34]!==_||t[35]!==x||t[36]!==a?(e=e=>{let t=Oe(e.name),n=t.displayName||e.name,r=e.mode===`stateless`?a(`assistants.mode.stateless`):a(`assistants.mode.continuous`),i=e.defaultPrompt.trim()||(e.mode===`stateless`?a(`assistants.conversation.statelessHint`):a(`assistants.conversation.continuousHint`));return(0,$.jsx)(ca,{assistantID:e.id,displayName:n,avatarEmoji:t.avatarEmoji??void 0,modeLabel:r,summary:i,enabled:e.enabled,editLabel:D,deleteLabel:k,onOpen:()=>_(e.id),onEdit:()=>y(e.id),onDelete:()=>x(e)},e.id)},t[31]=k,t[32]=D,t[33]=y,t[34]=_,t[35]=x,t[36]=a,t[37]=e):e=t[37],n=c.data.assistants.map(e),t[23]=k,t[24]=D,t[25]=y,t[26]=_,t[27]=x,t[28]=c.data.assistants,t[29]=a,t[30]=n}else n=t[30];let r;t[38]!==e||t[39]!==n?(r=(0,$.jsx)(`div`,{className:`oc-mobile-assistant-catalog`,role:`listbox`,"aria-label":e,children:n}),t[38]=e,t[39]=n,t[40]=r):r=t[40];let o=u!==null,s;t[41]!==u||t[42]!==C||t[43]!==o?(s=(0,$.jsx)(Er,{assistant:u,open:o,onOpenChange:C}),t[41]=u,t[42]=C,t[43]=o,t[44]=s):s=t[44];let l;return t[45]!==i||t[46]!==T||t[47]!==r||t[48]!==s?(l=(0,$.jsxs)(En,{title:T,className:i,surface:!1,scrollsWithPage:!0,children:[r,s]}),t[45]=i,t[46]=T,t[47]=r,t[48]=s,t[49]=l):l=t[49],l}if(s.data?.supported&&s.data.enabled&&c.data?.enabled&&c.data.assistants.length===0){let e;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{className:`oc-mobile-assistant-onboarding-icon`,children:(0,$.jsx)(Z,{name:`ai-agent`,className:`size-5`})}),t[50]=e):e=t[50];let n;t[51]===a?n=t[52]:(n=a(`assistants.onboarding.title`),t[51]=a,t[52]=n);let r;t[53]===n?r=t[54]:(r=(0,$.jsx)(`h2`,{children:n}),t[53]=n,t[54]=r);let o;t[55]===a?o=t[56]:(o=a(`assistants.onboarding.description`),t[55]=a,t[56]=o);let s;t[57]===o?s=t[58]:(s=(0,$.jsx)(`p`,{children:o}),t[57]=o,t[58]=s);let c;t[59]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Z,{name:`add`,className:`size-[18px]`}),t[59]=c):c=t[59];let l;t[60]===a?l=t[61]:(l=a(`assistants.onboarding.action`),t[60]=a,t[61]=l);let u;t[62]!==h||t[63]!==l?(u=(0,$.jsxs)(Ue,{type:`button`,size:`lg`,className:`mt-6 w-full`,onClick:h,children:[c,l]}),t[62]=h,t[63]=l,t[64]=u):u=t[64];let d;t[65]!==r||t[66]!==s||t[67]!==u?(d=(0,$.jsxs)(Dn,{className:`oc-mobile-assistant-onboarding`,children:[e,r,s,u]}),t[65]=r,t[66]=s,t[67]=u,t[68]=d):d=t[68];let f;return t[69]!==i||t[70]!==T||t[71]!==d?(f=(0,$.jsx)(En,{title:T,className:i,surface:!1,surfaceClassName:`oc-mobile-assistant-state`,children:d}),t[69]=i,t[70]=T,t[71]=d,t[72]=f):f=t[72],f}let j=s.isSuccess&&s.data.supported===!1,M=s.isError||s.data?.supported===!0&&s.data.enabled&&c.isError,N=s.data?.supported===!0&&(s.data.enabled===!1||c.data?.enabled===!1),P;t[73]!==a||t[74]!==M||t[75]!==j?(P=a(M?`assistants.state.unavailable`:j?`assistants.state.unsupportedTitle`:`assistants.state.instanceDisabled`),t[73]=a,t[74]=M,t[75]=j,t[76]=P):P=t[76];let te=P;if(N&&!M){let e;t[77]===p?e=t[78]:(e=(0,$.jsx)(sa,{onEnable:p}),t[77]=p,t[78]=e);let n;return t[79]!==i||t[80]!==T||t[81]!==e?(n=(0,$.jsx)(En,{title:T,className:i,surface:!1,scrollsWithPage:!0,children:e}),t[79]=i,t[80]=T,t[81]=e,t[82]=n):n=t[82],n}let F;t[83]===T?F=t[84]:(F=(0,$.jsx)(`span`,{className:`oc-mobile-page-section-label`,children:T}),t[83]=T,t[84]=F);let I=j?`cloud-off`:`sparkling`,L;t[85]===I?L=t[86]:(L=(0,$.jsx)(`div`,{className:`flex size-12 items-center justify-center rounded-xl bg-interactive-selection text-interactive-selection-foreground`,children:(0,$.jsx)(Z,{name:I,weight:`medium`,className:`size-5`})}),t[85]=I,t[86]=L);let R;t[87]===te?R=t[88]:(R=(0,$.jsx)(`h2`,{className:`mt-5 max-w-xs text-lg font-semibold leading-snug tracking-[-0.02em] text-foreground`,children:te}),t[87]=te,t[88]=R);let z;t[89]!==a||t[90]!==M||t[91]!==j?(z=M?null:(0,$.jsx)(`p`,{className:`mt-2 max-w-sm typography-small leading-relaxed text-muted-foreground`,children:a(j?`assistants.state.unsupportedDescription`:`assistants.state.instanceDisabledDescription`)}),t[89]=a,t[90]=M,t[91]=j,t[92]=z):z=t[92];let B;t[93]!==L||t[94]!==R||t[95]!==z?(B=(0,$.jsxs)(`section`,{className:`w-full max-w-md py-2`,children:[L,R,z]}),t[93]=L,t[94]=R,t[95]=z,t[96]=B):B=t[96];let V;t[97]!==F||t[98]!==B?(V=(0,$.jsx)(An,{label:F,cardClassName:`oc-mobile-assistant-state-card`,children:B}),t[97]=F,t[98]=B,t[99]=V):V=t[99];let H;return t[100]!==i||t[101]!==T||t[102]!==V?(H=(0,$.jsx)(En,{title:T,className:i,surface:!1,surfaceClassName:`oc-mobile-assistant-state`,children:V}),t[100]=i,t[101]=T,t[102]=V,t[103]=H):H=t[103],H}function ua(e){return e.requestCreate}var da=[{id:`projects`,icon:`folder-open`,labelKey:`mobile.tabs.projects`},{id:`assistant`,icon:`sparkling`,labelKey:`mobile.tabs.assistant`},{id:`scheduled`,icon:`calendar-schedule`,labelKey:`mobile.tabs.scheduled`},{id:`settings`,icon:`settings-3`,labelKey:`mobile.tabs.settings`}];function fa(e){let t=(0,Wr.c)(17),{activeTab:n,onTabChange:r,className:i}=e,{t:a}=ee(),o;t[0]===r?o=t[1]:(o=e=>{r(e.currentTarget.dataset.tab)},t[0]=r,t[1]=o);let s=A(o),c;t[2]!==n||t[3]!==r?(c=e=>{if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=da.findIndex(e=>e.id===n),i=da[e.key===`Home`?0:e.key===`End`?da.length-1:(t+(e.key===`ArrowRight`?1:-1)+da.length)%da.length];r(i.id),document.getElementById(`mobile-tab-${i.id}`)?.focus()},t[2]=n,t[3]=r,t[4]=c):c=t[4];let l=A(c),u;t[5]===a?u=t[6]:(u=a(`mobile.nav.aria`),t[5]=a,t[6]=u);let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d={role:`tablist`},t[7]=d):d=t[7];let f;t[8]!==n||t[9]!==s||t[10]!==l||t[11]!==a?(f=da.map(e=>{let t=e.id===n,r=a(e.labelKey);return(0,$.jsxs)(Ue,{id:`mobile-tab-${e.id}`,"data-tab":e.id,type:`button`,role:`tab`,variant:`ghost`,size:`sm`,"aria-controls":`mobile-tabpanel-${e.id}`,"aria-label":r,"aria-selected":t,tabIndex:t?0:-1,title:r,onClick:s,onKeyDown:l,"data-mobile-press-feedback":`none`,className:X(`oc-mobile-tab-button min-w-0 flex-1 flex-col overflow-hidden`,`text-xs font-medium leading-none tracking-tight text-muted-foreground`,`transition-[background-color,color,box-shadow,transform] duration-100`,`hover:bg-transparent hover:text-foreground`,`active:scale-[0.985]`,`motion-reduce:transition-none`,t&&[`bg-interactive-selection/55 text-primary`,`hover:bg-interactive-selection/55 hover:text-primary`,`font-semibold`]),children:[(0,$.jsx)(Z,{name:e.icon,weight:`medium`,className:`size-[23px] shrink-0`}),(0,$.jsx)(`span`,{className:`block max-w-full overflow-hidden text-ellipsis whitespace-nowrap`,children:r})]},e.id)}),t[8]=n,t[9]=s,t[10]=l,t[11]=a,t[12]=f):f=t[12];let p;return t[13]!==i||t[14]!==u||t[15]!==f?(p=(0,$.jsx)(jn,{as:`nav`,"aria-label":u,variant:`navigation`,surfaceProps:d,className:i,children:f}),t[13]=i,t[14]=u,t[15]=f,t[16]=p):p=t[16],p}function pa(e){let t=(0,Wr.c)(23),{tabs:n,navigation:r,onTabChange:i,secondaryPages:a,showTabBar:o,tabBarCovered:s,className:c}=e,l=a===void 0?[]:a,u=o===void 0||o,d=s!==void 0&&s,{t:f}=ee(),p=r.activeTab,m=l.slice(-2),h=m.at(-1)??null,g=h?.key??null,_=h?.depth,v=m.length>1?m[m.length-2].key:null,y;t[0]===p?y=t[1]:(y=()=>new Set([p]),t[0]=p,t[1]=y);let[b,x]=Q.useState(y);b.has(p)||x(e=>{if(e.has(p))return e;let t=new Set(e);return t.add(p),t});let S=Q.useRef(null),C=Q.useRef(null),w=Q.useRef(null),T=Q.useRef(new Map),E=Q.useRef(null),D=Q.useRef(!1),O=Q.useRef(``),k=A(()=>h?.onBack());Zt({id:h?`mobile-secondary:${h.key}`:`mobile-secondary:inactive`,active:!!h,onBack:k,surfaceRef:S,underlayRef:C}),Q.useLayoutEffect(()=>{let e=g===null?null:T.current.get(g)??null,t=v===null?w.current:T.current.get(v)??null;S.current=e,C.current=t},[g,_,v]);let j;t[2]===h?j=t[3]:(j=[h],t[2]=h,t[3]=j),Q.useLayoutEffect(()=>{if(h){if(!D.current){let e=document.activeElement;E.current=e instanceof HTMLElement?e:null,D.current=!0}O.current!==h.key&&(O.current=h.key,S.current?.focus());return}if(D.current){D.current=!1,O.current=``;let e=E.current;E.current=null,e&&e.isConnected&&e.focus()}},j);let M;t[4]===i?M=t[5]:(M=e=>{i(e)},t[4]=i,t[5]=M);let N=A(M),P;t[6]===c?P=t[7]:(P=X(`oc-mobile-floating-shell relative isolate flex h-full min-h-0 flex-col overflow-hidden text-foreground`,`bg-[var(--oc-mobile-page-background)]`,c),t[6]=c,t[7]=P);let te=h?!0:void 0,F=h?!0:void 0,I;t[8]!==p||t[9]!==u||t[10]!==n||t[11]!==b?(I=da.map(e=>{let t=b.has(e.id);return(0,$.jsx)(`section`,{id:`mobile-tabpanel-${e.id}`,role:`tabpanel`,"aria-labelledby":`mobile-tab-${e.id}`,hidden:p!==e.id,tabIndex:0,className:X(`scrollbar-none h-full min-h-0 flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-[var(--oc-mobile-page-inline-inset)] pt-[calc(var(--safe-area-inset-top,env(safe-area-inset-top,0px))+1rem)] outline-none`,u?`pb-[calc(var(--oc-mobile-dock-height)+2.5rem+var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))]`:`pb-0`),children:t?n?.[e.id]??(0,$.jsx)(ma,{tab:e.id,icon:e.icon}):null},e.id)}),t[8]=p,t[9]=u,t[10]=n,t[11]=b,t[12]=I):I=t[12];let L;t[13]!==w||t[14]!==I||t[15]!==te||t[16]!==F?(L=(0,$.jsx)(`div`,{ref:w,"data-mobile-navigation-underlay":`true`,"aria-hidden":te,inert:F,className:`flex h-full min-h-0 flex-1 flex-col`,children:I}),t[13]=w,t[14]=I,t[15]=te,t[16]=F,t[17]=L):L=t[17];let R=u?(0,$.jsx)(`div`,{"data-mobile-navigation-dock-underlay":`true`,"aria-hidden":h||d?!0:void 0,inert:h||d?!0:void 0,children:(0,$.jsx)(fa,{activeTab:p,onTabChange:N})}):null,z=m.map((e,t)=>{let n=t===m.length-1;return(0,$.jsx)(`div`,{ref:t=>{t?T.current.set(e.key,t):T.current.delete(e.key)},"data-mobile-secondary-page":`true`,"data-mobile-secondary-active":n?`true`:`false`,role:n?`dialog`:void 0,"aria-modal":n?!0:void 0,"aria-label":n?e.ariaLabel??f(`mobile.nav.secondaryPageAria`):void 0,"aria-hidden":!n||void 0,inert:!n||void 0,tabIndex:n?-1:void 0,className:X(`absolute inset-0 flex h-full min-h-0 flex-col overflow-hidden bg-background outline-none`,n?`z-50`:`z-40`),children:e.content},e.key)}),B;return t[18]!==L||t[19]!==R||t[20]!==z||t[21]!==P?(B=(0,$.jsxs)(`div`,{className:P,children:[L,R,z]}),t[18]=L,t[19]=R,t[20]=z,t[21]=P,t[22]=B):B=t[22],B}function ma(e){let t=(0,Wr.c)(17),{tab:n,icon:r,className:i}=e,{t:a}=ee(),o,s,c,l;if(t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n){let e=da.find(e=>e.id===n)??da[0];t[8]===i?c=t[9]:(c=X(`flex min-h-[70dvh] flex-col items-center justify-center gap-3 text-center`,i),t[8]=i,t[9]=c),l=(0,$.jsx)(`span`,{className:`flex size-12 items-center justify-center rounded-2xl bg-[var(--surface-muted)] text-muted-foreground`,children:(0,$.jsx)(Z,{name:r??e.icon,className:`size-6`})}),o=`typography-ui-label font-semibold tracking-[-0.01em] text-foreground`,s=a(e.labelKey),t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=o,t[5]=s,t[6]=c,t[7]=l}else o=t[4],s=t[5],c=t[6],l=t[7];let u;t[10]!==o||t[11]!==s?(u=(0,$.jsx)(`h1`,{className:o,children:s}),t[10]=o,t[11]=s,t[12]=u):u=t[12];let d;return t[13]!==c||t[14]!==l||t[15]!==u?(d=(0,$.jsxs)(`div`,{className:c,children:[l,u]}),t[13]=c,t[14]=l,t[15]=u,t[16]=d):d=t[16],d}var ha={neutral:void 0,info:{color:`var(--status-info)`,backgroundColor:`var(--status-info-background)`},success:{color:`var(--status-success)`,backgroundColor:`var(--status-success-background)`},warning:{color:`var(--status-warning)`,backgroundColor:`var(--status-warning-background)`},error:{color:`var(--status-error)`,backgroundColor:`var(--status-error-background)`}},ga=e=>{let t=e.replace(/\\/g,`/`).replace(/\/+$/g,``);if(!t)return``;let n=t.split(`/`).filter(Boolean);return n.length<=1?t:n.length===2?n[0]:n.slice(-3,-1).join(`/`)};function _a({project:e,expanded:t,embedded:n=!1,onToggle:r,onOpenActions:i,className:a}){let{t:o}=ee(),[s,c]=Q.useState(!1),l=Q.useRef(null);l.current||=un({onPressedKeyChange:t=>c(t===e.id)}),Q.useEffect(()=>()=>l.current?.reset(),[]);let u=A(()=>{l.current?.consumeClick(e.id)||r(e)}),d=A(()=>i(e)),f=A(t=>{t.pointerType!==`touch`&&t.pointerType!==`pen`||t.button!==0||l.current?.start({pointerId:t.pointerId,key:e.id,clientX:t.clientX,clientY:t.clientY,onTrigger:()=>{c(!1),i(e)}})}),p=A(e=>{l.current?.move(e.pointerId,e.clientX,e.clientY)}),m=A(e=>{l.current?.end(e.pointerId)}),h=A(e=>{l.current?.cancel(e.pointerId)}),g=A(t=>{t.preventDefault(),t.stopPropagation(),l.current?.openFromContextMenu(e.id,()=>{c(!1),i(e)})}),_=e.sessionCount===1?o(`mobile.sessions.project.sessionsSingle`):o(`mobile.sessions.project.sessionsPlural`,{count:e.sessionCount}),v=ga(e.path),y=(0,$.jsxs)(`article`,{"data-mobile-press-surface":`soft`,className:X(`oc-mobile-project-card relative flex items-stretch overflow-hidden rounded-[var(--oc-mobile-surface-radius)]`,s&&`bg-interactive-hover`,a),children:[(0,$.jsxs)(`button`,{type:`button`,"data-mobile-press-surface-trigger":!0,"data-mobile-press-feedback":`none`,className:`oc-mobile-project-trigger flex min-w-0 flex-1 items-center text-left outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)]`,"aria-expanded":t,onClick:u,onPointerDown:f,onPointerMove:p,onPointerUp:m,onPointerCancel:h,onContextMenu:g,style:{touchAction:`pan-y`},children:[(0,$.jsx)(`span`,{className:X(`oc-mobile-project-icon oc-mobile-glass-control flex shrink-0 items-center justify-center rounded-full text-muted-foreground`),style:ha[e.tone??`neutral`],"aria-hidden":!0,children:(0,$.jsx)(Z,{name:e.icon??`code-box`,className:`oc-mobile-project-icon-glyph`})}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`oc-mobile-project-title oc-mobile-entity-title truncate font-semibold text-foreground`,children:e.name}),e.active?(0,$.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-[var(--status-success)] shadow-[0_0_0_3px_color-mix(in_srgb,var(--status-success)_12%,transparent)]`,"aria-label":o(`mobile.sessions.activeProjectAria`)}):null]}),(0,$.jsxs)(`span`,{className:`oc-mobile-project-meta oc-mobile-entity-meta flex min-w-0 items-center text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:_}),e.activityLabel?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,className:`text-muted-foreground/50`,children:`·`}),(0,$.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:e.activityLabel})]}):null,v?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,className:`text-muted-foreground/50`,children:`·`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,title:e.path,children:v})]}):null]})]}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:X(`oc-mobile-project-chevron shrink-0 text-muted-foreground transition-transform duration-150 motion-reduce:transition-none`,t?`rotate-0`:`-rotate-90`)})]}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,className:`oc-mobile-project-action self-center rounded-full text-muted-foreground`,"aria-label":o(`sessions.sidebar.project.actions.projectMenu`),onClick:d,children:(0,$.jsx)(Z,{name:`more-2`,className:`size-4`})})]});return n?y:(0,$.jsx)(Dn,{asChild:!0,children:y})}var va=({hasPendingQuestion:e,hasPendingPermission:t,running:n,unread:r})=>e?`question`:t?`permission`:n?`running`:r?`completed-unread`:`idle`,ya=10,ba=`oc:mobile-session-row-revealed`,xa=e=>{window.dispatchEvent(new CustomEvent(ba,{detail:e}))};function Sa({session:e,depth:t=0,hasChildren:n=!1,expanded:r=!1,paginationContinues:i=!1,onToggleChildren:a,onSelect:o,onPin:s,onArchive:c,onOpenActions:l,indicator:u,className:d}){let{t:f}=ee(),[p,m]=Q.useState(0),[h,g]=Q.useState(!1),[_,v]=Q.useState(!1),y=Q.useRef(null),b=Q.useRef(!1),x=Q.useRef(null),S=Q.useRef(null);S.current||=un({onPressedKeyChange:t=>g(t===e.id)}),Q.useEffect(()=>()=>S.current?.reset(),[]),Q.useEffect(()=>{let t=t=>{t.detail!==e.id&&m(0)};return window.addEventListener(ba,t),()=>window.removeEventListener(ba,t)},[e.id]),Q.useEffect(()=>{m(0)},[e.id]);let C=A(()=>m(0)),w=p!==0,T=A(t=>{if(t.button!==0||t.pointerType!==`touch`&&t.pointerType!==`pen`)return;let n=x.current?.offsetWidth??0;n<=0||(y.current={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,startOffset:p,actionWidth:n,intent:`pending`},b.current=!1,S.current?.start({pointerId:t.pointerId,key:e.id,clientX:t.clientX,clientY:t.clientY,onTrigger:()=>{g(!1),l(e)}}))}),E=A(t=>{let n=y.current;if(!n||n.pointerId!==t.pointerId)return;let r=t.clientX-n.startX,i=t.clientY-n.startY;if(S.current?.move(t.pointerId,t.clientX,t.clientY),n.intent===`pending`){let a=Math.abs(r),o=Math.abs(i);if(o>ya&&o>a){n.intent=`vertical`,y.current=null,S.current?.cancel(t.pointerId);return}if(a>ya&&a>o){n.intent=`horizontal`,v(!0),b.current=!0,S.current?.cancel(t.pointerId);try{t.currentTarget.setPointerCapture(t.pointerId)}catch{}xa(e.id)}}if(n.intent!==`horizontal`)return;t.preventDefault();let a=Math.max(-n.actionWidth,Math.min(0,n.startOffset+r));m(a)}),D=A(e=>{let t=y.current;S.current?.end(e.pointerId),!(!t||t.pointerId!==e.pointerId)&&(y.current=null,t.intent===`horizontal`&&(v(!1),m(e=>e<-(t.actionWidth*.35)?-t.actionWidth:0)))}),O=A(e=>{let t=y.current;y.current=null,S.current?.cancel(e.pointerId),v(!1),m(t?.startOffset??0)}),k=A(()=>{if(!S.current?.consumeClick(e.id)){if(b.current){b.current=!1;return}if(p!==0){C();return}xa(e.id),o(e)}}),j=A(t=>{t.preventDefault(),t.stopPropagation(),S.current?.openFromContextMenu(e.id,()=>{g(!1),l(e)})}),M=A(()=>{C(),s(e)}),N=A(()=>{C(),c(e)}),P=A(()=>l(e)),te=A(()=>a?.()),F=e.pinned?f(`sessions.sidebar.session.menu.unpin`):f(`sessions.sidebar.session.menu.pin`),I=u??va({hasPendingQuestion:!1,hasPendingPermission:!1,running:!1,unread:!!e.unread}),L=I===`question`?f(`sessions.sidebar.session.status.questionRequired`):I===`permission`?f(`sessions.sidebar.session.status.permissionRequired`):I===`running`?f(`sessions.sidebar.session.status.active`):I===`completed-unread`?f(`sessions.sidebar.session.status.unread`):void 0;return e.kind===`pagination`?(0,$.jsx)(`div`,{className:X(`oc-mobile-session-row`,i&&`oc-mobile-session-pagination-continues`,d),children:(0,$.jsxs)(`button`,{type:`button`,"data-mobile-press-feedback":`soft`,className:`oc-mobile-session-pagination-row`,onClick:k,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left font-medium text-foreground`,children:e.title}),e.subtitle?(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e.subtitle}):null,(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-4 shrink-0 text-muted-foreground`})]})}):(0,$.jsxs)(`div`,{className:X(`oc-mobile-session-row relative isolate overflow-hidden`,d),children:[(0,$.jsxs)(`div`,{ref:x,className:X(`oc-mobile-session-actions absolute inset-y-0 right-0 z-0 flex items-stretch`,_?`transition-none`:`transition-transform duration-150 ease-out`,!w&&`invisible pointer-events-none`),style:{transform:`translate3d(calc(var(--oc-mobile-session-actions-width) + ${p}px), 0, 0)`,willChange:p===0?void 0:`transform`},"aria-hidden":!w,children:[(0,$.jsxs)(Ue,{type:`button`,variant:`secondary`,className:`oc-mobile-session-action h-full flex-col rounded-none border-0 bg-interactive-selection px-1 text-interactive-selection-foreground hover:bg-interactive-active`,"aria-label":F,tabIndex:w?0:-1,onClick:M,children:[(0,$.jsx)(Z,{name:e.pinned?`unpin`:`pushpin`,className:`size-[18px]`}),(0,$.jsx)(`span`,{className:`oc-mobile-session-action-label font-medium`,children:F})]}),(0,$.jsxs)(Ue,{type:`button`,variant:`destructive`,className:`oc-mobile-session-action h-full flex-col rounded-none border-0 px-1`,"aria-label":f(`sessions.sidebar.bulkActions.archive`),tabIndex:w?0:-1,onClick:N,children:[(0,$.jsx)(Z,{name:`archive`,className:`size-[18px]`}),(0,$.jsx)(`span`,{className:`oc-mobile-session-action-label font-medium`,children:f(`sessions.sidebar.bulkActions.archive`)})]})]}),(0,$.jsxs)(`div`,{className:X(`oc-mobile-session-row-content relative z-10 flex items-center`,`text-foreground`,`ease-out motion-reduce:transition-none`,_?`transition-none`:`transition-[transform,background-color] duration-150`,e.active&&`bg-interactive-selection/50`,e.archived&&`opacity-55`,h&&!e.active&&`bg-interactive-hover`),style:{transform:`translate3d(${p}px, 0, 0)`,willChange:p===0?void 0:`transform`},children:[n&&a?(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,className:`min-h-9 min-w-9 shrink-0 rounded-full text-muted-foreground`,"aria-label":f(r?`sessions.sidebar.session.subsessions.collapse`:`sessions.sidebar.session.subsessions.expand`),onClick:te,children:(0,$.jsx)(Z,{name:`arrow-down-s`,className:X(`size-3.5 transition-transform duration-150 motion-reduce:transition-none`,r?`rotate-0`:`-rotate-90`)})}):null,(0,$.jsxs)(`button`,{type:`button`,"data-mobile-press-feedback":`soft`,className:`oc-mobile-session-row-main flex min-w-0 flex-1 items-center text-left outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[var(--interactive-focus-ring)]`,style:{paddingLeft:16+Math.min(t,4)*12,touchAction:`pan-y`},onClick:k,onPointerDown:T,onPointerMove:E,onPointerUp:D,onPointerCancel:O,onContextMenu:j,children:[(0,$.jsx)(`span`,{className:`oc-mobile-session-status shrink-0`,"data-session-status":I,"aria-hidden":!L||void 0,"aria-label":L,title:L,children:I===`running`?(0,$.jsx)(Rn,{className:`motion-reduce:[&_svg]:animate-none`}):I===`question`?(0,$.jsx)(Z,{name:`question`,className:`size-3.5 text-[var(--status-warning)]`}):I===`permission`?(0,$.jsx)(Z,{name:`shield`,className:`size-3.5 text-destructive`}):(0,$.jsx)(`span`,{className:X(`oc-mobile-session-dot rounded-full`,I===`completed-unread`?`bg-[var(--status-info)]`:`bg-muted-foreground/35`)})}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:X(`oc-mobile-session-title truncate`,e.unread?`font-semibold`:`font-medium`),children:e.title}),e.pinned?(0,$.jsx)(Z,{name:`pushpin`,className:`size-3 shrink-0 text-muted-foreground`,"aria-hidden":!0}):null,e.archived?(0,$.jsx)(Z,{name:`archive`,className:`size-3 shrink-0 text-muted-foreground`,"aria-hidden":!0}):null]}),e.subtitle?(0,$.jsx)(`span`,{className:`oc-mobile-session-subtitle truncate text-muted-foreground`,children:e.subtitle}):null]}),(0,$.jsx)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-muted-foreground`,children:e.activityLabel?(0,$.jsx)(`span`,{className:`oc-mobile-session-time tabular-nums`,children:e.activityLabel}):null})]}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,className:`mr-1 min-h-9 min-w-9 shrink-0 rounded-full text-muted-foreground`,"aria-label":f(`sessions.sidebar.session.menu.label`),onClick:P,children:(0,$.jsx)(Z,{name:`more-2`,className:`size-3.5`})})]})]})}var Ca=(e,...t)=>t.some(t=>t?.toLowerCase().includes(e)),wa=(e,t)=>e.filter(e=>e.kind!==`pagination`&&Ca(t,e.title,e.subtitle,e.id)),Ta=(e,t)=>{if(Ca(t,e.name,e.path))return{...e,sessions:e.sessions.filter(e=>e.kind!==`pagination`)};let n=wa(e.sessions,t);return n.length>0?{...e,sessions:n}:null},Ea=(e,t)=>{let n=t.trim().toLowerCase();return n?e.flatMap(e=>{if(Ca(n,e.name,e.path))return[{...e,worktrees:[]}];let t=e.worktrees.flatMap(e=>{let t=Ta(e,n);return t?[t]:[]});return t.length>0?[{...e,worktrees:t}]:[]}):e},Da=10,Oa=`oc:mobile-worktree-row-revealed`,ka=e=>{window.dispatchEvent(new CustomEvent(Oa,{detail:e}))};function Aa(e){let t=(0,Wr.c)(10),n=G(e.session.id),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={bootstrap:!1},t[0]=r):r=t[0];let i=xe(e.session.id,e.session.directory,r),a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a={bootstrap:!1},t[1]=a):a=t[1];let o=me(e.session.id,e.session.directory,a).length>0,s=i.length>0,c=n?.type===`busy`||n?.type===`retry`,l=!!e.session.unread,u;t[2]!==o||t[3]!==s||t[4]!==c||t[5]!==l?(u=va({hasPendingQuestion:o,hasPendingPermission:s,running:c,unread:l}),t[2]=o,t[3]=s,t[4]=c,t[5]=l,t[6]=u):u=t[6];let d=u,f;return t[7]!==d||t[8]!==e?(f=(0,$.jsx)(Sa,{...e,indicator:d}),t[7]=d,t[8]=e,t[9]=f):f=t[9],f}function ja(e){let t=(0,Wr.c)(8),{sessions:n,onSelectSession:r,onPinSession:i,onArchiveSession:a,onOpenSessionActions:o}=e,s;t[0]!==a||t[1]!==o||t[2]!==i||t[3]!==r||t[4]!==n?(s=n.map((e,t)=>{let s=e.kind===`pagination`&&n[t+1]?.kind===`pagination`,c=e.kind===`pagination`?Sa:Aa;return(0,$.jsx)(c,{session:e,paginationContinues:s,onSelect:r,onPin:i,onArchive:a,onOpenActions:o},e.id)}),t[0]=a,t[1]=o,t[2]=i,t[3]=r,t[4]=n,t[5]=s):s=t[5];let c;return t[6]===s?c=t[7]:(c=(0,$.jsx)($.Fragment,{children:s}),t[6]=s,t[7]=c),c}function Ma(e){let t=(0,Wr.c)(22),{icon:n,label:r,count:i,expanded:a,onToggle:o,actions:s}=e,{t:c}=ee(),l;t[0]===n?l=t[1]:(l=(0,$.jsx)(`span`,{className:`oc-mobile-group-label-icon`,"aria-hidden":!0,children:n}),t[0]=n,t[1]=l);let u;t[2]===r?u=t[3]:(u=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left typography-ui-label font-semibold text-foreground`,children:r}),t[2]=r,t[3]=u);let d;t[4]!==i||t[5]!==c?(d=typeof i==`number`?(0,$.jsx)(`span`,{className:`typography-small text-muted-foreground tabular-nums`,children:i===1?c(`mobile.sessions.project.sessionsSingle`):c(`mobile.sessions.project.sessionsPlural`,{count:i})}):null,t[4]=i,t[5]=c,t[6]=d):d=t[6];let f;t[7]!==a||t[8]!==o?(f=o?(0,$.jsx)(Z,{name:`arrow-down-s`,className:X(`size-3.5 text-muted-foreground transition-transform duration-150 motion-reduce:transition-none`,a?`rotate-0`:`-rotate-90`)}):null,t[7]=a,t[8]=o,t[9]=f):f=t[9];let p;t[10]!==l||t[11]!==u||t[12]!==d||t[13]!==f?(p=(0,$.jsxs)($.Fragment,{children:[l,u,d,f]}),t[10]=l,t[11]=u,t[12]=d,t[13]=f,t[14]=p):p=t[14];let m=p,h;t[15]!==m||t[16]!==a||t[17]!==o?(h=o?(0,$.jsx)(`button`,{type:`button`,"data-mobile-press-feedback":`soft`,className:`oc-mobile-group-label-trigger`,"aria-expanded":a,onClick:o,children:m}):(0,$.jsx)(`div`,{className:`oc-mobile-group-label-trigger`,children:m}),t[15]=m,t[16]=a,t[17]=o,t[18]=h):h=t[18];let g;return t[19]!==s||t[20]!==h?(g=(0,$.jsxs)(`div`,{className:`oc-mobile-group-label`,children:[h,s]}),t[19]=s,t[20]=h,t[21]=g):g=t[21],g}function Na({project:e,worktree:t,expanded:n,onToggle:r,onNewSession:i,onOpenActions:a,onDelete:o}){let{t:s}=ee(),c=`${e.id}::${t.id}`,l=!!(i||o),u=!!a,d=Number(!!i)+Number(!!o),[f,p]=Q.useState(0),[m,h]=Q.useState(!1),[g,_]=Q.useState(!1),v=Q.useRef(null),y=Q.useRef(!1),b=Q.useRef(null),x=Q.useRef(null);x.current||=un({onPressedKeyChange:e=>h(e===c)}),Q.useEffect(()=>()=>x.current?.reset(),[]),Q.useEffect(()=>{let e=e=>{e.detail!==c&&p(0)};return window.addEventListener(Oa,e),()=>window.removeEventListener(Oa,e)},[c]),Q.useEffect(()=>{p(0)},[c]);let S=A(()=>p(0)),C=f!==0,w=A(n=>{if(n.button===0&&(n.pointerType===`touch`||n.pointerType===`pen`)){if(l){let e=b.current?.offsetWidth??0;e>0&&(v.current={pointerId:n.pointerId,startX:n.clientX,startY:n.clientY,startOffset:f,actionWidth:e,intent:`pending`},y.current=!1)}u&&x.current?.start({pointerId:n.pointerId,key:c,clientX:n.clientX,clientY:n.clientY,onTrigger:()=>{h(!1),a?.(e,t)}})}}),T=A(e=>{let t=v.current;if(!t||t.pointerId!==e.pointerId){x.current?.move(e.pointerId,e.clientX,e.clientY);return}let n=e.clientX-t.startX,r=e.clientY-t.startY;if(x.current?.move(e.pointerId,e.clientX,e.clientY),t.intent===`pending`){let i=Math.abs(n),a=Math.abs(r);if(a>Da&&a>i){t.intent=`vertical`,v.current=null,x.current?.cancel(e.pointerId);return}if(i>Da&&i>a){t.intent=`horizontal`,_(!0),y.current=!0,x.current?.cancel(e.pointerId);try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}ka(c)}}if(t.intent!==`horizontal`)return;e.preventDefault();let i=Math.max(-t.actionWidth,Math.min(0,t.startOffset+n));p(i)}),E=A(e=>{let t=v.current;x.current?.end(e.pointerId),!(!t||t.pointerId!==e.pointerId)&&(v.current=null,t.intent===`horizontal`&&(_(!1),p(e=>e<-(t.actionWidth*.35)?-t.actionWidth:0)))}),D=A(e=>{let t=v.current;v.current=null,x.current?.cancel(e.pointerId),_(!1),p(t?.startOffset??0)}),O=A(()=>{if(!x.current?.consumeClick(c)){if(y.current){y.current=!1;return}if(f!==0){S();return}r()}}),k=A(n=>{u&&(n.preventDefault(),n.stopPropagation(),x.current?.openFromContextMenu(c,()=>{h(!1),a?.(e,t)}))}),j=A(()=>{S(),i?.(e,t)}),M=A(()=>{S(),o?.(e,t)}),N=A(()=>a?.(e,t)),P=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`oc-mobile-group-label-icon`,"aria-hidden":!0,children:(0,$.jsx)(Z,{name:`git-branch`,className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left typography-ui-label font-semibold text-foreground`,children:t.name}),(0,$.jsx)(`span`,{className:`typography-small text-muted-foreground tabular-nums`,children:t.sessionCount===1?s(`mobile.sessions.project.sessionsSingle`):s(`mobile.sessions.project.sessionsPlural`,{count:t.sessionCount})}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:X(`size-3.5 text-muted-foreground transition-transform duration-150 motion-reduce:transition-none`,n?`rotate-0`:`-rotate-90`)})]});return(0,$.jsxs)(`div`,{className:`oc-mobile-group-label oc-mobile-worktree-label relative isolate overflow-hidden`,children:[l?(0,$.jsxs)(`div`,{ref:b,className:X(`oc-mobile-worktree-actions absolute inset-y-0 right-0 z-0 flex items-stretch`,g?`transition-none`:`transition-transform duration-150 ease-out`,!C&&`invisible pointer-events-none`),style:{width:`calc(${d} * var(--oc-mobile-worktree-action-width))`,transform:`translate3d(calc(100% + ${f}px), 0, 0)`,willChange:f===0?void 0:`transform`},"aria-hidden":!C,children:[i?(0,$.jsxs)(Ue,{type:`button`,variant:`secondary`,className:`oc-mobile-worktree-action h-full flex-col rounded-none border-0 bg-interactive-selection px-1 text-interactive-selection-foreground hover:bg-interactive-active`,"aria-label":s(`mobile.sessions.newSessionAria`),tabIndex:C?0:-1,onClick:j,children:[(0,$.jsx)(Z,{name:`add`,className:`size-[18px]`}),(0,$.jsx)(`span`,{className:`oc-mobile-session-action-label font-medium`,children:s(`sessions.sidebar.project.actions.newSession`)})]}):null,o?(0,$.jsxs)(Ue,{type:`button`,variant:`destructive`,className:`oc-mobile-worktree-action h-full flex-col rounded-none border-0 px-1`,"aria-label":s(`mobile.projectEdit.deleteWorktreeAria`,{label:t.name}),tabIndex:C?0:-1,onClick:M,children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-[18px]`}),(0,$.jsx)(`span`,{className:`oc-mobile-session-action-label font-medium`,children:s(`mobile.projectEdit.deleteWorktreeConfirmButton`)})]}):null]}):null,(0,$.jsxs)(`div`,{className:X(`oc-mobile-worktree-label-content relative z-10 flex min-w-0 flex-1 items-center`,`ease-out motion-reduce:transition-none`,g?`transition-none`:`transition-transform duration-150`),style:{transform:`translate3d(${f}px, 0, 0)`,willChange:f===0?void 0:`transform`},"data-pressed":m?`true`:void 0,children:[(0,$.jsx)(`button`,{type:`button`,"data-mobile-press-feedback":`soft`,className:`oc-mobile-group-label-trigger oc-mobile-worktree-label-trigger`,"aria-expanded":n,onClick:O,onPointerDown:w,onPointerMove:T,onPointerUp:E,onPointerCancel:D,onContextMenu:k,style:{touchAction:`pan-y`},children:P}),u?(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,className:`oc-mobile-worktree-more rounded-full text-muted-foreground`,"aria-label":s(`agentManager.detail.actions.worktreeActionsAria`),onClick:N,children:(0,$.jsx)(Z,{name:`more-2`,className:`size-3.5`})}):null]})]})}var Pa=e=>e.filter(e=>!e.id.startsWith(`__show_`)),Fa=e=>({pinned:Pa(e).filter(e=>e.pinned),rest:e.filter(e=>!e.pinned)});function Ia(e){let t=(0,Wr.c)(120),{projects:n,onAddProject:r,onNewSession:i,onScanQr:a,onSwitchInstance:o,onToggleProject:s,onOpenProjectActions:c,onToggleWorktree:l,onNewWorktreeSession:u,onOpenWorktreeActions:d,onDeleteWorktree:f,onSelectSession:p,onPinSession:m,onArchiveSession:h,onOpenSessionActions:g,className:_}=e,{t:v}=ee(),y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y={},t[0]=y):y=t[0];let[b,x]=Q.useState(y),[S,C]=Q.useState(!1),[w,T]=Q.useState(!1),[E,D]=Q.useState(``),O;t[1]===E?O=t[2]:(O=E.trim().toLowerCase(),t[1]=E,t[2]=O);let k=O,j=k.length>0,M;t[3]!==k||t[4]!==n?(M=Ea(n,k),t[3]=k,t[4]=n,t[5]=M):M=t[5];let N=M,P=A(r),te=A(i),F;t[6]===a?F=t[7]:(F=()=>a?.(),t[6]=a,t[7]=F);let I=A(F),L;t[8]===o?L=t[9]:(L=()=>o?.(),t[8]=o,t[9]=L);let R=A(L),z;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>T(e),t[10]=z):z=t[10];let B=A(z),V;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>{D(``),C(!1)},t[11]=V):V=t[11];let H=A(V),U;t[12]!==H||t[13]!==S?(U=()=>{if(S){H();return}C(!0)},t[12]=H,t[13]=S,t[14]=U):U=t[14];let W=A(U),ne;t[15]!==H||t[16]!==s?(ne=e=>{H(),e.expanded||s(e)},t[15]=H,t[16]=s,t[17]=ne):ne=t[17];let re=A(ne),ie;t[18]!==H||t[19]!==s||t[20]!==l?(ie=(e,t)=>{H(),e.expanded||s(e),t.expanded||l(e,t)},t[18]=H,t[19]=s,t[20]=l,t[21]=ie):ie=t[21];let G=A(ie),ae;t[22]!==H||t[23]!==p?(ae=e=>{H(),p(e)},t[22]=H,t[23]=p,t[24]=ae):ae=t[24];let oe=A(ae),se;t[25]===_?se=t[26]:(se=X(`relative isolate mx-auto flex w-full max-w-[26rem] flex-col gap-5`,_),t[25]=_,t[26]=se);let ce;t[27]===v?ce=t[28]:(ce=v(`mobile.sessions.section.projects`),t[27]=v,t[28]=ce);let le;t[29]!==S||t[30]!==v?(le=v(S?`mobile.sessions.clearSearchAria`:`mobile.sessions.searchAria`),t[29]=S,t[30]=v,t[31]=le):le=t[31];let ue=S?`close`:`search`,K;t[32]===ue?K=t[33]:(K=(0,$.jsx)(Z,{name:ue,className:`size-5`}),t[32]=ue,t[33]=K);let de;t[34]!==W||t[35]!==S||t[36]!==le||t[37]!==K?(de=(0,$.jsx)(Ue,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,"aria-label":le,"aria-expanded":S,onClick:W,children:K}),t[34]=W,t[35]=S,t[36]=le,t[37]=K,t[38]=de):de=t[38];let fe;t[39]===v?fe=t[40]:(fe=v(`mobile.projects.menu.label`),t[39]=v,t[40]=fe);let pe=w?`rotate-45`:`rotate-0`,me;t[41]===pe?me=t[42]:(me=X(`size-5 transition-transform duration-150 motion-reduce:transition-none`,pe),t[41]=pe,t[42]=me);let he;t[43]===me?he=t[44]:(he=(0,$.jsx)(Z,{name:`add`,className:me}),t[43]=me,t[44]=he);let ge;t[45]!==fe||t[46]!==he?(ge=(0,$.jsx)(Mt,{asChild:!0,children:(0,$.jsx)(Ue,{type:`button`,size:`mobileIcon`,className:`oc-mobile-round-control border-transparent bg-[var(--primary-base)] text-[var(--primary-foreground)] shadow-[0_10px_22px_color-mix(in_srgb,var(--primary-base)_22%,transparent)] hover:bg-[var(--primary-hover)] dark:bg-[var(--primary-base)] dark:hover:bg-[var(--primary-hover)]`,"aria-label":fe,children:he})}),t[45]=fe,t[46]=he,t[47]=ge):ge=t[47];let _e;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(Z,{name:`chat-new`,className:`size-4`}),t[48]=_e):_e=t[48];let q;t[49]===v?q=t[50]:(q=v(`mobile.projects.menu.newChat`),t[49]=v,t[50]=q);let ve;t[51]!==te||t[52]!==q?(ve=(0,$.jsxs)(Nt,{className:`min-h-11`,onSelect:te,children:[_e,q]}),t[51]=te,t[52]=q,t[53]=ve):ve=t[53];let ye;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(Z,{name:`folder-add`,className:`size-4`}),t[54]=ye):ye=t[54];let be;t[55]===v?be=t[56]:(be=v(`mobile.projects.menu.newProject`),t[55]=v,t[56]=be);let xe;t[57]!==P||t[58]!==be?(xe=(0,$.jsxs)(Nt,{className:`min-h-11`,onSelect:P,children:[ye,be]}),t[57]=P,t[58]=be,t[59]=xe):xe=t[59];let Se;t[60]!==I||t[61]!==a||t[62]!==v?(Se=a?(0,$.jsxs)(Nt,{className:`min-h-11`,onSelect:I,children:[(0,$.jsx)(Z,{name:`scan-2`,className:`size-4`}),v(`mobile.projects.menu.scanQr`)]}):null,t[60]=I,t[61]=a,t[62]=v,t[63]=Se):Se=t[63];let Ce;t[64]!==R||t[65]!==o||t[66]!==v?(Ce=o?(0,$.jsxs)(Nt,{className:`min-h-11`,onSelect:R,children:[(0,$.jsx)(Z,{name:`server`,className:`size-4`}),v(`mobile.projects.menu.switchInstance`)]}):null,t[64]=R,t[65]=o,t[66]=v,t[67]=Ce):Ce=t[67];let we;t[68]!==ve||t[69]!==xe||t[70]!==Se||t[71]!==Ce?(we=(0,$.jsxs)(At,{align:`end`,side:`bottom`,className:`min-w-44`,children:[ve,xe,Se,Ce]}),t[68]=ve,t[69]=xe,t[70]=Se,t[71]=Ce,t[72]=we):we=t[72];let J;t[73]!==B||t[74]!==w||t[75]!==ge||t[76]!==we?(J=(0,$.jsxs)(jt,{open:w,onOpenChange:B,children:[ge,we]}),t[73]=B,t[74]=w,t[75]=ge,t[76]=we,t[77]=J):J=t[77];let Y;t[78]!==de||t[79]!==J?(Y=(0,$.jsxs)($.Fragment,{children:[de,J]}),t[78]=de,t[79]=J,t[80]=Y):Y=t[80];let Te;t[81]!==ce||t[82]!==Y?(Te=(0,$.jsx)(wn,{title:ce,trailing:Y}),t[81]=ce,t[82]=Y,t[83]=Te):Te=t[83];let Ee;t[84]!==H||t[85]!==S||t[86]!==E||t[87]!==v?(Ee=S?(0,$.jsxs)(`div`,{className:`relative mx-1`,role:`search`,children:[(0,$.jsx)(Z,{name:`search`,className:`pointer-events-none absolute left-3 top-1/2 z-10 size-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(xt,{autoFocus:!0,type:`text`,inputMode:`search`,enterKeyHint:`search`,value:E,placeholder:v(`mobile.sessions.search.placeholder`),"aria-label":v(`mobile.sessions.searchAria`),className:X(`h-11 rounded-full pl-9`,E&&`pr-10`),onChange:e=>D(e.target.value),onKeyDown:e=>{e.key===`Escape`&&H()}}),E?(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute right-1.5 top-1/2 size-8 -translate-y-1/2 rounded-full text-muted-foreground`,"aria-label":v(`mobile.sessions.clearSearchAria`),onClick:()=>D(``),children:(0,$.jsx)(Z,{name:`close`,className:`size-4`})}):null]}):null,t[84]=H,t[85]=S,t[86]=E,t[87]=v,t[88]=Ee):Ee=t[88];let De;t[89]!==P||t[90]!==re||t[91]!==G||t[92]!==oe||t[93]!==h||t[94]!==f||t[95]!==u||t[96]!==c||t[97]!==g||t[98]!==d||t[99]!==m||t[100]!==p||t[101]!==s||t[102]!==l||t[103]!==b||t[104]!==n.length||t[105]!==j||t[106]!==v||t[107]!==N?(De=n.length===0?(0,$.jsxs)(`section`,{className:`flex min-h-[52dvh] flex-col items-center justify-center px-6 text-center`,children:[(0,$.jsx)(`span`,{className:`mb-4 flex size-14 items-center justify-center rounded-2xl bg-[var(--surface-muted)] text-muted-foreground`,children:(0,$.jsx)(Z,{name:`folder-add`,className:`size-6`})}),(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:v(`mobile.sessions.empty.noProjectsTitle`)}),(0,$.jsx)(`p`,{className:`mt-1.5 max-w-xs typography-small text-muted-foreground`,children:v(`mobile.sessions.empty.noProjectsDescription`)}),(0,$.jsxs)(Ue,{type:`button`,size:`lg`,className:`mt-4 min-h-10 rounded-full px-5`,onClick:P,children:[(0,$.jsx)(Z,{name:`folder-add`,className:`size-4`}),v(`sessions.sidebar.header.actions.addProject`)]})]}):j&&N.length===0?(0,$.jsxs)(`section`,{className:`flex min-h-[40dvh] flex-col items-center justify-center px-6 text-center`,children:[(0,$.jsx)(Z,{name:`search`,className:`mb-4 size-6 text-muted-foreground`}),(0,$.jsx)(`h2`,{className:`typography-ui-label font-semibold text-foreground`,children:v(`mobile.sessions.empty.searchTitle`)}),(0,$.jsx)(`p`,{className:`mt-1.5 max-w-xs typography-small text-muted-foreground`,children:v(`mobile.sessions.empty.searchDescription`)})]}):N.map(e=>{let t=j||e.expanded,n=e.worktrees.find(Ba)??(e.worktrees.length===1&&!e.worktrees[0]?.kind?e.worktrees[0]:void 0),r=e.worktrees.filter(e=>e!==n),{pinned:i,rest:a}=Fa(n?.sessions??[]),o=r.flatMap(Ra),_=[...i,...o],y=j||(b[e.id]??!0);return(0,$.jsx)(Dn,{asChild:!0,children:(0,$.jsxs)(`section`,{className:`oc-mobile-project-shell`,"aria-label":e.name,children:[(0,$.jsx)(_a,{project:e,expanded:t,embedded:!0,onToggle:()=>j?re(e):s(e),onOpenActions:()=>c(e)}),t?(0,$.jsxs)(`div`,{className:`oc-mobile-project-groups`,role:`group`,"aria-label":e.name,children:[_.length>0?(0,$.jsx)(An,{ariaLabel:v(`mobile.sessions.section.pinned`),label:(0,$.jsx)(Ma,{icon:(0,$.jsx)(Z,{name:`pushpin`,className:`size-3.5`}),label:v(`mobile.sessions.section.pinned`),count:_.length,expanded:y,onToggle:j?void 0:()=>{x(t=>({...t,[e.id]:!(t[e.id]??!0)}))}}),children:y?(0,$.jsx)(ja,{sessions:_,onSelectSession:j?oe:p,onPinSession:m,onArchiveSession:h,onOpenSessionActions:g}):null}):null,a.length>0?(0,$.jsx)(`div`,{className:`oc-mobile-labeled-surface-group`,children:(0,$.jsx)(ja,{sessions:a,onSelectSession:j?oe:p,onPinSession:m,onArchiveSession:h,onOpenSessionActions:g})}):null,r.map(t=>{let n=t.sessions.filter(La),r=j||!!t.expanded;return(0,$.jsx)(An,{className:`oc-mobile-worktree-group`,ariaLabel:t.name,label:(0,$.jsx)(Na,{project:e,worktree:t,expanded:r,onToggle:()=>j?G(e,t):l(e,t),onNewSession:u,onOpenActions:j?void 0:d,onDelete:j?void 0:f}),children:r&&n.length>0?(0,$.jsx)(ja,{sessions:n,onSelectSession:j?oe:p,onPinSession:m,onArchiveSession:h,onOpenSessionActions:g}):null},t.id)})]}):null]})},e.id)}),t[89]=P,t[90]=re,t[91]=G,t[92]=oe,t[93]=h,t[94]=f,t[95]=u,t[96]=c,t[97]=g,t[98]=d,t[99]=m,t[100]=p,t[101]=s,t[102]=l,t[103]=b,t[104]=n.length,t[105]=j,t[106]=v,t[107]=N,t[108]=De):De=t[108];let Oe;t[109]===v?Oe=t[110]:(Oe=v(`sessions.sidebar.header.actions.addProject`),t[109]=v,t[110]=Oe);let ke;t[111]!==P||t[112]!==Oe?(ke=(0,$.jsx)(`button`,{type:`button`,className:`sr-only`,onClick:P,children:Oe}),t[111]=P,t[112]=Oe,t[113]=ke):ke=t[113];let Ae;return t[114]!==se||t[115]!==Te||t[116]!==Ee||t[117]!==De||t[118]!==ke?(Ae=(0,$.jsxs)(`main`,{className:se,children:[Te,Ee,De,ke]}),t[114]=se,t[115]=Te,t[116]=Ee,t[117]=De,t[118]=ke,t[119]=Ae):Ae=t[119],Ae}function La(e){return!e.pinned}function Ra(e){return Pa(e.sessions).filter(za)}function za(e){return e.pinned}function Ba(e){return e.kind===`main`}function Va(e){let t=(0,Wr.c)(11),{icon:n,label:r,onClick:i,destructive:a,disabled:o,spinning:s}=e,c=a!==void 0&&a,l=o!==void 0&&o,u=s!==void 0&&s,d=A(i),f=c?`destructive`:`ghost`,p=u?`size-5 animate-spin`:`size-5`,m;t[0]!==n||t[1]!==p?(m=(0,$.jsx)(Z,{name:n,className:p}),t[0]=n,t[1]=p,t[2]=m):m=t[2];let h;t[3]===r?h=t[4]:(h=(0,$.jsx)(`span`,{className:`truncate`,children:r}),t[3]=r,t[4]=h);let g;return t[5]!==l||t[6]!==d||t[7]!==f||t[8]!==m||t[9]!==h?(g=(0,$.jsxs)(Ue,{type:`button`,variant:f,size:`lg`,className:`min-h-12 w-full justify-start gap-3 rounded-lg px-4`,disabled:l,onClick:d,children:[m,h]}),t[5]=l,t[6]=d,t[7]=f,t[8]=m,t[9]=h,t[10]=g):g=t[10],g}function Ha(e,t,n){return e.map(e=>{let r=(0,$.jsx)(Va,{icon:e.icon,label:lr(e,t),onClick:n(e.onClick),destructive:e.destructive,disabled:e.disabled,spinning:e.spinning},e.id);return e.separated?(0,$.jsx)(`div`,{className:`mt-3 border-t border-[var(--surface-subtle)] pt-3`,children:r},e.id):r})}function Ua(e){let t=(0,Wr.c)(46),{open:n,target:r,actions:i,onOpenChange:a,refreshTranscriptDisabled:o,refreshTranscriptSpinning:s}=e,c=o!==void 0&&o,l=s!==void 0&&s,{t:u}=ee(),d;t[0]===a?d=t[1]:(d=e=>()=>{a(!1),e?.()},t[0]=a,t[1]=d);let f=d,p;bb0:{if(!r){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[2]=e):e=t[2],p=e;break bb0}if(r.kind===`session`){let e;t[3]!==i.onArchive||t[4]!==i.onCopyLink||t[5]!==i.onDelete||t[6]!==i.onRefreshTranscript||t[7]!==i.onRename||t[8]!==i.onShare||t[9]!==i.onTogglePin||t[10]!==i.onUnshare||t[11]!==c||t[12]!==l||t[13]!==r.pinned||t[14]!==r.shared?(e=Xn({pinned:r.pinned,shared:r.shared,onRename:i.onRename,onTogglePin:i.onTogglePin,onShare:i.onShare,onCopyLink:i.onCopyLink,onUnshare:i.onUnshare,onRefreshTranscript:i.onRefreshTranscript,onArchive:i.onArchive,onDelete:i.onDelete,refreshTranscriptDisabled:c,refreshTranscriptSpinning:l}),t[3]=i.onArchive,t[4]=i.onCopyLink,t[5]=i.onDelete,t[6]=i.onRefreshTranscript,t[7]=i.onRename,t[8]=i.onShare,t[9]=i.onTogglePin,t[10]=i.onUnshare,t[11]=c,t[12]=l,t[13]=r.pinned,t[14]=r.shared,t[15]=e):e=t[15],p=e;break bb0}if(r.kind===`project`){let e;t[16]!==i.onCloseProject||t[17]!==i.onEditProject||t[18]!==i.onNewSession||t[19]!==i.onNewWorktree||t[20]!==i.onSyncSessions||t[21]!==r.gitRepository?(e=Zn({gitRepository:r.gitRepository,onNewSession:i.onNewSession,onNewWorktree:i.onNewWorktree,onSyncSessions:i.onSyncSessions,onEditProject:i.onEditProject,onCloseProject:i.onCloseProject}),t[16]=i.onCloseProject,t[17]=i.onEditProject,t[18]=i.onNewSession,t[19]=i.onNewWorktree,t[20]=i.onSyncSessions,t[21]=r.gitRepository,t[22]=e):e=t[22],p=e;break bb0}let e;t[23]!==i.onDeleteWorktree||t[24]!==i.onNewSession?(e=Gn({onNewSession:i.onNewSession,onDeleteWorktree:i.onDeleteWorktree}),t[23]=i.onDeleteWorktree,t[24]=i.onNewSession,t[25]=e):e=t[25],p=e}let m=p;if(!r)return null;let h;t[26]===r.title?h=t[27]:(h=(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:r.title}),t[26]=r.title,t[27]=h);let g=r.title,_;t[28]===u?_=t[29]:(_=u(`mobile.surface.closeAria`),t[28]=u,t[29]=_);let v;t[30]===u?v=t[31]:(v=u(`mobile.sessions.sheet.resizeAria`),t[30]=u,t[31]=v);let y;t[32]!==m||t[33]!==f||t[34]!==u?(y=Ha(m,u,f),t[32]=m,t[33]=f,t[34]=u,t[35]=y):y=t[35];let b;t[36]===y?b=t[37]:(b=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-1 overflow-y-auto overscroll-contain px-2`,children:y}),t[36]=y,t[37]=b);let x;return t[38]!==a||t[39]!==n||t[40]!==b||t[41]!==h||t[42]!==_||t[43]!==v||t[44]!==r.title?(x=(0,$.jsx)(It,{id:`mobile-row-actions-sheet`,open:n,onOpenChange:a,title:h,ariaLabel:g,closeAriaLabel:_,resizeAriaLabel:v,fitContent:!0,children:b}),t[38]=a,t[39]=n,t[40]=b,t[41]=h,t[42]=_,t[43]=v,t[44]=r.title,t[45]=x):x=t[45],x}var Wa=`__show_more__:`,Ga=`__show_fewer__:`,Ka=e=>e.startsWith(Wa),qa=e=>e.startsWith(Ga),Ja=e=>Ka(e)||qa(e),Ya=e=>{let t=Ka(e)?Wa:qa(e)?Ga:null;if(!t)return null;let n=e.slice(t.length),r=n.indexOf(`::`);return r<=0?null:{kind:t===`__show_more__:`?`more`:`fewer`,projectId:n.slice(0,r),bucketKey:n.slice(r+2)}},Xa=e=>e.parentID??null,Za=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/g,``),Qa=e=>{let t=e;return Za(t.directory??t.project?.worktree??null)},$a=(e,t)=>{if(t?.trim())return t.trim();let n=Za(e);if(!n)return``;let r=n.split(`/`).filter(Boolean);return r[r.length-1]||n},eo=e=>{let t=e.time?.updated??e.time?.created,n=typeof t==`number`?t:Number(t);return Number.isFinite(n)&&n>0?n:0},to=e=>{if(e<=0)return``;let t=Date.now()-e;if(t<6e4)return`now`;let n=Math.floor(t/6e4);if(n<60)return`${n}m`;let r=Math.floor(n/60);if(r<24)return`${r}h`;let i=Math.floor(r/24);return i<7?`${i}d`:new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`}).format(new Date(e))},no=e=>{let t=e.time?.archived;return typeof t==`number`&&t>0},ro=(e,t)=>e.worktrees.find(e=>Za(e.path)===t)??null,io=(e,t)=>t===e.path||!!ro(e,t);function ao(){let e=(0,Wr.c)(56),{t}=ee(),n=z(),r=fe(wo),i=fe(Co),a=K(So),o=K(xo),s=C(bo),c=q(yo),l=q(vo),u=ut(_o),d=de(),f=Pi(go),p=Pi(ho),m=te(mo),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=new Map,e[0]=h):h=e[0];let[g,_]=Q.useState(h),v;if(e[1]!==a||e[2]!==u||e[3]!==l){let t;e[5]!==u||e[6]!==l?(t=e=>{let t=Za(e.path);return{id:e.id,label:$a(t,e.label),path:t,icon:e.icon,worktrees:st(u[e.id],l.get(t)??[])}},e[5]=u,e[6]=l,e[7]=t):t=e[7],v=a.map(t),e[1]=a,e[2]=u,e[3]=l,e[4]=v}else v=e[4];let y=v,b;if(e[8]!==r||e[9]!==n){let t=new Map(n.map(po));b=r.map(e=>{let n=t.get(e.id);return n?ve(n,e):e});let i=new Set(b.map(fo));for(let e of n)i.has(e.id)||b.push(e);e[8]=r,e[9]=n,e[10]=b}else b=e[10];let x=b,S;if(e[11]!==o||e[12]!==y||e[13]!==x){let t;e[15]===o?t=e[16]:(t=e=>({project:e,buckets:[],totalSessions:0,isActive:e.id===o,latestActivity:0}),e[15]=o,e[16]=t),S=y.map(t);let n=uo;for(let e of S){n(e,e.project.path,null);for(let t of e.project.worktrees)n(e,t.path,t)}for(let e of x){let t=Qa(e);if(!t)continue;let r=Za(t),i=S.find(e=>io(e.project,r));if(!i)continue;let a=ro(i.project,r);(a?n(i,a.path,a):n(i,i.project.path,null)).sessions.push(e)}for(let e of S)for(let t of e.buckets){t.sessions.sort(lo);for(let n of t.sessions){Xa(n)||(e.totalSessions+=1);let t=eo(n);t>e.latestActivity&&(e.latestActivity=t)}}e[11]=o,e[12]=y,e[13]=x,e[14]=S}else S=e[14];let w=S,T;if(e[17]!==x){T=new Map;for(let e of x)T.set(e.id,e);e[17]=x,e[18]=T}else T=e[18];let E=T,D;if(e[19]!==y){D=new Map;for(let e of y)D.set(e.id,e);e[19]=y,e[20]=D}else D=e[20];let O=D,k;if(e[21]!==w){k=new Map;for(let e of w){let t=e.project.worktrees.length>0;for(let n of e.buckets){let r=n.sessions.filter(co).length;k.set(`${e.project.id}::${n.key}`,{path:n.path,rootCount:r,hasWorktrees:t})}}e[21]=w,e[22]=k}else k=e[22];let A=k,j;if(e[23]!==i||e[24]!==s||e[25]!==c||e[26]!==d||e[27]!==f||e[28]!==w||e[29]!==t||e[30]!==m||e[31]!==g||e[32]!==p){let n=Za(s);j=w.map(e=>{let r=f[e.project.id]??!0,a=fr(),o=e.project.icon?_t[e.project.icon]:void 0,s=e.buckets.map(r=>{let o=`${e.project.id}::${r.key}`,s=p[o]??!1,l=g.get(o)??a,u=r.sessions.filter(so),f=u.slice(0,l).map(e=>{let n=Xa(e),i=(m[e.id]??0)>0&&!n;return{id:e.id,directory:r.path,title:e.title?.trim()||t(`mobile.sessions.untitled`),activityLabel:to(eo(e))||void 0,unread:i,pinned:d.has(e.id),archived:no(e),active:c===e.id}}),h=u.length-f.length,_=i.get(Za(r.path)),v=_?.hasMore===!0,y=u.length>a&&l>a,b=[...f];y&&b.push({id:`${Ga}${e.project.id}::${r.key}`,kind:`pagination`,title:t(`sessions.sidebar.group.showFewer`)}),(h>0||v)&&b.push({id:`${Wa}${e.project.id}::${r.key}`,kind:`pagination`,title:t(`sessions.sidebar.group.showMore`),subtitle:_?.loadingMore?`…`:void 0});let x=Za(r.path),S=!!(e.isActive&&n&&x&&(n===x||n.startsWith(`${x}/`))),C=r.worktree==null;return{id:r.key,name:C?t(`mobile.sessions.mainWorkspace`):r.label,path:r.path,kind:C?`main`:`worktree`,active:S,expanded:C?!0:s,sessionCount:u.length,sessions:b}});return{id:e.project.id,name:e.project.label,path:e.project.path,icon:o,sessionCount:e.totalSessions,activityLabel:to(e.latestActivity)||void 0,active:e.isActive,expanded:r,worktrees:s}}),e[23]=i,e[24]=s,e[25]=c,e[26]=d,e[27]=f,e[28]=w,e[29]=t,e[30]=m,e[31]=g,e[32]=p,e[33]=j}else j=e[33];let M=j,N;e[34]===A?N=e[35]:(N=e=>{for(let[t,n]of A)if(t.startsWith(`${e}::`))return n.hasWorktrees;return!1},e[34]=A,e[35]=N);let P=N,F;e[36]===A?F=e[37]:(F=(e,t)=>A.get(`${e}::${t}`)?.rootCount??0,e[36]=A,e[37]=F);let I=F,L=oo,R;e[38]===g?R=e[39]:(R=(e,t)=>{let n=`${e}::${t}`;return g.get(n)??L(e)},e[38]=g,e[39]=R);let B=R,V;e[40]===A?V=e[41]:(V=(e,t)=>A.get(`${e}::${t}`)?.path??null,e[40]=A,e[41]=V);let H=V,U;e[42]!==A||e[43]!==g?(U=(e,t)=>{let n=`${e}::${t}`,r=A.get(n),i=fr(),a=qn(),o=g.get(n)??i,s=r?.rootCount??0;if(_(e=>{let t=new Map(e),r=Math.max(i,e.get(n)??i,o);return t.set(n,r+a),t}),Math.max(i,o)+a<s)return;let c=r?.path,l=Za(c);if(!l)return;let u=fe.getState().activePaginationByDirectory.get(l);u?.hasMore&&!u.loadingMore&&ce(l)},e[42]=A,e[43]=g,e[44]=U):U=e[44];let W=U,ne;e[45]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(e,t)=>{let n=`${e}::${t}`;_(e=>{if(!e.has(n))return e;let t=new Map(e);return t.delete(n),t})},e[45]=ne):ne=e[45];let re=ne,ie;return e[46]!==H||e[47]!==I||e[48]!==B||e[49]!==M||e[50]!==P||e[51]!==O||e[52]!==E||e[53]!==x||e[54]!==W?(ie={projects:M,sessionById:E,projectMetaById:O,allSessions:x,projectHasWorktrees:P,getBucketRootCount:I,getBucketVisibleCount:B,getBucketPageSize:L,getBucketDirectory:H,showMoreBucketSessions:W,resetBucketVisibleCount:re},e[46]=H,e[47]=I,e[48]=B,e[49]=M,e[50]=P,e[51]=O,e[52]=E,e[53]=x,e[54]=W,e[55]=ie):ie=e[55],ie}function oo(e){return fr()}function so(e){return!Xa(e)}function co(e){return!Xa(e)}function lo(e,t){return B(t)-B(e)}function uo(e,t,n){let r=Za(t)||e.project.path,i=r||`__root__`,a=e.buckets.find(e=>e.key===i);return a||(a={key:i,label:n?.branch||n?.label||$a(r),path:r,worktree:n,sessions:[]},e.buckets.push(a)),a}function fo(e){return e.id}function po(e){return[e.id,e]}function mo(e){return e.index.session.unseenCount}function ho(e){return e.worktreeExpanded}function go(e){return e.projectExpanded}function _o(e){return e.orderByProject}function vo(e){return e.availableWorktreesByProject}function yo(e){return e.currentSessionId}function bo(e){return e.currentDirectory}function xo(e){return e.activeProjectId}function So(e){return e.projects}function Co(e){return e.activePaginationByDirectory}function wo(e){return e.activeSessions}var To=(e,t,n)=>e?.kind===`project`&&e.project.id===t?{...e,isGitRepository:n}:e;function Eo({onOpenChat:e,onAddProject:t,onNewSession:n,onScanQr:r,onSwitchInstance:i,className:a}){let{t:o}=ee(),{git:s}=Xt(),c=ao(),l=Pi(e=>e.setProjectExpanded),u=Pi(e=>e.setWorktreeExpanded),f=oe(),p=de(),m=q(e=>e.archiveSessions),h=q(e=>e.updateSessionTitle),g=q(e=>e.requestSessionSmartTitle),_=q(e=>e.shareSession),v=q(e=>e.unshareSession),y=q(e=>e.openNewSessionDraft),b=be(e=>e.openDraft),x=be(e=>e.openSession),S=K(e=>e.projects),C=K(e=>e.setActiveProjectIdOnly),w=K(e=>e.removeProject),T=qt(),[E,D]=Q.useState(null),[O,k]=Q.useState(!1),[j,N]=Q.useState(null),[P,te]=Q.useState(null),[F,I]=Q.useState(null),[L,R]=Q.useState(``),[z,B]=Q.useState(!1),[V,H]=Q.useState(!1),[U,W]=Q.useState(null),[ne,re]=Q.useState(null),[ie,ae]=Q.useState(null),se=E?.kind===`session`?E.session.id:``,ce=G(se),le=ce?.type===`busy`||ce?.type===`retry`,ue=E?.kind===`session`?Qa(E.session):``,fe=!!se&&ie===se,pe=!ue||fe||le,me=A(e=>{let t=new Map;for(let e of c.allSessions){let n=Xa(e);if(!n)continue;let r=t.get(n)??[];r.push(e.id),t.set(n,r)}let n=[],r=new Set,i=e=>{if(!r.has(e)){r.add(e),n.push(e);for(let n of t.get(e)??[])i(n)}};return i(e),n}),he=A(()=>{k(!1),D(null)}),ge=A(t=>{if(Ja(t.id)){let e=Ya(t.id);if(!e)return;e.kind===`more`?c.showMoreBucketSessions(e.projectId,e.bucketKey):c.resetBucketVisibleCount(e.projectId,e.bucketKey);return}let n=c.sessionById.get(t.id),r=n&&Qa(n)||null;e({sessionId:t.id,directory:r})}),_e=A(e=>{Ja(e.id)||f(e.id)}),ve=A(async e=>{if(Ja(e.id))return;let t=me(e.id),{archivedIds:n,failedIds:r}=await m(t);n.length>0&&Un({sessionIds:n,message:n.length===1?o(`sessions.sidebar.session.archive.success`):o(`sessions.sidebar.bulkActions.archivedPlural`,{count:n.length}),undoLabel:o(`sessions.sidebar.undo`),settingsLabel:o(`settings.openchamber.archivedSessions.actions.view`),undoFailedMessage:n.length===1?o(`sessions.sidebar.session.archive.undoFailed`):o(`sessions.sidebar.bulkActions.archiveUndoFailed`,{count:n.length})}),r.length>0&&J.error(r.length===1?o(`sessions.sidebar.bulkActions.failedArchiveSingle`,{count:r.length}):o(`sessions.sidebar.bulkActions.failedArchivePlural`,{count:r.length}))}),xe=A(()=>{if(!E||E.kind!==`session`)return;let e=E.session,t=Qa(e),n=ce?.type??`idle`;!t||ie===e.id||n===`busy`||n===`retry`||(ae(e.id),(async()=>{try{await T.refreshSessionTranscript(e.id,{directory:t}),J.success(o(`sessions.sidebar.session.menu.refreshTranscriptSuccess`))}catch{J.error(o(`sessions.sidebar.session.menu.refreshTranscriptFailed`))}finally{ae(t=>t===e.id?null:t)}})())}),Se=A(e=>{if(Ja(e.id))return;let t=c.sessionById.get(e.id);t&&(D({kind:`session`,session:t}),k(!0))}),Ce=A(e=>{l(e.id,!e.expanded)}),we=A((e,t)=>{u(`${e.id}::${t.id}`,!t.expanded)}),Y=A((e,t)=>{C(e.id),b({selectedProjectId:e.id,directoryOverride:t,preserveDirectoryOverride:!0})}),Te=A(()=>{if(n){n();return}y()}),Ee=A(e=>{let t=c.projectMetaById.get(e.id);t&&(D({kind:`project`,project:t,isGitRepository:!1}),k(!0),s.checkIsGitRepository(t.path).then(e=>{D(n=>To(n,t.id,e))}).catch(()=>{D(e=>To(e,t.id,!1))}))}),De=A((e,t)=>{let n=d(t);return n?e.worktrees.find(e=>d(e.path)===n)||((q.getState().availableWorktreesByProject.get(e.path)??[]).find(e=>d(e.path)===n)??null):null}),Oe=A((e,t)=>{let n=c.projectMetaById.get(e.id);n&&Y(n,t.path)}),ke=A((e,t)=>{let n=c.projectMetaById.get(e.id);n&&(D({kind:`worktree`,project:n,worktreePath:t.path,worktreeName:t.name}),k(!0))}),Ae=A((e,t)=>{let n=c.projectMetaById.get(e.id);if(!n)return;let r=De(n,t.path);if(!r){J.error(o(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:o(`sessions.sidebar.dialogs.deleteResult.tryAgain`)});return}re({project:n,worktree:r})}),je=A(e=>{W(e),C(e),H(!0)}),Me=A(e=>{(async()=>{let t=e.worktrees;try{t=(await gt({id:e.id,path:e.path})).worktrees}catch(n){console.warn(`[MobileProjectsHome] Worktree refresh before session sync failed:`,n),t=q.getState().availableWorktreesByProject.get(e.path)??e.worktrees}await ye([e.path,...t.map(e=>e.path)],c.allSessions)})()}),Ne=A((e,t)=>{let n=U;if(H(!1),W(null),t?.sessionId){x({sessionId:t.sessionId,directory:e});return}b({selectedProjectId:n,directoryOverride:e,preserveDirectoryOverride:!0})}),Pe=A(async e=>{try{if(!(await _(e.id))?.share?.url){J.error(o(`sessions.sidebar.session.share.error`));return}J.success(o(`sessions.sidebar.session.share.successTitle`),{description:o(`sessions.sidebar.session.share.successDescription`)})}catch{J.error(o(`sessions.sidebar.session.share.error`))}}),Fe=A(async e=>{if((await M(e)).ok){J.success(o(`sessions.sidebar.session.menu.copied`));return}J.error(o(`sessions.sidebar.session.share.copyUrlError`))}),Ie=A(async e=>{try{if(await v(e)){J.success(o(`sessions.sidebar.session.unshare.success`));return}J.error(o(`sessions.sidebar.session.unshare.error`))}catch{J.error(o(`sessions.sidebar.session.unshare.error`))}}),Le=A(e=>{let t=me(e.id);ur({sessionIds:t,message:t.length===1?o(`sessions.sidebar.session.delete.success`):o(`sessions.sidebar.bulkActions.deletedPlural`,{count:t.length}),undoLabel:o(`sessions.sidebar.undo`),commitFailedMessage:o(`sessions.sidebar.session.delete.error`)})}),Re=A(async()=>{if(!F)return;let e=L.trim();if(e)try{await h(F.id,e),I(null),R(``)}catch{J.error(o(`sessions.sidebar.session.menu.rename`),{description:o(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}}),ze=A(async()=>{if(!F||z)return;let e=F.id;I(null),R(``),B(!0);try{await g(e)}catch{J.error(o(`sessions.sidebar.session.rename.smartTitle`),{description:o(`sessions.sidebar.dialogs.deleteResult.tryAgain`)})}finally{B(!1)}}),Be=Q.useMemo(()=>E?E.kind===`session`?{kind:`session`,title:E.session.title?.trim()||o(`mobile.sessions.untitled`),pinned:p.has(E.session.id),shared:!!E.session.share?.url}:E.kind===`project`?{kind:`project`,title:E.project.label,gitRepository:E.isGitRepository}:{kind:`worktree`,title:E.worktreeName}:null,[E,p,o]),Ve=Q.useMemo(()=>{if(!E)return{};if(E.kind===`session`){let e=E.session;return{onRename:()=>{R(e.title?.trim()||o(`mobile.sessions.untitled`)),I(e)},onTogglePin:()=>f(e.id),onShare:e.share?.url?void 0:()=>{Pe(e)},onCopyLink:e.share?.url?()=>{Fe(e.share.url)}:void 0,onUnshare:e.share?.url?()=>{Ie(e.id)}:void 0,onRefreshTranscript:xe,onArchive:()=>{ve({id:e.id,title:e.title?.trim()||o(`mobile.sessions.untitled`)})},onDelete:()=>Le(e)}}if(E.kind===`project`){let e=E.project;return{onNewSession:()=>Y(e,e.path),onNewWorktree:()=>je(e.id),onSyncSessions:()=>Me(e),onEditProject:()=>N(e.id),onCloseProject:()=>te(e)}}let{project:e,worktreePath:t}=E;return{onNewSession:()=>Y(e,t),onDeleteWorktree:()=>{let n=De(e,t);if(!n){J.error(o(`sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle`),{description:o(`sessions.sidebar.dialogs.deleteResult.tryAgain`)});return}re({project:e,worktree:n})}}},[E,ve,Fe,Le,xe,je,Me,Pe,Ie,De,Y,o,f]),He=Q.useMemo(()=>{if(!j)return null;let e=S.find(e=>e.id===j),t=c.projectMetaById.get(j);if(!e||!t)return null;let n=E?.kind===`project`&&E.project.id===j?E.isGitRepository:t.worktrees.length>0;return{id:e.id,label:e.label?.trim()||t.label,path:d(e.path)||t.path,icon:e.icon,color:e.color,iconImage:e.iconImage,iconBackground:e.iconBackground,isGitRepo:n,worktrees:t.worktrees}},[E,j,c.projectMetaById,S]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ia,{className:a,projects:c.projects,onAddProject:t,onNewSession:Te,onScanQr:r,onSwitchInstance:i,onToggleProject:Ce,onOpenProjectActions:Ee,onToggleWorktree:we,onNewWorktreeSession:Oe,onOpenWorktreeActions:ke,onDeleteWorktree:Ae,onSelectSession:ge,onPinSession:_e,onArchiveSession:e=>{ve(e)},onOpenSessionActions:Se}),(0,$.jsx)(Ua,{open:O,target:Be,actions:Ve,refreshTranscriptDisabled:pe,refreshTranscriptSpinning:fe,onOpenChange:e=>{e?k(!0):he()}}),(0,$.jsx)(Jt,{open:V,projectId:U,onOpenChange:e=>{H(e),e||W(null)},onWorktreeCreated:Ne}),ne?(0,$.jsx)(In,{open:!0,project:{id:ne.project.id,path:ne.project.path},worktree:ne.worktree,onClose:()=>re(null)}):null,(0,$.jsx)(Yt,{open:!!P,title:o(`sessions.sidebar.project.actions.closeProject`),onClose:()=>te(null),closeAriaLabel:o(`mobile.surface.closeAria`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,className:`flex-1`,onClick:()=>te(null),children:o(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Ue,{type:`button`,variant:`destructive`,className:`flex-1`,onClick:()=>{if(!P)return;let e=P;te(null),w(e.id),J.success(o(`mobile.sessions.toast.projectRemoved`,{label:e.label}))},children:o(`mobile.sessions.confirmRemoveProject`)})]}),children:(0,$.jsx)(`p`,{className:`px-1 py-1 typography-ui-body text-foreground`,children:o(`mobile.projects.closeConfirmMessage`,{title:P?.label??``})})}),(0,$.jsx)(Yt,{open:!!F,title:o(`sessions.sidebar.session.menu.rename`),onClose:()=>{z||(I(null),R(``))},closeAriaLabel:o(`mobile.surface.closeAria`),footer:(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,className:`flex-1`,disabled:z,onClick:()=>{I(null),R(``)},children:o(`sessions.sidebar.dialogs.cancel`)}),(0,$.jsx)(Ue,{type:`button`,variant:`default`,className:`flex-1`,disabled:!L.trim()||z,onClick:()=>void Re(),children:o(`sessions.sidebar.session.rename.save`)})]}),children:(0,$.jsxs)(`form`,{className:`flex flex-col gap-3 px-1 py-1`,onSubmit:e=>{e.preventDefault(),Re()},children:[(0,$.jsx)(xt,{value:L,onChange:e=>R(e.target.value),autoFocus:!0,className:`h-12`,disabled:z}),(0,$.jsxs)(Ue,{type:`button`,variant:`outline`,className:`w-full gap-2`,disabled:z,onClick:()=>void ze(),children:[z?(0,$.jsx)(Z,{name:`loader-4`,className:`size-4 animate-spin`}):(0,$.jsx)(Z,{name:`ai-generate-2`,className:`size-4`}),o(`sessions.sidebar.session.rename.smartTitle`)]})]})}),(0,$.jsx)(Hn,{open:j!==null,project:He,onClose:()=>N(null)})]})}function Do(e){let t=(0,Wr.c)(10),{children:n,content:r,className:i,contentClassName:a,showHeader:o}=e,s=o===void 0||o,{t:c}=ee(),l;t[0]===c?l=t[1]:(l=c(`sessions.scheduledTasks.dialog.title`),t[0]=c,t[1]=l);let u;t[2]===a?u=t[3]:(u=X(`oc-mobile-scheduled-content`,a),t[2]=a,t[3]=u);let d=n??r,f;return t[4]!==i||t[5]!==s||t[6]!==l||t[7]!==u||t[8]!==d?(f=(0,$.jsx)(En,{title:l,className:i,surface:!1,scrollsWithPage:!0,showHeader:s,surfaceClassName:u,children:d}),t[4]=i,t[5]=s,t[6]=l,t[7]=u,t[8]=d,t[9]=f):f=t[9],f}function Oo(e){let t=(0,Wr.c)(10),{className:n,contentClassName:r,instancesPage:i}=e,{t:a}=ee(),o;t[0]===a?o=t[1]:(o=a(`mobile.settings.placeholder.title`),t[0]=a,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=[...On],t[2]=s):s=t[2];let c;t[3]===i?c=t[4]:(c=(0,$.jsx)(br,{forceMobile:!0,isWindowed:!0,hideMobileHeader:!0,flowMobile:!0,autoOpenMobilePage:!0,visiblePageSlugs:s,mobileInstancesPage:i}),t[3]=i,t[4]=c);let l;return t[5]!==n||t[6]!==r||t[7]!==o||t[8]!==c?(l=(0,$.jsx)(En,{title:o,className:n,surface:!1,scrollsWithPage:!0,showHeader:!1,surfaceClassName:r,children:c}),t[5]=n,t[6]=r,t[7]=o,t[8]=c,t[9]=l):l=t[9],l}function ko(e){let t=(0,Wr.c)(92),{onAddProject:n,onScanQr:r,onSwitchInstance:i,onEnableAssistants:a,instancesPage:o,instancesSecondaryPage:s,parentSessionTarget:c,registerSecondaryBackHandler:l,scheduledContent:u,renderChat:f,className:p}=e,m=c===void 0?null:c,{t:h}=ee(),g=be(),_=be(Bo),v=be(zo),y=be(Ro),b=be(Lo),x=be(Io),S=be(Fo),C=be(Po),w=be(No),T=be(Mo),E;t[0]===_?E=t[1]:(E=e=>{_(e)},t[0]=_,t[1]=E);let D=A(E),O;t[2]===v?O=t[3]:(O=e=>{v(e)},t[2]=v,t[3]=O);let k=A(O),j;t[4]===x?j=t[5]:(j=()=>{x()},t[4]=x,t[5]=j);let M=A(j),N;t[6]===y?N=t[7]:(N=()=>{y()},t[6]=y,t[7]=N);let P=A(N),te;t[8]===b?te=t[9]:(te=e=>{b(e)},t[8]=b,t[9]=te);let F=A(te),I=Q.useRef(null),[L,R]=Q.useState(!1),z;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{I.current=e},t[10]=z):z=t[10];let B=A(z),V;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{R(e)},t[11]=V):V=t[11];let H=A(V),U;t[12]!==M||t[13]!==S?(U=()=>{if(I.current?.())return!0;let e=be.getState().secondary;return e?.kind===`chat`&&e.routes.length>1?(S(),!0):e?(M(),!0):!1},t[12]=M,t[13]=S,t[14]=U):U=t[14];let W=A(U),ne=g.secondary!==null,re;t[15]!==W||t[16]!==l?(re=()=>{if(l)return l(()=>W()),()=>l(null)},t[15]=W,t[16]=l,t[17]=re):re=t[17];let ie;t[18]!==W||t[19]!==l||t[20]!==ne?(ie=[l,ne,W],t[18]=W,t[19]=l,t[20]=ne,t[21]=ie):ie=t[21],Q.useEffect(re,ie);let G=q(jo),ae;t[22]===G?ae=t[23]:(ae=e=>G?e.getDirectoryForSession(G):null,t[22]=G,t[23]=ae);let oe=q(ae),se,ce;t[24]!==oe||t[25]!==G||t[26]!==w||t[27]!==T?(se=()=>{let e=be.getState().secondary;if(e?.kind===`draft`&&G){w({sessionId:G,directory:oe});return}if(e?.kind!==`chat`||!G||Se({sessionId:G,directory:oe})===`internal`)return;let t=e.routes.at(-1);(t?.sessionId!==G||d(t.directory)!==d(oe))&&T({sessionId:G,directory:oe})},ce=[oe,G,w,T],t[24]=oe,t[25]=G,t[26]=w,t[27]=T,t[28]=se,t[29]=ce):(se=t[28],ce=t[29]),Q.useEffect(se,ce);let le,ue;t[30]!==G||t[31]!==m||t[32]!==C?(le=()=>{let e=be.getState().secondary;if(e?.kind!==`chat`||!m)return;let t=e.routes.at(-1);!t||t.sessionId!==G||C({sessionId:m.id,directory:m.directory})},ue=[G,m,C],t[30]=G,t[31]=m,t[32]=C,t[33]=le,t[34]=ue):(le=t[33],ue=t[34]),Q.useEffect(le,ue);let K;t[35]!==H||t[36]!==B||t[37]!==u?(K=typeof u==`function`?u(B,H):u,t[35]=H,t[36]=B,t[37]=u,t[38]=K):K=t[38];let de=K,fe;t[39]!==P||t[40]!==n||t[41]!==r||t[42]!==i||t[43]!==k?(fe=(0,$.jsx)(Eo,{onOpenChat:k,onAddProject:n,onNewSession:P,onScanQr:r,onSwitchInstance:i}),t[39]=P,t[40]=n,t[41]=r,t[42]=i,t[43]=k,t[44]=fe):fe=t[44];let pe;t[45]!==a||t[46]!==F?(pe=(0,$.jsx)(la,{onEnable:a,onOpenAssistant:F}),t[45]=a,t[46]=F,t[47]=pe):pe=t[47];let me;t[48]===de?me=t[49]:(me=(0,$.jsx)(Do,{showHeader:!1,children:de}),t[48]=de,t[49]=me);let he;t[50]===o?he=t[51]:(he=(0,$.jsx)(Oo,{instancesPage:o}),t[50]=o,t[51]=he);let ge;t[52]!==fe||t[53]!==pe||t[54]!==me||t[55]!==he?(ge={projects:fe,assistant:pe,scheduled:me,settings:he},t[52]=fe,t[53]=pe,t[54]=me,t[55]=he,t[56]=ge):ge=t[56];let _e=ge,ve=g.secondary?.kind??null,ye;bb0:{if(!ve){ye=null;break bb0}if(ve===`assistant`){let e;t[57]===h?e=t[58]:(e=h(`assistants.title`),t[57]=h,t[58]=e);let n;t[59]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(Dr,{activeOverride:!0,onMobileBack:Ao}),t[59]=n):n=t[59];let r;t[60]!==W||t[61]!==e?(r=[{key:`assistant-secondary`,depth:1,ariaLabel:e,onBack:W,content:n}],t[60]=W,t[61]=e,t[62]=r):r=t[62],ye=r;break bb0}if(ve===`instances`){let e;t[63]===h?e=t[64]:(e=h(`mobile.settings.switchInstance`),t[63]=h,t[64]=e);let n;t[65]!==W||t[66]!==s||t[67]!==e?(n=[{key:`instances-secondary`,depth:1,ariaLabel:e,onBack:W,content:s}],t[65]=W,t[66]=s,t[67]=e,t[68]=n):n=t[68],ye=n;break bb0}if(g.secondary?.kind===`draft`){let e;t[69]===h?e=t[70]:(e=h(`mobile.nav.secondaryPageAria`),t[69]=h,t[70]=e);let n;t[71]===f?n=t[72]:(n=f({sessionId:``,directory:null,viewKey:`chat-primary`,active:!0}),t[71]=f,t[72]=n);let r;t[73]!==W||t[74]!==e||t[75]!==n?(r=[{key:`chat-primary`,depth:1,ariaLabel:e,onBack:W,content:n}],t[73]=W,t[74]=e,t[75]=n,t[76]=r):r=t[76],ye=r;break bb0}if(g.secondary?.kind!==`chat`){let e;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[77]=e):e=t[77],ye=e;break bb0}let e=g.secondary.routes,n;if(t[78]!==W||t[79]!==f||t[80]!==e||t[81]!==h){let r=e.slice(-2),i=e.length-r.length+1;n=r.map((e,t)=>{let n=t===r.length-1;return{key:e.key,depth:i+t,ariaLabel:h(`mobile.nav.secondaryPageAria`),onBack:W,content:f({sessionId:e.sessionId,directory:e.directory,viewKey:e.key,active:n})}}),t[78]=W,t[79]=f,t[80]=e,t[81]=h,t[82]=n}else n=t[82];ye=n}let xe=ye,Ce;t[83]===xe?Ce=t[84]:(Ce=xe??[],t[83]=xe,t[84]=Ce);let we;return t[85]!==p||t[86]!==g||t[87]!==L||t[88]!==D||t[89]!==Ce||t[90]!==_e?(we=(0,$.jsx)(pa,{className:p,navigation:g,onTabChange:D,tabs:_e,secondaryPages:Ce,tabBarCovered:L}),t[85]=p,t[86]=g,t[87]=L,t[88]=D,t[89]=Ce,t[90]=_e,t[91]=we):we=t[91],we}function Ao(){return tn.requestAnimatedBack(`root`)}function jo(e){return e.currentSessionId}function Mo(e){return e.replaceChatSession}function No(e){return e.materializeDraftSession}function Po(e){return e.reconcileChatPredecessor}function Fo(e){return e.popChatSession}function Io(e){return e.closeSecondary}function Lo(e){return e.openAssistant}function Ro(e){return e.openDraft}function zo(e){return e.openSession}function Bo(e){return e.setActiveTab}function Vo(e){let t=(0,Wr.c)(19),{percentage:n}=e,r,i,a,o,s,c,l;if(t[0]!==n){a=Tt(n)??0;let e=wt(n);i=e===`critical`?`var(--status-error)`:e===`warn`?`var(--status-warning)`:`var(--status-success)`,r=2*Math.PI*7.5,o=`0 0 18 18`,s=`size-[18px] -rotate-90`,c=`progressbar`,l=Math.round(a),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l}else r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7];let u;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(`circle`,{cx:9,cy:9,r:7.5,fill:`none`,stroke:`var(--interactive-border)`,strokeWidth:3}),t[8]=u):u=t[8];let d=r*(1-a/100),f;t[9]!==r||t[10]!==i||t[11]!==d?(f=(0,$.jsx)(`circle`,{cx:9,cy:9,r:7.5,fill:`none`,stroke:i,strokeWidth:3,strokeLinecap:`round`,strokeDasharray:r,strokeDashoffset:d,className:`transition-[stroke-dashoffset,stroke] duration-300`}),t[9]=r,t[10]=i,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==o||t[14]!==s||t[15]!==c||t[16]!==l||t[17]!==f?(p=(0,$.jsxs)(`svg`,{viewBox:o,className:s,role:c,"aria-valuenow":l,"aria-valuemin":0,"aria-valuemax":100,children:[u,f]}),t[13]=o,t[14]=s,t[15]=c,t[16]=l,t[17]=f,t[18]=p):p=t[18],p}function Ho(e){let t=(0,Wr.c)(16),{title:n,subtitle:r,onBack:i,onOpenMenu:a,menuOpen:o,elevated:s,trailing:c}=e,l=o!==void 0&&o,u=s!==void 0&&s,{t:d}=ee(),f=A(i),p=A(a),m;t[0]===d?m=t[1]:(m=d(`header.actions.backAria`),t[0]=d,t[1]=m);let h=u||l,g;t[2]===d?g=t[3]:(g=d(`mobile.menu.titleAria`),t[2]=d,t[3]=g);let _;t[4]!==p||t[5]!==l||t[6]!==g?(_=[{icon:`more-2`,ariaLabel:g,onClick:p,pressed:l}],t[4]=p,t[5]=l,t[6]=g,t[7]=_):_=t[7];let v;return t[8]!==f||t[9]!==r||t[10]!==m||t[11]!==h||t[12]!==_||t[13]!==n||t[14]!==c?(v=(0,$.jsx)(Re,{title:n,subtitle:r,backAriaLabel:m,onBack:f,overlay:!0,elevated:h,trailing:c,actions:_}),t[8]=f,t[9]=r,t[10]=m,t[11]=h,t[12]=_,t[13]=n,t[14]=c,t[15]=v):v=t[15],v}var Uo=(e,t)=>{if(!e||typeof e!=`object`)return;let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:void 0},Wo=e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),Go=e=>e>=90?`text-[var(--status-error)]`:e>=75?`text-[var(--status-warning)]`:`text-[var(--status-success)]`,Ko=e=>{let{totalTokens:t,contextLimit:n,isDraft:r}=e;if(r||t<=0||n<=0)return null;let i=Math.min(t/n*100,999);return{percentage:i,tokens:`${Wo(t)}/${Wo(n)}`,colorClass:Go(i)}},qo=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.role!==`user`)continue;let r=typeof n.model?.providerID==`string`&&n.model.providerID.trim().length>0?n.model.providerID:void 0,i=typeof n.model?.modelID==`string`&&n.model.modelID.trim().length>0?n.model.modelID:void 0;if(r&&i)return{providerID:r,modelID:i}}return null},Jo=(e,t)=>{let n=ge(e,t??(()=>void 0));return!n||`compacted`in n?0:n.totalTokens},Yo=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/g,``),Xo=e=>{let t=e.usedPercent;return typeof t!=`number`||!Number.isFinite(t)?`text-foreground`:t>=80?`text-[var(--status-error)]`:t>=50?`text-[var(--status-warning)]`:`text-foreground`},Zo=e=>{let t=(0,Wr.c)(13),{iconNode:n,iconName:r,label:i,children:a}=e,o;t[0]!==r||t[1]!==n?(o=n??(r?(0,$.jsx)(Z,{name:r,className:`size-[18px]`}):null),t[0]=r,t[1]=n,t[2]=o):o=t[2];let s;t[3]===o?s=t[4]:(s=(0,$.jsx)(`span`,{className:`flex size-5 shrink-0 items-center justify-center text-muted-foreground`,children:o}),t[3]=o,t[4]=s);let c;t[5]===i?c=t[6]:(c=(0,$.jsx)(`span`,{className:`shrink-0 typography-ui-label text-muted-foreground`,children:i}),t[5]=i,t[6]=c);let l;t[7]===a?l=t[8]:(l=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-right typography-ui-label font-medium text-foreground`,children:a}),t[7]=a,t[8]=l);let u;return t[9]!==s||t[10]!==c||t[11]!==l?(u=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 rounded-xl px-2.5 py-2.5`,children:[s,c,l]}),t[9]=s,t[10]=c,t[11]=l,t[12]=u):u=t[12],u},Qo=e=>{let t=(0,Wr.c)(30),{groups:n,displayMode:r,isLoading:i,timeFormatPreference:a}=e,{t:o}=ee(),s;t[0]!==r||t[1]!==o?(s=o(r===`remaining`?`header.services.remaining`:`header.services.used`),t[0]=r,t[1]=o,t[2]=s):s=t[2];let c=s;if(n.length===0)return null;let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`span`,{className:`flex size-5 shrink-0 items-center justify-center text-muted-foreground`,children:(0,$.jsx)(Z,{name:`timer`,className:`size-[18px]`})}),t[3]=l):l=t[3];let u;t[4]===o?u=t[5]:(u=o(`mobile.header.metadata.usage`),t[4]=o,t[5]=u);let d;t[6]===u?d=t[7]:(d=(0,$.jsx)(`span`,{className:`shrink-0 typography-ui-label text-muted-foreground`,children:u}),t[6]=u,t[7]=d);let f;t[8]===i?f=t[9]:(f=i?(0,$.jsx)(Z,{name:`refresh`,className:`size-3.5 animate-spin`}):null,t[8]=i,t[9]=f);let p;t[10]===c?p=t[11]:(p=(0,$.jsx)(`span`,{className:`truncate`,children:c}),t[10]=c,t[11]=p);let m;t[12]!==f||t[13]!==p?(m=(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 flex-1 items-center justify-end gap-1.5 typography-ui-label text-muted-foreground`,children:[f,p]}),t[12]=f,t[13]=p,t[14]=m):m=t[14];let h;t[15]!==d||t[16]!==m?(h=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 px-2.5 pb-1.5`,children:[l,d,m]}),t[15]=d,t[16]=m,t[17]=h):h=t[17];let g;if(t[18]!==r||t[19]!==n||t[20]!==a){let e;t[22]!==r||t[23]!==a?(e=e=>(0,$.jsxs)(`div`,{className:`min-w-0 rounded-xl bg-[var(--surface-muted)] p-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(mt,{providerId:e.providerId,className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label font-medium text-foreground`,children:e.providerName}),e.status&&e.rows.length===0?(0,$.jsx)(`span`,{className:`shrink-0 truncate typography-micro text-muted-foreground`,children:e.status}):null]}),e.rows.length>0?(0,$.jsx)(`div`,{className:`mt-1.5 space-y-1`,children:e.rows.map(e=>{let t=r===`remaining`?e.window.remainingPercent:e.window.usedPercent,n=Ct(e.window.valueLabel,t),i=Dt(e.window.resetAt,e.window.resetAfterFormatted??e.window.resetAtFormatted,a);return(0,$.jsxs)(`div`,{className:`flex min-w-0 items-baseline justify-between gap-3`,children:[(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 flex-1 items-baseline gap-1.5`,children:[(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-muted-foreground`,children:e.subtitle?`${e.subtitle} · ${e.label}`:e.label}),i?(0,$.jsx)(`span`,{className:`shrink-0 truncate typography-micro text-muted-foreground/70`,children:i}):null]}),(0,$.jsx)(`span`,{className:X(`shrink-0 typography-ui-label font-semibold tabular-nums`,Xo(e.window)),children:n===`-`?``:n})]},e.key)})}):null,e.status&&e.rows.length>0?(0,$.jsx)(`div`,{className:`mt-1.5 typography-micro text-muted-foreground`,children:e.status}):null]},e.providerId),t[22]=r,t[23]=a,t[24]=e):e=t[24],g=n.map(e),t[18]=r,t[19]=n,t[20]=a,t[21]=g}else g=t[21];let _;t[25]===g?_=t[26]:(_=(0,$.jsx)(`div`,{className:`space-y-1.5`,children:g}),t[25]=g,t[26]=_);let v;return t[27]!==_||t[28]!==h?(v=(0,$.jsxs)(`div`,{className:`pt-2.5`,children:[h,_]}),t[27]=_,t[28]=h,t[29]=v):v=t[29],v},$o=e=>{let t=(0,Wr.c)(47),{open:n,onClose:r,contextDisplay:i,branchLabel:a,usageGroups:o,usageDisplayMode:s,isUsageLoading:c,timeFormatPreference:l}=e,{t:u}=ee(),d=Q.useRef(null),[f,p]=Q.useState(n),[m,h]=Q.useState(!1),g,_;t[0]!==n||t[1]!==f?(g=()=>{if(n){p(!0),h(!1);return}if(!f)return;h(!0);let e=window.setTimeout(()=>{p(!1),h(!1)},140);return()=>window.clearTimeout(e)},_=[n,f],t[0]=n,t[1]=f,t[2]=g,t[3]=_):(g=t[2],_=t[3]),Q.useEffect(g,_);let v,y;if(t[4]!==r||t[5]!==n?(v=()=>{if(!n)return;let e=e=>{e.key===`Escape`&&r()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},y=[r,n],t[4]=r,t[5]=n,t[6]=v,t[7]=y):(v=t[6],y=t[7]),Q.useEffect(v,y),!f)return null;let b;t[8]===u?b=t[9]:(b=u(`mobile.surface.closeAria`),t[8]=u,t[9]=b);let x;t[10]===r?x=t[11]:(x=e=>{e.preventDefault(),r()},t[10]=r,t[11]=x);let S;t[12]!==b||t[13]!==x?(S=(0,$.jsx)(`button`,{type:`button`,className:`pointer-events-auto absolute inset-x-0 bottom-0 cursor-default top-[calc(var(--oc-safe-area-top,0px)+var(--oc-mobile-detail-navigation-height,3.5rem)+0.25rem)]`,"aria-label":b,onPointerDown:x}),t[12]=b,t[13]=x,t[14]=S):S=t[14];let C;t[15]===u?C=t[16]:(C=u(`mobile.header.openMetadataAria`),t[15]=u,t[16]=C);let w=m&&`pointer-events-none`,T;t[17]===w?T=t[18]:(T=X(`pointer-events-auto absolute inset-x-3 top-[calc(var(--oc-safe-area-top,0px)+var(--oc-mobile-detail-navigation-height,3.5rem)+0.5rem)] overflow-y-auto overscroll-contain rounded-[20px] oc-mobile-overlay-surface oc-mobile-overlay-surface--translucent p-2 will-change-transform`,w),t[17]=w,t[18]=T);let E=`${m?`session-metadata-out`:`session-metadata-in`} ${m?140:170}ms cubic-bezier(0.32, 0.72, 0, 1) forwards`,D;t[19]===E?D=t[20]:(D={animation:E,maxHeight:`min(72dvh, calc(100dvh - var(--oc-safe-area-top, 0px) - var(--oc-mobile-detail-navigation-height, 3.5rem) - 1rem))`},t[19]=E,t[20]=D);let O;t[21]===u?O=t[22]:(O=u(`mobile.header.metadata.branch`),t[21]=u,t[22]=O);let k;t[23]!==a||t[24]!==O?(k=(0,$.jsx)(Zo,{iconName:`git-branch`,label:O,children:a}),t[23]=a,t[24]=O,t[25]=k):k=t[25];let A;t[26]!==i||t[27]!==u?(A=i?(0,$.jsx)(Zo,{iconNode:(0,$.jsx)(Vo,{percentage:i.percentage}),label:u(`mobile.header.metadata.context`),children:(0,$.jsxs)(`span`,{className:`inline-flex items-baseline gap-1.5 tabular-nums`,children:[(0,$.jsxs)(`span`,{className:X(`font-semibold`,i.colorClass),children:[i.percentage.toFixed(1),`%`]}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:i.tokens})]})}):null,t[26]=i,t[27]=u,t[28]=A):A=t[28];let j;t[29]!==c||t[30]!==l||t[31]!==s||t[32]!==o?(j=(0,$.jsx)(Qo,{groups:o,displayMode:s,isLoading:c,timeFormatPreference:l}),t[29]=c,t[30]=l,t[31]=s,t[32]=o,t[33]=j):j=t[33];let M;t[34]!==k||t[35]!==A||t[36]!==j?(M=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[k,A,j]}),t[34]=k,t[35]=A,t[36]=j,t[37]=M):M=t[37];let N;t[38]!==T||t[39]!==D||t[40]!==M||t[41]!==C?(N=(0,$.jsx)(`div`,{ref:d,role:`dialog`,"aria-label":C,className:T,style:D,onPointerDown:ys,children:M}),t[38]=T,t[39]=D,t[40]=M,t[41]=C,t[42]=N):N=t[42];let P;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`style`,{children:`
|
|
6
|
+
@keyframes session-metadata-in {
|
|
7
|
+
from { opacity: 0; transform: translateY(-8px) scale(0.985); }
|
|
8
|
+
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
9
|
+
}
|
|
10
|
+
@keyframes session-metadata-out {
|
|
11
|
+
from { opacity: 1; transform: translateY(0) scale(1); }
|
|
12
|
+
to { opacity: 0; transform: translateY(-6px) scale(0.985); }
|
|
13
|
+
}
|
|
14
|
+
`}),t[43]=P):P=t[43];let te;return t[44]!==N||t[45]!==S?(te=(0,$.jsxs)(`div`,{className:`fixed inset-0 z-40 pointer-events-none`,children:[S,N,P]}),t[44]=N,t[45]=S,t[46]=te):te=t[46],te};function es(e){let t=(0,Wr.c)(95),{sessionId:n,open:r,onOpenChange:i}=e,{t:a}=ee(),{git:o}=Xt(),[s,c]=Q.useState(!1),u=r!==void 0,d=u?r:s,f=n.length===0,p;t[0]!==u||t[1]!==i||t[2]!==d?(p=e=>{let t=typeof e==`function`?e(d):e;u||c(t),i?.(t)},t[0]=u,t[1]=i,t[2]=d,t[3]=p):p=t[3];let m=A(p),h=C(vs),g;t[4]===n?g=t[5]:(g=e=>n?e.getDirectoryForSession(n):null,t[4]=n,t[5]=g);let _=q(g)||h,v;t[6]===_?v=t[7]:(v=Yo(_)||null,t[6]=_,t[7]=v);let y=v,b=le(n,_||void 0),x=mn(y),S=hn(y),w=fn(_s),T=fn(gs),E=ae(hs),D=ae(ms),O=ae(ps),k=ae(fs),j;t[8]===n?j=t[9]:(j=e=>n?e.sessionModelSelections.get(n)??null:null,t[8]=n,t[9]=j);let M=F(j),N=Mn(ds),P=Mn(us),te=Mn(ls),I=Mn(cs),L=Mn(ss),R=Mn(os),z=Mn(as),B=l(is);Cn();let V;t[10]===m?V=t[11]:(V=()=>{m(!1)},t[10]=m,t[11]=V);let H;t[12]!==_||t[13]!==n?(H=[n,_],t[12]=_,t[13]=n,t[14]=H):H=t[14],Q.useEffect(V,H);let U,W;t[15]!==w||t[16]!==o||t[17]!==y?(U=()=>{y&&w(y,o)},W=[w,o,y],t[15]=w,t[16]=o,t[17]=y,t[18]=U,t[19]=W):(U=t[18],W=t[19]),Q.useEffect(U,W);let ne,re;t[20]!==T||t[21]!==o||t[22]!==y?(re=()=>{if(y)return pe.onGitRefreshHint(e=>{Yo(e.directory)===y&&T(y,o)})},ne=[T,o,y],t[20]=T,t[21]=o,t[22]=y,t[23]=ne,t[24]=re):(ne=t[23],re=t[24]),Q.useEffect(re,ne);let ie,G;t[25]===P?(ie=t[26],G=t[27]):(ie=()=>{P()},G=[P],t[25]=P,t[26]=ie,t[27]=G),Q.useEffect(ie,G);let oe,se;t[28]===R?(oe=t[29],se=t[30]):(oe=()=>{pt(R)},se=[R],t[28]=R,t[29]=oe,t[30]=se),Q.useEffect(oe,se);let ce,ue;t[31]!==R||t[32]!==te||t[33]!==I||t[34]!==d||t[35]!==N?(ce=()=>{!d||I||R.some(e=>!N.some(t=>t.providerId===e))&&te()},ue=[R,te,I,d,N],t[31]=R,t[32]=te,t[33]=I,t[34]=d,t[35]=N,t[36]=ce,t[37]=ue):(ce=t[36],ue=t[37]),Q.useEffect(ce,ue);let K;t[38]===b?K=t[39]:(K=qo(b),t[38]=b,t[39]=K);let de=K,fe;if(t[40]!==b||t[41]!==O||t[42]!==D||t[43]!==_||t[44]!==k||t[45]!==f||t[46]!==de||t[47]!==E||t[48]!==M){let e=de??(M?{providerID:M.providerId,modelID:M.modelId}:null)??(D&&O?{providerID:D,modelID:O}:null),n=(e?E.find(t=>t.id===e.providerID):void 0)?.models.find(t=>t.id===e?.modelID),r=e?k(e.providerID,e.modelID):void 0,i=Uo(n?.limit,`context`)??r?.limit?.context??0,a;t[50]===_?a=t[51]:(a=e=>Ce(e,_||void 0),t[50]=_,t[51]=a);let o;t[52]!==b||t[53]!==a?(o=Jo(b,a),t[52]=b,t[53]=a,t[54]=o):o=t[54],fe=Ko({totalTokens:o,contextLimit:i,isDraft:f}),t[40]=b,t[41]=O,t[42]=D,t[43]=_,t[44]=k,t[45]=f,t[46]=de,t[47]=E,t[48]=M,t[49]=fe}else fe=t[49];let me=fe,he;t[55]!==S?.current||t[56]!==x||t[57]!==a?(he=x===!0?S?.current?.trim()||a(`gitView.branch.detachedHead`):a(`common.unavailable`),t[55]=S?.current,t[56]=x,t[57]=a,t[58]=he):he=t[58];let ge=he,_e;if(t[59]!==R||t[60]!==N||t[61]!==z||t[62]!==a){let e=new Map(N.map(rs)),n;t[64]===R?n=t[65]:(n=e=>R.includes(e.id),t[64]=R,t[65]=n),_e=Sn.filter(n).filter(t=>e.get(t.id)?.configured===!0).map(t=>{let n=e.get(t.id),r=[];for(let[e,t]of Object.entries(n?.usage?.windows??{}))r.push({key:`window-${e}`,label:Ot(e),window:t});let i=Object.entries(n?.usage?.models??{}),o=z[t.id]??[],s=o.length>0?i.filter(e=>{let[t]=e;return o.includes(t)}):i;for(let[e,t]of s){let n=Object.entries(t.windows??{});if(n.length===0)continue;let[i,a]=n[0];r.push({key:`model-${e}-${i}`,label:Ot(i),subtitle:Tn(e),window:a})}let c=!n.ok&&n.error?n.error:r.length===0?a(`header.services.noRateLimitsReported`):null;return{providerId:t.id,providerName:t.name,rows:r,status:c}}),t[59]=R,t[60]=N,t[61]=z,t[62]=a,t[63]=_e}else _e=t[63];let ve=_e,ye,be;t[66]!==d||t[67]!==ve?(ye=()=>{!d||ve.length===0||pt(ve.map(ns))},be=[d,ve],t[66]=d,t[67]=ve,t[68]=ye,t[69]=be):(ye=t[68],be=t[69]),Q.useEffect(ye,be);let xe;t[70]===m?xe=t[71]:(xe=()=>{m(ts)},t[70]=m,t[71]=xe);let Se=A(xe),we;t[72]===m?we=t[73]:(we=()=>{m(!1)},t[72]=m,t[73]=we);let J=A(we),Y;t[74]===a?Y=t[75]:(Y=a(`mobile.header.openMetadataAria`),t[74]=a,t[75]=Y);let Te=me?.percentage??0,Ee;t[76]===Te?Ee=t[77]:(Ee=(0,$.jsx)(Vo,{percentage:Te}),t[76]=Te,t[77]=Ee);let De;t[78]!==Se||t[79]!==d||t[80]!==Y||t[81]!==Ee?(De=(0,$.jsx)(`span`,{className:`inline-flex`,children:(0,$.jsx)(Ue,{type:`button`,variant:`mobileGlass`,size:`mobileIcon`,"aria-label":Y,"aria-expanded":d,onClick:Se,children:Ee})}),t[78]=Se,t[79]=d,t[80]=Y,t[81]=Ee,t[82]=De):De=t[82];let Oe;t[83]!==ge||t[84]!==me||t[85]!==J||t[86]!==I||t[87]!==d||t[88]!==L||t[89]!==B||t[90]!==ve?(Oe=(0,$.jsx)($o,{open:d,onClose:J,contextDisplay:me,branchLabel:ge,usageGroups:ve,usageDisplayMode:L,isUsageLoading:I,timeFormatPreference:B}),t[83]=ge,t[84]=me,t[85]=J,t[86]=I,t[87]=d,t[88]=L,t[89]=B,t[90]=ve,t[91]=Oe):Oe=t[91];let ke;return t[92]!==De||t[93]!==Oe?(ke=(0,$.jsxs)($.Fragment,{children:[De,Oe]}),t[92]=De,t[93]=Oe,t[94]=ke):ke=t[94],ke}function ts(e){return!e}function ns(e){return e.providerId}function rs(e){return[e.providerId,e]}function is(e){return e.timeFormatPreference}function as(e){return e.selectedModels}function os(e){return e.dropdownProviderIds}function ss(e){return e.displayMode}function cs(e){return e.isLoading}function ls(e){return e.fetchAllQuotas}function us(e){return e.loadSettings}function ds(e){return e.results}function fs(e){return e.getModelMetadata}function ps(e){return e.currentModelId}function ms(e){return e.currentProviderId}function hs(e){return e.providers}function gs(e){return e.fetchStatus}function _s(e){return e.ensureStatus}function vs(e){return e.currentDirectory}function ys(e){e.stopPropagation()}function bs(e){return e.sessionId?e.userRefreshInFlight?`syncing`:e.hasTranscript?null:!e.isConnected&&e.connectionPhase===`reconnecting`||e.loadStatus===`loading`?`syncing`:null:null}function xs(e,t){let n=(0,Wr.c)(13),{t:r}=ee(),i=ne(e,t),a=we(e,t),o=ae(ws),s=ae(Cs),c;n[0]!==t||n[1]!==e?(c=()=>Y(e,t),n[0]=t,n[1]=e,n[2]=c):c=n[2];let l=(0,Q.useSyncExternalStore)(re,c,Ss),u=i?.status,d;n[3]!==s||n[4]!==a||n[5]!==o||n[6]!==e||n[7]!==u||n[8]!==l?(d=bs({sessionId:e,hasTranscript:a,loadStatus:u,userRefreshInFlight:l,isConnected:o,connectionPhase:s}),n[3]=s,n[4]=a,n[5]=o,n[6]=e,n[7]=u,n[8]=l,n[9]=d):d=n[9];let f=d,p;return n[10]!==f||n[11]!==r?(p=f===`syncing`?r(`mobile.chat.syncingMessages`):null,n[10]=f,n[11]=r,n[12]=p):p=n[12],p}function Ss(){return!1}function Cs(e){return e.connectionPhase}function ws(e){return e.isConnected}function Ts(e){let t=(0,Wr.c)(32),{sessionId:n,directory:r,title:i,onBack:a,onOpenMenu:o,onCloseMenu:s,menuOpen:c,children:l,className:u}=e,d=c!==void 0&&c,{t:f}=ee(),p=n.length===0,m=De(p?null:n),h;t[0]!==p||t[1]!==m?.title||t[2]!==f||t[3]!==i?(h=p?i?.trim()||f(`mobile.menu.newSession`):i?.trim()||m?.title?.trim()||f(`mobile.sessions.untitled`),t[0]=p,t[1]=m?.title,t[2]=f,t[3]=i,t[4]=h):h=t[4];let g=h,_=xs(p?``:n,r||void 0),[v,y]=Q.useState(!1),b;t[5]!==d||t[6]!==s?(b=e=>{e&&d&&s?.(),y(e)},t[5]=d,t[6]=s,t[7]=b):b=t[7];let x=A(b),S;t[8]!==v||t[9]!==o?(S=()=>{v&&y(!1),o()},t[8]=v,t[9]=o,t[10]=S):S=t[10];let C=A(S),w=d||v,T;t[11]===u?T=t[12]:(T=X(`relative isolate flex h-full min-h-0 w-full flex-col overflow-hidden bg-background text-foreground`,u),t[11]=u,t[12]=T);let E;t[13]!==v||t[14]!==x||t[15]!==n?(E=(0,$.jsx)(es,{sessionId:n,open:v,onOpenChange:x}),t[13]=v,t[14]=x,t[15]=n,t[16]=E):E=t[16];let D;t[17]!==C||t[18]!==w||t[19]!==d||t[20]!==a||t[21]!==g||t[22]!==_||t[23]!==E?(D=(0,$.jsx)(Ho,{title:g,subtitle:_,onBack:a,onOpenMenu:C,menuOpen:d,elevated:w,trailing:E}),t[17]=C,t[18]=w,t[19]=d,t[20]=a,t[21]=g,t[22]=_,t[23]=E,t[24]=D):D=t[24];let O;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(O=X(`mobile-chat-screen__content relative h-full min-h-0 flex-1`,`[&_[data-scrollbar=chat]>div]:pt-[calc(max(0.625rem,var(--oc-safe-area-top,0px))+var(--oc-mobile-detail-navigation-height)+1.25rem)]`),t[25]=O):O=t[25];let k;t[26]===l?k=t[27]:(k=(0,$.jsx)(`div`,{className:O,children:l}),t[26]=l,t[27]=k);let j;return t[28]!==T||t[29]!==D||t[30]!==k?(j=(0,$.jsxs)(`main`,{className:T,children:[D,k]}),t[28]=T,t[29]=D,t[30]=k,t[31]=j):j=t[31],j}var Es=w(`BarcodeScanner`),Ds=`oc-barcode-scanner-active`,Os=()=>Us()?Es:null,ks=()=>window.Capacitor?.getPlatform?.()===`android`,As=e=>typeof e==`object`&&e&&`message`in e?String(e.message??``):String(e??``),js=e=>/^\s*scan canceled\.?\s*$/i.test(As(e)),Ms=e=>/denied access to camera/i.test(As(e)),Ns=e=>!js(e)&&!Ms(e),Ps=e=>{let t=As(e);return/module/i.test(t)&&/not\s*available|unavailable/i.test(t)},Fs=e=>{e.installGoogleBarcodeScannerModule?.().catch(()=>void 0)},Is=e=>{let t=e.trim();if(!t)return null;if(/^openchamber:\/\//i.test(t)){let e=vr(t);return e?{pairing:e}:null}return/^https?:\/\//i.test(t)?{url:t}:null},Ls=e=>{let t=Is(e);return t?`pairing`in t?{status:`pairing`,...t}:{status:`ok`,...t}:{status:`invalid`}},Rs=e=>{typeof document>`u`||document.documentElement.classList.toggle(Ds,e)},zs=e=>{try{e()}catch{}},Bs=e=>{if(typeof document>`u`)return()=>void 0;let t=document.body,n=document.createElement(`button`);n.type=`button`,n.className=`oc-barcode-scanner-chrome`,n.setAttribute(`aria-label`,`Cancel`),n.textContent=`×`,n.addEventListener(`click`,e),t.appendChild(n);let r=!1;return()=>{r||(r=!0,n.removeEventListener(`click`,e),n.parentNode===t&&t.removeChild(n))}},Vs=async e=>{if(!e.startScan||!e.stopScan||!e.addListener)return{status:`unsupported`};let t,n,r,i=!1,a=()=>void 0,o=new Promise(e=>{a=e}),s=e=>{i||(i=!0,a(e))};Rs(!0);let c=Bs(()=>s({status:`cancelled`}));try{let{App:e}=await E(async()=>{let{App:e}=await import(`./vendor-capacitor-app-PzT84wSx.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([46,1,14])),t=await e.addListener(`backButton`,()=>s({status:`cancelled`}));r=()=>void t.remove()}catch{r=void 0}try{return(await Promise.allSettled([Promise.resolve(e.addListener(`barcodesScanned`,({barcodes:e})=>{let t=e?.[0],n=(t?.rawValue??t?.displayValue??``).trim();n&&s(Ls(n))})).then(e=>{t=e}),Promise.resolve(e.addListener(`scanError`,()=>s({status:`failed`}))).then(e=>{n=e})])).some(({status:e})=>e===`rejected`)?s({status:`failed`}):i||e.startScan({formats:[`QR_CODE`]}).catch(e=>{Ms(e)?s({status:`permission-denied`}):s({status:`failed`})}),await o}finally{Rs(!1),zs(c),zs(()=>r?.()),await Promise.allSettled([Promise.resolve(t?.remove()),Promise.resolve(n?.remove()),e.stopScan()])}},Hs=e=>e.isNativePlatform&&e.isPluginAvailable,Us=()=>Hs({isNativePlatform:T.isNativePlatform(),isPluginAvailable:T.isPluginAvailable(`BarcodeScanner`)}),Ws=async()=>{let e=Os();if(!e)return{status:`unsupported`};try{if(e.requestPermissions){let t=(await e.requestPermissions())?.camera;if(t&&t!==`granted`&&t!==`limited`)return{status:`permission-denied`}}if(e.scan)try{let t=(await e.scan({formats:[`QR_CODE`]}))?.barcodes?.[0],n=(t?.rawValue??t?.displayValue??``).trim();return n?Ls(n):{status:`cancelled`}}catch(t){return js(t)?{status:`cancelled`}:Ms(t)?{status:`permission-denied`}:ks()&&Ns(t)&&e.startScan?(Ps(t)&&Fs(e),Vs(e)):{status:`failed`}}return ks()&&e.startScan?Vs(e):{status:`unsupported`}}catch{return{status:`failed`}}},Gs={autoComplete:`off`,autoCorrect:`off`,spellCheck:!1},Ks=e=>{let t=(0,Wr.c)(32),{disabled:n,isBusy:r,tabIndex:i,inputClassName:a,buttonVariant:o,buttonClassName:s,onRedeem:c,onInvalid:l}=e,u=n!==void 0&&n,d=r!==void 0&&r,f=o===void 0?`outline`:o,p=s===void 0?`h-12 w-full`:s,{t:m}=ee(),[h,g]=Q.useState(``),_;t[0]!==l||t[1]!==c||t[2]!==h?(_=e=>{e.preventDefault();let t=Is(h);if(!t||!(`pairing`in t)){l();return}c(t.pairing)},t[0]=l,t[1]=c,t[2]=h,t[3]=_):_=t[3];let v=A(_),y;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>g(e.target.value),t[4]=y):y=t[4];let b;t[5]===m?b=t[6]:(b=m(`mobile.connect.link.placeholder`),t[5]=m,t[6]=b);let x;t[7]===m?x=t[8]:(x=m(`mobile.connect.link.label`),t[7]=m,t[8]=x);let S;t[9]!==u||t[10]!==a||t[11]!==h||t[12]!==b||t[13]!==x||t[14]!==i?(S=(0,$.jsx)(`input`,{...Gs,value:h,onChange:y,placeholder:b,"aria-label":x,inputMode:`url`,autoCapitalize:`none`,tabIndex:i,disabled:u,className:a}),t[9]=u,t[10]=a,t[11]=h,t[12]=b,t[13]=x,t[14]=i,t[15]=S):S=t[15];let C;t[16]!==u||t[17]!==d||t[18]!==h?(C=u||d||!h.trim(),t[16]=u,t[17]=d,t[18]=h,t[19]=C):C=t[19];let w;t[20]!==d||t[21]!==m?(w=m(d?`mobile.connect.connecting`:`mobile.connect.connectButton`),t[20]=d,t[21]=m,t[22]=w):w=t[22];let T;t[23]!==p||t[24]!==f||t[25]!==C||t[26]!==w?(T=(0,$.jsx)(Ue,{type:`submit`,variant:f,size:`lg`,className:p,disabled:C,children:w}),t[23]=p,t[24]=f,t[25]=C,t[26]=w,t[27]=T):T=t[27];let E;return t[28]!==v||t[29]!==T||t[30]!==S?(E=(0,$.jsxs)(`form`,{className:`flex w-full flex-col gap-3`,onSubmit:v,children:[S,T]}),t[28]=v,t[29]=T,t[30]=S,t[31]=E):E=t[31],E},qs=e=>{let t=(0,Wr.c)(6),{label:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`span`,{className:`h-px flex-1 bg-border/70`}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=(0,$.jsx)(`span`,{className:`typography-micro text-muted-foreground`,children:n}),t[1]=n,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`span`,{className:`h-px flex-1 bg-border/70`}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-3 py-3`,"aria-hidden":`true`,children:[r,i,a]}),t[4]=i,t[5]=o),o};function Js(e){let t=(0,Wr.c)(4),n=e===void 0?2500:e,{uiFont:r}=Nn(),[i,a]=Q.useState(!1),o,s;return t[0]!==n||t[1]!==r?(o=()=>{let e=!1,t=()=>{e||a(!0)},i=()=>{requestAnimationFrame(()=>requestAnimationFrame(t))},o=Promise.all([lt(r).catch($s),document.fonts?.ready?.then(Qs).catch(Zs)??Promise.resolve(),Pr.catch(Xs)]).then(Ys),s=new Promise(e=>{window.setTimeout(e,n)});return Promise.race([o,s]).then(i),()=>{e=!0}},s=[r,n],t[0]=n,t[1]=r,t[2]=o,t[3]=s):(o=t[2],s=t[3]),Q.useEffect(o,s),i}function Ys(){}function Xs(){}function Zs(){}function Qs(){}function $s(){}var ec=e=>e.replace(/^\/+|\/+$/g,``),tc=e=>{let t=e.get(`directory`)||e.get(`dir`)||e.get(`path`);if(typeof t!=`string`)return;let n=t.trim();return n.length>0?n:void 0},nc=e=>{let t=ec(e.pathname).split(`/`).filter(Boolean);return e.host?[e.host,...t]:t};function rc(e){if(typeof e!=`string`||e.length===0)return null;let t;try{t=new URL(e)}catch{return null}if(t.protocol!==`openchamber:`)return null;let n=nc(t),r=(n[0]??``).toLowerCase(),i=n.slice(1),a=t.searchParams;switch(r){case`connect`:{let t=vr(e);return t?{type:`connect`,pairing:t}:null}case`session`:{let e=i[0]||a.get(`id`)||``;return e?{type:`session`,sessionId:e,directory:tc(a)}:null}case`new`:case`new-session`:{let e=a.get(`prompt`)?.trim();return{type:`new-session`,directory:tc(a),projectId:a.get(`project`)??void 0,agent:a.get(`agent`)??void 0,model:a.get(`model`)??void 0,prompt:e||void 0}}case`project`:case`open-project`:{let e;if(i.length>0)try{e=decodeURIComponent(i.join(`/`))}catch{e=i.join(`/`)}let t=tc(a)||e;return t?{type:`open-project`,directory:t}:null}case`sessions`:{let e=a.get(`filter`);return{type:`sessions`,filter:e===`attention`||e===`recent`||e===`all`?e:void 0}}case`status`:return{type:`status`};case`settings`:return{type:`settings`,section:i[0]||a.get(`section`)||void 0};case`changes`:return{type:`changes`,path:i.join(`/`)||a.get(`path`)||void 0,staged:a.get(`staged`)===`true`};case`view`:{let e=(i[0]||``).toLowerCase();return e===`changes`?{type:`changes`}:e===`files`||e===`mcp`||e===`instances`||e===`update`?{type:`view`,target:e}:null}default:return null}}var ic={},ac=null,oc=!1,sc=null,cc=e=>{switch(e.type){case`connect`:return ac?(ac(e.pairing),!0):!1;case`session`:return H()?(q.getState().setCurrentSession(e.sessionId,e.directory??null),!0):(be.getState().openSession({sessionId:e.sessionId,directory:e.directory??null}),!0);case`new-session`:return H()?(q.getState().openNewSessionDraft({directoryOverride:e.directory??null,selectedProjectId:e.projectId??null,preserveDirectoryOverride:!!e.directory,ensureProjectForDirectory:!!e.directory,initialPrompt:e.prompt}),!0):(be.getState().openDraft({directoryOverride:e.directory??null,selectedProjectId:e.projectId??null,preserveDirectoryOverride:!!e.directory,ensureProjectForDirectory:!!e.directory,initialPrompt:e.prompt}),!0);case`open-project`:return H()?(q.getState().openNewSessionDraft({directoryOverride:e.directory,preserveDirectoryOverride:!0}),!0):(be.getState().openDraft({directoryOverride:e.directory,preserveDirectoryOverride:!0}),!0);case`sessions`:return ic.openSessions?(ic.openSessions(e.filter),!0):!1;case`status`:return ic.openSessions?(ic.openSessions(),!0):(l.getState().setMobileSessionPanelOpen(!0),!0);case`view`:return ic.openView?(ic.openView(e.target),!0):!1;case`changes`:return ic.openChanges?(ic.openChanges({path:e.path,staged:e.staged}),!0):!1;case`settings`:return ic.openSettings?(ic.openSettings(e.section),!0):!1}},lc=()=>{if(!sc||!oc&&sc.type!==`connect`)return;let e=sc;sc=null,cc(e)||(sc=e)},uc=e=>{sc=e,lc()},dc=e=>{let t=rc(e);t&&uc(t)},fc=e=>{oc=e,lc()},pc=e=>{let t=(0,Wr.c)(3),n,r;t[0]===e?(n=t[1],r=t[2]):(n=()=>(ic=e,lc(),()=>{ic===e&&(ic={})}),r=[e],t[0]=e,t[1]=n,t[2]=r),Q.useEffect(n,r)},mc=e=>{let t=(0,Wr.c)(3),n,r;t[0]===e?(n=t[1],r=t[2]):(n=()=>(ac=e,lc(),()=>{ac===e&&(ac=null)}),r=[e],t[0]=e,t[1]=n,t[2]=r),Q.useEffect(n,r)},hc=e=>{let{ready:t}=e,[n,r]=Q.useState(()=>he()?`pending`:`none`);return Q.useEffect(()=>{fc(t)},[t]),Q.useEffect(()=>{if(!he())return;let e=!1,t=[];return E(async()=>{let{App:e}=await import(`./vendor-capacitor-app-PzT84wSx.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([46,1,14])).then(async({App:n})=>{if(e)return;let i=await n.addListener(`appUrlOpen`,e=>{dc(e?.url)});if(e){i.remove();return}t.push(()=>void i.remove());let a=await n.getLaunchUrl().catch(()=>void 0);if(e)return;let o=rc(a?.url);r(o?.type===`connect`?`connect`:o?`other`:`none`),o&&uc(o)}).catch(()=>{e||r(`none`)}),E(async()=>{let{PushNotifications:e}=await import(`./vendor-capacitor-push-notifications-DB3-G2vL.js`).then(e=>e.t);return{PushNotifications:e}},__vite__mapDeps([47,1,14])).then(async({PushNotifications:n})=>{if(e)return;let r=await n.addListener(`pushNotificationActionPerformed`,e=>{let t=e?.notification?.data,n=typeof t?.url==`string`?t.url:typeof t?.deeplink==`string`?t.deeplink:void 0;if(n){dc(n);return}let r=typeof t?.sessionId==`string`?t.sessionId:void 0;r&&uc({type:`session`,sessionId:r})});if(e){r.remove();return}t.push(()=>void r.remove())}).catch(()=>void 0),()=>{e=!0,t.forEach(e=>e())}},[]),n},gc=64,_c=.6,vc=28,yc=`[class*="code-block"], [class*="codeBlock"], pre, .cm-editor`,bc=`[data-session-swipe-surface="true"]`,xc=e=>e?e.matches(yc)||e.closest(yc)!==null:!1,Sc=(e,t)=>{let n=e;for(;n&&n!==document.body&&n!==document.documentElement;){let e=window.getComputedStyle(n);if(t){let t=e.overflowX;if((t===`auto`||t===`scroll`)&&n.scrollWidth>n.clientWidth)return!0}else{let t=e.overflowY;if((t===`auto`||t===`scroll`)&&n.scrollHeight>n.clientHeight)return!0}n=n.parentElement}return!1},Cc=e=>e.composerActive||e.onCodeBlock||e.withinHorizontalScroller||e.withinNativeBackEdge?!1:e.onExplicitSurface,wc=e=>he()&&P()===`ios`&&e<=vc,Tc=e=>{let t=e.endX-e.startX,n=e.endY-e.startY,r=Math.abs(t);return r<gc||Math.abs(n)>r*_c?null:t<0?`next`:`prev`},Ec=(e,t)=>{let n=e.endX-e.startX,r=e.endY-e.startY,i=Math.abs(n);if(i<8||Math.abs(r)>i*_c)return null;let a=n<0?`next`:`prev`;return{direction:a,progress:Math.min(i/gc,1),offsetX:n,canSwitch:t[a]}},Dc=e=>e.parentID??null,Oc=e=>e.time?.updated??e.time?.created??0,kc=()=>fe.getState().activeSessions.filter(e=>Dc(e)===null).slice().sort((e,t)=>Oc(t)-Oc(e)),Ac=()=>{let e=kc(),t=q.getState().currentSessionId,n=e.findIndex(e=>e.id===t);return{currentId:t,prevId:n>0?e[n-1].id:null,nextId:n>=0&&n<e.length-1?e[n+1].id:null}},jc=(e,t)=>{if(q.getState().currentSessionId!==t.currentId)return!1;let n=e===`prev`?t.prevId:t.nextId;if(!n)return!1;let r=fe.getState().activeSessions.find(e=>e.id===n);return r?(q.getState().setCurrentSession(r.id,ue(r)),!0):!1},Mc=(e,t,n)=>{let r=Q.useRef(t?.onSwitch);r.current=t?.onSwitch;let i=Q.useRef(t?.onProgress);i.current=t?.onProgress,Q.useEffect(()=>{let t=e.current;if(!t)return;let n=!1,a=0,o=0,s={currentId:null,prevId:null,nextId:null},c={prev:!1,next:!1},l=!1,u=!1,d=!1,f=!1,p=null,m=e=>{if(e.touches.length!==1){n=!1;return}let t=e.touches[0],r=document.elementFromPoint(t.clientX,t.clientY);if(!r){n=!1;return}let i=r.closest(bc),f=i!==null&&(!i.classList.contains(`oc-mobile-composer-collapsed`)||i.contains(document.activeElement));if(f){n=!1;return}if(!Cc({onExplicitSurface:i!==null,onCodeBlock:xc(r),withinHorizontalScroller:Sc(r,!0),withinNativeBackEdge:wc(t.clientX),composerActive:f})){n=!1;return}n=!0,a=t.clientX,o=t.clientY,s=Ac(),c={prev:s.prevId!==null,next:s.nextId!==null},l=!1,u=!1,d=!1},h=e=>{if(!n)return;if(e.touches.length!==1){n=!1,l&&se(`light`,{bypassCadence:!0}),l=!1,u=!1,d&&i.current?.(null),d=!1;return}let t=e.touches[0],r=Ec({startX:a,startY:o,endX:t.clientX,endY:t.clientY},c);if(!r){l&&(l=!1,se(`light`,{bypassCadence:!0}),u=!1),d&&i.current?.(null),d=!1;return}e.cancelable&&e.preventDefault(),d=!0,i.current?.(r);let s=Math.abs(r.offsetX),f=Ee({thresholdReached:l,distance:s,enterDistance:gc,cancelDistance:56,available:r.canSwitch});l=f.thresholdReached,f.event===`enter`&&(u=se(`medium`,{bypassCadence:!0})),f.event===`cancel`&&(se(`light`,{bypassCadence:!0}),u=!1)},g=e=>{if(!n)return;n=!1;let t=e.changedTouches[0];if(!t){l&&se(`light`,{bypassCadence:!0}),l=!1,u=!1,d&&i.current?.(null),d=!1;return}if(Sc(document.elementFromPoint(t.clientX,t.clientY),!0)){l&&se(`light`,{bypassCadence:!0}),l=!1,u=!1,d&&i.current?.(null),d=!1;return}let c=Tc({startX:a,startY:o,endX:t.clientX,endY:t.clientY});if(!c){l&&se(`light`,{bypassCadence:!0}),l=!1,u=!1,d&&i.current?.(null),d=!1;return}jc(c,s)?(u||se(`medium`,{bypassCadence:!0}),f=!0,p!==null&&window.clearTimeout(p),p=window.setTimeout(()=>{f=!1,p=null},500),r.current?.(c)):l&&se(`light`,{bypassCadence:!0}),l=!1,u=!1,d&&i.current?.(null),d=!1},_=()=>{n=!1,l&&se(`light`,{bypassCadence:!0}),l=!1,u=!1,d&&i.current?.(null),d=!1},v=e=>{f&&(f=!1,p!==null&&(window.clearTimeout(p),p=null),e.preventDefault(),e.stopPropagation())};return t.addEventListener(`touchstart`,m,{passive:!0}),t.addEventListener(`touchmove`,h,{passive:!1}),t.addEventListener(`touchend`,g,{passive:!0}),t.addEventListener(`touchcancel`,_,{passive:!0}),t.addEventListener(`click`,v,!0),()=>{p!==null&&window.clearTimeout(p),t.removeEventListener(`touchstart`,m),t.removeEventListener(`touchmove`,h),t.removeEventListener(`touchend`,g),t.removeEventListener(`touchcancel`,_),t.removeEventListener(`click`,v,!0)}},[e,n])},Nc=.85,Pc=8,Fc=.35,Ic=.22,Lc=e=>({segmentStart:e,lastTouch:e,open:!1}),Rc=e=>e*Fc,zc=e=>e*Ic,Bc=(e,t)=>Math.max(0,e-t),Vc=(e,t)=>Math.max(0,t-e),Hc=(e,t)=>{let n=Math.abs(e);return n<Pc||Math.abs(t)<=n*Nc},Uc=(e,t,n)=>{let r=t.clientX-e.segmentStart.clientX,i=t.clientY-e.segmentStart.clientY,a=Bc(e.segmentStart.clientX,t.clientX),o=Rc(n),s=zc(n),c=e.open;return c=a<=0?!1:e.open?a>=s:a>=o&&Hc(r,i),{segmentStart:e.segmentStart,lastTouch:t,open:c}},Wc=e=>{if(e.disabled||e.startedOnExcludedTarget)return{open:!1,back:!1};let t=e.endX-e.startX,n=e.endY-e.startY,r=Bc(e.startX,e.endX),i=Vc(e.startX,e.endX),a=Rc(e.viewportWidth),o=Hc(t,n);return{open:r>=a&&o,back:i>=a&&o}},Gc=(e,t,n)=>Math.min(Bc(e,t)/Math.max(1,Rc(n)),1),Kc=(e,t,n)=>Math.min(Vc(e,t)/Math.max(1,Rc(n)),1),qc=e=>{let t=e;for(;t&&t!==document.body&&t!==document.documentElement;){let e=window.getComputedStyle(t).overflowX;if((e===`auto`||e===`scroll`)&&t.scrollWidth>t.clientWidth)return!0;t=t.parentElement}return!1},Jc=e=>{let t=document.elementFromPoint(e.clientX,e.clientY);return!!t?.closest(`[data-session-swipe-surface="true"]`)||qc(t)},Yc=1,Xc=(e,t)=>{if(!e||e.rangeCount===0||e.isCollapsed)return!1;if(!t)return!0;let n=e.anchorNode;if(!n)return!1;let r=n.nodeType===Yc?n:n.parentElement;return!!(r&&t.contains(r))},Zc=e=>Xc(window.getSelection(),e),Qc=(e,t,n)=>{let r=Q.useRef(t.onOpen);r.current=t.onOpen;let i=Q.useRef(t.onPreviewStart);i.current=t.onPreviewStart;let a=Q.useRef(t.onPreviewCancel);a.current=t.onPreviewCancel;let o=Q.useRef(t.onProgress);o.current=t.onProgress;let s=Q.useRef(t.onBack);s.current=t.onBack;let c=Q.useRef(t.onBackProgress);c.current=t.onBackProgress;let l=Q.useRef(t.disabled);l.current=t.disabled,Q.useEffect(()=>{let t=e.current;if(!t)return;let n=!1,u=!1,d=null,f=!1,p=!1,m=!1,h=0,g=0,_=null,v=e=>{let t=Rc(g),n=Ee({thresholdReached:p,distance:e,enterDistance:t,cancelDistance:zc(g),available:!0});p=n.thresholdReached,n.event===`enter`&&(m=se(`medium`,{bypassCadence:!0})),n.event===`cancel`&&(se(`light`,{bypassCadence:!0}),m=!1)},y=e=>{o.current?.(null),p&&!e&&se(`light`,{bypassCadence:!0}),p=!1,m=!1,e?r.current():f&&a.current?.(),f=!1},b=e=>{c.current?.(null),p&&!e&&se(`light`,{bypassCadence:!0}),p=!1,m=!1,e&&s.current?.()},x=e=>{if(e.touches.length!==1){n=!1,_=null;return}if(l.current){n=!1,_=null;return}let r=e.touches[0];n=!0,g=window.innerWidth,u=Jc(r)||Zc(t),d=null,f=!1,p=!1,m=!1,h=0,_=Lc(r)},S=e=>{if(!n||u||!_)return;if(e.touches.length!==1){d===`sessions`&&y(!1),d===`back`&&b(!1),n=!1,_=null;return}let r=e.touches[0];_=Uc(_,r,g);let a=r.clientX-_.segmentStart.clientX,l=r.clientY-_.segmentStart.clientY;if(d===null){if(Zc(t))return;let e=Math.abs(a);if(e<Pc||Math.abs(l)>e*Nc)return;if(a<0)d=`sessions`,f=!0,i.current?.();else if(s.current)d=`back`;else return}e.preventDefault(),h=d===`sessions`?Bc(_.segmentStart.clientX,r.clientX):Vc(_.segmentStart.clientX,r.clientX),v(h),d===`sessions`?o.current?.(Gc(_.segmentStart.clientX,r.clientX,g)):c.current?.(Kc(_.segmentStart.clientX,r.clientX,g))},C=e=>{if(!n||!_)return;if(n=!1,!d){_=null;return}let t=e.changedTouches[0];t&&(_=Uc(_,t,g),h=d===`sessions`?Bc(_.segmentStart.clientX,t.clientX):Vc(_.segmentStart.clientX,t.clientX),v(h));let r=d===`sessions`?_.open:Wc({startX:_.segmentStart.clientX,startY:_.segmentStart.clientY,endX:_.lastTouch.clientX,endY:_.lastTouch.clientY,viewportWidth:g,disabled:!1,startedOnExcludedTarget:!1}).back;_=null,e.preventDefault(),r&&!m&&se(`medium`,{bypassCadence:!0}),d===`sessions`?y(r):b(r)},w=()=>{d===`sessions`&&y(!1),d===`back`&&b(!1),n=!1,_=null};return t.addEventListener(`touchstart`,x,{passive:!0,capture:!0}),t.addEventListener(`touchmove`,S,{passive:!1,capture:!0}),t.addEventListener(`touchend`,C,{passive:!1,capture:!0}),t.addEventListener(`touchcancel`,w,{passive:!0,capture:!0}),()=>{f&&y(!1),d===`back`&&b(!1),t.removeEventListener(`touchstart`,x,!0),t.removeEventListener(`touchmove`,S,!0),t.removeEventListener(`touchend`,C,!0),t.removeEventListener(`touchcancel`,w,!0)}},[e,n])},$c=()=>{if(typeof window>`u`)return!1;let e=window.Capacitor?.getPlatform?.();return e===`ios`||e===`android`},el=e=>{let{enabled:t}=e,n=l(e=>e.nativeNotificationsEnabled),r=Q.useRef(null);Q.useEffect(()=>{if(!t||!n||!$c())return;let e=!1,i=[];return E(async()=>{let{PushNotifications:e}=await import(`./vendor-capacitor-push-notifications-DB3-G2vL.js`).then(e=>e.t);return{PushNotifications:e}},__vite__mapDeps([47,1,14])).then(async({PushNotifications:t})=>{if(e)return;let n=await t.checkPermissions().catch(()=>null);if(n?.receive!==`granted`&&(n=await t.requestPermissions().catch(()=>null)),n?.receive!==`granted`)return;let a=await t.addListener(`registration`,e=>{r.current=e.value,_()?.push?.registerApnsToken?.({token:e.value,platform:P()})}),o=await t.addListener(`registrationError`,e=>{console.warn(`[Push] APNs registration error:`,e)});if(await t.register().catch(()=>void 0),e){a.remove(),o.remove();return}i.push(()=>void a.remove(),()=>void o.remove())}).catch(()=>void 0),()=>{e=!0,i.forEach(e=>e())}},[t,n]),Q.useEffect(()=>{if(n)return;let e=r.current;e&&(r.current=null,_()?.push?.unregisterApnsToken?.({token:e}))},[n])},tl=`mobile-direct-diff`,nl=`mobile-turn-diff`,rl=`mobile-direct-file`,il=`mobile-files`,al=`mobile-changes`,ol=`mobile-mcp`,sl=`mobile-settings`,cl=`mobile-update`,ll=`mobile-overflow-menu`,ul=320,dl=380,fl=280,pl=560,ml=380,hl=e=>Math.min(pl,Math.max(fl,Math.round(e))),gl=(e,t)=>{let n=e.current;n&&(n.style.width=`${t}px`,n.style.minWidth=`${t}px`,n.style.maxWidth=`${t}px`,n.style.setProperty(`--oc-ipad-sidebar-width`,`${t}px`))};function _l(e,t,n){let r=(0,Wr.c)(17),i=Q.useRef(null),a;r[0]!==n||r[1]!==t?(a=()=>{if(typeof window>`u`)return n;let e=Number.parseInt(window.localStorage.getItem(t)??``,10);return Number.isFinite(e)?Math.min(pl,Math.max(fl,e)):n},r[0]=n,r[1]=t,r[2]=a):a=r[2];let[o,s]=Q.useState(a),[c,l]=Q.useState(!1),u=Q.useRef(0),d=Q.useRef(o),f=Q.useRef(null),p=Q.useRef(null),m;r[3]===o?m=r[4]:(m=e=>{try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}p.current=e.pointerId,u.current=e.clientX,d.current=o,f.current=o,l(!0),e.preventDefault()},r[3]=o,r[4]=m);let h=A(m),g;r[5]===e?g=r[6]:(g=t=>{if(p.current!==t.pointerId)return;let n=t.clientX-u.current,r=hl(d.current+(e===`left`?n:-n));f.current!==r&&(f.current=r,gl(i,r))},r[5]=e,r[6]=g);let _=A(g),v;r[7]===t?v=r[8]:(v=e=>{if(p.current!==e.pointerId)return;try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}let n=hl(f.current??d.current);p.current=null,f.current=null,l(!1),s(n);try{window.localStorage.setItem(t,String(n))}catch{}},r[7]=t,r[8]=v);let y=A(v),b;r[9]!==h||r[10]!==y||r[11]!==_?(b={onPointerDown:h,onPointerMove:_,onPointerUp:y,onPointerCancel:y},r[9]=h,r[10]=y,r[11]=_,r[12]=b):b=r[12];let x=b,S;return r[13]!==x||r[14]!==c||r[15]!==o?(S={asideRef:i,width:o,isResizing:c,handleProps:x},r[13]=x,r[14]=c,r[15]=o,r[16]=S):S=r[16],S}var vl=e=>{let t=(0,Wr.c)(12),{side:n,isResizing:r,ariaLabel:i,handleProps:a}=e,o=n===`left`?`right-0`:`left-0`,s;t[0]===o?s=t[1]:(s=X(`absolute inset-y-0 z-30 w-6 cursor-col-resize touch-none`,o),t[0]=o,t[1]=s);let c=n===`left`?`right-0`:`left-0`,l=r&&`bg-[var(--interactive-border)]`,u;t[2]!==c||t[3]!==l?(u=X(`absolute inset-y-0 w-[3px] transition-colors`,c,l),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d;t[5]===u?d=t[6]:(d=(0,$.jsx)(`div`,{className:u}),t[5]=u,t[6]=d);let f;return t[7]!==i||t[8]!==a||t[9]!==s||t[10]!==d?(f=(0,$.jsx)(`div`,{className:s,role:`separator`,"aria-orientation":`vertical`,"aria-label":i,...a,children:d}),t[7]=i,t[8]=a,t[9]=s,t[10]=d,t[11]=f):f=t[11],f},yl=()=>typeof window>`u`?!1:window.Capacitor?.isNativePlatform?.()===!0||window.location.protocol===`capacitor:`,bl=()=>{Q.useEffect(()=>{if(!yl())return;document.documentElement.classList.add(`oc-native-app-active`);let e=!1,t=[],n=document.documentElement;n.classList.add(`oc-capacitor-app`),window.Capacitor?.getPlatform?.()===`android`&&n.classList.add(`oc-platform-android`);let r=e=>{n.style.setProperty(`--oc-keyboard-inset`,`${Math.max(0,Math.round(e))}px`)};return E(async()=>{let{StatusBar:e,Style:t}=await import(`./vendor-capacitor-status-bar-DeAGEDuY.js`).then(e=>e.t);return{StatusBar:e,Style:t}},__vite__mapDeps([48,1,14])).then(async({StatusBar:n,Style:r})=>{if(e)return;let i=window.Capacitor?.getPlatform?.(),a=async()=>{if(i===`android`){let e=document.documentElement.classList.contains(`dark`),t=(e?localStorage.getItem(`splashBgDark`):localStorage.getItem(`splashBgLight`))||(e?`#171515`:`#fffdf4`);await n.setOverlaysWebView({overlay:!1}).catch(()=>void 0),await n.setBackgroundColor({color:t}).catch(()=>void 0),await n.setStyle({style:e?r.Dark:r.Light}).catch(()=>void 0),await n.show().catch(()=>void 0);return}await n.setStyle({style:r.Default}).catch(()=>void 0),await n.setOverlaysWebView({overlay:!0}).catch(()=>void 0),await n.show().catch(()=>void 0)};await a();let o=window.setTimeout(()=>void a(),400);t.push(()=>window.clearTimeout(o));let{App:s}=await E(async()=>{let{App:e}=await import(`./vendor-capacitor-app-PzT84wSx.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([46,1,14])),c=await s.addListener(`appStateChange`,({isActive:e})=>{e&&a()});if(e){c.remove();return}t.push(()=>void c.remove())}).catch(()=>void 0),E(async()=>{let{Keyboard:e}=await import(`./vendor-capacitor-keyboard-BkRQ-Kv-.js`).then(e=>e.t);return{Keyboard:e}},__vite__mapDeps([49,1,14])).then(async({Keyboard:i})=>{if(e)return;let a=window.Capacitor?.getPlatform?.()===`android`;await i.setAccessoryBarVisible({isVisible:!1}).catch(()=>void 0);let o=`cubic-bezier(0.38, 0.7, 0.125, 1)`,s=null,c=null,l=0,u=!1,d=0,f=!1,p=(e,t)=>{n.style.setProperty(e,`${Math.max(0,Math.round(t))}px`)},m=()=>{s!==null&&(window.clearTimeout(s),s=null)},h=(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))},g=e=>e.getClientRects().length>0&&getComputedStyle(e).visibility!==`hidden`,_=e=>{for(let t of document.querySelectorAll(e))if(g(t))return t;return null},v=e=>{let t=[],n=e instanceof Element?e:null;if(n&&!ri(n))return t;let r=n?.closest(`.oc-mobile-composer`)??null,i=r&&g(r)?r:_(`.oc-mobile-composer`);if(i&&t.push({el:i,factor:1}),i){let e=_(`.oc-draft-center`);e&&t.push({el:e,factor:.5})}return t},y=e=>e instanceof HTMLElement&&(e.tagName===`TEXTAREA`||e.tagName===`INPUT`||e.isContentEditable),b=()=>{let e=document.activeElement;return!(y(e)&&!ri(e))},x=e=>ri(e),S=()=>{for(let e of document.querySelectorAll(`.oc-mobile-composer, .oc-draft-center`))e.style.transition=``,e.style.transform=``,e.style.willChange=``},C=()=>{let e=document.querySelector(`.oc-mobile-app-shell`);d=e&&parseFloat(getComputedStyle(e).paddingBottom)||0};if(a){let i=`openchamber.androidImeHeightRatio.v1`,a=`cubic-bezier(0.2, 0, 0, 1)`,o=`cubic-bezier(0.4, 0, 1, 1)`,s=null,c=!1,l=y,u=e=>Number.isFinite(e)?Math.min(.68,Math.max(.28,e)):.39,m=Math.round(window.innerHeight*(()=>{try{return u(Number.parseFloat(localStorage.getItem(i)??``))}catch{return .39}})()),g=0,_=e=>{if(m=Math.max(0,Math.round(e)),!(m<=0||window.innerHeight<=0))try{localStorage.setItem(i,String(u(m/window.innerHeight)))}catch{}},w=()=>{s!==null&&(window.clearTimeout(s),s=null)},T=e=>Math.max(0,Math.round(e-d)),E=(e,t)=>`translate3d(0, ${-e*t}px, 0)`,D=(e,t,r,i)=>{w();let a=T(e),o=v(i);n.classList.add(`oc-kb-animating`);for(let{el:e,factor:n}of o)e.style.willChange=`transform`,e.style.transition=`transform ${t}ms ${r}`,e.style.transform=E(a,n);return s=window.setTimeout(()=>{s=null,n.classList.remove(`oc-kb-animating`);for(let{el:e}of o)e.style.transition=``,e.style.willChange=``},t+20),a},O=e=>{C();let t=Math.max(0,Math.round(e));f=!0,c=!1,g=t,n.classList.remove(`oc-keyboard-open`,`oc-kb-animating`),r(t),p(`--oc-kb-layout`,0),p(`--oc-kb-scroll-inset`,T(t)),w(),S(),h(`oc:keyboard-settled`,{open:!0})},k=(e,t=`focus`)=>{if(t===`intent`){if(!b())return}else if(t===`focus`){if(!x(e))return}else if(!f&&!x(document.activeElement))return;if(C(),f){let i=g||m,o=T(i),s=v(t===`focus`?e:void 0);if(s.length===0||(c=!0,n.classList.add(`oc-keyboard-open`),r(0),p(`--oc-kb-scroll-inset`,0),s.every(({el:e,factor:t})=>e.style.transform===E(o,t))))return;D(i,60,a,t===`focus`?e:void 0),h(`oc:keyboard-anim`,{phase:`show`,slide:o,durationMs:60,easing:a}),h(`oc:keyboard-settled`,{open:!0});return}f=!0,c=!0,n.classList.add(`oc-keyboard-open`),r(0),p(`--oc-kb-layout`,0),p(`--oc-kb-scroll-inset`,0),g=m;let i=D(g,200,a,t===`focus`?e:void 0);h(`oc:keyboard-anim`,{phase:`show`,slide:i,durationMs:200,easing:a}),h(`oc:keyboard-settled`,{open:!0})},A=e=>{if(!f){e&&l(document.activeElement)&&document.activeElement.blur();return}let t=g||m,i=c;f=!1,c=!1,g=0,e&&l(document.activeElement)&&document.activeElement.blur(),n.classList.remove(`oc-keyboard-open`),r(0),p(`--oc-kb-layout`,0),p(`--oc-kb-scroll-inset`,0),h(`oc:keyboard-intent`,{open:!1});let a=T(t);if(!i){w(),S(),h(`oc:keyboard-settled`,{open:!1});return}D(0,100,o),h(`oc:keyboard-anim`,{phase:`hide`,slide:a,durationMs:100,easing:o}),w(),s=window.setTimeout(()=>{s=null,n.classList.remove(`oc-kb-animating`),S(),h(`oc:keyboard-settled`,{open:!1})},120)},j=e=>{if(l(e.target)){if(ri(e.target)){k(e.target,`focus`);return}O(g||m)}},ee=e=>{if(l(e.target)&&!ai(e.relatedTarget)){if(ii(e.relatedTarget)){h(`oc:keyboard-intent`,{open:!1}),O(g||m);return}A(!1)}},M=e=>{let t=e,n=t.detail??t;if(n?.open===!0){let e=Math.max(0,Math.round(n.height??0)),t=oi(c,document.activeElement);e>0&&(t===`open`||t===`cache`)&&_(e),t===`open`&&k(document.activeElement,`ime`),t===`field`&&O(e||m)}n?.open===!1&&A(!0)},N=e=>{e.detail?.open===!0&&k(void 0,`intent`)};if(document.addEventListener(`focusin`,j,!0),document.addEventListener(`focusout`,ee,!0),window.addEventListener(`oc:ime-state`,M),window.addEventListener(`oc:keyboard-intent`,N),e){w(),document.removeEventListener(`focusin`,j,!0),document.removeEventListener(`focusout`,ee,!0),window.removeEventListener(`oc:ime-state`,M),window.removeEventListener(`oc:keyboard-intent`,N);return}t.push(w,()=>document.removeEventListener(`focusin`,j,!0),()=>document.removeEventListener(`focusout`,ee,!0),()=>window.removeEventListener(`oc:ime-state`,M),()=>window.removeEventListener(`oc:keyboard-intent`,N));return}let w=`openchamber.iosImeHeightRatio.v1`,T=e=>Number.isFinite(e)?Math.min(.68,Math.max(.28,e)):.39,E=()=>{try{let e=T(Number.parseFloat(localStorage.getItem(w)??``));return Math.round(window.innerHeight*e)}catch{return Math.round(window.innerHeight*.39)}},D=e=>{if(!(e<=0||window.innerHeight<=0))try{localStorage.setItem(w,String(T(e/window.innerHeight)))}catch{}},O=(e,t)=>{C();let n=Math.max(0,e-d);for(let{el:e,factor:r}of v(t))e.style.willChange=`transform`,e.style.transition=`transform 250ms ${o}`,e.style.transform=`translateY(${-n*r}px)`;return n},k=e=>{if(e.detail?.open!==!0||u||y(document.activeElement)&&!ri(document.activeElement))return;f=!0,n.classList.remove(`oc-kb-hide`),n.classList.add(`oc-keyboard-open`,`oc-kb-animating`,`oc-kb-caret-hold`);let t=l>0?l:E(),r=O(t,e.target);h(`oc:keyboard-anim`,{phase:`show`,slide:r,durationMs:250,easing:o})};window.addEventListener(`oc:keyboard-intent`,k);let A=await i.addListener(`keyboardWillShow`,e=>{m(),l=e.keyboardHeight,D(l);let t=ri(document.activeElement)||n.classList.contains(`oc-keyboard-open`)&&!y(document.activeElement);if(f=!0,n.classList.remove(`oc-kb-hide`),c!==null&&(window.clearTimeout(c),c=null),n.classList.add(`oc-keyboard-open`),r(l),!t){p(`--oc-kb-layout`,0),C(),p(`--oc-kb-scroll-inset`,Math.max(0,l-d)),n.classList.remove(`oc-keyboard-open`),S(),u=!1,h(`oc:keyboard-settled`,{open:!0});return}u||C();let i=Math.max(0,l-d);n.classList.add(`oc-kb-animating`,`oc-kb-caret-hold`);for(let{el:e,factor:t}of v())e.style.transition=`transform 250ms ${o}`,e.style.transform=`translateY(${-i*t}px)`;p(`--oc-kb-scroll-inset`,i),h(`oc:keyboard-settled`,{open:!0}),h(`oc:keyboard-anim`,{phase:`show`,slide:i,durationMs:250,easing:o}),s=window.setTimeout(()=>{s=null,n.classList.remove(`oc-kb-animating`),p(`--oc-kb-layout`,l),u=!0,S(),h(`oc:keyboard-settled`,{open:!0}),c=window.setTimeout(()=>{c=null,n.classList.remove(`oc-kb-caret-hold`)},250)},270)}),j=()=>{let e=document.activeElement;e instanceof HTMLElement&&(e.tagName!==`TEXTAREA`&&e.tagName!==`INPUT`&&!e.isContentEditable||e.blur())},ee=()=>{if(!f)return;f=!1,m(),j(),h(`oc:keyboard-intent`,{open:!1}),c!==null&&(window.clearTimeout(c),c=null),n.classList.remove(`oc-kb-caret-hold`);let e=Math.max(0,l-d);if(n.classList.remove(`oc-keyboard-open`),r(0),p(`--oc-kb-scroll-inset`,0),u){n.classList.remove(`oc-kb-animating`),p(`--oc-kb-layout`,0),u=!1;for(let{el:t,factor:n}of v())t.style.transition=`none`,t.style.transform=`translateY(${-e*n}px)`;document.querySelector(`.oc-mobile-app-shell`)?.offsetHeight}h(`oc:keyboard-anim`,{phase:`hide`,slide:e,durationMs:200,easing:o}),n.classList.add(`oc-kb-animating`,`oc-kb-hide`);for(let{el:e}of v())e.style.transition=`transform 200ms ${o}`,e.style.transform=`translateY(0px)`;s=window.setTimeout(()=>{s=null,n.classList.remove(`oc-kb-animating`,`oc-kb-hide`),S(),h(`oc:keyboard-settled`,{open:!1})},220)},M=await i.addListener(`keyboardWillHide`,ee),N=e=>e instanceof HTMLElement&&(e.tagName===`TEXTAREA`||e.tagName===`INPUT`||e.isContentEditable),P=e=>{if(f&&N(e.target)){if(ai(e.relatedTarget)){p(`--oc-kb-scroll-inset`,0);return}window.setTimeout(()=>{if(f&&!ri(document.activeElement)){if(N(document.activeElement)){m(),n.classList.remove(`oc-keyboard-open`,`oc-kb-animating`,`oc-kb-caret-hold`,`oc-kb-hide`),r(l),p(`--oc-kb-layout`,0),C(),p(`--oc-kb-scroll-inset`,Math.max(0,l-d)),u=!1,S(),h(`oc:keyboard-intent`,{open:!1}),h(`oc:keyboard-settled`,{open:!0});return}ee()}},0)}};if(document.addEventListener(`focusout`,P,!0),e){m(),document.removeEventListener(`focusout`,P,!0),window.removeEventListener(`oc:keyboard-intent`,k),A.remove(),M.remove();return}t.push(m,()=>{c!==null&&(window.clearTimeout(c),c=null)},()=>document.removeEventListener(`focusout`,P,!0),()=>window.removeEventListener(`oc:keyboard-intent`,k),()=>void A.remove(),()=>void M.remove())}).catch(()=>void 0),()=>{e=!0,t.forEach(e=>e()),n.classList.remove(`oc-capacitor-app`,`oc-keyboard-open`,`oc-kb-animating`,`oc-kb-hide`,`oc-kb-caret-hold`,`oc-platform-android`),n.style.removeProperty(`--oc-keyboard-inset`),n.style.removeProperty(`--oc-kb-shift`),n.style.removeProperty(`--oc-kb-layout`),n.style.removeProperty(`--oc-kb-scroll-inset`)}},[])},xl=e=>{let t=Q.useRef(!1);Q.useEffect(()=>{if(!yl())return;let n=!1,r=[],i=()=>{t.current&&(t.current=!1,e())},a=()=>{if(document.visibilityState===`hidden`){t.current=!0;return}i()};return document.addEventListener(`visibilitychange`,a),r.push(()=>document.removeEventListener(`visibilitychange`,a)),E(async()=>{let{App:e}=await import(`./vendor-capacitor-app-PzT84wSx.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([46,1,14])).then(async({App:e})=>{if(n)return;let a=await e.getState().catch(()=>null);if(n)return;a&&document.documentElement.classList.toggle(`oc-native-app-active`,a.isActive);let o=await e.addListener(`appStateChange`,({isActive:e})=>{if(document.documentElement.classList.toggle(`oc-native-app-active`,e),!e){t.current=!0;return}i()}),s=await e.addListener(`resume`,i);if(n){o.remove(),s.remove();return}r.push(()=>void o.remove(),()=>void s.remove())}).catch(()=>void 0),()=>{n=!0,r.forEach(e=>e()),document.documentElement.classList.remove(`oc-native-app-active`)}},[e])},Sl=e=>{Q.useEffect(()=>{if(!yl())return;let t=!1,n=null;return E(async()=>{let{App:e}=await import(`./vendor-capacitor-app-PzT84wSx.js`).then(e=>e.t);return{App:e}},__vite__mapDeps([46,1,14])).then(async({App:r})=>{if(t)return;let i=await r.addListener(`backButton`,()=>{e()||r.minimizeApp().catch(()=>void 0)});if(t){i.remove();return}n=()=>void i.remove()}).catch(()=>void 0),()=>{t=!0,n?.()}},[e])},Cl=e=>(e||``).replace(/\\/g,`/`).replace(/\/+$/g,``),wl={autoComplete:`off`,autoCorrect:`off`,spellCheck:!1},Tl=1e3,El=e=>{let t=Cl(e);if(!t)return``;let n=t.split(`/`).filter(Boolean);return n[n.length-1]||t},Dl=(e,t)=>El(e?e.path:t),Ol=`h-12 w-full rounded-[16px] border border-border/70 bg-surface-elevated px-4 text-center text-[16px] text-foreground outline-none transition-colors placeholder:text-muted-foreground focus:border-primary focus:ring-2 focus:ring-primary/20`,kl=({connection:e})=>{let{t}=ee(),n=e,{connections:r,isBusy:i,isPasswordBusy:a,error:o,pendingConnection:s}=n,[c,l]=Q.useState(``),[u,d]=Q.useState(``),[f,p]=Q.useState(``),[m,h]=Q.useState(!1),g=Q.useMemo(()=>Us(),[]),[_,v]=Q.useState(()=>!Us()),[y,b]=Q.useState(null),[x,S]=Q.useState(``),C=A(e=>{e.preventDefault(),n.connect({url:c,clientToken:f,label:u})}),w=A(e=>{n.redeemPairingConnection(e)}),T=A(()=>{n.setError(t(`mobile.connect.link.invalid`))}),E=A(async()=>{if(!(m||i)){n.setError(null),h(!0);try{let e=await Ws();switch(e.status){case`ok`:l(e.url),e.label&&d(e.label),e.clientToken&&p(e.clientToken),await n.connect({url:e.url,clientToken:e.clientToken,label:e.label});break;case`pairing`:await n.redeemPairingConnection(e.pairing);break;case`permission-denied`:n.setError(t(`mobile.connect.scan.permissionDenied`));break;case`invalid`:n.setError(t(`mobile.connect.scan.invalid`));break;case`unsupported`:n.setError(t(`mobile.connect.scan.unsupported`));break;case`failed`:n.setError(t(`mobile.connect.scan.failed`))}}finally{h(!1)}}}),D=A(e=>{e.preventDefault(),n.submitPassword(x)}),O=A(()=>{S(``),n.cancelPassword()});return(0,$.jsx)(`main`,{className:`oc-keyboard-fill-screen flex min-h-dvh flex-col overflow-y-auto bg-background px-6 pb-[calc(var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px))+28px)] pt-[calc(var(--safe-area-inset-top,env(safe-area-inset-top,0px))+28px)] text-foreground`,children:(0,$.jsxs)(`div`,{className:`m-auto flex w-full max-w-[360px] shrink-0 flex-col items-center gap-9 py-8`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-5 text-center`,children:[(0,$.jsx)(Pt,{width:72,height:72,className:`size-[72px]`}),(0,$.jsx)(`h1`,{className:`typography-h2 text-foreground`,children:t(`mobile.connect.welcome.title`)})]}),s?(0,$.jsxs)(`form`,{className:`flex w-full flex-col gap-3`,onSubmit:D,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3 rounded-[18px] border border-border/70 bg-surface-elevated px-3.5 py-3`,children:[(0,$.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[12px] bg-interactive-hover text-foreground`,children:(0,$.jsx)(Z,{name:`lock`,className:`size-[18px]`})}),(0,$.jsxs)(`div`,{className:`min-w-0 text-left`,children:[(0,$.jsx)(`p`,{className:`truncate typography-ui-label text-foreground`,children:s.label}),(0,$.jsx)(`p`,{className:`truncate typography-small text-muted-foreground`,children:s.candidates.some(e=>e.kind===`direct`)?Me(s):t(`mobile.connect.relay.badge`)})]})]}),(0,$.jsx)(`input`,{...wl,value:x,onChange:e=>S(e.target.value),placeholder:t(`mobile.connect.password.placeholder`),"aria-label":t(`mobile.connect.password.label`),type:`password`,autoFocus:!0,className:`h-12 w-full rounded-[16px] border border-border/70 bg-surface-elevated px-4 text-[16px] text-foreground outline-none transition-colors placeholder:text-muted-foreground focus:border-primary focus:ring-2 focus:ring-primary/20`}),o?(0,$.jsx)(`p`,{className:`px-1 text-center typography-small text-[var(--status-error)]`,children:o}):null,(0,$.jsx)(Ue,{type:`submit`,size:`lg`,className:`mt-1 h-12 w-full`,disabled:a||!x.trim(),children:t(a?`mobile.connect.connecting`:`mobile.connect.unlockButton`)}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`sm`,className:`w-full`,onClick:O,children:t(`mobile.connect.cancelPassword`)})]}):(0,$.jsxs)(`div`,{className:`flex w-full flex-col gap-6`,children:[g?(0,$.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,children:[(0,$.jsxs)(Ue,{type:`button`,size:`lg`,className:`h-12 w-full`,onClick:()=>void E(),disabled:m||i,children:[(0,$.jsx)(Z,{name:`scan-2`,className:X(`size-[18px]`,m&&`animate-pulse`)}),t(i?`mobile.connect.connecting`:`mobile.connect.scanQr`)]}),(0,$.jsx)(`p`,{className:`px-2 text-center typography-small text-muted-foreground`,children:t(`mobile.connect.welcome.scanHint`)})]}):null,o&&!_?(0,$.jsx)(`p`,{className:`px-1 text-center typography-small text-[var(--status-error)]`,children:o}):null,r.length>0?(0,$.jsxs)(`section`,{className:`flex w-full flex-col gap-2.5`,children:[(0,$.jsx)(`h2`,{className:`text-center typography-micro uppercase tracking-[0.14em] text-muted-foreground`,children:t(`mobile.connect.saved.title`)}),(0,$.jsx)(`div`,{className:`overflow-hidden rounded-[18px] border border-border/70 bg-surface-elevated`,children:r.map(e=>{let r=y===e.id;return(0,$.jsxs)(`button`,{type:`button`,disabled:i,className:`flex min-h-14 w-full items-center gap-3 border-b border-border/60 px-3.5 py-2.5 text-left last:border-b-0 hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary disabled:opacity-70`,onClick:()=>{b(e.id),n.connect({id:e.id,candidates:e.candidates,clientToken:e.clientToken,label:e.label}).finally(()=>b(null))},children:[(0,$.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[12px] bg-interactive-hover text-foreground`,children:(0,$.jsx)(Z,{name:`server`,className:`size-[18px]`})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate typography-ui-label text-foreground`,children:e.label}),(0,$.jsx)(`span`,{className:X(`block truncate typography-small`,r?`text-foreground`:`text-muted-foreground`),children:r?t(`mobile.connect.connecting`):e.candidates.some(e=>e.kind===`direct`)?Me(e):t(`mobile.connect.relay.badge`)})]}),r?(0,$.jsx)(Z,{name:`loader-4`,className:`size-5 animate-spin text-muted-foreground`}):(0,$.jsx)(Z,{name:`arrow-right-s`,className:`size-5 text-muted-foreground`})]},e.id)})})]}):null,(0,$.jsxs)(`div`,{className:`flex w-full flex-col`,children:[g?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>v(e=>!e),"aria-expanded":_,className:`mx-auto flex items-center gap-1 rounded-full px-2 py-1 typography-small text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,children:[(0,$.jsx)(`span`,{children:t(`mobile.connect.manual.toggle`)}),(0,$.jsx)(Z,{name:`arrow-down-s`,className:X(`size-4 transition-transform duration-200`,_&&`rotate-180`)})]}):null,(0,$.jsx)(`div`,{className:`grid transition-[grid-template-rows] duration-200 ease-out`,style:{gridTemplateRows:_?`1fr`:`0fr`},children:(0,$.jsxs)(`div`,{className:`min-h-0 overflow-hidden`,children:[(0,$.jsx)(`div`,{className:`pt-3`,children:(0,$.jsx)(Ks,{disabled:i||m,isBusy:i,tabIndex:_?void 0:-1,inputClassName:Ol,buttonVariant:g?`outline`:`default`,onRedeem:w,onInvalid:T})}),(0,$.jsx)(qs,{label:t(`mobile.connect.address.divider`)}),(0,$.jsxs)(`form`,{className:`flex w-full flex-col gap-3`,onSubmit:C,children:[(0,$.jsx)(`input`,{...wl,value:c,onChange:e=>l(e.target.value),placeholder:t(`mobile.connect.url.placeholder`),"aria-label":t(`mobile.connect.url.label`),type:`url`,inputMode:`url`,autoCapitalize:`none`,tabIndex:_?void 0:-1,className:Ol}),(0,$.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:t(`mobile.instances.label.placeholder`),"aria-label":t(`mobile.instances.label.label`),autoComplete:`off`,autoCapitalize:`words`,autoCorrect:`off`,spellCheck:!1,tabIndex:_?void 0:-1,className:Ol}),(0,$.jsx)(`input`,{...wl,value:f,onChange:e=>p(e.target.value),placeholder:t(`mobile.connect.token.placeholder`),"aria-label":t(`mobile.connect.token.label`),tabIndex:_?void 0:-1,autoCapitalize:`none`,className:Ol}),(0,$.jsx)(`p`,{className:`px-1 text-center typography-micro text-muted-foreground`,children:t(`mobile.connect.token.hint`)}),(0,$.jsx)(Ue,{type:`submit`,variant:`outline`,size:`lg`,className:`h-12 w-full`,disabled:i||m||!c.trim(),children:t(i?`mobile.connect.connecting`:`mobile.connect.connectButton`)})]}),o?(0,$.jsx)(`p`,{className:`px-1 pt-3 text-center typography-small text-[var(--status-error)]`,children:o}):null]})})]})]})]})})},Al=({connection:e,onActiveConnectionDeleted:t,onConnect:n})=>{let{t:r}=ee(),i=e,{connections:a,isBusy:s,isPasswordBusy:c,error:l,pendingConnection:u,connect:d,submitPassword:f,cancelPassword:p,saveConnection:m,removeConnection:h,subscribeConnected:g,setError:_}=i,[v,y]=Q.useState(null),b=v?a.find(e=>e.id===v)??null:null,[x,S]=Q.useState(null),[C,w]=Q.useState(``),[T,E]=Q.useState(``),[D,O]=Q.useState(``),[k,j]=Q.useState(``),[M,N]=Q.useState(!1),P=Q.useMemo(()=>Us(),[]),[te,F]=Q.useState(!1),[I,L]=Q.useState(null),R=A(n);Q.useEffect(()=>g(R),[R,g]);let z=A(()=>{y(null),w(``),E(``),O(``),_(null),F(!1)}),B=A(e=>{e.preventDefault(),m({id:v??void 0,url:C,label:T,clientToken:D}).then(e=>{e&&z()})}),V=A(e=>{i.redeemPairingConnection(e)}),H=A(()=>{_(r(`mobile.connect.link.invalid`))}),U=A(async()=>{if(!M){_(null),N(!0);try{let e=await Ws();switch(e.status){case`ok`:w(e.url),e.label&&E(e.label),e.clientToken&&O(e.clientToken),F(!0);break;case`pairing`:await i.redeemPairingConnection(e.pairing);break;case`permission-denied`:_(r(`mobile.connect.scan.permissionDenied`));break;case`invalid`:_(r(`mobile.connect.scan.invalid`));break;case`unsupported`:_(r(`mobile.connect.scan.unsupported`));break;case`failed`:_(r(`mobile.connect.scan.failed`))}}finally{N(!1)}}}),W=A(e=>{e.preventDefault(),f(k)}),ne=A(()=>{j(``),p()}),re=A(e=>{S(t=>t===e?null:e)}),ie=A(e=>{S(null),v===e&&z();let n=a.length===1;h(e).then(e=>{e&&(n||Ae(e))&&t()})}),G=`h-12 w-full rounded-[16px] border border-border/70 bg-surface-elevated px-4 text-[16px] text-foreground outline-none transition-colors placeholder:text-muted-foreground focus:border-primary focus:ring-2 focus:ring-primary/20`;return u?(0,$.jsx)(`div`,{className:`oc-settings-page-content`,children:(0,$.jsx)(vn,{label:r(`mobile.connect.password.label`),itemId:`instances.manage`,children:(0,$.jsxs)(`form`,{className:`oc-settings-group-row flex flex-col gap-3`,onSubmit:W,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3 rounded-[18px] border border-border/70 bg-surface-elevated px-3.5 py-3`,children:[(0,$.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-[12px] bg-interactive-hover text-foreground`,children:(0,$.jsx)(Z,{name:`lock`,className:`size-[18px]`})}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`truncate typography-ui-label text-foreground`,children:u.label}),(0,$.jsx)(`p`,{className:`truncate typography-small text-muted-foreground`,children:u.candidates.some(e=>e.kind===`direct`)?Me(u):r(`mobile.connect.relay.badge`)})]})]}),(0,$.jsx)(`input`,{...wl,value:k,onChange:e=>j(e.target.value),placeholder:r(`mobile.connect.password.placeholder`),"aria-label":r(`mobile.connect.password.label`),type:`password`,autoFocus:!0,className:G}),l?(0,$.jsx)(`p`,{className:`px-1 typography-small text-[var(--status-error)]`,children:l}):null,(0,$.jsx)(Ue,{type:`submit`,size:`lg`,className:`mt-1 h-12 w-full`,disabled:c||!k.trim(),children:r(c?`mobile.connect.connecting`:`mobile.connect.unlockButton`)}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`sm`,className:`w-full`,onClick:ne,children:r(`mobile.connect.cancelPassword`)})]})})}):(0,$.jsxs)(`div`,{className:`oc-settings-page-content`,children:[(0,$.jsx)(vn,{label:r(`mobile.connect.saved.title`),itemId:`instances.manage`,children:a.length>0?a.map(e=>{let t=x===e.id,n=Ae(e),i=I===e.id,a=e.sshTarget,c=i?r(`mobile.connect.connecting`):n?a?r(`mobile.instances.status.connectedSshRelay`):o()?r(`mobile.instances.status.connectedRelay`):r(`mobile.instances.status.connectedDirect`):a?r(`mobile.instances.sshViaDesktop`):e.candidates.some(e=>e.kind===`direct`)?Me(e):r(`mobile.connect.relay.badge`);return(0,$.jsxs)(`div`,{className:X(`oc-settings-group-row relative flex items-center`,t&&`bg-[color-mix(in_srgb,var(--destructive)_8%,transparent)]`),children:[(0,$.jsx)(`button`,{type:`button`,"aria-label":r(`desktopHostSwitcher.actions.switchToAria`,{instance:e.label}),"data-mobile-press-feedback":`none`,className:`absolute inset-0 z-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-primary disabled:pointer-events-none`,onClick:()=>{n||(L(e.id),d({id:e.id,candidates:e.candidates,clientToken:e.clientToken,label:e.label}).finally(()=>L(null)))},disabled:n||s&&!i||t,style:{touchAction:`manipulation`}}),(0,$.jsxs)(`div`,{className:`pointer-events-none relative z-[1] flex min-w-0 flex-1 items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`relative flex size-9 shrink-0 items-center justify-center rounded-[12px] bg-interactive-hover text-foreground`,children:(0,$.jsx)(Z,{name:`server`,className:`size-[18px]`})}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`block truncate typography-ui-label text-foreground`,children:e.label}),a?(0,$.jsx)(`span`,{className:`shrink-0 rounded border border-border/50 bg-muted px-1 typography-micro leading-none text-muted-foreground pb-px`,children:r(`mobile.instances.sshBadge`)}):null]}),(0,$.jsx)(`span`,{className:X(`block truncate typography-small`,n&&!i?`text-[var(--status-success)]`:`text-muted-foreground`),children:c})]})]}),(0,$.jsxs)(`div`,{className:`relative z-10 flex shrink-0 items-center gap-0.5 pr-2`,children:[t?(0,$.jsxs)(`button`,{type:`button`,"aria-label":r(`mobile.instances.confirmDeleteAria`,{label:e.label}),className:`flex h-9 shrink-0 items-center gap-1.5 rounded-full bg-destructive px-3 text-destructive-foreground transition-opacity active:opacity-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-destructive`,onClick:()=>ie(e.id),style:{touchAction:`manipulation`},children:[(0,$.jsx)(Z,{name:`delete-bin`,className:`size-[18px]`}),(0,$.jsx)(`span`,{className:`typography-ui-label`,children:r(`mobile.instances.delete`)})]}):i?(0,$.jsx)(`span`,{className:`flex size-9 items-center justify-center text-muted-foreground`,"aria-hidden":!0,children:(0,$.jsx)(Z,{name:`loader-4`,className:`size-[18px] animate-spin`})}):e.candidates.some(e=>e.kind===`direct`)?(0,$.jsx)(`button`,{type:`button`,"aria-label":r(`mobile.instances.edit`),className:`flex size-9 items-center justify-center rounded-full text-muted-foreground transition-colors active:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,onClick:()=>{y(e.id),w(Me(e)),E(e.label),O(e.clientToken||``),_(null)},style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`edit`,className:`size-[18px]`})}):null,(0,$.jsx)(`button`,{type:`button`,"aria-label":r(t?`mobile.instances.cancelDeleteAria`:`mobile.instances.deleteAria`,{label:e.label}),className:`flex size-9 items-center justify-center rounded-full text-muted-foreground transition-colors active:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,onClick:()=>re(e.id),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:t?`close`:`delete-bin`,className:`size-[18px]`})})]})]},e.id)}):(0,$.jsx)(`div`,{className:`oc-settings-group-row flex items-center justify-center text-center typography-small text-muted-foreground`,children:r(`mobile.connect.saved.empty`)})}),(0,$.jsx)(vn,{label:r(b?`mobile.instances.editTitle`:`mobile.instances.addTitle`),children:!te&&!b?(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-col items-stretch gap-2`,children:[P?(0,$.jsxs)(Ue,{type:`button`,size:`lg`,className:`h-12 w-full`,onClick:()=>void U(),disabled:M,children:[(0,$.jsx)(Z,{name:`scan-2`,className:X(`size-[18px]`,M&&`animate-pulse`)}),r(`mobile.connect.scanQr`)]}):null,(0,$.jsxs)(Ue,{type:`button`,variant:P?`ghost`:`outline`,size:`lg`,className:`h-12 w-full`,onClick:()=>{_(null),F(!0)},children:[(0,$.jsx)(Z,{name:`add`,className:`size-[18px]`}),r(`mobile.instances.addManual`)]}),l?(0,$.jsx)(`p`,{className:`px-1 text-center typography-small text-[var(--status-error)]`,children:l}):null]}):(0,$.jsxs)(`div`,{className:`oc-settings-group-row flex flex-col gap-3`,children:[(0,$.jsx)(`div`,{className:`flex min-h-8 items-center justify-end px-1`,children:(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`xs`,onClick:z,children:r(`mobile.instances.cancelEdit`)})}),(0,$.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:B,children:[(0,$.jsxs)(`label`,{className:`block space-y-1.5`,children:[(0,$.jsx)(`span`,{className:`block px-1 typography-ui-label text-foreground`,children:r(`mobile.connect.url.label`)}),(0,$.jsx)(`input`,{...wl,value:C,onChange:e=>w(e.target.value),placeholder:r(`mobile.connect.url.placeholder`),type:`url`,inputMode:`url`,autoCapitalize:`none`,className:G})]}),(0,$.jsxs)(`label`,{className:`block space-y-1.5`,children:[(0,$.jsx)(`span`,{className:`block px-1 typography-ui-label text-foreground`,children:r(`mobile.instances.label.label`)}),(0,$.jsx)(`input`,{value:T,onChange:e=>E(e.target.value),placeholder:r(`mobile.instances.label.placeholder`),autoComplete:`off`,autoCapitalize:`words`,autoCorrect:`off`,spellCheck:!1,className:G})]}),(0,$.jsxs)(`label`,{className:`block space-y-1.5`,children:[(0,$.jsx)(`span`,{className:`block px-1 typography-ui-label text-foreground`,children:r(`mobile.connect.token.label`)}),(0,$.jsx)(`input`,{...wl,value:D,onChange:e=>O(e.target.value),placeholder:r(`mobile.connect.token.placeholder`),autoCapitalize:`none`,className:G}),(0,$.jsx)(`p`,{className:`px-1 typography-micro text-muted-foreground`,children:r(`mobile.connect.token.hint`)})]}),(0,$.jsx)(Ue,{type:`submit`,size:`lg`,className:`mt-1 h-12 w-full`,children:r(b?`mobile.instances.saveEdit`:`mobile.instances.saveNew`)})]}),b?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(qs,{label:r(`mobile.connect.link.divider`)}),(0,$.jsx)(Ks,{disabled:s||M,isBusy:s,inputClassName:G,onRedeem:V,onInvalid:H})]}),l?(0,$.jsx)(`p`,{className:`px-1 typography-small text-[var(--status-error)]`,children:l}):null]})})]})},jl=e=>{let t=e.usedPercent;return typeof t!=`number`||!Number.isFinite(t)?`text-foreground`:t>=80?`text-[var(--status-error)]`:t>=50?`text-[var(--status-warning)]`:`text-foreground`},Ml=e=>{let t=(0,Wr.c)(13),{icon:n,iconNode:r,label:i,children:a}=e,o;t[0]!==n||t[1]!==r?(o=r??(n?(0,$.jsx)(Z,{name:n,className:`size-[18px]`}):null),t[0]=n,t[1]=r,t[2]=o):o=t[2];let s;t[3]===o?s=t[4]:(s=(0,$.jsx)(`span`,{className:`flex size-5 shrink-0 items-center justify-center text-muted-foreground`,children:o}),t[3]=o,t[4]=s);let c;t[5]===i?c=t[6]:(c=(0,$.jsx)(`span`,{className:`shrink-0 typography-ui-label text-muted-foreground`,children:i}),t[5]=i,t[6]=c);let l;t[7]===a?l=t[8]:(l=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-right typography-ui-label font-medium text-foreground`,children:a}),t[7]=a,t[8]=l);let u;return t[9]!==s||t[10]!==c||t[11]!==l?(u=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 rounded-xl px-2.5 py-2.5`,children:[s,c,l]}),t[9]=s,t[10]=c,t[11]=l,t[12]=u):u=t[12],u},Nl=e=>{let t=(0,Wr.c)(55),{open:n,onClose:r,anchorRef:i,contextDisplay:a,branchLabel:o,usageGroups:s,usageDisplayMode:c,isUsageLoading:l,timeFormatPreference:u}=e,{t:d}=ee(),f=Q.useRef(null),[p,m]=Q.useState(n),[h,g]=Q.useState(!1),_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(_=H(),t[0]=_):_=t[0];let v=_,y=Q.useRef(null),[b,x]=Q.useState(null),S,C;t[1]!==i||t[2]!==n||t[3]!==p?(S=()=>{if(!n||!v||!p)return;let e=()=>{let e=i.current?.getBoundingClientRect(),t=y.current?.getBoundingClientRect();if(!e||!t){x(null);return}let n=e.left-t.left,r=Math.min(Math.max(n,8),Math.max(8,t.width-ml-8));x(r)};e();let t=y.current;if(typeof ResizeObserver>`u`||!t)return;let r=new ResizeObserver(e);return r.observe(t),()=>r.disconnect()},C=[i,v,n,p],t[1]=i,t[2]=n,t[3]=p,t[4]=S,t[5]=C):(S=t[4],C=t[5]),Q.useLayoutEffect(S,C);let w=v&&b!==null,T,E;t[6]!==n||t[7]!==p?(T=()=>{if(n){m(!0),g(!1);return}if(!p)return;g(!0);let e=window.setTimeout(()=>{m(!1),g(!1)},140);return()=>window.clearTimeout(e)},E=[n,p],t[6]=n,t[7]=p,t[8]=T,t[9]=E):(T=t[8],E=t[9]),Q.useEffect(T,E);let D,O;t[10]!==r||t[11]!==n?(D=()=>{if(!n)return;let e=e=>{e.key===`Escape`&&r()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},O=[r,n],t[10]=r,t[11]=n,t[12]=D,t[13]=O):(D=t[12],O=t[13]),Q.useEffect(D,O);let k,A;if(t[14]!==i||t[15]!==r||t[16]!==n?(k=()=>{if(!n)return;let e=e=>{let t=e.target;if(!(t instanceof Node)){r();return}f.current?.contains(t)||i.current?.contains(t)||r()};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`wheel`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`wheel`,e,!0)}},A=[i,r,n],t[14]=i,t[15]=r,t[16]=n,t[17]=k,t[18]=A):(k=t[17],A=t[18]),Q.useEffect(k,A),!p)return null;let j;t[19]===d?j=t[20]:(j=d(`mobile.header.openMetadataAria`),t[19]=d,t[20]=j);let M=w?`absolute origin-top-left`:`mx-3 mt-2`,N=h?`pointer-events-none`:`pointer-events-auto`,P;t[21]!==M||t[22]!==N?(P=X(`overflow-y-auto overscroll-contain rounded-[20px] oc-mobile-overlay-surface p-2 will-change-transform`,M,N),t[21]=M,t[22]=N,t[23]=P):P=t[23];let te=`${h?`session-metadata-out`:`session-metadata-in`} ${h?140:170}ms cubic-bezier(0.32, 0.72, 0, 1) forwards`,F;t[24]!==b||t[25]!==w?(F=w?{top:8,left:b??8,width:`min(${ml}px, calc(100% - 16px))`}:null,t[24]=b,t[25]=w,t[26]=F):F=t[26];let I;t[27]!==te||t[28]!==F?(I={animation:te,maxHeight:`min(72dvh, calc(100dvh - var(--oc-safe-area-top, 0px) - var(--oc-header-height, 56px) - 1rem))`,...F},t[27]=te,t[28]=F,t[29]=I):I=t[29];let L;t[30]===d?L=t[31]:(L=d(`mobile.header.metadata.branch`),t[30]=d,t[31]=L);let R;t[32]!==o||t[33]!==L?(R=(0,$.jsx)(Ml,{icon:`git-branch`,label:L,children:o}),t[32]=o,t[33]=L,t[34]=R):R=t[34];let z;t[35]!==a||t[36]!==d?(z=a?(0,$.jsx)(Ml,{iconNode:(0,$.jsx)(Vo,{percentage:a.percentage}),label:d(`mobile.header.metadata.context`),children:(0,$.jsxs)(`span`,{className:`inline-flex items-baseline gap-1.5 tabular-nums`,children:[(0,$.jsxs)(`span`,{className:X(`font-semibold`,a.colorClass),children:[a.percentage.toFixed(1),`%`]}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:a.tokens})]})}):null,t[35]=a,t[36]=d,t[37]=z):z=t[37];let B;t[38]!==l||t[39]!==u||t[40]!==c||t[41]!==s?(B=(0,$.jsx)(Pl,{groups:s,displayMode:c,isLoading:l,timeFormatPreference:u}),t[38]=l,t[39]=u,t[40]=c,t[41]=s,t[42]=B):B=t[42];let V;t[43]!==R||t[44]!==z||t[45]!==B?(V=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[R,z,B]}),t[43]=R,t[44]=z,t[45]=B,t[46]=V):V=t[46];let U;t[47]!==j||t[48]!==P||t[49]!==I||t[50]!==V?(U=(0,$.jsx)(`div`,{ref:f,role:`dialog`,"aria-label":j,className:P,style:I,children:V}),t[47]=j,t[48]=P,t[49]=I,t[50]=V,t[51]=U):U=t[51];let W;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(`style`,{children:`
|
|
15
|
+
@keyframes session-metadata-in {
|
|
16
|
+
from { opacity: 0; transform: translateY(-8px) scale(0.985); }
|
|
17
|
+
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
18
|
+
}
|
|
19
|
+
@keyframes session-metadata-out {
|
|
20
|
+
from { opacity: 1; transform: translateY(0) scale(1); }
|
|
21
|
+
to { opacity: 0; transform: translateY(-6px) scale(0.985); }
|
|
22
|
+
}
|
|
23
|
+
`}),t[52]=W):W=t[52];let ne;return t[53]===U?ne=t[54]:(ne=(0,$.jsxs)(`div`,{ref:y,className:`fixed inset-x-0 bottom-0 top-[calc(var(--oc-safe-area-top,0px)+var(--oc-header-height,56px))] z-20 pointer-events-none`,children:[U,W]}),t[53]=U,t[54]=ne),ne},Pl=e=>{let t=(0,Wr.c)(30),{groups:n,displayMode:r,isLoading:i,timeFormatPreference:a}=e,{t:o}=ee(),s;t[0]!==r||t[1]!==o?(s=o(r===`remaining`?`header.services.remaining`:`header.services.used`),t[0]=r,t[1]=o,t[2]=s):s=t[2];let c=s;if(n.length===0)return null;let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`span`,{className:`flex size-5 shrink-0 items-center justify-center text-muted-foreground`,children:(0,$.jsx)(Z,{name:`timer`,className:`size-[18px]`})}),t[3]=l):l=t[3];let u;t[4]===o?u=t[5]:(u=o(`mobile.header.metadata.usage`),t[4]=o,t[5]=u);let d;t[6]===u?d=t[7]:(d=(0,$.jsx)(`span`,{className:`shrink-0 typography-ui-label text-muted-foreground`,children:u}),t[6]=u,t[7]=d);let f;t[8]===i?f=t[9]:(f=i?(0,$.jsx)(Z,{name:`refresh`,className:`size-3.5 animate-spin`}):null,t[8]=i,t[9]=f);let p;t[10]===c?p=t[11]:(p=(0,$.jsx)(`span`,{className:`truncate`,children:c}),t[10]=c,t[11]=p);let m;t[12]!==f||t[13]!==p?(m=(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 flex-1 items-center justify-end gap-1.5 typography-ui-label text-muted-foreground`,children:[f,p]}),t[12]=f,t[13]=p,t[14]=m):m=t[14];let h;t[15]!==d||t[16]!==m?(h=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3 px-2.5 pb-1.5`,children:[l,d,m]}),t[15]=d,t[16]=m,t[17]=h):h=t[17];let g;if(t[18]!==r||t[19]!==n||t[20]!==a){let e;t[22]!==r||t[23]!==a?(e=e=>(0,$.jsxs)(`div`,{className:`min-w-0 rounded-xl bg-[var(--surface-muted)] p-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(mt,{providerId:e.providerId,className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label font-medium text-foreground`,children:e.providerName}),e.status&&e.rows.length===0?(0,$.jsx)(`span`,{className:`shrink-0 truncate typography-micro text-muted-foreground`,children:e.status}):null]}),e.rows.length>0?(0,$.jsx)(`div`,{className:`mt-1.5 space-y-1`,children:e.rows.map(e=>{let t=r===`remaining`?e.window.remainingPercent:e.window.usedPercent,n=Ct(e.window.valueLabel,t),i=Dt(e.window.resetAt,e.window.resetAfterFormatted??e.window.resetAtFormatted,a);return(0,$.jsxs)(`div`,{className:`flex min-w-0 items-baseline justify-between gap-3`,children:[(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 flex-1 items-baseline gap-1.5`,children:[(0,$.jsx)(`span`,{className:`truncate typography-ui-label text-muted-foreground`,children:e.subtitle?`${e.subtitle} · ${e.label}`:e.label}),i?(0,$.jsx)(`span`,{className:`shrink-0 truncate typography-micro text-muted-foreground/70`,children:i}):null]}),(0,$.jsx)(`span`,{className:X(`shrink-0 typography-ui-label font-semibold tabular-nums`,jl(e.window)),children:n===`-`?``:n})]},e.key)})}):null,e.status&&e.rows.length>0?(0,$.jsx)(`div`,{className:`mt-1.5 typography-micro text-muted-foreground`,children:e.status}):null]},e.providerId),t[22]=r,t[23]=a,t[24]=e):e=t[24],g=n.map(e),t[18]=r,t[19]=n,t[20]=a,t[21]=g}else g=t[21];let _;t[25]===g?_=t[26]:(_=(0,$.jsx)(`div`,{className:`space-y-1.5`,children:g}),t[25]=g,t[26]=_);let v;return t[27]!==_||t[28]!==h?(v=(0,$.jsxs)(`div`,{className:`pt-2.5`,children:[h,_]}),t[27]=_,t[28]=h,t[29]=v):v=t[29],v},Fl=e=>{let t=(0,Wr.c)(28),{open:n,onClose:r,items:i,rightOffset:a}=e,o=a===void 0?0:a,{t:s}=ee(),c,l;if(t[0]!==r||t[1]!==n?(c=()=>{if(!n)return;let e=e=>{e.key===`Escape`&&r()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},l=[r,n],t[0]=r,t[1]=n,t[2]=c,t[3]=l):(c=t[2],l=t[3]),Q.useEffect(c,l),!n)return null;let u;t[4]===s?u=t[5]:(u=s(`mobile.menu.titleAria`),t[4]=s,t[5]=u);let d;t[6]===s?d=t[7]:(d=s(`mobile.surface.closeAria`),t[6]=s,t[7]=d);let f;t[8]===r?f=t[9]:(f=e=>{e.preventDefault(),r()},t[8]=r,t[9]=f);let p;t[10]!==d||t[11]!==f?(p=(0,$.jsx)(`button`,{type:`button`,className:`pointer-events-auto absolute inset-x-0 bottom-0 cursor-default top-[calc(var(--oc-safe-area-top,0px)+var(--oc-mobile-detail-navigation-height,3.5rem)+0.25rem)]`,"aria-label":d,onPointerDown:f}),t[10]=d,t[11]=f,t[12]=p):p=t[12];let m=`max(1rem, calc(8px + ${o}px + var(--oc-safe-area-right, 0px)))`,h;t[13]===m?h=t[14]:(h={right:m,animation:`mobile-menu-in 160ms cubic-bezier(0.32, 0.72, 0, 1) forwards`},t[13]=m,t[14]=h);let g;if(t[15]!==i||t[16]!==r){let e;t[18]===r?e=t[19]:(e=(e,t)=>(0,$.jsxs)(`button`,{type:`button`,role:`menuitem`,className:X(`flex w-full items-center gap-3 px-4 py-3 text-left transition-colors hover:bg-interactive-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset`,t>0&&`border-t border-border/30`,e.disabled&&`cursor-not-allowed opacity-60`),style:{touchAction:`manipulation`},disabled:e.disabled,onClick:()=>{e.onSelect(),r()},children:[e.iconNode??(e.icon?(0,$.jsx)(Z,{name:e.icon,className:X(`size-5 shrink-0 text-muted-foreground`,e.spinning&&`animate-spin`)}):null),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate typography-ui-label text-foreground`,children:e.label}),e.badge&&e.badge>0?(0,$.jsx)(`span`,{className:`inline-flex size-2 shrink-0 rounded-full bg-primary`,"aria-hidden":!0}):null]},e.key),t[18]=r,t[19]=e),g=i.map(e),t[15]=i,t[16]=r,t[17]=g}else g=t[17];let _;t[20]!==g||t[21]!==h?(_=(0,$.jsx)(`div`,{id:ll,className:`pointer-events-auto absolute top-[calc(var(--oc-safe-area-top,0px)+var(--oc-mobile-detail-navigation-height,3.5rem)+0.25rem)] w-[min(220px,calc(100vw-1rem))] origin-top-right overflow-hidden rounded-2xl oc-mobile-overlay-surface`,role:`menu`,style:h,onAnimationEnd:Bl,children:g}),t[20]=g,t[21]=h,t[22]=_):_=t[22];let v;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`style`,{children:`@keyframes mobile-menu-in { from { opacity: 0; transform: translateY(-6px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } }`}),t[23]=v):v=t[23];let y;return t[24]!==_||t[25]!==u||t[26]!==p?(y=(0,$.jsxs)(`div`,{className:`pointer-events-none fixed inset-0 z-50`,role:`dialog`,"aria-modal":`true`,"aria-label":u,children:[p,_,v]}),t[24]=_,t[25]=u,t[26]=p,t[27]=y):y=t[27],y},Il=Q.memo(function(e){let t=(0,Wr.c)(88),{open:n,onOpenChange:r,currentSessionId:i,effectiveDirectory:a,gitDirectory:o,isNewSessionDraftOpen:s,primaryLabel:c,secondaryLabel:u}=e,{t:d}=ee(),{git:f}=Xt(),p=xs(i??``,a||void 0),m=p??u,h=Q.useRef(null),g=le(i??``,a||void 0),_=mn(o),v=hn(o),y=fn(Vl),b=fn(Hl),x=ae(Ul),S=ae(Wl),C=ae(Gl),w=ae(Kl),T;t[0]===i?T=t[1]:(T=e=>i?e.sessionModelSelections.get(i)??null:null,t[0]=i,t[1]=T);let E=F(T),D=Mn(ql),O=Mn(Jl),k=Mn(Yl),A=Mn(Xl),j=Mn(Zl),M=Mn(Ql),N=Mn($l),P=l(eu);Cn();let te,I;t[2]!==y||t[3]!==f||t[4]!==o?(te=()=>{o&&y(o,f)},I=[y,f,o],t[2]=y,t[3]=f,t[4]=o,t[5]=te,t[6]=I):(te=t[5],I=t[6]),Q.useEffect(te,I);let L,R;t[7]!==b||t[8]!==f||t[9]!==o?(L=()=>{if(o)return pe.onGitRefreshHint(e=>{Cl(e.directory)===o&&b(o,f)})},R=[b,f,o],t[7]=b,t[8]=f,t[9]=o,t[10]=L,t[11]=R):(L=t[10],R=t[11]),Q.useEffect(L,R);let z,B;t[12]===O?(z=t[13],B=t[14]):(z=()=>{O()},B=[O],t[12]=O,t[13]=z,t[14]=B),Q.useEffect(z,B);let V,H;t[15]===M?(V=t[16],H=t[17]):(V=()=>{pt(M)},H=[M],t[15]=M,t[16]=V,t[17]=H),Q.useEffect(V,H);let U,W;t[18]!==M||t[19]!==k||t[20]!==A||t[21]!==n||t[22]!==D?(U=()=>{!n||A||M.some(e=>!D.some(t=>t.providerId===e))&&k()},W=[M,k,A,n,D],t[18]=M,t[19]=k,t[20]=A,t[21]=n,t[22]=D,t[23]=U,t[24]=W):(U=t[23],W=t[24]),Q.useEffect(U,W);let ne;t[25]===g?ne=t[26]:(ne=qo(g),t[25]=g,t[26]=ne);let re=ne,ie;if(t[27]!==g||t[28]!==C||t[29]!==S||t[30]!==w||t[31]!==s||t[32]!==re||t[33]!==x||t[34]!==E){let e=re??(E?{providerID:E.providerId,modelID:E.modelId}:null)??(S&&C?{providerID:S,modelID:C}:null),n=(e?x.find(t=>t.id===e.providerID):void 0)?.models.find(t=>t.id===e?.modelID),r=e?w(e.providerID,e.modelID):void 0,i=Uo(n?.limit,`context`)??r?.limit?.context??0,a;t[36]===g?a=t[37]:(a=Jo(g),t[36]=g,t[37]=a),ie=Ko({totalTokens:a,contextLimit:i,isDraft:s}),t[27]=g,t[28]=C,t[29]=S,t[30]=w,t[31]=s,t[32]=re,t[33]=x,t[34]=E,t[35]=ie}else ie=t[35];let G=ie,oe;t[38]!==v?.current||t[39]!==_||t[40]!==d?(oe=_===!0?v?.current?.trim()||d(`gitView.branch.detachedHead`):d(`common.unavailable`),t[38]=v?.current,t[39]=_,t[40]=d,t[41]=oe):oe=t[41];let se=oe,ce;if(t[42]!==M||t[43]!==D||t[44]!==N||t[45]!==d){let e=new Map(D.map(tu)),n;t[47]===M?n=t[48]:(n=e=>M.includes(e.id),t[47]=M,t[48]=n),ce=Sn.filter(n).filter(t=>e.get(t.id)?.configured===!0).map(t=>{let n=e.get(t.id),r=[];for(let[e,t]of Object.entries(n?.usage?.windows??{}))r.push({key:`window-${e}`,label:Ot(e),window:t});let i=Object.entries(n?.usage?.models??{}),a=N[t.id]??[],o=a.length>0?i.filter(e=>{let[t]=e;return a.includes(t)}):i;for(let[e,t]of o){let n=Object.entries(t.windows??{});if(n.length===0)continue;let[i,a]=n[0];r.push({key:`model-${e}-${i}`,label:Ot(i),subtitle:Tn(e),window:a})}let s=!n.ok&&n.error?n.error:r.length===0?d(`header.services.noRateLimitsReported`):null;return{providerId:t.id,providerName:t.name,rows:r,status:s}}),t[42]=M,t[43]=D,t[44]=N,t[45]=d,t[46]=ce}else ce=t[46];let ue=ce,K,de;t[49]!==n||t[50]!==ue?(K=()=>{!n||ue.length===0||pt(ue.map(nu))},de=[n,ue],t[49]=n,t[50]=ue,t[51]=K,t[52]=de):(K=t[51],de=t[52]),Q.useEffect(K,de);let fe;t[53]===c?fe=t[54]:(fe=(0,$.jsx)(`span`,{className:`block truncate typography-ui-label text-foreground`,children:c}),t[53]=c,t[54]=fe);let me;t[55]!==m||t[56]!==p?(me=m?(0,$.jsx)(`span`,{className:X(`block truncate`,p?`oc-mobile-detail-subtitle text-muted-foreground`:`typography-micro text-muted-foreground`),"aria-live":`polite`,children:m}):null,t[55]=m,t[56]=p,t[57]=me):me=t[57];let he;t[58]!==fe||t[59]!==me?(he=(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center px-2 py-1.5 text-left`,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col leading-tight`,children:[fe,me]})}),t[58]=fe,t[59]=me,t[60]=he):he=t[60];let ge;t[61]===d?ge=t[62]:(ge=d(`mobile.header.openMetadataAria`),t[61]=d,t[62]=ge);let _e;t[63]===r?_e=t[64]:(_e=()=>r(ru),t[63]=r,t[64]=_e);let q;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(q={touchAction:`manipulation`},t[65]=q):q=t[65];let ve=G?.percentage??0,ye;t[66]===ve?ye=t[67]:(ye=(0,$.jsx)(Vo,{percentage:ve}),t[66]=ve,t[67]=ye);let be;t[68]!==n||t[69]!==ge||t[70]!==_e||t[71]!==ye?(be=(0,$.jsx)(`button`,{ref:h,type:`button`,className:`flex size-10 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":ge,"aria-expanded":n,onClick:_e,style:q,children:ye}),t[68]=n,t[69]=ge,t[70]=_e,t[71]=ye,t[72]=be):be=t[72];let xe;t[73]===r?xe=t[74]:(xe=()=>r(!1),t[73]=r,t[74]=xe);let Se;t[75]!==se||t[76]!==G||t[77]!==A||t[78]!==n||t[79]!==j||t[80]!==xe||t[81]!==P||t[82]!==ue?(Se=(0,$.jsx)(Nl,{open:n,onClose:xe,anchorRef:h,contextDisplay:G,branchLabel:se,usageGroups:ue,usageDisplayMode:j,isUsageLoading:A,timeFormatPreference:P}),t[75]=se,t[76]=G,t[77]=A,t[78]=n,t[79]=j,t[80]=xe,t[81]=P,t[82]=ue,t[83]=Se):Se=t[83];let Ce;return t[84]!==he||t[85]!==be||t[86]!==Se?(Ce=(0,$.jsxs)($.Fragment,{children:[he,be,Se]}),t[84]=he,t[85]=be,t[86]=Se,t[87]=Ce):Ce=t[87],Ce}),Ll=({onOpenSessions:e,menuOpen:t,onToggleMenu:n,surfaceShortcuts:r})=>{let{t:i}=ee(),[a,o]=Q.useState(!1),s=C(e=>e.currentDirectory),c=q(e=>e.currentSessionId),l=Q.useMemo(()=>e=>c?e.getDirectoryForSession(c):null,[c]),u=q(l)||s,d=Cl(u)||null,f=K(e=>e.projects),p=q(e=>e.availableWorktreesByProject),m=Q.useMemo(()=>e=>c?e.worktreeMetadata.get(c)??null:null,[c]),h=q(m),g=De(c),_=q(e=>!!e.newSessionDraft?.open),v=Q.useMemo(()=>{let e=Cl(u);return e&&Dl((h?.projectDirectory?U(f,h.projectDirectory):null)??W(f,p,e),e)||i(`mobile.header.noProject`)},[p,h?.projectDirectory,u,f,i]),y=g?.title?.trim()||(c?i(`mobile.sessions.untitled`):v),b=c?v:``;Q.useEffect(()=>{o(!1)},[c,u]);let x=A(()=>{o(!1),e()}),S=A(()=>{o(!1),n()});return(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(ti,{children:[(0,$.jsx)(`button`,{type:`button`,className:`flex size-10 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":i(`mobile.sessions.openSheetAria`),onClick:x,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`folders`,className:`size-5`})}),(0,$.jsx)(Il,{open:a,onOpenChange:o,currentSessionId:c,effectiveDirectory:u,gitDirectory:d,isNewSessionDraftOpen:_,primaryLabel:y,secondaryLabel:b}),r?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:X(`flex size-10 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,r.activePanel===`files`?`bg-[var(--interactive-selection)] text-[var(--interactive-selectionForeground)]`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),"aria-label":i(`mobile.menu.files`),"aria-pressed":r.activePanel===`files`,onClick:r.onToggleFiles,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`file-text`,className:`size-5`})}),(0,$.jsxs)(`button`,{type:`button`,className:X(`relative flex size-10 shrink-0 items-center justify-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,r.activePanel===`changes`?`bg-[var(--interactive-selection)] text-[var(--interactive-selectionForeground)]`:`text-muted-foreground hover:bg-interactive-hover hover:text-foreground`),"aria-label":i(`mobile.menu.changes`),"aria-pressed":r.activePanel===`changes`,onClick:r.onToggleChanges,style:{touchAction:`manipulation`},children:[(0,$.jsx)(Z,{name:`git-branch`,className:`size-5`}),r.changesDirty?(0,$.jsx)(`span`,{className:`absolute right-2 top-2 inline-flex size-2 rounded-full bg-primary`,"aria-hidden":!0}):null]})]}):null,(0,$.jsx)(`button`,{type:`button`,className:`flex size-10 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,"aria-label":i(`mobile.header.openMenuAria`),"aria-controls":ll,"aria-expanded":t,"aria-haspopup":`menu`,onClick:S,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`more-2`,className:`size-5`})})]})})},Rl=({connection:e,onActiveConnectionDeleted:t})=>{let{t:n}=ee(),r=qt();ie(),Te();let i=l(e=>e.mobileSessionPanelOpen),a=l(e=>e.setMobileSessionPanelOpen),o=l(e=>e.isScheduledTasksDialogOpen),s=l(e=>e.activeMainTab),c=Le(),u=l(e=>e.setActiveMainTab),[d,f]=Q.useState(!1),[p,m]=Q.useState(!1),[h,g]=Q.useState(null),[_,v]=Q.useState(!1),[y,b]=Q.useState(!1),[x,S]=Q.useState(null),[w,T]=Q.useState(null),[E,D]=Q.useState(null),[O,j]=Q.useState(0),[M,N]=Q.useState(!1),[P,te]=Q.useState(!1),[F,I]=Q.useState(!1),[R,z]=Q.useState(!1),[B,V]=Q.useState(!1),[U,W]=Q.useState(!1),[ne,re]=Q.useState(`nav`),[ae,oe]=Q.useState(!1),[se,ce]=Q.useState(!1),le=A(()=>oe(e=>!e)),ue=A(()=>oe(!1)),[K,de]=Q.useState(null),fe=C(e=>e.currentDirectory),me=l(e=>e.setSettingsPage),he=_n(e=>e.available),ge=_n(e=>e.runtimeType),_e=Q.useMemo(()=>yl(),[]),ve=Q.useMemo(()=>Us(),[]),{data:ye=[],refetch:xe}=yn(fe??null,{enabled:M}),{refetch:Se}=xn(fe??null,{enabled:M}),Ce=hr(e=>e.setMcpDraft),we=hr(e=>e.setSelectedMcp),J=hn(Cl(fe)||null)?.files?.length??0;Q.useEffect(()=>pe.onDirectoryRequest(()=>V(!0)),[]);let Y=Q.useMemo(()=>H(),[]),Ee=zt()===`portrait`,[De,Oe]=Q.useState(Y&&!Ee),[ke,Ae]=Q.useState(null),je=A(e=>{if(e&&me(e),Y){re(e?`page-content`:`nav`),I(!0);return}be.getState().setActiveTab(`settings`)}),Me=A(()=>{je(`instances`)}),Ne=A(()=>{be.getState().openInstances()}),Pe=A(()=>{be.getState().closeSecondary()}),Fe=A(async()=>{if(!U){W(!0);try{let t=await Ws();switch(t.status){case`ok`:await e.connect({url:t.url,clientToken:t.clientToken,label:t.label});break;case`pairing`:await e.redeemPairingConnection(t.pairing);break;case`permission-denied`:k.error(n(`mobile.connect.scan.permissionDenied`));break;case`invalid`:k.error(n(`mobile.connect.scan.invalid`));break;case`unsupported`:k.error(n(`mobile.connect.scan.unsupported`));break;case`failed`:k.error(n(`mobile.connect.scan.failed`))}}finally{W(!1)}}});$t({enabled:!Y,rootRoutesBlocked:i||d||p||_||y||o||M||F||R||B||ae});let Ie=A(()=>{let e=!De;e&&Ee&&Ae(null),Oe(e)}),ze=A(()=>{if(b(!1),S(null),T(null),m(!1),g(null),Y){de(null),Ae(`files`),Ee&&Oe(!1);return}f(!0)}),Be=A(()=>{m(!1),g(null)}),Ve=A(e=>{let t=e.path.trim();if(t){if(b(!1),S(null),T(null),de(null),v(!1),Y){l.getState().setPendingFileFocusPath(t),Ae(`files`),Ee&&Oe(!1);return}f(!1),g({path:t,targetLine:typeof e.targetLine==`number`&&Number.isFinite(e.targetLine)?Math.max(1,Math.trunc(e.targetLine)):void 0}),m(!0)}}),He=l(e=>e.pendingFileFocusPath);Q.useEffect(()=>{if(He){if(Y){ze();return}Ve({path:He}),l.getState().setPendingFileFocusPath(null)}},[He,Y,ze,Ve]);let We=A((e=null)=>{if(b(!1),S(null),T(null),D(null),m(!1),g(null),de(e),Y){Ae(`changes`),Ee&&Oe(!1);return}v(!0)}),Ge=A((e,t,n)=>{de(null),v(!1),m(!1),g(null),S(e??null),T(typeof t==`string`&&t.trim()?t.trim():null);let r=typeof n==`string`&&n.trim()?n.trim():null;if(D(r),j(e=>e+1),Y){Ae(`turn-diff`),Ee&&Oe(!1);return}b(!0)}),Ke=A(()=>{Ae(null),de(null),D(null)}),qe=A(e=>{if(ke===e){Ke();return}e===`files`?ze():We()}),Je=Q.useRef(`changes`);ke&&(Je.current=ke);let[Ye,Xe]=Q.useState(!1);Q.useEffect(()=>{if(!Y)return;if(ke){Xe(!0);return}let e=window.setTimeout(()=>Xe(!1),240);return()=>window.clearTimeout(e)},[ke,Y]);let Ze=ke??Je.current,Qe=_l(`left`,`openchamber.ipad.leftSidebarWidth`,ul),$e=_l(`right`,`openchamber.ipad.rightSidebarWidth`,dl),et=Q.useMemo(()=>({openChanges:({diffPath:e,staged:t,targetLine:n}={})=>{We(e?{path:e,staged:t===!0,targetLine:n}:null)},openToolDiff:({diffPath:e,patches:t,targetLine:n})=>{We({path:e,staged:!1,targetLine:n,toolPatches:t})},openTurnDiff:Ge,openFile:({path:e,targetLine:t})=>{Ve({path:e,targetLine:t})},openFiles:()=>ze(),openSettings:e=>{je(e)}}),[We,Ve,ze,je,Ge]),tt=A(()=>{v(!1),de(null)}),nt=A(()=>{b(!1),D(null)});pc(Q.useMemo(()=>({openSessions:()=>{if(Y){Oe(!0);return}be.getState().setActiveTab(`projects`)},openView:e=>{e===`files`?ze():e===`mcp`?N(!0):e===`instances`?Me():e===`update`&&z(!0)},openChanges:({path:e,staged:t}={})=>{We(e?{path:e,staged:t===!0}:null)},openSettings:e=>{je(e)}}),[Y,We,ze,Me,je]));let rt=Q.useRef(null),it=Q.useRef(null),at=Q.useRef(null),ot=Q.useRef(null),st=Q.useRef(null),ct=Q.useRef(null),lt=q(e=>e.currentSessionId),ut=q(e=>e.setCurrentSession),dt=Q.useMemo(()=>e=>lt?e.getDirectoryForSession(lt):null,[lt]),ft=q(dt),pt=L(lt,ft||fe||void 0),mt=G(lt??``),ht=mt?.type===`busy`||mt?.type===`retry`,gt=A(()=>{let e=lt;if(!e||se||ht)return;let t=ft||fe||void 0;ce(!0),(async()=>{try{await r.refreshSessionTranscript(e,{directory:t}),k.success(n(`sessions.sidebar.session.menu.refreshTranscriptSuccess`))}catch{k.error(n(`sessions.sidebar.session.menu.refreshTranscriptFailed`))}finally{ce(!1)}})()}),_t=A(e=>{ct.current=e}),vt=A(e=>{let t=at.current,n=ot.current,r=st.current;if(!t)return;if(!e){t.style.transform=``,t.style.opacity=``,t.style.willChange=``,n&&(n.style.transform=``,n.style.willChange=``),r&&(r.style.transform=``,r.style.willChange=``);return}t.style.willChange||t.getAnimations().forEach(e=>e.cancel()),t.style.willChange=`transform, opacity`,t.style.transform=`translate3d(${e.offsetX}px, 0, 0)`,t.style.opacity=String(1-e.progress*.08),n&&(n.style.willChange=`transform`,n.style.transform=`translate3d(${e.offsetX}px, 0, 0)`),r&&(r.style.willChange=`transform`,r.style.transform=`translate3d(${e.offsetX}px, 0, 0)`);let i=e.direction===`prev`?n:r;i&&Array.from(i.children).forEach(t=>{t instanceof HTMLElement&&(t.style.opacity=e.canSwitch?`1`:`0.35`)})}),yt=be(e=>e.secondary?.kind??null),bt=!Y&&(yt===`chat`||yt===`draft`);Q.useEffect(()=>{!Y&&!bt&&oe(!1)},[Y,bt]),Q.useEffect(()=>{oe(!1)},[lt]),Mc(it,{onSwitch:_t,onProgress:vt},Y||bt);let xt=Y&&s===`assistant`||!Y&&!bt||i||d||p||_||y||o||M||F||R||B||ae;Qc(it,{onOpen:A(()=>{Lt(Rt)?.finish(`commit`)}),onPreviewStart:A(()=>{Lt(Rt)?.begin(`present`)}),onPreviewCancel:A(()=>{Lt(Rt)?.finish(`cancel`)}),onProgress:A(e=>{e!==null&&Lt(Rt)?.update(e)}),disabled:xt},Y||bt),Q.useLayoutEffect(()=>{let e=ct.current;if(ct.current=null,!e)return;let t=at.current;if(!t||typeof t.animate!=`function`)return;t.getAnimations().forEach(e=>e.cancel());let n=e===`prev`?-70:70;t.animate([{opacity:.1,transform:`translateX(${n}px)`},{opacity:1,transform:`translateX(0)`}],{duration:300,easing:`cubic-bezier(0.22, 1, 0.36, 1)`})},[lt]);let St=A(e=>{rt.current=e});Sl(A(()=>ae?(oe(!1),!0):B?(V(!1),!0):o?(window.dispatchEvent(new Event(`oc:scheduled-tasks-close-request`)),!0):i?(a(!1),!0):tn.backImmediately(`overlay`)?!0:p?(Be(),!0):d?(f(!1),!0):y?(nt(),!0):_?(tt(),!0):M?(N(!1),!0):F?(I(!1),!0):R?(z(!1),!0):tn.requestAnimatedBack(`root`)||rt.current?.()?!0:s===`assistant`?(u(`chat`),!0):pt?(ut(pt.id,pt.directory),!0):!1));let Ct=he&&(ge===`desktop`||ge===`web`),wt=A(()=>{let e=`new-mcp-server`,t=e,n=1;for(;ye.some(e=>e.name===t);)t=`${e}-${n}`,n+=1;Ce({name:t,scope:`user`,type:`local`,command:[],url:``,environment:[],headers:[],oauthEnabled:!0,oauthClientId:``,oauthClientSecret:``,oauthScope:``,oauthRedirectUri:``,timeout:``,enabled:!0}),we(t),N(!1),je(`mcp`)}),Tt=A(()=>{if(P)return;te(!0);let e=new Promise(e=>window.setTimeout(e,500));Promise.all([Se(),xe(),e]).finally(()=>te(!1))}),Dt=q(e=>e.openNewSessionDraft),Ot=Q.useMemo(()=>{let e=[{key:`new-session`,icon:`chat-new`,label:n(`mobile.menu.newSession`),onSelect:()=>{if(Y){u(`chat`),Dt();return}be.getState().openDraft()}}];return Y||e.push({key:`files`,icon:`file-text`,label:n(`mobile.menu.files`),onSelect:()=>ze()},{key:`changes`,icon:`git-branch`,label:n(`mobile.menu.changes`),badge:J,onSelect:()=>We()}),e.push({key:`mcp`,iconNode:(0,$.jsx)(bn,{className:`size-5 shrink-0 text-muted-foreground`}),label:n(`mobile.menu.mcp`),onSelect:()=>N(!0)}),Ct&&e.push({key:`update`,icon:`download`,label:n(`mobile.menu.update`),onSelect:()=>z(!0)}),Y&&e.push({key:`settings`,icon:`settings-3`,label:n(`mobile.menu.settings`),onSelect:()=>je()}),lt&&e.push({key:`refresh-transcript`,icon:`refresh`,label:n(`sessions.sidebar.session.menu.refreshTranscript`),disabled:se||ht,spinning:se,onSelect:gt}),e},[lt,J,Y,ht,se,We,ze,Dt,je,gt,u,Ct,n]);return(0,$.jsxs)(Gt,{actions:et,children:[(0,$.jsxs)(`div`,{className:`oc-mobile-app-shell main-content-safe-area flex h-[100dvh] flex-row text-foreground`,"data-page-scroll-lock":`true`,children:[Y?(0,$.jsxs)(`aside`,{ref:Qe.asideRef,className:X(`relative flex h-full shrink-0 flex-col overflow-hidden border-r border-border/50 bg-sidebar will-change-[width] motion-reduce:transition-none`,!De&&`border-r-0`),style:{width:De?Qe.width:0,minWidth:De?Qe.width:0,maxWidth:De?Qe.width:0,"--oc-ipad-sidebar-width":`${Qe.width}px`,overflowX:`clip`,paddingTop:`var(--oc-safe-area-top, 0px)`,transitionProperty:Qe.isResizing?`none`:`width, min-width, max-width`,transitionDuration:`200ms`,transitionTimingFunction:`cubic-bezier(0.22, 1, 0.36, 1)`},"aria-hidden":!De,"data-page-scroll-lock":`true`,children:[De?(0,$.jsx)(vl,{side:`left`,isResizing:Qe.isResizing,ariaLabel:n(`sidebar.resize.leftPanelAria`),handleProps:Qe.handleProps}):null,(0,$.jsx)(`div`,{className:X(`flex h-full shrink-0 flex-col transition-opacity duration-200 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none`,Qe.isResizing&&`pointer-events-none`,!De&&`pointer-events-none select-none opacity-0`),style:{width:`var(--oc-ipad-sidebar-width)`,overflowX:`hidden`},children:(0,$.jsx)(Et,{children:(0,$.jsx)(na,{open:!0,variant:`sidebar`,onOpenChange:e=>{!e&&Ee&&Oe(!1)}})})})]}):null,(0,$.jsx)(`div`,{className:`flex h-full min-w-0 flex-1 flex-col`,"data-page-scroll-lock":`true`,children:Y?(0,$.jsxs)($.Fragment,{children:[s===`assistant`?null:(0,$.jsx)(`div`,{children:(0,$.jsx)(Ll,{onOpenSessions:()=>Ie(),menuOpen:ae,onToggleMenu:le,surfaceShortcuts:{activePanel:ke===`turn-diff`?`changes`:ke,changesDirty:J>0,onToggleFiles:()=>qe(`files`),onToggleChanges:()=>qe(`changes`)}})}),(0,$.jsxs)(`main`,{ref:it,className:`relative min-h-0 flex-1 overflow-hidden`,"data-page-scroll-lock":`true`,children:[(0,$.jsxs)(`div`,{ref:ot,"aria-hidden":`true`,className:`pointer-events-none absolute inset-y-0 -left-full flex w-full items-center justify-end gap-3 bg-background pr-4`,children:[(0,$.jsx)(`span`,{className:`typography-micro font-medium tracking-wide text-muted-foreground/60`,children:n(`helpDialog.item.previousSession`)}),(0,$.jsx)(`span`,{className:`flex size-11 items-center justify-center rounded-full border border-border/70 bg-[var(--surface-elevated)] text-foreground shadow-sm`,children:(0,$.jsx)(Z,{name:`arrow-left`,className:`size-5`})})]}),(0,$.jsxs)(`div`,{ref:st,"aria-hidden":`true`,className:`pointer-events-none absolute inset-y-0 left-full flex w-full items-center justify-start gap-3 bg-background pl-4`,children:[(0,$.jsx)(`span`,{className:`flex size-11 items-center justify-center rounded-full border border-border/70 bg-[var(--surface-elevated)] text-foreground shadow-sm`,children:(0,$.jsx)(Z,{name:`arrow-right`,className:`size-5`})}),(0,$.jsx)(`span`,{className:`typography-micro font-medium tracking-wide text-muted-foreground/60`,children:n(`helpDialog.item.nextSession`)})]}),(0,$.jsx)(`div`,{ref:at,className:`relative h-full w-full bg-background`,children:(0,$.jsx)(Et,{children:s===`assistant`?(0,$.jsx)(Dr,{}):(0,$.jsx)(zn,{})})})]})]}):(0,$.jsx)(ko,{className:`min-h-0 flex-1`,onAddProject:()=>V(!0),onScanQr:_e&&ve?()=>{Fe()}:void 0,onSwitchInstance:_e?Ne:void 0,onEnableAssistants:()=>{je(`assistants`)},instancesPage:_e?(0,$.jsx)(Al,{connection:e,onConnect:()=>void 0,onActiveConnectionDeleted:t}):void 0,instancesSecondaryPage:_e?(0,$.jsxs)(`div`,{className:`oc-settings-workspace oc-settings-workspace-mobile flex h-full min-h-0 flex-col bg-[var(--surface-background)]`,children:[(0,$.jsx)(Re,{title:n(`mobile.settings.switchInstance`),backAriaLabel:n(`header.actions.backAria`),onBack:Pe}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-[var(--oc-mobile-page-inline-inset)]`,children:(0,$.jsx)(Dn,{className:`oc-mobile-settings-detail-card`,children:(0,$.jsx)(Al,{connection:e,onConnect:()=>void 0,onActiveConnectionDeleted:t})})})]}):void 0,parentSessionTarget:pt?{id:pt.id,directory:pt.directory}:null,registerSecondaryBackHandler:St,scheduledContent:(e,t)=>(0,$.jsx)(Jn,{presentation:`mobile-tab`,registerEditorBackHandler:e,onEditorActiveChange:t}),renderChat:e=>(0,$.jsx)(Ts,{sessionId:e.sessionId,directory:e.directory,onBack:()=>{ue(),tn.requestAnimatedBack(`root`)},onOpenMenu:le,onCloseMenu:ue,menuOpen:e.active&&ae,children:(0,$.jsxs)(`main`,{ref:e.active?it:void 0,className:`relative h-full min-h-0 flex-1 overflow-hidden`,"data-page-scroll-lock":`true`,children:[e.active?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{ref:ot,"aria-hidden":`true`,className:`pointer-events-none absolute inset-y-0 -left-full flex w-full items-center justify-end gap-3 bg-background pr-4`,children:[(0,$.jsx)(`span`,{className:`typography-micro font-medium tracking-wide text-muted-foreground/60`,children:n(`helpDialog.item.previousSession`)}),(0,$.jsx)(`span`,{className:`flex size-11 items-center justify-center rounded-full border border-border/70 bg-[var(--surface-elevated)] text-foreground shadow-sm`,children:(0,$.jsx)(Z,{name:`arrow-left`,className:`size-5`})})]}),(0,$.jsxs)(`div`,{ref:st,"aria-hidden":`true`,className:`pointer-events-none absolute inset-y-0 left-full flex w-full items-center justify-start gap-3 bg-background pl-4`,children:[(0,$.jsx)(`span`,{className:`flex size-11 items-center justify-center rounded-full border border-border/70 bg-[var(--surface-elevated)] text-foreground shadow-sm`,children:(0,$.jsx)(Z,{name:`arrow-right`,className:`size-5`})}),(0,$.jsx)(`span`,{className:`typography-micro font-medium tracking-wide text-muted-foreground/60`,children:n(`helpDialog.item.nextSession`)})]})]}):null,(0,$.jsx)(`div`,{ref:e.active?at:void 0,className:`relative h-full w-full bg-background`,children:(0,$.jsx)(Et,{children:(0,$.jsx)(zn,{readOnly:!e.active,active:e.active,selectionOverride:{sessionId:e.sessionId||null,directory:e.directory,viewKey:e.viewKey}})})})]})})})}),Y?(0,$.jsxs)(`aside`,{ref:$e.asideRef,className:X(`relative flex h-full shrink-0 flex-col overflow-hidden border-l border-border/50 bg-background will-change-[width] motion-reduce:transition-none`,!ke&&`border-l-0`),style:{width:ke?$e.width:0,minWidth:ke?$e.width:0,maxWidth:ke?$e.width:0,"--oc-ipad-sidebar-width":`${$e.width}px`,overflowX:`clip`,paddingTop:`var(--oc-safe-area-top, 0px)`,transitionProperty:$e.isResizing?`none`:`width, min-width, max-width`,transitionDuration:`200ms`,transitionTimingFunction:`cubic-bezier(0.22, 1, 0.36, 1)`},"aria-hidden":!ke,"data-page-scroll-lock":`true`,children:[ke?(0,$.jsx)(vl,{side:`right`,isResizing:$e.isResizing,ariaLabel:n(`sidebar.resize.rightPanelAria`),handleProps:$e.handleProps}):null,(0,$.jsx)(`div`,{className:X(`flex h-full shrink-0 flex-col transition-opacity duration-200 ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none`,$e.isResizing&&`pointer-events-none`,!ke&&`pointer-events-none select-none opacity-0`),style:{width:`var(--oc-ipad-sidebar-width)`,overflowX:`hidden`},children:Ye?(0,$.jsx)(Et,{children:Ze===`files`?(0,$.jsx)(Ci,{onClose:Ke}):Ze===`turn-diff`?(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-background text-foreground`,children:[(0,$.jsxs)(`header`,{className:`flex h-[var(--oc-header-height,56px)] shrink-0 items-center gap-2 border-b border-border/40 px-3`,children:[(0,$.jsx)(`h2`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:n(`mobile.nav.changes`)}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,onClick:Ke,"aria-label":n(`mobile.surface.closeAria`),className:`shrink-0 text-muted-foreground`,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`close`,className:`size-5`})})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Ln,{hideStackedFileSidebar:!0,pinSelectedFileHeaderToTopOnNavigate:!0,diffScope:`turn`,turnMessageId:x,sessionId:w,targetFilePath:E,navigationRequestKey:O,flushContent:!0})})]}):K?.toolPatches?.length?(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-background text-foreground`,children:[(0,$.jsxs)(`header`,{className:`flex h-[var(--oc-header-height,56px)] shrink-0 items-center gap-2 border-b border-border/40 px-3`,children:[(0,$.jsx)(`h2`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:K.toolPatches.length>1?n(`mobile.nav.changes`):K.path}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,onClick:Ke,"aria-label":n(`mobile.surface.closeAria`),className:`shrink-0 text-muted-foreground`,style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`close`,className:`size-5`})})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,$.jsx)(Ln,{hideStackedFileSidebar:!0,diffScope:`turn`,targetFilePath:K.path,targetLine:K.targetLine??null,toolPatches:K.toolPatches,singleFileView:K.toolPatches.length===1,flushContent:!0})})]}):(0,$.jsx)(di,{onClose:Ke,initialDiffPath:K?.path??null,initialDiffStaged:K?.staged===!0,initialDiffTargetLine:K?.targetLine??null})}):null})]}):null,(0,$.jsx)(er,{open:B,onOpenChange:V,forceMobile:!0}),(0,$.jsx)(Fl,{open:ae,onClose:()=>oe(!1),items:Ot,rightOffset:Y&&ke?$e.width:0}),(0,$.jsx)(or,{}),d?(0,$.jsx)(It,{id:il,open:d,onOpenChange:e=>{e||f(!1)},ariaLabel:n(`mobile.menu.files`),closeAriaLabel:n(`mobile.surface.closeAria`),resizeAriaLabel:n(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsx)(Et,{children:(0,$.jsx)(Ci,{onClose:()=>f(!1)})})}):null,p&&h?(0,$.jsx)(It,{id:rl,open:p,onOpenChange:e=>{e||Be()},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:h.path.split(/[/\\]/).filter(Boolean).at(-1)??h.path}),ariaLabel:n(`mobile.menu.files`),closeAriaLabel:n(`mobile.surface.closeAria`),resizeAriaLabel:n(`mobile.changes.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsx)(Et,{children:(0,$.jsx)(Ci,{onClose:Be,initialFilePath:h.path,directFilePreview:!0,hideFileHeader:!0},h.path)})}):null,(0,$.jsx)(It,{id:nl,open:y,onOpenChange:e=>{e||nt()},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:n(`mobile.nav.changes`)}),ariaLabel:n(`mobile.nav.changes`),closeAriaLabel:n(`mobile.surface.closeAria`),resizeAriaLabel:n(`mobile.changes.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsx)(Et,{children:(0,$.jsx)(Ln,{hideStackedFileSidebar:!0,pinSelectedFileHeaderToTopOnNavigate:!0,diffScope:`turn`,turnMessageId:x,sessionId:w,targetFilePath:E,navigationRequestKey:O,flushContent:!0})})}),_&&K?(0,$.jsx)(It,{id:tl,open:_,onOpenChange:e=>{e||tt()},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:K.toolPatches&&K.toolPatches.length>1?n(`mobile.nav.changes`):K.path}),ariaLabel:n(`mobile.menu.changes`),closeAriaLabel:n(`mobile.surface.closeAria`),resizeAriaLabel:n(`mobile.changes.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsx)(Et,{children:K.toolPatches?.length?(0,$.jsx)(Ln,{hideStackedFileSidebar:!0,diffScope:`turn`,targetFilePath:K.path,targetLine:K.targetLine??null,toolPatches:K.toolPatches,singleFileView:K.toolPatches.length===1,flushContent:!0}):(0,$.jsx)(di,{initialDiffPath:K.path,initialDiffStaged:K.staged,initialDiffTargetLine:K.targetLine??null,hideDiffHeader:!0})})}):_?(0,$.jsx)(It,{id:al,open:_,onOpenChange:e=>{e||tt()},ariaLabel:n(`mobile.menu.changes`),closeAriaLabel:n(`mobile.surface.closeAria`),resizeAriaLabel:n(`mobile.changes.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsx)(Et,{children:(0,$.jsx)(di,{onClose:tt,initialDiffPath:K?.path??null,initialDiffStaged:K?.staged===!0,initialDiffTargetLine:K?.targetLine??null})})}):null,M?(0,$.jsx)(It,{id:ol,open:M,onOpenChange:e=>{e||N(!1)},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:n(`mcpDropdown.title`)}),trailing:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,onClick:wt,"aria-label":n(`settings.mcp.sidebar.actions.addServerTitle`),title:n(`settings.mcp.sidebar.actions.addServerTitle`),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`add`,className:`size-5`})}),(0,$.jsx)(Ue,{type:`button`,variant:`ghost`,size:`icon`,onClick:Tt,disabled:P,"aria-label":n(`mcpDropdown.actions.refreshAria`),title:n(`mcpDropdown.actions.refreshAria`),style:{touchAction:`manipulation`},children:(0,$.jsx)(Z,{name:`refresh`,className:X(`size-5`,P&&`animate-spin`)})})]}),ariaLabel:n(`mcpDropdown.title`),closeAriaLabel:n(`mobile.surface.closeAria`),resizeAriaLabel:n(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsx)(Et,{children:(0,$.jsx)(Fn,{active:!0,className:`h-full`,listClassName:`max-h-none`,hideHeader:!0,mobileListDensity:!0})})}):null,F&&Y?(0,$.jsx)(It,{id:sl,open:F,onOpenChange:e=>{e||I(!1)},ariaLabel:n(`mobile.menu.settings`),closeAriaLabel:n(`mobile.surface.closeAria`),resizeAriaLabel:n(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsx)(Et,{children:(0,$.jsx)(br,{forceMobile:!0,isWindowed:!0,initialMobileStage:ne,visiblePageSlugs:[...On],onClose:()=>I(!1),mobileInstancesPage:_e?(0,$.jsx)(Al,{connection:e,onConnect:()=>I(!1),onActiveConnectionDeleted:t}):void 0})})}):null,R?(0,$.jsx)(It,{id:cl,open:R,onOpenChange:e=>{e||z(!1)},title:(0,$.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold text-foreground`,children:n(`mobile.menu.update`)}),ariaLabel:n(`mobile.menu.update`),closeAriaLabel:n(`mobile.surface.closeAria`),resizeAriaLabel:n(`mobile.sessions.sheet.resizeAria`),initiallyExpanded:!0,children:(0,$.jsx)(Et,{children:(0,$.jsx)(`div`,{className:`h-full overflow-auto px-5 py-4`,children:(0,$.jsx)(gr,{initialUpdateDialogOpen:!0})})})}):null]}),(0,$.jsx)(pr,{enabled:_e&&s===`assistant`&&c.data?.supported===!0&&c.data?.enabled===!0}),(0,$.jsx)(Et,{children:(0,$.jsx)(tr,{})})]})};function zl({apis:e}){let{t}=ee(),n=ae(e=>e.initializeApp),r=ae(e=>e.isInitialized),a=ae(e=>e.isConnected),o=ae(e=>e.connectionPhase),s=C(e=>e.currentDirectory),d=q(e=>e.currentSessionId),m=q(e=>!!e.newSessionDraft?.open),h=q(e=>e.error),g=q(e=>e.clearError),_=l(e=>e.setIsMobile),v=kn(e=>e.refreshStatus),y=Kt(e=>e.setPlanModeEnabled),b=K(e=>e.projects),[x,w]=Q.useState(0),[T,D]=Q.useState(0),[O,j]=Q.useState(!1),[M,N]=Q.useState(`pending`),P=Q.useMemo(()=>Ie(),[]),[,te]=Q.useReducer(e=>e+1,0),F=Q.useMemo(()=>yl(),[]),I=Q.useRef(0),L=Q.useRef(0),R=Pe(()=>{N(`done`),w(e=>e+1)});mc(A(e=>{R.redeemPairingConnection(e)}));let z=hc({ready:F&&a&&r});Q.useEffect(()=>{!R.error||!u()||k.error(R.error)},[R.error]);let B=A(()=>{let t=u(),r=L.current+1;if(L.current=r,!t){ke();return}let a=()=>{n(),v(e.github,{force:!0}),ae.getState().refreshMissingCatalogs({source:`mobileApp:nativeResume`})},o=()=>{i({apiBaseUrl:``,clientToken:null,runtimeKey:`mobile-disconnected`}),w(e=>e+1)};je().then(e=>{if(L.current===r){if(e===`no-connection`){o();return}if(e===`unreachable`){window.setTimeout(()=>{L.current===r&&je().then(e=>{if(L.current===r&&e!==`switched`&&e===`unchanged`){a();return}})},4e3);return}e!==`switched`&&a()}});let s=Date.now();s-I.current>=Tl&&(I.current=s,window.dispatchEvent(new Event(`openchamber:system-resume`)))});bl(),xl(B),Q.useEffect(()=>{if(!F)return;let e,t=()=>{window.clearTimeout(e),e=window.setTimeout(()=>B(),1500)};return window.addEventListener(`online`,t),()=>{window.removeEventListener(`online`,t),window.clearTimeout(e)}},[F,B]),Q.useEffect(()=>(f(e),()=>f(null)),[e]),Q.useEffect(()=>c(e=>{if(e.runtimeKey&&e.runtimeKey===e.previousRuntimeKey){sr(),te();return}nr(e),be.getState().reset(),D(e=>e+1),w(e=>e+1)}),[]),Q.useEffect(()=>{if(z===`pending`)return;if(z===`connect`){N(`done`);return}if(!F||a||u()){N(`done`);return}let e=!1;return N(`attempting`),Ne().then(e=>e?!0:ke()).catch(()=>!1).then(()=>{e||N(`done`)}),()=>{e=!0}},[z]),Q.useEffect(()=>{_(!0)},[_]),Q.useEffect(()=>{F&&!u()||n()},[x,n,F]),Ye({enabled:!F||!!u(),source:`mobileApp:recovery`}),Q.useEffect(()=>{a&&S.setDirectory(s)},[s,a]),Q.useEffect(()=>{a&&v(e.github,{force:!0})},[e.github,a,v]),Q.useEffect(()=>{if(!a||b.length===0)return;let e=!1;return(async()=>{await Promise.all(b.map(async t=>{let n=Cl(t.path);if(n)try{if(!(fn.getState().directories.get(n)?.isGitRepo??await E(()=>import(`./gitApi-BQT3QXD2.js`).then(e=>e.S).then(e=>e.checkIsGitRepository(n)),__vite__mapDeps([50,1,5,2,3,4,6,7,8,35,36,14,34,37,38,9,10,11,12,13,39,40])))||e)return;await gt({id:t.id,path:n},{isCurrent:()=>!e})}catch{}}))})(),()=>{e=!0}},[a,b]),Q.useEffect(()=>{let e=!1;return(async()=>{let t=await p(`/health`,{method:`GET`}).catch(()=>null);if(!t||!t.ok||e)return;let n=await t.json().catch(()=>null);if(!n||e)return;let r=n.planModeExperimentalEnabled;y(r===!0||r===1||r===`1`||r===`true`)})(),()=>{e=!0}},[y]),Q.useEffect(()=>{if(!h)return;let e=window.setTimeout(()=>g(),5e3);return()=>window.clearTimeout(e)},[g,h]),Q.useEffect(()=>{if(!(!a&&(!F||u()))){j(!1);return}let e=window.setTimeout(()=>j(!0),8e3);return()=>window.clearTimeout(e)},[a,F,x,T]),dt(),Xe({enabled:!0}),nt(),ir(),el({enabled:F&&a});let V=Js(),H=!a&&o===`reconnecting`;if(!V)return(0,$.jsx)(`main`,{className:`flex min-h-dvh items-center justify-center bg-background text-foreground`,children:(0,$.jsx)(Pt,{width:120,height:120,isAnimated:!0})});let U=!!u();return F&&(!U||!a&&!H)?U?(0,$.jsx)(`main`,{className:`flex min-h-dvh items-center justify-center bg-background px-6 text-center text-foreground`,children:(0,$.jsxs)(`div`,{className:`flex max-w-sm flex-col items-center gap-4`,children:[(0,$.jsx)(Pt,{width:120,height:120,isAnimated:!O}),O?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`h1`,{className:`typography-h3 text-foreground`,children:t(`sessionAuth.error.networkTitle`)}),(0,$.jsx)(`p`,{className:`typography-body text-muted-foreground`,children:t(`sessionAuth.error.networkDescription`)})]}),(0,$.jsx)(Ue,{type:`button`,variant:`outline`,onClick:()=>{i({apiBaseUrl:``,clientToken:null,runtimeKey:`mobile-disconnected`}),w(e=>e+1)},children:t(`mobile.connect.cancelPassword`)})]}):null]})}):M===`done`?(0,$.jsx)(kl,{connection:R}):(0,$.jsxs)(`main`,{className:`relative flex min-h-dvh items-center justify-center bg-background text-foreground`,children:[(0,$.jsx)(Pt,{width:120,height:120,isAnimated:!0}),P?(0,$.jsxs)(`div`,{className:`absolute inset-x-0 top-[calc(50%+84px)] flex flex-col items-center gap-0.5 px-6 text-center`,children:[(0,$.jsx)(`p`,{className:`typography-small text-muted-foreground`,children:t(`mobile.connect.splash.connectingTo`)}),(0,$.jsxs)(`p`,{className:`typography-small text-foreground`,children:[P,(0,$.jsx)(Ht,{})]})]}):null]}):!a&&!H?O?(0,$.jsx)(`main`,{className:`flex min-h-dvh items-center justify-center bg-background px-6 text-center text-foreground`,children:(0,$.jsxs)(`div`,{className:`max-w-sm space-y-3`,children:[(0,$.jsx)(`h1`,{className:`typography-h3 text-foreground`,children:t(`sessionAuth.error.networkTitle`)}),(0,$.jsx)(`p`,{className:`typography-body text-muted-foreground`,children:t(`sessionAuth.error.networkDescription`)})]})}):(0,$.jsx)(`main`,{className:`flex min-h-dvh items-center justify-center bg-background text-foreground`,children:(0,$.jsx)(Pt,{width:120,height:120,isAnimated:!0})}):(0,$.jsx)(Et,{children:(0,$.jsx)(_e,{sdk:S.getSdkClient(),directory:s||``,bootstrapDirectory:!(m&&d===null),children:(0,$.jsx)(ft,{apis:e,children:(0,$.jsx)(St,{delayDuration:300,skipDelayDuration:150,children:(0,$.jsxs)(`div`,{className:`h-full bg-background text-foreground`,children:[(0,$.jsx)(Yn,{}),(0,$.jsx)(Fe,{}),(0,$.jsx)(ot,{embeddedBackgroundWorkEnabled:r}),(0,$.jsx)(Vn,{}),(0,$.jsx)(Xr,{}),(0,$.jsx)(Rl,{connection:R,onActiveConnectionDeleted:()=>{i({apiBaseUrl:``,clientToken:null,runtimeKey:`mobile-disconnected`}),be.getState().reset(),w(e=>e+1)}}),(0,$.jsx)(tt,{position:`top-center`,offset:`calc(var(--oc-safe-area-top, 0px) + 16px)`}),r?(0,$.jsx)(Bn,{}):null]})})})},T)})}function Bl(e){e.currentTarget.style.transform=`none`}function Vl(e){return e.ensureStatus}function Hl(e){return e.fetchStatus}function Ul(e){return e.providers}function Wl(e){return e.currentProviderId}function Gl(e){return e.currentModelId}function Kl(e){return e.getModelMetadata}function ql(e){return e.results}function Jl(e){return e.loadSettings}function Yl(e){return e.fetchAllQuotas}function Xl(e){return e.isLoading}function Zl(e){return e.displayMode}function Ql(e){return e.dropdownProviderIds}function $l(e){return e.selectedModels}function eu(e){return e.timeFormatPreference}function tu(e){return[e.providerId,e]}function nu(e){return e.providerId}function ru(e){return!e}var iu=()=>{N(),g().then(()=>{Promise.all([h(),et()]).catch(e=>{console.error(`[mobile-main] settings init failed:`,e)}),at(),rt(),Qe()}).catch(e=>{console.error(`[mobile-main] appearance init failed:`,e)}).finally(()=>{Fr()})};function au(e){en(),iu(),l.getState().setIsMobile(!0),Ur(),Bt();let t=document.getElementById(`root`);if(!t)throw Error(`Root element not found`);let n=window.Capacitor?.isNativePlatform?.()===!0||window.location.protocol===`capacitor:`;n&&document.documentElement.classList.add(`oc-native-app-active`);let r=n?{...e,notifications:{notifyAgentCompletion:async()=>!1,canNotify:()=>!1}}:e,i=(0,$.jsx)(zl,{apis:r});(0,jr.createRoot)(t).render((0,$.jsx)(Q.StrictMode,{children:(0,$.jsx)(it,{children:(0,$.jsx)(j,{children:(0,$.jsx)(Ze,{children:(0,$.jsx)($e,{children:(0,$.jsx)(Wn,{children:n?i:(0,$.jsx)(ct,{children:i})})})})})})}))}export{au as renderMobileApp};
|