openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
1 lines • 41.8 kB
JavaScript
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{gu as t,mu as n}from"./control-ui-core-BncvAZjR.js";import{D as r,Wn as i,a,l as o,r as s,u as c}from"./control-ui-boot-shared-umGE-sEP.js";import{$t as l,Ai as u,Ba as d,Ci as f,Do as p,Ei as m,Er as h,Ft as g,Ja as _,Jt as v,Ka as y,Ki as ee,Pt as te,To as ne,Tr as re,Xt as ie,en as ae,io as oe,ma as se,pa as b,qa as ce,qi as le,to as ue,wo as de,za as fe}from"./ui-DuRgK6kL.js";import{ct as pe,lt as me}from"./control-ui-boot-shared-Sj2zqjOr.js";import{A as he,N as ge,O as _e,P as ve}from"./control-ui-boot-shared-D4XEBdOG.js";function x(e){if(!e)return null;let t=oe(e);return t.ok?t.value:e}function ye(e,t={}){let n=C.get(e);if(n)return n.configure(t);let r=new Se(e,t);return C.set(e,r),r}function be(e){C.get(e)?.reset(),C.delete(e)}function xe(e){return S.get(e)?.coordinator.release(e)??Promise.resolve()}var Se,S,C;function w(){return(w=e((()=>{ue(),g(),ae(),ie(),Se=class{#e;#t;#n=new Set;#r=!1;constructor(e,t={}){this.#e=e,this.#t=t.keysEquivalent}configure(e={}){let t=e.keysEquivalent;if(!t||t===this.#t)return this;if(this.#t||this.#n.size>0)throw Error(`Session message key equivalence cannot change for an active connection`);return this.#t=t,this}async acquire(e,t={}){let n=e.trim();if(!n)throw Error(`Session message subscription requires a session key`);let r=t.agentId?.trim()||null,i=x(r),a=t.mode===`narration`,o=t.includeApprovals===!0,s,c=!1;for(;;){if(this.#r)throw Error(`Session message subscription belongs to a replaced Gateway connection`);let e=[...this.#n].find(e=>e.scopeAgentId===i&&([...e.requestedKeys].some(e=>this.#d(e,n))||e.key!==`global`&&this.#d(e.key,n)));if(!e){let e=[...this.#n].find(e=>e.scopeAgentId===i&&!e.canonicalSettled&&this.#f(e.key,n));if(e){await(e.plainFallback??e.ready).catch(()=>void 0);continue}s=this.#i(n,r),c=!0;break}if(!e.release){s=e,s.requestedKeys.add(n);break}await e.release.catch(()=>void 0)}s.pendingOwners+=1,a||(s.pendingFullOwners+=1);try{if(c&&(s.ready=this.#s(s,o),o&&(s.ready=this.#o(s,s.ready)),s.ready.catch(()=>void 0)),s.refreshRequired){s.refreshRequired=!1,s.plainFallback=null,s.approvalRequest=null;let e=[...s.handles].some(e=>e.includeApprovals);s.ready=this.#s(s,e).catch(e=>{throw s.refreshRequired=!0,e})}let e=await this.#a(s,o);if(!a&&s.mode===`narration`&&await this.#s(s,!1,`full`),this.#r)throw Error(`Session message subscription completed on a replaced Gateway connection`);let t={key:e.key,agentId:r,...a?{mode:`narration`}:{},...o?{includeApprovals:!0,...e.approvalReplay===void 0?{}:{approvalReplay:e.approvalReplay}}:{}};return s.handles.add(t),S.set(t,{coordinator:this,entry:s}),t}finally{--s.pendingOwners,a||--s.pendingFullOwners,s.pendingOwners===0&&s.handles.size===0&&!s.release&&this.#n.delete(s)}}release(e){let t=S.get(e);if(!t||t.coordinator!==this)return Promise.resolve();let{entry:n}=t;if(n.release)return n.releasing===e?n.release:n.release.catch(()=>void 0).then(()=>this.release(e));let r=e.mode!==`narration`&&[...n.handles].every(t=>t===e||t.mode===`narration`);if(this.#r||n.handles.size>1&&!r)return this.#u(e,t),Promise.resolve();if(n.pendingOwners>0){let t=Promise.allSettled([n.ready,n.approvalRequest,n.wireRequest]).then(()=>(n.release===t&&(n.release=null),this.release(e)));return n.release=t,n.releasing=e,t}let i=n.handles.size===1,a=(i?this.#c(n).catch(e=>{throw e instanceof l&&e.requestSent&&(n.refreshRequired=!0),e}):this.#s(n,!1,`narration`)).then(()=>this.#u(e,t,i)).finally(()=>{n.release===a&&(n.release=null)});return n.release=a,n.releasing=e,a}reset(){this.#r=!0;for(let e of this.#n)for(let t of e.handles){let e=S.get(t);e?.coordinator===this&&this.#u(t,e)}this.#n.clear()}#i(e,t){let n={subscriptionId:te(),key:e,requestedKeys:new Set([e]),agentId:t,scopeAgentId:x(t),ownerAgentId:null,ready:Promise.resolve({key:e}),approvalRequest:null,plainFallback:null,wireRequest:null,includeApprovals:!1,canonicalSettled:!1,refreshRequired:!1,handles:new Set,pendingOwners:0,pendingFullOwners:0,release:null};return this.#n.add(n),n}#a(e,t){if(!t){if(e.approvalRequest===e.ready){if(!e.plainFallback){let t=e.ready;e.plainFallback=t.catch(async n=>{if(this.#r)throw n;let r=await this.#s(e,!1);return e.ready=Promise.resolve(r),e.approvalRequest===t&&(e.approvalRequest=null),r})}return e.plainFallback}return e.ready}return e.approvalRequest?e.approvalRequest:this.#o(e,e.ready.then(()=>this.#s(e,!0)))}#o(e,t){let n=t.finally(()=>{e.approvalRequest===n&&(e.approvalRequest=null)});return e.approvalRequest=n,n}#s(e,t,n){let r=()=>this.#l(e,t,n),i=(e.wireRequest?e.wireRequest.then(r,r):r()).finally(()=>{e.wireRequest===i&&(e.wireRequest=null)});return e.wireRequest=i,i}#c(e,t){let n=e.key===`global`?e.ownerAgentId??e.agentId:e.agentId;return this.#e.request(t?`sessions.messages.subscribe`:`sessions.messages.unsubscribe`,{subscriptionId:e.subscriptionId,key:e.key,...n?{agentId:n}:{},...t?.mode?{mode:t.mode}:{},...t?.includeApprovals?{includeApprovals:!0}:{}},{timeoutMs:v})}async#l(e,t,n){if(this.#r)throw Error(`Session message subscription belongs to a replaced Gateway connection`);if(n===`full`&&e.mode!==`narration`)return{key:e.key};let r=t||n!==void 0&&e.includeApprovals,i=n===`narration`||n!==`full`&&e.pendingFullOwners===0&&[...e.handles].every(e=>e.mode===`narration`)?`narration`:void 0,a=await this.#c(e,{mode:i,includeApprovals:r}).catch(async t=>{if(!(t instanceof l)||!t.requestSent||this.#r)throw t;try{let t=[...e.handles].some(e=>e.includeApprovals),n=e.handles.size>0&&[...e.handles].every(e=>e.mode===`narration`)?`narration`:void 0;await this.#c(e,e.handles.size>0?{mode:n,includeApprovals:t}:void 0),e.mode=n,e.includeApprovals=t}catch(e){if(!this.#r)throw AggregateError([t,e],`session message subscription recovery failed`,{cause:e})}throw t}),o=a&&typeof a==`object`?a:null,s=o&&`key`in o?o.key:void 0;e.key=typeof s==`string`&&s.trim()?s.trim():e.key,e.canonicalSettled=!0;let c=o&&`agentId`in o?o.agentId:void 0;return e.ownerAgentId=x((typeof c==`string`?c:null)??e.ownerAgentId??e.scopeAgentId),e.mode=i,e.includeApprovals=r,{key:e.key,...o&&`approvalReplay`in o?{approvalReplay:o.approvalReplay}:{}}}#u(e,t,n=!1){S.get(e)===t&&(S.delete(e),t.entry.handles.delete(e),n&&this.#n.delete(t.entry))}#d(e,t){return e===t||this.#t?.(e,t)===!0}#f(e,t){let n=e.replace(/^agent:[^:]+:/i,``).toLowerCase(),r=t.replace(/^agent:[^:]+:/i,``).toLowerCase();return n===r||n===`main`||r===`main`||n===`global`||r===`global`}},S=new WeakMap,C=new WeakMap})))()}function T(e,t){let n=new Map;for(let r of e){let e=t(r);n.has(e)||n.set(e,r)}return n}function E(e,t){return[...T(e,t).values()]}function D(){return(D=e((()=>{})))()}function Ce(e){return(e??`tool`).trim()}function we(e){let t=e.replace(/_/g,` `).trim();return t?t.split(/\s+/).map(e=>`${e.at(0)?.toUpperCase()??``}${e.slice(1)}`).join(` `):`Tool`}function O(e,n={},r=0){if(!(r>A)&&e!=null){if(typeof e==`string`){let n=e.trim();if(!n)return;let r=p(n.split(/\r?\n/,1)[0])??``;if(!r)return;let i=t(r);return i.length>160?`${ee(i,0,79)}…${ee(i,-80)}`:i}if(typeof e==`boolean`)return!e&&!n.includeFalsy?void 0:e?`true`:`false`;if(typeof e==`number`)return!Number.isFinite(e)||e===0&&!n.includeFalsy?void 0:String(e);if(Array.isArray(e)){let t=[];for(let i of e){let e=O(i,n,r+1);if(e){if(t.length===3)return`${t.join(`, `)}…`;t.push(e)}}return t.length>0?t.join(`, `):void 0}}}function Te(e,t){if(!e||typeof e!=`object`)return;let n=e;for(let e of t.split(`.`)){if(!e||!n||typeof n!=`object`)return;n=n[e]}return n}function k(e){for(let t of[e.path,e.file_path,e.filePath]){let e=p(t);if(e)return e}}function Ee(e){let t=b(e);if(!t)return;let n=k(t);if(!n)return;let r=u(t.offset,{min:1}),i=u(t.limit,{min:1});return r!==void 0&&i!==void 0?`${i===1?`line`:`lines`} ${r}-${r+i-1} from ${n}`:r===void 0?i===void 0?`from ${n}`:`first ${i} ${i===1?`line`:`lines`} of ${n}`:`from line ${r} in ${n}`}function De(e,t){let n=b(t);if(!n)return;let r=k(n)??p(n.url);if(!r)return;if(e===`attach`)return`from ${r}`;let i=e===`edit`?`in`:`to`,a=typeof n.content==`string`?n.content:typeof n.newText==`string`?n.newText:typeof n.new_string==`string`?n.new_string:void 0;return a?`${i} ${r} (${a.length} chars)`:`${i} ${r}`}function Oe(e){let t=b(e);if(!t)return;let n=ke(t),r=f(t.count)??f(t.max_results)??f(t.num_results)??f(t.limit)??f(t.top_k);if(n.length===0)return;let i=n.slice(0,3).map(e=>`"${e}"`),a=n.length>i.length?`${i.join(`, `)}…`:i.join(`, `);return r===void 0?`for ${a}`:`for ${a} (top ${Math.floor(r)})`}function ke(e){let t=new Set,n=e=>{let n=p(e);n&&t.add(n)};n(e.query),n(e.q),n(e.search),n(e.input),n(e.objective);for(let t of[`search_query`,`image_query`,`queries`,`search_queries`]){let r=e[t];if(Array.isArray(r))for(let e of r){if(typeof e==`string`){n(e);continue}let t=b(e);t&&(n(t.query),n(t.q),n(t.search))}}return[...t]}function Ae(e){let t=b(e);if(!t)return;let n=p(t.url);if(!n)return;let r=p(t.extractMode),i=f(t.maxChars),a=[r?`mode ${r}`:``,i===void 0?``:`max ${Math.floor(i)} chars`].filter(Boolean).join(`, `);return a?`from ${n} (${a})`:`from ${n}`}function je(e,t,n){let r=[];for(let i of t){let t=O(Te(e,i),n.coerce);if(t){if(n.mode===`first`)return t;r.push({label:n.formatKey?n.formatKey(i):i,value:t})}}if(r.length===0)return;if(r.length===1)return r.at(0)?.value;let i=E(r,e=>`${e.label}:${e.value}`),a=n.maxEntries??8,o=[];for(let e=0;e<i.length&&e<a;e+=1){let t=i[e];t&&o.push(`${t.label} ${t.value}`)}return o.join(`, `)}function Me(e){if(ve(e.toolKey))return{};let{toolKey:t,args:n,meta:r}=e,i=p(b(e.args)?.action),{spec:o,fallbackDetailKeys:s,detailMode:c,toolDetailMode:l,detailCoerce:u,detailMaxEntries:d,detailFormatKey:f}=e,m=o&&i?o.actions?.[i]??void 0:void 0,h=t===`web_search`?`search`:t===`web_fetch`?`fetch`:t.replace(/[_.]/g,` `),g=p(m?.label??i??h)?.replace(/_/g,` `),_;(t===`exec`||t===`bash`||t===`shell`)&&(_=a(n,{detailMode:l})),!_&&t===`read`&&(_=Ee(n)),!_&&(t===`write`||t===`edit`||t===`attach`)&&(_=De(t,n)),!_&&t===`web_search`&&(_=Oe(n)),!_&&t===`web_fetch`&&(_=Ae(n));let v=m?.detailKeys??o?.detailKeys??s??[];return!_&&v.length>0&&(_=je(n,v,{mode:c,coerce:u,maxEntries:d,formatKey:f})),!_&&r&&(_=r),{verb:g,detail:_}}var A;function j(){return(j=e((()=>{m(),n(),ge(),s(),A=64})))()}var M,N;function P(){return(P=e((()=>{M=[`surface`,`card`,`elevated`,`text`,`text-strong`,`muted`,`border`,`border-strong`,`accent`,`accent-fill`,`accent-fg`,`ok`,`warn`,`danger`,`info`,`radius`,`radius-full`,`scrollbar-size`,`scrollbar-thumb-inset`,`scrollbar-thumb`,`scrollbar-thumb-hover`,`font-body`,`font-mono`],N=`openclaw:widget-theme`})))()}var F;function I(){return(I=e((()=>{F=`/api/artifacts/download/`})))()}function Ne(e){let t=e.startsWith(`v1.`)?e.slice(3):``;return e.length<=7e3&&t.length>0&&t.length%4!=1&&/^[A-Za-z0-9_-]+$/u.test(t)}function Pe(e){if(!Ne(e.token))throw Error(`invalid public session token`);return`${_(e.basePath)}/share/session?${new URLSearchParams({token:e.token})}`}function Fe(){return(Fe=e((()=>{ce()})))()}function Ie(e,t){return typeof e==`string`&&(Array.isArray(t)?t.includes(e):t.has(e))}function Le(e,t){for(let n of t){let t=p(e[n]);if(t!==void 0)return t}}function Re(){return(Re=e((()=>{})))()}var ze;function Be(){return(Be=e((()=>{ze=`webchat`})))()}var L,Ve;function He(){return(He=e((()=>{h(),L=typeof process>`u`?void 0:process.getBuiltinModule(`node:async_hooks`).AsyncLocalStorage,Ve=class{constructor(e){if(this.options=e,this.pending=[],this.pendingWeight=0,this.active=!1,this.sealed=!1,this.overflowed=!1,this.acceptedSequence=0,this.settledPrefix=Promise.resolve(),!Number.isSafeInteger(e.maxPendingCount)||e.maxPendingCount<0)throw Error(`maxPendingCount must be a non-negative safe integer`);if(!Number.isFinite(e.maxPendingWeight)||e.maxPendingWeight<0)throw Error(`maxPendingWeight must be a non-negative finite number`)}get isIdle(){return!this.active&&this.pending.length===0}get didOverflow(){return this.overflowed}enqueue(e,t={}){if(this.sealed)return{accepted:!1,reason:`sealed`};let n=t.weight??1;if(!Number.isFinite(n)||n<0)throw Error(`queue task weight must be a non-negative finite number`);if(this.active&&(this.pending.length>=this.options.maxPendingCount||this.pendingWeight+n>this.options.maxPendingWeight))return t.sealOnOverflow===!1?{accepted:!1,reason:`capacity`}:(this.sealed=!0,this.overflowed=!0,{accepted:!1,reason:`overflow`});let{promise:r,resolve:i,reject:a}=re(),o={sequence:++this.acceptedSequence,weight:n,run:L?L.bind(e):e,resolve:e=>i(e),reject:a};return this.settledPrefix=r.then(()=>void 0,()=>void 0),this.active?(this.pending.push(o),this.pendingWeight+=n):(this.active=!0,this.runTask(o)),{accepted:!0,completion:r}}seal(){this.sealed=!0}flush(e={}){let t=this.settledPrefix,n=this.acceptedSequence;return e.requireSuccess===!0?t.then(()=>{if(this.firstFailure&&this.firstFailure.sequence<=n)throw this.firstFailure.error}):t}async runTask(e){try{e.resolve(await e.run())}catch(t){this.firstFailure??={sequence:e.sequence,error:t},e.reject(t)}finally{let e=this.pending.shift();e?(this.pendingWeight-=e.weight,queueMicrotask(()=>void this.runTask(e))):this.active=!1}}}})))()}function Ue(e){return le(e.trim(),R)}var R,z,We,Ge,Ke;function qe(){return(qe=e((()=>{He(),R=8e3,z=40,We=z*R,Ge=`Voice transcript persistence could not keep up; the realtime session was stopped.`,Ke={maxPendingCount:z,maxEntryChars:R,overflowMessage:Ge,createQueue:()=>new Ve({maxPendingCount:z,maxPendingWeight:We})}})))()}function Je(e){let t=p(e);if(t)return t===`webrtc-sdp`?`webrtc`:t===`json-pcm-websocket`?`provider-websocket`:t}function Ye(){return(Ye=e((()=>{})))()}function Xe(e){return de(e).replace(/[’`]/g,`'`).replace(/\s+/g,` `).replace($e,``).trim()}function Ze(e){if(!e)return!1;let t=Xe(e);return Qe.has(t)}var Qe,$e;function et(){return(et=e((()=>{Qe=new Set(`stop.esc.abort.exit.interrupt.detente.deten.detén.arrete.arrête.停止.停下来.暂停.やめて.止めて.रुको.توقف.стоп.остановись.останови.остановить.прекрати.halt.anhalten.aufhören.hoer auf.stopp.pare.stop openclaw.openclaw stop.stop action.stop current action.stop run.stop current run.stop agent.stop the agent.stop don't do anything.stop dont do anything.stop do not do anything.stop doing anything.do not do that.please stop.stop please`.split(`.`)),$e=/[.!?!?…,,。;;::'"’”)\]}]+$/u})))()}function B(e){if(!Number.isFinite(e)||e<=0)return`0`;if(e<1e3)return String(Math.round(e));if(e<1e6){let t=e>=1e4?Math.round(e/1e3):Math.round(e/100)/10;return t>=1e3?`1m`:`${t}k`}return`${e>=1e7?Math.round(e/1e6):Math.round(e/1e5)/10}m`}function tt(e){return typeof e.tokenBudget==`number`&&Number.isFinite(e.tokenBudget)?`${B(e.tokensUsed)}/${B(e.tokenBudget)}`:e.tokensUsed>0?`${B(e.tokensUsed)} used`:null}function nt(e){switch(e){case`active`:return`Pursuing goal`;case`paused`:return`Goal paused`;case`blocked`:return`Goal blocked`;case`usage_limited`:return`Goal hit usage limits`;case`budget_limited`:return`Goal unmet`;case`complete`:return`Goal achieved`}return e}function rt(e){let t=tt(e),n=nt(e.status);return t?`${n} (${t})`:n}function it(e,t){let n=(()=>{switch(e.status){case`active`:return t;case`paused`:return e.pausedAt??e.updatedAt;case`blocked`:return e.blockedAt??e.updatedAt;case`usage_limited`:return e.usageLimitedAt??e.updatedAt;case`budget_limited`:return e.budgetLimitedAt??e.updatedAt;case`complete`:return e.completedAt??e.updatedAt}return e.status})();return Math.max(0,n-e.createdAt)}function at(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=String(t%60).padStart(2,`0`);return n<60?`${n}m ${r}s`:`${Math.floor(n/60)}h ${String(n%60).padStart(2,`0`)}m ${r}s`}function ot(e){let t=e.lastStatusNote?` - ${e.lastStatusNote}`:``;return`${rt(e)}: ${e.objective}${t}`}function st(){return(st=e((()=>{})))()}function ct(e){return typeof e==`object`?e.key:e}function lt(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}function V(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function ut(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var H,dt;function ft(){return(ft=e((()=>{H=(e,t)=>Math.abs(e-t)<1.01,dt=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})}})))()}function pt(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}function mt(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function ht(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=mt(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=Y(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var U,W,G,gt,K,_t,q,vt,yt,bt,J,xt,St,Ct,Y;function wt(){return(wt=e((()=>{ft(),W=()=>{if(U!==void 0)return U;if(typeof navigator>`u`)return U=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return U=!0;let e=navigator.maxTouchPoints;return U=navigator.platform===`MacIntel`&&e!==void 0&&e>0},G=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},gt=e=>e,K=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},_t=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(G(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(G(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},q={passive:!0},vt=typeof window>`u`||`onscrollend`in window,yt=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&vt,o=0,s=a?null:dt(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,q),a&&r.addEventListener(`scrollend`,u,q),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},bt=(e,t)=>yt(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),J=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},xt=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},St=xt,Ct=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:gt,rangeExtractor:K,onChange:()=>{},measureElement:J,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>ct(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||pt(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:c}=this.options,l=0;for(;l<a&&c(l)!==e;)l++;if(l<a){let e=n[l];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=V(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,W()&&this.targetWindow!=null&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,q),e.addEventListener(`touchend`,n,q),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(W()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this.scrollState?.behavior===`smooth`&&!H(this.getScrollOffset()-i,this.scrollState.lastTargetOffset)||this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=V(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=V(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t);o[t]=e;let n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=c,a[t*2+1]=i,c+=i+s}this._singleLaneMeasurements={flat:a,items:o};let d=lt(o,a);return this.measurementsCache=d,d}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=V(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=ht(e,t,n,r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=V(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(!this.isIndexInRange(e))return;let n,r,i,a=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&a!=null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f),this._retryClampedAdjustment()}},this.getVirtualItems=V(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return ut(t[Y(0,t.length-1,r?e=>n[e*2]:e=>ut(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(e===0)return!1;if(W()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;{let n=this.getScrollOffset()+this.scrollAdjustments+e,r=this.scrollElement,i=r!==null&&(`scrollHeight`in r||`document`in r)?this.getMaxScrollOffset():null;return this._clampedAdjustment=i!==null&&n>i+.5?{target:n,maxAtWrite:i}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&H(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},Y=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0}})))()}function Tt(e){let t=se(e)?.kind;return typeof t==`string`&&At.has(t)}function Et(e,t){return e===`openclaw`&&typeof t==`string`&&kt.has(t)}function Dt(e){let t=se(e);return t?.role===`assistant`?Et(t.provider,t.model)?!0:Tt(t.openclawDeliveryMirror):!1}var Ot,X,kt,At;function jt(){return(jt=e((()=>{Ot=`delivery-mirror`,X=`cron-direct-delivery-context`,kt=new Set([Ot,`gateway-injected`]),At=new Set([`channel-final`,`channel-final-suppressed`,`message-tool-source-reply`,X])})))()}function Z(){throw Error(Rt)}function Mt(e){(e.length===0||e.length>Lt||o(e))&&Z();let t;try{t=new URL(e)}catch{Z()}let n=e.slice(e.indexOf(`://`)+3).split(`/`,1)[0]??``;(t.protocol!==`ws:`&&t.protocol!==`wss:`||e.includes(`?`)||e.includes(`#`)||n.includes(`@`)||t.username.length>0||t.password.length>0)&&Z()}function Nt(e,t){(e.length===0||me(e)>512||o(e)||r(e)===null)&&Z(),Mt(t)}function Pt(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replace(/=+$/u,``)}function Ft(e){Nt(e.sessionKey,e.gatewayUrl);let t={version:1,sessionKey:e.sessionKey,gatewayUrl:e.gatewayUrl},n=Pt(new TextEncoder().encode(JSON.stringify(t)));return n.length>It&&Z(),n}var It,Lt,Rt;function zt(){return(zt=e((()=>{pe(),i(),c(),_e(),It=4096,Lt=2048,Rt=`Invalid --handoff payload. Copy a fresh command from the Control UI.`})))()}function Bt(e,t){return e===`global`?`global`:e===`unknown`?`unknown`:he(e)?`cron`:t?.spawnedBy?`spawn-child`:t?.chatType===`group`||t?.chatType===`channel`||e.includes(`:group:`)||e.includes(`:channel:`)?`group`:`direct`}function Vt(){return(Vt=e((()=>{_e()})))()}function Ht(e,t){return t.length>=e.minPrefixLength&&t.length<=e.fullLength&&Q.test(t)}function Ut(e){let t=ne(e.threadId),n=e.shareRoute;if(!t||!Wt.test(n.routeSegment)||d(n.routeSegment)||t.length!==n.fullLength||!Q.test(t))return null;let r=Math.min(n.fullLength,Math.max(n.minPrefixLength,Math.floor(e.prefixLength??n.minPrefixLength))),i=y(e.displayName);return`${_(e.basePath)}/${n.routeSegment}/${i?`${i}-`:``}${t.slice(0,r)}`}var Q,Wt;function $(){return($=e((()=>{ce(),fe(),Q=/^[0-9a-f]+$/u,Wt=/^[a-z][a-z0-9-]*$/u})))()}export{be as $,Ue as A,N as B,st as C,Je as D,Ye as E,Le as F,Ce as G,P as H,Pe as I,T as J,Me as K,Fe as L,Be as M,Re as N,Ke as O,Ie as P,xe as Q,F as R,it as S,Ze as T,we as U,M as V,j as W,ye as X,D as Y,w as Z,ot as _,Vt as a,rt as b,jt as c,K as d,St as f,_t as g,bt as h,Bt as i,ze as j,qe as k,Dt as l,J as m,$ as n,Ft as o,wt as p,E as q,Ht as r,zt as s,Ut as t,Ct as u,at as v,et as w,tt as x,nt as y,I as z};