@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
@@ -721,7 +688,7 @@ var PlanService = class extends BaseService {
721
688
  }
722
689
  throw new Error(response.message);
723
690
  } catch (error) {
724
- throw new Error(`Failed to get plans: ${error.message}`, { cause: error });
691
+ throw new Error(`Failed to get plans: ${error.message}`);
725
692
  }
726
693
  }
727
694
  /**
@@ -741,7 +708,7 @@ var PlanService = class extends BaseService {
741
708
  }
742
709
  throw new Error(response.message);
743
710
  } catch (error) {
744
- throw new Error(`Failed to get plan: ${error.message}`, { cause: error });
711
+ throw new Error(`Failed to get plan: ${error.message}`);
745
712
  }
746
713
  }
747
714
  // ==================== ADMIN PLAN METHODS ====================
@@ -760,7 +727,7 @@ var PlanService = class extends BaseService {
760
727
  }
761
728
  throw new Error(response.message);
762
729
  } catch (error) {
763
- throw new Error(`Failed to get admin plans: ${error.message}`, { cause: error });
730
+ throw new Error(`Failed to get admin plans: ${error.message}`);
764
731
  }
765
732
  }
766
733
  /**
@@ -782,7 +749,7 @@ var PlanService = class extends BaseService {
782
749
  }
783
750
  throw new Error(response.message);
784
751
  } catch (error) {
785
- throw new Error(`Failed to create plan: ${error.message}`, { cause: error });
752
+ throw new Error(`Failed to create plan: ${error.message}`);
786
753
  }
787
754
  }
788
755
  /**
@@ -807,7 +774,7 @@ var PlanService = class extends BaseService {
807
774
  }
808
775
  throw new Error(response.message);
809
776
  } catch (error) {
810
- throw new Error(`Failed to update plan: ${error.message}`, { cause: error });
777
+ throw new Error(`Failed to update plan: ${error.message}`);
811
778
  }
812
779
  }
813
780
  /**
@@ -828,7 +795,7 @@ var PlanService = class extends BaseService {
828
795
  }
829
796
  throw new Error(response.message);
830
797
  } catch (error) {
831
- throw new Error(`Failed to delete plan: ${error.message}`, { cause: error });
798
+ throw new Error(`Failed to delete plan: ${error.message}`);
832
799
  }
833
800
  }
834
801
  /**
@@ -846,7 +813,7 @@ var PlanService = class extends BaseService {
846
813
  }
847
814
  throw new Error(response.message);
848
815
  } catch (error) {
849
- throw new Error(`Failed to initialize plans: ${error.message}`, { cause: error });
816
+ throw new Error(`Failed to initialize plans: ${error.message}`);
850
817
  }
851
818
  }
852
819
  // ==================== PLAN HELPER METHODS ====================
@@ -861,7 +828,7 @@ var PlanService = class extends BaseService {
861
828
  }
862
829
  return plans;
863
830
  } catch (error) {
864
- throw new Error(`Failed to get plans with validation: ${error.message}`, { cause: error });
831
+ throw new Error(`Failed to get plans with validation: ${error.message}`);
865
832
  }
866
833
  }
867
834
  /**
@@ -878,7 +845,7 @@ var PlanService = class extends BaseService {
878
845
  }
879
846
  return plan;
880
847
  } catch (error) {
881
- throw new Error(`Failed to get plan with validation: ${error.message}`, { cause: error });
848
+ throw new Error(`Failed to get plan with validation: ${error.message}`);
882
849
  }
883
850
  }
884
851
  /**
@@ -930,7 +897,7 @@ var PlanService = class extends BaseService {
930
897
  const plans = await this.getPlans();
931
898
  return plans.filter((plan) => plan.active !== false);
932
899
  } catch (error) {
933
- throw new Error(`Failed to get active plans: ${error.message}`, { cause: error });
900
+ throw new Error(`Failed to get active plans: ${error.message}`);
934
901
  }
935
902
  }
936
903
  /**
@@ -944,7 +911,7 @@ var PlanService = class extends BaseService {
944
911
  return price >= minPrice && price <= maxPrice;
945
912
  });
946
913
  } catch (error) {
947
- throw new Error(`Failed to get plans by price range: ${error.message}`, { cause: error });
914
+ throw new Error(`Failed to get plans by price range: ${error.message}`);
948
915
  }
949
916
  }
950
917
  /**
@@ -962,7 +929,7 @@ var PlanService = class extends BaseService {
962
929
  }
963
930
  return plan;
964
931
  } catch (error) {
965
- throw new Error(`Failed to get plan by key: ${error.message}`, { cause: error });
932
+ throw new Error(`Failed to get plan by key: ${error.message}`);
966
933
  }
967
934
  }
968
935
  };