@symbo.ls/sdk 2.32.11 → 2.32.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +141 -0
- package/dist/cjs/config/environment.js +18 -7
- package/dist/cjs/index.js +21 -11
- package/dist/cjs/services/BaseService.js +46 -0
- package/dist/cjs/services/DnsService.js +6 -5
- package/dist/cjs/services/TrackingService.js +668 -0
- package/dist/cjs/services/index.js +5 -5
- package/dist/cjs/utils/changePreprocessor.js +8 -1
- package/dist/cjs/utils/services.js +27 -3
- package/dist/esm/config/environment.js +18 -7
- package/dist/esm/index.js +20737 -5911
- package/dist/esm/services/AdminService.js +64 -7
- package/dist/esm/services/AuthService.js +64 -7
- package/dist/esm/services/BaseService.js +64 -7
- package/dist/esm/services/BranchService.js +64 -7
- package/dist/esm/services/CollabService.js +72 -8
- package/dist/esm/services/DnsService.js +70 -12
- package/dist/esm/services/FileService.js +64 -7
- package/dist/esm/services/PaymentService.js +64 -7
- package/dist/esm/services/PlanService.js +64 -7
- package/dist/esm/services/ProjectService.js +72 -8
- package/dist/esm/services/PullRequestService.js +64 -7
- package/dist/esm/services/ScreenshotService.js +64 -7
- package/dist/esm/services/SubscriptionService.js +64 -7
- package/dist/esm/services/TrackingService.js +18328 -0
- package/dist/esm/services/index.js +20673 -5881
- package/dist/esm/utils/CollabClient.js +18 -7
- package/dist/esm/utils/changePreprocessor.js +8 -1
- package/dist/esm/utils/services.js +27 -3
- package/dist/node/config/environment.js +18 -7
- package/dist/node/index.js +25 -15
- package/dist/node/services/BaseService.js +46 -0
- package/dist/node/services/DnsService.js +6 -5
- package/dist/node/services/TrackingService.js +639 -0
- package/dist/node/services/index.js +5 -5
- package/dist/node/utils/changePreprocessor.js +8 -1
- package/dist/node/utils/services.js +27 -3
- package/package.json +8 -6
- package/src/config/environment.js +19 -11
- package/src/index.js +24 -14
- package/src/services/BaseService.js +43 -0
- package/src/services/DnsService.js +5 -5
- package/src/services/TrackingService.js +861 -0
- package/src/services/index.js +6 -5
- package/src/utils/changePreprocessor.js +25 -1
- package/src/utils/services.js +28 -4
- package/dist/cjs/services/CoreService.js +0 -2818
- package/dist/esm/services/CoreService.js +0 -3513
- package/dist/node/services/CoreService.js +0 -2789
- package/src/services/CoreService.js +0 -3208
|
@@ -17472,7 +17472,9 @@ var CONFIG = {
|
|
|
17472
17472
|
// Feature toggles that apply across all environments by default
|
|
17473
17473
|
features: {
|
|
17474
17474
|
newUserOnboarding: true,
|
|
17475
|
-
betaFeatures: false
|
|
17475
|
+
betaFeatures: false,
|
|
17476
|
+
// Tracking is enabled by default unless overridden per environment
|
|
17477
|
+
trackingEnabled: true
|
|
17476
17478
|
}
|
|
17477
17479
|
},
|
|
17478
17480
|
// Environment-specific configurations
|
|
@@ -17490,13 +17492,17 @@ var CONFIG = {
|
|
|
17490
17492
|
// For based api
|
|
17491
17493
|
githubClientId: "Ov23liAFrsR0StbAO6PO",
|
|
17492
17494
|
// For github api
|
|
17493
|
-
grafanaUrl: "
|
|
17495
|
+
grafanaUrl: "",
|
|
17494
17496
|
// For grafana tracing
|
|
17495
|
-
grafanaAppName: "Localhost
|
|
17497
|
+
grafanaAppName: "Symbols Localhost",
|
|
17496
17498
|
// Environment-specific feature toggles (override common)
|
|
17497
17499
|
features: {
|
|
17498
|
-
|
|
17500
|
+
// Disable tracking by default on localhost/dev machines
|
|
17501
|
+
trackingEnabled: false,
|
|
17499
17502
|
// Enable beta features in local dev
|
|
17503
|
+
betaFeatures: true,
|
|
17504
|
+
// Preserve common defaults explicitly for local
|
|
17505
|
+
newUserOnboarding: true
|
|
17500
17506
|
},
|
|
17501
17507
|
typesenseCollectionName: "docs",
|
|
17502
17508
|
typesenseApiKey: "vZya3L2zpq8L6iI5WWMUZJZABvT63VDb",
|
|
@@ -17524,7 +17530,7 @@ var CONFIG = {
|
|
|
17524
17530
|
basedProject: "platform-v2-sm",
|
|
17525
17531
|
basedOrg: "symbols",
|
|
17526
17532
|
githubClientId: "Ov23liHxyWFBxS8f1gnF",
|
|
17527
|
-
grafanaUrl: "
|
|
17533
|
+
grafanaUrl: "",
|
|
17528
17534
|
// For grafana tracing
|
|
17529
17535
|
grafanaAppName: "Symbols Test",
|
|
17530
17536
|
typesenseCollectionName: "docs",
|
|
@@ -17537,7 +17543,7 @@ var CONFIG = {
|
|
|
17537
17543
|
socketUrl: "https://upcoming.api.symbols.app",
|
|
17538
17544
|
apiUrl: "https://upcoming.api.symbols.app",
|
|
17539
17545
|
githubClientId: "Ov23liWF7NvdZ056RV5J",
|
|
17540
|
-
grafanaUrl: "
|
|
17546
|
+
grafanaUrl: "",
|
|
17541
17547
|
// For grafana tracing
|
|
17542
17548
|
grafanaAppName: "Symbols Upcoming",
|
|
17543
17549
|
typesenseCollectionName: "docs",
|
|
@@ -17553,7 +17559,7 @@ var CONFIG = {
|
|
|
17553
17559
|
basedProject: "platform-v2-sm",
|
|
17554
17560
|
basedOrg: "symbols",
|
|
17555
17561
|
githubClientId: "Ov23ligwZDQVD0VfuWNa",
|
|
17556
|
-
grafanaUrl: "
|
|
17562
|
+
grafanaUrl: "",
|
|
17557
17563
|
// For grafana tracing
|
|
17558
17564
|
grafanaAppName: "Symbols Staging",
|
|
17559
17565
|
typesenseCollectionName: "docs",
|
|
@@ -17592,6 +17598,11 @@ var getConfig = () => {
|
|
|
17592
17598
|
const envConfig = { ...CONFIG.common, ...CONFIG[env] };
|
|
17593
17599
|
const finalConfig = {
|
|
17594
17600
|
...envConfig,
|
|
17601
|
+
// Deep-merge feature flags so env-specific overrides don't drop common defaults
|
|
17602
|
+
features: {
|
|
17603
|
+
...CONFIG.common.features || {},
|
|
17604
|
+
...CONFIG[env] && CONFIG[env].features || {}
|
|
17605
|
+
},
|
|
17595
17606
|
socketUrl: process.env.SYMBOLS_APP_SOCKET_URL || envConfig.socketUrl,
|
|
17596
17607
|
apiUrl: process.env.SYMBOLS_APP_API_URL || envConfig.apiUrl,
|
|
17597
17608
|
basedEnv: process.env.SYMBOLS_APP_BASED_ENV || envConfig.basedEnv,
|
|
@@ -352,7 +352,14 @@ function preprocessChanges(root, tuples = [], options = {}) {
|
|
|
352
352
|
if (!canConsiderExpansion || isFilesPath || value && value.type === "files") {
|
|
353
353
|
return [t];
|
|
354
354
|
}
|
|
355
|
-
const
|
|
355
|
+
const prevRaw = getByPathSafe(root, path);
|
|
356
|
+
const isCreatePath = Array.isArray(path) && action === "update" && // e.g. ['update', ['components', 'NewKey'], {...}]
|
|
357
|
+
(!isSchemaPath && path.length === 2 || // e.g. ['update', ['schema', 'components', 'NewKey'], {...}]
|
|
358
|
+
isSchemaPath && path.length === 3) && (prevRaw === null || typeof prevRaw === "undefined");
|
|
359
|
+
if (isCreatePath) {
|
|
360
|
+
return [t];
|
|
361
|
+
}
|
|
362
|
+
const prev = prevRaw || {};
|
|
356
363
|
const next = value || {};
|
|
357
364
|
if (!isPlainObject2(prev) || !isPlainObject2(next)) {
|
|
358
365
|
return [t];
|
|
@@ -223,8 +223,6 @@ var SERVICE_METHODS = {
|
|
|
223
223
|
suspendUser: "admin",
|
|
224
224
|
promoteToAdmin: "admin",
|
|
225
225
|
demoteFromAdmin: "admin",
|
|
226
|
-
// Utility methods
|
|
227
|
-
getHealthStatus: "core",
|
|
228
226
|
// Screenshot methods
|
|
229
227
|
createScreenshotProject: "screenshot",
|
|
230
228
|
getProjectScreenshots: "screenshot",
|
|
@@ -237,7 +235,33 @@ var SERVICE_METHODS = {
|
|
|
237
235
|
getComponentScreenshot: "screenshot",
|
|
238
236
|
getScreenshotByKey: "screenshot",
|
|
239
237
|
getQueueStatistics: "screenshot",
|
|
240
|
-
refreshThumbnail: "screenshot"
|
|
238
|
+
refreshThumbnail: "screenshot",
|
|
239
|
+
// Tracking methods
|
|
240
|
+
configureTracking: "tracking",
|
|
241
|
+
trackEvent: "tracking",
|
|
242
|
+
trackError: "tracking",
|
|
243
|
+
captureException: "tracking",
|
|
244
|
+
logMessage: "tracking",
|
|
245
|
+
logDebug: "tracking",
|
|
246
|
+
logInfo: "tracking",
|
|
247
|
+
logWarning: "tracking",
|
|
248
|
+
logWarn: "tracking",
|
|
249
|
+
logErrorMessage: "tracking",
|
|
250
|
+
logError: "tracking",
|
|
251
|
+
addBreadcrumb: "tracking",
|
|
252
|
+
trackMeasurement: "tracking",
|
|
253
|
+
trackView: "tracking",
|
|
254
|
+
setUser: "tracking",
|
|
255
|
+
clearUser: "tracking",
|
|
256
|
+
setSession: "tracking",
|
|
257
|
+
clearSession: "tracking",
|
|
258
|
+
setGlobalAttributes: "tracking",
|
|
259
|
+
setGlobalAttribute: "tracking",
|
|
260
|
+
removeGlobalAttribute: "tracking",
|
|
261
|
+
flushQueue: "tracking",
|
|
262
|
+
getClient: "tracking",
|
|
263
|
+
isEnabled: "tracking",
|
|
264
|
+
isInitialized: "tracking"
|
|
241
265
|
};
|
|
242
266
|
export {
|
|
243
267
|
SERVICE_METHODS
|
|
@@ -7,7 +7,9 @@ const CONFIG = {
|
|
|
7
7
|
// Feature toggles that apply across all environments by default
|
|
8
8
|
features: {
|
|
9
9
|
newUserOnboarding: true,
|
|
10
|
-
betaFeatures: false
|
|
10
|
+
betaFeatures: false,
|
|
11
|
+
// Tracking is enabled by default unless overridden per environment
|
|
12
|
+
trackingEnabled: true
|
|
11
13
|
}
|
|
12
14
|
},
|
|
13
15
|
// Environment-specific configurations
|
|
@@ -25,13 +27,17 @@ const CONFIG = {
|
|
|
25
27
|
// For based api
|
|
26
28
|
githubClientId: "Ov23liAFrsR0StbAO6PO",
|
|
27
29
|
// For github api
|
|
28
|
-
grafanaUrl: "
|
|
30
|
+
grafanaUrl: "",
|
|
29
31
|
// For grafana tracing
|
|
30
|
-
grafanaAppName: "Localhost
|
|
32
|
+
grafanaAppName: "Symbols Localhost",
|
|
31
33
|
// Environment-specific feature toggles (override common)
|
|
32
34
|
features: {
|
|
33
|
-
|
|
35
|
+
// Disable tracking by default on localhost/dev machines
|
|
36
|
+
trackingEnabled: false,
|
|
34
37
|
// Enable beta features in local dev
|
|
38
|
+
betaFeatures: true,
|
|
39
|
+
// Preserve common defaults explicitly for local
|
|
40
|
+
newUserOnboarding: true
|
|
35
41
|
},
|
|
36
42
|
typesenseCollectionName: "docs",
|
|
37
43
|
typesenseApiKey: "vZya3L2zpq8L6iI5WWMUZJZABvT63VDb",
|
|
@@ -59,7 +65,7 @@ const CONFIG = {
|
|
|
59
65
|
basedProject: "platform-v2-sm",
|
|
60
66
|
basedOrg: "symbols",
|
|
61
67
|
githubClientId: "Ov23liHxyWFBxS8f1gnF",
|
|
62
|
-
grafanaUrl: "
|
|
68
|
+
grafanaUrl: "",
|
|
63
69
|
// For grafana tracing
|
|
64
70
|
grafanaAppName: "Symbols Test",
|
|
65
71
|
typesenseCollectionName: "docs",
|
|
@@ -72,7 +78,7 @@ const CONFIG = {
|
|
|
72
78
|
socketUrl: "https://upcoming.api.symbols.app",
|
|
73
79
|
apiUrl: "https://upcoming.api.symbols.app",
|
|
74
80
|
githubClientId: "Ov23liWF7NvdZ056RV5J",
|
|
75
|
-
grafanaUrl: "
|
|
81
|
+
grafanaUrl: "",
|
|
76
82
|
// For grafana tracing
|
|
77
83
|
grafanaAppName: "Symbols Upcoming",
|
|
78
84
|
typesenseCollectionName: "docs",
|
|
@@ -88,7 +94,7 @@ const CONFIG = {
|
|
|
88
94
|
basedProject: "platform-v2-sm",
|
|
89
95
|
basedOrg: "symbols",
|
|
90
96
|
githubClientId: "Ov23ligwZDQVD0VfuWNa",
|
|
91
|
-
grafanaUrl: "
|
|
97
|
+
grafanaUrl: "",
|
|
92
98
|
// For grafana tracing
|
|
93
99
|
grafanaAppName: "Symbols Staging",
|
|
94
100
|
typesenseCollectionName: "docs",
|
|
@@ -128,6 +134,11 @@ const getConfig = () => {
|
|
|
128
134
|
const envConfig = { ...CONFIG.common, ...CONFIG[env] };
|
|
129
135
|
const finalConfig = {
|
|
130
136
|
...envConfig,
|
|
137
|
+
// Deep-merge feature flags so env-specific overrides don't drop common defaults
|
|
138
|
+
features: {
|
|
139
|
+
...CONFIG.common.features || {},
|
|
140
|
+
...CONFIG[env] && CONFIG[env].features || {}
|
|
141
|
+
},
|
|
131
142
|
socketUrl: process.env.SYMBOLS_APP_SOCKET_URL || envConfig.socketUrl,
|
|
132
143
|
apiUrl: process.env.SYMBOLS_APP_API_URL || envConfig.apiUrl,
|
|
133
144
|
basedEnv: process.env.SYMBOLS_APP_BASED_ENV || envConfig.basedEnv,
|
package/dist/node/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createAuthService,
|
|
3
|
-
createCoreService,
|
|
4
3
|
createCollabService,
|
|
5
4
|
createProjectService,
|
|
6
5
|
createPlanService,
|
|
@@ -11,7 +10,8 @@ import {
|
|
|
11
10
|
createPullRequestService,
|
|
12
11
|
createAdminService,
|
|
13
12
|
createSubscriptionService,
|
|
14
|
-
createScreenshotService
|
|
13
|
+
createScreenshotService,
|
|
14
|
+
createTrackingService
|
|
15
15
|
} from "./services/index.js";
|
|
16
16
|
import { SERVICE_METHODS } from "./utils/services.js";
|
|
17
17
|
import environment from "./config/environment.js";
|
|
@@ -38,13 +38,6 @@ class SDK {
|
|
|
38
38
|
options: this._options
|
|
39
39
|
})
|
|
40
40
|
),
|
|
41
|
-
this._initService(
|
|
42
|
-
"core",
|
|
43
|
-
createCoreService({
|
|
44
|
-
context: this._context,
|
|
45
|
-
options: this._options
|
|
46
|
-
})
|
|
47
|
-
),
|
|
48
41
|
this._initService(
|
|
49
42
|
"collab",
|
|
50
43
|
createCollabService({
|
|
@@ -122,6 +115,13 @@ class SDK {
|
|
|
122
115
|
context: this._context,
|
|
123
116
|
options: this._options
|
|
124
117
|
})
|
|
118
|
+
),
|
|
119
|
+
this._initService(
|
|
120
|
+
"tracking",
|
|
121
|
+
createTrackingService({
|
|
122
|
+
context: this._context,
|
|
123
|
+
options: this._options
|
|
124
|
+
})
|
|
125
125
|
)
|
|
126
126
|
]);
|
|
127
127
|
return this;
|
|
@@ -146,9 +146,19 @@ class SDK {
|
|
|
146
146
|
socketUrl: environment.socketUrl,
|
|
147
147
|
timeout: 3e4,
|
|
148
148
|
retryAttempts: 3,
|
|
149
|
-
debug: false
|
|
149
|
+
debug: false,
|
|
150
|
+
tracking: {
|
|
151
|
+
enabled: environment.features.trackingEnabled
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
return {
|
|
155
|
+
...defaults,
|
|
156
|
+
...options,
|
|
157
|
+
tracking: {
|
|
158
|
+
...defaults.tracking,
|
|
159
|
+
...options.tracking || {}
|
|
160
|
+
}
|
|
150
161
|
};
|
|
151
|
-
return { ...defaults, ...options };
|
|
152
162
|
}
|
|
153
163
|
// Get service instance
|
|
154
164
|
getService(name) {
|
|
@@ -159,7 +169,7 @@ class SDK {
|
|
|
159
169
|
}
|
|
160
170
|
// Update context
|
|
161
171
|
updateContext(newContext) {
|
|
162
|
-
const {
|
|
172
|
+
const { ...sanitized } = newContext || {};
|
|
163
173
|
this._context = {
|
|
164
174
|
...this._context,
|
|
165
175
|
...sanitized
|
|
@@ -223,7 +233,6 @@ class SDK {
|
|
|
223
233
|
var index_default = SDK;
|
|
224
234
|
import {
|
|
225
235
|
createAuthService as createAuthService2,
|
|
226
|
-
createCoreService as createCoreService2,
|
|
227
236
|
createCollabService as createCollabService2,
|
|
228
237
|
createProjectService as createProjectService2,
|
|
229
238
|
createPlanService as createPlanService2,
|
|
@@ -233,7 +242,8 @@ import {
|
|
|
233
242
|
createBranchService as createBranchService2,
|
|
234
243
|
createPullRequestService as createPullRequestService2,
|
|
235
244
|
createAdminService as createAdminService2,
|
|
236
|
-
createSubscriptionService as createSubscriptionService2
|
|
245
|
+
createSubscriptionService as createSubscriptionService2,
|
|
246
|
+
createTrackingService as createTrackingService2
|
|
237
247
|
} from "./services/index.js";
|
|
238
248
|
import { default as default2 } from "./config/environment.js";
|
|
239
249
|
export {
|
|
@@ -242,7 +252,6 @@ export {
|
|
|
242
252
|
createAuthService2 as createAuthService,
|
|
243
253
|
createBranchService2 as createBranchService,
|
|
244
254
|
createCollabService2 as createCollabService,
|
|
245
|
-
createCoreService2 as createCoreService,
|
|
246
255
|
createDnsService2 as createDnsService,
|
|
247
256
|
createFileService2 as createFileService,
|
|
248
257
|
createPaymentService2 as createPaymentService,
|
|
@@ -250,6 +259,7 @@ export {
|
|
|
250
259
|
createProjectService2 as createProjectService,
|
|
251
260
|
createPullRequestService2 as createPullRequestService,
|
|
252
261
|
createSubscriptionService2 as createSubscriptionService,
|
|
262
|
+
createTrackingService2 as createTrackingService,
|
|
253
263
|
index_default as default,
|
|
254
264
|
default2 as environment
|
|
255
265
|
};
|
|
@@ -56,6 +56,39 @@ class BaseService {
|
|
|
56
56
|
this._ready = false;
|
|
57
57
|
this._error = error;
|
|
58
58
|
}
|
|
59
|
+
_getTrackingService() {
|
|
60
|
+
var _a;
|
|
61
|
+
const services = (_a = this._context) == null ? void 0 : _a.services;
|
|
62
|
+
const tracking = services == null ? void 0 : services.tracking;
|
|
63
|
+
if (!tracking || typeof tracking.trackError !== "function") {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
return tracking;
|
|
67
|
+
}
|
|
68
|
+
_shouldTrackErrors() {
|
|
69
|
+
var _a;
|
|
70
|
+
const name = (_a = this == null ? void 0 : this.constructor) == null ? void 0 : _a.name;
|
|
71
|
+
return name !== "TrackingService";
|
|
72
|
+
}
|
|
73
|
+
_trackServiceError(error, details = {}) {
|
|
74
|
+
var _a;
|
|
75
|
+
if (!this._shouldTrackErrors()) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
const tracking = this._getTrackingService();
|
|
80
|
+
if (!tracking) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const context = {
|
|
84
|
+
service: ((_a = this == null ? void 0 : this.constructor) == null ? void 0 : _a.name) || "UnknownService",
|
|
85
|
+
apiUrl: this._apiUrl || null,
|
|
86
|
+
...details
|
|
87
|
+
};
|
|
88
|
+
tracking.trackError(error instanceof Error ? error : new Error(String(error)), context);
|
|
89
|
+
} catch {
|
|
90
|
+
}
|
|
91
|
+
}
|
|
59
92
|
_requireAuth() {
|
|
60
93
|
if (!this._context.authToken) {
|
|
61
94
|
throw new Error("Authentication required");
|
|
@@ -105,10 +138,23 @@ class BaseService {
|
|
|
105
138
|
error = await response.json();
|
|
106
139
|
} catch {
|
|
107
140
|
}
|
|
141
|
+
this._trackServiceError(
|
|
142
|
+
new Error(error.message || error.error || `HTTP ${response.status}: ${response.statusText}`),
|
|
143
|
+
{
|
|
144
|
+
endpoint,
|
|
145
|
+
methodName: options.methodName,
|
|
146
|
+
status: response.status,
|
|
147
|
+
statusText: response.statusText
|
|
148
|
+
}
|
|
149
|
+
);
|
|
108
150
|
throw new Error(error.message || error.error || "Request failed", { cause: error });
|
|
109
151
|
}
|
|
110
152
|
return response.status === 204 ? null : response.json();
|
|
111
153
|
} catch (error) {
|
|
154
|
+
this._trackServiceError(error, {
|
|
155
|
+
endpoint,
|
|
156
|
+
methodName: options.methodName
|
|
157
|
+
});
|
|
112
158
|
throw new Error(`Request failed: ${error.message}`, { cause: error });
|
|
113
159
|
}
|
|
114
160
|
}
|
|
@@ -53,7 +53,7 @@ class DnsService extends BaseService {
|
|
|
53
53
|
}
|
|
54
54
|
throw new Error(response.message);
|
|
55
55
|
} catch (error) {
|
|
56
|
-
throw new Error(`Failed to get custom host: ${error.message}
|
|
56
|
+
throw new Error(`Failed to get custom host: ${error.message}`, { cause: error });
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
async removeDnsRecord(domain) {
|
|
@@ -121,7 +121,8 @@ class DnsService extends BaseService {
|
|
|
121
121
|
throw new Error(response.message);
|
|
122
122
|
} catch (error) {
|
|
123
123
|
throw new Error(
|
|
124
|
-
`Failed to update project custom domains: ${error.message}
|
|
124
|
+
`Failed to update project custom domains: ${error.message}`,
|
|
125
|
+
{ cause: error }
|
|
125
126
|
);
|
|
126
127
|
}
|
|
127
128
|
}
|
|
@@ -279,7 +280,7 @@ class DnsService extends BaseService {
|
|
|
279
280
|
needsVerification: false
|
|
280
281
|
};
|
|
281
282
|
} catch (error) {
|
|
282
|
-
throw new Error(`Failed to verify domain ownership: ${error.message}
|
|
283
|
+
throw new Error(`Failed to verify domain ownership: ${error.message}`, { cause: error });
|
|
283
284
|
}
|
|
284
285
|
}
|
|
285
286
|
/**
|
|
@@ -300,7 +301,7 @@ class DnsService extends BaseService {
|
|
|
300
301
|
}
|
|
301
302
|
throw new Error(response.message);
|
|
302
303
|
} catch (error) {
|
|
303
|
-
throw new Error(`Failed to get project domains: ${error.message}
|
|
304
|
+
throw new Error(`Failed to get project domains: ${error.message}`, { cause: error });
|
|
304
305
|
}
|
|
305
306
|
}
|
|
306
307
|
/**
|
|
@@ -324,7 +325,7 @@ class DnsService extends BaseService {
|
|
|
324
325
|
}
|
|
325
326
|
throw new Error(response.message);
|
|
326
327
|
} catch (error) {
|
|
327
|
-
throw new Error(`Failed to remove project custom domain: ${error.message}
|
|
328
|
+
throw new Error(`Failed to remove project custom domain: ${error.message}`, { cause: error });
|
|
328
329
|
}
|
|
329
330
|
}
|
|
330
331
|
/**
|