@symbo.ls/sdk 2.32.11 → 2.32.13

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 (50) hide show
  1. package/README.md +141 -0
  2. package/dist/cjs/config/environment.js +18 -7
  3. package/dist/cjs/index.js +38 -12
  4. package/dist/cjs/services/BaseService.js +46 -0
  5. package/dist/cjs/services/DnsService.js +6 -5
  6. package/dist/cjs/services/TrackingService.js +661 -0
  7. package/dist/cjs/services/index.js +5 -5
  8. package/dist/cjs/utils/changePreprocessor.js +8 -1
  9. package/dist/cjs/utils/services.js +27 -3
  10. package/dist/esm/config/environment.js +18 -7
  11. package/dist/esm/index.js +20747 -5912
  12. package/dist/esm/services/AdminService.js +64 -7
  13. package/dist/esm/services/AuthService.js +64 -7
  14. package/dist/esm/services/BaseService.js +64 -7
  15. package/dist/esm/services/BranchService.js +64 -7
  16. package/dist/esm/services/CollabService.js +72 -8
  17. package/dist/esm/services/DnsService.js +70 -12
  18. package/dist/esm/services/FileService.js +64 -7
  19. package/dist/esm/services/PaymentService.js +64 -7
  20. package/dist/esm/services/PlanService.js +64 -7
  21. package/dist/esm/services/ProjectService.js +72 -8
  22. package/dist/esm/services/PullRequestService.js +64 -7
  23. package/dist/esm/services/ScreenshotService.js +64 -7
  24. package/dist/esm/services/SubscriptionService.js +64 -7
  25. package/dist/esm/services/TrackingService.js +18321 -0
  26. package/dist/esm/services/index.js +20667 -5882
  27. package/dist/esm/utils/CollabClient.js +18 -7
  28. package/dist/esm/utils/changePreprocessor.js +8 -1
  29. package/dist/esm/utils/services.js +27 -3
  30. package/dist/node/config/environment.js +18 -7
  31. package/dist/node/index.js +42 -16
  32. package/dist/node/services/BaseService.js +46 -0
  33. package/dist/node/services/DnsService.js +6 -5
  34. package/dist/node/services/TrackingService.js +632 -0
  35. package/dist/node/services/index.js +5 -5
  36. package/dist/node/utils/changePreprocessor.js +8 -1
  37. package/dist/node/utils/services.js +27 -3
  38. package/package.json +8 -6
  39. package/src/config/environment.js +19 -11
  40. package/src/index.js +44 -14
  41. package/src/services/BaseService.js +43 -0
  42. package/src/services/DnsService.js +5 -5
  43. package/src/services/TrackingService.js +853 -0
  44. package/src/services/index.js +6 -5
  45. package/src/utils/changePreprocessor.js +25 -1
  46. package/src/utils/services.js +28 -4
  47. package/dist/cjs/services/CoreService.js +0 -2818
  48. package/dist/esm/services/CoreService.js +0 -3513
  49. package/dist/node/services/CoreService.js +0 -2789
  50. package/src/services/CoreService.js +0 -3208
@@ -1,6 +1,5 @@
1
1
 
2
2
  import { AuthService } from './AuthService.js'
3
- import { CoreService } from './CoreService.js'
4
3
  import { CollabService } from './CollabService.js'
5
4
  import { ProjectService } from './ProjectService.js'
6
5
  import { PlanService } from './PlanService.js'
@@ -12,14 +11,13 @@ import { BranchService } from './BranchService.js'
12
11
  import { PullRequestService } from './PullRequestService.js'
13
12
  import { AdminService } from './AdminService.js'
14
13
  import { ScreenshotService } from './ScreenshotService.js'
14
+ import { TrackingService } from './TrackingService.js'
15
15
 
16
16
  const createService = (ServiceClass, config) => new ServiceClass(config)
17
17
 
18
18
  // Export service creators
19
19
  export const createAuthService = config => createService(AuthService, config)
20
20
 
21
- export const createCoreService = config => createService(CoreService, config)
22
-
23
21
  export const createCollabService = config =>
24
22
  createService(CollabService, config)
25
23
 
@@ -53,9 +51,11 @@ export const createAdminService = config =>
53
51
  export const createScreenshotService = config =>
54
52
  createService(ScreenshotService, config)
55
53
 
54
+ export const createTrackingService = config =>
55
+ createService(TrackingService, config)
56
+
56
57
  export {
57
58
  AuthService,
58
- CoreService,
59
59
  CollabService,
60
60
  ProjectService,
61
61
  PlanService,
@@ -66,5 +66,6 @@ export {
66
66
  BranchService,
67
67
  PullRequestService,
68
68
  AdminService,
69
- ScreenshotService
69
+ ScreenshotService,
70
+ TrackingService
70
71
  }
@@ -20,6 +20,11 @@ function getByPathSafe (root, path) {
20
20
  * - Filters out explicit deletes targeting __order keys
21
21
  * - Appends any extra tuples from options.append
22
22
  * - Computes stable orders for impacted parent containers
23
+ * - IMPORTANT: When the tuple represents creation of a brand-new entity
24
+ * (e.g. ['update', ['components', key], {...}] where the path did not exist
25
+ * before, or the corresponding ['schema', ...] path is new), we DO NOT
26
+ * expand it into many granular changes. We keep the original change to avoid
27
+ * generating noisy diffs for creates.
23
28
  */
24
29
  export function preprocessChanges (root, tuples = [], options = {}) {
25
30
  const expandTuple = (t) => {
@@ -40,7 +45,26 @@ export function preprocessChanges (root, tuples = [], options = {}) {
40
45
  )
41
46
  if (!canConsiderExpansion || isFilesPath || (value && value.type === 'files')) { return [t] }
42
47
 
43
- const prev = getByPathSafe(root, path) || {}
48
+ // Detect brand-new entity creation:
49
+ // - Non-schema entities typically come as ['update', [type, key], {...}]
50
+ // - Schema entries as ['update', ['schema', type, key], {...}]
51
+ // If the exact path does not exist yet, treat it as a "create" operation and
52
+ // do NOT expand into granular leaf updates.
53
+ const prevRaw = getByPathSafe(root, path)
54
+ const isCreatePath = (
55
+ (Array.isArray(path)) &&
56
+ action === 'update' &&
57
+ (
58
+ // e.g. ['update', ['components', 'NewKey'], {...}]
59
+ (!isSchemaPath && path.length === 2) ||
60
+ // e.g. ['update', ['schema', 'components', 'NewKey'], {...}]
61
+ (isSchemaPath && path.length === 3)
62
+ ) &&
63
+ (prevRaw === null || typeof prevRaw === 'undefined')
64
+ )
65
+ if (isCreatePath) { return [t] }
66
+
67
+ const prev = prevRaw || {}
44
68
  const next = value || {}
45
69
  if (!isPlainObject(prev) || !isPlainObject(next)) { return [t] }
46
70
 
@@ -242,9 +242,6 @@ export const SERVICE_METHODS = {
242
242
  promoteToAdmin: 'admin',
243
243
  demoteFromAdmin: 'admin',
244
244
 
245
- // Utility methods
246
- getHealthStatus: 'core',
247
-
248
245
  // Screenshot methods
249
246
  createScreenshotProject: 'screenshot',
250
247
  getProjectScreenshots: 'screenshot',
@@ -257,5 +254,32 @@ export const SERVICE_METHODS = {
257
254
  getComponentScreenshot: 'screenshot',
258
255
  getScreenshotByKey: 'screenshot',
259
256
  getQueueStatistics: 'screenshot',
260
- refreshThumbnail: 'screenshot'
257
+ refreshThumbnail: 'screenshot',
258
+
259
+ // Tracking methods
260
+ configureTracking: 'tracking',
261
+ trackEvent: 'tracking',
262
+ trackError: 'tracking',
263
+ captureException: 'tracking',
264
+ logMessage: 'tracking',
265
+ logDebug: 'tracking',
266
+ logInfo: 'tracking',
267
+ logWarning: 'tracking',
268
+ logWarn: 'tracking',
269
+ logErrorMessage: 'tracking',
270
+ logError: 'tracking',
271
+ addBreadcrumb: 'tracking',
272
+ trackMeasurement: 'tracking',
273
+ trackView: 'tracking',
274
+ setUser: 'tracking',
275
+ clearUser: 'tracking',
276
+ setSession: 'tracking',
277
+ clearSession: 'tracking',
278
+ setGlobalAttributes: 'tracking',
279
+ setGlobalAttribute: 'tracking',
280
+ removeGlobalAttribute: 'tracking',
281
+ flushQueue: 'tracking',
282
+ getClient: 'tracking',
283
+ isEnabled: 'tracking',
284
+ isInitialized: 'tracking'
261
285
  }