@explorins/pers-sdk 2.0.6 → 2.0.7
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/campaign/api/campaign-api.d.ts +19 -8
- package/dist/campaign/api/campaign-api.d.ts.map +1 -1
- package/dist/campaign/services/campaign-service.d.ts +10 -2
- package/dist/campaign/services/campaign-service.d.ts.map +1 -1
- package/dist/campaign.cjs +1 -1
- package/dist/campaign.js +1 -1
- package/dist/chunks/{campaign-service-Ae164xl8.cjs → campaign-service-CdEz0jpP.cjs} +29 -16
- package/dist/chunks/{campaign-service-Ae164xl8.cjs.map → campaign-service-CdEz0jpP.cjs.map} +1 -1
- package/dist/chunks/{campaign-service-rlK4WeSY.js → campaign-service-DrTAqFZM.js} +29 -16
- package/dist/chunks/{campaign-service-rlK4WeSY.js.map → campaign-service-DrTAqFZM.js.map} +1 -1
- package/dist/chunks/environment-C73snhIJ.cjs +145 -0
- package/dist/chunks/environment-C73snhIJ.cjs.map +1 -0
- package/dist/chunks/environment-CKVwRAEL.js +140 -0
- package/dist/chunks/environment-CKVwRAEL.js.map +1 -0
- package/dist/chunks/node-http-client-D_avaa5F.cjs +88 -0
- package/dist/chunks/node-http-client-D_avaa5F.cjs.map +1 -0
- package/dist/chunks/node-http-client-DloDLfm9.js +86 -0
- package/dist/chunks/node-http-client-DloDLfm9.js.map +1 -0
- package/dist/chunks/{pers-sdk-DLTY5heK.js → pers-sdk-JIExM712.js} +51 -157
- package/dist/chunks/pers-sdk-JIExM712.js.map +1 -0
- package/dist/chunks/{pers-sdk-Bm6y6cX4.cjs → pers-sdk-h-uoLpBx.cjs} +50 -160
- package/dist/chunks/pers-sdk-h-uoLpBx.cjs.map +1 -0
- package/dist/chunks/{web3-chain-service-6vsVHPjl.cjs → web3-chain-service-BeBjALg2.cjs} +82 -163
- package/dist/chunks/web3-chain-service-BeBjALg2.cjs.map +1 -0
- package/dist/chunks/{web3-chain-service-BcUeeujC.js → web3-chain-service-DKHCnHQX.js} +83 -163
- package/dist/chunks/web3-chain-service-DKHCnHQX.js.map +1 -0
- package/dist/core/auth/static-jwt-auth-provider.d.ts +5 -0
- package/dist/core/auth/static-jwt-auth-provider.d.ts.map +1 -1
- package/dist/core/errors/index.d.ts +30 -83
- package/dist/core/errors/index.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core/version.d.ts +3 -3
- package/dist/core/version.d.ts.map +1 -1
- package/dist/core.cjs +8 -8
- package/dist/core.js +4 -3
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +10 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/managers/campaign-manager.d.ts +36 -1
- package/dist/managers/campaign-manager.d.ts.map +1 -1
- package/dist/node.cjs +100 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.d.ts +70 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +94 -0
- package/dist/node.js.map +1 -0
- package/dist/package.json +9 -2
- package/dist/pers-sdk.d.ts.map +1 -1
- package/dist/platform-adapters/node-http-client.d.ts.map +1 -1
- package/dist/platform-adapters.cjs +3 -66
- package/dist/platform-adapters.cjs.map +1 -1
- package/dist/platform-adapters.js +3 -66
- package/dist/platform-adapters.js.map +1 -1
- package/dist/web3-chain.cjs +1 -1
- package/dist/web3-chain.js +1 -1
- package/package.json +9 -2
- package/dist/chunks/pers-sdk-Bm6y6cX4.cjs.map +0 -1
- package/dist/chunks/pers-sdk-DLTY5heK.js.map +0 -1
- package/dist/chunks/web3-chain-service-6vsVHPjl.cjs.map +0 -1
- package/dist/chunks/web3-chain-service-BcUeeujC.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var persShared = require('@explorins/pers-shared');
|
|
3
4
|
var index = require('./index-B6-bbNnd.cjs');
|
|
4
5
|
var ethers = require('@explorins/web3-ts/ethers');
|
|
5
6
|
|
|
@@ -78,7 +79,7 @@ class ErrorUtils {
|
|
|
78
79
|
const err = error;
|
|
79
80
|
// Try structured error first (check multiple formats: axios, Angular, etc.)
|
|
80
81
|
const apiError = err?.response?.data || err?.error || err;
|
|
81
|
-
return apiError?.message || apiError?.detail ||
|
|
82
|
+
return apiError?.message || apiError?.detail || err?.message || 'Request failed';
|
|
82
83
|
}
|
|
83
84
|
/**
|
|
84
85
|
* Fast status code extraction
|
|
@@ -109,87 +110,73 @@ class ErrorUtils {
|
|
|
109
110
|
}
|
|
110
111
|
/**
|
|
111
112
|
* Extract detailed error information from backend response
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* Platform-agnostic extraction order:
|
|
115
|
-
* 1. React Native: Parses "HTTP xxx: ... - {json}" message format
|
|
116
|
-
* 2. Axios/fetch: error.response.data
|
|
117
|
-
* 3. Direct backend response: error.status && error.title
|
|
118
|
-
* 4. Angular HttpErrorResponse: error.error
|
|
119
|
-
* 5. Fallback: constructs generic error from available info
|
|
113
|
+
* Tries multiple extraction strategies to find structured error data
|
|
120
114
|
*/
|
|
121
115
|
static extractBackendErrorDetails(error) {
|
|
122
116
|
try {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
return httpError;
|
|
138
|
-
}
|
|
139
|
-
// Check for nested error details
|
|
140
|
-
if (httpError.error) {
|
|
141
|
-
return httpError.error;
|
|
117
|
+
if (!error || typeof error !== 'object') {
|
|
118
|
+
return this.createFallbackError(error);
|
|
119
|
+
}
|
|
120
|
+
const httpError = error;
|
|
121
|
+
// Try extraction strategies in priority order
|
|
122
|
+
const candidates = [
|
|
123
|
+
this.parseHttpClientError(error), // React Native format
|
|
124
|
+
httpError.response?.data, // Axios/fetch format
|
|
125
|
+
httpError.error, // Angular HttpErrorResponse
|
|
126
|
+
httpError // Direct error object
|
|
127
|
+
];
|
|
128
|
+
for (const candidate of candidates) {
|
|
129
|
+
if (this.hasStructuredErrorFields(candidate)) {
|
|
130
|
+
return candidate;
|
|
142
131
|
}
|
|
143
132
|
}
|
|
144
|
-
|
|
145
|
-
return {
|
|
146
|
-
status: this.getStatus(error) || 500,
|
|
147
|
-
title: 'Request failed',
|
|
148
|
-
message: this.getMessage(error),
|
|
149
|
-
userMessage: 'An error occurred. Please try again.',
|
|
150
|
-
detail: this.getMessage(error),
|
|
151
|
-
code: 'REQUEST_FAILED',
|
|
152
|
-
category: 'TECHNICAL',
|
|
153
|
-
domain: 'api',
|
|
154
|
-
retryable: this.isRetryable(error)
|
|
155
|
-
};
|
|
133
|
+
return this.createFallbackError(error);
|
|
156
134
|
}
|
|
157
135
|
catch {
|
|
158
|
-
|
|
159
|
-
return {
|
|
160
|
-
status: 500,
|
|
161
|
-
message: 'Unknown error occurred',
|
|
162
|
-
userMessage: 'An error occurred. Please try again.'
|
|
163
|
-
};
|
|
136
|
+
return this.createFallbackError(error);
|
|
164
137
|
}
|
|
165
138
|
}
|
|
166
139
|
/**
|
|
167
|
-
*
|
|
168
|
-
|
|
140
|
+
* Check if object has structured error fields from backend (StructuredError)
|
|
141
|
+
*/
|
|
142
|
+
static hasStructuredErrorFields(obj) {
|
|
143
|
+
return obj && typeof obj === 'object' &&
|
|
144
|
+
((obj.code && obj.category) || (obj.status && (obj.detail || obj.message || obj.title)));
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Create fallback error structure when no structured error found
|
|
148
|
+
*/
|
|
149
|
+
static createFallbackError(error) {
|
|
150
|
+
return {
|
|
151
|
+
status: this.getStatus(error) || 500,
|
|
152
|
+
title: 'Request failed',
|
|
153
|
+
message: this.getMessage(error),
|
|
154
|
+
detail: this.getMessage(error),
|
|
155
|
+
code: 'REQUEST_FAILED',
|
|
156
|
+
category: persShared.ErrorCategory.TECHNICAL,
|
|
157
|
+
domain: 'api',
|
|
158
|
+
retryable: this.isRetryable(error)
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Parse React Native HTTP client error format: "HTTP 401: Unauthorized - {json}"
|
|
169
163
|
*/
|
|
170
164
|
static parseHttpClientError(error) {
|
|
171
165
|
try {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
// If JSON parsing fails, return the raw string as message
|
|
186
|
-
return { message: jsonStr };
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
166
|
+
const message = error?.message || '';
|
|
167
|
+
if (typeof message !== 'string' || !message.includes(' - ')) {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
const jsonStart = message.lastIndexOf(' - ');
|
|
171
|
+
const jsonStr = message.substring(jsonStart + 3).trim();
|
|
172
|
+
if (!jsonStr)
|
|
173
|
+
return null;
|
|
174
|
+
try {
|
|
175
|
+
return JSON.parse(jsonStr);
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
return null;
|
|
191
179
|
}
|
|
192
|
-
return null;
|
|
193
180
|
}
|
|
194
181
|
catch {
|
|
195
182
|
return null;
|
|
@@ -200,7 +187,7 @@ class ErrorUtils {
|
|
|
200
187
|
*/
|
|
201
188
|
static isPersApiError(error) {
|
|
202
189
|
return typeof error === 'object' && error !== null &&
|
|
203
|
-
'
|
|
190
|
+
'code' in error && 'domain' in error && 'category' in error;
|
|
204
191
|
}
|
|
205
192
|
}
|
|
206
193
|
// SDK-specific error classes for auth flows
|
|
@@ -236,115 +223,48 @@ class LogoutRequired extends Error {
|
|
|
236
223
|
this.name = 'LogoutRequired';
|
|
237
224
|
}
|
|
238
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* API error with backend StructuredError details
|
|
228
|
+
*/
|
|
239
229
|
class PersApiError extends Error {
|
|
240
|
-
constructor(message, endpoint, method,
|
|
241
|
-
|
|
242
|
-
// Priority: userMessage > message > title > fallback
|
|
243
|
-
const cleanMessage = backendError?.userMessage
|
|
244
|
-
|| backendError?.message
|
|
245
|
-
|| backendError?.title
|
|
246
|
-
|| message;
|
|
247
|
-
super(cleanMessage);
|
|
230
|
+
constructor(message, endpoint, method, statusCode, backendError) {
|
|
231
|
+
super(backendError?.message || message);
|
|
248
232
|
this.endpoint = endpoint;
|
|
249
233
|
this.method = method;
|
|
250
|
-
this.status = status;
|
|
251
234
|
this.name = 'PersApiError';
|
|
252
|
-
|
|
253
|
-
this.
|
|
254
|
-
// Use backend values when available, SDK defaults otherwise
|
|
255
|
-
this.errorCode = backendError?.code || 'PERS_API_ERROR';
|
|
235
|
+
// Use backend error details directly
|
|
236
|
+
this.code = backendError?.code || 'API_ERROR';
|
|
256
237
|
this.domain = backendError?.domain || 'api';
|
|
257
|
-
this.category = backendError?.category ||
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
return this.errorCode;
|
|
238
|
+
this.category = backendError?.category || persShared.ErrorCategory.TECHNICAL;
|
|
239
|
+
this.retryable = backendError?.retryable ?? (statusCode ? statusCode >= 500 : false);
|
|
240
|
+
this.message = backendError?.message || message;
|
|
241
|
+
this.status = backendError?.status || statusCode || 500;
|
|
242
|
+
this.title = backendError?.title || 'Request failed';
|
|
243
|
+
this.detail = backendError?.detail || backendError?.message || message;
|
|
264
244
|
}
|
|
265
245
|
}
|
|
266
246
|
class AuthenticationError extends PersApiError {
|
|
267
|
-
constructor(message, endpoint, method,
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
code: backendErrorCode || 'AUTHENTICATION_ERROR',
|
|
271
|
-
userMessage: backendUserMessage,
|
|
272
|
-
title: backendTitle,
|
|
273
|
-
message: message,
|
|
247
|
+
constructor(message, endpoint, method, backendError) {
|
|
248
|
+
super(message, endpoint, method, 401, {
|
|
249
|
+
...backendError,
|
|
274
250
|
domain: 'authentication',
|
|
275
|
-
category:
|
|
276
|
-
};
|
|
277
|
-
super(message, endpoint, method, 401, false, backendError);
|
|
251
|
+
category: persShared.ErrorCategory.SECURITY
|
|
252
|
+
});
|
|
278
253
|
this.name = 'AuthenticationError';
|
|
279
254
|
}
|
|
280
255
|
}
|
|
281
|
-
/**
|
|
282
|
-
* Error thrown when user has multiple business memberships
|
|
283
|
-
* and needs to explicitly select one.
|
|
284
|
-
*
|
|
285
|
-
* @example Handling multi-business selection
|
|
286
|
-
* ```typescript
|
|
287
|
-
* try {
|
|
288
|
-
* await sdk.auth.loginAsBusiness(jwt);
|
|
289
|
-
* } catch (error) {
|
|
290
|
-
* if (error instanceof MultipleContextSelectionRequiredError) {
|
|
291
|
-
* // Show business selector UI
|
|
292
|
-
* const selectedId = await showBusinessSelector(error.availableOptions);
|
|
293
|
-
* await sdk.auth.loginAsBusiness(jwt, { businessId: selectedId });
|
|
294
|
-
* }
|
|
295
|
-
* }
|
|
296
|
-
* ```
|
|
297
|
-
*/
|
|
298
|
-
class MultipleContextSelectionRequiredError extends Error {
|
|
299
|
-
constructor(message, userMessage, contextType, availableOptions) {
|
|
300
|
-
super(message);
|
|
301
|
-
this.userMessage = userMessage;
|
|
302
|
-
this.contextType = contextType;
|
|
303
|
-
this.availableOptions = availableOptions;
|
|
304
|
-
this.errorCode = 'MULTIPLE_CONTEXT_SELECTION_REQUIRED';
|
|
305
|
-
this.domain = 'auth';
|
|
306
|
-
this.category = 'VALIDATION';
|
|
307
|
-
this.status = 400;
|
|
308
|
-
this.retryable = true;
|
|
309
|
-
this.name = 'MultipleContextSelectionRequiredError';
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Type guard to check if an error is a MultipleContextSelectionRequiredError
|
|
313
|
-
*/
|
|
314
|
-
static isMultipleContextError(error) {
|
|
315
|
-
if (error instanceof MultipleContextSelectionRequiredError) {
|
|
316
|
-
return true;
|
|
317
|
-
}
|
|
318
|
-
// Also check for backend error format
|
|
319
|
-
if (typeof error === 'object' && error !== null) {
|
|
320
|
-
const err = error;
|
|
321
|
-
const errorCode = err?.code || err?.response?.data?.code;
|
|
322
|
-
return errorCode === 'MULTIPLE_CONTEXT_SELECTION_REQUIRED';
|
|
323
|
-
}
|
|
324
|
-
return false;
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Extract available options from a backend error response
|
|
328
|
-
*/
|
|
329
|
-
static fromBackendError(error) {
|
|
330
|
-
if (typeof error !== 'object' || error === null)
|
|
331
|
-
return null;
|
|
332
|
-
const err = error;
|
|
333
|
-
const data = err?.response?.data || err;
|
|
334
|
-
if (data?.code === 'MULTIPLE_CONTEXT_SELECTION_REQUIRED') {
|
|
335
|
-
return new MultipleContextSelectionRequiredError(data.message || 'Multiple context selection required', data.userMessage || 'Please select a context to continue.', data.contextType || 'business', data.availableOptions || []);
|
|
336
|
-
}
|
|
337
|
-
return null;
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
256
|
class NetworkError extends Error {
|
|
341
257
|
constructor(message) {
|
|
342
|
-
super(
|
|
343
|
-
this.
|
|
258
|
+
super(message);
|
|
259
|
+
this.code = 'NETWORK_ERROR';
|
|
344
260
|
this.domain = 'api';
|
|
345
|
-
this.category =
|
|
261
|
+
this.category = persShared.ErrorCategory.INFRASTRUCTURE;
|
|
346
262
|
this.retryable = true;
|
|
263
|
+
this.status = 0;
|
|
264
|
+
this.title = 'Network error';
|
|
347
265
|
this.name = 'NetworkError';
|
|
266
|
+
this.message = message;
|
|
267
|
+
this.detail = message;
|
|
348
268
|
}
|
|
349
269
|
}
|
|
350
270
|
const ApiErrorDetector = {
|
|
@@ -576,7 +496,6 @@ exports.ApiErrorDetector = ApiErrorDetector;
|
|
|
576
496
|
exports.AuthenticationError = AuthenticationError;
|
|
577
497
|
exports.ErrorUtils = ErrorUtils;
|
|
578
498
|
exports.LogoutRequired = LogoutRequired;
|
|
579
|
-
exports.MultipleContextSelectionRequiredError = MultipleContextSelectionRequiredError;
|
|
580
499
|
exports.NetworkError = NetworkError;
|
|
581
500
|
exports.PersApiError = PersApiError;
|
|
582
501
|
exports.ProviderTokenRefreshNeeded = ProviderTokenRefreshNeeded;
|
|
@@ -584,4 +503,4 @@ exports.TokenRefreshNeeded = TokenRefreshNeeded;
|
|
|
584
503
|
exports.Web3ChainApi = Web3ChainApi;
|
|
585
504
|
exports.Web3ChainService = Web3ChainService;
|
|
586
505
|
exports.isTokenExpired = isTokenExpired;
|
|
587
|
-
//# sourceMappingURL=web3-chain-service-
|
|
506
|
+
//# sourceMappingURL=web3-chain-service-BeBjALg2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web3-chain-service-BeBjALg2.cjs","sources":["../../src/core/utils/jwt.function.ts","../../src/core/errors/index.ts","../../src/web3-chain/api/web3-chain-api.ts","../../src/web3-chain/services/getWeb3FCD.service.ts","../../src/web3-chain/services/web3-chain-service.ts"],"sourcesContent":[null,null,null,null,null],"names":["ErrorCategory","FetchRequest","JsonRpcProvider","globalCacheService","CacheTTL"],"mappings":"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"}
|