@defjs/core 0.4.0-beta.0 → 0.4.0-beta.1

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.
Files changed (5) hide show
  1. package/README.md +10 -47
  2. package/index.d.ts +487 -435
  3. package/index.js +5078 -4580
  4. package/index.min.js +44 -2
  5. package/package.json +2 -1
package/index.min.js CHANGED
@@ -1,2 +1,44 @@
1
- const e=Symbol.for(`defjs.command.type`),t=Symbol.for(`defjs.command.http`),n=Symbol.for(`defjs.command.event-stream`),r=Symbol.for(`defjs.command.web-socket`);function i(t){if(typeof t==`object`&&t&&e in t)return t[e]}function a(e){return i(e)===t}function o(e){return i(e)===n}function s(e){return i(e)===r}const c=e=>e.toString(),l=globalThis.fetch.bind(globalThis),u={handle:l},d={handle:l,onInvalidEvent:void 0,reconnect:void 0};function f(){return{endpoint:``,http:{...u},interceptors:[],queryParamsSerializer:c,xsrf:void 0}}function p(){return{...f(),sse:{...d},webSocket:{handle:globalThis.WebSocket,beforeConnect:void 0,heartbeat:void 0,onInvalidEvent:void 0,protocols:void 0,reconnect:void 0}}}const m=Error(`Request was aborted`),h=Error(`Request timed out`);function g(e){if(y(e)){let t=Error(m.message,{cause:e});return Object.defineProperty(t,"name",{configurable:!0,enumerable:!1,value:`TransportError`,writable:!0}),t.code=`ABORTED`,t.kind=`transport`,t}if(b(e)){let t=Error(e instanceof Error&&e.message?e.message:h.message,{cause:e});return Object.defineProperty(t,"name",{configurable:!0,enumerable:!1,value:`TransportError`,writable:!0}),t.code=`TIMEOUT`,t.kind=`transport`,t}let t=Error(e instanceof Error?e.message:`Network error`,{cause:e});return Object.defineProperty(t,"name",{configurable:!0,enumerable:!1,value:`TransportError`,writable:!0}),t.code=`NETWORK_ERROR`,t.kind=`transport`,t}function _(e,t,n){if(e===`UNDECLARED_STATUS`){if(!n)throw TypeError(`UNDECLARED_STATUS requires a response`);let r=Error(t instanceof Error?t.message:String(t),{cause:t});return Object.defineProperty(r,"name",{configurable:!0,enumerable:!1,value:`DefinitionError`,writable:!0}),r.code=e,r.kind=`definition`,r.response=n,r.status=n.status,r}let r=Error(t instanceof Error?t.message:String(t),{cause:t});return Object.defineProperty(r,"name",{configurable:!0,enumerable:!1,value:`DefinitionError`,writable:!0}),r.code=e,r.kind=`definition`,r.response=n,r}function v(e,t,n,r){let i=Error(t);return Object.defineProperty(i,"name",{configurable:!0,enumerable:!1,value:`HttpStatusError`,writable:!0}),i.code=`HTTP_STATUS`,i.data=r,i.kind=`http`,i.response=n,i.status=e,i}function y(e){return e===m||e instanceof DOMException&&e.name===`AbortError`}function b(e){return e===h||e instanceof DOMException&&e.name===`TimeoutError`||e instanceof Error&&e.name===`TimeoutError`}function x(e){return{kind:`http`,fn:e}}function S(e){return{kind:`sse`,fn:e}}function C(e){return{kind:`web-socket`,fn:e}}function w(e,t){return t(e)}function T(e){return e.reduceRight((e,t)=>(n,r)=>t(n,t=>e(t,r)),w)}function E(e){return e.filter(e=>e.kind===`http`).map(e=>e.fn)}function D(e){return e.filter(e=>e.kind===`sse`).map(e=>e.fn)}function O(e){return e.filter(e=>e.kind===`web-socket`).map(e=>e.fn)}const ee=2147483647;function te(e){return{abort:e.abort,signal:e.signal,timeout:e.timeout}}function k(e){return e!==void 0&&e.abort!==void 0&&e.timeout!==void 0}function ne(){return _(`REQUEST_VALIDATION_FAILED`,Error(`abort and timeout cannot be used together`))}function A(e){if(e.aborted)return j(e)}function j(e){let t=e.reason;return g(t===h||t instanceof Error&&t.name===`TimeoutError`?h:m)}function M(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<=0||e>ee))throw RangeError(`Request timeout must be a positive safe integer no greater than ${ee}`)}async function N(e,t){t.throwIfAborted();let n,r=new Promise((e,t)=>{n=t}),i=()=>n(t.reason);t.addEventListener(`abort`,i,{once:!0});let a=Promise.resolve().then(()=>(t.throwIfAborted(),e()));a.catch(()=>void 0);try{let e=await Promise.race([a,r]);return t.throwIfAborted(),e}finally{t.removeEventListener(`abort`,i)}}function P(e,t,n){M(n);let r=typeof n==`number`,i=[e];for(let e of t)e&&i.push(e);if(!r&&i.length===1)return e;let a;if(r){let e=new AbortController;a=setTimeout(()=>{e.abort(h)},n),i.push(e.signal)}let o=AbortSignal.any(i);if(a!==void 0){let e=a,t=()=>{clearTimeout(e)};o.aborted?t():o.addEventListener(`abort`,t,{once:!0})}return o}const F=Symbol.for(`defjs.struct.definition`),re=Symbol.for(`defjs.struct.omit`),ie=new Set([`any`,`array`,`arrayBuffer`,`bigint`,`blob`,`boolean`,`date`,`discriminatedUnion`,`enum`,`file`,`intersection`,`literal`,`null`,`number`,`object`,`or`,`record`,`request`,`requestBody`,`string`,`tuple`,`unknown`]);function ae(e){if(typeof e!=`object`||!e||!Object.hasOwn(e,F))return!1;let t=e[F];if(typeof t!=`object`||!t||!ie.has(t.kind))return!1;let n=t.flags;return typeof n==`object`&&!!n&&typeof n.nullable==`boolean`&&typeof n.optional==`boolean`}function I(e,t){let n=t.cache.resolvedShape;if(n)return n;let r=oe(t.shape,t.cache.declaredDescriptors);for(let[e,t]of Object.entries(r))L(t,`object field "${e}"`);return t.cache.resolvedShape=r,r}function oe(e,t){let n=Object.create(null);for(let[r,i]of Object.entries(t))n[r]=typeof i.get==`function`?i.get.call(e):i.value;return n}function L(e,t){if(!ae(e))throw TypeError(`${t} must be a struct`)}const se=[`path`,`query`,`headers`,`body`];function R(e,t){return e.valueSet===void 0?(e.valueSet=null,e.values.includes(t)):(e.valueSet??=new Set(e.values)).has(t)}function z(e){return{ok:!0,value:e}}function B(e){return{issue:e,ok:!1}}function ce(e){switch(e.kind){case`any`:return`any`;case`array`:return`array<${ce(e.item[F])}>`;case`arrayBuffer`:return`ArrayBuffer`;case`blob`:return`Blob`;case`bigint`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return e.expected;case`enum`:case`literal`:return e.expected;case`intersection`:case`or`:case`discriminatedUnion`:return e.expected;case`object`:return`object`;case`record`:return`record<${ce(e.value[F])}>`;case`request`:return`request`;case`requestBody`:return`${e.codec} body`;case`tuple`:return`tuple`;case`unknown`:return`unknown`}}function le(e){if(e.length===0)return`<root>`;let t=``;for(let n of e){if(typeof n==`number`){t+=`[${n}]`;continue}t+=t?`.${n}`:n}return t}function V(e,t){return Object.hasOwn(e,t)}function H(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ue(e){return e===null?`null`:e===void 0?`undefined`:typeof e==`string`?JSON.stringify(e):typeof e==`number`||typeof e==`boolean`?String(e):e instanceof File?`File(${e.name})`:e instanceof Blob?`Blob(${e.type||`application/octet-stream`})`:e instanceof ArrayBuffer?`ArrayBuffer(${e.byteLength})`:Array.isArray(e)?`array`:H(e)?`object`:Object.prototype.toString.call(e)}function U(e,t){return fe(e[F],t,e)}function de(e,t){let n=[];for(let r of e){let e=r;U(e,t)&&n.push(e)}return n}function fe(e,t,n){if(t===null){if(e.kind===`null`||e.flags.nullable)return!0;if((e.kind!==`literal`||e.value!==null)&&e.kind!==`intersection`&&e.kind!==`or`&&e.kind!==`requestBody`)return!1}if(t===void 0)return e.flags.optional;switch(e.kind){case`any`:case`unknown`:return!0;case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return(e.runtimeIs??e.is)(t);case`literal`:return Object.is(t,e.value);case`enum`:return R(e,t);case`array`:return Array.isArray(t)&&t.every(t=>U(e.item,t));case`tuple`:return Array.isArray(t)&&t.length===e.items.length&&e.items.every((e,n)=>U(e,t[n]));case`object`:return H(t)&&pe(n,t);case`request`:if(!H(t))return!1;for(let n of se){let r=e[n];if(r&&(!V(t,n)||!U(r,t[n])))return!1}return!0;case`requestBody`:return U(e.struct,t);case`record`:return H(t)&&Object.keys(t).every(n=>U(e.value,t[n]));case`or`:return e.options.some(e=>U(e,t));case`discriminatedUnion`:{if(!H(t)||!V(t,e.discriminator))return!1;let n=e.map.get(t[e.discriminator]);return n?U(n,t):!1}case`intersection`:return e.options.every(e=>U(e,t))}}function pe(e,t){let n=e[F];if(n.kind!==`object`)return!0;let r=I(e,n);for(let e in r){let n=r[e],i=n[F];if(!V(t,e)){if(me(i))return!1;continue}if(!U(n,t[e]))return!1}return!0}function me(e){return!e.flags.optional}function he(e,t){let n=t.cache.fields;if(n)return n;let r=t.cache.resolvedShape??I(e,t),i=Object.freeze(Object.entries(r).map(([e,t])=>{let n=t,r=n[F].alias;return Object.freeze({alias:r,key:e,struct:n,wireKey:r??e})}));return ge(i),t.cache.fields=i,i}function ge(e){let t=new Map;for(let n of e){if(t.has(n.wireKey)){let e=t.get(n.wireKey);throw TypeError(`duplicate wire key "${n.wireKey}" for object fields "${e}" and "${n.key}"`)}t.set(n.wireKey,n.key)}}function _e(e,t,n,r=Object.create(null)){let i=e[F];if(i.kind!==`object`)throw TypeError(`json encode expects object struct`);for(let a of he(e,i)){if(!V(t,a.key))continue;let e=t[a.key];e!==void 0&&(r[a.wireKey]=n(a.struct,e))}return r}function ve(e,t,n,r,i){return ye(be(e,t,i),be(n,r,i))}function ye(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>ye(e,t[n]));if(!H(e)||!H(t))return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>V(t,n)&&ye(e[n],t[n]))}function be(e,t,n){let r=e[F];return n.encodeObject&&r.alias&&(r.kind===`array`||r.kind===`object`)?{alias:r.alias,value:t}:t}function xe(e,t,n,r,i=Object.create(null)){if(r.encodeObject===_e)return _e(e,n,(e,t)=>W(e,t,r),i);let a=I(e,t);for(let e in a)V(n,e)&&(i[e]=W(a[e],n[e],r));return i}function W(e,t,n={}){let r=e[F];if(t===null&&(r.kind===`null`||r.flags.nullable))return null;if(!(t===void 0&&r.flags.optional))switch(r.kind){case`any`:case`unknown`:case`null`:case`enum`:case`literal`:return t;case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`number`:case`string`:return r.encode?r.encode(t):t;case`array`:return Array.isArray(t)?t.map(e=>W(r.item,e,n)):t;case`tuple`:return Array.isArray(t)?t.map((e,t)=>t<r.items.length?W(r.items[t],e,n):e):t;case`record`:{if(!H(t))return t;let e=Object.create(null);for(let[i,a]of Object.entries(t))e[i]=W(r.value,a,n);return e}case`object`:return H(t)?n.encodeObject?n.encodeObject(e,t,(e,t)=>W(e,t,n)):xe(e,r,t,n):t;case`request`:{if(!H(t))return t;let e=Object.create(null);for(let i of se){let a=r[i];a&&V(t,i)&&(e[i]=W(a,t[i],n))}return e}case`requestBody`:return W(r.struct,t,n);case`or`:{if(!n.encodeObject&&!n.selectUnionOptions&&r.uniformIdentityEncode){for(let e of r.options){let r=e;if(U(r,t))return W(r,t,n)}return t}let e=(n.selectUnionOptions??de)(r.options,t),i=e[0];if(!i)return t;let a=W(i,t,n);for(let r=1;r<e.length;r+=1){let o=e[r];if(!ve(i,a,o,W(o,t,n),n))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`)}return a}case`discriminatedUnion`:if(H(t)){let e=r.map.get(t[r.discriminator]);if(e)return W(e,t,n)}return t;case`intersection`:{if(!r.objectSides)return W(r.options[r.options.length-1],t,n);if((!n.encodeObject||n.encodeObject===_e)&&H(t)){let e=Object.create(null);for(let i of r.options){let r=i;xe(r,r[F],t,n,e)}return e}let e=Object.create(null),i=!0,a;for(let o of r.options)a=W(o,t,n),i&&H(a)?Object.assign(e,a):i=!1;return i?e:a}}}var Se=class extends Error{issues;constructor(e){let t=e[0]?.message;super(e.length<=1?t??`Struct parse failed`:`${e.length} struct issues: ${t}`),this.name=`StructError`,this.issues=e}format(){let e=Ce();for(let t of this.issues){let n=e;for(let e of t.path){let t=we(e),r=n[t];if(Object.hasOwn(n,t)&&r&&!Array.isArray(r))n=r;else{let e=Ce();n[t]=e,n=e}}n._errors.push(t.message)}return e}flatten(){let e=[],t=Object.create(null);for(let n of this.issues){if(n.path.length===0){e.push(n.message);continue}let r=String(n.path[0]);(t[r]??=[]).push(n.message)}return{fieldErrors:t,formErrors:e}}prettify(){return this.issues.length===0?`Struct parse failed`:this.issues.map(e=>`× ${e.path.length===0?`<root>`:le(e.path)}: ${e.message}`).join(`
2
- `)}};function Ce(){return Object.assign(Object.create(null),{_errors:[]})}function we(e){let t=String(e);return t===`_errors`?`\\_errors`:t}let Te;function Ee(){return Te!==void 0}function De(e,t){let n=Te;Te=e;try{return t()}finally{Te=n}}function G(e,t,n,r,i){let a={code:t,expected:n,message:i??`Expected ${n} at ${le(e)}, received ${ue(r)}`,path:e,received:r};if(Te){let e=Te(a);e&&(a.message=e)}return a}const K={ok:!1,issue:{code:`invalid_union`,expected:``,message:``,path:[],received:void 0}};function Oe(e,t,n,r=!1){return ke(e,t,[],n,r,!0)}function ke(e,t,n,r,i,a){let o=e[F];if(t===void 0)return o.flags.optional?z(r===`field`?re:void 0):a?B(G([...n],r===`field`?`missing_key`:`invalid_type`,ce(o),t)):K;if(t===null){if(o.kind===`null`||o.flags.nullable)return z(null);if(!(o.kind===`literal`&&o.value===null||o.kind===`intersection`||o.kind===`or`||o.kind===`requestBody`))return a?B(G([...n],`invalid_type`,ce(o),t)):K}switch(o.kind){case`any`:case`unknown`:return z(t);case`array`:return Pe(o,t,n,i,a);case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return je(o,t,n,a);case`enum`:return Me(o,t,n,a);case`intersection`:return He(o,t,n,i,a);case`literal`:return Ne(o,t,n,a);case`object`:return Fe(e,o,t,n,i,a);case`or`:return Be(o,t,n,i,a);case`discriminatedUnion`:return Ve(o,t,n,i,a);case`record`:return Ie(o,t,n,i,a);case`request`:return Le(o,t,n,i,a);case`requestBody`:return Re(o,t,n,r,i,a);case`tuple`:return ze(o,t,n,i,a)}}function Ae(e,t,n,r,i,a,o){n.push(r);try{return ke(e,t,n,i,a,o)}finally{n.pop()}}function je(e,t,n,r){return e.is(t)?e.decode?e.decode(t,[...n]):z(t):r?B(G([...n],`invalid_type`,e.expected,t)):K}function Me(e,t,n,r){return R(e,t)?z(t):r?B(G([...n],`invalid_enum`,e.expected,t)):K}function Ne(e,t,n,r){return Object.is(t,e.value)?z(t):r?B(G([...n],`invalid_literal`,e.expected,t)):K}function Pe(e,t,n,r,i){if(!Array.isArray(t))return i?B(G([...n],`invalid_type`,`array`,t)):K;let a=[];for(let o=0;o<t.length;o+=1){let s=Ae(e.item,t[o],n,o,`value`,r,i);if(!s.ok)return s;a.push(s.value)}return z(a)}function Fe(e,t,n,r,i,a,o,s){if(!H(n))return a?B(G([...r],`invalid_type`,`object`,n)):K;let c=s??Object.create(null);for(let s of he(e,t)){let e=i?s.wireKey:s.key,t=o?.inputKey===e?o.value:V(n,e)?n[e]:void 0,l=Ae(s.struct,t,r,s.key,`field`,i,a);if(!l.ok)return l;l.value!==re&&(c[s.key]=l.value)}return z(c)}function Ie(e,t,n,r,i){if(!H(t))return i?B(G([...n],`invalid_type`,`record`,t)):K;let a=Object.create(null);for(let o of Object.keys(t)){let s=Ae(e.value,t[o],n,o,`field`,r,i);if(!s.ok)return s;s.value!==re&&(a[o]=s.value)}return z(a)}function Le(e,t,n,r,i){if(!H(t))return i?B(G([...n],`invalid_type`,`object`,t)):K;let a=Object.create(null);for(let o of se){let s=e[o];if(!s)continue;let c=V(t,o)?t[o]:void 0;if(c===void 0){if(s[F].kind===`object`){let e=Ae(s,{},n,o,`field`,r,i);if(e.ok){a[o]=e.value;continue}}return i?B(G([...n,o],`missing_key`,ce(s[F]),void 0)):K}let l=Ae(s,c,n,o,`field`,r,i);if(!l.ok)return l;a[o]=l.value}return z(a)}function Re(e,t,n,r,i,a){return ke(e.struct,t,n,r,i,a)}function ze(e,t,n,r,i){if(!Array.isArray(t)||t.length!==e.items.length)return i?B(G([...n],`invalid_type`,`tuple of length ${e.items.length}`,t)):K;let a=[];for(let o=0;o<e.items.length;o+=1){let s=Ae(e.items[o],t[o],n,o,`value`,r,i);if(!s.ok)return s;a.push(s.value)}return z(a)}function Be(e,t,n,r,i){let a=i&&Ee();for(let i of e.options){let e=ke(i,t,n,`value`,r,a);if(e.ok)return e}return i?B(G([...n],`invalid_union`,e.expected,t)):K}function Ve(e,t,n,r,i){if(!H(t))return i?B(G([...n],`invalid_type`,`object`,t)):K;let a=[...n,e.discriminator];if(!r){let r=V(t,e.discriminator)?t[e.discriminator]:void 0;if(r===void 0)return i?B(G(a,`missing_key`,e.expected,void 0)):K;let o=e.map.get(r);if(!o)return i?B(G(a,`invalid_union`,e.expected,r)):K;let s=o;return Fe(s,s[F],t,n,!1,i,{inputKey:e.discriminator,value:r})}for(let r of e.discriminatorWireKeys??[]){if(!V(t,r))continue;let o=t[r];if(o===void 0)return i?B(G(a,`missing_key`,e.expected,void 0)):K;let s=e.map.get(o);return!s||e.wireKeyByValue?.get(o)!==r?i?B(G(a,`invalid_union`,e.expected,o)):K:Fe(s,s[F],t,n,!0,i,{inputKey:r,value:o})}return i?B(G(a,`missing_key`,e.expected,void 0)):K}function He(e,t,n,r,i){if(e.objectSides&&H(t)){let a=Object.create(null);for(let o of e.options){let e=o,s=Fe(e,e[F],t,n,r,i,void 0,a);if(!s.ok)return s}return z(a)}if(r&&!e.objectSides){let a;for(let o of e.options){let e=ke(o,t,n,`value`,r,i);if(!e.ok)return e;a=e.value}return z(a)}let a=Object.create(null),o=!0,s;for(let c of e.options){let e=ke(c,t,n,`value`,r,i);if(!e.ok)return e;s=e.value,o&&H(s)?Object.assign(a,s):o=!1}return z(o?a:s)}function Ue(e){return ae(e)&&e[F].kind===`object`}function We(e,t,n){L(e,`struct`);let r=e;return De(n?.errorMap,()=>{let e=Oe(r,t,`value`,n?.aliases===!0);return e.ok?[null,e.value]:[new Se([e.issue]),void 0]})}function q(e,t,n){L(e,`struct`);let r=Oe(e,t,`value`,n?.useAliases);if(!r.ok)throw new Se([r.issue]);return r.value}async function Ge(e,t){return e?q(e,t):t}function Ke(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`||e===null}function J(e){return e===null?`null`:String(e)}function qe(e,t){let n=new Map;if(t){for(let[e,r]of Object.entries(t))if(r!==void 0){if(Array.isArray(r)){let t=r[0];if(t!==void 0){if(!et(t))throw TypeError(`path value for "${e}" requires a scalar value`);n.set(e,Je(e,J(t)))}continue}if(!et(r))throw TypeError(`path value for "${e}" requires a scalar value`);n.set(e,Je(e,J(r)))}}return e.replace(/:([^/]+)/g,(e,t)=>{let r=n.get(t);if(r===void 0)throw TypeError(`Missing path param: ${t}`);return r})}function Je(e,t){if(t===``)throw TypeError(`path value for "${e}" must be a non-empty path segment`);if(t===`.`||t===`..`)throw TypeError(`path value for "${e}" must not be a dot segment`);return encodeURIComponent(t)}function Ye(e,t={}){let n=new URLSearchParams;if(!e)return n;for(let[r,i]of Object.entries(e))$e(n,r,i,t);return n}function Xe(e,t){if(t){if(t instanceof Headers){t.forEach((t,n)=>{e.set(n,t)});return}if(Array.isArray(t)){for(let[n,r]of t)e.append(n,r);return}for(let[n,r]of Object.entries(t))if(r!==void 0){if(Array.isArray(r)){for(let t of r){if(!et(t))throw TypeError(`header value for "${n}" requires a scalar value`);e.append(n,J(t))}continue}if(!et(r))throw TypeError(`header value for "${n}" requires a scalar value`);e.set(n,J(r))}}}function Ze(e,t,n=``){let r=tt(e),i=nt(t),a=new URL(i,r);return a.search=n,a}function Qe(e){if(!e.baseEndpoint)throw TypeError(`Client endpoint is required`);let t=typeof e.queryString==`string`?e.queryString:e.queryParams?e.queryParams.toString():``;return Ze(e.baseEndpoint,e.endpoint,t)}function $e(e,t,n,r){if(n!==void 0){if(Array.isArray(n)){for(let i of n)if(i!==void 0){if(et(i)){e.append(t,J(i));continue}if(!r.allowComplex)throw TypeError(`query value for "${t}" requires queryParamsSerializer or a scalar value`)}return}if(!et(n)){if(!r.allowComplex)throw TypeError(`query value for "${t}" requires queryParamsSerializer or a scalar value`);return}e.set(t,J(n))}}function et(e){return Ke(e)&&typeof e!=`bigint`}function tt(e){let t;try{t=new URL(e)}catch{throw TypeError(`Client endpoint must be a valid URL`)}return t.search=``,t.hash=``,t.pathname.endsWith(`/`)||(t.pathname=`${t.pathname}/`),t}function nt(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e)||e.startsWith(`//`))throw Error(`Endpoint path must not be an absolute URL`);if(e.includes(`?`)||e.includes(`#`))throw Error(`Endpoint path must not include query or hash`);return e.replace(/^\/+/,``)}const rt=Symbol(`HttpResponse`);function it(e){let t=e?.status??0,n=t>=200&&t<300,r=e?.statusText??``,i=e?.url??ot(e?.request),a=e?.headers??new Headers(e?.request?.headers),o=e?.body??null,s=e?.error;return s===void 0&&t===0&&(s=Error(at({status:t,statusText:r,url:i}))),{[rt]:!0,status:t,statusText:r,url:i,headers:a,body:o,error:s,ok:n}}function at(e){let t=`Http failure response: ${e.status}`;return e.statusText&&(t+=` - ${e.statusText}`),t}function ot(e){return e?e.baseEndpoint?Qe(e).href:e.endpoint:``}const st={encodeObject:_e};function ct(e,t,n=`json`){return Ue(e)?(ut(t,`${n} encode expects object value`),_e(e,t,(e,t)=>dt(e,t,n))):dt(e,t,n)}function lt(e,t){return q(e,t,{useAliases:!0})}function ut(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(t)}function dt(e,t,n){return Ue(e)?ct(e,t,n):W(e,t,st)}function ft(e,t){return ct(e,t,`json`)}function pt(e,t){return lt(e,t)}function mt(e){switch(!0){case vt(e):case _t(e):case e instanceof ArrayBuffer:case e instanceof URLSearchParams:case typeof ReadableStream<`u`&&e instanceof ReadableStream:case typeof e==`string`:return e;case typeof e==`object`:case typeof e==`boolean`:case typeof e==`number`:case Array.isArray(e):return JSON.stringify(e);default:return null}}function ht(e,t){let n=e.body;if(n===void 0)return;if(vt(n)){t.delete(`Content-Type`);return}let r=!Object.hasOwn(e,`bodyContentTypeSource`)||e.bodyContentTypeSource===n?e.bodyContentType:void 0;if(r===null){t.delete(`Content-Type`);return}if(typeof r==`string`){t.set(`Content-Type`,r);return}let i=gt(n);i&&t.set(`Content-Type`,i)}function gt(e){switch(!0){case vt(e):return null;case e instanceof ArrayBuffer:return`application/octet-stream`;case _t(e):return e.type||`application/octet-stream`;case e instanceof URLSearchParams:return`application/x-www-form-urlencoded;charset=UTF-8`;case typeof ReadableStream<`u`&&e instanceof ReadableStream:return`application/octet-stream`;case typeof e==`string`:return`text/plain;charset=UTF-8`;case e===null:case typeof e==`object`&&!!e:case typeof e==`number`:case typeof e==`boolean`:return`application/json`;default:return null}}function _t(e){return typeof Blob<`u`&&e instanceof Blob}function vt(e){return typeof FormData<`u`&&e instanceof FormData}const yt=new WeakMap,bt=new WeakMap;function xt(e,t,n){let r=St(n.transport);if(!t)return Tt(e,n,r);if(!n.input)throw Error(`build() requires a struct input`);let i={snapshot:{}},a=Symbol(`buildInput`),o=[],s=wt(n.input,a);return t(Ct(o,r),s),Vt(o,e,i,a),on(i.snapshot,r),i.snapshot}function St(e){return e??`http`}function Ct(e,t){return Bt(e)}function wt(e,t){return Ht(e,[],t)}function Tt(e,t,n){if(!t.input)return{};let r=t.input[F];return r.kind===`request`?Et(e,r,n):{}}function Et(e,t,n){an(t,n);let r={snapshot:{}},i=H(e)?e:{};return t.path&&Ft(r,Qt(t.path,i.path,`path`)),t.query&&It(r,Qt(t.query,i.query,`query`)),t.headers&&Pt(r,Qt(t.headers,i.headers,`headers`)),t.bodyDescriptor&&Dt(r,t.bodyDescriptor,i.body),on(r.snapshot,n),r.snapshot}function Dt(e,t,n){switch(t.codec){case`json`:Ot(e,Zt(t.struct,n),{contentType:t.contentType});return;case`urlencoded`:Nt(e,Qt(t.struct,n,`urlencoded`));return;case`formData`:Mt(e,Qt(t.struct,n,`formData`));return;case`text`:kt(e,String(W(t.struct,n)??``));return;case`blob`:{let r=W(t.struct,n);jt(e,r,{contentType:typeof Blob<`u`&&r instanceof Blob&&r.type?r.type:void 0});return}case`arrayBuffer`:jt(e,W(t.struct,n),{contentType:`application/octet-stream`});return}}function Ot(e,t,n){sn(e,JSON.stringify(t),cn(n,`application/json`))}function kt(e,t,n){sn(e,t,cn(n,`text/plain;charset=UTF-8`))}function At(e,t,n){sn(e,t,cn(n,`text/html;charset=UTF-8`))}function jt(e,t,n){sn(e,t,n?.contentType)}function Mt(e,t){if(typeof FormData>`u`)throw Error(`FormData is not supported in current runtime`);let n=new FormData;for(let[e,r]of Object.entries(t))un(n,e,r);sn(e,n)}function Nt(e,t,n){let r=new URLSearchParams;sn(e,r,cn(n,`application/x-www-form-urlencoded;charset=UTF-8`));for(let[e,n]of Object.entries(t))fn(r,e,n)}function Pt(e,t){let n=new Headers;ln(n,t),e.snapshot.headers=n}function Ft(e,t){e.snapshot.params={...t}}function It(e,t){e.snapshot.query={...t}}function Lt(e,t){e.snapshot.headers||(e.snapshot.headers=new Headers),ln(e.snapshot.headers,t)}function Rt(e,t){if(typeof FormData>`u`)throw Error(`FormData is not supported in current runtime`);let n=e.snapshot.body instanceof FormData?e.snapshot.body:new FormData;for(let[e,r]of Object.entries(t))un(n,e,r);sn(e,n)}function zt(e,t,n){let r=e.snapshot.body instanceof URLSearchParams?e.snapshot.body:new URLSearchParams;for(let[e,n]of Object.entries(t))fn(r,e,n);sn(e,r,cn(n,`application/x-www-form-urlencoded;charset=UTF-8`))}function Bt(e){return{addFormData(t){e.push({kind:`addFormData`,projection:t})},addFormUrlEncoded(t,n){e.push({contentType:n?.contentType,kind:`addFormUrlEncoded`,projection:t})},addHeaders(t){e.push({kind:`addHeaders`,projection:t})},setArrayBuffer(t,n){e.push({bodyKind:`arrayBuffer`,contentType:n?.contentType,kind:`body`,value:t})},setBlob(t,n){e.push({bodyKind:`blob`,contentType:n?.contentType,kind:`body`,value:t})},setFormData(t){e.push({kind:`formData`,projection:t})},setFormUrlEncoded(t,n){e.push({contentType:n?.contentType,kind:`formUrlEncoded`,projection:t})},setHeaders(t){e.push({kind:`headers`,projection:t})},setHtml(t,n){e.push({contentType:n?.contentType,kind:`html`,projection:t})},setJson(t,n){e.push({contentType:n?.contentType,kind:`json`,projection:t})},setPathParams(t){e.push({kind:`pathParams`,projection:t})},setQueryParams(t){e.push({kind:`queryParams`,projection:t})},setText(t,n){e.push({contentType:n?.contentType,kind:`text`,projection:t})}}}function Vt(e,t,n,r){let i=new Map;for(let a of e)switch(a.kind){case`addFormData`:Rt(n,Gt(a.projection,t,i,`formData`,r));break;case`addFormUrlEncoded`:zt(n,Gt(a.projection,t,i,`urlencoded`,r),{contentType:a.contentType});break;case`addHeaders`:Lt(n,Wt(a.projection,t,i,r));break;case`body`:{let e=Kt(a.value,t,i,`body`,r);en(a.bodyKind,e),jt(n,e,{contentType:a.contentType});break}case`formData`:Mt(n,Gt(a.projection,t,i,`formData`,r));break;case`formUrlEncoded`:Nt(n,Gt(a.projection,t,i,`urlencoded`,r),{contentType:a.contentType});break;case`headers`:Pt(n,Wt(a.projection,t,i,r));break;case`html`:At(n,qt(a.projection,t,i,`html`,r),{contentType:a.contentType});break;case`json`:Ot(n,Kt(a.projection,t,i,`json`,r),{contentType:a.contentType});break;case`pathParams`:Ft(n,Gt(a.projection,t,i,`path`,r));break;case`queryParams`:It(n,Gt(a.projection,t,i,`query`,r));break;case`text`:kt(n,qt(a.projection,t,i,`text`,r),{contentType:a.contentType})}}function Ht(e,t,n){let r=e[F];if(r.kind===`requestBody`)return Ht(r.struct,t,n);let i=Object.create(null),a={owner:n,path:t,struct:e};if(yt.set(i,a),r.kind===`request`&&(Ut(i,`path`,r.path,t,n),Ut(i,`query`,r.query,t,n),Ut(i,`headers`,r.headers,t,n),Ut(i,`body`,r.body,t,n)),r.kind===`object`){let a=I(e,r);for(let[e,r]of Object.entries(a))Object.defineProperty(i,e,{enumerable:!0,get:()=>Ht(r,[...t,e],n)})}return r.kind===`array`&&Object.defineProperty(i,"map",{enumerable:!1,value:e=>{let t=Symbol(`arrayItem`),i=Ht(r.item,[t],n),o=Object.create(null);return bt.set(o,{itemProjection:e(i),itemToken:t,source:a}),o}}),i}function Ut(e,t,n,r,i){n&&Object.defineProperty(e,t,{enumerable:!0,get:()=>Ht(n,[...r,t],i)})}function Wt(e,t,n,r){return Gt(e,t,n,`headers`,r)}function Gt(e,t,n,r,i){let a=nn(e);if(a)return Yt(a,i),Qt(a.struct,Jt(a,t,n),r);if(!H(e))throw Error(`${r} binding expects an object projection`);let o=Object.create(null);for(let[a,s]of Object.entries(e)){let e=Kt(s,t,n,r,i);e!==void 0&&($t(r,a,e),o[a]=e)}return o}function Kt(e,t,n,r,i){let a=nn(e);if(a)return Yt(a,i),Xt(a.struct,Jt(a,t,n),r);let o=rn(e);if(o){Yt(o.source,i);let e=Jt(o.source,t,n);if(!Array.isArray(e))throw Error(`ArrayProjection source must resolve to an array`);return e.map(e=>{let a=new Map(n);return a.set(o.itemToken,e),Kt(o.itemProjection,t,a,r,i)})}if(Array.isArray(e))return e.map(e=>Kt(e,t,n,r,i));if(H(e)){let a=Object.create(null);for(let[o,s]of Object.entries(e)){let e=Kt(s,t,n,r,i);e!==void 0&&(a[o]=e)}return a}if(e!==void 0)throw Error(`${r} binding values must come from build input`)}function qt(e,t,n,r,i){let a=Kt(e,t,n,r,i);return tn(a),a}function Jt(e,t,n){let r=t;for(let t of e.path){if(typeof t==`symbol`){if(!n.has(t))throw Error(`ArrayProjection item fields can only be used inside the map() projection`);r=n.get(t);continue}r=H(r)||Array.isArray(r)?r[t]:void 0}return r}function Yt(e,t){if(e.owner!==t)throw Error(`build input binding belongs to a different build context`)}function Xt(e,t,n){return n===`json`?Zt(e,t):W(e,t)}function Zt(e,t){return W(e,t,st)}function Qt(e,t,n){let r=e[F];if(r.kind!==`object`)throw Error(`${n} binding expects an object struct`);if(!H(t))throw Error(`${n} binding expects an object value`);let i=Object.create(null);for(let a of he(e,r)){if(!V(t,a.key))continue;let e=W(a.struct,t[a.key]);e!==void 0&&($t(n,a.wireKey,e),i[a.wireKey]=e)}return i}function $t(e,t,n){if(Array.isArray(n)){for(let r of n)$t(e,t,r);return}if(typeof Blob<`u`&&n instanceof Blob){if(e===`formData`)return;throw Error(`${e} binding does not support binary value for key "${t}"`)}if(typeof n==`object`&&n)throw Error(`${e} binding does not support nested object for key "${t}"`)}function en(e,t){if(e===`arrayBuffer`){if(t instanceof ArrayBuffer)return;throw Error(`setArrayBuffer() expects an ArrayBuffer field`)}if(!(typeof Blob<`u`&&t instanceof Blob))throw Error(`setBlob() expects a Blob field`)}function tn(e){if(typeof e!=`string`)throw Error(`text body binding expects a string field`)}function nn(e){return H(e)?yt.get(e):void 0}function rn(e){return H(e)?bt.get(e):void 0}function an(e,t){if(t===`webSocket`){if(e.headers)throw Error(`WebSocket request input does not support headers section`);if(e.body)throw Error(`WebSocket request input does not support body section`)}}function on(e,t){if(t!==`http`){if(t===`sse`){if(e.withCredentials!==void 0)throw Error(`SSE build() does not support withCredentials()`);return}if(e.body!==void 0||e.bodyContentType!==void 0||e.headers!==void 0||e.withCredentials!==void 0)throw Error(`WebSocket build() only supports path params and query params`)}}function sn(e,t,n){e.snapshot.body=t,e.snapshot.bodyContentType=n}function cn(e,t){return e?.contentType===void 0?t:e.contentType}function ln(e,t){for(let[n,r]of Object.entries(t))if(r!==void 0){if(Array.isArray(r)){for(let t of r)e.append(n,J(t));continue}e.set(n,J(r))}}function un(e,t,n){if(n!==void 0){if(Array.isArray(n)){for(let r of n)dn(e,t,r);return}dn(e,t,n)}}function dn(e,t,n){if(n!==void 0){if(typeof Blob<`u`&&n instanceof Blob){e.append(t,n);return}if(typeof n==`string`||typeof n==`number`||typeof n==`boolean`||n===null){e.append(t,String(n));return}throw Error(`formData binding does not support value for key "${t}"`)}}function fn(e,t,n){if(n!==void 0){if(Array.isArray(n)){for(let r of n)e.append(t,J(r));return}e.set(t,J(n))}}function pn(e,t,n,r,i){let a=xt(n,r,{input:i.input,transport:i.transport}),o=i.queryParamsSerializer!==c,s=Ye(a.query,{allowComplex:o}),l=i.defaultHeaders?new Headers(i.defaultHeaders):new Headers;Xe(l,a.headers);let u={abort:i.abort,baseEndpoint:i.baseEndpoint,body:a.body,bodyContentType:a.bodyContentType,bodyContentTypeSource:a.body,endpoint:qe(t,a.params),headers:l,method:e,operation:i.operation,queryParams:s,queryString:i.queryParamsSerializer(s,a.query),timeout:i.timeout,withCredentials:i.withCredentials??!1};return ht(u,l),u}function mn(e,t,n,r,i){return{...pn(e,t,n,r,{abort:i.abort,baseEndpoint:i.baseEndpoint,defaultHeaders:i.defaultHeaders,input:i.input,operation:i.operation,queryParamsSerializer:i.queryParamsSerializer,timeout:i.timeout,transport:`http`,withCredentials:i.withCredentials}),downloadProgress:i.downloadProgress,responseType:i.responseType,uploadProgress:i.uploadProgress,xsrf:i.xsrf}}function hn(e,t){if(t)return t;if(e)return`json`}function gn(e,t){if(_n(e))return e[t];for(let n of[...e].reverse())if((Array.isArray(n.status)?n.status:[n.status]).includes(t))return n.body}function _n(e){return!Array.isArray(e)}const vn=Error(`ERR_STREAMING_REQUEST_UNSUPPORTED`);function yn(e){return typeof ReadableStream<`u`&&e instanceof ReadableStream}let bn;function xn(){if(bn!==void 0)return bn;if(typeof Request!=`function`||typeof ReadableStream>`u`)return bn=!1,bn;try{let e=new ReadableStream({start(e){e.close()}});return bn=new Request(`https://example.com`,{body:e,duplex:`half`,method:`POST`}).body!==null,bn}catch{return bn=!1,bn}}function Sn(e,t){let{headers:n}=t;n.has(`Accept`)||n.set(`Accept`,t.defaultAccept);let r=e.withCredentials?`include`:void 0,i=mt(e.body),a={body:i,credentials:r,headers:n,method:e.method,signal:t.signal};if(yn(i)){if(!xn())throw t.streamingRequestUnsupportedError;i=t.wrapReadableStreamBody?.(i)??i,a.body=i,a.duplex=`half`}return a}const Cn=new TextDecoder;function wn(e){let t=e.get(`Content-Length`);if(!t)return 0;let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?n:0}function Tn(e){return e.get(`Content-Type`)||``}function En(e){let{buffer:t,byteLength:n,byteOffset:r}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:t.slice(r,r+n)}function Dn(e){return e===``?null:JSON.parse(e)}function On(e,t,n){switch(e){case`json`:return Dn(Cn.decode(t));case`text`:return Cn.decode(t);case`blob`:return new Blob([En(t)],{type:n});case`arraybuffer`:return En(t);default:return null}}function kn(e,t){let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}const An=new Set([`GET`,`HEAD`,`OPTIONS`,`TRACE`]);function jn(e){return An.has(e.toUpperCase())}function Mn(){return typeof document<`u`&&typeof location<`u`}function Nn(e){try{let t=document.cookie;if(t===``)return;for(let n of t.split(`;`)){let[t,...r]=n.trim().split(`=`);if(t===e)return decodeURIComponent(r.join(`=`))}}catch{return}}function Pn(e){return e.baseEndpoint?!Mn()||Qe(e).origin===location.origin:!1}function Fn(e){if(typeof e==`string`&&e!==``)return e}function In(e,t){if(t.tokenProvider)return Fn(t.tokenProvider({request:e}));if(Mn())return Fn(Nn(t.cookieName))}function Ln(e,t){let n=e.xsrf;if(!n||jn(e.method)||t.has(n.headerName)||!Pn(e))return;let r=In(e,n);r!==void 0&&t.set(n.headerName,r)}function Rn(e,t,n,r){let i=e.getReader(),a=!1,o=0,s=()=>c(!0,r?.reason);function c(e,t){if(!a){a=!0,r?.removeEventListener(`abort`,s);try{e&&i.cancel(t).catch(()=>void 0)}finally{i.releaseLock()}}}let l=new ReadableStream({cancel(e){c(!0,e)},async pull(e){try{let{done:s,value:l}=await i.read();if(a)return;if(s){c(!1),e.close();return}o+=l.byteLength;let u={lengthComputable:n>0,loaded:o,total:n};if(await(r?N(()=>t(u),r):t(u)),a)return;e.enqueue(l)}catch(t){c(!0,t),e.error(t)}}});return r&&(r.addEventListener(`abort`,s,{once:!0}),r.aborted&&s()),l}function zn(e,t,n){e.uploadProgress&&yn(e.body)&&yn(t)&&t.cancel(n).catch(()=>void 0)}async function Bn(e,t,n){return n?await N(()=>{let r=Promise.resolve(e(t));return r.then(e=>{n.aborted&&e.body&&e.body.cancel(n.reason).catch(()=>void 0)}).catch(()=>void 0),r},n):await e(t)}function Vn(e){let t=new Headers(e.headers),n=e.uploadProgress;return ht(e,t),Ln(e,t),Sn(e,{defaultAccept:`application/json, text/plain, */*`,headers:t,signal:e.abort,streamingRequestUnsupportedError:vn,wrapReadableStreamBody:n?r=>Rn(r,n,wn(t),e.abort):void 0})}function Hn(e){let t=Qe(e),n=Vn(e);try{return new Request(t,n)}catch(t){throw zn(e,n.body,t),t}}async function Un(e,t,n){let r=e.downloadProgress,{headers:i,status:a,statusText:o}=t,s=t.url||n;if(t.body&&e.responseType===void 0)return t.body.cancel().catch(()=>void 0),it({status:a,statusText:o,headers:i,url:s,body:null});let c=wn(i),l=Tn(i),u=null;if(t.body){let n=[],d=t.body.getReader(),f=e.abort,p=0;try{for(;;){let e=f?await N(()=>d.read(),f):await d.read();if(e.done)break;if(n.push(e.value),p+=e.value.byteLength,r){let e={lengthComputable:c>0,loaded:p,total:c};await(f?N(()=>r(e),f):r(e))}}}catch(e){if(d.cancel(e).catch(()=>void 0),r||f?.aborted)throw e;return it({error:e,status:a,statusText:o,headers:i,url:s})}finally{d.releaseLock()}try{u=On(e.responseType,kn(n,p),l)}catch(e){return it({error:e,status:a,statusText:o,headers:i,url:s})}}return it({status:a,statusText:o,headers:i,url:s,body:u})}async function Wn(e,t=globalThis.fetch.bind(globalThis)){let n=e.abort,r=e,i,a;try{r=await Gn(e),i=Hn(r),a=await Bn(t,i,n)}catch(e){return zn(r,i?.body,e),it({error:(n&&A(n)?.cause)??e})}try{return await Un(e,a,i.url)}catch(e){let t=n&&A(n);if(t)return it({error:t.cause});throw e}}async function Gn(e){let{uploadProgress:t,body:n}=e;if(!t||n==null||yn(n)||!xn())return e;let r=await Kn(n);if(!r)return e;let i=new Headers(e.headers);r.contentType&&i.set(`Content-Type`,r.contentType),r.total>0&&i.set(`Content-Length`,String(r.total));let a={lengthComputable:r.total>0,loaded:0,total:r.total};try{e.abort?await N(()=>t(a),e.abort):await t(a)}catch(e){throw r.stream.cancel(e),e}return{...e,body:r.stream,bodyContentType:r.contentType??e.bodyContentType,bodyContentTypeSource:r.stream,headers:i}}async function Kn(e){if(typeof Blob<`u`&&e instanceof Blob)return{contentType:e.type||void 0,stream:e.stream(),total:e.size};if(e instanceof ArrayBuffer)return{contentType:`application/octet-stream`,stream:new Blob([e]).stream(),total:e.byteLength};if(typeof FormData<`u`&&e instanceof FormData){let t=new Response(e),n=await t.blob();return{contentType:t.headers.get(`Content-Type`),stream:n.stream(),total:n.size}}}function qn(n){function r(r){return{[e]:t,definition:n,input:r}}return(e=>r(e))}async function Jn(e,t,n){let{definition:r,input:i}=t,a=n??{},o=(e,t)=>[e,void 0,t],s;try{s=te({abort:a.abort,signal:a.signal,timeout:a.timeout===void 0?e.timeout:a.timeout})}catch(e){return o(_(`REQUEST_VALIDATION_FAILED`,e))}if(k(a))return o(ne());try{M(s.timeout)}catch(e){return o(_(`REQUEST_VALIDATION_FAILED`,e))}let c=new AbortController,l=[s.abort,s.signal].find(e=>e?.aborted);if(l)return o(j(l));let u;try{u=await Ge(r.input,i)}catch(e){return o(_(`REQUEST_VALIDATION_FAILED`,e))}let d,f,p=()=>void 0,m=hn(r.output,r.responseType);try{let t;if(typeof s.timeout==`number`){let e=new AbortController,n=setTimeout(()=>{e.abort(h)},s.timeout);t=e.signal,p=()=>{clearTimeout(n)}}d=P(c.signal,[s.abort,s.signal,t]),f=mn(r.method,r.path,u,r.build,{abort:d,baseEndpoint:e.endpoint,defaultHeaders:e.headers,downloadProgress:a.onDownloadProgress,input:r.input,operation:r.operation,queryParamsSerializer:e.queryParamsSerializer,responseType:m,timeout:s.timeout,uploadProgress:a.onUploadProgress,withCredentials:e.withCredentials,xsrf:e.xsrf})}catch(e){return p(),o(_(`REQUEST_VALIDATION_FAILED`,e))}let y=new AbortController,b=!1,x,S,C=t=>{if(b){let e=Promise.reject(Error(`HTTP interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}let n=P(y.signal,[d,t.abort]),r=Wn({...t,abort:n},e.http.handle).then(e=>e,e=>it({error:A(n)?.cause??e}));return x=r,r},w=()=>{y.signal.aborted||y.abort(d.reason)};try{try{let t=T(E(e.interceptors));d.aborted?w():d.addEventListener(`abort`,w,{once:!0});let n=t(f,C);n.catch(()=>void 0),S=await N(()=>n,d)}catch(e){let t=A(d);if(t)return w(),x&&await Promise.allSettled([x]),o(t);let n=g(e);return n.code===`NETWORK_ERROR`?o(_(`INTERCEPTOR_FAILED`,e)):o(n)}}finally{d.removeEventListener(`abort`,w),b=!0,y.signal.aborted||y.abort(Error(`HTTP interceptor chain settled`)),p()}if(S.status===0)return o(g(S.error));if(!r.output){let e={...S,body:null};if(e.ok)return[null,void 0,e];let t=at(e);return o(v(S.status,t,e),e)}let D=gn(r.output,S.status);if(!D)return o(_(`UNDECLARED_STATUS`,Error(`Undeclared status: ${S.status}`),S),S);if(S.error!==void 0)return o(_(`RESPONSE_VALIDATION_FAILED`,S.error,S),S);let O;try{O=await Zn(D,S.body,Yn(D,m,S.ok))}catch(e){return o(_(`RESPONSE_VALIDATION_FAILED`,e,S),S)}if(S.ok){let e={...S,body:O};return[null,O,e]}let ee=at(S);return o(v(S.status,ee,S,O),S)}function Yn(e,t,n){if(n)return t;let r=e[F].kind;return r===`arrayBuffer`?`arraybuffer`:r===`blob`||r===`file`?`blob`:r===`string`?`text`:`json`}async function Xn(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return new TextDecoder().decode(e);if(typeof Blob<`u`&&e instanceof Blob)return await e.text()}async function Zn(e,t,n){if(n===`json`){let n=await Xn(t);return pt(e,n===void 0?t:Dn(n))}return n===`text`?q(e,await Xn(t)??t):q(e,t)}const Qn=Symbol(`NO_ERROR`);var $n=class{values=[];waiting=[];maxSize;done=!1;error=Qn;iteratorClaimed=!1;constructor(e){if(!Number.isSafeInteger(e.maxSize)||e.maxSize<1)throw TypeError(`AsyncQueue maxSize must be a positive safe integer`);this.maxSize=e.maxSize}push(e){if(this.done)return;let t=this.waiting.shift();if(t){t.resolve({done:!1,value:e});return}if(this.values.length>=this.maxSize)throw Error(`AsyncQueue overflow`);this.values.push(e)}close(){if(!this.done)for(this.done=!0;this.waiting.length>0;)this.waiting.shift()?.resolve({done:!0,value:void 0})}fail(e){if(!this.done)for(this.done=!0,this.error=e,this.values.length=0;this.waiting.length>0;)this.waiting.shift()?.reject(e)}[Symbol.asyncIterator](){if(this.iteratorClaimed)throw TypeError(`AsyncQueue supports one consumer`);return this.iteratorClaimed=!0,{next:()=>this.values.length>0?Promise.resolve({done:!1,value:this.values.shift()}):this.error===Qn?this.done?Promise.resolve({done:!0,value:void 0}):new Promise((e,t)=>{this.waiting.push({resolve:e,reject:t})}):Promise.reject(this.error)}}};const er=2147483647;function tr(e,t){let n=Math.min(e.delayMs*e.factor**Math.max(0,t-1),e.maxDelayMs),r=e.jitter<=0?n:Math.max(0,Math.round(n*(1+(Math.random()*2-1)*e.jitter)));if(!Number.isFinite(r))throw RangeError(`Reconnect delay must be finite`);return Math.min(r,er)}async function nr(e,t){if(!Number.isFinite(e))throw RangeError(`Reconnect delay must be finite`);if(e<=0)return;let n=Math.min(e,er);await new Promise((e,r)=>{let i=setTimeout(()=>{t.removeEventListener(`abort`,a),e()},n),a=()=>{clearTimeout(i),t.removeEventListener(`abort`,a),r(t.reason)};if(t.aborted){a();return}t.addEventListener(`abort`,a,{once:!0})})}var rr=class extends Error{constructor(){super(`SSE parser buffer exceeded maxBufferSize`),this.name=`SSEParserLimitError`}};async function ir(e,t,n){let r=e.getReader(),i,a=e=>{i??=r.cancel(e).catch(()=>void 0)},o,s=n?new Promise((e,t)=>{o=t}):void 0;s?.catch(()=>{});let c=()=>{let e=n?.reason??Error(`The operation was aborted`);o?.(e),a(e)};try{for(n?.aborted?n.throwIfAborted():n?.addEventListener(`abort`,c,{once:!0});;){let e=r.read();e.catch(()=>{});let{done:n,value:i}=s?await Promise.race([e,s]):await e;if(n)return;await t(i)}}catch(e){throw a(e),e}finally{n?.removeEventListener(`abort`,c),r.releaseLock()}}function ar(e,t){let n=sr(t?.maxBufferSize),r,i=0,a=-1,o=!1;return async t=>{r?r=cr(r,t):(r=t,i=0,a=-1);let s=r.length,c=0;for(;i<s;){o&&=(r[i]===10&&(c=++i),!1);let t=-1;for(;i<s&&t===-1;++i)switch(r[i]){case 58:a===-1&&(a=i-c);break;case 13:o=!0,t=i;break;case 10:t=i}if(t===-1)break;if(n!==void 0&&t-c>n)throw new rr;let l=a===-1&&t>c?t-c:a;await e(r.subarray(c,t),l),c=i,a=-1}if(c===s?r=void 0:c!==0&&(r=r.subarray(c),i-=c),n!==void 0&&r&&r.length>n)throw new rr}}function or(e,t,n,r){let i=sr(r?.maxBufferSize),a=``,o=``,s=``,c=0,l=!1,u=new TextDecoder;return async(r,d)=>{if(r.length===0){let e=l?{id:a,event:o,data:s.slice(0,-1)}:void 0;o=``,s=``,c=0,l=!1,e&&await n?.(e);return}if(d<0)return;let f=d<r.length&&r[d]===58,p=u.decode(r.subarray(0,d)),m=f?d+1:r.length;f&&r[m]===32&&(m+=1);let h=r.subarray(m),g=u.decode(h);switch(p){case`data`:if(c+=h.byteLength+1,i!==void 0&&c>i)throw new rr;l=!0,s+=`${g}\n`;break;case`event`:o=g;break;case`id`:g.includes(`\0`)||(a=g,e(g));break;case`retry`:/^\d+$/.test(g)&&t(Math.min(Number(g),2147483647))}}}function sr(e){if(e!==void 0){if(!Number.isSafeInteger(e)||e<1)throw TypeError(`SSE maxBufferSize must be a positive safe integer`);return e}}function cr(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}const lr=`text/event-stream`,ur=`last-event-id`;var Y=class extends Error{code;cause;constructor(e,t,n){super(t),this.name=`EventStreamFatalError`,this.code=e,this.cause=n?.cause}};function dr(e){return e instanceof Y?e.code:void 0}function fr(e){if(e instanceof Y)return e;if(e instanceof rr)return new Y(`PARSER_LIMIT_EXCEEDED`,e.message,{cause:e})}async function pr(e,t){let n=new $n({maxSize:t.maxQueueSize}),r=Promise.withResolvers(),i=Promise.withResolvers(),a=new AbortController,o=t.fetch??globalThis.fetch.bind(globalThis),s=new Headers(e.headers);s.has(`Accept`)||s.set(`Accept`,lr);let c=!1,l=!1,u=t.retryInterval??t.reconnect?.delayMs??1e3,d=0,f=``,p,m,g={get open(){if(!p)throw Error(`Event stream has not been opened yet`);return p},closed:r.promise,close:b,[Symbol.asyncDispose](){return v()},[Symbol.asyncIterator](){let e=n[Symbol.asyncIterator](),t=!1;return{next(){return t?Promise.resolve({done:!0,value:void 0}):e.next()},return(){return t||(t=!0,g.close(`iterator-return`)),Promise.resolve({done:!0,value:void 0})}}}},_=x().catch(e=>{D(e)});return i.promise;function v(){return m??=Promise.resolve().then(y)}async function y(){let e,t=!1;try{g.close()}catch(n){t=!0,e=n,b()}if(await Promise.all([r.promise,_]),t)throw e}function b(e){a.signal.aborted||(a.abort(e),n.close(),O({code:`aborted`,reason:Tr(e),cause:e}))}async function x(){for(;!a.signal.aborted;){let r=P(a.signal,[e.abort]),c,u=!1;try{c=await hr(o,new Request(Qe(e),_r(e,s,r)),r);let a=await gr(c,t.handshakeOutput);if(p=a,vr(a),!c.body)throw new Y(`INVALID_RESPONSE`,`Missing response body for event stream`);await T(()=>t.onopen?.(a),r,`Event stream onopen callback failed`),l||(l=!0,i.resolve(g)),u=!0,await S(c.body,r),await T(()=>t.onclose?.(a),r,`Event stream onclose callback failed`),n.close(),O({code:`eof`});return}catch(t){c?.body&&!u&&c.body.cancel(t).catch(()=>void 0);let n=Cr(t,e.abort,a.signal);if(a.signal.aborted||e.abort?.aborted){E(r);return}let i=n??t,o=fr(i);if(o){await w(o,r),a.signal.aborted||e.abort?.aborted?E(r):D(o);return}let s;try{s=await C(i,r)}catch(t){a.signal.aborted||e.abort?.aborted?E(r):D(t);return}if(typeof s!=`number`||s<0){D(i);return}try{await nr(s,r)}catch(t){a.signal.aborted||e.abort?.aborted?E(r):D(t);return}}}}async function S(e,r){let i=ar(or(e=>{f=e,e?s.set(ur,e):s.delete(ur)},e=>{u=e},async e=>{let i;try{i=t.transformMessage?await N(()=>t.transformMessage?.(e,r),r):e}catch(e){throw r.aborted?e:new Y(`MESSAGE_PROCESSING_FAILED`,`Failed to process event stream message`,{cause:e})}if(i!==void 0)try{n.push(i)}catch(e){throw new Y(`QUEUE_OVERFLOW`,`Event stream queue exceeded maxQueueSize`,{cause:e})}},{maxBufferSize:t.maxBufferSize}),{maxBufferSize:t.maxBufferSize});try{await ir(e,i,r)}catch(e){throw e instanceof rr?new Y(`PARSER_LIMIT_EXCEEDED`,e.message,{cause:e}):e}}async function C(e,n){d+=1;let r=t.onerror?await N(()=>t.onerror?.(e,{lastEventId:f,retryCount:d,retryInterval:u,open:p}),n):void 0;if(r===null)return null;let i=t.reconnect;if(!i||i.shouldReconnect&&!await N(()=>i.shouldReconnect?.({attempt:d,cause:e,lastEventId:f,open:p}),n))return null;let a=i.attempts??3;if(d>a)return null;let o=typeof r==`number`?r:u,s=i.factor??1,c=i.jitter??0;if(!Number.isFinite(c)||c<0||c>1)throw RangeError(`SSE reconnect jitter is out of range`);return tr({delayMs:o,factor:s,jitter:c,maxDelayMs:i.maxDelayMs??1/0},d)}async function w(e,n){if(t.onerror)try{await N(()=>t.onerror?.(e,{lastEventId:f,retryCount:d,retryInterval:u,open:p}),n)}catch{}}async function T(e,t,n){try{await N(e,t)}catch(e){throw t.aborted?e:new Y(`MESSAGE_PROCESSING_FAILED`,e instanceof Error?e.message:n,{cause:e})}}function E(e){let t=wr(e);if(t===h){D(h);return}let r=e.reason;Dr(t,p),l?n.close():(l=!0,i.reject(t)),O({code:`aborted`,reason:Tr(r),cause:r})}function D(e){Dr(e,p),l?n.fail(e):(l=!0,i.reject(e)),O({code:`error`,errorCode:mr(e),reason:Tr(e),cause:e})}function O(e){c||(c=!0,r.resolve(e))}}function mr(e){return dr(e)??(e===h?`TIMEOUT`:`TRANSPORT_ERROR`)}async function hr(e,t,n){return await N(()=>{let r=Promise.resolve(e(t));return r.then(e=>{n.aborted&&e.body&&e.body.cancel(n.reason).catch(()=>void 0)}).catch(()=>void 0),r},n)}async function gr(e,t){let n=null;if(!e.ok&&t){let r=gn(t,e.status);if(r)try{n=q(r,await e.json())}catch{n=null}else e.body&&e.body.cancel()}return{response:it({status:e.status,statusText:e.statusText,headers:e.headers,url:e.url,body:n}),url:e.url}}function _r(e,t,n){return Sn(e,{defaultAccept:lr,headers:t,signal:n,streamingRequestUnsupportedError:Error(`ERR_STREAMING_REQUEST_UNSUPPORTED`)})}function vr(e){let{response:t}=e;if(!t.ok||t.error!==void 0)throw new Y(`INVALID_RESPONSE`,`Event stream request failed`,{cause:t.error});let n=t.headers.get(`content-type`)||``;if(yr(n)!==`text/event-stream`)throw new Y(`INVALID_RESPONSE`,`Expected content-type to start with ${lr}, got ${n||`(empty)`}`)}function yr(e){let t=0,n=()=>{let n=t;for(;t<e.length&&br(e.charCodeAt(t));)t+=1;return t>n?e.slice(n,t):void 0},r=()=>{for(;e[t]===` `||e[t]===` `;)t+=1},i=n();if(!i||e[t]!==`/`)return;t+=1;let a=n();if(a)for(;;){if(r(),t===e.length)return`${i.toLowerCase()}/${a.toLowerCase()}`;if(e[t]!==`;`||(t+=1,r(),!n())||(r(),e[t]!==`=`))return;if(t+=1,r(),e[t]===`"`){t+=1;let n=!1;for(;t<e.length;){let r=e.charCodeAt(t);if(r===34){t+=1,n=!0;break}if(r===92){if(t+=1,t>=e.length||!Sr(e.charCodeAt(t)))return}else if(!xr(r))return;t+=1}if(!n)return}else if(!n())return}}function br(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===33||e===35||e===36||e===37||e===38||e===39||e===42||e===43||e===45||e===46||e===94||e===95||e===96||e===124||e===126}function xr(e){return e===9||e===32||e===33||e>=35&&e<=91||e>=93&&e<=126||e>=128}function Sr(e){return e===9||e===32||e>=33&&e<=126||e>=128}function Cr(e,t,n){let r=n?.aborted?n:t?.aborted?t:void 0;return r?.aborted?wr(r):e}function wr(e){return j(e).code===`TIMEOUT`?h:m}function Tr(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e}const Er=new WeakMap;function Dr(e,t){t&&typeof e==`object`&&e&&Er.set(e,t)}function Or(e){if(typeof e==`object`&&e)return Er.get(e)}function kr(t){let r={...t,method:t.method??`GET`};function i(t){return{[e]:n,endpoint:r,input:t}}return(e=>i(e))}function Ar(e){return e}async function jr(e,t,n){let{endpoint:r,input:i}=t;return Mr(e,r,i,n??{},new AbortController)}async function Mr(e,t,n,r,i){let a;try{a=te(r)}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}if(k(a))return[ne(),void 0,void 0];try{M(a.timeout)}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}let o=[a.abort,a.signal].find(e=>e?.aborted);if(o)return[j(o),void 0,void 0];try{Fr(t)}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}let s;try{s=Ar(await Ge(t.input,n))}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}let c=P(i.signal,[a.abort,a.signal],a.timeout),l;try{l=pn(t.method,t.path,s,t.build,{abort:c,baseEndpoint:e.endpoint,defaultHeaders:e.headers,input:t.input,operation:t.operation,queryParamsSerializer:e.queryParamsSerializer,timeout:a.timeout,transport:`sse`,withCredentials:e.withCredentials})}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}let u=!1,d=new Set;try{let n=D(e.interceptors),r=n=>{if(u){let e=Promise.reject(Error(`SSE interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}let r=new AbortController,i={controller:r};d.add(i);let a=pr({...n,abort:P(r.signal,[n.abort])},{fetch:e.sse.handle,handshakeOutput:t.output,async transformMessage(n,r){return await Nr(t.events,n,e.sse.onInvalidEvent,r)},reconnect:e.sse.reconnect,maxBufferSize:t.maxBufferSize,maxQueueSize:t.maxQueueSize}).then(e=>(i.stream=e,e));return a.catch(()=>void 0),a},i=T(n),a=await N(()=>i(l,r),c);u=!0;let o=a.open;return f(Error(`SSE interceptor discarded an opened stream`),a),[null,a,o]}catch(e){u=!0,f(e);let t=Or(e);return[c.aborted?j(c):Vr(e,t?.response),void 0,t]}function f(e,t){for(let n of d)(!n.stream||!t||n.stream!==t&&n.stream.closed!==t.closed)&&(n.controller.abort(e),n.stream?.close(e));d.clear()}}async function Nr(e,t,n,r){let i=t.event||`message`,a=Ir(e,i);if(!a){await Pr(n,{reason:`missing-struct`,message:{id:t.id||``,event:i,data:t.data},signal:r});return}try{return{data:await Lr(a,t.data),event:i,id:t.id||void 0}}catch(e){await Pr(n,{reason:`validation-failed`,message:{id:t.id||``,event:i,data:t.data},cause:e,signal:r});return}}async function Pr(e,t){if(e)try{await N(()=>e(t),t.signal)}catch(e){if(t.signal.aborted)throw e}}function Fr(e){for(let t of[`maxBufferSize`,`maxQueueSize`])if(!Number.isSafeInteger(e[t])||e[t]<1)throw TypeError(`SSE ${t} must be a positive safe integer`)}function Ir(e,t){if(Object.hasOwn(e,t))return e[t];if(Object.hasOwn(e,`default`))return e.default}function Lr(e,t){let n=e[F];switch(n.kind){case`any`:case`unknown`:case`string`:return q(e,t);case`number`:return q(e,Rr(t));case`boolean`:return q(e,zr(t));case`requestBody`:if(n.codec===`json`)return Br(n.struct,t);if(n.codec===`text`)return q(e,t);throw TypeError(`SSE event data does not support ${n.codec} content codec`);case`arrayBuffer`:case`blob`:throw TypeError(`SSE event data does not support ${n.kind} content codec`);default:return q(e,t)}}function Rr(e){let t=e.trim();if(!t)throw TypeError(`SSE number event data must not be empty`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`SSE number event data must be finite`);return n}function zr(e){let t=e.trim();if(t===`true`)return!0;if(t===`false`)return!1;throw TypeError(`SSE boolean event data must be true or false`)}function Br(e,t){return pt(e,JSON.parse(t))}function Vr(e,t){return t&&!t.ok?v(t.status,at(t),t,t.body):Hr(e)?_(`RESPONSE_VALIDATION_FAILED`,e,t):g(e)}function Hr(e){return e instanceof Error&&e.name===`StructError`||dr(e)===`INVALID_RESPONSE`}function Ur(e){let t=Gr(e.build.query);return{abort:e.abort,baseEndpoint:e.baseEndpoint,endpoint:qe(e.path,e.build.params),headers:new Headers,method:`GET`,operation:e.operation,queryParams:t,queryString:e.queryParamsSerializer(t,e.build.query),withCredentials:e.withCredentials??!1}}function Wr(e){let t=Qe(e);return t.protocol===`https:`?t.protocol=`wss:`:t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}function Gr(e){let t=new URLSearchParams;if(!e)return t;for(let[n,r]of Object.entries(e))if(r!==void 0){if(Array.isArray(r)){for(let e of r)t.append(n,Kr(e));continue}t.set(n,Kr(r))}return t}function Kr(e){return Ke(e)?J(e):typeof e==`object`?JSON.stringify(e):String(e)}const qr=`Outgoing WebSocket normalizer must return a synchronously JSON-serializable value`;function Jr(e,t,n){if(!e)throw Error(`No outgoing WebSocket messages are declared for this endpoint`);if(!ai(t)||typeof t.type!=`string`||t.type.length===0)throw Error(`Outgoing WebSocket messages must include a string type`);let r=e[t.type];if(!r)throw Error(`Undeclared outgoing message type: ${t.type}`);let i=Yr(r,`data`in t?t.data:ii(t));return n?Xr(n(t.type,i)):JSON.stringify(ri(t.type,i))}function Yr(e,t){return ft(e,q(e,t))}function Xr(e){try{let t=JSON.stringify(Zr(e,new Set));if(typeof t!=`string`)throw TypeError(qr);return t}catch(e){throw TypeError(qr,{cause:e})}}function Zr(e,t){if(e===null||typeof e==`boolean`||typeof e==`string`)return e;if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(qr);return e}if(typeof e!=`object`||Qr(e)||t.has(e))throw TypeError(qr);t.add(e);try{if(Array.isArray(e)){let n=[];for(let r=0;r<e.length;r+=1){if(!Object.hasOwn(e,r))throw TypeError(qr);n.push(Zr(e[r],t))}return n}let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)throw TypeError(qr);let r=Object.create(null);for(let n of Object.keys(e))r[n]=Zr(e[n],t);return r}finally{t.delete(e)}}function Qr(e){return typeof e.then==`function`}async function $r(e,t,n){let r=await ti(t);if(n){let t=n(r);if(t===void 0)return;if(!ai(t)||typeof t.type!=`string`||t.type.length===0||!(`data`in t))throw TypeError(`Incoming WebSocket normalizer must return undefined or an object with a non-empty string type and data`);let i=t.type,a=e[i]??e.default;if(!a)throw new ei(i,t.data);let o=pt(a,t.data);return ai(o)?{...o,type:i}:{data:o,type:i}}if(!ai(r)||typeof r.type!=`string`||r.type.length===0)return;let i=r.type,a=e[i]??e.default;if(!a)throw new ei(i,r);return ri(i,pt(a,`data`in r?r.data:ii(r)))}var ei=class extends Error{decoded;type;constructor(e,t){super(`Undeclared incoming WebSocket message type: ${e}`),this.name=`MissingWebSocketStructError`,this.type=e,this.decoded=t}};async function ti(e){if(typeof e==`string`)return ni(e);if(e instanceof ArrayBuffer)return ni(new TextDecoder().decode(e));if(ArrayBuffer.isView(e))return ni(new TextDecoder().decode(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)));if(typeof Blob<`u`&&e instanceof Blob)return ni(new TextDecoder().decode(await e.arrayBuffer()))}function ni(e){return JSON.parse(e)}function ri(e,t){return ai(t)?{type:e,...t}:{data:t,type:e}}function ii(e){let{type:t,...n}=e;return n}function ai(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function oi(e,t){return{cause:t,code:e?.code,reason:e?.reason,wasClean:e?.wasClean}}const si=2147483647;function ci(e,t,n,r,i,a,o){if(ui(t),li(n),!n)return;let s,c,l={isAck:n.isAck,markAck(){clearTimeout(s),s=void 0},stop(){clearInterval(c),clearTimeout(s),s=void 0}},u=()=>t.heartbeat===l&&t.currentSocket===e&&e.readyState===a;t.heartbeat=l,c=setInterval(()=>{if(u()&&s===void 0){try{let t=n.message,i=t?t():void 0;if(!u()||i===void 0)return;let a=Jr(r,i,o);if(!u()||(e.send(a),!u()))return}catch(e){d(e);return}typeof n.timeoutMs==`number`&&n.timeoutMs>0&&(s=setTimeout(()=>{d(Error(`WebSocket heartbeat timeout`))},n.timeoutMs))}},n.intervalMs);function d(e){u()&&(ui(t),i(e))}}function li(e){e&&(di(`intervalMs`,e.intervalMs),e.timeoutMs!==void 0&&di(`timeoutMs`,e.timeoutMs))}function ui(e){e.heartbeat?.stop(),e.heartbeat=void 0}function di(e,t){if(!Number.isFinite(t)||t<=0||t>si)throw RangeError(`WebSocket heartbeat ${e} must be between 0 and ${si}`)}function fi(e){if(!e)return;let t=e.shouldReconnect,n=e.attempts??3;if(!Number.isSafeInteger(n)||n<0)throw RangeError(`WebSocket reconnect attempts must be a non-negative safe integer`);if(n===0)return;let r=e.delayMs??1e3;mi(`delayMs`,r,0);let i=e.factor??2;mi(`factor`,i,Number.MIN_VALUE);let a=e.jitter??0;mi(`jitter`,a,0,1);let o=e.maxDelayMs??3e4;return mi(`maxDelayMs`,o,0),{attempts:n,delayMs:r,factor:i,hasShouldReconnect:typeof t==`function`,jitter:a,maxDelayMs:o,shouldReconnect:(e,n)=>typeof t!=`function`||!!t({attempt:n,cause:e.cause,code:e.closeInfo.code,reason:e.closeInfo.reason,wasClean:e.closeInfo.wasClean})}}function pi(e,t,n){return!e||t.opened===!1&&e.attempts<=0?!1:e.shouldReconnect(t,n)}function mi(e,t,n,r=1/0){if(!Number.isFinite(t)||t<n||t>r)throw RangeError(`WebSocket reconnect ${e} is out of range`)}function hi(e){return e}function gi(t){let n={...t};function i(t){return{[e]:r,endpoint:n,input:t}}return(e=>i(e))}async function _i(e,t,n,r,i,a){X(a,`connecting`);let o;try{o=te(r)}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}if(k(o)){let e=ne();return a.error=e,X(a,`error`),[e,void 0,void 0]}try{M(o.timeout)}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}try{Oi(t.maxIncomingQueueSize,t.maxOutgoingQueueSize)}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}let s,c,l,u;try{s=r.beforeConnect;let t=r.protocols;c=t?[...t]:void 0;let n=r.reconnect??e.webSocket.reconnect,i=r.heartbeat??e.webSocket.heartbeat;u=i?{intervalMs:i.intervalMs,isAck:i.isAck,message:i.message,timeoutMs:i.timeoutMs}:void 0,li(u),l=fi(n)}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}let d;try{d=hi(await Ge(t.input,n))}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}let f;try{f=xt(d,t.build,{input:t.input,transport:`webSocket`})}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}let p=P(new AbortController().signal,[o.abort,o.signal],o.timeout),h=P(i.signal,[p]),v=A(h);if(v)return a.error=v,X(a,v.code===`ABORTED`?`aborted`:`error`),[v,void 0,void 0];let y=Ur({abort:h,baseEndpoint:e.endpoint,build:f,operation:t.operation,path:t.path,queryParamsSerializer:e.queryParamsSerializer,withCredentials:e.withCredentials}),b=e.webSocket.handle??globalThis.WebSocket;if(typeof b!=`function`){let e=g(Error(`WebSocket is not supported in current runtime`));return a.error=e,X(a,`error`),[e,void 0,void 0]}let x=b,S,C=new Set,w=new Set,E=!1,D=!1,ee=n=>{if(D||E){let e=Promise.reject(Error(D?`WebSocket interceptor next() may not be called after the chain settles`:`WebSocket interceptor next() may only be called once`));return e.catch(()=>void 0),e}E=!0;let r=new Promise((r,o)=>{let d=new $n({maxSize:t.maxIncomingQueueSize}),f=Promise.withResolvers(),p={currentSocket:void 0,heartbeat:void 0},v=[],y=!1,C=!1,w,T=0,E=0,D,O,ee=new Set,te,k,ne,j=!1,M,P,F=l?.hasShouldReconnect??!1,re=s??e.webSocket.beforeConnect,ie=[...c??e.webSocket.protocols??t.protocols??[]],ae=xi(t.outgoing,t.normalizeOutgoing,d,f.promise,a,p,v,t.maxOutgoingQueueSize??0,b.OPEN,()=>C||h.aborted,B,ce),I=oe().catch(e=>{R({cause:e,kind:`error`})});async function oe(){for(;!C;){if(h.aborted){z();return}X(a,T===0?`connecting`:`reconnecting`);let e=await L();if(C)return;if(!e.ok){e.aborted?z():R({cause:e.error,kind:`error`},{startupError:e.error});return}if(h.aborted){z();return}let t=await se(e.url,e.protocols);if(C)return;if(!y&&t.connection&&(w=t.connection,a.connection=w),h.aborted){z(t.closeInfo);return}if(O){R(Mi(t.closeInfo,O));return}let n=T+1,r=!1,i=!1;if(l&&n<=l.attempts)try{r=pi(l,t,n),i=F&&!r}catch(e){if(C)return;h.aborted?z(t.closeInfo):R(Pi(t.closeInfo,e));return}if(C)return;if(h.aborted){z(t.closeInfo);return}if(r&&l){if(T=n,X(a,`reconnecting`),C)return;if(h.aborted){z(t.closeInfo);return}let e=tr(l,n);if(e>0)try{await nr(e,h)}catch{C||z(t.closeInfo);return}continue}if(!y){let e=t.cause??Error(`WebSocket closed before open`),n=g(e);R(Pi(t.closeInfo,e),{startupError:n});return}if(i){R(Mi(t.closeInfo));return}t.cause===void 0?R(Mi(t.closeInfo)):R(Pi(t.closeInfo,t.cause));return}}async function L(){let e;try{e=Wr(n)}catch(e){return{aborted:!1,error:_(`REQUEST_VALIDATION_FAILED`,e),ok:!1}}if(re)try{await N(()=>re({attempt:T,signal:h}),h),h.throwIfAborted()}catch(e){return h.aborted?{aborted:!0,ok:!1}:{aborted:!1,error:g(e),ok:!1}}return{ok:!0,protocols:ie,url:e}}async function se(n,i){let o;try{o=i.length>0?new x(n,[...i]):new x(n),`binaryType`in o&&(o.binaryType=`arraybuffer`)}catch(e){return{closeInfo:{cause:e,reason:e instanceof Error?e.message:`WebSocket connection error`},connection:void 0,cause:e,opened:!1}}p.currentSocket=o;let s=!1,c;return await new Promise(n=>{let i,l=!1,f,m=!1,g=new AbortController,_=AbortSignal.any([h,g.signal]),x=[],T=!1,k=()=>{f!==void 0&&(clearTimeout(f),f=void 0)},ne=e=>{k(),ui(p),g.abort(),x.length=0,o.removeEventListener(`open`,P),o.removeEventListener(`message`,ie),o.removeEventListener(`close`,oe),o.removeEventListener(`error`,I),h.removeEventListener(`abort`,M),!e&&p.currentSocket===o&&(p.currentSocket=void 0)},A=()=>({extensions:o.extensions||void 0,generation:E,protocol:o.protocol||void 0,url:o.url}),j=(e,t=!1)=>{T||(T=!0,ne(t),D?.socket===o&&(D=void 0),n(e))},M=()=>{C||(y||(w=A(),a.connection=w),z(oi(void 0,h.reason)))},P=()=>{if(!(C||s)){s=!0,E+=1,w=A(),a.connection=w;try{Si(o,v,b.OPEN)}catch(e){R({cause:e,kind:`error`});return}C||O||(X(a,`open`),!C&&(y||(S=w,y=!0,r(ae)),a.status===`open`&&ci(o,p,u,t.outgoing,e=>{R({cause:e,kind:`error`})},b.OPEN,t.normalizeOutgoing)))}},F=async n=>{if(C||p.currentSocket!==o)return;let r;try{r=await N(()=>$r(t.incoming,n.data,t.normalizeIncoming),_)}catch(t){if(C||g.signal.aborted)return;if(t instanceof ei){await wi(e.webSocket.onInvalidEvent,{reason:`missing-struct`,message:{type:t.type,data:t.decoded}},_);return}Ci(a,t);return}if(!(C||p.currentSocket!==o||r===void 0))try{let e=p.heartbeat,t=e?.isAck?.(r)??!1;if(C||p.currentSocket!==o||p.heartbeat!==e)return;if(t&&e){e.markAck();return}d.push(r)}catch(e){C||R({cause:e,kind:`error`})}},re=async()=>{if(!m){m=!0;try{for(;!C&&x.length>0;){let e=x.shift();await F(e)}!C&&i&&x.length===0&&j(i)}catch(e){R({cause:e,kind:`error`})}finally{m=!1,C&&(x.length=0)}}},ie=e=>{if(C||l||p.currentSocket!==o)return;if(x.length>=t.maxIncomingQueueSize){R({cause:Error(`WebSocket raw message queue overflow`),kind:`error`});return}x.push(e);let n=re();ee.add(n),n.finally(()=>{ee.delete(n)})},I=()=>{c??=Error(`WebSocket connection error`),ui(p),o.removeEventListener(`error`,I),f=setTimeout(()=>{f=void 0,R({cause:c,kind:`error`},{skipNativeClose:!0})},yi);try{o.close()}catch{k(),R({cause:c,kind:`error`},{skipNativeClose:!0})}},oe=e=>{if(!l){if(l=!0,k(),p.heartbeat?.stop(),o.removeEventListener(`open`,P),o.removeEventListener(`message`,ie),o.removeEventListener(`error`,I),i={closeInfo:oi(e,c),connection:A(),cause:c,opened:s},te&&D?.abortMessagePumpForDisposal(),c!==void 0){x.length=0,j(i);return}!m&&x.length===0&&j(i)}};D={abortMessagePumpForDisposal(){l&&g.abort()},cancel(e=!1){j({closeInfo:oi(void 0,c),connection:A(),cause:c,opened:s},e)},socket:o},h.addEventListener(`abort`,M,{once:!0}),o.addEventListener(`open`,P),o.addEventListener(`message`,ie),o.addEventListener(`close`,oe),o.addEventListener(`error`,I),h.aborted&&M()})}function R(e,t={}){if(C)return;C=!0,ui(p);let n=p.currentSocket;if(e.kind!==`closed`&&n&&!t.skipNativeClose&&Ai(n),n&&t.keepPhysicalCleanup&&(P=ji(n,p)),D?.cancel(t.keepPhysicalCleanup),v.length=0,e.kind===`closed`)d.close(),a.error=void 0;else{let n=e.cause??new DOMException(`Aborted`,`AbortError`);d.fail(n),a.error=t.startupError??Fi(e),e.kind===`error`&&Ci(a,e.cause)}if(a.connection=w,X(a,e.kind===`closed`?`closed`:e.kind),a.listeners.runtimeError.clear(),a.listeners.stateChange.clear(),i.signal.aborted||i.abort(e),f.resolve(e),!y){let n=t.startupError??Fi(e);a.error=n,o(n)}}function z(e={}){let t=A(h)??g(m);if(t.code===`TIMEOUT`){R(Pi(e,h.reason),{startupError:t});return}R(Ni(e,h.reason),{startupError:t})}function B(e,t){if(ki(e,t),C||O||(O={code:e,kind:`manual-web-socket-close`,reason:t},p.heartbeat?.stop(),X(a,`closing`),C))return;let n=p.currentSocket;if(!n){R(Mi({},O));return}try{n.close(e,t)}catch(e){try{n.close()}catch{R({cause:e,kind:`error`},{keepPhysicalCleanup:!0,skipNativeClose:!0})}throw e}}function ce(){return te??=Promise.resolve().then(le)}async function le(){try{try{ae.close()}catch(e){j=!0,M=e}D?.abortMessagePumpForDisposal(),C||(k=setTimeout(()=>{C||(ne=new DOMException(`WebSocket close event was not observed before teardown timeout`,`TimeoutError`),R(Mi({},O),{skipNativeClose:!0}))},yi)),await I,await Promise.allSettled([...ee])}finally{clearTimeout(k),k=void 0,P?.()}if(j)throw M;if(ne)throw ne}});return w.add(r),r.then(e=>{w.delete(r),C.add(e)},()=>{w.delete(r)}),r},j=T(O(e.interceptors));try{let e=await N(()=>j(y,ee),p);D=!0;let t=[...C].some(t=>t===e||t.closed===e.closed),n=[...w];!t&&(C.size>0||n.length>0)&&!i.signal.aborted&&i.abort(Error(`WebSocket session was replaced by interceptor`)),await Promise.allSettled(n),t=[...C].some(t=>t===e||t.closed===e.closed);let r=[...C].filter(t=>t!==e&&t.closed!==e.closed);await Promise.allSettled(r.map(e=>e.closed)),w.clear(),C.clear(),t||(S=void 0);let a=e;return[null,a,S??a.connection]}catch(e){D=!0;let t=A(p),n=t??e;t&&(a.error=t,X(a,t.code===`ABORTED`?`aborted`:`error`));let r=[...w];return(C.size>0||r.length>0)&&(i.signal.aborted||i.abort(e),await Promise.allSettled(r),await Promise.allSettled([...C].map(e=>e.closed)),w.clear(),C.clear()),[n,void 0,a.connection]}}async function vi(e,t,n){let{endpoint:r,input:i}=t;return _i(e,r,i,n??{},new AbortController,{listeners:{runtimeError:new Set,stateChange:new Set},status:`idle`,transition:0})}const yi=1e3,bi=()=>void 0;function xi(e,t,n,r,i,a,o,s,c,l,u,d){return{get bufferedAmount(){return a.currentSocket?.bufferedAmount??0},get connection(){return i.connection??{generation:0}},closed:r,close(e,t){u(e,t)},[Symbol.asyncDispose](){return d()},get state(){return i.status},onRuntimeError(e){return l()?bi:(i.listeners.runtimeError.add(e),()=>{i.listeners.runtimeError.delete(e)})},onStateChange(e){return l()?bi:(i.listeners.stateChange.add(e),()=>{i.listeners.stateChange.delete(e)})},receive:n,send(n){if(l())throw new DOMException(`WebSocket session is closed`,`InvalidStateError`);let r=a.currentSocket,u=i.status,d=r?.readyState,f=u===`open`&&d===c?`socket`:u===`reconnecting`?`queue`:void 0;if(!f)throw new DOMException(`WebSocket session is not writable`,`InvalidStateError`);let p=Jr(e,n,t);if(l()||i.status!==u||a.currentSocket!==r||r?.readyState!==d)throw new DOMException(`WebSocket session is not writable`,`InvalidStateError`);if(f===`socket`){r.send(p);return}if(s===0)throw Error(`WebSocket outgoing queue is disabled`);if(o.length>=s)throw Error(`WebSocket send queue overflow`);o.push(p)}}}function Si(e,t,n){for(;e.readyState===n;){let n=t.shift();if(n===void 0)return;e.send(n)}}function X(e,t){if(e.status===t)return;e.status=t,e.transition+=1;let n=e.transition;for(let r of[...e.listeners.stateChange]){if(e.transition!==n)break;try{let n=r(t),i=[...e.listeners.runtimeError];Di(n,e=>Ti(i,e))}catch(t){Ci(e,t)}}}function Ci(e,t){Ti([...e.listeners.runtimeError],t)}async function wi(e,t,n){if(e)try{await N(()=>e(t),n)}catch{}}function Ti(e,t){for(let n of e)try{Di(n(t),Ei)}catch(e){Ei(e)}}function Ei(e){let t=globalThis.reportError;if(typeof t==`function`)try{Di(t(e),()=>void 0)}catch{}}function Di(e,t){(typeof e==`object`&&e||typeof e==`function`)&&Promise.resolve(e).catch(t)}function Oi(e,t){if(!Number.isSafeInteger(e)||e<1)throw TypeError(`maxIncomingQueueSize must be a positive safe integer`);let n=t??0;if(!Number.isSafeInteger(n)||n<0)throw TypeError(`maxOutgoingQueueSize must be a non-negative safe integer`)}function ki(e,t){if(e!==void 0&&(!Number.isInteger(e)||e!==1e3&&(e<3e3||e>4999)))throw new DOMException(`The close code must be 1000 or between 3000 and 4999`,`InvalidAccessError`);if(t!==void 0&&new TextEncoder().encode(t).byteLength>123)throw new DOMException(`The close reason must not exceed 123 UTF-8 bytes`,`SyntaxError`)}function Ai(e){try{e.close()}catch{}}function ji(e,t){let n=!1,r=()=>{n||(n=!0,e.removeEventListener(`close`,r),t.currentSocket===e&&(t.currentSocket=void 0))};return e.addEventListener(`close`,r,{once:!0}),r}function Mi(e,t){return{code:e.code??t?.code,kind:`closed`,reason:e.reason??t?.reason,wasClean:e.wasClean}}function Ni(e,t){return{cause:t,code:e.code,kind:`aborted`,reason:e.reason,wasClean:e.wasClean}}function Pi(e,t){return{cause:t,code:e.code,kind:`error`,reason:e.reason,wasClean:e.wasClean}}function Fi(e){return e.kind!==`closed`&&Ii(e.cause)?e.cause:e.kind===`aborted`?g(m):e.kind===`error`?g(e.cause):g(Error(`WebSocket closed before open`))}function Ii(e){return typeof e!=`object`||!e||!(`kind`in e)?!1:e.kind===`definition`||e.kind===`http`||e.kind===`transport`}const Li=Symbol(`Client`);function Ri(...e){let t=p();for(let n of e)n(t);function n(e,n){return a(e)?Jn(t,e,n):o(e)?jr(t,e,n):s(e)?vi(t,e,n):Promise.reject(Error(`Unsupported command`))}return{[Li]:t,execute:n}}function zi(e){return t=>{t.endpoint=e}}function Bi(e){return t=>{t.headers=new Headers(e)}}function Vi(e){return M(e),t=>{t.timeout=e}}function Hi(...e){return t=>{t.interceptors.push(...e)}}function Ui(e){return t=>{t.queryParamsSerializer=e}}function Wi(e){return t=>{t.http.handle=e}}function Gi(e){return t=>{t.sse.handle=e}}function Ki(e){return t=>{t.webSocket.handle=e}}function qi(e){return t=>{t.webSocket.beforeConnect=e}}function Ji(e){return t=>{t.webSocket.protocols=e}}function Yi(e){return t=>{t.webSocket.heartbeat=e}}function Xi(e){return t=>{t.webSocket.reconnect=e}}function Zi(e){return t=>{t.webSocket.onInvalidEvent=e}}function Qi(e){return t=>{t.sse.onInvalidEvent=e}}function $i(e){return t=>{t.sse.reconnect=e}}function ea(e={}){return t=>{t.xsrf={cookieName:e.cookieName??`XSRF-TOKEN`,headerName:e.headerName??`X-XSRF-TOKEN`,tokenProvider:e.tokenProvider}}}function ta(e){return t=>{t.withCredentials=e}}function na(e,t){let n=t?.encode;if(!n){let e=globalThis.btoa;if(typeof e!=`function`)throw Error(`BasicAuthInterceptor is not supported in this environment`);n=t=>e(`${t.username}:${t.password}`)}return t=>{let r=new Headers(t.headers);return r.set(`Authorization`,`Basic ${n(e())}`),{...t,headers:r}}}function ra(e,t){let n=na(e,t);return x((e,t)=>t(n(e)))}function ia(e,t){let n=na(e,t);return S((e,t)=>t(n(e)))}function aa(e){return Q($({...e,flags:Z}))}const Z={nullable:!1,optional:!1};function Q(e){return e}function $(e){let t=t=>$({...e,flags:{...e.flags,...t}});return{[F]:e,alias(t){if(typeof t!=`string`)throw TypeError(`alias() requires a string name`);return $({...e,alias:t})},null(){return t({nullable:!0})},nullable(){return t({nullable:!0})},nullish(){return t({nullable:!0,optional:!0})},optional(){return t({optional:!0})}}}function oa(){return Q(aa({expected:`string`,is:e=>typeof e==`string`,kind:`string`}))}function sa(){return Q(aa({expected:`number`,is:e=>typeof e==`number`&&!Number.isNaN(e),kind:`number`}))}function ca(){return aa({expected:`boolean`,is:e=>typeof e==`boolean`,kind:`boolean`})}function la(){return Q(aa({expected:`null`,is:e=>e===null,kind:`null`}))}function ua(){return Q($({flags:Z,kind:`any`}))}function da(){return Q($({flags:Z,kind:`unknown`}))}function fa(e){return Q($({expected:ue(e),flags:Z,kind:`literal`,value:e}))}function pa(e){let t=[...e];return Q($({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:Z,kind:`enum`,values:t}))}function ma(e){let t=Object.values(e).filter(e=>typeof e==`number`||typeof e==`string`);if(t.length===0)throw TypeError(`enum struct requires at least one string or number value`);return Q($({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:Z,kind:`enum`,values:t}))}function ha(e){return L(e,`array item`),Q($({flags:Z,item:e,kind:`array`}))}function ga(e){if(!H(e))throw TypeError(`object struct requires a plain object`);return Q($({cache:{declaredDescriptors:Object.getOwnPropertyDescriptors(e)},flags:Z,kind:`object`,shape:e}))}function _a(e){if(!H(e))throw TypeError(`request struct requires a plain object`);let t=e.path,n=e.query,r=e.headers,i=e.body;return t&&za(t,`request.path`),n&&za(n,`request.query`),r&&za(r,`request.headers`),Q($({body:i,bodyDescriptor:va(i),flags:Z,headers:r,kind:`request`,path:t,query:n}))}function va(e){if(!e)return;L(e,`request.body`);let t=e[F];if(t.kind===`requestBody`)return{codec:t.codec,contentType:t.contentType,struct:t.struct};if(t.kind===`blob`)return{codec:`blob`,struct:e};if(t.kind===`arrayBuffer`)return{codec:`arrayBuffer`,struct:e};throw TypeError(`body must use a body wrapper struct`)}function ya(e,t,n){return L(t,`${e} body`),Q($({codec:e,...n===void 0?{}:{contentType:n},flags:Z,kind:`requestBody`,struct:t}))}function ba(e,t){return ya(`json`,e,t?.contentType)}function xa(e){return ya(`urlencoded`,ga(e))}function Sa(e){return ya(`formData`,ga(e))}function Ca(){return ya(`text`,oa())}function wa(e){return L(e,`record value`),Q($({flags:Z,kind:`record`,value:e}))}function Ta(e){let t=[...e];for(let e of t)L(e,`tuple item`);return Q($({flags:Z,items:t,kind:`tuple`}))}function Ea(e){let t=[...e];for(let e of t)L(e,`or option`);return Q($({expected:t.map(e=>ce(e[F])).join(` | `),flags:Z,kind:`or`,options:t,uniformIdentityEncode:Da(t)}))}function Da(e){let t=e[0];if(t[F].kind===`object`){let n=Oa(t);if(!n)return!1;for(let t=1;t<e.length;t+=1){let r=Oa(e[t]);if(!r||r.size!==n.size)return!1;for(let[e,t]of n)if(r.get(e)!==t)return!1}return!0}return e.every(e=>ka(e[F].kind))}function Oa(e){let t=e[F];if(t.kind!==`object`)return;let n=new Map;for(let[e,r]of Object.entries(t.cache.declaredDescriptors)){if(typeof r.get==`function`)return;let t=r.value?.[F];if(!t||!ka(t.kind))return;n.set(e,t.kind)}return n}function ka(e){return e===`any`||e===`boolean`||e===`enum`||e===`literal`||e===`null`||e===`number`||e===`string`||e===`unknown`}function Aa(e,t){let n=[...t],r=new Map,i=new Map,a=[],o=new Set,s=[];for(let t of n){L(t,`discriminatedUnion option`);let n=t[F];if(n.kind!==`object`)throw TypeError(`discriminatedUnion options must be object structs`);let c=n.cache.declaredDescriptors[e],l=c&&typeof c.get==`function`?c.get.call(n.shape):c?.value;if(!l)throw TypeError(`discriminatedUnion option missing discriminator field "${e}"`);let u=l[F];if(u.kind!==`literal`)throw TypeError(`discriminatedUnion option discriminator "${e}" must be a literal struct`);if(u.flags.optional||u.flags.nullable&&u.value!==null)throw TypeError(`discriminatedUnion option discriminator "${e}" must be a required literal struct`);if(r.has(u.value))throw TypeError(`discriminatedUnion duplicate discriminator value: ${JSON.stringify(u.value)}`);let d=u.alias??e;r.set(u.value,t),i.set(u.value,d),o.has(d)||(o.add(d),a.push(d)),s.push(u.value)}return Q($({discriminator:e,discriminatorWireKeys:a,expected:s.map(e=>JSON.stringify(e)).join(` | `),flags:Z,kind:`discriminatedUnion`,map:r,options:n,wireKeyByValue:i}))}function ja(){return aa({expected:`Blob`,is:e=>e instanceof Blob,kind:`blob`,runtimeIs:e=>typeof Blob<`u`&&e instanceof Blob})}function Ma(){return aa({decode:(e,t)=>{if(typeof e==`bigint`)return z(e);try{return z(BigInt(e))}catch{return B(G(t,`invalid_type`,`bigint`,e))}},encode:e=>e.toString(),expected:`bigint`,is:e=>typeof e==`bigint`||typeof e==`string`,kind:`bigint`,runtimeIs:e=>typeof e==`bigint`})}function Na(){return aa({decode:(e,t)=>{let n=e instanceof Date?e:new Date(e);return Number.isNaN(n.getTime())?B(G(t,`invalid_type`,`Date`,e)):z(n)},encode:e=>e.toISOString(),expected:`Date`,is:e=>e instanceof Date||typeof e==`string`||typeof e==`number`,kind:`date`,runtimeIs:e=>e instanceof Date&&!Number.isNaN(e.getTime())})}function Pa(...e){if(e.length===0)throw TypeError(`intersection requires at least one struct`);for(let t of e)L(t,`intersection item`);if(e.length===1)return Q(e[0]);let t=e.every(Fa),n=t?Ia(e):e;return Q($({expected:e.map(e=>ce(e[F])).join(` & `),flags:Z,kind:`intersection`,objectSides:t,options:n}))}function Fa(e){let t=e[F];return t.kind===`object`||t.kind===`intersection`&&t.objectSides}function Ia(e){let t=[];for(let n of e){let e=n[F];e.kind===`intersection`?t.push(...e.options):t.push(n)}return t}function La(){return aa({expected:`File`,is:e=>e instanceof File,kind:`file`,runtimeIs:e=>typeof File<`u`&&e instanceof File})}function Ra(){return aa({expected:`ArrayBuffer`,is:e=>e instanceof ArrayBuffer,kind:`arrayBuffer`,runtimeIs:e=>typeof ArrayBuffer<`u`&&e instanceof ArrayBuffer})}function za(e,t){if(L(e,t),e[F].kind!==`object`)throw TypeError(`${t} must be an object struct`)}function Ba(e){return Array.isArray(e)?pa(e):ma(e)}function Va(...e){return Ea(e)}const Ha={any:ua,array:ha,arrayBuffer:Ra,bigint:Ma,blob:ja,boolean:ca,date:Na,discriminatedUnion:Aa,enum:Ba,file:La,formData:Sa,intersection:Pa,json:ba,literal:fa,null:la,number:sa,object:ga,or:Va,parse:We,record:wa,request:_a,string:oa,text:Ca,tuple:Ta,unknown:da,urlencoded:xa};export{m as ERR_ABORTED,h as ERR_TIMEOUT,Se as StructError,ra as basicAuthHttpInterceptor,ia as basicAuthSSEInterceptor,Ri as createClient,_ as createDefinitionError,x as createHttpInterceptor,v as createHttpStatusError,Ze as createResolvedRequestUrl,S as createSSEInterceptor,g as createTransportError,C as createWebSocketInterceptor,kr as defineEventStream,qn as defineRequest,gi as defineWebSocket,jr as executeEventStreamCommand,Jn as executeHttpCommand,vi as executeWebSocketCommand,Wn as fetchHandler,it as makeResponse,Ha as struct,ta as withCredentials,zi as withEndpoint,Wi as withHTTPHandle,Bi as withHeaders,Hi as withInterceptors,Ui as withQueryParamsSerializer,Gi as withSSEHandle,Qi as withSSEOnInvalidEvent,$i as withSSEReconnect,Vi as withTimeout,qi as withWebSocketBeforeConnect,Ki as withWebSocketHandle,Yi as withWebSocketHeartbeat,Zi as withWebSocketOnInvalidEvent,Ji as withWebSocketProtocols,Xi as withWebSocketReconnect,ea as withXSRF};
1
+ const e=Symbol.for(`defjs.command.type`),t=Symbol.for(`defjs.command.http`),n=Symbol.for(`defjs.command.event-stream`),r=Symbol.for(`defjs.command.web-socket`),i=Symbol.for(`defjs.command.execute`);function a(t){if(typeof t==`object`&&t&&e in t)return t[e]}function o(e){return a(e)===t}function s(e){return a(e)===n}function c(e){return a(e)===r}const l=globalThis.fetch,u=l.bind(globalThis);function d(){return globalThis.fetch===l?u:globalThis.fetch.bind(globalThis)}const f={handle:u},p={handle:u,onInvalidEvent:void 0,reconnect:void 0};function m(){return{endpoint:``,http:{...f},interceptors:[],xsrf:void 0}}function h(){return{...m(),sse:{...p},webSocket:{handle:globalThis.WebSocket,beforeConnect:void 0,heartbeat:void 0,protocols:void 0,reconnect:void 0}}}const g=Symbol(`Client`);function _(...e){let t=h();for(let n of e)n(t);function n(e,n){return o(e)||s(e)||c(e)?e[i](t,e,n):Promise.reject(/* @__PURE__ */ Error(`Unsupported command`))}return{[g]:t,execute:n}}const v=Symbol.for(`defjs.struct.definition`),y=Symbol.for(`defjs.struct.omit`),b=Symbol(`defjs.struct.failed`),x=Symbol.for(`defjs.struct.STRUCT`),S=/* @__PURE__ */ new Set([`any`,`array`,`arrayBuffer`,`bigint`,`blob`,`boolean`,`date`,`discriminatedUnion`,`enum`,`file`,`intersection`,`literal`,`null`,`number`,`object`,`or`,`record`,`string`,`tuple`,`unknown`]);function C(e){if(typeof e!=`object`||!e||!Object.hasOwn(e,v))return!1;let t=e[v];if(typeof t!=`object`||!t||!S.has(t.kind))return!1;let n=t.flags;return typeof n==`object`&&!!n&&typeof n.nullable==`boolean`&&typeof n.optional==`boolean`}const w=Symbol.for(`defjs.struct.guideSet`);function T(e){return typeof e==`object`&&!!e&&e[w]===!0}function E(e){let t=[];for(let n of e)t.includes(n)||t.push(n);if(t.length!==0)return t.length===1?t[0]:{[w]:!0,members:t}}function D(e){return T(e)?e.members:[e]}function O(e,t){return e?t?E([...D(e),...D(t)]):e:t}function k(e){let t=e[x];if(T(t))return t;if(!C(t))return;let n=t[v].kind;if(n===`object`||n===`record`)return t}function A(e,t){e[x]=t}function ee(e,t){Object.defineProperty(e,x,{configurable:!0,enumerable:!0,value:t,writable:!0})}function j(e,t,n=!1){if(Object.is(e,t)||e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime())return{ok:!0,value:e};if(R(e)&&R(t)){let r=I();for(let t of Object.keys(e))r[t]=e[t];for(let e of Object.keys(t)){if(!L(r,e)){r[e]=t[e];continue}let i=j(r[e],t[e],n);if(!i.ok)return{ok:!1,path:[e,...i.path],received:i.received};r[e]=i.value}if(n){let n=O(k(e),k(t));n&&A(r,n)}return{ok:!0,value:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{ok:!1,path:[],received:t};let r=Array(e.length);for(let i=0;i<e.length;i+=1){let a=j(e[i],t[i],n);if(!a.ok)return{ok:!1,path:[i,...a.path],received:a.received};r[i]=a.value}return{ok:!0,value:r}}return{ok:!1,path:[],received:t}}function M(e){return/* @__PURE__ */ TypeError(`invalid intersection encode at ${oe(e)}`)}function N(e){let t=e[v];if(t.kind===`any`||t.kind===`unknown`)return!0;if(t.kind!==`intersection`)return!1;for(let e of t.options)if(!N(e))return!1;return!0}function te(e,t){return e.valueSet===void 0?(e.valueSet=null,e.values.includes(t)):(e.valueSet??=new Set(e.values)).has(t)}let ne;function re(e){return e}function P(e){return ne=e,b}function ie(){return ne}function ae(e){ne=e}function F(e){switch(e.kind){case`any`:return`any`;case`array`:return`array<${F(e.item[v])}>`;case`arrayBuffer`:return`ArrayBuffer`;case`blob`:return`Blob`;case`bigint`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return e.expected;case`enum`:case`literal`:return e.expected;case`intersection`:case`or`:case`discriminatedUnion`:return e.expected;case`object`:return`object`;case`record`:return`record<${F(e.value[v])}>`;case`tuple`:return`tuple`;case`unknown`:return`unknown`}}function oe(e){if(e.length===0)return`<root>`;let t=``;for(let n of e)t+=typeof n==`number`?`[${n}]`:t?`.${n}`:n;return t}function I(){let e={};return Object.setPrototypeOf(e,null),e}function L(e,t){return Object.hasOwn(e,t)}function R(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function se(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>se(e,t[n]));if(!R(e)||!R(t))return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>L(t,n)&&se(e[n],t[n]))}function ce(e){return e===null?`null`:e===void 0?`undefined`:typeof e==`string`?JSON.stringify(e):typeof e==`number`||typeof e==`boolean`?String(e):e instanceof File?`File(${e.name})`:e instanceof Blob?`Blob(${e.type||`application/octet-stream`})`:e instanceof ArrayBuffer?`ArrayBuffer(${e.byteLength})`:Array.isArray(e)?`array`:R(e)?`object`:Object.prototype.toString.call(e)}function le(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`||e===null}function ue(e){return String(e)}function de(e,t){let n=/* @__PURE__ */ new Map;if(t){for(let[e,r]of Object.entries(t))if(r!==void 0){if(Array.isArray(r)){let t=r[0];if(t!==void 0){if(!be(t))throw TypeError(`path value for "${e}" requires a scalar value`);n.set(e,fe(e,ue(t)))}}else{if(!be(r))throw TypeError(`path value for "${e}" requires a scalar value`);n.set(e,fe(e,ue(r)))}}}return e.replace(/:([^/]+)/g,(e,t)=>{let r=n.get(t);if(r===void 0)throw TypeError(`Missing path param: ${t}`);return r})}function fe(e,t){if(t===``)throw TypeError(`path value for "${e}" must be a non-empty path segment`);if(t===`.`||t===`..`)throw TypeError(`path value for "${e}" must not be a dot segment`);return encodeURIComponent(t)}function pe(e){let t=new URLSearchParams;if(!e)return t;for(let[n,r]of Object.entries(e))ve(t,n,r);return t}function me(e,t){if(typeof URLSearchParams<`u`&&e instanceof URLSearchParams)return{queryParams:e,queryString:e.toString()};if(!R(e)){let e=pe();return{queryParams:e,queryString:e.toString()}}if(!t){let t=pe(e);return{queryParams:t,queryString:t.toString()}}let n=t(e);return{queryParams:new URLSearchParams(n),queryString:n}}function he(e,t){if(t){if(t instanceof Headers)t.forEach((t,n)=>{e.set(n,t)});else if(Array.isArray(t))for(let[n,r]of t)e.append(n,r);else for(let[n,r]of Object.entries(t))if(r!==void 0){if(Array.isArray(r))for(let t of r){if(!be(t))throw TypeError(`header value for "${n}" requires a scalar value`);e.append(n,ue(t))}else{if(!be(r))throw TypeError(`header value for "${n}" requires a scalar value`);e.set(n,ue(r))}}}}function ge(e,t,n=``){let r=Ce(e),i=we(t),a=new URL(i,r);return n&&(a.search=n),a}function _e(e){if(!e.baseEndpoint)throw TypeError(`Client endpoint is required`);let t=typeof e.queryString==`string`?e.queryString:e.queryParams?e.queryParams.toString():``;return ge(e.baseEndpoint,e.endpoint,t)}function ve(e,t,n){if(n!==void 0){if(Array.isArray(n))for(let r of n)r!==void 0&&ye(e,t,r);else ye(e,t,n)}}function ye(e,t,n){if(n===null)throw TypeError(`query value for "${t}" must not be null`);if(le(n))e.append(t,ue(n));else throw TypeError(`a query serializer is required for nested query value "${t}"`)}function be(e){return le(e)&&typeof e!=`bigint`}let xe,Se;function Ce(e){if(e===xe)return Se;let t;try{t=new URL(e)}catch{throw TypeError(`Client endpoint must be a valid URL`)}return t.search=``,t.hash=``,t.pathname.endsWith(`/`)||(t.pathname=`${t.pathname}/`),xe=e,Se=t,t}function we(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e)||e.startsWith(`//`))throw Error(`Endpoint path must not be an absolute URL`);if(e.includes(`?`)||e.includes(`#`))throw Error(`Endpoint path must not include query or hash`);return e.replace(/^\/+/,``)}const Te=Symbol(`HttpResponse`);function Ee(e){let t=e?.status??0,n=t>=200&&t<300,r=e?.statusText??``,i=e?.url??Oe(e?.request),a=e?.headers??new Headers(e?.request?.headers),o=e?.body;return{[Te]:!0,status:t,statusText:r,url:i,headers:a,body:o,ok:n}}function De(e){let t=`Http failure response: ${e.status}`;return e.statusText&&(t+=` - ${e.statusText}`),t}function Oe(e){return e?e.baseEndpoint?_e(e).href:e.endpoint:``}const ke=/* @__PURE__ */ Error(`Request was aborted`),z=/* @__PURE__ */ Error(`Request timed out`);function Ae(e){return e===ke||e instanceof DOMException&&e.name===`AbortError`}function je(e){return e===z||e instanceof DOMException&&e.name===`TimeoutError`||e instanceof Error&&e.name===`TimeoutError`}function Me(e){return e instanceof Error?e.message:String(e)}function Ne(e,t){let n=t===void 0?Error(e):Error(e,{cause:t});return Object.defineProperty(n,"name",{configurable:!0,enumerable:!1,value:`DefjsFault`,writable:!0}),t===void 0&&Object.defineProperty(n,"cause",{configurable:!0,enumerable:!1,value:void 0,writable:!0}),n}function Pe(e,t){let n=Ne(De(e));return n.code=`HTTP_STATUS`,n.data=t,n.response=e,n.status=e.status,n}function Fe(e){return Pe(e,e.body)}function Ie(e){return Pe(e,void 0)}function Le(e,t,n){let r=Ne(Me(t),t);return r.code=e,r.response=n,r.status=n.status,r}function B(e,t,n){let r=Ne(t===void 0?e:Me(t),t);return r.code=e,n!==void 0&&(r.response=n),r}function V(e,t){return Ae(e)?Re(Ne(ke.message,e),`NET_ABORTED`,t):je(e)?Re(Ne(e instanceof Error&&e.message?e.message:z.message,e),`NET_TIMEOUT`,t):Re(Ne(Me(e),e),`NET_UNREACHABLE`,t)}function Re(e,t,n){return e.code=t,n!==void 0&&(e.response=n),e}const ze=2147483647;function Be(e){return{abort:e.abort,signal:e.signal,timeout:e.timeout}}function Ve(e){return e!==void 0&&e.abort!==void 0&&e.timeout!==void 0}function He(e){if(e.aborted)return Ue(e)}function Ue(e){let t=e.reason;return t===z||t instanceof Error&&t.name===`TimeoutError`?z:ke}function We(){return B(`REQ_OPTIONS_INVALID`,/* @__PURE__ */ Error(`abort and timeout cannot be used together`))}function Ge(e){if(e.aborted)return Ke(e)}function Ke(e){return V(Ue(e))}function qe(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<=0||e>ze))throw RangeError(`Request timeout must be a positive safe integer no greater than ${ze}`)}async function H(e,t){t.throwIfAborted();let n,r=new Promise((e,t)=>{n=t}),i=()=>n(t.reason);t.addEventListener(`abort`,i,{once:!0});let a=Promise.resolve().then(()=>(t.throwIfAborted(),e()));a.catch(()=>void 0);try{let e=await Promise.race([a,r]);return t.throwIfAborted(),e}finally{t.removeEventListener(`abort`,i)}}function Je(e){if(typeof e!=`number`)return{expiredFault:()=>void 0,release:()=>void 0,releaseOnAbort:()=>void 0,signal:void 0};let t=Date.now(),n=new AbortController,r=!1,i,a=setTimeout(()=>{n.abort(z)},e),o=()=>{r||(r=!0,clearTimeout(a),i?.removeEventListener(`abort`,o))};return{release:o,releaseOnAbort(e){i=e,e.addEventListener(`abort`,o,{once:!0})},signal:n.signal,expiredFault(){if(!(r||Date.now()-t<e))return n.abort(z),Ke(n.signal)}}}function U(e,t,n){return Ge(t)??e.expiredFault()??n}const Ye=/* @__PURE__ */ new WeakMap;function W(e){Ye.get(e)?.release()}function G(e,t,n){qe(n);let r=typeof n==`number`;if(!r&&t.length>0&&t.every(t=>t===void 0||t===e))return e;let i=[],a=/* @__PURE__ */ new Set,o=e=>{let t=Ye.get(e);if(t?.active)for(let e of t.sources)o(e);else a.has(e)||(a.add(e),i.push(e))};o(e);for(let e of t)e&&o(e);if(!r&&i.length===1)return i[0];let s,c=new AbortController,l=[],u,d={active:!0,release(){if(d.active){d.active=!1;for(let[e,t]of l)e.removeEventListener(`abort`,t);s!==void 0&&clearTimeout(s)}},sources:i};Ye.set(c.signal,d),u=e=>{c.signal.aborted||(c.abort(e),d.release())},r&&(s=setTimeout(()=>{u(z)},n));let f=i.find(e=>e.aborted);if(f)return u(f.reason),c.signal;for(let e of i){let t=()=>u(e.reason);l.push([e,t]),e.addEventListener(`abort`,t,{once:!0})}return c.signal}function Xe(e){return t=>{t.endpoint=e}}function Ze(e){return t=>{t.headers=new Headers(e)}}function Qe(e){return qe(e),t=>{t.timeout=e}}function $e(...e){return t=>{t.interceptors.push(...e)}}function et(e){return t=>{t.querySerializer=e}}function tt(e){return t=>{t.http.handle=e}}function nt(e){return t=>{t.sse.handle=e}}function rt(e){return t=>{t.webSocket.handle=e}}function it(e){return t=>{t.webSocket.beforeConnect=e}}function at(e){return t=>{t.webSocket.protocols=e}}function ot(e){return t=>{t.webSocket.heartbeat=e}}function st(e){return t=>{t.webSocket.reconnect=e}}function ct(e){return t=>{t.sse.onInvalidEvent=e}}function lt(e){return t=>{t.sse.reconnect=e}}function ut(e={}){return t=>{t.xsrf={cookieName:e.cookieName??`XSRF-TOKEN`,headerName:e.headerName??`X-XSRF-TOKEN`,tokenProvider:e.tokenProvider}}}function dt(e){return t=>{t.withCredentials=e}}function ft(e){return{kind:`http`,fn:e}}function pt(e){return{kind:`sse`,fn:e}}function mt(e){return{kind:`web-socket`,fn:e}}function ht(e,t){return t(e)}function gt(e){return e.reduceRight((e,t)=>(n,r)=>t(n,t=>e(t,r)),ht)}function _t(e){return e.filter(e=>e.kind===`http`).map(e=>e.fn)}function vt(e){return e.filter(e=>e.kind===`sse`).map(e=>e.fn)}function yt(e){return e.filter(e=>e.kind===`web-socket`).map(e=>e.fn)}const bt=new TextDecoder;function xt(e){return bt.decode(e)}function St(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return xt(e)}function Ct(e){let{buffer:t,byteLength:n,byteOffset:r}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:t.slice(r,r+n)}function wt(e,t,n){switch(e){case`json`:return JSON.parse(xt(t));case`text`:return xt(t);case`blob`:return new Blob([Ct(t)],{type:n});case`arraybuffer`:return Ct(t);default:return null}}function Tt(e,t){let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Et(e){let t=e[v].kind;return t===`string`?`text`:t===`blob`||t===`file`?`blob`:t===`arrayBuffer`?`arraybuffer`:`json`}const Dt=/* @__PURE__ */ new WeakSet;function Ot(e){return typeof e==`object`&&e&&Dt.add(e),e}function kt(e){return typeof e==`object`&&!!e&&Dt.has(e)}function At(e,t){let n=t.cache.resolvedShape;if(n)return n;let r=jt(t.shape,t.cache.declaredDescriptors);for(let[e,t]of Object.entries(r))Mt(t,`object field "${e}"`);return t.cache.resolvedShape=r,r}function jt(e,t){let n=Object.create(null);for(let[r,i]of Object.entries(t))n[r]=typeof i.get==`function`?i.get.call(e):i.value;return n}function Mt(e,t){if(!C(e))throw TypeError(`${t} must be a struct`)}function Nt(e,t){return Ft(e[v],t,e)}function Pt(e,t){let n=[];for(let r of e){let e=r;Nt(e,t)&&n.push(e)}return n}function Ft(e,t,n){if(t===null){if(e.kind===`null`||e.flags.nullable)return!0;if((e.kind!==`literal`||e.value!==null)&&e.kind!==`intersection`&&e.kind!==`or`)return!1}if(t===void 0)return e.flags.optional;switch(e.kind){case`any`:case`unknown`:return!0;case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return(e.runtimeIs??e.is)(t);case`literal`:return Object.is(t,e.value);case`enum`:return te(e,t);case`array`:return Array.isArray(t)&&t.every(t=>Nt(e.item,t));case`tuple`:return Array.isArray(t)&&t.length===e.items.length&&e.items.every((e,n)=>Nt(e,t[n]));case`object`:return R(t)&&It(n,t);case`record`:return R(t)&&Object.keys(t).every(n=>Nt(e.value,t[n]));case`or`:return e.options.some(e=>Nt(e,t));case`discriminatedUnion`:{if(!R(t)||!L(t,e.discriminator))return!1;let n=e.map.get(t[e.discriminator]);return n?Nt(n,t):!1}case`intersection`:return e.options.every(e=>Nt(e,t))}}function It(e,t){let n=e[v];if(n.kind!==`object`)return!0;let r=At(e,n);for(let e in r){let n=r[e],i=n[v];if(!L(t,e)){if(Lt(i))return!1}else if(!Nt(n,t[e]))return!1}return!0}function Lt(e){return!e.flags.optional}function Rt(e,t){let n=t.cache.fields;if(n)return n;let r=t.cache.resolvedShape??At(e,t),i=Object.freeze(Object.entries(r).map(([e,t])=>{let n=t,r=n[v].alias;return Object.freeze({alias:r,key:e,struct:n,wireKey:r??e})}));return zt(i),t.cache.fields=i,i}function zt(e){let t=/* @__PURE__ */ new Map;for(let n of e){if(t.has(n.wireKey)){let e=t.get(n.wireKey);throw TypeError(`duplicate wire key "${n.wireKey}" for object fields "${e}" and "${n.key}"`)}t.set(n.wireKey,n.key)}}function Bt(e,t,n,r=I()){let i=e[v];if(i.kind!==`object`)throw TypeError(`json encode expects object struct`);for(let a of Rt(e,i)){if(!L(t,a.key))continue;let e=t[a.key];e!==void 0&&(r[a.wireKey]=n(a.struct,e))}return r}function Vt(e,t,n,r,i){return se(Ht(e,t,i),Ht(n,r,i))}function Ht(e,t,n){let r=e[v];return n.encodeObject&&r.alias&&(r.kind===`array`||r.kind===`object`)?{alias:r.alias,value:t}:t}function Ut(e,t,n){if(!L(e,t)){e[t]=n;return}let r=j(e[t],n);if(!r.ok)throw M([t,...r.path]);e[t]=r.value}function Wt(e,t,n,r){let i=e[v];if(n.encodeObject===Bt){for(let a of Rt(e,i)){if(!L(t,a.key))continue;let e=t[a.key];e!==void 0&&Ut(r,a.wireKey,K(a.struct,e,n))}return}let a=At(e,i);for(let e in a)L(t,e)&&Ut(r,e,K(a[e],t[e],n))}function Gt(e,t,n,r,i=I()){let a=At(e,t);for(let e in a)L(n,e)&&(i[e]=K(a[e],n[e],r));return i}function K(e,t,n={}){let r=e[v];if(t===null&&(r.kind===`null`||r.flags.nullable))return null;if(!(t===void 0&&r.flags.optional))switch(r.kind){case`any`:case`unknown`:case`null`:case`enum`:case`literal`:return t;case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`number`:case`string`:return r.encode?r.encode(t):t;case`array`:return Array.isArray(t)?t.map(e=>K(r.item,e,n)):t;case`tuple`:return Array.isArray(t)?t.map((e,t)=>t<r.items.length?K(r.items[t],e,n):e):t;case`record`:{if(!R(t))return t;let e=Object.create(null);for(let[i,a]of Object.entries(t))e[i]=K(r.value,a,n);return e}case`object`:return R(t)?n.encodeObject?n.encodeObject(e,t,(e,t)=>K(e,t,n)):Gt(e,r,t,n):t;case`or`:{if(!n.encodeObject&&!n.selectUnionOptions&&r.uniformIdentityEncode){for(let e of r.options){let r=e;if(Nt(r,t))return K(r,t,n)}return t}let e=(n.selectUnionOptions??Pt)(r.options,t),i=e[0];if(!i)return t;let a=K(i,t,n);for(let r=1;r<e.length;r+=1){let o=e[r];if(!Vt(i,a,o,K(o,t,n),n))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`)}return a}case`discriminatedUnion`:if(R(t)){let e=r.map.get(t[r.discriminator]);if(e)return K(e,t,n)}return t;case`intersection`:{let e=[];for(let t of r.options){let n=t;N(n)||e.push(n)}if(e.length===0)return t;if(e.length===1){let r=e[0];return K(r,t,n)}if(r.objectSides&&(!n.encodeObject||n.encodeObject===Bt)&&R(t)){let r=I();for(let i of e)Wt(i,t,n,r);return r}let i=K(e[0],t,n);for(let r=1;r<e.length;r+=1){let a=K(e[r],t,n),o=j(i,a);if(!o.ok)throw M(o.path);i=o.value}return i}}}var Kt=class extends Error{issues;constructor(e){let t=e[0]?.message;super(e.length<=1?t??`Struct parse failed`:`${e.length} struct issues: ${t}`),this.name=`StructError`,this.issues=e}format(){let e=qt();for(let t of this.issues){let n=e;for(let e of t.path){let t=Jt(e),r=n[t];if(Object.hasOwn(n,t)&&r&&!Array.isArray(r))n=r;else{let e=qt();n[t]=e,n=e}}n._errors.push(t.message)}return e}flatten(){let e=[],t=Object.create(null);for(let n of this.issues){if(n.path.length===0){e.push(n.message);continue}let r=String(n.path[0]);(t[r]??=[]).push(n.message)}return{fieldErrors:t,formErrors:e}}prettify(){return this.issues.length===0?`Struct parse failed`:this.issues.map(e=>`× ${e.path.length===0?`<root>`:oe(e.path)}: ${e.message}`).join(`
2
+ `)}};function qt(){return Object.assign(Object.create(null),{_errors:[]})}function Jt(e){let t=String(e);return t===`_errors`?`\\_errors`:t}let Yt;function Xt(){return Yt!==void 0}function Zt(e,t){let n=Yt;Yt=e;try{return t()}finally{Yt=n}}function q(e,t,n,r,i){let a={code:t,expected:n,message:i??`Expected ${n} at ${oe(e)}, received ${ce(r)}`,path:e,received:r};if(Yt){let e=Yt(a);e&&(a.message=e)}return a}function Qt(e,t,n,r=!1,i=!1){return $t(e,t,[],n,r,i)}function $t(e,t,n,r,i,a){let o=ie();try{let o=en(e,t,n,r,i,!0,a);return o===b?{issue:ie(),ok:!1}:{ok:!0,value:o}}finally{ae(o)}}function en(e,t,n,r,i,a,o){let s=e[v];if(t===void 0)return s.flags.optional?r===`field`?y:void 0:a?P(q([...n],r===`field`?`missing_key`:`invalid_type`,F(s),t)):b;if(t===null){if(s.kind===`null`||s.flags.nullable)return null;if(!(s.kind===`literal`&&s.value===null||s.kind===`intersection`||s.kind===`or`))return a?P(q([...n],`invalid_type`,F(s),t)):b}switch(s.kind){case`any`:case`unknown`:return t;case`array`:return an(s,t,n,i,a,o);case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return tn(s,t,n,a);case`enum`:return nn(s,t,n,a);case`intersection`:return dn(s,t,n,i,a,o);case`literal`:return rn(s,t,n,a);case`object`:return on(e,s,t,n,i,a,o);case`or`:return ln(s,t,n,i,a,o);case`discriminatedUnion`:return un(s,t,n,i,a,o);case`record`:return sn(e,s,t,n,i,a,o);case`tuple`:return cn(s,t,n,i,a,o)}}function tn(e,t,n,r){return e.is(t)?e.decode?e.decode(t,[...n],P):t:r?P(q([...n],`invalid_type`,e.expected,t)):b}function nn(e,t,n,r){return te(e,t)?t:r?P(q([...n],`invalid_enum`,e.expected,t)):b}function rn(e,t,n,r){return Object.is(t,e.value)?t:r?P(q([...n],`invalid_literal`,e.expected,t)):b}function an(e,t,n,r,i,a){if(!Array.isArray(t))return i?P(q([...n],`invalid_type`,`array`,t)):b;let o=e.item,s=[];for(let e=0;e<t.length;e+=1){n.push(e);let c=en(o,t[e],n,`value`,r,i,a);if(c===b)return b;n.pop(),s.push(c)}return s}function on(e,t,n,r,i,a,o,s,c,l){if(!R(n))return a?P(q([...r],`invalid_type`,`object`,n)):b;let u=l??I(),d=Rt(e,t);for(let e=0;e<d.length;e+=1){let t=d[e],f=i?t.wireKey:t.key,p=s===f?c:L(n,f)?n[f]:void 0;r.push(t.key);let m=en(t.struct,p,r,`field`,i,a,o);if(m===b)return b;if(r.pop(),m!==y){if(l!==void 0&&L(u,t.key)){let e=j(u[t.key],m,o);if(!e.ok)return a?P(q([...r,t.key,...e.path],`invalid_intersection`,`compatible intersection value`,e.received)):b;u[t.key]=e.value}else u[t.key]=m}}return o&&!l&&A(u,e),u}function sn(e,t,n,r,i,a,o){if(!R(n))return a?P(q([...r],`invalid_type`,`record`,n)):b;let s=t.value,c=Object.create(null);for(let e of Object.keys(n)){r.push(e);let t=en(s,n[e],r,`field`,i,a,o);if(t===b)return b;r.pop(),t!==y&&(c[e]=t)}return o&&A(c,e),c}function cn(e,t,n,r,i,a){if(!Array.isArray(t)||t.length!==e.items.length)return i?P(q([...n],`invalid_type`,`tuple of length ${e.items.length}`,t)):b;let o=[];for(let s=0;s<e.items.length;s+=1){n.push(s);let c=en(e.items[s],t[s],n,`value`,r,i,a);if(c===b)return b;n.pop(),o.push(c)}return o}function ln(e,t,n,r,i,a){let o=i&&Xt(),s=n.length;for(let i of e.options){let e=en(i,t,n,`value`,r,o,a);if(e!==b)return e;n.length=s}return i?P(q([...n],`invalid_union`,e.expected,t)):b}function un(e,t,n,r,i,a){if(!R(t))return i?P(q([...n],`invalid_type`,`object`,t)):b;if(!r){let r=L(t,e.discriminator)?t[e.discriminator]:void 0;if(r===void 0)return i?P(q([...n,e.discriminator],`missing_key`,e.expected,void 0)):b;let o=e.map.get(r);if(!o)return i?P(q([...n,e.discriminator],`invalid_union`,e.expected,r)):b;let s=o;return on(s,s[v],t,n,!1,i,a,e.discriminator,r)}for(let r of e.discriminatorWireKeys??[]){if(!L(t,r))continue;let o=t[r];if(o===void 0)return i?P(q([...n,e.discriminator],`missing_key`,e.expected,void 0)):b;let s=e.map.get(o);return!s||e.wireKeyByValue?.get(o)!==r?i?P(q([...n,e.discriminator],`invalid_union`,e.expected,o)):b:on(s,s[v],t,n,!0,i,a,r,o)}return i?P(q([...n,e.discriminator],`missing_key`,e.expected,void 0)):b}function dn(e,t,n,r,i,a){if(e.objectSides&&R(t)){let o=I();for(let s of e.options){let e=s;if(on(e,e[v],t,n,r,i,a,void 0,void 0,o)===b)return b}return a&&A(o,E(e.options)),o}let o=[];for(let s of e.options){let e=s,c=en(e,t,n,`value`,r,i,a);if(c===b)return b;N(e)||o.push(c)}if(o.length===0)return t;let s=o[0];for(let e=1;e<o.length;e+=1){let t=j(s,o[e],a);if(!t.ok)return i?P(q([...n,...t.path],`invalid_intersection`,`compatible intersection value`,t.received)):b;s=t.value}return a&&fn(e,t,s),s}function fn(e,t,n){let r=[];for(let n of e.options){let e=n;if(N(e))continue;let i=mn(e,t);i&&r.push(i)}if(r.length!==0){if(R(n))pn(n,r);else if(Array.isArray(n))for(let e of n)R(e)&&pn(e,r)}}function pn(e,t){let n=k(e),r=E([...n?D(n):[],...t]);
3
+ /* istanbul ignore if -- @preserve guideTag returns a tag whenever at least one passthrough guide is present */
4
+ r&&ee(e,r)}function mn(e,t){let n=e[v];if(n.kind===`or`){let e=Pt(n.options,t)[0];if(!e)return;let r=e[v].kind;return r===`any`||r===`unknown`?e:void 0}if(n.kind===`array`&&Array.isArray(t)){let e=n.item,t=e[v].kind;return t===`any`||t===`unknown`?e:void 0}}function hn(e){return C(e)&&e[v].kind===`object`}function gn(e,t,n){Mt(e,`struct`);let r=e;return Zt(n?.errorMap,()=>{let e=Qt(r,t,`value`,n?.aliases===!0);return e.ok?[null,e.value]:[new Kt([e.issue]),void 0]})}function _n(e,t,n){Mt(e,`struct`);let r=Qt(e,t,`value`,n?.useAliases,n?.tagObjects===!0);if(!r.ok)throw new Kt([r.issue]);return r.value}async function vn(e,t){return e?_n(e,t,{tagObjects:!0}):t}const yn={encodeObject:Bt};function bn(e,t,n=`json`){let r=e[v];if(t===null&&r.flags.nullable)return null;if(!(t===void 0&&r.flags.optional))return hn(e)?(Sn(t,`${n} encode expects object value`),Bt(e,t,(e,t)=>Cn(e,t,n))):Cn(e,t,n)}function xn(e,t){return _n(e,t,{useAliases:!0})}function Sn(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(t)}function Cn(e,t,n){return hn(e)?bn(e,t,n):K(e,t,yn)}function wn(e,t){return bn(e,t,`json`)}function Tn(e,t){return xn(e,t)}function En(e){return typeof Blob<`u`&&e instanceof Blob}function Dn(e){return typeof FormData<`u`&&e instanceof FormData}function On(e){return typeof URLSearchParams<`u`&&e instanceof URLSearchParams}function kn(e){return typeof ReadableStream<`u`&&e instanceof ReadableStream}function An(e){switch(!0){case Dn(e):case En(e):case e instanceof ArrayBuffer:case On(e):case kn(e):case typeof e==`string`:return e;case ArrayBuffer.isView(e):return e;case typeof e==`object`:case typeof e==`boolean`:case typeof e==`number`:case Array.isArray(e):return JSON.stringify(e);default:return null}}function jn(e,t){let n=e.body;if(n===void 0)return;if(Dn(n)){t.delete(`Content-Type`);return}let r=Object.hasOwn(e,`bodyContentTypeSource`),i=!r||e.bodyContentTypeSource===n?e.bodyContentType:void 0;if(i===null){t.delete(`Content-Type`);return}if(typeof i==`string`){t.set(`Content-Type`,i);return}if(r&&e.bodyContentTypeSource===n&&t.has(`content-type`))return;let a=Mn(n);a&&t.set(`Content-Type`,a)}function Mn(e){switch(!0){case Dn(e):return null;case e instanceof ArrayBuffer:case ArrayBuffer.isView(e):return`application/octet-stream`;case En(e):return e.type||`application/octet-stream`;case On(e):return`application/x-www-form-urlencoded;charset=UTF-8`;case kn(e):return`application/octet-stream`;case typeof e==`string`:return`text/plain;charset=UTF-8`;case e===null:case typeof e==`object`&&!!e:case typeof e==`number`:case typeof e==`boolean`:return`application/json`;default:return null}}function Nn(e,t){if(!t)return e===void 0?{}:e;let n=t(e);return n===void 0?{}:n}function Pn(e,t){if(!R(e))throw TypeError(`builder must return an object`);if(t===`webSocket`){if(e.headers!==void 0)throw TypeError(`WebSocket request does not support headers`);if(e.body!==void 0)throw TypeError(`WebSocket request does not support body`)}let n={};if(e.path!==void 0&&(n.params=Wn(e.path)),e.query!==void 0&&(n.query=Gn(e.query)),e.headers!==void 0&&(n.headers=Kn(e.headers)),e.body!==void 0){let t=qn(e.body);n.body=t.body,t.defaultContentType&&(n.defaultContentType=t.defaultContentType)}return n}const Fn=/* @__PURE__ */ new Set([`any`,`arrayBuffer`,`bigint`,`blob`,`boolean`,`date`,`enum`,`file`,`literal`,`null`,`number`,`string`,`unknown`]);function In(e){return J(e,void 0)}function J(e,t,n=[]){if(t!==void 0&&!T(t)&&Zn(t)&&(!R(e)||k(e)))return e;if(R(e)){let r=k(e);if(r)return Rn(e,t===void 0?r:Ln(r,t,e,n),n)}return T(t)?Bn(e,t.members,n):t?.[v].kind===`intersection`?zn(e,t,n):t?.[v].kind===`or`?pr(e,t,n):Array.isArray(e)?sr(e,t,n):R(e)?lr(e,t,n):ur(e,t)}function Ln(e,t,n,r){let i=Vn(D(t),n,r,!0),a=[];for(let t of D(e))i.includes(t)&&a.push(t);return a.length===0?e:E(a)}function Rn(e,t,n){return T(t)?Bn(e,t.members,n):Xn(e,t,n)}function zn(e,t,n){let r=t[v];return r.objectSides&&R(e)?Bn(e,r.options,n):Array.isArray(e)?Bn(e,[t],n):J(e,void 0,n)}function Bn(e,t,n){let r=Vn(t,e,n,Array.isArray(e));return Array.isArray(e)?cr(e,r,n):R(e)?tr(e,r,n):Un(e,r)}function Vn(e,t,n,r){let i=[];for(let a of e)Hn(a,t,n,i,r);return i}function Hn(e,t,n,r,i){let a=e[v];switch(a.kind){case`or`:{let e=Pt(a.options,t),o=e[0];if(!o)return;if(e.length>1){let r=J(t,o,n);for(let i=1;i<e.length;i+=1)if(!se(r,J(t,e[i],n)))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`)}Hn(o,t,n,r,i);return}case`discriminatedUnion`:{if(!R(t))return;let e=a.map.get(t[a.discriminator]);e&&Hn(e,t,n,r,i);return}case`intersection`:if(a.objectSides||i)for(let e of a.options){let a=e;i&&N(a)||Hn(a,t,n,r,i)}return;default:r.push(e)}}function Un(e,t){if(e!==void 0){if(e===null){for(let n of t){let t=n[v];if(t.kind===`null`||t.flags.nullable||Fn.has(t.kind))return ur(e,n)}return null}for(let n of t)if(Fn.has(n[v].kind))return ur(e,n);return dr(e)}}function Wn(e){let t=In(e);if(!R(t))throw TypeError(`path value must be an object`);let n=Object.create(null);for(let[e,r]of Object.entries(t)){if(r===null)throw TypeError(`path value for "${e}" must not be null`);if(typeof r==`object`)throw TypeError(`path value for "${e}" must be a scalar`);n[e]=String(r)}return n}function Gn(e){if(On(e))return e;let t=In(e);if(!R(t))throw TypeError(`query value must be an object or URLSearchParams`);return gr(t,`query`),t}function Kn(e){if(typeof Headers<`u`&&e instanceof Headers||Array.isArray(e))return e;let t=In(e);if(!R(t))throw TypeError(`headers value must be a header record or HeadersInit`);for(let[e,n]of Object.entries(t))vr(n,e);return t}function qn(e){let t=yr(e);if(t&&R(e))return{body:Jn(e,t)};if(Dn(e)||On(e)||En(e)||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||kn(e)||typeof e==`string`)return{body:e};let n=In(e);return{body:JSON.stringify(n),defaultContentType:`application/json`}}function Jn(e,t){let n=In(e);if(t===`formData`){let e=new FormData;for(let[r,i]of Object.entries(n))Yn(e,r,i,t);return e}let r=new URLSearchParams;for(let[e,i]of Object.entries(n))Yn(r,e,i,t);return r}function Yn(e,t,n,r){if(n!==void 0){if(Array.isArray(n))for(let i of n)Yn(e,t,i,r);else if(r===`formData`&&typeof Blob<`u`&&n instanceof Blob)e.append(t,n);else if(n===null||typeof n==`string`||typeof n==`number`||typeof n==`boolean`)e.append(t,String(n));else throw TypeError(`${r} field "${t}" does not support nested values`)}}function Xn(e,t,n){return tr(e,[t],n)}function Zn(e){let t=e[v].kind;return t===`any`||t===`unknown`}const Qn=/* @__PURE__ */ new WeakMap;function $n(e){let t=Qn.get(e);return t||(t={fieldKeys:new Set(e.map(e=>e.key)),wireKeys:new Set(e.map(e=>e.wireKey))},Qn.set(e,t)),t}function er(e,t,n){let r=Rt(t,t[v]),i=I();for(let t of r){if(!Object.hasOwn(e,t.key))continue;let r=e[t.key];r!==void 0&&(i[t.wireKey]=J(r,t.struct,[...n,t.key]))}let{fieldKeys:a,wireKeys:o}=$n(r);for(let t of Object.keys(e)){if(a.has(t))continue;if(o.has(t))throw TypeError(`wire key collision for "${t}"`);let r=e[t];r!==void 0&&(i[t]=J(r,void 0,[...n,t]))}return i}function tr(e,t,n){if(t.length===1&&t[0][v].kind===`object`)return er(e,t[0],n);let r=[],i=[],a=[];for(let e of t){let t=e[v].kind;t===`object`?r.push(e):t===`record`?i.push(e):Zn(e)&&a.push(e)}let o=I(),s=/* @__PURE__ */ new Set,c=/* @__PURE__ */ new Set,l=/* @__PURE__ */ new Map,u=[];for(let e of r)for(let t of Rt(e,e[v]))s.add(t.key),c.add(t.wireKey),rr(l,u,t.key,t.wireKey,t.struct);let d=i.map(e=>e[v].value),f=i.length>0?ar(e,u):u;if(i.length>0)for(let e of f)for(let t of d)rr(l,u,e,e,t);for(let t of f){if(!Object.hasOwn(e,t))continue;let r=e[t];r!==void 0&&ir(o,r,l.get(t),[...n,t])}if(i.length>0||a.length>0)return nr(o,e,a,n);for(let t of Object.keys(e)){if(s.has(t))continue;if(c.has(t))throw TypeError(`wire key collision for "${t}"`);let r=e[t];r!==void 0&&(o[t]=J(r,void 0,[...n,t]))}return o}function nr(e,t,n,r){let i=e;for(let e of n){let n=J(t,e,r),a=j(i,n);if(!a.ok)throw M([...r,...a.path]);i=a.value}return i}function rr(e,t,n,r,i){let a=e.get(n);a||(a=[],e.set(n,a),t.push(n));let o=Zn(i),s=a.find(e=>e.wire===r&&e.passthrough===o);s||(s={passthrough:o,structs:[],wire:r},a.push(s)),s.structs.push(i)}function ir(e,t,n,r){for(let i of n){let n=i.passthrough?i.structs[0]:E(i.structs);or(e,i.wire,J(t,n,r))}}function ar(e,t){let n=[],r=/* @__PURE__ */ new Set;for(let i of t)Object.hasOwn(e,i)&&(n.push(i),r.add(i));for(let t of Object.keys(e))r.has(t)||n.push(t);return n}function or(e,t,n){if(!Object.hasOwn(e,t)){e[t]=n;return}let r=j(e[t],n);if(!r.ok)throw M([t,...r.path]);e[t]=r.value}function sr(e,t,n){let r=t?fr(t,e):void 0;if(r?.kind===`array`){let t=r.item;return e.map((e,r)=>J(e,t,[...n,r]))}if(r?.kind===`tuple`){let t=r.items;return e.map((e,r)=>J(e,r<t.length?t[r]:void 0,[...n,r]))}return e.map((e,t)=>J(e,void 0,[...n,t]))}function cr(e,t,n){return e.map((e,r)=>{let i=[],a=[];for(let e of t){let t=e[v],n;t.kind===`array`?n=t.item:t.kind===`tuple`&&r<t.items.length&&(n=t.items[r]),n&&(Zn(n)?a.push(n):i.push(n))}let o=[...n,r],s=J(e,E(i),o);for(let t of a){let n=J(e,t,o),r=j(s,n);if(!r.ok)throw M([...o,...r.path]);s=r.value}return s})}function lr(e,t,n){let r=t?fr(t,e):void 0;return r?.kind===`object`?Xn(e,r.struct,n):r?.kind===`record`?mr(r.valueStruct,e,n):hr(e,n)}function ur(e,t){return dr(t&&Fn.has(t[v].kind)?K(t,e):e)}function dr(e){return e instanceof Date?e.toISOString():typeof e==`bigint`?e.toString():e}function fr(e,t){let n=e[v];switch(n.kind){case`object`:return{kind:`object`,struct:e};case`record`:return{kind:`record`,valueStruct:n.value};case`array`:return{kind:`array`,item:n.item};case`tuple`:return{kind:`tuple`,items:n.items};case`discriminatedUnion`:{if(!R(t))return;let e=n.map.get(t[n.discriminator]);return e?{kind:`object`,struct:e}:void 0}default:return}}function pr(e,t,n){let r=Pt(t[v].options,e),i=r[0];if(!i)return J(e,void 0,n);let a=J(e,i,n);for(let t=1;t<r.length;t+=1)if(!se(a,J(e,r[t],n)))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`);return a}function mr(e,t,n){let r=Object.create(null);for(let[i,a]of Object.entries(t))r[i]=J(a,e,[...n,i]);return r}function hr(e,t){let n=I();for(let r of Object.keys(e)){let i=e[r];i!==void 0&&(n[r]=J(i,void 0,[...t,r]))}return n}function gr(e,t){for(let[n,r]of Object.entries(e))_r(r,n,t)}function _r(e,t,n){if(e===null)throw TypeError(`${n} value for "${t}" must not be null`);if(Array.isArray(e))for(let r of e)_r(r,t,n);else R(e)&&gr(e,n)}function vr(e,t){if(e===null)throw TypeError(`header value for "${t}" must not be null`);if(Array.isArray(e))for(let n of e)vr(n,t);else if(typeof e==`object`&&e)throw TypeError(`header value for "${t}" must be a scalar`)}function yr(e){if(!R(e))return;let t=br(e);if(!C(t))return;let n=t[v];if(n.kind===`object`)return n.codec}function br(e){return e[x]}function xr(e,t,n,r,i){let a=Pn(Nn(n,r),i.transport);if(a.body!==void 0&&(e.toUpperCase()===`GET`||e.toUpperCase()===`HEAD`))throw TypeError(`GET/HEAD requests cannot have a body`);let{queryParams:o,queryString:s}=me(a.query,i.querySerializer),c=i.defaultHeaders?new Headers(i.defaultHeaders):new Headers;he(c,a.headers),a.defaultContentType&&!c.has(`content-type`)&&c.set(`content-type`,a.defaultContentType);let l={abort:i.abort,baseEndpoint:i.baseEndpoint,body:a.body,bodyContentTypeSource:a.body,endpoint:de(t,a.params),headers:c,method:e,operation:i.operation,queryParams:o,queryString:s,timeout:i.timeout,withCredentials:i.withCredentials??!1};return jn(l,c),l}function Sr(e,t,n,r,i){return{...xr(e,t,n,r,{abort:i.abort,baseEndpoint:i.baseEndpoint,defaultHeaders:i.defaultHeaders,operation:i.operation,querySerializer:i.querySerializer,timeout:i.timeout,transport:`http`,withCredentials:i.withCredentials}),downloadProgress:i.downloadProgress,errorResponseType:i.errorResponseType,responseType:i.responseType,uploadProgress:i.uploadProgress,xsrf:i.xsrf}}var Cr=class extends Error{code;meta;constructor(e,t,n){super(Me(t),{cause:t}),this.code=e,this.meta=n,Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:`BodyFailure`,writable:!0})}};function wr(e){return e instanceof Cr}async function Tr(e,t,n){return t?H(()=>{let r=e();return r.then(e=>{t.aborted&&e.body&&n(e.body,t)}).catch(()=>void 0),r},t):e()}const Er=/* @__PURE__ */ Error(`ERR_STREAMING_REQUEST_UNSUPPORTED`);function Dr(e){return kn(e)}let Or;function kr(){if(Or!==void 0)return Or;if(typeof Request!=`function`||typeof ReadableStream>`u`)return Or=!1,Or;try{let e=new ReadableStream({start(e){e.close()}});return Or=new Request(`https://example.com`,{body:e,duplex:`half`,method:`POST`}).body!==null,Or}catch{return Or=!1,Or}}function Ar(e,t){let{headers:n}=t;n.has(`Accept`)||n.set(`Accept`,t.defaultAccept);let r=e.withCredentials?`include`:void 0,i=An(e.body),a={body:i,credentials:r,headers:n,method:e.method,signal:t.signal};if(Dr(i)){if(!kr())throw t.streamingRequestUnsupportedError;i=t.wrapReadableStreamBody?.(i)??i,a.body=i,a.duplex=`half`}return a}const jr=/^\s*([\w!#$%&'*+.^`|~-]+)\/([\w!#$%&'*+.^`|~-]+)\s*(?:;|$)/i;function Mr(e){let t=e.match(jr);if(t)return t[1].toLowerCase()+`/`+t[2].toLowerCase()}function Nr(e){let t=e.trimStart(),n=e.length-t.length,r=Fr(e,n);if(!r||e[r.position]!==`/`)return{position:r?.position??n};n=r.position+1;let i=Fr(e,n);if(!i)return{position:n};n=i.position;let a=n;for(;e[a]===` `||e[a]===` `;)a+=1;for(;a<e.length&&e[a]?.trim()===``;)a+=1;return a<e.length&&e[a]!==`;`?{position:n}:{essence:`${r.value.toLowerCase()}/${i.value.toLowerCase()}`,position:n}}function Pr(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===33||e===35||e===36||e===37||e===38||e===39||e===42||e===43||e===45||e===46||e===94||e===95||e===96||e===124||e===126}function Fr(e,t){let n=t;for(;t<e.length&&Pr(e.charCodeAt(t));)t+=1;return t>n?{value:e.slice(n,t),position:t}:void 0}function Ir(e){let t=e.get(`Content-Length`);if(!t)return 0;let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?n:0}function Lr(e){return e.get(`Content-Type`)||``}function Rr(e){let t=Mr(e);if(!t)return!1;let n=t.indexOf(`/`),r=t.slice(n+1);if(t===`application/json`)return!0;let i=r.lastIndexOf(`+`);return i>0&&r.slice(i+1)===`json`}const zr=/* @__PURE__ */ new Set([`GET`,`HEAD`,`OPTIONS`,`TRACE`]);function Br(e){return zr.has(e.toUpperCase())}function Vr(){return typeof document<`u`&&typeof location<`u`}function Hr(e){try{let t=document.cookie;if(t===``)return;for(let n of t.split(`;`)){let[t,...r]=n.trim().split(`=`);if(t===e)return decodeURIComponent(r.join(`=`))}}catch{return}}function Ur(e){return e.baseEndpoint?!Vr()||_e(e).origin===location.origin:!1}function Wr(e){if(typeof e==`string`&&e!==``)return e}function Gr(e,t){if(t.tokenProvider)return Wr(t.tokenProvider({request:e}));if(Vr())return Wr(Hr(t.cookieName))}function Kr(e,t){let n=e.xsrf;if(!n||Br(e.method)||t.has(n.headerName)||!Ur(e))return;let r=Gr(e,n);r!==void 0&&t.set(n.headerName,r)}function qr(e,t,n,r){let i=e.getReader(),a=!1,o=0,s=()=>c(!0,r?.reason);function c(e,t){if(!a){a=!0,r?.removeEventListener(`abort`,s);try{e&&i.cancel(t).catch(()=>void 0)}finally{i.releaseLock()}}}let l=new ReadableStream({cancel(e){c(!0,e)},async pull(e){try{let{done:s,value:l}=await i.read();if(a)return;if(s){c(!1),e.close();return}o+=l.byteLength;let u={lengthComputable:n>0,loaded:o,total:n};if(await(r?H(()=>t(u),r):t(u)),a)return;e.enqueue(l)}catch(t){c(!0,t),e.error(t)}}});return r&&(r.addEventListener(`abort`,s,{once:!0}),r.aborted&&s()),l}function Jr(e,t,n){e.uploadProgress&&Dr(e.body)&&Dr(t)&&t.cancel(n).catch(()=>void 0)}function Yr(e,t){e.cancel(t.reason).catch(()=>void 0)}function Xr(e){let t=new Headers(e.headers),n=e.uploadProgress;return jn(e,t),Kr(e,t),Ar(e,{defaultAccept:`application/json, text/plain, */*`,headers:t,signal:e.abort,streamingRequestUnsupportedError:Er,wrapReadableStreamBody:n?r=>qr(r,n,Ir(t),e.abort):void 0})}function Zr(e){let t=_e(e),n=Xr(e);try{return new Request(t,n)}catch(t){throw Jr(e,n.body,t),t}}function Qr(e){e.cancel().catch(()=>void 0)}async function $r(e,t,n){try{return new Uint8Array(await(t?H(()=>e.arrayBuffer(),t):e.arrayBuffer()))}catch(e){throw t?.aborted?e:new Cr(`NET_BODY_INCOMPLETE`,e,n)}}async function ei(e,t,n,r){let i=e.downloadProgress,{headers:a,status:o,statusText:s}=t,c=t.url||n,l=o>=200&&o<300?e.responseType:e.errorResponseType;if(t.body&&l===void 0)return Qr(t.body),Ee({status:o,statusText:s,headers:a,url:c});let u=Ir(a),d=Lr(a),f={headers:a,ok:o>=200&&o<300,status:o,statusText:s,url:c},p;if(t.body&&l===`json`&&!Rr(d))throw Qr(t.body),new Cr(`RES_MEDIA_TYPE_INVALID`,/* @__PURE__ */ TypeError(`Expected a JSON media type, received ${d||`<none>`}`),f);if(t.body&&r&&!i){let n=await $r(t,e.abort,f);try{p=wt(l,n,d)}catch(e){throw new Cr(`RES_DECODE_FAILED`,e,f)}}else if(t.body){let n=[],r=t.body.getReader(),a=e.abort,o=()=>void r.cancel(a?.reason).catch(()=>void 0);a?.addEventListener(`abort`,o,{once:!0});let s=0;try{for(;;){a?.throwIfAborted();let e=await r.read();if(a?.throwIfAborted(),e.done)break;if(n.push(e.value),s+=e.value.byteLength,i){let e={lengthComputable:u>0,loaded:s,total:u};try{await(a?H(()=>i(e),a):i(e))}catch(e){throw new Cr(`EXT_OBSERVER_FAILED`,e,f)}}}}catch(e){throw r.cancel(wr(e)?e.cause:e).catch(()=>void 0),a?.aborted||wr(e)?e:new Cr(`NET_BODY_INCOMPLETE`,e,f)}finally{a?.removeEventListener(`abort`,o),r.releaseLock()}try{p=wt(l,Tt(n,s),d)}catch(e){throw new Cr(`RES_DECODE_FAILED`,e,f)}}return Ee({status:o,statusText:s,headers:a,url:c,body:p})}async function ti(e,t=d()){let n=e.abort,r=t===u,i=e,a,o,s=``,c;try{if(i=await ni(e),r){let e=_e(i),r=Xr(i);o=r.body,s=e.href,c=await Tr(()=>t(e,r),n,Yr)}else{let e=Zr(i);a=e,s=e.url,c=await Tr(()=>t(e),n,Yr)}}catch(e){throw Jr(i,a?.body??o,e),(n&&He(n))??e}try{return await ei(e,c,s,r)}catch(e){throw(n&&He(n))??e}}async function ni(e){let{uploadProgress:t,body:n}=e;if(!t||n==null||Dr(n)||!kr())return e;let r=await ri(n);if(!r)return e;let i=new Headers(e.headers);r.contentType&&i.set(`Content-Type`,r.contentType),r.total>0&&i.set(`Content-Length`,String(r.total));let a={lengthComputable:r.total>0,loaded:0,total:r.total};try{e.abort?await H(()=>t(a),e.abort):await t(a)}catch(e){throw r.stream.cancel(e),e}return{...e,body:r.stream,bodyContentType:r.contentType??e.bodyContentType,bodyContentTypeSource:r.stream,headers:i}}async function ri(e){if(typeof Blob<`u`&&e instanceof Blob)return{contentType:e.type||void 0,stream:e.stream(),total:e.size};if(e instanceof ArrayBuffer)return{contentType:`application/octet-stream`,stream:new Blob([e]).stream(),total:e.byteLength};if(typeof FormData<`u`&&e instanceof FormData){let t=new Response(e),n=await t.blob();return{contentType:t.headers.get(`Content-Type`),stream:n.stream(),total:n.size}}}function ii(n){let r={...n};function a(n){return{[i]:ai,[e]:t,definition:r,input:n}}return(e=>a(e))}async function ai(e,t,n){let{definition:r,input:i}=t,a=n??{},o=e=>[e,void 0,void 0],s;try{s=Be({abort:a.abort,signal:a.signal,timeout:a.timeout===void 0?e.timeout:a.timeout})}catch(e){return o(B(`REQ_OPTIONS_INVALID`,e))}if(Ve(a))return o(We());try{qe(s.timeout)}catch(e){return o(B(`REQ_OPTIONS_INVALID`,e))}let c=new AbortController,l=[s.abort,s.signal].find(e=>e?.aborted);if(l)return o(Ke(l));let u=Je(s.timeout),d=s.abort===void 0&&s.signal===void 0&&u.signal?u.signal:G(c.signal,[s.abort,s.signal,u.signal]);u.releaseOnAbort(d);let f=e=>(u.release(),W(d),o(e)),p=r.output?Et(r.output):void 0,m=r.error?Et(r.error):void 0,h;try{h=await vn(r.input,i)}catch(e){return f(U(u,d,B(`REQ_INPUT_INVALID`,e)))}let g=U(u,d);if(g)return f(g);let _;try{_=Sr(r.method,r.path,h,r.builder,{abort:d,baseEndpoint:e.endpoint,defaultHeaders:e.headers,downloadProgress:a.onDownloadProgress,errorResponseType:m,operation:r.operation,querySerializer:e.querySerializer,responseType:p,timeout:s.timeout,uploadProgress:a.onUploadProgress,withCredentials:e.withCredentials,xsrf:e.xsrf})}catch(e){return f(U(u,d,B(`REQ_BUILD_FAILED`,e)))}let v=U(u,d);if(v)return f(v);let y=u.release,b=new AbortController,x=!1,S,C,w=t=>{if(x){let e=Promise.reject(/* @__PURE__ */ Error(`HTTP interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}let n=t.abort===void 0||t.abort===d?b.signal:G(b.signal,[t.abort]);if(U(u,n)){let e=Promise.reject(Ot(He(n)));return W(n),e.catch(()=>void 0),e}let r=ti({...t,abort:n},e.http.handle).catch(e=>{throw Ot(He(n)??e)}).finally(()=>{W(n)});return S=r,r},T=()=>{b.signal.aborted||b.abort(d.reason)};try{try{let t=gt(_t(e.interceptors));d.aborted?T():d.addEventListener(`abort`,T,{once:!0});let n=t(_,w);n.catch(()=>void 0),C=await H(()=>n,d)}catch(e){let t=kt(e),n=Ge(d);if(n)return T(),S&&await Promise.allSettled([S]),o(n);if(wr(e))return o(ui(e));let r=V(e);return r.code===`NET_UNREACHABLE`?o(t?r:B(`EXT_INTERCEPTOR_FAILED`,e)):o(r)}}finally{d.removeEventListener(`abort`,T),x=!0,b.signal.aborted||b.abort(/* @__PURE__ */ Error(`HTTP interceptor chain settled`)),C||(y(),W(d))}let E=C,D=oi(E),O=E.ok?r.output:r.error;if(!O){let e=U(u,d);return y(),W(d),e?o(e):E.ok?[null,void 0,D]:o(Ie(D))}let k;try{k=await li(O,E,d);let e=U(u,d);if(e)return o(e)}catch(e){let t=U(u,d);return t?o(t):e instanceof si?o(Le(`RES_MEDIA_TYPE_INVALID`,e,D)):e instanceof Kt?o(Le(`RES_STRUCT_MISMATCH`,e,D)):o(Le(`RES_DECODE_FAILED`,e,D))}finally{y(),W(d)}let A={...D,body:k};return E.ok?[null,k,A]:o(Fe(A))}function oi(e){return{headers:e.headers,ok:e.ok,status:e.status,statusText:e.statusText,url:e.url}}var si=class extends TypeError{constructor(e){super(`Expected a JSON media type, received ${e||`<none>`}`),this.name=`TypeError`}};function ci(e){return e.body===void 0}async function li(e,t,n){let r=Et(e),i=ci(t),a=Lr(t.headers);if(!i&&r===`json`&&!Rr(a))throw new si(a);if(i){if(r===`text`)return _n(e,``);throw TypeError(`Response body is absent`)}return typeof Blob<`u`&&t.body instanceof Blob?await H(()=>di(e,t.body),n):(n.throwIfAborted(),await di(e,t.body))}function ui(e){let{cause:t,code:n,meta:r}=e;return n===`RES_DECODE_FAILED`||n===`RES_MEDIA_TYPE_INVALID`?Le(n,t,r):B(n,t,r)}async function di(e,t){let n=Et(e);if(n===`json`){if(typeof t==`string`)return Tn(e,t);let n=await fi(t);return Tn(e,n===void 0?t:JSON.parse(n))}return n===`text`?_n(e,await fi(t)??t):_n(e,t)}function fi(e){return St(e)??(typeof Blob<`u`&&e instanceof Blob?e.text():void 0)}function pi(e,t){let n=t?.encode;if(!n){let e=globalThis.btoa;if(typeof e!=`function`)throw Error(`BasicAuthInterceptor is not supported in this environment`);n=t=>e(`${t.username}:${t.password}`)}return t=>{let r=new Headers(t.headers);return r.set(`Authorization`,`Basic ${n(e())}`),{...t,headers:r}}}function mi(e,t){let n=pi(e,t);return ft((e,t)=>t(n(e)))}function hi(e,t){let n=pi(e,t);return pt((e,t)=>t(n(e)))}const gi=/^(?:[ \t]*;[ \t]*[!#$%&'*+\-.^_`|~0-9A-Za-z]+[ \t]*=[ \t]*(?:"(?:[\t\x20\x21\x23-\x5B\x5D-\x7E\x80-\uFFFF]|\\[\t\x20\x21-\x7E\x80-\uFFFF])*"|[!#$%&'*+\-.^_`|~0-9A-Za-z]+))*[ \t]*$/;function _i(e){let t=Nr(e);return!!t.essence&&e.trimStart()===e&&gi.test(e.slice(t.position))}const vi=Symbol(`NO_ERROR`);var yi=class{values=[];waiting=[];maxSize;done=!1;error=vi;iteratorClaimed=!1;constructor(e){if(!Number.isSafeInteger(e.maxSize)||e.maxSize<1)throw TypeError(`AsyncQueue maxSize must be a positive safe integer`);this.maxSize=e.maxSize}push(e){if(this.done)return;let t=this.waiting.shift();if(t)t.resolve({done:!1,value:e});else{if(this.values.length>=this.maxSize)throw Error(`AsyncQueue overflow`);this.values.push(e)}}close(){if(!this.done)for(this.done=!0;this.waiting.length>0;)this.waiting.shift()?.resolve({done:!0,value:void 0})}fail(e){if(!this.done)for(this.done=!0,this.error=e,this.values.length=0;this.waiting.length>0;)this.waiting.shift()?.reject(e)}[Symbol.asyncIterator](){if(this.iteratorClaimed)throw TypeError(`AsyncQueue supports one consumer`);return this.iteratorClaimed=!0,{next:()=>this.values.length>0?Promise.resolve({done:!1,value:this.values.shift()}):this.error===vi?this.done?Promise.resolve({done:!0,value:void 0}):new Promise((e,t)=>{this.waiting.push({resolve:e,reject:t})}):Promise.reject(this.error)}}};const bi=2147483647;function xi(e,t){let n=Math.min(e.delayMs*e.factor**Math.max(0,t-1),e.maxDelayMs),r=e.jitter<=0?n:Math.max(0,Math.round(n*(1+(Math.random()*2-1)*e.jitter)));if(!Number.isFinite(r))throw RangeError(`Reconnect delay must be finite`);return Math.min(r,bi)}async function Si(e,t){if(!Number.isFinite(e))throw RangeError(`Reconnect delay must be finite`);if(e<=0)return;let n=Math.min(e,bi);await new Promise((e,r)=>{let i=setTimeout(()=>{t.removeEventListener(`abort`,a),e()},n),a=()=>{clearTimeout(i),t.removeEventListener(`abort`,a),r(t.reason)};t.aborted?a():t.addEventListener(`abort`,a,{once:!0})})}var Ci=class extends Error{constructor(){super(`SSE parser buffer exceeded maxBufferSize`),this.name=`SSEParserLimitError`}};async function wi(e,t,n){let r=e.getReader(),i,a=e=>{i??=r.cancel(e).catch(()=>void 0)},o,s=n?new Promise((e,t)=>{o=t}):void 0;s?.catch(()=>{});let c=()=>{
5
+ /* istanbul ignore next -- AbortController.abort() always provides a reason in standard runtimes */
6
+ let e=n?.reason??/* @__PURE__ */ Error(`The operation was aborted`);o?.(e),a(e)};try{for(n?.aborted?n.throwIfAborted():n?.addEventListener(`abort`,c,{once:!0});;){let e=r.read();e.catch(()=>{});let{done:n,value:i}=s?await Promise.race([e,s]):await e;if(n)return;await t(i)}}catch(e){throw a(e),e}finally{n?.removeEventListener(`abort`,c),r.releaseLock()}}function Ti(e,t){let n=Mi(t?.maxBufferSize),r,i=0,a=-1,o=!1;return async t=>{r?r=Ni(r,t):(r=t,i=0,a=-1);let s=r.length,c=0;for(;i<s;){o&&=(r[i]===10&&(c=++i),!1);let t=-1;for(;i<s&&t===-1;++i)switch(r[i]){case 58:a===-1&&(a=i-c);break;case 13:o=!0,t=i;break;case 10:t=i}if(t===-1)break;if(n!==void 0&&t-c>n)throw new Ci;let l=a===-1&&t>c?t-c:a,u=e(r.subarray(c,t),l);u&&await u,c=i,a=-1}if(c===s?r=void 0:c!==0&&(r=r.subarray(c),i-=c),n!==void 0&&r&&r.length>n)throw new Ci}}function Ei(e,t,n,r){let i=Mi(r?.maxBufferSize),a=``,o=``,s=``,c=0,l=!1,u=new TextDecoder;return(r,d)=>{if(r.length===0){let e=l?{id:a,event:o,data:s.slice(0,-1)}:void 0;return o=``,s=``,c=0,l=!1,e?n?.(e):void 0}
7
+ /* istanbul ignore if -- @preserve */
8
+ if(d<0)return;let f=d<r.length&&r[d]===58,p=ji(r,d);if(p===void 0)return;let m=f?d+1:r.length;f&&r[m]===32&&(m+=1);let h=r.subarray(m),g=u.decode(h);switch(p){case`data`:if(c+=h.byteLength+1,i!==void 0&&c>i)throw new Ci;l=!0,s+=`${g}\n`;break;case`event`:o=g;break;case`id`:g.includes(`\0`)||(a=g,e(g));break;case`retry`:/^\d+$/.test(g)&&t(Math.min(Number(g),2147483647))}}}const Di=[100,97,116,97],Oi=[101,118,101,110,116],ki=[114,101,116,114,121];function Ai(e,t,n){for(let r=0;r<n.length;r+=1)if(e[t+r]!==n[r])return!1;return!0}function ji(e,t){let n=t>=3&&e[0]===239&&e[1]===187&&e[2]===191?3:0;switch(t-n){case 2:return e[n]===105&&e[n+1]===100?`id`:void 0;case 4:return Ai(e,n,Di)?`data`:void 0;case 5:return Ai(e,n,Oi)?`event`:Ai(e,n,ki)?`retry`:void 0;default:return}}function Mi(e){if(e!==void 0){if(!Number.isSafeInteger(e)||e<1)throw TypeError(`SSE maxBufferSize must be a positive safe integer`);return e}}function Ni(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}const Pi=`text/event-stream`,Fi=`last-event-id`;var Y=class extends Error{code;statusSignal;cause;constructor(e,t,n){super(t),this.name=`EventStreamFatalError`,this.code=e,this.cause=n?.cause,this.statusSignal=n?.statusSignal===!0}};function Ii(e){return e instanceof Y?e.code:void 0}function Li(e){return e instanceof Y&&e.statusSignal}function Ri(e){return e instanceof Y&&e.cause!==void 0?e.cause:e}function zi(e){if(e instanceof Y)return e;if(e instanceof Ci)return new Y(`CAP_BUFFER_EXCEEDED`,e.message,{cause:e})}async function Bi(e,t){let n=new yi({maxSize:t.maxQueueSize}),r=Promise.withResolvers(),i=Promise.withResolvers(),a=new AbortController,o=t.fetch??globalThis.fetch.bind(globalThis),s=new Headers(e.headers);s.has(`Accept`)||s.set(`Accept`,Pi);let c=!1,l=!1,u=t.retryInterval??t.reconnect?.delayMs??1e3,d=0,f=``,p=!1,m,h,g={get open(){
9
+ /* istanbul ignore if -- unreachable: handle is only returned after open resolves */
10
+ if(!m)throw Error(`Event stream has not been opened yet`);return m},closed:r.promise,close:b,[Symbol.asyncDispose](){return v()},[Symbol.asyncIterator](){let e=n[Symbol.asyncIterator](),t=!1;return{next(){return t?Promise.resolve({done:!0,value:void 0}):e.next()},return(){return t||(t=!0,g.close(`iterator-return`)),Promise.resolve({done:!0,value:void 0})}}}},_=x().catch(
11
+ /* istanbul ignore next -- @preserve */
12
+ e=>{D(e)});return i.promise;function v(){return h??=Promise.resolve().then(y)}async function y(){let e,t=!1;try{g.close()}catch(n){t=!0,e=n,b()}if(await Promise.all([r.promise,_]),t)throw e}function b(e){a.signal.aborted||(a.abort(e),n.close(),O({kind:`aborted`,reason:Qi(e),cause:e}))}async function x(){for(;!a.signal.aborted;){p&&(p=!1,f?s.set(Fi,f):s.delete(Fi));let r=G(a.signal,[e.abort]),c,u=!1;try{let a=new Request(_e(e),Ji(e,s,r));c=await Tr(()=>o(a),r,Ui);let d=c,f=await Gi(d,t.handshakeError,r).catch(e=>{throw m=Ki(d,null,!1),e});if(m=f,Yi(f),!c.body)throw new Y(`RES_DECODE_FAILED`,`Missing response body for event stream`);await T(()=>t.onopen?.(f),r,`Event stream onopen callback failed`),l||(l=!0,i.resolve(g)),u=!0,await S(c.body,r),await T(()=>t.onclose?.(f),r,`Event stream onclose callback failed`),n.close(),O({kind:`eof`});return}catch(t){c?.body&&!u&&c.body.cancel(t).catch(()=>void 0);let n=Xi(t,e.abort,a.signal);if(a.signal.aborted||e.abort?.aborted){E(r);return}let i=n??t,o=zi(i);if(o){await w(o,r),a.signal.aborted||e.abort?.aborted?E(r):D(o);return}let s;try{s=await C(i,r)}catch(t){a.signal.aborted||e.abort?.aborted?E(r):D(t);return}if(typeof s!=`number`||s<0){D(i);return}try{await Si(s,r)}catch(t){
13
+ /* istanbul ignore else -- @preserve */
14
+ a.signal.aborted||e.abort?.aborted?E(r):D(t);return}}finally{W(r)}}}async function S(e,r){let i=Ei(e=>{f=e,p=!0},e=>{u=e},e=>{let n;try{r.throwIfAborted(),n=t.transformMessage?t.transformMessage(e,r):e}catch(e){throw Vi(e,r)}if(n instanceof Promise){let e=n;return e.catch(()=>void 0),r.throwIfAborted(),H(()=>e,r).then(a,e=>{throw Vi(e,r)})}r.throwIfAborted(),a(n)},{maxBufferSize:t.maxBufferSize});function a(e){if(e!==void 0)try{n.push(e)}catch(e){throw new Y(`CAP_QUEUE_OVERFLOW`,`Event stream queue exceeded maxQueueSize`,{cause:e})}}let o=Ti(i,{maxBufferSize:t.maxBufferSize});try{await wi(e,o,r)}catch(e){throw e instanceof Ci?new Y(`CAP_BUFFER_EXCEEDED`,e.message,{cause:e}):e}}async function C(e,n){d+=1;let r=t.onerror?await H(()=>t.onerror?.(e,{lastEventId:f,retryCount:d,retryInterval:u,open:m}),n):void 0;if(r===null)return null;let i=t.reconnect;if(!i||i.shouldReconnect&&!await H(()=>i.shouldReconnect?.({attempt:d,cause:e,lastEventId:f,open:m}),n))return null;let a=i.attempts??3;if(d>a)return null;let o=typeof r==`number`?r:u,s=i.factor??1,c=i.jitter??0;if(!Number.isFinite(c)||c<0||c>1)throw RangeError(`SSE reconnect jitter is out of range`);return xi({delayMs:o,factor:s,jitter:c,maxDelayMs:i.maxDelayMs??1/0},d)}async function w(e,n){if(t.onerror)try{await H(()=>t.onerror?.(e,{lastEventId:f,retryCount:d,retryInterval:u,open:m}),n)}catch{}}async function T(e,t,n){try{await H(e,t)}catch(e){throw t.aborted?e:new Y(`EXT_HOOK_FAILED`,e instanceof Error?e.message:n,{cause:e})}}function E(e){let t=Zi(e);if(t===z){D(z);return}let r=e.reason;ea(t,m),l?n.close():(l=!0,i.reject(t)),O({kind:`aborted`,reason:Qi(r),cause:r})}function D(e){ea(e,m),l?n.fail(e):(l=!0,i.reject(e)),O({cause:e,code:Hi(e),kind:`error`,reason:Qi(e)})}function O(e){c||(c=!0,r.resolve(e))}}function Vi(e,t){return t.aborted?e:new Y(`EXT_OBSERVER_FAILED`,`Failed to process event stream message`,{cause:e})}function Hi(e){return Ii(e)??(e===z?`NET_TIMEOUT`:`NET_UNREACHABLE`)}function Ui(e,t){Wi(e,t.reason)}function Wi(e,t){e.cancel(t).catch(()=>void 0)}async function Gi(e,t,n){if(!e.ok&&t){let r=Et(t);if(!e.body&&r!==`text`)throw new Y(`RES_DECODE_FAILED`,`Failed to decode event stream handshake body`);if(e.body&&r===`json`){let t=Lr(e.headers);if(!Rr(t))throw Wi(e.body),new Y(`RES_MEDIA_TYPE_INVALID`,`Expected a JSON media type, received ${t||`<none>`}`)}try{let i=e.body?await qi(e.body,r,n,Lr(e.headers)):``;return Ki(e,r===`json`?Tn(t,i):_n(t,i),!0)}catch(e){throw n.aborted?e:new Y(`RES_DECODE_FAILED`,`Failed to decode event stream handshake body`,{cause:e})}}return!e.ok&&e.body&&Wi(e.body),Ki(e,null,!1)}function Ki(e,t,n){return{response:Ee({status:e.status,statusText:e.statusText,headers:e.headers,url:e.url,body:n?t:void 0}),url:e.url}}async function qi(e,t,n,r){let i=[],a=0;return await wi(e,e=>{i.push(e),a+=e.byteLength},n),wt(t,Tt(i,a),r)}function Ji(e,t,n){return Ar(e,{defaultAccept:Pi,headers:t,signal:n,streamingRequestUnsupportedError:/* @__PURE__ */ Error(`ERR_STREAMING_REQUEST_UNSUPPORTED`)})}function Yi(e){let{response:t}=e;if(!t.ok)throw new Y(`RES_DECODE_FAILED`,`Event stream request failed`,{statusSignal:!0});let n=t.headers.get(`content-type`)||``;if(Mr(n)!==`text/event-stream`||!_i(n))throw new Y(`RES_MEDIA_TYPE_INVALID`,`Expected content-type to start with ${Pi}, got ${n||`(empty)`}`)}function Xi(e,t,n){let r=n?.aborted?n:t?.aborted?t:void 0;return r?.aborted?Zi(r):e}function Zi(e){return Ue(e)}function Qi(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e}const $i=/* @__PURE__ */ new WeakMap;function ea(e,t){t&&typeof e==`object`&&e&&$i.set(e,t)}function ta(e){if(typeof e==`object`&&e)return $i.get(e)}function na(t){let r={...t,method:t.method??`GET`};function a(t){return{[i]:ia,[e]:n,endpoint:r,input:t}}return(e=>a(e))}function ra(e){return e}async function ia(e,t,n){let{endpoint:r,input:i}=t;return aa(e,r,i,n??{},new AbortController)}async function aa(e,t,n,r,i){let a;try{a=Be(r)}catch(e){return[B(`REQ_OPTIONS_INVALID`,e),void 0,void 0]}if(Ve(a))return[We(),void 0,void 0];try{qe(a.timeout)}catch(e){return[B(`REQ_OPTIONS_INVALID`,e),void 0,void 0]}let o=[a.abort,a.signal].find(e=>e?.aborted);if(o)return[Ke(o),void 0,void 0];try{ca(t)}catch(e){return[B(`REQ_OPTIONS_INVALID`,e),void 0,void 0]}let s=Je(a.timeout),c=G(i.signal,[a.abort,a.signal,s.signal]);s.releaseOnAbort(c);let l=e=>(s.release(),W(c),[e,void 0,void 0]),u;try{u=ra(await vn(t.input,n))}catch(e){return l(U(s,c,B(`REQ_INPUT_INVALID`,e)))}let d=U(s,c);if(d)return l(d);let f;try{f=xr(t.method,t.path,u,t.builder,{abort:c,baseEndpoint:e.endpoint,defaultHeaders:e.headers,operation:t.operation,querySerializer:e.querySerializer,timeout:a.timeout,transport:`sse`,withCredentials:e.withCredentials})}catch(e){return l(U(s,c,B(`REQ_BUILD_FAILED`,e)))}let p=U(s,c);if(p)return l(p);let m=!1,h=!1,g=/* @__PURE__ */ new Set;try{let n=vt(e.interceptors),r=n=>{if(m){let e=Promise.reject(/* @__PURE__ */ Error(`SSE interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}let r=G(c,[n.abort]);if(U(s,r)){let e=Promise.reject(Ot(He(r)));return W(r),e.catch(()=>void 0),e}let i=new AbortController,a={controller:i};g.add(a);let o=G(i.signal,[r]);a.release=()=>{W(o),W(r)};let l=Bi({...n,abort:o},{fetch:e.sse.handle,handshakeError:t.error,transformMessage(n,r){return oa(t.events,n,e.sse.onInvalidEvent,r)},reconnect:e.sse.reconnect,maxBufferSize:t.maxBufferSize,maxQueueSize:t.maxQueueSize}).then(e=>(a.stream=e,e.closed.then(a.release,a.release),e),e=>{throw a.release?.(),Ot(e)});return l.catch(()=>void 0),l},i=gt(n),a=await H(()=>i(f,r),c);m=!0,h=!0,a.closed.then(()=>W(c));let o=a.open;return _(/* @__PURE__ */ Error(`SSE interceptor discarded an opened stream`),a),[null,a,o]}catch(e){m=!0,_(e);let t=kt(e),n=e,r=ta(n);return[c.aborted?Ke(c):fa(n,t,r?.response),void 0,r]}finally{s.release(),h||W(c)}function _(e,t){for(let n of g)(!n.stream||!t||n.stream!==t&&n.stream.closed!==t.closed)&&(n.controller.abort(e),n.stream?.close(e),n.release?.());g.clear()}}function oa(e,t,n,r){let i=t.event||`message`,a=la(e,i);if(!a)return sa(n,{reason:`missing-struct`,message:{id:t.id||``,event:i,data:t.data},signal:r});try{return{data:ua(a,t.data),event:i,id:t.id||void 0}}catch(e){return sa(n,{reason:`validation-failed`,message:{id:t.id||``,event:i,data:t.data},cause:e,signal:r})}}async function sa(e,t){if(e)try{await H(()=>e(t),t.signal)}catch(e){if(t.signal.aborted)throw e}}function ca(e){for(let t of[`maxBufferSize`,`maxQueueSize`])if(!Number.isSafeInteger(e[t])||e[t]<1)throw TypeError(`SSE ${t} must be a positive safe integer`)}function la(e,t){if(Object.hasOwn(e,t))return e[t];if(Object.hasOwn(e,`default`))return e.default}function ua(e,t){return Et(e)===`text`?_n(e,t):Tn(e,JSON.parse(t))}function da(e){return{headers:e.headers,ok:e.ok,status:e.status,statusText:e.statusText,url:e.url}}function fa(e,t,n){let r=Ii(e);if(n&&r===`RES_MEDIA_TYPE_INVALID`)return Le(r,Ri(e),da(n));if(n&&!n.ok){let t=da(n);return n.body===void 0?r===`RES_DECODE_FAILED`&&!Li(e)?Le(r,Ri(e),t):Ie(t):Fe({...t,body:n.body})}return n&&r===`RES_DECODE_FAILED`?Le(r,Ri(e),da(n)):t?V(e):B(`EXT_INTERCEPTOR_FAILED`,e)}function pa(e){return Z(Q({...e,flags:X}))}const X={nullable:!1,optional:!1};function Z(e){return e}function Q(e){let t=t=>Q({...e,flags:{...e.flags,...t}});return{[v]:e,alias(t){if(typeof t!=`string`)throw TypeError(`alias() requires a string name`);return Q({...e,alias:t})},null(){return t({nullable:!0})},nullable(){return t({nullable:!0})},nullish(){return t({nullable:!0,optional:!0})},optional(){return t({optional:!0})}}}function ma(){return Z(pa({expected:`string`,is:e=>typeof e==`string`,kind:`string`}))}function ha(){return Z(pa({expected:`number`,is:e=>typeof e==`number`&&!Number.isNaN(e),kind:`number`}))}function ga(){return pa({expected:`boolean`,is:e=>typeof e==`boolean`,kind:`boolean`})}function _a(){return Z(pa({expected:`null`,is:e=>e===null,kind:`null`}))}function va(){return Z(Q({flags:X,kind:`any`}))}function ya(){return Z(Q({flags:X,kind:`unknown`}))}function ba(e){return Z(Q({expected:ce(e),flags:X,kind:`literal`,value:e}))}function xa(e){let t=[...e];return Z(Q({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:X,kind:`enum`,values:t}))}function Sa(e){let t=Object.values(e).filter(e=>typeof e==`number`||typeof e==`string`);if(t.length===0)throw TypeError(`enum struct requires at least one string or number value`);return Z(Q({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:X,kind:`enum`,values:t}))}function Ca(e){return Mt(e,`array item`),Z(Q({flags:X,item:e,kind:`array`}))}function wa(e){if(!R(e))throw TypeError(`object struct requires a plain object`);return Z(Q({cache:{declaredDescriptors:Object.getOwnPropertyDescriptors(e)},flags:X,kind:`object`,shape:e}))}function Ta(e){return Da(e,`urlencoded`)}function Ea(e){return Da(e,`formData`)}function Da(e,t){let n=wa(e);return n[v].codec=t,n}function Oa(e){return Mt(e,`record value`),Z(Q({flags:X,kind:`record`,value:e}))}function ka(e){let t=[...e];for(let e of t)Mt(e,`tuple item`);return Z(Q({flags:X,items:t,kind:`tuple`}))}function Aa(e){let t=[...e];for(let e of t)Mt(e,`or option`);return Z(Q({expected:t.map(e=>F(e[v])).join(` | `),flags:X,kind:`or`,options:t,uniformIdentityEncode:ja(t)}))}function ja(e){let t=e[0];if(t[v].kind===`object`){let n=Ma(t);if(!n)return!1;for(let t=1;t<e.length;t+=1){let r=Ma(e[t]);if(!r||r.size!==n.size)return!1;for(let[e,t]of n)if(r.get(e)!==t)return!1}return!0}return e.every(e=>Na(e[v].kind))}function Ma(e){let t=e[v];if(t.kind!==`object`)return;let n=/* @__PURE__ */ new Map;for(let[e,r]of Object.entries(t.cache.declaredDescriptors)){if(typeof r.get==`function`)return;let t=r.value?.[v];if(!t||!Na(t.kind))return;n.set(e,t.kind)}return n}function Na(e){return e===`any`||e===`boolean`||e===`enum`||e===`literal`||e===`null`||e===`number`||e===`string`||e===`unknown`}function Pa(e,t){let n=[...t],r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=[],o=/* @__PURE__ */ new Set,s=[];for(let t of n){Mt(t,`discriminatedUnion option`);let n=t[v];
15
+ /* istanbul ignore next -- type-safe: createDiscriminatedUnionStruct only accepts ObjectStruct */
16
+ if(n.kind!==`object`)throw TypeError(`discriminatedUnion options must be object structs`);let c=n.cache.declaredDescriptors[e],l=c&&typeof c.get==`function`?c.get.call(n.shape):c?.value;if(!l)throw TypeError(`discriminatedUnion option missing discriminator field "${e}"`);let u=l[v];
17
+ /* istanbul ignore next -- type-safe: discriminator is checked at compile time */
18
+ if(u.kind!==`literal`)throw TypeError(`discriminatedUnion option discriminator "${e}" must be a literal struct`);if(u.flags.optional||u.flags.nullable&&u.value!==null)throw TypeError(`discriminatedUnion option discriminator "${e}" must be a required literal struct`);if(r.has(u.value))throw TypeError(`discriminatedUnion duplicate discriminator value: ${JSON.stringify(u.value)}`);let d=u.alias??e;r.set(u.value,t),i.set(u.value,d),o.has(d)||(o.add(d),a.push(d)),s.push(u.value)}return Z(Q({discriminator:e,discriminatorWireKeys:a,expected:s.map(e=>JSON.stringify(e)).join(` | `),flags:X,kind:`discriminatedUnion`,map:r,options:n,wireKeyByValue:i}))}function Fa(){return pa({expected:`Blob`,is:e=>e instanceof Blob,kind:`blob`,runtimeIs:e=>typeof Blob<`u`&&e instanceof Blob})}function Ia(){return pa({decode:(e,t,n)=>{if(typeof e==`bigint`)return re(e);try{return re(BigInt(e))}catch{return n(q(t,`invalid_type`,`bigint`,e))}},encode:e=>e.toString(),expected:`bigint`,is:e=>typeof e==`bigint`||typeof e==`string`,kind:`bigint`,runtimeIs:e=>typeof e==`bigint`})}function La(){return pa({decode:(e,t,n)=>{let r=e instanceof Date?e:new Date(e);return Number.isNaN(r.getTime())?n(q(t,`invalid_type`,`Date`,e)):re(r)},encode:e=>e.toISOString(),expected:`Date`,is:e=>e instanceof Date||typeof e==`string`||typeof e==`number`,kind:`date`,runtimeIs:e=>e instanceof Date&&!Number.isNaN(e.getTime())})}function Ra(...e){if(e.length===0)throw TypeError(`intersection requires at least one struct`);for(let t of e)Mt(t,`intersection item`);if(e.length===1)return Z(e[0]);let t=e.every(za),n=t?Ba(e):e;return Z(Q({expected:e.map(e=>F(e[v])).join(` & `),flags:X,kind:`intersection`,objectSides:t,options:n}))}function za(e){let t=e[v];return t.kind===`object`||t.kind===`intersection`&&t.objectSides}function Ba(e){let t=[];for(let n of e){let e=n[v];e.kind===`intersection`?t.push(...e.options):t.push(n)}return t}function Va(){return pa({expected:`File`,is:e=>e instanceof File,kind:`file`,runtimeIs:e=>typeof File<`u`&&e instanceof File})}function Ha(){return pa({expected:`ArrayBuffer`,is:e=>e instanceof ArrayBuffer,kind:`arrayBuffer`,runtimeIs:e=>typeof ArrayBuffer<`u`&&e instanceof ArrayBuffer})}function Ua(e){return Array.isArray(e)?xa(e):Sa(e)}function Wa(...e){return Aa(e)}const Ga={any:va,array:Ca,arrayBuffer:Ha,bigint:Ia,blob:Fa,boolean:ga,date:La,discriminatedUnion:Pa,enum:Ua,file:Va,formData:Ea,intersection:Ra,literal:ba,null:_a,number:ha,object:wa,or:Wa,parse:gn,record:Oa,string:ma,tuple:ka,unknown:ya,urlencoded:Ta};function Ka(e){let{queryParams:t,queryString:n}=me(e.query,e.querySerializer);return{abort:e.abort,baseEndpoint:e.baseEndpoint,endpoint:de(e.path,e.params),headers:new Headers,method:`GET`,operation:e.operation,queryParams:t,queryString:n,withCredentials:e.withCredentials??!1}}function qa(e){let t=_e(e);return t.protocol===`https:`?t.protocol=`wss:`:t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}function Ja(e,t){if(!e)throw Error(`No outgoing WebSocket messages are declared for this endpoint`);let n=JSON.stringify(wn(e,_n(e,t)));if(typeof n!=`string`)throw TypeError(`Outgoing WebSocket message has no JSON representation`);return n}function Ya(e,t){return typeof Blob<`u`&&t instanceof Blob?t.arrayBuffer().then(t=>Xa(e,xt(t))):Xa(e,St(t))}function Xa(e,t){return t===void 0?void 0:Tn(e,JSON.parse(t))}function Za(e,t){return{cause:t,code:e?.code,reason:e?.reason,wasClean:e?.wasClean}}const Qa=2147483647;function $a(e,t,n,r,i,a){if(to(t),eo(n),!n)return;let o,s,c={isAck:n.isAck,markAck(){clearTimeout(o),o=void 0},stop(){clearInterval(s),clearTimeout(o),o=void 0}},l=()=>t.heartbeat===c&&t.currentSocket===e&&e.readyState===a;t.heartbeat=c,s=setInterval(()=>{if(l()&&o===void 0){try{let t=n.message,i=t?t():void 0;if(!l()||i===void 0)return;let a=Ja(r,i);if(!l()||(e.send(a),!l()))return}catch(e){u(e);return}typeof n.timeoutMs==`number`&&n.timeoutMs>0&&(o=setTimeout(()=>{u(/* @__PURE__ */ Error(`WebSocket heartbeat timeout`))},n.timeoutMs))}},n.intervalMs);function u(e){
19
+ /* istanbul ignore if -- @preserve defensive: a cleared platform timeout callback may already be queued when the runtime stops */
20
+ l()&&(to(t),i(e))}}function eo(e){e&&(no(`intervalMs`,e.intervalMs),e.timeoutMs!==void 0&&no(`timeoutMs`,e.timeoutMs))}function to(e){e.heartbeat?.stop(),e.heartbeat=void 0}function no(e,t){if(!Number.isFinite(t)||t<=0||t>Qa)throw RangeError(`WebSocket heartbeat ${e} must be between 0 and ${Qa}`)}function ro(e){if(!e)return;let t=e.shouldReconnect,n=e.attempts??3;if(!Number.isSafeInteger(n)||n<0)throw RangeError(`WebSocket reconnect attempts must be a non-negative safe integer`);if(n===0)return;let r=e.delayMs??1e3;ao(`delayMs`,r,0);let i=e.factor??2;ao(`factor`,i,Number.MIN_VALUE);let a=e.jitter??0;ao(`jitter`,a,0,1);let o=e.maxDelayMs??3e4;return ao(`maxDelayMs`,o,0),{attempts:n,delayMs:r,factor:i,hasShouldReconnect:typeof t==`function`,jitter:a,maxDelayMs:o,shouldReconnect:(e,n)=>typeof t!=`function`||!!t({attempt:n,cause:e.cause,code:e.closeInfo.code,reason:e.closeInfo.reason,wasClean:e.closeInfo.wasClean})}}function io(e,t,n){return!e||t.opened===!1&&e.attempts<=0?!1:e.shouldReconnect(t,n)}function ao(e,t,n,r=1/0){if(!Number.isFinite(t)||t<n||t>r)throw RangeError(`WebSocket reconnect ${e} is out of range`)}function oo(e){return e}function so(t){let n={...t};function a(t){return{[i]:lo,[e]:r,endpoint:n,input:t}}return(e=>a(e))}async function co(e,t,n,r,i,a){$(a,`connecting`);let o;try{o=Be(r)}catch(e){let t=B(`REQ_OPTIONS_INVALID`,e);return a.error=t,$(a,`error`),[t,void 0,void 0]}if(Ve(o)){let e=We();return a.error=e,$(a,`error`),[e,void 0,void 0]}try{qe(o.timeout)}catch(e){let t=B(`REQ_OPTIONS_INVALID`,e);return a.error=t,$(a,`error`),[t,void 0,void 0]}let s=[o.abort,o.signal].find(e=>e?.aborted);if(s){let e=Ke(s);return a.error=e,$(a,e.code===`NET_ABORTED`?`aborted`:`error`),[e,void 0,void 0]}try{yo(t.maxIncomingQueueSize,t.maxOutgoingQueueSize)}catch(e){let t=B(`REQ_OPTIONS_INVALID`,e);return a.error=t,$(a,`error`),[t,void 0,void 0]}let c,l,u,d;try{c=r.beforeConnect;let t=r.protocols;l=t?[...t]:void 0;let n=r.reconnect??e.webSocket.reconnect,i=r.heartbeat??e.webSocket.heartbeat;d=i?{intervalMs:i.intervalMs,isAck:i.isAck,message:i.message,timeoutMs:i.timeoutMs}:void 0,eo(d),u=ro(n)}catch(e){let t=B(`REQ_OPTIONS_INVALID`,e);return a.error=t,$(a,`error`),[t,void 0,void 0]}let f=Je(o.timeout),p=G(new AbortController().signal,[o.abort,o.signal,f.signal]),m=G(i.signal,[p]);f.releaseOnAbort(p);let h=e=>(f.release(),W(p),W(m),a.error=e,$(a,e.code===`NET_ABORTED`?`aborted`:`error`),[e,void 0,void 0]),g;try{g=oo(await vn(t.input,n))}catch(e){return h(U(f,m,B(`REQ_INPUT_INVALID`,e)))}let _=U(f,m);if(_)return h(_);let v;try{v=Pn(Nn(g,t.builder),`webSocket`)}catch(e){return h(U(f,m,B(`REQ_BUILD_FAILED`,e)))}let y=U(f,m);if(y)return h(y);let b;try{b=Ka({abort:m,baseEndpoint:e.endpoint,operation:t.operation,params:v.params,path:t.path,query:v.query,querySerializer:e.querySerializer,withCredentials:e.withCredentials})}catch(e){return h(U(f,m,B(`REQ_BUILD_FAILED`,e)))}let x=e.webSocket.handle??globalThis.WebSocket;if(typeof x!=`function`)return h(B(`ENV_UNSUPPORTED`,/* @__PURE__ */ Error(`WebSocket is not supported in current runtime`)));let S=x,C,w=/* @__PURE__ */ new Set,T=/* @__PURE__ */ new Set,E=!1,D=!1,O=n=>{if(D||E){let e=Promise.reject(/* @__PURE__ */ Error(D?`WebSocket interceptor next() may not be called after the chain settles`:`WebSocket interceptor next() may only be called once`));return e.catch(()=>void 0),e}E=!0;let r=m,o=new Promise((o,s)=>{let p=G(r,[n.abort]),m=new yi({maxSize:t.maxIncomingQueueSize}),h=Promise.withResolvers(),g={currentSocket:void 0,heartbeat:void 0},_=[],v=!1,y=!1,b,w=0,T=0,E,D,O=/* @__PURE__ */ new Set,k,A,ee,j=!1,M,N,te=u?.hasShouldReconnect??!1,ne=c??e.webSocket.beforeConnect,re=[...l??e.webSocket.protocols??t.protocols??[]],P=po(t.outgoing,m,h.promise,a,g,_,t.maxOutgoingQueueSize??0,x.OPEN,()=>y||p.aborted,R,se),ie=ae().catch(e=>{I({cause:e,kind:`error`})});async function ae(){for(;!y;){if(p.aborted){L();return}$(a,w===0?`connecting`:`reconnecting`);let e=await F();if(y)return;if(!e.ok){e.aborted?L():I({cause:e.error,kind:`error`},{startupError:e.error});return}if(p.aborted){L();return}let t=await oe(e.url,e.protocols);if(y)return;if(!v&&t.connection&&(b=t.connection,a.connection=b),p.aborted){L(t.closeInfo);return}if(D){I(Co(t.closeInfo,D));return}let n=w+1,r=!1,i=!1;if(u&&n<=u.attempts)try{r=io(u,t,n),i=te&&!r}catch(e){if(y)return;p.aborted?L(t.closeInfo):I(To(t.closeInfo,e));return}if(y)return;if(p.aborted){L(t.closeInfo);return}if(r&&u){if(w=n,$(a,`reconnecting`),y)return;if(p.aborted){L(t.closeInfo);return}let e=xi(u,n);if(e>0)try{await Si(e,p)}catch{y||L(t.closeInfo);return}}else{if(!v){let e=t.cause??/* @__PURE__ */ Error(`WebSocket closed before open`),n=V(e);I(To(t.closeInfo,e),{startupError:n});return}if(i){I(Co(t.closeInfo));return}t.cause===void 0?I(Co(t.closeInfo)):I(To(t.closeInfo,t.cause));return}}}async function F(){let e;try{e=qa(n)}catch(e){return{aborted:!1,error:B(`REQ_BUILD_FAILED`,e),ok:!1}}if(ne)try{await H(()=>ne({attempt:w,signal:p}),p),p.throwIfAborted()}catch(e){return p.aborted?{aborted:!0,ok:!1}:{aborted:!1,error:B(`EXT_HOOK_FAILED`,e),ok:!1}}return{ok:!0,protocols:re,url:e}}async function oe(e,n){let r=U(f,p);if(r)return{cause:r,closeInfo:{cause:r,reason:r.message},opened:!1};let i;try{
21
+ /* istanbul ignore else -- @preserve defensive: binaryType may not exist on injected nonstandard WebSocket handles */
22
+ i=n.length>0?new S(e,[...n]):new S(e),`binaryType`in i&&(i.binaryType=`arraybuffer`)}catch(e){return{closeInfo:{cause:e,reason:e instanceof Error?e.message:`WebSocket connection error`},connection:void 0,cause:e,opened:!1}}g.currentSocket=i;let s=!1,c;return await new Promise(e=>{let n,r=!1,l,u=!1,h=new AbortController,S=G(p,[h.signal]),w=[],A=!1,ee=()=>{l!==void 0&&(clearTimeout(l),l=void 0)},j=e=>{ee(),to(g),h.abort(),W(S),w.length=0,i.removeEventListener(`open`,ne),i.removeEventListener(`message`,ae),i.removeEventListener(`close`,oe),i.removeEventListener(`error`,F),p.removeEventListener(`abort`,te),!e&&g.currentSocket===i&&(g.currentSocket=void 0)},M=()=>({extensions:i.extensions||void 0,generation:T,protocol:i.protocol||void 0,url:i.url}),N=(t,n=!1)=>{
23
+ /* istanbul ignore if -- @preserve defensive: every physical attempt is settled through this once-only gate */
24
+ A||(A=!0,j(n),E?.socket===i&&(E=void 0),e(t))},te=()=>{y||(v||(b=M(),a.connection=b),L(Za(void 0,p.reason)))},ne=()=>{if(!(y||s)){s=!0,T+=1,b=M(),a.connection=b;try{mo(i,_,x.OPEN)}catch(e){I({cause:e,kind:`error`});return}y||D||($(a,`open`),!y&&(v||(C=b,v=!0,f.release(),o(P)),a.status===`open`&&$a(i,g,d,t.outgoing,e=>{I({cause:e,kind:`error`})},x.OPEN)))}},re=async e=>{
25
+ /* istanbul ignore if -- @preserve defensive: stale physical listeners are removed before logical settlement */
26
+ if(y||g.currentSocket!==i)return;let n;try{S.throwIfAborted();let r=Ya(t.incoming,e.data);n=r instanceof Promise?await H(()=>r,S):r}catch(e){if(y||h.signal.aborted)return;ho(a,e);return}if(!(y||g.currentSocket!==i||n===void 0))try{let e=g.heartbeat,t=e?.isAck?.(n)??!1;if(y||g.currentSocket!==i||g.heartbeat!==e)return;if(t&&e){e.markAck();return}m.push(n)}catch(e){y||I({cause:e,kind:`error`})}},ie=async()=>{if(!u){u=!0;try{for(;!y&&w.length>0;){let e=w.shift();await re(e)}!y&&n&&w.length===0&&N(n)}catch(e){
27
+ /* istanbul ignore next -- @preserve defensive: handleMessage and settleAttempt contain their own failure boundaries */
28
+ I({cause:e,kind:`error`})}finally{u=!1,y&&(w.length=0)}}},ae=e=>{
29
+ /* istanbul ignore if -- @preserve defensive: physical message listeners are removed as soon as close is observed */
30
+ if(y||r||g.currentSocket!==i)return;if(w.length>=t.maxIncomingQueueSize){I({cause:/* @__PURE__ */ Error(`WebSocket raw message queue overflow`),kind:`error`});return}w.push(e);let n=ie();O.add(n),n.finally(()=>{O.delete(n)})},F=()=>{c??=/* @__PURE__ */ Error(`WebSocket connection error`),to(g),i.removeEventListener(`error`,F),l=setTimeout(()=>{l=void 0,I({cause:c,kind:`error`},{skipNativeClose:!0})},uo);try{i.close()}catch{ee(),I({cause:c,kind:`error`},{skipNativeClose:!0})}},oe=e=>{r||(r=!0,ee(),g.heartbeat?.stop(),i.removeEventListener(`open`,ne),i.removeEventListener(`message`,ae),i.removeEventListener(`error`,F),n={closeInfo:Za(e,c),connection:M(),cause:c,opened:s},k&&E?.abortMessagePumpForDisposal(),c===void 0?!u&&w.length===0&&N(n):(w.length=0,N(n)))};E={abortMessagePumpForDisposal(){r&&h.abort()},cancel(e=!1){N({closeInfo:Za(void 0,c),connection:M(),cause:c,opened:s},e)},socket:i},p.addEventListener(`abort`,te,{once:!0}),i.addEventListener(`open`,ne),i.addEventListener(`message`,ae),i.addEventListener(`close`,oe),i.addEventListener(`error`,F),p.aborted&&te()})}function I(e,t={}){
31
+ /* istanbul ignore if -- @preserve defensive once-only gate: terminal callers and reentrant state transitions check finished before invoking finish */
32
+ if(y)return;y=!0,f.release(),to(g);let n=g.currentSocket;if(e.kind!==`closed`&&n&&!t.skipNativeClose&&xo(n),n&&t.keepPhysicalCleanup&&(N=So(n,g)),E?.cancel(t.keepPhysicalCleanup),_.length=0,e.kind===`closed`)m.close(),a.error=void 0;else{let n=e.cause??new DOMException(`Aborted`,`AbortError`);m.fail(n),a.error=t.startupError??Eo(e),e.kind===`error`&&ho(a,e.cause)}if(a.connection=b,$(a,e.kind===`closed`?`closed`:e.kind),a.listeners.runtimeError.clear(),a.listeners.stateChange.clear(),i.signal.aborted||i.abort(e),h.resolve(e),W(p),!v){let n=t.startupError??Eo(e);a.error=n,s(n)}}function L(e={}){
33
+ /* istanbul ignore next -- @preserve invariant: finishFromSignal is called only after the merged signal aborts */
34
+ let t=Ge(p)??V(ke);t.code===`NET_TIMEOUT`?I(To(e,p.reason),{startupError:t}):I(wo(e,p.reason),{startupError:t})}function R(e,t){if(bo(e,t),y||D||(D={code:e,kind:`manual-web-socket-close`,reason:t},g.heartbeat?.stop(),$(a,`closing`),y))return;let n=g.currentSocket;if(!n)I(Co({},D));else try{n.close(e,t)}catch(e){try{n.close()}catch{I({cause:e,kind:`error`},{keepPhysicalCleanup:!0,skipNativeClose:!0})}throw e}}function se(){return k??=Promise.resolve().then(ce)}async function ce(){try{try{P.close()}catch(e){j=!0,M=e}E?.abortMessagePumpForDisposal(),y||(A=setTimeout(()=>{
35
+ /* istanbul ignore if -- @preserve defensive: lifecycle completion clears this timer before a later timer task can run */
36
+ y||(ee=new DOMException(`WebSocket close event was not observed before teardown timeout`,`TimeoutError`),I(Co({},D),{skipNativeClose:!0}))},uo)),await ie,await Promise.allSettled([...O])}finally{clearTimeout(A),A=void 0,N?.()}if(j)throw M;if(ee)throw ee}});return T.add(o),o.then(e=>{T.delete(o),w.add(e)},()=>{T.delete(o)}),o},k=gt(yt(e.interceptors));try{let e=await H(()=>k(b,O),p);D=!0,f.release(),W(p);let t=[...w].some(t=>t===e||t.closed===e.closed),n=[...T];!t&&(w.size>0||n.length>0)&&!i.signal.aborted&&i.abort(/* @__PURE__ */ Error(`WebSocket session was replaced by interceptor`)),await Promise.allSettled(n),t=[...w].some(t=>t===e||t.closed===e.closed);let r=[...w].filter(t=>t!==e&&t.closed!==e.closed);await Promise.allSettled(r.map(e=>e.closed)),T.clear(),w.clear(),t||(C=void 0,W(m));let a=e;return[null,a,C??a.connection]}catch(e){D=!0,f.release(),W(p);let t=Ge(p),n=t??(Do(e)?e:B(`EXT_INTERCEPTOR_FAILED`,e));t&&(a.error=t,$(a,t.code===`NET_ABORTED`?`aborted`:`error`));let r=[...T];return(w.size>0||r.length>0)&&(i.signal.aborted||i.abort(e),await Promise.allSettled(r),await Promise.allSettled([...w].map(e=>e.closed)),T.clear(),w.clear()),W(m),[n,void 0,a.connection]}}async function lo(e,t,n){let{endpoint:r,input:i}=t;return co(e,r,i,n??{},new AbortController,{listeners:{runtimeError:/* @__PURE__ */ new Set,stateChange:/* @__PURE__ */ new Set},status:`idle`,transition:0})}const uo=1e3,fo=()=>void 0;function po(e,t,n,r,i,a,o,s,c,l,u){return{get bufferedAmount(){return i.currentSocket?.bufferedAmount??0},get connection(){return r.connection??
37
+ /* istanbul ignore next -- @preserve invariant: concrete sessions are delivered only after their first open snapshot */
38
+ {generation:0}},closed:n,close(e,t){l(e,t)},[Symbol.asyncDispose](){return u()},get state(){return r.status},onRuntimeError(e){return c()?fo:(r.listeners.runtimeError.add(e),()=>{r.listeners.runtimeError.delete(e)})},onStateChange(e){return c()?fo:(r.listeners.stateChange.add(e),()=>{r.listeners.stateChange.delete(e)})},receive:t,send(t){if(c())throw new DOMException(`WebSocket session is closed`,`InvalidStateError`);let n=i.currentSocket,l=r.status,u=n?.readyState,d=l===`open`&&u===s?`socket`:l===`reconnecting`?`queue`:void 0;if(!d)throw new DOMException(`WebSocket session is not writable`,`InvalidStateError`);let f=Ja(e,t);if(c()||r.status!==l||i.currentSocket!==n||n?.readyState!==u)throw new DOMException(`WebSocket session is not writable`,`InvalidStateError`);if(d===`socket`)n.send(f);else{if(o===0)throw Error(`WebSocket outgoing queue is disabled`);if(a.length>=o)throw Error(`WebSocket send queue overflow`);a.push(f)}}}}function mo(e,t,n){for(;e.readyState===n;){let n=t.shift();if(n===void 0)return;e.send(n)}}function $(e,t){if(e.status===t)return;e.status=t,e.transition+=1;let n=e.transition;for(let r of[...e.listeners.stateChange]){if(e.transition!==n)break;try{let n=r(t),i=[...e.listeners.runtimeError];vo(n,e=>go(i,e))}catch(t){ho(e,t)}}}function ho(e,t){go([...e.listeners.runtimeError],t)}function go(e,t){for(let n of e)try{vo(n(t),_o)}catch(e){_o(e)}}function _o(e){let t=globalThis.reportError;if(typeof t==`function`)try{vo(t(e),()=>void 0)}catch{}}function vo(e,t){(typeof e==`object`&&e||typeof e==`function`)&&Promise.resolve(e).catch(t)}function yo(e,t){if(!Number.isSafeInteger(e)||e<1)throw TypeError(`maxIncomingQueueSize must be a positive safe integer`);let n=t??0;if(!Number.isSafeInteger(n)||n<0)throw TypeError(`maxOutgoingQueueSize must be a non-negative safe integer`)}function bo(e,t){if(e!==void 0&&(!Number.isInteger(e)||e!==1e3&&(e<3e3||e>4999)))throw new DOMException(`The close code must be 1000 or between 3000 and 4999`,`InvalidAccessError`);if(t!==void 0&&new TextEncoder().encode(t).byteLength>123)throw new DOMException(`The close reason must not exceed 123 UTF-8 bytes`,`SyntaxError`)}function xo(e){try{e.close()}catch{}}function So(e,t){let n=!1,r=()=>{n||(n=!0,e.removeEventListener(`close`,r),t.currentSocket===e&&(t.currentSocket=void 0))};return e.addEventListener(`close`,r,{once:!0}),r}function Co(e,t){return{code:e.code??t?.code,kind:`closed`,reason:e.reason??t?.reason,wasClean:e.wasClean}}function wo(e,t){return{cause:t,code:e.code,kind:`aborted`,reason:e.reason,wasClean:e.wasClean}}function To(e,t){return{cause:t,code:e.code,kind:`error`,reason:e.reason,wasClean:e.wasClean}}function Eo(e){
39
+ /* istanbul ignore next -- @preserve invariant: pre-open closed paths supply startupError before this helper is reached */
40
+ return e.kind!==`closed`&&Do(e.cause)?e.cause:
41
+ /* istanbul ignore if -- @preserve invariant: internal abort terminal paths always supply startupError directly */
42
+ e.kind===`aborted`?V(ke):
43
+ /* istanbul ignore else -- @preserve invariant: pre-open closed paths supply startupError before this helper is reached */
44
+ e.kind===`error`?V(e.cause):V(/* @__PURE__ */ Error(`WebSocket closed before open`))}function Do(e){return typeof e==`object`&&!!e&&`code`in e&&typeof e.code==`string`&&e instanceof Error}export{ke as ERR_ABORTED,z as ERR_TIMEOUT,Kt as StructError,mi as basicAuthHttpInterceptor,hi as basicAuthSSEInterceptor,_ as createClient,Le as createDecodeFault,ft as createHttpInterceptor,Fe as createHttpStatusFault,V as createNetworkFault,B as createPreflightFault,ge as createResolvedRequestUrl,pt as createSSEInterceptor,Ie as createUndecodedHttpStatusFault,mt as createWebSocketInterceptor,na as defineEventStream,ii as defineRequest,so as defineWebSocket,ia as executeEventStreamCommand,ai as executeHttpCommand,lo as executeWebSocketCommand,ti as fetchHandler,Ee as makeResponse,Ga as struct,dt as withCredentials,Xe as withEndpoint,tt as withHTTPHandle,Ze as withHeaders,$e as withInterceptors,et as withQuerySerializer,nt as withSSEHandle,ct as withSSEOnInvalidEvent,lt as withSSEReconnect,Qe as withTimeout,it as withWebSocketBeforeConnect,rt as withWebSocketHandle,ot as withWebSocketHeartbeat,at as withWebSocketProtocols,st as withWebSocketReconnect,ut as withXSRF};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defjs/core",
3
- "version": "0.4.0-beta.0",
3
+ "version": "0.4.0-beta.1",
4
4
  "bugs": {
5
5
  "url": "https://github.com/defjs/defjs/issues"
6
6
  },
@@ -10,6 +10,7 @@
10
10
  "url": "git+https://github.com/defjs/defjs.git"
11
11
  },
12
12
  "type": "module",
13
+ "sideEffects": false,
13
14
  "main": "./index.js",
14
15
  "types": "./index.d.ts",
15
16
  "exports": {