openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
1 lines • 1.75 kB
JavaScript
import{n as e,r as t}from"./rolldown-runtime-8BhlS34s.js";import{Eu as n,Ji as r,Xi as i,du as a,ju as o,pu as s,qi as c}from"./control-ui-core-BncvAZjR.js";import{Fn as l,J as u,K as d,Mn as f,q as p}from"./control-ui-boot-shared-DJkUdZmL.js";import{n as m,t as h}from"./en-settings-KEcvGj5Z.js";import{n as g}from"./usage-BQd4o5lO.js";var _=t({EMPTY_MODEL_PROVIDERS_DATA:()=>C,loadModelProvidersData:()=>x});function v(e){let t=new Date;return t.setDate(t.getDate()-e),`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function y(e){return i(e)?c(`model providers`):a(e,`request failed`)}function b(e){return e.then(e=>({ok:!0,result:e}),e=>({ok:!1,error:e}))}async function x(e,t){let n=(n=!1)=>b(p(e,{agentId:t.agentId,...n?{refresh:!0}:{},...t.signal?{signal:t.signal}:{}})),r=b(l(e,t)),i=t.refresh?r.then(()=>n(!0)):void 0,a=i?i.then(e=>e.ok?e:n()):n(),[s,c,d]=await Promise.all([r,a,i??Promise.resolve(void 0)]);return{authStatus:s.ok&&Array.isArray(s.result?.providers)?s.result:null,providerOutcomes:c.ok?c.result.providerOutcomes??[]:[],catalogError:d&&!d.ok?y(d.error):c.ok?u(c.result,o(`modelProviders.defaults.discoverFailed`)):y(c.error),providerUsage:null,costByProvider:null,updatedAt:Date.now(),error:s.ok?s.result.unavailable?.message??null:y(s.error)}}function S(e,t){return g(e,{startDate:v(29),endDate:v(0),scope:`family`,timeZone:`local`},{signal:t}).then(e=>e?.aggregates?.byProvider??null).catch(e=>{if(t.aborted)throw e;return null})}var C;function w(){return(w=e((()=>{n(),h(),s(),r(),f(),d(),m(),C={authStatus:null,providerOutcomes:[],catalogError:null,providerUsage:null,costByProvider:null,updatedAt:null,error:null}})))()}export{_ as a,x as i,w as n,S as r,C as t};