UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

1 lines • 4.44 kB
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{Ji as t,tn as n}from"./control-ui-foundation-ZY_Flbbd.js";import{No as r,Po as i,Sr as a,Tr as o,br as s,gr as c,wr as l,yr as u}from"./control-ui-core-3P365fbR.js";function d(e){return e===null||typeof e==`string`}function f(e){return t(e)&&Object.entries(e).every(([e,t])=>e===`agentId`?typeof t==`string`:e===`limit`?typeof t==`number`&&Number.isFinite(t):[`includeGlobal`,`includeUnknown`,`configuredAgentsOnly`,`includeDerivedTitles`,`includeLastMessage`,`ownerFirst`].includes(e)&&typeof t==`boolean`)}function p(e){return t(e)&&e.version===1&&typeof e.scope==`string`&&e.scope.length>0&&typeof e.savedAt==`number`&&Number.isFinite(e.savedAt)&&e.savedAt>=0&&d(e.profileId)&&d(e.agentId)&&f(e.query)&&t(e.result)&&Array.isArray(e.result.sessions)&&e.result.sessions.length<=200&&e.result.sessions.every(e=>t(e)&&typeof e.key==`string`)&&Array.isArray(e.groups)&&e.groups.every(e=>typeof e==`string`)&&Array.isArray(e.groupSettings)&&e.groupSettings.every(e=>t(e)&&typeof e.name==`string`&&typeof e.position==`number`)&&Array.isArray(e.sectionOrder)&&e.sectionOrder.every(e=>typeof e==`string`)}function m(e){return e.incognito!==!0}function h(e){let t={...e};return delete t.hasActiveRun,delete t.activeRunIds,delete t.activeModel,delete t.activeModelProvider,delete t.status,delete t.runtimeMs,delete t.runtimeSampledAt,delete t.snapshotAt,delete t.agentStatus,delete t.observerDigest,delete t.swarmPhase,delete t.swarmPhaseRank,delete t.swarmLog,delete t.placement,delete t.placementMove,delete t.subagentRunState,delete t.hasActiveSubagentRun,delete t.channelAvatarUrl,t}function g(e){return p(e)?e:null}function _(e){return i({...e,includeDerivedTitles:e.includeDerivedTitles??!0,includeLastMessage:e.includeLastMessage??!0})}function v(e,t){return e.agentId===t.agentId&&(e.query.agentId===void 0||e.query.agentId.trim()===e.agentId)&&(t.query.agentId===void 0||t.query.agentId.trim()===t.agentId)&&(t.profileId===void 0||e.profileId===t.profileId)&&o(e.query)&&o(t.query)}function y(e){return new Promise((t,n)=>{e.addEventListener(`success`,()=>t(e.result)),e.addEventListener(`error`,()=>n(e.error??Error(`IndexedDB request failed`))),e.addEventListener(`blocked`,()=>n(Error(`IndexedDB open was blocked`)))})}function b(e){let t=new Promise((t,n)=>{e.addEventListener(`complete`,()=>t()),e.addEventListener(`error`,()=>n(e.error??Error(`IndexedDB transaction failed`))),e.addEventListener(`abort`,()=>n(e.error??Error(`IndexedDB transaction failed`)))});return t.catch(()=>void 0),t}async function x(){try{globalThis.indexedDB&&await new Promise(e=>{let t=indexedDB.deleteDatabase(c);t.addEventListener(`success`,()=>e()),t.addEventListener(`error`,()=>e()),t.addEventListener(`blocked`,()=>e())})}catch{}}async function S(){for(let e=0;e<2;e+=1){try{if(!globalThis.indexedDB)return null;let e=indexedDB.open(c,1);e.addEventListener(`upgradeneeded`,()=>{for(let t of Array.from(e.result.objectStoreNames))e.result.deleteObjectStore(t);e.result.createObjectStore(u,{keyPath:`scope`})});let t=await y(e);if(t.addEventListener(`versionchange`,()=>t.close()),t.objectStoreNames.length===1&&t.objectStoreNames.contains(`rosters`)&&t.transaction(`rosters`).objectStore(`rosters`).keyPath===`scope`)return t;t.close()}catch{}e===0&&await x()}return null}async function C(e,t,n){if(n!==a)return null;let r=await S();if(!r)return null;try{let i=r.transaction(u),o=b(i),s=await y(i.objectStore(u).get(e));if(await o,s===void 0||n!==a)return null;let c=g(s);return!c||c.scope!==e||Date.now()-c.savedAt>2592e6||new TextEncoder().encode(JSON.stringify(c)).byteLength>1572864?(r.close(),await x(),null):v(c,t)?{...c,result:{...c.result,sessions:c.result.sessions.filter(m).map(h)}}:null}catch{return r.close(),await x(),null}finally{r.close()}}async function w(e,t,r,i,a,o){if(!a.scope||o.aborted||i.readState().result!==null)return;let s=await r.read(a.scope,a),c=e.connection?n(e.connection.gatewayUrl):a.scope;s&&!o.aborted&&i.readState().result===null&&e.snapshot.phase!==`connected`&&t.state.selectedId===a.agentId&&c===a.scope&&e.connectionRevision===a.connectionRevision&&v(s,a)&&i.publish({...i.readState(),result:s.result,agentId:s.agentId,groups:s.groups,groupSettings:s.groupSettings,sectionOrder:s.sectionOrder,resultCached:!0})}function T(){return(T=e((()=>{l(),r(),s()})))()}export{g as a,v as c,_ as d,h as f,S as i,y as l,T as n,C as o,m as r,x as s,w as t,b as u};