@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 +2 -2
- package/index.d.ts +40 -25
- package/index.js +65 -56
- package/index.min.js +19 -19
- package/package.json +1 -1
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({
|
|
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: `
|
|
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
|
-
|
|
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 `
|
|
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 `
|
|
1760
|
+
* WebSocket fields of {@link RequestOptions}, plus `signal`.
|
|
1761
1761
|
*
|
|
1762
|
-
* `beforeConnect`, `heartbeat`, `protocols`, and `reconnect` override the client-level options for one call. `
|
|
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
|
-
|
|
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
|
|
2592
|
+
* Internal symbol key for a client's base configuration and request options.
|
|
2593
2593
|
*
|
|
2594
|
-
* Application code
|
|
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 `
|
|
2602
|
+
* SSE reads only `signal` from request options. SSE reconnect comes from client configuration (`withSSEReconnect`), so `client({ reconnect })` affects WebSocket only.
|
|
2603
2603
|
*
|
|
2604
|
-
* `
|
|
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
|
-
|
|
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
|
-
*
|
|
2629
|
+
* Client value that operations accept.
|
|
2630
2630
|
*
|
|
2631
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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[]):
|
|
2674
|
+
export declare function createClient(...options: ClientOption[]): DerivableClient;
|
|
2660
2675
|
/**
|
|
2661
|
-
* HTTP fields of {@link RequestOptions}: progress callbacks and `
|
|
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
|
-
|
|
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 `
|
|
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,
|
|
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
|
-
* `
|
|
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
|
-
|
|
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
|
|
45
|
+
* Internal symbol key for a client's base configuration and request options.
|
|
46
46
|
*
|
|
47
|
-
* Application code
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
2936
|
-
wrapReadableStreamBody: uploadProgress ? (body) => wrapUploadProgressStream(body, uploadProgress, getContentLength(headers), request.
|
|
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.
|
|
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.
|
|
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,
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
3900
|
-
if (closeController.signal.aborted || request.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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=>{
|
|
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(
|
|
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
|
|
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
|
|
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
|
-
|
|
16
|
+
O||
|
|
17
17
|
/* istanbul ignore else -- @preserve invariant: activeAttempt refers to the sole physical socket until settlement */
|
|
18
|
-
(
|
|
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=
|
|
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
|
-
|
|
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){
|
|
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,
|
|
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=
|
|
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`),
|
|
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()
|
|
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`&&
|
|
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`?
|
|
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`?
|
|
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};
|