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{Ji as n,Pu as r,Yi as i,Zi as a,xu as o,yu as s,zu as c}from"./control-ui-core-CBJ5efDh.js";import{Cn as l,Dl as u,Sn as d,wl as f,xn as p}from"./control-ui-boot-shared-dOnP4mAA.js";import{n as m,t as h}from"./en-settings-dSQ-fDvm.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 a(e)?n(`model providers`):s(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(d(e,{agentId:t.agentId,...n?{refresh:!0}:{},...t.signal?{signal:t.signal}:{}})),r=b(u(e,t)),i=t.refresh?r.then(()=>n(!0)):void 0,a=i?i.then(e=>e.ok?e:n()):n(),[o,s,f]=await Promise.all([r,a,i??Promise.resolve(void 0)]);return{authStatus:o.ok&&Array.isArray(o.result?.providers)?o.result:null,providerOutcomes:s.ok?s.result.providerOutcomes??[]:[],catalogError:f&&!f.ok?y(f.error):s.ok?l(s.result,c(`modelProviders.defaults.discoverFailed`)):y(s.error),providerUsage:null,costByProvider:null,updatedAt:Date.now(),error:o.ok?o.result.unavailable?.message??null:y(o.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((()=>{r(),h(),o(),i(),f(),p(),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};