const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./sidebar-attention-panel.runtime-DcNkyKMY.js","./rolldown-runtime-DkW27tQK.js","./control-ui-core-pH6nakZ-.js","./control-ui-foundation-CeFMP1Ly.js","./lit-runtime-BEtFSUCp.js","./control-ui-core-DGVkFhVB.js","./control-ui-core-Br5DB0Zj.js","./gateway-runtime-DUNO4Mi1.js","./control-ui-core-C8H8-RSs.css","./hub-tabs-mHLCJmKB.js","./hub-tabs-D2dXz8I8.css","./sidebar-update-card-CQqrU8d1.js","./update-confirmation-BNyRSVb0.js","./sidebar-update-card-CqgCtvZC.css","./sidebar-attention-panel-Cx69EZk2.css","./custodian-alert-store-KwahxieH.js","./custodian-alert-store-BIkN3I10.js","./channel-avatar-CNP_6012.js","./session-organizer-operations.runtime-Bya7cfJM.js","./worktree-preservation-ITy-qaJx.js","./input-dialog-BErqtvL-.js","./session-group-defaults-dialog-Db8Bcufo.js","./control-ui-boot-D1DWJlBr.js","./control-ui-boot-wpHCbPL9.js","./control-ui-boot-gfE6fZcA.js","./config-runtime-C4gfjhZc.js","./control-ui-boot-9_2QGLIL.js","./control-ui-boot-B1lcIXow.js","./control-ui-boot-Clhp68JE.js","./control-ui-boot-J-x6DHHT.js","./control-ui-boot-CKTkvwFZ.js","./control-ui-boot-BPFwXC8p.js","./control-ui-boot-DdPrPuw0.js","./control-ui-boot-CQvujP8f.js","./control-ui-boot-BW_XZcbY.js","./control-ui-boot-__AsqpzJ.css","./place-browser-DiRCxEEz.js","./new-session-Df5ycn44.js","./new-session-C99rZtoz.css","./web-awesome-popover-DTDr8XNA.js","./sidebar-people.runtime-DFHUV6XT.js","./portaled-hovercard-Cn6SxKYU.js","./session-progress-hovercard.runtime-C62MSXJB.js"])))=>i.map(i=>d[i]); import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{Ai as n,Ci as r,Di as i,Ei as a,F as o,Fi as s,Gt as c,Jt as l,L as u,Nr as d,Pr as f,Sn as p,Ut as m,Yt as h,_t as g,ai as _,an as v,bn as y,c as b,dt as x,er as S,ht as C,in as ee,ji as te,ki as w,kn as ne,l as re,ln as ie,mt as ae,nn as oe,oi as se,pt as ce,qt as le,un as ue,wi as de,wn as T,xt as fe,yn as pe}from"./control-ui-foundation-CeFMP1Ly.js";import{$a as me,$i as he,Ao as ge,Ba as _e,Bc as ve,Bt as ye,Cc as be,Co as xe,Da as Se,Dc as E,Do as Ce,Ds as we,E as Te,Ec as Ee,Eo as De,G as Oe,Ga as ke,Gc as Ae,Hc as je,Ja as Me,Jc as Ne,Js as Pe,Ka as Fe,Kc as Ie,La as Le,Mc as Re,Na as ze,Nc as Be,Oc as Ve,Oo as He,Or as Ue,Qa as We,Qc as Ge,Ra as Ke,Rc as qe,Sc as Je,So as Ye,T as Xe,Ta as Ze,Tc as Qe,To as $e,U as et,Uc as tt,Va as nt,W as D,Wa as rt,Wc as it,X as at,Yc as ot,Yi as st,Ys as ct,Z as lt,Zc as ut,Zi as dt,_ as ft,_c as pt,a as mt,al as ht,ao as gt,b as _t,bc as O,bo as vt,bt as yt,c as bt,dl as xt,do as St,dr as Ct,ei as wt,el as Tt,fl as Et,fo as Dt,fr as Ot,fs as k,g as kt,gc as At,gl as jt,go as Mt,gs as Nt,h as Pt,hc as Ft,hl as A,hs as It,il as Lt,io as Rt,ja as zt,jc as Bt,jo as Vt,ka as Ht,kc as Ut,ks as Wt,l as Gt,lr as Kt,mc as j,ml as M,mo as qt,ms as N,ni as Jt,o as Yt,ol as Xt,oo as Zt,p as Qt,pl as $t,pr as en,q as tn,qa as nn,qc as rn,qs as an,rl as on,s as sn,tc as cn,ti as ln,to as un,vo as dn,vr as fn,w as pn,wo as mn,x as hn,xc as gn,xo as _n,xt as vn,yc as yn,yr as bn,yt as xn,za as Sn,zt as Cn}from"./control-ui-core-pH6nakZ-.js";import{$ as wn,C as Tn,G as P,H as En,I as Dn,J as F,K as On,R as kn,U as An,W as I,X as L,Z as R,_ as jn,a as Mn,at as z,b as Nn,c as Pn,d as Fn,et as In,f as Ln,h as Rn,i as zn,lt as Bn,m as Vn,n as Hn,rt as B,s as Un,t as Wn,u as Gn,w as Kn,x as qn}from"./lit-runtime-BEtFSUCp.js";import{$t as Jn,A as Yn,At as Xn,B as Zn,Bn as Qn,Cn as $n,Dn as er,Dt as tr,E as nr,En as rr,F as ir,I as ar,In as or,Jt as sr,K as cr,L as lr,M as ur,Mt as dr,On as fr,Ot as pr,Qt as mr,T as hr,Tt as gr,Vn as _r,Vt as vr,Wn as yr,Xn as br,Xt as xr,Yt as Sr,Z as Cr,Zt as wr,_ as Tr,_n as Er,an as Dr,c as Or,cn as kr,d as Ar,dn as jr,en as Mr,er as Nr,f as Pr,fn as Fr,gn as Ir,hn as Lr,k as Rr,kn as zr,kt as Br,ln as Vr,m as Hr,mn as Ur,p as Wr,qn as Gr,s as Kr,sn as qr,tr as Jr,un as Yr,v as Xr,wt as Zr,xn as Qr,zn as $r}from"./control-ui-core-DGVkFhVB.js";import{A as ei,D as ti,F as ni,Ft as ri,Gt as ii,Ht as V,I as ai,K as oi,L as si,Lt as H,M as ci,N as li,Nt as ui,O as di,P as fi,Qt as pi,Rt as U,S as mi,Vt as hi,Zt as gi,_ as _i,ft as vi,ht as yi,i as bi,it as xi,j as Si,k as Ci,nt as wi,ot as Ti,q as Ei,qt as W,r as Di,rt as Oi,ut as ki,vt as Ai,w as ji,zt as Mi}from"./control-ui-core-Br5DB0Zj.js";import{$ as Ni,A as Pi,Bt as Fi,C as Ii,Ct as Li,F as Ri,Fn as zi,G as Bi,I as Vi,In as Hi,It as Ui,K as Wi,L as Gi,Ln as Ki,Lt as qi,N as Ji,Nn as Yi,O as Xi,Ot as Zi,P as Qi,Q as $i,Rt as ea,S as ta,Sn as na,St as ra,U as ia,W as aa,at as oa,b as sa,d as ca,et as la,f as ua,g as da,h as fa,it as pa,j as ma,jt as ha,k as ga,lt as _a,m as va,nt as ya,ot as ba,p as xa,rt as Sa,st as Ca,t as wa,tt as Ta,u as Ea,ut as Da,wn as Oa,x as ka,xt as Aa,y as ja,zt as Ma}from"./control-ui-boot-wpHCbPL9.js";import{a as Na,n as Pa,r as Fa}from"./gateway-runtime-DUNO4Mi1.js";import{D as Ia,E as La,T as Ra,_ as za,b as Ba,d as Va,h as Ha,v as Ua,x as Wa}from"./config-runtime-C4gfjhZc.js";import{C as Ga,E as Ka,S as qa,T as Ja,a as Ya,c as Xa,d as Za,f as Qa,g as $a,h as eo,i as to,l as no,m as ro,n as io,o as ao,p as oo,s as so,t as co,u as lo,w as uo,x as fo}from"./control-ui-boot-CKTkvwFZ.js";import{_ as po,a as mo,c as ho,d as go,f as _o,g as vo,h as yo,i as bo,l as xo,m as So,o as Co,p as wo,s as To,u as Eo}from"./control-ui-boot-9_2QGLIL.js";import{ct as Do,dt as Oo,ft as ko,lt as Ao,st as jo,ut as Mo}from"./control-ui-boot-J-x6DHHT.js";import{Ar as No,In as Po,Ln as Fo,Rn as Io,jr as Lo}from"./control-ui-boot-D1DWJlBr.js";import{g as Ro,h as zo}from"./control-ui-boot-CQvujP8f.js";import{At as Bo,B as Vo,Dt as Ho,Et as Uo,F as Wo,H as Go,I as Ko,J as qo,K as Jo,M as Yo,N as Xo,Ot as Zo,U as Qo,V as $o,W as es,bt as ts,ct as ns,dt as rs,ft as is,gt as as,ht as os,it as ss,j as cs,kt as ls,lt as us,mt as ds,nt as fs,ot as ps,pt as ms,q as hs,st as gs,tt as _s,ut as vs,vt as ys,wt as bs,xt as xs,yt as Ss}from"./control-ui-boot-BPFwXC8p.js";import{g as Cs}from"./control-ui-boot-DdPrPuw0.js";import"./control-ui-boot-BW_XZcbY.js";import{A as ws,D as Ts,E as Es,F as Ds,M as Os,N as ks,O as As,P as js,S as Ms,_ as Ns,a as Ps,b as Fs,c as Is,d as Ls,g as Rs,h as zs,l as Bs,n as Vs,p as Hs,r as Us,s as Ws,t as Gs,v as Ks,w as qs,x as Js,y as Ys}from"./markdown-runtime-BcrsAQtF.js";function Xs(e){let t;return n=>{let r=()=>{let r=n.state.scopeId;if(t===void 0){t=r;return}if(r===t)return;let i=t;t=r,e(r,i)};return r(),n.subscribe(r)}}function Zs(){return(Zs=t((()=>{})))()}function Qs(e){return e.reason instanceof Error?e.reason:new DOMException(`Gateway wait aborted`,`AbortError`)}function $s(e,t){let n=e.snapshot.client;return t.aborted?Promise.reject(Qs(t)):n&&e.snapshot.phase===`connected`?Promise.resolve(n):new Promise((n,r)=>{let i=()=>void 0,a=!1,o=()=>{i(),t.removeEventListener(`abort`,s)},s=()=>{o(),r(Qs(t))};t.addEventListener(`abort`,s,{once:!0}),i=e.subscribe(e=>{e.phase===`connected`&&e.client&&(a=!0,o(),n(e.client))}),(a||t.aborted)&&i()})}function ec(){return(ec=t((()=>{})))()}function tc(e,t){let n=e?.trim();if(!n||!t)return null;let i=r(n);return t.agents.some(e=>r(e.id)===i)?i:null}function nc(e,t){let n=new URLSearchParams(e.search);if(!n.has(`session`))return null;let r=Gr(`chat`,t),i=Gr(`dashboard`,t),a=e.pathname===r||e.pathname===`${r}/`?`chat`:e.pathname===i||e.pathname===`${i}/`?`dashboard`:null;return a?{face:n.get(`face`)===`dashboard`?`dashboard`:a,sessionKey:n.get(`session`)?.trim()??``}:null}async function rc(e){let t=nc(e.location,e.basePath);if(!t)return null;let n=!!(e.agentsList()?.mainKey?.trim()||e.gateway.snapshot.phase===`connected`&&e.gateway.snapshot.hello),r=E(t.sessionKey);t.sessionKey&&!n&&await $s(e.gateway,e.signal);let i={agentsList:e.agentsList(),hello:e.gateway.snapshot.hello},a=r?.agentId??(tc(e.selectedAgentId,i.agentsList)||Be(i)),o=Bt(i),s=t.sessionKey?wr(t.face,a,t.sessionKey,e.basePath,{mainKey:o}):null,c=new URLSearchParams(e.location.search);c.delete(`session`),c.delete(`face`);let l=c.toString();return{...e.location,pathname:s??Gr(t.face,e.basePath),search:l?`?${l}`:``}}function ic(e,t,n,r,i){if(!ye(e,t,br)||!n.trim())return e;let a=E(n)?.agentId??r.trim();if(!a)return e;let o=wr(`chat`,a,n,t,{mainKey:i});return o?{...e,pathname:o}:e}async function ac(e){let t=await rc(e);if(t)return t;if(!ye(e.location,e.basePath,br))return e.location;E(e.sessionKey)||await $s(e.gateway,e.signal);let n={agentsList:e.agentsList(),hello:e.gateway.snapshot.hello};return ic(e.location,e.basePath,e.sessionKey.trim()||e.gateway.snapshot.sessionKey,tc(e.selectedAgentId,n.agentsList)||Be(n),Bt(n))}function oc(){return(oc=t((()=>{$r(),vr(),xr(),O(),Cn()})))()}function sc(e){let t=e.now??Date.now,n=e.setTimer??((e,t)=>globalThis.setTimeout(e,t)),r=e.clearTimer??(e=>globalThis.clearTimeout(e)),i=null,a=null,o=null,s=0,c=0,l=!1,u=e=>l&&c===e,d=()=>{a!==null&&(r(a),a=null)},f=(e,t)=>{u(t)&&(d(),a=n(()=>{u(t)&&(a=null,m(t))},ae(e,{minMs:uc})))},p=e=>{if(!u(e))return;s+=1;let t=Math.min(fc*2**(s-1),pc);f(t,e)},m=n=>{if(o?.generation===n||!u(n)||!i)return;let r=i,a=Promise.resolve().then(()=>e.request(`plugin.surface.refresh`,{surface:`canvas`,observedUrl:r})).then(a=>{if(!u(n)||i!==r)return;let o=cc(a);if(!o){p(n);return}s=0,i=o.canvasUrl,e.onChange(i);let c=o.expiresAtMs===void 0?dc:Math.max(uc,o.expiresAtMs-t()-lc);f(c,n)}).catch(()=>p(n)).finally(()=>{o?.promise===a&&(o=null)});o={generation:n,promise:a}};return{start(t){c+=1,l=!0,s=0,d(),e.onConnectionChange?.(),i=t?.trim()||null,e.onChange(i),i&&m(c)},stop(){!l&&i===null&&a===null||(c+=1,l=!1,s=0,d(),e.onConnectionChange?.(),i=null,e.onChange(null))}}}function cc(e){if(!e||typeof e!=`object`)return;let t=e;if(t.surface!==`canvas`)return;let n=t.pluginSurfaceUrls;if(!T(n))return;let r=n.canvas;if(typeof r!=`string`||!r.trim())return;let i=t.expiresAtMs;if(!(i!==void 0&&(typeof i!=`number`||!Number.isSafeInteger(i)||i<=0)))return{surface:`canvas`,canvasUrl:r.trim(),...i===void 0?{}:{expiresAtMs:i}}}var lc,uc,dc,fc,pc;function mc(){return(mc=t((()=>{ce(),lc=15e3,uc=1e3,dc=6e4,fc=1e3,pc=3e5})))()}function hc(e,t,n){if(!T(e))return null;let r=e;return Object.keys(r).some(e=>!Nc.has(e))||r.key!==t||r.agentId!==n||r.message!==``||r.worktree!==!0||r.incognito!==void 0&&r.incognito!==!0||r.visibility!==void 0&&r.visibility!==`draft`||r.fastMode!==void 0&&!ha(_a.properties.fastMode,r.fastMode)||r.permissionMode!==void 0&&!ha(Aa,r.permissionMode)||r.toolOverrides!==void 0&&!ha(ra,r.toolOverrides)||r.projectId!==void 0&&r.cwd!==void 0||Mc.some(e=>r[e]!==void 0&&!de(r[e]))?null:r}function gc(e){try{let t=JSON.parse(e);return T(t)?t:null}catch{return null}}function _c(e,t,n){return e.gatewayUrl===t&&e.recoveryScope===n}function vc(e){return T(e)?e.kind===`profile`&&Object.keys(e).every(e=>e===`kind`||e===`profileId`||e===`machineClass`)&&de(e.profileId)&&(e.machineClass===void 0||de(e.machineClass)&&e.machineClass.length<=128)||e.kind===`device`&&Object.keys(e).every(e=>e===`kind`||e===`deviceId`)&&de(e.deviceId)?e:e.kind===`auto-device`&&Object.keys(e).every(e=>e===`kind`)?{kind:`auto-device`}:null:null}function yc(e,t,n,r){return e.createParams?.incognito===!0||!de(e.sessionKey)||r!==void 0&&e.sessionKey!==r||!de(e.messageId)||typeof e.message!=`string`||!de(e.message)&&!e.attachments?.length||e.attachments!==void 0&&!Array.isArray(e.attachments)||!vc(e.target)||!de(e.agentId)||!_c(e,t,n)||e.phase!==`creating`&&e.phase!==`dispatching`&&e.phase!==`sending`&&e.phase!==`paused`||e.phase===`paused`&&(e.reason!==`not-sent`&&e.reason!==`rejected`&&e.reason!==`unconfirmed`||!de(e.error)||e.error.length>jc)||e.phase===`creating`&&!hc(e.createParams,e.sessionKey,e.agentId)?null:e}function bc(e,t){try{return e.removeItem(t),e.getItem(t)===null}catch{return!1}}function xc(e,t,n,r,i){try{let a=e.getItem(t);if(a===null)return null;let o=gc(a),s=o?yc(o,n,r,i):null;return!s||t!==sn(n,r,s.sessionKey)?(bc(e,t),null):s}catch{return null}}function Sc(e,t,n,r){let i=sn(r.gatewayUrl,r.recoveryScope,r.sessionKey),a=JSON.stringify(r);try{if(e.removeItem(t),e.getItem(t)!==null)return null;e.setItem(i,a);let n=xc(e,i,r.gatewayUrl,r.recoveryScope,r.sessionKey);if(n)return n}catch{}bc(e,i);try{e.setItem(t,n)}catch{}return null}function Cc(e,t){if(!e||!t)return[];try{let n=globalThis.sessionStorage;if(!n)return[];let r=new Map;for(let i of Yt(e,t)){let a=xc(n,i,e,t);a&&r.set(a.sessionKey,a)}return[...r.values()].toSorted((e,t)=>e.sessionKey.localeCompare(t.sessionKey))}catch{return[]}}function wc(e,t,n){for(let r of Cc(e,t))Dc({...r,recoveryScope:n})&&kc(e,t,r.sessionKey,r.messageId)}function Tc(e,t,n){if(!e||!t||!n)return null;try{let r=globalThis.sessionStorage;return r?xc(r,sn(e,t,n),e,t,n):null}catch{return null}}function Ec(e){let{gatewayUrl:t,recoveryScope:n,sessionKey:r}=e;if(!t||!n||!yc(e,t,n,r))return!1;try{let i=globalThis.sessionStorage;if(!i)return!1;let a=sn(t,n,r);return i.setItem(a,JSON.stringify(e)),!!xc(i,a,t,n,r)}catch{return!1}}function Dc(e,t=e.messageId){let n=Tc(e.gatewayUrl,e.recoveryScope,e.sessionKey);return n&&n.messageId!==t?!1:Ec(e)}function Oc(e,t){if(e===t.sessionKey)return Dc(t);try{let n=globalThis.sessionStorage;if(!n||!e)return!1;let r=sn(t.gatewayUrl,t.recoveryScope,e),i=n.getItem(r),a=xc(n,r,t.gatewayUrl,t.recoveryScope,e);if(!i||!a)return Dc(t);if(a.messageId!==t.messageId)return!1;let o=xc(n,sn(t.gatewayUrl,t.recoveryScope,t.sessionKey),t.gatewayUrl,t.recoveryScope,t.sessionKey);return o?o.messageId===t.messageId&&bc(n,r):!!Sc(n,r,i,t)}catch{return!1}}function kc(e,t,n,r){if(!(!e||!t))try{let i=globalThis.sessionStorage;if(!i)return;if(n){let a=sn(e,t,n);if(r&&gc(i.getItem(a)??``)?.messageId!==r)return;bc(i,a);return}let a=bt(e,t);for(let e=i.length-1;e>=0;--e){let t=i.key(e);t?.startsWith(a)&&bc(i,t)}}catch{}}function Ac(e,t,n,r=e.phase===`paused`?e.reason:e.phase===`sending`?`unconfirmed`:`not-sent`){let i={...e,phase:`paused`,reason:r,error:k(t).slice(0,jc)};return n&&!Dc(i)&&(Tc(e.gatewayUrl,e.recoveryScope,e.sessionKey)?.phase!==`paused`&&kc(e.gatewayUrl,e.recoveryScope,e.sessionKey,e.messageId),i.error=`Recovery could not be saved in this tab. Keep this page open.\n${i.error}`.slice(0,jc)),i}var jc,Mc,Nc;function Pc(){return(Pc=t((()=>{Da(),Li(),Zi(),N(),mt(),jc=4096,Mc=[`category`,`model`,`contextWindow`,`thinkingLevel`,`worktreeBaseRef`,`worktreeName`,`cwd`,`catalogId`,`projectId`],Nc=new Set([`key`,`agentId`,`message`,`worktree`,`incognito`,`visibility`,`permissionMode`,`fastMode`,`toolOverrides`,...Mc])})))()}function Fc(e){return e.orderKey??e.createdAt}function Ic(e,t){return Fc(e)-Fc(t)}function Lc(e){return!e.pendingRunId&&!e.intent&&(e.sendState===void 0||e.sendState===`waiting-idle`||e.sendState===`waiting-reconnect`||e.sendState===`failed`)}function Rc(e,t=Lc){let n=[],r=[];for(let i of e.toSorted(Ic)){if(t(i)){r.push(i);continue}r.length>0&&(n.push(r),r=[])}return r.length>0&&n.push(r),n}function zc(e,t,n){let r=e.toSorted(Ic),i=r.findIndex(e=>e.id===t),a=Math.min(Math.max(n,0),r.length-1);if(i<0||i===a)return[];let o=r.map(Fc);for(let e=1;eFc(e)===o[t]?[]:[{...e,orderKey:o[t]}])}function Bc(){return(Bc=t((()=>{})))()}function Vc(e,t){return e??Error(t)}function Hc(e){return new Promise((t,n)=>{e.addEventListener(`success`,()=>t(e.result),{once:!0}),e.addEventListener(`error`,()=>n(Vc(e.error,`IndexedDB request failed`)),{once:!0})})}function Uc(e){return new Promise((t,n)=>{e.addEventListener(`complete`,()=>t(),{once:!0}),e.addEventListener(`abort`,()=>n(Vc(e.error,`IndexedDB transaction aborted`)),{once:!0}),e.addEventListener(`error`,()=>n(Vc(e.error,`IndexedDB transaction failed`)),{once:!0})})}function Wc(){return Yc||(Yc=new Promise((e,t)=>{if(typeof indexedDB>`u`){t(Error(`IndexedDB is unavailable`));return}let n=indexedDB.open(Gc,Kc);n.addEventListener(`upgradeneeded`,()=>{let e=n.result;e.objectStoreNames.contains(`outboxPayloads`)||e.createObjectStore(`outboxPayloads`,{keyPath:`key`});let t=e.objectStoreNames.contains(qc)?n.transaction?.objectStore(qc):e.createObjectStore(qc,{keyPath:`key`});t&&!t.indexNames.contains(Jc)&&t.createIndex(Jc,Jc,{unique:!1})},{once:!0});let r=!1;n.addEventListener(`success`,()=>{let t=n.result;if(r){t.close(),Yc=null;return}t.addEventListener(`versionchange`,()=>{t.close(),Yc=null}),e(t)},{once:!0}),n.addEventListener(`error`,()=>{Yc=null,t(Vc(n.error,`IndexedDB open failed`))},{once:!0}),n.addEventListener(`blocked`,()=>{r=!0,t(Error(`IndexedDB upgrade was blocked`))},{once:!0})}),Yc)}var Gc,Kc,qc,Jc,Yc;function Xc(){return(Xc=t((()=>{Gc=`openclaw-control-ui`,Kc=2,qc=`composerDrafts`,Jc=`ownerKey`,Yc=null})))()}function Zc(e){return{status:`failed`,reason:e instanceof DOMException&&e.name===`QuotaExceededError`?`capacity`:`unavailable`}}async function Qc(e,t){let n=t.reduce((e,t)=>e+t.blob.size,0);if(n>al)return{status:`failed`,reason:`capacity`};try{let r=(await Wc()).transaction(il,`readwrite`,{durability:`strict`}),i=Uc(r),a=r.objectStore(il),o=await Hc(a.getAll()).catch(async e=>{throw await i,e}),s=o.reduce((e,t)=>e+(T(t)&&typeof t.bytes==`number`&&Number.isSafeInteger(t.bytes)&&t.bytes>=0?t.bytes:ol),0);if(o.length>=sl||s+n>ol)return await i,{status:`failed`,reason:`capacity`};let c=JSON.stringify([e.gatewayOwner,e.recoveryScope,e.queueId,crypto.randomUUID()]);return a.add({key:c,owner:e,bytes:n,attachments:t}),await i,{status:`ready`,value:{key:c,recoveryScope:e.recoveryScope,tabId:e.tabId}}}catch(e){return Zc(e)}}async function $c(e,t){if(t.recoveryScope!==e.recoveryScope)return{status:`failed`,reason:`missing`};try{let n=(await Wc()).transaction(il),r=Uc(n),[i]=await Promise.all([Hc(n.objectStore(il).get(t.key)),r]);if(!T(i)||!T(i.owner)||i.key!==t.key||i.owner.gatewayOwner!==e.gatewayOwner||i.owner.recoveryScope!==e.recoveryScope||i.owner.queueId!==e.queueId||i.owner.tabId!==t.tabId||!Array.isArray(i.attachments)||!i.attachments.length)return{status:`failed`,reason:`missing`};let a=[];for(let e of i.attachments){if(!T(e)||!(e.blob instanceof Blob)||typeof e.mimeType!=`string`||e.fileName!==void 0&&typeof e.fileName!=`string`||e.sizeBytes!==void 0&&e.sizeBytes!==e.blob.size)return{status:`failed`,reason:`missing`};a.push({blob:e.blob,mimeType:e.mimeType,...typeof e.fileName==`string`?{fileName:e.fileName}:{},...typeof e.sizeBytes==`number`?{sizeBytes:e.sizeBytes}:{}})}return i.bytes===a.reduce((e,t)=>e+t.blob.size,0)?{status:`ready`,value:a}:{status:`failed`,reason:`missing`}}catch(e){return Zc(e)}}async function el(e){try{let t=await tl(),n=e.filter(e=>e.tabId===t);if(!n.length)return;let r=(await Wc()).transaction(il,`readwrite`),i=r.objectStore(il);for(let e of n)i.delete(e.key);await Uc(r)}catch{}}function tl(){return ll??=(async()=>{let e=jt();if(!e||!globalThis.navigator?.locks)throw Error(`Outbox ownership unavailable`);let t=e=>new Promise((t,n)=>{navigator.locks.request(`openclaw-outbox:${e}`,{ifAvailable:!0},e=>(t(!!e),e?new Promise(()=>{}):void 0)).catch(n)}),n=e.getItem(cl),r=n&&await t(n)?n:crypto.randomUUID();if(r!==n&&!await t(r))throw Error(`Outbox ownership unavailable`);return e.setItem(cl,r),r})().catch(e=>{throw ll=null,e})}function nl(e){let t=e.client;if(!t||e.connected&&!t.recoveryScopeReady)return;t.recoveryScopeReady&&t.recoveryScope&&ul.set(t,t.recoveryScope);let n=ul.get(t);return n===t.recoveryScope?n:void 0}function rl(e,t){return!t.attachmentPayload||t.attachmentPayload.recoveryScope===nl(e)}var il,al,ol,sl,cl,ll,ul;function dl(){return(dl=t((()=>{Xc(),il=`outboxPayloads`,al=26214400,ol=262144e3,sl=1e3,cl=`openclaw.control.outboxTab.v1`,ll=null,ul=new WeakMap})))()}function fl(e){if(!T(e)||e.sessionId!==void 0&&typeof e.sessionId!=`string`)return!1;let t=e.action===`start`?[`action`,`sessionId`]:[`action`,`sessionId`,`goalId`,`previousDraft`];return Object.keys(e).every(e=>t.includes(e))&&(e.action===`start`||e.action===`edit`&&typeof e.goalId==`string`&&e.goalId.length>0&&typeof e.previousDraft==`string`)}function pl(){return(pl=t((()=>{})))()}function ml(e){let t=i(e?.name)??i(e?.username);if(t)return t;let n=i(e?.id);return n?/^([^@\s]+)@[^@\s]+$/.exec(n)?.[1]??n:null}function hl(e){let t=i(e?.id),n=i(e?.name),r=i(e?.username),a=i(e?.profileAvatarUrl),o=po(e?.identity);return!t&&!n&&!r&&!a?null:{...o?{identity:o}:{},...t?{id:t}:{},...n?{name:n}:{},...r?{username:r}:{},...a?{profileAvatarUrl:a}:{}}}function gl(e){return e?e.identity?JSON.stringify(e.identity,Object.keys(e.identity).toSorted()):[e.id??``,e.name??``,e.username??``,e.profileAvatarUrl??``].join(`\0`):null}function _l(){return(_l=t((()=>{vo()})))()}function vl(e){return typeof e==`boolean`?e:void 0}function yl(e){if(!T(e))return null;let t=e,r=n(t.id),i=n(t.mimeType);if(!r||!i)return null;let a={id:r,mimeType:i},o=n(t.fileName);o&&(a.fileName=o),typeof t.sizeBytes==`number`&&Number.isFinite(t.sizeBytes)&&(a.sizeBytes=t.sizeBytes);let s=n(t.dataUrl);return s&&(a.dataUrl=s),a}function bl(e){if(!T(e))return null;let t=e,i=n(t.id),a=typeof t.text==`string`?t.text:``,o=typeof t.createdAt==`number`&&Number.isFinite(t.createdAt)?t.createdAt:Date.now();if(!i||!a.trim()&&!Array.isArray(t.attachments)&&t.attachmentPayload===void 0&&t.attachmentStorageError===void 0)return null;let s=Array.isArray(t.attachments)?t.attachments.map(yl).filter(e=>e!==null):[],c={id:i,text:a,createdAt:o};if(t.attachmentPayload!==void 0){let e=t.attachmentPayload;T(e)&&typeof e.key==`string`&&typeof e.recoveryScope==`string`&&typeof e.tabId==`string`?c.attachmentPayload={key:e.key,recoveryScope:e.recoveryScope,tabId:e.tabId}:c.attachmentStorageError=`missing`}if((t.attachmentStorageError===`missing`||t.attachmentStorageError===`unavailable`||t.attachmentStorageError===`capacity`)&&(c.attachmentStorageError=t.attachmentStorageError),Array.isArray(t.attachments)&&s.length!==t.attachments.length&&(c.attachmentStorageError=`missing`),c.attachmentPayload&&!s.length&&(c.attachmentStorageError=`missing`),t.intent!==void 0){let e=t.intent;if(!T(e)||Object.keys(e).length!==3||e.kind!==`session-goal-start`||e.version!==1||typeof e.issuedAtMs!=`number`||!Number.isSafeInteger(e.issuedAtMs)||e.issuedAtMs<=0)return null;c.intent={kind:e.kind,version:e.version,issuedAtMs:e.issuedAtMs};let r=n(t.sessionId);r&&(c.sessionId=r),(t.expectedLeafEntryId===null||typeof t.expectedLeafEntryId==`string`)&&(c.expectedLeafEntryId=t.expectedLeafEntryId)}typeof t.orderKey==`number`&&Number.isFinite(t.orderKey)&&(c.orderKey=t.orderKey);let l=hl(t.sender);l&&(c.sender=l);let u=t.kind===`steered`||n(t.steerTargetRunId)!==void 0||t.sendState===`steering`?`steer`:Ka(typeof t.queueMode==`string`?t.queueMode:void 0);u&&(c.queueMode=u),s.length&&(c.attachments=s);let d=vl(t.refreshSessions);d!==void 0&&(c.refreshSessions=d);let f=n(t.replyToId);f&&(c.replyToId=f),t.sendState===`steering`||t.sendState===`executing-command`?c.sendState=`unconfirmed`:t.sendState===`sending`?c.sendState=`waiting-reconnect`:t.sendState===`failed`||t.sendState===`unconfirmed`||t.sendState===`waiting-idle`||t.sendState===`waiting-reconnect`?c.sendState=t.sendState:t.sendState===`waiting-model`&&(c.sendState=`failed`,c.sendError=Cl);let p=n(t.sendError);p&&(c.sendError=p);let m=n(t.sendRunId);m&&(c.sendRunId=m),typeof t.sendAttempts==`number`&&Number.isFinite(t.sendAttempts)&&(c.sendAttempts=t.sendAttempts);let h=n(t.localCommandArgs);h&&(c.localCommandArgs=h);let g=n(t.localCommandName);g&&(c.localCommandName=g);let _=n(t.sessionKey);_&&(c.sessionKey=_);let v=n(t.agentId);return v&&(c.agentId=r(v)),c}function xl(e){if(!T(e))return null;let t=e,r=typeof t.draft==`string`?t.draft:void 0;if(t.goalMode!==void 0&&!fl(t.goalMode))return null;let i=t.goalMode;if(Array.isArray(t.queue)&&t.queue.length>Sl)return null;let a=Array.isArray(t.queue)?t.queue.map(bl).filter(e=>e!==null):void 0,o=Array.isArray(t.removedQueueItemIds)?t.removedQueueItemIds.map(n).filter(e=>e!==void 0):void 0,s=new Set(o??[]),c=a?.filter(e=>!s.has(e.id)),l=typeof t.updatedAt==`number`&&Number.isFinite(t.updatedAt)?t.updatedAt:Date.now(),u=(typeof t.draftRevision==`number`&&Number.isSafeInteger(t.draftRevision)?t.draftRevision:void 0)??(r?l:void 0);return!r&&!i&&u===void 0&&(!c||c.length===0)?null:{...t.awaitingDefaults===!0?{awaitingDefaults:!0}:{},...r?{draft:r}:{},...i?{goalMode:i}:{},...u===void 0?{}:{draftRevision:u},...c&&c.length>0?{queue:c}:{},updatedAt:l}}var Sl,Cl;function wl(){return(wl=t((()=>{Ja(),O(),pl(),_l(),Sl=1e3,Cl=`Chat settings update was interrupted. Review and retry when ready.`})))()}function Tl(e){jl=Math.max(jl,e??0)}function El(e=0){let t=Math.max(Date.now(),jl+1,e+1);return jl=t,t}function Dl(e,t,n,r){if(r===void 0)return;let i=Ml.get(e);i||(i=new Map,Ml.set(e,i));let a=i.get(t);a||(a=new Map,i.set(t,a)),a.set(n,Math.max(a.get(n)??0,r))}function Ol(e,t,n,r){let i=Nl.get(e);i||(i=new Map,Nl.set(e,i));let a=i.get(t);a||(a=new Map,i.set(t,a)),a.set(n,Math.max(a.get(n)??0,r))}function kl(e,t,n){return Ml.get(e)?.get(t)?.get(n)??0}function Al(e,t,n){return Nl.get(e)?.get(t)?.get(n)??0}var jl,Ml,Nl;function Pl(){return(Pl=t((()=>{jl=0,Ml=new WeakMap,Nl=new WeakMap})))()}function Fl(e){return ru.add(e),!iu&&typeof window<`u`&&(iu=!0,window.addEventListener(`storage`,Ll)),()=>{ru.delete(e),iu&&ru.size===0&&typeof window<`u`&&(iu=!1,window.removeEventListener(`storage`,Ll))}}function Il(){for(let e of ru)try{e()}catch(e){console.error(`[openclaw] stored chat outbox listener failed`,e)}}function Ll(e){if(e.key===null&&e.storageArea){su.get(e.storageArea)?.clear(),Il();return}(e.key?.startsWith(tu)||e.key?.startsWith(Ql)||e.key?.startsWith($l)||e.key?.startsWith(eu))&&(e.storageArea&&su.get(e.storageArea)?.clear(),Il())}function Rl(e){let t=e?.trim()||`default`,n=encodeURIComponent(t);return{key:`${tu}${n}`,legacyKey:`${Ql}${n.slice(0,240)}`,previousKey:`${$l}${n}`,blobKey:`${eu}${n}`,gatewayOwner:t,legacyOwnerIsUnambiguous:n.length<240}}function zl(e){let t=e.lastIndexOf(`\0agent:`);if(t<1)return null;let n=e.slice(0,t),i=e.slice(t+7),a=E(n)?.agentId;if(a&&r(i)!==r(a))return null;let o=a??(n===`global`&&i!==nu?i:void 0);return{sessionKey:n,...o?{agentId:r(o)}:{}}}function Bl(e,t){let n=!1;for(let[r,i]of Object.entries(e.sessions)){if(!i.awaitingDefaults||!yn(t))continue;let a=zl(r);if(!a)continue;let o=Vl(t,a.sessionKey,a.agentId),s=Wl(o),{awaitingDefaults:c,...l}=i,u=e.sessions[s];if(s!==r&&u){let t=new Set(u.queue?.map(e=>e.id)),n=l.queue?.some(e=>t.has(e.id)),i=(l.draftRevision??0)>(u.draftRevision??0);if(n||l.draft&&!i)Gl(e,`pending:${r}`,4,r,l);else{let t=i?l:u;e.sessions[s]={...t,queue:[...u.queue??[],...(l.queue??[]).map(e=>Zl(e,o))],updatedAt:Math.max(l.updatedAt,u.updatedAt)}}}else e.sessions[s]={...l,...l.queue?{queue:l.queue.map(e=>Zl(e,o))}:{}};s!==r&&delete e.sessions[r],n=!0}return n}function Vl(e,t,n){return Re(e,t,n)}function Hl(e,t,n){return{scope:Vl(e,t,n),awaitingDefaults:!yn(e)}}function Ul(e){return e.agentId??E(e.sessionKey)?.agentId}function Wl(e){let t=e.sessionKey.trim().toLowerCase(),n=Ul(e)??(t===`global`||t===`main`?nu:`main`);return`${e.sessionKey}\u0000agent:${n}`}function Gl(e,t,n,r,i){let{queue:a,...o}=i,s=new Map;(o.draft||o.goalMode||!a?.length&&o.draftRevision!==void 0)&&s.set(void 0,[]);for(let e of a??[]){let t=e.attachmentPayload?.recoveryScope;s.set(t,[...s.get(t)??[],e])}for(let[a,c]of s)e.recovery[`${t}:${JSON.stringify(a??null)}`]={sourceVersion:n,sourceScopeKey:r,session:{...a===void 0?o:{updatedAt:i.updatedAt,draftRevision:i.draftRevision},...c.length?{queue:c}:{}}}}function Kl(e,t,n,r,i,a){let o=i?Wl(i):n,s=r.queue?.some(e=>e.sessionKey&&e.sessionKey!==i?.sessionKey||e.agentId&&e.agentId!==i?.agentId);i&&!s&&!e.sessions[o]&&Object.keys(e.sessions).length<20?e.sessions[o]={...r,...r.queue?{queue:r.queue.map(e=>({...e,...i}))}:{}}:Gl(e,`${t}:${a}:${n}`,t,n,r)}function ql(e,t){let n=e.getItem(t.key),r=n?JSON.parse(n):{version:4,gatewayOwner:t.gatewayOwner,sessions:{},recovery:{}};if(n){if(r.version!==4||r.gatewayOwner!==t.gatewayOwner||!r.sessions||!r.recovery)throw Error(`Chat outbox owner or version mismatch`);for(let[n,i]of Object.entries(r.sessions)){let a=xl(i);if(!a)throw Error(`Invalid chat outbox record`);r.sessions[n]=a,Tl(a.draftRevision),Dl(e,t.key,n,a.draftRevision)}}let i=[];for(let[a,o]of[[t.blobKey,3],[t.previousKey,2],...t.legacyOwnerIsUnambiguous?[[t.legacyKey,1]]:[]]){let s=e.getItem(a);if(!s)continue;let c=Yi(Oa(new TextEncoder().encode(s)));if(r.legacyReceipts?.[o]===c){i.push({key:a,raw:s});continue}let l=JSON.parse(s);if(l.version!==o||o!==1&&l.gatewayOwner!==t.gatewayOwner||!l.sessions)throw Error(`Chat outbox legacy owner or version mismatch`);let u={...r.sessions},d={...r.recovery};for(let[e,t]of Object.entries(l.sessions)){let i=xl(t),a=T(t)&&Array.isArray(t.removedQueueItemIds)?t.removedQueueItemIds:[],s=T(t)&&Array.isArray(t.queue)?t.queue.filter(e=>!T(e)||!a.includes(e.id)):[];if(!i||s.length!==(i.queue?.length??0))throw Error(`Invalid legacy chat outbox record`);let u=zl(e),d=u&&(E(u.sessionKey)||o===1&&u.sessionKey===`global`&&u.agentId||u.sessionKey!==`global`&&u.sessionKey!==`main`&&u.sessionKey!==l.mainAlias?.key);if(!n&&o!==1&&u?.sessionKey===`global`){let t=new Map;i.queue=i.queue?.filter(e=>{let n=E(e.sessionKey);if(!n||e.agentId&&e.agentId!==n.agentId)return!0;let i=Wl({sessionKey:e.sessionKey,agentId:n.agentId});return!t.has(i)&&Object.keys(r.sessions).length+t.size>=20||(t.set(i,[...t.get(i)??[],e]),!1)});for(let[n,a]of t)Kl(r,o,`${e}:${n}`,{queue:a,updatedAt:i.updatedAt},zl(n),c)}(i.draft||i.goalMode||i.draftRevision!==void 0||i.queue?.length)&&Kl(r,o,e,i,!n&&d?u:null,c)}if(Object.keys(r.recovery).length>au){r.sessions=u,r.recovery=d,r.recoveryBlocked=!0;continue}r.legacyReceipts={...r.legacyReceipts,[o]:c},i.push({key:a,raw:s})}if(i.length){ou.set(r,i);try{Yl(e,t,r)}catch{}}return r}function Jl(e,t){let n=su.get(e),r=n?.get(t.key);if(r)return r;let i=ql(e,t),a=n??new Map;return a.set(t.key,i),su.set(e,a),i}function Yl(e,t,n){let r=e.getItem(t.key);if(su.get(e)?.delete(t.key),Object.keys(n.recovery).length>au)throw Error(`Chat outbox recovery limit reached; legacy source retained`);let i=Object.entries(n.sessions),a=i.filter(([,e])=>e.queue?.length);if(a.length>20)throw Error(`Chat outbox session limit reached`);let o=i.filter(([,e])=>!e.queue?.length),s=`global\u0000agent:${nu}`,c=(e,t)=>Number(t[1].awaitingDefaults===!0&&!E(t[0]))-Number(e[1].awaitingDefaults===!0&&!E(e[0]))||t[1].updatedAt-e[1].updatedAt||(t[1].draftRevision??0)-(e[1].draftRevision??0)||e[0].localeCompare(t[0]),l=o.find(([e])=>e===s),u=[...l?[l]:[],...o.filter(([e,t])=>e!==s&&!t.draft&&t.draftRevision!==void 0).toSorted(c)].slice(0,20),d=[...[...a.toSorted(c),...o.filter(([e,t])=>e!==s&&!!t.draft).toSorted(c)].slice(0,20),...u];if(d.length===0&&Object.keys(n.recovery).length===0&&!ou.has(n)&&!n.legacyReceipts){if(e.removeItem(t.key),e.getItem(t.key)!==null)throw Error(`Chat outbox removal verification failed`);Xl(e,t,r,null);return}if(ou.has(n)&&d.lengthe.getItem(t)!==null))return;let i=e=>{if(e===null)return[];let n=JSON.parse(e);if(!T(n)||n.version!==4||n.gatewayOwner!==t.gatewayOwner||!T(n.sessions)||!T(n.recovery))throw Error(`Unreadable outbox retention source`);return[...Object.values(n.sessions),...Object.values(n.recovery).map(e=>{if(!T(e))throw Error(`Unreadable recovery source`);return e.session})].flatMap(e=>{if(!T(e)||e.queue!==void 0&&!Array.isArray(e.queue))throw Error(`Unreadable outbox row`);return(e.queue??[]).flatMap(e=>{if(!T(e))throw Error(`Unreadable outbox item`);let t=e.attachmentPayload;if(t===void 0)return[];if(!T(t)||typeof t.key!=`string`||typeof t.recoveryScope!=`string`||typeof t.tabId!=`string`)throw Error(`Unreadable outbox payload reference`);return[{key:t.key,recoveryScope:t.recoveryScope,tabId:t.tabId}]})})},a=new Set(i(r).map(e=>e.key)),o=i(n).filter(e=>!a.has(e.key));o.length&&el(o)}catch{}}function Zl(e,t){let{agentId:n,...r}=e,i=Ul(t);return{...r,sessionKey:t.sessionKey,...i?{agentId:i}:{}}}var Ql,$l,eu,tu,nu,ru,iu,au,ou,su;function cu(){return(cu=t((()=>{na(),zi(),O(),dl(),wl(),Pl(),Ql=`openclaw.control.chatComposer.v1:`,$l=`openclaw.control.chatComposer.v2:`,eu=`openclaw.control.chatComposer.v3:`,tu=`openclaw.control.chatComposer.v4:`,nu=`@unresolved`,ru=new Set,iu=!1,au=80,ou=new WeakMap,su=new WeakMap})))()}function lu(e){let t=jt();if(!t)return[];try{let n=Rl(e.settings?.gatewayUrl),r=Jl(t,n);if(Bl(r,e))try{Yl(t,n,r)}catch{}return Object.entries(r.sessions).flatMap(([t,n])=>{let r=zl(t);return r?[{scope:r,session:{...n,queue:n.queue?.filter(t=>rl(e,t))}}]:[]})}catch{return[]}}function uu(e){return lu(e).flatMap(({scope:e,session:t})=>t.queue?.length?[{...e,queue:t.queue.toSorted(Ic)}]:[]).toSorted((e,t)=>(e.queue[0]?.createdAt??2**53-1)-(t.queue[0]?.createdAt??2**53-1)||e.sessionKey.localeCompare(t.sessionKey))}function du(e){let t=new Map,n=new Set;for(let{scope:r,session:i}of lu(e)){let e=Wl(r);i.draft&&n.add(e);let a=t.get(e)??{all:new Set,attention:new Set};for(let e of i.queue??[])e.pendingRunId||(a.all.add(e.id),(e.sendState===`failed`||e.sendState===`unconfirmed`)&&a.attention.add(e.id));a.all.size&&t.set(e,a)}let r=new Map,i=new Map,a=0;for(let[e,n]of t)r.set(e,n.all.size),a+=n.all.size,n.attention.size&&i.set(e,n.attention.size);return{countsByScope:r,attentionCountsByScope:i,draftScopes:n,total:a}}function fu(){return(fu=t((()=>{dl(),cu()})))()}function pu(e){return e.startsWith(`/`)&&_u.some(t=>e.startsWith(t)||e.includes(t))}function mu(e){let t=e.trim();if(!t)return;let n;try{if(/^https?:\/\//i.test(t)||pu(t)){let e=new URL(t,`https://openclaw.invalid`).pathname;n=e.slice(e.lastIndexOf(`/`)+1);try{let e=n.replace(/%2f/gi,`%252F`).replace(/%5c/gi,`%255C`);n=decodeURIComponent(e)}catch{}}else n=t.split(/[\\/]/).pop()??t}catch{n=t.split(/[\\/]/).pop()??t}return n||void 0}function hu(e){let t=mu(e);if(t)return/\.([a-zA-Z0-9]+)$/.exec(t)?.[1]?.toLowerCase()}function gu(e){let t=hu(e);return t!==void 0&&vu.has(t)}var _u,vu;function yu(){return(yu=t((()=>{_u=[`/__openclaw__/assistant-media`,`/__openclaw__/media/`,`/api/chat/media/outgoing/`,`/media/inbound/`],vu=new Set([`avi`,`m4v`,`mkv`,`mov`,`mp4`,`mpeg`,`mpg`,`webm`])})))()}function bu(e){return{key:e.key,agentId:e.agentId,...e.target.kind===`profile`?{profileId:e.target.profileId,...e.target.machineClass?{machineClass:e.target.machineClass}:{}}:e.target.kind===`device`?{deviceId:e.target.deviceId}:{autoDevice:!0}}}function xu(e){return e instanceof Jn?e.retryable||e.gatewayCode===`UNAVAILABLE`:!0}async function Su(e,t){try{let n=await e.request(`sessions.describe`,{key:t});if(n?.session===null)return{status:`missing`};let r=n?.session?.sessionId;return{status:`read`,placement:n?.session?.placement,...typeof r==`string`&&r.trim()?{sessionId:r}:{}}}catch(e){return xu(e)?{status:`unavailable`}:{status:`rejected`,error:k(e)}}}async function Cu(e,t){t.abortRun&&await e.request(`sessions.abort`,{key:t.key,agentId:t.agentId}).catch(()=>void 0);try{await e.request(`sessions.reclaim`,{key:t.key,agentId:t.agentId});return}catch(e){return k(e)}}async function wu(e,t,n){let r=t.initial?{status:`read`,placement:t.initial}:void 0,i=0,a=0;for(let o=0;o=ju){if(!t.cleanupOnCancellation&&r)return{status:`interrupted`};let n=await Cu(e,{key:t.key,agentId:t.agentId,abortRun:!1});if(r)return n?{status:`cleanup-rejected`,error:n}:{status:`cancelled`};let i=`session placement could not be verified`;return{status:`cleanup-rejected`,error:n?`${i}; cleanup failed: ${n}`:i}}await new Promise(e=>{globalThis.setTimeout(e,ku)});continue}if(i=0,o.status===`read`){let r=o.placement;if(r)a=0;else if(a+=1,a>=Mu)return{status:`cleanup-rejected`,error:`session placement could not be verified`};if(!n()){if(!t.cleanupOnCancellation)return{status:`interrupted`};let n=await Cu(e,{key:t.key,agentId:t.agentId,abortRun:!1});return n?{status:`cleanup-rejected`,error:n}:{status:`cancelled`}}if(r?.state===`active`)return{status:`active`,placement:r};if(r&&!Nu.has(r.state)){if(r.state===`failed`){let n=await Cu(e,{key:t.key,agentId:t.agentId,abortRun:!1});if(n)return{status:`cleanup-rejected`,error:n}}return{status:`rejected`,placement:r}}}await new Promise(e=>{globalThis.setTimeout(e,ku)})}if(!t.cleanupOnCancellation&&!n())return{status:`interrupted`};if(!n()){let n=await Cu(e,{key:t.key,agentId:t.agentId,abortRun:!1});return n?{status:`cleanup-rejected`,error:n}:{status:`cancelled`}}return{status:`cleanup-rejected`,error:n()?`session placement reconciliation timed out`:`session placement cleanup timed out`}}async function Tu(e,t,n){if(!e)return`gateway unavailable during draft cleanup`;let r=await Su(e,t);if(r.status!==`missing`)return r.status===`rejected`?r.error:r.status===`unavailable`?`placement draft session could not be verified`:r.sessionId?Eu(e,{key:t,agentId:n,sessionId:r.sessionId}):`placement draft session identity is unavailable`}async function Eu(e,t){try{await e.request(`sessions.patch`,{key:t.key,agentId:t.agentId,archived:!0,expectedSessionId:t.sessionId})}catch(e){return k(e)}try{if((await e.request(`sessions.delete`,{key:t.key,agentId:t.agentId,deleteTranscript:!0,expectedSessionId:t.sessionId,archivedOnly:!0})).deleted!==!0)throw Error(`placement draft session was not deleted`);return}catch(n){let r=k(n);try{await e.request(`sessions.patch`,{key:t.key,agentId:t.agentId,archived:!1,expectedSessionId:t.sessionId})}catch(e){return`${r}; restoring the placement draft failed: ${k(e)}`}return r}}async function Du(e,t,n){if(!e)return`gateway unavailable during draft cleanup`;let r=await Su(e,t);if(r.status!==`missing`){if(r.status===`rejected`)return r.error;if(r.status===`unavailable`)return`session placement could not be verified`;if(r.placement){let r=await Cu(e,{key:t,agentId:n,abortRun:!1});if(r)return r}return r.sessionId?Eu(e,{key:t,agentId:n,sessionId:r.sessionId}):`placement draft session identity is unavailable`}}async function Ou(e,t,n,r=()=>!0){let i=t.cleanupOnCancellation!==!1,a,o=``;if(t.recovering){let r=await Su(e,t.key);a=r.status===`missing`?{status:`missing`}:r.status===`rejected`?{status:`cleanup-rejected`,error:r.error}:await wu(e,{key:t.key,agentId:t.agentId,initial:r.status===`read`?r.placement:void 0,cleanupOnCancellation:i},n)}if(!a)try{let r=await e.request(`sessions.dispatch`,bu({key:t.key,agentId:t.agentId,target:t.target}));a=await wu(e,{key:t.key,agentId:t.agentId,initial:r.placement,cleanupOnCancellation:i},n)}catch(r){if(o=k(r),!i&&!n())return{status:`interrupted`};if(!xu(r))return{status:`dispatch-rejected`,error:o};a=await wu(e,{key:t.key,agentId:t.agentId,cleanupOnCancellation:i},n)}if(!i&&!n())return{status:`interrupted`};if(a.status===`cancelled`||a.status===`interrupted`||a.status===`cleanup-rejected`)return a;if(a.status===`missing`)return{status:`session-missing`,error:`placement draft session no longer exists`};if(a.status===`rejected`){let e=typeof a.placement?.state==`string`?a.placement.state:``;return{status:`dispatch-rejected`,error:o||(e?`session placement became ${e}`:``)}}if(!n()){if(!i)return{status:`interrupted`};let n=await Cu(e,{key:t.key,agentId:t.agentId,abortRun:!1});return n?{status:`cleanup-rejected`,error:n}:{status:`cancelled`}}let s=t.messageId??ge(),c=async(n,r)=>{let i=await Cu(e,{key:t.key,agentId:t.agentId,abortRun:!1});return{status:r,messageId:s,error:i?`${n}; cleanup failed: ${i}`:n}};if(!r())return c(`placement recovery storage is unavailable`,`send-not-started`);try{let r=await e.request(`sessions.send`,{key:t.key,agentId:t.agentId,message:t.message,attachments:t.attachments,idempotencyKey:s});if(!n()){if(!i)return{status:`interrupted`};let n=await Cu(e,{key:t.key,agentId:t.agentId,abortRun:!0});return n?{status:`cleanup-rejected`,error:n,messageId:s}:{status:`cancelled`}}let a=Ao(r,s);if(Do(a))return c(Oo(a,`chat`),`send-definitive-rejected`);let o=r?.messageSeq;return{status:`started`,messageId:s,...typeof o==`number`&&Number.isSafeInteger(o)&&o>0?{messageSeq:o}:{}}}catch(r){if(!n()){if(!i)return{status:`interrupted`};let n=await Cu(e,{key:t.key,agentId:t.agentId,abortRun:!0});return n?{status:`cleanup-rejected`,error:n,messageId:s}:{status:`cancelled`}}return r instanceof mr||r instanceof Error&&!(r instanceof Jn)&&r.message===`gateway not connected`?c(k(r),`send-not-started`):xu(r)?{status:`send-rejected`,error:k(r),messageId:s}:c(k(r),`send-definitive-rejected`)}}var ku,Au,ju,Mu,Nu;function Pu(){return(Pu=t((()=>{Mr(),N(),Vt(),jo(),ko(),ku=250,Au=1200,ju=4,Mu=20,Nu=new Set([`requested`,`provisioning`,`syncing`,`starting`,`draining`,`reconciling`])})))()}async function Fu(e){let t=e.persistRecovery!==!1,n=e.recovery,r=`not-sent`,i=(e,i=r)=>({status:`paused`,recovery:Ac(n,e,t,i)}),a=()=>e.isLifecycleCurrent()&&e.ownsRecovery();if(n.phase===`sending`||n.phase===`paused`&&n.reason===`unconfirmed`){if(!a())return{status:`interrupted`};let t=await e.client.request(`chat.history`,{sessionKey:n.sessionKey,...be(n.sessionKey)?{agentId:n.agentId}:{},limit:1e3}).catch(e=>({messages:[],error:k(e)}));return a()?Mo(t.messages,{id:n.messageId,text:n.message,createdAt:Date.now(),sendRunId:n.messageId},!0)?(e.clearRecovery(`resolved`),{status:`started`,messageId:n.messageId}):i(`error`in t?t.error:`No matching user message was found in the available history. Delivery remains unconfirmed.`,`unconfirmed`):{status:`interrupted`}}if(n.phase===`paused`)return{status:`paused`,recovery:n};let o=e.recovering&&t?Tc(n.gatewayUrl,n.recoveryScope,n.sessionKey):null;if(!a()){if(!e.cleanupOnCancellation)return{status:`interrupted`};let r=t?e.recovering?o?.messageId===n.messageId:Dc(n):!1,i=e.recovering?await Du(e.client,n.sessionKey,n.agentId):await Tu(e.client,n.sessionKey,n.agentId);return i||e.clearRecovery(`resolved`),{status:`cancelled`,cleanupError:i,recoveryPersisted:i?r:!1}}let s=t?e.recovering?o?.messageId===n.messageId:Dc(n):!0;if(!a()||!s){if(!e.cleanupOnCancellation&&!a())return{status:`interrupted`};if(e.recovering&&!s)return{status:`cancelled`,cleanupError:`placement recovery storage is unavailable`,recoveryPersisted:!1};let t=e.recovering?await Du(e.client,n.sessionKey,n.agentId):await Tu(e.client,n.sessionKey,n.agentId);return t||e.clearRecovery(`resolved`),{status:`cancelled`,cleanupError:t,recoveryPersisted:s}}let c=await Ou(e.client,{key:n.sessionKey,agentId:n.agentId,target:n.target,message:n.message,attachments:n.attachments,messageId:n.messageId,recovering:e.recovering,cleanupOnCancellation:e.cleanupOnCancellation},a,()=>{if(!t)return r=`unconfirmed`,e.setRecoveryPhase(`sending`,!1),!0;let i=Tc(n.gatewayUrl,n.recoveryScope,n.sessionKey);if(i&&i.messageId!==n.messageId)return!1;let a=Ec({...n,phase:`sending`});return a&&(r=`unconfirmed`,e.setRecoveryPhase(`sending`,!0)),a});if(!e.cleanupOnCancellation&&!a())return{status:`interrupted`};if(c.status===`interrupted`)return c;if(c.status===`cancelled`){let r=await Tu(e.client,n.sessionKey,n.agentId);return r||e.clearRecovery(`resolved`),{status:`cancelled`,cleanupError:r,recoveryPersisted:t}}return c.status===`cleanup-rejected`?i(c.error):c.status===`session-missing`?(e.clearRecovery(`resolved`),{status:`cancelled`,recoveryPersisted:!1}):c.status===`send-not-started`?i(c.error,`not-sent`):c.status===`send-definitive-rejected`?i(c.error,`rejected`):c.status===`dispatch-rejected`||c.status===`send-rejected`?i(c.error):e.isLifecycleCurrent()?e.ownsRecovery()?(e.clearRecovery(`resolved`),c):(e.clearRecovery(`resolved`),{status:`ownership-lost`}):(e.clearRecovery(`interrupted`),{status:`interrupted`})}function Iu(){return(Iu=t((()=>{ko(),N(),O(),Pc(),Pu()})))()}function Lu(e){return Bu.has(e)}function Ru(e){let t=e.work.recovery;return{id:t.messageId,text:t.message,attachments:e.attachments,createdAt:e.createdAt,sessionKey:t.sessionKey,agentId:t.agentId,sendRunId:t.messageId,sendAttempts:1,sendState:e.work.kind===`checking`?`unconfirmed`:t.phase===`paused`?t.reason===`unconfirmed`?`unconfirmed`:`failed`:`sending`,...t.phase===`paused`?{sendError:t.error}:{}}}function zu(e){let t=new Set,n=new Map,r=He(e.gateway.snapshot),i=()=>{for(let e of t)e()},a=e=>{for(let[t,r]of n)if(j(t,e))return{key:t,entry:r};return null},o=e=>a(e.owner.sessionKey)?.entry===e,s=t=>{let n=e.gateway.snapshot;return!!(t.retainsConnection()&&r.isCurrent(t.scope)&&n.client?.recoveryScopeReady)},c=e=>{let t=e.persistRecovery?Tc(e.owner.gatewayUrl,e.owner.recoveryScope,e.owner.sessionKey):null;return o(e)&&(!t||t.messageId===e.owner.messageId)},l=e=>s(e)&&c(e),u=(e,t=!0)=>{let r=a(e.owner.sessionKey);r?.entry===e&&(n.delete(r.key),t&&i())},d=(t,n,r)=>{let i=No({text:n.message,attachments:t.attachments,createdAt:t.createdAt,runId:r.messageId,sequence:r.messageSeq});i&&e.initialUserMessage.prepare({sessionKey:t.owner.sessionKey,owner:t.scope.client,pendingRunId:r.messageId,message:i})},f=t=>{l(t)&&e.sessions.refresh({force:!0,backgroundHydrate:!0}).catch(()=>void 0)},p=(e,t,n)=>{e.work={kind:`paused`,recovery:Ac(t,n,e.persistRecovery)},i()},m=(t,n,r)=>{let a=!1,o=n;Fu({client:t.scope.client,recovery:o,persistRecovery:t.persistRecovery,cleanupOnCancellation:!t.persistRecovery,recovering:r,isLifecycleCurrent:()=>s(t),ownsRecovery:()=>c(t),clearRecovery:()=>kc(t.owner.gatewayUrl,t.owner.recoveryScope,t.owner.sessionKey,t.owner.messageId),setRecoveryPhase:e=>{o={...o,phase:e},t.work={kind:`running`,recovery:o},i()}}).then(n=>{if(!c(t)||!t.retainsConnection()){u(t);return}if(n.status===`paused`){t.work={kind:`paused`,recovery:n.recovery},i(),g(e.gateway.snapshot);return}if(n.status===`cancelled`&&n.cleanupError){p(t,o,n.cleanupError),g(e.gateway.snapshot);return}if(!s(t)){n.status!==`interrupted`&&u(t);return}n.status===`started`&&(a=!0,d(t,o,n)),u(t)}).catch(e=>{l(t)&&p(t,o,k(e))}).finally(()=>{a||f(t)})},h=t=>{if(t.recovery.phase===`creating`)return;r.transition(e.gateway.snapshot);let o=a(t.recovery.sessionKey)?.entry;if(o&&l(o)&&o.owner.messageId===t.recovery.messageId&&(o.work.kind!==`paused`||t.recovery.phase===`paused`))return;o&&u(o,!1);let s=r.capture();if(!s)return;let c={sessionKey:t.recovery.sessionKey,messageId:t.recovery.messageId,gatewayUrl:t.recovery.gatewayUrl,recoveryScope:t.recovery.recoveryScope},d={work:t.recovery.phase===`paused`?{kind:`paused`,recovery:t.recovery}:{kind:t.recovery.phase===`sending`?`checking`:`running`,recovery:t.recovery},owner:c,attachments:Ro(t.recovery.attachments),persistRecovery:t.persistRecovery,createdAt:t.createdAt,scope:s,retainsConnection:Tr(e.gateway,c)};n.set(c.sessionKey,d),i(),t.recovery.phase!==`paused`&&m(d,t.recovery,t.recovering)},g=t=>{if(r.transition(t),t.phase===`connected`&&!(!t.client?.recoveryScopeReady||!t.client.recoveryScope)){for(let e of n.values())e.work.kind!==`running`&&!s(e)&&e.retainsConnection()&&c(e)&&h({recovery:e.work.recovery,persistRecovery:e.persistRecovery,recovering:!0,createdAt:e.createdAt});for(let n of Cc(e.gateway.connection.gatewayUrl,t.client.recoveryScope))h({recovery:n,persistRecovery:!0,recovering:!0,createdAt:Date.now()})}};return{resumeRecovery:()=>g(e.gateway.snapshot),hasPendingTurn(e){let t=a(e)?.entry;return!!(t&&t.retainsConnection()&&c(t))},get(t){let n=a(t)?.entry;if(!n||!l(n))return null;let r=n.work.kind===`running`?n.work.recovery.phase===`sending`?`sending`:`pending`:`failed`;if(r===`pending`){let t=(e.sessions.state.result?.sessions.find(e=>j(e.key,n.owner.sessionKey)))?.placement?.state;t&&Lu(t)&&(r=t)}return{sessionKey:n.owner.sessionKey,phase:r,startedAt:n.createdAt,initialTurn:Ru(n),...n.work.kind===`running`?{}:{...n.work.recovery.phase===`paused`?{error:n.work.recovery.error}:{},retryable:!0,action:n.work.kind===`checking`||n.work.recovery.phase===`paused`&&n.work.recovery.reason===`unconfirmed`?`check-delivery`:`retry`}}},start:h,retry(e){let t=a(e)?.entry;if(!t||t.work.kind!==`paused`||!l(t))return;if(t.work.recovery.reason===`unconfirmed`){t.work={kind:`checking`,recovery:t.work.recovery},i(),m(t,t.work.recovery,!0);return}let{reason:n,error:r,...o}=t.work.recovery,s={...o,phase:`dispatching`,messageId:n===`rejected`?ge():o.messageId};if(t.persistRecovery&&!Dc(s,o.messageId)){p(t,t.work.recovery,`placement recovery storage is unavailable`);return}h({recovery:s,persistRecovery:t.persistRecovery,recovering:!1,createdAt:t.createdAt})},subscribe(e){return t.add(e),()=>t.delete(e)},dispose(){r.dispose(),n.clear(),t.clear()}}}var Bu;function Vu(){return(Vu=t((()=>{N(),O(),Pc(),Iu(),Vt(),zo(),Lo(),Xr(),Bu=new Set([`requested`,`provisioning`,`syncing`,`starting`,`active`])})))()}function Hu(){let e,t=new Promise((t,n)=>{e=setTimeout(()=>n(Error(`Service worker not ready (timed out)`)),cd)});return Promise.race([navigator.serviceWorker.ready,t]).finally(()=>{e!==void 0&&clearTimeout(e)})}function Uu(e){let t=e?.pushManager;return t&&typeof t.getSubscription==`function`?t:null}function Wu(e){let t=Uu(e);if(!t||typeof t.subscribe!=`function`)throw Error(`Web Push is unavailable in this browser. On iPhone or iPad, add OpenClaw to the Home Screen and open the installed app.`);return t}function Gu(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;ee===t[n])}function Yu(e){let t=e.toJSON();if(!t.endpoint||!t.keys?.p256dh||!t.keys.auth)throw Error(`Invalid push subscription from browser`);return{endpoint:t.endpoint,keys:{p256dh:t.keys.p256dh,auth:t.keys.auth}}}async function Xu(e,t,n){return Ju(t,n)?(await e.request(`push.web.subscribe`,Yu(t)),{state:`registered`}):(await e.request(`push.web.unsubscribe`,{endpoint:t.endpoint}).catch(()=>void 0),{state:`vapid-mismatch`,error:ld})}async function Zu(e,t){return{subscription:t.state,preferences:t.state===`registered`?await ad(e):null,error:t.state===`vapid-mismatch`?t.error:null}}async function Qu(e){let t=await Ku();return await Zu(e,t?await Xu(e,t,await qu(e)):{state:`missing`})}function $u(e){let t=null,n=0,r=!1,i=async(t,i)=>{let a;try{a=await Qu(t)}catch(e){a={error:k(e)}}!r&&i===n&&e.gateway.snapshot.phase===`connected`&&e.gateway.snapshot.client===t&&e.publish(a)},a=r=>{let a=r.phase===`connected`?r.client:null;if(a===t)return;t=a;let o=++n;e.publish({subscription:`unknown`,preferences:null,error:null}),a&&i(a,o)},o=e.gateway.subscribe(a),s=e.gateway.subscribeEvents(t=>{let r=t.payload,a=e.gateway.snapshot.client;t.event!==`users.prefs.changed`||!a||!r||typeof r!=`object`||!(`profileId`in r)||r.profileId!==e.gateway.snapshot.selfUser?.id||!(`keys`in r)||!Array.isArray(r.keys)||!r.keys.includes(ud)||i(a,++n)});return a(e.gateway.snapshot),()=>{r=!0,n+=1,o(),s()}}function ed(e){let t=null;return{run(n){let r=e.gateway.snapshot.client;if(!r)return Promise.resolve();let i=()=>e.gateway.snapshot.phase===`connected`&&e.gateway.snapshot.client===r;t||e.publish({loading:!0,error:null});let a=(t??Promise.resolve()).then(async()=>{if(!i())throw Error(`Gateway changed before the notification change could be saved.`);e.publish({error:null});let t=await sd(r,n);i()&&e.publish(t)}).catch(t=>{i()&&e.publish({error:k(t)})}).finally(()=>{t===a&&(t=null,e.publish({loading:!1,permission:`Notification`in window?Notification.permission:`unsupported`}))});return t=a,a},dispose:$u(e)}}async function td(e){let t=await Notification.requestPermission();if(t!==`granted`)throw Error(`Notification permission ${t}`);let n=Wu(await Hu()),r=await qu(e),i=await n.getSubscription();if(i)return await Xu(e,i,r);let a=await n.subscribe({userVisibleOnly:!0,applicationServerKey:r.buffer});try{return await Xu(e,a,r)}catch(e){try{await a.unsubscribe()}catch{}throw e}}async function nd(e){let t=await Ku();if(t){try{await e.request(`push.web.unsubscribe`,{endpoint:t.endpoint})}catch{}await t.unsubscribe()}}async function rd(e){await e.request(`push.web.test`,{})}async function id(){let e=await Ku();if(!e)throw Error(`Enable notifications before changing notification preferences.`);return e}async function ad(e){let t=await id();return await e.request(`push.web.preferences.get`,{endpoint:t.endpoint})}async function od(e,t,n){let r=await id();return await e.request(`push.web.preferences.set`,{endpoint:r.endpoint,scope:t,preferences:n}),await ad(e)}async function sd(e,t){switch(t.kind){case`enable`:return await Zu(e,await td(e));case`disable`:return await nd(e),{subscription:`missing`,preferences:null};case`test`:return await rd(e),{};case`set`:return{preferences:await od(e,t.scope,t.preferences)};default:return t}}var cd,ld,ud;function dd(){return(dd=t((()=>{N(),cd=1e4,ld=`This browser push subscription belongs to another Gateway. Open this Gateway's own Control UI, or configure every mutually trusted Gateway behind this PWA with the same VAPID keypair.`,ud=`notifications.web.v1`})))()}function fd(e){return e.matches(`:hover`)||e.matches(`:focus-within`)}function pd(e){return e.classList.contains(`hover-marquee`)?e:e.querySelector(`.hover-marquee`)}function md(e){let t=Ed.get(e);t!==void 0&&(window.clearTimeout(t),Ed.delete(e))}function hd(e){!Dd&&typeof ResizeObserver==`function`&&(Dd=new ResizeObserver(e=>{for(let t of e){if(!(t.target instanceof HTMLElement))continue;let e=t.target,n=e.closest(`.session-row-host`);if(!n||!fd(n)){Dd?.unobserve(e);continue}md(e),e.classList.remove(`hover-marquee--scrolling`),gd(n)}})),Dd?.observe(e)}function gd(e){let t=pd(e);if(!t||(hd(t),t.classList.contains(`hover-marquee--scrolling`)))return;md(t);let n=Number.parseFloat(getComputedStyle(t).textIndent)||0,r=t.scrollWidth-n-t.clientWidth;if(r<=1){t.style.removeProperty(`--hover-marquee-shift`),t.style.removeProperty(`--hover-marquee-duration`);return}let i=Number(t.dataset.hoverMarqueeExtraShift??0),a=r+(Number.isFinite(i)?Math.max(0,i):0),o=Math.max(wd,Math.round(a/Cd*1e3));t.style.setProperty(`--hover-marquee-shift`,`${-a}px`),t.style.setProperty(`--hover-marquee-duration`,`${o}ms`);let s=Number(t.dataset.hoverMarqueeDelay);Ed.set(t,window.setTimeout(()=>{Ed.delete(t),t.classList.add(`hover-marquee--scrolling`)},Number.isFinite(s)?Math.max(0,s):Td))}function _d(e){let t=pd(e);t&&(md(t),t.classList.remove(`hover-marquee--scrolling`),Dd?.unobserve(t))}function vd(e){e.currentTarget instanceof HTMLElement&&gd(e.currentTarget)}function yd(e){e.currentTarget instanceof HTMLElement&&_d(e.currentTarget)}function bd(e,t){e instanceof HTMLElement&&queueMicrotask(()=>{let n=e.isConnected?e.closest(`.session-row-host`):null;n&&t(n)&&gd(n)})}function xd(e){bd(e,e=>e.matches(`:hover`))}function Sd(e){bd(e,fd)}var Cd,wd,Td,Ed,Dd;function Od(){return(Od=t((()=>{Cd=80,wd=300,Td=500,Ed=new WeakMap})))()}function kd(e){return e===`none`||e===`person`?e:`project`}function Ad(e){let t=e?.identity;return t?t.type===`profile`||t.type===`agent`?`${t.type}:${t.id}`:JSON.stringify(t,Object.keys(t).toSorted()):``}function jd(e){let t=e.replace(/[\\/]+$/,``);if(!t)return null;let n=t.match(/^(.*?)[\\/]\.claude[\\/]worktrees[\\/][^\\/]/);return n?n[1]||null:t}function Md(e){return e.split(/[\\/]/).findLast(Boolean)??e}function Nd(e){let t=[],n=[],r=new Map,i=new Map,a=[];for(let o of e){let e=o.customGroup?.trim();if(e){let n=`custom:${e}`,i=r.get(e);i||(i={kind:`custom`,key:n,legacySectionKey:n,label:e,title:`Custom group: ${e}`,sessions:[]},r.set(e,i),t.push(i)),i.sessions.push(o);continue}let s=o.cwd?.trim(),c=s?jd(s):null;if(!c){a.push(o);continue}let l=i.get(c);l||(l={kind:`project`,key:`project:${c}`,legacySectionKey:c,label:Md(c),title:c,sessions:[]},i.set(c,l),n.push(l)),l.sessions.push(o)}return{groups:[...t,...n],ungrouped:a}}function Pd(e){let t=new Map,n=[];for(let r of e){let e=r.createdActor,i=Ad(e);if(!e?.identity||!i){n.push(r);continue}let a=`person:${i}`,o=t.get(a);if(!o){let n=e.label?.trim()||e.identity.id;o={kind:`person`,key:a,legacySectionKey:`person:${e.id}`,label:n,title:`Created by ${n}`,sessions:[]},t.set(a,o)}o.sessions.push(r)}return{groups:[...t.values()].toSorted((e,t)=>e.label.localeCompare(t.label)),ungrouped:n}}function Fd(e){let t=Date.now();return e!=null&&Number.isFinite(e)&&e<=t&&t-e<6e4?W(`common.now`):_t(e,{fallback:``,suffix:e!=null&&e>t})}function Id(e){return e!==void 0&&e<0xe8d4a51000?e*1e3:e}function Ld(e){for(let t of e.catalogs)for(let n of t.hosts)for(let r of n.sessions){if((r.sessionKey??Mt({catalogId:t.id,hostId:n.hostId,threadId:r.threadId}))!==e.sessionKey)continue;let i=w(r.cwd),a=w(r.gitBranch);return{...e.liveRow,hasAutomation:e.liveRow?.hasAutomation===!0,label:e.liveRow?.label??(r.name||r.threadId),color:e.liveRow?e.liveRow.color:r.color,createdActor:e.liveRow?.createdActor??r.createdActor,createdAt:e.liveRow?.createdAt??Id(r.createdAt),updatedAt:e.liveRow?.updatedAt??Id(r.updatedAt),workContext:i?a||r.pullRequest?{kind:`project`,name:xe(i),path:i,...a?{branch:a}:{}}:{kind:`workspace`,name:xe(i),path:i}:e.liveRow?.workContext}}return e.liveRow}function Rd(e){let t=new Set;for(let n of e)for(let e of n.hosts)for(let n of e.sessions)n.sessionKey&&t.add(n.sessionKey);return t}function zd(e,t,n){return n?[]:e.filter(e=>!t.has(e.id))}function Bd(e,t,n=new Map){let r=[];for(let i of e){let e=i.sessions.filter(e=>{if(!t)return!0;let r=e.sessionKey;return(r&&n.has(r)&&r?n.get(r):e.createdActor?.id)===t});e.length>0&&r.push(e.length===i.sessions.length?i:{...i,sessions:e})}return r}function Vd(e,t){return e.map(e=>e.id===t.catalogId?{...e,hosts:e.hosts.map(e=>e.hostId===t.hostId?{...e,sessions:e.sessions.map(e=>e.threadId===t.threadId?{...e,sessionKey:t.sessionKey}:e)}:e)}:e)}function Hd(){return(Hd=t((()=>{V(),pn(),_n(),dn()})))()}function Ud(e,t){e.setData(Qd,t),e.setData(`text/plain`,t),e.effectAllowed=`copyMove`}function Wd(e){return e?.getData(`application/x-openclaw-session-key`).trim()||null}function Gd(e){return Array.from(e?.types??[]).includes(Qd)}function Kd(e,t){e.setData($d,t),e.effectAllowed=`move`}function qd(e){return e?.getData($d).trim()||null}function Jd(e){return Array.from(e?.types??[]).includes($d)}function Yd(e,t){e.setData(ef,t),e.effectAllowed=`move`}function Xd(e){return e?.getData(ef).trim()||null}function Zd(e){return Array.from(e?.types??[]).includes(ef)}var Qd,$d,ef;function tf(){return(tf=t((()=>{Qd=`application/x-openclaw-session-key`,$d=`application/x-openclaw-session-group`,ef=`application/x-openclaw-sidebar-route`})))()}function nf(e){let t=e.draggable!==!1&&!e.disabledReason;return F` `}function rf(){return(rf=t((()=>{I(),tf()})))()}function af(e,t){let n=new Set(e),r=t.map(e=>w(e.category)).filter(e=>typeof e==`string`&&!n.has(e)).toSorted((e,t)=>e.localeCompare(t));return[...e,...new Set(r)]}function of(e,t,n=[]){let r=[...new Set(t.map(e=>e.trim()).filter(Boolean))],i=new Set(r),a=[...new Set(n.map(e=>e.trim()).filter(Boolean))],o=new Set(a),s=(Sn(e)??[]).filter(e=>e.startsWith(`category:`)?i.has(e.slice(9)):!e.startsWith(`catalog:`)||o.has(e.slice(8)));for(let e of r){let t=`category:${e}`;if(s.includes(t))continue;let n=s.findIndex(e=>yf.includes(e));s.splice(n<0?s.length:n,0,t)}for(let[e,t]of yf.entries()){if(s.includes(t))continue;if(e===0){s.push(t);continue}let n=yf[e-1];s.splice(s.indexOf(n)+1,0,t)}let c=a.map(e=>`catalog:${e}`).filter(e=>!s.includes(e));return s.splice(s.indexOf(`work`)+1,0,...c),s}function sf(e,t,n,r){return Ke(e,t,n,r)}function cf(e){return _f.includes(e)?e:`none`}function lf(e,t){if(typeof e!=`number`||!Number.isFinite(e)||e<=0)return``;let n=new Date(t),r=e=>new Date(n.getFullYear(),n.getMonth(),n.getDate()-e).getTime();return e>=r(0)?`today`:e>=r(1)?`yesterday`:e>=r(6)?`week`:`older`}function uf(e){return e.channel??Ve(e.key)?.channel??``}function df(e,t,n){switch(t){case`category`:return e.category?.trim()??``;case`person`:return Ad(e.owner?.actor);case`channel`:return uf(e);case`kind`:return e.kind;case`agent`:return E(e.key)?.agentId??``;case`date`:return lf(e.updatedAt,n);default:return``}}function ff(e){let t=e.now??Date.now(),n=new Map;for(let r of e.rows){let i=df(r,e.mode,t),a=n.get(i);a?a.push(r):n.set(i,[r])}return gf(e.mode,n,e.knownCategories??[]).map(e=>({id:e,rows:n.get(e)??[]}))}function pf(e){return e===`none`||e===`person`||e===`project`?e:`category`}function mf(e,t){return t===`category`&&e.pinned!==!0&&!!e.category?.trim()&&e.kind===`group`}function hf(e,t={}){let n=t.grouping??`category`,r=[],i=[],a=[],o=[],s=new Map,c=[],l=new Map,u=new Map;if(n===`category`)for(let e of t.knownGroups??[]){let t=e.trim();t&&!s.has(t)&&(s.set(t,[]),c.push(t))}for(let t of e){if(t.pinned===!0){r.push(t);continue}if(n===`none`){i.push(t);continue}let e=n===`project`&&t.workContext?jd(t.workContext.path):null;if(e){let n=u.get(e);n?n.rows.push(t):u.set(e,{id:`project:${e}`,project:{name:Md(e),path:e},rows:[t]});continue}let c=n===`person`?t.owner?.actor:void 0,d=c?.identity?.id,f=Ad(c);if(c&&d&&f){let e=l.get(f);e?e.rows.push(t):l.set(f,{id:`person:${f}`,personOwner:{...c,id:d},rows:[t]});continue}let p=n===`category`?t.category?.trim():void 0;if(p){let e=s.get(p);e?e.push(t):s.set(p,[t]);continue}if(t.kind===`group`){a.push(t);continue}if(t.workSession===!0||t.acpSession===!0){o.push(t);continue}i.push(t)}let d=[];r.length>0&&d.push({id:`pinned`,rows:r}),d.push(...[...l.values()].toSorted((e,n)=>{let r=e.personOwner,i=n.personOwner;return(r.identity?.type===`agent`?2:r.identity?.type===`profile`&&r.id===t.selfOwnerId?0:1)-(i.identity?.type===`agent`?2:i.identity?.type===`profile`&&i.id===t.selfOwnerId?0:1)||(r.label||r.id).localeCompare(i.label||i.id)||r.id.localeCompare(i.id)})),d.push(...[...u.values()].toSorted((e,t)=>{let n=e.project,r=t.project;return n.name.localeCompare(r.name)||n.path.localeCompare(r.path)}));let f=[...c,...[...s.keys()].slice(c.length).toSorted((e,t)=>e.localeCompare(t))],p=f.map(e=>({id:`category:${e}`,category:e,rows:s.get(e)??[]}));p.push({id:`ungrouped`,rows:i});let m=e.some(e=>mf(e,n));(a.length>0||m)&&p.push({id:`groups`,groups:!0,rows:a}),p.push({id:`work`,work:!0,rows:o});let h=[...new Set((t.catalogIds??[]).map(e=>e.trim()).filter(Boolean))];if(p.push(...h.map(e=>({id:`catalog:${e}`,rows:[]}))),t.sectionOrder){let e=new Map(p.map(e=>[e.id,e]));for(let n of of(t.sectionOrder,f,h)){let t=e.get(n);t&&(d.push(t),e.delete(t.id))}return d.push(...p.filter(t=>e.has(t.id))),d}return d.push(...p),d}function gf(e,t,n){if(e===`date`)return vf.filter(e=>t.has(e));if(e===`category`){let e=[...new Set(n.map(e=>e.trim()).filter(Boolean))],r=[...t.keys()].filter(t=>t!==``&&!e.includes(t)).toSorted((e,t)=>e.localeCompare(t));return[...e,...r,``]}let r=[...t.keys()].filter(e=>e!==``);return r.sort((e,t)=>e.localeCompare(t)),t.has(``)&&r.push(``),r}var _f,vf,yf;function bf(){return(bf=t((()=>{Le(),O(),_f=[`none`,`category`,`person`,`channel`,`kind`,`agent`,`date`],vf=[`today`,`yesterday`,`week`,`older`,``],yf=[`ungrouped`,`groups`,`work`]})))()}function xf(e){switch(e.kind){case`question`:case`approval`:return 3;case`agent`:return 2;case`error`:return 1;case`none`:return 0;default:return e}}function Sf(e,t=0){return t===1?e.hasActiveRun:t===2?e.attention.kind!==`none`:e.visuallyActive||e.containsActiveDescendant||e.hasActiveRun||e.runningChildCount>0||e.attention.kind!==`none`}function Cf(e){let t=Math.max(0,e.scrollHeight-e.clientHeight);return t<=1?`none`:e.scrollTop<=1?`top`:e.scrollTop>=t-1?`bottom`:`middle`}function wf(e){return`sidebar-session-meta-${encodeURIComponent(e)}`}function Tf(e){return`sidebar-session-state-${encodeURIComponent(e)}`}function Ef(){return pf(A()?.getItem(Qf))}function Df(){return kd(A()?.getItem($f))}function Of(){return A()?.getItem(tp)===`true`}function kf(){return A()?.getItem(ep)===`true`}function Af(){return A()?.getItem(np)===`true`}function jf(){let e=A()?.getItem(rp);return e===`archived`||e===`all`?e:`active`}function Mf(e,t){return`${sp}${fe(e)}:${encodeURIComponent(t)}`}function Nf(e,t){try{let n=A()?.getItem(Mf(e,t)),r=n?.startsWith(`owner:`)?n.slice(6).trim():``;return{ownerId:n===`involving-me`?null:r||null,involvingMe:n===`involving-me`}}catch{return{ownerId:null,involvingMe:!1}}}function Pf(){let e=A()?.getItem(ip);return e===`updated`||e===`people`?e:`created`}function Ff(){try{let e=A()?.getItem(ap);if(e==null)return new Set([`work`]);let t=JSON.parse(e);return new Set(Array.isArray(t)?t.flatMap(e=>typeof e==`string`&&e?[e]:[]):[])}catch{return new Set([`work`])}}function If(){try{let e=JSON.parse(A()?.getItem(op)??`[]`);return new Set(Array.isArray(e)?e.flatMap(e=>typeof e==`string`&&e?[e]:[]):[])}catch{return new Set}}function Lf(e){A()?.setItem(Qf,e)}function Rf(e){A()?.setItem($f,e)}function zf(e){A()?.setItem(tp,String(e))}function Bf(e){A()?.setItem(ep,String(e))}function Vf(e){A()?.setItem(np,String(e))}function Hf(e){A()?.setItem(rp,e)}function Uf(e,t,n){try{let r=A(),i=Mf(e,t),a=n.involvingMe?`involving-me`:n.ownerId?`owner:${n.ownerId}`:null;a===null?r?.removeItem(i):r?.setItem(i,a)}catch{}}function Wf(e,t){return e===`people`&&!t?`created`:e}function Gf(e,t){let n=Wf(e,t!==!1);try{A()?.setItem(ip,n)}catch{}return n}function Kf(e){A()?.setItem(ap,JSON.stringify([...e]))}function qf(e){A()?.setItem(op,JSON.stringify([...e])),typeof window<`u`&&window.dispatchEvent(new CustomEvent(cp))}function Jf(e,t){let n=new Set(If());t?n.add(e):n.delete(e),qf(n)}function Yf(e,t){return`${e}\u0000${t}`}var Xf,Zf,Qf,$f,ep,tp,np,rp,ip,ap,op,sp,cp,lp,up;function G(){return(G=t((()=>{bf(),Xf={kind:`none`},Zf=function(e){return e[e.Any=0]=`Any`,e[e.ActiveRun=1]=`ActiveRun`,e[e.Attention=2]=`Attention`,e}({}),Qf=`openclaw:sidebar:sessions:grouping`,$f=`openclaw:sidebar:sessions:catalog-grouping`,ep=`openclaw:sidebar:sessions:show-preview`,tp=`openclaw:sidebar:sessions:show-cron`,np=`openclaw:sidebar:sessions:show-system`,rp=`openclaw:sidebar:sessions:status-filter`,ip=`openclaw:sidebar:sessions:sort-mode`,ap=`openclaw:sidebar:sessions:collapsed-sections`,op=`openclaw:sidebar:sessions:hidden-catalogs`,sp=`openclaw.control.sidebarSessionOwnerFilter.v1:`,cp=`openclaw:sidebar-hidden-catalogs-changed`,lp=[{mode:`created`,labelKey:`chat.sidebar.sortCreated`},{mode:`updated`,labelKey:`chat.sidebar.sortUpdated`},{mode:`people`,labelKey:`sessionsView.owners`}],up=[`active`,`archived`,`all`]})))()}function dp(e){return e.split(/[-_]+/u).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(` `)}function fp(e){return xp[e]??dp(e)}function pp(e){let t=e.indexOf(`/`);return(t>0?e.slice(0,t).trim().toLowerCase():``)||null}function mp(e){let t=e.trim().toLowerCase(),n=bp[t]??t;return yp.has(n)?n:null}function hp(e){return mp(e)!==null}function gp(e){return rr(`provider-icons/ProviderIcon-${e}.svg`)}function _p(e,t){let n=t?.className?` ${t.className}`:``,r=Lt(e.trim().toUpperCase(),1)||`?`;return F` `}function vp(e,t){let n=t?.className?` ${t.className}`:``,r=mp(e);return r?F` `:_p(e,t)}var yp,bp,xp;function Sp(){return(Sp=t((()=>{I(),er(),on(),yp=new Set(`abacus.alibaba.amp.antigravity.arcee.augment.baseten.bedrock.byteplus.cerebras.chutes.claude.clawrouter.cloudflare.codebuff.codex.cohere.comfy.commandcode.copilot.crof.crossmodel.cursor.deepgram.deepinfra.deepseek.devin.doubao.elevenlabs.factory.fal.featherless.fireworks.gemini.grok.groq.huggingface.jetbrains.kilo.kimi.kiro.litellm.llamacpp.llmproxy.lmstudio.longcat.manus.meta.microsoft.mimo.minimax.mistral.novita.nvidia.ollama.opencode.opencodego.openrouter.perplexity.pi.pixverse.poe.qianfan.qoder.runway.sakana.stepfun.synthetic.t3chat.tencent.together.venice.vercel.vertexai.vllm.volcengine.warp.windsurf.zai.zed`.split(`.`)),bp={anthropic:`claude`,"amazon-bedrock":`bedrock`,"aws-bedrock":`bedrock`,"claude-cli":`claude`,"cloudflare-ai-gateway":`cloudflare`,"copilot-proxy":`copilot`,google:`gemini`,"google-gemini-cli":`gemini`,"github-copilot":`copilot`,kilocode:`kilo`,"kimi-coding":`kimi`,"llama-cpp":`llamacpp`,"microsoft-foundry":`microsoft`,"minimax-portal":`minimax`,"ollama-cloud":`ollama`,openai:`codex`,moonshot:`kimi`,"opencode-go":`opencodego`,"opencode-zen":`opencode`,qwen:`alibaba`,"qwen-token-plan":`alibaba`,"stepfun-plan":`stepfun`,"tencent-tokenhub":`tencent`,"tencent-tokenplan":`tencent`,xai:`grok`,xiaomi:`mimo`,"xiaomi-token-plan":`mimo`,"vercel-ai-gateway":`vercel`,"vertex-ai":`vertexai`,"z-ai":`zai`},xp={anthropic:`Anthropic`,google:`Google`,"github-copilot":`GitHub`,"llama-cpp":`llama.cpp`,lmstudio:`LM Studio`,longcat:`LongCat`,openai:`OpenAI`,moonshot:`Moonshot AI`,opencode:`OpenCode`,openrouter:`OpenRouter`,qwen:`Qwen Cloud`,zai:`Z.AI`}})))()}function Cp(e){switch(e){case`open`:return W(`chat.pullRequests.open`);case`draft`:return W(`chat.pullRequests.draft`);case`merged`:return W(`chat.pullRequests.merged`);case`closed`:return W(`chat.pullRequests.closed`);default:return e}}function wp(e){return`${e.numbers.map(e=>`#${e}`).join(`, `)} · ${Cp(e.state)}`}function Tp(e,t,n=``,r=0,i,a,o,s=0){return F` ${t}${r?F``:P} `}function Ep(e){let t=e.pullRequest?wp(e.pullRequest):void 0,n=e.pullRequest?.state,r=e.isChild?void 0:e.placementState,i=oa(r)?r:void 0,a=Math.max(0,Math.floor(e.workspaceConflictCount??0)),o=a>0?e.placementState:void 0,s=i??o,c=a>0,l=e.isChild?void 0:e.diskSpaceStatus,u=l===`critical`?W(`sessionsView.cloudWorkerDiskCritical`):l===`warning`?W(`sessionsView.cloudWorkerDiskWarning`):``,d=Math.max(0,Math.floor(e.outboxAttentionCount??0)),f=d>0?W(d===1?`sessionsView.messageNeedsAttention`:`sessionsView.messagesNeedAttention`,{count:String(d)}):``;if(!e.incognito&&!t&&!e.hasApproval&&d===0&&!e.hasComposerDraft&&!s&&!c)return P;let p=s?e.placementProviderId&&e.placementProfileId?`${e.placementProviderId} · ${e.placementProfileId} · ${s}`:W(`sessionsView.cloudWorkerPlacement`,{state:s}):``,m=[c?s?W(a===1?`sessionsView.placementWorkspaceConflict`:`sessionsView.placementWorkspaceConflicts`,{placement:p,count:String(a)}):W(a===1?`sessionsView.cloudWorkerDescendantConflict`:`sessionsView.cloudWorkerDescendantConflicts`,{count:String(a)}):p,u].filter(Boolean).join(` · `);return F` ${e.incognito?Tp(W(`sessionsView.incognito`),H.lock,`session-row-badge--incognito`):P} ${t?Tp(t,n===`merged`?H.gitMerge:H.gitPullRequest,`session-row-badge--pull-request`,0,n):P} ${e.hasApproval?Tp(W(`sessionsView.approvalNeeded`),H.alertTriangle,`session-row-badge--approval`):P} ${d>0?Tp(f,H.alertTriangle,`session-row-badge--attention`,d):P} ${e.hasComposerDraft?Tp(W(`sessionsView.unsentDraft`),H.pencil,`session-row-badge--draft`):P} ${s||c?Tp(m,H.globe,`session-row-badge--cloud`,0,void 0,s,l,c?a:0):P} `}function Dp(e){if(e.kind===`restarting`)return F`${W(`connection.restarting`)}`;let t=W(`common.offline`),n=e.queuedOutboxCount??0,r=n?W(`connection.queuedCount`,{count:String(n)}):null;return F` `}function Op(){return(Op=t((()=>{I(),pa(),V(),U()})))()}function kp(e,t,n,r,i){let a=document.activeElement instanceof HTMLElement?document.activeElement:null,o=a?.closest(`[data-session-key]`),s=Ip.find(e=>a?.matches(e)),c=s!==void 0&&(o?.dataset.catalogSessionKey===e||o?.dataset.sessionKey===e||o?.dataset.sessionKey===t);if(!(!r&&!c))return e=>{e instanceof HTMLElement&&(r&&i.onCatalogMenuTriggerRendered(n,e.querySelector(Ip[3])??void 0),c&&queueMicrotask(()=>{e.isConnected&&document.activeElement===document.body&&e.querySelector(s)?.focus({preventScroll:!0})}))}}function Ap(e=!0){return F``}function jp(e,t){return e?Ap():t?F``:P}function Mp(e){let t=new Set,n=e=>{e&&t.add(k(`[${e.code}] ${e.message}`))};n(e.error);for(let t of e.hosts)t.error?.code!==`NODE_OFFLINE`&&n(t.error);return[...t]}function Np(e){let t=new Map,n=new Map;for(let r of e.liveRows)t.has(r.key)||(t.set(r.key,r),n.set(r.key,r.owner?.actor.id));return e.catalogs.map(r=>{let i=`catalog:${r.id}`,a=e.collapsedSections.has(i),o=r.hosts,s=Bd(o,e.ownerId,n),c=s.flatMap(e=>e.sessions.map(t=>({host:e,session:t}))),l=c.flatMap(({session:e})=>{let n=e.sessionKey?t.get(e.sessionKey):void 0;return n?[n]:[]}),u=l.some(We),d=l.some(e=>e.unread===!0),f=hp(r.id),p=e.loadingMoreCatalogIds.has(r.id),m=o.some(e=>!!e.nextCursor),h=r.capabilities.createSession!==void 0,g=Mp(r),_=g.length>0;if(c.length===0&&!m&&!_&&!r.capabilities.createSession)return P;let v=g.join(`; `),y=W(`chat.sidebar.catalogDiscoveryHelp`,{error:v}),b=[`sidebar-recent-sessions__group`,`sidebar-recent-sessions__group--zone-coding`,a?`sidebar-recent-sessions__group--collapsed`:``,e.draggingSectionId===i?`sidebar-recent-sessions__group--dragging`:``,e.sectionDropTarget?.sectionId===i?`sidebar-recent-sessions__group--section-drop-${e.sectionDropTarget.position}`:``].filter(Boolean).join(` `);return F`
e.onSectionDragOver(t,i)} @dragleave=${e.sectionDragDisabledReason?P:t=>e.onSectionDragLeave(t,i)} @drop=${e.sectionDragDisabledReason?P:t=>e.onSectionDrop(t,i)} > ${nf({sectionId:i,disabledReason:e.sectionDragDisabledReason,onStartDrag:e.onStartSectionDrag,onFinishDrag:e.onFinishSectionDrag,onContextMenu:t=>{t.preventDefault();let n=t.currentTarget,i=n.querySelector(`[data-session-catalog-view-menu]`)??n;e.onOpenViewMenu(r.id,i,{x:t.clientX,y:t.clientY})},content:F` ${h?bi({basePath:e.basePath,agentId:e.newSessionAgentId,target:{catalogId:r.id},className:`sidebar-session-group-actions sidebar-session-new sidebar-session-catalog-new`,label:`${W(`chat.runControls.newSession`)} — ${r.label}`,disabledReason:e.newSessionDisabledReason,onOpen:e.onOpenNewSession}):P} `})} ${a?P:F` ${m?F``:P}`}
`})}function Pp(e,t,n,r){let i=t.error?k(`[${t.error.code}] ${t.error.message}`):void 0,a=r.projectGrouping===`project`?Nd(t.sessions):r.projectGrouping===`person`?Pd(t.sessions):null,o=(i,a=!1)=>Rn(i,n=>Mt({catalogId:e.id,hostId:t.hostId,threadId:n.threadId}),i=>Fp(e,t,i,n,r,a)),s=t.kind!==`gateway`;return F` `}function Fp(e,t,n,r,i,a=!1){let o=Id(n.recencyAt??n.updatedAt??n.createdAt),s={catalogId:e.id,hostId:t.hostId,threadId:n.threadId},c=Mt(s),l=n.sessionKey??c,u=i.isMenuOpen(s),d=kp(c,l,s,u,i),f=n.sessionKey?r.get(n.sessionKey):void 0;if(f)return i.renderLiveRow(f,{catalogIdentityKey:c,catalogMenuOpen:u,...d?{rowRef:d}:{},...n.pullRequest?{pullRequest:n.pullRequest}:{}});let p=n.name||n.threadId,m=Fd(o),h=Ma(n.color??``),g=`chat`,{href:_,options:v}=zt({face:g,sessionKey:l,fallbackAgentId:i.newSessionAgentId,basePath:i.basePath,mainKey:i.mainKey}),y=(n.sessionKey??Mt(s,i.newSessionAgentId))===i.routeSessionKey,b=n.status===`active`||n.status===`running`,x=b?W(`sessionsView.activeRun`):``,S=b?Tf(l):void 0,C=n.canOpenTerminal===!0&&i.terminalAvailable,ee=()=>i.onOpenTerminal(s,i.newSessionAgentId),te=(e,t,r)=>i.onOpenMenu({key:s,agentId:i.newSessionAgentId,routeId:g,navigation:v,canOpenTerminal:n.canOpenTerminal===!0,meta:m},e,t,r),w=e=>at(e,e instanceof KeyboardEvent?e.currentTarget.querySelector(`[data-catalog-session-menu]`):null,(e,t,n)=>te(t,n,e??void 0)),ne=Kn(JSON.stringify([p,n.status,n.pullRequest]),F`${p}`);return F` `}var Ip;function Lp(){return(Lp=t((()=>{I(),Tn(),jn(),Vn(),ea(),Xn(),V(),N(),Od(),lt(),dn(),Se(),Hd(),rf(),G(),U(),Di(),Sp(),Op(),Ip=[`.sidebar-recent-session__link`,`[data-child-session-toggle]`,`[data-sidebar-session-pin]`,`[data-catalog-session-menu], [data-session-menu]`]})))()}function Rp(e,t=300){let n=$a(e,{mode:`message`}),r=n.didStrip&&/^[*`~_]+$/.test(n.text)?``:n.text;return{shouldSkip:n.shouldSkip||n.didStrip&&r.length<=t,text:r}}function zp(e){return e===`thinking`||e===`reasoning`}function Bp(e){if(typeof e==`string`)return{text:e,hasVisibleNonTextContent:!1};if(!Array.isArray(e))return{text:``,hasVisibleNonTextContent:e!=null};let t=!1;return{text:e.filter(e=>!e||typeof e!=`object`||!(`type`in e)?(t=!0,!1):e.type===`text`?typeof e.text==`string`||(t=!0,!1):(zp(e.type)||(t=!0),!1)).map(e=>e.text).join(``),hasVisibleNonTextContent:t}}function Vp(e){if(!e||typeof e!=`object`)return!1;let t=e;if(a(t.role)!==`assistant`||typeof t.senderLabel==`string`&&t.senderLabel.trim())return!1;let{text:n,hasVisibleNonTextContent:r}=Bp(typeof t.content==`string`||Array.isArray(t.content)?t.content:t.text);return!r&&Rp(n).shouldSkip}function Hp(){return(Hp=t((()=>{eo()})))()}function Up(e){return ds(e)}function Wp(){return(Wp=t((()=>{ms()})))()}function Gp(e,t){return e===`text`||t===`user`&&e===`input_text`||t===`assistant`&&(e===`input_text`||e===`output_text`)}function Kp(e,t){let n=a(t)===`user`,r=uo(e);return t===`assistant`?Up(r):n?ro(Ss(r)):Ss(r)}function qp(e){if(e==null)return null;let t=e,n=typeof t.role==`string`?t.role:``,r=n===`assistant`?os(e):Zp(e);return r?Kp(r,n):null}function Jp(e){if(!e||typeof e!=`object`)return qp(e);let t=e;if(nm.has(t))return nm.get(t)??null;let n=qp(e);return nm.set(t,n),n}function Yp(e){if(e==null)return null;let t=e.content,n=[];if(Array.isArray(t))for(let e of t){let t=e;if(t.type===`thinking`&&typeof t.thinking==`string`){let e=t.thinking.trim();e&&n.push(e)}}return n.length>0?n.join(` `):null}function Xp(e){if(!e||typeof e!=`object`)return Yp(e);let t=e;if(rm.has(t))return rm.get(t)??null;let n=Yp(e);return rm.set(t,n),n}function Zp(e){if(e==null)return null;let t=e,n=a(t.role),r=t.content;if(typeof r==`string`)return r;if(Array.isArray(r)){let e=r.map(e=>{let t=e;return Gp(t.type,n)&&typeof t.text==`string`?t.text:null}).filter(e=>typeof e==`string`);if(e.length>0)return e.join(` `)}return typeof t.text==`string`?t.text:null}function Qp(e){return!e||typeof e!=`object`?[]:(xs(e)??[]).flatMap(e=>{let t=e.path??e.url;return t?[{path:t,mediaType:e.contentType??e.kind,fileName:e.fileName,...e.sizeBytes===void 0?{}:{sizeBytes:e.sizeBytes},...e.durationMs===void 0?{}:{durationMs:e.durationMs},...e.width===void 0?{}:{width:e.width},...e.height===void 0?{}:{height:e.height}}]:[]})}function $p(e){let t=e.trim();if(!t)return``;let n=t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).map(e=>`_${e}_`);return n.length?[`_Reasoning:_`,...n].join(` `):``}function em(e){if(typeof e==`string`)return!0;if(!Array.isArray(e))return!1;if(e.length===0)return!0;let t=!1;for(let n of e){if(!n||typeof n!=`object`)return!1;let e=n;if(e.type!==`text`||(t=!0,typeof e.text!=`string`))return!1}return t}function tm(e){if(!e||typeof e!=`object`)return!1;let t=e;return a(t.role)!==`user`||Qp(t).length>0||!em(t.content??t.text)?!1:(qp(e)?.trim()??``)===``}var nm,rm;function im(){return(im=t((()=>{Ga(),oo(),ts(),ys(),as(),Wp(),nm=new WeakMap,rm=new WeakMap})))()}function am(e,t){return t?{sessionKey:e,...t.agentId?{agentId:t.agentId}:{},runId:t.runId,revision:t.revision,updatedAt:t.updatedAt,headline:t.headline,health:t.health}:null}function om(e){return e===`stuck`||e===`waiting-on-user`}function sm(e){return e.localRunId?e.localRunId:!e.session?.hasActiveRun||!e.digest?.runId?null:e.session.activeRunIds?.includes(e.digest.runId)?e.digest.runId:null}function cm(e,t){return e?t?e.revision===t.revision?e.updatedAt>=t.updatedAt?e:t:e.revision>t.revision?e:t:e:t??null}function lm(){return(lm=t((()=>{})))()}function um(e){let t=e.replace(/```[\s\S]*?```/g,` `).split(/\n\s*\n/).map(e=>Cs(e)).filter(Boolean).at(-1)??``;if(!t)return``;let n=t.match(/[^.!?…]+(?:[.!?…]+(?=\s|$)|$)/g)?.map(e=>e.trim()).findLast(e=>!!e)??t;return Gt(n,dm)}var dm;function fm(){return(fm=t((()=>{pn(),dm=120})))()}function pm(e){let t=Bo(uo(Uo(e).text)),n=Rp(t);return!t||ls(t)||Zo(t)||n.shouldSkip?null:n.text}function mm(e){let t=[fo,qa];for(let n=Math.min(e.length,...t.map(e=>e.length-1));n>=1;--n){let r=e.slice(-n);if(t.some(e=>e.startsWith(r)))return r}return``}function hm(e){return e.startedAt??e.updatedAt??0}function gm(e,t){return typeof t!=`string`||!t.trim()||r(t)===r(e)}var _m,vm,ym,bm;function xm(){return(xm=t((()=>{Zi(),Ca(),Ga(),Ho(),bs(),V(),Hp(),im(),O(),fm(),_m=6,vm=2e3,ym=16384,bm=class{constructor(e,t=()=>void 0){this.onLinesChanged=e,this.onObserverDigestsChanged=t,this.source=null,this.connectionIdentity=null,this.connected=!1,this.enabled=!1,this.agentId=`main`,this.desiredKeys=new Set,this.subscriptions=new Map,this.pendingSubscriptions=new Map,this.internalRuntimeBlockDepth=new Map,this.internalRuntimeDelimiterTails=new Map,this.consumedStreamLength=new Map,this.visibleText=new Map,this.runIds=new Map,this.throttles=new Map,this.lines=new Map,this.observerDigests=new Map}sync(e){let t=this.connectionIdentity!==e.connectionIdentity,n=this.source!==e.source,i=!e.connected||!e.connectionIdentity||!e.source;if((t||n||i)&&this.resetSubscriptions(),this.source=e.source,this.connectionIdentity=e.connectionIdentity,this.connected=e.connected,this.enabled=e.enabled,this.agentId=r(e.agentId),i||!e.enabled){this.desiredKeys=new Set,this.resetSubscriptions(),this.clearAllLines();return}let a=e.openSessionKey.trim(),o=new Set,s=0;for(let t of e.rows.filter(e=>e.hasActiveRun).toSorted((e,t)=>hm(t)-hm(e))){let e=j(t.key,a);!e&&s>=_m||(o.add(t.key),e||(s+=1))}for(let e of this.desiredKeys)o.has(e)||this.releaseKey(e);this.desiredKeys=o;for(let e of o){let t=this.subscriptionAgentId(e),n=this.subscriptions.get(e)?.subscription.agentId??null,r=this.pendingSubscriptions.get(e)?.agentId??null;(this.subscriptions.has(e)&&n!==t||this.pendingSubscriptions.has(e)&&r!==t)&&this.releaseKey(e),!(this.subscriptions.has(e)||this.pendingSubscriptions.has(e))&&this.subscribeKey(e)}}handleEvent(e){if(!(!this.enabled||!this.connected)){if(e.event===`chat`){this.handleChatEvent(e.payload);return}if(e.event===`session.observer`){this.handleObserverEvent(e.payload);return}(e.event===`agent`||e.event===`session.tool`)&&this.handleAgentEvent(e.payload)}}disconnect(){this.desiredKeys=new Set,this.resetSubscriptions(),this.clearAllLines(),this.connected=!1}async subscribeKey(e){let t=this.source;if(!t||!this.connectionIdentity||!this.connected||!this.enabled||!this.desiredKeys.has(e))return;let n=Symbol(e),r=this.subscriptionAgentId(e);this.pendingSubscriptions.set(e,{agentId:r,operationId:n});try{let i=await t.subscribeMessages(e,{agentId:r??void 0});if(this.pendingSubscriptions.get(e)?.operationId!==n){await t.unsubscribeMessages(i).catch(()=>void 0);return}if(this.pendingSubscriptions.delete(e),t!==this.source||!this.connected||!this.enabled||!this.desiredKeys.has(e)){await t.unsubscribeMessages(i).catch(()=>void 0);return}this.subscriptions.set(e,{source:t,subscription:i})}catch{this.pendingSubscriptions.get(e)?.operationId===n&&this.pendingSubscriptions.delete(e)}}subscriptionAgentId(e){return be(e)?this.agentId:null}releaseKey(e){this.pendingSubscriptions.delete(e);let t=this.subscriptions.get(e);this.subscriptions.delete(e),t&&t.source.unsubscribeMessages(t.subscription).catch(()=>void 0),this.clearLine(e)}resetSubscriptions(){let e=new Set([...this.subscriptions.keys(),...this.pendingSubscriptions.keys()]);for(let t of e)this.releaseKey(t)}matchingDesiredKey(e,t){if(typeof e!=`string`||!e.trim())return null;for(let n of this.desiredKeys)if(j(n,e)&&(!be(n)||gm(this.agentId,t)))return n;return null}handleChatEvent(e){if(!e||typeof e!=`object`)return;let t=e,n=this.matchingDesiredKey(t.sessionKey,t.agentId);if(!n||(this.observeRun(n,t.runId),this.observerDigests.has(n)))return;let r=t.message;if(r&&typeof r.role==`string`&&r.role!==`assistant`)return;let i=typeof t.deltaText==`string`?t.deltaText:``,a=r?qp(r):null,o=this.consumedStreamLength.get(n)??0;if(t.replace===!0){let e=i||a||``;this.publishText(n,{streamLength:e.length,fragment:e,reset:!0});return}if(i){a?o>0&&a.length-i.length===o?this.publishText(n,{streamLength:a.length,fragment:i,reset:!1}):this.publishText(n,{streamLength:a.length,fragment:a,reset:!0}):o>0&&this.publishText(n,{streamLength:o+i.length,fragment:i,reset:!1});return}a&&this.publishText(n,{streamLength:a.length,fragment:a,reset:!0})}publishText(e,t){if(t.streamLength<=0){t.reset&&this.clearLine(e);return}if(this.consumedStreamLength.set(e,t.streamLength),t.reset){this.internalRuntimeBlockDepth.delete(e),this.internalRuntimeDelimiterTails.delete(e),this.visibleText.delete(e);let t=this.throttles.get(e);t&&(t.pending=null)}let n=this.stripInternalRuntimeFragment(e,t.fragment),r=`${t.reset?``:this.visibleText.get(e)??``}${n}`;if(!r){t.reset&&this.lines.delete(e)&&this.onLinesChanged(new Map(this.lines));return}let i=r.length>ym?le(r,-16384):r;this.visibleText.set(e,i),this.publishThrottled(e,{kind:`text`,text:i})}stripInternalRuntimeFragment(e,t){let n=this.internalRuntimeDelimiterTails.get(e)??``;this.internalRuntimeDelimiterTails.delete(e);let r=`${n}${t}`,i=this.internalRuntimeBlockDepth.get(e)??0,a=0,o=``;for(;a0?this.internalRuntimeBlockDepth.set(e,i):this.internalRuntimeBlockDepth.delete(e),o}handleAgentEvent(e){if(!e||typeof e!=`object`)return;let t=e,n=this.matchingDesiredKey(t.sessionKey,t.agentId);if(!n||(this.observeRun(n,t.runId),this.observerDigests.has(n)))return;let r=t.data;if(t.stream===`tool`){let e=typeof r?.name==`string`?r.name.trim():``;if(!e)return;this.publishThrottled(n,{kind:`line`,line:W(`chat.sidebar.toolActivity`,{tool:e})});return}if(t.stream!==`assistant`)return;let i=typeof r?.text==`string`?r.text:``,a=typeof r?.delta==`string`?r.delta:``,o=this.consumedStreamLength.get(n)??0;if(r?.replace===!0){let e=i||a;this.publishText(n,{streamLength:e.length,fragment:e,reset:!0});return}if(i){a&&o>0&&i.length-a.length===o?this.publishText(n,{streamLength:i.length,fragment:a,reset:!1}):i.length!==o&&this.publishText(n,{streamLength:i.length,fragment:i,reset:!0});return}a&&o>0&&this.publishText(n,{streamLength:o+a.length,fragment:a,reset:!1})}handleObserverEvent(e){if(!e||typeof e!=`object`)return;let t=e,n=this.matchingDesiredKey(t.sessionKey,t.agentId),r=typeof t.runId==`string`?t.runId.trim():``;if(!n||!r||typeof t.headline!=`string`||typeof t.health!=`string`||typeof t.updatedAt!=`number`||typeof t.revision!=`number`)return;let i={...t,runId:r};if(!ha(ba,i))return;this.observeRun(n,r);let a=this.observerDigests.get(n);a&&cm(a,i)===a||(this.clearNarration(n),this.observerDigests.set(n,i),this.onObserverDigestsChanged(new Map(this.observerDigests)))}observeRun(e,t){let n=typeof t==`string`?t.trim():``;if(!n)return;let r=this.runIds.get(e);r&&r!==n&&this.clearLine(e),this.runIds.set(e,n)}publishThrottled(e,t){let n=Date.now(),r=this.throttles.get(e);if(!r||n-r.lastPublishedAt>=vm){r?.timer&&globalThis.clearTimeout(r.timer),this.throttles.set(e,{lastPublishedAt:n,pending:null,timer:null}),this.publishActivity(e,t);return}r.pending=t,!r.timer&&(r.timer=globalThis.setTimeout(()=>{r.timer=null;let t=r.pending;r.pending=null,!(!t||!this.desiredKeys.has(e))&&(r.lastPublishedAt=Date.now(),this.publishActivity(e,t))},vm-(n-r.lastPublishedAt)))}publishActivity(e,t){let n=t.kind===`text`?pm(t.text):null,r=n?um(n):t.kind===`line`?t.line:``;if(r){this.setLine(e,r);return}t.kind===`text`&&this.lines.delete(e)&&this.onLinesChanged(new Map(this.lines))}setLine(e,t){this.lines.get(e)!==t&&(this.lines.set(e,t),this.onLinesChanged(new Map(this.lines)))}clearLine(e){this.clearNarration(e),this.runIds.delete(e),this.observerDigests.delete(e)&&this.onObserverDigestsChanged(new Map(this.observerDigests))}clearNarration(e){this.internalRuntimeBlockDepth.delete(e),this.internalRuntimeDelimiterTails.delete(e),this.consumedStreamLength.delete(e),this.visibleText.delete(e);let t=this.throttles.get(e);t?.timer&&globalThis.clearTimeout(t.timer),this.throttles.delete(e),this.lines.delete(e)&&this.onLinesChanged(new Map(this.lines))}clearAllLines(){for(let e of this.throttles.values())e.timer&&globalThis.clearTimeout(e.timer);this.internalRuntimeBlockDepth.clear(),this.internalRuntimeDelimiterTails.clear(),this.consumedStreamLength.clear(),this.visibleText.clear(),this.runIds.clear(),this.throttles.clear(),this.lines.size>0&&(this.lines.clear(),this.onLinesChanged(new Map)),this.observerDigests.size>0&&(this.observerDigests.clear(),this.onObserverDigestsChanged(new Map))}}})))()}function Sm(e){if(!ha($i,e))return null;let t=e.id.trim(),n=e.taskId?.trim()||t;return!t||!n?null:{...e,id:t,taskId:n}}function Cm(){return(Cm=t((()=>{Zi(),Sa()})))()}function wm(e,t,n){let r=t.replaceAll(`\\`,`/`);return`${e}://file${(r.startsWith(`/`)?r:`/${r}`).split(`/`).map((e,t)=>t===1&&/^[a-z]:$/i.test(e)?e:encodeURIComponent(e)).join(`/`)}${n?`:${n}`:``}`}function Tm(e,t,n){return window.open(wm(e,t,n))}var Em,Dm;function Om(){return(Om=t((()=>{Em=[`cursor`,`vscode`,`windsurf`,`zed`],Dm={cursor:`Cursor`,vscode:`VS Code`,windsurf:`Windsurf`,zed:`Zed`}})))()}function km(e){return qi.some(t=>t===e)}function Am(e){return km(e)?jm[e]:null}var jm;function Mm(){return(Mm=t((()=>{ea(),U(),jm={braces:H.braces,book:H.book,monitor:H.monitor,bot:H.bot,kanban:H.kanban,coins:H.coins}})))()}function Nm(){let e=globalThis.navigator?.platform??``;return/Mac|iPhone|iPad|iPod/u.test(e)?`⌃⌘Space`:/Win/u.test(e)?`Win+.`:null}function Pm(e){let t=Fi(e.customIconValue),n=Nm();return F`
${W(`sessionsView.customEmojiTitle`)}
${n?W(`sessionsView.customEmojiHint`,{shortcut:n}):W(`sessionsView.customEmojiHintNoShortcut`)}
`}function Fm(e){if(e.mode===`custom`)return Pm(e);let t=[...Im,...qi].find(t=>t===e.currentIcon);return F`
${Im.map((n,r)=>{let i=e.currentIcon===n;return F` `})}
${qi.map(n=>{let r=e.currentIcon===n;return F` `})}
${e.currentIcon?F` `:P}
`}var Im;function Lm(){return(Lm=t((()=>{I(),ea(),V(),U(),Mm(),Im=[`🦞`,`🚀`,`🐛`,`✅`,`🔥`,`📦`,`🧪`,`📝`,`🔍`,`⚡`,`🎯`]})))()}function Rm(e){let t=2166136261;for(let n=0;n>>0}function zm(){return(zm=t((()=>{})))()}function Bm(e,t,n=yt().resourceBasePath){try{let r=new URL(e,Gm),i=r.origin===Gm,a=rs(r.pathname,n),o=us(`agentAvatar`,r.pathname,n),s=a?`${n}${a}`:o.matched&&o.value?gs(`agentAvatar`,n,o.value):null;if(!s)return null;let c=`${s}${r.search}`;return i?t?new URL(c,t).toString():c:t&&r.origin===t?t+c:null}catch{return null}}function Vm(e){return e.trim().split(/\s+/u).filter(Boolean).slice(0,2).map(e=>Lt(e,1)).join(``).toUpperCase()||`?`}function Hm(e){let t=e.id?.trim(),n=ml(e)??`?`;return{kind:`initials`,initials:Vm(n),colorSeed:Rm(t||n)}}function Um(e){return Hm(e).colorSeed%360}function Wm(e){let t=e.identity;if(t&&t.type!==`profile`&&t.type!==`agent`)return Hm(e);let{origin:n,resourceBasePath:r}=yt(),i=e.profileAvatarUrl?.trim();if(i){let e=Bm(i,n);if(e&&(!t||us(t.type===`agent`?`agentAvatar`:`userAvatar`,new URL(e,Gm).pathname,r).matched))return{kind:`profile`,url:e}}if(t?.type===`profile`){let e=Bm(vs(t.id),n);if(e)return{kind:`profile`,url:e}}return Hm(e)}var Gm;function Km(){return(Km=t((()=>{ns(),is(),_l(),on(),xn(),Gm=`https://origin-probe.invalid`})))()}function qm(e){return e?.trim()||void 0}function Jm(e){return[...e].map(qm).filter(e=>e!==void 0).toSorted()[0]}function Ym(e){return[qm(e.host)??``,qm(e.platform)??``,qm(e.deviceFamily)??``,qm(e.instanceId)??``,String(e.ts??0).padStart(16,`0`)].join(`\0`)}function Xm(e,t){return et)}function Zm(e){let t=new Map;for(let n of e){if(n.reason===`disconnect`||!n.user?.id)continue;let e=ps(n.user),r=t.get(e);r?r.push(n):t.set(e,[n])}return{users:[...t.entries()].toSorted(([e],[t])=>et)).map(([,e])=>({id:e[0].user.id,identity:e[0].user.identity,name:Jm(e.map(e=>e.user?.name)),email:Jm(e.map(e=>e.user?.email)),avatarUrl:Jm(e.map(e=>e.user?.avatarUrl)),watchedSessions:[...new Set(e.flatMap(e=>e.watchedSessions??[]))].toSorted(),entries:e.toSorted((e,t)=>Xm(Ym(e),Ym(t)))}))}}function Qm(e){return lh&&ch===e?lh:(ch=e,lh=Zm(ir(e)??[]),lh)}function $m(e){return e.name??e.email??e.id}function eh(e){let t=(e.entries??[]).flatMap(e=>e.lastInputSeconds===void 0?[]:[e.lastInputSeconds]);return t.length>0&&t.every(e=>e>sh)}function th(e,t){let n=Number(eh(e))-Number(eh(t));return n===0?Xm($m(e).toLowerCase(),$m(t).toLowerCase())||Xm(ps(e),ps(t)):n}function nh(e,t){return t?.type===`profile`&&e.identity?.id===t.id}function rh(e,t,n,r,i){let a=t??lr(ir(e)??[],n),o=a?ps(a):void 0;return Qm(e).users.filter(e=>ps(e)!==o&&!nh(e,i)&&(r===void 0||e.watchedSessions.includes(r)))}function ih(e,t,n){return rh(e,t,n).toSorted(th)}function ah(e,t,n,r){return rh(e,t,n,r).length>0}function oh(e){return Qm(e).users.length>=2}var sh,ch,lh;function uh(){return(uh=t((()=>{sh=120})))()}function dh(){for(let e of yh.values())e.blobUrl&&URL.revokeObjectURL(e.blobUrl);yh.clear()}function fh(e){for(;yh.size>gh;){let t=!1;for(let[n,r]of yh)if(!(!r.blobUrl||!r.loaded||r===e)){yh.delete(n),URL.revokeObjectURL(r.blobUrl),t=!0;break}if(!t)break}}function ph(e){let t=yh.get(e);if(t)return yh.delete(e),yh.set(e,t),t.loaded&&t.blobUrl?t.blobUrl:t.promise;let n={blobUrl:null,loaded:!1,promise:Promise.resolve(null)},{authHeader:r}=yt();return n.promise=(async()=>{try{let t=await fetch(e,{credentials:`include`,...r?{headers:{Authorization:r}}:{},signal:AbortSignal.timeout(_h)});if(!t.ok)return null;let i=await t.blob();if(i.size===0||i.size>2097152||!vh.has(i.type.toLowerCase()))return null;let a=URL.createObjectURL(i);return yh.get(e)===n?(n.blobUrl=a,fh(n),a):(URL.revokeObjectURL(a),null)}catch{return null}finally{!n.blobUrl&&yh.get(e)===n&&yh.delete(e)}})(),yh.set(e,n),fh(n),n.promise}function mh(e){let{authHeader:t,origin:n,resourceBasePath:r}=yt(),i=Bm(e,n,r);if(!i)return null;let a=globalThis.location?.origin,o=a?new URL(i,a).origin!==a:!1;return n||t||o?ph(i):i}function hh(e){if(e?.startsWith(`blob:`)){for(let t of yh.values())if(t.blobUrl===e){t.loaded=!0,fh();return}}}var gh,_h,vh,yh;function bh(){return(bh=t((()=>{m(),xn(),Km(),gh=128,_h=3e4,vh=new Set([`image/gif`,`image/jpeg`,`image/png`,`image/webp`,`image/svg+xml`]),yh=new Map,vn(dh)})))()}function xh(e){let t=Wm(e),n=t.kind===`initials`?t:Hm(e),r=t.kind===`profile`?mh(t.url):null;return{fallback:n,imageUrl:r,pending:r!==null&&typeof r!=`string`}}function Sh(e,t){return Ln([e,t.imageUrl,t.pending],()=>Gn(`${e}${t.pending?` is-fallback`:``}`))}function Ch(e,t,n){let r=e.currentTarget;r instanceof HTMLImageElement&&(hh(r.getAttribute(`src`)),r.closest(t)?.classList.toggle(`is-fallback`,n))}function wh({view:e,fallbackSelector:t,className:n,alt:r=``,ariaHidden:i=!1}){return e.imageUrl?F`e??P),P)} alt=${r} aria-hidden=${i?`true`:P} referrerpolicy="no-referrer" @error=${e=>Ch(e,t,!0)} @load=${e=>Ch(e,t,!1)} />`:P}function Th(){return(Th=t((()=>{I(),Fn(),Pn(),Mn(),bh(),Km()})))()}function Eh(e,t){return{basePath:e.basePath,navigate:n=>{t?.(),e.navigate(`activity`,or(n,e.basePath))}}}function Dh(e,t){let n=e?.trim();return!n||!t?null:{href:or(n,t.basePath).href,open:e=>{et(e)&&(e.preventDefault(),t.navigate(n))}}}function Oh(e,t,n){return t?F`${e}`:F`${e}`}function kh(e,t){return t?F``:e}function Ah(e,t){return t?F`${e}`:e}function jh(){return(jh=t((()=>{I(),$r()})))()}function Mh(e){let t=F`${e.fallback.initials}`;return e.imageUrl?F`${wh({view:e,fallbackSelector:`.viewer-avatar`})}${t}`:t}var Nh,Ph;function Fh(){return(Fh=t((()=>{I(),R(),V(),uh(),M(),Th(),jh(),ri(),Nh=class extends xt{constructor(...e){super(...e),this.user=null,this.variant=`session`,this.markAsViewer=!0}render(){let e=this.user;if(!e)return P;let t=$m(e),n=xh({identity:this.identity??e.identity,id:e.id,name:e.name,username:e.email,profileAvatarUrl:e.avatarUrl});return F` ${Mh(n)} `}},S([z({attribute:!1})],Nh.prototype,`user`,void 0),S([z()],Nh.prototype,`variant`,void 0),S([z({attribute:!1})],Nh.prototype,`identity`,void 0),S([z({type:Boolean,attribute:!1})],Nh.prototype,`markAsViewer`,void 0),Ph=class extends xt{constructor(...e){super(...e),this.maxVisible=3}render(){let e=rh(this.presencePayload,this.selfUser,this.selfInstanceId,this.sessionKey,this.excludeIdentity),t=this.staticParticipants?this.staticParticipants.map(({identity:e,label:t,avatarUrl:n})=>({identity:e,id:e.id,name:t,avatarUrl:n,watchedSessions:[]})):this.staticUsers??e;if(t.length===0)return P;let n=t.slice(0,this.maxVisible),r=t.slice(this.maxVisible),i=Math.max(t.length,this.totalCount??0)-n.length,a=r.length===i?r.map($m).join(` `):W(`sessionHovercard.moreParticipantsLabel`,{count:String(i)});return F` ${n.map(e=>F` ${Ah(F``,e.identity?.type===`profile`?Dh(e.identity.id,this.personActivity):null)} `)} ${i>0?F` +${i} `:P} `}},S([z({attribute:!1})],Ph.prototype,`presencePayload`,void 0),S([z({attribute:!1})],Ph.prototype,`selfUser`,void 0),S([z({attribute:!1})],Ph.prototype,`selfInstanceId`,void 0),S([z({attribute:!1})],Ph.prototype,`sessionKey`,void 0),S([z({attribute:!1})],Ph.prototype,`excludeIdentity`,void 0),S([z({attribute:!1})],Ph.prototype,`staticParticipants`,void 0),S([z({attribute:!1})],Ph.prototype,`staticUsers`,void 0),S([z({type:Number,attribute:`max-visible`})],Ph.prototype,`maxVisible`,void 0),S([z({type:Number,attribute:!1})],Ph.prototype,`totalCount`,void 0),S([z({attribute:!1})],Ph.prototype,`personActivity`,void 0),globalThis.customElements&&(customElements.get(`openclaw-viewer-avatar`)||customElements.define(`openclaw-viewer-avatar`,Nh),customElements.get(`openclaw-viewer-facepile`)||customElements.define(`openclaw-viewer-facepile`,Ph))})))()}function Ih(e){let t=new Map((e.facet??[]).map(e=>[e.id,e]));e.self?.id&&t.get(e.self.id)?.type!==`agent`&&t.set(e.self.id,{type:`human`,id:e.self.id,identity:{type:`profile`,id:e.self.id},...e.self.name?{label:e.self.name}:{},...e.self.avatarUrl?{avatarUrl:e.self.avatarUrl}:{}});for(let n of e.agents??[]){let e=t.get(n.id);t.set(n.id,{type:`agent`,id:n.id,identity:{type:`agent`,id:n.id},...n.name?{label:n.name}:{},...e?.type===`agent`?e:{}})}return[...t.values()].toSorted((e,t)=>e.type.localeCompare(t.type)||(e.label??e.id).localeCompare(t.label??t.id)||e.id.localeCompare(t.id))}function Lh(e,t,n=`created`,r,i,a){return e?.id?F``:P}function Rh(e){let t=e.label?.trim()||e.id?.trim()||``;if(!t)return``;let n=t.replace(/@.*$/u,``).split(/[\s._-]+/u).filter(Boolean),r=e=>e?Lt(e,1):``;return(r(n[0])+r(n[1])).toUpperCase()||r(t).toUpperCase()}function zh(e){let t=0;for(let n=0;n