vwo-fme-node-sdk 1.40.0 → 1.41.0

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 (129) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +20 -0
  3. package/dist/VERSION.js +1 -1
  4. package/dist/client/vwo-fme-javascript-sdk.js +2178 -2063
  5. package/dist/client/vwo-fme-javascript-sdk.js.map +1 -1
  6. package/dist/client/vwo-fme-javascript-sdk.min.js +2 -2
  7. package/dist/client/vwo-fme-javascript-sdk.min.js.map +1 -1
  8. package/dist/esm/VWOClient.js +19 -0
  9. package/dist/esm/VWOClient.js.map +1 -1
  10. package/dist/esm/api/GetFlag.js +2 -2
  11. package/dist/esm/api/GetFlag.js.map +1 -1
  12. package/dist/esm/models/VWOOptionsModel.js +24 -0
  13. package/dist/esm/models/VWOOptionsModel.js.map +1 -1
  14. package/dist/esm/models/user/ContextModel.js +6 -0
  15. package/dist/esm/models/user/ContextModel.js.map +1 -1
  16. package/dist/esm/packages/network-layer/client/NetworkBrowserClient.js.map +1 -1
  17. package/dist/esm/services/BatchEventsQueue.js +3 -2
  18. package/dist/esm/services/BatchEventsQueue.js.map +1 -1
  19. package/dist/esm/services/CampaignDecisionService.js +19 -16
  20. package/dist/esm/services/CampaignDecisionService.js.map +1 -1
  21. package/dist/esm/services/SettingsService.js +3 -2
  22. package/dist/esm/services/SettingsService.js.map +1 -1
  23. package/dist/esm/utils/CampaignUtil.js +7 -7
  24. package/dist/esm/utils/CampaignUtil.js.map +1 -1
  25. package/dist/esm/utils/DecisionUtil.js +8 -5
  26. package/dist/esm/utils/DecisionUtil.js.map +1 -1
  27. package/dist/esm/utils/ImpressionUtil.js +3 -2
  28. package/dist/esm/utils/ImpressionUtil.js.map +1 -1
  29. package/dist/esm/utils/MegUtil.js +4 -4
  30. package/dist/esm/utils/MegUtil.js.map +1 -1
  31. package/dist/esm/utils/NetworkUtil.js +10 -8
  32. package/dist/esm/utils/NetworkUtil.js.map +1 -1
  33. package/dist/esm/utils/SDKMetaUtil.js +57 -0
  34. package/dist/esm/utils/SDKMetaUtil.js.map +1 -0
  35. package/dist/package.json +1 -1
  36. package/dist/server/vwo-fme-node-sdk.js +475 -262
  37. package/dist/server/vwo-fme-node-sdk.js.map +1 -1
  38. package/dist/server/vwo-fme-node-sdk.min.js +2 -2
  39. package/dist/server/vwo-fme-node-sdk.min.js.map +1 -1
  40. package/dist/server-unpacked/VWO.js +5 -5
  41. package/dist/server-unpacked/VWO.js.map +1 -1
  42. package/dist/server-unpacked/VWOBuilder.js +2 -2
  43. package/dist/server-unpacked/VWOClient.js +22 -3
  44. package/dist/server-unpacked/VWOClient.js.map +1 -1
  45. package/dist/server-unpacked/api/GetFlag.js +4 -4
  46. package/dist/server-unpacked/api/GetFlag.js.map +1 -1
  47. package/dist/server-unpacked/api/SetAttribute.js +2 -2
  48. package/dist/server-unpacked/api/TrackEvent.js +2 -2
  49. package/dist/server-unpacked/decorators/StorageDecorator.js +2 -2
  50. package/dist/server-unpacked/models/VWOOptionsModel.js +26 -0
  51. package/dist/server-unpacked/models/VWOOptionsModel.js.map +1 -1
  52. package/dist/server-unpacked/models/user/ContextModel.js +7 -0
  53. package/dist/server-unpacked/models/user/ContextModel.js.map +1 -1
  54. package/dist/server-unpacked/packages/network-layer/client/NetworkBrowserClient.js.map +1 -1
  55. package/dist/server-unpacked/packages/network-layer/client/NetworkClient.js +7 -17
  56. package/dist/server-unpacked/packages/network-layer/client/NetworkClient.js.map +1 -1
  57. package/dist/server-unpacked/packages/segmentation-evaluator/core/SegmentationManger.js +2 -2
  58. package/dist/server-unpacked/packages/segmentation-evaluator/evaluators/SegmentEvaluator.js +2 -2
  59. package/dist/server-unpacked/packages/segmentation-evaluator/evaluators/SegmentOperandEvaluator.js +2 -2
  60. package/dist/server-unpacked/packages/segmentation-evaluator/utils/SegmentUtil.js +3 -2
  61. package/dist/server-unpacked/packages/segmentation-evaluator/utils/SegmentUtil.js.map +1 -1
  62. package/dist/server-unpacked/services/BatchEventsQueue.js +5 -4
  63. package/dist/server-unpacked/services/BatchEventsQueue.js.map +1 -1
  64. package/dist/server-unpacked/services/CampaignDecisionService.js +21 -18
  65. package/dist/server-unpacked/services/CampaignDecisionService.js.map +1 -1
  66. package/dist/server-unpacked/services/SettingsService.js +5 -4
  67. package/dist/server-unpacked/services/SettingsService.js.map +1 -1
  68. package/dist/server-unpacked/services/StorageService.js +2 -2
  69. package/dist/server-unpacked/utils/AliasingUtil.js +2 -2
  70. package/dist/server-unpacked/utils/BatchEventsDispatcher.js +2 -2
  71. package/dist/server-unpacked/utils/CampaignUtil.js +23 -22
  72. package/dist/server-unpacked/utils/CampaignUtil.js.map +1 -1
  73. package/dist/server-unpacked/utils/DataTypeUtil.js +12 -11
  74. package/dist/server-unpacked/utils/DataTypeUtil.js.map +1 -1
  75. package/dist/server-unpacked/utils/DebuggerServiceUtil.js +5 -4
  76. package/dist/server-unpacked/utils/DebuggerServiceUtil.js.map +1 -1
  77. package/dist/server-unpacked/utils/DecisionUtil.js +10 -7
  78. package/dist/server-unpacked/utils/DecisionUtil.js.map +1 -1
  79. package/dist/server-unpacked/utils/FetchUtil.js +12 -21
  80. package/dist/server-unpacked/utils/FetchUtil.js.map +1 -1
  81. package/dist/server-unpacked/utils/FunctionUtil.js +13 -12
  82. package/dist/server-unpacked/utils/FunctionUtil.js.map +1 -1
  83. package/dist/server-unpacked/utils/GatewayServiceUtil.js +6 -5
  84. package/dist/server-unpacked/utils/GatewayServiceUtil.js.map +1 -1
  85. package/dist/server-unpacked/utils/HoldoutUtil.js +6 -5
  86. package/dist/server-unpacked/utils/HoldoutUtil.js.map +1 -1
  87. package/dist/server-unpacked/utils/ImpressionUtil.js +5 -4
  88. package/dist/server-unpacked/utils/ImpressionUtil.js.map +1 -1
  89. package/dist/server-unpacked/utils/LogMessageUtil.js +2 -1
  90. package/dist/server-unpacked/utils/LogMessageUtil.js.map +1 -1
  91. package/dist/server-unpacked/utils/MegUtil.js +8 -8
  92. package/dist/server-unpacked/utils/MegUtil.js.map +1 -1
  93. package/dist/server-unpacked/utils/NetworkUtil.js +26 -24
  94. package/dist/server-unpacked/utils/NetworkUtil.js.map +1 -1
  95. package/dist/server-unpacked/utils/PromiseUtil.js +2 -1
  96. package/dist/server-unpacked/utils/PromiseUtil.js.map +1 -1
  97. package/dist/server-unpacked/utils/RuleEvaluationUtil.js +2 -2
  98. package/dist/server-unpacked/utils/SDKMetaUtil.js +63 -0
  99. package/dist/server-unpacked/utils/SDKMetaUtil.js.map +1 -0
  100. package/dist/server-unpacked/utils/SdkInitAndUsageStatsUtil.js +5 -4
  101. package/dist/server-unpacked/utils/SdkInitAndUsageStatsUtil.js.map +1 -1
  102. package/dist/server-unpacked/utils/SettingsUtil.js +2 -1
  103. package/dist/server-unpacked/utils/SettingsUtil.js.map +1 -1
  104. package/dist/server-unpacked/utils/UserIdUtil.js +4 -3
  105. package/dist/server-unpacked/utils/UserIdUtil.js.map +1 -1
  106. package/dist/server-unpacked/utils/UuidUtil.js +5 -4
  107. package/dist/server-unpacked/utils/UuidUtil.js.map +1 -1
  108. package/dist/server-unpacked/utils/XMLUtil.js +3 -2
  109. package/dist/server-unpacked/utils/XMLUtil.js.map +1 -1
  110. package/dist/types/models/VWOOptionsModel.d.ts +21 -0
  111. package/dist/types/models/user/ContextModel.d.ts +3 -0
  112. package/dist/types/services/CampaignDecisionService.d.ts +6 -6
  113. package/dist/types/utils/CampaignUtil.d.ts +3 -3
  114. package/dist/types/utils/DecisionUtil.d.ts +1 -1
  115. package/dist/types/utils/SDKMetaUtil.d.ts +43 -0
  116. package/lib/VWOClient.ts +27 -0
  117. package/lib/api/GetFlag.ts +3 -2
  118. package/lib/models/VWOOptionsModel.ts +35 -0
  119. package/lib/models/user/ContextModel.ts +10 -0
  120. package/lib/services/BatchEventsQueue.ts +3 -2
  121. package/lib/services/CampaignDecisionService.ts +24 -20
  122. package/lib/services/SettingsService.ts +3 -2
  123. package/lib/utils/CampaignUtil.ts +7 -7
  124. package/lib/utils/DecisionUtil.ts +14 -5
  125. package/lib/utils/ImpressionUtil.ts +3 -2
  126. package/lib/utils/MegUtil.ts +12 -4
  127. package/lib/utils/NetworkUtil.ts +10 -8
  128. package/lib/utils/SDKMetaUtil.ts +72 -0
  129. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,34 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.41.0] - 2026-03-18
9
+
10
+ ### Added
11
+
12
+ - Added support for custom bucketing seed via `bucketingSeed` in the context. This allows users to bucket by a shared identifier instead of the individual user ID, ensuring all users within the same group receive the same variation.
13
+
14
+ Example usage:
15
+
16
+ ```javascript
17
+ const vwoClient = await init({
18
+ accountId: '123456',
19
+ sdkKey: '32-alpha-numeric-sdk-key',
20
+ });
21
+
22
+ // All employees of company-abc will get the same variation
23
+ const context = {
24
+ id: 'employee-123',
25
+ bucketingSeed: 'company-abc',
26
+ };
27
+ const flag = await vwoClient.getFlag('feature-key', context);
28
+ ```
29
+
30
+ ## [1.40.1] - 2026-03-02
31
+
32
+ ### Changed
33
+
34
+ - Introduced `SDKMetaUtil` and `sdkMeta` config to allow overriding the default SDK name and version used in events. VWO FE React SDK will consume via it.
35
+
8
36
  ## [1.40.0] - 2026-02-26
9
37
 
10
38
  ### Added
package/README.md CHANGED
@@ -116,6 +116,7 @@ The following table explains all the parameters in the `context` object:
116
116
  | `customVariables` | Custom attributes for targeting. | No | Object | `{ age: 25, location: 'US' }` |
117
117
  | `userAgent` | User agent string for identifying the user's browser and operating system. | No | String | `'Mozilla/5.0 ... Safari/537.36'` |
118
118
  | `ipAddress` | IP address of the user. | No | String | `'1.1.1.1'` |
119
+ | `bucketingSeed` | Custom string used for bucketing instead of user `id`. See [Custom Bucketing Seed](#custom-bucketing-seed). | No | String | `'company-abc'` |
119
120
 
120
121
  #### Example
121
122
 
@@ -316,6 +317,25 @@ Behavior and validations:
316
317
  - For context usage, `context.id` must be a non-empty string (not an array); it is trimmed before use
317
318
  - `userId` and `aliasId` cannot be the same
318
319
 
320
+ ### Custom Bucketing Seed
321
+
322
+ By default, the SDK uses the user `id` to determine which variation a user receives. The `bucketingSeed` option in the context lets you override this with a shared identifier (e.g., a company ID), so all users sharing the same seed are bucketed into the same variation.
323
+
324
+ | **Parameter** | **Description** | **Required** | **Type** | **Example** |
325
+ | --------------- | ------------------------------------------------------- | ------------ | -------- | --------------- |
326
+ | `bucketingSeed` | A custom string used for bucketing instead of user `id` | No | String | `'company-abc'` |
327
+
328
+ #### Example Usage
329
+
330
+ ```javascript
331
+ // All employees of company-abc will get the same variation
332
+ const context = {
333
+ id: 'employee-123',
334
+ bucketingSeed: 'company-abc',
335
+ };
336
+ const flag = await vwoClient.getFlag('feature-key', context);
337
+ ```
338
+
319
339
  ### Storage
320
340
 
321
341
  The SDK operates in a stateless mode by default, meaning each `getFlag` call triggers a fresh evaluation of the flag against the current user context.
package/dist/VERSION.js CHANGED
@@ -1 +1 @@
1
- module.exports = { version: "1.40.0" };
1
+ module.exports = { version: "1.41.0" };