zlient 3.3.3 → 4.0.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/dist/auth.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import type { RequestOptions as ReqOpts } from './types';
2
2
  /**
3
- * Extended RequestInit with URL override capability for query-based auth.
3
+ * Context passed to authentication providers when applying credentials.
4
+ * The `url` property is mutable — auth providers that need to add query
5
+ * parameters (e.g. API keys) should update it directly instead of modifying
6
+ * the RequestInit.
4
7
  */
5
8
  export interface AuthContext {
6
9
  url: string;
7
- init: RequestInit & {
8
- __urlOverride?: string;
9
- };
10
+ init: RequestInit;
10
11
  options?: ReqOpts;
11
12
  }
12
13
  /**
@@ -16,8 +17,8 @@ export interface AuthContext {
16
17
  * @example
17
18
  * ```ts
18
19
  * class CustomAuth implements AuthProvider {
19
- * async apply({ init }) {
20
- * init.headers = { ...init.headers, 'X-Custom-Auth': 'token' };
20
+ * apply({ init }) {
21
+ * (init.headers as Record<string, string>)['X-Custom-Auth'] = 'token';
21
22
  * }
22
23
  * }
23
24
  * ```
@@ -26,17 +27,16 @@ export interface AuthProvider {
26
27
  /**
27
28
  * Apply authentication to the outgoing request.
28
29
  * Called after SDK headers are assembled, but before request is sent.
29
- *
30
- * @param req - Request context including URL, init, and options
30
+ * May update `ctx.url` to append query-based credentials.
31
31
  */
32
- apply(req: AuthContext): Promise<void> | void;
32
+ apply(ctx: AuthContext): Promise<void> | void;
33
33
  }
34
34
  /**
35
35
  * No-op authentication provider (no authentication applied).
36
36
  * Use this when you don't need authentication.
37
37
  */
38
38
  export declare class NoAuth implements AuthProvider {
39
- apply(_req: AuthContext): Promise<void>;
39
+ apply(_ctx: AuthContext): void;
40
40
  }
41
41
  /**
42
42
  * API Key authentication provider.
@@ -58,7 +58,7 @@ export declare class ApiKeyAuth implements AuthProvider {
58
58
  query?: string;
59
59
  value: string;
60
60
  });
61
- apply({ url, init }: AuthContext): void;
61
+ apply(ctx: AuthContext): void;
62
62
  }
63
63
  /**
64
64
  * Bearer token authentication provider.
@@ -78,6 +78,6 @@ export declare class ApiKeyAuth implements AuthProvider {
78
78
  export declare class BearerTokenAuth implements AuthProvider {
79
79
  private getToken;
80
80
  constructor(getToken: () => Promise<string> | string);
81
- apply({ init }: AuthContext): Promise<void>;
81
+ apply(ctx: AuthContext): Promise<void>;
82
82
  }
83
83
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/C;AAED;;;GAGG;AACH,qBAAa,MAAO,YAAW,YAAY;IACnC,KAAK,CAAC,IAAI,EAAE,WAAW;CAG9B;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,UAAW,YAAW,YAAY;IACjC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAQ5E,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,WAAW;CAgBjC;AACD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;IACtD,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW;CAclC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/C;AAED;;;GAGG;AACH,qBAAa,MAAO,YAAW,YAAY;IACzC,KAAK,CAAC,IAAI,EAAE,WAAW;CAGxB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,UAAW,YAAW,YAAY;IACjC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAS5E,KAAK,CAAC,GAAG,EAAE,WAAW;CAgBvB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM;IAEtD,KAAK,CAAC,GAAG,EAAE,WAAW;CAc7B"}
@@ -0,0 +1,36 @@
1
+ import { StandardSchemaV1 } from './types';
2
+ export declare function validateRequiredHeaders(mustHeaderKeys: readonly string[] | undefined, headers: Record<string, string> | undefined): void;
3
+ export declare function parseEndpointValue(schema: StandardSchemaV1 | undefined, value: unknown, skipValidation: boolean, label: string): Promise<unknown>;
4
+ export declare function assertRequiredEndpointValue(schema: StandardSchemaV1 | undefined, value: unknown, missingParam: string, message: string): void;
5
+ export declare function resolveEndpointPath<PathParams>(path: string | ((params: PathParams) => string), rawPathParams: unknown, parsedPathParams: PathParams): string;
6
+ export type EndpointParamsConfig = {
7
+ request?: StandardSchemaV1;
8
+ query?: StandardSchemaV1;
9
+ pathParams?: StandardSchemaV1;
10
+ path: string | ((params: unknown) => string);
11
+ advanced?: {
12
+ skipRequestValidation?: boolean;
13
+ };
14
+ };
15
+ export type RawEndpointParams = {
16
+ data?: unknown;
17
+ query?: unknown;
18
+ pathParams?: unknown;
19
+ };
20
+ export type ValidatedEndpointParams = {
21
+ parsedData: unknown;
22
+ parsedQuery: unknown;
23
+ parsedPathParams: unknown;
24
+ pathStr: string;
25
+ };
26
+ /**
27
+ * Shared validation pipeline used by HTTP, SSE, and WebSocket endpoints.
28
+ * Validates request body, query params, and path params; asserts required
29
+ * fields are present; and resolves the final path string.
30
+ */
31
+ export declare function validateEndpointParams(config: EndpointParamsConfig, raw: RawEndpointParams, labels?: {
32
+ request?: string;
33
+ query?: string;
34
+ path?: string;
35
+ }): Promise<ValidatedEndpointParams>;
36
+ //# sourceMappingURL=endpoint-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-utils.d.ts","sourceRoot":"","sources":["../lib/endpoint-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGrD,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC1C,IAAI,CASN;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,IAAI,CAGN;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAC5C,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC,EAC/C,aAAa,EAAE,OAAO,EACtB,gBAAgB,EAAE,UAAU,GAC3B,MAAM,CAUR;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,iBAAiB,EACtB,MAAM,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,OAAO,CAAC,uBAAuB,CAAC,CAwClC"}
@@ -0,0 +1,12 @@
1
+ import type { EventHandler } from './realtime-utils';
2
+ /**
3
+ * Minimal typed event emitter used internally by SSEConnectionImpl and WSConnectionImpl.
4
+ * Not part of the public API.
5
+ */
6
+ export declare class EventEmitter {
7
+ private handlers;
8
+ on(event: string, handler: EventHandler): void;
9
+ off(event: string, handler: EventHandler): void;
10
+ protected emit(event: string, ...args: unknown[]): void;
11
+ }
12
+ //# sourceMappingURL=event-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../lib/event-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAA6C;IAE7D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAS9C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI/C,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAMxD"}
@@ -1,9 +1,9 @@
1
1
  import type { AuthProvider } from '../auth';
2
2
  import { LoggerUtil } from '../logger';
3
- import { ClientOptions, HTTPMethod, HTTPStatusCodeNumber, RequestOptions, ResponseSchema, SSEEndpointCall, SSEEndpointConfig, SSEResponseSchema, StandardSchemaV1, WSEndpointCall, WSEndpointConfig } from '../types';
3
+ import { ClientOptions, FetchLike, HTTPMethod, HTTPStatusCodeNumber, RequestOptions, ResponseSchema, SSEEndpointCall, SSEEndpointConfig, SSEResponseSchema, StandardSchemaV1, WSEndpointCall, WSEndpointConfig } from '../types';
4
4
  import { EndpointCall, EndpointConfig } from './http-endpoint';
5
5
  /**
6
- * HTTP client with built-in authentication, and interceptors.
6
+ * HTTP client with built-in authentication, retry, and interceptors.
7
7
  * Supports multiple base URLs, type-safe requests, and comprehensive error handling.
8
8
  *
9
9
  * @example
@@ -13,8 +13,6 @@ import { EndpointCall, EndpointConfig } from './http-endpoint';
13
13
  * headers: { 'Content-Type': 'application/json' },
14
14
  * timeout: { requestTimeoutMs: 30000 }
15
15
  * });
16
- *
17
- * const { data } = await client.request('GET', '/users', undefined, { query: { page: 1 } });
18
16
  * ```
19
17
  */
20
18
  export declare class HttpClient {
@@ -28,46 +26,22 @@ export declare class HttpClient {
28
26
  private logger;
29
27
  private metrics;
30
28
  private onUnauthenticated?;
31
- /**
32
- * Creates a new HTTP client instance.
33
- *
34
- * @param opts - Client configuration options
35
- * @throws {Error} If no fetch implementation is available
36
- */
37
29
  constructor(opts: ClientOptions);
38
- /**
39
- * Set or update the authentication provider.
40
- *
41
- * @param auth - Authentication provider instance
42
- * @example
43
- * ```ts
44
- * client.setAuth(new BearerTokenAuth(() => getToken()));
45
- * ```
46
- */
30
+ /** Set or update the authentication provider at runtime. */
47
31
  setAuth(auth: AuthProvider): void;
48
32
  private resolveBaseUrl;
49
- /**
50
- * Run all registered before-request hooks.
51
- * @private
52
- */
53
33
  private runBeforeHooks;
54
- /**
55
- * Run all registered after-response hooks.
56
- * @private
57
- */
58
34
  private runAfterHooks;
59
35
  /**
60
- * Get all configured base URLs.
61
- *
62
- * @returns Object mapping base URL keys to their resolved URLs
36
+ * Returns retry info if the response should be retried, or null if not.
63
37
  */
64
- getBaseUrls(): import("..").BaseUrlMap;
38
+ private getRetryInfo;
39
+ private logRetry;
65
40
  /**
66
- * Get the resolved base URL for a given key.
67
- *
68
- * @param key - Base URL key (defaults to 'default' if not provided)
69
- * @returns Resolved base URL string
41
+ * Checks whether the 401 response should trigger a token refresh + retry.
70
42
  */
43
+ private shouldRefresh;
44
+ getBaseUrls(): import("..").BaseUrlMap;
71
45
  getBaseUrl(key: string): string;
72
46
  /** @internal */
73
47
  getAuth(): AuthProvider;
@@ -75,20 +49,15 @@ export declare class HttpClient {
75
49
  getHeaders(): Record<string, string>;
76
50
  /** @internal */
77
51
  getLogger(): LoggerUtil;
52
+ /** @internal */
53
+ getFetch(): FetchLike;
78
54
  /**
79
55
  * Make an HTTP request with automatic retry, authentication, and validation.
80
56
  *
81
- * @param method - HTTP method (GET, POST, PUT, etc.)
82
- * @param path - Request path (will be appended to base URL)
83
- * @param body - Request body (will be JSON.stringify'd if Content-Type is json)
84
- * @param options - Additional request options (headers, query params, etc.)
85
- * @returns Promise resolving to response data and Response object
86
- * @throws {ApiError} If request fails or response validation fails
87
- *
88
57
  * @example
89
58
  * ```ts
90
- * const { data, response } = await client.request('GET', '/users', undefined, {
91
- * query: { page: 1, limit: 10 },
59
+ * const { data } = await client.request('GET', '/users', undefined, {
60
+ * query: { page: 1 },
92
61
  * headers: { 'X-Custom': 'value' }
93
62
  * });
94
63
  * ```
@@ -97,107 +66,68 @@ export declare class HttpClient {
97
66
  data: T;
98
67
  status: HTTPStatusCodeNumber;
99
68
  }>;
100
- /**
101
- * Convenience method for GET requests.
102
- *
103
- * @example
104
- * ```ts
105
- * const { data } = await client.get('/users', { query: { page: 1 } });
106
- * ```
107
- */
108
69
  get<T = unknown>(path: string, options?: RequestOptions): Promise<{
109
70
  data: T;
110
71
  status: HTTPStatusCodeNumber;
111
72
  }>;
112
- /**
113
- * Convenience method for POST requests.
114
- *
115
- * @example
116
- * ```ts
117
- * const { data } = await client.post('/users', { name: 'John' });
118
- * ```
119
- */
120
73
  post<T = unknown>(path: string, body?: unknown, options?: RequestOptions): Promise<{
121
74
  data: T;
122
75
  status: HTTPStatusCodeNumber;
123
76
  }>;
124
- /**
125
- * Convenience method for PUT requests.
126
- *
127
- * @example
128
- * ```ts
129
- * const { data } = await client.put('/users/1', { name: 'John Updated' });
130
- * ```
131
- */
132
77
  put<T = unknown>(path: string, body?: unknown, options?: RequestOptions): Promise<{
133
78
  data: T;
134
79
  status: HTTPStatusCodeNumber;
135
80
  }>;
136
- /**
137
- * Convenience method for PATCH requests.
138
- *
139
- * @example
140
- * ```ts
141
- * const { data } = await client.patch('/users/1', { name: 'John' });
142
- * ```
143
- */
144
81
  patch<T = unknown>(path: string, body?: unknown, options?: RequestOptions): Promise<{
145
82
  data: T;
146
83
  status: HTTPStatusCodeNumber;
147
84
  }>;
148
- /**
149
- * Convenience method for DELETE requests.
150
- *
151
- * @example
152
- * ```ts
153
- * const { data } = await client.delete('/users/1');
154
- * ```
155
- */
156
85
  delete<T = unknown>(path: string, options?: RequestOptions): Promise<{
157
86
  data: T;
158
87
  status: HTTPStatusCodeNumber;
159
88
  }>;
160
89
  /**
161
- * Create a strongly-typed endpoint builder.
90
+ * Create a strongly-typed HTTP endpoint.
162
91
  * Works with any Standard Schema-compatible library (Zod, Valibot, ArkType, etc.)
163
92
  *
164
- * @param config - Endpoint configuration with schemas
165
- * @returns Endpoint call function
166
- *
167
93
  * @example
168
94
  * ```ts
169
- * // With Zod
170
- * import { z } from 'zod';
171
95
  * const getUser = client.createEndpoint({
172
96
  * method: 'GET',
173
97
  * path: '/users/:id',
174
98
  * response: z.object({ id: z.string(), name: z.string() }),
175
99
  * pathParams: z.object({ id: z.string() }),
176
100
  * });
177
- *
178
- * // With Valibot
179
- * import * as v from 'valibot';
180
- * const getUser = client.createEndpoint({
181
- * method: 'GET',
182
- * path: '/users/:id',
183
- * response: v.object({ id: v.string(), name: v.string() }),
184
- * pathParams: v.object({ id: v.string() }),
185
- * });
186
101
  * ```
187
102
  */
188
103
  createEndpoint<ResSchema extends ResponseSchema, ReqSchema extends StandardSchemaV1 | undefined = undefined, QuerySchema extends StandardSchemaV1 | undefined = undefined, PathSchema extends StandardSchemaV1 | undefined = undefined, MustHeaderKeys extends readonly string[] = readonly []>(config: EndpointConfig<ResSchema, ReqSchema, QuerySchema, PathSchema, MustHeaderKeys>): EndpointCall<ResSchema, ReqSchema, QuerySchema, PathSchema, MustHeaderKeys>;
189
104
  /**
190
- * Create a strongly-typed WebSocket endpoint builder.
105
+ * Create a strongly-typed WebSocket endpoint.
191
106
  *
192
- * @param config - WebSocket endpoint configuration
193
- * @returns WebSocket endpoint call function
107
+ * @example
108
+ * ```ts
109
+ * const chat = client.createWebSocket({
110
+ * path: '/ws/chat',
111
+ * send: z.object({ text: z.string() }),
112
+ * receive: z.object({ text: z.string(), user: z.string() }),
113
+ * });
114
+ * const conn = await chat();
115
+ * ```
194
116
  */
195
117
  createWebSocket<SendSchema extends StandardSchemaV1 | undefined = undefined, ReceiveSchema extends StandardSchemaV1 | undefined = undefined, QuerySchema extends StandardSchemaV1 | undefined = undefined, PathSchema extends StandardSchemaV1 | undefined = undefined>(config: WSEndpointConfig<SendSchema, ReceiveSchema, QuerySchema, PathSchema>): WSEndpointCall<SendSchema, ReceiveSchema, QuerySchema, PathSchema>;
196
118
  /**
197
- * Create a strongly-typed Server-Sent Events (SSE) endpoint builder.
119
+ * Create a strongly-typed Server-Sent Events endpoint.
198
120
  *
199
- * @param config - SSE endpoint configuration
200
- * @returns SSE endpoint call function
121
+ * @example
122
+ * ```ts
123
+ * const stream = client.createSSE({
124
+ * method: 'GET',
125
+ * path: '/events',
126
+ * response: z.object({ message: z.string() }),
127
+ * });
128
+ * const conn = await stream();
129
+ * conn.on('message', (data) => console.log(data));
130
+ * ```
201
131
  */
202
132
  createSSE<ResSchema extends SSEResponseSchema | undefined = undefined, ReqSchema extends StandardSchemaV1 | undefined = undefined, QuerySchema extends StandardSchemaV1 | undefined = undefined, PathSchema extends StandardSchemaV1 | undefined = undefined>(config: SSEEndpointConfig<ResSchema, ReqSchema, QuerySchema, PathSchema>): SSEEndpointCall<ResSchema, ReqSchema, QuerySchema, PathSchema>;
203
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../lib/http/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../lib/http/http-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { HTTPMethod, ResponseSchema, SchemaMap, StandardSchemaV1 } from '../types';
1
+ import { HTTPMethod, InferPathOutput, InferQueryOutput, ResponseSchema, SchemaMap, StandardSchemaV1 } from '../types';
2
2
  import { HttpClient } from './http-client';
3
3
  export type EndpointConfig<ResSchema extends ResponseSchema, ReqSchema extends StandardSchemaV1 | undefined = undefined, QuerySchema extends StandardSchemaV1 | undefined = undefined, PathSchema extends StandardSchemaV1 | undefined = undefined, MustHeaderKeys extends readonly string[] = readonly []> = {
4
4
  method: keyof typeof HTTPMethod;
@@ -40,5 +40,5 @@ export declare class EndpointImpl<ResSchema extends ResponseSchema, ReqSchema ex
40
40
  constructor(client: HttpClient, config: EndpointConfig<ResSchema, ReqSchema, QuerySchema, PathSchema, MustHeaderKeys>);
41
41
  call(params: EndpointCallParams<ReqSchema, QuerySchema, PathSchema, MustHeaderKeys>): Promise<InferResponse<ResSchema>>;
42
42
  }
43
- export {};
43
+ export type { InferPathOutput, InferQueryOutput };
44
44
  //# sourceMappingURL=http-endpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-endpoint.d.ts","sourceRoot":"","sources":["../../lib/http/http-endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-endpoint.d.ts","sourceRoot":"","sources":["../../lib/http/http-endpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { AuthContext, AuthProvider } from '../auth';
2
+ import type { LoggerUtil } from '../logger';
3
+ import type { MetricsCollector } from '../metrics';
4
+ import { ApiError, HTTPMethod } from '../types';
5
+ import type { HTTPStatusCodeNumber, RetryPolicy } from '../types';
6
+ export declare function serializeRequestBody(body: unknown, headers: Record<string, string>): BodyInit | undefined;
7
+ export declare function parseResponseData(res: Response, method: keyof typeof HTTPMethod, url: string): Promise<unknown>;
8
+ export declare function createStatusError(method: keyof typeof HTTPMethod, url: string, res: Response, details: unknown): ApiError;
9
+ export declare function createNetworkError(method: keyof typeof HTTPMethod, url: string, error: unknown): ApiError;
10
+ export declare function isRetryableResponse(retryPolicy: RetryPolicy, method: keyof typeof HTTPMethod, status: HTTPStatusCodeNumber, retryAttempt: number, skipRetry: boolean | undefined): boolean;
11
+ export declare function getRetryDelay(retryPolicy: RetryPolicy, retryAttempt: number, response: Response): {
12
+ delay: number;
13
+ usedRetryAfter: boolean;
14
+ };
15
+ export declare function recordSuccessfulRequest(logger: LoggerUtil, metrics: MetricsCollector, method: keyof typeof HTTPMethod, path: string, url: string, status: number, durationMs: number): void;
16
+ export declare function recordFailedRequest(logger: LoggerUtil, metrics: MetricsCollector, method: keyof typeof HTTPMethod, path: string, url: string, durationMs: number, error: unknown): void;
17
+ /**
18
+ * Re-applies auth to an existing AuthContext, cloning headers first so that
19
+ * a fresh token overwrites the stale one from the previous attempt.
20
+ */
21
+ export declare function reapplyAuth(auth: AuthProvider, ctx: AuthContext): Promise<void>;
22
+ export declare function startRequestTimeout(timeoutMs: number | undefined, hasExternalSignal: boolean, controller: AbortController): ReturnType<typeof setTimeout> | undefined;
23
+ //# sourceMappingURL=request-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-utils.d.ts","sourceRoot":"","sources":["../../lib/http/request-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAElE,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,QAAQ,GAAG,SAAS,CAkBtB;AAcD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,OAAO,UAAU,EAC/B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAeD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,OAAO,UAAU,EAC/B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,OAAO,GACf,QAAQ,CAcV;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,OAAO,UAAU,EAC/B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,QAAQ,CAgBV;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,OAAO,UAAU,EAC/B,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,OAAO,GAAG,SAAS,GAC7B,OAAO,CAQT;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,GACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAiB5C;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,OAAO,UAAU,EAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,IAAI,CAWN;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,MAAM,OAAO,UAAU,EAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GACb,IAAI,CAYN;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,iBAAiB,EAAE,OAAO,EAC1B,UAAU,EAAE,eAAe,GAC1B,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS,CAQ3C"}