anygate 0.5.2 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ var yl=Object.defineProperty;var In=t=>{throw TypeError(t)};var wl=(t,e,r)=>e in t?yl(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ze=(t,e,r)=>wl(t,typeof e!="symbol"?e+"":e,r),Na=(t,e,r)=>e.has(t)||In("Cannot "+r);var b=(t,e,r)=>(Na(t,e,"read from private field"),r?r.call(t):e.get(t)),ne=(t,e,r)=>e.has(t)?In("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),ae=(t,e,r,a)=>(Na(t,e,"write to private field"),a?a.call(t,r):e.set(t,r),r),fe=(t,e,r)=>(Na(t,e,"access private method"),r);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))a(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&a(l)}).observe(document,{childList:!0,subtree:!0});function r(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function a(n){if(n.ep)return;n.ep=!0;const s=r(n);fetch(n.href,s)}})();const ts=!1;var cn=Array.isArray,bl=Array.prototype.indexOf,ka=Array.prototype.includes,Oa=Array.from,xl=Object.defineProperty,xr=Object.getOwnPropertyDescriptor,rs=Object.getOwnPropertyDescriptors,kl=Object.prototype,Sl=Array.prototype,un=Object.getPrototypeOf,On=Object.isExtensible;const as=()=>{};function El(t){return t()}function Ua(t){for(var e=0;e<t.length;e++)t[e]()}function ns(){var t,e,r=new Promise((a,n)=>{t=a,e=n});return{promise:r,resolve:t,reject:e}}const Le=2,Ir=4,ia=8,ss=1<<24,ht=16,ot=32,Lt=64,Ga=128,lt=512,Ce=1024,Ie=2048,_t=4096,Be=8192,Xe=16384,$r=32768,Ka=1<<25,or=65536,Sa=1<<17,Pl=1<<18,Rr=1<<19,ls=1<<20,xt=1<<25,vr=65536,Ea=1<<21,kr=1<<22,Ut=1<<23,It=Symbol("$state"),Ml=Symbol("legacy props"),Al=Symbol(""),_a=Symbol("attributes"),Va=Symbol("class"),Wa=Symbol("style"),Gr=Symbol("text"),ga=Symbol("form reset"),oa=new class extends Error{constructor(){super(...arguments);ze(this,"name","StaleReactionError");ze(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Zn;const Tl=!!((Zn=globalThis.document)!=null&&Zn.contentType)&&globalThis.document.contentType.includes("xml");function Cl(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Il(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Ol(t,e,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Ll(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Dl(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Fl(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Nl(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function $l(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Rl(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function jl(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function zl(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function ql(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Hl=1,Bl=2,is=4,Ul=8,Gl=16,Kl=1,Vl=2,Wl=4,Yl=8,Jl=16,Xl=1,Zl=2,Te=Symbol("uninitialized"),os="http://www.w3.org/1999/xhtml",Ql="http://www.w3.org/2000/svg",ei="http://www.w3.org/1998/Math/MathML";function ti(){console.warn("https://svelte.dev/e/derived_inert")}function ri(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ai(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function vs(t){return t===this.v}function ni(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function ds(t){return!ni(t,this.v)}let jr=!1,si=!1;function li(){jr=!0}let be=null;function Or(t){be=t}function de(t,e=!1,r){be={p:be,i:!1,c:null,e:null,s:t,x:null,r:le,l:jr&&!e?{s:null,u:null,$:[]}:null}}function ce(t){var e=be,r=e.e;if(r!==null){e.e=null;for(var a of r)Is(a)}return e.i=!0,be=e.p,{}}function va(){return!jr||be!==null&&be.l===null}let Yt=[];function cs(){var t=Yt;Yt=[],Ua(t)}function Gt(t){if(Yt.length===0&&!Xr){var e=Yt;queueMicrotask(()=>{e===Yt&&cs()})}Yt.push(t)}function ii(){for(;Yt.length>0;)cs()}function us(t){var e=le;if(e===null)return ie.f|=Ut,t;if((e.f&$r)===0&&(e.f&Ir)===0)throw t;qt(t,e)}function qt(t,e){if(!(e!==null&&(e.f&Xe)!==0)){for(;e!==null;){if((e.f&Ga)!==0){if((e.f&$r)===0)throw t;try{e.b.error(t);return}catch(r){t=r}}e=e.parent}throw t}}const oi=-7169;function Pe(t,e){t.f=t.f&oi|e}function fn(t){(t.f&lt)!==0||t.deps===null?Pe(t,Ce):Pe(t,_t)}function fs(t){if(t!==null)for(const e of t)(e.f&Le)===0||(e.f&vr)===0||(e.f^=vr,fs(e.deps))}function hs(t,e,r){(t.f&Ie)!==0?e.add(t):(t.f&_t)!==0&&r.add(t),fs(t.deps),Pe(t,Ce)}let fa=!1;function vi(t){var e=fa;try{return fa=!1,[t(),fa]}finally{fa=e}}let Ln=!1;function di(){Ln||(Ln=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(const r of t.target.elements)(e=r[ga])==null||e.call(r)})},{capture:!0}))}function zr(t){var e=ie,r=le;vt(null),Et(null);try{return t()}finally{vt(e),Et(r)}}function hn(t,e,r,a=r){t.addEventListener(e,()=>zr(r));const n=t[ga];n?t[ga]=()=>{n(),a(!0)}:t[ga]=()=>a(!0),di()}function ci(t){let e=0,r=cr(0),a;return()=>{yn()&&(i(r),La(()=>(e===0&&(a=hr(()=>t(()=>Zr(r)))),e+=1,()=>{Gt(()=>{e-=1,e===0&&(a==null||a(),a=void 0,Zr(r))})})))}}var ui=or|Rr;function fi(t,e,r,a){new hi(t,e,r,a)}var rt,dn,at,Zt,Ue,nt,qe,Ye,Mt,Qt,jt,Sr,ra,aa,At,Ta,Se,pi,_i,gi,Ya,ma,ya,Ja,Xa;class hi{constructor(e,r,a,n){ne(this,Se);ze(this,"parent");ze(this,"is_pending",!1);ze(this,"transform_error");ne(this,rt);ne(this,dn,null);ne(this,at);ne(this,Zt);ne(this,Ue);ne(this,nt,null);ne(this,qe,null);ne(this,Ye,null);ne(this,Mt,null);ne(this,Qt,0);ne(this,jt,0);ne(this,Sr,!1);ne(this,ra,new Set);ne(this,aa,new Set);ne(this,At,null);ne(this,Ta,ci(()=>(ae(this,At,cr(b(this,Qt))),()=>{ae(this,At,null)})));var s;ae(this,rt,e),ae(this,at,r),ae(this,Zt,l=>{var o=le;o.b=this,o.f|=Ga,a(l)}),this.parent=le.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(l=>l),ae(this,Ue,Da(()=>{fe(this,Se,Ya).call(this)},ui))}defer_effect(e){hs(e,b(this,ra),b(this,aa))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!b(this,at).pending}update_pending_count(e,r){fe(this,Se,Ja).call(this,e,r),ae(this,Qt,b(this,Qt)+e),!(!b(this,At)||b(this,Sr))&&(ae(this,Sr,!0),Gt(()=>{ae(this,Sr,!1),b(this,At)&&Dr(b(this,At),b(this,Qt))}))}get_effect_pending(){return b(this,Ta).call(this),i(b(this,At))}error(e){if(!b(this,at).onerror&&!b(this,at).failed)throw e;X!=null&&X.is_fork?(b(this,nt)&&X.skip_effect(b(this,nt)),b(this,qe)&&X.skip_effect(b(this,qe)),b(this,Ye)&&X.skip_effect(b(this,Ye)),X.oncommit(()=>{fe(this,Se,Xa).call(this,e)})):fe(this,Se,Xa).call(this,e)}}rt=new WeakMap,dn=new WeakMap,at=new WeakMap,Zt=new WeakMap,Ue=new WeakMap,nt=new WeakMap,qe=new WeakMap,Ye=new WeakMap,Mt=new WeakMap,Qt=new WeakMap,jt=new WeakMap,Sr=new WeakMap,ra=new WeakMap,aa=new WeakMap,At=new WeakMap,Ta=new WeakMap,Se=new WeakSet,pi=function(){try{ae(this,nt,st(()=>b(this,Zt).call(this,b(this,rt))))}catch(e){this.error(e)}},_i=function(e){const r=b(this,at).failed;r&&ae(this,Ye,st(()=>{r(b(this,rt),()=>e,()=>()=>{})}))},gi=function(){const e=b(this,at).pending;e&&(this.is_pending=!0,ae(this,qe,st(()=>e(b(this,rt)))),Gt(()=>{var r=ae(this,Mt,document.createDocumentFragment()),a=Ot();r.append(a),ae(this,nt,fe(this,Se,ya).call(this,()=>st(()=>b(this,Zt).call(this,a)))),b(this,jt)===0&&(b(this,rt).before(r),ae(this,Mt,null),nr(b(this,qe),()=>{ae(this,qe,null)}),fe(this,Se,ma).call(this,X))}))},Ya=function(){try{if(this.is_pending=this.has_pending_snippet(),ae(this,jt,0),ae(this,Qt,0),ae(this,nt,st(()=>{b(this,Zt).call(this,b(this,rt))})),b(this,jt)>0){var e=ae(this,Mt,document.createDocumentFragment());xn(b(this,nt),e);const r=b(this,at).pending;ae(this,qe,st(()=>r(b(this,rt))))}else fe(this,Se,ma).call(this,X)}catch(r){this.error(r)}},ma=function(e){this.is_pending=!1,e.transfer_effects(b(this,ra),b(this,aa))},ya=function(e){var r=le,a=ie,n=be;Et(b(this,Ue)),vt(b(this,Ue)),Or(b(this,Ue).ctx);try{return dr.ensure(),e()}catch(s){return us(s),null}finally{Et(r),vt(a),Or(n)}},Ja=function(e,r){var a;if(!this.has_pending_snippet()){this.parent&&fe(a=this.parent,Se,Ja).call(a,e,r);return}ae(this,jt,b(this,jt)+e),b(this,jt)===0&&(fe(this,Se,ma).call(this,r),b(this,qe)&&nr(b(this,qe),()=>{ae(this,qe,null)}),b(this,Mt)&&(b(this,rt).before(b(this,Mt)),ae(this,Mt,null)))},Xa=function(e){b(this,nt)&&(Ve(b(this,nt)),ae(this,nt,null)),b(this,qe)&&(Ve(b(this,qe)),ae(this,qe,null)),b(this,Ye)&&(Ve(b(this,Ye)),ae(this,Ye,null));var r=b(this,at).onerror;let a=b(this,at).failed;var n=!1,s=!1;const l=()=>{if(n){ai();return}n=!0,s&&ql(),b(this,Ye)!==null&&nr(b(this,Ye),()=>{ae(this,Ye,null)}),fe(this,Se,ya).call(this,()=>{fe(this,Se,Ya).call(this)})},o=v=>{try{s=!0,r==null||r(v,l),s=!1}catch(d){qt(d,b(this,Ue)&&b(this,Ue).parent)}a&&ae(this,Ye,fe(this,Se,ya).call(this,()=>{try{return st(()=>{var d=le;d.b=this,d.f|=Ga,a(b(this,rt),()=>v,()=>l)})}catch(d){return qt(d,b(this,Ue).parent),null}}))};Gt(()=>{var v;try{v=this.transform_error(e)}catch(d){qt(d,b(this,Ue)&&b(this,Ue).parent);return}v!==null&&typeof v=="object"&&typeof v.then=="function"?v.then(o,d=>qt(d,b(this,Ue)&&b(this,Ue).parent)):o(v)})};function mi(t,e,r,a){const n=va()?Lr:pn;var s=t.filter(g=>!g.settled),l=e.map(n);if(r.length===0&&s.length===0){a(l);return}var o=le,v=yi(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(g=>g.promise)):null;function u(g){if((o.f&Xe)===0){v();try{a([...l,...g])}catch(y){qt(y,o)}Pa()}}var p=ps();if(r.length===0){d.then(()=>u([])).finally(p);return}function c(){Promise.all(r.map(g=>wi(g))).then(u).catch(g=>qt(g,o)).finally(p)}d?d.then(()=>{v(),c(),Pa()}):c()}function yi(){var t=le,e=ie,r=be,a=X;return function(s=!0){Et(t),vt(e),Or(r),s&&(t.f&Xe)===0&&(a==null||a.activate(),a==null||a.apply())}}function Pa(t=!0){Et(null),vt(null),Or(null),t&&(X==null||X.deactivate())}function ps(){var t=le,e=t.b,r=X,a=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,r),r.increment(a,t),()=>{e==null||e.update_pending_count(-1,r),r.decrement(a,t)}}function Lr(t){var e=Le|Ie;return le!==null&&(le.f|=Rr),{ctx:be,deps:null,effects:null,equals:vs,f:e,fn:t,reactions:null,rv:0,v:Te,wv:0,parent:le,ac:null}}const Kr=Symbol("obsolete");function wi(t,e,r){let a=le;a===null&&Il();var n=void 0,s=cr(Te),l=!ie,o=new Set;return Fi(()=>{var g,y;var v=le,d=ns();n=d.promise;try{Promise.resolve(t()).then(d.resolve,_=>{_!==oa&&d.reject(_)}).finally(Pa)}catch(_){d.reject(_),Pa()}var u=X;if(l){if((v.f&$r)!==0)var p=ps();if((g=a.b)!=null&&g.is_rendered())(y=u.async_deriveds.get(v))==null||y.reject(Kr);else for(const _ of o.values())_.reject(Kr);o.add(d),u.async_deriveds.set(v,d)}const c=(_,w=void 0)=>{p==null||p(),o.delete(d),w!==Kr&&(u.activate(),w?(s.f|=Ut,Dr(s,w)):((s.f&Ut)!==0&&(s.f^=Ut),Dr(s,_)),u.deactivate())};d.promise.then(c,_=>c(null,_||"unknown"))}),wn(()=>{for(const v of o)v.reject(Kr)}),new Promise(v=>{function d(u){function p(){u===n?v(s):d(n)}u.then(p,p)}d(n)})}function W(t){const e=Lr(t);return Rs(e),e}function pn(t){const e=Lr(t);return e.equals=ds,e}function bi(t){var e=t.effects;if(e!==null){t.effects=null;for(var r=0;r<e.length;r+=1)Ve(e[r])}}function _n(t){var e,r=le,a=t.parent;if(!Dt&&a!==null&&t.v!==Te&&(a.f&(Xe|Be))!==0)return ti(),t.v;Et(a);try{t.f&=~vr,bi(t),e=Hs(t)}finally{Et(r)}return e}function _s(t){var e=_n(t);if(!t.equals(e)&&(t.wv=zs(),(!(X!=null&&X.is_fork)||t.deps===null)&&(X!==null?(X.capture(t,e,!0),Jr==null||Jr.capture(t,e,!0)):t.v=e,t.deps===null))){Pe(t,Ce);return}Dt||(Fe!==null?(yn()||X!=null&&X.is_fork)&&Fe.set(t,e):fn(t))}function xi(t){var e;if(t.effects!==null)for(const r of t.effects)(r.teardown||r.ac)&&((e=r.teardown)==null||e.call(r),r.ac!==null&&zr(()=>{r.ac.abort(oa),r.ac=null}),r.fn!==null&&(r.teardown=as),ta(r,0),bn(r))}function gs(t){if(t.effects!==null)for(const e of t.effects)e.teardown&&e.fn!==null&&Fr(e)}let $a=null,mr=null,X=null,Jr=null,Fe=null,Za=null,Xr=!1,Ra=!1,wr=null,wa=null;var Dn=0;let ki=1;var Er,zt,er,Pr,Mr,Ar,Tt,Tr,Ge,na,Ct,ut,yt,Cr,tr,_e,Qa,Vr,en,ms,ys,yr,Si,Wr;const Ca=class Ca{constructor(){ne(this,_e);ze(this,"id",ki++);ne(this,Er,!1);ze(this,"linked",!0);ne(this,zt,null);ne(this,er,null);ze(this,"async_deriveds",new Map);ze(this,"current",new Map);ze(this,"previous",new Map);ne(this,Pr,new Set);ne(this,Mr,new Set);ne(this,Ar,0);ne(this,Tt,new Map);ne(this,Tr,null);ne(this,Ge,[]);ne(this,na,[]);ne(this,Ct,new Set);ne(this,ut,new Set);ne(this,yt,new Map);ne(this,Cr,new Set);ze(this,"is_fork",!1);ne(this,tr,!1);mr===null?$a=mr=this:(ae(mr,er,this),ae(this,zt,mr)),mr=this}skip_effect(e){b(this,yt).has(e)||b(this,yt).set(e,{d:[],m:[]}),b(this,Cr).delete(e)}unskip_effect(e,r=a=>this.schedule(a)){var a=b(this,yt).get(e);if(a){b(this,yt).delete(e);for(var n of a.d)Pe(n,Ie),r(n);for(n of a.m)Pe(n,_t),r(n)}b(this,Cr).add(e)}capture(e,r,a=!1){e.v!==Te&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&Ut)===0&&(this.current.set(e,[r,a]),Fe==null||Fe.set(e,r)),this.is_fork||(e.v=r)}activate(){X=this}deactivate(){X=null,Fe=null}flush(){try{Ra=!0,X=this,fe(this,_e,Vr).call(this)}finally{Dn=0,Za=null,wr=null,wa=null,Ra=!1,X=null,Fe=null,ar.clear()}}discard(){var e;for(const r of b(this,Mr))r(this);b(this,Mr).clear();for(const r of this.async_deriveds.values())r.reject(Kr);fe(this,_e,Wr).call(this),(e=b(this,Tr))==null||e.resolve()}register_created_effect(e){b(this,na).push(e)}increment(e,r){if(ae(this,Ar,b(this,Ar)+1),e){let a=b(this,Tt).get(r)??0;b(this,Tt).set(r,a+1)}}decrement(e,r){if(ae(this,Ar,b(this,Ar)-1),e){let a=b(this,Tt).get(r)??0;a===1?b(this,Tt).delete(r):b(this,Tt).set(r,a-1)}b(this,tr)||(ae(this,tr,!0),Gt(()=>{ae(this,tr,!1),this.linked&&this.flush()}))}transfer_effects(e,r){for(const a of e)b(this,Ct).add(a);for(const a of r)b(this,ut).add(a);e.clear(),r.clear()}oncommit(e){b(this,Pr).add(e)}ondiscard(e){b(this,Mr).add(e)}settled(){return(b(this,Tr)??ae(this,Tr,ns())).promise}static ensure(){if(X===null){const e=X=new Ca;!Ra&&!Xr&&Gt(()=>{b(e,Er)||e.flush()})}return X}apply(){{Fe=null;return}}schedule(e){var n;if(Za=e,(n=e.b)!=null&&n.is_pending&&(e.f&(Ir|ia|ss))!==0&&(e.f&$r)===0){e.b.defer_effect(e);return}for(var r=e;r.parent!==null;){r=r.parent;var a=r.f;if(wr!==null&&r===le&&(ie===null||(ie.f&Le)===0))return;if((a&(Lt|ot))!==0){if((a&Ce)===0)return;r.f^=Ce}}b(this,Ge).push(r)}};Er=new WeakMap,zt=new WeakMap,er=new WeakMap,Pr=new WeakMap,Mr=new WeakMap,Ar=new WeakMap,Tt=new WeakMap,Tr=new WeakMap,Ge=new WeakMap,na=new WeakMap,Ct=new WeakMap,ut=new WeakMap,yt=new WeakMap,Cr=new WeakMap,tr=new WeakMap,_e=new WeakSet,Qa=function(){if(this.is_fork)return!0;for(const a of b(this,Tt).keys()){for(var e=a,r=!1;e.parent!==null;){if(b(this,yt).has(e)){r=!0;break}e=e.parent}if(!r)return!0}return!1},Vr=function(){var v,d,u,p;ae(this,Er,!0),Dn++>1e3&&(fe(this,_e,Wr).call(this),Pi());for(const c of b(this,Ct))b(this,ut).delete(c),Pe(c,Ie),this.schedule(c);for(const c of b(this,ut))Pe(c,_t),this.schedule(c);const e=b(this,Ge);ae(this,Ge,[]),this.apply();var r=wr=[],a=[],n=wa=[];for(const c of e)try{fe(this,_e,en).call(this,c,r,a)}catch(g){throw xs(c),fe(this,_e,Qa).call(this)||this.discard(),g}if(X=null,n.length>0){var s=Ca.ensure();for(const c of n)s.schedule(c)}if(wr=null,wa=null,fe(this,_e,Qa).call(this)){fe(this,_e,yr).call(this,a),fe(this,_e,yr).call(this,r);for(const[c,g]of b(this,yt))bs(c,g);n.length>0&&fe(v=X,_e,Vr).call(v);return}const l=fe(this,_e,ms).call(this);if(l){fe(this,_e,yr).call(this,a),fe(this,_e,yr).call(this,r),fe(d=l,_e,ys).call(d,this);return}b(this,Ct).clear(),b(this,ut).clear();for(const c of b(this,Pr))c(this);b(this,Pr).clear(),Jr=this,Fn(a),Fn(r),Jr=null,(u=b(this,Tr))==null||u.resolve();var o=X;if(b(this,Ar)===0&&(b(this,Ge).length===0||o!==null)&&fe(this,_e,Wr).call(this),b(this,Ge).length>0)if(o!==null){const c=o;b(c,Ge).push(...b(this,Ge).filter(g=>!b(c,Ge).includes(g)))}else o=this;o!==null&&fe(p=o,_e,Vr).call(p)},en=function(e,r,a){e.f^=Ce;for(var n=e.first;n!==null;){var s=n.f,l=(s&(ot|Lt))!==0,o=l&&(s&Ce)!==0,v=o||(s&Be)!==0||b(this,yt).has(n);if(!v&&n.fn!==null){l?n.f^=Ce:(s&Ir)!==0?r.push(n):ca(n)&&((s&ht)!==0&&b(this,ut).add(n),Fr(n));var d=n.first;if(d!==null){n=d;continue}}for(;n!==null;){var u=n.next;if(u!==null){n=u;break}n=n.parent}}},ms=function(){for(var e=b(this,zt);e!==null;){if(!e.is_fork){for(const[r,[,a]]of this.current)if(e.current.has(r)&&!a)return e}e=b(e,zt)}return null},ys=function(e){var a;for(const[n,s]of e.current)!this.previous.has(n)&&e.previous.has(n)&&this.previous.set(n,e.previous.get(n)),this.current.set(n,s);for(const[n,s]of e.async_deriveds){const l=this.async_deriveds.get(n);l&&s.promise.then(l.resolve).catch(l.reject)}e.async_deriveds.clear(),this.transfer_effects(b(e,Ct),b(e,ut));const r=n=>{var s=n.reactions;if(s!==null&&!((n.f&Le)!==0&&(n.f&(Ie|_t))===0))for(const v of s){var l=v.f;if((l&Le)!==0)r(v);else{var o=v;l&(kr|ht)&&!this.async_deriveds.has(o)&&(b(this,ut).delete(o),Pe(o,Ie),this.schedule(o))}}};for(const n of this.current.keys())r(n);this.oncommit(()=>e.discard()),fe(a=e,_e,Wr).call(a),X=this,fe(this,_e,Vr).call(this)},yr=function(e){for(var r=0;r<e.length;r+=1)hs(e[r],b(this,Ct),b(this,ut))},Si=function(){var p;for(let c=$a;c!==null;c=b(c,er)){var e=c.id<this.id,r=[];for(const[g,[y,_]]of this.current){if(c.current.has(g)){var a=c.current.get(g)[0];if(e&&y!==a)c.current.set(g,[y,_]);else continue}r.push(g)}if(e)for(const[g,y]of this.async_deriveds){const _=c.async_deriveds.get(g);_&&y.promise.then(_.resolve).catch(_.reject)}var n=[...c.current.keys()].filter(g=>!c.current.get(g)[1]);if(!(!b(c,Er)||n.length===0)){var s=n.filter(g=>!this.current.has(g));if(s.length===0)e&&c.discard();else if(r.length>0){if(e)for(const g of b(this,Cr))c.unskip_effect(g,y=>{var _;(y.f&(ht|kr))!==0?c.schedule(y):fe(_=c,_e,yr).call(_,[y])});c.activate();var l=new Set,o=new Map;for(var v of r)ws(v,s,l,o);o=new Map;var d=[...c.current].filter(([g,y])=>{const _=this.current.get(g);return _?_[0]!==y[0]||_[1]!==y[1]:!0}).map(([g])=>g);if(d.length>0)for(const g of b(this,na))(g.f&(Xe|Be|Sa))===0&&gn(g,d,o)&&((g.f&(kr|ht))!==0?(Pe(g,Ie),c.schedule(g)):b(c,Ct).add(g));if(b(c,Ge).length>0&&!b(c,tr)){c.apply();for(var u of b(c,Ge))fe(p=c,_e,en).call(p,u,[],[]);ae(c,Ge,[])}c.deactivate()}}}},Wr=function(){if(this.linked){var e=b(this,zt),r=b(this,er);e===null?$a=r:ae(e,er,r),r===null?mr=e:ae(r,zt,e),this.linked=!1}};let dr=Ca;function Ei(t){var e=Xr;Xr=!0;try{for(var r;;){if(ii(),X===null)return r;X.flush()}}finally{Xr=e}}function Pi(){try{Nl()}catch(t){qt(t,Za)}}let ct=null;function Fn(t){var e=t.length;if(e!==0){for(var r=0;r<e;){var a=t[r++];if((a.f&(Xe|Be))===0&&ca(a)&&(ct=new Set,Fr(a),a.deps===null&&a.first===null&&a.nodes===null&&a.teardown===null&&a.ac===null&&Fs(a),(ct==null?void 0:ct.size)>0)){ar.clear();for(const n of ct){if((n.f&(Xe|Be))!==0)continue;const s=[n];let l=n.parent;for(;l!==null;)ct.has(l)&&(ct.delete(l),s.push(l)),l=l.parent;for(let o=s.length-1;o>=0;o--){const v=s[o];(v.f&(Xe|Be))===0&&Fr(v)}}ct.clear()}}ct=null}}function ws(t,e,r,a){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const n of t.reactions){const s=n.f;(s&Le)!==0?ws(n,e,r,a):(s&(kr|ht))!==0&&(s&Ie)===0&&gn(n,e,a)&&(Pe(n,Ie),mn(n))}}function gn(t,e,r){const a=r.get(t);if(a!==void 0)return a;if(t.deps!==null)for(const n of t.deps){if(ka.call(e,n))return!0;if((n.f&Le)!==0&&gn(n,e,r))return r.set(n,!0),!0}return r.set(t,!1),!1}function mn(t){X.schedule(t)}function bs(t,e){if(!((t.f&ot)!==0&&(t.f&Ce)!==0)){(t.f&Ie)!==0?e.d.push(t):(t.f&_t)!==0&&e.m.push(t),Pe(t,Ce);for(var r=t.first;r!==null;)bs(r,e),r=r.next}}function xs(t){Pe(t,Ce);for(var e=t.first;e!==null;)xs(e),e=e.next}let Ma=new Set;const ar=new Map;let ks=!1;function cr(t,e){var r={f:0,v:t,reactions:null,equals:vs,rv:0,wv:0};return r}function Q(t,e){const r=cr(t);return Rs(r),r}function Mi(t,e=!1,r=!0){var n;const a=cr(t);return e||(a.equals=ds),jr&&r&&be!==null&&be.l!==null&&((n=be.l).s??(n.s=[])).push(a),a}function C(t,e,r=!1){ie!==null&&(!pt||(ie.f&Sa)!==0)&&va()&&(ie.f&(Le|ht|kr|Sa))!==0&&(St===null||!St.has(t))&&zl();let a=r?Oe(e):e;return Dr(t,a,wa)}function Dr(t,e,r=null){if(!t.equals(e)){ar.set(t,Dt?e:t.v);var a=dr.ensure();if(a.capture(t,e),(t.f&Le)!==0){const n=t;(t.f&Ie)!==0&&_n(n),Fe===null&&fn(n)}t.wv=zs(),Ss(t,Ie,r),va()&&le!==null&&(le.f&Ce)!==0&&(le.f&(ot|Lt))===0&&(tt===null?$i([t]):tt.push(t)),!a.is_fork&&Ma.size>0&&!ks&&Ai()}return e}function Ai(){ks=!1;for(const t of Ma){(t.f&Ce)!==0&&Pe(t,_t);let e;try{e=ca(t)}catch{e=!0}e&&Fr(t)}Ma.clear()}function Zr(t){C(t,t.v+1)}function Ss(t,e,r){var a=t.reactions;if(a!==null)for(var n=va(),s=a.length,l=0;l<s;l++){var o=a[l],v=o.f;if(!(!n&&o===le)){var d=(v&Ie)===0;if(d&&Pe(o,e),(v&Sa)!==0)Ma.add(o);else if((v&Le)!==0){var u=o;Fe==null||Fe.delete(u),(v&vr)===0&&(v&lt&&(le===null||(le.f&Ea)===0)&&(o.f|=vr),Ss(u,_t,r))}else if(d){var p=o;(v&ht)!==0&&ct!==null&&ct.add(p),r!==null?r.push(p):mn(p)}}}}function Oe(t){if(typeof t!="object"||t===null||It in t)return t;const e=un(t);if(e!==kl&&e!==Sl)return t;var r=new Map,a=cn(t),n=Q(0),s=sr,l=o=>{if(sr===s)return o();var v=ie,d=sr;vt(null),Rn(s);var u=o();return vt(v),Rn(d),u};return a&&r.set("length",Q(t.length)),new Proxy(t,{defineProperty(o,v,d){(!("value"in d)||d.configurable===!1||d.enumerable===!1||d.writable===!1)&&Rl();var u=r.get(v);return u===void 0?l(()=>{var p=Q(d.value);return r.set(v,p),p}):C(u,d.value,!0),!0},deleteProperty(o,v){var d=r.get(v);if(d===void 0){if(v in o){const u=l(()=>Q(Te));r.set(v,u),Zr(n)}}else C(d,Te),Zr(n);return!0},get(o,v,d){var g;if(v===It)return t;var u=r.get(v),p=v in o;if(u===void 0&&(!p||(g=xr(o,v))!=null&&g.writable)&&(u=l(()=>{var y=Oe(p?o[v]:Te),_=Q(y);return _}),r.set(v,u)),u!==void 0){var c=i(u);return c===Te?void 0:c}return Reflect.get(o,v,d)},getOwnPropertyDescriptor(o,v){var d=Reflect.getOwnPropertyDescriptor(o,v);if(d&&"value"in d){var u=r.get(v);u&&(d.value=i(u))}else if(d===void 0){var p=r.get(v),c=p==null?void 0:p.v;if(p!==void 0&&c!==Te)return{enumerable:!0,configurable:!0,value:c,writable:!0}}return d},has(o,v){var c;if(v===It)return!0;var d=r.get(v),u=d!==void 0&&d.v!==Te||Reflect.has(o,v);if(d!==void 0||le!==null&&(!u||(c=xr(o,v))!=null&&c.writable)){d===void 0&&(d=l(()=>{var g=u?Oe(o[v]):Te,y=Q(g);return y}),r.set(v,d));var p=i(d);if(p===Te)return!1}return u},set(o,v,d,u){var D;var p=r.get(v),c=v in o;if(a&&v==="length")for(var g=d;g<p.v;g+=1){var y=r.get(g+"");y!==void 0?C(y,Te):g in o&&(y=l(()=>Q(Te)),r.set(g+"",y))}if(p===void 0)(!c||(D=xr(o,v))!=null&&D.writable)&&(p=l(()=>Q(void 0)),C(p,Oe(d)),r.set(v,p));else{c=p.v!==Te;var _=l(()=>Oe(d));C(p,_)}var w=Reflect.getOwnPropertyDescriptor(o,v);if(w!=null&&w.set&&w.set.call(u,d),!c){if(a&&typeof v=="string"){var P=r.get("length"),$=Number(v);Number.isInteger($)&&$>=P.v&&C(P,$+1)}Zr(n)}return!0},ownKeys(o){i(n);var v=Reflect.ownKeys(o).filter(p=>{var c=r.get(p);return c===void 0||c.v!==Te});for(var[d,u]of r)u.v!==Te&&!(d in o)&&v.push(d);return v},setPrototypeOf(){jl()}})}function Nn(t){try{if(t!==null&&typeof t=="object"&&It in t)return t[It]}catch{}return t}function Ti(t,e){return Object.is(Nn(t),Nn(e))}var tn,Es,Ps,Ms;function Ci(){if(tn===void 0){tn=window,Es=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,r=Text.prototype;Ps=xr(e,"firstChild").get,Ms=xr(e,"nextSibling").get,On(t)&&(t[Va]=void 0,t[_a]=null,t[Wa]=void 0,t.__e=void 0),On(r)&&(r[Gr]=void 0)}}function Ot(t=""){return document.createTextNode(t)}function kt(t){return Ps.call(t)}function da(t){return Ms.call(t)}function h(t,e){return kt(t)}function te(t,e=!1){{var r=kt(t);return r instanceof Comment&&r.data===""?da(r):r}}function f(t,e=1,r=!1){let a=t;for(;e--;)a=da(a);return a}function Ii(t){t.textContent=""}function As(){return!1}function Ts(t,e,r){return e==null||e===os?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(e,t,{is:r}):document.createElementNS(e,t)}function Cs(t){le===null&&(ie===null&&Fl(),Dl()),Dt&&Ll()}function Oi(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function Pt(t,e){var r=le;r!==null&&(r.f&Be)!==0&&(t|=Be);var a={ctx:be,deps:null,nodes:null,f:t|Ie|lt,first:null,fn:e,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};X==null||X.register_created_effect(a);var n=a;if((t&Ir)!==0)wr!==null?wr.push(a):dr.ensure().schedule(a);else if(e!==null){try{Fr(a)}catch(l){throw Ve(a),l}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Rr)===0&&(n=n.first,(t&ht)!==0&&(t&or)!==0&&n!==null&&(n.f|=or))}if(n!==null&&(n.parent=r,r!==null&&Oi(n,r),ie!==null&&(ie.f&Le)!==0&&(t&Lt)===0)){var s=ie;(s.effects??(s.effects=[])).push(n)}return a}function yn(){return ie!==null&&!pt}function wn(t){const e=Pt(ia,null);return Pe(e,Ce),e.teardown=t,e}function Kt(t){Cs();var e=le.f,r=!ie&&(e&ot)!==0&&be!==null&&!be.i;if(r){var a=be;(a.e??(a.e=[])).push(t)}else return Is(t)}function Is(t){return Pt(Ir|ls,t)}function Li(t){return Cs(),Pt(ia|ls,t)}function Di(t){dr.ensure();const e=Pt(Lt|Rr,t);return(r={})=>new Promise(a=>{r.outro?nr(e,()=>{Ve(e),a(void 0)}):(Ve(e),a(void 0))})}function Os(t){return Pt(Ir,t)}function Fi(t){return Pt(kr|Rr,t)}function La(t,e=0){return Pt(ia|e,t)}function N(t,e=[],r=[],a=[]){mi(a,e,r,n=>{Pt(ia,()=>{t(...n.map(i))})})}function Da(t,e=0){var r=Pt(ht|e,t);return r}function st(t){return Pt(ot|Rr,t)}function Ls(t){var e=t.teardown;if(e!==null){const r=Dt,a=ie;$n(!0),vt(null);try{e.call(null)}finally{$n(r),vt(a)}}}function bn(t,e=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const n=r.ac;n!==null&&zr(()=>{n.abort(oa)});var a=r.next;(r.f&Lt)!==0?r.parent=null:Ve(r,e),r=a}}function Ni(t){for(var e=t.first;e!==null;){var r=e.next;(e.f&ot)===0&&Ve(e),e=r}}function Ve(t,e=!0){var r=!1;(e||(t.f&Pl)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Ds(t.nodes.start,t.nodes.end),r=!0),t.f|=Ka,bn(t,e&&!r),ta(t,0);var a=t.nodes&&t.nodes.t;if(a!==null)for(const s of a)s.stop();Ls(t),t.f^=Ka,t.f|=Xe;var n=t.parent;n!==null&&n.first!==null&&Fs(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Ds(t,e){for(;t!==null;){var r=t===e?null:da(t);t.remove(),t=r}}function Fs(t){var e=t.parent,r=t.prev,a=t.next;r!==null&&(r.next=a),a!==null&&(a.prev=r),e!==null&&(e.first===t&&(e.first=a),e.last===t&&(e.last=r))}function nr(t,e,r=!0){var a=[];Ns(t,a,!0);var n=()=>{r&&Ve(t),e&&e()},s=a.length;if(s>0){var l=()=>--s||n();for(var o of a)o.out(l)}else n()}function Ns(t,e,r){if((t.f&Be)===0){t.f^=Be;var a=t.nodes&&t.nodes.t;if(a!==null)for(const o of a)(o.is_global||r)&&e.push(o);for(var n=t.first;n!==null;){var s=n.next;if((n.f&Lt)===0){var l=(n.f&or)!==0||(n.f&ot)!==0&&(t.f&ht)!==0;Ns(n,e,l?r:!1)}n=s}}}function Aa(t){$s(t,!0)}function $s(t,e){if((t.f&Be)!==0){t.f^=Be,(t.f&Ce)===0&&(Pe(t,Ie),dr.ensure().schedule(t));for(var r=t.first;r!==null;){var a=r.next,n=(r.f&or)!==0||(r.f&ot)!==0;$s(r,n?e:!1),r=a}var s=t.nodes&&t.nodes.t;if(s!==null)for(const l of s)(l.is_global||e)&&l.in()}}function xn(t,e){if(t.nodes)for(var r=t.nodes.start,a=t.nodes.end;r!==null;){var n=r===a?null:da(r);e.append(r),r=n}}let ba=!1,Dt=!1;function $n(t){Dt=t}let ie=null,pt=!1;function vt(t){ie=t}let le=null;function Et(t){le=t}let St=null;function Rs(t){ie!==null&&(St??(St=new Set)).add(t)}let Ke=null,We=0,tt=null;function $i(t){tt=t}let js=1,Jt=0,sr=Jt;function Rn(t){sr=t}function zs(){return++js}function ca(t){var e=t.f;if((e&Ie)!==0)return!0;if(e&Le&&(t.f&=~vr),(e&_t)!==0){for(var r=t.deps,a=r.length,n=0;n<a;n++){var s=r[n];if(ca(s)&&_s(s),s.wv>t.wv)return!0}(e&lt)!==0&&Fe===null&&Pe(t,Ce)}return!1}function qs(t,e,r=!0){var a=t.reactions;if(a!==null&&!(St!==null&&St.has(t)))for(var n=0;n<a.length;n++){var s=a[n];(s.f&Le)!==0?qs(s,e,!1):e===s&&(r?Pe(s,Ie):(s.f&Ce)!==0&&Pe(s,_t),mn(s))}}function Hs(t){var _;var e=Ke,r=We,a=tt,n=ie,s=St,l=be,o=pt,v=sr,d=t.f;Ke=null,We=0,tt=null,ie=(d&(ot|Lt))===0?t:null,St=null,Or(t.ctx),pt=!1,sr=++Jt,t.ac!==null&&(zr(()=>{t.ac.abort(oa)}),t.ac=null);try{t.f|=Ea;var u=t.fn,p=u();t.f|=$r;var c=t.deps,g=X==null?void 0:X.is_fork;if(Ke!==null){var y;if(g||ta(t,We),c!==null&&We>0)for(c.length=We+Ke.length,y=0;y<Ke.length;y++)c[We+y]=Ke[y];else t.deps=c=Ke;if(yn()&&(t.f&lt)!==0)for(y=We;y<c.length;y++)((_=c[y]).reactions??(_.reactions=[])).push(t)}else!g&&c!==null&&We<c.length&&(ta(t,We),c.length=We);if(va()&&tt!==null&&!pt&&c!==null&&(t.f&(Le|_t|Ie))===0)for(y=0;y<tt.length;y++)qs(tt[y],t);if(n!==null&&n!==t){if(Jt++,n.deps!==null)for(let w=0;w<r;w+=1)n.deps[w].rv=Jt;if(e!==null)for(const w of e)w.rv=Jt;tt!==null&&(a===null?a=tt:a.push(...tt))}return(t.f&Ut)!==0&&(t.f^=Ut),p}catch(w){return us(w)}finally{t.f^=Ea,Ke=e,We=r,tt=a,ie=n,St=s,Or(l),pt=o,sr=v}}function Ri(t,e){let r=e.reactions;if(r!==null){var a=bl.call(r,t);if(a!==-1){var n=r.length-1;n===0?r=e.reactions=null:(r[a]=r[n],r.pop())}}if(r===null&&(e.f&Le)!==0&&(Ke===null||!ka.call(Ke,e))){var s=e;(s.f&lt)!==0&&(s.f^=lt,s.f&=~vr),s.v!==Te&&fn(s),s.ac!==null&&zr(()=>{s.ac.abort(oa),s.ac=null}),xi(s),ta(s,0)}}function ta(t,e){var r=t.deps;if(r!==null)for(var a=e;a<r.length;a++)Ri(t,r[a])}function Fr(t){var e=t.f;if((e&Xe)===0){Pe(t,Ce);var r=le,a=ba;le=t,ba=(e&(ot|Lt))===0;try{(e&(ht|ss))!==0?Ni(t):bn(t),Ls(t);var n=Hs(t);t.teardown=typeof n=="function"?n:null,t.wv=js;var s;ts&&si&&(t.f&Ie)!==0&&t.deps}finally{ba=a,le=r}}}async function ji(){await Promise.resolve(),Ei()}function i(t){var e=t.f,r=(e&Le)!==0;if(ie!==null&&!pt){var a=le!==null&&(le.f&Xe)!==0;if(!a&&(St===null||!St.has(t))){var n=ie.deps;if((ie.f&Ea)!==0)t.rv<Jt&&(t.rv=Jt,Ke===null&&n!==null&&n[We]===t?We++:Ke===null?Ke=[t]:Ke.push(t));else{ie.deps??(ie.deps=[]),ka.call(ie.deps,t)||ie.deps.push(t);var s=t.reactions;s===null?t.reactions=[ie]:ka.call(s,ie)||s.push(ie)}}}if(Dt&&ar.has(t))return ar.get(t);if(r){var l=t;if(Dt){var o=l.v;return((l.f&Ce)===0&&l.reactions!==null||Us(l))&&(o=_n(l)),ar.set(l,o),o}var v=(l.f&lt)===0&&!pt&&ie!==null&&(ba||(ie.f&lt)!==0),d=(l.f&$r)===0;ca(l)&&(v&&(l.f|=lt),_s(l)),v&&!d&&(gs(l),Bs(l))}if(Fe!=null&&Fe.has(t))return Fe.get(t);if((t.f&Ut)!==0)throw t.v;return t.v}function Bs(t){if(t.f|=lt,t.deps!==null)for(const e of t.deps)(e.reactions??(e.reactions=[])).push(t),(e.f&Le)!==0&&(e.f&lt)===0&&(gs(e),Bs(e))}function Us(t){if(t.v===Te)return!0;if(t.deps===null)return!1;for(const e of t.deps)if(ar.has(e)||(e.f&Le)!==0&&Us(e))return!0;return!1}function hr(t){var e=pt;try{return pt=!0,t()}finally{pt=e}}function zi(t){if(!(typeof t!="object"||!t||t instanceof EventTarget)){if(It in t)rn(t);else if(!Array.isArray(t))for(let e in t){const r=t[e];typeof r=="object"&&r&&It in r&&rn(r)}}}function rn(t,e=new Set){if(typeof t=="object"&&t!==null&&!(t instanceof EventTarget)&&!e.has(t)){e.add(t),t instanceof Date&&t.getTime();for(let a in t)try{rn(t[a],e)}catch{}const r=un(t);if(r!==Object.prototype&&r!==Array.prototype&&r!==Map.prototype&&r!==Set.prototype&&r!==Date.prototype){const a=rs(r);for(let n in a){const s=a[n].get;if(s)try{s.call(t)}catch{}}}}}const qi=["touchstart","touchmove"];function Hi(t){return qi.includes(t)}const Xt=Symbol("events"),Gs=new Set,an=new Set;function Bi(t,e,r,a={}){function n(s){if(a.capture||nn.call(e,s),!s.cancelBubble)return zr(()=>r==null?void 0:r.call(this,s))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Gt(()=>{e.addEventListener(t,n,a)}):e.addEventListener(t,n,a),n}function xa(t,e,r,a,n){var s={capture:a,passive:n},l=Bi(t,e,r,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&wn(()=>{e.removeEventListener(t,l,s)})}function se(t,e,r){(e[Xt]??(e[Xt]={}))[t]=r}function Ae(t){for(var e=0;e<t.length;e++)Gs.add(t[e]);for(var r of an)r(t)}let jn=null;function nn(t){var _,w;var e=this,r=e.ownerDocument,a=t.type,n=((_=t.composedPath)==null?void 0:_.call(t))||[],s=n[0]||t.target;jn=t;var l=0,o=jn===t&&t[Xt];if(o){var v=n.indexOf(o);if(v!==-1&&(e===document||e===window)){t[Xt]=e;return}var d=n.indexOf(e);if(d===-1)return;v<=d&&(l=v)}if(s=n[l]||t.target,s!==e){xl(t,"currentTarget",{configurable:!0,get(){return s||r}});var u=ie,p=le;vt(null),Et(null);try{for(var c,g=[];s!==null&&s!==e;){try{var y=(w=s[Xt])==null?void 0:w[a];y!=null&&(!s.disabled||t.target===s)&&y.call(s,t)}catch(P){c?g.push(P):c=P}if(t.cancelBubble)break;l++,s=l<n.length?n[l]:null}if(c){for(let P of g)queueMicrotask(()=>{throw P});throw c}}finally{t[Xt]=e,delete t.currentTarget,vt(u),Et(p)}}}var Qn;const ja=((Qn=globalThis==null?void 0:globalThis.window)==null?void 0:Qn.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Ui(t){return(ja==null?void 0:ja.createHTML(t))??t}function Ks(t){var e=Ts("template");return e.innerHTML=Ui(t.replaceAll("<!>","<!---->")),e.content}function ur(t,e){var r=le;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function x(t,e){var r=(e&Xl)!==0,a=(e&Zl)!==0,n,s=!t.startsWith("<!>");return()=>{n===void 0&&(n=Ks(s?t:"<!>"+t),r||(n=kt(n)));var l=a||Es?document.importNode(n,!0):n.cloneNode(!0);if(r){var o=kt(l),v=l.lastChild;ur(o,v)}else ur(l,l);return l}}function Gi(t,e,r="svg"){var a=!t.startsWith("<!>"),n=`<${r}>${a?t:"<!>"+t}</${r}>`,s;return()=>{if(!s){var l=Ks(n),o=kt(l);s=kt(o)}var v=s.cloneNode(!0);return ur(v,v),v}}function kn(t,e){return Gi(t,e,"svg")}function J(t=""){{var e=Ot(t+"");return ur(e,e),e}}function dt(){var t=document.createDocumentFragment(),e=document.createComment(""),r=Ot();return t.append(e,r),ur(e,r),t}function m(t,e){t!==null&&t.before(e)}function I(t,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t[Gr]??(t[Gr]=t.nodeValue))&&(t[Gr]=r,t.nodeValue=`${r}`)}function Ki(t,e){return Vi(t,e)}const ha=new Map;function Vi(t,{target:e,anchor:r,props:a={},events:n,context:s,intro:l=!0,transformError:o}){Ci();var v=void 0,d=Di(()=>{var u=r??e.appendChild(Ot());fi(u,{pending:()=>{}},g=>{de({});var y=be;s&&(y.c=s),n&&(a.$$events=n),v=t(g,a)||{},ce()},o);var p=new Set,c=g=>{for(var y=0;y<g.length;y++){var _=g[y];if(!p.has(_)){p.add(_);var w=Hi(_);for(const D of[e,document]){var P=ha.get(D);P===void 0&&(P=new Map,ha.set(D,P));var $=P.get(_);$===void 0?(D.addEventListener(_,nn,{passive:w}),P.set(_,1)):P.set(_,$+1)}}}};return c(Oa(Gs)),an.add(c),()=>{var w;for(var g of p)for(const P of[e,document]){var y=ha.get(P),_=y.get(g);--_==0?(P.removeEventListener(g,nn),y.delete(g),y.size===0&&ha.delete(P)):y.set(g,_)}an.delete(c),u!==r&&((w=u.parentNode)==null||w.removeChild(u))}});return Wi.set(v,d),v}let Wi=new WeakMap;var ft,wt,Je,rr,sa,la,Ia;class Vs{constructor(e,r=!0){ze(this,"anchor");ne(this,ft,new Map);ne(this,wt,new Map);ne(this,Je,new Map);ne(this,rr,new Set);ne(this,sa,!0);ne(this,la,e=>{if(b(this,ft).has(e)){var r=b(this,ft).get(e),a=b(this,wt).get(r);if(a)Aa(a),b(this,rr).delete(r);else{var n=b(this,Je).get(r);n&&(Aa(n.effect),b(this,wt).set(r,n.effect),b(this,Je).delete(r),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),a=n.effect)}for(const[s,l]of b(this,ft)){if(b(this,ft).delete(s),s===e)break;const o=b(this,Je).get(l);o&&(Ve(o.effect),b(this,Je).delete(l))}for(const[s,l]of b(this,wt)){if(s===r||b(this,rr).has(s))continue;const o=()=>{if(Array.from(b(this,ft).values()).includes(s)){var d=document.createDocumentFragment();xn(l,d),d.append(Ot()),b(this,Je).set(s,{effect:l,fragment:d})}else Ve(l);b(this,rr).delete(s),b(this,wt).delete(s)};b(this,sa)||!a?(b(this,rr).add(s),nr(l,o,!1)):o()}}});ne(this,Ia,e=>{b(this,ft).delete(e);const r=Array.from(b(this,ft).values());for(const[a,n]of b(this,Je))r.includes(a)||(Ve(n.effect),b(this,Je).delete(a))});this.anchor=e,ae(this,sa,r)}ensure(e,r){var a=X,n=As();if(r&&!b(this,wt).has(e)&&!b(this,Je).has(e))if(n){var s=document.createDocumentFragment(),l=Ot();s.append(l),b(this,Je).set(e,{effect:st(()=>r(l)),fragment:s})}else b(this,wt).set(e,st(()=>r(this.anchor)));if(b(this,ft).set(a,e),n){for(const[o,v]of b(this,wt))o===e?a.unskip_effect(v):a.skip_effect(v);for(const[o,v]of b(this,Je))o===e?a.unskip_effect(v.effect):a.skip_effect(v.effect);a.oncommit(b(this,la)),a.ondiscard(b(this,Ia))}else b(this,la).call(this,a)}}ft=new WeakMap,wt=new WeakMap,Je=new WeakMap,rr=new WeakMap,sa=new WeakMap,la=new WeakMap,Ia=new WeakMap;function H(t,e,r=!1){var a=new Vs(t),n=r?or:0;function s(l,o){a.ensure(l,o)}Da(()=>{var l=!1;e((o,v=0)=>{l=!0,s(v,o)}),l||s(-1,null)},n)}function lr(t,e){return e}function Yi(t,e,r){for(var a=[],n=e.length,s,l=e.length,o=0;o<n;o++){let p=e[o];nr(p,()=>{if(s){if(s.pending.delete(p),s.done.add(p),s.pending.size===0){var c=t.outrogroups;sn(t,Oa(s.done)),c.delete(s),c.size===0&&(t.outrogroups=null)}}else l-=1},!1)}if(l===0){var v=a.length===0&&r!==null;if(v){var d=r,u=d.parentNode;Ii(u),u.append(d),t.items.clear()}sn(t,e,!v)}else s={pending:new Set(e),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(s)}function sn(t,e,r=!0){var a;if(t.pending.size>0){a=new Set;for(const l of t.pending.values())for(const o of l)a.add(t.items.get(o).e)}for(var n=0;n<e.length;n++){var s=e[n];if(a!=null&&a.has(s)){s.f|=xt;const l=document.createDocumentFragment();xn(s,l)}else Ve(e[n],r)}}var zn;function ye(t,e,r,a,n,s=null){var l=t,o=new Map,v=(e&is)!==0;if(v){var d=t;l=d.appendChild(Ot())}var u=null,p=pn(()=>{var D=r();return cn(D)?D:D==null?[]:Oa(D)}),c,g=new Map,y=!0;function _(D){($.effect.f&Xe)===0&&($.pending.delete(D),$.fallback=u,Ji($,c,l,e,a),u!==null&&(c.length===0?(u.f&xt)===0?Aa(u):(u.f^=xt,Yr(u,null,l)):nr(u,()=>{u=null})))}function w(D){$.pending.delete(D)}var P=Da(()=>{c=i(p);for(var D=c.length,M=new Set,T=X,B=As(),E=0;E<D;E+=1){var U=c[E],L=a(U,E),O=y?null:o.get(L);O?(O.v&&Dr(O.v,U),O.i&&Dr(O.i,E),B&&T.unskip_effect(O.e)):(O=Xi(o,y?l:zn??(zn=Ot()),U,L,E,n,e,r),y||(O.e.f|=xt),o.set(L,O)),M.add(L)}if(D===0&&s&&!u&&(y?u=st(()=>s(l)):(u=st(()=>s(zn??(zn=Ot()))),u.f|=xt)),D>M.size&&Ol(),!y)if(g.set(T,M),B){for(const[k,z]of o)M.has(k)||T.skip_effect(z.e);T.oncommit(_),T.ondiscard(w)}else _(T);i(p)}),$={effect:P,items:o,pending:g,outrogroups:null,fallback:u};y=!1}function Br(t){for(;t!==null&&(t.f&ot)===0;)t=t.next;return t}function Ji(t,e,r,a,n){var O,k,z,S,q,A,R,V,j;var s=(a&Ul)!==0,l=e.length,o=t.items,v=Br(t.effect.first),d,u=null,p,c=[],g=[],y,_,w,P;if(s)for(P=0;P<l;P+=1)y=e[P],_=n(y,P),w=o.get(_).e,(w.f&xt)===0&&((k=(O=w.nodes)==null?void 0:O.a)==null||k.measure(),(p??(p=new Set)).add(w));for(P=0;P<l;P+=1){if(y=e[P],_=n(y,P),w=o.get(_).e,t.outrogroups!==null)for(const F of t.outrogroups)F.pending.delete(w),F.done.delete(w);if((w.f&Be)!==0&&(Aa(w),s&&((S=(z=w.nodes)==null?void 0:z.a)==null||S.unfix(),(p??(p=new Set)).delete(w))),(w.f&xt)!==0)if(w.f^=xt,w===v)Yr(w,null,r);else{var $=u?u.next:v;w===t.effect.last&&(t.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Nt(t,u,w),Nt(t,w,$),Yr(w,$,r),u=w,c=[],g=[],v=Br(u.next);continue}if(w!==v){if(d!==void 0&&d.has(w)){if(c.length<g.length){var D=g[0],M;u=D.prev;var T=c[0],B=c[c.length-1];for(M=0;M<c.length;M+=1)Yr(c[M],D,r);for(M=0;M<g.length;M+=1)d.delete(g[M]);Nt(t,T.prev,B.next),Nt(t,u,T),Nt(t,B,D),v=D,u=B,P-=1,c=[],g=[]}else d.delete(w),Yr(w,v,r),Nt(t,w.prev,w.next),Nt(t,w,u===null?t.effect.first:u.next),Nt(t,u,w),u=w;continue}for(c=[],g=[];v!==null&&v!==w;)(d??(d=new Set)).add(v),g.push(v),v=Br(v.next);if(v===null)continue}(w.f&xt)===0&&c.push(w),u=w,v=Br(w.next)}if(t.outrogroups!==null){for(const F of t.outrogroups)F.pending.size===0&&(sn(t,Oa(F.done)),(q=t.outrogroups)==null||q.delete(F));t.outrogroups.size===0&&(t.outrogroups=null)}if(v!==null||d!==void 0){var E=[];if(d!==void 0)for(w of d)(w.f&Be)===0&&E.push(w);for(;v!==null;)(v.f&Be)===0&&v!==t.fallback&&E.push(v),v=Br(v.next);var U=E.length;if(U>0){var L=(a&is)!==0&&l===0?r:null;if(s){for(P=0;P<U;P+=1)(R=(A=E[P].nodes)==null?void 0:A.a)==null||R.measure();for(P=0;P<U;P+=1)(j=(V=E[P].nodes)==null?void 0:V.a)==null||j.fix()}Yi(t,E,L)}}s&&Gt(()=>{var F,G;if(p!==void 0)for(w of p)(G=(F=w.nodes)==null?void 0:F.a)==null||G.apply()})}function Xi(t,e,r,a,n,s,l,o){var v=(l&Hl)!==0?(l&Gl)===0?Mi(r,!1,!1):cr(r):null,d=(l&Bl)!==0?cr(n):null;return{v,i:d,e:st(()=>(s(e,v??r,d??n,o),()=>{t.delete(a)}))}}function Yr(t,e,r){if(t.nodes)for(var a=t.nodes.start,n=t.nodes.end,s=e&&(e.f&xt)===0?e.nodes.start:r;a!==null;){var l=da(a);if(s.before(a),a===n)return;a=l}}function Nt(t,e,r){e===null?t.effect.first=r:e.next=r,r===null?t.effect.last=e:r.prev=e}function Zi(t,e,r=!1,a=!1,n=!1,s=!1){var l=t,o="";if(r)var v=t;N(()=>{var d=le;if(o!==(o=e()??"")){if(r){d.nodes=null,v.innerHTML=o,o!==""&&ur(kt(v),v.lastChild);return}if(d.nodes!==null&&(Ds(d.nodes.start,d.nodes.end),d.nodes=null),o!==""){var u=a?Ql:n?ei:void 0,p=Ts(a?"svg":n?"math":"template",u);p.innerHTML=o;var c=a||n?p:p.content;if(ur(kt(c),c.lastChild),a||n)for(;kt(c);)l.before(kt(c));else l.before(c)}}})}function pr(t,e,...r){var a=new Vs(t);Da(()=>{const n=e()??null;a.ensure(n,n&&(s=>n(s,...r)))},or)}const qn=[...`
2
+ \r\f \v\uFEFF`];function Qi(t,e,r){var a=t==null?"":""+t;if(e&&(a=a?a+" "+e:e),r){for(var n of Object.keys(r))if(r[n])a=a?a+" "+n:n;else if(a.length)for(var s=n.length,l=0;(l=a.indexOf(n,l))>=0;){var o=l+s;(l===0||qn.includes(a[l-1]))&&(o===a.length||qn.includes(a[o]))?a=(l===0?"":a.substring(0,l))+a.substring(o+1):l=o}}return a===""?null:a}function eo(t,e){return t==null?null:String(t)}function Ze(t,e,r,a,n,s){var l=t[Va];if(l!==r||l===void 0){var o=Qi(r,a,s);o==null?t.removeAttribute("class"):t.className=o,t[Va]=r}else if(s&&n!==s)for(var v in s){var d=!!s[v];(n==null||d!==!!n[v])&&t.classList.toggle(v,d)}return s}function it(t,e,r,a){var n=t[Wa];if(n!==e){var s=eo(e);s==null?t.removeAttribute("style"):t.style.cssText=s,t[Wa]=e}return a}function $t(t,e,r=!1){if(t.multiple){if(e==null)return;if(!cn(e))return ri();for(var a of t.options)a.selected=e.includes(Qr(a));return}for(a of t.options){var n=Qr(a);if(Ti(n,e)){a.selected=!0;return}}(!r||e!==void 0)&&(t.selectedIndex=-1)}function Vt(t){var e=new MutationObserver(()=>{$t(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),wn(()=>{e.disconnect()})}function to(t,e,r=e){var a=new WeakSet,n=!0;hn(t,"change",s=>{var l=s?"[selected]":":checked",o;if(t.multiple)o=[].map.call(t.querySelectorAll(l),Qr);else{var v=t.querySelector(l)??t.querySelector("option:not([disabled])");o=v&&Qr(v)}r(o),t.__value=o,X!==null&&a.add(X)}),Os(()=>{var s=e();if(t===document.activeElement){var l=X;if(a.has(l))return}if($t(t,s,n),n&&s===void 0){var o=t.querySelector(":checked");o!==null&&(s=Qr(o),r(s))}t.__value=s,n=!1}),Vt(t)}function Qr(t){return"__value"in t?t.__value:t.value}const ro=Symbol("is custom element"),ao=Symbol("is html"),no=Tl?"progress":"PROGRESS";function Sn(t,e){var r=Ws(t);r.value===(r.value=e??void 0)||t.value===e&&(e!==0||t.nodeName!==no)||(t.value=e??"")}function we(t,e,r,a){var n=Ws(t);n[e]!==(n[e]=r)&&(e==="loading"&&(t[Al]=r),r==null?t.removeAttribute(e):typeof r!="string"&&so(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function Ws(t){return t[_a]??(t[_a]={[ro]:t.nodeName.includes("-"),[ao]:t.namespaceURI===os})}var Hn=new Map;function so(t){var e=t.getAttribute("is")||t.nodeName,r=Hn.get(e);if(r)return r;Hn.set(e,r=[]);for(var a,n=t,s=Element.prototype;s!==n;){a=rs(n);for(var l in a)a[l].set&&l!=="innerHTML"&&l!=="textContent"&&l!=="innerText"&&r.push(l);n=un(n)}return r}function En(t,e,r=e){var a=new WeakSet;hn(t,"input",async n=>{var s=n?t.defaultValue:t.value;if(s=za(t)?qa(s):s,r(s),X!==null&&a.add(X),await ji(),s!==(s=e())){var l=t.selectionStart,o=t.selectionEnd,v=t.value.length;if(t.value=s??"",o!==null){var d=t.value.length;l===o&&o===v&&d>v?(t.selectionStart=d,t.selectionEnd=d):(t.selectionStart=l,t.selectionEnd=Math.min(o,d))}}}),hr(e)==null&&t.value&&(r(za(t)?qa(t.value):t.value),X!==null&&a.add(X)),La(()=>{var n=e();if(t===document.activeElement){var s=X;if(a.has(s))return}za(t)&&n===qa(t.value)||t.type==="date"&&!n&&!t.value||n!==t.value&&(t.value=n??"")})}function lo(t,e,r=e){hn(t,"change",a=>{var n=a?t.defaultChecked:t.checked;r(n)}),hr(e)==null&&r(t.checked),La(()=>{var a=e();t.checked=!!a})}function za(t){var e=t.type;return e==="number"||e==="range"}function qa(t){return t===""?null:+t}function Ha(t,e){return t===e||(t==null?void 0:t[It])===e}function io(t={},e,r,a){var n=be.r,s=le;return Os(()=>{var l,o;return La(()=>{l=o,o=[],hr(()=>{Ha(r(...o),t)||(e(t,...o),l&&Ha(r(...l),t)&&e(null,...l))})}),()=>{let v=s;for(;v!==n&&v.parent!==null&&v.parent.f&Ka;)v=v.parent;const d=()=>{o&&Ha(r(...o),t)&&e(null,...o)},u=v.teardown;v.teardown=()=>{d(),u==null||u()}}}),t}function Pn(t=!1){const e=be,r=e.l.u;if(!r)return;let a=()=>zi(e.s);if(t){let n=0,s={};const l=Lr(()=>{let o=!1;const v=e.s;for(const d in v)v[d]!==s[d]&&(s[d]=v[d],o=!0);return o&&n++,n});a=()=>i(l)}r.b.length&&Li(()=>{Bn(e,a),Ua(r.b)}),Kt(()=>{const n=hr(()=>r.m.map(El));return()=>{for(const s of n)typeof s=="function"&&s()}}),r.a.length&&Kt(()=>{Bn(e,a),Ua(r.a)})}function Bn(t,e){if(t.l.s)for(const r of t.l.s)i(r);e()}function oe(t,e,r,a){var M;var n=!jr||(r&Vl)!==0,s=(r&Yl)!==0,l=(r&Jl)!==0,o=a,v=!0,d=void 0,u=()=>l&&n?(d??(d=Lr(a)),i(d)):(v&&(v=!1,o=l?hr(a):a),o);let p;if(s){var c=It in t||Ml in t;p=((M=xr(t,e))==null?void 0:M.set)??(c&&e in t?T=>t[e]=T:void 0)}var g,y=!1;s?[g,y]=vi(()=>t[e]):g=t[e],g===void 0&&a!==void 0&&(g=u(),p&&(n&&$l(),p(g)));var _;if(n?_=()=>{var T=t[e];return T===void 0?u():(v=!0,T)}:_=()=>{var T=t[e];return T!==void 0&&(o=void 0),T===void 0?o:T},n&&(r&Wl)===0)return _;if(p){var w=t.$$legacy;return(function(T,B){return arguments.length>0?((!n||!B||w||y)&&p(B?_():T),T):_()})}var P=!1,$=((r&Kl)!==0?Lr:pn)(()=>(P=!1,_()));s&&i($);var D=le;return(function(T,B){if(arguments.length>0){const E=B?i($):n&&s?Oe(T):T;return C($,E),P=!0,o!==void 0&&(o=E),T}return Dt&&P||(D.f&Xe)!==0?$.v:i($)})}function Ys(t){be===null&&Cl(),jr&&be.l!==null?oo(be).m.push(t):Kt(()=>{const e=hr(t);if(typeof e=="function")return e})}function oo(t){var e=t.l;return e.u??(e.u={a:[],b:[],m:[]})}const vo="5";var es;typeof window<"u"&&((es=window.__svelte??(window.__svelte={})).v??(es.v=new Set)).add(vo);const co=["dashboard","providers","models","apps","server","settings"];function Js(){const t=typeof window<"u"?window.location.hash.replace(/^#\/?/,""):"";return co.includes(t)?t:"dashboard"}const bt=Oe({route:Js()});function Wt(t){typeof window<"u"&&(window.location.hash=`/${t}`)}function uo(){const t=()=>{bt.route=Js()};window.addEventListener("hashchange",t),t()}const gt=Oe({toasts:[],commandOpen:!1,loadingRoutes:new Set});let fo=0;function pe(t,e="info",r=4e3){const a=++fo,n={id:a,message:t,kind:e};gt.toasts=[...gt.toasts,n],n.timeout=setTimeout(()=>ln(a),r)}function ln(t){const e=gt.toasts.find(r=>r.id===t);e!=null&&e.timeout&&clearTimeout(e.timeout),gt.toasts=gt.toasts.filter(r=>r.id!==t)}function Ba(){gt.commandOpen=!0}function ho(){gt.commandOpen=!1}function po(){gt.commandOpen=!gt.commandOpen}class Un extends Error{constructor(r,a,n){super(r);ze(this,"hint");ze(this,"status");this.name="ApiError",this.status=a,this.hint=n}}async function Xs(t,e,r,a){const n={method:t,headers:{}};r!==void 0&&(n.headers["Content-Type"]="application/json",n.body=JSON.stringify(r));let s;try{s=await fetch(e,n)}catch(v){throw new Un(`Network error: ${String(v)}`,0)}const l=await s.text(),o=l?JSON.parse(l):void 0;if(!s.ok){const v=o;throw new Un((v==null?void 0:v.error)??`Request failed (${s.status})`,s.status,v==null?void 0:v.hint)}return o}function _r(t,e){return Xs("GET",t,void 0)}function Qe(t,e,r){return Xs("POST",t,e)}const Zs="anygate-presets",Qs="anygate-recent-folders";function _o(t){const r=(t==null?void 0:t.status)===404;return{ok:r,keychain:{available:!1,note:r?"Health check needs a newer anygate":"Unable to reach backend"},conflictingEnvVars:[],port17645Available:!0,providerReachability:[]}}function go(){try{const t=localStorage.getItem(Zs);return t?JSON.parse(t):[]}catch{return[]}}function mo(t){try{localStorage.setItem(Zs,JSON.stringify(t))}catch{}}function el(){try{const t=localStorage.getItem(Qs);return t?JSON.parse(t):[]}catch{return[]}}function yo(t){const e=el().filter(a=>a!==t);e.unshift(t);const r=e.slice(0,10);try{localStorage.setItem(Qs,JSON.stringify(r))}catch{}return r}function wo(t){const{provider:e,modelId:r,contextWindow:a}=t,n=[];return n.push({key:"ANTHROPIC_BASE_URL",value:"http://127.0.0.1:<proxy-port>"}),e&&r&&(n.push({key:"ANTHROPIC_MODEL",value:`${e.id}__${r}`}),n.push({key:"CLAUDE_CODE_MAX_CONTEXT_TOKENS",value:String(a??2e5)})),n.push({key:"ANTHROPIC_AUTH_TOKEN",value:"<proxy-local-token>",masked:!0}),n.push({key:"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY",value:"1"}),{env:n,command:e&&r?`anygate ${e.id} --model ${r}`:"anygate <provider>"}}function Mn(){return _r("/api/config")}function tl(t){return Qe("/api/config",t)}function bo(){return _r("/api/models")}function xo(t,e){return Qe("/api/keys",{providerId:t,key:e})}function ko(t){return Qe("/api/providers/refresh",{providerId:t})}function So(){return Qe("/api/providers/refresh-all")}function Eo(){return _r("/api/providers/templates")}function Po(t,e,r){return Qe("/api/providers/add",{templateId:t,key:e,baseUrl:r})}function Mo(t){return Qe("/api/providers/add-custom",t)}function Ao(t){return Qe("/api/providers/delete",{providerId:t})}function To(t){return Qe("/api/providers/oauth/start",{providerId:t})}function Co(t){return _r(`/api/providers/oauth/status?sessionId=${encodeURIComponent(t)}`)}function Io(){return _r("/api/apps")}function Oo(t,e){return Qe("/api/apps/path",{appId:t,path:e})}function Lo(t){return Qe("/api/apps/launch",t)}function Do(){return Qe("/api/apps/browse-folder")}function Fo(){return _r("/api/server/status")}function No(t){return Qe("/api/server/start",t)}function $o(){return Qe("/api/server/stop")}async function Ro(){try{return await _r("/api/health")}catch(t){return _o(t)}}function jo(){return Promise.resolve(go())}function rl(t){return mo(t),Promise.resolve({ok:!0})}async function zo(){const t=await Mn();return JSON.stringify({version:1,favoriteModels:t.favoriteModels,antigravityCliFavoriteModels:t.antigravityCliFavoriteModels},null,2)}async function qo(t){const e=JSON.parse(t);if(!Array.isArray(e.favoriteModels)&&!Array.isArray(e.antigravityCliFavoriteModels))throw new Error("Invalid config file: missing favoriteModels");await tl({favoriteModels:e.favoriteModels??[],antigravityCliFavoriteModels:e.antigravityCliFavoriteModels??[]})}function Ho(t){return wo(t)}function Bo(t){if(t.format)return t.format;const e=t.id.toLowerCase();return e.startsWith("claude")||e.includes("anthropic")?"anthropic":e.startsWith("gpt")||e.includes("openai")||e.startsWith("gemini")?"unsupported":"openai"}function al(t){if(typeof t.reasoning=="boolean")return t.reasoning;const e=t.id.toLowerCase();return/(opus|sonnet|o1|o3|o4|gpt-5|deepseek-r(1|2)|qwen3?-(plus|max|pro)|claude-(3-7|4))/.test(e)}function Uo(t){if(Array.isArray(t.supportedParameters))return t.supportedParameters;const e=["tools","system"];return al(t)&&e.push("reasoning_effort"),t.isFree||e.push("streaming"),e}function Go(t){return{...t,format:Bo(t),reasoning:al(t),supportedParameters:Uo(t)}}function Ko(t){const e=new Set,r=t.models.filter(a=>e.has(a.id)?!1:(e.add(a.id),!0));return{...t,enrichedModels:r.map(Go)}}const Me=Oe({list:[],loading:!1,error:null});async function An(t){Me.loading=!0,Me.error=null;try{const e=await bo();Me.list=e.providers.map(Ko)}catch(e){Me.error=e instanceof Error?e.message:String(e)}finally{Me.loading=!1}}async function nl(t){try{const e=await ko(t);if(!e.ok){pe(e.error?String(e.error):"Refresh failed","error");return}await An(),pe(`Refreshed ${t} (${e.count??0} models)`,"success")}catch(e){pe(e instanceof Error?e.message:String(e),"error")}}async function pa(){try{const t=await So();await An(),pe(`Refreshed all · ${t.total} models`,"success")}catch(t){pe(t instanceof Error?t.message:String(t),"error")}}const Vo=20,Wo=6,he=Oe({general:[],agy:[],loading:!1,error:null});async function sl(){he.loading=!0;try{const t=await Mn();he.general=t.favoriteModels??[],he.agy=t.antigravityCliFavoriteModels??[]}catch(t){he.error=t instanceof Error?t.message:String(t)}finally{he.loading=!1}}async function Tn(){await tl({favoriteModels:he.general,antigravityCliFavoriteModels:he.agy})}function ll(t,e,r=!1){return(r?he.agy:he.general).some(n=>n.providerId===t&&n.modelId===e)}async function il(t,e=!1){const r=e?he.agy:he.general,a=e?Wo:Vo;return ll(t.providerId,t.modelId,e)?!0:r.length>=a?(pe(`Favorite limit reached (${a})`,"error"),!1):(e?he.agy=[...he.agy,t]:he.general=[...he.general,t],await Tn(),!0)}async function on(t,e,r=!1){r?he.agy=he.agy.filter(a=>!(a.providerId===t&&a.modelId===e)):he.general=he.general.filter(a=>!(a.providerId===t&&a.modelId===e)),await Tn()}async function Yo(t,e=!1){e?he.agy=t:he.general=t,await Tn()}const Jo=Object.freeze(Object.defineProperty({__proto__:null,addFavorite:il,favorites:he,isFavorite:ll,loadFavorites:sl,removeFavorite:on,reorder:Yo},Symbol.toStringTag,{value:"Module"})),$e=Oe({list:[],recentFolders:[],loading:!1,error:null});async function Xo(){$e.loading=!0;try{const t=await Io();$e.list=t.apps,$e.recentFolders=t.recentLaunchFolders??el()}catch(t){$e.error=t instanceof Error?t.message:String(t)}finally{$e.loading=!1}}async function Zo(t,e){const r=await Oo(t,e);r.ok&&($e.list=r.apps,pe(e?"Path saved":"Path cleared","success"))}async function Qo(t){try{const e=await Lo(t);t.cwd&&($e.recentFolders=yo(t.cwd)),pe(`Launched ${t.appId}`,"success")}catch(e){pe(e instanceof Error?e.message:String(e),"error")}}async function Gn(){const t=await Do();return t.ok&&!t.canceled&&t.path?t.path:null}const Ht=Oe({loaded:null,tier:"zen",defaultFolder:null,anygateHome:null,logPaths:{},loading:!1});async function ev(){var t,e;Ht.loading=!0;try{Ht.loaded=await Mn(),Ht.anygateHome=((e=(t=globalThis.process)==null?void 0:t.env)==null?void 0:e.ANYGATE_HOME)??null}catch{}finally{Ht.loading=!1}}function tv(t){Ht.tier=t}const mt=Oe({list:[],loading:!1});async function ol(){mt.loading=!0;try{mt.list=await jo()}finally{mt.loading=!1}}async function rv(t){const e=t.id??`preset-${Date.now()}`,r=mt.list.findIndex(s=>s.id===e),a=[...mt.list],n={...t,id:e};r>=0?a[r]=n:a.push(n),mt.list=a,await rl(a),pe("Preset saved","success")}async function av(t){mt.list=mt.list.filter(e=>e.id!==t),await rl(mt.list)}li();var nv=x('<button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-6dohdz"><path></path></svg> <span> </span></button>'),sv=x('<aside class="sidebar svelte-6dohdz"><div class="brand svelte-6dohdz"><div class="monogram svelte-6dohdz">a</div> <div class="brand-meta"><div class="brand-name svelte-6dohdz">anygate</div> <div class="brand-byline svelte-6dohdz">ramananbuilds</div></div></div> <div class="version-row svelte-6dohdz"><span class="version svelte-6dohdz"> </span> <span class="health-dot svelte-6dohdz" title="Health check available"></span></div> <nav class="nav svelte-6dohdz" aria-label="Sections"></nav></aside>');function lv(t,e){de(e,!1);const r=[{id:"dashboard",label:"Dashboard",icon:"M3 12l9-9 9 9M5 10v10h5v-6h4v6h5V10"},{id:"providers",label:"Providers & Keys",icon:"M3 11h18v11H3zM7 11V7a5 5 0 0 1 10 0v4"},{id:"models",label:"Models",icon:"M4 6h16M4 12h16M4 18h16"},{id:"apps",label:"Apps & Launch",icon:"M2 3h20v14H2zM8 21h8M12 17v4"},{id:"server",label:"Server",icon:"M12 2v6M6 8a8 8 0 1 0 12 0"},{id:"settings",label:"Settings",icon:"M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8M3 12h2M19 12h2"}],a="0.5.4";Pn();var n=sv(),s=f(h(n),2),l=h(s),o=h(l),v=f(s,2);ye(v,5,()=>r,d=>d.id,(d,u)=>{var p=nv();let c;var g=h(p),y=h(g),_=f(g,2),w=h(_);N(()=>{c=Ze(p,1,"nav-item svelte-6dohdz",null,c,{active:bt.route===i(u).id}),we(p,"aria-current",bt.route===i(u).id?"page":void 0),we(y,"d",i(u).icon),I(w,i(u).label)}),se("click",p,()=>Wt(i(u).id)),m(d,p)}),N(()=>I(o,`v${a}`)),m(t,n),ce()}Ae(["click"]);function iv(){return typeof localStorage>"u"?"dark":localStorage.getItem("anygate-theme")==="light"?"light":"dark"}const Bt=Oe({value:iv()});function vl(t){typeof document>"u"||document.documentElement.setAttribute("data-theme",t)}typeof document<"u"&&vl(Bt.value);function dl(){Bt.value=Bt.value==="dark"?"light":"dark",typeof localStorage<"u"&&localStorage.setItem("anygate-theme",Bt.value),vl(Bt.value)}var ov=x("<span><!></span>");function Re(t,e){let r=oe(e,"tone",3,"neutral");var a=ov(),n=h(a);pr(n,()=>e.children),N(()=>Ze(a,1,`badge ${r()??""}`,"svelte-7j44kq")),m(t,a)}var vv=x("<button><!></button>");function ue(t,e){let r=oe(e,"variant",3,"primary"),a=oe(e,"size",3,"md"),n=oe(e,"disabled",3,!1),s=oe(e,"type",3,"button");var l=vv(),o=h(l);pr(o,()=>e.children),N(()=>{we(l,"type",s()),Ze(l,1,`btn ${r()??""} ${a()??""}`,"svelte-8a1c4v"),l.disabled=n()}),se("click",l,function(...v){var d;(d=e.onclick)==null||d.apply(this,v)}),m(t,l)}Ae(["click"]);var dv=x("<div><!></div>");function Ne(t,e){let r=oe(e,"padding",3,"18px"),a=oe(e,"hover",3,!1),n=oe(e,"class",3,"");var s=dv();let l;var o=h(s);pr(o,()=>e.children),N(()=>{l=Ze(s,1,`card glass ${n()??""}`,"svelte-it2i29",l,{hover:a()}),it(s,`padding:${r()??""}`),we(s,"role",e.onclick?"button":void 0)}),se("click",s,function(...v){var d;(d=e.onclick)==null||d.apply(this,v)}),m(t,s)}Ae(["click"]);var cv=x('<div class="drawer-head svelte-1cuwqu"> </div>'),uv=x('<div class="backdrop svelte-1cuwqu" role="presentation"><div role="dialog" aria-modal="true" tabindex="-1"><!> <div class="drawer-body svelte-1cuwqu"><!></div></div></div>');function fv(t,e){let r=oe(e,"title",3,""),a=oe(e,"side",3,"right");var n=dt(),s=te(n);{var l=o=>{var v=uv(),d=h(v),u=h(d);{var p=y=>{var _=cv(),w=h(_);N(()=>I(w,r())),m(y,_)};H(u,y=>{r()&&y(p)})}var c=f(u,2),g=h(c);pr(g,()=>e.children),N(()=>Ze(d,1,`drawer glass ${a()??""}`,"svelte-1cuwqu")),se("click",v,function(...y){var _;(_=e.onclose)==null||_.apply(this,y)}),se("click",d,y=>y.stopPropagation()),se("keydown",d,y=>y.stopPropagation()),m(o,v)};H(s,o=>{e.open&&o(l)})}m(t,n)}Ae(["click","keydown"]);var hv=x('<div class="sub svelte-16dv2jh"><!></div>'),pv=x('<div class="empty svelte-16dv2jh"><svg width="34" height="34" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <div class="title svelte-16dv2jh"> </div> <!></div>');function Nr(t,e){let r=oe(e,"title",3,"Nothing here yet"),a=oe(e,"icon",3,"M4 4h16v16H4z");var n=pv(),s=h(n),l=h(s),o=f(s,2),v=h(o),d=f(o,2);{var u=p=>{var c=hv(),g=h(c);pr(g,()=>e.children),m(p,c)};H(d,p=>{e.children&&p(u)})}N(()=>{we(l,"d",a()),I(v,r())}),m(t,n)}var _v=x("<span> </span>"),gv=x('<button class="icon-btn svelte-w50x32"><!> <!></button>');function cl(t,e){let r=oe(e,"label",3,""),a=oe(e,"disabled",3,!1),n=oe(e,"title",3,"");var s=gv(),l=h(s);{var o=d=>{var u=_v(),p=h(u);N(()=>I(p,r())),m(d,u)};H(l,d=>{r()&&d(o)})}var v=f(l,2);pr(v,()=>e.children??as),N(()=>{s.disabled=a(),we(s,"title",n()),we(s,"aria-label",n()||r())}),se("click",s,function(...d){var u;(u=e.onclick)==null||u.apply(this,d)}),m(t,s)}Ae(["click"]);var mv=x('<input class="input svelte-1xuvd1z"/>');function Rt(t,e){de(e,!0);let r=oe(e,"value",15,""),a=oe(e,"placeholder",3,""),n=oe(e,"type",3,"text"),s=oe(e,"id",3,"");var l=mv();N(()=>{we(l,"id",s()),we(l,"type",n()),we(l,"placeholder",a()),Sn(l,r())}),se("input",l,o=>{var v;r(o.currentTarget.value),(v=e.oninput)==null||v.call(e,r())}),se("keydown",l,function(...o){var v;(v=e.onkeydown)==null||v.apply(this,o)}),m(t,l),ce()}Ae(["input","keydown"]);var yv=x('<div class="modal-head svelte-1qk8a2o"> </div>'),wv=x('<div class="backdrop svelte-1qk8a2o" role="presentation"><div class="modal glass svelte-1qk8a2o" role="dialog" aria-modal="true" tabindex="-1"><!> <div class="modal-body"><!></div> <button class="modal-x svelte-1qk8a2o" aria-label="Close">×</button></div></div>');function ir(t,e){let r=oe(e,"title",3,"");var a=dt(),n=te(a);{var s=l=>{var o=wv(),v=h(o),d=h(v);{var u=y=>{var _=yv(),w=h(_);N(()=>I(w,r())),m(y,_)};H(d,y=>{r()&&y(u)})}var p=f(d,2),c=h(p);pr(c,()=>e.children);var g=f(p,2);se("click",o,function(...y){var _;(_=e.onclose)==null||_.apply(this,y)}),se("click",v,y=>y.stopPropagation()),se("keydown",v,y=>y.stopPropagation()),se("click",g,function(...y){var _;(_=e.onclose)==null||_.apply(this,y)}),m(l,o)};H(n,l=>{e.open&&l(s)})}m(t,a)}Ae(["click","keydown"]);var bv=x("<option> </option>"),xv=x('<select class="select svelte-13vr5hb"></select>');function br(t,e){de(e,!0);let r=oe(e,"value",15,""),a=oe(e,"id",3,""),n=oe(e,"disabled",3,!1);function s(v){var d;r(v.currentTarget.value),(d=e.onchange)==null||d.call(e,r())}var l=xv();ye(l,21,()=>e.options,v=>v.value,(v,d)=>{var u=bv(),p=h(u),c={};N(()=>{I(p,i(d).label),c!==(c=i(d).value)&&(u.value=(u.__value=i(d).value)??"")}),m(v,u)});var o;Vt(l),N(()=>{we(l,"id",a()),l.disabled=n(),o!==(o=r())&&(l.value=(l.__value=r())??"",$t(l,r()))}),se("change",l,s),m(t,l),ce()}Ae(["change"]);var kv=x('<span class="spinner inline svelte-18351lc"></span>'),Sv=x('<span class="lbl"> </span>'),Ev=x('<div class="spinner-wrap svelte-18351lc" role="status"><span class="spinner svelte-18351lc"></span> <!></div>');function fr(t,e){let r=oe(e,"size",3,18),a=oe(e,"label",3,""),n=oe(e,"inline",3,!1);var s=dt(),l=te(s);{var o=d=>{var u=kv();N(()=>it(u,`width:${r()??""}px;height:${r()??""}px`)),m(d,u)},v=d=>{var u=Ev(),p=h(u),c=f(p,2);{var g=y=>{var _=Sv(),w=h(_);N(()=>I(w,a())),m(y,_)};H(c,y=>{a()&&y(g)})}N(()=>{we(u,"aria-label",a()||"Loading"),it(p,`width:${r()??""}px;height:${r()??""}px`)}),m(d,u)};H(l,d=>{n()?d(o):d(v,-1)})}m(t,s)}var Pv=x('<button role="tab"> </button>'),Mv=x('<div class="tabs svelte-9oumej" role="tablist"></div>');function ul(t,e){de(e,!0);let r=oe(e,"active",15,"");var a=Mv();ye(a,21,()=>e.tabs,n=>n.id,(n,s)=>{var l=Pv();let o;var v=h(l);N(()=>{o=Ze(l,1,"tab svelte-9oumej",null,o,{active:r()===i(s).id}),we(l,"aria-selected",r()===i(s).id),I(v,i(s).label)}),se("click",l,()=>{var d;r(i(s).id),(d=e.onchange)==null||d.call(e,i(s).id)}),m(n,l)}),m(t,a),ce()}Ae(["click"]);var Av=x('<span class="lbl svelte-km5m9b"> </span>'),Tv=x('<label class="toggle-wrap svelte-km5m9b"><button type="button" role="switch"><span class="knob svelte-km5m9b"></span></button> <!></label>');function Ur(t,e){de(e,!0);let r=oe(e,"checked",11,!1),a=oe(e,"label",3,"");var n=Tv(),s=h(n);let l;var o=f(s,2);{var v=d=>{var u=Av(),p=h(u);N(()=>I(p,a())),m(d,u)};H(o,d=>{a()&&d(v)})}N(()=>{we(s,"aria-label",a()||"toggle"),we(s,"aria-checked",r()),l=Ze(s,1,"toggle svelte-km5m9b",null,l,{on:r()})}),se("click",s,()=>{var d;return(d=e.onchange)==null?void 0:d.call(e,!r())}),m(t,n),ce()}Ae(["click"]);var Cv=kn('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"></path></svg>'),Iv=kn('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.8A9 9 0 1 1 11.2 3 7 7 0 0 0 21 12.8z"></path></svg>'),Ov=x('<header class="topbar glass svelte-y7n507"><div class="title svelte-y7n507"><h1 class="svelte-y7n507"> </h1></div> <div class="actions svelte-y7n507"><button class="cmdk svelte-y7n507" title="Command palette (⌘K)"><span class="kbd svelte-y7n507">⌘K</span> Search</button> <!></div></header>');function Lv(t,e){de(e,!0);const r={dashboard:"Dashboard",providers:"Providers & Keys",models:"Models",apps:"Apps & Launch",server:"Server Gateway",settings:"Settings"},a=W(()=>r[bt.route]??"anygate");var n=Ov(),s=h(n),l=h(s),o=h(l),v=f(s,2),d=h(v),u=f(d,2);{let p=W(()=>Bt.value==="dark"?"Switch to light":"Switch to dark");cl(u,{get title(){return i(p)},get onclick(){return dl},children:(c,g)=>{var y=dt(),_=te(y);{var w=$=>{var D=Cv();m($,D)},P=$=>{var D=Iv();m($,D)};H(_,$=>{Bt.value==="dark"?$(w):$(P,-1)})}m(c,y)},$$slots:{default:!0}})}N(()=>I(o,i(a))),se("click",d,function(...p){Ba==null||Ba.apply(this,p)}),m(t,n),ce()}Ae(["click"]);var Dv=x('<div role="button" tabindex="0"><span class="dot svelte-1kymlcg"></span> <span class="msg"> </span></div>'),Fv=x('<div class="toaster svelte-1kymlcg" aria-live="polite"></div>');function Nv(t,e){de(e,!1);function r(n,s){(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),ln(s))}Pn();var a=Fv();ye(a,5,()=>gt.toasts,n=>n.id,(n,s)=>{var l=Dv(),o=f(h(l),2),v=h(o);N(()=>{Ze(l,1,`toast ${i(s).kind??""}`,"svelte-1kymlcg"),I(v,i(s).message)}),se("click",l,()=>ln(i(s).id)),se("keydown",l,d=>r(d,i(s).id)),m(n,l)}),m(t,a),ce()}Ae(["click","keydown"]);const He=Oe({status:null,loading:!1,starting:!1,error:null});let ea=null;async function vn(){try{He.status=await Fo(),He.error=null}catch(t){He.error=t instanceof Error?t.message:String(t)}}function $v(t=5e3){ea||(vn(),ea=setInterval(()=>{vn()},t))}function Rv(){ea&&(clearInterval(ea),ea=null)}async function jv(t){He.starting=!0;try{const e=await No(t);return e.ok&&e.status?(He.status=e.status,pe("Server gateway started","success"),!0):(pe(e.error??"Failed to start server","error"),!1)}catch(e){return pe(e instanceof Error?e.message:String(e),"error"),!1}finally{He.starting=!1}}async function zv(){try{await $o(),await vn(),pe("Server gateway stopped","info")}catch(t){pe(t instanceof Error?t.message:String(t),"error")}}var qv=x('<button class="opt svelte-wh9uu8"><span class="lbl svelte-wh9uu8"> </span> <span class="hint svelte-wh9uu8"> </span></button>'),Hv=x('<div class="none svelte-wh9uu8">No matches</div>'),Bv=x('<div class="backdrop svelte-wh9uu8" role="presentation"><div class="palette glass svelte-wh9uu8" role="dialog" aria-modal="true" tabindex="-1"><input class="q svelte-wh9uu8" placeholder="Search providers, models, apps…"/> <div class="list svelte-wh9uu8"><!> <!></div></div></div>');function Uv(t,e){de(e,!0);let r=oe(e,"query",15,""),a;Kt(()=>{a==null||a.focus()});const n=[{id:"dashboard",route:"dashboard",label:"Dashboard",hint:"Overview & quick launch"},{id:"providers",route:"providers",label:"Providers & Keys",hint:"Manage API keys & OAuth"},{id:"models",route:"models",label:"Models",hint:"Browse & favorite models"},{id:"apps",route:"apps",label:"Apps & Launch",hint:"Launch Claude, Codex, Gemini"},{id:"server",route:"server",label:"Server Gateway",hint:"Start the local API server"},{id:"settings",route:"settings",label:"Settings",hint:"Theme, presets, import/export"}],s=W(()=>n.filter(_=>_.label.toLowerCase().includes(r().toLowerCase())||_.hint.toLowerCase().includes(r().toLowerCase())));function l(_){Wt(_.route),e.onclose()}function o(_){_.key==="Escape"&&e.onclose()}var v=Bv();xa("keydown",tn,o);var d=h(v),u=h(d);io(u,_=>a=_,()=>a);var p=f(u,2),c=h(p);ye(c,17,()=>i(s),_=>_.id,(_,w)=>{var P=qv(),$=h(P),D=h($),M=f($,2),T=h(M);N(()=>{I(D,i(w).label),I(T,i(w).hint)}),se("click",P,()=>l(i(w))),m(_,P)});var g=f(c,2);{var y=_=>{var w=Hv();m(_,w)};H(g,_=>{i(s).length===0&&_(y)})}se("click",v,function(..._){var w;(w=e.onclose)==null||w.apply(this,_)}),se("click",d,_=>_.stopPropagation()),se("keydown",d,_=>_.stopPropagation()),En(u,r),m(t,v),ce()}Ae(["click","keydown"]);async function Gv(t){const e=await fetch(`/api/analytics?range=${t}`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`analytics ${e.status}`);return await e.json()}function Kv(t){let e=t>>>0;return()=>{e|=0,e=e+1831565813|0;let r=Math.imul(e^e>>>15,1|e);return r=r+Math.imul(r^r>>>7,61|r)^r,((r^r>>>14)>>>0)/4294967296}}const Kn=["oklch(75% 0.16 65)","oklch(70% 0.15 200)","oklch(68% 0.16 150)","oklch(72% 0.17 300)","oklch(70% 0.18 20)","oklch(74% 0.15 95)"],Vn=[{provider:"NVIDIA",model:"Nemotron-70B",tier:"free",app:"Claude"},{provider:"OpenCode",model:"Go-DeepSeek-v4",tier:"go",app:"Codex"},{provider:"Anthropic",model:"Claude Sonnet 4",tier:"zen",app:"Claude"},{provider:"OpenAI",model:"GPT-5.4",tier:"go",app:"Codex"},{provider:"Google",model:"Gemini 2.5 Pro",tier:"free",app:"Antigravity"},{provider:"xAI",model:"Grok-4",tier:"go",app:"Codex"}];function fl(t){return t==="7d"?7:t==="30d"?30:365}function Vv(t,e){const r=fl(t),a=[],n=new Date;n.setHours(0,0,0,0);let s=0;for(let l=r-1;l>=0;l--){const o=new Date(n);o.setDate(n.getDate()-l);const v=o.getDay(),d=v===0||v===6?.45:1,u=.6+.4*(1-l/r),p=e(),c=Math.max(0,Math.min(4,Math.round(p*4*d*u)));c>0&&s++,a.push({date:o.toISOString().slice(0,10),count:c===0?0:Math.round((20+e()*180)*c),intensity:c})}return{days:a,activeDays:s}}function Wv(t,e){const r=fl(t),a=[],n=new Date;n.setHours(0,0,0,0);for(let s=r-1;s>=0;s--){const l=new Date(n);l.setDate(n.getDate()-s);const o=l.getDay(),v=o===0||o===6?.5:1,d=(12e5+e()*98e5)*v;a.push({date:l.toISOString().slice(0,10),tokens:Math.round(d)})}return a}function Yv(t,e){const r=Vn.map(()=>.4+e()),a=r.reduce((s,l)=>s+l,0),n=Vn.map((s,l)=>{const o=r[l]/a,v=Math.round((8e6+e()*9e7)*(t==="7d"?.25:t==="30d"?.7:1)),d=Math.round(v*(.78+e()*.06));return{provider:s.provider,model:s.model,tier:s.tier,app:s.app,inputTokens:d,outputTokens:v-d,share:o,color:Kn[l%Kn.length]}});return n.sort((s,l)=>l.share-s.share),n}function Jv(t){const r=Kv((t==="7d"?7:t==="30d"?30:365)*2654435761),a=Vv(t,r),n=Wv(t,r),s=Yv(t,r),l=n.reduce((_,w)=>_+w.tokens,0),o=Math.round(l/1600),v=Math.round(o/577),d=a.activeDays;let u=0;for(let _=a.days.length-1;_>=0&&a.days[_].intensity>0;_--)u++;let p=0,c=0;for(const _ of a.days)_.intensity>0?(c++,p=Math.max(p,c)):c=0;const g=19,y=s[0];return{range:t,sessions:v,messages:o,totalTokens:l,activeDays:d,currentStreakDays:u,longestStreakDays:p,peakHour:g,favoriteModel:`${y.provider}: ${y.model}`,heatmap:a.days,dailyTokens:n,models:s}}const ke=Oe({report:null,range:"all",loading:!1,error:null,mock:!0});async function Wn(t=ke.range){ke.range=t,ke.loading=!0;try{let e;try{e=await Gv(t),ke.mock=!1}catch{e=Jv(t),ke.mock=!0}ke.report=e,ke.error=null}catch(e){ke.error=e instanceof Error?e.message:String(e)}finally{ke.loading=!1}}const De=Oe({report:null,available:!1,loading:!1,error:null});async function Yn(){var t,e;De.loading=!0;try{const r=await Ro();De.report=r,De.available=r.ok||!!((t=r.keychain)!=null&&t.available)||(((e=r.conflictingEnvVars)==null?void 0:e.length)??0)>0}catch(r){De.error=r instanceof Error?r.message:String(r),De.available=!1}finally{De.loading=!1}}var Xv=x('<div class="note svelte-lftxrq">Health check needs a newer anygate. Showing degraded diagnostics until the backend implements <code class="svelte-lftxrq">/api/health</code>.</div>'),Zv=x('<div class="note svelte-lftxrq"> </div>'),Qv=x('<div class="checks svelte-lftxrq"><div class="check svelte-lftxrq"><span class="k svelte-lftxrq">Keychain / credential store</span> <span class="v svelte-lftxrq"> </span></div> <div class="check svelte-lftxrq"><span class="k svelte-lftxrq">Port 17645</span> <span class="v svelte-lftxrq"> </span></div> <div class="check svelte-lftxrq"><span class="k svelte-lftxrq">Conflicting env vars</span> <span class="v svelte-lftxrq"> </span></div></div> <!>',1),ed=x('<div class="panel svelte-lftxrq"><div class="row svelte-lftxrq"><h3 class="svelte-lftxrq">Connection Health</h3> <!></div> <!> <!> <div class="actions svelte-lftxrq"><!></div></div>');function td(t,e){de(e,!0);let r=Q(!1);Kt(()=>{i(r)||(Yn(),C(r,!0))});var a=ed(),n=h(a),s=f(h(n),2);{var l=_=>{fr(_,{inline:!0,size:16})},o=_=>{Re(_,{tone:"success",children:(w,P)=>{var $=J("OK");m(w,$)},$$slots:{default:!0}})},v=_=>{Re(_,{tone:"warning",children:(w,P)=>{var $=J("Limited");m(w,$)},$$slots:{default:!0}})};H(s,_=>{De.loading?_(l):De.available?_(o,1):_(v,-1)})}var d=f(n,2);{var u=_=>{var w=Xv();m(_,w)};H(d,_=>{!De.available&&!De.loading&&_(u)})}var p=f(d,2);{var c=_=>{var w=Qv(),P=te(w),$=h(P),D=f(h($),2),M=h(D),T=f($,2),B=f(h(T),2),E=h(B),U=f(T,2),L=f(h(U),2),O=h(L),k=f(P,2);{var z=S=>{var q=Zv(),A=h(q);N(()=>I(A,De.report.note)),m(S,q)};H(k,S=>{De.report.note&&S(z)})}N(S=>{var q;I(M,(q=De.report.keychain)!=null&&q.available?"Available":"Unavailable"),I(E,De.report.port17645Available?"Free":"In use"),I(O,S)},[()=>{var S;return(S=De.report.conflictingEnvVars)!=null&&S.length?De.report.conflictingEnvVars.join(", "):"None"}]),m(_,w)};H(p,_=>{De.report&&_(c)})}var g=f(p,2),y=h(g);ue(y,{size:"sm",variant:"ghost",onclick:()=>Yn(),children:(_,w)=>{var P=J("Re-check");m(_,P)},$$slots:{default:!0}}),m(t,a),ce()}var rd=x("<button> </button>"),ad=x('<div class="seg svelte-1yfbpb7" role="group" aria-label="Time range"></div>');function nd(t,e){de(e,!0);let r=oe(e,"value",15,"all");const a=[{id:"all",label:"All"},{id:"30d",label:"30d"},{id:"7d",label:"7d"}];var n=ad();ye(n,21,()=>a,s=>s.id,(s,l)=>{var o=rd();let v;var d=h(o);N(()=>{v=Ze(o,1,"opt svelte-1yfbpb7",null,v,{active:r()===i(l).id}),we(o,"aria-pressed",r()===i(l).id),I(d,i(l).label)}),se("click",o,()=>{var u;r(i(l).id),(u=e.onchange)==null||u.call(e,i(l).id)}),m(s,o)}),m(t,n),ce()}Ae(["click"]);var sd=x('<span class="sub svelte-14oot77"> </span>'),ld=x('<div class="stat svelte-14oot77"><span class="lbl svelte-14oot77"> </span> <span class="num svelte-14oot77"> </span> <!></div>');function id(t,e){var r=ld(),a=h(r),n=h(a),s=f(a,2),l=h(s),o=f(s,2);{var v=d=>{var u=sd(),p=h(u);N(()=>I(p,e.sub)),m(d,u)};H(o,d=>{e.sub&&d(v)})}N(()=>{I(n,e.label),we(s,"title",e.value),I(l,e.value)}),m(t,r)}var od=x('<div class="grid svelte-9jn9wt"></div>');function vd(t,e){de(e,!0);function r(l){return l>=1e9?`${(l/1e9).toFixed(1)}B`:l>=1e6?`${(l/1e6).toFixed(1)}M`:l>=1e3?`${(l/1e3).toFixed(1)}k`:String(l)}function a(l){const o=l<12;return`${l%12===0?12:l%12} ${o?"AM":"PM"}`}const n=W(()=>[{label:"Sessions",value:r(e.report.sessions)},{label:"Messages",value:r(e.report.messages)},{label:"Total tokens",value:r(e.report.totalTokens)},{label:"Active days",value:String(e.report.activeDays)},{label:"Current streak",value:`${e.report.currentStreakDays}d`},{label:"Longest streak",value:`${e.report.longestStreakDays}d`},{label:"Peak hour",value:a(e.report.peakHour)},{label:"Favorite model",value:e.report.favoriteModel}]);var s=od();ye(s,21,()=>i(n),l=>l.label,(l,o)=>{Ne(l,{padding:"18px",children:(v,d)=>{id(v,{get label(){return i(o).label},get value(){return i(o).value}})},$$slots:{default:!0}})}),m(t,s),ce()}var dd=x("<span> </span>"),cd=x('<div class="cell svelte-1ryzkww"></div>'),ud=x('<div class="cell empty svelte-1ryzkww"></div>'),fd=x('<div class="col svelte-1ryzkww"></div>'),hd=x('<span class="key svelte-1ryzkww"></span>'),pd=x('<div class="heat svelte-1ryzkww"><div class="months svelte-1ryzkww"></div> <div class="weeks svelte-1ryzkww"></div> <div class="legend svelte-1ryzkww"><span>Less</span> <!> <span>More</span></div></div>');function _d(t,e){de(e,!0);const r=W(()=>{if(e.days.length===0)return[];const p=new Date(e.days[0].date+"T00:00:00").getDay(),c=[...Array(p).fill(null),...e.days],g=[];for(let y=0;y<c.length;y+=7)g.push(c.slice(y,y+7));return g}),a=W(()=>{const u=[];let p=-1;return e.days.forEach((c,g)=>{const y=g+(i(r).length?new Date(e.days[0].date+"T00:00:00").getDay():0),_=Math.floor(y/7),w=new Date(c.date+"T00:00:00").getMonth();w!==p&&(u.push({col:_,label:new Date(c.date+"T00:00:00").toLocaleString("en",{month:"short"})}),p=w)}),u}),n=u=>{switch(u){case 0:return"var(--surface-2)";case 1:return"oklch(75% 0.16 65 / 0.28)";case 2:return"oklch(75% 0.16 65 / 0.5)";case 3:return"oklch(75% 0.16 65 / 0.74)";default:return"var(--accent)"}};var s=pd(),l=h(s);ye(l,21,()=>i(r),lr,(u,p,c)=>{const g=W(()=>i(a).find(P=>P.col===c));var y=dd();let _;var w=h(y);N(()=>{_=Ze(y,1,"month svelte-1ryzkww",null,_,{has:!!i(g)}),I(w,i(g)?i(g).label:"")}),m(u,y)});var o=f(l,2);ye(o,21,()=>i(r),lr,(u,p)=>{var c=fd();ye(c,21,()=>i(p),lr,(g,y)=>{var _=dt(),w=te(_);{var P=D=>{var M=cd();N(T=>{it(M,`background:${T??""}`),we(M,"title",`${i(y).date} · ${i(y).count} activities`)},[()=>n(i(y).intensity)]),m(D,M)},$=D=>{var M=ud();m(D,M)};H(w,D=>{i(y)?D(P):D($,-1)})}m(g,_)}),m(u,c)});var v=f(o,2),d=f(h(v),2);ye(d,16,()=>[0,1,2,3,4],u=>u,(u,p)=>{var c=hd();N(g=>it(c,`background:${g??""}`),[()=>n(p)]),m(u,c)}),m(t,s),ce()}var gd=x('<div class="gridline svelte-1ozbyr9"></div>'),md=x('<div class="bar-col svelte-1ozbyr9"><div class="bar-area svelte-1ozbyr9"><div class="bar svelte-1ozbyr9"></div></div> <div class="xlabel svelte-1ozbyr9"><!></div></div>'),yd=x("<span> </span>"),wd=x('<div class="chart svelte-1ozbyr9"><div class="scroll svelte-1ozbyr9"><div class="bars svelte-1ozbyr9"><div class="gridlines svelte-1ozbyr9"></div> <!></div></div> <div class="yaxis svelte-1ozbyr9"></div></div>');function bd(t,e){de(e,!0);const r=W(()=>Math.max(1,...e.data.map(_=>_.tokens)));function a(_){if(_<=0)return 1;const w=Math.floor(Math.log10(_)),P=Math.pow(10,w),$=_/P;let D;return $<=1?D=1:$<=2?D=2:$<=5?D=5:D=10,D*P}const n=W(()=>a(i(r))),s=W(()=>Array.from({length:5},(_,w)=>i(n)*(1-w/4)));function l(_){return _>=1e9?`${(_/1e9).toFixed(1)}B`:_>=1e6?`${(_/1e6).toFixed(0)}M`:_>=1e3?`${(_/1e3).toFixed(0)}k`:String(_)}function o(_){return new Date(_+"T00:00:00").toLocaleString("en",{month:"short"})}function v(_){if(_===0)return!0;const w=new Date(e.data[_-1].date+"T00:00:00").getMonth(),P=new Date(e.data[_].date+"T00:00:00").getMonth();return w!==P}var d=wd(),u=h(d),p=h(u),c=h(p);ye(c,20,()=>i(s),_=>_,(_,w)=>{var P=gd();m(_,P)});var g=f(c,2);ye(g,19,()=>e.data,_=>_.date,(_,w,P)=>{var $=md(),D=h($),M=h(D),T=f(D,2),B=h(T);{var E=L=>{var O=J();N(k=>I(O,k),[()=>o(i(w).date)]),m(L,O)},U=W(()=>v(i(P)));H(B,L=>{i(U)&&L(E)})}N(L=>{we($,"title",L),it(M,`height:${i(w).tokens/i(n)*100}%`)},[()=>`${i(w).date} · ${l(i(w).tokens)} tokens`]),m(_,$)});var y=f(u,2);ye(y,20,()=>i(s),_=>_,(_,w)=>{var P=yd(),$=h(P);N(D=>I($,D),[()=>l(w)]),m(_,P)}),m(t,d),ce()}var xd=x('<div class="row svelte-1ca0tub"><span class="dot svelte-1ca0tub"></span> <div class="id svelte-1ca0tub"><div class="name svelte-1ca0tub"> </div> <div class="meta svelte-1ca0tub"> </div></div> <div class="nums svelte-1ca0tub"><span class="in svelte-1ca0tub"> </span> <span class="out svelte-1ca0tub"> </span></div> <div class="share svelte-1ca0tub"><div class="track svelte-1ca0tub"><div class="fill svelte-1ca0tub"></div></div> <span class="pct svelte-1ca0tub"> </span></div></div>'),kd=x('<div class="list svelte-1ca0tub"></div>');function Sd(t,e){de(e,!0);function r(l){return l>=1e9?`${(l/1e9).toFixed(1)}B`:l>=1e6?`${(l/1e6).toFixed(1)}M`:l>=1e3?`${(l/1e3).toFixed(0)}k`:String(l)}function a(l){const o=l.map(c=>c.share*100),v=o.map(c=>Math.floor(c));let d=100-v.reduce((c,g)=>c+g,0);const u=o.map((c,g)=>({i:g,frac:c-Math.floor(c)})).sort((c,g)=>g.frac-c.frac),p=v.slice();for(let c=0;c<u.length&&d>0;c++)p[u[c].i]+=1,d--;return p}const n=W(()=>a(e.models));var s=kd();ye(s,23,()=>e.models,l=>l.provider+l.model,(l,o,v)=>{var d=xd(),u=h(d),p=f(u,2),c=h(p),g=h(c),y=f(c,2),_=h(y),w=f(p,2),P=h(w),$=h(P),D=f(P,2),M=h(D),T=f(w,2),B=h(T),E=h(B),U=f(B,2),L=h(U);N((O,k)=>{it(u,`background:${i(o).color??""}`),we(c,"title",`${i(o).provider??""}: ${i(o).model??""}`),I(g,`${i(o).provider??""}: ${i(o).model??""}`),I(_,`${i(o).tier??""} · ${i(o).app??""}`),I($,`↓ ${O??""}`),I(M,`↑ ${k??""}`),it(E,`width:${i(n)[i(v)]??""}%; background:${i(o).color??""}`),I(L,`${i(n)[i(v)]??""}%`)},[()=>r(i(o).inputTokens),()=>r(i(o).outputTokens)]),m(l,d)}),m(t,s),ce()}var Ed=x('<span class="sample svelte-1thed0a" title="Sample data — connect a backend to see real usage">Sample</span>'),Pd=x('<div class="loading svelte-1thed0a"><!></div>'),Md=x('<div class="sec-head svelte-1thed0a"><h3 class="svelte-1thed0a">Activity</h3><span class="hint svelte-1thed0a"> </span></div> <!>',1),Ad=x('<div class="section svelte-1thed0a"><!></div> <!>',1),Td=x('<div class="sec-head svelte-1thed0a"><h3 class="svelte-1thed0a">Token volume</h3><span class="hint svelte-1thed0a">Total tokens per day</span></div> <!>',1),Cd=x('<div class="sec-head svelte-1thed0a"><h3 class="svelte-1thed0a">Model breakdown</h3><span class="hint svelte-1thed0a">Share of total usage</span></div> <!>',1),Id=x("<!> <!>",1),Od=x('<p class="muted svelte-1thed0a">No apps detected. Add a provider first.</p>'),Ld=x('<div class="quick svelte-1thed0a"><!> <!></div>'),Dd=x('<div class="sec-head svelte-1thed0a"><h3 class="svelte-1thed0a">Quick launch</h3></div> <!>',1),Fd=x('<div class="stat svelte-1thed0a"><span class="num svelte-1thed0a"> </span><span class="lbl svelte-1thed0a">Providers</span></div>'),Nd=x('<div class="stat svelte-1thed0a"><span class="num svelte-1thed0a"> </span><span class="lbl svelte-1thed0a">Models</span></div>'),$d=x('<div class="stat svelte-1thed0a"><span class="num svelte-1thed0a"> </span><span class="lbl svelte-1thed0a">Favorites</span></div>'),Rd=x('<div class="stat svelte-1thed0a"><span class="num svelte-1thed0a"> </span><span class="lbl svelte-1thed0a">Apps ready</span> <!></div>'),jd=x('<div class="dash svelte-1thed0a"><div class="head svelte-1thed0a"><div class="title svelte-1thed0a"><div class="title-row svelte-1thed0a"><h2 class="svelte-1thed0a">Dashboard</h2> <!></div> <p class="svelte-1thed0a"> </p></div> <!></div> <!> <!> <div class="cols mt svelte-1thed0a"><!> <!></div> <div class="grid mt svelte-1thed0a"><!> <!> <!> <!></div></div>');function zd(t,e){de(e,!0);let r=oe(e,"showSampleBadge",3,!0),a=Q("overview");const n=W(()=>Me.list.reduce((S,q)=>S+q.enrichedModels.length,0)),s=W(()=>Me.list.length),l=W(()=>$e.list.filter(S=>S.installed));function o(S){Wn(S)}Kt(()=>{Wn(ke.range)});var v=jd(),d=h(v),u=h(d),p=h(u),c=f(h(p),2);{var g=S=>{var q=Ed();m(S,q)};H(c,S=>{r()&&ke.mock&&S(g)})}var y=f(p,2),_=h(y),w=f(u,2);nd(w,{get value(){return ke.range},onchange:o});var P=f(d,2);ul(P,{tabs:[{id:"overview",label:"Overview"},{id:"models",label:"Models"}],get active(){return i(a)},set active(S){C(a,S,!0)}});var $=f(P,2);{var D=S=>{var q=Pd(),A=h(q);fr(A,{label:"Loading analytics…"}),m(S,q)},M=S=>{var q=dt(),A=te(q);{var R=j=>{var F=Ad(),G=te(F),Y=h(G);vd(Y,{get report(){return ke.report}});var Z=f(G,2);Ne(Z,{padding:"20px",class:"mt",children:(K,re)=>{var ee=Md(),xe=te(ee),ve=f(h(xe)),ge=h(ve),je=f(xe,2);_d(je,{get days(){return ke.report.heatmap}}),N(()=>I(ge,`Daily activity over ${(ke.range==="all"?"the last year":ke.range)??""}`)),m(K,ee)},$$slots:{default:!0}}),m(j,F)},V=j=>{var F=Id(),G=te(F);Ne(G,{padding:"20px",class:"mt",children:(Z,K)=>{var re=Td(),ee=f(te(re),2);bd(ee,{get data(){return ke.report.dailyTokens}}),m(Z,re)},$$slots:{default:!0}});var Y=f(G,2);Ne(Y,{padding:"20px",class:"mt",children:(Z,K)=>{var re=Cd(),ee=f(te(re),2);Sd(ee,{get models(){return ke.report.models}}),m(Z,re)},$$slots:{default:!0}}),m(j,F)};H(A,j=>{i(a)==="overview"?j(R):j(V,-1)})}m(S,q)};H($,S=>{ke.loading&&!ke.report?S(D):ke.report&&S(M,1)})}var T=f($,2),B=h(T);Ne(B,{padding:"20px",children:(S,q)=>{var A=Dd(),R=f(te(A),2);{var V=F=>{fr(F,{label:"Loading apps…"})},j=F=>{var G=Ld(),Y=h(G);ye(Y,17,()=>i(l),re=>re.id,(re,ee)=>{ue(re,{variant:"subtle",onclick:()=>Wt("apps"),children:(xe,ve)=>{var ge=J();N(()=>I(ge,i(ee).name)),m(xe,ge)},$$slots:{default:!0}})});var Z=f(Y,2);{var K=re=>{var ee=Od();m(re,ee)};H(Z,re=>{i(l).length===0&&re(K)})}m(F,G)};H(R,F=>{$e.loading?F(V):F(j,-1)})}m(S,A)},$$slots:{default:!0}});var E=f(B,2);td(E,{});var U=f(T,2),L=h(U);Ne(L,{hover:!0,padding:"18px",onclick:()=>Wt("providers"),children:(S,q)=>{var A=Fd(),R=h(A),V=h(R);N(()=>I(V,i(s))),m(S,A)},$$slots:{default:!0}});var O=f(L,2);Ne(O,{hover:!0,padding:"18px",onclick:()=>Wt("models"),children:(S,q)=>{var A=Nd(),R=h(A),V=h(R);N(()=>I(V,i(n))),m(S,A)},$$slots:{default:!0}});var k=f(O,2);Ne(k,{hover:!0,padding:"18px",onclick:()=>Wt("models"),children:(S,q)=>{var A=$d(),R=h(A),V=h(R);N(()=>I(V,he.general.length+he.agy.length)),m(S,A)},$$slots:{default:!0}});var z=f(k,2);Ne(z,{hover:!0,padding:"18px",onclick:()=>Wt("apps"),children:(S,q)=>{var A=Rd(),R=h(A),V=h(R),j=f(R,3);{var F=G=>{Re(G,{tone:"success",children:(Y,Z)=>{var K=J("server on");m(Y,K)},$$slots:{default:!0}})};H(j,G=>{var Y;(Y=He.status)!=null&&Y.running&&G(F)})}N(()=>I(V,i(l).length)),m(S,A)},$$slots:{default:!0}}),N(()=>I(_,`Usage analytics for your local gateway · ${(ke.range==="all"?"all time":ke.range)??""}`)),m(t,v),ce()}const Jn={anthropic:["#d97757","#b3543a"],openai:["#10a37f","#0d8268"],google:["#4285f4","#34a853"],gemini:["#4285f4","#a855f7"],xai:["#ae1fym","#1a1a1a"],openrouter:["#f1553a","#c43e26"],deepseek:["#4d6bfe","#3457d5"],ollama:["#e6e6e6","#b0b0b0"],kilocode:["#7c5cff","#5b3fd6"],mistral:["#fa520f","#d23c00"],meta:["#0668e1","#0a4fb0"],qwen:["#615ced","#4633c4"],default:["#e0a44a","#b5822f"]},qd={anthropic:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2a1 1 0 0 1 1 1v3.2l6.5-3.75a1 1 0 0 1 1.5.87V11l3.5-2.02a1 1 0 0 1 1 1.73L21.5 13l3.5 2.02a1 1 0 0 1-1 1.73L20 14.98V22a1 1 0 0 1-1.5.87L12 19.12V23a1 1 0 0 1-2 0v-3.88L3.5 22.87A1 1 0 0 1 2 22v-7.02L-1.5 17a1 1 0 0 1-1-1.73L2.5 13l-3.5-2.02a1 1 0 0 1 1-1.73L4 9.98V2a1 1 0 0 1 1.5-.87L12 4.8V3a1 1 0 0 1 1-1z" transform="translate(1 1)"/></svg>',openai:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M22 12a4 4 0 0 0-.7-2.3l.1-.1a3.7 3.7 0 0 0-5.2-5.2l-.1.1A4 4 0 0 0 12 2l-.1.1A3.7 3.7 0 0 0 7.1 4.7l-.1-.1a3.7 3.7 0 0 0-5.2 5.2l.1.1A4 4 0 0 0 2 12l-.1.1A3.7 3.7 0 0 0 4.7 16.9l.1-.1A4 4 0 0 0 12 22l.1-.1A3.7 3.7 0 0 0 16.9 19.3l.1.1a3.7 3.7 0 0 0 5.2-5.2l-.1-.1A4 4 0 0 0 22 12zM12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z"/></svg>',google:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 11v3.6h5.1a4.4 4.4 0 0 1-1.9 2.9l3 2.3c1.7-1.6 2.8-4 2.8-6.9 0-.7-.1-1.3-.2-1.9zM6.5 13.5a4.5 4.5 0 0 1 0-3l-3-2.3a8 8 0 0 0 0 7.6zM12 6.2c1.5 0 2.8.5 3.8 1.5l2.9-2.9A8 8 0 0 0 3.5 8.7l3 2.3A4.5 4.5 0 0 1 12 6.2z"/></svg>'};function Hd(t){const e=t.toLowerCase();return{svg:qd[e],gradient:Jn[e]??Jn.default}}var Bd=x('<span class="svg svelte-1va9fof"></span>'),Ud=x('<span class="mono svelte-1va9fof"> </span>'),Gd=x('<span class="logo svelte-1va9fof"><!></span>');function Cn(t,e){de(e,!0);let r=oe(e,"size",3,34);const a=W(()=>Hd(e.id)),n=W(()=>e.id.slice(0,1).toUpperCase());var s=Gd(),l=h(s);{var o=d=>{var u=Bd();Zi(u,()=>i(a).svg,!0),N(()=>it(u,`width:${r()*.55}px;height:${r()*.55}px`)),m(d,u)},v=d=>{var u=Ud(),p=h(u);N(()=>{it(u,`font-size:${r()*.42}px`),I(p,i(n))}),m(d,u)};H(l,d=>{i(a).svg?d(o):d(v,-1)})}N(()=>it(s,`width:${r()??""}px;height:${r()??""}px;background:linear-gradient(135deg,${i(a).gradient[0]??""},${i(a).gradient[1]??""});`)),m(t,s),ce()}var Kd=x('<span class="chip svelte-1p75598"> </span>'),Vd=x('<span class="chip more svelte-1p75598"> </span>'),Wd=x('<span class="chip empty svelte-1p75598">no models yet</span>'),Yd=x('<a class="keylink svelte-1p75598" target="_blank" rel="noopener noreferrer">Get key →</a>'),Jd=x("<!> <!>",1),Xd=kn('<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6"></path></svg>'),Zd=x('<div class="card svelte-1p75598"><div class="head svelte-1p75598"><!> <div class="meta svelte-1p75598"><div class="name svelte-1p75598"> </div> <div class="sub svelte-1p75598"> <span class="id svelte-1p75598"> </span></div></div> <div class="status"><!></div></div> <div class="models svelte-1p75598"><!> <!> <!></div> <div class="actions svelte-1p75598"><!> <!></div></div>');function Qd(t,e){de(e,!0);var r=Zd(),a=h(r),n=h(a);Cn(n,{get id(){return e.provider.id}});var s=f(n,2),l=h(s),o=h(l),v=f(l,2),d=h(v),u=f(d),p=h(u),c=f(s,2),g=h(c);{var y=S=>{Re(S,{tone:"success",children:(q,A)=>{var R=J();N(()=>I(R,e.provider.freeAccess?"Free access":"Key set")),m(q,R)},$$slots:{default:!0}})},_=S=>{Re(S,{tone:"accent",children:(q,A)=>{var R=J("OAuth");m(q,R)},$$slots:{default:!0}})},w=S=>{Re(S,{tone:"warning",children:(q,A)=>{var R=J("No key");m(q,R)},$$slots:{default:!0}})};H(g,S=>{e.provider.hasKey||e.provider.freeAccess?S(y):e.provider.authType==="oauth"?S(_,1):S(w,-1)})}var P=f(a,2),$=h(P);ye($,17,()=>e.provider.enrichedModels.slice(0,5),S=>S.id,(S,q)=>{var A=Kd(),R=h(A);N(()=>{we(A,"title",i(q).id),I(R,i(q).name??i(q).id)}),m(S,A)});var D=f($,2);{var M=S=>{var q=Vd(),A=h(q);N(()=>I(A,`+${e.provider.enrichedModels.length-5}`)),m(S,q)};H(D,S=>{e.provider.enrichedModels.length>5&&S(M)})}var T=f(D,2);{var B=S=>{var q=Wd();m(S,q)};H(T,S=>{e.provider.enrichedModels.length===0&&S(B)})}var E=f(P,2),U=h(E);{var L=S=>{ue(S,{size:"sm",variant:"subtle",onclick:()=>e.onOAuth(e.provider),children:(q,A)=>{var R=J("Sign in");m(q,R)},$$slots:{default:!0}})},O=S=>{var q=Jd(),A=te(q);ue(A,{size:"sm",variant:"primary",onclick:()=>e.onAddKey(e.provider),children:(j,F)=>{var G=J("Add key");m(j,G)},$$slots:{default:!0}});var R=f(A,2);{var V=j=>{var F=Yd();N(()=>we(F,"href",e.provider.signupUrl)),m(j,F)};H(R,j=>{e.provider.signupUrl&&j(V)})}m(S,q)},k=S=>{ue(S,{size:"sm",variant:"ghost",onclick:()=>nl(e.provider.id),children:(q,A)=>{var R=J("Refresh");m(q,R)},$$slots:{default:!0}})};H(U,S=>{e.provider.authType==="oauth"?S(L):!e.provider.hasKey&&!e.provider.freeAccess?S(O,1):S(k,-1)})}var z=f(U,2);cl(z,{title:"Delete provider",onclick:()=>e.onDelete(e.provider),children:(S,q)=>{var A=Xd();m(S,A)},$$slots:{default:!0}}),N(()=>{I(o,e.provider.name),I(d,`${e.provider.modelCount??""} models · `),I(p,e.provider.id)}),m(t,r),ce()}var ec=x('<p style="color:var(--text-3)">Loading templates…</p>'),tc=x("<option> </option>"),rc=x('<a class="hint-link svelte-263z8" target="_blank" rel="noopener noreferrer">Get an API key →</a>'),ac=x('<span class="lbl svelte-263z8" style="margin-top:14px">API key</span> <!> <!>',1),nc=x('<span class="lbl svelte-263z8" style="margin-top:14px"> </span> <!>',1),sc=x('<span class="lbl svelte-263z8" style="margin-top:14px">Display name</span> <!> <span class="lbl svelte-263z8" style="margin-top:14px">Base URL</span> <!> <span class="lbl svelte-263z8" style="margin-top:14px">API key <span style="color:var(--text-3)">(optional)</span></span> <!>',1),lc=x('<span class="lbl svelte-263z8">Provider</span> <select class="sel svelte-263z8"><option>Select a provider…</option><!></select> <!> <!> <!> <div class="row svelte-263z8" style="margin-top:20px;justify-content:flex-end;gap:8px"><!> <!></div>',1);function ic(t,e){de(e,!0);let r=Q(Oe([])),a=Q(!1),n=Q(null),s=Q(""),l=Q(""),o=Q(""),v=Q(!1);async function d(){C(a,!0);try{C(r,(await Eo()).templates,!0)}catch(y){pe(String(y),"error")}C(a,!1)}Kt(()=>{e.open&&(d(),C(n,null),C(s,""),C(l,""),C(o,""))});const u=W(()=>i(r).find(y=>y.id===i(n))),p=W(()=>i(n)==="__custom_openai__"),c=W(()=>i(n)==="__custom_anthropic__");async function g(){if(i(n)){C(v,!0);try{let y;i(p)||i(c)?y=await Mo({kind:i(p)?"openai":"anthropic",displayName:i(o),baseUrl:i(l),apiKey:i(s)}):y=await Po(i(n),i(s)||void 0,i(l)||void 0),y.ok?(pe(`Added ${y.name??i(n)}`,"success"),e.onadded(),e.onclose()):pe(y.error??"Failed to add provider","error")}catch(y){pe(y instanceof Error?y.message:String(y),"error")}C(v,!1)}}ir(t,{get open(){return e.open},title:"Add provider",get onclose(){return e.onclose},children:(y,_)=>{var w=dt(),P=te(w);{var $=M=>{var T=ec();m(M,T)},D=M=>{var T=lc(),B=f(te(T),2),E=h(B);E.value=(E.__value=null)??"";var U=f(E);ye(U,17,()=>i(r),j=>j.id,(j,F)=>{var G=tc(),Y=h(G),Z={};N(()=>{I(Y,`${i(F).name??""}${i(F).anonymousFreeModels?" (free)":""}${i(F).subscriptionRisk?" ⚠":""}`),Z!==(Z=i(F).id)&&(G.value=(G.__value=i(F).id)??"")}),m(j,G)});var L=f(B,2);{var O=j=>{var F=ac(),G=f(te(F),2);{let K=W(()=>i(u).apiKeyOptional?"optional":"Paste your key");Rt(G,{get placeholder(){return i(K)},get value(){return i(s)},set value(re){C(s,re,!0)}})}var Y=f(G,2);{var Z=K=>{var re=rc();N(()=>we(re,"href",i(u).signupUrl)),m(K,re)};H(Y,K=>{i(u).signupUrl&&K(Z)})}m(j,F)};H(L,j=>{i(u)&&i(u).authType==="api"&&!i(u).apiKeyOptional&&!i(p)&&!i(c)&&j(O)})}var k=f(L,2);{var z=j=>{var F=nc(),G=te(F),Y=h(G),Z=f(G,2);{let K=W(()=>i(u).defaultBaseUrl??"https://");Rt(Z,{get placeholder(){return i(K)},get value(){return i(l)},set value(re){C(l,re,!0)}})}N(()=>I(Y,i(u).urlPrompt)),m(j,F)};H(k,j=>{var F;(F=i(u))!=null&&F.urlPrompt&&j(z)})}var S=f(k,2);{var q=j=>{var F=sc(),G=f(te(F),2);Rt(G,{placeholder:"My endpoint",get value(){return i(o)},set value(K){C(o,K,!0)}});var Y=f(G,4);Rt(Y,{placeholder:"https://",get value(){return i(l)},set value(K){C(l,K,!0)}});var Z=f(Y,4);Rt(Z,{get value(){return i(s)},set value(K){C(s,K,!0)}}),m(j,F)};H(S,j=>{(i(p)||i(c))&&j(q)})}var A=f(S,2),R=h(A);ue(R,{variant:"ghost",get onclick(){return e.onclose},children:(j,F)=>{var G=J("Cancel");m(j,G)},$$slots:{default:!0}});var V=f(R,2);{let j=W(()=>!i(n)||i(v));ue(V,{get disabled(){return i(j)},onclick:g,children:(F,G)=>{var Y=J();N(()=>I(Y,i(v)?"Adding…":"Add provider")),m(F,Y)},$$slots:{default:!0}})}to(B,()=>i(n),j=>C(n,j)),m(M,T)};H(P,M=>{i(a)?M($):M(D,-1)})}m(y,w)},$$slots:{default:!0}}),ce()}var oc=x('<p style="color:var(--text-2);font-size:13.5px;line-height:1.6">Remove <strong style="color:var(--text-1)"> </strong> </p> <div class="row" style="margin-top:20px;justify-content:flex-end;gap:8px"><!> <!></div>',1);function vc(t,e){de(e,!0);{let r=W(()=>!!e.provider);ir(t,{get open(){return i(r)},title:"Delete provider",get onclose(){return e.onclose},children:(a,n)=>{var s=oc(),l=te(s),o=f(h(l)),v=h(o),d=f(o),u=f(l,2),p=h(u);ue(p,{variant:"ghost",get onclick(){return e.onclose},children:(g,y)=>{var _=J("Cancel");m(g,_)},$$slots:{default:!0}});var c=f(p,2);ue(c,{variant:"danger",onclick:()=>e.provider&&e.onconfirm(e.provider),children:(g,y)=>{var _=J("Delete");m(g,_)},$$slots:{default:!0}}),N(()=>{var g,y;I(v,(g=e.provider)==null?void 0:g.name),I(d,` and all ${((y=e.provider)==null?void 0:y.modelCount)??0??""} of its models from anygate? This clears stored credentials.`)}),m(a,s)},$$slots:{default:!0}})}ce()}var dc=x('<div class="grid svelte-1sgc4qo"></div>'),cc=x('<p class="code svelte-1sgc4qo">Enter code: <strong> </strong></p>'),uc=x('<div class="backdrop svelte-1sgc4qo" role="presentation"><div class="modal glass svelte-1sgc4qo" role="dialog" tabindex="-1"><h3 class="svelte-1sgc4qo"> </h3> <!> <!> <p class="note svelte-1sgc4qo">This window will close automatically once authentication completes.</p> <!></div></div>'),fc=x('<div class="page"><div class="head svelte-1sgc4qo"><div><h2 class="svelte-1sgc4qo">Providers & Keys</h2> <p class="sub svelte-1sgc4qo">Connect model providers via API key or OAuth. Refresh to pull the latest model list.</p></div> <div class="acts svelte-1sgc4qo"><!> <!></div></div> <!></div> <!> <!> <!>',1);function hc(t,e){de(e,!0);let r=Q(!1),a=Q(null),n=Q(null),s=Q(""),l=Q(""),o=Q(null);async function v(O){try{const k=await Ao(O.id);k.ok?pe(`Deleted ${O.name}`,"success"):pe(k.error?String(k.error):"Delete failed","error")}catch(k){pe(k instanceof Error?k.message:String(k),"error")}C(a,null),await pa()}async function d(O){const k=prompt(`API key for ${O.name}:`);if(k)try{(await xo(O.id,k)).ok?(pe("Key saved","success"),await nl(O.id)):pe("Save failed","error")}catch(z){pe(z instanceof Error?z.message:String(z),"error")}}async function u(O){C(n,O,!0);try{const k=await To(O.id);C(s,k.authUrl??k.url,!0),C(l,k.userCode??"",!0),k.sessionId&&C(o,setInterval(async()=>{const z=await Co(k.sessionId);z.status!=="pending"&&(i(o)&&clearInterval(i(o)),z.status==="done"?(pe(`${O.name} connected`,"success"),C(n,null),await pa()):pe(z.error??"OAuth failed","error"))},2e3),!0),k.pkce&&i(s)&&window.open(i(s),"_blank")}catch(k){pe(k instanceof Error?k.message:String(k),"error")}}var p=fc(),c=te(p),g=h(c),y=f(h(g),2),_=h(y);ue(_,{variant:"ghost",onclick:()=>pa(),children:(O,k)=>{var z=J("Refresh all");m(O,z)},$$slots:{default:!0}});var w=f(_,2);ue(w,{onclick:()=>C(r,!0),children:(O,k)=>{var z=J("+ Add provider");m(O,z)},$$slots:{default:!0}});var P=f(g,2);{var $=O=>{fr(O,{label:"Loading providers…"})},D=O=>{Nr(O,{title:"Could not load providers",icon:"M12 8v5M12 17h.01",children:(k,z)=>{var S=J();N(()=>I(S,Me.error)),m(k,S)},$$slots:{default:!0}})},M=O=>{Nr(O,{title:"No providers yet",icon:"M12 11h8M4 11h4M4 19h16",children:(k,z)=>{var S=J("Add a provider to start browsing models.");m(k,S)},$$slots:{default:!0}})},T=O=>{var k=dc();ye(k,21,()=>Me.list,z=>z.id,(z,S)=>{Qd(z,{get provider(){return i(S)},onAddKey:d,onDelete:q=>C(a,q,!0),onOAuth:u})}),m(O,k)};H(P,O=>{Me.loading?O($):Me.error?O(D,1):Me.list.length===0?O(M,2):O(T,-1)})}var B=f(c,2);ic(B,{get open(){return i(r)},onclose:()=>C(r,!1),onadded:()=>pa()});var E=f(B,2);vc(E,{get provider(){return i(a)},onclose:()=>C(a,null),onconfirm:v});var U=f(E,2);{var L=O=>{var k=uc(),z=h(k),S=h(z),q=h(S),A=f(S,2);{var R=G=>{var Y=cc(),Z=f(h(Y)),K=h(Z);N(()=>I(K,i(l))),m(G,Y)};H(A,G=>{i(l)&&G(R)})}var V=f(A,2);{var j=G=>{ue(G,{onclick:()=>window.open(i(s),"_blank"),children:(Y,Z)=>{var K=J("Open sign-in page");m(Y,K)},$$slots:{default:!0}})};H(V,G=>{i(s)&&G(j)})}var F=f(V,4);ue(F,{variant:"ghost",onclick:()=>C(n,null),children:(G,Y)=>{var Z=J("Close");m(G,Z)},$$slots:{default:!0}}),N(()=>I(q,`Sign in to ${i(n).name??""}`)),se("click",k,()=>C(n,null)),se("keydown",k,G=>{G.key==="Escape"&&C(n,null)}),se("click",z,G=>G.stopPropagation()),se("keydown",z,G=>G.stopPropagation()),m(O,k)};H(U,O=>{i(n)&&O(L)})}m(t,p),ce()}Ae(["click","keydown"]);const pc="modulepreload",_c=function(t){return"/"+t},Xn={},gc=function(e,r,a){let n=Promise.resolve();if(r&&r.length>0){let l=function(d){return Promise.all(d.map(u=>Promise.resolve(u).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),v=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));n=l(r.map(d=>{if(d=_c(d),d in Xn)return;Xn[d]=!0;const u=d.endsWith(".css"),p=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${p}`))return;const c=document.createElement("link");if(c.rel=u?"stylesheet":pc,u||(c.as="script"),c.crossOrigin="",c.href=d,v&&c.setAttribute("nonce",v),document.head.appendChild(c),u)return new Promise((g,y)=>{c.addEventListener("load",g),c.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${d}`)))})}))}function s(l){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=l,window.dispatchEvent(o),!o.defaultPrevented)throw l}return n.then(l=>{for(const o of l||[])o.status==="rejected"&&s(o.reason);return e().catch(s)})};var mc=x('<span class="group svelte-xohxs0"><!> <!> <!> <!></span>');function hl(t,e){de(e,!0);var r=mc(),a=h(r);{var n=u=>{Re(u,{tone:"success",children:(p,c)=>{var g=J("Free");m(p,g)},$$slots:{default:!0}})};H(a,u=>{e.model.isFree&&u(n)})}var s=f(a,2);{var l=u=>{Re(u,{tone:"warning",children:(p,c)=>{var g=J();N(()=>I(g,e.model.freeLabel)),m(p,g)},$$slots:{default:!0}})};H(s,u=>{e.model.freeLabel&&!e.model.isFree&&u(l)})}var o=f(s,2);{let u=W(()=>e.model.format==="anthropic"?"accent":e.model.format==="unsupported"?"error":"neutral");Re(o,{get tone(){return i(u)},children:(p,c)=>{var g=J();N(()=>I(g,e.model.format)),m(p,g)},$$slots:{default:!0}})}var v=f(o,2);{var d=u=>{Re(u,{tone:"accent",children:(p,c)=>{var g=J("reasoning");m(p,g)},$$slots:{default:!0}})};H(v,u=>{e.model.reasoning&&u(d)})}m(t,r),ce()}var yc=x("<button> </button>"),wc=x('<button class="open svelte-19h4ccs" type="button" title="Open details">Open</button>'),bc=x('<div><div class="info svelte-19h4ccs"><div class="name svelte-19h4ccs"> <span class="pid svelte-19h4ccs"> </span></div> <div class="meta svelte-19h4ccs"> </div></div> <div class="tags svelte-19h4ccs"><!></div> <!> <!></div>');function xc(t,e){de(e,!0);let r=oe(e,"favorited",3,!1);function a(M){return M?`${(M/1e3).toFixed(0)}k`:"—"}function n(M){if(!M||typeof M!="object")return"—";const T=M,B=[];return T.input!=null&&B.push(`$${T.input}/M in`),T.output!=null&&B.push(`$${T.output}/M out`),B.join(" · ")||"—"}var s=bc();let l;var o=h(s),v=h(o),d=h(v),u=f(d),p=h(u),c=f(v,2),g=h(c),y=f(o,2),_=h(y);hl(_,{get model(){return e.model}});var w=f(y,2);{var P=M=>{var T=yc();let B;var E=h(T);N(()=>{B=Ze(T,1,"star svelte-19h4ccs",null,B,{on:r()}),we(T,"title",r()?"Remove favorite":"Add favorite"),I(E,r()?"★":"☆")}),se("click",T,U=>{U.stopPropagation(),e.onToggleFav()}),m(M,T)};H(w,M=>{e.onToggleFav&&M(P)})}var $=f(w,2);{var D=M=>{var T=wc();se("click",T,B=>{B.stopPropagation(),e.onOpen()}),m(M,T)};H($,M=>{e.onOpen&&M(D)})}N((M,T)=>{l=Ze(s,1,"row svelte-19h4ccs",null,l,{clickable:!!e.onOpen}),I(d,e.model.name??e.model.id),I(p,`· ${e.providerId??""}`),I(g,`ctx ${M??""} · ${T??""}`)},[()=>a(e.model.contextWindow),()=>n(e.model.cost)]),m(t,s),ce()}Ae(["click"]);var kc=x("<option> </option>"),Sc=x('<div class="filters svelte-1y45iff"><input class="q svelte-1y45iff" placeholder="Search models…"/> <select class="s svelte-1y45iff"><option>All providers</option><!></select> <select class="s svelte-1y45iff"><option>Any format</option><option>anthropic</option><option>openai</option><option>unsupported</option></select> <select class="s svelte-1y45iff"><option>Free & paid</option><option>Free only</option><option>Paid only</option></select> <select class="s svelte-1y45iff"><option>Any reasoning</option><option>Reasoning</option><option>No reasoning</option></select> <select class="s svelte-1y45iff"><option>Sort: context</option><option>Sort: cost</option><option>Sort: name</option></select></div>');function Ec(t,e){de(e,!0);let r=oe(e,"value",15);function a(A,R){var V;r({...r(),[A]:R}),(V=e.onchange)==null||V.call(e,r())}var n=Sc(),s=h(n),l=f(s,2),o=h(l);o.value=o.__value="";var v=f(o);ye(v,17,()=>e.providers,lr,(A,R)=>{var V=kc(),j=h(V),F={};N(()=>{I(j,i(R).name),F!==(F=i(R).id)&&(V.value=(V.__value=i(R).id)??"")}),m(A,V)});var d;Vt(l);var u=f(l,2),p=h(u);p.value=p.__value="";var c=f(p);c.value=c.__value="anthropic";var g=f(c);g.value=g.__value="openai";var y=f(g);y.value=y.__value="unsupported";var _;Vt(u);var w=f(u,2),P=h(w);P.value=P.__value="";var $=f(P);$.value=$.__value="free";var D=f($);D.value=D.__value="paid";var M;Vt(w);var T=f(w,2),B=h(T);B.value=B.__value="";var E=f(B);E.value=E.__value="yes";var U=f(E);U.value=U.__value="no";var L;Vt(T);var O=f(T,2),k=h(O);k.value=k.__value="ctx";var z=f(k);z.value=z.__value="cost";var S=f(z);S.value=S.__value="name";var q;Vt(O),N(()=>{Sn(s,r().query),d!==(d=r().provider)&&(l.value=(l.__value=r().provider)??"",$t(l,r().provider)),_!==(_=r().format)&&(u.value=(u.__value=r().format)??"",$t(u,r().format)),M!==(M=r().free)&&(w.value=(w.__value=r().free)??"",$t(w,r().free)),L!==(L=r().reasoning)&&(T.value=(T.__value=r().reasoning)??"",$t(T,r().reasoning)),q!==(q=r().sort)&&(O.value=(O.__value=r().sort)??"",$t(O,r().sort))}),se("input",s,A=>a("query",A.currentTarget.value)),se("change",l,A=>a("provider",A.currentTarget.value)),se("change",u,A=>a("format",A.currentTarget.value)),se("change",w,A=>a("free",A.currentTarget.value)),se("change",T,A=>a("reasoning",A.currentTarget.value)),se("change",O,A=>a("sort",A.currentTarget.value)),m(t,n),ce()}Ae(["input","change"]);var Pc=x('<div><div class="h svelte-1efx48s">Source backend</div><div class="v svelte-1efx48s"> </div></div>'),Mc=x('<div class="stack svelte-1efx48s"><div><div class="h svelte-1efx48s">Name</div> <div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Model ID</div> <code class="v mono svelte-1efx48s"> </code></div> <div><div class="h svelte-1efx48s">Provider</div> <div class="v svelte-1efx48s"> <span class="sub svelte-1efx48s"> </span></div></div> <div class="grid svelte-1efx48s"><div><div class="h svelte-1efx48s">Context window</div><div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Free</div><div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Format</div><div class="v svelte-1efx48s"><!></div></div> <div><div class="h svelte-1efx48s">Reasoning</div><div class="v svelte-1efx48s"> </div></div></div> <div><div class="h svelte-1efx48s">Cost</div> <div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Supported parameters</div> <div class="v chips svelte-1efx48s"></div></div> <!></div>');function Ac(t,e){de(e,!0);function r(a){if(!a||typeof a!="object")return"Not published";const n=a;return[n.input!=null?`$${n.input} / 1M input`:null,n.output!=null?`$${n.output} / 1M output`:null].filter(Boolean).join(" · ")||"Not published"}fv(t,{get open(){return e.open},title:"Model details",get onclose(){return e.onclose},children:(a,n)=>{var s=dt(),l=te(s);{var o=v=>{var d=Mc(),u=h(d),p=f(h(u),2),c=h(p),g=f(u,2),y=f(h(g),2),_=h(y),w=f(g,2),P=f(h(w),2),$=h(P),D=f($),M=h(D),T=f(w,2),B=h(T),E=f(h(B)),U=h(E),L=f(B,2),O=f(h(L)),k=h(O),z=f(L,2),S=f(h(z)),q=h(S);hl(q,{get model(){return e.model}});var A=f(z,2),R=f(h(A)),V=h(R),j=f(T,2),F=f(h(j),2),G=h(F),Y=f(j,2),Z=f(h(Y),2);ye(Z,21,()=>e.model.supportedParameters??[],lr,(ee,xe)=>{Re(ee,{tone:"neutral",children:(ve,ge)=>{var je=J();N(()=>I(je,i(xe))),m(ve,je)},$$slots:{default:!0}})});var K=f(Y,2);{var re=ee=>{var xe=Pc(),ve=f(h(xe)),ge=h(ve);N(()=>I(ge,e.model.sourceBackend)),m(ee,xe)};H(K,ee=>{e.model.sourceBackend&&ee(re)})}N((ee,xe)=>{I(c,e.model.name??e.model.id),I(_,e.model.id),I($,`${e.providerName??""} `),I(M,`(${e.providerId??""})`),I(U,ee),I(k,e.model.isFree?"Yes":e.model.freeLabel??"No"),I(V,e.model.reasoning?"Supported":"No"),I(G,xe)},[()=>e.model.contextWindow?e.model.contextWindow.toLocaleString()+" tokens":"—",()=>r(e.model.cost)]),m(v,d)};H(l,v=>{e.model&&v(o)})}m(a,s)},$$slots:{default:!0}}),ce()}var Tc=x('<div class="item svelte-drwign" role="listitem" draggable="true"><span class="handle svelte-drwign" title="Drag to reorder">⠿⠿⠿</span> <span class="idx svelte-drwign"> </span> <!> <div class="meta svelte-drwign"><div class="name svelte-drwign"> </div> <div class="sub svelte-drwign"> </div></div> <button class="x svelte-drwign" title="Remove">×</button></div>');function Cc(t,e){de(e,!0);var r=Tc(),a=f(h(r),2),n=h(a),s=f(a,2);Cn(s,{get id(){return e.fav.providerId},size:28});var l=f(s,2),o=h(l),v=h(o),d=f(o,2),u=h(d),p=f(l,2);N(()=>{I(n,e.index+1),I(v,e.fav.model),I(u,e.fav.providerName)}),xa("dragstart",r,function(...c){var g;(g=e.ondragstart)==null||g.apply(this,c)}),xa("dragover",r,c=>c.preventDefault()),xa("drop",r,function(...c){var g;(g=e.ondrop)==null||g.apply(this,c)}),se("click",p,function(...c){var g;(g=e.onremove)==null||g.apply(this,c)}),m(t,r),ce()}Ae(["click"]);var Ic=x('<div class="list svelte-156gwh2"><!> <div class="cap svelte-156gwh2"> </div></div>');function Oc(t,e){de(e,!0);let r=Q(null);function a(p,c){var g;C(r,p,!0),(g=c.dataTransfer)==null||g.setData("text/plain",String(p))}function n(p){if(i(r)===null||i(r)===p)return;const c=[...e.items],[g]=c.splice(i(r),1);c.splice(p,0,g),C(r,null),e.onreorder(c)}var s=Ic(),l=h(s);{var o=p=>{Nr(p,{title:"No favorites yet",icon:"M12 5v14M5 12h14",children:(c,g)=>{var y=J("Star models from the Models tab to build your quick-launch list.");m(c,y)},$$slots:{default:!0}})},v=p=>{var c=dt(),g=te(c);ye(g,19,()=>e.items,y=>y.providerId+"/"+y.modelId,(y,_,w)=>{Cc(y,{get fav(){return i(_)},get index(){return i(w)},onremove:()=>e.onremove(i(_)),ondragstart:P=>a(i(w),P),ondrop:()=>n(i(w))})}),m(p,c)};H(l,p=>{e.items.length===0?p(o):p(v,-1)})}var d=f(l,2),u=h(d);N(()=>I(u,`${e.items.length??""} / ${e.max??""} used`)),m(t,s),ce()}var Lc=x('<div class="meter svelte-19jc277"><div class="top svelte-19jc277"><span> </span><span class="n svelte-19jc277"> </span></div> <div class="track svelte-19jc277"><div></div></div></div>');function Dc(t,e){let r=oe(e,"label",3,"");const a=W(()=>Math.min(100,Math.round(e.used/e.max*100))),n=W(()=>e.used>=e.max);var s=Lc(),l=h(s),o=h(l),v=h(o),d=f(o),u=h(d),p=f(l,2),c=h(p);let g;N(()=>{I(v,r()),I(u,`${e.used??""}/${e.max??""}`),g=Ze(c,1,"fill svelte-19jc277",null,g,{full:i(n)}),it(c,`width:${i(a)??""}%`)}),m(t,s)}var Fc=x('<div class="fav-head svelte-p8xmpw"><h3 class="svelte-p8xmpw">Favorites</h3> <!></div> <!> <div style="margin-top:14px"><!></div>',1),Nc=x('<div class="page"><div class="head svelte-p8xmpw"><h2 class="svelte-p8xmpw">Models</h2> <p class="sub svelte-p8xmpw">Browse every model anygate can route. Star any model to add it to your favorites.</p></div> <div class="layout svelte-p8xmpw"><div class="main-col"><!> <!></div> <aside class="fav-col"><!></aside></div></div> <!>',1);function $c(t,e){de(e,!0);let r=Q(Oe({provider:"",format:"",free:"",reasoning:"",query:"",sort:"ctx"})),a=Q(null),n=Q("general");const s=W(()=>Me.list.flatMap(E=>E.enrichedModels.map(U=>({model:U,providerId:E.id,providerName:E.name}))));function l(E){if(!E||typeof E!="object")return 0;const U=E;return(U.input??0)+(U.output??0)}const o=W(()=>i(s).filter(E=>(!i(r).provider||E.providerId===i(r).provider)&&(!i(r).format||E.model.format===i(r).format)&&(!i(r).free||(i(r).free==="free"?E.model.isFree:!E.model.isFree))&&(!i(r).reasoning||(i(r).reasoning==="yes"?E.model.reasoning:!E.model.reasoning))&&(!i(r).query||(E.model.name??E.model.id).toLowerCase().includes(i(r).query.toLowerCase())||E.model.id.toLowerCase().includes(i(r).query.toLowerCase()))).sort((E,U)=>i(r).sort==="name"?(E.model.name??E.model.id).localeCompare(U.model.name??U.model.id):i(r).sort==="cost"?l(E.model.cost)-l(U.model.cost):(U.model.contextWindow??0)-(E.model.contextWindow??0)));function v(E,U){return(i(n)==="agy"?he.agy:he.general).some(O=>O.providerId===E&&O.modelId===U)}async function d(E){const U=E.model;if(v(E.providerId,U.id))await on(E.providerId,U.id,i(n)==="agy");else{const L={providerId:E.providerId,providerName:E.providerName,model:U.id,modelId:U.id,contextWindow:U.contextWindow,cost:U.cost};await il(L,i(n)==="agy")}}async function u(E){i(n)==="agy"?he.agy=E:he.general=E,await gc(()=>Promise.resolve().then(()=>Jo),void 0).then(U=>U.reorder(E,i(n)==="agy"))}var p=Nc(),c=te(p),g=f(h(c),2),y=h(g),_=h(y);{let E=W(()=>Me.list.map(U=>({id:U.id,name:U.name})));Ec(_,{get providers(){return i(E)},get value(){return i(r)},set value(U){C(r,U,!0)}})}var w=f(_,2);{var P=E=>{fr(E,{label:"Loading models…"})},$=E=>{Nr(E,{title:"No models match",icon:"M4 6h16M4 12h16M4 18h16",children:(U,L)=>{var O=J("Adjust filters or connect more providers.");m(U,O)},$$slots:{default:!0}})},D=E=>{Ne(E,{padding:"6px",children:(U,L)=>{var O=dt(),k=te(O);ye(k,17,()=>i(o),z=>z.providerId+"/"+z.model.id,(z,S)=>{{let q=W(()=>v(i(S).providerId,i(S).model.id));xc(z,{get model(){return i(S).model},get providerId(){return i(S).providerId},get favorited(){return i(q)},onToggleFav:()=>d(i(S)),onOpen:()=>C(a,i(S),!0)})}}),m(U,O)},$$slots:{default:!0}})};H(w,E=>{Me.loading?E(P):i(o).length===0?E($,1):E(D,-1)})}var M=f(y,2),T=h(M);Ne(T,{padding:"18px",children:(E,U)=>{var L=Fc(),O=te(L),k=f(h(O),2);{let A=W(()=>i(n)==="agy"?he.agy.length:he.general.length),R=W(()=>i(n)==="agy"?6:20),V=W(()=>i(n)==="agy"?"AGY":"General");Dc(k,{get used(){return i(A)},get max(){return i(R)},get label(){return i(V)}})}var z=f(O,2);ul(z,{tabs:[{id:"general",label:"General (20)"},{id:"agy",label:"AGY (6)"}],get active(){return i(n)},set active(A){C(n,A,!0)}});var S=f(z,2),q=h(S);{let A=W(()=>i(n)==="agy"?he.agy:he.general),R=W(()=>i(n)==="agy"?6:20);Oc(q,{get items(){return i(A)},get max(){return i(R)},onreorder:u,onremove:V=>on(V.providerId,V.modelId,i(n)==="agy")})}m(E,L)},$$slots:{default:!0}});var B=f(c,2);{let E=W(()=>!!i(a)),U=W(()=>{var k;return((k=i(a))==null?void 0:k.model)??null}),L=W(()=>{var k;return((k=i(a))==null?void 0:k.providerId)??""}),O=W(()=>{var k;return((k=i(a))==null?void 0:k.providerName)??""});Ac(B,{get open(){return i(E)},get model(){return i(U)},get providerId(){return i(L)},get providerName(){return i(O)},onclose:()=>C(a,null)})}m(t,p),ce()}var Rc=x('<div class="path svelte-1gp522a"> </div>'),jc=x('<a class="install-link svelte-1gp522a" target="_blank" rel="noopener noreferrer"> </a>'),zc=x('<code class="cmd svelte-1gp522a"> </code> <button class="copy svelte-1gp522a" type="button">Copy</button>',1),qc=x('<div class="install svelte-1gp522a"><!></div>'),Hc=x('<div class="card svelte-1gp522a"><div class="head svelte-1gp522a"><!> <div class="meta svelte-1gp522a"><div class="name svelte-1gp522a"> </div> <div class="sub svelte-1gp522a"> </div></div> <!></div> <!> <!> <div class="actions svelte-1gp522a"><!> <!></div></div>');function Bc(t,e){de(e,!0);var r=Hc(),a=h(r),n=h(a);Cn(n,{get id(){return e.app.id},size:36});var s=f(n,2),l=h(s),o=h(l),v=f(l,2),d=h(v),u=f(s,2);{var p=M=>{Re(M,{tone:"success",children:(T,B)=>{var E=J("Installed");m(T,E)},$$slots:{default:!0}})},c=M=>{Re(M,{tone:"warning",children:(T,B)=>{var E=J("Not installed");m(T,E)},$$slots:{default:!0}})};H(u,M=>{e.app.installed?M(p):M(c,-1)})}var g=f(a,2);{var y=M=>{var T=Rc(),B=h(T);N(()=>{we(T,"title",e.app.path),I(B,e.app.path)}),m(M,T)};H(g,M=>{e.app.path&&M(y)})}var _=f(g,2);{var w=M=>{var T=qc(),B=h(T);{var E=L=>{var O=jc(),k=h(O);N(()=>{we(O,"href",e.app.installUrl),I(k,`Get ${e.app.name??""} →`)}),m(L,O)},U=L=>{var O=zc(),k=te(O),z=h(k),S=f(k,2);N(()=>I(z,e.app.installHint)),se("click",S,()=>{var q;return(q=navigator.clipboard)==null?void 0:q.writeText(e.app.installHint??"")}),m(L,O)};H(B,L=>{e.app.installUrl?L(E):e.app.installHint&&L(U,1)})}m(M,T)};H(_,M=>{e.app.installed||M(w)})}var P=f(_,2),$=h(P);ue($,{size:"sm",variant:"ghost",onclick:()=>e.onsetpath(e.app),children:(M,T)=>{var B=J("Path");m(M,B)},$$slots:{default:!0}});var D=f($,2);{let M=W(()=>!e.app.installed);ue(D,{size:"sm",variant:"primary",get disabled(){return i(M)},onclick:()=>e.onlaunch(e.app),children:(T,B)=>{var E=J("Launch");m(T,E)},$$slots:{default:!0}})}N(()=>{I(o,e.app.name),I(d,e.app.type==="cli"?"CLI":"Desktop app")}),m(t,r),ce()}Ae(["click"]);var Uc=x('<div class="grid svelte-ishglm"></div>'),Gc=x('<button class="recent svelte-ishglm"> </button>'),Kc=x('<div class="recents svelte-ishglm"></div>'),Vc=x('<div class="opts svelte-ishglm"><label class="lbl svelte-ishglm"><input type="checkbox"/> Use first favorite</label> <span class="lbl svelte-ishglm">Provider</span> <!> <span class="lbl svelte-ishglm">Model</span> <!> <span class="lbl svelte-ishglm">Launch folder</span> <div class="folder svelte-ishglm"><!> <!></div> <!></div> <div class="row svelte-ishglm" style="margin-top:20px;justify-content:flex-end;gap:8px"><!> <!></div>',1),Wc=x('<span class="lbl svelte-ishglm">Executable path</span> <div class="folder svelte-ishglm"><!> <!></div> <div class="row svelte-ishglm" style="margin-top:20px;justify-content:flex-end;gap:8px"><!> <!></div>',1),Yc=x('<div class="page"><div class="head svelte-ishglm"><h2 class="svelte-ishglm">Apps & Launch</h2> <p class="sub svelte-ishglm">Launch Claude, Codex, or Gemini with your anygate models pre-selected. Set a launch folder per app.</p></div> <!></div> <!> <!>',1);function Jc(t,e){de(e,!0);let r=Q(null),a=Q(!1),n=Q(""),s=Q(""),l=Q(""),o=Q(null),v=Q("");const d=W(()=>$e.list.find(k=>k.id===i(r))),u=W(()=>{var k;return i(n)?(((k=Me.list.find(z=>z.id===i(n)))==null?void 0:k.enrichedModels)??[]).map(z=>({value:z.id,label:z.name??z.id})):[]});async function p(k){C(r,k.id,!0),C(a,!1),C(n,""),C(s,""),C(l,"");const z=$e.recentFolders;C(l,z[0]??"",!0)}async function c(){i(r)&&(await Qo({appId:i(r),favorites:i(a)||void 0,providerId:i(n)||void 0,modelId:i(s)||void 0,cwd:i(l)||void 0}),C(r,null))}async function g(k){C(o,k,!0),C(v,k.path??"",!0)}async function y(){i(o)&&(await Zo(i(o).id,i(v).trim()||null),C(o,null))}async function _(){const k=await Gn();k&&C(l,k,!0)}async function w(){const k=await Gn();k&&C(v,k,!0)}var P=Yc(),$=te(P),D=f(h($),2);{var M=k=>{fr(k,{label:"Detecting installed apps…"})},T=k=>{Nr(k,{title:"No apps found",icon:"M2 3h20v14H2z",children:(z,S)=>{var q=J("anygate couldn't detect supported apps on this system.");m(z,q)},$$slots:{default:!0}})},B=k=>{var z=Uc();ye(z,21,()=>$e.list,S=>S.id,(S,q)=>{Bc(S,{get app(){return i(q)},onlaunch:p,onsetpath:g})}),m(k,z)};H(D,k=>{$e.loading?k(M):$e.list.length===0?k(T,1):k(B,-1)})}var E=f($,2);{var U=k=>{{let z=W(()=>!!i(d)),S=W(()=>`Launch ${i(d).name}`);ir(k,{get open(){return i(z)},get title(){return i(S)},onclose:()=>C(r,null),children:(q,A)=>{var R=Vc(),V=te(R),j=h(V),F=h(j),G=f(j,4);{let me=W(()=>[{value:"",label:"All"},...Me.list.map(Ee=>({value:Ee.id,label:Ee.name}))]);br(G,{get options(){return i(me)},get value(){return i(n)},set value(Ee){C(n,Ee,!0)}})}var Y=f(G,4);{let me=W(()=>!i(n)),Ee=W(()=>i(n)?[{value:"",label:"All"},...i(u)]:[{value:"",label:"— pick a provider first —"}]);br(Y,{get disabled(){return i(me)},get options(){return i(Ee)},get value(){return i(s)},set value(et){C(s,et,!0)}})}var Z=f(Y,4),K=h(Z);Rt(K,{placeholder:"Path or browse…",get value(){return i(l)},set value(me){C(l,me,!0)}});var re=f(K,2);ue(re,{size:"sm",variant:"ghost",onclick:_,children:(me,Ee)=>{var et=J("Browse");m(me,et)},$$slots:{default:!0}});var ee=f(Z,2);{var xe=me=>{var Ee=Kc();ye(Ee,21,()=>$e.recentFolders.filter(et=>et!==i(l)).slice(0,4),lr,(et,gr)=>{var qr=Gc(),ua=h(qr);N(()=>I(ua,i(gr))),se("click",qr,()=>C(l,i(gr),!0)),m(et,qr)}),m(me,Ee)},ve=W(()=>$e.recentFolders.filter(me=>me!==i(l)).length);H(ee,me=>{i(ve)&&me(xe)})}var ge=f(V,2),je=h(ge);ue(je,{variant:"ghost",onclick:()=>C(r,null),children:(me,Ee)=>{var et=J("Cancel");m(me,et)},$$slots:{default:!0}});var Ft=f(je,2);{let me=W(()=>!i(d).installed);ue(Ft,{get disabled(){return i(me)},onclick:c,children:(Ee,et)=>{var gr=J("Launch");m(Ee,gr)},$$slots:{default:!0}})}lo(F,()=>i(a),me=>C(a,me)),m(q,R)},$$slots:{default:!0}})}};H(E,k=>{i(d)&&k(U)})}var L=f(E,2);{var O=k=>{{let z=W(()=>!!i(o)),S=W(()=>`Set path → ${i(o).name}`);ir(k,{get open(){return i(z)},get title(){return i(S)},onclose:()=>C(o,null),children:(q,A)=>{var R=Wc(),V=f(te(R),2),j=h(V);Rt(j,{placeholder:"/path/to/executable",get value(){return i(v)},set value(K){C(v,K,!0)}});var F=f(j,2);ue(F,{size:"sm",variant:"ghost",onclick:w,children:(K,re)=>{var ee=J("Browse");m(K,ee)},$$slots:{default:!0}});var G=f(V,2),Y=h(G);ue(Y,{variant:"ghost",onclick:()=>C(o,null),children:(K,re)=>{var ee=J("Cancel");m(K,ee)},$$slots:{default:!0}});var Z=f(Y,2);ue(Z,{onclick:y,children:(K,re)=>{var ee=J("Save");m(K,ee)},$$slots:{default:!0}}),m(q,R)},$$slots:{default:!0}})}};H(L,k=>{i(o)&&k(O)})}m(t,P),ce()}Ae(["click"]);var Xc=x("<!> <!>",1);function Zc(t,e){de(e,!0);var r=dt(),a=te(r);{var n=l=>{var o=Xc(),v=te(o);Re(v,{tone:"success",children:(p,c)=>{var g=J();N(()=>I(g,`Running · ${e.status.listenMode==="network"?"Network":"Local"}`)),m(p,g)},$$slots:{default:!0}});var d=f(v,2);{var u=p=>{Re(p,{tone:"neutral",children:(c,g)=>{var y=J();N(()=>I(y,`${e.status.models.length??""} models`)),m(c,y)},$$slots:{default:!0}})};H(d,p=>{e.status.models&&p(u)})}m(l,o)},s=l=>{Re(l,{tone:"neutral",children:(o,v)=>{var d=J("Stopped");m(o,d)},$$slots:{default:!0}})};H(a,l=>{var o;(o=e.status)!=null&&o.running?l(n):l(s,-1)})}m(t,r),ce()}var Qc=x('<div class="url svelte-swldy1"><span class="lbl svelte-swldy1"> </span><code class="svelte-swldy1"> </code></div>'),eu=x('<!> <div class="url svelte-swldy1"><span class="lbl svelte-swldy1">Key</span><code class="svelte-swldy1"> </code></div>',1),tu=x('<div class="summary svelte-swldy1"> </div>'),ru=x('<div class="urls svelte-swldy1"><div class="url svelte-swldy1"><span class="lbl svelte-swldy1">Anthropic</span><code class="svelte-swldy1"> </code></div> <div class="url svelte-swldy1"><span class="lbl svelte-swldy1">OpenAI</span><code class="svelte-swldy1"> </code></div> <!></div> <!>',1),au=x('<span class="lbl svelte-swldy1">Server password</span> <input class="inp svelte-swldy1" placeholder="required for network"/> <!>',1),nu=x('<div class="opts svelte-swldy1"><!> <!> <!> <!> <!></div>'),su=x('<div class="panel svelte-swldy1"><div class="row svelte-swldy1"><div><h3 class="svelte-swldy1">Server Gateway</h3> <p class="desc svelte-swldy1">Expose your anygate models over a local OpenAI/Anthropic-compatible endpoint.</p></div> <!></div> <!> <div class="actions svelte-swldy1"><!></div></div>');function lu(t,e){de(e,!0);let r=Q(!1),a=Q(!1),n=Q(!1),s=Q("local"),l=Q(""),o=Q(!0);const v=W(()=>He.status);function d(){i(v)&&(C(r,i(v).saved.favoritesOnly,!0),C(a,i(v).saved.freeModelsOnly,!0),C(n,i(v).saved.maskGatewayIds,!0),C(s,i(v).saved.listenMode,!0))}Kt(()=>{i(v)&&d()});async function u(){var M,T,B;if((M=i(v))!=null&&M.running){await zv();return}i(s)==="network"&&!i(l).trim()&&C(l,Math.random().toString(36).slice(2,12),!0),!await jv({favoritesOnly:i(r),freeModelsOnly:i(a),exposedProviders:null,maskGatewayIds:i(n),listenMode:i(s),passwordMode:"new",password:i(l),savePassword:i(o)})&&((T=He.error)!=null&&T.includes("No providers"))&&((B=e.onneedsmodels)==null||B.call(e))}var p=su(),c=h(p),g=f(h(c),2);Zc(g,{get status(){return i(v)}});var y=f(c,2);{var _=D=>{var M=ru(),T=te(M),B=h(T),E=f(h(B)),U=h(E),L=f(B,2),O=f(h(L)),k=h(O),z=f(L,2);{var S=R=>{var V=eu(),j=te(V);ye(j,17,()=>i(v).networkUrls,lr,(Z,K)=>{var re=Qc(),ee=h(re),xe=h(ee),ve=f(ee),ge=h(ve);N(()=>{I(xe,i(K).name),I(ge,i(K).anthropicUrl)}),m(Z,re)});var F=f(j,2),G=f(h(F)),Y=h(G);N(()=>I(Y,i(v).apiKey)),m(R,V)};H(z,R=>{i(v).listenMode==="network"&&i(v).networkUrls&&R(S)})}var q=f(T,2);{var A=R=>{var V=tu(),j=h(V);N(()=>I(j,i(v).providerSummary)),m(R,V)};H(q,R=>{i(v).providerSummary&&R(A)})}N(()=>{I(U,i(v).anthropicUrl),I(k,i(v).openaiUrl)}),m(D,M)},w=D=>{var M=nu(),T=h(M);Ur(T,{label:"Favorites only",get checked(){return i(r)},set checked(k){C(r,k,!0)}});var B=f(T,2);Ur(B,{label:"Free models only",get checked(){return i(a)},set checked(k){C(a,k,!0)}});var E=f(B,2);Ur(E,{label:"Mask gateway IDs",get checked(){return i(n)},set checked(k){C(n,k,!0)}});var U=f(E,2);{let k=W(()=>i(s)==="network");Ur(U,{get checked(){return i(k)},onchange:z=>C(s,z?"network":"local",!0),label:"Network mode"})}var L=f(U,2);{var O=k=>{var z=au(),S=f(te(z),2),q=f(S,2);Ur(q,{label:"Save password",get checked(){return i(o)},set checked(A){C(o,A,!0)}}),En(S,()=>i(l),A=>C(l,A)),m(k,z)};H(L,k=>{i(s)==="network"&&k(O)})}m(D,M)};H(y,D=>{var M;(M=i(v))!=null&&M.running?D(_):D(w,-1)})}var P=f(y,2),$=h(P);{let D=W(()=>{var M;return(M=i(v))!=null&&M.running?"danger":"primary"});ue($,{get variant(){return i(D)},get disabled(){return He.starting},onclick:u,children:(M,T)=>{var B=J();N(()=>{var E;return I(B,He.starting?"Working…":(E=i(v))!=null&&E.running?"Stop server":"Start server")}),m(M,B)},$$slots:{default:!0}})}m(t,p),ce()}var iu=x('<p style="color:var(--error);font-size:13px"> </p>'),ou=x('<div class="page"><div class="head svelte-124gvcr"><h2 class="svelte-124gvcr">Server Gateway</h2> <p class="sub svelte-124gvcr">Run a local OpenAI / Anthropic-compatible server exposing your anygate models to any tool.</p></div> <!> <!></div>');function vu(t,e){de(e,!1),Ys(()=>($v(),()=>Rv())),Pn();var r=ou(),a=f(h(r),2);{var n=v=>{fr(v,{label:"Reading server status…"})},s=v=>{lu(v,{onneedsmodels:()=>location.hash="#/providers"})};H(a,v=>{He.loading&&!He.status?v(n):v(s,-1)})}var l=f(a,2);{var o=v=>{Ne(v,{padding:"16px",children:(d,u)=>{var p=iu(),c=h(p);N(()=>I(c,He.error)),m(d,p)},$$slots:{default:!0}})};H(l,v=>{He.error&&v(o)})}m(t,r),ce()}var du=x('<h3 class="svelte-15j4tnx">Appearance</h3> <div class="line svelte-15j4tnx"><span>Theme</span> <!></div>',1),cu=x('<div class="kv svelte-15j4tnx"><span>ANYGATE_HOME</span><code class="svelte-15j4tnx"> </code></div>'),uu=x('<h3 class="svelte-15j4tnx">Subscription tier</h3> <div class="line svelte-15j4tnx"><span>Backend selection for wizards</span> <!></div> <!>',1),fu=x('<h3 class="svelte-15j4tnx">Config backup</h3> <p class="muted svelte-15j4tnx">Export favorites to a portable JSON file and re-import on another machine.</p> <div class="acts svelte-15j4tnx"><!> <!></div>',1),hu=x('<div class="preset svelte-15j4tnx"><div class="pmeta"><span class="pname svelte-15j4tnx"> </span> <span class="psub svelte-15j4tnx"> </span></div> <div class="pacts svelte-15j4tnx"><!> <!></div></div> <pre class="dryrun svelte-15j4tnx"> </pre>',1),pu=x('<div class="sec-head svelte-15j4tnx"><h3 class="svelte-15j4tnx">Launch presets</h3><!></div> <!>',1),_u=x('<textarea class="ta svelte-15j4tnx" readonly=""></textarea> <div class="row svelte-15j4tnx" style="margin-top:14px;justify-content:flex-end;gap:8px"><!> <!></div>',1),gu=x('<p class="muted svelte-15j4tnx">Paste an anygate config JSON (from Export favorites).</p> <textarea class="ta svelte-15j4tnx" placeholder="Paste JSON here"></textarea> <div class="row svelte-15j4tnx" style="margin-top:14px;justify-content:flex-end;gap:8px"><!> <!></div>',1),mu=x('<span class="lbl svelte-15j4tnx" style="margin-top:12px">Model</span> <!>',1),yu=x('<span class="lbl svelte-15j4tnx">Label</span> <!> <span class="lbl svelte-15j4tnx" style="margin-top:12px">App</span> <!> <span class="lbl svelte-15j4tnx" style="margin-top:12px">Provider</span> <!> <!> <div class="row svelte-15j4tnx" style="margin-top:18px;justify-content:flex-end;gap:8px"><!> <!></div>',1),wu=x('<div class="page"><div class="head svelte-15j4tnx"><h2 class="svelte-15j4tnx">Settings</h2><p class="sub svelte-15j4tnx">Theme, subscription tier, launch presets, and portable config backup.</p></div> <div class="cols svelte-15j4tnx"><div class="stack svelte-15j4tnx"><!> <!> <!></div> <div class="stack svelte-15j4tnx"><!></div></div></div> <!> <!> <!>',1);function bu(t,e){de(e,!0);let r=Q(!1),a=Q(""),n=Q(!1),s=Q("");const l=[{value:"free",label:"Free"},{value:"zen",label:"Zen"},{value:"go",label:"Go"},{value:"both",label:"Both"}];function o(){zo().then(A=>{C(a,A,!0),C(r,!0)}).catch(A=>pe(String(A),"error"))}async function v(){try{await qo(i(s)),pe("Config imported","success"),C(n,!1),await ol()}catch(A){pe(A instanceof Error?A.message:String(A),"error")}}function d(){const A=new Blob([i(a)],{type:"application/json"}),R=document.createElement("a");R.href=URL.createObjectURL(A),R.download="anygate-config.json",R.click()}let u=Q(!1),p=Q(""),c=Q(""),g=Q(""),y=Q("");function _(A){const R=Me.list.find(F=>F.id===A.providerId),V=R==null?void 0:R.enrichedModels.find(F=>F.id===A.modelId);return!R||!V?"—":Ho({provider:R,modelId:V.id,contextWindow:V.contextWindow}).env.map(F=>`${F.key}=${F.masked?"•••":F.value}`).join(`
3
+ `)}var w=wu(),P=te(w),$=f(h(P),2),D=h($),M=h(D);Ne(M,{padding:"20px",children:(A,R)=>{var V=du(),j=f(te(V),2),F=f(h(j),2);ue(F,{size:"sm",variant:"ghost",get onclick(){return dl},children:(G,Y)=>{var Z=J();N(()=>I(Z,`${Bt.value==="dark"?"Dark":"Light"} · toggle`)),m(G,Z)},$$slots:{default:!0}}),m(A,V)},$$slots:{default:!0}});var T=f(M,2);Ne(T,{padding:"20px",children:(A,R)=>{var V=uu(),j=f(te(V),2),F=f(h(j),2);br(F,{get value(){return Ht.tier},get options(){return l},onchange:Z=>tv(Z)});var G=f(j,2);{var Y=Z=>{var K=cu(),re=f(h(K)),ee=h(re);N(()=>I(ee,Ht.anygateHome)),m(Z,K)};H(G,Z=>{Ht.anygateHome&&Z(Y)})}m(A,V)},$$slots:{default:!0}});var B=f(T,2);Ne(B,{padding:"20px",children:(A,R)=>{var V=fu(),j=f(te(V),4),F=h(j);ue(F,{size:"sm",variant:"subtle",onclick:o,children:(Y,Z)=>{var K=J("Export favorites");m(Y,K)},$$slots:{default:!0}});var G=f(F,2);ue(G,{size:"sm",variant:"ghost",onclick:()=>C(n,!0),children:(Y,Z)=>{var K=J("Import");m(Y,K)},$$slots:{default:!0}}),m(A,V)},$$slots:{default:!0}});var E=f(D,2),U=h(E);Ne(U,{padding:"20px",children:(A,R)=>{var V=pu(),j=te(V),F=f(h(j));ue(F,{size:"sm",onclick:()=>{C(u,!0),C(p,""),C(c,""),C(g,""),C(y,"")},children:(K,re)=>{var ee=J("New");m(K,ee)},$$slots:{default:!0}});var G=f(j,2);{var Y=K=>{Nr(K,{title:"No presets",icon:"M12 5v14M5 12h14",children:(re,ee)=>{var xe=J("Save an app + provider + model combo for one-click launch.");m(re,xe)},$$slots:{default:!0}})},Z=K=>{var re=dt(),ee=te(re);ye(ee,17,()=>mt.list,xe=>xe.id,(xe,ve)=>{var ge=hu(),je=te(ge),Ft=h(je),me=h(Ft),Ee=h(me),et=f(me,2),gr=h(et),qr=f(Ft,2),ua=h(qr);ue(ua,{size:"sm",variant:"ghost",onclick:()=>navigator.clipboard.writeText(_(i(ve))),children:(Hr,ml)=>{var Fa=J("Dry run");m(Hr,Fa)},$$slots:{default:!0}});var pl=f(ua,2);ue(pl,{size:"sm",variant:"ghost",onclick:()=>av(i(ve).id),children:(Hr,ml)=>{var Fa=J("Delete");m(Hr,Fa)},$$slots:{default:!0}});var _l=f(je,2),gl=h(_l);N(Hr=>{I(Ee,i(ve).label??i(ve).appId),I(gr,`${i(ve).providerId??""}${i(ve).modelId?" · "+i(ve).modelId:""}${i(ve).folder?" · "+i(ve).folder:""}`),I(gl,Hr)},[()=>_(i(ve))]),m(xe,ge)}),m(K,re)};H(G,K=>{mt.list.length===0?K(Y):K(Z,-1)})}m(A,V)},$$slots:{default:!0}});var L=f(P,2);{var O=A=>{ir(A,{get open(){return i(r)},title:"Export favorites",onclose:()=>C(r,!1),children:(R,V)=>{var j=_u(),F=te(j),G=f(F,2),Y=h(G);ue(Y,{variant:"ghost",onclick:()=>C(r,!1),children:(K,re)=>{var ee=J("Close");m(K,ee)},$$slots:{default:!0}});var Z=f(Y,2);ue(Z,{onclick:d,children:(K,re)=>{var ee=J("Download");m(K,ee)},$$slots:{default:!0}}),N(()=>Sn(F,i(a))),m(R,j)},$$slots:{default:!0}})};H(L,A=>{i(r)&&A(O)})}var k=f(L,2);{var z=A=>{ir(A,{get open(){return i(n)},title:"Import config",onclose:()=>C(n,!1),children:(R,V)=>{var j=gu(),F=f(te(j),2),G=f(F,2),Y=h(G);ue(Y,{variant:"ghost",onclick:()=>C(n,!1),children:(K,re)=>{var ee=J("Cancel");m(K,ee)},$$slots:{default:!0}});var Z=f(Y,2);ue(Z,{onclick:v,children:(K,re)=>{var ee=J("Import");m(K,ee)},$$slots:{default:!0}}),En(F,()=>i(s),K=>C(s,K)),m(R,j)},$$slots:{default:!0}})};H(k,A=>{i(n)&&A(z)})}var S=f(k,2);{var q=A=>{ir(A,{get open(){return i(u)},title:"New preset",onclose:()=>C(u,!1),children:(R,V)=>{var j=yu(),F=f(te(j),2);Rt(F,{placeholder:"My daily setup",get value(){return i(y)},set value(ve){C(y,ve,!0)}});var G=f(F,4);{let ve=W(()=>[{value:"",label:"—"},...Me.list.length?[{value:"claude",label:"Claude"},{value:"codex",label:"Codex"},{value:"antigravity",label:"Antigravity"}]:[]]);br(G,{get options(){return i(ve)},get value(){return i(p)},set value(ge){C(p,ge,!0)}})}var Y=f(G,4);{let ve=W(()=>[{value:"",label:"—"},...Me.list.map(ge=>({value:ge.id,label:ge.name}))]);br(Y,{get options(){return i(ve)},get value(){return i(c)},set value(ge){C(c,ge,!0)}})}var Z=f(Y,2);{var K=ve=>{var ge=mu(),je=f(te(ge),2);{let Ft=W(()=>{var me;return[{value:"",label:"—"},...(((me=Me.list.find(Ee=>Ee.id===i(c)))==null?void 0:me.enrichedModels)??[]).map(Ee=>({value:Ee.id,label:Ee.name??Ee.id}))]});br(je,{get options(){return i(Ft)},get value(){return i(g)},set value(me){C(g,me,!0)}})}m(ve,ge)};H(Z,ve=>{i(c)&&ve(K)})}var re=f(Z,2),ee=h(re);ue(ee,{variant:"ghost",onclick:()=>C(u,!1),children:(ve,ge)=>{var je=J("Cancel");m(ve,je)},$$slots:{default:!0}});var xe=f(ee,2);{let ve=W(()=>!i(p)||!i(y));ue(xe,{get disabled(){return i(ve)},onclick:async()=>{await rv({appId:i(p),providerId:i(c)||void 0,modelId:i(g)||void 0,label:i(y)}),C(u,!1)},children:(ge,je)=>{var Ft=J("Save");m(ge,Ft)},$$slots:{default:!0}})}m(R,j)},$$slots:{default:!0}})};H(S,A=>{i(u)&&A(q)})}m(t,w),ce()}var xu=x('<div class="app-shell svelte-1n46o8q"><!> <div class="main svelte-1n46o8q"><!> <main class="content svelte-1n46o8q"><!> <!> <!> <!> <!> <!></main></div></div> <!> <!>',1);function ku(t,e){de(e,!0);let r="";function a(L){(L.metaKey||L.ctrlKey)&&L.key.toLowerCase()==="k"&&(L.preventDefault(),po())}Ys(()=>(uo(),window.addEventListener("keydown",a),An(),sl(),Xo(),ev(),ol(),()=>window.removeEventListener("keydown",a)));var n=xu(),s=te(n),l=h(s);lv(l,{});var o=f(l,2),v=h(o);Lv(v,{});var d=f(v,2),u=h(d);{var p=L=>{zd(L,{})};H(u,L=>{bt.route==="dashboard"&&L(p)})}var c=f(u,2);{var g=L=>{hc(L,{})};H(c,L=>{bt.route==="providers"&&L(g)})}var y=f(c,2);{var _=L=>{$c(L,{})};H(y,L=>{bt.route==="models"&&L(_)})}var w=f(y,2);{var P=L=>{Jc(L,{})};H(w,L=>{bt.route==="apps"&&L(P)})}var $=f(w,2);{var D=L=>{vu(L,{})};H($,L=>{bt.route==="server"&&L(D)})}var M=f($,2);{var T=L=>{bu(L,{})};H(M,L=>{bt.route==="settings"&&L(T)})}var B=f(s,2);Nv(B,{});var E=f(B,2);{var U=L=>{Uv(L,{query:r,get onclose(){return ho}})};H(E,L=>{gt.commandOpen&&L(U)})}m(t,n),ce()}try{Ki(ku,{target:document.getElementById("app")})}catch(t){console.error("Runtime error during mount:",t);const e=document.getElementById("app"),r=t instanceof Error?t.stack||t.message:String(t);e&&(e.innerHTML=`<pre style="color:#ff8a8a;background:#161616;padding:24px;margin:0;white-space:pre-wrap;font:13px ui-monospace,monospace;max-height:100vh;overflow:auto">MOUNT ERROR:
4
+
5
+ ${r.replace(/[<>&]/g,a=>({"<":"&lt;",">":"&gt;","&":"&amp;"})[a])}</pre>`)}
@@ -0,0 +1,13 @@
1
+ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <defs>
3
+ <linearGradient id="a" x1="10" y1="10" x2="54" y2="54" gradientUnits="userSpaceOnUse">
4
+ <stop stop-color="#e8b15a"/>
5
+ <stop offset="1" stop-color="#d99a3e"/>
6
+ </linearGradient>
7
+ </defs>
8
+ <rect width="64" height="64" rx="14" fill="#211f1c"/>
9
+ <rect x="2.5" y="2.5" width="59" height="59" rx="11.5" stroke="url(#a)" stroke-width="2" opacity="0.45"/>
10
+ <text x="32" y="33" text-anchor="middle" dominant-baseline="central"
11
+ font-family="'Outfit','Inter',system-ui,sans-serif" font-weight="800" font-size="38"
12
+ fill="url(#a)">A</text>
13
+ </svg>
@@ -0,0 +1,18 @@
1
+ <!doctype html>
2
+ <html lang="en" data-theme="dark">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>anygate</title>
7
+ <meta name="description" content="Unified gateway for Claude, Codex & Gemini — localhost control panel." />
8
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
9
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
10
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
11
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@500;600;700;800&display=swap" rel="stylesheet" />
12
+ <script type="module" crossorigin src="/assets/index-CRD31gqp.js"></script>
13
+ <link rel="stylesheet" crossorigin href="/assets/index-BXZwvwW9.css">
14
+ </head>
15
+ <body>
16
+ <div id="app"></div>
17
+ </body>
18
+ </html>
package/package.json CHANGED
@@ -1,89 +1,94 @@
1
- {
2
- "name": "anygate",
3
- "version": "0.5.2",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "description": "Route any model into any coding agent — launch Claude Code, Codex, and more with multi-provider gateways",
8
- "author": "ramanan-techlover",
9
- "license": "MIT",
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/ramanan-techlover/anygate.git"
13
- },
14
- "homepage": "https://github.com/ramanan-techlover/anygate#readme",
15
- "keywords": [
16
- "claude",
17
- "claude-code",
18
- "codex",
19
- "ai",
20
- "llm",
21
- "cli",
22
- "gateway",
23
- "vertex"
24
- ],
25
- "type": "module",
26
- "bin": {
27
- "anygate": "dist/cli.js"
28
- },
29
- "files": [
30
- "dist",
31
- "README.md"
32
- ],
33
- "engines": {
34
- "node": ">=18"
35
- },
36
- "scripts": {
37
- "build": "tsup && node scripts/copy-ui-assets.mjs",
38
- "dev": "tsup --watch",
39
- "test": "vitest run",
40
- "test:watch": "vitest",
41
- "typecheck": "tsc --noEmit",
42
- "refresh:models-dev": "node scripts/refresh-models-dev-cache.mjs",
43
- "prepublishOnly": "node -e \"if (require('./package.json').version !== require('./package-lock.json').version) { console.error('Error: package.json and package-lock.json versions are out of sync! Run npm install to sync.'); process.exit(1); }\" && npm run build"
44
- },
45
- "dependencies": {
46
- "@ai-sdk/alibaba": "^1.0.26",
47
- "@ai-sdk/amazon-bedrock": "^4.0.113",
48
- "@ai-sdk/azure": "^3.0.70",
49
- "@ai-sdk/cerebras": "^2.0.54",
50
- "@ai-sdk/cohere": "^3.0.36",
51
- "@ai-sdk/deepinfra": "^2.0.52",
52
- "@ai-sdk/gateway": "^3.0.125",
53
- "@ai-sdk/google": "^3.0.80",
54
- "@ai-sdk/google-vertex": "^4.0.142",
55
- "@ai-sdk/groq": "^3.0.39",
56
- "@ai-sdk/mistral": "^3.0.37",
57
- "@ai-sdk/openai": "^3.0.68",
58
- "@ai-sdk/openai-compatible": "^2.0.48",
59
- "@ai-sdk/perplexity": "^3.0.33",
60
- "@ai-sdk/togetherai": "^2.0.53",
61
- "@ai-sdk/vercel": "^2.0.50",
62
- "@ai-sdk/xai": "^3.0.93",
63
- "@clack/prompts": "^0.9.1",
64
- "@openrouter/ai-sdk-provider": "^2.9.0",
65
- "ai": "^6.0.197",
66
- "gitlab-ai-provider": "^6.8.0",
67
- "ipaddr.js": "^2.4.0",
68
- "open": "^11.0.0",
69
- "picocolors": "^1.1.1",
70
- "smol-toml": "^1.6.1",
71
- "venice-ai-sdk-provider": "^2.0.2",
72
- "ws": "^8.21.0",
73
- "zod": "^3.25.76"
74
- },
75
- "devDependencies": {
76
- "@types/node": "^22.0.0",
77
- "@types/ws": "^8.18.1",
78
- "@vitest/coverage-v8": "^2.1.9",
79
- "tsup": "^8.0.0",
80
- "typescript": "^5.5.0",
81
- "vitest": "^2.0.0"
82
- },
83
- "optionalDependencies": {
84
- "@napi-rs/keyring": "^1.3.0"
85
- },
86
- "overrides": {
87
- "ws": "^8.21.0"
88
- }
89
- }
1
+ {
2
+ "name": "anygate",
3
+ "version": "0.5.4",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "description": "Route any model into any coding agent — launch Claude Code, Codex, and more with multi-provider gateways",
8
+ "author": "ramananbuilds",
9
+ "license": "MIT",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/ramananbuilds/anygate.git"
13
+ },
14
+ "homepage": "https://github.com/ramananbuilds/anygate#readme",
15
+ "bugs": {
16
+ "url": "https://github.com/ramananbuilds/anygate/issues"
17
+ },
18
+ "keywords": [
19
+ "claude",
20
+ "claude-code",
21
+ "codex",
22
+ "ai",
23
+ "llm",
24
+ "cli",
25
+ "gateway",
26
+ "vertex"
27
+ ],
28
+ "type": "module",
29
+ "bin": {
30
+ "anygate": "dist/cli.js"
31
+ },
32
+ "files": [
33
+ "dist",
34
+ "README.md"
35
+ ],
36
+ "engines": {
37
+ "node": ">=18"
38
+ },
39
+ "scripts": {
40
+ "build": "tsup && npm run ui:build && node scripts/copy-ui-assets.mjs",
41
+ "dev": "tsup --watch",
42
+ "test": "vitest run",
43
+ "test:watch": "vitest",
44
+ "typecheck": "tsc --noEmit",
45
+ "refresh:models-dev": "node scripts/refresh-models-dev-cache.mjs",
46
+ "prepublishOnly": "node -e \"if (require('./package.json').version !== require('./package-lock.json').version) { console.error('Error: package.json and package-lock.json versions are out of sync! Run npm install to sync.'); process.exit(1); }\" && npm run build",
47
+ "ui:dev": "npm --prefix ui run dev",
48
+ "ui:build": "npm --prefix ui run build"
49
+ },
50
+ "dependencies": {
51
+ "@ai-sdk/alibaba": "^1.0.26",
52
+ "@ai-sdk/amazon-bedrock": "^4.0.113",
53
+ "@ai-sdk/azure": "^3.0.70",
54
+ "@ai-sdk/cerebras": "^2.0.54",
55
+ "@ai-sdk/cohere": "^3.0.36",
56
+ "@ai-sdk/deepinfra": "^2.0.52",
57
+ "@ai-sdk/gateway": "^3.0.125",
58
+ "@ai-sdk/google": "^3.0.80",
59
+ "@ai-sdk/google-vertex": "^4.0.142",
60
+ "@ai-sdk/groq": "^3.0.39",
61
+ "@ai-sdk/mistral": "^3.0.37",
62
+ "@ai-sdk/openai": "^3.0.68",
63
+ "@ai-sdk/openai-compatible": "^2.0.48",
64
+ "@ai-sdk/perplexity": "^3.0.33",
65
+ "@ai-sdk/togetherai": "^2.0.53",
66
+ "@ai-sdk/vercel": "^2.0.50",
67
+ "@ai-sdk/xai": "^3.0.93",
68
+ "@clack/prompts": "^0.9.1",
69
+ "@openrouter/ai-sdk-provider": "^2.9.0",
70
+ "ai": "^6.0.197",
71
+ "gitlab-ai-provider": "^6.8.0",
72
+ "ipaddr.js": "^2.4.0",
73
+ "open": "^11.0.0",
74
+ "picocolors": "^1.1.1",
75
+ "smol-toml": "^1.6.1",
76
+ "venice-ai-sdk-provider": "^2.0.2",
77
+ "ws": "^8.21.0",
78
+ "zod": "^3.25.76"
79
+ },
80
+ "devDependencies": {
81
+ "@types/node": "^22.0.0",
82
+ "@types/ws": "^8.18.1",
83
+ "@vitest/coverage-v8": "^2.1.9",
84
+ "tsup": "^8.0.0",
85
+ "typescript": "^5.5.0",
86
+ "vitest": "^2.0.0"
87
+ },
88
+ "optionalDependencies": {
89
+ "@napi-rs/keyring": "^1.3.0"
90
+ },
91
+ "overrides": {
92
+ "ws": "^8.21.0"
93
+ }
94
+ }