@talken/talkenkit 2.4.20 → 2.4.22

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/LICENSE +9 -0
  2. package/dist/abcWallet-4RS3B4ZG.js +188 -0
  3. package/dist/abcWallet-EBOW2RJB.js +188 -0
  4. package/dist/abcWallet-RS4EOJ4I.js +188 -0
  5. package/dist/abcWallet-SNEZVK7V.js +188 -0
  6. package/dist/abcWallet-TC7M2JYX.js +188 -0
  7. package/dist/abcWallet-VZMW2DR3.js +188 -0
  8. package/dist/abcWallet-XJ3WSUVI.js +188 -0
  9. package/dist/abcWallet-XNCBZAIQ.js +188 -0
  10. package/dist/chunk-6FLQAAC4.js +7213 -0
  11. package/dist/chunk-7GIIMIPN.js +7213 -0
  12. package/dist/chunk-IBFA37SC.js +7228 -0
  13. package/dist/chunk-O5ZOC4NJ.js +7215 -0
  14. package/dist/chunk-OPOAKGEX.js +7216 -0
  15. package/dist/chunk-OTIHVCVR.js +7213 -0
  16. package/dist/chunk-P77BVZZF.js +7369 -0
  17. package/dist/chunk-RFLXXSQH.js +7139 -0
  18. package/dist/components/ConfirmationModal/NonEvmConfirmationModal.css.d.ts +11 -0
  19. package/dist/components/ConfirmationModal/NonEvmSignConfirmationModal.d.ts +9 -0
  20. package/dist/components/ConfirmationModal/NonEvmTransferConfirmationModal.d.ts +9 -0
  21. package/dist/components/ConfirmationModal/SignConfirmationModal.css.d.ts +1 -19
  22. package/dist/components/ConfirmationModal/TransactionConfirmationModal.css.d.ts +1 -20
  23. package/dist/components/ConfirmationModal/commonStyles.css.d.ts +19 -0
  24. package/dist/components/ConfirmationModal/index.d.ts +2 -0
  25. package/dist/components/ConfirmationModal/utils.d.ts +2 -1
  26. package/dist/hooks/useWalletCapabilities.d.ts +2 -0
  27. package/dist/index.css +227 -307
  28. package/dist/index.d.ts +4 -2
  29. package/dist/index.js +2007 -1067
  30. package/dist/providers/SignConfirmationProvider/NonEvmConfirmationContext.d.ts +6 -0
  31. package/dist/providers/SignConfirmationProvider/index.d.ts +2 -1
  32. package/dist/providers/SignConfirmationProvider/requestParsers.d.ts +6 -1
  33. package/dist/providers/SignConfirmationProvider/types.d.ts +35 -1
  34. package/dist/wallets/capabilities/detectCapabilities.d.ts +7 -0
  35. package/dist/wallets/capabilities/requestWalletAction.d.ts +8 -0
  36. package/dist/wallets/capabilities/types.d.ts +50 -0
  37. package/dist/wallets/walletConnectors/abcWallet/abcApi.js +3 -3
  38. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinConnector.js +3 -3
  39. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.d.ts +10 -0
  40. package/dist/wallets/walletConnectors/abcWallet/abcBitcoinProvider.js +1 -1
  41. package/dist/wallets/walletConnectors/abcWallet/abcConnector.js +5 -5
  42. package/dist/wallets/walletConnectors/abcWallet/abcProvider.d.ts +9 -0
  43. package/dist/wallets/walletConnectors/abcWallet/abcProvider.js +3 -3
  44. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.d.ts +10 -0
  45. package/dist/wallets/walletConnectors/abcWallet/abcSolanaProvider.js +1 -1
  46. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.d.ts +16 -0
  47. package/dist/wallets/walletConnectors/abcWallet/abcSolanaWalletAdapter.js +115 -33
  48. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.d.ts +16 -0
  49. package/dist/wallets/walletConnectors/abcWallet/abcTronProvider.js +1 -1
  50. package/dist/wallets/walletConnectors/abcWallet/abcWallet.js +7 -7
  51. package/dist/wallets/walletConnectors/abcWallet/api/AuthApi.js +4 -4
  52. package/dist/wallets/walletConnectors/abcWallet/api/BaseApiClient.js +3 -3
  53. package/dist/wallets/walletConnectors/abcWallet/api/BitcoinApi.js +4 -4
  54. package/dist/wallets/walletConnectors/abcWallet/api/GasApi.js +4 -4
  55. package/dist/wallets/walletConnectors/abcWallet/api/SolanaApi.js +4 -4
  56. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.d.ts +9 -4
  57. package/dist/wallets/walletConnectors/abcWallet/api/TalkenApiClient.js +2 -2
  58. package/dist/wallets/walletConnectors/abcWallet/api/TransactionApi.js +4 -4
  59. package/dist/wallets/walletConnectors/abcWallet/api/TronApi.js +4 -4
  60. package/dist/wallets/walletConnectors/abcWallet/api/WalletApi.js +4 -4
  61. package/dist/wallets/walletConnectors/abcWallet/api/WalletscanApi.js +4 -4
  62. package/dist/wallets/walletConnectors/abcWallet/api/index.js +17 -17
  63. package/dist/wallets/walletConnectors/abcWallet/constants.d.ts +5 -4
  64. package/dist/wallets/walletConnectors/abcWallet/constants.js +1 -1
  65. package/dist/wallets/walletConnectors/abcWallet/index.js +21 -21
  66. package/dist/wallets/walletConnectors/abcWallet/types.d.ts +31 -1
  67. package/dist/wallets/walletConnectors/abcWallet/utils.js +2 -2
  68. package/dist/wallets/walletConnectors/berasigWallet/berasigWallet.js +2 -2
  69. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  70. package/dist/wallets/walletConnectors/binanceWallet/binanceWallet.js +2 -2
  71. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  72. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  73. package/dist/wallets/walletConnectors/chunk-2IZBLAHI.js +52 -0
  74. package/dist/wallets/walletConnectors/chunk-32IJ3ILH.js +71 -0
  75. package/dist/wallets/walletConnectors/chunk-3AX66UHT.js +479 -0
  76. package/dist/wallets/walletConnectors/chunk-3BVPV64G.js +36 -0
  77. package/dist/wallets/walletConnectors/chunk-3DGFHWI3.js +302 -0
  78. package/dist/wallets/walletConnectors/chunk-4FKUVQCM.js +655 -0
  79. package/dist/wallets/walletConnectors/chunk-56SF4VRC.js +640 -0
  80. package/dist/wallets/walletConnectors/chunk-5KOE7NJW.js +52 -0
  81. package/dist/wallets/walletConnectors/chunk-6CVXZ3ZW.js +771 -0
  82. package/dist/wallets/walletConnectors/chunk-6GCWEPU7.js +643 -0
  83. package/dist/wallets/walletConnectors/chunk-6YFP3Q2I.js +118 -0
  84. package/dist/wallets/walletConnectors/chunk-7EEPPULA.js +118 -0
  85. package/dist/wallets/walletConnectors/chunk-7QL42XTB.js +302 -0
  86. package/dist/wallets/walletConnectors/chunk-A7ZSPSFX.js +577 -0
  87. package/dist/wallets/walletConnectors/chunk-AI3CT254.js +302 -0
  88. package/dist/wallets/walletConnectors/chunk-AMNVH7CZ.js +151 -0
  89. package/dist/wallets/walletConnectors/chunk-AOREXGRM.js +350 -0
  90. package/dist/wallets/walletConnectors/chunk-BLO7E54F.js +302 -0
  91. package/dist/wallets/walletConnectors/chunk-BNRH5PYS.js +52 -0
  92. package/dist/wallets/walletConnectors/chunk-BOV5FXU6.js +151 -0
  93. package/dist/wallets/walletConnectors/chunk-BR25RFNF.js +260 -0
  94. package/dist/wallets/walletConnectors/chunk-BXQ2UWJ3.js +91 -0
  95. package/dist/wallets/walletConnectors/chunk-CAMPW7O2.js +874 -0
  96. package/dist/wallets/walletConnectors/chunk-CLMFCNP7.js +52 -0
  97. package/dist/wallets/walletConnectors/chunk-DSZOE65L.js +107 -0
  98. package/dist/wallets/walletConnectors/chunk-DU6RCLWT.js +272 -0
  99. package/dist/wallets/walletConnectors/chunk-ENN6UGGA.js +421 -0
  100. package/dist/wallets/walletConnectors/chunk-EXWDLN5V.js +204 -0
  101. package/dist/wallets/walletConnectors/chunk-FFU26Y5Y.js +272 -0
  102. package/dist/wallets/walletConnectors/chunk-FGS2WHVA.js +118 -0
  103. package/dist/wallets/walletConnectors/chunk-FJJ3QI4R.js +91 -0
  104. package/dist/wallets/walletConnectors/chunk-FS2OOQYF.js +204 -0
  105. package/dist/wallets/walletConnectors/chunk-G5X3COSW.js +205 -0
  106. package/dist/wallets/walletConnectors/chunk-H53R4SFZ.js +204 -0
  107. package/dist/wallets/walletConnectors/chunk-J4QGDATF.js +71 -0
  108. package/dist/wallets/walletConnectors/chunk-JIJNCMJR.js +874 -0
  109. package/dist/wallets/walletConnectors/chunk-JSGZYU4A.js +52 -0
  110. package/dist/wallets/walletConnectors/chunk-JVT7R2GZ.js +771 -0
  111. package/dist/wallets/walletConnectors/chunk-K3JNN5UK.js +71 -0
  112. package/dist/wallets/walletConnectors/chunk-KBHPY3NA.js +302 -0
  113. package/dist/wallets/walletConnectors/chunk-KEX6WS23.js +640 -0
  114. package/dist/wallets/walletConnectors/chunk-KHYKVVR7.js +52 -0
  115. package/dist/wallets/walletConnectors/chunk-LOL7ZZ3S.js +302 -0
  116. package/dist/wallets/walletConnectors/chunk-LOSXI36Y.js +479 -0
  117. package/dist/wallets/walletConnectors/chunk-M2U5QGM7.js +260 -0
  118. package/dist/wallets/walletConnectors/chunk-M73AWLIV.js +107 -0
  119. package/dist/wallets/walletConnectors/chunk-MAUC46AE.js +302 -0
  120. package/dist/wallets/walletConnectors/chunk-MBRXYEQC.js +272 -0
  121. package/dist/wallets/walletConnectors/chunk-MDDD4LG2.js +874 -0
  122. package/dist/wallets/walletConnectors/chunk-MMR2QAEU.js +642 -0
  123. package/dist/wallets/walletConnectors/chunk-MNZZRFUC.js +302 -0
  124. package/dist/wallets/walletConnectors/chunk-OIRY24PH.js +302 -0
  125. package/dist/wallets/walletConnectors/chunk-ORBX4JE2.js +52 -0
  126. package/dist/wallets/walletConnectors/chunk-OXJFFDW7.js +761 -0
  127. package/dist/wallets/walletConnectors/chunk-QD3PPWTN.js +272 -0
  128. package/dist/wallets/walletConnectors/chunk-RCIABMG5.js +259 -0
  129. package/dist/wallets/walletConnectors/chunk-RHC4SVLB.js +71 -0
  130. package/dist/wallets/walletConnectors/chunk-S2CB4KFC.js +71 -0
  131. package/dist/wallets/walletConnectors/chunk-S6HZD4XZ.js +302 -0
  132. package/dist/wallets/walletConnectors/chunk-S72LCNVX.js +272 -0
  133. package/dist/wallets/walletConnectors/chunk-SCWE5EEX.js +91 -0
  134. package/dist/wallets/walletConnectors/chunk-TKEL4D4E.js +151 -0
  135. package/dist/wallets/walletConnectors/chunk-TKJEMEBZ.js +71 -0
  136. package/dist/wallets/walletConnectors/chunk-TZ44ZREA.js +302 -0
  137. package/dist/wallets/walletConnectors/chunk-UGQSI3US.js +547 -0
  138. package/dist/wallets/walletConnectors/chunk-UU4JYY3C.js +205 -0
  139. package/dist/wallets/walletConnectors/chunk-V5P5BL6Z.js +302 -0
  140. package/dist/wallets/walletConnectors/chunk-VH6DIRPF.js +71 -0
  141. package/dist/wallets/walletConnectors/chunk-VPNZAMW5.js +205 -0
  142. package/dist/wallets/walletConnectors/chunk-W6QN6QXO.js +52 -0
  143. package/dist/wallets/walletConnectors/chunk-WDULICVN.js +302 -0
  144. package/dist/wallets/walletConnectors/chunk-WGGHGODM.js +272 -0
  145. package/dist/wallets/walletConnectors/chunk-XUCMTLM3.js +52 -0
  146. package/dist/wallets/walletConnectors/chunk-Y5WAX6WO.js +52 -0
  147. package/dist/wallets/walletConnectors/chunk-Y62PFBWE.js +640 -0
  148. package/dist/wallets/walletConnectors/chunk-Z6ABK6G6.js +107 -0
  149. package/dist/wallets/walletConnectors/chunk-ZCA5QSIM.js +71 -0
  150. package/dist/wallets/walletConnectors/chunk-ZJDZJW55.js +479 -0
  151. package/dist/wallets/walletConnectors/chunk-ZOF7ZDGU.js +52 -0
  152. package/dist/wallets/walletConnectors/chunk-ZUU57RHO.js +36 -0
  153. package/dist/wallets/walletConnectors/chunk-ZWFGRREM.js +36 -0
  154. package/dist/wallets/walletConnectors/chunk-ZY5BCHP2.js +302 -0
  155. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  156. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  157. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  158. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  159. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  160. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  161. package/dist/wallets/walletConnectors/index.js +88 -88
  162. package/dist/wallets/walletConnectors/iopayWallet/iopayWallet.js +2 -2
  163. package/dist/wallets/walletConnectors/kaiaWallet/kaiaWallet.js +2 -2
  164. package/dist/wallets/walletConnectors/kaikasWallet/kaikasWallet.js +2 -2
  165. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  166. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  167. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  168. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  169. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  170. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  171. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  172. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  173. package/dist/wallets/walletConnectors/zealWallet/zealWallet.js +2 -2
  174. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  175. package/package.json +11 -12
@@ -0,0 +1,272 @@
1
+ "use client";
2
+ import {
3
+ calculateExpiryTimestamp,
4
+ createAbcError,
5
+ isTokenExpired,
6
+ loadFromStorage,
7
+ parseApiError,
8
+ removeFromStorage,
9
+ saveToStorage
10
+ } from "./chunk-LOSXI36Y.js";
11
+ import {
12
+ DEFAULT_HEADERS,
13
+ REQUEST_TIMEOUT
14
+ } from "./chunk-BR25RFNF.js";
15
+
16
+ // src/wallets/walletConnectors/abcWallet/api/BaseApiClient.ts
17
+ import { getTalkenApiClient } from "@talken/talkenkit";
18
+ var BaseApiClient = class {
19
+ constructor(config) {
20
+ this.accessToken = null;
21
+ this.refreshToken = null;
22
+ this.expiresAt = null;
23
+ this.isRefreshing = false;
24
+ this.refreshPromise = null;
25
+ this.config = config;
26
+ this.baseURL = config.waasUrl;
27
+ this.loadTokens();
28
+ }
29
+ /**
30
+ * Load tokens from storage
31
+ */
32
+ loadTokens() {
33
+ this.accessToken = loadFromStorage("access_token" /* ACCESS_TOKEN */);
34
+ this.refreshToken = loadFromStorage("refresh_token" /* REFRESH_TOKEN */);
35
+ this.expiresAt = loadFromStorage("expires_at" /* EXPIRES_AT */);
36
+ }
37
+ /**
38
+ * Set tokens in client instance (useful when restoring from storage or state)
39
+ * Call this before making API requests if tokens are managed externally
40
+ */
41
+ setTokens(accessToken, refreshToken, expiresAt) {
42
+ this.accessToken = accessToken;
43
+ this.refreshToken = refreshToken;
44
+ this.expiresAt = expiresAt;
45
+ }
46
+ /**
47
+ * Save tokens to storage
48
+ */
49
+ saveTokens(accessToken, refreshToken, expiresIn) {
50
+ this.accessToken = accessToken;
51
+ this.refreshToken = refreshToken;
52
+ this.expiresAt = calculateExpiryTimestamp(expiresIn);
53
+ saveToStorage("access_token" /* ACCESS_TOKEN */, accessToken);
54
+ saveToStorage("refresh_token" /* REFRESH_TOKEN */, refreshToken);
55
+ saveToStorage("expires_at" /* EXPIRES_AT */, this.expiresAt);
56
+ }
57
+ /**
58
+ * Clear tokens
59
+ */
60
+ clearTokens() {
61
+ this.accessToken = null;
62
+ this.refreshToken = null;
63
+ this.expiresAt = null;
64
+ removeFromStorage("access_token" /* ACCESS_TOKEN */);
65
+ removeFromStorage("refresh_token" /* REFRESH_TOKEN */);
66
+ removeFromStorage("expires_at" /* EXPIRES_AT */);
67
+ }
68
+ /**
69
+ * Check if access token is expired
70
+ */
71
+ isTokenExpired() {
72
+ return isTokenExpired(this.expiresAt);
73
+ }
74
+ /**
75
+ * Get current access token
76
+ */
77
+ getAccessToken() {
78
+ return this.accessToken;
79
+ }
80
+ /**
81
+ * Set access token manually
82
+ */
83
+ setAccessToken(token) {
84
+ this.accessToken = token;
85
+ }
86
+ /**
87
+ * Get base URL
88
+ */
89
+ getBaseURL() {
90
+ return this.baseURL;
91
+ }
92
+ /**
93
+ * Get configuration
94
+ */
95
+ getConfig() {
96
+ return this.config;
97
+ }
98
+ /**
99
+ * Refresh access token via TalkenApiClient
100
+ */
101
+ async refreshAccessToken() {
102
+ if (this.isRefreshing) {
103
+ if (this.refreshPromise) {
104
+ await this.refreshPromise;
105
+ }
106
+ return;
107
+ }
108
+ const api = getTalkenApiClient();
109
+ if (api) {
110
+ this.isRefreshing = true;
111
+ this.refreshPromise = (async () => {
112
+ try {
113
+ const res = await api.auth.refresh();
114
+ this.saveTokens(res.accessToken, res.refreshToken, res.expiresIn);
115
+ } finally {
116
+ this.isRefreshing = false;
117
+ this.refreshPromise = null;
118
+ }
119
+ })();
120
+ await this.refreshPromise;
121
+ return;
122
+ }
123
+ if (!this.refreshToken) {
124
+ throw createAbcError(
125
+ "TOKEN_EXPIRED" /* TOKEN_EXPIRED */,
126
+ "No refresh token available"
127
+ );
128
+ }
129
+ throw createAbcError(
130
+ "TOKEN_EXPIRED" /* TOKEN_EXPIRED */,
131
+ "TalkenApiClient not initialized for token refresh"
132
+ );
133
+ }
134
+ /**
135
+ * Make HTTP request with automatic token refresh
136
+ */
137
+ async request(endpoint, options = {}) {
138
+ const {
139
+ method = "GET",
140
+ body,
141
+ headers = {},
142
+ skipAuth = false,
143
+ isRetry = false,
144
+ contentType = "form"
145
+ // Default to form-encoded for backward compatibility
146
+ } = options;
147
+ if (!skipAuth && this.isTokenExpired() && this.refreshToken) {
148
+ await this.refreshAccessToken();
149
+ }
150
+ const url = `${this.baseURL}${endpoint}`;
151
+ const requestHeaders = {
152
+ ...DEFAULT_HEADERS,
153
+ ...headers
154
+ };
155
+ if (contentType === "json") {
156
+ requestHeaders["Content-Type"] = "application/json";
157
+ requestHeaders["Accept"] = "application/json";
158
+ }
159
+ if (this.config.environment === "production") {
160
+ requestHeaders["User-Agent"] = "Android";
161
+ }
162
+ if (!skipAuth && this.accessToken) {
163
+ requestHeaders.Authorization = `Bearer ${this.accessToken}`;
164
+ }
165
+ if (this.config.apiKey) {
166
+ requestHeaders["X-API-Key"] = this.config.apiKey;
167
+ }
168
+ try {
169
+ const controller = new AbortController();
170
+ const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
171
+ const requestBody = body ? contentType === "json" ? JSON.stringify(body) : new URLSearchParams(body).toString() : void 0;
172
+ const response = await fetch(url, {
173
+ method,
174
+ headers: requestHeaders,
175
+ body: requestBody,
176
+ signal: controller.signal
177
+ });
178
+ clearTimeout(timeoutId);
179
+ const text = await response.text();
180
+ let data;
181
+ if (text) {
182
+ try {
183
+ data = JSON.parse(text);
184
+ } catch (parseError) {
185
+ console.error("[BaseApiClient] \u274C JSON parse error:", {
186
+ url,
187
+ method,
188
+ status: response.status,
189
+ responseText: text.substring(0, 200)
190
+ });
191
+ throw createAbcError(
192
+ "UNKNOWN_ERROR" /* UNKNOWN_ERROR */,
193
+ "Invalid JSON response from server",
194
+ { text, parseError }
195
+ );
196
+ }
197
+ } else {
198
+ data = { status: "success" };
199
+ }
200
+ if (response.status === 401 && !skipAuth && this.refreshToken && !isRetry) {
201
+ try {
202
+ await this.refreshAccessToken();
203
+ return await this.request(endpoint, {
204
+ ...options,
205
+ isRetry: true
206
+ });
207
+ } catch (refreshError) {
208
+ console.error("Token refresh failed:", refreshError);
209
+ throw parseApiError({
210
+ response: {
211
+ status: response.status,
212
+ data
213
+ }
214
+ });
215
+ }
216
+ }
217
+ if (!response.ok) {
218
+ if (response.status !== 409) {
219
+ console.error("[BaseApiClient] \u274C API Error:", {
220
+ url,
221
+ method,
222
+ status: response.status,
223
+ statusText: response.statusText,
224
+ data
225
+ });
226
+ }
227
+ throw parseApiError({
228
+ response: {
229
+ status: response.status,
230
+ data
231
+ }
232
+ });
233
+ }
234
+ return data;
235
+ } catch (error) {
236
+ if (error.response?.status !== 409 && error.code !== "WALLET_ALREADY_EXISTS") {
237
+ console.error("[BaseApiClient] \u274C Request failed:", {
238
+ url,
239
+ method,
240
+ error: error.message
241
+ });
242
+ }
243
+ if (error.name === "AbortError") {
244
+ throw createAbcError(
245
+ "NETWORK_ERROR" /* NETWORK_ERROR */,
246
+ "Request timeout",
247
+ error
248
+ );
249
+ }
250
+ if (error.code && error.message) {
251
+ throw error;
252
+ }
253
+ throw parseApiError(error);
254
+ }
255
+ }
256
+ /**
257
+ * Check if user is authenticated
258
+ */
259
+ isAuthenticated() {
260
+ return !!this.accessToken && !this.isTokenExpired();
261
+ }
262
+ /**
263
+ * Logout (clear tokens)
264
+ */
265
+ async logout() {
266
+ this.clearTokens();
267
+ }
268
+ };
269
+
270
+ export {
271
+ BaseApiClient
272
+ };