@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
@@ -17488,28 +17488,18 @@ var CONFIG = {
17488
17488
  // For based api
17489
17489
  basedOrg: "symbols",
17490
17490
  // For based api
17491
- githubClientId: "Ov23liAFrsR0StbAO6PO",
17491
+ githubClientId: "Ov23liHxyWFBxS8f1gnF",
17492
17492
  // For github api
17493
17493
  // Environment-specific feature toggles (override common)
17494
17494
  features: {
17495
17495
  betaFeatures: true
17496
17496
  // Enable beta features in local dev
17497
- },
17498
- typesenseCollectionName: "docs",
17499
- typesenseApiKey: "vZya3L2zpq8L6iI5WWMUZJZABvT63VDb",
17500
- typesenseHost: "localhost",
17501
- typesensePort: "8108",
17502
- typesenseProtocol: "http"
17497
+ }
17503
17498
  },
17504
17499
  development: {
17505
17500
  socketUrl: "https://dev.api.symbols.app",
17506
17501
  apiUrl: "https://dev.api.symbols.app",
17507
- githubClientId: "Ov23liHxyWFBxS8f1gnF",
17508
- typesenseCollectionName: "docs",
17509
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
17510
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
17511
- typesensePort: "443",
17512
- typesenseProtocol: "https"
17502
+ githubClientId: "Ov23liHxyWFBxS8f1gnF"
17513
17503
  },
17514
17504
  testing: {
17515
17505
  socketUrl: "https://test.api.symbols.app",
@@ -17517,22 +17507,12 @@ var CONFIG = {
17517
17507
  basedEnv: "testing",
17518
17508
  basedProject: "platform-v2-sm",
17519
17509
  basedOrg: "symbols",
17520
- githubClientId: "Ov23liHxyWFBxS8f1gnF",
17521
- typesenseCollectionName: "docs",
17522
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
17523
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
17524
- typesensePort: "443",
17525
- typesenseProtocol: "https"
17510
+ githubClientId: "Ov23liHxyWFBxS8f1gnF"
17526
17511
  },
17527
17512
  upcoming: {
17528
17513
  socketUrl: "https://upcoming.api.symbols.app",
17529
17514
  apiUrl: "https://upcoming.api.symbols.app",
17530
- githubClientId: "Ov23liWF7NvdZ056RV5J",
17531
- typesenseCollectionName: "docs",
17532
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
17533
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
17534
- typesensePort: "443",
17535
- typesenseProtocol: "https"
17515
+ githubClientId: "Ov23liWF7NvdZ056RV5J"
17536
17516
  },
17537
17517
  staging: {
17538
17518
  socketUrl: "https://staging.api.symbols.app",
@@ -17540,12 +17520,7 @@ var CONFIG = {
17540
17520
  basedEnv: "staging",
17541
17521
  basedProject: "platform-v2-sm",
17542
17522
  basedOrg: "symbols",
17543
- githubClientId: "Ov23ligwZDQVD0VfuWNa",
17544
- typesenseCollectionName: "docs",
17545
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
17546
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
17547
- typesensePort: "443",
17548
- typesenseProtocol: "https"
17523
+ githubClientId: "Ov23ligwZDQVD0VfuWNa"
17549
17524
  },
17550
17525
  production: {
17551
17526
  socketUrl: "https://api.symbols.app",
@@ -17553,12 +17528,7 @@ var CONFIG = {
17553
17528
  basedEnv: "production",
17554
17529
  basedProject: "platform-v2-sm",
17555
17530
  basedOrg: "symbols",
17556
- githubClientId: "Ov23liFAlOEIXtX3dBtR",
17557
- typesenseCollectionName: "docs",
17558
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
17559
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
17560
- typesensePort: "443",
17561
- typesenseProtocol: "https"
17531
+ githubClientId: "Ov23liFAlOEIXtX3dBtR"
17562
17532
  }
17563
17533
  };
17564
17534
  var getEnvironment = () => {
@@ -17580,11 +17550,6 @@ var getConfig = () => {
17580
17550
  basedProject: process.env.SYMBOLS_APP_BASED_PROJECT || envConfig.basedProject,
17581
17551
  basedOrg: process.env.SYMBOLS_APP_BASED_ORG || envConfig.basedOrg,
17582
17552
  githubClientId: process.env.SYMBOLS_APP_GITHUB_CLIENT_ID || envConfig.githubClientId,
17583
- typesenseCollectionName: process.env.TYPESENSE_COLLECTION_NAME || envConfig.typesenseCollectionName,
17584
- typesenseApiKey: process.env.TYPESENSE_API_KEY || envConfig.typesenseApiKey,
17585
- typesenseHost: process.env.TYPESENSE_HOST || envConfig.typesenseHost,
17586
- typesensePort: process.env.TYPESENSE_PORT || envConfig.typesensePort,
17587
- typesenseProtocol: process.env.TYPESENSE_PROTOCOL || envConfig.typesenseProtocol,
17588
17553
  isDevelopment: isDevelopment(env),
17589
17554
  isTesting: env === "testing",
17590
17555
  isStaging: env === "staging",
@@ -17604,7 +17569,7 @@ var getConfig = () => {
17604
17569
  );
17605
17570
  }
17606
17571
  if (finalConfig.isDevelopment) {
17607
- console.warn(
17572
+ console.log(
17608
17573
  "environment in SDK:",
17609
17574
  env || process.env.NODE_ENV || process.env.NODE_ENV
17610
17575
  );
@@ -23,7 +23,7 @@ var TokenManager = class {
23
23
  });
24
24
  this.config = {
25
25
  storagePrefix: "symbols_",
26
- storageType: typeof window === "undefined" || process.env.NODE_ENV === "test" || process.env.NODE_ENV === "testing" ? "memory" : "localStorage",
26
+ storageType: typeof window === "undefined" || process.env.NODE_ENV === "test" ? "memory" : "localStorage",
27
27
  // 'localStorage' | 'sessionStorage' | 'memory'
28
28
  refreshBuffer: 60 * 1e3,
29
29
  // Refresh 1 minute before expiry
@@ -63,26 +63,15 @@ var TokenManager = class {
63
63
  if (typeof window === "undefined") {
64
64
  return this._memoryStorage;
65
65
  }
66
- const safeGetStorage = (provider) => {
67
- try {
68
- const storage = provider();
69
- const testKey = `${this.config.storagePrefix}__tm_test__`;
70
- storage.setItem(testKey, "1");
71
- storage.removeItem(testKey);
72
- return storage;
73
- } catch {
74
- return null;
75
- }
76
- };
77
- const localStorageInstance = safeGetStorage(() => window.localStorage);
78
- const sessionStorageInstance = safeGetStorage(() => window.sessionStorage);
66
+ const hasLocalStorage = typeof window.localStorage !== "undefined";
67
+ const hasSessionStorage = typeof window.sessionStorage !== "undefined";
79
68
  switch (this.config.storageType) {
80
69
  case "sessionStorage":
81
- return sessionStorageInstance || this._memoryStorage;
70
+ return hasSessionStorage ? window.sessionStorage : this._memoryStorage;
82
71
  case "memory":
83
72
  return this._memoryStorage;
84
73
  default:
85
- return localStorageInstance || this._memoryStorage;
74
+ return hasLocalStorage ? window.localStorage : this._memoryStorage;
86
75
  }
87
76
  }
88
77
  /**
@@ -224,20 +224,7 @@ var SERVICE_METHODS = {
224
224
  promoteToAdmin: "admin",
225
225
  demoteFromAdmin: "admin",
226
226
  // Utility methods
227
- getHealthStatus: "core",
228
- // Screenshot methods
229
- createScreenshotProject: "screenshot",
230
- getProjectScreenshots: "screenshot",
231
- reprocessProjectScreenshots: "screenshot",
232
- recreateProjectScreenshots: "screenshot",
233
- deleteProjectScreenshots: "screenshot",
234
- getThumbnailCandidate: "screenshot",
235
- updateProjectThumbnail: "screenshot",
236
- getPageScreenshot: "screenshot",
237
- getComponentScreenshot: "screenshot",
238
- getScreenshotByKey: "screenshot",
239
- getQueueStatistics: "screenshot",
240
- refreshThumbnail: "screenshot"
227
+ getHealthStatus: "core"
241
228
  };
242
229
  export {
243
230
  SERVICE_METHODS
@@ -23,28 +23,18 @@ const CONFIG = {
23
23
  // For based api
24
24
  basedOrg: "symbols",
25
25
  // For based api
26
- githubClientId: "Ov23liAFrsR0StbAO6PO",
26
+ githubClientId: "Ov23liHxyWFBxS8f1gnF",
27
27
  // For github api
28
28
  // Environment-specific feature toggles (override common)
29
29
  features: {
30
30
  betaFeatures: true
31
31
  // Enable beta features in local dev
32
- },
33
- typesenseCollectionName: "docs",
34
- typesenseApiKey: "vZya3L2zpq8L6iI5WWMUZJZABvT63VDb",
35
- typesenseHost: "localhost",
36
- typesensePort: "8108",
37
- typesenseProtocol: "http"
32
+ }
38
33
  },
39
34
  development: {
40
35
  socketUrl: "https://dev.api.symbols.app",
41
36
  apiUrl: "https://dev.api.symbols.app",
42
- githubClientId: "Ov23liHxyWFBxS8f1gnF",
43
- typesenseCollectionName: "docs",
44
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
45
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
46
- typesensePort: "443",
47
- typesenseProtocol: "https"
37
+ githubClientId: "Ov23liHxyWFBxS8f1gnF"
48
38
  },
49
39
  testing: {
50
40
  socketUrl: "https://test.api.symbols.app",
@@ -52,22 +42,12 @@ const CONFIG = {
52
42
  basedEnv: "testing",
53
43
  basedProject: "platform-v2-sm",
54
44
  basedOrg: "symbols",
55
- githubClientId: "Ov23liHxyWFBxS8f1gnF",
56
- typesenseCollectionName: "docs",
57
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
58
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
59
- typesensePort: "443",
60
- typesenseProtocol: "https"
45
+ githubClientId: "Ov23liHxyWFBxS8f1gnF"
61
46
  },
62
47
  upcoming: {
63
48
  socketUrl: "https://upcoming.api.symbols.app",
64
49
  apiUrl: "https://upcoming.api.symbols.app",
65
- githubClientId: "Ov23liWF7NvdZ056RV5J",
66
- typesenseCollectionName: "docs",
67
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
68
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
69
- typesensePort: "443",
70
- typesenseProtocol: "https"
50
+ githubClientId: "Ov23liWF7NvdZ056RV5J"
71
51
  },
72
52
  staging: {
73
53
  socketUrl: "https://staging.api.symbols.app",
@@ -75,12 +55,7 @@ const CONFIG = {
75
55
  basedEnv: "staging",
76
56
  basedProject: "platform-v2-sm",
77
57
  basedOrg: "symbols",
78
- githubClientId: "Ov23ligwZDQVD0VfuWNa",
79
- typesenseCollectionName: "docs",
80
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
81
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
82
- typesensePort: "443",
83
- typesenseProtocol: "https"
58
+ githubClientId: "Ov23ligwZDQVD0VfuWNa"
84
59
  },
85
60
  production: {
86
61
  socketUrl: "https://api.symbols.app",
@@ -88,12 +63,7 @@ const CONFIG = {
88
63
  basedEnv: "production",
89
64
  basedProject: "platform-v2-sm",
90
65
  basedOrg: "symbols",
91
- githubClientId: "Ov23liFAlOEIXtX3dBtR",
92
- typesenseCollectionName: "docs",
93
- typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
94
- typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
95
- typesensePort: "443",
96
- typesenseProtocol: "https"
66
+ githubClientId: "Ov23liFAlOEIXtX3dBtR"
97
67
  }
98
68
  };
99
69
  const getEnvironment = () => {
@@ -116,11 +86,6 @@ const getConfig = () => {
116
86
  basedProject: process.env.SYMBOLS_APP_BASED_PROJECT || envConfig.basedProject,
117
87
  basedOrg: process.env.SYMBOLS_APP_BASED_ORG || envConfig.basedOrg,
118
88
  githubClientId: process.env.SYMBOLS_APP_GITHUB_CLIENT_ID || envConfig.githubClientId,
119
- typesenseCollectionName: process.env.TYPESENSE_COLLECTION_NAME || envConfig.typesenseCollectionName,
120
- typesenseApiKey: process.env.TYPESENSE_API_KEY || envConfig.typesenseApiKey,
121
- typesenseHost: process.env.TYPESENSE_HOST || envConfig.typesenseHost,
122
- typesensePort: process.env.TYPESENSE_PORT || envConfig.typesensePort,
123
- typesenseProtocol: process.env.TYPESENSE_PROTOCOL || envConfig.typesenseProtocol,
124
89
  isDevelopment: isDevelopment(env),
125
90
  isTesting: env === "testing",
126
91
  isStaging: env === "staging",
@@ -140,7 +105,7 @@ const getConfig = () => {
140
105
  );
141
106
  }
142
107
  if (finalConfig.isDevelopment) {
143
- console.warn(
108
+ console.log(
144
109
  "environment in SDK:",
145
110
  env || process.env.NODE_ENV || process.env.NODE_ENV
146
111
  );
@@ -10,18 +10,15 @@ import {
10
10
  createBranchService,
11
11
  createPullRequestService,
12
12
  createAdminService,
13
- createSubscriptionService,
14
- createScreenshotService
13
+ createSubscriptionService
15
14
  } from "./services/index.js";
16
15
  import { SERVICE_METHODS } from "./utils/services.js";
17
16
  import environment from "./config/environment.js";
18
- import { rootBus } from "./state/rootEventBus.js";
19
17
  class SDK {
20
18
  constructor(options = {}) {
21
19
  this._services = /* @__PURE__ */ new Map();
22
20
  this._context = {};
23
21
  this._options = this._validateOptions(options);
24
- this.rootBus = rootBus;
25
22
  this._createServiceProxies();
26
23
  }
27
24
  // Initialize SDK with context
@@ -115,13 +112,6 @@ class SDK {
115
112
  context: this._context,
116
113
  options: this._options
117
114
  })
118
- ),
119
- this._initService(
120
- "screenshot",
121
- createScreenshotService({
122
- context: this._context,
123
- options: this._options
124
- })
125
115
  )
126
116
  ]);
127
117
  return this;
@@ -159,10 +149,9 @@ class SDK {
159
149
  }
160
150
  // Update context
161
151
  updateContext(newContext) {
162
- const { authToken, ...sanitized } = newContext || {};
163
152
  this._context = {
164
153
  ...this._context,
165
- ...sanitized
154
+ ...newContext
166
155
  };
167
156
  for (const service of this._services.values()) {
168
157
  service.updateContext(this._context);
@@ -171,7 +160,9 @@ class SDK {
171
160
  // Check if SDK is ready
172
161
  isReady() {
173
162
  const sdkServices = Array.from(this._services.values());
174
- return sdkServices.length > 0 && sdkServices.every((service) => service.isReady());
163
+ return sdkServices.length > 0 && sdkServices.every(
164
+ (service) => service.isReady()
165
+ );
175
166
  }
176
167
  // Get SDK status
177
168
  getStatus() {
@@ -51,7 +51,7 @@ class AdminService extends BaseService {
51
51
  }
52
52
  throw new Error(response.message);
53
53
  } catch (error) {
54
- throw new Error(`Failed to get admin users: ${error.message}`, { cause: error });
54
+ throw new Error(`Failed to get admin users: ${error.message}`);
55
55
  }
56
56
  }
57
57
  /**
@@ -82,7 +82,7 @@ class AdminService extends BaseService {
82
82
  }
83
83
  throw new Error(response.message);
84
84
  } catch (error) {
85
- throw new Error(`Failed to assign projects to user: ${error.message}`, { cause: error });
85
+ throw new Error(`Failed to assign projects to user: ${error.message}`);
86
86
  }
87
87
  }
88
88
  /**
@@ -111,7 +111,7 @@ class AdminService extends BaseService {
111
111
  if ((_a = error.message) == null ? void 0 : _a.includes("Duplicate")) {
112
112
  throw new Error("Username already exists");
113
113
  }
114
- throw new Error(`Failed to update user: ${error.message}`, { cause: error });
114
+ throw new Error(`Failed to update user: ${error.message}`);
115
115
  }
116
116
  }
117
117
  // ==================== ADMIN HELPER METHODS ====================
@@ -241,7 +241,7 @@ class AdminService extends BaseService {
241
241
  });
242
242
  return stats;
243
243
  } catch (error) {
244
- throw new Error(`Failed to get user stats: ${error.message}`, { cause: error });
244
+ throw new Error(`Failed to get user stats: ${error.message}`);
245
245
  }
246
246
  }
247
247
  /**