@symbo.ls/sdk 2.32.2 → 2.32.5
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/cjs/config/environment.js +43 -8
- package/dist/cjs/index.js +12 -4
- package/dist/cjs/services/AdminService.js +4 -4
- package/dist/cjs/services/AuthService.js +36 -149
- package/dist/cjs/services/BaseService.js +5 -18
- package/dist/cjs/services/BranchService.js +10 -10
- package/dist/cjs/services/CollabService.js +94 -61
- package/dist/cjs/services/CoreService.js +19 -19
- package/dist/cjs/services/DnsService.js +4 -4
- package/dist/cjs/services/FileService.js +2 -2
- package/dist/cjs/services/PaymentService.js +2 -2
- package/dist/cjs/services/PlanService.js +12 -12
- package/dist/cjs/services/ProjectService.js +45 -35
- package/dist/cjs/services/PullRequestService.js +7 -7
- package/dist/cjs/services/ScreenshotService.js +304 -0
- package/dist/cjs/services/SubscriptionService.js +14 -14
- package/dist/cjs/services/index.js +4 -0
- package/dist/cjs/utils/TokenManager.js +16 -5
- package/dist/cjs/utils/changePreprocessor.js +134 -0
- package/dist/cjs/utils/jsonDiff.js +46 -4
- package/dist/cjs/utils/ordering.js +274 -0
- package/dist/cjs/utils/services.js +14 -1
- package/dist/esm/config/environment.js +43 -8
- package/dist/esm/index.js +1099 -417
- package/dist/esm/services/AdminService.js +68 -35
- package/dist/esm/services/AuthService.js +100 -168
- package/dist/esm/services/BaseService.js +64 -31
- package/dist/esm/services/BranchService.js +74 -41
- package/dist/esm/services/CollabService.js +570 -97
- package/dist/esm/services/CoreService.js +83 -50
- package/dist/esm/services/DnsService.js +68 -35
- package/dist/esm/services/FileService.js +66 -33
- package/dist/esm/services/PaymentService.js +66 -33
- package/dist/esm/services/PlanService.js +76 -43
- package/dist/esm/services/ProjectService.js +547 -66
- package/dist/esm/services/PullRequestService.js +71 -38
- package/dist/esm/services/ScreenshotService.js +992 -0
- package/dist/esm/services/SubscriptionService.js +78 -45
- package/dist/esm/services/index.js +1076 -412
- package/dist/esm/utils/CollabClient.js +89 -12
- package/dist/esm/utils/TokenManager.js +16 -5
- package/dist/esm/utils/changePreprocessor.js +442 -0
- package/dist/esm/utils/jsonDiff.js +46 -4
- package/dist/esm/utils/ordering.js +256 -0
- package/dist/esm/utils/services.js +14 -1
- package/dist/node/config/environment.js +43 -8
- package/dist/node/index.js +14 -5
- package/dist/node/services/AdminService.js +4 -4
- package/dist/node/services/AuthService.js +36 -139
- package/dist/node/services/BaseService.js +5 -18
- package/dist/node/services/BranchService.js +10 -10
- package/dist/node/services/CollabService.js +95 -62
- package/dist/node/services/CoreService.js +19 -19
- package/dist/node/services/DnsService.js +4 -4
- package/dist/node/services/FileService.js +2 -2
- package/dist/node/services/PaymentService.js +2 -2
- package/dist/node/services/PlanService.js +12 -12
- package/dist/node/services/ProjectService.js +45 -35
- package/dist/node/services/PullRequestService.js +7 -7
- package/dist/node/services/ScreenshotService.js +285 -0
- package/dist/node/services/SubscriptionService.js +14 -14
- package/dist/node/services/index.js +4 -0
- package/dist/node/utils/TokenManager.js +16 -5
- package/dist/node/utils/changePreprocessor.js +115 -0
- package/dist/node/utils/jsonDiff.js +46 -4
- package/dist/node/utils/ordering.js +255 -0
- package/dist/node/utils/services.js +14 -1
- package/package.json +7 -6
- package/src/config/environment.js +48 -9
- package/src/index.js +38 -22
- package/src/services/AdminService.js +4 -4
- package/src/services/AuthService.js +42 -175
- package/src/services/BaseService.js +7 -24
- package/src/services/BranchService.js +10 -10
- package/src/services/CollabService.js +115 -74
- package/src/services/CoreService.js +19 -19
- package/src/services/DnsService.js +4 -4
- package/src/services/FileService.js +2 -2
- package/src/services/PaymentService.js +2 -2
- package/src/services/PlanService.js +12 -12
- package/src/services/ProjectService.js +50 -35
- package/src/services/PullRequestService.js +7 -7
- package/src/services/ScreenshotService.js +258 -0
- package/src/services/SubscriptionService.js +14 -14
- package/src/services/index.js +6 -1
- package/src/utils/TokenManager.js +19 -5
- package/src/utils/changePreprocessor.js +139 -0
- package/src/utils/jsonDiff.js +40 -5
- package/src/utils/ordering.js +244 -0
- package/src/utils/services.js +15 -1
|
@@ -41,7 +41,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
41
41
|
}
|
|
42
42
|
throw new Error(response.message);
|
|
43
43
|
} catch (error) {
|
|
44
|
-
throw new Error(`Failed to list branches: ${error.message}
|
|
44
|
+
throw new Error(`Failed to list branches: ${error.message}`, { cause: error });
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
@@ -67,7 +67,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
67
67
|
}
|
|
68
68
|
throw new Error(response.message);
|
|
69
69
|
} catch (error) {
|
|
70
|
-
throw new Error(`Failed to create branch: ${error.message}
|
|
70
|
+
throw new Error(`Failed to create branch: ${error.message}`, { cause: error });
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
@@ -97,7 +97,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
97
97
|
}
|
|
98
98
|
throw new Error(response.message);
|
|
99
99
|
} catch (error) {
|
|
100
|
-
throw new Error(`Failed to delete branch: ${error.message}
|
|
100
|
+
throw new Error(`Failed to delete branch: ${error.message}`, { cause: error });
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
@@ -133,7 +133,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
133
133
|
}
|
|
134
134
|
throw new Error(response.message);
|
|
135
135
|
} catch (error) {
|
|
136
|
-
throw new Error(`Failed to rename branch: ${error.message}
|
|
136
|
+
throw new Error(`Failed to rename branch: ${error.message}`, { cause: error });
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
@@ -172,7 +172,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
172
172
|
}
|
|
173
173
|
throw new Error(response.message);
|
|
174
174
|
} catch (error) {
|
|
175
|
-
throw new Error(`Failed to get branch changes: ${error.message}
|
|
175
|
+
throw new Error(`Failed to get branch changes: ${error.message}`, { cause: error });
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
/**
|
|
@@ -219,7 +219,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
219
219
|
if (error.message.includes("conflicts") || error.message.includes("409")) {
|
|
220
220
|
throw new Error(`Merge conflicts detected: ${error.message}`);
|
|
221
221
|
}
|
|
222
|
-
throw new Error(`Failed to merge branch: ${error.message}
|
|
222
|
+
throw new Error(`Failed to merge branch: ${error.message}`, { cause: error });
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
/**
|
|
@@ -248,7 +248,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
248
248
|
}
|
|
249
249
|
throw new Error(response.message);
|
|
250
250
|
} catch (error) {
|
|
251
|
-
throw new Error(`Failed to reset branch: ${error.message}
|
|
251
|
+
throw new Error(`Failed to reset branch: ${error.message}`, { cause: error });
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
254
|
/**
|
|
@@ -274,7 +274,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
274
274
|
}
|
|
275
275
|
throw new Error(response.message);
|
|
276
276
|
} catch (error) {
|
|
277
|
-
throw new Error(`Failed to publish version: ${error.message}
|
|
277
|
+
throw new Error(`Failed to publish version: ${error.message}`, { cause: error });
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
280
|
// ==================== BRANCH HELPER METHODS ====================
|
|
@@ -306,7 +306,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
306
306
|
const branches = await this.listBranches(projectId);
|
|
307
307
|
return ((_a = branches == null ? void 0 : branches.data) == null ? void 0 : _a.includes(branchName)) || false;
|
|
308
308
|
} catch (error) {
|
|
309
|
-
throw new Error(`Failed to check if branch exists: ${error.message}
|
|
309
|
+
throw new Error(`Failed to check if branch exists: ${error.message}`, { cause: error });
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
/**
|
|
@@ -376,7 +376,7 @@ class BranchService extends import_BaseService.BaseService {
|
|
|
376
376
|
canRename: exists && branchName !== "main"
|
|
377
377
|
};
|
|
378
378
|
} catch (error) {
|
|
379
|
-
throw new Error(`Failed to get branch status: ${error.message}
|
|
379
|
+
throw new Error(`Failed to get branch status: ${error.message}`, { cause: error });
|
|
380
380
|
}
|
|
381
381
|
}
|
|
382
382
|
/**
|
|
@@ -26,6 +26,7 @@ var import_RootStateManager = require("../state/RootStateManager.js");
|
|
|
26
26
|
var import_rootEventBus = require("../state/rootEventBus.js");
|
|
27
27
|
var import_validation = require("../utils/validation.js");
|
|
28
28
|
var import_utils = require("@domql/utils");
|
|
29
|
+
var import_changePreprocessor = require("../utils/changePreprocessor.js");
|
|
29
30
|
class CollabService extends import_BaseService.BaseService {
|
|
30
31
|
constructor(config) {
|
|
31
32
|
super(config);
|
|
@@ -89,8 +90,8 @@ class CollabService extends import_BaseService.BaseService {
|
|
|
89
90
|
logger(`[Notification] ${title}${message ? ` \u2013 ${message}` : ""}`);
|
|
90
91
|
return;
|
|
91
92
|
}
|
|
92
|
-
case "
|
|
93
|
-
return (0, import_utils.
|
|
93
|
+
case "deepStringifyFunctions": {
|
|
94
|
+
return (0, import_utils.deepStringifyFunctions)(...args);
|
|
94
95
|
}
|
|
95
96
|
default:
|
|
96
97
|
return {};
|
|
@@ -125,57 +126,49 @@ class CollabService extends import_BaseService.BaseService {
|
|
|
125
126
|
if (this._client) {
|
|
126
127
|
await this.disconnect();
|
|
127
128
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
(_b2 = this._client.socket) == null ? void 0 : _b2.once("connect", resolve);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
console.log("[CollabService] socket connected");
|
|
144
|
-
(_b = this._client.socket) == null ? void 0 : _b.on("ops", ({ changes }) => {
|
|
145
|
-
console.log(`ops event`);
|
|
146
|
-
console.log(changes);
|
|
147
|
-
this._stateManager.applyChanges(changes, { fromSocket: true });
|
|
148
|
-
});
|
|
149
|
-
(_c = this._client.socket) == null ? void 0 : _c.on("commit", ({ version }) => {
|
|
150
|
-
if (version) {
|
|
151
|
-
this._stateManager.setVersion(version);
|
|
152
|
-
}
|
|
153
|
-
import_rootEventBus.rootBus.emit("checkpoint:done", { version, origin: "auto" });
|
|
154
|
-
});
|
|
155
|
-
(_d = this._client.socket) == null ? void 0 : _d.on("clients", this._handleClientsEvent.bind(this));
|
|
156
|
-
(_e = this._client.socket) == null ? void 0 : _e.on(
|
|
157
|
-
"bundle:done",
|
|
158
|
-
this._handleBundleDoneEvent.bind(this)
|
|
159
|
-
);
|
|
160
|
-
(_f = this._client.socket) == null ? void 0 : _f.on(
|
|
161
|
-
"bundle:error",
|
|
162
|
-
this._handleBundleErrorEvent.bind(this)
|
|
163
|
-
);
|
|
164
|
-
if (this._pendingOps.length) {
|
|
165
|
-
console.log(
|
|
166
|
-
`[CollabService] Flushing ${this._pendingOps.length} offline operation batch(es)`
|
|
167
|
-
);
|
|
168
|
-
this._pendingOps.forEach(({ tuples }) => {
|
|
169
|
-
this.socket.emit("ops", { changes: tuples, ts: Date.now() });
|
|
170
|
-
});
|
|
171
|
-
this._pendingOps.length = 0;
|
|
129
|
+
this._client = new import_CollabClient.CollabClient({
|
|
130
|
+
jwt,
|
|
131
|
+
projectId,
|
|
132
|
+
branch,
|
|
133
|
+
live: Boolean(pro)
|
|
134
|
+
});
|
|
135
|
+
await new Promise((resolve) => {
|
|
136
|
+
var _a2, _b2;
|
|
137
|
+
if ((_a2 = this._client.socket) == null ? void 0 : _a2.connected) {
|
|
138
|
+
resolve();
|
|
139
|
+
} else {
|
|
140
|
+
(_b2 = this._client.socket) == null ? void 0 : _b2.once("connect", resolve);
|
|
172
141
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
142
|
+
});
|
|
143
|
+
(_b = this._client.socket) == null ? void 0 : _b.on("ops", ({ changes }) => {
|
|
144
|
+
console.log(`ops event`);
|
|
145
|
+
this._stateManager.applyChanges(changes, { fromSocket: true });
|
|
146
|
+
});
|
|
147
|
+
(_c = this._client.socket) == null ? void 0 : _c.on("commit", ({ version }) => {
|
|
148
|
+
if (version) {
|
|
149
|
+
this._stateManager.setVersion(version);
|
|
150
|
+
}
|
|
151
|
+
import_rootEventBus.rootBus.emit("checkpoint:done", { version, origin: "auto" });
|
|
152
|
+
});
|
|
153
|
+
(_d = this._client.socket) == null ? void 0 : _d.on("clients", this._handleClientsEvent.bind(this));
|
|
154
|
+
(_e = this._client.socket) == null ? void 0 : _e.on(
|
|
155
|
+
"bundle:done",
|
|
156
|
+
this._handleBundleDoneEvent.bind(this)
|
|
157
|
+
);
|
|
158
|
+
(_f = this._client.socket) == null ? void 0 : _f.on(
|
|
159
|
+
"bundle:error",
|
|
160
|
+
this._handleBundleErrorEvent.bind(this)
|
|
161
|
+
);
|
|
162
|
+
if (this._pendingOps.length) {
|
|
163
|
+
console.log(
|
|
164
|
+
`[CollabService] Flushing ${this._pendingOps.length} offline operation batch(es)`
|
|
165
|
+
);
|
|
166
|
+
this._pendingOps.forEach(({ changes, granularChanges, orders }) => {
|
|
167
|
+
this.socket.emit("ops", { changes, granularChanges, orders, ts: Date.now() });
|
|
168
|
+
});
|
|
169
|
+
this._pendingOps.length = 0;
|
|
178
170
|
}
|
|
171
|
+
this._connected = true;
|
|
179
172
|
}
|
|
180
173
|
disconnect() {
|
|
181
174
|
var _a;
|
|
@@ -213,24 +206,60 @@ class CollabService extends import_BaseService.BaseService {
|
|
|
213
206
|
}
|
|
214
207
|
/* ---------- data helpers ---------- */
|
|
215
208
|
updateData(tuples, options = {}) {
|
|
216
|
-
var _a;
|
|
209
|
+
var _a, _b, _c;
|
|
217
210
|
this._ensureStateManager();
|
|
218
211
|
const { isUndo = false, isRedo = false } = options;
|
|
219
212
|
if (!isUndo && !isRedo && !this._isUndoRedo) {
|
|
220
213
|
this._trackForUndo(tuples, options);
|
|
221
214
|
}
|
|
215
|
+
const root = (_a = this._stateManager) == null ? void 0 : _a.root;
|
|
216
|
+
const { granularChanges: processedTuples, orders } = (0, import_changePreprocessor.preprocessChanges)(
|
|
217
|
+
root,
|
|
218
|
+
tuples,
|
|
219
|
+
options
|
|
220
|
+
);
|
|
222
221
|
if (options.append && options.append.length) {
|
|
223
|
-
|
|
222
|
+
processedTuples.push(...options.append);
|
|
224
223
|
}
|
|
225
224
|
this._stateManager.applyChanges(tuples, { ...options });
|
|
226
|
-
|
|
225
|
+
const state = (_b = this._stateManager) == null ? void 0 : _b.root;
|
|
226
|
+
const el = state == null ? void 0 : state.__element;
|
|
227
|
+
const stringifiedGranularTuples = (el == null ? void 0 : el.call) ? el.call(
|
|
228
|
+
"deepStringifyFunctions",
|
|
229
|
+
processedTuples,
|
|
230
|
+
Array.isArray(processedTuples) ? [] : {}
|
|
231
|
+
) : (0, import_utils.deepStringifyFunctions)(
|
|
232
|
+
processedTuples,
|
|
233
|
+
Array.isArray(processedTuples) ? [] : {}
|
|
234
|
+
);
|
|
235
|
+
const stringifiedTuples = (el == null ? void 0 : el.call) ? el.call(
|
|
236
|
+
"deepStringifyFunctions",
|
|
237
|
+
tuples,
|
|
238
|
+
Array.isArray(tuples) ? [] : {}
|
|
239
|
+
) : (0, import_utils.deepStringifyFunctions)(tuples, Array.isArray(tuples) ? [] : {});
|
|
227
240
|
if (!this.isConnected()) {
|
|
228
241
|
console.warn("[CollabService] Not connected, queuing real-time update");
|
|
229
|
-
this._pendingOps.push({
|
|
242
|
+
this._pendingOps.push({
|
|
243
|
+
changes: stringifiedTuples,
|
|
244
|
+
granularChanges: stringifiedGranularTuples,
|
|
245
|
+
orders,
|
|
246
|
+
options
|
|
247
|
+
});
|
|
230
248
|
return;
|
|
231
249
|
}
|
|
232
|
-
if ((
|
|
233
|
-
|
|
250
|
+
if ((_c = this.socket) == null ? void 0 : _c.connected) {
|
|
251
|
+
console.log("[CollabService] Sending operations to the backend", {
|
|
252
|
+
changes: stringifiedTuples,
|
|
253
|
+
granularChanges: stringifiedGranularTuples,
|
|
254
|
+
orders,
|
|
255
|
+
ts: Date.now()
|
|
256
|
+
});
|
|
257
|
+
this.socket.emit("ops", {
|
|
258
|
+
changes: stringifiedTuples,
|
|
259
|
+
granularChanges: stringifiedGranularTuples,
|
|
260
|
+
orders,
|
|
261
|
+
ts: Date.now()
|
|
262
|
+
});
|
|
234
263
|
}
|
|
235
264
|
return { success: true };
|
|
236
265
|
}
|
|
@@ -371,7 +400,7 @@ class CollabService extends import_BaseService.BaseService {
|
|
|
371
400
|
const updatedOpts = { ...opts, skipComponentsChangedEvent: true };
|
|
372
401
|
return this.updateData(tuples, updatedOpts);
|
|
373
402
|
} catch (error) {
|
|
374
|
-
throw new Error(`Failed to add item: ${error.message}
|
|
403
|
+
throw new Error(`Failed to add item: ${error.message}`, { cause: error });
|
|
375
404
|
}
|
|
376
405
|
}
|
|
377
406
|
addMultipleItems(items, opts = {}) {
|
|
@@ -400,7 +429,7 @@ class CollabService extends import_BaseService.BaseService {
|
|
|
400
429
|
title: "Failed to add item",
|
|
401
430
|
message: error.message
|
|
402
431
|
});
|
|
403
|
-
throw new Error(`Failed to add item: ${error.message}
|
|
432
|
+
throw new Error(`Failed to add item: ${error.message}`, { cause: error });
|
|
404
433
|
}
|
|
405
434
|
}
|
|
406
435
|
updateItem(type, data, opts = {}) {
|
|
@@ -422,7 +451,9 @@ class CollabService extends import_BaseService.BaseService {
|
|
|
422
451
|
title: "Failed to update item",
|
|
423
452
|
message: error.message
|
|
424
453
|
});
|
|
425
|
-
throw new Error(`Failed to update item: ${error.message}
|
|
454
|
+
throw new Error(`Failed to update item: ${error.message}`, {
|
|
455
|
+
cause: error
|
|
456
|
+
});
|
|
426
457
|
}
|
|
427
458
|
}
|
|
428
459
|
deleteItem(type, key, opts = {}) {
|
|
@@ -447,7 +478,9 @@ class CollabService extends import_BaseService.BaseService {
|
|
|
447
478
|
title: "Failed to delete item",
|
|
448
479
|
message: error.message
|
|
449
480
|
});
|
|
450
|
-
throw new Error(`Failed to delete item: ${error.message}
|
|
481
|
+
throw new Error(`Failed to delete item: ${error.message}`, {
|
|
482
|
+
cause: error
|
|
483
|
+
});
|
|
451
484
|
}
|
|
452
485
|
}
|
|
453
486
|
/* ---------- socket event helpers ---------- */
|
|
@@ -180,11 +180,11 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
180
180
|
error = await response.json();
|
|
181
181
|
} catch {
|
|
182
182
|
}
|
|
183
|
-
throw new Error(error.message || error.error || "Request failed");
|
|
183
|
+
throw new Error(error.message || error.error || "Request failed", { cause: error });
|
|
184
184
|
}
|
|
185
185
|
return response.status === 204 ? null : response.json();
|
|
186
186
|
} catch (error) {
|
|
187
|
-
throw new Error(`Request failed: ${error.message}
|
|
187
|
+
throw new Error(`Request failed: ${error.message}`, { cause: error });
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
// ==================== AUTH METHODS ====================
|
|
@@ -200,7 +200,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
200
200
|
}
|
|
201
201
|
throw new Error(response.message);
|
|
202
202
|
} catch (error) {
|
|
203
|
-
throw new Error(`Registration failed: ${error.message}
|
|
203
|
+
throw new Error(`Registration failed: ${error.message}`, { cause: error });
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
async login(email, password) {
|
|
@@ -229,7 +229,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
229
229
|
}
|
|
230
230
|
throw new Error(response.message);
|
|
231
231
|
} catch (error) {
|
|
232
|
-
throw new Error(`Login failed: ${error.message}
|
|
232
|
+
throw new Error(`Login failed: ${error.message}`, { cause: error });
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
235
|
async logout() {
|
|
@@ -248,7 +248,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
248
248
|
this._tokenManager.clearTokens();
|
|
249
249
|
}
|
|
250
250
|
this.updateContext({ authToken: null });
|
|
251
|
-
throw new Error(`Logout failed: ${error.message}
|
|
251
|
+
throw new Error(`Logout failed: ${error.message}`, { cause: error });
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
254
|
async refreshToken(refreshToken) {
|
|
@@ -263,7 +263,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
263
263
|
}
|
|
264
264
|
throw new Error(response.message);
|
|
265
265
|
} catch (error) {
|
|
266
|
-
throw new Error(`Token refresh failed: ${error.message}
|
|
266
|
+
throw new Error(`Token refresh failed: ${error.message}`, { cause: error });
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
async googleAuth(idToken, inviteToken = null) {
|
|
@@ -296,7 +296,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
296
296
|
}
|
|
297
297
|
throw new Error(response.message);
|
|
298
298
|
} catch (error) {
|
|
299
|
-
throw new Error(`Google auth failed: ${error.message}
|
|
299
|
+
throw new Error(`Google auth failed: ${error.message}`, { cause: error });
|
|
300
300
|
}
|
|
301
301
|
}
|
|
302
302
|
async githubAuth(code, inviteToken = null) {
|
|
@@ -329,7 +329,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
329
329
|
}
|
|
330
330
|
throw new Error(response.message);
|
|
331
331
|
} catch (error) {
|
|
332
|
-
throw new Error(`GitHub auth failed: ${error.message}
|
|
332
|
+
throw new Error(`GitHub auth failed: ${error.message}`, { cause: error });
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
335
|
async googleAuthCallback(code, redirectUri, inviteToken = null) {
|
|
@@ -362,7 +362,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
362
362
|
}
|
|
363
363
|
throw new Error(response.message);
|
|
364
364
|
} catch (error) {
|
|
365
|
-
throw new Error(`Google auth callback failed: ${error.message}
|
|
365
|
+
throw new Error(`Google auth callback failed: ${error.message}`, { cause: error });
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
async requestPasswordReset(email) {
|
|
@@ -377,7 +377,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
377
377
|
}
|
|
378
378
|
throw new Error(response.message);
|
|
379
379
|
} catch (error) {
|
|
380
|
-
throw new Error(`Password reset request failed: ${error.message}
|
|
380
|
+
throw new Error(`Password reset request failed: ${error.message}`, { cause: error });
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
383
|
async confirmPasswordReset(token, password) {
|
|
@@ -392,7 +392,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
392
392
|
}
|
|
393
393
|
throw new Error(response.message);
|
|
394
394
|
} catch (error) {
|
|
395
|
-
throw new Error(`Password reset confirmation failed: ${error.message}
|
|
395
|
+
throw new Error(`Password reset confirmation failed: ${error.message}`, { cause: error });
|
|
396
396
|
}
|
|
397
397
|
}
|
|
398
398
|
async confirmRegistration(token) {
|
|
@@ -407,7 +407,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
407
407
|
}
|
|
408
408
|
throw new Error(response.message);
|
|
409
409
|
} catch (error) {
|
|
410
|
-
throw new Error(`Registration confirmation failed: ${error.message}
|
|
410
|
+
throw new Error(`Registration confirmation failed: ${error.message}`, { cause: error });
|
|
411
411
|
}
|
|
412
412
|
}
|
|
413
413
|
async requestPasswordChange() {
|
|
@@ -422,7 +422,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
422
422
|
}
|
|
423
423
|
throw new Error(response.message);
|
|
424
424
|
} catch (error) {
|
|
425
|
-
throw new Error(`Password change request failed: ${error.message}
|
|
425
|
+
throw new Error(`Password change request failed: ${error.message}`, { cause: error });
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
428
|
async confirmPasswordChange(currentPassword, newPassword, code) {
|
|
@@ -438,7 +438,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
438
438
|
}
|
|
439
439
|
throw new Error(response.message);
|
|
440
440
|
} catch (error) {
|
|
441
|
-
throw new Error(`Password change confirmation failed: ${error.message}
|
|
441
|
+
throw new Error(`Password change confirmation failed: ${error.message}`, { cause: error });
|
|
442
442
|
}
|
|
443
443
|
}
|
|
444
444
|
async getMe() {
|
|
@@ -453,7 +453,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
453
453
|
}
|
|
454
454
|
throw new Error(response.message);
|
|
455
455
|
} catch (error) {
|
|
456
|
-
throw new Error(`Failed to get user profile: ${error.message}
|
|
456
|
+
throw new Error(`Failed to get user profile: ${error.message}`, { cause: error });
|
|
457
457
|
}
|
|
458
458
|
}
|
|
459
459
|
/**
|
|
@@ -569,7 +569,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
569
569
|
}
|
|
570
570
|
throw new Error(response.message);
|
|
571
571
|
} catch (error) {
|
|
572
|
-
throw new Error(`Failed to update user profile: ${error.message}
|
|
572
|
+
throw new Error(`Failed to update user profile: ${error.message}`, { cause: error });
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
575
|
async getUserProjects() {
|
|
@@ -592,7 +592,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
592
592
|
}
|
|
593
593
|
throw new Error(response.message);
|
|
594
594
|
} catch (error) {
|
|
595
|
-
throw new Error(`Failed to get user projects: ${error.message}
|
|
595
|
+
throw new Error(`Failed to get user projects: ${error.message}`, { cause: error });
|
|
596
596
|
}
|
|
597
597
|
}
|
|
598
598
|
async getUser(userId) {
|
|
@@ -610,7 +610,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
610
610
|
}
|
|
611
611
|
throw new Error(response.message);
|
|
612
612
|
} catch (error) {
|
|
613
|
-
throw new Error(`Failed to get user: ${error.message}
|
|
613
|
+
throw new Error(`Failed to get user: ${error.message}`, { cause: error });
|
|
614
614
|
}
|
|
615
615
|
}
|
|
616
616
|
async getUserByEmail(email) {
|
|
@@ -628,7 +628,7 @@ class CoreService extends import_BaseService.BaseService {
|
|
|
628
628
|
}
|
|
629
629
|
throw new Error(response.message);
|
|
630
630
|
} catch (error) {
|
|
631
|
-
throw new Error(`Failed to get user by email: ${error.message}
|
|
631
|
+
throw new Error(`Failed to get user by email: ${error.message}`, { cause: error });
|
|
632
632
|
}
|
|
633
633
|
}
|
|
634
634
|
// ==================== PROJECT METHODS ====================
|
|
@@ -39,7 +39,7 @@ class DnsService extends import_BaseService.BaseService {
|
|
|
39
39
|
}
|
|
40
40
|
throw new Error(response.message);
|
|
41
41
|
} catch (error) {
|
|
42
|
-
throw new Error(`Failed to create DNS record: ${error.message}
|
|
42
|
+
throw new Error(`Failed to create DNS record: ${error.message}`, { cause: error });
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
async getDnsRecord(domain) {
|
|
@@ -57,7 +57,7 @@ class DnsService extends import_BaseService.BaseService {
|
|
|
57
57
|
}
|
|
58
58
|
throw new Error(response.message);
|
|
59
59
|
} catch (error) {
|
|
60
|
-
throw new Error(`Failed to get DNS record: ${error.message}
|
|
60
|
+
throw new Error(`Failed to get DNS record: ${error.message}`, { cause: error });
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
async getCustomHost(hostname) {
|
|
@@ -93,7 +93,7 @@ class DnsService extends import_BaseService.BaseService {
|
|
|
93
93
|
}
|
|
94
94
|
throw new Error(response.message);
|
|
95
95
|
} catch (error) {
|
|
96
|
-
throw new Error(`Failed to remove DNS record: ${error.message}
|
|
96
|
+
throw new Error(`Failed to remove DNS record: ${error.message}`, { cause: error });
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
// Deprecated, use addProjectCustomDomains instead
|
|
@@ -117,7 +117,7 @@ class DnsService extends import_BaseService.BaseService {
|
|
|
117
117
|
}
|
|
118
118
|
throw new Error(response.message);
|
|
119
119
|
} catch (error) {
|
|
120
|
-
throw new Error(`Failed to set project domains: ${error.message}
|
|
120
|
+
throw new Error(`Failed to set project domains: ${error.message}`, { cause: error });
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
// customDomains could be a string or an array of strings
|
|
@@ -60,7 +60,7 @@ class FileService extends import_BaseService.BaseService {
|
|
|
60
60
|
message: response.message
|
|
61
61
|
};
|
|
62
62
|
} catch (error) {
|
|
63
|
-
throw new Error(`File upload failed: ${error.message}
|
|
63
|
+
throw new Error(`File upload failed: ${error.message}`, { cause: error });
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
async updateProjectIcon(projectId, iconFile) {
|
|
@@ -84,7 +84,7 @@ class FileService extends import_BaseService.BaseService {
|
|
|
84
84
|
}
|
|
85
85
|
throw new Error(response.message);
|
|
86
86
|
} catch (error) {
|
|
87
|
-
throw new Error(`Failed to update project icon: ${error.message}
|
|
87
|
+
throw new Error(`Failed to update project icon: ${error.message}`, { cause: error });
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
// ==================== FILE HELPER METHODS ====================
|
|
@@ -52,7 +52,7 @@ class PaymentService extends import_BaseService.BaseService {
|
|
|
52
52
|
}
|
|
53
53
|
throw new Error(response.message);
|
|
54
54
|
} catch (error) {
|
|
55
|
-
throw new Error(`Failed to checkout: ${error.message}
|
|
55
|
+
throw new Error(`Failed to checkout: ${error.message}`, { cause: error });
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
async getSubscriptionStatus(projectId) {
|
|
@@ -73,7 +73,7 @@ class PaymentService extends import_BaseService.BaseService {
|
|
|
73
73
|
}
|
|
74
74
|
throw new Error(response.message);
|
|
75
75
|
} catch (error) {
|
|
76
|
-
throw new Error(`Failed to get subscription status: ${error.message}
|
|
76
|
+
throw new Error(`Failed to get subscription status: ${error.message}`, { cause: error });
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
// ==================== PAYMENT HELPER METHODS ====================
|
|
@@ -37,7 +37,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
37
37
|
}
|
|
38
38
|
throw new Error(response.message);
|
|
39
39
|
} catch (error) {
|
|
40
|
-
throw new Error(`Failed to get plans: ${error.message}
|
|
40
|
+
throw new Error(`Failed to get plans: ${error.message}`, { cause: error });
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
@@ -57,7 +57,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
57
57
|
}
|
|
58
58
|
throw new Error(response.message);
|
|
59
59
|
} catch (error) {
|
|
60
|
-
throw new Error(`Failed to get plan: ${error.message}
|
|
60
|
+
throw new Error(`Failed to get plan: ${error.message}`, { cause: error });
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
// ==================== ADMIN PLAN METHODS ====================
|
|
@@ -76,7 +76,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
76
76
|
}
|
|
77
77
|
throw new Error(response.message);
|
|
78
78
|
} catch (error) {
|
|
79
|
-
throw new Error(`Failed to get admin plans: ${error.message}
|
|
79
|
+
throw new Error(`Failed to get admin plans: ${error.message}`, { cause: error });
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
@@ -98,7 +98,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
98
98
|
}
|
|
99
99
|
throw new Error(response.message);
|
|
100
100
|
} catch (error) {
|
|
101
|
-
throw new Error(`Failed to create plan: ${error.message}
|
|
101
|
+
throw new Error(`Failed to create plan: ${error.message}`, { cause: error });
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
@@ -123,7 +123,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
123
123
|
}
|
|
124
124
|
throw new Error(response.message);
|
|
125
125
|
} catch (error) {
|
|
126
|
-
throw new Error(`Failed to update plan: ${error.message}
|
|
126
|
+
throw new Error(`Failed to update plan: ${error.message}`, { cause: error });
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
@@ -144,7 +144,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
144
144
|
}
|
|
145
145
|
throw new Error(response.message);
|
|
146
146
|
} catch (error) {
|
|
147
|
-
throw new Error(`Failed to delete plan: ${error.message}
|
|
147
|
+
throw new Error(`Failed to delete plan: ${error.message}`, { cause: error });
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
@@ -162,7 +162,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
162
162
|
}
|
|
163
163
|
throw new Error(response.message);
|
|
164
164
|
} catch (error) {
|
|
165
|
-
throw new Error(`Failed to initialize plans: ${error.message}
|
|
165
|
+
throw new Error(`Failed to initialize plans: ${error.message}`, { cause: error });
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
// ==================== PLAN HELPER METHODS ====================
|
|
@@ -177,7 +177,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
177
177
|
}
|
|
178
178
|
return plans;
|
|
179
179
|
} catch (error) {
|
|
180
|
-
throw new Error(`Failed to get plans with validation: ${error.message}
|
|
180
|
+
throw new Error(`Failed to get plans with validation: ${error.message}`, { cause: error });
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
/**
|
|
@@ -194,7 +194,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
194
194
|
}
|
|
195
195
|
return plan;
|
|
196
196
|
} catch (error) {
|
|
197
|
-
throw new Error(`Failed to get plan with validation: ${error.message}
|
|
197
|
+
throw new Error(`Failed to get plan with validation: ${error.message}`, { cause: error });
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
/**
|
|
@@ -246,7 +246,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
246
246
|
const plans = await this.getPlans();
|
|
247
247
|
return plans.filter((plan) => plan.active !== false);
|
|
248
248
|
} catch (error) {
|
|
249
|
-
throw new Error(`Failed to get active plans: ${error.message}
|
|
249
|
+
throw new Error(`Failed to get active plans: ${error.message}`, { cause: error });
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
252
|
/**
|
|
@@ -260,7 +260,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
260
260
|
return price >= minPrice && price <= maxPrice;
|
|
261
261
|
});
|
|
262
262
|
} catch (error) {
|
|
263
|
-
throw new Error(`Failed to get plans by price range: ${error.message}
|
|
263
|
+
throw new Error(`Failed to get plans by price range: ${error.message}`, { cause: error });
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
/**
|
|
@@ -278,7 +278,7 @@ class PlanService extends import_BaseService.BaseService {
|
|
|
278
278
|
}
|
|
279
279
|
return plan;
|
|
280
280
|
} catch (error) {
|
|
281
|
-
throw new Error(`Failed to get plan by key: ${error.message}
|
|
281
|
+
throw new Error(`Failed to get plan by key: ${error.message}`, { cause: error });
|
|
282
282
|
}
|
|
283
283
|
}
|
|
284
284
|
}
|