@aifabrix/miso-client 4.3.1 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/CHANGELOG.md +1253 -1215
  2. package/README.md +22 -23
  3. package/dist/api/applications.api.d.ts +42 -0
  4. package/dist/api/applications.api.d.ts.map +1 -0
  5. package/dist/api/applications.api.js +91 -0
  6. package/dist/api/applications.api.js.map +1 -0
  7. package/dist/api/index.d.ts +5 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +2 -0
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/types/applications.types.d.ts +58 -0
  12. package/dist/api/types/applications.types.d.ts.map +1 -0
  13. package/dist/api/types/applications.types.js +7 -0
  14. package/dist/api/types/applications.types.js.map +1 -0
  15. package/dist/api/types/encryption.types.d.ts +2 -2
  16. package/dist/api/types/encryption.types.d.ts.map +1 -1
  17. package/dist/express/client-token-endpoint.d.ts +2 -2
  18. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  19. package/dist/express/client-token-endpoint.js +21 -3
  20. package/dist/express/client-token-endpoint.js.map +1 -1
  21. package/dist/express/error-handler.d.ts +8 -1
  22. package/dist/express/error-handler.d.ts.map +1 -1
  23. package/dist/express/error-handler.js +8 -1
  24. package/dist/express/error-handler.js.map +1 -1
  25. package/dist/express/error-response.d.ts +16 -4
  26. package/dist/express/error-response.d.ts.map +1 -1
  27. package/dist/express/error-response.js +16 -4
  28. package/dist/express/error-response.js.map +1 -1
  29. package/dist/express/error-types.d.ts +13 -0
  30. package/dist/express/error-types.d.ts.map +1 -1
  31. package/dist/express/error-types.js +13 -0
  32. package/dist/express/error-types.js.map +1 -1
  33. package/dist/express/index.d.ts +8 -4
  34. package/dist/express/index.d.ts.map +1 -1
  35. package/dist/express/index.js.map +1 -1
  36. package/dist/express/logger-context.middleware.d.ts +8 -4
  37. package/dist/express/logger-context.middleware.d.ts.map +1 -1
  38. package/dist/express/logger-context.middleware.js +9 -4
  39. package/dist/express/logger-context.middleware.js.map +1 -1
  40. package/dist/express/response-middleware.d.ts +4 -0
  41. package/dist/express/response-middleware.d.ts.map +1 -1
  42. package/dist/express/response-middleware.js +4 -0
  43. package/dist/express/response-middleware.js.map +1 -1
  44. package/dist/index.d.ts +207 -34
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +214 -36
  47. package/dist/index.js.map +1 -1
  48. package/dist/services/application-context.service.d.ts +0 -1
  49. package/dist/services/application-context.service.d.ts.map +1 -1
  50. package/dist/services/application-context.service.js +12 -7
  51. package/dist/services/application-context.service.js.map +1 -1
  52. package/dist/services/auth-cache-helpers.d.ts +22 -0
  53. package/dist/services/auth-cache-helpers.d.ts.map +1 -0
  54. package/dist/services/auth-cache-helpers.js +85 -0
  55. package/dist/services/auth-cache-helpers.js.map +1 -0
  56. package/dist/services/auth-environment-token.d.ts +20 -0
  57. package/dist/services/auth-environment-token.d.ts.map +1 -0
  58. package/dist/services/auth-environment-token.js +94 -0
  59. package/dist/services/auth-environment-token.js.map +1 -0
  60. package/dist/services/auth-error-handler.d.ts.map +1 -1
  61. package/dist/services/auth-error-handler.js +1 -1
  62. package/dist/services/auth-error-handler.js.map +1 -1
  63. package/dist/services/auth.service.d.ts +16 -28
  64. package/dist/services/auth.service.d.ts.map +1 -1
  65. package/dist/services/auth.service.js +112 -208
  66. package/dist/services/auth.service.js.map +1 -1
  67. package/dist/services/browser-permission.service.d.ts +3 -1
  68. package/dist/services/browser-permission.service.d.ts.map +1 -1
  69. package/dist/services/browser-permission.service.js +44 -9
  70. package/dist/services/browser-permission.service.js.map +1 -1
  71. package/dist/services/browser-role.service.d.ts +3 -1
  72. package/dist/services/browser-role.service.d.ts.map +1 -1
  73. package/dist/services/browser-role.service.js +44 -9
  74. package/dist/services/browser-role.service.js.map +1 -1
  75. package/dist/services/cache.service.d.ts.map +1 -1
  76. package/dist/services/cache.service.js +8 -2
  77. package/dist/services/cache.service.js.map +1 -1
  78. package/dist/services/encryption.service.d.ts +1 -1
  79. package/dist/services/encryption.service.js +2 -2
  80. package/dist/services/encryption.service.js.map +1 -1
  81. package/dist/services/logger/index.d.ts +6 -4
  82. package/dist/services/logger/index.d.ts.map +1 -1
  83. package/dist/services/logger/index.js +1 -4
  84. package/dist/services/logger/index.js.map +1 -1
  85. package/dist/services/logger/logger-chain.d.ts +18 -8
  86. package/dist/services/logger/logger-chain.d.ts.map +1 -1
  87. package/dist/services/logger/logger-chain.js +35 -41
  88. package/dist/services/logger/logger-chain.js.map +1 -1
  89. package/dist/services/logger/logger-context-storage.d.ts +2 -0
  90. package/dist/services/logger/logger-context-storage.d.ts.map +1 -1
  91. package/dist/services/logger/logger-context-storage.js.map +1 -1
  92. package/dist/services/logger/logger-context.d.ts +0 -22
  93. package/dist/services/logger/logger-context.d.ts.map +1 -1
  94. package/dist/services/logger/logger-context.js +2 -50
  95. package/dist/services/logger/logger-context.js.map +1 -1
  96. package/dist/services/logger/logger.service.d.ts +37 -14
  97. package/dist/services/logger/logger.service.d.ts.map +1 -1
  98. package/dist/services/logger/logger.service.js +157 -133
  99. package/dist/services/logger/logger.service.js.map +1 -1
  100. package/dist/services/logger/unified-logger.service.d.ts.map +1 -1
  101. package/dist/services/logger/unified-logger.service.js +2 -34
  102. package/dist/services/logger/unified-logger.service.js.map +1 -1
  103. package/dist/services/permission.service.d.ts +12 -5
  104. package/dist/services/permission.service.d.ts.map +1 -1
  105. package/dist/services/permission.service.js +50 -10
  106. package/dist/services/permission.service.js.map +1 -1
  107. package/dist/services/redis.service.d.ts +29 -0
  108. package/dist/services/redis.service.d.ts.map +1 -1
  109. package/dist/services/redis.service.js +48 -5
  110. package/dist/services/redis.service.js.map +1 -1
  111. package/dist/services/role.service.d.ts +12 -5
  112. package/dist/services/role.service.d.ts.map +1 -1
  113. package/dist/services/role.service.js +38 -9
  114. package/dist/services/role.service.js.map +1 -1
  115. package/dist/services/token-validation.service.d.ts +30 -0
  116. package/dist/services/token-validation.service.d.ts.map +1 -1
  117. package/dist/services/token-validation.service.js +30 -0
  118. package/dist/services/token-validation.service.js.map +1 -1
  119. package/dist/types/config.types.d.ts +38 -1
  120. package/dist/types/config.types.d.ts.map +1 -1
  121. package/dist/types/config.types.js.map +1 -1
  122. package/dist/utils/audit-log-queue.d.ts.map +1 -1
  123. package/dist/utils/audit-log-queue.js +3 -0
  124. package/dist/utils/audit-log-queue.js.map +1 -1
  125. package/dist/utils/client-token-manager.d.ts.map +1 -1
  126. package/dist/utils/client-token-manager.js +9 -1
  127. package/dist/utils/client-token-manager.js.map +1 -1
  128. package/dist/utils/config-loader.d.ts +3 -1
  129. package/dist/utils/config-loader.d.ts.map +1 -1
  130. package/dist/utils/config-loader.js +5 -3
  131. package/dist/utils/config-loader.js.map +1 -1
  132. package/dist/utils/data-client-audit.d.ts.map +1 -1
  133. package/dist/utils/data-client-audit.js +15 -2
  134. package/dist/utils/data-client-audit.js.map +1 -1
  135. package/dist/utils/data-client-auth.d.ts.map +1 -1
  136. package/dist/utils/data-client-auth.js +17 -9
  137. package/dist/utils/data-client-auth.js.map +1 -1
  138. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  139. package/dist/utils/data-client-auto-init.js +110 -119
  140. package/dist/utils/data-client-auto-init.js.map +1 -1
  141. package/dist/utils/data-client-request.d.ts +0 -3
  142. package/dist/utils/data-client-request.d.ts.map +1 -1
  143. package/dist/utils/data-client-request.js +148 -97
  144. package/dist/utils/data-client-request.js.map +1 -1
  145. package/dist/utils/data-client-response.d.ts.map +1 -1
  146. package/dist/utils/data-client-response.js +93 -63
  147. package/dist/utils/data-client-response.js.map +1 -1
  148. package/dist/utils/data-client-utils.d.ts +2 -1
  149. package/dist/utils/data-client-utils.d.ts.map +1 -1
  150. package/dist/utils/data-client-utils.js +2 -1
  151. package/dist/utils/data-client-utils.js.map +1 -1
  152. package/dist/utils/data-client.d.ts.map +1 -1
  153. package/dist/utils/data-client.js +4 -1
  154. package/dist/utils/data-client.js.map +1 -1
  155. package/dist/utils/data-masker.d.ts +3 -0
  156. package/dist/utils/data-masker.d.ts.map +1 -1
  157. package/dist/utils/data-masker.js +3 -0
  158. package/dist/utils/data-masker.js.map +1 -1
  159. package/dist/utils/filter-schema.utils.d.ts.map +1 -1
  160. package/dist/utils/filter-schema.utils.js +64 -46
  161. package/dist/utils/filter-schema.utils.js.map +1 -1
  162. package/dist/utils/filter.utils.d.ts.map +1 -1
  163. package/dist/utils/filter.utils.js +59 -75
  164. package/dist/utils/filter.utils.js.map +1 -1
  165. package/dist/utils/http-client-audit.d.ts.map +1 -1
  166. package/dist/utils/http-client-audit.js +31 -19
  167. package/dist/utils/http-client-audit.js.map +1 -1
  168. package/dist/utils/http-client-metadata.d.ts +2 -1
  169. package/dist/utils/http-client-metadata.d.ts.map +1 -1
  170. package/dist/utils/http-client-metadata.js +2 -1
  171. package/dist/utils/http-client-metadata.js.map +1 -1
  172. package/dist/utils/internal-http-client.d.ts.map +1 -1
  173. package/dist/utils/internal-http-client.js +13 -7
  174. package/dist/utils/internal-http-client.js.map +1 -1
  175. package/package.json +86 -84
@@ -84,140 +84,131 @@ function cacheConfig(config, expiresIn) {
84
84
  // Ignore localStorage errors (SSR, private browsing, etc.)
85
85
  }
86
86
  }
87
- /**
88
- * Fetch config from server endpoint
89
- *
90
- * @param baseUrl - Base URL for the API
91
- * @param clientTokenUri - Client token endpoint URI
92
- * @returns Config response
93
- */
94
- async function fetchConfig(baseUrl, clientTokenUri) {
95
- // Build full URL
96
- const fullUrl = /^https?:\/\//i.test(clientTokenUri)
87
+ function buildConfigUrl(baseUrl, clientTokenUri) {
88
+ return /^https?:\/\//i.test(clientTokenUri)
97
89
  ? clientTokenUri
98
90
  : `${baseUrl}${clientTokenUri}`;
99
- // Add timeout to prevent hanging (30 seconds)
100
- const timeout = 30000;
91
+ }
92
+ function createTimeoutController(timeout) {
101
93
  const controller = new AbortController();
102
94
  const timeoutId = setTimeout(() => controller.abort(), timeout);
95
+ if (typeof timeoutId.unref === "function") {
96
+ timeoutId.unref();
97
+ }
98
+ return { controller, timeoutId };
99
+ }
100
+ function buildFetchError(fetchError, fullUrl, timeout) {
101
+ const errorMessage = fetchError instanceof Error ? fetchError.message : String(fetchError);
102
+ const errorName = fetchError instanceof Error ? fetchError.name : "Unknown";
103
+ if (errorName === "AbortError" || errorMessage.includes("aborted")) {
104
+ return new Error(`Request timeout: The client token endpoint did not respond within ${timeout}ms. ` +
105
+ `Please check if the server is running and accessible at ${fullUrl}`);
106
+ }
107
+ if (errorMessage.includes("ERR_EMPTY_RESPONSE") ||
108
+ errorMessage.includes("empty response")) {
109
+ return new Error(`Connection error: The server closed the connection without sending a response. ` +
110
+ `Please check if the server is running and accessible at ${fullUrl}`);
111
+ }
112
+ if (errorMessage.includes("Failed to fetch") ||
113
+ errorMessage.includes("network")) {
114
+ return new Error(`Network error: Cannot connect to ${fullUrl}. ` +
115
+ `Please check your network connection and ensure the server is running.`);
116
+ }
117
+ return new Error(`Failed to fetch config: ${errorMessage}`);
118
+ }
119
+ async function fetchWithTimeout(fullUrl, method, timeout, headers) {
120
+ const { controller, timeoutId } = createTimeoutController(timeout);
103
121
  try {
104
- // Try POST first (standard), fallback to GET
105
- let response;
106
- try {
107
- response = await fetch(fullUrl, {
108
- method: "POST",
109
- headers: {
110
- "Content-Type": "application/json",
111
- },
112
- credentials: "include",
113
- signal: controller.signal,
114
- });
115
- }
116
- catch (fetchError) {
117
- clearTimeout(timeoutId);
118
- // Handle timeout and network errors
119
- const errorMessage = fetchError instanceof Error ? fetchError.message : String(fetchError);
120
- const errorName = fetchError instanceof Error ? fetchError.name : "Unknown";
121
- if (errorName === "AbortError" || errorMessage.includes("aborted")) {
122
- throw new Error(`Request timeout: The client token endpoint did not respond within ${timeout}ms. ` +
123
- `Please check if the server is running and accessible at ${fullUrl}`);
124
- }
125
- if (errorMessage.includes("ERR_EMPTY_RESPONSE") || errorMessage.includes("empty response")) {
126
- throw new Error(`Connection error: The server closed the connection without sending a response. ` +
127
- `Please check if the server is running and accessible at ${fullUrl}`);
128
- }
129
- if (errorMessage.includes("Failed to fetch") || errorMessage.includes("network")) {
130
- throw new Error(`Network error: Cannot connect to ${fullUrl}. ` +
131
- `Please check your network connection and ensure the server is running.`);
132
- }
133
- throw new Error(`Failed to fetch config: ${errorMessage}`);
134
- }
122
+ const response = await fetch(fullUrl, {
123
+ method,
124
+ headers,
125
+ credentials: "include",
126
+ signal: controller.signal,
127
+ });
135
128
  clearTimeout(timeoutId);
136
- // If POST fails with 405 (Method Not Allowed), try GET as fallback
137
- // This provides backward compatibility for servers that only support GET
138
- if (response.status === 405) {
139
- const getController = new AbortController();
140
- const getTimeoutId = setTimeout(() => getController.abort(), timeout);
141
- try {
142
- response = await fetch(fullUrl, {
143
- method: "GET",
144
- credentials: "include",
145
- signal: getController.signal,
146
- });
147
- clearTimeout(getTimeoutId);
148
- }
149
- catch (fetchError) {
150
- clearTimeout(getTimeoutId);
151
- const errorMessage = fetchError instanceof Error ? fetchError.message : String(fetchError);
152
- const errorName = fetchError instanceof Error ? fetchError.name : "Unknown";
153
- if (errorName === "AbortError" || errorMessage.includes("aborted")) {
154
- throw new Error(`Request timeout: The client token endpoint did not respond within ${timeout}ms. ` +
155
- `Please check if the server is running and accessible at ${fullUrl}`);
129
+ return response;
130
+ }
131
+ catch (fetchError) {
132
+ clearTimeout(timeoutId);
133
+ throw buildFetchError(fetchError, fullUrl, timeout);
134
+ }
135
+ }
136
+ async function fetchConfigResponse(fullUrl, timeout) {
137
+ const response = await fetchWithTimeout(fullUrl, "POST", timeout, {
138
+ "Content-Type": "application/json",
139
+ });
140
+ if (response.status !== 405) {
141
+ return response;
142
+ }
143
+ return fetchWithTimeout(fullUrl, "GET", timeout);
144
+ }
145
+ async function buildHttpErrorMessage(response) {
146
+ let errorMessage = `Failed to fetch config: ${response.status} ${response.statusText}`;
147
+ let errorDetails;
148
+ try {
149
+ const contentType = response.headers.get("content-type");
150
+ if (contentType && contentType.includes("application/json")) {
151
+ const errorData = (await response.json().catch(() => null));
152
+ if (errorData) {
153
+ if (typeof errorData.message === "string") {
154
+ errorMessage = errorData.message;
156
155
  }
157
- throw new Error(`Failed to fetch config: ${errorMessage}`);
158
- }
159
- }
160
- if (!response.ok) {
161
- // Try to parse JSON error response first
162
- let errorMessage = `Failed to fetch config: ${response.status} ${response.statusText}`;
163
- let errorDetails;
164
- try {
165
- const contentType = response.headers.get("content-type");
166
- if (contentType && contentType.includes("application/json")) {
167
- const errorData = await response.json().catch(() => null);
168
- if (errorData) {
169
- // Extract error message from structured error response
170
- if (typeof errorData.message === "string") {
171
- errorMessage = errorData.message;
172
- }
173
- else if (typeof errorData.error === "string") {
174
- errorMessage = errorData.error;
156
+ else if (typeof errorData.error === "string") {
157
+ errorMessage = errorData.error;
158
+ }
159
+ if (errorData.details) {
160
+ if (typeof errorData.details === "string") {
161
+ errorDetails = errorData.details;
162
+ }
163
+ else if (typeof errorData.details === "object" &&
164
+ errorData.details !== null) {
165
+ const details = errorData.details;
166
+ if (typeof details.suggestion === "string") {
167
+ errorDetails = details.suggestion;
175
168
  }
176
- // Extract details if available
177
- if (errorData.details) {
178
- if (typeof errorData.details === "string") {
179
- errorDetails = errorData.details;
180
- }
181
- else if (typeof errorData.details === "object" && errorData.details !== null) {
182
- const details = errorData.details;
183
- if (typeof details.suggestion === "string") {
184
- errorDetails = details.suggestion;
185
- }
186
- else if (typeof details.controllerUrl === "string") {
187
- errorDetails = `Controller URL: ${details.controllerUrl}`;
188
- }
189
- }
169
+ else if (typeof details.controllerUrl === "string") {
170
+ errorDetails = `Controller URL: ${details.controllerUrl}`;
190
171
  }
191
172
  }
192
173
  }
193
- else {
194
- // Try to read as text if not JSON
195
- const errorText = await response.text().catch(() => "Unable to read error response");
196
- if (errorText && errorText !== "Unable to read error response") {
197
- errorMessage = `${errorMessage}. ${errorText}`;
198
- }
199
- }
200
174
  }
201
- catch (parseError) {
202
- // If JSON parsing fails, try to read as text
203
- try {
204
- const errorText = await response.text().catch(() => "");
205
- if (errorText) {
206
- errorMessage = `${errorMessage}. ${errorText}`;
207
- }
208
- }
209
- catch {
210
- // Ignore errors reading response
211
- }
175
+ }
176
+ else {
177
+ const errorText = await response.text().catch(() => "Unable to read error response");
178
+ if (errorText && errorText !== "Unable to read error response") {
179
+ errorMessage = `${errorMessage}. ${errorText}`;
180
+ }
181
+ }
182
+ }
183
+ catch {
184
+ try {
185
+ const errorText = await response.text().catch(() => "");
186
+ if (errorText) {
187
+ errorMessage = `${errorMessage}. ${errorText}`;
212
188
  }
213
- // Build final error message
214
- const finalMessage = errorDetails
215
- ? `${errorMessage}. ${errorDetails}`
216
- : errorMessage;
217
- throw new Error(finalMessage);
189
+ }
190
+ catch {
191
+ // Ignore errors reading response
192
+ }
193
+ }
194
+ return errorDetails ? `${errorMessage}. ${errorDetails}` : errorMessage;
195
+ }
196
+ /**
197
+ * Fetch config from server endpoint
198
+ *
199
+ * @param baseUrl - Base URL for the API
200
+ * @param clientTokenUri - Client token endpoint URI
201
+ * @returns Config response
202
+ */
203
+ async function fetchConfig(baseUrl, clientTokenUri) {
204
+ const fullUrl = buildConfigUrl(baseUrl, clientTokenUri);
205
+ const timeout = 30000;
206
+ try {
207
+ const response = await fetchConfigResponse(fullUrl, timeout);
208
+ if (!response.ok) {
209
+ throw new Error(await buildHttpErrorMessage(response));
218
210
  }
219
211
  const data = (await response.json());
220
- // Check if response has config
221
212
  if (!(0, client_token_endpoint_1.hasConfig)(data)) {
222
213
  throw new Error("Invalid response format: config not found in response. " +
223
214
  "Make sure your server endpoint uses createClientTokenEndpoint() helper.");
@@ -1 +1 @@
1
- {"version":3,"file":"data-client-auto-init.js","sourceRoot":"","sources":["../../src/utils/data-client-auto-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-client-auto-init.js","sourceRoot":"","sources":["../../src/utils/data-client-auto-init.ts"],"names":[],"mappings":"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"}
@@ -28,9 +28,6 @@ export declare function mergeSignals(signal1: AbortSignal, signal2: AbortSignal)
28
28
  * Make fetch request with timeout and authentication
29
29
  */
30
30
  export declare function makeFetchRequest(method: string, url: string, config: DataClientConfig, getToken: GetTokenFn, options?: ApiRequestOptions): Promise<Response>;
31
- /**
32
- * Execute HTTP request with retry logic
33
- */
34
31
  export declare function executeHttpRequest<T>(method: string, fullUrl: string, endpoint: string, config: DataClientConfig, cache: Map<string, CacheEntry>, cacheKey: string, cacheEnabled: boolean, startTime: number, misoClient: MisoClient | null, hasAnyToken: HasAnyTokenFn, getToken: GetTokenFn, handleAuthError: () => void, refreshUserToken: RefreshUserTokenFn, interceptors: InterceptorConfig, metrics: {
35
32
  totalRequests: number;
36
33
  totalFailures: number;
@@ -1 +1 @@
1
- {"version":3,"file":"data-client-request.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-request.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAKhB,iBAAiB,EACjB,UAAU,EACX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAQhE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC;AAE5F;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,GACnG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAiBpC;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CASrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAcpF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CAyCnB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,MAAM,IAAI,EAC3B,gBAAgB,EAAE,kBAAkB,EACpC,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,EAClF,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAiIZ"}
1
+ {"version":3,"file":"data-client-request.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-request.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAKhB,iBAAiB,EACjB,UAAU,EACX,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAQhE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC;AAE5F;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,GACnG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAiBpC;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CASrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAcpF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CA4CnB;AAkQD,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,MAAM,IAAI,EAC3B,gBAAgB,EAAE,kBAAkB,EACpC,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,EAClF,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,CAAC,CAAC,CA6BZ"}
@@ -88,6 +88,9 @@ async function makeFetchRequest(method, url, config, getToken, options) {
88
88
  const timeout = options?.timeout || config.timeout || 30000;
89
89
  const controller = new AbortController();
90
90
  const timeoutId = setTimeout(() => controller.abort(), timeout);
91
+ if (typeof timeoutId.unref === "function") {
92
+ timeoutId.unref();
93
+ }
91
94
  const signal = options?.signal
92
95
  ? mergeSignals(controller.signal, options.signal)
93
96
  : controller.signal;
@@ -105,111 +108,159 @@ async function makeFetchRequest(method, url, config, getToken, options) {
105
108
  throw new data_client_types_1.NetworkError(`Network error: ${error instanceof Error ? error.message : "Unknown error"}`, error instanceof Error ? error : undefined);
106
109
  }
107
110
  }
108
- /**
109
- * Execute HTTP request with retry logic
110
- */
111
- async function executeHttpRequest(method, fullUrl, endpoint, config, cache, cacheKey, cacheEnabled, startTime, misoClient, hasAnyToken, getToken, handleAuthError, refreshUserToken, interceptors, metrics, options) {
112
- const maxRetries = options?.retries !== undefined ? options.retries : config.retry?.maxRetries || 3;
113
- const retryEnabled = config.retry?.enabled !== false;
114
- const baseDelay = config.retry?.baseDelay || 1000;
115
- const maxDelay = config.retry?.maxDelay || 10000;
116
- let authErrorDetected = false;
117
- let tokenRefreshAttempted = false;
118
- async function attemptRequest(attempt) {
119
- if (authErrorDetected) {
120
- throw new data_client_types_1.AuthenticationError("Authentication error detected - should not retry");
121
- }
122
- let responseStatus;
123
- let response;
111
+ function resolveRetryConfig(config, options) {
112
+ return {
113
+ maxRetries: options?.retries !== undefined
114
+ ? options.retries
115
+ : config.retry?.maxRetries || 3,
116
+ retryEnabled: config.retry?.enabled !== false,
117
+ baseDelay: config.retry?.baseDelay || 1000,
118
+ maxDelay: config.retry?.maxDelay || 10000,
119
+ };
120
+ }
121
+ function isAuthStatus(status) {
122
+ return status === 401 || status === 403;
123
+ }
124
+ function isAuthErrorInstance(error) {
125
+ const errorObj = error;
126
+ return (error instanceof data_client_types_1.AuthenticationError ||
127
+ errorObj.name === "AuthenticationError" ||
128
+ errorObj.statusCode === 401 ||
129
+ errorObj.statusCode === 403);
130
+ }
131
+ function resolveStatusCode(error, responseStatus) {
132
+ const errorResponseStatus = error.response?.status;
133
+ return error.statusCode ?? errorResponseStatus ?? responseStatus ?? undefined;
134
+ }
135
+ function shouldRetryError(statusCode, retryConfig, attempt, error) {
136
+ const is500Error = statusCode !== undefined && statusCode >= 500 && statusCode < 600;
137
+ const effectiveMaxRetries = is500Error ? 0 : retryConfig.maxRetries;
138
+ return (retryConfig.retryEnabled &&
139
+ !is500Error &&
140
+ attempt < effectiveMaxRetries &&
141
+ (0, data_client_utils_1.isRetryableError)(statusCode, error));
142
+ }
143
+ async function handleAuthResponse(params) {
144
+ const { responseStatus, config, refreshUserToken, attempt, state } = params;
145
+ if (!isAuthStatus(responseStatus)) {
146
+ return null;
147
+ }
148
+ if (responseStatus === 401 &&
149
+ config.onTokenRefresh &&
150
+ refreshUserToken &&
151
+ attempt === 0 &&
152
+ !state.tokenRefreshAttempted) {
153
+ state.tokenRefreshAttempted = true;
124
154
  try {
125
- response = await makeFetchRequest(method, fullUrl, config, getToken, options);
126
- responseStatus = response.status;
127
- // Handle 401/403 errors
128
- if (responseStatus === 401 || responseStatus === 403) {
129
- if (responseStatus === 401 && config.onTokenRefresh && refreshUserToken && attempt === 0 && !tokenRefreshAttempted) {
130
- tokenRefreshAttempted = true;
131
- try {
132
- const refreshResult = await refreshUserToken();
133
- if (refreshResult?.token) {
134
- await new Promise((resolve) => setTimeout(resolve, 10));
135
- return attemptRequest(attempt + 1);
136
- }
137
- }
138
- catch (refreshError) {
139
- console.warn("Token refresh failed, redirecting to login:", refreshError);
140
- // If refresh fails, mark as auth error and don't retry
141
- authErrorDetected = true;
142
- }
143
- }
144
- // Always mark auth errors to prevent retries
145
- authErrorDetected = true;
146
- const authError = responseStatus === 401
147
- ? new data_client_types_1.AuthenticationError("Authentication required", response)
148
- : new data_client_types_1.ApiError("Forbidden", 403, response);
149
- (0, data_client_response_1.handleAuthErrorCleanup)(authError, responseStatus, method, endpoint, startTime, config, misoClient, hasAnyToken, getToken, handleAuthError, metrics, options);
150
- throw authError;
155
+ const refreshResult = await refreshUserToken();
156
+ if (refreshResult?.token) {
157
+ await new Promise((resolve) => setTimeout(resolve, 10));
158
+ return attemptRequest({ ...params, attempt: attempt + 1 });
151
159
  }
152
- const data = await parseResponse(response);
153
- return await (0, data_client_response_1.processSuccessfulResponse)(response, data, method, endpoint, startTime, config, cache, cacheKey, cacheEnabled, misoClient, hasAnyToken, getToken, interceptors, metrics, options);
154
160
  }
155
- catch (error) {
156
- // If we already attempted token refresh and still got auth error, don't retry
157
- if (tokenRefreshAttempted && (responseStatus === 401 || responseStatus === 403)) {
158
- authErrorDetected = true;
159
- throw error;
160
- }
161
- if (error instanceof data_client_types_1.AuthenticationError) {
162
- authErrorDetected = true;
163
- throw error;
164
- }
165
- if (responseStatus === 401 || responseStatus === 403) {
166
- authErrorDetected = true;
167
- throw error;
168
- }
169
- const errorObj = error;
170
- if (errorObj.name === "AuthenticationError" || errorObj.statusCode === 401 || errorObj.statusCode === 403) {
171
- authErrorDetected = true;
172
- throw error;
173
- }
174
- const errorResponseStatus = errorObj.response?.status;
175
- const statusCode = error instanceof data_client_types_1.AuthenticationError
176
- ? 401
177
- : (errorObj.statusCode ?? errorResponseStatus ?? responseStatus ?? undefined);
178
- const is500Error = statusCode && statusCode >= 500 && statusCode < 600;
179
- const effectiveMaxRetries = is500Error ? 0 : maxRetries;
180
- const isRetryable = retryEnabled && !is500Error && attempt < effectiveMaxRetries && (0, data_client_utils_1.isRetryableError)(statusCode, error);
181
- if (!isRetryable) {
182
- const isAuthError = error instanceof data_client_types_1.AuthenticationError ||
183
- error.name === "AuthenticationError" ||
184
- statusCode === 401 || statusCode === 403 ||
185
- responseStatus === 401 || responseStatus === 403;
186
- if (isAuthError) {
187
- authErrorDetected = true;
188
- throw error;
189
- }
190
- metrics.totalFailures++;
191
- await (0, data_client_response_1.handleNonRetryableError)(error, method, endpoint, startTime, statusCode, responseStatus, config, misoClient, hasAnyToken, getToken, metrics, options);
192
- }
193
- if (authErrorDetected) {
194
- throw error;
195
- }
196
- await (0, data_client_response_1.waitForRetry)(attempt, baseDelay, maxDelay, data_client_utils_1.calculateBackoffDelay);
197
- return attemptRequest(attempt + 1);
161
+ catch (refreshError) {
162
+ console.warn("Token refresh failed, redirecting to login:", refreshError);
163
+ state.authErrorDetected = true;
198
164
  }
199
165
  }
200
- try {
201
- return await attemptRequest(0);
166
+ state.authErrorDetected = true;
167
+ const authError = responseStatus === 401
168
+ ? new data_client_types_1.AuthenticationError("Authentication required", params.response)
169
+ : new data_client_types_1.ApiError("Forbidden", 403, params.response);
170
+ (0, data_client_response_1.handleAuthErrorCleanup)(authError, responseStatus, params.method, params.endpoint, params.startTime, params.config, params.misoClient, params.hasAnyToken, params.getToken, params.handleAuthError, params.metrics, params.options);
171
+ throw authError;
172
+ }
173
+ async function handleAttemptError(params) {
174
+ const { error, responseStatus, state, attempt, retryConfig } = params;
175
+ if (state.tokenRefreshAttempted && isAuthStatus(responseStatus)) {
176
+ state.authErrorDetected = true;
177
+ throw error;
202
178
  }
203
- catch (error) {
204
- const isAuthError = error instanceof data_client_types_1.AuthenticationError ||
205
- error.name === "AuthenticationError" ||
206
- error.statusCode === 401 ||
207
- error.statusCode === 403;
208
- metrics.totalFailures++;
209
- if (interceptors.onError && !isAuthError) {
210
- throw await interceptors.onError(error);
179
+ if (error instanceof data_client_types_1.AuthenticationError || isAuthStatus(responseStatus) || isAuthErrorInstance(error)) {
180
+ state.authErrorDetected = true;
181
+ throw error;
182
+ }
183
+ const errorObj = error;
184
+ const statusCode = resolveStatusCode(errorObj, responseStatus);
185
+ const isRetryable = shouldRetryError(statusCode, retryConfig, attempt, error);
186
+ if (!isRetryable) {
187
+ if (isAuthStatus(statusCode)) {
188
+ state.authErrorDetected = true;
189
+ throw error;
211
190
  }
191
+ params.metrics.totalFailures++;
192
+ await (0, data_client_response_1.handleNonRetryableError)(error, params.method, params.endpoint, params.startTime, statusCode, responseStatus, params.config, params.misoClient, params.hasAnyToken, params.getToken, params.metrics, params.options);
193
+ }
194
+ if (state.authErrorDetected) {
212
195
  throw error;
213
196
  }
197
+ await (0, data_client_response_1.waitForRetry)(attempt, retryConfig.baseDelay, retryConfig.maxDelay, data_client_utils_1.calculateBackoffDelay);
198
+ return attemptRequest({ ...params, attempt: attempt + 1 });
199
+ }
200
+ async function attemptRequest(params) {
201
+ if (params.state.authErrorDetected) {
202
+ throw new data_client_types_1.AuthenticationError("Authentication error detected - should not retry");
203
+ }
204
+ let responseStatus;
205
+ let response;
206
+ try {
207
+ response = await makeFetchRequest(params.method, params.fullUrl, params.config, params.getToken, params.options);
208
+ responseStatus = response.status;
209
+ const authResult = await handleAuthResponse({
210
+ ...params,
211
+ response,
212
+ responseStatus,
213
+ });
214
+ if (authResult) {
215
+ return authResult;
216
+ }
217
+ const data = await parseResponse(response);
218
+ return await (0, data_client_response_1.processSuccessfulResponse)(response, data, params.method, params.endpoint, params.startTime, params.config, params.cache, params.cacheKey, params.cacheEnabled, params.misoClient, params.hasAnyToken, params.getToken, params.interceptors, params.metrics, params.options);
219
+ }
220
+ catch (error) {
221
+ return handleAttemptError({
222
+ ...params,
223
+ error,
224
+ responseStatus,
225
+ });
226
+ }
227
+ }
228
+ async function handleFinalError(error, interceptors, metrics) {
229
+ const isAuthError = isAuthErrorInstance(error);
230
+ metrics.totalFailures++;
231
+ if (interceptors.onError && !isAuthError) {
232
+ throw await interceptors.onError(error);
233
+ }
234
+ throw error;
235
+ }
236
+ async function executeHttpRequest(method, fullUrl, endpoint, config, cache, cacheKey, cacheEnabled, startTime, misoClient, hasAnyToken, getToken, handleAuthError, refreshUserToken, interceptors, metrics, options) {
237
+ const retryConfig = resolveRetryConfig(config, options);
238
+ const state = { authErrorDetected: false, tokenRefreshAttempted: false };
239
+ try {
240
+ return await attemptRequest({
241
+ attempt: 0,
242
+ method,
243
+ fullUrl,
244
+ endpoint,
245
+ config,
246
+ cache,
247
+ cacheKey,
248
+ cacheEnabled,
249
+ startTime,
250
+ misoClient,
251
+ hasAnyToken,
252
+ getToken,
253
+ handleAuthError,
254
+ refreshUserToken,
255
+ interceptors,
256
+ metrics,
257
+ options,
258
+ retryConfig,
259
+ state,
260
+ });
261
+ }
262
+ catch (error) {
263
+ return handleFinalError(error, interceptors, metrics);
264
+ }
214
265
  }
215
266
  //# sourceMappingURL=data-client-request.js.map