openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
2 lines • 1.76 kB
JavaScript
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{Ii as t}from"./control-ui-foundation-Cydpkyqa.js";import{As as n,Fa as r,Is as i,Ns as a,Xs as o,oa as s,sa as c,ws as l,za as u}from"./control-ui-core-Rwzhj6nO.js";import{Yt as d,en as f}from"./control-ui-core-vvcQQV2m.js";import{Bs as p}from"./control-ui-boot-shared-CXVvK2AW.js";function m(e){if(!e.payload||typeof e.payload!=`object`)return;let t=e.payload,n=typeof t.sessionKey==`string`?t.sessionKey.trim():``,r=typeof t.headline==`string`?t.headline.trim():``,i=t.revision;if(!n||!r||typeof t.health!=`string`||i===void 0||!Number.isInteger(i)||i<1||!e.tracker.record({sessionKey:n,agentId:t.agentId,health:t.health,revision:i})||o({...e.sessionHost,sessionKey:e.selectedSessionKey},n,t.agentId))return;let a=e.sessions.find(e=>l(e.key,n)),s=u(n,a);c({message:`${f(`sessionsView.attentionRequired`)}: ${s} — ${r}`,actionLabel:f(`sessionsView.openSession`),onAction:()=>t.agentId?e.onOpen(n,t.agentId):e.onOpen(n)})}var h,g;function _(){return(_=e((()=>{d(),r(),n(),s(),h=256,g=class{constructor(){this.seen=new Map}clear(){this.seen.clear()}record(e){let n=i(e.sessionKey),r=a(n)&&e.agentId?`${n}:${t(e.agentId)}`:n,o=this.seen.get(r);if(o&&e.revision<=o.revision)return!1;let s=p(e.health)&&(!o||o.health!==e.health||e.revision>o.revision+1);if(!o&&this.seen.size>=h){let e=this.seen.keys().next().value;e!==void 0&&this.seen.delete(e)}return this.seen.delete(r),this.seen.set(r,{health:e.health,revision:e.revision}),s}}})))()}function v(e){m({...e,tracker:b})}function y(){b.clear()}var b;function x(){return(x=e((()=>{_(),b=new g})))()}x();export{v as handleCriticalObserverDigest,y as resetCriticalObserverTracker};
//# sourceMappingURL=critical-observer-notice.runtime-CRMUtUuZ.js.map