@vielzeug/courier 1.1.1 → 1.1.3

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.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  **Package:** `@vielzeug/courier`  ·  **Category:** Http
11
11
 
12
- **Key exports:** `createApi`, `createCourier`, `createQuery`, `createMutation`, `createStream`, `CourierError`, `HttpError`, `NetworkError`, `TimeoutError`, `AbortError`
12
+ **Key exports:** `createApi`, `createCourier`, `createQuery`, `createMutation`, `createStream`, `CourierError`, `CourierHttpError`, `CourierNetworkError`, `CourierTimeoutError`, `CourierAbortError`
13
13
 
14
14
  **When to use:** Typed HTTP, caching, mutations, SSE, and readable streaming with a shared interceptor pipeline.
15
15
 
package/dist/courier.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@vielzeug/arsenal");var t=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},n=class e extends t{url;method;status;data;headers;constructor(e){super(e.message),this.url=e.url,this.method=e.method,this.status=e.status,this.data=e.data,this.headers=e.headers}static fromResponse(t,n,r,i){return new e({data:n,headers:t.headers,message:t.statusText||`HTTP ${t.status}`,method:r,status:t.status,url:i})}static is(t,n){return t instanceof e&&(n===void 0||t.status===n)}},r=class extends t{url;method;constructor(e){super(e.message,{cause:e.cause}),this.url=e.url,this.method=e.method}},i=class extends t{url;method;constructor(e){super(e.message,{cause:e.cause}),this.url=e.url,this.method=e.method}},a=class extends t{url;method;constructor(e){super(e.message,{cause:e.cause}),this.url=e.url,this.method=e.method}},o=class extends t{data;constructor(e,t){super(e instanceof Error?e.message:String(e),{cause:e}),this.data=t}},s=class extends t{},c=class extends t{constructor(e){super(`[courier] ${e} disposed`)}},l=class extends t{};function u(e,t,n,o){let s=e instanceof Error?e.message:String(e),c=o?.reason;return c instanceof Error&&c.name===`TimeoutError`?new i({cause:e,message:s,method:t,url:n}):e instanceof DOMException?e.name===`TimeoutError`?new i({cause:e,message:s,method:t,url:n}):new a({cause:e,message:s,method:t,url:n}):e instanceof Error&&e.name===`AbortError`||o?.aborted?new a({cause:e,message:s,method:t,url:n}):new r({cause:e,message:s,method:t,url:n})}async function d(e,t=`auto`){if(t===`raw`)return e;if(e.status===204||e.status===205||e.status===304)return;if(t===`json`)return e.json();if(t===`text`)return e.text();if(t===`blob`)return e.blob();if(t===`arrayBuffer`)return e.arrayBuffer();let n=e.headers.get(`content-type`)??``;return n.includes(`application/json`)||n.includes(`+json`)?e.json():n.startsWith(`text/`)?e.text():n.startsWith(`image/`)||n.startsWith(`audio/`)||n.startsWith(`video/`)?e.blob():e.text()}function f(e,t,n,r,i){return n!==void 0&&!p(n)?{...i,body:JSON.stringify(n),headers:{"content-type":`application/json`,...t},method:e.toUpperCase(),signal:r}:{...i,...n!==void 0&&{body:n},headers:t,method:e.toUpperCase(),signal:r}}function p(e){return e instanceof FormData||e instanceof Blob||e instanceof URLSearchParams||typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof ReadableStream<`u`&&e instanceof ReadableStream}function m(e,t,n){return{headers:t,init:n,url:e,withHeaders(r){let i={...t};for(let[e,t]of Object.entries(r))i[e.toLowerCase()]=t;return m(e,i,n)}}}function h(...e){let t=e.filter(e=>e!=null);if(t.length!==0)return t.length===1?t[0]:AbortSignal.any(t)}var g=3e4;function _(e){if((e<=0||!Number.isFinite(e))&&e!==1/0)throw new t(`[courier] timeout must be a positive number or Infinity`)}function v(e,t){return e===1/0?t??void 0:h(AbortSignal.timeout(e),t)}function y(e={}){let{baseUrl:t=``,fetch:n=globalThis.fetch,headers:r={},timeout:i=g}=e;_(i);let a=Object.fromEntries(Object.entries(r).map(([e,t])=>[e.toLowerCase(),t])),o=new Set,s=new AbortController,c=[],l=null,u=!1;function d(){if(l)return l;let e=e=>n(e.url,{...e.init,headers:e.headers});return l=c.length===0?e:c.reduceRight((e,t)=>n=>t(n,e),e),l}function f(e){return c.push(e),l=null,()=>{let t=c.indexOf(e);t!==-1&&(c.splice(t,1),l=null)}}function p(e){for(let[t,n]of Object.entries(e)){let e=t.toLowerCase();n===void 0?delete a[e]:a[e]=n}}function h(){return{...a}}function v(e,t){let n=e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e.toLowerCase(),t])):void 0;return{...a,...n,...t}}function y(e){return o.add(e),()=>o.delete(e)}function b(e){return d()(m(e.url,e.headers,e.init))}function x(){for(let e of[...o])e.abort();o.clear()}function S(){if(!u){u=!0,s.abort();for(let e of o)e.abort();o.clear(),c.length=0,l=null}}return{baseUrl:t,cancelAll:x,dispatch:b,get disposalSignal(){return s.signal},dispose:S,get disposed(){return u},getHeaders:h,getTimeout(){return i},headers:p,mergeHeaders:v,track:y,use:f}}function b(e,t,n,r){let i=e.replace(/\/+$/,``),a=t.replace(/^\/+/,``);a=a.replace(/\{([^}]+)\}/g,(e,r)=>{let i=n?.[r];if(i==null)throw new l(`unresolved path param {${r}} in '${t}'`);return encodeURIComponent(String(i))});let o=i&&a?`${i}/${a}`:i||a;if(!r)return o;let s=new URLSearchParams;for(let[e,t]of Object.entries(r))if(t!==void 0){if(Array.isArray(t)){for(let n of t)n!==void 0&&s.append(e,n===null?``:String(n));continue}s.append(e,t===null?``:String(t))}let c=s.toString();return c?`${o}${o.includes(`?`)?`&`:`?`}${c}`:o}var x=new Set([`GET`,`HEAD`,`OPTIONS`]);function S(t,n,r,i){if(x.has(t))return`${t}:${n}:${r}`;if(i!==void 0)return`${t}:${n}:${(0,e.hash)(i)}`}function C(e){let{transport:t,...r}=e??{},i=t??y(r),a=!t,s=new Map;async function l(e,t,r,a,s,c){let l=t.signal,f;try{f=await i.dispatch({headers:e,init:t,url:r})}catch(e){throw u(e,a,r,l)}if(!f.ok){let e;try{e=await d(f,s??`auto`)}catch{e=await f.text().catch(()=>``)}throw n.fromResponse(f,e,a,r)}let p;try{p=await d(f,s??`auto`)}catch(e){throw u(e,a,r,l)}if(c)try{return c.parse(p)}catch(e){throw new o(e,p)}return p}async function p(e,t,n={}){if(i.disposed)throw new c(`ApiClient`);let r=e.toUpperCase(),a;try{a=b(i.baseUrl,t,n.params,n.query)}catch(e){throw u(e,r,t)}let{body:o,dedupe:d=!0,dedupeKey:p,fetchInit:m,headers:g,responseType:y,schema:x,signal:C,timeout:w}=n;w!==void 0&&_(w);let T=i.mergeHeaders(g),E=d?S(r,a,y??`auto`,p):void 0;if(E){let e=s.get(E);if(e)return e}let D=new AbortController,O=i.track(D),k=h(C,D.signal)??D.signal,{headers:A,...j}=f(r,T,o,v(w??i.getTimeout(),k),m??{}),M=l(A,j,a,r,y,x);E&&s.set(E,M);try{return await M}finally{E&&s.delete(E),O()}}return{cancelAll(){i.cancelAll(),s.clear()},delete:(e,t)=>p(`DELETE`,e,t),get disposalSignal(){return i.disposalSignal},dispose(){s.clear(),a&&i.dispose()},get disposed(){return i.disposed},get:(e,t)=>p(`GET`,e,t),getHeaders:i.getHeaders,headers:i.headers,patch:(e,t)=>p(`PATCH`,e,t),post:(e,t)=>p(`POST`,e,t),put:(e,t)=>p(`PUT`,e,t),request:p,[Symbol.dispose](){this.dispose()},use:i.use}}function w(e){let{maxSize:t=25,resolve:n,resolveSettled:r,window:i=0}=e,a=[],o=new AbortController,l=!1,u=null,d=!1;function f(){if(a.length===0)return;let e=a.splice(0,t);a.length>0&&p();let i=e.map(e=>e.key);try{r?r(i).then(t=>{if(t.length!==e.length){let n=new s(`Batcher: resolveSettled() returned ${t.length} results for ${e.length} keys`);for(let t of e)t.reject(n);return}e.forEach((e,n)=>{let r=t[n];r.status===`fulfilled`?e.resolve(r.value):e.reject(r.reason)})}).catch(t=>{for(let n of e)n.reject(t)}):n(i).then(t=>{if(t.length!==e.length){let n=new s(`Batcher: resolve() returned ${t.length} results for ${e.length} keys`);for(let t of e)t.reject(n);return}e.forEach((e,n)=>e.resolve(t[n]))}).catch(t=>{for(let n of e)n.reject(t)})}catch(t){for(let n of e)n.reject(t)}}function p(){l||(l=!0,i===0?queueMicrotask(()=>{l=!1,f()}):u=setTimeout(()=>{u=null,l=!1,f()},i))}return{get disposalSignal(){return o.signal},dispose(){if(d)return;d=!0,u!==null&&(clearTimeout(u),u=null);let e=new c(`Batcher`);for(let t of a.splice(0))t.reject(e);l=!1,o.abort()},get disposed(){return d},load(e){return d?Promise.reject(new c(`Batcher`)):new Promise((n,r)=>{a.push({key:e,reject:r,resolve:n}),a.length>=t?(u!==null&&(clearTimeout(u),u=null),l=!1,f()):p()})},[Symbol.dispose](){this.dispose()}}}function T(t){return Math.random()*(0,e.backoff)(t)}function E(e,t){if(typeof t==`function`){let n=t(e);return Number.isFinite(n)?Math.max(0,n):0}return typeof t==`number`?Number.isFinite(t)?Math.max(0,t):0:T(e)}var D=Object.freeze({data:void 0,error:null,isFetching:!1,isLoading:!1,status:`loading`,updatedAt:void 0});function O(t,n){let r=D,i=0,a=null,o=new Set,s=!1,l=null;function u(){o.forEach(e=>e())}async function d(e){try{await e?.()}catch(e){if(n?.onCallbackError)try{n.onCallbackError(e instanceof Error?e:Error(String(e)))}catch{}}}return{async cancel(){let e=a;e&&(e.controller.abort(),await e.promise.catch(()=>{}))},dispose(){s||(s=!0,a?.controller.abort(),a=null,o.clear())},get disposed(){return s},async mutate(o,l){if(s)throw new c(`Mutation`);let f=new AbortController,p=l?.signal?h(l.signal,f.signal):f.signal,m=++i;r={data:void 0,error:null,isFetching:!0,isLoading:!0,status:`loading`,updatedAt:void 0},u();let g={controller:f,promise:null};a=g;let _=(async()=>{try{let a=await(0,e.retry)(()=>t(o,p),{delay:e=>E(e,n?.delay),shouldRetry:n?.shouldRetry,signal:p,times:n?.times??1});return m===i&&(r={data:a,error:null,isFetching:!1,isLoading:!1,status:`success`,updatedAt:Date.now()},u()),await d(()=>n?.onSuccess?.(a,o)),await d(()=>n?.onFinally?.(o)),await d(()=>n?.onSettled?.({data:a,status:`success`,variables:o})),a}catch(t){let a=t instanceof Error?t:Error(String(t)),s=p.aborted||(0,e.isAbortError)(a);throw m===i&&(r=s?D:{data:void 0,error:a,isFetching:!1,isLoading:!1,status:`error`,updatedAt:Date.now()},u()),s||await d(()=>n?.onError?.(a,o)),await d(()=>n?.onFinally?.(o)),await d(()=>n?.onSettled?.(s?{status:`aborted`,variables:o}:{error:a,status:`error`,variables:o})),a}finally{a?.controller===f&&(a=null)}})();return g.promise=_,_},peek(){return r},reset(){r=D,u()},get store(){return l??={peek:()=>r,subscribe:e=>(o.add(e),()=>o.delete(e))}},subscribe(e){return o.add(e),()=>o.delete(e)},[Symbol.dispose](){this.dispose()}}}function k(e){return typeof e==`function`?e():e}function A(t){return(0,e.hash)(t)}function j(t){return(0,e.hash)(t)}function M(t,n){let r=(0,e.hash)(n),i=t.entries.get(r);return i||(i={data:void 0,error:null,hash:r,inflight:null,isFetching:!1,key:n,lastConfig:void 0,observers:new Set,segmentHashes:n.map(t=>(0,e.hash)(t)),status:`loading`,updatedAt:void 0},t.entries.set(r,i)),i}function N(e,t){let n=e.gcTimers.get(t);n&&(clearTimeout(n),e.gcTimers.delete(t))}function P(e,t,n){if(e.disposed||(N(e,t.hash),t.observers.size>0))return;if(n===0){e.entries.delete(t.hash);return}let r=setTimeout(()=>{let n=e.entries.get(t.hash);!n||n.observers.size>0||n.isFetching||(e.entries.delete(t.hash),e.gcTimers.delete(t.hash))},n);e.gcTimers.set(t.hash,r)}function F(e,t){t.inflight?.controller.abort(),N(e,t.hash),e.entries.delete(t.hash)}function I(e,t){return t.length>e.segmentHashes.length?!1:t.every((t,n)=>t===e.segmentHashes[n])}function L(e,t){t.isFetching=!0,t.status=`loading`,t.error=null,e.notify(t)}function R(e,t,n,r){t.data=n,t.error=null,t.status=`success`,t.updatedAt=Date.now(),t.isFetching=!1,t.inflight=null,P(e,t,r),e.notify(t)}function z(e,t,n,r){t.error=n,t.status=`error`,t.updatedAt=Date.now(),t.isFetching=!1,t.inflight=null,P(e,t,r),e.notify(t)}function B(e,t,n,r){if(t.data=n.data,t.error=n.error,t.status=n.status,t.updatedAt=n.updatedAt,t.isFetching=!1,t.inflight=null,t.observers.size===0&&t.status===`loading`&&t.data===void 0){F(e,t);return}P(e,t,r),e.notify(t)}function V(e,t){if(t.inflight?.controller.abort(),t.observers.size>0){t.inflight=null,t.isFetching=!1,t.status=`loading`,t.data=void 0,t.error=null,t.updatedAt=void 0,e.notify(t);return}F(e,t)}function H(t,n,r){if(n.inflight)return n.inflight.promise;let{delay:i,fn:a,gcTime:o,shouldRetry:s,times:c}=r,l=new AbortController,u={data:n.data,error:n.error,status:n.status,updatedAt:n.updatedAt},d=(async()=>{try{let r=await(0,e.retry)(()=>a({key:n.key,signal:l.signal}),{delay:e=>E(e,i),shouldRetry:s,signal:l.signal,times:c});return R(t,n,r,o),r}catch(r){let i=r instanceof Error?r:Error(String(r));throw l.signal.aborted||(0,e.isAbortError)(i)?B(t,n,u,o):z(t,n,i,o),i}})();return n.inflight={controller:l,promise:d},L(t,n),d}function U(e,t){return{delay:t.delay??e.delayDefault,fn:t.fn,gcTime:t.gcTime??e.gcTimeDefault,shouldRetry:t.shouldRetry??e.shouldRetryDefault,staleTime:t.staleTime??e.staleTimeDefault,times:t.times??e.timesDefault}}function W(e,t,n,r){return{delayDefault:e.delay,disposed:!1,entries:t,gcTimeDefault:e.gcTime??3e5,gcTimers:n,notify:r,shouldRetryDefault:e.shouldRetry,staleTimeDefault:e.staleTime??0,timesDefault:e.times??1}}var ee=Object.freeze({data:void 0,error:null,isFetching:!1,isLoading:!0,status:`loading`,updatedAt:void 0});function G(e){return e.status===`loading`?{data:void 0,error:null,isFetching:e.isFetching,isLoading:!0,status:`loading`,updatedAt:void 0}:e.status===`success`?{data:e.data,error:null,isFetching:e.isFetching,isLoading:!1,status:`success`,updatedAt:e.updatedAt}:{data:e.data,error:e.error,isFetching:e.isFetching,isLoading:!1,status:`error`,updatedAt:e.updatedAt}}function K(e,t){let n=G(e);if(n.status===`loading`){let e=k(t.placeholderData);return{...n,data:e}}let r=t.select?t.select(n.data):n.data;return{...n,data:r}}function q(e){for(let t of e.observers){let n=t,r=K(e,n),i=n.previous,a=Object.is(i?.data,r.data),o=!!i&&i.status===r.status&&i.isFetching===r.isFetching&&Object.is(i.error,r.error);(n.select?o&&a:o&&i?.updatedAt===r.updatedAt&&a)||(n.previous=r,n.listener())}}function J(e,t,n){let r={listener:()=>{},...n};return{peek(){let n=e.entries.get(A(t));return n?K(n,r):ee},subscribe(i){let a=M(e,t);N(e,a.hash);let o={...n,listener:i,previous:K(a,r)};return a.observers.add(o),()=>{a.observers.delete(o),a.observers.size===0&&P(e,a,a.lastConfig?.gcTime??e.gcTimeDefault)}}}}function Y(e){let t=!1,n=new AbortController,r=new Map,i=new Map,a=W({delay:e?.delay,gcTime:e?.gcTime,shouldRetry:e?.shouldRetry,staleTime:e?.staleTime,times:e?.times},r,i,q);async function o(e){if(t)throw new c(`QueryClient`);let{enabled:n=!0,fn:i,gcTime:o,initialData:s,key:l,staleTime:u,...d}=e;if(!n){let e=A(l);return r.get(e)?.data??void 0}let f=M(a,l),p=U(a,{fn:i,gcTime:o,staleTime:u,...d});if(s!==void 0&&f.status===`loading`&&f.data===void 0){let e=k(s);e!==void 0&&(f.data=e,f.error=null,f.status=`success`,f.updatedAt=Date.now())}return f.status===`success`&&f.updatedAt!==void 0&&Date.now()-f.updatedAt<p.staleTime&&!f.isFetching?(f.lastConfig=p,f.data):(f.lastConfig=p,f.inflight?f.inflight.promise:H(a,f,p))}function s(e){if(!e.lastConfig){V(a,e);return}e.isFetching||H(a,e,e.lastConfig).catch(()=>{})}function l(e){let t=e.map(e=>j(e));for(let e of[...r.values()])if(I(e,t)){if(e.observers.size>0){s(e);continue}V(a,e)}}function u(e,t,n){let r=M(a,e),i=n?.gcTime??r.lastConfig?.gcTime??a.gcTimeDefault;r.data=typeof t==`function`?t(r.data):t,r.error=null,r.status=`success`,r.updatedAt=n?.updatedAt??Date.now(),r.isFetching=!1,r.inflight=null,q(r),P(a,r,i)}function d(e){return e.observers.size===0||!e.lastConfig||e.isFetching?!1:e.status===`success`&&e.updatedAt!==void 0||e.status===`error`&&e.data!==void 0&&e.updatedAt!==void 0?Date.now()-e.updatedAt>=e.lastConfig.staleTime:!1}function f(e){let{fetch:t=!0,key:n,placeholderData:r,select:i}=e,s=J(a,n,{placeholderData:r,select:i});return t&&e.fn&&o({...e}).catch(()=>{}),s}return{cancel(e){let t=r.get(A(e));t?.inflight&&t.inflight.controller.abort()},cancelAll(){for(let e of r.values())e.inflight?.controller.abort()},clear(){for(let e of[...r.values()])V(a,e)},get disposalSignal(){return n.signal},dispose(){if(!t){t=!0,a.disposed=!0,n.abort();for(let[,e]of r)e.observers.clear(),e.inflight?.controller.abort();for(let[,e]of i)clearTimeout(e);i.clear(),r.clear()}},get disposed(){return t},fetch:o,fetchMany(e){return Promise.all(e.map(e=>o(e)))},get(e){let t=r.get(A(e));return t?t.data:void 0},getState(e){let t=r.get(A(e));return t?G(t):null},invalidate:l,keys(){return[...r.values()].map(e=>e.key)},observe:f,observeMany(e){let t=e.map(e=>J(a,e));return{peek(){return t.map(e=>e.peek())},subscribe(e){let n=t.map(t=>t.subscribe(e));return()=>{for(let e of n)e()}}}},refetchStale(){for(let e of[...r.values()])d(e)&&H(a,e,e.lastConfig).catch(()=>{})},remove(e){let t=r.get(A(e));t&&V(a,t)},set:u,get size(){return r.size},[Symbol.dispose](){this.dispose()}}}function X(e){try{return JSON.parse(e)}catch{return e}}async function Z(e,t,r,i,a){let o=i.method.toUpperCase(),s=b(e.baseUrl,t,i.params,i.query),c=h(i.extSignal,r.signal)??r.signal,d=v(i.timeout??1/0,c),{headers:p,...m}=f(o,e.mergeHeaders(i.headers,a),i.body,d,i.fetchInit??{}),g;try{g=await e.dispatch({headers:p,init:m,url:s})}catch(e){throw u(e,o,s,d??c)}if(!g.ok){let e=await g.text().catch(()=>``);throw n.fromResponse(g,e,o,s)}if(!g.body)throw new l(`Response has no body`);return g}function Q(t){let{transport:n,...r}=t??{},i=!n,a=n??y(r);function o(t,n={}){if(a.disposed)throw new c(`StreamClient`);let{body:r,fetchInit:i,headers:o,method:s=r===void 0?`GET`:`POST`,onError:l,params:u,query:d,reconnect:f=!1,signal:p,timeout:m}=n;m!==void 0&&_(m);let h=new Map,g=new AbortController,v=a.track(g),y=!1,b=`connecting`,x=``,S=f===!0?{}:f===!1?{times:0}:f,C=S.times??(f?5:0),w=S.delay??T;function E(e,t){let n=h.get(e);if(!n?.size)return;let r=X(t);for(let e of n)e(r)}async function D(){let e=(await Z(a,t,g,{body:r,extSignal:p,fetchInit:i,headers:o,method:s,params:u,query:d,timeout:m},{accept:`text/event-stream`,"cache-control":`no-cache`,...x?{"last-event-id":x}:{}})).body.getReader(),n=new TextDecoder,c=``,l=`message`,f=``,h=``;try{for(;;){let{done:t,value:r}=await e.read();if(t)break;c+=n.decode(r,{stream:!0}).replace(/\r\n/g,`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@vielzeug/arsenal");var t=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},n=class e extends t{url;method;status;data;headers;constructor(e){super(e.message),this.url=e.url,this.method=e.method,this.status=e.status,this.data=e.data,this.headers=e.headers}static fromResponse(t,n,r,i){return new e({data:n,headers:t.headers,message:t.statusText||`HTTP ${t.status}`,method:r,status:t.status,url:i})}static is(t,n){return t instanceof e&&(n===void 0||t.status===n)}},r=class extends t{url;method;constructor(e){super(e.message,{cause:e.cause}),this.url=e.url,this.method=e.method}},i=class extends t{url;method;constructor(e){super(e.message,{cause:e.cause}),this.url=e.url,this.method=e.method}},a=class extends t{url;method;constructor(e){super(e.message,{cause:e.cause}),this.url=e.url,this.method=e.method}},o=class extends t{data;constructor(e,t){super(e instanceof Error?e.message:String(e),{cause:e}),this.data=t}},s=class extends t{},c=class extends t{constructor(e){super(`[courier] ${e} disposed`)}},l=class extends t{};function u(e,t,n,o){let s=e instanceof Error?e.message:String(e),c=o?.reason;return c instanceof Error&&c.name===`TimeoutError`?new i({cause:e,message:s,method:t,url:n}):e instanceof DOMException?e.name===`TimeoutError`?new i({cause:e,message:s,method:t,url:n}):new a({cause:e,message:s,method:t,url:n}):e instanceof Error&&e.name===`AbortError`||o?.aborted?new a({cause:e,message:s,method:t,url:n}):new r({cause:e,message:s,method:t,url:n})}async function d(e,t=`auto`){if(t===`raw`)return e;if(e.status===204||e.status===205||e.status===304)return;if(t===`json`)return e.json();if(t===`text`)return e.text();if(t===`blob`)return e.blob();if(t===`arrayBuffer`)return e.arrayBuffer();let n=e.headers.get(`content-type`)??``;return n.includes(`application/json`)||n.includes(`+json`)?e.json():n.startsWith(`text/`)?e.text():n.startsWith(`image/`)||n.startsWith(`audio/`)||n.startsWith(`video/`)?e.blob():e.text()}function f(e,t,n,r,i){return n!==void 0&&!p(n)?{...i,body:JSON.stringify(n),headers:{"content-type":`application/json`,...t},method:e.toUpperCase(),signal:r}:{...i,...n!==void 0&&{body:n},headers:t,method:e.toUpperCase(),signal:r}}function p(e){return e instanceof FormData||e instanceof Blob||e instanceof URLSearchParams||typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof ReadableStream<`u`&&e instanceof ReadableStream}function m(e,t,n){return{headers:t,init:n,url:e,withHeaders(r){let i={...t};for(let[e,t]of Object.entries(r))i[e.toLowerCase()]=t;return m(e,i,n)}}}function h(...e){let t=e.filter(e=>e!=null);if(t.length!==0)return t.length===1?t[0]:AbortSignal.any(t)}var g=3e4;function _(e){if((e<=0||!Number.isFinite(e))&&e!==1/0)throw new t(`[courier] timeout must be a positive number or Infinity`)}function v(e,t){return e===1/0?t??void 0:h(AbortSignal.timeout(e),t)}function y(e={}){let{baseUrl:t=``,fetch:n=globalThis.fetch,headers:r={},timeout:i=g}=e;_(i);let a=Object.fromEntries(Object.entries(r).map(([e,t])=>[e.toLowerCase(),t])),o=new Set,s=new AbortController,c=[],l=null,u=!1;function d(){if(l)return l;let e=e=>n(e.url,{...e.init,headers:e.headers});return l=c.length===0?e:c.reduceRight((e,t)=>n=>t(n,e),e),l}function f(e){return c.push(e),l=null,()=>{let t=c.indexOf(e);t!==-1&&(c.splice(t,1),l=null)}}function p(e){for(let[t,n]of Object.entries(e)){let e=t.toLowerCase();n===void 0?delete a[e]:a[e]=n}}function h(){return{...a}}function v(e,t){let n=e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e.toLowerCase(),t])):void 0;return{...a,...n,...t}}function y(e){return o.add(e),()=>o.delete(e)}function b(e){return d()(m(e.url,e.headers,e.init))}function x(){for(let e of[...o])e.abort();o.clear()}function S(){if(!u){u=!0,s.abort();for(let e of o)e.abort();o.clear(),c.length=0,l=null}}return{baseUrl:t,cancelAll:x,dispatch:b,get disposalSignal(){return s.signal},dispose:S,get disposed(){return u},getHeaders:h,getTimeout(){return i},headers:p,mergeHeaders:v,track:y,use:f}}function b(e,t,n,r){let i=e.replace(/\/+$/,``),a=t.replace(/^\/+/,``);a=a.replace(/\{([^}]+)\}/g,(e,r)=>{let i=n?.[r];if(i==null)throw new l(`unresolved path param {${r}} in '${t}'`);return encodeURIComponent(String(i))});let o=i&&a?`${i}/${a}`:i||a;if(!r)return o;let s=new URLSearchParams;for(let[e,t]of Object.entries(r))if(t!==void 0){if(Array.isArray(t)){for(let n of t)n!==void 0&&s.append(e,n===null?``:String(n));continue}s.append(e,t===null?``:String(t))}let c=s.toString();return c?`${o}${o.includes(`?`)?`&`:`?`}${c}`:o}var x=new Set([`GET`,`HEAD`,`OPTIONS`]);function S(t,n,r,i){if(x.has(t))return`${t}:${n}:${r}`;if(i!==void 0)return`${t}:${n}:${(0,e.hash)(i)}`}function C(e){let{transport:t,...r}=e??{},i=t??y(r),a=!t,s=new Map;async function l(e,t,r,a,s,c){let l=t.signal,f;try{f=await i.dispatch({headers:e,init:t,url:r})}catch(e){throw u(e,a,r,l)}if(!f.ok){let e;try{e=await d(f,s??`auto`)}catch{e=await f.text().catch(()=>``)}throw n.fromResponse(f,e,a,r)}let p;try{p=await d(f,s??`auto`)}catch(e){throw u(e,a,r,l)}if(c)try{return c.parse(p)}catch(e){throw new o(e,p)}return p}async function p(e,t,n={}){if(i.disposed)throw new c(`ApiClient`);let r=e.toUpperCase(),a;try{a=b(i.baseUrl,t,n.params,n.query)}catch(e){throw u(e,r,t)}let{body:o,dedupe:d=!0,dedupeKey:p,fetchInit:m,headers:g,responseType:y,schema:x,signal:C,timeout:w}=n;w!==void 0&&_(w);let T=i.mergeHeaders(g),E=d?S(r,a,y??`auto`,p):void 0;if(E){let e=s.get(E);if(e)return e}let D=new AbortController,O=i.track(D),k=h(C,D.signal)??D.signal,{headers:A,...j}=f(r,T,o,v(w??i.getTimeout(),k),m??{}),M=l(A,j,a,r,y,x);E&&s.set(E,M);try{return await M}finally{E&&s.delete(E),O()}}return{cancelAll(){i.cancelAll(),s.clear()},delete:(e,t)=>p(`DELETE`,e,t),get disposalSignal(){return i.disposalSignal},dispose(){s.clear(),a&&i.dispose()},get disposed(){return i.disposed},get:(e,t)=>p(`GET`,e,t),getHeaders:i.getHeaders,headers:i.headers,patch:(e,t)=>p(`PATCH`,e,t),post:(e,t)=>p(`POST`,e,t),put:(e,t)=>p(`PUT`,e,t),request:p,[Symbol.dispose](){this.dispose()},use:i.use}}function w(e){let{maxSize:t=25,resolve:n,resolveSettled:r,window:i=0}=e,a=[],o=new AbortController,l=!1,u=null,d=!1;function f(){if(a.length===0)return;let e=a.splice(0,t);a.length>0&&p();let i=e.map(e=>e.key);try{r?r(i).then(t=>{if(t.length!==e.length){let n=new s(`Batcher: resolveSettled() returned ${t.length} results for ${e.length} keys`);for(let t of e)t.reject(n);return}e.forEach((e,n)=>{let r=t[n];r.status===`fulfilled`?e.resolve(r.value):e.reject(r.reason)})}).catch(t=>{for(let n of e)n.reject(t)}):n(i).then(t=>{if(t.length!==e.length){let n=new s(`Batcher: resolve() returned ${t.length} results for ${e.length} keys`);for(let t of e)t.reject(n);return}e.forEach((e,n)=>e.resolve(t[n]))}).catch(t=>{for(let n of e)n.reject(t)})}catch(t){for(let n of e)n.reject(t)}}function p(){l||(l=!0,i===0?queueMicrotask(()=>{l=!1,f()}):u=setTimeout(()=>{u=null,l=!1,f()},i))}return{get disposalSignal(){return o.signal},dispose(){if(d)return;d=!0,u!==null&&(clearTimeout(u),u=null);let e=new c(`Batcher`);for(let t of a.splice(0))t.reject(e);l=!1,o.abort()},get disposed(){return d},load(e){return d?Promise.reject(new c(`Batcher`)):new Promise((n,r)=>{a.push({key:e,reject:r,resolve:n}),a.length>=t?(u!==null&&(clearTimeout(u),u=null),l=!1,f()):p()})},[Symbol.dispose](){this.dispose()}}}function T(t){return Math.random()*(0,e.backoff)(t)}function E(e,t){if(typeof t==`function`){let n=t(e);return Number.isFinite(n)?Math.max(0,n):0}return typeof t==`number`?Number.isFinite(t)?Math.max(0,t):0:T(e)}var D=Object.freeze({data:void 0,error:null,isFetching:!1,isLoading:!0,status:`loading`,updatedAt:void 0});function O(t,n){let r=D,i=0,a=null,o=new Set,s=!1,l=null;function u(){o.forEach(e=>e())}async function d(e){try{await e?.()}catch(e){if(n?.onCallbackError)try{n.onCallbackError(e instanceof Error?e:Error(String(e)))}catch{}}}return{async cancel(){let e=a;e&&(e.controller.abort(),await e.promise.catch(()=>{}))},dispose(){s||(s=!0,a?.controller.abort(),a=null,o.clear())},get disposed(){return s},async mutate(o,l){if(s)throw new c(`Mutation`);let f=new AbortController,p=l?.signal?h(l.signal,f.signal):f.signal,m=++i;r={data:void 0,error:null,isFetching:!0,isLoading:!0,status:`loading`,updatedAt:void 0},u();let g={controller:f,promise:null};a=g;let _=(async()=>{try{let a=await(0,e.retry)(()=>t(o,p),{delay:e=>E(e,n?.delay),shouldRetry:n?.shouldRetry,signal:p,times:n?.times??1});return m===i&&(r={data:a,error:null,isFetching:!1,isLoading:!1,status:`success`,updatedAt:Date.now()},u()),await d(()=>n?.onSuccess?.(a,o)),await d(()=>n?.onFinally?.(o)),await d(()=>n?.onSettled?.({data:a,status:`success`,variables:o})),a}catch(t){let a=t instanceof Error?t:Error(String(t)),s=p.aborted||(0,e.isAbortError)(a);throw m===i&&(r=s?D:{data:void 0,error:a,isFetching:!1,isLoading:!1,status:`error`,updatedAt:Date.now()},u()),s||await d(()=>n?.onError?.(a,o)),await d(()=>n?.onFinally?.(o)),await d(()=>n?.onSettled?.(s?{status:`aborted`,variables:o}:{error:a,status:`error`,variables:o})),a}finally{a?.controller===f&&(a=null)}})();return g.promise=_,_},peek(){return r},reset(){r=D,u()},get store(){return l??={peek:()=>r,subscribe:e=>s?()=>{}:(o.add(e),()=>o.delete(e))}},subscribe(e){return s?()=>{}:(o.add(e),()=>o.delete(e))},[Symbol.dispose](){this.dispose()}}}function k(e){return typeof e==`function`?e():e}function A(t){return(0,e.hash)(t)}function j(t){return(0,e.hash)(t)}function M(t,n){let r=(0,e.hash)(n),i=t.entries.get(r);return i||(i={data:void 0,error:null,hash:r,inflight:null,isFetching:!1,key:n,lastConfig:void 0,observers:new Set,segmentHashes:n.map(t=>(0,e.hash)(t)),status:`loading`,updatedAt:void 0},t.entries.set(r,i)),i}function N(e,t){let n=e.gcTimers.get(t);n&&(clearTimeout(n),e.gcTimers.delete(t))}function P(e,t,n){if(e.disposed||(N(e,t.hash),t.observers.size>0))return;if(n===0){e.entries.delete(t.hash);return}let r=setTimeout(()=>{let n=e.entries.get(t.hash);!n||n.observers.size>0||n.isFetching||(e.entries.delete(t.hash),e.gcTimers.delete(t.hash))},n);e.gcTimers.set(t.hash,r)}function F(e,t){t.inflight?.controller.abort(),N(e,t.hash),e.entries.delete(t.hash)}function I(e,t){return t.length>e.segmentHashes.length?!1:t.every((t,n)=>t===e.segmentHashes[n])}function L(e,t){t.isFetching=!0,t.status=`loading`,t.error=null,e.notify(t)}function R(e,t,n,r){t.data=n,t.error=null,t.status=`success`,t.updatedAt=Date.now(),t.isFetching=!1,t.inflight=null,P(e,t,r),e.notify(t)}function z(e,t,n,r){t.error=n,t.status=`error`,t.updatedAt=Date.now(),t.isFetching=!1,t.inflight=null,P(e,t,r),e.notify(t)}function B(e,t,n,r){if(t.data=n.data,t.error=n.error,t.status=n.status,t.updatedAt=n.updatedAt,t.isFetching=!1,t.inflight=null,t.observers.size===0&&t.status===`loading`&&t.data===void 0){F(e,t);return}P(e,t,r),e.notify(t)}function V(e,t){if(t.inflight?.controller.abort(),t.observers.size>0){t.inflight=null,t.isFetching=!1,t.status=`loading`,t.data=void 0,t.error=null,t.updatedAt=void 0,e.notify(t);return}F(e,t)}function H(t,n,r){if(n.inflight)return n.inflight.promise;let{delay:i,fn:a,gcTime:o,shouldRetry:s,times:c}=r,l=new AbortController,u={data:n.data,error:n.error,status:n.status,updatedAt:n.updatedAt},d=(async()=>{try{let r=await(0,e.retry)(()=>a({key:n.key,signal:l.signal}),{delay:e=>E(e,i),shouldRetry:s,signal:l.signal,times:c});return R(t,n,r,o),r}catch(r){let i=r instanceof Error?r:Error(String(r));throw l.signal.aborted||(0,e.isAbortError)(i)?B(t,n,u,o):z(t,n,i,o),i}})();return n.inflight={controller:l,promise:d},L(t,n),d}function U(e,t){return{delay:t.delay??e.delayDefault,fn:t.fn,gcTime:t.gcTime??e.gcTimeDefault,shouldRetry:t.shouldRetry??e.shouldRetryDefault,staleTime:t.staleTime??e.staleTimeDefault,times:t.times??e.timesDefault}}function W(e,t,n,r){return{delayDefault:e.delay,disposed:!1,entries:t,gcTimeDefault:e.gcTime??3e5,gcTimers:n,notify:r,shouldRetryDefault:e.shouldRetry,staleTimeDefault:e.staleTime??0,timesDefault:e.times??1}}var ee=Object.freeze({data:void 0,error:null,isFetching:!1,isLoading:!0,status:`loading`,updatedAt:void 0});function G(e){return e.status===`loading`?{data:void 0,error:null,isFetching:e.isFetching,isLoading:!0,status:`loading`,updatedAt:void 0}:e.status===`success`?{data:e.data,error:null,isFetching:e.isFetching,isLoading:!1,status:`success`,updatedAt:e.updatedAt}:{data:e.data,error:e.error,isFetching:e.isFetching,isLoading:!1,status:`error`,updatedAt:e.updatedAt}}function K(e,t){let n=G(e);if(n.status===`loading`){let e=k(t.placeholderData);return{...n,data:e}}let r=t.select?t.select(n.data):n.data;return{...n,data:r}}function q(e){for(let t of e.observers){let n=t,r=K(e,n),i=n.previous,a=Object.is(i?.data,r.data),o=!!i&&i.status===r.status&&i.isFetching===r.isFetching&&Object.is(i.error,r.error);(n.select?o&&a:o&&i?.updatedAt===r.updatedAt&&a)||(n.previous=r,n.listener())}}function J(e,t,n){let r={listener:()=>{},...n};return{peek(){let n=e.entries.get(A(t));return n?K(n,r):ee},subscribe(i){if(e.disposed)return()=>{};let a=M(e,t);N(e,a.hash);let o={...n,listener:i,previous:K(a,r)};return a.observers.add(o),()=>{a.observers.delete(o),a.observers.size===0&&P(e,a,a.lastConfig?.gcTime??e.gcTimeDefault)}}}}function Y(e){let t=!1,n=new AbortController,r=new Map,i=new Map,a=W({delay:e?.delay,gcTime:e?.gcTime,shouldRetry:e?.shouldRetry,staleTime:e?.staleTime,times:e?.times},r,i,q);async function o(e){if(t)throw new c(`QueryClient`);let{enabled:n=!0,fn:i,gcTime:o,initialData:s,key:l,staleTime:u,...d}=e;if(!n){let e=A(l);return r.get(e)?.data??void 0}let f=M(a,l),p=U(a,{fn:i,gcTime:o,staleTime:u,...d});if(s!==void 0&&f.status===`loading`&&f.data===void 0){let e=k(s);e!==void 0&&(f.data=e,f.error=null,f.status=`success`,f.updatedAt=Date.now())}return f.status===`success`&&f.updatedAt!==void 0&&Date.now()-f.updatedAt<p.staleTime&&!f.isFetching?(f.lastConfig=p,f.data):(f.lastConfig=p,f.inflight?f.inflight.promise:H(a,f,p))}function s(e){if(!e.lastConfig){V(a,e);return}e.isFetching||H(a,e,e.lastConfig).catch(()=>{})}function l(e){let t=e.map(e=>j(e));for(let e of[...r.values()])if(I(e,t)){if(e.observers.size>0){s(e);continue}V(a,e)}}function u(e,t,n){let r=M(a,e),i=n?.gcTime??r.lastConfig?.gcTime??a.gcTimeDefault;r.data=typeof t==`function`?t(r.data):t,r.error=null,r.status=`success`,r.updatedAt=n?.updatedAt??Date.now(),r.isFetching=!1,r.inflight=null,q(r),P(a,r,i)}function d(e){return e.observers.size===0||!e.lastConfig||e.isFetching?!1:e.status===`success`&&e.updatedAt!==void 0||e.status===`error`&&e.data!==void 0&&e.updatedAt!==void 0?Date.now()-e.updatedAt>=e.lastConfig.staleTime:!1}function f(e){let{fetch:t=!0,key:n,placeholderData:r,select:i}=e,s=J(a,n,{placeholderData:r,select:i});return t&&e.fn&&o({...e}).catch(()=>{}),s}return{cancel(e){let t=r.get(A(e));t?.inflight&&t.inflight.controller.abort()},cancelAll(){for(let e of r.values())e.inflight?.controller.abort()},clear(){for(let e of[...r.values()])V(a,e)},get disposalSignal(){return n.signal},dispose(){if(!t){t=!0,a.disposed=!0,n.abort();for(let[,e]of r)e.observers.clear(),e.inflight?.controller.abort();for(let[,e]of i)clearTimeout(e);i.clear(),r.clear()}},get disposed(){return t},fetch:o,fetchMany(e){return Promise.all(e.map(e=>o(e)))},get(e){let t=r.get(A(e));return t?t.data:void 0},getState(e){let t=r.get(A(e));return t?G(t):null},invalidate:l,keys(){return[...r.values()].map(e=>e.key)},observe:f,observeMany(e){let t=e.map(e=>J(a,e));return{peek(){return t.map(e=>e.peek())},subscribe(e){let n=t.map(t=>t.subscribe(e));return()=>{for(let e of n)e()}}}},refetchStale(){for(let e of[...r.values()])d(e)&&H(a,e,e.lastConfig).catch(()=>{})},remove(e){let t=r.get(A(e));t&&V(a,t)},set:u,get size(){return r.size},[Symbol.dispose](){this.dispose()}}}function X(e){try{return JSON.parse(e)}catch{return e}}async function Z(e,t,r,i,a){let o=i.method.toUpperCase(),s=b(e.baseUrl,t,i.params,i.query),c=h(i.extSignal,r.signal)??r.signal,d=v(i.timeout??1/0,c),{headers:p,...m}=f(o,e.mergeHeaders(i.headers,a),i.body,d,i.fetchInit??{}),g;try{g=await e.dispatch({headers:p,init:m,url:s})}catch(e){throw u(e,o,s,d??c)}if(!g.ok){let e=await g.text().catch(()=>``);throw n.fromResponse(g,e,o,s)}if(!g.body)throw new l(`Response has no body`);return g}function Q(t){let{transport:n,...r}=t??{},i=!n,a=n??y(r);function o(t,n={}){if(a.disposed)throw new c(`StreamClient`);let{body:r,fetchInit:i,headers:o,method:s=r===void 0?`GET`:`POST`,onError:l,params:u,query:d,reconnect:f=!1,signal:p,timeout:m}=n;m!==void 0&&_(m);let h=new Map,g=new AbortController,v=a.track(g),y=!1,b=`connecting`,x=``,S=f===!0?{}:f===!1?{times:0}:f,C=S.times??(f?5:0),w=S.delay??T;function E(e,t){let n=h.get(e);if(!n?.size)return;let r=X(t);for(let e of n)e(r)}async function D(){let e=(await Z(a,t,g,{body:r,extSignal:p,fetchInit:i,headers:o,method:s,params:u,query:d,timeout:m},{accept:`text/event-stream`,"cache-control":`no-cache`,...x?{"last-event-id":x}:{}})).body.getReader(),n=new TextDecoder,c=``,l=`message`,f=``,h=``;try{for(;;){let{done:t,value:r}=await e.read();if(t)break;c+=n.decode(r,{stream:!0}).replace(/\r\n/g,`
2
2
  `).replace(/\r/g,`
3
3
  `);let i;for(;(i=c.indexOf(`
4
4
  `))!==-1;){let e=c.slice(0,i);if(c=c.slice(i+1),e===``)f!==``&&(h&&(x=h),E(l,f.replace(/\n$/,``))),l=`message`,f=``,h=``;else if(!e.startsWith(`:`)){let t=e.indexOf(`:`),n=t===-1?e:e.slice(0,t),r=t===-1?``:e.slice(t+1).replace(/^ /,``);if(n===`event`)l=r;else if(n===`data`)f+=(f?`