UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

1 lines • 1.27 kB
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{Ji as t}from"./control-ui-foundation-ZY_Flbbd.js";async function n(e,n,i,a,o){let s=i();if(!s)return;let c=t(e.payload)?e.payload:void 0,l;if(e.event===`plugins.controlUi.changed`){if(typeof c?.revision!=`string`||!c.revision)return;l=s.pluginCapabilities?.generation??0}else{let t=c?.generation;if(e.event!==`plugins.changed`||typeof t!=`number`||!Number.isSafeInteger(t)||t<0||t<=(s.pluginCapabilities?.generation??-1))return;l=t}let u={};r.set(n,u);let d;try{d=await n.request(`plugins.uiDescriptors`,{})}catch(e){if(r.get(n)===u)throw e;return}let f=r.get(n)===u?i():null;if(!f?.hello)return;if(d.generation<Math.max(l,f.pluginCapabilities?.generation??-1))throw Error(`Plugin capabilities did not reach the applied generation.`);let p=d.pluginSurfaceUrls.canvas?.trim()||null;p!==f.canvasPluginSurfaceUrl&&o(p??void 0),Object.assign(f.hello,{features:{...f.hello.features,methods:d.methods},controlUiTabs:d.controlUiTabs,controlUiWidgetKinds:d.controlUiWidgetKinds,controlUiLinkReaders:d.controlUiLinkReaders,pluginSurfaceUrls:d.pluginSurfaceUrls}),a({...f,pluginCapabilities:d,canvasPluginSurfaceUrl:p})}var r;function i(){return(i=e((()=>{r=new WeakMap})))()}i();export{n as refreshPluginCapabilities};