@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
@@ -23,26 +23,16 @@ const CONFIG = {
23
23
  basedEnv: 'development', // For based api
24
24
  basedProject: 'platform-v2-sm', // For based api
25
25
  basedOrg: 'symbols', // For based api
26
- githubClientId: 'Ov23liAFrsR0StbAO6PO', // For github api
26
+ githubClientId: 'Ov23liHxyWFBxS8f1gnF', // For github api
27
27
  // Environment-specific feature toggles (override common)
28
28
  features: {
29
29
  betaFeatures: true // Enable beta features in local dev
30
- },
31
- typesenseCollectionName: 'docs',
32
- typesenseApiKey: 'vZya3L2zpq8L6iI5WWMUZJZABvT63VDb',
33
- typesenseHost: 'localhost',
34
- typesensePort: '8108',
35
- typesenseProtocol: 'http'
30
+ }
36
31
  },
37
32
  development: {
38
33
  socketUrl: 'https://dev.api.symbols.app',
39
34
  apiUrl: 'https://dev.api.symbols.app',
40
- githubClientId: 'Ov23liHxyWFBxS8f1gnF',
41
- typesenseCollectionName: 'docs',
42
- typesenseApiKey: 'awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA',
43
- typesenseHost: 'tl2qpnwxev4cjm36p-1.a1.typesense.net',
44
- typesensePort: '443',
45
- typesenseProtocol: 'https'
35
+ githubClientId: 'Ov23liHxyWFBxS8f1gnF'
46
36
  },
47
37
  testing: {
48
38
  socketUrl: 'https://test.api.symbols.app',
@@ -50,22 +40,12 @@ const CONFIG = {
50
40
  basedEnv: 'testing',
51
41
  basedProject: 'platform-v2-sm',
52
42
  basedOrg: 'symbols',
53
- githubClientId: 'Ov23liHxyWFBxS8f1gnF',
54
- typesenseCollectionName: 'docs',
55
- typesenseApiKey: 'awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA',
56
- typesenseHost: 'tl2qpnwxev4cjm36p-1.a1.typesense.net',
57
- typesensePort: '443',
58
- typesenseProtocol: 'https'
43
+ githubClientId: 'Ov23liHxyWFBxS8f1gnF'
59
44
  },
60
45
  upcoming: {
61
46
  socketUrl: 'https://upcoming.api.symbols.app',
62
47
  apiUrl: 'https://upcoming.api.symbols.app',
63
- githubClientId: 'Ov23liWF7NvdZ056RV5J',
64
- typesenseCollectionName: 'docs',
65
- typesenseApiKey: 'awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA',
66
- typesenseHost: 'tl2qpnwxev4cjm36p-1.a1.typesense.net',
67
- typesensePort: '443',
68
- typesenseProtocol: 'https'
48
+ githubClientId: 'Ov23liWF7NvdZ056RV5J'
69
49
  },
70
50
  staging: {
71
51
  socketUrl: 'https://staging.api.symbols.app',
@@ -73,12 +53,7 @@ const CONFIG = {
73
53
  basedEnv: 'staging',
74
54
  basedProject: 'platform-v2-sm',
75
55
  basedOrg: 'symbols',
76
- githubClientId: 'Ov23ligwZDQVD0VfuWNa',
77
- typesenseCollectionName: 'docs',
78
- typesenseApiKey: 'awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA',
79
- typesenseHost: 'tl2qpnwxev4cjm36p-1.a1.typesense.net',
80
- typesensePort: '443',
81
- typesenseProtocol: 'https'
56
+ githubClientId: 'Ov23ligwZDQVD0VfuWNa'
82
57
  },
83
58
  production: {
84
59
  socketUrl: 'https://api.symbols.app',
@@ -86,12 +61,7 @@ const CONFIG = {
86
61
  basedEnv: 'production',
87
62
  basedProject: 'platform-v2-sm',
88
63
  basedOrg: 'symbols',
89
- githubClientId: 'Ov23liFAlOEIXtX3dBtR',
90
- typesenseCollectionName: 'docs',
91
- typesenseApiKey: 'awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA',
92
- typesenseHost: 'tl2qpnwxev4cjm36p-1.a1.typesense.net',
93
- typesensePort: '443',
94
- typesenseProtocol: 'https'
64
+ githubClientId: 'Ov23liFAlOEIXtX3dBtR'
95
65
  }
96
66
  }
97
67
 
@@ -125,15 +95,6 @@ export const getConfig = () => {
125
95
  basedOrg: process.env.SYMBOLS_APP_BASED_ORG || envConfig.basedOrg,
126
96
  githubClientId:
127
97
  process.env.SYMBOLS_APP_GITHUB_CLIENT_ID || envConfig.githubClientId,
128
- typesenseCollectionName:
129
- process.env.TYPESENSE_COLLECTION_NAME ||
130
- envConfig.typesenseCollectionName,
131
- typesenseApiKey:
132
- process.env.TYPESENSE_API_KEY || envConfig.typesenseApiKey,
133
- typesenseHost: process.env.TYPESENSE_HOST || envConfig.typesenseHost,
134
- typesensePort: process.env.TYPESENSE_PORT || envConfig.typesensePort,
135
- typesenseProtocol:
136
- process.env.TYPESENSE_PROTOCOL || envConfig.typesenseProtocol,
137
98
  isDevelopment: isDevelopment(env),
138
99
  isTesting: env === 'testing',
139
100
  isStaging: env === 'staging',
@@ -149,7 +110,7 @@ export const getConfig = () => {
149
110
  'googleClientId'
150
111
  ]
151
112
 
152
- const missingFields = requiredFields.filter((field) => !finalConfig[field])
113
+ const missingFields = requiredFields.filter(field => !finalConfig[field])
153
114
 
154
115
  if (missingFields.length > 0) {
155
116
  console.error(
@@ -158,7 +119,7 @@ export const getConfig = () => {
158
119
  }
159
120
 
160
121
  if (finalConfig.isDevelopment) {
161
- console.warn(
122
+ console.log(
162
123
  'environment in SDK:',
163
124
  env || process.env.NODE_ENV || process.env.NODE_ENV
164
125
  )
package/src/index.js CHANGED
@@ -10,29 +10,24 @@ import {
10
10
  createBranchService,
11
11
  createPullRequestService,
12
12
  createAdminService,
13
- createSubscriptionService,
14
- createScreenshotService
13
+ createSubscriptionService
15
14
  } from './services/index.js'
16
15
 
17
16
  import { SERVICE_METHODS } from './utils/services.js'
18
17
  import environment from './config/environment.js'
19
- import { rootBus } from './state/rootEventBus.js'
20
18
 
21
19
  export class SDK {
22
- constructor(options = {}) {
20
+ constructor (options = {}) {
23
21
  this._services = new Map()
24
22
  this._context = {}
25
23
  this._options = this._validateOptions(options)
26
24
 
27
- // Expose root event bus on SDK instance
28
- this.rootBus = rootBus
29
-
30
25
  // Create proxy methods for direct service access
31
26
  this._createServiceProxies()
32
27
  }
33
28
 
34
29
  // Initialize SDK with context
35
- async initialize(context = {}) {
30
+ async initialize (context = {}) {
36
31
  this._context = {
37
32
  ...this._context,
38
33
  ...context
@@ -125,13 +120,6 @@ export class SDK {
125
120
  context: this._context,
126
121
  options: this._options
127
122
  })
128
- ),
129
- this._initService(
130
- 'screenshot',
131
- createScreenshotService({
132
- context: this._context,
133
- options: this._options
134
- })
135
123
  )
136
124
  ])
137
125
 
@@ -139,7 +127,7 @@ export class SDK {
139
127
  }
140
128
 
141
129
  // Private helper to initialize a service
142
- async _initService(name, service) {
130
+ async _initService (name, service) {
143
131
  // Add service reference to context for inter-service communication
144
132
  this._context.services = {
145
133
  ...this._context.services,
@@ -155,7 +143,7 @@ export class SDK {
155
143
  this._services.set(name, service)
156
144
  }
157
145
 
158
- _validateOptions(options) {
146
+ _validateOptions (options) {
159
147
  const defaults = {
160
148
  useNewServices: true, // Use new service implementations by default
161
149
  apiUrl: environment.apiUrl,
@@ -169,7 +157,7 @@ export class SDK {
169
157
  }
170
158
 
171
159
  // Get service instance
172
- getService(name) {
160
+ getService (name) {
173
161
  if (!this._services.has(name)) {
174
162
  throw new Error(`Service '${name}' not found`)
175
163
  }
@@ -177,13 +165,10 @@ export class SDK {
177
165
  }
178
166
 
179
167
  // Update context
180
- updateContext(newContext) {
181
- // Do not persist authToken in SDK context; TokenManager is the source of truth
182
- const { authToken, ...sanitized } = newContext || {}
183
-
168
+ updateContext (newContext) {
184
169
  this._context = {
185
170
  ...this._context,
186
- ...sanitized
171
+ ...newContext
187
172
  }
188
173
 
189
174
  // Update context for all services
@@ -193,16 +178,15 @@ export class SDK {
193
178
  }
194
179
 
195
180
  // Check if SDK is ready
196
- isReady() {
181
+ isReady () {
197
182
  const sdkServices = Array.from(this._services.values())
198
- return (
199
- sdkServices.length > 0 &&
200
- sdkServices.every((service) => service.isReady())
183
+ return sdkServices.length > 0 && sdkServices.every(service =>
184
+ service.isReady()
201
185
  )
202
186
  }
203
187
 
204
188
  // Get SDK status
205
- getStatus() {
189
+ getStatus () {
206
190
  return {
207
191
  ready: this.isReady(),
208
192
  services: Array.from(this._services.entries()).map(([name, service]) => ({
@@ -214,7 +198,7 @@ export class SDK {
214
198
  }
215
199
 
216
200
  // Create proxy methods for direct service access
217
- _createServiceProxies() {
201
+ _createServiceProxies () {
218
202
  for (const [methodName, serviceName] of Object.entries(SERVICE_METHODS)) {
219
203
  // Skip if method already exists on SDK
220
204
  if (!this[methodName]) {
@@ -242,20 +226,20 @@ export class SDK {
242
226
  const destroyPromises = Array.from(this._services.entries())
243
227
  .filter(([, service]) => typeof service.destroy === 'function')
244
228
  .map(async ([name, service]) => {
245
- await service.destroy()
246
- console.log(`Service ${name} destroyed successfully`)
247
- })
229
+ await service.destroy();
230
+ console.log(`Service ${name} destroyed successfully`);
231
+ });
248
232
 
249
- await Promise.all(destroyPromises)
233
+ await Promise.all(destroyPromises);
250
234
 
251
235
  // Clear services and reset state
252
- this._services.clear()
253
- this._context = {}
236
+ this._services.clear();
237
+ this._context = {};
254
238
 
255
- return true
239
+ return true;
256
240
  } catch (error) {
257
- console.error('Error during SDK destruction:', error)
258
- throw error
241
+ console.error('Error during SDK destruction:', error);
242
+ throw error;
259
243
  }
260
244
  }
261
245
  }
@@ -59,7 +59,7 @@ export class AdminService extends BaseService {
59
59
  }
60
60
  throw new Error(response.message)
61
61
  } catch (error) {
62
- throw new Error(`Failed to get admin users: ${error.message}`, { cause: error })
62
+ throw new Error(`Failed to get admin users: ${error.message}`)
63
63
  }
64
64
  }
65
65
 
@@ -97,7 +97,7 @@ export class AdminService extends BaseService {
97
97
  }
98
98
  throw new Error(response.message)
99
99
  } catch (error) {
100
- throw new Error(`Failed to assign projects to user: ${error.message}`, { cause: error })
100
+ throw new Error(`Failed to assign projects to user: ${error.message}`)
101
101
  }
102
102
  }
103
103
 
@@ -132,7 +132,7 @@ export class AdminService extends BaseService {
132
132
  if (error.message?.includes('Duplicate')) {
133
133
  throw new Error('Username already exists')
134
134
  }
135
- throw new Error(`Failed to update user: ${error.message}`, { cause: error })
135
+ throw new Error(`Failed to update user: ${error.message}`)
136
136
  }
137
137
  }
138
138
 
@@ -274,7 +274,7 @@ export class AdminService extends BaseService {
274
274
 
275
275
  return stats
276
276
  } catch (error) {
277
- throw new Error(`Failed to get user stats: ${error.message}`, { cause: error })
277
+ throw new Error(`Failed to get user stats: ${error.message}`)
278
278
  }
279
279
  }
280
280