@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
@@ -852,10 +819,118 @@ var AuthService = class extends BaseService {
852
819
  "pro2",
853
820
  "enterprise"
854
821
  ]);
822
+ this._initialized = false;
823
+ this._apiUrl = null;
824
+ this._tokenManager = null;
855
825
  this._projectRoleCache = /* @__PURE__ */ new Map();
856
826
  this._roleCacheExpiry = 5 * 60 * 1e3;
857
827
  }
858
- // Use BaseService.init/_request/_requireReady implementations
828
+ init({ context }) {
829
+ try {
830
+ const { appKey, authToken } = context || this._context;
831
+ this._apiUrl = environment_default.apiUrl;
832
+ if (!this._apiUrl) {
833
+ throw new Error("Auth service base URL not configured");
834
+ }
835
+ this._tokenManager = getTokenManager({
836
+ apiUrl: this._apiUrl,
837
+ onTokenRefresh: (tokens) => {
838
+ this.updateContext({ authToken: tokens.accessToken });
839
+ },
840
+ onTokenExpired: () => {
841
+ this.updateContext({ authToken: null });
842
+ },
843
+ onTokenError: (error) => {
844
+ console.error("Token management error:", error);
845
+ }
846
+ });
847
+ if (authToken && !this._tokenManager.hasTokens()) {
848
+ this._tokenManager.setTokens({ access_token: authToken });
849
+ }
850
+ this._info = {
851
+ config: {
852
+ apiUrl: this._apiUrl,
853
+ appKey: appKey ? `${appKey.substr(0, 4)}...${appKey.substr(-4)}` : null,
854
+ hasToken: Boolean(authToken)
855
+ }
856
+ };
857
+ this._initialized = true;
858
+ this._setReady();
859
+ } catch (error) {
860
+ this._setError(error);
861
+ throw error;
862
+ }
863
+ }
864
+ // Helper method to make HTTP requests
865
+ async _request(endpoint, options = {}) {
866
+ const url = `${this._apiUrl}/core${endpoint}`;
867
+ const defaultHeaders = {};
868
+ if (!(options.body instanceof FormData)) {
869
+ defaultHeaders["Content-Type"] = "application/json";
870
+ }
871
+ if (this._requiresInit(options.methodName) && this._tokenManager) {
872
+ try {
873
+ const validToken = await this._tokenManager.ensureValidToken();
874
+ if (validToken) {
875
+ const authHeader = this._tokenManager.getAuthHeader();
876
+ if (authHeader) {
877
+ defaultHeaders.Authorization = authHeader;
878
+ }
879
+ }
880
+ } catch (error) {
881
+ console.warn(
882
+ "Token management failed, proceeding without authentication:",
883
+ error
884
+ );
885
+ }
886
+ } else if (this._requiresInit(options.methodName)) {
887
+ const { authToken } = this._context;
888
+ if (authToken) {
889
+ defaultHeaders.Authorization = `Bearer ${authToken}`;
890
+ }
891
+ }
892
+ try {
893
+ const response = await fetch(url, {
894
+ ...options,
895
+ headers: {
896
+ ...defaultHeaders,
897
+ ...options.headers
898
+ }
899
+ });
900
+ if (!response.ok) {
901
+ let error = {
902
+ message: `HTTP ${response.status}: ${response.statusText}`
903
+ };
904
+ try {
905
+ error = await response.json();
906
+ } catch {
907
+ }
908
+ throw new Error(error.message || error.error || "Request failed");
909
+ }
910
+ return response.status === 204 ? null : response.json();
911
+ } catch (error) {
912
+ throw new Error(`Request failed: ${error.message}`);
913
+ }
914
+ }
915
+ _requiresInit(methodName) {
916
+ const noInitMethods = /* @__PURE__ */ new Set([
917
+ "register",
918
+ "login",
919
+ "googleAuth",
920
+ "googleAuthCallback",
921
+ "githubAuth",
922
+ "requestPasswordReset",
923
+ "confirmPasswordReset",
924
+ "confirmRegistration",
925
+ "verifyEmail"
926
+ ]);
927
+ return !noInitMethods.has(methodName);
928
+ }
929
+ _requireReady(methodName) {
930
+ if (this._requiresInit(methodName) && !this._initialized) {
931
+ throw new Error("Auth service not initialized");
932
+ }
933
+ }
859
934
  // ==================== AUTH METHODS ====================
860
935
  async register(userData) {
861
936
  try {
@@ -869,7 +944,7 @@ var AuthService = class extends BaseService {
869
944
  }
870
945
  throw new Error(response.message);
871
946
  } catch (error) {
872
- throw new Error(`Registration failed: ${error.message}`, { cause: error });
947
+ throw new Error(`Registration failed: ${error.message}`);
873
948
  }
874
949
  }
875
950
  async login(email, password) {
@@ -891,13 +966,14 @@ var AuthService = class extends BaseService {
891
966
  if (this._tokenManager) {
892
967
  this._tokenManager.setTokens(tokenData);
893
968
  }
969
+ this.updateContext({ authToken: tokens.accessToken });
894
970
  }
895
971
  if (response.success) {
896
972
  return response.data;
897
973
  }
898
974
  throw new Error(response.message);
899
975
  } catch (error) {
900
- throw new Error(`Login failed: ${error.message}`, { cause: error });
976
+ throw new Error(`Login failed: ${error.message}`);
901
977
  }
902
978
  }
903
979
  async logout() {
@@ -910,11 +986,13 @@ var AuthService = class extends BaseService {
910
986
  if (this._tokenManager) {
911
987
  this._tokenManager.clearTokens();
912
988
  }
989
+ this.updateContext({ authToken: null });
913
990
  } catch (error) {
914
991
  if (this._tokenManager) {
915
992
  this._tokenManager.clearTokens();
916
993
  }
917
- throw new Error(`Logout failed: ${error.message}`, { cause: error });
994
+ this.updateContext({ authToken: null });
995
+ throw new Error(`Logout failed: ${error.message}`);
918
996
  }
919
997
  }
920
998
  async refreshToken(refreshToken) {
@@ -929,7 +1007,7 @@ var AuthService = class extends BaseService {
929
1007
  }
930
1008
  throw new Error(response.message);
931
1009
  } catch (error) {
932
- throw new Error(`Token refresh failed: ${error.message}`, { cause: error });
1010
+ throw new Error(`Token refresh failed: ${error.message}`);
933
1011
  }
934
1012
  }
935
1013
  async googleAuth(idToken, inviteToken = null) {
@@ -955,13 +1033,14 @@ var AuthService = class extends BaseService {
955
1033
  if (this._tokenManager) {
956
1034
  this._tokenManager.setTokens(tokenData);
957
1035
  }
1036
+ this.updateContext({ authToken: tokens.accessToken });
958
1037
  }
959
1038
  if (response.success) {
960
1039
  return response.data;
961
1040
  }
962
1041
  throw new Error(response.message);
963
1042
  } catch (error) {
964
- throw new Error(`Google auth failed: ${error.message}`, { cause: error });
1043
+ throw new Error(`Google auth failed: ${error.message}`);
965
1044
  }
966
1045
  }
967
1046
  async githubAuth(code, inviteToken = null) {
@@ -987,13 +1066,14 @@ var AuthService = class extends BaseService {
987
1066
  if (this._tokenManager) {
988
1067
  this._tokenManager.setTokens(tokenData);
989
1068
  }
1069
+ this.updateContext({ authToken: tokens.accessToken });
990
1070
  }
991
1071
  if (response.success) {
992
1072
  return response.data;
993
1073
  }
994
1074
  throw new Error(response.message);
995
1075
  } catch (error) {
996
- throw new Error(`GitHub auth failed: ${error.message}`, { cause: error });
1076
+ throw new Error(`GitHub auth failed: ${error.message}`);
997
1077
  }
998
1078
  }
999
1079
  async googleAuthCallback(code, redirectUri, inviteToken = null) {
@@ -1019,13 +1099,14 @@ var AuthService = class extends BaseService {
1019
1099
  if (this._tokenManager) {
1020
1100
  this._tokenManager.setTokens(tokenData);
1021
1101
  }
1102
+ this.updateContext({ authToken: tokens.accessToken });
1022
1103
  }
1023
1104
  if (response.success) {
1024
1105
  return response.data;
1025
1106
  }
1026
1107
  throw new Error(response.message);
1027
1108
  } catch (error) {
1028
- throw new Error(`Google auth callback failed: ${error.message}`, { cause: error });
1109
+ throw new Error(`Google auth callback failed: ${error.message}`);
1029
1110
  }
1030
1111
  }
1031
1112
  async requestPasswordReset(email) {
@@ -1040,7 +1121,7 @@ var AuthService = class extends BaseService {
1040
1121
  }
1041
1122
  throw new Error(response.message);
1042
1123
  } catch (error) {
1043
- throw new Error(`Password reset request failed: ${error.message}`, { cause: error });
1124
+ throw new Error(`Password reset request failed: ${error.message}`);
1044
1125
  }
1045
1126
  }
1046
1127
  async confirmPasswordReset(token, password) {
@@ -1055,7 +1136,7 @@ var AuthService = class extends BaseService {
1055
1136
  }
1056
1137
  throw new Error(response.message);
1057
1138
  } catch (error) {
1058
- throw new Error(`Password reset confirmation failed: ${error.message}`, { cause: error });
1139
+ throw new Error(`Password reset confirmation failed: ${error.message}`);
1059
1140
  }
1060
1141
  }
1061
1142
  async confirmRegistration(token) {
@@ -1070,7 +1151,7 @@ var AuthService = class extends BaseService {
1070
1151
  }
1071
1152
  throw new Error(response.message);
1072
1153
  } catch (error) {
1073
- throw new Error(`Registration confirmation failed: ${error.message}`, { cause: error });
1154
+ throw new Error(`Registration confirmation failed: ${error.message}`);
1074
1155
  }
1075
1156
  }
1076
1157
  async requestPasswordChange() {
@@ -1085,7 +1166,7 @@ var AuthService = class extends BaseService {
1085
1166
  }
1086
1167
  throw new Error(response.message);
1087
1168
  } catch (error) {
1088
- throw new Error(`Password change request failed: ${error.message}`, { cause: error });
1169
+ throw new Error(`Password change request failed: ${error.message}`);
1089
1170
  }
1090
1171
  }
1091
1172
  async confirmPasswordChange(currentPassword, newPassword, code) {
@@ -1101,7 +1182,7 @@ var AuthService = class extends BaseService {
1101
1182
  }
1102
1183
  throw new Error(response.message);
1103
1184
  } catch (error) {
1104
- throw new Error(`Password change confirmation failed: ${error.message}`, { cause: error });
1185
+ throw new Error(`Password change confirmation failed: ${error.message}`);
1105
1186
  }
1106
1187
  }
1107
1188
  async getMe() {
@@ -1116,7 +1197,7 @@ var AuthService = class extends BaseService {
1116
1197
  }
1117
1198
  throw new Error(response.message);
1118
1199
  } catch (error) {
1119
- throw new Error(`Failed to get user profile: ${error.message}`, { cause: error });
1200
+ throw new Error(`Failed to get user profile: ${error.message}`);
1120
1201
  }
1121
1202
  }
1122
1203
  /**
@@ -1216,7 +1297,7 @@ var AuthService = class extends BaseService {
1216
1297
  }
1217
1298
  throw new Error(response.message);
1218
1299
  } catch (error) {
1219
- throw new Error(`Failed to get user profile: ${error.message}`, { cause: error });
1300
+ throw new Error(`Failed to get user profile: ${error.message}`);
1220
1301
  }
1221
1302
  }
1222
1303
  async updateUserProfile(profileData) {
@@ -1232,7 +1313,7 @@ var AuthService = class extends BaseService {
1232
1313
  }
1233
1314
  throw new Error(response.message);
1234
1315
  } catch (error) {
1235
- throw new Error(`Failed to update user profile: ${error.message}`, { cause: error });
1316
+ throw new Error(`Failed to update user profile: ${error.message}`);
1236
1317
  }
1237
1318
  }
1238
1319
  async getUserProjects() {
@@ -1255,7 +1336,7 @@ var AuthService = class extends BaseService {
1255
1336
  }
1256
1337
  throw new Error(response.message);
1257
1338
  } catch (error) {
1258
- throw new Error(`Failed to get user projects: ${error.message}`, { cause: error });
1339
+ throw new Error(`Failed to get user projects: ${error.message}`);
1259
1340
  }
1260
1341
  }
1261
1342
  async getUser(userId) {
@@ -1273,7 +1354,7 @@ var AuthService = class extends BaseService {
1273
1354
  }
1274
1355
  throw new Error(response.message);
1275
1356
  } catch (error) {
1276
- throw new Error(`Failed to get user: ${error.message}`, { cause: error });
1357
+ throw new Error(`Failed to get user: ${error.message}`);
1277
1358
  }
1278
1359
  }
1279
1360
  async getUserByEmail(email) {
@@ -1291,7 +1372,7 @@ var AuthService = class extends BaseService {
1291
1372
  }
1292
1373
  throw new Error(response.message);
1293
1374
  } catch (error) {
1294
- throw new Error(`Failed to get user by email: ${error.message}`, { cause: error });
1375
+ throw new Error(`Failed to get user by email: ${error.message}`);
1295
1376
  }
1296
1377
  }
1297
1378
  // ==================== PROJECT ROLE METHODS ====================
@@ -1304,9 +1385,6 @@ var AuthService = class extends BaseService {
1304
1385
  if (!projectId) {
1305
1386
  throw new Error("Project ID is required");
1306
1387
  }
1307
- if (!this.hasValidTokens()) {
1308
- return "guest";
1309
- }
1310
1388
  const cacheKey = `role_${projectId}`;
1311
1389
  const cached = this._projectRoleCache.get(cacheKey);
1312
1390
  if (cached && Date.now() - cached.timestamp < this._roleCacheExpiry) {
@@ -1327,11 +1405,7 @@ var AuthService = class extends BaseService {
1327
1405
  }
1328
1406
  throw new Error(response.message);
1329
1407
  } catch (error) {
1330
- const message = (error == null ? void 0 : error.message) || "";
1331
- if (/401|403|unauthorized|no token|invalid token/iu.test(message)) {
1332
- return "guest";
1333
- }
1334
- throw new Error(`Failed to get project role: ${message}`, { cause: error });
1408
+ throw new Error(`Failed to get project role: ${error.message}`);
1335
1409
  }
1336
1410
  }
1337
1411
  /**
@@ -1343,9 +1417,6 @@ var AuthService = class extends BaseService {
1343
1417
  if (!projectKey) {
1344
1418
  throw new Error("Project key is required");
1345
1419
  }
1346
- if (!this.hasValidTokens()) {
1347
- return "guest";
1348
- }
1349
1420
  const cacheKey = `role_key_${projectKey}`;
1350
1421
  const cached = this._projectRoleCache.get(cacheKey);
1351
1422
  if (cached && Date.now() - cached.timestamp < this._roleCacheExpiry) {
@@ -1366,11 +1437,7 @@ var AuthService = class extends BaseService {
1366
1437
  }
1367
1438
  throw new Error(response.message);
1368
1439
  } catch (error) {
1369
- const message = (error == null ? void 0 : error.message) || "";
1370
- if (/401|403|unauthorized|no token|invalid token/iu.test(message)) {
1371
- return "guest";
1372
- }
1373
- throw new Error(`Failed to get project role by key: ${message}`, { cause: error });
1440
+ throw new Error(`Failed to get project role by key: ${error.message}`);
1374
1441
  }
1375
1442
  }
1376
1443
  /**
@@ -1473,7 +1540,7 @@ var AuthService = class extends BaseService {
1473
1540
  try {
1474
1541
  return await this.getMe();
1475
1542
  } catch (error) {
1476
- throw new Error(`Failed to get current user: ${error.message}`, { cause: error });
1543
+ throw new Error(`Failed to get current user: ${error.message}`);
1477
1544
  }
1478
1545
  }
1479
1546
  /**
@@ -1630,6 +1697,7 @@ var AuthService = class extends BaseService {
1630
1697
  this._tokenManager = null;
1631
1698
  }
1632
1699
  this._projectRoleCache.clear();
1700
+ this._initialized = false;
1633
1701
  this._setReady(false);
1634
1702
  }
1635
1703
  };