@symbo.ls/sdk 2.32.0 → 2.32.2

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 (82) hide show
  1. package/dist/cjs/config/environment.js +8 -43
  2. package/dist/cjs/index.js +4 -12
  3. package/dist/cjs/services/AdminService.js +4 -4
  4. package/dist/cjs/services/AuthService.js +149 -36
  5. package/dist/cjs/services/BaseService.js +18 -5
  6. package/dist/cjs/services/BranchService.js +10 -10
  7. package/dist/cjs/services/CollabService.js +18 -114
  8. package/dist/cjs/services/CoreService.js +19 -19
  9. package/dist/cjs/services/DnsService.js +4 -4
  10. package/dist/cjs/services/FileService.js +2 -2
  11. package/dist/cjs/services/PaymentService.js +2 -2
  12. package/dist/cjs/services/PlanService.js +12 -12
  13. package/dist/cjs/services/ProjectService.js +34 -39
  14. package/dist/cjs/services/PullRequestService.js +7 -7
  15. package/dist/cjs/services/SubscriptionService.js +14 -14
  16. package/dist/cjs/services/index.js +0 -4
  17. package/dist/cjs/utils/TokenManager.js +5 -16
  18. package/dist/cjs/utils/services.js +1 -14
  19. package/dist/esm/config/environment.js +8 -43
  20. package/dist/esm/index.js +300 -907
  21. package/dist/esm/services/AdminService.js +35 -68
  22. package/dist/esm/services/AuthService.js +168 -100
  23. package/dist/esm/services/BaseService.js +31 -64
  24. package/dist/esm/services/BranchService.js +41 -74
  25. package/dist/esm/services/CollabService.js +50 -452
  26. package/dist/esm/services/CoreService.js +50 -83
  27. package/dist/esm/services/DnsService.js +35 -68
  28. package/dist/esm/services/FileService.js +33 -66
  29. package/dist/esm/services/PaymentService.js +33 -66
  30. package/dist/esm/services/PlanService.js +43 -76
  31. package/dist/esm/services/ProjectService.js +65 -375
  32. package/dist/esm/services/PullRequestService.js +38 -71
  33. package/dist/esm/services/SubscriptionService.js +45 -78
  34. package/dist/esm/services/index.js +295 -884
  35. package/dist/esm/utils/CollabClient.js +8 -43
  36. package/dist/esm/utils/TokenManager.js +5 -16
  37. package/dist/esm/utils/services.js +1 -14
  38. package/dist/node/config/environment.js +8 -43
  39. package/dist/node/index.js +5 -14
  40. package/dist/node/services/AdminService.js +4 -4
  41. package/dist/node/services/AuthService.js +139 -36
  42. package/dist/node/services/BaseService.js +18 -5
  43. package/dist/node/services/BranchService.js +10 -10
  44. package/dist/node/services/CollabService.js +19 -115
  45. package/dist/node/services/CoreService.js +19 -19
  46. package/dist/node/services/DnsService.js +4 -4
  47. package/dist/node/services/FileService.js +2 -2
  48. package/dist/node/services/PaymentService.js +2 -2
  49. package/dist/node/services/PlanService.js +12 -12
  50. package/dist/node/services/ProjectService.js +34 -39
  51. package/dist/node/services/PullRequestService.js +7 -7
  52. package/dist/node/services/SubscriptionService.js +14 -14
  53. package/dist/node/services/index.js +0 -4
  54. package/dist/node/utils/TokenManager.js +5 -16
  55. package/dist/node/utils/services.js +1 -14
  56. package/package.json +6 -7
  57. package/src/config/environment.js +9 -48
  58. package/src/index.js +22 -38
  59. package/src/services/AdminService.js +4 -4
  60. package/src/services/AuthService.js +175 -42
  61. package/src/services/BaseService.js +24 -7
  62. package/src/services/BranchService.js +10 -10
  63. package/src/services/CollabService.js +19 -142
  64. package/src/services/CoreService.js +19 -19
  65. package/src/services/DnsService.js +4 -4
  66. package/src/services/FileService.js +2 -2
  67. package/src/services/PaymentService.js +2 -2
  68. package/src/services/PlanService.js +12 -12
  69. package/src/services/ProjectService.js +34 -41
  70. package/src/services/PullRequestService.js +7 -7
  71. package/src/services/SubscriptionService.js +14 -14
  72. package/src/services/index.js +1 -6
  73. package/src/utils/TokenManager.js +5 -19
  74. package/src/utils/services.js +1 -15
  75. package/dist/cjs/services/ScreenshotService.js +0 -304
  76. package/dist/cjs/utils/ordering.js +0 -295
  77. package/dist/esm/services/ScreenshotService.js +0 -992
  78. package/dist/esm/utils/ordering.js +0 -277
  79. package/dist/node/services/ScreenshotService.js +0 -285
  80. package/dist/node/utils/ordering.js +0 -276
  81. package/src/services/ScreenshotService.js +0 -258
  82. package/src/utils/ordering.js +0 -240
@@ -28,28 +28,18 @@ var CONFIG = {
28
28
  // For based api
29
29
  basedOrg: "symbols",
30
30
  // For based api
31
- githubClientId: "Ov23liAFrsR0StbAO6PO",
31
+ githubClientId: "Ov23liHxyWFBxS8f1gnF",
32
32
  // For github api
33
33
  // Environment-specific feature toggles (override common)
34
34
  features: {
35
35
  betaFeatures: true
36
36
  // Enable beta features in local dev
37
- },
38
- typesenseCollectionName: "docs",
39
- typesenseApiKey: "vZya3L2zpq8L6iI5WWMUZJZABvT63VDb",
40
- typesenseHost: "localhost",
41
- typesensePort: "8108",
42
- typesenseProtocol: "http"
37
+ }
43
38
  },
44
39
  development: {
45
40
  socketUrl: "https://dev.api.symbols.app",
46
41
  apiUrl: "https://dev.api.symbols.app",
47
- githubClientId: "Ov23liHxyWFBxS8f1gnF",
48
- typesenseCollectionName: "docs",
49
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
50
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
51
- typesensePort: "443",
52
- typesenseProtocol: "https"
42
+ githubClientId: "Ov23liHxyWFBxS8f1gnF"
53
43
  },
54
44
  testing: {
55
45
  socketUrl: "https://test.api.symbols.app",
@@ -57,22 +47,12 @@ var CONFIG = {
57
47
  basedEnv: "testing",
58
48
  basedProject: "platform-v2-sm",
59
49
  basedOrg: "symbols",
60
- githubClientId: "Ov23liHxyWFBxS8f1gnF",
61
- typesenseCollectionName: "docs",
62
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
63
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
64
- typesensePort: "443",
65
- typesenseProtocol: "https"
50
+ githubClientId: "Ov23liHxyWFBxS8f1gnF"
66
51
  },
67
52
  upcoming: {
68
53
  socketUrl: "https://upcoming.api.symbols.app",
69
54
  apiUrl: "https://upcoming.api.symbols.app",
70
- githubClientId: "Ov23liWF7NvdZ056RV5J",
71
- typesenseCollectionName: "docs",
72
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
73
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
74
- typesensePort: "443",
75
- typesenseProtocol: "https"
55
+ githubClientId: "Ov23liWF7NvdZ056RV5J"
76
56
  },
77
57
  staging: {
78
58
  socketUrl: "https://staging.api.symbols.app",
@@ -80,12 +60,7 @@ var CONFIG = {
80
60
  basedEnv: "staging",
81
61
  basedProject: "platform-v2-sm",
82
62
  basedOrg: "symbols",
83
- githubClientId: "Ov23ligwZDQVD0VfuWNa",
84
- typesenseCollectionName: "docs",
85
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
86
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
87
- typesensePort: "443",
88
- typesenseProtocol: "https"
63
+ githubClientId: "Ov23ligwZDQVD0VfuWNa"
89
64
  },
90
65
  production: {
91
66
  socketUrl: "https://api.symbols.app",
@@ -93,12 +68,7 @@ var CONFIG = {
93
68
  basedEnv: "production",
94
69
  basedProject: "platform-v2-sm",
95
70
  basedOrg: "symbols",
96
- githubClientId: "Ov23liFAlOEIXtX3dBtR",
97
- typesenseCollectionName: "docs",
98
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
99
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
100
- typesensePort: "443",
101
- typesenseProtocol: "https"
71
+ githubClientId: "Ov23liFAlOEIXtX3dBtR"
102
72
  }
103
73
  };
104
74
  var getEnvironment = () => {
@@ -120,11 +90,6 @@ var getConfig = () => {
120
90
  basedProject: process.env.SYMBOLS_APP_BASED_PROJECT || envConfig.basedProject,
121
91
  basedOrg: process.env.SYMBOLS_APP_BASED_ORG || envConfig.basedOrg,
122
92
  githubClientId: process.env.SYMBOLS_APP_GITHUB_CLIENT_ID || envConfig.githubClientId,
123
- typesenseCollectionName: process.env.TYPESENSE_COLLECTION_NAME || envConfig.typesenseCollectionName,
124
- typesenseApiKey: process.env.TYPESENSE_API_KEY || envConfig.typesenseApiKey,
125
- typesenseHost: process.env.TYPESENSE_HOST || envConfig.typesenseHost,
126
- typesensePort: process.env.TYPESENSE_PORT || envConfig.typesensePort,
127
- typesenseProtocol: process.env.TYPESENSE_PROTOCOL || envConfig.typesenseProtocol,
128
93
  isDevelopment: isDevelopment(env),
129
94
  isTesting: env === "testing",
130
95
  isStaging: env === "staging",
@@ -144,7 +109,7 @@ var getConfig = () => {
144
109
  );
145
110
  }
146
111
  if (finalConfig.isDevelopment) {
147
- console.warn(
112
+ console.log(
148
113
  "environment in SDK:",
149
114
  env || process.env.NODE_ENV || process.env.NODE_ENV
150
115
  );
@@ -183,7 +148,7 @@ var TokenManager = class {
183
148
  });
184
149
  this.config = {
185
150
  storagePrefix: "symbols_",
186
- storageType: typeof window === "undefined" || process.env.NODE_ENV === "test" || process.env.NODE_ENV === "testing" ? "memory" : "localStorage",
151
+ storageType: typeof window === "undefined" || process.env.NODE_ENV === "test" ? "memory" : "localStorage",
187
152
  // 'localStorage' | 'sessionStorage' | 'memory'
188
153
  refreshBuffer: 60 * 1e3,
189
154
  // Refresh 1 minute before expiry
@@ -223,26 +188,15 @@ var TokenManager = class {
223
188
  if (typeof window === "undefined") {
224
189
  return this._memoryStorage;
225
190
  }
226
- const safeGetStorage = (provider) => {
227
- try {
228
- const storage = provider();
229
- const testKey = `${this.config.storagePrefix}__tm_test__`;
230
- storage.setItem(testKey, "1");
231
- storage.removeItem(testKey);
232
- return storage;
233
- } catch {
234
- return null;
235
- }
236
- };
237
- const localStorageInstance = safeGetStorage(() => window.localStorage);
238
- const sessionStorageInstance = safeGetStorage(() => window.sessionStorage);
191
+ const hasLocalStorage = typeof window.localStorage !== "undefined";
192
+ const hasSessionStorage = typeof window.sessionStorage !== "undefined";
239
193
  switch (this.config.storageType) {
240
194
  case "sessionStorage":
241
- return sessionStorageInstance || this._memoryStorage;
195
+ return hasSessionStorage ? window.sessionStorage : this._memoryStorage;
242
196
  case "memory":
243
197
  return this._memoryStorage;
244
198
  default:
245
- return localStorageInstance || this._memoryStorage;
199
+ return hasLocalStorage ? window.localStorage : this._memoryStorage;
246
200
  }
247
201
  }
248
202
  /**
@@ -581,10 +535,20 @@ var BaseService = class {
581
535
  }
582
536
  this._tokenManager = getTokenManager({
583
537
  apiUrl: this._apiUrl,
538
+ onTokenRefresh: (tokens) => {
539
+ this.updateContext({ authToken: tokens.accessToken });
540
+ },
541
+ onTokenExpired: () => {
542
+ this.updateContext({ authToken: null });
543
+ },
584
544
  onTokenError: (error) => {
585
545
  console.error("Token management error:", error);
586
546
  }
587
547
  });
548
+ const { authToken } = this._context;
549
+ if (authToken && !this._tokenManager.hasTokens()) {
550
+ this._tokenManager.setTokens({ access_token: authToken });
551
+ }
588
552
  this._setReady();
589
553
  } catch (error) {
590
554
  this._setError(error);
@@ -593,9 +557,7 @@ var BaseService = class {
593
557
  }
594
558
  // Update context
595
559
  updateContext(context) {
596
- if (context && typeof context === "object") {
597
- Object.assign(this._context, context);
598
- }
560
+ this._context = { ...this._context, ...context };
599
561
  }
600
562
  // Get service status
601
563
  getStatus() {
@@ -650,6 +612,11 @@ var BaseService = class {
650
612
  error
651
613
  );
652
614
  }
615
+ } else if (this._requiresInit(options.methodName)) {
616
+ const { authToken } = this._context;
617
+ if (authToken) {
618
+ defaultHeaders.Authorization = `Bearer ${authToken}`;
619
+ }
653
620
  }
654
621
  try {
655
622
  const response = await fetch(url, {
@@ -667,11 +634,11 @@ var BaseService = class {
667
634
  error = await response.json();
668
635
  } catch {
669
636
  }
670
- throw new Error(error.message || error.error || "Request failed", { cause: error });
637
+ throw new Error(error.message || error.error || "Request failed");
671
638
  }
672
639
  return response.status === 204 ? null : response.json();
673
640
  } catch (error) {
674
- throw new Error(`Request failed: ${error.message}`, { cause: error });
641
+ throw new Error(`Request failed: ${error.message}`);
675
642
  }
676
643
  }
677
644
  // Helper method to determine if a method requires initialization
@@ -744,7 +711,7 @@ var FileService = class extends BaseService {
744
711
  message: response.message
745
712
  };
746
713
  } catch (error) {
747
- throw new Error(`File upload failed: ${error.message}`, { cause: error });
714
+ throw new Error(`File upload failed: ${error.message}`);
748
715
  }
749
716
  }
750
717
  async updateProjectIcon(projectId, iconFile) {
@@ -768,7 +735,7 @@ var FileService = class extends BaseService {
768
735
  }
769
736
  throw new Error(response.message);
770
737
  } catch (error) {
771
- throw new Error(`Failed to update project icon: ${error.message}`, { cause: error });
738
+ throw new Error(`Failed to update project icon: ${error.message}`);
772
739
  }
773
740
  }
774
741
  // ==================== FILE HELPER METHODS ====================
@@ -28,28 +28,18 @@ var CONFIG = {
28
28
  // For based api
29
29
  basedOrg: "symbols",
30
30
  // For based api
31
- githubClientId: "Ov23liAFrsR0StbAO6PO",
31
+ githubClientId: "Ov23liHxyWFBxS8f1gnF",
32
32
  // For github api
33
33
  // Environment-specific feature toggles (override common)
34
34
  features: {
35
35
  betaFeatures: true
36
36
  // Enable beta features in local dev
37
- },
38
- typesenseCollectionName: "docs",
39
- typesenseApiKey: "vZya3L2zpq8L6iI5WWMUZJZABvT63VDb",
40
- typesenseHost: "localhost",
41
- typesensePort: "8108",
42
- typesenseProtocol: "http"
37
+ }
43
38
  },
44
39
  development: {
45
40
  socketUrl: "https://dev.api.symbols.app",
46
41
  apiUrl: "https://dev.api.symbols.app",
47
- githubClientId: "Ov23liHxyWFBxS8f1gnF",
48
- typesenseCollectionName: "docs",
49
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
50
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
51
- typesensePort: "443",
52
- typesenseProtocol: "https"
42
+ githubClientId: "Ov23liHxyWFBxS8f1gnF"
53
43
  },
54
44
  testing: {
55
45
  socketUrl: "https://test.api.symbols.app",
@@ -57,22 +47,12 @@ var CONFIG = {
57
47
  basedEnv: "testing",
58
48
  basedProject: "platform-v2-sm",
59
49
  basedOrg: "symbols",
60
- githubClientId: "Ov23liHxyWFBxS8f1gnF",
61
- typesenseCollectionName: "docs",
62
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
63
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
64
- typesensePort: "443",
65
- typesenseProtocol: "https"
50
+ githubClientId: "Ov23liHxyWFBxS8f1gnF"
66
51
  },
67
52
  upcoming: {
68
53
  socketUrl: "https://upcoming.api.symbols.app",
69
54
  apiUrl: "https://upcoming.api.symbols.app",
70
- githubClientId: "Ov23liWF7NvdZ056RV5J",
71
- typesenseCollectionName: "docs",
72
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
73
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
74
- typesensePort: "443",
75
- typesenseProtocol: "https"
55
+ githubClientId: "Ov23liWF7NvdZ056RV5J"
76
56
  },
77
57
  staging: {
78
58
  socketUrl: "https://staging.api.symbols.app",
@@ -80,12 +60,7 @@ var CONFIG = {
80
60
  basedEnv: "staging",
81
61
  basedProject: "platform-v2-sm",
82
62
  basedOrg: "symbols",
83
- githubClientId: "Ov23ligwZDQVD0VfuWNa",
84
- typesenseCollectionName: "docs",
85
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
86
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
87
- typesensePort: "443",
88
- typesenseProtocol: "https"
63
+ githubClientId: "Ov23ligwZDQVD0VfuWNa"
89
64
  },
90
65
  production: {
91
66
  socketUrl: "https://api.symbols.app",
@@ -93,12 +68,7 @@ var CONFIG = {
93
68
  basedEnv: "production",
94
69
  basedProject: "platform-v2-sm",
95
70
  basedOrg: "symbols",
96
- githubClientId: "Ov23liFAlOEIXtX3dBtR",
97
- typesenseCollectionName: "docs",
98
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
99
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
100
- typesensePort: "443",
101
- typesenseProtocol: "https"
71
+ githubClientId: "Ov23liFAlOEIXtX3dBtR"
102
72
  }
103
73
  };
104
74
  var getEnvironment = () => {
@@ -120,11 +90,6 @@ var getConfig = () => {
120
90
  basedProject: process.env.SYMBOLS_APP_BASED_PROJECT || envConfig.basedProject,
121
91
  basedOrg: process.env.SYMBOLS_APP_BASED_ORG || envConfig.basedOrg,
122
92
  githubClientId: process.env.SYMBOLS_APP_GITHUB_CLIENT_ID || envConfig.githubClientId,
123
- typesenseCollectionName: process.env.TYPESENSE_COLLECTION_NAME || envConfig.typesenseCollectionName,
124
- typesenseApiKey: process.env.TYPESENSE_API_KEY || envConfig.typesenseApiKey,
125
- typesenseHost: process.env.TYPESENSE_HOST || envConfig.typesenseHost,
126
- typesensePort: process.env.TYPESENSE_PORT || envConfig.typesensePort,
127
- typesenseProtocol: process.env.TYPESENSE_PROTOCOL || envConfig.typesenseProtocol,
128
93
  isDevelopment: isDevelopment(env),
129
94
  isTesting: env === "testing",
130
95
  isStaging: env === "staging",
@@ -144,7 +109,7 @@ var getConfig = () => {
144
109
  );
145
110
  }
146
111
  if (finalConfig.isDevelopment) {
147
- console.warn(
112
+ console.log(
148
113
  "environment in SDK:",
149
114
  env || process.env.NODE_ENV || process.env.NODE_ENV
150
115
  );
@@ -183,7 +148,7 @@ var TokenManager = class {
183
148
  });
184
149
  this.config = {
185
150
  storagePrefix: "symbols_",
186
- storageType: typeof window === "undefined" || process.env.NODE_ENV === "test" || process.env.NODE_ENV === "testing" ? "memory" : "localStorage",
151
+ storageType: typeof window === "undefined" || process.env.NODE_ENV === "test" ? "memory" : "localStorage",
187
152
  // 'localStorage' | 'sessionStorage' | 'memory'
188
153
  refreshBuffer: 60 * 1e3,
189
154
  // Refresh 1 minute before expiry
@@ -223,26 +188,15 @@ var TokenManager = class {
223
188
  if (typeof window === "undefined") {
224
189
  return this._memoryStorage;
225
190
  }
226
- const safeGetStorage = (provider) => {
227
- try {
228
- const storage = provider();
229
- const testKey = `${this.config.storagePrefix}__tm_test__`;
230
- storage.setItem(testKey, "1");
231
- storage.removeItem(testKey);
232
- return storage;
233
- } catch {
234
- return null;
235
- }
236
- };
237
- const localStorageInstance = safeGetStorage(() => window.localStorage);
238
- const sessionStorageInstance = safeGetStorage(() => window.sessionStorage);
191
+ const hasLocalStorage = typeof window.localStorage !== "undefined";
192
+ const hasSessionStorage = typeof window.sessionStorage !== "undefined";
239
193
  switch (this.config.storageType) {
240
194
  case "sessionStorage":
241
- return sessionStorageInstance || this._memoryStorage;
195
+ return hasSessionStorage ? window.sessionStorage : this._memoryStorage;
242
196
  case "memory":
243
197
  return this._memoryStorage;
244
198
  default:
245
- return localStorageInstance || this._memoryStorage;
199
+ return hasLocalStorage ? window.localStorage : this._memoryStorage;
246
200
  }
247
201
  }
248
202
  /**
@@ -581,10 +535,20 @@ var BaseService = class {
581
535
  }
582
536
  this._tokenManager = getTokenManager({
583
537
  apiUrl: this._apiUrl,
538
+ onTokenRefresh: (tokens) => {
539
+ this.updateContext({ authToken: tokens.accessToken });
540
+ },
541
+ onTokenExpired: () => {
542
+ this.updateContext({ authToken: null });
543
+ },
584
544
  onTokenError: (error) => {
585
545
  console.error("Token management error:", error);
586
546
  }
587
547
  });
548
+ const { authToken } = this._context;
549
+ if (authToken && !this._tokenManager.hasTokens()) {
550
+ this._tokenManager.setTokens({ access_token: authToken });
551
+ }
588
552
  this._setReady();
589
553
  } catch (error) {
590
554
  this._setError(error);
@@ -593,9 +557,7 @@ var BaseService = class {
593
557
  }
594
558
  // Update context
595
559
  updateContext(context) {
596
- if (context && typeof context === "object") {
597
- Object.assign(this._context, context);
598
- }
560
+ this._context = { ...this._context, ...context };
599
561
  }
600
562
  // Get service status
601
563
  getStatus() {
@@ -650,6 +612,11 @@ var BaseService = class {
650
612
  error
651
613
  );
652
614
  }
615
+ } else if (this._requiresInit(options.methodName)) {
616
+ const { authToken } = this._context;
617
+ if (authToken) {
618
+ defaultHeaders.Authorization = `Bearer ${authToken}`;
619
+ }
653
620
  }
654
621
  try {
655
622
  const response = await fetch(url, {
@@ -667,11 +634,11 @@ var BaseService = class {
667
634
  error = await response.json();
668
635
  } catch {
669
636
  }
670
- throw new Error(error.message || error.error || "Request failed", { cause: error });
637
+ throw new Error(error.message || error.error || "Request failed");
671
638
  }
672
639
  return response.status === 204 ? null : response.json();
673
640
  } catch (error) {
674
- throw new Error(`Request failed: ${error.message}`, { cause: error });
641
+ throw new Error(`Request failed: ${error.message}`);
675
642
  }
676
643
  }
677
644
  // Helper method to determine if a method requires initialization
@@ -736,7 +703,7 @@ var PaymentService = class extends BaseService {
736
703
  }
737
704
  throw new Error(response.message);
738
705
  } catch (error) {
739
- throw new Error(`Failed to checkout: ${error.message}`, { cause: error });
706
+ throw new Error(`Failed to checkout: ${error.message}`);
740
707
  }
741
708
  }
742
709
  async getSubscriptionStatus(projectId) {
@@ -757,7 +724,7 @@ var PaymentService = class extends BaseService {
757
724
  }
758
725
  throw new Error(response.message);
759
726
  } catch (error) {
760
- throw new Error(`Failed to get subscription status: ${error.message}`, { cause: error });
727
+ throw new Error(`Failed to get subscription status: ${error.message}`);
761
728
  }
762
729
  }
763
730
  // ==================== PAYMENT HELPER METHODS ====================