@defjs/core 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -47,12 +47,12 @@ async function main() {
47
47
  void main();
48
48
  ```
49
49
 
50
- Calling `getUser(client, { id: 1 })` validates, builds, and sends the request. `client({ abort })` derives a new client for one call and does not perform I/O. Return before reading the success value when `error` is set. Once published, import `getUser` from your SDK package instead of the local file — see [Build and publish an SDK](https://defjs.lyz.cloud/recipes/publish-http-sdk).
50
+ Calling `getUser(client, { id: 1 })` validates, builds, and sends the request. `client({ signal })` returns a `Client` value for one call and does not perform I/O. Return before reading the success value when `error` is set. Once published, import `getUser` from your SDK package instead of the local file — see [Build and publish an SDK](https://defjs.lyz.cloud/recipes/publish-http-sdk).
51
51
 
52
52
  ## Rules that matter
53
53
 
54
54
  - Calling an operation with a client performs I/O. A definition does not capture a client. There is no global client.
55
- - Per-call options are the seven `RequestOptions` fields: `abort`, `onUploadProgress`, `onDownloadProgress`, `beforeConnect`, `protocols`, `heartbeat`, and `reconnect`. `client(options)` copies those fields into a fresh object. Nested `heartbeat`, `protocols`, and `reconnect` values are kept by reference, so treat them as immutable after passing them. Pass `AbortSignal.timeout(ms)` as `abort` when a call needs a deadline. That reason is `NET_TIMEOUT`; a manual abort is `NET_ABORTED`. A getter that throws does so from `client(options)`, not as a fault. SSE and WebSocket have no startup-only deadline: the signal aborts the whole connection.
55
+ - Per-call options are the seven `RequestOptions` fields: `signal`, `onUploadProgress`, `onDownloadProgress`, `beforeConnect`, `protocols`, `heartbeat`, and `reconnect`. `client(options)` returns a non-callable client value that copies those fields into a fresh object; fields set to `undefined` are omitted. Nested `heartbeat`, `protocols`, and `reconnect` values are kept by reference, so treat them as immutable after passing them. Pass `AbortSignal.timeout(ms)` as `signal` when a call needs a deadline. That reason is `NET_TIMEOUT`; a manual abort is `NET_ABORTED`. A getter that throws does so from `client(options)`, not as a fault. SSE and WebSocket have no startup-only deadline: the signal aborts the whole connection.
56
56
  - `input` declares parameters; a synchronous, pure `builder` places them on `path`, `query`, `headers`, and `body`. Every definition with `input` requires an explicit `builder`.
57
57
  - Structs validate at runtime. `output` is the 2xx body, `error` every other status; omit a side and that body is never read.
58
58
  - Failures are returned as `Fault` instances in an error-first tuple — `HTTP_STATUS`, `REQ_*`, `NET_*`, `RES_*`, `EXT_*`, `CAP_*`, `ENV_UNSUPPORTED`. `String(error)` gives the message; `error.code` and the cause chain stay structured for logs.
package/index.d.ts CHANGED
@@ -78,7 +78,7 @@ type HttpProgressFn = (event: HttpProgressEvent) => Promise<void> | void;
78
78
  * @group http
79
79
  */
80
80
  interface HttpRequest {
81
- abort?: AbortSignal;
81
+ signal?: AbortSignal;
82
82
  /** Trusted absolute base; its origin and directory bound the resolved endpoint path. */
83
83
  baseEndpoint?: string;
84
84
  body?: Blob | ArrayBuffer | FormData | URLSearchParams | ReadableStream<Uint8Array> | object | string | number | boolean | null;
@@ -1586,7 +1586,7 @@ interface WebSocketCloseSnapshot {
1586
1586
  * | `reconnecting` | Preparing or waiting for a replacement socket after a close |
1587
1587
  * | `closing` | Closure was requested with `session.close()` or disposal |
1588
1588
  * | `closed` | Terminal: the session ended without an error or cancellation |
1589
- * | `aborted` | Terminal: the session was cancelled through `abort` or `signal` |
1589
+ * | `aborted` | Terminal: the session was cancelled through `signal` |
1590
1590
  * | `error` | Terminal: the session failed, including a startup failure or `timeout` |
1591
1591
  *
1592
1592
  * Observe it with `session.state` and `session.onStateChange`.
@@ -1757,15 +1757,15 @@ interface UseWebSocketBaseConfig<TIncoming = unknown, TOutgoing = unknown> {
1757
1757
  reconnect?: ClientWebSocketOptions["reconnect"];
1758
1758
  }
1759
1759
  /**
1760
- * WebSocket fields of {@link RequestOptions}, plus `abort`.
1760
+ * WebSocket fields of {@link RequestOptions}, plus `signal`.
1761
1761
  *
1762
- * `beforeConnect`, `heartbeat`, `protocols`, and `reconnect` override the client-level options for one call. `abort` covers the whole session, including after it opens. There is no startup-only deadline and no `signal` field.
1762
+ * `beforeConnect`, `heartbeat`, `protocols`, and `reconnect` override the client-level options for one call. `signal` covers the whole session, including after it opens. There is no startup-only deadline and no `abort` field.
1763
1763
  *
1764
1764
  * @group web-socket
1765
1765
  */
1766
1766
  export type UseWebSocketConfig<TIncoming = unknown, TOutgoing = unknown> = UseWebSocketBaseConfig<TIncoming, TOutgoing> & {
1767
1767
  /** Aborts the session, including after it is open. */
1768
- abort?: AbortSignal;
1768
+ signal?: AbortSignal;
1769
1769
  };
1770
1770
  /**
1771
1771
  * WebSocket fields read from {@link RequestOptions} for one call.
@@ -2589,9 +2589,9 @@ export declare function withXSRF(options?: HttpClientOptions["xsrf"]): ClientOpt
2589
2589
  */
2590
2590
  export declare function withCredentials(value: boolean): ClientOption;
2591
2591
  /**
2592
- * Internal symbol key for a client's base configuration and derived request options.
2592
+ * Internal symbol key for a client's base configuration and request options.
2593
2593
  *
2594
- * Application code calls the client and passes it to an operation. It does not read this property.
2594
+ * Application code passes the client to an operation. It does not call the client or read this property.
2595
2595
  *
2596
2596
  * @group client
2597
2597
  */
@@ -2599,15 +2599,15 @@ declare const CLIENT: unique symbol;
2599
2599
  /**
2600
2600
  * Flat per-call options. Each protocol reads the fields it understands and ignores the rest.
2601
2601
  *
2602
- * SSE reads only `abort` from request options. SSE reconnect comes from client configuration (`withSSEReconnect`), so `client({ reconnect })` affects WebSocket only.
2602
+ * SSE reads only `signal` from request options. SSE reconnect comes from client configuration (`withSSEReconnect`), so `client({ reconnect })` affects WebSocket only.
2603
2603
  *
2604
- * `abort` cancels HTTP, SSE, and WebSocket calls. `onUploadProgress` and `onDownloadProgress` apply to HTTP. `beforeConnect`, `protocols`, `heartbeat`, and `reconnect` apply to WebSocket and replace the client setting for that call as a whole value. There is no `timeout` or `signal` field. Pass `AbortSignal.timeout(ms)` as `abort` when a call needs a deadline.
2604
+ * `signal` cancels HTTP, SSE, and WebSocket calls. `onUploadProgress` and `onDownloadProgress` apply to HTTP. `beforeConnect`, `protocols`, `heartbeat`, and `reconnect` apply to WebSocket and replace the client setting for that call as a whole value. There is no `timeout` or `abort` field. Pass `AbortSignal.timeout(ms)` as `signal` when a call needs a deadline.
2605
2605
  *
2606
2606
  * @group client
2607
2607
  */
2608
2608
  type RequestOptions = {
2609
2609
  /** Aborts the call. An already aborted signal fails the call before transport. */
2610
- abort?: AbortSignal;
2610
+ signal?: AbortSignal;
2611
2611
  /** Observes HTTP upload progress. */
2612
2612
  onUploadProgress?: HttpProgressFn;
2613
2613
  /** Observes HTTP download progress. */
@@ -2626,39 +2626,54 @@ interface ClientState {
2626
2626
  readonly options: RequestOptions;
2627
2627
  }
2628
2628
  /**
2629
- * Application client returned by `createClient`.
2629
+ * Client value that operations accept.
2630
2630
  *
2631
- * Calling it returns a new client. The seven known fields are copied from the argument when `client(options)` is called, a top-level snapshot into a fresh options object overlaid on the current options. A later field wins. A field whose value is `undefined` is treated as not provided and keeps the parent's value. A derived client cannot drop a setting its parent has; to go back to no setting, derive again from the client that did not have it. Nested `heartbeat`, `protocols`, and `reconnect` values are kept by reference, not cloned. WebSocket reads them when the operation runs, copying heartbeat fields and the protocols list at that time, so mutating those objects after deriving can still affect a later call. Applications should treat them as immutable after passing them. The original client is not mutated. `client()`, `client(undefined)`, and `client({})` copy the current options. Deriving a client performs no I/O. A getter that throws does so from the call and is not returned as a fault.
2631
+ * A client value carries the base configuration and one call's request options. Operations accept it. It is not callable; create one by calling the factory returned by `createClient`. Calling a client value throws a `TypeError` at runtime and fails to compile.
2632
+ *
2633
+ * Create a client value per call. Reusing a value that carries `signal` shares that signal between calls.
2632
2634
  *
2633
2635
  * @group client
2634
2636
  * @see {@link createClient}
2635
2637
  * @see {@link RequestOptions}
2636
2638
  */
2637
2639
  interface Client {
2638
- /** Returns a new client with `options` overlaid on this client's request options. */
2639
- (options?: RequestOptions): Client;
2640
2640
  /** Internal state. Not part of the call surface. */
2641
2641
  readonly [CLIENT]: ClientState;
2642
2642
  }
2643
2643
  /**
2644
- * Creates a Defjs client from option helpers.
2644
+ * Callable root client returned by `createClient`.
2645
+ *
2646
+ * A factory is a {@link Client} that carries no request options, so it can be passed to an operation directly. Calling it with {@link RequestOptions} returns a plain, non-callable `Client` value for one call and performs no I/O. That value cannot be called again: `client()()` fails to compile and throws a `TypeError` at runtime. The seven known fields are copied from the argument into a fresh options object, unknown fields are ignored, and fields whose value is `undefined` are omitted. Nested `heartbeat`, `protocols`, and `reconnect` values are kept by reference. There is no parent overlay: `client()`, `client(undefined)`, and `client({})` all return a client with no request options. A getter that throws escapes the call and is not converted into a fault; the factory stays usable.
2647
+ *
2648
+ * @group client
2649
+ * @see {@link createClient}
2650
+ * @see {@link Client}
2651
+ * @see {@link RequestOptions}
2652
+ */
2653
+ interface DerivableClient extends Client {
2654
+ /** Returns a client value that carries `options` for one call. */
2655
+ (options?: RequestOptions): Client;
2656
+ }
2657
+ /**
2658
+ * Creates a Defjs {@link DerivableClient} from option helpers.
2645
2659
  *
2646
2660
  * Options apply in order: a later option overwrites an earlier one for the same setting, and interceptors accumulate. Prefer creating the client inside the request boundary when interceptors close over auth or tenants. Default HTTP/SSE fetch availability is checked when an operation invokes transport.
2647
2661
  *
2648
- * The returned client is a function. Call it with {@link RequestOptions} to derive a client for one operation. The seven known fields are copied from that argument into a fresh options object. Nested `heartbeat`, `protocols`, and `reconnect` values are kept by reference. The base configuration is shared by every derived client and is not frozen at runtime. It is fixed by convention: nothing in the library changes it, and applications should not either. A getter that throws escapes the call; it is not converted into a fault.
2662
+ * The returned factory is a function. Calling it with {@link RequestOptions} returns a {@link Client} value for one call and performs no I/O; see {@link DerivableClient} for the snapshot rules. The factory itself is also a `Client` and carries no request options, so it can be passed to an operation directly. The base configuration is shared by every client value and is not frozen at runtime. It is fixed by convention: nothing in the library changes it, and applications should not either.
2649
2663
  *
2650
2664
  * @param options - Client option helpers such as `withEndpoint`.
2651
- * @returns A callable client that carries the resolved base configuration.
2665
+ * @returns A callable factory that carries the resolved base configuration.
2652
2666
  *
2653
2667
  * @group client
2668
+ * @see {@link DerivableClient}
2654
2669
  * @see {@link Client}
2655
2670
  * @see {@link ClientOption}
2656
2671
  * @see {@link RequestOptions}
2657
2672
  * @exampleFile examples/api/create-client.ts#example
2658
2673
  */
2659
- export declare function createClient(...options: ClientOption[]): Client;
2674
+ export declare function createClient(...options: ClientOption[]): DerivableClient;
2660
2675
  /**
2661
- * HTTP fields of {@link RequestOptions}: progress callbacks and `abort`.
2676
+ * HTTP fields of {@link RequestOptions}: progress callbacks and `signal`.
2662
2677
  *
2663
2678
  * `onDownloadProgress` and `onUploadProgress` are {@link HttpProgressFn}
2664
2679
  * callbacks. They receive an {@link HttpProgressEvent} with `loaded`, `total`,
@@ -2668,7 +2683,7 @@ export declare function createClient(...options: ClientOption[]): Client;
2668
2683
  */
2669
2684
  export type UseRequestConfig = {
2670
2685
  /** Aborts the call. */
2671
- abort?: AbortSignal;
2686
+ signal?: AbortSignal;
2672
2687
  /** Observes download progress. */
2673
2688
  onDownloadProgress?: HttpProgressFn;
2674
2689
  /** Observes upload progress. */
@@ -2677,7 +2692,7 @@ export type UseRequestConfig = {
2677
2692
  /**
2678
2693
  * HTTP fields read from {@link RequestOptions} for one call.
2679
2694
  *
2680
- * Progress callbacks and `abort`. There is no `timeout` or `signal`.
2695
+ * Progress callbacks and `signal`. There is no `timeout` or `abort`.
2681
2696
  *
2682
2697
  * @group http
2683
2698
  */
@@ -2796,7 +2811,7 @@ export declare function defineRequest<const M extends string, const P extends st
2796
2811
  * global `fetch` resolved at send time. It rejects, rather than resolving with
2797
2812
  * a synthetic response, when no response reached the client.
2798
2813
  *
2799
- * @param httpRequest - Normalized request (URL, headers, body, abort, progress hooks).
2814
+ * @param httpRequest - Normalized request (URL, headers, body, signal, progress hooks).
2800
2815
  * @param fetchImpl - Fetch implementation; defaults to global `fetch`. The library default handle is called as
2801
2816
  * `(url, init)` while the global is untouched, and its body is read in one piece unless download progress is observed. Any other handle receives a
2802
2817
  * `Request` and its body is read chunk by chunk.
@@ -2954,13 +2969,13 @@ export type StreamAwaitResult<TEvent, TError extends AnyStruct | undefined = und
2954
2969
  /**
2955
2970
  * SSE field of {@link RequestOptions}. HTTP progress and WebSocket fields are ignored.
2956
2971
  *
2957
- * `abort` covers the whole stream, including after it opens. There is no startup-only deadline.
2972
+ * `signal` covers the whole stream, including after it opens. There is no startup-only deadline.
2958
2973
  *
2959
2974
  * @group sse
2960
2975
  */
2961
2976
  export type EventStreamExecuteOptions = {
2962
2977
  /** Aborts the stream, including after it is open. */
2963
- abort?: AbortSignal;
2978
+ signal?: AbortSignal;
2964
2979
  };
2965
2980
  /**
2966
2981
  * Operation returned by `defineEventStream`.
@@ -2991,4 +3006,4 @@ export declare function defineEventStream<const P extends string, const M extend
2991
3006
  method?: M;
2992
3007
  path: P;
2993
3008
  } & BuilderField<NoInfer<TInput>, EventStreamRequestShape<NoInfer<P>, NoInfer<M>>>): EventStreamEndpoint<EndpointArgs<TInput>, EventStreamData<TEvents>, TError>;
2994
- export type { AnyStruct, BasicAuthInterceptorOptions, BuilderInput, Client, ClientConfig, ClientOption, ClientOptions, ClientSSEConfig, ClientSSEOptions, ClientWebSocketOptions, DecodedResponse, ErrorMap, EventStreamCloseInfo, EventStreamFaultCode, EventStreamHandle, EventStreamOpenInfo, EventStreamRequestShape, FetchHandle, FlattenedStructError, FormattedStructError, HttpInterceptor, HttpInterceptorNext, HttpMeta, HttpProgressEvent, HttpProgressFn, HttpRequest, HttpRequestShape, HttpResponse, HttpResponseType, Infer, Interceptor, InterceptorFn, MakeResponseOptions, ObjectStruct, ParseResult, QuerySerializer, RequestOptions, SSEHandler, SSEInterceptor, SSEInterceptorFn, STRUCT, Struct, StructInput, StructIssue, StructLike, StructMethods, WebSocketHandle, WebSocketHandleConstructor, WebSocketHandler, WebSocketInterceptor, WebSocketInterceptorFn, WebSocketRequestShape, WebSocketSessionLike };
3009
+ export type { AnyStruct, BasicAuthInterceptorOptions, BuilderInput, Client, ClientConfig, ClientOption, ClientOptions, ClientSSEConfig, ClientSSEOptions, ClientWebSocketOptions, DecodedResponse, DerivableClient, ErrorMap, EventStreamCloseInfo, EventStreamFaultCode, EventStreamHandle, EventStreamOpenInfo, EventStreamRequestShape, FetchHandle, FlattenedStructError, FormattedStructError, HttpInterceptor, HttpInterceptorNext, HttpMeta, HttpProgressEvent, HttpProgressFn, HttpRequest, HttpRequestShape, HttpResponse, HttpResponseType, Infer, Interceptor, InterceptorFn, MakeResponseOptions, ObjectStruct, ParseResult, QuerySerializer, RequestOptions, SSEHandler, SSEInterceptor, SSEInterceptorFn, STRUCT, Struct, StructInput, StructIssue, StructLike, StructMethods, WebSocketHandle, WebSocketHandleConstructor, WebSocketHandler, WebSocketInterceptor, WebSocketInterceptorFn, WebSocketRequestShape, WebSocketSessionLike };
package/index.js CHANGED
@@ -42,47 +42,49 @@ function createClientConfig() {
42
42
  }
43
43
  // src/client/client.ts
44
44
  /**
45
- * Internal symbol key for a client's base configuration and derived request options.
45
+ * Internal symbol key for a client's base configuration and request options.
46
46
  *
47
- * Application code calls the client and passes it to an operation. It does not read this property.
47
+ * Application code passes the client to an operation. It does not call the client or read this property.
48
48
  *
49
49
  * @group client
50
50
  */
51
51
  const CLIENT = Symbol("Client");
52
- function overlay(base, patch) {
53
- if (patch === void 0) return { ...base };
54
- return {
55
- abort: patch.abort ?? base.abort,
56
- onUploadProgress: patch.onUploadProgress ?? base.onUploadProgress,
57
- onDownloadProgress: patch.onDownloadProgress ?? base.onDownloadProgress,
58
- beforeConnect: patch.beforeConnect ?? base.beforeConnect,
59
- protocols: patch.protocols ?? base.protocols,
60
- heartbeat: patch.heartbeat ?? base.heartbeat,
61
- reconnect: patch.reconnect ?? base.reconnect
62
- };
63
- }
64
- function createDerivedClient(config, options) {
65
- const state = {
52
+ const KNOWN_FIELDS = [
53
+ "signal",
54
+ "onUploadProgress",
55
+ "onDownloadProgress",
56
+ "beforeConnect",
57
+ "protocols",
58
+ "heartbeat",
59
+ "reconnect"
60
+ ];
61
+ function snapshot(patch) {
62
+ const out = {};
63
+ if (patch === void 0) return out;
64
+ for (const key of KNOWN_FIELDS) {
65
+ const value = patch[key];
66
+ if (value !== void 0) out[key] = value;
67
+ }
68
+ return out;
69
+ }
70
+ function createClientValue(config, options) {
71
+ return { [CLIENT]: {
66
72
  config,
67
73
  options
68
- };
69
- function derive(patch) {
70
- return createDerivedClient(config, overlay(options, patch));
71
- }
72
- derive[CLIENT] = state;
73
- return derive;
74
+ } };
74
75
  }
75
76
  /**
76
- * Creates a Defjs client from option helpers.
77
+ * Creates a Defjs {@link DerivableClient} from option helpers.
77
78
  *
78
79
  * Options apply in order: a later option overwrites an earlier one for the same setting, and interceptors accumulate. Prefer creating the client inside the request boundary when interceptors close over auth or tenants. Default HTTP/SSE fetch availability is checked when an operation invokes transport.
79
80
  *
80
- * The returned client is a function. Call it with {@link RequestOptions} to derive a client for one operation. The seven known fields are copied from that argument into a fresh options object. Nested `heartbeat`, `protocols`, and `reconnect` values are kept by reference. The base configuration is shared by every derived client and is not frozen at runtime. It is fixed by convention: nothing in the library changes it, and applications should not either. A getter that throws escapes the call; it is not converted into a fault.
81
+ * The returned factory is a function. Calling it with {@link RequestOptions} returns a {@link Client} value for one call and performs no I/O; see {@link DerivableClient} for the snapshot rules. The factory itself is also a `Client` and carries no request options, so it can be passed to an operation directly. The base configuration is shared by every client value and is not frozen at runtime. It is fixed by convention: nothing in the library changes it, and applications should not either.
81
82
  *
82
83
  * @param options - Client option helpers such as `withEndpoint`.
83
- * @returns A callable client that carries the resolved base configuration.
84
+ * @returns A callable factory that carries the resolved base configuration.
84
85
  *
85
86
  * @group client
87
+ * @see {@link DerivableClient}
86
88
  * @see {@link Client}
87
89
  * @see {@link ClientOption}
88
90
  * @see {@link RequestOptions}
@@ -91,7 +93,14 @@ function createDerivedClient(config, options) {
91
93
  function createClient(...options) {
92
94
  const config = createClientConfig();
93
95
  for (const option of options) option(config);
94
- return createDerivedClient(config, {});
96
+ function factory(patch) {
97
+ return createClientValue(config, snapshot(patch));
98
+ }
99
+ factory[CLIENT] = {
100
+ config,
101
+ options: {}
102
+ };
103
+ return factory;
95
104
  }
96
105
  // src/client/option.ts
97
106
  /**
@@ -2616,7 +2625,7 @@ function createBaseTransportRequest(method, path, input, builder, options) {
2616
2625
  const declaredContentType = headers.has("content-type");
2617
2626
  if (options.transport === "sse" && built.defaultContentType && !declaredContentType) headers.set("content-type", built.defaultContentType);
2618
2627
  const request = {
2619
- abort: options.abort,
2628
+ signal: options.signal,
2620
2629
  baseEndpoint: options.baseEndpoint,
2621
2630
  body: built.body,
2622
2631
  bodyContentTypeSource: built.body,
@@ -2637,7 +2646,7 @@ function createBaseTransportRequest(method, path, input, builder, options) {
2637
2646
  function createHttpRequest(method, path, input, builder, options) {
2638
2647
  return {
2639
2648
  ...createBaseTransportRequest(method, path, input, builder, {
2640
- abort: options.abort,
2649
+ signal: options.signal,
2641
2650
  baseEndpoint: options.baseEndpoint,
2642
2651
  defaultHeaders: options.defaultHeaders,
2643
2652
  inputDeclared: options.inputDeclared,
@@ -2932,8 +2941,8 @@ function createFetchRequestInit(request) {
2932
2941
  return createFetchInitBase(request, {
2933
2942
  defaultAccept: "application/json, text/plain, */*",
2934
2943
  headers,
2935
- signal: request.abort,
2936
- wrapReadableStreamBody: uploadProgress ? (body) => wrapUploadProgressStream(body, uploadProgress, getContentLength(headers), request.abort) : void 0
2944
+ signal: request.signal,
2945
+ wrapReadableStreamBody: uploadProgress ? (body) => wrapUploadProgressStream(body, uploadProgress, getContentLength(headers), request.signal) : void 0
2937
2946
  });
2938
2947
  }
2939
2948
  function createFetchRequest(request) {
@@ -2993,7 +3002,7 @@ async function parseFetchResponse(httpRequest, response, fallbackUrl, platform)
2993
3002
  throw new BodyFailure("RES_MEDIA_TYPE_INVALID", /* @__PURE__ */ new TypeError(`Expected a JSON media type, received ${contentType || "<none>"}`), meta);
2994
3003
  }
2995
3004
  if (response.body && platform && !downloadProgress) {
2996
- const bytes = await readWholeBody(response, httpRequest.abort, meta);
3005
+ const bytes = await readWholeBody(response, httpRequest.signal, meta);
2997
3006
  try {
2998
3007
  body = parseBytesBody(responseType, bytes, contentType);
2999
3008
  } catch (error) {
@@ -3002,7 +3011,7 @@ async function parseFetchResponse(httpRequest, response, fallbackUrl, platform)
3002
3011
  } else if (response.body) {
3003
3012
  const chunks = [];
3004
3013
  const reader = response.body.getReader();
3005
- const signal = httpRequest.abort;
3014
+ const signal = httpRequest.signal;
3006
3015
  const cancelRead = () => void reader.cancel(signal?.reason).catch(() => void 0);
3007
3016
  signal?.addEventListener("abort", cancelRead, { once: true });
3008
3017
  let receivedLength = 0;
@@ -3058,7 +3067,7 @@ async function parseFetchResponse(httpRequest, response, fallbackUrl, platform)
3058
3067
  * global `fetch` resolved at send time. It rejects, rather than resolving with
3059
3068
  * a synthetic response, when no response reached the client.
3060
3069
  *
3061
- * @param httpRequest - Normalized request (URL, headers, body, abort, progress hooks).
3070
+ * @param httpRequest - Normalized request (URL, headers, body, signal, progress hooks).
3062
3071
  * @param fetchImpl - Fetch implementation; defaults to global `fetch`. The library default handle is called as
3063
3072
  * `(url, init)` while the global is untouched, and its body is read in one piece unless download progress is observed. Any other handle receives a
3064
3073
  * `Request` and its body is read chunk by chunk.
@@ -3086,13 +3095,13 @@ async function fetchHandler(httpRequest, fetchImpl = resolveGlobalFetch()) {
3086
3095
  try {
3087
3096
  response = await sendFetchRequest(observed, fetchImpl);
3088
3097
  } catch (error) {
3089
- throw observerFailure !== void 0 && !httpRequest.abort?.aborted ? observerFailure : error;
3098
+ throw observerFailure !== void 0 && !httpRequest.signal?.aborted ? observerFailure : error;
3090
3099
  }
3091
3100
  if (observerFailure !== void 0) throw observerFailure;
3092
3101
  return response;
3093
3102
  }
3094
3103
  async function sendFetchRequest(httpRequest, fetchImpl) {
3095
- const abortSignal = httpRequest.abort;
3104
+ const abortSignal = httpRequest.signal;
3096
3105
  const platform = fetchImpl === PLATFORM_FETCH_HANDLE;
3097
3106
  let prepared = httpRequest;
3098
3107
  let request;
@@ -3137,7 +3146,7 @@ function isBrowserWindowOrWorker() {
3137
3146
  async function prepareUploadProgressRequest(request) {
3138
3147
  const { uploadProgress, body } = request;
3139
3148
  if (!uploadProgress || body == null || isReadableStreamBody(body) || !supportsStreamingRequestBody() || isBrowserWindowOrWorker()) return request;
3140
- request.abort?.throwIfAborted();
3149
+ request.signal?.throwIfAborted();
3141
3150
  const converted = convertBodyToUploadStream(body);
3142
3151
  if (!converted) return request;
3143
3152
  const headers = new Headers(request.headers);
@@ -3151,7 +3160,7 @@ async function prepareUploadProgressRequest(request) {
3151
3160
  total
3152
3161
  };
3153
3162
  try {
3154
- if (request.abort) await awaitWithSignal(() => uploadProgress(startEvent), request.abort);
3163
+ if (request.signal) await awaitWithSignal(() => uploadProgress(startEvent), request.signal);
3155
3164
  else await uploadProgress(startEvent);
3156
3165
  } catch (error) {
3157
3166
  converted.stream.cancel(error).catch(() => void 0);
@@ -3236,7 +3245,7 @@ async function executeHttpCommand(clientConfig, definition, input, options) {
3236
3245
  void 0
3237
3246
  ];
3238
3247
  };
3239
- const callerAbort = config.abort;
3248
+ const callerAbort = config.signal;
3240
3249
  if (callerAbort?.aborted) return fail(resolveAbortedFault(callerAbort));
3241
3250
  const requestSignal = mergeAbortSignals(new AbortController().signal, [callerAbort]);
3242
3251
  const stopBeforeTransport = (fault) => {
@@ -3257,7 +3266,7 @@ async function executeHttpCommand(clientConfig, definition, input, options) {
3257
3266
  let request;
3258
3267
  try {
3259
3268
  request = createHttpRequest(definition.method, definition.path, parsedInput, definition.builder, {
3260
- abort: requestSignal,
3269
+ signal: requestSignal,
3261
3270
  baseEndpoint: clientConfig.endpoint,
3262
3271
  defaultHeaders: clientConfig.headers,
3263
3272
  downloadProgress: config.onDownloadProgress,
@@ -3294,7 +3303,7 @@ async function executeHttpCommand(clientConfig, definition, input, options) {
3294
3303
  rejected.catch(() => void 0);
3295
3304
  return rejected;
3296
3305
  }
3297
- const transportAbort = nextRequest.abort === void 0 || nextRequest.abort === requestSignal ? transportController.signal : mergeAbortSignals(transportController.signal, [nextRequest.abort]);
3306
+ const transportAbort = nextRequest.signal === void 0 || nextRequest.signal === requestSignal ? transportController.signal : mergeAbortSignals(transportController.signal, [nextRequest.signal]);
3298
3307
  if (resolveAbortFault(transportAbort)) {
3299
3308
  const rejected = Promise.reject(transportOrigin.mark(resolveAbortCause(transportAbort)));
3300
3309
  releaseAbortSignal(transportAbort);
@@ -3303,7 +3312,7 @@ async function executeHttpCommand(clientConfig, definition, input, options) {
3303
3312
  }
3304
3313
  const pending = fetchHandler({
3305
3314
  ...nextRequest,
3306
- abort: transportAbort
3315
+ signal: transportAbort
3307
3316
  }, clientConfig.http.handle).catch((error) => {
3308
3317
  throw transportOrigin.mark(resolveAbortCause(transportAbort) ?? error);
3309
3318
  }).finally(() => {
@@ -3859,7 +3868,7 @@ async function fetchEventStream(request, options) {
3859
3868
  }
3860
3869
  async function start() {
3861
3870
  while (!closeController.signal.aborted) {
3862
- const attemptAbort = mergeAbortSignals(closeController.signal, [request.abort]);
3871
+ const attemptAbort = mergeAbortSignals(closeController.signal, [request.signal]);
3863
3872
  let response;
3864
3873
  let readerStarted = false;
3865
3874
  try {
@@ -3896,8 +3905,8 @@ async function fetchEventStream(request, options) {
3896
3905
  return;
3897
3906
  } catch (error) {
3898
3907
  if (response?.body && !readerStarted) response.body.cancel(error).catch(() => void 0);
3899
- const normalizedError = normalizeAbortError(error, request.abort, closeController.signal);
3900
- if (closeController.signal.aborted || request.abort?.aborted) {
3908
+ const normalizedError = normalizeAbortError(error, request.signal, closeController.signal);
3909
+ if (closeController.signal.aborted || request.signal?.aborted) {
3901
3910
  finishAborted(attemptAbort);
3902
3911
  return;
3903
3912
  }
@@ -3905,7 +3914,7 @@ async function fetchEventStream(request, options) {
3905
3914
  const fatalError = toEventStreamFatalError(retryError);
3906
3915
  if (fatalError) {
3907
3916
  await observeFatalError(fatalError, attemptAbort);
3908
- if (closeController.signal.aborted || request.abort?.aborted) finishAborted(attemptAbort);
3917
+ if (closeController.signal.aborted || request.signal?.aborted) finishAborted(attemptAbort);
3909
3918
  else finishError(fatalError);
3910
3919
  return;
3911
3920
  }
@@ -3917,7 +3926,7 @@ async function fetchEventStream(request, options) {
3917
3926
  try {
3918
3927
  retryDelay = await resolveRetryDelay(retryError, attemptAbort);
3919
3928
  } catch (policyError) {
3920
- if (closeController.signal.aborted || request.abort?.aborted) finishAborted(attemptAbort);
3929
+ if (closeController.signal.aborted || request.signal?.aborted) finishAborted(attemptAbort);
3921
3930
  else finishError(policyError);
3922
3931
  return;
3923
3932
  }
@@ -3929,7 +3938,7 @@ async function fetchEventStream(request, options) {
3929
3938
  await wait(retryDelay, attemptAbort);
3930
3939
  } catch (waitError) {
3931
3940
  /* istanbul ignore else -- @preserve */
3932
- if (closeController.signal.aborted || request.abort?.aborted) finishAborted(attemptAbort);
3941
+ if (closeController.signal.aborted || request.signal?.aborted) finishAborted(attemptAbort);
3933
3942
  else finishError(waitError);
3934
3943
  return;
3935
3944
  }
@@ -4168,7 +4177,7 @@ function defineEventStream(definition) {
4168
4177
  return (async (client, input) => runEventStreamCommand(client[CLIENT].config, endpoint, input, client[CLIENT].options, new AbortController()));
4169
4178
  }
4170
4179
  async function runEventStreamCommand(clientConfig, endpoint, input, config, controller) {
4171
- const callerAbort = config.abort;
4180
+ const callerAbort = config.signal;
4172
4181
  if (callerAbort?.aborted) return [
4173
4182
  resolveAbortedFault(callerAbort),
4174
4183
  void 0,
@@ -4211,7 +4220,7 @@ async function runEventStreamCommand(clientConfig, endpoint, input, config, cont
4211
4220
  let request;
4212
4221
  try {
4213
4222
  request = createBaseTransportRequest(endpoint.method, endpoint.path, parsedInput, endpoint.builder, {
4214
- abort: requestSignal,
4223
+ signal: requestSignal,
4215
4224
  baseEndpoint: clientConfig.endpoint,
4216
4225
  defaultHeaders: clientConfig.headers,
4217
4226
  inputDeclared: endpoint.input !== void 0,
@@ -4246,7 +4255,7 @@ async function runEventStreamCommand(clientConfig, endpoint, input, config, cont
4246
4255
  rejected.catch(() => void 0);
4247
4256
  return rejected;
4248
4257
  }
4249
- const transportAbort = mergeAbortSignals(requestSignal, [req.abort]);
4258
+ const transportAbort = mergeAbortSignals(requestSignal, [req.signal]);
4250
4259
  if (resolveAbortFault(transportAbort)) {
4251
4260
  const rejected = Promise.reject(transportOrigin.mark(resolveAbortCause(transportAbort)));
4252
4261
  releaseAbortSignal(transportAbort);
@@ -4270,7 +4279,7 @@ async function runEventStreamCommand(clientConfig, endpoint, input, config, cont
4270
4279
  const failure = {};
4271
4280
  const promise = fetchEventStream({
4272
4281
  ...req,
4273
- abort: streamAbort
4282
+ signal: streamAbort
4274
4283
  }, {
4275
4284
  fetch: clientConfig.sse.handle,
4276
4285
  failure,
@@ -5121,7 +5130,7 @@ const struct = {
5121
5130
  function createWebSocketRequest(params) {
5122
5131
  const { queryParams, queryString } = resolveTransportQuery(params.query, params.querySerializer);
5123
5132
  const request = {
5124
- abort: params.abort,
5133
+ signal: params.signal,
5125
5134
  baseEndpoint: params.baseEndpoint,
5126
5135
  endpoint: fillUrl(params.path, params.params),
5127
5136
  headers: new Headers(),
@@ -5336,7 +5345,7 @@ function createSocketRequest(args) {
5336
5345
  try {
5337
5346
  return [void 0, createWebSocketRequest(args)];
5338
5347
  } catch (error) {
5339
- return [resolveAbortFault(args.abort) ?? createPreflightFault("REQ_BUILD_FAILED", error), void 0];
5348
+ return [resolveAbortFault(args.signal) ?? createPreflightFault("REQ_BUILD_FAILED", error), void 0];
5340
5349
  }
5341
5350
  }
5342
5351
  function resolveSocketConstructor(handle) {
@@ -5346,7 +5355,7 @@ function resolveSocketConstructor(handle) {
5346
5355
  }
5347
5356
  async function runWebSocketCommand(clientConfig, endpoint, input, config, controller, state) {
5348
5357
  setSocketState(state, "connecting");
5349
- const callerAbort = config.abort;
5358
+ const callerAbort = config.signal;
5350
5359
  if (callerAbort?.aborted) {
5351
5360
  const aborted = resolveAbortedFault(callerAbort);
5352
5361
  state.error = aborted;
@@ -5397,7 +5406,7 @@ async function runWebSocketCommand(clientConfig, endpoint, input, config, contro
5397
5406
  const builtCancellation = resolveAbortFault(signal);
5398
5407
  if (builtCancellation) return stopBeforeTransport(builtCancellation);
5399
5408
  const [requestFault, wsRequest] = createSocketRequest({
5400
- abort: signal,
5409
+ signal,
5401
5410
  baseEndpoint: clientConfig.endpoint,
5402
5411
  operation: endpoint.operation,
5403
5412
  params: built.params,
@@ -5425,7 +5434,7 @@ async function runWebSocketCommand(clientConfig, endpoint, input, config, contro
5425
5434
  wsHandlerInvoked = true;
5426
5435
  const executionSignal = signal;
5427
5436
  const pendingSession = new Promise((resolveSession, rejectSession) => {
5428
- const signal = mergeAbortSignals(executionSignal, [req.abort]);
5437
+ const signal = mergeAbortSignals(executionSignal, [req.signal]);
5429
5438
  const incomingQueue = new AsyncQueue({ maxSize: endpoint.maxIncomingQueueSize });
5430
5439
  const closedDeferred = Promise.withResolvers();
5431
5440
  const sessionController = {
package/index.min.js CHANGED
@@ -1,38 +1,38 @@
1
- const e=globalThis.fetch,t=e?.bind(globalThis),n=/* @__PURE__ */ Error(`fetch is not supported in current runtime`),r=(e,t)=>i()(e,t);function i(){if(typeof globalThis.fetch!=`function`)throw n;return globalThis.fetch===e&&t?t:globalThis.fetch.bind(globalThis)}const a={handle:r},o={handle:r,onInvalidEvent:void 0,reconnect:void 0};function s(){return{endpoint:``,http:{...a},interceptors:[],xsrf:void 0}}function c(){return{...s(),sse:{...o},webSocket:{handle:globalThis.WebSocket,beforeConnect:void 0,heartbeat:void 0,protocols:void 0,reconnect:void 0}}}const l=Symbol(`Client`);function u(e,t){return t===void 0?{...e}:{abort:t.abort??e.abort,onUploadProgress:t.onUploadProgress??e.onUploadProgress,onDownloadProgress:t.onDownloadProgress??e.onDownloadProgress,beforeConnect:t.beforeConnect??e.beforeConnect,protocols:t.protocols??e.protocols,heartbeat:t.heartbeat??e.heartbeat,reconnect:t.reconnect??e.reconnect}}function d(e,t){let n={config:e,options:t};function r(n){return d(e,u(t,n))}return r[l]=n,r}function f(...e){let t=c();for(let n of e)n(t);return d(t,{})}function p(e){return t=>{t.endpoint=e}}function m(e){return t=>{t.headers=new Headers(e)}}function h(...e){return t=>{t.interceptors.push(...e)}}function g(e){return t=>{t.querySerializer=e}}function _(e){return t=>{t.http.handle=e}}function v(e){return t=>{t.sse.handle=e}}function y(e){return t=>{t.webSocket.handle=e}}function b(e){return t=>{t.webSocket.beforeConnect=e}}function x(e){return t=>{t.webSocket.protocols=e}}function S(e){return t=>{t.webSocket.heartbeat=e}}function C(e){return t=>{t.webSocket.reconnect=e}}function w(e){return t=>{t.sse.onInvalidEvent=e}}function T(e){return t=>{t.sse.reconnect=e}}function E(e={}){return t=>{t.xsrf={cookieName:e.cookieName??`XSRF-TOKEN`,headerName:e.headerName??`X-XSRF-TOKEN`,tokenProvider:e.tokenProvider}}}function D(e){return t=>{t.withCredentials=e}}const O=Symbol.for(`defjs.struct.definition`),k=Symbol(`defjs.struct.omit`),A=Symbol(`defjs.struct.failed`),j=Symbol.for(`defjs.struct.STRUCT`),M=/* @__PURE__ */ new Set([`any`,`array`,`arrayBuffer`,`bigint`,`blob`,`boolean`,`date`,`discriminatedUnion`,`enum`,`file`,`intersection`,`literal`,`null`,`number`,`object`,`or`,`record`,`string`,`tuple`,`unknown`]);function ee(e){if(typeof e!=`object`||!e||!Object.hasOwn(e,O))return!1;let t=e[O];if(typeof t!=`object`||!t||!M.has(t.kind))return!1;let n=t.flags;return typeof n==`object`&&!!n&&typeof n.nullable==`boolean`&&typeof n.optional==`boolean`}const N=Symbol.for(`defjs.struct.guideSet`);function P(e){return typeof e==`object`&&!!e&&e[N]===!0}function F(e){let t=[];for(let n of e)t.includes(n)||t.push(n);if(t.length!==0)return t.length===1?t[0]:{[N]:!0,members:t}}function te(e){return P(e)?e.members:[e]}function ne(e,t){return e?t?F([...te(e),...te(t)]):e:t}function re(e,t){let n=t?.get(e)??e[j];if(P(n))return n;if(!ee(n))return;let r=n[O].kind;if(r===`object`||r===`record`)return n}function ie(e,t){e[j]=t}function I(e,t,n,r,i){if(Object.is(e,t)||e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime())return{ok:!0,value:e};if(B(e)&&B(t)){if(r>=256)return{ok:!1,path:[],received:t};let a=le();for(let t of Object.keys(e))a[t]=e[t];for(let e of Object.keys(t)){if(!z(a,e)){a[e]=t[e];continue}let o=I(a[e],t[e],n,r+1,i);if(!o.ok)return{ok:!1,path:[e,...o.path],received:o.received};a[e]=o.value}if(n){i?.owned.add(a);let n=ne(re(e,i?.guides),re(t,i?.guides));n&&ie(a,n)}return{ok:!0,value:a}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length||r>=256)return{ok:!1,path:[],received:t};let a=Array(e.length);for(let o=0;o<e.length;o+=1){let s=I(e[o],t[o],n,r+1,i);if(!s.ok)return{ok:!1,path:[o,...s.path],received:s.received};a[o]=s.value}return{ok:!0,value:a}}return{ok:!1,path:[],received:t}}function L(e){return/* @__PURE__ */ TypeError(`invalid intersection encode at ${ce(e)}`)}function R(e){let t=e[O];if(t.kind===`any`||t.kind===`unknown`)return!0;if(t.kind!==`intersection`)return!1;for(let e of t.options)if(!R(e))return!1;return!0}function ae(e,t){return e.valueSet===void 0?(e.valueSet=null,e.values.includes(t)):(e.valueSet??=new Set(e.values)).has(t)}function oe(e){return e}function se(e){switch(e.kind){case`any`:return`any`;case`array`:return`array<${se(e.item[O])}>`;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<${se(e.value[O])}>`;case`tuple`:return`tuple`;case`unknown`:return`unknown`}}function ce(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 le(){let e={};return Object.setPrototypeOf(e,null),e}function z(e,t){return Object.hasOwn(e,t)}function B(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ue(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)=>ue(e,t[n]));if(!B(e)||!B(t))return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>z(t,n)&&ue(e[n],t[n]))}function de(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e==`object`?e instanceof File?`File`:e instanceof Blob?`Blob`:e instanceof ArrayBuffer?`ArrayBuffer`:e instanceof Date?`Date`:`object`:typeof e}function fe(e){return typeof e==`string`?JSON.stringify(e):String(e)}function pe(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`||e===null}function me(e){return String(e)}var he=class extends TypeError{};function ge(e,t){let n=/* @__PURE__ */ new Map;if(t)for(let[e,r]of Object.entries(t))n.set(e,_e(e,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 _e(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 ve(e){let t=new URLSearchParams;if(!e)return t;for(let[n,r]of Object.entries(e))Se(t,n,r);return t}function ye(e,t){if(typeof URLSearchParams<`u`&&e instanceof URLSearchParams)return{queryParams:e,queryString:e.toString()};if(!B(e)){let e=ve();return{queryParams:e,queryString:e.toString()}}if(!t){let t=ve(e);return{queryParams:t,queryString:t.toString()}}let n=t(e);return{queryParams:new URLSearchParams(n),queryString:n}}function be(e,t){if(!t)return;if(t instanceof Headers){t.forEach((t,n)=>{e.set(n,t)});return}let n=/* @__PURE__ */ new Set,r=(t,r)=>{let i=t.toLowerCase();n.has(i)?e.append(t,r):(e.set(t,r),n.add(i))};if(Array.isArray(t))for(let[e,n]of t)r(e,n);else for(let[e,n]of Object.entries(t))if(n!==void 0){if(Array.isArray(n))for(let t of n){if(!we(t))throw TypeError(`header value for "${e}" requires a scalar value`);r(e,me(t))}else{if(!we(n))throw TypeError(`header value for "${e}" requires a scalar value`);r(e,me(n))}}}function xe(e,t,n=``){let r=De(e),i;try{i=new URL(t.replace(/^\/(?!\/)/,``),r)}catch{throw new he(`Endpoint path must resolve to a valid URL`)}if(i.origin!==r.origin||!i.pathname.startsWith(r.pathname))throw new he(`Endpoint path must not be an absolute URL or leave the client endpoint directory`);return Oe(t),n&&(i.search=n),i}function V(e){if(!e.baseEndpoint)throw new he(`Client endpoint is required`);let t=typeof e.queryString==`string`?e.queryString:e.queryParams?e.queryParams.toString():``;return xe(e.baseEndpoint,e.endpoint,t)}function Se(e,t,n){if(n!==void 0){if(Array.isArray(n))for(let r of n)r!==void 0&&Ce(e,t,r);else Ce(e,t,n)}}function Ce(e,t,n){if(n===null)throw TypeError(`query value for "${t}" must not be null`);if(pe(n))e.append(t,me(n));else throw TypeError(`a query serializer is required for nested query value "${t}"`)}function we(e){return pe(e)&&typeof e!=`bigint`}let Te,Ee;function De(e){if(e===Te)return Ee;let t;try{t=new URL(e)}catch{throw new he(`Client endpoint must be a valid URL`)}return t.search=``,t.hash=``,t.pathname.endsWith(`/`)||(t.pathname=`${t.pathname}/`),Te=e,Ee=t,t}function Oe(e){if(URL.canParse(e)||/^ *\/\//.test(e))throw new he(`Endpoint path must not be an absolute URL`);if(e.includes(`?`)||e.includes(`#`))throw new he(`Endpoint path must not include query or hash`);if(/[\u0000-\u001f\\]/.test(e))throw new he(`Endpoint path must not include C0 controls or backslashes`)}const ke=Symbol.for(`defjs.http.response`);function Ae(e){let t=e?.status??0,n=t>=200&&t<300,r=e?.statusText??``,i=e?.url??Ne(e?.request),a=e?.headers??new Headers(e?.request?.headers),o=e?.body;return{[ke]:!0,status:t,statusText:r,url:i,headers:a,body:o,ok:n}}function je(e){return e?.[ke]===!0}function Me(e){let t=`Http failure response: ${e.status}`;return e.statusText&&(t+=` - ${e.statusText}`),t}function Ne(e){return e?e.baseEndpoint?V(e).href:e.endpoint:``}const Pe=Symbol.for(`defjs.cause.aborted`),Fe=Symbol.for(`defjs.cause.timeout`);function Ie(e,t){return Object.defineProperty(e,t,{configurable:!1,enumerable:!1,value:!0,writable:!1}),e}function Le(e,t){return typeof e==`object`&&!!e&&t in e}const Re=Ie(/* @__PURE__ */ Error(`Request was aborted`),Pe),ze=Ie(/* @__PURE__ */ Error(`Request timed out`),Fe);function Be(e){return Le(e,Pe)||e instanceof DOMException&&e.name===`AbortError`}function Ve(e){return Le(e,Fe)||e instanceof DOMException&&e.name===`TimeoutError`||e instanceof Error&&e.name===`TimeoutError`}function He(e){return e instanceof Error?e.message:String(e)}function Ue(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 We(e,t){let n=Ue(Me(e));return n.code=`HTTP_STATUS`,n.data=t,n.response=e,n.status=e.status,n}function Ge(e){return We(e,e.body)}function Ke(e){return We(e,void 0)}function qe(e,t,n){let r=Ue(e===`RES_DECODE_FAILED`&&t instanceof Error&&t.name===`SyntaxError`?`Response body could not be decoded`:He(t),t);return r.code=e,r.response=n,r.status=n.status,r}function H(e,t,n){let r=Ue(t===void 0?e:He(t),t);return r.code=e,n!==void 0&&(r.response=n),r}function Je(e,t){return Be(e)?Ye(Ue(Re.message,e),`NET_ABORTED`,t):Ve(e)?Ye(Ue(e instanceof Error&&e.message?e.message:ze.message,e),`NET_TIMEOUT`,t):Ye(Ue(He(e),e),`NET_UNREACHABLE`,t)}function Ye(e,t,n){return e.code=t,n!==void 0&&(e.response=n),e}function Xe(e){return{kind:`http`,fn:e}}function Ze(e){return{kind:`sse`,fn:e}}function Qe(e){return{kind:`web-socket`,fn:e}}function $e(e,t){return t(e)}function et(e){return e.reduceRight((e,t)=>(n,r)=>t(n,t=>e(t,r)),$e)}function tt(e){return e.filter(e=>e.kind===`http`).map(e=>e.fn)}function nt(e){return e.filter(e=>e.kind===`sse`).map(e=>e.fn)}function rt(e){return e.filter(e=>e.kind===`web-socket`).map(e=>e.fn)}function it(e){if(e.aborted)return at(e)}function at(e){return Ve(e.reason)?ze:Re}function U(e){if(e.aborted)return ot(e)}function ot(e){return Je(at(e))}async function W(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)}}const st=/* @__PURE__ */ new WeakMap;function G(e){st.get(e)?.release()}function ct(e,t){if(t.length>0&&t.every(t=>t===void 0||t===e))return e;let n=[],r=/* @__PURE__ */ new Set,i=e=>{let t=st.get(e);if(t?.active)for(let e of t.sources)i(e);else r.has(e)||(r.add(e),n.push(e))};i(e);for(let e of t)e&&i(e);if(n.length===1)return n[0];let a=new AbortController,o=[],s,c={active:!0,release(){if(c.active){c.active=!1;for(let[e,t]of o)e.removeEventListener(`abort`,t)}},sources:n};st.set(a.signal,c),s=e=>{a.signal.aborted||(a.abort(e),c.release())};let l=n.find(e=>e.aborted);if(l)return s(l.reason),a.signal;for(let e of n){let t=()=>s(e.reason);o.push([e,t]),e.addEventListener(`abort`,t,{once:!0})}return a.signal}const lt=new TextDecoder;function ut(e){return lt.decode(e)}function dt(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return ut(e)}function ft(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 pt(e,t,n){switch(e){case`json`:return JSON.parse(ut(t));case`text`:return ut(t);case`blob`:return new Blob([ft(t)],{type:n});case`arraybuffer`:return ft(t);default:return null}}function mt(e,t){let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function ht(e){let t=e[O].kind;return t===`string`?`text`:t===`blob`||t===`file`?`blob`:t===`arrayBuffer`?`arraybuffer`:`json`}function gt(){let e=/* @__PURE__ */ new WeakSet;return{mark(t){return typeof t==`object`&&t&&e.add(t),t},has(t){return typeof t==`object`&&!!t&&e.has(t)}}}function _t(e,t){let n=t.cache.resolvedShape;if(n)return n;let r=vt(t.shape,t.cache.declaredDescriptors);for(let[e,t]of Object.entries(r))yt(t,`object field "${e}"`);return t.cache.resolvedShape=r,r}function vt(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 yt(e,t){if(!ee(e))throw TypeError(`${t} must be a struct`)}function bt(e,t,n=0){return St(e[O],t,e,n)}function xt(e,t,n=0){let r=[];for(let i of e){let e=i;bt(e,t,n)&&r.push(e)}return r}function St(e,t,n,r=0){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 ae(e,t);case`array`:return r<256&&Array.isArray(t)&&t.every(t=>bt(e.item,t,r+1));case`tuple`:return r<256&&Array.isArray(t)&&t.length===e.items.length&&e.items.every((e,n)=>bt(e,t[n],r+1));case`object`:return r<256&&B(t)&&Ct(n,t,r);case`record`:return r<256&&B(t)&&Object.keys(t).every(n=>bt(e.value,t[n],r+1));case`or`:return e.options.some(e=>bt(e,t,r));case`discriminatedUnion`:{if(!B(t)||!z(t,e.discriminator))return!1;let n=e.map.get(t[e.discriminator]);return n?bt(n,t,r):!1}case`intersection`:return e.options.every(e=>bt(e,t,r))}}function Ct(e,t,n){let r=e[O];if(r.kind!==`object`)return!0;let i=_t(e,r);for(let e in i){let r=i[e],a=r[O];if(!z(t,e)){if(wt(a))return!1}else if(!bt(r,t[e],n+1))return!1}return!0}function wt(e){return!e.flags.optional}function Tt(e,t){let n=t.cache.fields;if(n)return n;let r=t.cache.resolvedShape??_t(e,t),i=Object.freeze(Object.entries(r).map(([e,t])=>{let n=t,r=n[O].alias;return Object.freeze({alias:r,key:e,struct:n,wireKey:r??e})}));return Et(i),t.cache.fields=i,i}function Et(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 Dt(e,t,n,r=le()){let i=e[O];if(i.kind!==`object`)throw TypeError(`json encode expects object struct`);for(let a of Tt(e,i)){if(!z(t,a.key))continue;let e=t[a.key];e!==void 0&&(r[a.wireKey]=n(a.struct,e))}return r}function Ot(e,t,n,r,i){return ue(kt(e,t,i),kt(n,r,i))}function kt(e,t,n){let r=e[O];return n.encodeObject&&r.alias&&(r.kind===`array`||r.kind===`object`)?{alias:r.alias,value:t}:t}function At(e,t,n,r){if(!z(e,t)){e[t]=n;return}let i=I(e[t],n,!1,r);if(!i.ok)throw L([t,...i.path]);e[t]=i.value}function jt(e,t,n,r,i){let a=e[O];if(n.encodeObject===Dt){for(let o of Tt(e,a)){if(!z(t,o.key))continue;let e=t[o.key];e!==void 0&&At(r,o.wireKey,K(o.struct,e,n,i+1),i+1)}return}let o=_t(e,a);for(let e in o)z(t,e)&&At(r,e,K(o[e],t[e],n,i+1),i+1)}function Mt(e,t,n,r,i,a=le()){let o=_t(e,t);for(let e in o)z(n,e)&&(a[e]=K(o[e],n[e],r,i+1));return a}function K(e,t,n={},r=0){let i=e[O];if(t===null&&(i.kind===`null`||i.flags.nullable))return null;if(!(t===void 0&&i.flags.optional))switch(i.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 i.encode?i.encode(t):t;case`array`:return Array.isArray(t)?t.map(e=>K(i.item,e,n,r+1)):t;case`tuple`:return Array.isArray(t)?t.map((e,t)=>t<i.items.length?K(i.items[t],e,n,r+1):e):t;case`record`:{if(!B(t))return t;let e=Object.create(null);for(let[a,o]of Object.entries(t))e[a]=K(i.value,o,n,r+1);return e}case`object`:return B(t)?n.encodeObject?n.encodeObject(e,t,(e,t)=>K(e,t,n,r+1)):Mt(e,i,t,n,r):t;case`or`:{if(!n.encodeObject&&!n.selectUnionOptions&&i.uniformIdentityEncode){for(let e of i.options){let i=e;if(bt(i,t))return K(i,t,n,r)}return t}let e=(n.selectUnionOptions??xt)(i.options,t),a=e[0];if(!a)return t;let o=K(a,t,n,r);for(let i=1;i<e.length;i+=1){let s=e[i];if(!Ot(a,o,s,K(s,t,n,r),n))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`)}return o}case`discriminatedUnion`:if(B(t)){let e=i.map.get(t[i.discriminator]);if(e)return K(e,t,n,r)}return t;case`intersection`:{let e=[];for(let t of i.options){let n=t;R(n)||e.push(n)}if(e.length===0)return t;if(e.length===1){let i=e[0];return K(i,t,n,r)}if(i.objectSides&&(!n.encodeObject||n.encodeObject===Dt)&&B(t)){let i=le();for(let a of e)jt(a,t,n,i,r);return i}let a=K(e[0],t,n,r);for(let i=1;i<e.length;i+=1){let o=K(e[i],t,n,r),s=I(a,o,!1,r);if(!s.ok)throw L(s.path);a=s.value}return a}}}var Nt=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=Pt();for(let t of this.issues){let n=e;for(let e of t.path){let t=Ft(e),r=n[t];if(Object.hasOwn(n,t)&&r&&!Array.isArray(r))n=r;else{let e=Pt();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>`:ce(e.path)}: ${e.message}`).join(`
2
- `)}};function Pt(){let e=Object.create(null);return e._errors=[],e}function Ft(e){let t=String(e);return t===`_errors`?`\\_errors`:t}let It,Lt;function Rt(){return It!==void 0}function zt(e,t){let n=It;It=e;try{return t()}finally{It=n}}function q(e){if(It){let t=It(e);t!==void 0&&(e.message=t)}return Lt=e,A}function Bt(){return Lt}function Vt(e){Lt=e}function J(e,t,n,r,i){return{code:t,expected:n,message:i??`Expected ${n} at ${ce(e)}, received ${de(r)}`,path:e,received:r}}function Ht(e,t,n,r=!1,i=!1,a){return Ut(e,t,[],n,r,i,a)}function Ut(e,t,n,r,i,a,o){let s=Bt(),c=a?{owned:/* @__PURE__ */ new WeakSet,guides:o??/* @__PURE__ */ new WeakMap,changes:[]}:void 0,l=!1;try{let a=Gt(e,t,n,r,i,!0,c);return l=a!==A,a===A?{issue:Bt(),ok:!1}:{ok:!0,value:a}}finally{!l&&c&&Wt(c,0),Vt(s)}}function Wt(e,t){for(;e.changes.length>t;){let[t,n]=e.changes.pop();n?e.guides.set(t,n):e.guides.delete(t)}}function Gt(e,t,n,r,i,a,o,s){let c=e[O];if(t===void 0)return c.flags.optional?r===`field`?k:void 0:a?q(J([...n],r===`field`?`missing_key`:`invalid_type`,se(c),t)):A;if(t===null){if(c.kind===`null`||c.flags.nullable)return null;if(!(c.kind===`literal`&&c.value===null||c.kind===`intersection`||c.kind===`or`))return a?q(J([...n],`invalid_type`,se(c),t)):A}switch(c.kind){case`any`:case`unknown`:return s&&(s.passthrough=e),t;case`array`:{let e=Xt(c,t,n,i,a,o);if(s&&e!==A){let e=c.item,t=e[O].kind;(t===`any`||t===`unknown`)&&(s.passthrough=e)}return e}case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return qt(c,t,n,a);case`enum`:return Jt(c,t,n,a);case`intersection`:return nn(c,t,n,i,a,o);case`literal`:return Yt(c,t,n,a);case`object`:return Zt(e,c,t,n,i,a,o);case`or`:return en(c,t,n,i,a,o,s);case`discriminatedUnion`:return tn(c,t,n,i,a,o);case`record`:return Qt(e,c,t,n,i,a,o);case`tuple`:return $t(c,t,n,i,a,o)}}function Kt(e,t,n){return n?q(J([...t],`invalid_type`,`value nested at most 256 levels deep`,e)):A}function qt(e,t,n,r){return e.is(t)?e.decode?e.decode(t,[...n],q):t:r?q(J([...n],`invalid_type`,e.expected,t)):A}function Jt(e,t,n,r){return ae(e,t)?t:r?q(J([...n],`invalid_enum`,e.expected,t)):A}function Yt(e,t,n,r){return Object.is(t,e.value)?t:r?q(J([...n],`invalid_literal`,e.expected,t)):A}function Xt(e,t,n,r,i,a){if(!Array.isArray(t))return i?q(J([...n],`invalid_type`,`array`,t)):A;if(n.length>=256)return Kt(t,n,i);let o=e.item,s=[];for(let e=0;e<t.length;e+=1){n.push(e);let c=Gt(o,t[e],n,`value`,r,i,a);if(c===A)return A;n.pop(),s.push(c)}return s}function Zt(e,t,n,r,i,a,o,s,c,l){if(!B(n))return a?q(J([...r],`invalid_type`,`object`,n)):A;if(r.length>=256)return Kt(n,r,a);let u=l??le(),d=Tt(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:z(n,f)?n[f]:void 0;r.push(t.key);let m=Gt(t.struct,p,r,`field`,i,a,o);if(m===A)return A;if(r.pop(),m!==k){if(l!==void 0&&z(u,t.key)){let e=I(u[t.key],m,o!==void 0,r.length+1,o);if(!e.ok)return a?q(J([...r,t.key,...e.path],`invalid_intersection`,`compatible intersection value`,e.received)):A;u[t.key]=e.value}else u[t.key]=m}}return o&&!l&&(o.owned.add(u),ie(u,e)),u}function Qt(e,t,n,r,i,a,o){if(!B(n))return a?q(J([...r],`invalid_type`,`record`,n)):A;if(r.length>=256)return Kt(n,r,a);let s=t.value,c=Object.create(null);for(let e of Object.keys(n)){r.push(e);let t=Gt(s,n[e],r,`field`,i,a,o);if(t===A)return A;r.pop(),t!==k&&(c[e]=t)}return o&&(o.owned.add(c),ie(c,e)),c}function $t(e,t,n,r,i,a){if(!Array.isArray(t)||t.length!==e.items.length)return i?q(J([...n],`invalid_type`,`tuple of length ${e.items.length}`,t)):A;if(n.length>=256)return Kt(t,n,i);let o=[];for(let s=0;s<e.items.length;s+=1){n.push(s);let c=Gt(e.items[s],t[s],n,`value`,r,i,a);if(c===A)return A;n.pop(),o.push(c)}return o}function en(e,t,n,r,i,a,o){let s=i&&Rt(),c=n.length;for(let i of e.options){let e=a?.changes.length??0,l=Gt(i,t,n,`value`,r,s,a,o);if(l!==A)return l;a&&Wt(a,e),n.length=c}return i?q(J([...n],`invalid_union`,e.expected,t)):A}function tn(e,t,n,r,i,a){if(!B(t))return i?q(J([...n],`invalid_type`,`object`,t)):A;if(!r){let r=z(t,e.discriminator)?t[e.discriminator]:void 0;if(r===void 0)return i?q(J([...n,e.discriminator],`missing_key`,e.expected,void 0)):A;let o=e.map.get(r);if(!o)return i?q(J([...n,e.discriminator],`invalid_union`,e.expected,r)):A;let s=o;return Zt(s,s[O],t,n,!1,i,a,e.discriminator,r)}for(let r of e.discriminatorWireKeys??[]){if(!z(t,r))continue;let o=t[r];if(o===void 0)return i?q(J([...n,e.discriminator],`missing_key`,e.expected,void 0)):A;let s=e.map.get(o);return!s||e.wireKeyByValue?.get(o)!==r?i?q(J([...n,e.discriminator],`invalid_union`,e.expected,o)):A:Zt(s,s[O],t,n,!0,i,a,r,o)}return i?q(J([...n,e.discriminator],`missing_key`,e.expected,void 0)):A}function nn(e,t,n,r,i,a){if(e.objectSides&&B(t)){let o=le();for(let s of e.options){let e=s;if(Zt(e,e[O],t,n,r,i,a,void 0,void 0,o)===A)return A}return a&&(a.owned.add(o),ie(o,F(e.options))),o}let o=[],s=[];for(let c of e.options){let e=c,l=a?{}:void 0,u=Gt(e,t,n,`value`,r,i,a,l);if(u===A)return A;R(e)||(o.push(u),l?.passthrough&&s.push(l.passthrough))}if(o.length===0)return t;let c=o[0];for(let e=1;e<o.length;e+=1){let t=I(c,o[e],a!==void 0,n.length,a);if(!t.ok)return i?q(J([...n,...t.path],`invalid_intersection`,`compatible intersection value`,t.received)):A;c=t.value}if(a&&s.length>0){if(B(c))rn(c,s,a);else if(Array.isArray(c))for(let e of c)B(e)&&rn(e,s,a)}return c}function rn(e,t,n){let r=re(e,n.guides),i=F([...r?te(r):[],...t]);n.owned.has(e)?ie(e,i):(n.changes.push([e,n.guides.get(e)]),n.guides.set(e,i))}function an(e){return ee(e)&&e[O].kind===`object`}function on(e,t,n){yt(e,`struct`);let r=e;return zt(n?.errorMap,()=>{let e=Ht(r,t,`value`,n?.aliases===!0);return e.ok?[null,e.value]:[new Nt([e.issue]),void 0]})}function sn(e,t,n){yt(e,`struct`);let r=Ht(e,t,`value`,n?.useAliases,n?.tagObjects===!0,n?.guides);if(!r.ok)throw new Nt([r.issue]);return r.value}function cn(e,t,n){return e?sn(e,t,{guides:n,tagObjects:!0}):t}const ln={encodeObject:Dt};function un(e,t,n=`json`,r=0){let i=e[O];if(t===null&&i.flags.nullable)return null;if(!(t===void 0&&i.flags.optional))return an(e)?(fn(t,`${n} encode expects object value`),Dt(e,t,(e,t)=>pn(e,t,n,r+1))):pn(e,t,n,r)}function dn(e,t){return sn(e,t,{useAliases:!0})}function fn(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(t)}function pn(e,t,n,r){return an(e)?un(e,t,n,r):K(e,t,ln,r)}function mn(e,t){return un(e,t,`json`)}function hn(e,t){return dn(e,t)}function gn(e){return typeof Blob<`u`&&e instanceof Blob}function _n(e){return typeof FormData<`u`&&e instanceof FormData}function vn(e){return typeof URLSearchParams<`u`&&e instanceof URLSearchParams}function yn(e){return typeof ReadableStream<`u`&&e instanceof ReadableStream}function bn(e){switch(!0){case _n(e):case gn(e):case e instanceof ArrayBuffer:case vn(e):case yn(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 xn(e,t){let n=e.body;if(_n(n)){t.delete(`Content-Type`);return}if(n===void 0||t.has(`Content-Type`))return;let r=(!Object.hasOwn(e,`bodyContentTypeSource`)||e.bodyContentTypeSource===n)&&e.bodyContentType!==void 0?e.bodyContentType:Sn(n);r&&t.set(`Content-Type`,r)}function Sn(e){switch(!0){case _n(e):return null;case e instanceof ArrayBuffer:case ArrayBuffer.isView(e):return`application/octet-stream`;case gn(e):return e.type||`application/octet-stream`;case vn(e):return`application/x-www-form-urlencoded;charset=UTF-8`;case yn(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 Cn(e,t,n=e!==void 0){if(t===void 0){if(n)throw TypeError(`An endpoint with input requires an explicit builder`);return{}}let r=t(e);return r===void 0?{}:r}function wn(e,t,n){if(!B(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 r={};if(e.path!==void 0&&(r.params=Pn(e.path,n)),e.query!==void 0&&(r.query=Fn(e.query,n)),e.headers!==void 0&&(r.headers=In(e.headers,n)),e.body!==void 0){let t=Ln(e.body,n);r.body=t.body,t.defaultContentType&&(r.defaultContentType=t.defaultContentType)}return r}const Tn=/* @__PURE__ */ new Set([`any`,`arrayBuffer`,`bigint`,`blob`,`boolean`,`date`,`enum`,`file`,`literal`,`null`,`number`,`string`,`unknown`]);function En(e,t){return Y(e,void 0,void 0,t)}function Y(e,t,n=[],r){if(t!==void 0&&!P(t)&&Hn(t)&&(!B(e)||re(e,r)))return e;if(B(e)){let i=re(e,r);if(i)return On(e,t===void 0?i:Dn(i,t,e,n,r),n,r)}return P(t)?An(e,t.members,n,r):t?.[O].kind===`intersection`?kn(e,t,n,r):t?.[O].kind===`or`?ir(e,t,n,r):Array.isArray(e)?Qn(e,t,n,r):B(e)?er(e,t,n,r):tr(e,t)}function Dn(e,t,n,r,i){let a=jn(te(t),n,r,!0,i),o=[];for(let t of te(e))a.includes(t)&&o.push(t);return o.length===0?e:F(o)}function On(e,t,n,r){return P(t)?An(e,t.members,n,r):Vn(e,t,n,r)}function kn(e,t,n,r){let i=t[O];return i.objectSides&&B(e)?An(e,i.options,n,r):Array.isArray(e)?An(e,[t],n,r):Y(e,void 0,n,r)}function An(e,t,n,r){let i=jn(t,e,n,Array.isArray(e),r);return Array.isArray(e)?$n(e,i,n,r):B(e)?Kn(e,i,n,r):Nn(e,i)}function jn(e,t,n,r,i){let a=[];for(let o of e)Mn(o,t,n,a,r,i);return a}function Mn(e,t,n,r,i,a){let o=e[O];switch(o.kind){case`or`:{let e=xt(o.options,t),s=e[0];if(!s)return;if(e.length>1){let r=Y(t,s,n,a);for(let i=1;i<e.length;i+=1)if(!ue(r,Y(t,e[i],n,a)))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`)}Mn(s,t,n,r,i,a);return}case`discriminatedUnion`:{if(!B(t))return;let e=o.map.get(t[o.discriminator]);e&&Mn(e,t,n,r,i,a);return}case`intersection`:if(o.objectSides||i)for(let e of o.options){let o=e;i&&R(o)||Mn(o,t,n,r,i,a)}return;default:r.push(e)}}function Nn(e,t){if(e!==void 0){if(e===null){for(let n of t){let t=n[O];if(t.kind===`null`||t.flags.nullable||Tn.has(t.kind))return tr(e,n)}return null}for(let n of t)if(Tn.has(n[O].kind))return tr(e,n);return nr(e)}}function Pn(e,t){let n=En(e,t);if(!B(n))throw TypeError(`path value must be an object`);let r=Object.create(null);for(let[e,t]of Object.entries(n)){if(t===null)throw TypeError(`path value for "${e}" must not be null`);if(typeof t==`object`)throw TypeError(`path value for "${e}" must be a scalar`);r[e]=String(t)}return r}function Fn(e,t){if(vn(e))return e;let n=En(e,t);if(!B(n))throw TypeError(`query value must be an object or URLSearchParams`);return sr(n,`query`),n}function In(e,t){if(typeof Headers<`u`&&e instanceof Headers||Array.isArray(e))return e;let n=En(e,t);if(!B(n))throw TypeError(`headers value must be a header record or HeadersInit`);for(let[e,t]of Object.entries(n))lr(t,e);return n}function Ln(e,t){let n=ur(e,t);return n&&B(e)?{body:zn(e,n,t)}:_n(e)||vn(e)||gn(e)||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||yn(e)||typeof e==`string`?{body:e}:{body:JSON.stringify(En(e,t),Rn),defaultContentType:`application/json`}}function Rn(e,t,n=`body`){if(typeof t==`function`||typeof t==`symbol`||typeof t==`number`&&!Number.isFinite(t)||typeof t==`object`&&t&&!Array.isArray(t)&&!B(t)){let r=typeof t==`number`?String(t):typeof t==`object`?t.constructor?.name||Object.prototype.toString.call(t).slice(8,-1):typeof t,i=n===`body`?`Send JSON data, a string, bytes, Blob, FormData, URLSearchParams or a Web ReadableStream (ReadableStream.from(iterable), Readable.toWeb(readable)).`:`Send JSON data.`;throw TypeError(`${n}${e?` field "${e}"`:``} is not JSON data: ${r}. ${i}`)}return t}function zn(e,t,n){let r=En(e,n);if(t===`formData`){let e=new FormData;for(let[n,i]of Object.entries(r))Bn(e,n,i,t);return e}let i=new URLSearchParams;for(let[e,n]of Object.entries(r))Bn(i,e,n,t);return i}function Bn(e,t,n,r){if(n!==void 0){if(Array.isArray(n))for(let i of n)Bn(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 Vn(e,t,n,r){return Kn(e,[t],n,r)}function Hn(e){let t=e[O].kind;return t===`any`||t===`unknown`}const Un=/* @__PURE__ */ new WeakMap;function Wn(e){let t=Un.get(e);return t||(t={fieldKeys:new Set(e.map(e=>e.key)),wireKeys:new Set(e.map(e=>e.wireKey))},Un.set(e,t)),t}function Gn(e,t,n,r){let i=Tt(t,t[O]),a=le();for(let t of i){if(!Object.hasOwn(e,t.key))continue;let i=e[t.key];i!==void 0&&(a[t.wireKey]=Y(i,t.struct,[...n,t.key],r))}let{fieldKeys:o,wireKeys:s}=Wn(i);for(let t of Object.keys(e)){if(o.has(t))continue;if(s.has(t))throw TypeError(`wire key collision for "${t}"`);let i=e[t];i!==void 0&&(a[t]=Y(i,void 0,[...n,t],r))}return a}function Kn(e,t,n,r){if(t.length===1&&t[0][O].kind===`object`)return Gn(e,t[0],n,r);let i=[],a=[],o=[];for(let e of t){let t=e[O].kind;t===`object`?i.push(e):t===`record`?a.push(e):Hn(e)&&o.push(e)}let s=le(),c=/* @__PURE__ */ new Set,l=/* @__PURE__ */ new Set,u=/* @__PURE__ */ new Map,d=[];for(let e of i)for(let t of Tt(e,e[O]))c.add(t.key),l.add(t.wireKey),Jn(u,d,t.key,t.wireKey,t.struct);let f=a.map(e=>e[O].value),p=a.length>0?Xn(e,d):d;if(a.length>0)for(let e of p)for(let t of f)Jn(u,d,e,e,t);for(let t of p){if(!Object.hasOwn(e,t))continue;let i=e[t];i!==void 0&&Yn(s,i,u.get(t),[...n,t],r)}if(a.length>0||o.length>0)return qn(s,e,o,n,r);for(let t of Object.keys(e)){if(c.has(t))continue;if(l.has(t))throw TypeError(`wire key collision for "${t}"`);let i=e[t];i!==void 0&&(s[t]=Y(i,void 0,[...n,t],r))}return s}function qn(e,t,n,r,i){let a=e;for(let e of n){let n=Y(t,e,r,i),o=I(a,n,!1,r.length);if(!o.ok)throw L([...r,...o.path]);a=o.value}return a}function Jn(e,t,n,r,i){let a=e.get(n);a||(a=[],e.set(n,a),t.push(n));let o=Hn(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 Yn(e,t,n,r,i){for(let a of n){let n=a.passthrough?a.structs[0]:F(a.structs);Zn(e,a.wire,Y(t,n,r,i),r.length)}}function Xn(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 Zn(e,t,n,r){if(!Object.hasOwn(e,t)){e[t]=n;return}let i=I(e[t],n,!1,r);if(!i.ok)throw L([t,...i.path]);e[t]=i.value}function Qn(e,t,n,r){let i=t?rr(t,e):void 0;if(i?.kind===`array`){let t=i.item;return e.map((e,i)=>Y(e,t,[...n,i],r))}if(i?.kind===`tuple`){let t=i.items;return e.map((e,i)=>Y(e,i<t.length?t[i]:void 0,[...n,i],r))}return e.map((e,t)=>Y(e,void 0,[...n,t],r))}function $n(e,t,n,r){return e.map((e,i)=>{let a=[],o=[];for(let e of t){let t=e[O],n;t.kind===`array`?n=t.item:t.kind===`tuple`&&i<t.items.length&&(n=t.items[i]),n&&(Hn(n)?o.push(n):a.push(n))}let s=[...n,i],c=Y(e,F(a),s,r);for(let t of o){let n=Y(e,t,s,r),i=I(c,n,!1,s.length);if(!i.ok)throw L([...s,...i.path]);c=i.value}return c})}function er(e,t,n,r){let i=t?rr(t,e):void 0;return i?.kind===`object`?Vn(e,i.struct,n,r):i?.kind===`record`?ar(i.valueStruct,e,n,r):or(e,n,r)}function tr(e,t){return nr(t&&Tn.has(t[O].kind)?K(t,e):e)}function nr(e){return e instanceof Date?e.toISOString():typeof e==`bigint`?e.toString():e}function rr(e,t){let n=e[O];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(!B(t))return;let e=n.map.get(t[n.discriminator]);return e?{kind:`object`,struct:e}:void 0}default:return}}function ir(e,t,n,r){let i=xt(t[O].options,e),a=i[0];if(!a)return Y(e,void 0,n,r);let o=Y(e,a,n,r);for(let t=1;t<i.length;t+=1)if(!ue(o,Y(e,i[t],n,r)))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`);return o}function ar(e,t,n,r){let i=Object.create(null);for(let[a,o]of Object.entries(t))i[a]=Y(o,e,[...n,a],r);return i}function or(e,t,n){if(Symbol.iterator in e||Symbol.asyncIterator in e){let e=t.at(-1);throw TypeError(`${e===void 0?`value`:`field "${e}"`} is an iterable object, not a record. Convert it first: Array.from(iterable) for a list or header pairs, ReadableStream.from(iterable) for a streamed body.`)}let r=le();for(let i of Object.keys(e)){let a=e[i];a!==void 0&&(r[i]=Y(a,void 0,[...t,i],n))}return r}function sr(e,t){for(let[n,r]of Object.entries(e))cr(r,n,t)}function cr(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)cr(r,t,n);else B(e)&&sr(e,n)}function lr(e,t){if(e===null)throw TypeError(`header value for "${t}" must not be null`);if(Array.isArray(e))for(let n of e)lr(n,t);else if(typeof e==`object`&&e)throw TypeError(`header value for "${t}" must be a scalar`)}function ur(e,t){if(!B(e))return;let n=t?.get(e)??dr(e);if(!ee(n))return;let r=n[O];if(r.kind===`object`)return r.codec}function dr(e){return e[j]}function fr(e,t,n,r,i){let a=wn(Cn(n,r,i.inputDeclared),i.transport,i.inputGuides);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}=ye(a.query,i.querySerializer),c=i.defaultHeaders?new Headers(i.defaultHeaders):new Headers;be(c,a.headers);let l=c.has(`content-type`);i.transport===`sse`&&a.defaultContentType&&!l&&c.set(`content-type`,a.defaultContentType);let u={abort:i.abort,baseEndpoint:i.baseEndpoint,body:a.body,bodyContentTypeSource:a.body,endpoint:ge(t,a.params),headers:c,method:e,operation:i.operation,queryParams:o,queryString:s,withCredentials:i.withCredentials??!1};return V(u),(i.transport===`sse`||l)&&xn(u,c),i.transport===`http`&&(u.bodyContentType=a.defaultContentType??Sn(u.body)),u}function pr(e,t,n,r,i){return{...fr(e,t,n,r,{abort:i.abort,baseEndpoint:i.baseEndpoint,defaultHeaders:i.defaultHeaders,inputDeclared:i.inputDeclared,inputGuides:i.inputGuides,operation:i.operation,querySerializer:i.querySerializer,transport:`http`,withCredentials:i.withCredentials}),downloadProgress:i.downloadProgress,errorResponseType:i.errorResponseType,responseType:i.responseType,uploadProgress:i.uploadProgress,xsrf:i.xsrf}}var mr=class extends Error{code;meta;constructor(e,t,n){super(He(t),{cause:t}),this.code=e,this.meta=n,Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:`BodyFailure`,writable:!0})}};function hr(e){return e instanceof mr}async function gr(e,t,n){return t?W(()=>{let r=e();return r.then(e=>{t.aborted&&e.body&&n(e.body,t)}).catch(()=>void 0),r},t):e()}const _r=/* @__PURE__ */ Error(`ERR_STREAMING_REQUEST_UNSUPPORTED`);function vr(e){return yn(e)}let yr;function br(){if(yr!==void 0)return yr;if(typeof Request!=`function`||typeof ReadableStream>`u`)return yr=!1,yr;try{let e=new ReadableStream({start(e){e.close()}}),t=new Request(`https://example.com`,{body:e,duplex:`half`,method:`POST`});return yr=t.body!==null&&!t.headers.has(`Content-Type`),yr}catch{return yr=!1,yr}}function xr(e,t){let{headers:n}=t;n.has(`Accept`)||n.set(`Accept`,t.defaultAccept);let r=e.withCredentials?`include`:void 0,i=bn(e.body),a={body:i,credentials:r,headers:n,method:e.method,signal:t.signal};if(vr(i)){if(!br())throw _r;i=t.wrapReadableStreamBody?.(i)??i,a.body=i,a.duplex=`half`}return a}const Sr=/^\s*([\w!#$%&'*+.^`|~-]+)\/([\w!#$%&'*+.^`|~-]+)\s*(?:;|$)/i;function Cr(e){let t=e.match(Sr);if(t)return t[1].toLowerCase()+`/`+t[2].toLowerCase()}function wr(e){let t=e.trimStart(),n=e.length-t.length,r=Er(e,n);if(!r||e[r.position]!==`/`)return{position:r?.position??n};n=r.position+1;let i=Er(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 Tr(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 Er(e,t){let n=t;for(;t<e.length&&Tr(e.charCodeAt(t));)t+=1;return t>n?{value:e.slice(n,t),position:t}:void 0}function Dr(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 Or(e){return e.get(`Content-Type`)||``}function kr(e){let t=Cr(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 Ar=/* @__PURE__ */ new Set([`GET`,`HEAD`,`OPTIONS`,`TRACE`]);function jr(e){return Ar.has(e.toUpperCase())}function Mr(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 Nr(e){return e.baseEndpoint?typeof location>`u`||V(e).origin===location.origin:!1}function Pr(e){if(typeof e==`string`&&e!==``)return e}function Fr(e,t){if(t.tokenProvider)return Pr(t.tokenProvider({request:e}));if(typeof document<`u`)return Pr(Mr(t.cookieName))}function Ir(e,t){let n=e.xsrf;if(!n||jr(e.method)||t.has(n.headerName)||!Nr(e))return;let r=Fr(e,n);r!==void 0&&t.set(n.headerName,r)}function Lr(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?W(()=>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 Rr(e,t,n){e.uploadProgress&&vr(e.body)&&vr(t)&&t.cancel(n).catch(()=>void 0)}function zr(e,t){e.cancel(t.reason).catch(()=>void 0)}function Br(e){let t=new Headers(e.headers),n=e.uploadProgress;return xn(e,t),Ir(e,t),xr(e,{defaultAccept:`application/json, text/plain, */*`,headers:t,signal:e.abort,wrapReadableStreamBody:n?r=>Lr(r,n,Dr(t),e.abort):void 0})}function Vr(e){let t=V(e),n=Br(e);try{return new Request(t,n)}catch(t){throw Rr(e,n.body,t),t}}function Hr(e){e.cancel().catch(()=>void 0)}async function Ur(e,t,n){try{return new Uint8Array(await(t?W(()=>e.arrayBuffer(),t):e.arrayBuffer()))}catch(e){throw t?.aborted?e:new mr(`NET_BODY_INCOMPLETE`,e,n)}}async function Wr(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 Hr(t.body),Ae({status:o,statusText:s,headers:a,url:c});let u=a.get(`Content-Encoding`)?.trim().toLowerCase(),d=u!==void 0&&u!==`identity`?0:Dr(a),f=Or(a),p={headers:a,ok:o>=200&&o<300,status:o,statusText:s,url:c},m;if(t.body&&l===`json`&&!kr(f))throw Hr(t.body),new mr(`RES_MEDIA_TYPE_INVALID`,/* @__PURE__ */ TypeError(`Expected a JSON media type, received ${f||`<none>`}`),p);if(t.body&&r&&!i){let n=await Ur(t,e.abort,p);try{m=pt(l,n,f)}catch(e){throw new mr(`RES_DECODE_FAILED`,e,p)}}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,s>d&&(d=0),i){let e={lengthComputable:d>0,loaded:s,total:d};try{await(a?W(()=>i(e),a):i(e))}catch(e){throw new mr(`EXT_OBSERVER_FAILED`,e,p)}}}}catch(e){throw r.cancel(hr(e)?e.cause:e).catch(()=>void 0),a?.aborted||hr(e)?e:new mr(`NET_BODY_INCOMPLETE`,e,p)}finally{a?.removeEventListener(`abort`,o),r.releaseLock()}try{m=pt(l,mt(n,s),f)}catch(e){throw new mr(`RES_DECODE_FAILED`,e,p)}}return Ae({status:o,statusText:s,headers:a,url:c,body:m})}async function Gr(e,t=i()){t===r&&(t=i());let n=e.uploadProgress;if(!n)return Kr(e,t);let a,o={...e,uploadProgress:async e=>{try{await n(e)}catch(e){throw a??=new mr(`EXT_OBSERVER_FAILED`,e,void 0),e}}},s;try{s=await Kr(o,t)}catch(t){throw a!==void 0&&!e.abort?.aborted?a:t}if(a!==void 0)throw a;return s}async function Kr(e,n){let r=e.abort,i=n===t,a=e,o,s,c=``,l;try{if(a=await Jr(e),i){let e=V(a),t=Br(a);s=t.body,c=e.href,l=await gr(()=>n(e,t),r,zr)}else{let e=Vr(a);o=e,c=e.url,l=await gr(()=>n(e),r,zr)}}catch(e){throw Rr(a,o?.body??s,e),(r&&it(r))??e}try{return await Wr(e,l,c,i)}catch(e){throw(r&&it(r))??e}}function qr(){return typeof location<`u`||typeof document<`u`||`importScripts`in globalThis}async function Jr(e){let{uploadProgress:t,body:n}=e;if(!t||n==null||vr(n)||!br()||qr())return e;e.abort?.throwIfAborted();let r=Yr(n);if(!r)return e;let i=new Headers(e.headers);xn(e,i),r.contentType&&(n instanceof FormData||!i.has(`Content-Type`)&&e.bodyContentType!==null)&&i.set(`Content-Type`,r.contentType),r.total>0&&i.set(`Content-Length`,String(r.total));let a=Dr(i),o={lengthComputable:a>0,loaded:0,total:a};try{e.abort?await W(()=>t(o),e.abort):await t(o)}catch(e){throw r.stream.cancel(e).catch(()=>void 0),e}return{...e,body:r.stream,bodyContentType:i.get(`Content-Type`),bodyContentTypeSource:r.stream,headers:i}}function Yr(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);return{contentType:t.headers.get(`Content-Type`),stream:t.body,total:0}}}function Xr(e){let t={...e};return(async(e,n)=>Zr(e[l].config,t,n,e[l].options))}async function Zr(e,t,r,i){let a=i,o=e=>[e,void 0,void 0],s=a.abort;if(s?.aborted)return o(ot(s));let c=ct(new AbortController().signal,[s]),l=e=>(G(c),o(e)),u=t.output?ht(t.output):void 0,d=t.error?ht(t.error):void 0,f=/* @__PURE__ */ new WeakMap,p;try{p=cn(t.input,r,f)}catch(e){return l(U(c)??H(`REQ_INPUT_INVALID`,e))}let m=U(c);if(m)return l(m);let h;try{h=pr(t.method,t.path,p,t.builder,{abort:c,baseEndpoint:e.endpoint,defaultHeaders:e.headers,downloadProgress:a.onDownloadProgress,inputDeclared:t.input!==void 0,inputGuides:f,errorResponseType:d,operation:t.operation,querySerializer:e.querySerializer,responseType:u,uploadProgress:a.onUploadProgress,withCredentials:e.withCredentials,xsrf:e.xsrf})}catch(e){return l(U(c)??H(`REQ_BUILD_FAILED`,e))}let g=U(c);if(g)return l(g);let _=gt(),v=new AbortController,y=!1,b,x,S=t=>{if(y){let e=Promise.reject(/* @__PURE__ */ Error(`HTTP interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}try{V(t)}catch(e){let t=Promise.reject(e);return t.catch(()=>void 0),t}let n=t.abort===void 0||t.abort===c?v.signal:ct(v.signal,[t.abort]);if(U(n)){let e=Promise.reject(_.mark(it(n)));return G(n),e.catch(()=>void 0),e}let r=Gr({...t,abort:n},e.http.handle).catch(e=>{throw _.mark(it(n)??e)}).finally(()=>{G(n)});return b=r,r},C=()=>{v.signal.aborted||v.abort(c.reason)};try{try{let t=et(tt(e.interceptors));c.aborted?C():c.addEventListener(`abort`,C,{once:!0});let n=t(h,S);n.catch(()=>void 0);let r=await W(()=>n,c);if(!je(r))throw TypeError(`HTTP interceptor must resolve an HttpResponse from next() or makeResponse()`);x=r}catch(e){let t=_.has(e),r=U(c);if(r)return C(),b&&await Promise.allSettled([b]),o(r);if(e instanceof he)return o(H(`REQ_BUILD_FAILED`,e));if(hr(e))return o(ni(e));if(t&&(e===_r||e===n))return o(H(`ENV_UNSUPPORTED`,e));let i=Je(e);return i.code===`NET_UNREACHABLE`?o(t?i:H(`EXT_INTERCEPTOR_FAILED`,e)):o(i)}}finally{c.removeEventListener(`abort`,C),y=!0,v.signal.aborted||v.abort(/* @__PURE__ */ Error(`HTTP interceptor chain settled`)),x||G(c)}let w=x,T=Qr(w),E=w.ok?t.output:t.error;if(!E)return G(c),w.ok?[null,void 0,T]:o(Ke(T));let D;try{D=await ti(E,w,c)}catch(e){let t=U(c);return t?o(t):e instanceof $r?o(qe(`RES_MEDIA_TYPE_INVALID`,e,T)):e instanceof Nt?o(qe(`RES_STRUCT_MISMATCH`,e,T)):o(qe(`RES_DECODE_FAILED`,e,T))}finally{G(c)}let O={...T,body:D};return w.ok?[null,D,O]:o(Ge(O))}function Qr(e){return{headers:e.headers,ok:e.ok,status:e.status,statusText:e.statusText,url:e.url}}var $r=class extends TypeError{constructor(e){super(`Expected a JSON media type, received ${e||`<none>`}`),this.name=`TypeError`}};function ei(e){return e.body===void 0}async function ti(e,t,n){let r=ht(e),i=ei(t),a=Or(t.headers);if(!i&&r===`json`&&!kr(a))throw new $r(a);if(i){if(r===`text`)return sn(e,``);throw TypeError(`Response body is absent`)}return typeof Blob<`u`&&t.body instanceof Blob?await W(()=>ri(e,t.body),n):(n.throwIfAborted(),await ri(e,t.body))}function ni(e){let{cause:t,code:n,meta:r}=e;return n===`RES_DECODE_FAILED`||n===`RES_MEDIA_TYPE_INVALID`?qe(n,t,r):H(n,t,r)}async function ri(e,t){let n=ht(e);if(n===`json`){if(typeof t==`string`)return hn(e,t);let n=await ii(t);return hn(e,n===void 0?t:JSON.parse(n))}return n===`text`?sn(e,await ii(t)??t):sn(e,t)}function ii(e){return dt(e)??(typeof Blob<`u`&&e instanceof Blob?e.text():void 0)}function ai(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 oi(e,t){let n=ai(e,t);return Xe((e,t)=>t(n(e)))}function si(e,t){let n=ai(e,t);return Ze((e,t)=>t(n(e)))}function ci(e,t,n){if(!e)return;let r=e.attempts??3;if(!Number.isSafeInteger(r)||r<0)throw RangeError(`${n} reconnect attempts must be a non-negative safe integer`);let i=e.delayMs??t.delayMs,a=e.factor??t.factor,o=e.jitter??t.jitter,s=e.maxDelayMs??t.maxDelayMs;return c(`delayMs`,i,0),c(`factor`,a,Number.MIN_VALUE),c(`jitter`,o,0,1),s!==1/0&&c(`maxDelayMs`,s,0),{attempts:r,delayMs:i,factor:a,jitter:o,maxDelayMs:s};function c(e,t,r,i=1/0){if(!Number.isFinite(t)||t<r||t>i)throw RangeError(`${n} reconnect ${e} is out of range`)}}const li=/^(?:[ \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 ui(e){let t=wr(e);return!!t.essence&&e.trimStart()===e&&li.test(e.slice(t.position))}const di=Symbol(`NO_ERROR`);var fi=class{values=[];waiting=[];maxSize;done=!1;error=di;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===di?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 pi=2147483647;function mi(e,t){if(!Number.isFinite(e.delayMs))throw RangeError(`Reconnect delay must be finite`);let n=e.delayMs===0?0:Math.min(e.delayMs*e.factor**Math.max(0,t-1),e.maxDelayMs,Number.MAX_VALUE),r=e.jitter<=0?n:Math.max(0,Math.round(n*(1+(Math.random()*2-1)*e.jitter)));return Math.min(r,e.maxDelayMs,pi)}async function hi(e,t){if(!Number.isFinite(e))throw RangeError(`Reconnect delay must be finite`);if(e<=0)return;let n=Math.min(e,pi);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 gi=class extends Error{constructor(){super(`SSE parser buffer exceeded maxBufferSize`),this.name=`SSEParserLimitError`}};async function _i(e,t,n){let r=e.getReader();try{for(;;){let e=()=>r.read(),i=n?await W(e,n):await e();if(i.done)return;await t(i.value)}}catch(e){throw r.cancel(e).catch(()=>void 0),e}finally{r.releaseLock()}}function vi(e,t){let n=bi(t?.maxBufferSize),r=[],i=0,a=!1;function o(e){if(i+=e.length,n!==void 0&&i>n)throw new gi;r.push(e)}return async t=>{let n=0;for(let s=0;s<t.length;s+=1){let c=t[s];if(a&&(a=!1,c===10)){n=s+1;continue}if(c!==10&&c!==13)continue;let l=t.subarray(n,s);o(l);let u=l;if(r.length>1){u=new Uint8Array(i);let e=0;for(let t of r)u.set(t,e),e+=t.length}r=[],i=0,a=c===13,n=s+1;let d=e(u);d&&await d}n<t.length&&o(t.subarray(n))}}function yi(e,t,n,r){let i=bi(r?.maxBufferSize),a=new TextDecoder(`utf-8`,{ignoreBOM:!0}),o=!0,s=``,c=``,l=``,u=0;return r=>{let d=r;if(o&&(o=!1,r[0]===239&&r[1]===187&&r[2]===191&&(d=r.subarray(3))),d.length===0){let e=l===``?void 0:{id:s,event:c,data:l.slice(0,-1)};return c=``,l=``,u=0,e?n?.(e):void 0}let f=d.indexOf(58),p=a.decode(f<0?d:d.subarray(0,f)),m=f<0?d.length:f+1;d[m]===32&&(m+=1);let h=a.decode(d.subarray(m));switch(p){case`data`:if(u+=d.length-m+1,i!==void 0&&u>i)throw new gi;l+=`${h}\n`;break;case`event`:c=h;break;case`id`:h.includes(`\0`)||(s=h,e(h));break;case`retry`:/^[0-9]+$/.test(h)&&t(Math.min(Number(h),2147483647))}}}function bi(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<1))throw TypeError(`SSE maxBufferSize must be a positive safe integer`);return e}const xi=`text/event-stream`,Si=`last-event-id`,Ci=1e3,wi={delayMs:Ci,factor:1,jitter:0,maxDelayMs:1/0},Ti=/* @__PURE__ */ new Set([`DELETE`,`GET`,`HEAD`,`OPTIONS`,`PUT`]);var X=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 Ei(e){return e instanceof X?e.code:void 0}function Di(e){return e instanceof X&&e.statusSignal}function Oi(e){return e instanceof X&&e.cause!==void 0?e.cause:e}function ki(e){if(e instanceof X)return e;if(e instanceof gi)return new X(`CAP_BUFFER_EXCEEDED`,e.message,{cause:e})}async function Ai(e,t){let n=ci(t.reconnect,wi,`SSE`),r=V(e),i=t.failure??{},a=new fi({maxSize:t.maxQueueSize}),o=Promise.withResolvers(),s=Promise.withResolvers(),c=new AbortController,l=t.fetch??globalThis.fetch.bind(globalThis),u=new Headers(e.headers);u.has(`Accept`)||u.set(`Accept`,xi);let d=!1,f=!1,p=t.retryInterval??n?.delayMs??Ci,m=0,h=``,g=!1,_,v,y={get open(){
1
+ const e=globalThis.fetch,t=e?.bind(globalThis),n=/* @__PURE__ */ Error(`fetch is not supported in current runtime`),r=(e,t)=>i()(e,t);function i(){if(typeof globalThis.fetch!=`function`)throw n;return globalThis.fetch===e&&t?t:globalThis.fetch.bind(globalThis)}const a={handle:r},o={handle:r,onInvalidEvent:void 0,reconnect:void 0};function s(){return{endpoint:``,http:{...a},interceptors:[],xsrf:void 0}}function c(){return{...s(),sse:{...o},webSocket:{handle:globalThis.WebSocket,beforeConnect:void 0,heartbeat:void 0,protocols:void 0,reconnect:void 0}}}const l=Symbol(`Client`),u=[`signal`,`onUploadProgress`,`onDownloadProgress`,`beforeConnect`,`protocols`,`heartbeat`,`reconnect`];function d(e){let t={};if(e===void 0)return t;for(let n of u){let r=e[n];r!==void 0&&(t[n]=r)}return t}function f(e,t){return{[l]:{config:e,options:t}}}function p(...e){let t=c();for(let n of e)n(t);function n(e){return f(t,d(e))}return n[l]={config:t,options:{}},n}function m(e){return t=>{t.endpoint=e}}function h(e){return t=>{t.headers=new Headers(e)}}function g(...e){return t=>{t.interceptors.push(...e)}}function _(e){return t=>{t.querySerializer=e}}function v(e){return t=>{t.http.handle=e}}function y(e){return t=>{t.sse.handle=e}}function b(e){return t=>{t.webSocket.handle=e}}function x(e){return t=>{t.webSocket.beforeConnect=e}}function S(e){return t=>{t.webSocket.protocols=e}}function C(e){return t=>{t.webSocket.heartbeat=e}}function w(e){return t=>{t.webSocket.reconnect=e}}function T(e){return t=>{t.sse.onInvalidEvent=e}}function E(e){return t=>{t.sse.reconnect=e}}function D(e={}){return t=>{t.xsrf={cookieName:e.cookieName??`XSRF-TOKEN`,headerName:e.headerName??`X-XSRF-TOKEN`,tokenProvider:e.tokenProvider}}}function ee(e){return t=>{t.withCredentials=e}}const O=Symbol.for(`defjs.struct.definition`),k=Symbol(`defjs.struct.omit`),A=Symbol(`defjs.struct.failed`),j=Symbol.for(`defjs.struct.STRUCT`),te=/* @__PURE__ */ new Set([`any`,`array`,`arrayBuffer`,`bigint`,`blob`,`boolean`,`date`,`discriminatedUnion`,`enum`,`file`,`intersection`,`literal`,`null`,`number`,`object`,`or`,`record`,`string`,`tuple`,`unknown`]);function M(e){if(typeof e!=`object`||!e||!Object.hasOwn(e,O))return!1;let t=e[O];if(typeof t!=`object`||!t||!te.has(t.kind))return!1;let n=t.flags;return typeof n==`object`&&!!n&&typeof n.nullable==`boolean`&&typeof n.optional==`boolean`}const ne=Symbol.for(`defjs.struct.guideSet`);function N(e){return typeof e==`object`&&!!e&&e[ne]===!0}function re(e){let t=[];for(let n of e)t.includes(n)||t.push(n);if(t.length!==0)return t.length===1?t[0]:{[ne]:!0,members:t}}function ie(e){return N(e)?e.members:[e]}function ae(e,t){return e?t?re([...ie(e),...ie(t)]):e:t}function oe(e,t){let n=t?.get(e)??e[j];if(N(n))return n;if(!M(n))return;let r=n[O].kind;if(r===`object`||r===`record`)return n}function se(e,t){e[j]=t}function P(e,t,n,r,i){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)){if(r>=256)return{ok:!1,path:[],received:t};let a=I();for(let t of Object.keys(e))a[t]=e[t];for(let e of Object.keys(t)){if(!L(a,e)){a[e]=t[e];continue}let o=P(a[e],t[e],n,r+1,i);if(!o.ok)return{ok:!1,path:[e,...o.path],received:o.received};a[e]=o.value}if(n){i?.owned.add(a);let n=ae(oe(e,i?.guides),oe(t,i?.guides));n&&se(a,n)}return{ok:!0,value:a}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length||r>=256)return{ok:!1,path:[],received:t};let a=Array(e.length);for(let o=0;o<e.length;o+=1){let s=P(e[o],t[o],n,r+1,i);if(!s.ok)return{ok:!1,path:[o,...s.path],received:s.received};a[o]=s.value}return{ok:!0,value:a}}return{ok:!1,path:[],received:t}}function F(e){return/* @__PURE__ */ TypeError(`invalid intersection encode at ${fe(e)}`)}function ce(e){let t=e[O];if(t.kind===`any`||t.kind===`unknown`)return!0;if(t.kind!==`intersection`)return!1;for(let e of t.options)if(!ce(e))return!1;return!0}function le(e,t){return e.valueSet===void 0?(e.valueSet=null,e.values.includes(t)):(e.valueSet??=new Set(e.values)).has(t)}function ue(e){return e}function de(e){switch(e.kind){case`any`:return`any`;case`array`:return`array<${de(e.item[O])}>`;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<${de(e.value[O])}>`;case`tuple`:return`tuple`;case`unknown`:return`unknown`}}function fe(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 pe(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)=>pe(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)&&pe(e[n],t[n]))}function me(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e==`object`?e instanceof File?`File`:e instanceof Blob?`Blob`:e instanceof ArrayBuffer?`ArrayBuffer`:e instanceof Date?`Date`:`object`:typeof e}function he(e){return typeof e==`string`?JSON.stringify(e):String(e)}function ge(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`||e===null}function _e(e){return String(e)}var ve=class extends TypeError{};function ye(e,t){let n=/* @__PURE__ */ new Map;if(t)for(let[e,r]of Object.entries(t))n.set(e,be(e,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 be(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 xe(e){let t=new URLSearchParams;if(!e)return t;for(let[n,r]of Object.entries(e))Te(t,n,r);return t}function Se(e,t){if(typeof URLSearchParams<`u`&&e instanceof URLSearchParams)return{queryParams:e,queryString:e.toString()};if(!R(e)){let e=xe();return{queryParams:e,queryString:e.toString()}}if(!t){let t=xe(e);return{queryParams:t,queryString:t.toString()}}let n=t(e);return{queryParams:new URLSearchParams(n),queryString:n}}function Ce(e,t){if(!t)return;if(t instanceof Headers){t.forEach((t,n)=>{e.set(n,t)});return}let n=/* @__PURE__ */ new Set,r=(t,r)=>{let i=t.toLowerCase();n.has(i)?e.append(t,r):(e.set(t,r),n.add(i))};if(Array.isArray(t))for(let[e,n]of t)r(e,n);else for(let[e,n]of Object.entries(t))if(n!==void 0){if(Array.isArray(n))for(let t of n){if(!De(t))throw TypeError(`header value for "${e}" requires a scalar value`);r(e,_e(t))}else{if(!De(n))throw TypeError(`header value for "${e}" requires a scalar value`);r(e,_e(n))}}}function we(e,t,n=``){let r=Ae(e),i;try{i=new URL(t.replace(/^\/(?!\/)/,``),r)}catch{throw new ve(`Endpoint path must resolve to a valid URL`)}if(i.origin!==r.origin||!i.pathname.startsWith(r.pathname))throw new ve(`Endpoint path must not be an absolute URL or leave the client endpoint directory`);return je(t),n&&(i.search=n),i}function z(e){if(!e.baseEndpoint)throw new ve(`Client endpoint is required`);let t=typeof e.queryString==`string`?e.queryString:e.queryParams?e.queryParams.toString():``;return we(e.baseEndpoint,e.endpoint,t)}function Te(e,t,n){if(n!==void 0){if(Array.isArray(n))for(let r of n)r!==void 0&&Ee(e,t,r);else Ee(e,t,n)}}function Ee(e,t,n){if(n===null)throw TypeError(`query value for "${t}" must not be null`);if(ge(n))e.append(t,_e(n));else throw TypeError(`a query serializer is required for nested query value "${t}"`)}function De(e){return ge(e)&&typeof e!=`bigint`}let Oe,ke;function Ae(e){if(e===Oe)return ke;let t;try{t=new URL(e)}catch{throw new ve(`Client endpoint must be a valid URL`)}return t.search=``,t.hash=``,t.pathname.endsWith(`/`)||(t.pathname=`${t.pathname}/`),Oe=e,ke=t,t}function je(e){if(URL.canParse(e)||/^ *\/\//.test(e))throw new ve(`Endpoint path must not be an absolute URL`);if(e.includes(`?`)||e.includes(`#`))throw new ve(`Endpoint path must not include query or hash`);if(/[\u0000-\u001f\\]/.test(e))throw new ve(`Endpoint path must not include C0 controls or backslashes`)}const Me=Symbol.for(`defjs.http.response`);function Ne(e){let t=e?.status??0,n=t>=200&&t<300,r=e?.statusText??``,i=e?.url??Ie(e?.request),a=e?.headers??new Headers(e?.request?.headers),o=e?.body;return{[Me]:!0,status:t,statusText:r,url:i,headers:a,body:o,ok:n}}function Pe(e){return e?.[Me]===!0}function Fe(e){let t=`Http failure response: ${e.status}`;return e.statusText&&(t+=` - ${e.statusText}`),t}function Ie(e){return e?e.baseEndpoint?z(e).href:e.endpoint:``}const Le=Symbol.for(`defjs.cause.aborted`),Re=Symbol.for(`defjs.cause.timeout`);function ze(e,t){return Object.defineProperty(e,t,{configurable:!1,enumerable:!1,value:!0,writable:!1}),e}function Be(e,t){return typeof e==`object`&&!!e&&t in e}const Ve=ze(/* @__PURE__ */ Error(`Request was aborted`),Le),He=ze(/* @__PURE__ */ Error(`Request timed out`),Re);function Ue(e){return Be(e,Le)||e instanceof DOMException&&e.name===`AbortError`}function We(e){return Be(e,Re)||e instanceof DOMException&&e.name===`TimeoutError`||e instanceof Error&&e.name===`TimeoutError`}function Ge(e){return e instanceof Error?e.message:String(e)}function Ke(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 qe(e,t){let n=Ke(Fe(e));return n.code=`HTTP_STATUS`,n.data=t,n.response=e,n.status=e.status,n}function Je(e){return qe(e,e.body)}function Ye(e){return qe(e,void 0)}function Xe(e,t,n){let r=Ke(e===`RES_DECODE_FAILED`&&t instanceof Error&&t.name===`SyntaxError`?`Response body could not be decoded`:Ge(t),t);return r.code=e,r.response=n,r.status=n.status,r}function B(e,t,n){let r=Ke(t===void 0?e:Ge(t),t);return r.code=e,n!==void 0&&(r.response=n),r}function Ze(e,t){return Ue(e)?Qe(Ke(Ve.message,e),`NET_ABORTED`,t):We(e)?Qe(Ke(e instanceof Error&&e.message?e.message:He.message,e),`NET_TIMEOUT`,t):Qe(Ke(Ge(e),e),`NET_UNREACHABLE`,t)}function Qe(e,t,n){return e.code=t,n!==void 0&&(e.response=n),e}function $e(e){return{kind:`http`,fn:e}}function et(e){return{kind:`sse`,fn:e}}function tt(e){return{kind:`web-socket`,fn:e}}function nt(e,t){return t(e)}function rt(e){return e.reduceRight((e,t)=>(n,r)=>t(n,t=>e(t,r)),nt)}function it(e){return e.filter(e=>e.kind===`http`).map(e=>e.fn)}function at(e){return e.filter(e=>e.kind===`sse`).map(e=>e.fn)}function ot(e){return e.filter(e=>e.kind===`web-socket`).map(e=>e.fn)}function st(e){if(e.aborted)return ct(e)}function ct(e){return We(e.reason)?He:Ve}function V(e){if(e.aborted)return lt(e)}function lt(e){return Ze(ct(e))}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)}}const ut=/* @__PURE__ */ new WeakMap;function U(e){ut.get(e)?.release()}function W(e,t){if(t.length>0&&t.every(t=>t===void 0||t===e))return e;let n=[],r=/* @__PURE__ */ new Set,i=e=>{let t=ut.get(e);if(t?.active)for(let e of t.sources)i(e);else r.has(e)||(r.add(e),n.push(e))};i(e);for(let e of t)e&&i(e);if(n.length===1)return n[0];let a=new AbortController,o=[],s,c={active:!0,release(){if(c.active){c.active=!1;for(let[e,t]of o)e.removeEventListener(`abort`,t)}},sources:n};ut.set(a.signal,c),s=e=>{a.signal.aborted||(a.abort(e),c.release())};let l=n.find(e=>e.aborted);if(l)return s(l.reason),a.signal;for(let e of n){let t=()=>s(e.reason);o.push([e,t]),e.addEventListener(`abort`,t,{once:!0})}return a.signal}const dt=new TextDecoder;function ft(e){return dt.decode(e)}function pt(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return ft(e)}function mt(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 ht(e,t,n){switch(e){case`json`:return JSON.parse(ft(t));case`text`:return ft(t);case`blob`:return new Blob([mt(t)],{type:n});case`arraybuffer`:return mt(t);default:return null}}function gt(e,t){let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function _t(e){let t=e[O].kind;return t===`string`?`text`:t===`blob`||t===`file`?`blob`:t===`arrayBuffer`?`arraybuffer`:`json`}function vt(){let e=/* @__PURE__ */ new WeakSet;return{mark(t){return typeof t==`object`&&t&&e.add(t),t},has(t){return typeof t==`object`&&!!t&&e.has(t)}}}function yt(e,t){let n=t.cache.resolvedShape;if(n)return n;let r=bt(t.shape,t.cache.declaredDescriptors);for(let[e,t]of Object.entries(r))xt(t,`object field "${e}"`);return t.cache.resolvedShape=r,r}function bt(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 xt(e,t){if(!M(e))throw TypeError(`${t} must be a struct`)}function St(e,t,n=0){return wt(e[O],t,e,n)}function Ct(e,t,n=0){let r=[];for(let i of e){let e=i;St(e,t,n)&&r.push(e)}return r}function wt(e,t,n,r=0){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 le(e,t);case`array`:return r<256&&Array.isArray(t)&&t.every(t=>St(e.item,t,r+1));case`tuple`:return r<256&&Array.isArray(t)&&t.length===e.items.length&&e.items.every((e,n)=>St(e,t[n],r+1));case`object`:return r<256&&R(t)&&Tt(n,t,r);case`record`:return r<256&&R(t)&&Object.keys(t).every(n=>St(e.value,t[n],r+1));case`or`:return e.options.some(e=>St(e,t,r));case`discriminatedUnion`:{if(!R(t)||!L(t,e.discriminator))return!1;let n=e.map.get(t[e.discriminator]);return n?St(n,t,r):!1}case`intersection`:return e.options.every(e=>St(e,t,r))}}function Tt(e,t,n){let r=e[O];if(r.kind!==`object`)return!0;let i=yt(e,r);for(let e in i){let r=i[e],a=r[O];if(!L(t,e)){if(Et(a))return!1}else if(!St(r,t[e],n+1))return!1}return!0}function Et(e){return!e.flags.optional}function Dt(e,t){let n=t.cache.fields;if(n)return n;let r=t.cache.resolvedShape??yt(e,t),i=Object.freeze(Object.entries(r).map(([e,t])=>{let n=t,r=n[O].alias;return Object.freeze({alias:r,key:e,struct:n,wireKey:r??e})}));return Ot(i),t.cache.fields=i,i}function Ot(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 kt(e,t,n,r=I()){let i=e[O];if(i.kind!==`object`)throw TypeError(`json encode expects object struct`);for(let a of Dt(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 At(e,t,n,r,i){return pe(jt(e,t,i),jt(n,r,i))}function jt(e,t,n){let r=e[O];return n.encodeObject&&r.alias&&(r.kind===`array`||r.kind===`object`)?{alias:r.alias,value:t}:t}function Mt(e,t,n,r){if(!L(e,t)){e[t]=n;return}let i=P(e[t],n,!1,r);if(!i.ok)throw F([t,...i.path]);e[t]=i.value}function Nt(e,t,n,r,i){let a=e[O];if(n.encodeObject===kt){for(let o of Dt(e,a)){if(!L(t,o.key))continue;let e=t[o.key];e!==void 0&&Mt(r,o.wireKey,G(o.struct,e,n,i+1),i+1)}return}let o=yt(e,a);for(let e in o)L(t,e)&&Mt(r,e,G(o[e],t[e],n,i+1),i+1)}function Pt(e,t,n,r,i,a=I()){let o=yt(e,t);for(let e in o)L(n,e)&&(a[e]=G(o[e],n[e],r,i+1));return a}function G(e,t,n={},r=0){let i=e[O];if(t===null&&(i.kind===`null`||i.flags.nullable))return null;if(!(t===void 0&&i.flags.optional))switch(i.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 i.encode?i.encode(t):t;case`array`:return Array.isArray(t)?t.map(e=>G(i.item,e,n,r+1)):t;case`tuple`:return Array.isArray(t)?t.map((e,t)=>t<i.items.length?G(i.items[t],e,n,r+1):e):t;case`record`:{if(!R(t))return t;let e=Object.create(null);for(let[a,o]of Object.entries(t))e[a]=G(i.value,o,n,r+1);return e}case`object`:return R(t)?n.encodeObject?n.encodeObject(e,t,(e,t)=>G(e,t,n,r+1)):Pt(e,i,t,n,r):t;case`or`:{if(!n.encodeObject&&!n.selectUnionOptions&&i.uniformIdentityEncode){for(let e of i.options){let i=e;if(St(i,t))return G(i,t,n,r)}return t}let e=(n.selectUnionOptions??Ct)(i.options,t),a=e[0];if(!a)return t;let o=G(a,t,n,r);for(let i=1;i<e.length;i+=1){let s=e[i];if(!At(a,o,s,G(s,t,n,r),n))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`)}return o}case`discriminatedUnion`:if(R(t)){let e=i.map.get(t[i.discriminator]);if(e)return G(e,t,n,r)}return t;case`intersection`:{let e=[];for(let t of i.options){let n=t;ce(n)||e.push(n)}if(e.length===0)return t;if(e.length===1){let i=e[0];return G(i,t,n,r)}if(i.objectSides&&(!n.encodeObject||n.encodeObject===kt)&&R(t)){let i=I();for(let a of e)Nt(a,t,n,i,r);return i}let a=G(e[0],t,n,r);for(let i=1;i<e.length;i+=1){let o=G(e[i],t,n,r),s=P(a,o,!1,r);if(!s.ok)throw F(s.path);a=s.value}return a}}}var Ft=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=It();for(let t of this.issues){let n=e;for(let e of t.path){let t=Lt(e),r=n[t];if(Object.hasOwn(n,t)&&r&&!Array.isArray(r))n=r;else{let e=It();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>`:fe(e.path)}: ${e.message}`).join(`
2
+ `)}};function It(){let e=Object.create(null);return e._errors=[],e}function Lt(e){let t=String(e);return t===`_errors`?`\\_errors`:t}let Rt,zt;function Bt(){return Rt!==void 0}function Vt(e,t){let n=Rt;Rt=e;try{return t()}finally{Rt=n}}function K(e){if(Rt){let t=Rt(e);t!==void 0&&(e.message=t)}return zt=e,A}function Ht(){return zt}function Ut(e){zt=e}function q(e,t,n,r,i){return{code:t,expected:n,message:i??`Expected ${n} at ${fe(e)}, received ${me(r)}`,path:e,received:r}}function Wt(e,t,n,r=!1,i=!1,a){return Gt(e,t,[],n,r,i,a)}function Gt(e,t,n,r,i,a,o){let s=Ht(),c=a?{owned:/* @__PURE__ */ new WeakSet,guides:o??/* @__PURE__ */ new WeakMap,changes:[]}:void 0,l=!1;try{let a=qt(e,t,n,r,i,!0,c);return l=a!==A,a===A?{issue:Ht(),ok:!1}:{ok:!0,value:a}}finally{!l&&c&&Kt(c,0),Ut(s)}}function Kt(e,t){for(;e.changes.length>t;){let[t,n]=e.changes.pop();n?e.guides.set(t,n):e.guides.delete(t)}}function qt(e,t,n,r,i,a,o,s){let c=e[O];if(t===void 0)return c.flags.optional?r===`field`?k:void 0:a?K(q([...n],r===`field`?`missing_key`:`invalid_type`,de(c),t)):A;if(t===null){if(c.kind===`null`||c.flags.nullable)return null;if(!(c.kind===`literal`&&c.value===null||c.kind===`intersection`||c.kind===`or`))return a?K(q([...n],`invalid_type`,de(c),t)):A}switch(c.kind){case`any`:case`unknown`:return s&&(s.passthrough=e),t;case`array`:{let e=Qt(c,t,n,i,a,o);if(s&&e!==A){let e=c.item,t=e[O].kind;(t===`any`||t===`unknown`)&&(s.passthrough=e)}return e}case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return Yt(c,t,n,a);case`enum`:return Xt(c,t,n,a);case`intersection`:return an(c,t,n,i,a,o);case`literal`:return Zt(c,t,n,a);case`object`:return $t(e,c,t,n,i,a,o);case`or`:return nn(c,t,n,i,a,o,s);case`discriminatedUnion`:return rn(c,t,n,i,a,o);case`record`:return en(e,c,t,n,i,a,o);case`tuple`:return tn(c,t,n,i,a,o)}}function Jt(e,t,n){return n?K(q([...t],`invalid_type`,`value nested at most 256 levels deep`,e)):A}function Yt(e,t,n,r){return e.is(t)?e.decode?e.decode(t,[...n],K):t:r?K(q([...n],`invalid_type`,e.expected,t)):A}function Xt(e,t,n,r){return le(e,t)?t:r?K(q([...n],`invalid_enum`,e.expected,t)):A}function Zt(e,t,n,r){return Object.is(t,e.value)?t:r?K(q([...n],`invalid_literal`,e.expected,t)):A}function Qt(e,t,n,r,i,a){if(!Array.isArray(t))return i?K(q([...n],`invalid_type`,`array`,t)):A;if(n.length>=256)return Jt(t,n,i);let o=e.item,s=[];for(let e=0;e<t.length;e+=1){n.push(e);let c=qt(o,t[e],n,`value`,r,i,a);if(c===A)return A;n.pop(),s.push(c)}return s}function $t(e,t,n,r,i,a,o,s,c,l){if(!R(n))return a?K(q([...r],`invalid_type`,`object`,n)):A;if(r.length>=256)return Jt(n,r,a);let u=l??I(),d=Dt(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=qt(t.struct,p,r,`field`,i,a,o);if(m===A)return A;if(r.pop(),m!==k){if(l!==void 0&&L(u,t.key)){let e=P(u[t.key],m,o!==void 0,r.length+1,o);if(!e.ok)return a?K(q([...r,t.key,...e.path],`invalid_intersection`,`compatible intersection value`,e.received)):A;u[t.key]=e.value}else u[t.key]=m}}return o&&!l&&(o.owned.add(u),se(u,e)),u}function en(e,t,n,r,i,a,o){if(!R(n))return a?K(q([...r],`invalid_type`,`record`,n)):A;if(r.length>=256)return Jt(n,r,a);let s=t.value,c=Object.create(null);for(let e of Object.keys(n)){r.push(e);let t=qt(s,n[e],r,`field`,i,a,o);if(t===A)return A;r.pop(),t!==k&&(c[e]=t)}return o&&(o.owned.add(c),se(c,e)),c}function tn(e,t,n,r,i,a){if(!Array.isArray(t)||t.length!==e.items.length)return i?K(q([...n],`invalid_type`,`tuple of length ${e.items.length}`,t)):A;if(n.length>=256)return Jt(t,n,i);let o=[];for(let s=0;s<e.items.length;s+=1){n.push(s);let c=qt(e.items[s],t[s],n,`value`,r,i,a);if(c===A)return A;n.pop(),o.push(c)}return o}function nn(e,t,n,r,i,a,o){let s=i&&Bt(),c=n.length;for(let i of e.options){let e=a?.changes.length??0,l=qt(i,t,n,`value`,r,s,a,o);if(l!==A)return l;a&&Kt(a,e),n.length=c}return i?K(q([...n],`invalid_union`,e.expected,t)):A}function rn(e,t,n,r,i,a){if(!R(t))return i?K(q([...n],`invalid_type`,`object`,t)):A;if(!r){let r=L(t,e.discriminator)?t[e.discriminator]:void 0;if(r===void 0)return i?K(q([...n,e.discriminator],`missing_key`,e.expected,void 0)):A;let o=e.map.get(r);if(!o)return i?K(q([...n,e.discriminator],`invalid_union`,e.expected,r)):A;let s=o;return $t(s,s[O],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?K(q([...n,e.discriminator],`missing_key`,e.expected,void 0)):A;let s=e.map.get(o);return!s||e.wireKeyByValue?.get(o)!==r?i?K(q([...n,e.discriminator],`invalid_union`,e.expected,o)):A:$t(s,s[O],t,n,!0,i,a,r,o)}return i?K(q([...n,e.discriminator],`missing_key`,e.expected,void 0)):A}function an(e,t,n,r,i,a){if(e.objectSides&&R(t)){let o=I();for(let s of e.options){let e=s;if($t(e,e[O],t,n,r,i,a,void 0,void 0,o)===A)return A}return a&&(a.owned.add(o),se(o,re(e.options))),o}let o=[],s=[];for(let c of e.options){let e=c,l=a?{}:void 0,u=qt(e,t,n,`value`,r,i,a,l);if(u===A)return A;ce(e)||(o.push(u),l?.passthrough&&s.push(l.passthrough))}if(o.length===0)return t;let c=o[0];for(let e=1;e<o.length;e+=1){let t=P(c,o[e],a!==void 0,n.length,a);if(!t.ok)return i?K(q([...n,...t.path],`invalid_intersection`,`compatible intersection value`,t.received)):A;c=t.value}if(a&&s.length>0){if(R(c))on(c,s,a);else if(Array.isArray(c))for(let e of c)R(e)&&on(e,s,a)}return c}function on(e,t,n){let r=oe(e,n.guides),i=re([...r?ie(r):[],...t]);n.owned.has(e)?se(e,i):(n.changes.push([e,n.guides.get(e)]),n.guides.set(e,i))}function sn(e){return M(e)&&e[O].kind===`object`}function cn(e,t,n){xt(e,`struct`);let r=e;return Vt(n?.errorMap,()=>{let e=Wt(r,t,`value`,n?.aliases===!0);return e.ok?[null,e.value]:[new Ft([e.issue]),void 0]})}function ln(e,t,n){xt(e,`struct`);let r=Wt(e,t,`value`,n?.useAliases,n?.tagObjects===!0,n?.guides);if(!r.ok)throw new Ft([r.issue]);return r.value}function un(e,t,n){return e?ln(e,t,{guides:n,tagObjects:!0}):t}const dn={encodeObject:kt};function fn(e,t,n=`json`,r=0){let i=e[O];if(t===null&&i.flags.nullable)return null;if(!(t===void 0&&i.flags.optional))return sn(e)?(mn(t,`${n} encode expects object value`),kt(e,t,(e,t)=>hn(e,t,n,r+1))):hn(e,t,n,r)}function pn(e,t){return ln(e,t,{useAliases:!0})}function mn(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(t)}function hn(e,t,n,r){return sn(e)?fn(e,t,n,r):G(e,t,dn,r)}function gn(e,t){return fn(e,t,`json`)}function _n(e,t){return pn(e,t)}function vn(e){return typeof Blob<`u`&&e instanceof Blob}function yn(e){return typeof FormData<`u`&&e instanceof FormData}function bn(e){return typeof URLSearchParams<`u`&&e instanceof URLSearchParams}function xn(e){return typeof ReadableStream<`u`&&e instanceof ReadableStream}function Sn(e){switch(!0){case yn(e):case vn(e):case e instanceof ArrayBuffer:case bn(e):case xn(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 Cn(e,t){let n=e.body;if(yn(n)){t.delete(`Content-Type`);return}if(n===void 0||t.has(`Content-Type`))return;let r=(!Object.hasOwn(e,`bodyContentTypeSource`)||e.bodyContentTypeSource===n)&&e.bodyContentType!==void 0?e.bodyContentType:wn(n);r&&t.set(`Content-Type`,r)}function wn(e){switch(!0){case yn(e):return null;case e instanceof ArrayBuffer:case ArrayBuffer.isView(e):return`application/octet-stream`;case vn(e):return e.type||`application/octet-stream`;case bn(e):return`application/x-www-form-urlencoded;charset=UTF-8`;case xn(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 Tn(e,t,n=e!==void 0){if(t===void 0){if(n)throw TypeError(`An endpoint with input requires an explicit builder`);return{}}let r=t(e);return r===void 0?{}:r}function En(e,t,n){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 r={};if(e.path!==void 0&&(r.params=In(e.path,n)),e.query!==void 0&&(r.query=Ln(e.query,n)),e.headers!==void 0&&(r.headers=Rn(e.headers,n)),e.body!==void 0){let t=zn(e.body,n);r.body=t.body,t.defaultContentType&&(r.defaultContentType=t.defaultContentType)}return r}const Dn=/* @__PURE__ */ new Set([`any`,`arrayBuffer`,`bigint`,`blob`,`boolean`,`date`,`enum`,`file`,`literal`,`null`,`number`,`string`,`unknown`]);function On(e,t){return J(e,void 0,void 0,t)}function J(e,t,n=[],r){if(t!==void 0&&!N(t)&&Wn(t)&&(!R(e)||oe(e,r)))return e;if(R(e)){let i=oe(e,r);if(i)return An(e,t===void 0?i:kn(i,t,e,n,r),n,r)}return N(t)?Mn(e,t.members,n,r):t?.[O].kind===`intersection`?jn(e,t,n,r):t?.[O].kind===`or`?or(e,t,n,r):Array.isArray(e)?er(e,t,n,r):R(e)?nr(e,t,n,r):rr(e,t)}function kn(e,t,n,r,i){let a=Nn(ie(t),n,r,!0,i),o=[];for(let t of ie(e))a.includes(t)&&o.push(t);return o.length===0?e:re(o)}function An(e,t,n,r){return N(t)?Mn(e,t.members,n,r):Un(e,t,n,r)}function jn(e,t,n,r){let i=t[O];return i.objectSides&&R(e)?Mn(e,i.options,n,r):Array.isArray(e)?Mn(e,[t],n,r):J(e,void 0,n,r)}function Mn(e,t,n,r){let i=Nn(t,e,n,Array.isArray(e),r);return Array.isArray(e)?tr(e,i,n,r):R(e)?Jn(e,i,n,r):Fn(e,i)}function Nn(e,t,n,r,i){let a=[];for(let o of e)Pn(o,t,n,a,r,i);return a}function Pn(e,t,n,r,i,a){let o=e[O];switch(o.kind){case`or`:{let e=Ct(o.options,t),s=e[0];if(!s)return;if(e.length>1){let r=J(t,s,n,a);for(let i=1;i<e.length;i+=1)if(!pe(r,J(t,e[i],n,a)))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`)}Pn(s,t,n,r,i,a);return}case`discriminatedUnion`:{if(!R(t))return;let e=o.map.get(t[o.discriminator]);e&&Pn(e,t,n,r,i,a);return}case`intersection`:if(o.objectSides||i)for(let e of o.options){let o=e;i&&ce(o)||Pn(o,t,n,r,i,a)}return;default:r.push(e)}}function Fn(e,t){if(e!==void 0){if(e===null){for(let n of t){let t=n[O];if(t.kind===`null`||t.flags.nullable||Dn.has(t.kind))return rr(e,n)}return null}for(let n of t)if(Dn.has(n[O].kind))return rr(e,n);return ir(e)}}function In(e,t){let n=On(e,t);if(!R(n))throw TypeError(`path value must be an object`);let r=Object.create(null);for(let[e,t]of Object.entries(n)){if(t===null)throw TypeError(`path value for "${e}" must not be null`);if(typeof t==`object`)throw TypeError(`path value for "${e}" must be a scalar`);r[e]=String(t)}return r}function Ln(e,t){if(bn(e))return e;let n=On(e,t);if(!R(n))throw TypeError(`query value must be an object or URLSearchParams`);return lr(n,`query`),n}function Rn(e,t){if(typeof Headers<`u`&&e instanceof Headers||Array.isArray(e))return e;let n=On(e,t);if(!R(n))throw TypeError(`headers value must be a header record or HeadersInit`);for(let[e,t]of Object.entries(n))dr(t,e);return n}function zn(e,t){let n=fr(e,t);return n&&R(e)?{body:Vn(e,n,t)}:yn(e)||bn(e)||vn(e)||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||xn(e)||typeof e==`string`?{body:e}:{body:JSON.stringify(On(e,t),Bn),defaultContentType:`application/json`}}function Bn(e,t,n=`body`){if(typeof t==`function`||typeof t==`symbol`||typeof t==`number`&&!Number.isFinite(t)||typeof t==`object`&&t&&!Array.isArray(t)&&!R(t)){let r=typeof t==`number`?String(t):typeof t==`object`?t.constructor?.name||Object.prototype.toString.call(t).slice(8,-1):typeof t,i=n===`body`?`Send JSON data, a string, bytes, Blob, FormData, URLSearchParams or a Web ReadableStream (ReadableStream.from(iterable), Readable.toWeb(readable)).`:`Send JSON data.`;throw TypeError(`${n}${e?` field "${e}"`:``} is not JSON data: ${r}. ${i}`)}return t}function Vn(e,t,n){let r=On(e,n);if(t===`formData`){let e=new FormData;for(let[n,i]of Object.entries(r))Hn(e,n,i,t);return e}let i=new URLSearchParams;for(let[e,n]of Object.entries(r))Hn(i,e,n,t);return i}function Hn(e,t,n,r){if(n!==void 0){if(Array.isArray(n))for(let i of n)Hn(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 Un(e,t,n,r){return Jn(e,[t],n,r)}function Wn(e){let t=e[O].kind;return t===`any`||t===`unknown`}const Gn=/* @__PURE__ */ new WeakMap;function Kn(e){let t=Gn.get(e);return t||(t={fieldKeys:new Set(e.map(e=>e.key)),wireKeys:new Set(e.map(e=>e.wireKey))},Gn.set(e,t)),t}function qn(e,t,n,r){let i=Dt(t,t[O]),a=I();for(let t of i){if(!Object.hasOwn(e,t.key))continue;let i=e[t.key];i!==void 0&&(a[t.wireKey]=J(i,t.struct,[...n,t.key],r))}let{fieldKeys:o,wireKeys:s}=Kn(i);for(let t of Object.keys(e)){if(o.has(t))continue;if(s.has(t))throw TypeError(`wire key collision for "${t}"`);let i=e[t];i!==void 0&&(a[t]=J(i,void 0,[...n,t],r))}return a}function Jn(e,t,n,r){if(t.length===1&&t[0][O].kind===`object`)return qn(e,t[0],n,r);let i=[],a=[],o=[];for(let e of t){let t=e[O].kind;t===`object`?i.push(e):t===`record`?a.push(e):Wn(e)&&o.push(e)}let s=I(),c=/* @__PURE__ */ new Set,l=/* @__PURE__ */ new Set,u=/* @__PURE__ */ new Map,d=[];for(let e of i)for(let t of Dt(e,e[O]))c.add(t.key),l.add(t.wireKey),Xn(u,d,t.key,t.wireKey,t.struct);let f=a.map(e=>e[O].value),p=a.length>0?Qn(e,d):d;if(a.length>0)for(let e of p)for(let t of f)Xn(u,d,e,e,t);for(let t of p){if(!Object.hasOwn(e,t))continue;let i=e[t];i!==void 0&&Zn(s,i,u.get(t),[...n,t],r)}if(a.length>0||o.length>0)return Yn(s,e,o,n,r);for(let t of Object.keys(e)){if(c.has(t))continue;if(l.has(t))throw TypeError(`wire key collision for "${t}"`);let i=e[t];i!==void 0&&(s[t]=J(i,void 0,[...n,t],r))}return s}function Yn(e,t,n,r,i){let a=e;for(let e of n){let n=J(t,e,r,i),o=P(a,n,!1,r.length);if(!o.ok)throw F([...r,...o.path]);a=o.value}return a}function Xn(e,t,n,r,i){let a=e.get(n);a||(a=[],e.set(n,a),t.push(n));let o=Wn(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 Zn(e,t,n,r,i){for(let a of n){let n=a.passthrough?a.structs[0]:re(a.structs);$n(e,a.wire,J(t,n,r,i),r.length)}}function Qn(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 $n(e,t,n,r){if(!Object.hasOwn(e,t)){e[t]=n;return}let i=P(e[t],n,!1,r);if(!i.ok)throw F([t,...i.path]);e[t]=i.value}function er(e,t,n,r){let i=t?ar(t,e):void 0;if(i?.kind===`array`){let t=i.item;return e.map((e,i)=>J(e,t,[...n,i],r))}if(i?.kind===`tuple`){let t=i.items;return e.map((e,i)=>J(e,i<t.length?t[i]:void 0,[...n,i],r))}return e.map((e,t)=>J(e,void 0,[...n,t],r))}function tr(e,t,n,r){return e.map((e,i)=>{let a=[],o=[];for(let e of t){let t=e[O],n;t.kind===`array`?n=t.item:t.kind===`tuple`&&i<t.items.length&&(n=t.items[i]),n&&(Wn(n)?o.push(n):a.push(n))}let s=[...n,i],c=J(e,re(a),s,r);for(let t of o){let n=J(e,t,s,r),i=P(c,n,!1,s.length);if(!i.ok)throw F([...s,...i.path]);c=i.value}return c})}function nr(e,t,n,r){let i=t?ar(t,e):void 0;return i?.kind===`object`?Un(e,i.struct,n,r):i?.kind===`record`?sr(i.valueStruct,e,n,r):cr(e,n,r)}function rr(e,t){return ir(t&&Dn.has(t[O].kind)?G(t,e):e)}function ir(e){return e instanceof Date?e.toISOString():typeof e==`bigint`?e.toString():e}function ar(e,t){let n=e[O];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 or(e,t,n,r){let i=Ct(t[O].options,e),a=i[0];if(!a)return J(e,void 0,n,r);let o=J(e,a,n,r);for(let t=1;t<i.length;t+=1)if(!pe(o,J(e,i[t],n,r)))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`);return o}function sr(e,t,n,r){let i=Object.create(null);for(let[a,o]of Object.entries(t))i[a]=J(o,e,[...n,a],r);return i}function cr(e,t,n){if(Symbol.iterator in e||Symbol.asyncIterator in e){let e=t.at(-1);throw TypeError(`${e===void 0?`value`:`field "${e}"`} is an iterable object, not a record. Convert it first: Array.from(iterable) for a list or header pairs, ReadableStream.from(iterable) for a streamed body.`)}let r=I();for(let i of Object.keys(e)){let a=e[i];a!==void 0&&(r[i]=J(a,void 0,[...t,i],n))}return r}function lr(e,t){for(let[n,r]of Object.entries(e))ur(r,n,t)}function ur(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)ur(r,t,n);else R(e)&&lr(e,n)}function dr(e,t){if(e===null)throw TypeError(`header value for "${t}" must not be null`);if(Array.isArray(e))for(let n of e)dr(n,t);else if(typeof e==`object`&&e)throw TypeError(`header value for "${t}" must be a scalar`)}function fr(e,t){if(!R(e))return;let n=t?.get(e)??pr(e);if(!M(n))return;let r=n[O];if(r.kind===`object`)return r.codec}function pr(e){return e[j]}function mr(e,t,n,r,i){let a=En(Tn(n,r,i.inputDeclared),i.transport,i.inputGuides);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}=Se(a.query,i.querySerializer),c=i.defaultHeaders?new Headers(i.defaultHeaders):new Headers;Ce(c,a.headers);let l=c.has(`content-type`);i.transport===`sse`&&a.defaultContentType&&!l&&c.set(`content-type`,a.defaultContentType);let u={signal:i.signal,baseEndpoint:i.baseEndpoint,body:a.body,bodyContentTypeSource:a.body,endpoint:ye(t,a.params),headers:c,method:e,operation:i.operation,queryParams:o,queryString:s,withCredentials:i.withCredentials??!1};return z(u),(i.transport===`sse`||l)&&Cn(u,c),i.transport===`http`&&(u.bodyContentType=a.defaultContentType??wn(u.body)),u}function hr(e,t,n,r,i){return{...mr(e,t,n,r,{signal:i.signal,baseEndpoint:i.baseEndpoint,defaultHeaders:i.defaultHeaders,inputDeclared:i.inputDeclared,inputGuides:i.inputGuides,operation:i.operation,querySerializer:i.querySerializer,transport:`http`,withCredentials:i.withCredentials}),downloadProgress:i.downloadProgress,errorResponseType:i.errorResponseType,responseType:i.responseType,uploadProgress:i.uploadProgress,xsrf:i.xsrf}}var gr=class extends Error{code;meta;constructor(e,t,n){super(Ge(t),{cause:t}),this.code=e,this.meta=n,Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:`BodyFailure`,writable:!0})}};function _r(e){return e instanceof gr}async function vr(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 yr=/* @__PURE__ */ Error(`ERR_STREAMING_REQUEST_UNSUPPORTED`);function br(e){return xn(e)}let xr;function Sr(){if(xr!==void 0)return xr;if(typeof Request!=`function`||typeof ReadableStream>`u`)return xr=!1,xr;try{let e=new ReadableStream({start(e){e.close()}}),t=new Request(`https://example.com`,{body:e,duplex:`half`,method:`POST`});return xr=t.body!==null&&!t.headers.has(`Content-Type`),xr}catch{return xr=!1,xr}}function Cr(e,t){let{headers:n}=t;n.has(`Accept`)||n.set(`Accept`,t.defaultAccept);let r=e.withCredentials?`include`:void 0,i=Sn(e.body),a={body:i,credentials:r,headers:n,method:e.method,signal:t.signal};if(br(i)){if(!Sr())throw yr;i=t.wrapReadableStreamBody?.(i)??i,a.body=i,a.duplex=`half`}return a}const wr=/^\s*([\w!#$%&'*+.^`|~-]+)\/([\w!#$%&'*+.^`|~-]+)\s*(?:;|$)/i;function Tr(e){let t=e.match(wr);if(t)return t[1].toLowerCase()+`/`+t[2].toLowerCase()}function Er(e){let t=e.trimStart(),n=e.length-t.length,r=Or(e,n);if(!r||e[r.position]!==`/`)return{position:r?.position??n};n=r.position+1;let i=Or(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 Dr(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 Or(e,t){let n=t;for(;t<e.length&&Dr(e.charCodeAt(t));)t+=1;return t>n?{value:e.slice(n,t),position:t}:void 0}function kr(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 Ar(e){return e.get(`Content-Type`)||``}function jr(e){let t=Tr(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 Mr=/* @__PURE__ */ new Set([`GET`,`HEAD`,`OPTIONS`,`TRACE`]);function Nr(e){return Mr.has(e.toUpperCase())}function Pr(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 Fr(e){return e.baseEndpoint?typeof location>`u`||z(e).origin===location.origin:!1}function Ir(e){if(typeof e==`string`&&e!==``)return e}function Lr(e,t){if(t.tokenProvider)return Ir(t.tokenProvider({request:e}));if(typeof document<`u`)return Ir(Pr(t.cookieName))}function Rr(e,t){let n=e.xsrf;if(!n||Nr(e.method)||t.has(n.headerName)||!Fr(e))return;let r=Lr(e,n);r!==void 0&&t.set(n.headerName,r)}function zr(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 Br(e,t,n){e.uploadProgress&&br(e.body)&&br(t)&&t.cancel(n).catch(()=>void 0)}function Vr(e,t){e.cancel(t.reason).catch(()=>void 0)}function Hr(e){let t=new Headers(e.headers),n=e.uploadProgress;return Cn(e,t),Rr(e,t),Cr(e,{defaultAccept:`application/json, text/plain, */*`,headers:t,signal:e.signal,wrapReadableStreamBody:n?r=>zr(r,n,kr(t),e.signal):void 0})}function Ur(e){let t=z(e),n=Hr(e);try{return new Request(t,n)}catch(t){throw Br(e,n.body,t),t}}function Wr(e){e.cancel().catch(()=>void 0)}async function Gr(e,t,n){try{return new Uint8Array(await(t?H(()=>e.arrayBuffer(),t):e.arrayBuffer()))}catch(e){throw t?.aborted?e:new gr(`NET_BODY_INCOMPLETE`,e,n)}}async function Kr(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 Wr(t.body),Ne({status:o,statusText:s,headers:a,url:c});let u=a.get(`Content-Encoding`)?.trim().toLowerCase(),d=u!==void 0&&u!==`identity`?0:kr(a),f=Ar(a),p={headers:a,ok:o>=200&&o<300,status:o,statusText:s,url:c},m;if(t.body&&l===`json`&&!jr(f))throw Wr(t.body),new gr(`RES_MEDIA_TYPE_INVALID`,/* @__PURE__ */ TypeError(`Expected a JSON media type, received ${f||`<none>`}`),p);if(t.body&&r&&!i){let n=await Gr(t,e.signal,p);try{m=ht(l,n,f)}catch(e){throw new gr(`RES_DECODE_FAILED`,e,p)}}else if(t.body){let n=[],r=t.body.getReader(),a=e.signal,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,s>d&&(d=0),i){let e={lengthComputable:d>0,loaded:s,total:d};try{await(a?H(()=>i(e),a):i(e))}catch(e){throw new gr(`EXT_OBSERVER_FAILED`,e,p)}}}}catch(e){throw r.cancel(_r(e)?e.cause:e).catch(()=>void 0),a?.aborted||_r(e)?e:new gr(`NET_BODY_INCOMPLETE`,e,p)}finally{a?.removeEventListener(`abort`,o),r.releaseLock()}try{m=ht(l,gt(n,s),f)}catch(e){throw new gr(`RES_DECODE_FAILED`,e,p)}}return Ne({status:o,statusText:s,headers:a,url:c,body:m})}async function qr(e,t=i()){t===r&&(t=i());let n=e.uploadProgress;if(!n)return Jr(e,t);let a,o={...e,uploadProgress:async e=>{try{await n(e)}catch(e){throw a??=new gr(`EXT_OBSERVER_FAILED`,e,void 0),e}}},s;try{s=await Jr(o,t)}catch(t){throw a!==void 0&&!e.signal?.aborted?a:t}if(a!==void 0)throw a;return s}async function Jr(e,n){let r=e.signal,i=n===t,a=e,o,s,c=``,l;try{if(a=await Xr(e),i){let e=z(a),t=Hr(a);s=t.body,c=e.href,l=await vr(()=>n(e,t),r,Vr)}else{let e=Ur(a);o=e,c=e.url,l=await vr(()=>n(e),r,Vr)}}catch(e){throw Br(a,o?.body??s,e),(r&&st(r))??e}try{return await Kr(e,l,c,i)}catch(e){throw(r&&st(r))??e}}function Yr(){return typeof location<`u`||typeof document<`u`||`importScripts`in globalThis}async function Xr(e){let{uploadProgress:t,body:n}=e;if(!t||n==null||br(n)||!Sr()||Yr())return e;e.signal?.throwIfAborted();let r=Zr(n);if(!r)return e;let i=new Headers(e.headers);Cn(e,i),r.contentType&&(n instanceof FormData||!i.has(`Content-Type`)&&e.bodyContentType!==null)&&i.set(`Content-Type`,r.contentType),r.total>0&&i.set(`Content-Length`,String(r.total));let a=kr(i),o={lengthComputable:a>0,loaded:0,total:a};try{e.signal?await H(()=>t(o),e.signal):await t(o)}catch(e){throw r.stream.cancel(e).catch(()=>void 0),e}return{...e,body:r.stream,bodyContentType:i.get(`Content-Type`),bodyContentTypeSource:r.stream,headers:i}}function Zr(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);return{contentType:t.headers.get(`Content-Type`),stream:t.body,total:0}}}function Qr(e){let t={...e};return(async(e,n)=>$r(e[l].config,t,n,e[l].options))}async function $r(e,t,r,i){let a=i,o=e=>[e,void 0,void 0],s=a.signal;if(s?.aborted)return o(lt(s));let c=W(new AbortController().signal,[s]),l=e=>(U(c),o(e)),u=t.output?_t(t.output):void 0,d=t.error?_t(t.error):void 0,f=/* @__PURE__ */ new WeakMap,p;try{p=un(t.input,r,f)}catch(e){return l(V(c)??B(`REQ_INPUT_INVALID`,e))}let m=V(c);if(m)return l(m);let h;try{h=hr(t.method,t.path,p,t.builder,{signal:c,baseEndpoint:e.endpoint,defaultHeaders:e.headers,downloadProgress:a.onDownloadProgress,inputDeclared:t.input!==void 0,inputGuides:f,errorResponseType:d,operation:t.operation,querySerializer:e.querySerializer,responseType:u,uploadProgress:a.onUploadProgress,withCredentials:e.withCredentials,xsrf:e.xsrf})}catch(e){return l(V(c)??B(`REQ_BUILD_FAILED`,e))}let g=V(c);if(g)return l(g);let _=vt(),v=new AbortController,y=!1,b,x,S=t=>{if(y){let e=Promise.reject(/* @__PURE__ */ Error(`HTTP interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}try{z(t)}catch(e){let t=Promise.reject(e);return t.catch(()=>void 0),t}let n=t.signal===void 0||t.signal===c?v.signal:W(v.signal,[t.signal]);if(V(n)){let e=Promise.reject(_.mark(st(n)));return U(n),e.catch(()=>void 0),e}let r=qr({...t,signal:n},e.http.handle).catch(e=>{throw _.mark(st(n)??e)}).finally(()=>{U(n)});return b=r,r},C=()=>{v.signal.aborted||v.abort(c.reason)};try{try{let t=rt(it(e.interceptors));c.aborted?C():c.addEventListener(`abort`,C,{once:!0});let n=t(h,S);n.catch(()=>void 0);let r=await H(()=>n,c);if(!Pe(r))throw TypeError(`HTTP interceptor must resolve an HttpResponse from next() or makeResponse()`);x=r}catch(e){let t=_.has(e),r=V(c);if(r)return C(),b&&await Promise.allSettled([b]),o(r);if(e instanceof ve)return o(B(`REQ_BUILD_FAILED`,e));if(_r(e))return o(ii(e));if(t&&(e===yr||e===n))return o(B(`ENV_UNSUPPORTED`,e));let i=Ze(e);return i.code===`NET_UNREACHABLE`?o(t?i:B(`EXT_INTERCEPTOR_FAILED`,e)):o(i)}}finally{c.removeEventListener(`abort`,C),y=!0,v.signal.aborted||v.abort(/* @__PURE__ */ Error(`HTTP interceptor chain settled`)),x||U(c)}let w=x,T=ei(w),E=w.ok?t.output:t.error;if(!E)return U(c),w.ok?[null,void 0,T]:o(Ye(T));let D;try{D=await ri(E,w,c)}catch(e){let t=V(c);return t?o(t):e instanceof ti?o(Xe(`RES_MEDIA_TYPE_INVALID`,e,T)):e instanceof Ft?o(Xe(`RES_STRUCT_MISMATCH`,e,T)):o(Xe(`RES_DECODE_FAILED`,e,T))}finally{U(c)}let ee={...T,body:D};return w.ok?[null,D,ee]:o(Je(ee))}function ei(e){return{headers:e.headers,ok:e.ok,status:e.status,statusText:e.statusText,url:e.url}}var ti=class extends TypeError{constructor(e){super(`Expected a JSON media type, received ${e||`<none>`}`),this.name=`TypeError`}};function ni(e){return e.body===void 0}async function ri(e,t,n){let r=_t(e),i=ni(t),a=Ar(t.headers);if(!i&&r===`json`&&!jr(a))throw new ti(a);if(i){if(r===`text`)return ln(e,``);throw TypeError(`Response body is absent`)}return typeof Blob<`u`&&t.body instanceof Blob?await H(()=>ai(e,t.body),n):(n.throwIfAborted(),await ai(e,t.body))}function ii(e){let{cause:t,code:n,meta:r}=e;return n===`RES_DECODE_FAILED`||n===`RES_MEDIA_TYPE_INVALID`?Xe(n,t,r):B(n,t,r)}async function ai(e,t){let n=_t(e);if(n===`json`){if(typeof t==`string`)return _n(e,t);let n=await oi(t);return _n(e,n===void 0?t:JSON.parse(n))}return n===`text`?ln(e,await oi(t)??t):ln(e,t)}function oi(e){return pt(e)??(typeof Blob<`u`&&e instanceof Blob?e.text():void 0)}function si(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 ci(e,t){let n=si(e,t);return $e((e,t)=>t(n(e)))}function li(e,t){let n=si(e,t);return et((e,t)=>t(n(e)))}function ui(e,t,n){if(!e)return;let r=e.attempts??3;if(!Number.isSafeInteger(r)||r<0)throw RangeError(`${n} reconnect attempts must be a non-negative safe integer`);let i=e.delayMs??t.delayMs,a=e.factor??t.factor,o=e.jitter??t.jitter,s=e.maxDelayMs??t.maxDelayMs;return c(`delayMs`,i,0),c(`factor`,a,Number.MIN_VALUE),c(`jitter`,o,0,1),s!==1/0&&c(`maxDelayMs`,s,0),{attempts:r,delayMs:i,factor:a,jitter:o,maxDelayMs:s};function c(e,t,r,i=1/0){if(!Number.isFinite(t)||t<r||t>i)throw RangeError(`${n} reconnect ${e} is out of range`)}}const di=/^(?:[ \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 fi(e){let t=Er(e);return!!t.essence&&e.trimStart()===e&&di.test(e.slice(t.position))}const pi=Symbol(`NO_ERROR`);var mi=class{values=[];waiting=[];maxSize;done=!1;error=pi;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===pi?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 hi=2147483647;function gi(e,t){if(!Number.isFinite(e.delayMs))throw RangeError(`Reconnect delay must be finite`);let n=e.delayMs===0?0:Math.min(e.delayMs*e.factor**Math.max(0,t-1),e.maxDelayMs,Number.MAX_VALUE),r=e.jitter<=0?n:Math.max(0,Math.round(n*(1+(Math.random()*2-1)*e.jitter)));return Math.min(r,e.maxDelayMs,hi)}async function _i(e,t){if(!Number.isFinite(e))throw RangeError(`Reconnect delay must be finite`);if(e<=0)return;let n=Math.min(e,hi);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 vi=class extends Error{constructor(){super(`SSE parser buffer exceeded maxBufferSize`),this.name=`SSEParserLimitError`}};async function yi(e,t,n){let r=e.getReader();try{for(;;){let e=()=>r.read(),i=n?await H(e,n):await e();if(i.done)return;await t(i.value)}}catch(e){throw r.cancel(e).catch(()=>void 0),e}finally{r.releaseLock()}}function bi(e,t){let n=Si(t?.maxBufferSize),r=[],i=0,a=!1;function o(e){if(i+=e.length,n!==void 0&&i>n)throw new vi;r.push(e)}return async t=>{let n=0;for(let s=0;s<t.length;s+=1){let c=t[s];if(a&&(a=!1,c===10)){n=s+1;continue}if(c!==10&&c!==13)continue;let l=t.subarray(n,s);o(l);let u=l;if(r.length>1){u=new Uint8Array(i);let e=0;for(let t of r)u.set(t,e),e+=t.length}r=[],i=0,a=c===13,n=s+1;let d=e(u);d&&await d}n<t.length&&o(t.subarray(n))}}function xi(e,t,n,r){let i=Si(r?.maxBufferSize),a=new TextDecoder(`utf-8`,{ignoreBOM:!0}),o=!0,s=``,c=``,l=``,u=0;return r=>{let d=r;if(o&&(o=!1,r[0]===239&&r[1]===187&&r[2]===191&&(d=r.subarray(3))),d.length===0){let e=l===``?void 0:{id:s,event:c,data:l.slice(0,-1)};return c=``,l=``,u=0,e?n?.(e):void 0}let f=d.indexOf(58),p=a.decode(f<0?d:d.subarray(0,f)),m=f<0?d.length:f+1;d[m]===32&&(m+=1);let h=a.decode(d.subarray(m));switch(p){case`data`:if(u+=d.length-m+1,i!==void 0&&u>i)throw new vi;l+=`${h}\n`;break;case`event`:c=h;break;case`id`:h.includes(`\0`)||(s=h,e(h));break;case`retry`:/^[0-9]+$/.test(h)&&t(Math.min(Number(h),2147483647))}}}function Si(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<1))throw TypeError(`SSE maxBufferSize must be a positive safe integer`);return e}const Ci=`text/event-stream`,wi=`last-event-id`,Ti=1e3,Ei={delayMs:Ti,factor:1,jitter:0,maxDelayMs:1/0},Di=/* @__PURE__ */ new Set([`DELETE`,`GET`,`HEAD`,`OPTIONS`,`PUT`]);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 Oi(e){return e instanceof Y?e.code:void 0}function ki(e){return e instanceof Y&&e.statusSignal}function Ai(e){return e instanceof Y&&e.cause!==void 0?e.cause:e}function ji(e){if(e instanceof Y)return e;if(e instanceof vi)return new Y(`CAP_BUFFER_EXCEEDED`,e.message,{cause:e})}async function Mi(e,t){let n=ui(t.reconnect,Ei,`SSE`),r=z(e),i=t.failure??{},a=new mi({maxSize:t.maxQueueSize}),o=Promise.withResolvers(),s=Promise.withResolvers(),c=new AbortController,l=t.fetch??globalThis.fetch.bind(globalThis),u=new Headers(e.headers);u.has(`Accept`)||u.set(`Accept`,Ci);let d=!1,f=!1,p=t.retryInterval??n?.delayMs??Ti,m=0,h=``,g=!1,_,v,y={get open(){
3
3
  /* istanbul ignore if -- unreachable: handle is only returned after open resolves */
4
4
  if(!_)throw Error(`Event stream has not been opened yet`);return _},closed:o.promise,close:C,[Symbol.asyncDispose](){return x()},[Symbol.asyncIterator](){let e=a[Symbol.asyncIterator](),t=!1;return{next(){return t?Promise.resolve({done:!0,value:void 0}):e.next()},return(){return t||(t=!0,y.close(`iterator-return`)),Promise.resolve({done:!0,value:void 0})}}}},b=w().catch(
5
5
  /* istanbul ignore next -- @preserve */
6
- e=>{A(e)});return s.promise;function x(){return v??=Promise.resolve().then(S)}async function S(){let e,t=!1;try{y.close()}catch(n){t=!0,e=n,C()}if(await Promise.all([o.promise,b]),t)throw e}function C(e){c.signal.aborted||(c.abort(e),a.close(),j({kind:`aborted`,reason:Hi(e),cause:e}))}async function w(){for(;!c.signal.aborted;){let n=ct(c.signal,[e.abort]),i,o=!1;try{if(g){if(h){let e=new TextEncoder().encode(h),t=``;for(let n of e)t+=String.fromCharCode(n);u.set(Si,t)}else u.delete(Si);g=!1}let c=new Request(r,Ri(e,u,n));i=await gr(()=>l(c),n,Ni);let d=i,p=await Fi(d,t.handshakeError,n).catch(e=>{throw _=Ii(d,null,!1),e});if(_=p,zi(p),!i.body)throw new X(`RES_DECODE_FAILED`,`Missing response body for event stream`);await O(()=>t.onopen?.(p),n,`Event stream onopen callback failed`),m=0,f||(f=!0,s.resolve(y)),o=!0,await T(i.body,n),await O(()=>t.onclose?.(p),n,`Event stream onclose callback failed`),a.close(),j({kind:`eof`});return}catch(t){i?.body&&!o&&i.body.cancel(t).catch(()=>void 0);let r=Bi(t,e.abort,c.signal);if(c.signal.aborted||e.abort?.aborted){k(n);return}let a=r??t,s=ki(a);if(s){await D(s,n),c.signal.aborted||e.abort?.aborted?k(n):A(s);return}if(vr(e.body)){A(a);return}let l;try{l=await E(a,n)}catch(t){c.signal.aborted||e.abort?.aborted?k(n):A(t);return}if(typeof l!=`number`||l<0){A(a);return}try{await hi(l,n)}catch(t){
6
+ e=>{k(e)});return s.promise;function x(){return v??=Promise.resolve().then(S)}async function S(){let e,t=!1;try{y.close()}catch(n){t=!0,e=n,C()}if(await Promise.all([o.promise,b]),t)throw e}function C(e){c.signal.aborted||(c.abort(e),a.close(),A({kind:`aborted`,reason:Wi(e),cause:e}))}async function w(){for(;!c.signal.aborted;){let n=W(c.signal,[e.signal]),i,o=!1;try{if(g){if(h){let e=new TextEncoder().encode(h),t=``;for(let n of e)t+=String.fromCharCode(n);u.set(wi,t)}else u.delete(wi);g=!1}let c=new Request(r,Bi(e,u,n));i=await vr(()=>l(c),n,Fi);let d=i,p=await Li(d,t.handshakeError,n).catch(e=>{throw _=Ri(d,null,!1),e});if(_=p,Vi(p),!i.body)throw new Y(`RES_DECODE_FAILED`,`Missing response body for event stream`);await ee(()=>t.onopen?.(p),n,`Event stream onopen callback failed`),m=0,f||(f=!0,s.resolve(y)),o=!0,await T(i.body,n),await ee(()=>t.onclose?.(p),n,`Event stream onclose callback failed`),a.close(),A({kind:`eof`});return}catch(t){i?.body&&!o&&i.body.cancel(t).catch(()=>void 0);let r=Hi(t,e.signal,c.signal);if(c.signal.aborted||e.signal?.aborted){O(n);return}let a=r??t,s=ji(a);if(s){await D(s,n),c.signal.aborted||e.signal?.aborted?O(n):k(s);return}if(br(e.body)){k(a);return}let l;try{l=await E(a,n)}catch(t){c.signal.aborted||e.signal?.aborted?O(n):k(t);return}if(typeof l!=`number`||l<0){k(a);return}try{await _i(l,n)}catch(t){
7
7
  /* istanbul ignore else -- @preserve */
8
- c.signal.aborted||e.abort?.aborted?k(n):A(t);return}}finally{G(n)}}}async function T(e,n){let r=yi(e=>{h=e,g=!0},e=>{p=e},e=>{let r;try{n.throwIfAborted(),r=t.transformMessage?t.transformMessage(e,n):e}catch(e){throw ji(e,n)}if(r instanceof Promise){let e=r;return e.catch(()=>void 0),n.throwIfAborted(),W(()=>e,n).then(i,e=>{throw ji(e,n)})}n.throwIfAborted(),i(r)},{maxBufferSize:t.maxBufferSize});function i(e){if(e!==void 0)try{a.push(e)}catch(e){throw new X(`CAP_QUEUE_OVERFLOW`,`Event stream queue exceeded maxQueueSize`,{cause:e})}}let o=vi(r,{maxBufferSize:t.maxBufferSize});try{await _i(e,o,n)}catch(e){throw e instanceof gi?new X(`CAP_BUFFER_EXCEEDED`,e.message,{cause:e}):e}}async function E(r,i){m+=1;let a=t.onerror?await W(()=>t.onerror?.(r,{lastEventId:h,retryCount:m,retryInterval:p,open:_}),i):void 0;if(a===null||!n)return null;if(t.reconnect?.shouldReconnect){if(!await W(()=>t.reconnect?.shouldReconnect?.({attempt:m,cause:r,lastEventId:h,method:e.method,open:_}),i))return null}else if(!Ti.has(e.method.toUpperCase()))return null;if(m>n.attempts)return null;let o=typeof a==`number`?a:p;return mi({...n,delayMs:o},m)}async function D(e,n){if(t.onerror)try{await W(()=>t.onerror?.(e,{lastEventId:h,retryCount:m,retryInterval:p,open:_}),n)}catch{}}async function O(e,t,n){try{await W(e,t)}catch(e){throw t.aborted?e:new X(`EXT_HOOK_FAILED`,e instanceof Error?e.message:n,{cause:e})}}function k(e){let t=Vi(e);if(t===ze){A(ze);return}let n=e.reason;i.open=_,f?a.close():(f=!0,s.reject(t)),j({kind:`aborted`,reason:Hi(n),cause:n})}function A(e){i.open=_,f?a.fail(e):(f=!0,s.reject(e)),j({cause:e,code:Mi(e),kind:`error`,reason:Hi(e)})}function j(e){d||(d=!0,o.resolve(e))}}function ji(e,t){return t.aborted?e:new X(`EXT_OBSERVER_FAILED`,`Failed to process event stream message`,{cause:e})}function Mi(e){return Ei(e)??(e===ze?`NET_TIMEOUT`:`NET_UNREACHABLE`)}function Ni(e,t){Pi(e,t.reason)}function Pi(e,t){e.cancel(t).catch(()=>void 0)}async function Fi(e,t,n){if(!e.ok&&t){let r=ht(t);if(!e.body&&r!==`text`)throw new X(`RES_DECODE_FAILED`,`Failed to decode event stream handshake body`);if(e.body&&r===`json`){let t=Or(e.headers);if(!kr(t))throw Pi(e.body),new X(`RES_MEDIA_TYPE_INVALID`,`Expected a JSON media type, received ${t||`<none>`}`)}try{let i=e.body?await Li(e.body,r,n,Or(e.headers)):``;return Ii(e,r===`json`?hn(t,i):sn(t,i),!0)}catch(e){throw n.aborted?e:new X(`RES_DECODE_FAILED`,`Failed to decode event stream handshake body`,{cause:e})}}return!e.ok&&e.body&&Pi(e.body),Ii(e,null,!1)}function Ii(e,t,n){return{response:Ae({status:e.status,statusText:e.statusText,headers:e.headers,url:e.url,body:n?t:void 0}),url:e.url}}async function Li(e,t,n,r){let i=[],a=0;return await _i(e,e=>{i.push(e),a+=e.byteLength},n),pt(t,mt(i,a),r)}function Ri(e,t,n){return xr(e,{defaultAccept:xi,headers:t,signal:n})}function zi(e){let{response:t}=e;if(!t.ok)throw new X(`RES_DECODE_FAILED`,`Event stream request failed`,{statusSignal:!0});let n=t.headers.get(`content-type`)||``;if(Cr(n)!==`text/event-stream`||!ui(n))throw new X(`RES_MEDIA_TYPE_INVALID`,`Expected content-type to start with ${xi}, got ${n||`(empty)`}`)}function Bi(e,t,n){let r=n?.aborted?n:t?.aborted?t:void 0;return r?.aborted?Vi(r):e}function Vi(e){return at(e)}function Hi(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e}function Ui(e){let t={...e,method:e.method??`GET`};return(async(e,n)=>Wi(e[l].config,t,n,e[l].options,new AbortController))}async function Wi(e,t,i,a,o){let s=a.abort;if(s?.aborted)return[ot(s),void 0,void 0];let c;try{qi(t);let n=e.sse.reconnect,r=ci(n,wi,`SSE`);c=r&&{...r,shouldReconnect:n?.shouldReconnect}}catch(e){return[H(`REQ_OPTIONS_INVALID`,e),void 0,void 0]}let l=ct(o.signal,[s]),u=e=>(G(l),[e,void 0,void 0]),d=/* @__PURE__ */ new WeakMap,f;try{f=cn(t.input,i,d)}catch(e){return u(U(l)??H(`REQ_INPUT_INVALID`,e))}let p=U(l);if(p)return u(p);let m;try{m=fr(t.method,t.path,f,t.builder,{abort:l,baseEndpoint:e.endpoint,defaultHeaders:e.headers,inputDeclared:t.input!==void 0,inputGuides:d,operation:t.operation,querySerializer:e.querySerializer,transport:`sse`,withCredentials:e.withCredentials})}catch(e){return u(U(l)??H(`REQ_BUILD_FAILED`,e))}let h=U(l);if(h)return u(h);let g=!1,_=!1,v=/* @__PURE__ */ new Set,y=gt(),b=/* @__PURE__ */ new Map;try{let i=nt(e.interceptors),a=i=>{if(g){let e=Promise.reject(/* @__PURE__ */ Error(`SSE interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}try{V(i)}catch(e){let t=Promise.reject(e);return t.catch(()=>void 0),t}let a=ct(l,[i.abort]);if(U(a)){let e=Promise.reject(y.mark(it(a)));return G(a),e.catch(()=>void 0),e}if(e.sse.handle===r&&typeof globalThis.fetch!=`function`){let e=Promise.reject(y.mark(n));return G(a),e.catch(()=>void 0),e}let o=new AbortController,s={controller:o};v.add(s);let u=ct(o.signal,[a]);s.release=()=>{G(u),G(a)};let d={},f=Ai({...i,abort:u},{fetch:e.sse.handle,failure:d,handshakeError:t.error,onopen(e){s.initialOpen??=e},transformMessage(n,r){return Gi(t.events,n,e.sse.onInvalidEvent,r)},reconnect:c,maxBufferSize:t.maxBufferSize,maxQueueSize:t.maxQueueSize}).then(e=>(s.stream=e,e.closed.then(s.release,s.release),e),e=>{throw s.release?.(),b.set(e,d.open),y.mark(e)});return f.catch(()=>void 0),f},o=et(i),s=await W(()=>o(m,a),l),u=s?.open;if(typeof s?.closed?.then!=`function`||typeof s.close!=`function`||typeof s[Symbol.asyncIterator]!=`function`||typeof s[Symbol.asyncDispose]!=`function`||typeof u?.url!=`string`)throw TypeError(`SSE interceptor must resolve an event stream handle`);g=!0;let d=()=>G(l);s.closed.then(d,d);let f;for(let e of v)if(e.stream&&(e.stream===s||e.stream.closed===s.closed&&u===e.stream.open)){f=e.initialOpen;break}return f??=u,x(/* @__PURE__ */ Error(`SSE interceptor discarded an opened stream`),s),_=!0,[null,s,f]}catch(e){g=!0,x(e);let t=y.has(e),n=e,r=b.get(n);return[l.aborted?ot(l):e instanceof he?H(`REQ_BUILD_FAILED`,e):Zi(n,t,r?.response),void 0,r]}finally{_||G(l)}function x(e,t){for(let n of v)(!n.stream||!t||n.stream!==t&&n.stream.closed!==t.closed)&&(n.controller.abort(e),n.stream?.close(e),n.release?.());v.clear()}}function Gi(e,t,n,r){let i=t.event||`message`,a=Ji(e,i);if(!a)return Ki(n,{reason:`missing-struct`,message:{id:t.id||``,event:i,data:t.data},signal:r});try{return{data:Yi(a,t.data),event:i,id:t.id||void 0}}catch(e){return Ki(n,{reason:`validation-failed`,message:{id:t.id||``,event:i,data:t.data},cause:e,signal:r})}}async function Ki(e,t){if(e)try{await W(()=>e(t),t.signal)}catch(e){if(t.signal.aborted)throw e}}function qi(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 Ji(e,t){if(Object.hasOwn(e,t))return e[t];if(Object.hasOwn(e,`default`))return e.default}function Yi(e,t){return ht(e)===`text`?sn(e,t):hn(e,JSON.parse(t))}function Xi(e){return{headers:e.headers,ok:e.ok,status:e.status,statusText:e.statusText,url:e.url}}function Zi(e,t,r){let i=Ei(e);if(r&&i===`RES_MEDIA_TYPE_INVALID`)return qe(i,Oi(e),Xi(r));if(r&&!r.ok){let t=Xi(r);return r.body===void 0?i===`RES_DECODE_FAILED`&&!Di(e)?qe(i,Oi(e),t):Ke(t):Ge({...t,body:r.body})}return r&&i===`RES_DECODE_FAILED`?qe(i,Oi(e),Xi(r)):t&&(e===_r||e===n)?H(`ENV_UNSUPPORTED`,e):t?Je(e):H(`EXT_INTERCEPTOR_FAILED`,e)}function Qi(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{[O]: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 $i(){return Q(Qi({expected:`string`,is:e=>typeof e==`string`,kind:`string`}))}function ea(){return Q(Qi({expected:`number`,is:e=>typeof e==`number`&&!Number.isNaN(e),kind:`number`}))}function ta(){return Qi({expected:`boolean`,is:e=>typeof e==`boolean`,kind:`boolean`})}function na(){return Q(Qi({expected:`null`,is:e=>e===null,kind:`null`}))}function ra(){return Q($({flags:Z,kind:`any`}))}function ia(){return Q($({flags:Z,kind:`unknown`}))}function aa(e){return Q($({expected:fe(e),flags:Z,kind:`literal`,value:e}))}function oa(e){let t=[...e];return Q($({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:Z,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 Q($({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:Z,kind:`enum`,values:t}))}function ca(e){return yt(e,`array item`),Q($({flags:Z,item:e,kind:`array`}))}function la(e){if(!B(e))throw TypeError(`object struct requires a plain object`);return Q($({cache:{declaredDescriptors:Object.getOwnPropertyDescriptors(e)},flags:Z,kind:`object`,shape:e}))}function ua(e){return fa(e,`urlencoded`)}function da(e){return fa(e,`formData`)}function fa(e,t){let n=la(e);return n[O].codec=t,n}function pa(e){return yt(e,`record value`),Q($({flags:Z,kind:`record`,value:e}))}function ma(e){let t=[...e];for(let e of t)yt(e,`tuple item`);return Q($({flags:Z,items:t,kind:`tuple`}))}function ha(e){let t=[...e];for(let e of t)yt(e,`or option`);return Q($({expected:t.map(e=>se(e[O])).join(` | `),flags:Z,kind:`or`,options:t,uniformIdentityEncode:ga(t)}))}function ga(e){let t=e[0];if(t[O].kind===`object`){let n=_a(t);if(!n)return!1;for(let t=1;t<e.length;t+=1){let r=_a(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=>va(e[O].kind))}function _a(e){let t=e[O];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?.[O];if(!t||!va(t.kind))return;n.set(e,t.kind)}return n}function va(e){return e===`any`||e===`boolean`||e===`enum`||e===`literal`||e===`null`||e===`number`||e===`string`||e===`unknown`}function ya(e,t){let n=[...t],r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=[],o=/* @__PURE__ */ new Set,s=[];for(let t of n){yt(t,`discriminatedUnion option`);let n=t[O];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[O];
8
+ c.signal.aborted||e.signal?.aborted?O(n):k(t);return}}finally{U(n)}}}async function T(e,n){let r=xi(e=>{h=e,g=!0},e=>{p=e},e=>{let r;try{n.throwIfAborted(),r=t.transformMessage?t.transformMessage(e,n):e}catch(e){throw Ni(e,n)}if(r instanceof Promise){let e=r;return e.catch(()=>void 0),n.throwIfAborted(),H(()=>e,n).then(i,e=>{throw Ni(e,n)})}n.throwIfAborted(),i(r)},{maxBufferSize:t.maxBufferSize});function i(e){if(e!==void 0)try{a.push(e)}catch(e){throw new Y(`CAP_QUEUE_OVERFLOW`,`Event stream queue exceeded maxQueueSize`,{cause:e})}}let o=bi(r,{maxBufferSize:t.maxBufferSize});try{await yi(e,o,n)}catch(e){throw e instanceof vi?new Y(`CAP_BUFFER_EXCEEDED`,e.message,{cause:e}):e}}async function E(r,i){m+=1;let a=t.onerror?await H(()=>t.onerror?.(r,{lastEventId:h,retryCount:m,retryInterval:p,open:_}),i):void 0;if(a===null||!n)return null;if(t.reconnect?.shouldReconnect){if(!await H(()=>t.reconnect?.shouldReconnect?.({attempt:m,cause:r,lastEventId:h,method:e.method,open:_}),i))return null}else if(!Di.has(e.method.toUpperCase()))return null;if(m>n.attempts)return null;let o=typeof a==`number`?a:p;return gi({...n,delayMs:o},m)}async function D(e,n){if(t.onerror)try{await H(()=>t.onerror?.(e,{lastEventId:h,retryCount:m,retryInterval:p,open:_}),n)}catch{}}async function ee(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 O(e){let t=Ui(e);if(t===He){k(He);return}let n=e.reason;i.open=_,f?a.close():(f=!0,s.reject(t)),A({kind:`aborted`,reason:Wi(n),cause:n})}function k(e){i.open=_,f?a.fail(e):(f=!0,s.reject(e)),A({cause:e,code:Pi(e),kind:`error`,reason:Wi(e)})}function A(e){d||(d=!0,o.resolve(e))}}function Ni(e,t){return t.aborted?e:new Y(`EXT_OBSERVER_FAILED`,`Failed to process event stream message`,{cause:e})}function Pi(e){return Oi(e)??(e===He?`NET_TIMEOUT`:`NET_UNREACHABLE`)}function Fi(e,t){Ii(e,t.reason)}function Ii(e,t){e.cancel(t).catch(()=>void 0)}async function Li(e,t,n){if(!e.ok&&t){let r=_t(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=Ar(e.headers);if(!jr(t))throw Ii(e.body),new Y(`RES_MEDIA_TYPE_INVALID`,`Expected a JSON media type, received ${t||`<none>`}`)}try{let i=e.body?await zi(e.body,r,n,Ar(e.headers)):``;return Ri(e,r===`json`?_n(t,i):ln(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&&Ii(e.body),Ri(e,null,!1)}function Ri(e,t,n){return{response:Ne({status:e.status,statusText:e.statusText,headers:e.headers,url:e.url,body:n?t:void 0}),url:e.url}}async function zi(e,t,n,r){let i=[],a=0;return await yi(e,e=>{i.push(e),a+=e.byteLength},n),ht(t,gt(i,a),r)}function Bi(e,t,n){return Cr(e,{defaultAccept:Ci,headers:t,signal:n})}function Vi(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(Tr(n)!==`text/event-stream`||!fi(n))throw new Y(`RES_MEDIA_TYPE_INVALID`,`Expected content-type to start with ${Ci}, got ${n||`(empty)`}`)}function Hi(e,t,n){let r=n?.aborted?n:t?.aborted?t:void 0;return r?.aborted?Ui(r):e}function Ui(e){return ct(e)}function Wi(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e}function Gi(e){let t={...e,method:e.method??`GET`};return(async(e,n)=>Ki(e[l].config,t,n,e[l].options,new AbortController))}async function Ki(e,t,i,a,o){let s=a.signal;if(s?.aborted)return[lt(s),void 0,void 0];let c;try{Yi(t);let n=e.sse.reconnect,r=ui(n,Ei,`SSE`);c=r&&{...r,shouldReconnect:n?.shouldReconnect}}catch(e){return[B(`REQ_OPTIONS_INVALID`,e),void 0,void 0]}let l=W(o.signal,[s]),u=e=>(U(l),[e,void 0,void 0]),d=/* @__PURE__ */ new WeakMap,f;try{f=un(t.input,i,d)}catch(e){return u(V(l)??B(`REQ_INPUT_INVALID`,e))}let p=V(l);if(p)return u(p);let m;try{m=mr(t.method,t.path,f,t.builder,{signal:l,baseEndpoint:e.endpoint,defaultHeaders:e.headers,inputDeclared:t.input!==void 0,inputGuides:d,operation:t.operation,querySerializer:e.querySerializer,transport:`sse`,withCredentials:e.withCredentials})}catch(e){return u(V(l)??B(`REQ_BUILD_FAILED`,e))}let h=V(l);if(h)return u(h);let g=!1,_=!1,v=/* @__PURE__ */ new Set,y=vt(),b=/* @__PURE__ */ new Map;try{let i=at(e.interceptors),a=i=>{if(g){let e=Promise.reject(/* @__PURE__ */ Error(`SSE interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}try{z(i)}catch(e){let t=Promise.reject(e);return t.catch(()=>void 0),t}let a=W(l,[i.signal]);if(V(a)){let e=Promise.reject(y.mark(st(a)));return U(a),e.catch(()=>void 0),e}if(e.sse.handle===r&&typeof globalThis.fetch!=`function`){let e=Promise.reject(y.mark(n));return U(a),e.catch(()=>void 0),e}let o=new AbortController,s={controller:o};v.add(s);let u=W(o.signal,[a]);s.release=()=>{U(u),U(a)};let d={},f=Mi({...i,signal:u},{fetch:e.sse.handle,failure:d,handshakeError:t.error,onopen(e){s.initialOpen??=e},transformMessage(n,r){return qi(t.events,n,e.sse.onInvalidEvent,r)},reconnect:c,maxBufferSize:t.maxBufferSize,maxQueueSize:t.maxQueueSize}).then(e=>(s.stream=e,e.closed.then(s.release,s.release),e),e=>{throw s.release?.(),b.set(e,d.open),y.mark(e)});return f.catch(()=>void 0),f},o=rt(i),s=await H(()=>o(m,a),l),u=s?.open;if(typeof s?.closed?.then!=`function`||typeof s.close!=`function`||typeof s[Symbol.asyncIterator]!=`function`||typeof s[Symbol.asyncDispose]!=`function`||typeof u?.url!=`string`)throw TypeError(`SSE interceptor must resolve an event stream handle`);g=!0;let d=()=>U(l);s.closed.then(d,d);let f;for(let e of v)if(e.stream&&(e.stream===s||e.stream.closed===s.closed&&u===e.stream.open)){f=e.initialOpen;break}return f??=u,x(/* @__PURE__ */ Error(`SSE interceptor discarded an opened stream`),s),_=!0,[null,s,f]}catch(e){g=!0,x(e);let t=y.has(e),n=e,r=b.get(n);return[l.aborted?lt(l):e instanceof ve?B(`REQ_BUILD_FAILED`,e):$i(n,t,r?.response),void 0,r]}finally{_||U(l)}function x(e,t){for(let n of v)(!n.stream||!t||n.stream!==t&&n.stream.closed!==t.closed)&&(n.controller.abort(e),n.stream?.close(e),n.release?.());v.clear()}}function qi(e,t,n,r){let i=t.event||`message`,a=Xi(e,i);if(!a)return Ji(n,{reason:`missing-struct`,message:{id:t.id||``,event:i,data:t.data},signal:r});try{return{data:Zi(a,t.data),event:i,id:t.id||void 0}}catch(e){return Ji(n,{reason:`validation-failed`,message:{id:t.id||``,event:i,data:t.data},cause:e,signal:r})}}async function Ji(e,t){if(e)try{await H(()=>e(t),t.signal)}catch(e){if(t.signal.aborted)throw e}}function Yi(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 Xi(e,t){if(Object.hasOwn(e,t))return e[t];if(Object.hasOwn(e,`default`))return e.default}function Zi(e,t){return _t(e)===`text`?ln(e,t):_n(e,JSON.parse(t))}function Qi(e){return{headers:e.headers,ok:e.ok,status:e.status,statusText:e.statusText,url:e.url}}function $i(e,t,r){let i=Oi(e);if(r&&i===`RES_MEDIA_TYPE_INVALID`)return Xe(i,Ai(e),Qi(r));if(r&&!r.ok){let t=Qi(r);return r.body===void 0?i===`RES_DECODE_FAILED`&&!ki(e)?Xe(i,Ai(e),t):Ye(t):Je({...t,body:r.body})}return r&&i===`RES_DECODE_FAILED`?Xe(i,Ai(e),Qi(r)):t&&(e===yr||e===n)?B(`ENV_UNSUPPORTED`,e):t?Ze(e):B(`EXT_INTERCEPTOR_FAILED`,e)}function ea(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{[O]: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 ta(){return Z(ea({expected:`string`,is:e=>typeof e==`string`,kind:`string`}))}function na(){return Z(ea({expected:`number`,is:e=>typeof e==`number`&&!Number.isNaN(e),kind:`number`}))}function ra(){return ea({expected:`boolean`,is:e=>typeof e==`boolean`,kind:`boolean`})}function ia(){return Z(ea({expected:`null`,is:e=>e===null,kind:`null`}))}function aa(){return Z(Q({flags:X,kind:`any`}))}function oa(){return Z(Q({flags:X,kind:`unknown`}))}function sa(e){return Z(Q({expected:he(e),flags:X,kind:`literal`,value:e}))}function ca(e){let t=[...e];return Z(Q({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:X,kind:`enum`,values:t}))}function la(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 ua(e){return xt(e,`array item`),Z(Q({flags:X,item:e,kind:`array`}))}function da(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 fa(e){return ma(e,`urlencoded`)}function pa(e){return ma(e,`formData`)}function ma(e,t){let n=da(e);return n[O].codec=t,n}function ha(e){return xt(e,`record value`),Z(Q({flags:X,kind:`record`,value:e}))}function ga(e){let t=[...e];for(let e of t)xt(e,`tuple item`);return Z(Q({flags:X,items:t,kind:`tuple`}))}function _a(e){let t=[...e];for(let e of t)xt(e,`or option`);return Z(Q({expected:t.map(e=>de(e[O])).join(` | `),flags:X,kind:`or`,options:t,uniformIdentityEncode:va(t)}))}function va(e){let t=e[0];if(t[O].kind===`object`){let n=ya(t);if(!n)return!1;for(let t=1;t<e.length;t+=1){let r=ya(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=>ba(e[O].kind))}function ya(e){let t=e[O];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?.[O];if(!t||!ba(t.kind))return;n.set(e,t.kind)}return n}function ba(e){return e===`any`||e===`boolean`||e===`enum`||e===`literal`||e===`null`||e===`number`||e===`string`||e===`unknown`}function xa(e,t){let n=[...t],r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=[],o=/* @__PURE__ */ new Set,s=[];for(let t of n){xt(t,`discriminatedUnion option`);let n=t[O];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[O];
9
9
  /* istanbul ignore next -- type-safe: discriminator is checked at compile time */
10
- 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 ba(){return Qi({expected:`Blob`,is:e=>e instanceof Blob,kind:`blob`,runtimeIs:e=>typeof Blob<`u`&&e instanceof Blob})}function xa(){return Qi({decode:(e,t,n)=>{if(typeof e==`bigint`)return oe(e);try{return oe(BigInt(e))}catch{return n(J(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 Sa(){return Qi({decode:(e,t,n)=>{let r=e instanceof Date?e:new Date(e);return Number.isNaN(r.getTime())?n(J(t,`invalid_type`,`Date`,e)):oe(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 Ca(...e){if(e.length===0)throw TypeError(`intersection requires at least one struct`);for(let t of e)yt(t,`intersection item`);if(e.length===1)return e[0];let t=e.every(wa),n=t?Ta(e):e;return $({expected:e.map(e=>se(e[O])).join(` & `),flags:Z,kind:`intersection`,objectSides:t,options:n})}function wa(e){let t=e[O];return t.kind===`object`||t.kind===`intersection`&&t.objectSides&&!t.flags.nullable}function Ta(e){let t=[];for(let n of e){let e=n[O];e.kind===`intersection`?t.push(...e.options):t.push(n)}return t}function Ea(){return Qi({expected:`File`,is:e=>e instanceof File,kind:`file`,runtimeIs:e=>typeof File<`u`&&e instanceof File})}function Da(){return Qi({expected:`ArrayBuffer`,is:e=>e instanceof ArrayBuffer,kind:`arrayBuffer`,runtimeIs:e=>typeof ArrayBuffer<`u`&&e instanceof ArrayBuffer})}function Oa(e){return Array.isArray(e)?oa(e):sa(e)}function ka(...e){return ha(e)}const Aa={any:ra,array:ca,arrayBuffer:Da,bigint:xa,blob:ba,boolean:ta,date:Sa,discriminatedUnion:ya,enum:Oa,file:Ea,formData:da,intersection:Ca,literal:aa,null:na,number:ea,object:la,or:ka,parse:on,record:pa,string:$i,tuple:ma,unknown:ia,urlencoded:ua};function ja(e){let{queryParams:t,queryString:n}=ye(e.query,e.querySerializer),r={abort:e.abort,baseEndpoint:e.baseEndpoint,endpoint:ge(e.path,e.params),headers:new Headers,method:`GET`,operation:e.operation,queryParams:t,queryString:n,withCredentials:e.withCredentials??!1};return V(r),r}function Ma(e){let t=V(e);return t.protocol===`https:`?t.protocol=`wss:`:t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}function Na(e,t){if(!e)throw Error(`No outgoing WebSocket messages are declared for this endpoint`);let n=JSON.stringify(mn(e,sn(e,t)),(e,t)=>Rn(e,t,`Outgoing WebSocket message`));if(typeof n!=`string`)throw TypeError(`Outgoing WebSocket message has no JSON representation`);return n}function Pa(e,t){return typeof Blob<`u`&&t instanceof Blob?t.arrayBuffer().then(t=>Fa(e,ut(t))):Fa(e,dt(t))}function Fa(e,t){return t===void 0?void 0:hn(e,JSON.parse(t))}function Ia(e,t){return{cause:t,code:e?.code,reason:e?.reason,wasClean:e?.wasClean}}const La=2147483647;function Ra(e,t,n,r,i,a){if(Ba(t),za(n),!n)return;let o,s,c={isAck:n.isAck,markAck(){clearTimeout(o),o=void 0},stop(){clearInterval(s),clearTimeout(o),s=void 0,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=Na(r,i);if(!l())return;typeof n.timeoutMs==`number`&&n.timeoutMs>0&&(o=setTimeout(()=>{u(/* @__PURE__ */ Error(`WebSocket heartbeat timeout`))},n.timeoutMs)),e.send(a)}catch(e){u(e)}},n.intervalMs);function u(e){
10
+ 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 Sa(){return ea({expected:`Blob`,is:e=>e instanceof Blob,kind:`blob`,runtimeIs:e=>typeof Blob<`u`&&e instanceof Blob})}function Ca(){return ea({decode:(e,t,n)=>{if(typeof e==`bigint`)return ue(e);try{return ue(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 wa(){return ea({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)):ue(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 Ta(...e){if(e.length===0)throw TypeError(`intersection requires at least one struct`);for(let t of e)xt(t,`intersection item`);if(e.length===1)return e[0];let t=e.every(Ea),n=t?Da(e):e;return Q({expected:e.map(e=>de(e[O])).join(` & `),flags:X,kind:`intersection`,objectSides:t,options:n})}function Ea(e){let t=e[O];return t.kind===`object`||t.kind===`intersection`&&t.objectSides&&!t.flags.nullable}function Da(e){let t=[];for(let n of e){let e=n[O];e.kind===`intersection`?t.push(...e.options):t.push(n)}return t}function Oa(){return ea({expected:`File`,is:e=>e instanceof File,kind:`file`,runtimeIs:e=>typeof File<`u`&&e instanceof File})}function ka(){return ea({expected:`ArrayBuffer`,is:e=>e instanceof ArrayBuffer,kind:`arrayBuffer`,runtimeIs:e=>typeof ArrayBuffer<`u`&&e instanceof ArrayBuffer})}function Aa(e){return Array.isArray(e)?ca(e):la(e)}function ja(...e){return _a(e)}const Ma={any:aa,array:ua,arrayBuffer:ka,bigint:Ca,blob:Sa,boolean:ra,date:wa,discriminatedUnion:xa,enum:Aa,file:Oa,formData:pa,intersection:Ta,literal:sa,null:ia,number:na,object:da,or:ja,parse:cn,record:ha,string:ta,tuple:ga,unknown:oa,urlencoded:fa};function Na(e){let{queryParams:t,queryString:n}=Se(e.query,e.querySerializer),r={signal:e.signal,baseEndpoint:e.baseEndpoint,endpoint:ye(e.path,e.params),headers:new Headers,method:`GET`,operation:e.operation,queryParams:t,queryString:n,withCredentials:e.withCredentials??!1};return z(r),r}function Pa(e){let t=z(e);return t.protocol===`https:`?t.protocol=`wss:`:t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}function Fa(e,t){if(!e)throw Error(`No outgoing WebSocket messages are declared for this endpoint`);let n=JSON.stringify(gn(e,ln(e,t)),(e,t)=>Bn(e,t,`Outgoing WebSocket message`));if(typeof n!=`string`)throw TypeError(`Outgoing WebSocket message has no JSON representation`);return n}function Ia(e,t){return typeof Blob<`u`&&t instanceof Blob?t.arrayBuffer().then(t=>La(e,ft(t))):La(e,pt(t))}function La(e,t){return t===void 0?void 0:_n(e,JSON.parse(t))}function Ra(e,t){return{cause:t,code:e?.code,reason:e?.reason,wasClean:e?.wasClean}}const za=2147483647;function Ba(e,t,n,r,i,a){if(Ha(t),Va(n),!n)return;let o,s,c={isAck:n.isAck,markAck(){clearTimeout(o),o=void 0},stop(){clearInterval(s),clearTimeout(o),s=void 0,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=Fa(r,i);if(!l())return;typeof n.timeoutMs==`number`&&n.timeoutMs>0&&(o=setTimeout(()=>{u(/* @__PURE__ */ Error(`WebSocket heartbeat timeout`))},n.timeoutMs)),e.send(a)}catch(e){u(e)}},n.intervalMs);function u(e){
11
11
  /* istanbul ignore if -- @preserve defensive: a cleared platform timeout callback may already be queued when the runtime stops */
12
- c.stop(),l()&&(t.heartbeat=void 0,i(e))}}function za(e){e&&(Va(`intervalMs`,e.intervalMs),e.timeoutMs!==void 0&&Va(`timeoutMs`,e.timeoutMs))}function Ba(e){e.heartbeat?.stop(),e.heartbeat=void 0}function Va(e,t){if(!Number.isFinite(t)||t<=0||t>La)throw RangeError(`WebSocket heartbeat ${e} must be between 0 and ${La}`)}function Ha(e){let t=e?.shouldReconnect,n=ci(e,{delayMs:1e3,factor:2,jitter:0,maxDelayMs:3e4},`WebSocket`);if(n)return{...n,hasShouldReconnect:typeof t==`function`,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 Ua(e,t,n){return!e||t.opened===!1&&e.attempts<=0?!1:e.shouldReconnect(t,n)}function Wa(e){let t={...e};return(async(e,n)=>{let r=e[l].options,i=new AbortController,a={listeners:{runtimeError:/* @__PURE__ */ new Set,stateChange:/* @__PURE__ */ new Set},status:`idle`,transition:0};return Za(e[l].config,t,n,r,i,a)})}function Ga(e,t){try{return so(e,t),[void 0,!0]}catch(e){return[H(`REQ_OPTIONS_INVALID`,e),void 0]}}function Ka(e,t){try{let n=e.beforeConnect,r=e.protocols,i=r?[...r]:void 0,a=e.reconnect??t.reconnect,o=e.heartbeat??t.heartbeat,s=o?{intervalMs:o.intervalMs,isAck:o.isAck,message:o.message,timeoutMs:o.timeoutMs}:void 0;return za(s),[void 0,{beforeConnect:n,heartbeat:s,protocols:i,reconnect:Ha(a)}]}catch(e){return[H(`REQ_OPTIONS_INVALID`,e),void 0]}}function qa(e,t,n,r){try{return[void 0,cn(e,t,n)]}catch(e){return[U(r)??H(`REQ_INPUT_INVALID`,e),void 0]}}function Ja(e,t,n,r,i){try{return[void 0,wn(Cn(e,t,n),`webSocket`,r)]}catch(e){return[U(i)??H(`REQ_BUILD_FAILED`,e),void 0]}}function Ya(e){try{return[void 0,ja(e)]}catch(t){return[U(e.abort)??H(`REQ_BUILD_FAILED`,t),void 0]}}function Xa(e){let t=e??globalThis.WebSocket;return typeof t==`function`?[void 0,t]:[H(`ENV_UNSUPPORTED`,/* @__PURE__ */ Error(`WebSocket is not supported in current runtime`)),void 0]}async function Za(e,t,n,r,i,a){no(a,`connecting`);let o=r.abort;if(o?.aborted){let e=ot(o);return a.error=e,no(a,e.code===`NET_ABORTED`?`aborted`:`error`),[e,void 0,void 0]}let s=e=>(a.error=e,no(a,`error`),[e,void 0,void 0]),[c]=Ga(t.maxIncomingQueueSize,t.maxOutgoingQueueSize);if(c)return s(c);let[l,u]=Ka(r,e.webSocket);if(l)return s(l);let d=u.beforeConnect,f=u.protocols,p=u.reconnect,m=u.heartbeat,h=ct(new AbortController().signal,[o]),g=ct(i.signal,[h]),_=e=>(G(h),G(g),a.error=e,no(a,e.code===`NET_ABORTED`?`aborted`:`error`),[e,void 0,void 0]),v=/* @__PURE__ */ new WeakMap,[y,b]=qa(t.input,n,v,g);if(y)return _(y);let x=U(g);if(x)return _(x);let[S,C]=Ja(b,t.builder,t.input!==void 0,v,g);if(S)return _(S);let w=U(g);if(w)return _(w);let[T,E]=Ya({abort:g,baseEndpoint:e.endpoint,operation:t.operation,params:C.params,path:t.path,query:C.query,querySerializer:e.querySerializer,withCredentials:e.withCredentials});if(T)return _(T);let D=Xa(e.webSocket.handle);if(D[0])return _(D[0]);let O=D[1],k=O,A,j=/* @__PURE__ */ new Set,M=/* @__PURE__ */ new Set,ee=!1,N=!1,P=n=>{if(N||ee){let e=Promise.reject(/* @__PURE__ */ Error(N?`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}ee=!0;let r=g,o=new Promise((o,s)=>{let c=ct(r,[n.abort]),l=new fi({maxSize:t.maxIncomingQueueSize}),u=Promise.withResolvers(),h={currentSocket:void 0,heartbeat:void 0},g=[],_=!1,v=!1,y,b=0,x=0,S,C,w=/* @__PURE__ */ new Set,T,E,D,j=!1,M,ee,N=p?.hasShouldReconnect??!1,P=d??e.webSocket.beforeConnect,F=[...f??e.webSocket.protocols??t.protocols??[]],te=eo(t.outgoing,l,u.promise,a,h,g,t.maxOutgoingQueueSize??0,O.OPEN,()=>v||c.aborted,ae,oe),ne=re().catch(e=>{L({cause:e,kind:`error`})});async function re(){for(;!v;){if(c.aborted){R();return}no(a,b===0?`connecting`:`reconnecting`);let e=await ie();if(v)return;if(!e.ok){e.aborted?R():L({cause:e.error,kind:`error`},{startupError:e.error});return}if(c.aborted){R();return}let t=await I(e.url,e.protocols);if(v)return;if(!_&&t.connection&&(y=t.connection,a.connection=y),c.aborted){R(t.closeInfo);return}if(C){L(po(t.closeInfo,C));return}let n=b+1,r=!1,i=!1;if(p&&n<=p.attempts)try{r=Ua(p,t,n),i=N&&!r}catch(e){if(v)return;c.aborted?R(t.closeInfo):L(ho(t.closeInfo,e));return}if(v)return;if(c.aborted){R(t.closeInfo);return}if(r&&p){if(b=n,no(a,`reconnecting`),v)return;if(c.aborted){R(t.closeInfo);return}let e=mi(p,n);if(e>0)try{await hi(e,c)}catch{v||R(t.closeInfo);return}}else{if(!_){let e=t.cause??/* @__PURE__ */ Error(`WebSocket closed before open`),n=Je(e);L(ho(t.closeInfo,e),{startupError:n});return}if(i){L(po(t.closeInfo));return}t.cause===void 0?L(po(t.closeInfo)):L(ho(t.closeInfo,t.cause));return}}}async function ie(){let e;try{e=Ma(n)}catch(e){return{aborted:!1,error:H(`REQ_BUILD_FAILED`,e),ok:!1}}if(P)try{await W(()=>P({attempt:b,signal:c}),c),c.throwIfAborted()}catch(e){return c.aborted?{aborted:!0,ok:!1}:{aborted:!1,error:H(`EXT_HOOK_FAILED`,e),ok:!1}}return{ok:!0,protocols:F,url:e}}async function I(e,n){let r;try{r=n.length>0?new k(e,[...n]):new k(e)}catch(e){return lo(e)}try{
12
+ c.stop(),l()&&(t.heartbeat=void 0,i(e))}}function Va(e){e&&(Ua(`intervalMs`,e.intervalMs),e.timeoutMs!==void 0&&Ua(`timeoutMs`,e.timeoutMs))}function Ha(e){e.heartbeat?.stop(),e.heartbeat=void 0}function Ua(e,t){if(!Number.isFinite(t)||t<=0||t>za)throw RangeError(`WebSocket heartbeat ${e} must be between 0 and ${za}`)}function Wa(e){let t=e?.shouldReconnect,n=ui(e,{delayMs:1e3,factor:2,jitter:0,maxDelayMs:3e4},`WebSocket`);if(n)return{...n,hasShouldReconnect:typeof t==`function`,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 Ga(e,t,n){return!e||t.opened===!1&&e.attempts<=0?!1:e.shouldReconnect(t,n)}function Ka(e){let t={...e};return(async(e,n)=>{let r=e[l].options,i=new AbortController,a={listeners:{runtimeError:/* @__PURE__ */ new Set,stateChange:/* @__PURE__ */ new Set},status:`idle`,transition:0};return $a(e[l].config,t,n,r,i,a)})}function qa(e,t){try{return co(e,t),[void 0,!0]}catch(e){return[B(`REQ_OPTIONS_INVALID`,e),void 0]}}function Ja(e,t){try{let n=e.beforeConnect,r=e.protocols,i=r?[...r]:void 0,a=e.reconnect??t.reconnect,o=e.heartbeat??t.heartbeat,s=o?{intervalMs:o.intervalMs,isAck:o.isAck,message:o.message,timeoutMs:o.timeoutMs}:void 0;return Va(s),[void 0,{beforeConnect:n,heartbeat:s,protocols:i,reconnect:Wa(a)}]}catch(e){return[B(`REQ_OPTIONS_INVALID`,e),void 0]}}function Ya(e,t,n,r){try{return[void 0,un(e,t,n)]}catch(e){return[V(r)??B(`REQ_INPUT_INVALID`,e),void 0]}}function Xa(e,t,n,r,i){try{return[void 0,En(Tn(e,t,n),`webSocket`,r)]}catch(e){return[V(i)??B(`REQ_BUILD_FAILED`,e),void 0]}}function Za(e){try{return[void 0,Na(e)]}catch(t){return[V(e.signal)??B(`REQ_BUILD_FAILED`,t),void 0]}}function Qa(e){let t=e??globalThis.WebSocket;return typeof t==`function`?[void 0,t]:[B(`ENV_UNSUPPORTED`,/* @__PURE__ */ Error(`WebSocket is not supported in current runtime`)),void 0]}async function $a(e,t,n,r,i,a){$(a,`connecting`);let o=r.signal;if(o?.aborted){let e=lt(o);return a.error=e,$(a,e.code===`NET_ABORTED`?`aborted`:`error`),[e,void 0,void 0]}let s=e=>(a.error=e,$(a,`error`),[e,void 0,void 0]),[c]=qa(t.maxIncomingQueueSize,t.maxOutgoingQueueSize);if(c)return s(c);let[l,u]=Ja(r,e.webSocket);if(l)return s(l);let d=u.beforeConnect,f=u.protocols,p=u.reconnect,m=u.heartbeat,h=W(new AbortController().signal,[o]),g=W(i.signal,[h]),_=e=>(U(h),U(g),a.error=e,$(a,e.code===`NET_ABORTED`?`aborted`:`error`),[e,void 0,void 0]),v=/* @__PURE__ */ new WeakMap,[y,b]=Ya(t.input,n,v,g);if(y)return _(y);let x=V(g);if(x)return _(x);let[S,C]=Xa(b,t.builder,t.input!==void 0,v,g);if(S)return _(S);let w=V(g);if(w)return _(w);let[T,E]=Za({signal:g,baseEndpoint:e.endpoint,operation:t.operation,params:C.params,path:t.path,query:C.query,querySerializer:e.querySerializer,withCredentials:e.withCredentials});if(T)return _(T);let D=Qa(e.webSocket.handle);if(D[0])return _(D[0]);let ee=D[1],O=ee,k,A=/* @__PURE__ */ new Set,j=/* @__PURE__ */ new Set,te=!1,M=!1,ne=n=>{if(M||te){let e=Promise.reject(/* @__PURE__ */ Error(M?`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}te=!0;let r=g,o=new Promise((o,s)=>{let c=W(r,[n.signal]),l=new mi({maxSize:t.maxIncomingQueueSize}),u=Promise.withResolvers(),h={currentSocket:void 0,heartbeat:void 0},g=[],_=!1,v=!1,y,b=0,x=0,S,C,w=/* @__PURE__ */ new Set,T,E,D,A=!1,j,te,M=p?.hasShouldReconnect??!1,ne=d??e.webSocket.beforeConnect,N=[...f??e.webSocket.protocols??t.protocols??[]],re=no(t.outgoing,l,u.promise,a,h,g,t.maxOutgoingQueueSize??0,ee.OPEN,()=>v||c.aborted,ce,le),ie=ae().catch(e=>{P({cause:e,kind:`error`})});async function ae(){for(;!v;){if(c.aborted){F();return}$(a,b===0?`connecting`:`reconnecting`);let e=await oe();if(v)return;if(!e.ok){e.aborted?F():P({cause:e.error,kind:`error`},{startupError:e.error});return}if(c.aborted){F();return}let t=await se(e.url,e.protocols);if(v)return;if(!_&&t.connection&&(y=t.connection,a.connection=y),c.aborted){F(t.closeInfo);return}if(C){P(mo(t.closeInfo,C));return}let n=b+1,r=!1,i=!1;if(p&&n<=p.attempts)try{r=Ga(p,t,n),i=M&&!r}catch(e){if(v)return;c.aborted?F(t.closeInfo):P(go(t.closeInfo,e));return}if(v)return;if(c.aborted){F(t.closeInfo);return}if(r&&p){if(b=n,$(a,`reconnecting`),v)return;if(c.aborted){F(t.closeInfo);return}let e=gi(p,n);if(e>0)try{await _i(e,c)}catch{v||F(t.closeInfo);return}}else{if(!_){let e=t.cause??/* @__PURE__ */ Error(`WebSocket closed before open`),n=Ze(e);P(go(t.closeInfo,e),{startupError:n});return}if(i){P(mo(t.closeInfo));return}t.cause===void 0?P(mo(t.closeInfo)):P(go(t.closeInfo,t.cause));return}}}async function oe(){let e;try{e=Pa(n)}catch(e){return{aborted:!1,error:B(`REQ_BUILD_FAILED`,e),ok:!1}}if(ne)try{await H(()=>ne({attempt:b,signal:c}),c),c.throwIfAborted()}catch(e){return c.aborted?{aborted:!0,ok:!1}:{aborted:!1,error:B(`EXT_HOOK_FAILED`,e),ok:!1}}return{ok:!0,protocols:N,url:e}}async function se(e,n){let r;try{r=n.length>0?new O(e,[...n]):new O(e)}catch(e){return uo(e)}try{
13
13
  /* istanbul ignore else -- @preserve defensive: binaryType may not exist on injected nonstandard WebSocket handles */
14
- `binaryType`in r&&(r.binaryType=`arraybuffer`)}catch(e){return uo(r),lo(e)}h.currentSocket=r;let i=!1,s;return await new Promise(e=>{let n,u=!1,d,f=!1,p=new AbortController,E=ct(c,[p.signal]),D=[],k=!1,j=!1,M=()=>{d!==void 0&&(clearTimeout(d),d=void 0)},ee=e=>{M(),r.removeEventListener(`open`,ne),r.removeEventListener(`message`,I),r.removeEventListener(`close`,oe),r.removeEventListener(`error`,ae),c.removeEventListener(`abort`,F),!j&&(j=!0,Ba(h),p.abort(),G(E),D.length=0,!e&&h.currentSocket===r&&(h.currentSocket=void 0))},N=()=>({extensions:r.extensions||void 0,generation:x,protocol:r.protocol||void 0,url:r.url}),P=(t,n=!1)=>{
14
+ `binaryType`in r&&(r.binaryType=`arraybuffer`)}catch(e){return fo(r),uo(e)}h.currentSocket=r;let i=!1,s;return await new Promise(e=>{let n,u=!1,d,f=!1,p=new AbortController,E=W(c,[p.signal]),D=[],O=!1,A=!1,j=()=>{d!==void 0&&(clearTimeout(d),d=void 0)},te=e=>{j(),r.removeEventListener(`open`,ie),r.removeEventListener(`message`,se),r.removeEventListener(`close`,le),r.removeEventListener(`error`,ce),c.removeEventListener(`abort`,N),!A&&(A=!0,Ha(h),p.abort(),U(E),D.length=0,!e&&h.currentSocket===r&&(h.currentSocket=void 0))},M=()=>({extensions:r.extensions||void 0,generation:x,protocol:r.protocol||void 0,url:r.url}),ne=(t,n=!1)=>{
15
15
  /* istanbul ignore if -- @preserve defensive: every physical attempt is settled through this once-only gate */
16
- k||
16
+ O||
17
17
  /* istanbul ignore else -- @preserve invariant: activeAttempt refers to the sole physical socket until settlement */
18
- (k=!0,ee(n),S?.socket===r&&(S=void 0),e(t))},F=()=>{v||(_||(y=N(),a.connection=y),R(Ia(void 0,c.reason)))},ne=()=>{if(!(v||i)){i=!0,b=0,x+=1,y=N(),a.connection=y;try{to(r,g,O.OPEN)}catch(e){L({cause:e,kind:`error`});return}v||C||(no(a,`open`),!v&&(_||(A=y,_=!0,o(te)),a.status===`open`&&Ra(r,h,m,t.outgoing,e=>{L({cause:e,kind:`error`})},O.OPEN)))}},re=async e=>{
18
+ (O=!0,te(n),S?.socket===r&&(S=void 0),e(t))},N=()=>{v||(_||(y=M(),a.connection=y),F(Ra(void 0,c.reason)))},ie=()=>{if(!(v||i)){i=!0,b=0,x+=1,y=M(),a.connection=y;try{ro(r,g,ee.OPEN)}catch(e){P({cause:e,kind:`error`});return}v||C||($(a,`open`),!v&&(_||(k=y,_=!0,o(re)),a.status===`open`&&Ba(r,h,m,t.outgoing,e=>{P({cause:e,kind:`error`})},ee.OPEN)))}},ae=async e=>{
19
19
  /* istanbul ignore if -- @preserve defensive: stale physical listeners are removed before logical settlement */
20
- if(v||h.currentSocket!==r)return;let n;try{E.throwIfAborted();let r=Pa(t.incoming,e.data);n=r instanceof Promise?await W(()=>r,E):r}catch(e){if(v||p.signal.aborted)return;ro(a,e);return}if(!(v||h.currentSocket!==r||n===void 0))try{let e=h.heartbeat,t=e?.isAck?.(n)??!1;if(v||h.currentSocket!==r||h.heartbeat!==e)return;if(t&&e){e.markAck();return}l.push(n)}catch(e){v||L({cause:e,kind:`error`})}},ie=async()=>{if(!f){f=!0;try{for(;!v&&D.length>0;){let e=D.shift();await re(e)}!v&&n&&D.length===0&&P(n)}catch(e){
20
+ if(v||h.currentSocket!==r)return;let n;try{E.throwIfAborted();let r=Ia(t.incoming,e.data);n=r instanceof Promise?await H(()=>r,E):r}catch(e){if(v||p.signal.aborted)return;io(a,e);return}if(!(v||h.currentSocket!==r||n===void 0))try{let e=h.heartbeat,t=e?.isAck?.(n)??!1;if(v||h.currentSocket!==r||h.heartbeat!==e)return;if(t&&e){e.markAck();return}l.push(n)}catch(e){v||P({cause:e,kind:`error`})}},oe=async()=>{if(!f){f=!0;try{for(;!v&&D.length>0;){let e=D.shift();await ae(e)}!v&&n&&D.length===0&&ne(n)}catch(e){
21
21
  /* istanbul ignore next -- @preserve defensive: handleMessage and settleAttempt contain their own failure boundaries */
22
- L({cause:e,kind:`error`})}finally{f=!1,v&&(D.length=0)}}},I=e=>{
22
+ P({cause:e,kind:`error`})}finally{f=!1,v&&(D.length=0)}}},se=e=>{
23
23
  /* istanbul ignore if -- @preserve defensive: physical message listeners are removed as soon as close is observed */
24
- if(v||u||h.currentSocket!==r)return;if(D.length>=t.maxIncomingQueueSize){L({cause:/* @__PURE__ */ Error(`WebSocket raw message queue overflow`),kind:`error`});return}D.push(e);let n=ie();w.add(n),n.finally(()=>{w.delete(n)})},ae=()=>{s??=/* @__PURE__ */ Error(`WebSocket connection error`),Ba(h),r.removeEventListener(`error`,ae),d=setTimeout(()=>{d=void 0,L({cause:s,kind:`error`},{skipNativeClose:!0})},Qa);try{r.close()}catch{M(),L({cause:s,kind:`error`},{skipNativeClose:!0})}},oe=e=>{u||(u=!0,M(),h.heartbeat?.stop(),r.removeEventListener(`open`,ne),r.removeEventListener(`message`,I),r.removeEventListener(`error`,ae),n={closeInfo:Ia(e,s),connection:N(),cause:s,opened:i},T&&S?.abortMessagePumpForDisposal(),s===void 0?!f&&D.length===0&&P(n):(D.length=0,P(n)))};S={abortMessagePumpForDisposal(){u&&p.abort()},cancel(e=!1){P({closeInfo:Ia(void 0,s),connection:N(),cause:s,opened:i},e)},socket:r},c.addEventListener(`abort`,F,{once:!0}),r.addEventListener(`open`,ne),r.addEventListener(`message`,I),r.addEventListener(`close`,oe),r.addEventListener(`error`,ae),c.aborted&&F(),k&&ee(!1)})}function L(e,t={}){
24
+ if(v||u||h.currentSocket!==r)return;if(D.length>=t.maxIncomingQueueSize){P({cause:/* @__PURE__ */ Error(`WebSocket raw message queue overflow`),kind:`error`});return}D.push(e);let n=oe();w.add(n),n.finally(()=>{w.delete(n)})},ce=()=>{s??=/* @__PURE__ */ Error(`WebSocket connection error`),Ha(h),r.removeEventListener(`error`,ce),d=setTimeout(()=>{d=void 0,P({cause:s,kind:`error`},{skipNativeClose:!0})},eo);try{r.close()}catch{j(),P({cause:s,kind:`error`},{skipNativeClose:!0})}},le=e=>{u||(u=!0,j(),h.heartbeat?.stop(),r.removeEventListener(`open`,ie),r.removeEventListener(`message`,se),r.removeEventListener(`error`,ce),n={closeInfo:Ra(e,s),connection:M(),cause:s,opened:i},T&&S?.abortMessagePumpForDisposal(),s===void 0?!f&&D.length===0&&ne(n):(D.length=0,ne(n)))};S={abortMessagePumpForDisposal(){u&&p.abort()},cancel(e=!1){ne({closeInfo:Ra(void 0,s),connection:M(),cause:s,opened:i},e)},socket:r},c.addEventListener(`abort`,N,{once:!0}),r.addEventListener(`open`,ie),r.addEventListener(`message`,se),r.addEventListener(`close`,le),r.addEventListener(`error`,ce),c.aborted&&N(),O&&te(!1)})}function P(e,t={}){
25
25
  /* istanbul ignore if -- @preserve defensive once-only gate: terminal callers and reentrant state transitions check finished before invoking finish */
26
- if(v)return;v=!0,Ba(h);let n=h.currentSocket;if(e.kind!==`closed`&&n&&!t.skipNativeClose&&uo(n),n&&t.keepPhysicalCleanup&&(ee=fo(n,h)),S?.cancel(t.keepPhysicalCleanup),g.length=0,e.kind===`closed`)l.close(),a.error=void 0;else{let n=e.cause??new DOMException(`Aborted`,`AbortError`);l.fail(n),a.error=t.startupError??go(e),e.kind===`error`&&ro(a,e.cause)}if(a.connection=y,no(a,e.kind===`closed`?`closed`:e.kind),a.listeners.runtimeError.clear(),a.listeners.stateChange.clear(),i.signal.aborted||i.abort(e),u.resolve(e),G(c),!_){let n=t.startupError??go(e);a.error=n,s(n)}}function R(e={}){
26
+ if(v)return;v=!0,Ha(h);let n=h.currentSocket;if(e.kind!==`closed`&&n&&!t.skipNativeClose&&fo(n),n&&t.keepPhysicalCleanup&&(te=po(n,h)),S?.cancel(t.keepPhysicalCleanup),g.length=0,e.kind===`closed`)l.close(),a.error=void 0;else{let n=e.cause??new DOMException(`Aborted`,`AbortError`);l.fail(n),a.error=t.startupError??_o(e),e.kind===`error`&&io(a,e.cause)}if(a.connection=y,$(a,e.kind===`closed`?`closed`:e.kind),a.listeners.runtimeError.clear(),a.listeners.stateChange.clear(),i.signal.aborted||i.abort(e),u.resolve(e),U(c),!_){let n=t.startupError??_o(e);a.error=n,s(n)}}function F(e={}){
27
27
  /* istanbul ignore next -- @preserve invariant: finishFromSignal is called only after the merged signal aborts */
28
- let t=U(c)??Je(Re);t.code===`NET_TIMEOUT`?L(ho(e,c.reason),{startupError:t}):L(mo(e,c.reason),{startupError:t})}function ae(e,t){if(co(e,t),v||C||(C={code:e,kind:`manual-web-socket-close`,reason:t},h.heartbeat?.stop(),no(a,`closing`),v))return;let n=h.currentSocket;if(!n)L(po({},C));else try{n.close(e,t)}catch(e){try{n.close()}catch{L({cause:e,kind:`error`},{keepPhysicalCleanup:!0,skipNativeClose:!0})}throw e}}function oe(){return T??=Promise.resolve().then(se)}async function se(){try{try{te.close()}catch(e){j=!0,M=e}S?.abortMessagePumpForDisposal(),v||(E=setTimeout(()=>{
28
+ let t=V(c)??Ze(Ve);t.code===`NET_TIMEOUT`?P(go(e,c.reason),{startupError:t}):P(ho(e,c.reason),{startupError:t})}function ce(e,t){if(lo(e,t),v||C||(C={code:e,kind:`manual-web-socket-close`,reason:t},h.heartbeat?.stop(),$(a,`closing`),v))return;let n=h.currentSocket;if(!n)P(mo({},C));else try{n.close(e,t)}catch(e){try{n.close()}catch{P({cause:e,kind:`error`},{keepPhysicalCleanup:!0,skipNativeClose:!0})}throw e}}function le(){return T??=Promise.resolve().then(ue)}async function ue(){try{try{re.close()}catch(e){A=!0,j=e}S?.abortMessagePumpForDisposal(),v||(E=setTimeout(()=>{
29
29
  /* istanbul ignore if -- @preserve defensive: lifecycle completion clears this timer before a later timer task can run */
30
- v||(D=new DOMException(`WebSocket close event was not observed before teardown timeout`,`TimeoutError`),L(po({},C),{skipNativeClose:!0}))},Qa)),await ne,await Promise.allSettled([...w])}finally{clearTimeout(E),E=void 0,ee?.()}if(j)throw M;if(D)throw D}});return M.add(o),o.then(e=>{M.delete(o),j.add(e)},()=>{M.delete(o)}),o},F=et(rt(e.interceptors));try{let e=await W(()=>F(E,P),h),t=e?.connection;if(typeof e?.closed?.then!=`function`||typeof e.close!=`function`||typeof e.send!=`function`||typeof e.receive?.[Symbol.asyncIterator]!=`function`||typeof e[Symbol.asyncDispose]!=`function`||typeof e.onRuntimeError!=`function`||typeof e.onStateChange!=`function`||typeof t?.generation!=`number`||typeof e.bufferedAmount!=`number`||typeof e.state!=`string`)throw TypeError(`WebSocket interceptor must resolve a WebSocket session`);N=!0,G(h);let n=[...j].some(t=>t===e||t.closed===e.closed),r=[...M];!n&&(j.size>0||r.length>0)&&!i.signal.aborted&&i.abort(/* @__PURE__ */ Error(`WebSocket session was replaced by interceptor`)),await Promise.allSettled(r);let a=[...j].find(t=>t===e||t.closed===e.closed);n=a!==void 0;let o=[...j].filter(t=>t!==e&&t.closed!==e.closed);await Promise.allSettled(o.map(e=>e.closed)),M.clear(),j.clear(),n||(A=void 0,G(g));let s=e,c=t;return A&&a&&(a===e||t===a.connection)&&(c=A),[null,s,c]}catch(e){N=!0,G(h);let t=U(h),n=t??(_o(e)?e:H(`EXT_INTERCEPTOR_FAILED`,e));t&&(a.error=t,no(a,t.code===`NET_ABORTED`?`aborted`:`error`));let r=[...M];return(j.size>0||r.length>0)&&(i.signal.aborted||i.abort(e),await Promise.allSettled(r),await Promise.allSettled([...j].map(e=>e.closed)),M.clear(),j.clear()),G(g),[n,void 0,a.connection]}}const Qa=1e3,$a=()=>void 0;function eo(e,t,n,r,i,a,o,s,c,l,u){return{get bufferedAmount(){return i.currentSocket?.bufferedAmount??0},get connection(){return r.connection??
30
+ v||(D=new DOMException(`WebSocket close event was not observed before teardown timeout`,`TimeoutError`),P(mo({},C),{skipNativeClose:!0}))},eo)),await ie,await Promise.allSettled([...w])}finally{clearTimeout(E),E=void 0,te?.()}if(A)throw j;if(D)throw D}});return j.add(o),o.then(e=>{j.delete(o),A.add(e)},()=>{j.delete(o)}),o},N=rt(ot(e.interceptors));try{let e=await H(()=>N(E,ne),h),t=e?.connection;if(typeof e?.closed?.then!=`function`||typeof e.close!=`function`||typeof e.send!=`function`||typeof e.receive?.[Symbol.asyncIterator]!=`function`||typeof e[Symbol.asyncDispose]!=`function`||typeof e.onRuntimeError!=`function`||typeof e.onStateChange!=`function`||typeof t?.generation!=`number`||typeof e.bufferedAmount!=`number`||typeof e.state!=`string`)throw TypeError(`WebSocket interceptor must resolve a WebSocket session`);M=!0,U(h);let n=[...A].some(t=>t===e||t.closed===e.closed),r=[...j];!n&&(A.size>0||r.length>0)&&!i.signal.aborted&&i.abort(/* @__PURE__ */ Error(`WebSocket session was replaced by interceptor`)),await Promise.allSettled(r);let a=[...A].find(t=>t===e||t.closed===e.closed);n=a!==void 0;let o=[...A].filter(t=>t!==e&&t.closed!==e.closed);await Promise.allSettled(o.map(e=>e.closed)),j.clear(),A.clear(),n||(k=void 0,U(g));let s=e,c=t;return k&&a&&(a===e||t===a.connection)&&(c=k),[null,s,c]}catch(e){M=!0,U(h);let t=V(h),n=t??(vo(e)?e:B(`EXT_INTERCEPTOR_FAILED`,e));t&&(a.error=t,$(a,t.code===`NET_ABORTED`?`aborted`:`error`));let r=[...j];return(A.size>0||r.length>0)&&(i.signal.aborted||i.abort(e),await Promise.allSettled(r),await Promise.allSettled([...A].map(e=>e.closed)),j.clear(),A.clear()),U(g),[n,void 0,a.connection]}}const eo=1e3,to=()=>void 0;function no(e,t,n,r,i,a,o,s,c,l,u){return{get bufferedAmount(){return i.currentSocket?.bufferedAmount??0},get connection(){return r.connection??
31
31
  /* istanbul ignore next -- @preserve invariant: concrete sessions are delivered only after their first open snapshot */
32
- {generation:0}},closed:n,close(e,t){l(e,t)},[Symbol.asyncDispose](){return u()},get state(){return r.status},onRuntimeError(e){return c()?$a:(r.listeners.runtimeError.add(e),()=>{r.listeners.runtimeError.delete(e)})},onStateChange(e){return c()?$a:(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=Na(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 to(e,t,n){for(;e.readyState===n;){let n=t.shift();if(n===void 0)return;e.send(n)}}function no(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];oo(n,e=>io(i,e))}catch(t){ro(e,t)}}}function ro(e,t){io([...e.listeners.runtimeError],t)}function io(e,t){for(let n of e)try{oo(n(t),ao)}catch(e){ao(e)}}function ao(e){let t=globalThis.reportError;if(typeof t==`function`)try{oo(t(e),()=>void 0)}catch{}}function oo(e,t){(typeof e==`object`&&e||typeof e==`function`)&&Promise.resolve(e).catch(t)}function so(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 co(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 lo(e){return{closeInfo:{cause:e,reason:e instanceof Error?e.message:`WebSocket connection error`},connection:void 0,cause:e,opened:!1}}function uo(e){try{e.close()}catch{}}function fo(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 po(e,t){return{code:e.code??t?.code,kind:`closed`,reason:e.reason??t?.reason,wasClean:e.wasClean}}function mo(e,t){return{cause:t,code:e.code,kind:`aborted`,reason:e.reason,wasClean:e.wasClean}}function ho(e,t){return{cause:t,code:e.code,kind:`error`,reason:e.reason,wasClean:e.wasClean}}function go(e){
32
+ {generation:0}},closed:n,close(e,t){l(e,t)},[Symbol.asyncDispose](){return u()},get state(){return r.status},onRuntimeError(e){return c()?to:(r.listeners.runtimeError.add(e),()=>{r.listeners.runtimeError.delete(e)})},onStateChange(e){return c()?to:(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=Fa(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 ro(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];so(n,e=>ao(i,e))}catch(t){io(e,t)}}}function io(e,t){ao([...e.listeners.runtimeError],t)}function ao(e,t){for(let n of e)try{so(n(t),oo)}catch(e){oo(e)}}function oo(e){let t=globalThis.reportError;if(typeof t==`function`)try{so(t(e),()=>void 0)}catch{}}function so(e,t){(typeof e==`object`&&e||typeof e==`function`)&&Promise.resolve(e).catch(t)}function co(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 lo(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 uo(e){return{closeInfo:{cause:e,reason:e instanceof Error?e.message:`WebSocket connection error`},connection:void 0,cause:e,opened:!1}}function fo(e){try{e.close()}catch{}}function po(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 mo(e,t){return{code:e.code??t?.code,kind:`closed`,reason:e.reason??t?.reason,wasClean:e.wasClean}}function ho(e,t){return{cause:t,code:e.code,kind:`aborted`,reason:e.reason,wasClean:e.wasClean}}function go(e,t){return{cause:t,code:e.code,kind:`error`,reason:e.reason,wasClean:e.wasClean}}function _o(e){
33
33
  /* istanbul ignore next -- @preserve invariant: pre-open closed paths supply startupError before this helper is reached */
34
- return e.kind!==`closed`&&_o(e.cause)?e.cause:
34
+ return e.kind!==`closed`&&vo(e.cause)?e.cause:
35
35
  /* istanbul ignore if -- @preserve invariant: internal abort terminal paths always supply startupError directly */
36
- e.kind===`aborted`?Je(Re):
36
+ e.kind===`aborted`?Ze(Ve):
37
37
  /* istanbul ignore else -- @preserve invariant: pre-open closed paths supply startupError before this helper is reached */
38
- e.kind===`error`?Je(e.cause):Je(/* @__PURE__ */ Error(`WebSocket closed before open`))}function _o(e){return typeof e==`object`&&!!e&&`code`in e&&typeof e.code==`string`&&e instanceof Error}export{Re as ERR_ABORTED,ze as ERR_TIMEOUT,Nt as StructError,oi as basicAuthHttpInterceptor,si as basicAuthSSEInterceptor,f as createClient,qe as createDecodeFault,Xe as createHttpInterceptor,Ge as createHttpStatusFault,Je as createNetworkFault,H as createPreflightFault,xe as createResolvedRequestUrl,Ze as createSSEInterceptor,Ke as createUndecodedHttpStatusFault,Qe as createWebSocketInterceptor,Ui as defineEventStream,Xr as defineRequest,Wa as defineWebSocket,Gr as fetchHandler,Be as isAbortCause,Ve as isTimeoutCause,Ae as makeResponse,Aa as struct,D as withCredentials,p as withEndpoint,_ as withHTTPHandle,m as withHeaders,h as withInterceptors,g as withQuerySerializer,v as withSSEHandle,w as withSSEOnInvalidEvent,T as withSSEReconnect,b as withWebSocketBeforeConnect,y as withWebSocketHandle,S as withWebSocketHeartbeat,x as withWebSocketProtocols,C as withWebSocketReconnect,E as withXSRF};
38
+ e.kind===`error`?Ze(e.cause):Ze(/* @__PURE__ */ Error(`WebSocket closed before open`))}function vo(e){return typeof e==`object`&&!!e&&`code`in e&&typeof e.code==`string`&&e instanceof Error}export{Ve as ERR_ABORTED,He as ERR_TIMEOUT,Ft as StructError,ci as basicAuthHttpInterceptor,li as basicAuthSSEInterceptor,p as createClient,Xe as createDecodeFault,$e as createHttpInterceptor,Je as createHttpStatusFault,Ze as createNetworkFault,B as createPreflightFault,we as createResolvedRequestUrl,et as createSSEInterceptor,Ye as createUndecodedHttpStatusFault,tt as createWebSocketInterceptor,Gi as defineEventStream,Qr as defineRequest,Ka as defineWebSocket,qr as fetchHandler,Ue as isAbortCause,We as isTimeoutCause,Ne as makeResponse,Ma as struct,ee as withCredentials,m as withEndpoint,v as withHTTPHandle,h as withHeaders,g as withInterceptors,_ as withQuerySerializer,y as withSSEHandle,T as withSSEOnInvalidEvent,E as withSSEReconnect,x as withWebSocketBeforeConnect,b as withWebSocketHandle,C as withWebSocketHeartbeat,S as withWebSocketProtocols,w as withWebSocketReconnect,D as withXSRF};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defjs/core",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Define and execute typed HTTP, SSE, and WebSocket APIs.",
5
5
  "bugs": {
6
6
  "url": "https://github.com/defjs/defjs/issues"