@rudderstack/integrations-lib 0.2.42 → 0.2.44

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 (69) hide show
  1. package/build/cluster/manager.d.ts.map +1 -1
  2. package/build/cluster/manager.js +7 -4
  3. package/build/feature-flags/core/config.d.ts +14 -0
  4. package/build/feature-flags/core/config.d.ts.map +1 -0
  5. package/build/feature-flags/core/config.js +111 -0
  6. package/build/feature-flags/core/index.d.ts +4 -0
  7. package/build/feature-flags/core/index.d.ts.map +1 -0
  8. package/build/feature-flags/core/index.js +10 -0
  9. package/build/feature-flags/core/service.d.ts +19 -0
  10. package/build/feature-flags/core/service.d.ts.map +1 -0
  11. package/build/feature-flags/core/service.js +106 -0
  12. package/build/feature-flags/core/utils.d.ts +8 -0
  13. package/build/feature-flags/core/utils.d.ts.map +1 -0
  14. package/build/feature-flags/core/utils.js +40 -0
  15. package/build/feature-flags/flags/defaults.d.ts +3 -0
  16. package/build/feature-flags/flags/defaults.d.ts.map +1 -0
  17. package/build/feature-flags/flags/defaults.js +24 -0
  18. package/build/feature-flags/flags/index.d.ts +5 -0
  19. package/build/feature-flags/flags/index.d.ts.map +1 -0
  20. package/build/feature-flags/flags/index.js +10 -0
  21. package/build/feature-flags/flags/interfaces.d.ts +12 -0
  22. package/build/feature-flags/flags/interfaces.d.ts.map +1 -0
  23. package/build/feature-flags/flags/interfaces.js +3 -0
  24. package/build/feature-flags/flags/loader.d.ts +14 -0
  25. package/build/feature-flags/flags/loader.d.ts.map +1 -0
  26. package/build/feature-flags/flags/loader.js +37 -0
  27. package/build/feature-flags/flags/registry.d.ts +12 -0
  28. package/build/feature-flags/flags/registry.d.ts.map +1 -0
  29. package/build/feature-flags/flags/registry.js +38 -0
  30. package/build/feature-flags/index.d.ts +9 -0
  31. package/build/feature-flags/index.d.ts.map +1 -0
  32. package/build/feature-flags/index.js +19 -0
  33. package/build/feature-flags/providers/factory.d.ts +7 -0
  34. package/build/feature-flags/providers/factory.d.ts.map +1 -0
  35. package/build/feature-flags/providers/factory.js +25 -0
  36. package/build/feature-flags/providers/flagsmith/index.d.ts +2 -0
  37. package/build/feature-flags/providers/flagsmith/index.d.ts.map +1 -0
  38. package/build/feature-flags/providers/flagsmith/index.js +6 -0
  39. package/build/feature-flags/providers/flagsmith/provider.d.ts +13 -0
  40. package/build/feature-flags/providers/flagsmith/provider.d.ts.map +1 -0
  41. package/build/feature-flags/providers/flagsmith/provider.js +73 -0
  42. package/build/feature-flags/providers/flagsmith/types.d.ts +1 -0
  43. package/build/feature-flags/providers/flagsmith/types.d.ts.map +1 -0
  44. package/build/feature-flags/providers/flagsmith/types.js +4 -0
  45. package/build/feature-flags/providers/index.d.ts +5 -0
  46. package/build/feature-flags/providers/index.d.ts.map +1 -0
  47. package/build/feature-flags/providers/index.js +10 -0
  48. package/build/feature-flags/providers/interfaces.d.ts +11 -0
  49. package/build/feature-flags/providers/interfaces.d.ts.map +1 -0
  50. package/build/feature-flags/providers/interfaces.js +3 -0
  51. package/build/feature-flags/providers/local/config.d.ts +4 -0
  52. package/build/feature-flags/providers/local/config.d.ts.map +1 -0
  53. package/build/feature-flags/providers/local/config.js +11 -0
  54. package/build/feature-flags/providers/local/index.d.ts +3 -0
  55. package/build/feature-flags/providers/local/index.d.ts.map +1 -0
  56. package/build/feature-flags/providers/local/index.js +6 -0
  57. package/build/feature-flags/providers/local/provider.d.ts +17 -0
  58. package/build/feature-flags/providers/local/provider.d.ts.map +1 -0
  59. package/build/feature-flags/providers/local/provider.js +105 -0
  60. package/build/feature-flags/providers/local/types.d.ts +4 -0
  61. package/build/feature-flags/providers/local/types.d.ts.map +1 -0
  62. package/build/feature-flags/providers/local/types.js +3 -0
  63. package/build/feature-flags/types.d.ts +96 -0
  64. package/build/feature-flags/types.d.ts.map +1 -0
  65. package/build/feature-flags/types.js +11 -0
  66. package/build/index.d.ts +1 -0
  67. package/build/index.d.ts.map +1 -1
  68. package/build/index.js +2 -1
  69. package/package.json +3 -2
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalFeatureFlagProvider = void 0;
4
+ const utils_1 = require("../../core/utils");
5
+ class LocalFeatureFlagProvider {
6
+ constructor(registry) {
7
+ this.registry = registry;
8
+ this.flags = {};
9
+ }
10
+ initialize() {
11
+ // Load flags from registry and config
12
+ this.flags = this.loadLocalFlags();
13
+ return Promise.resolve();
14
+ }
15
+ isFeatureEnabled(user, flagName) {
16
+ // Use getFeatureValue internally for consistency
17
+ return this.getFeatureValue(user, flagName);
18
+ }
19
+ isFeatureEnabledLatest(user, flagName) {
20
+ // For local provider, latest = cached (no difference)
21
+ return this.getFeatureValueLatest(user, flagName);
22
+ }
23
+ getFeatureValue(user, flagName) {
24
+ try {
25
+ const resolvedValue = this.resolveFlagValue(user, flagName);
26
+ return Promise.resolve({
27
+ name: flagName,
28
+ enabled: typeof resolvedValue === 'boolean' ? resolvedValue : Boolean(resolvedValue),
29
+ value: resolvedValue,
30
+ });
31
+ }
32
+ catch (error) {
33
+ return Promise.resolve(this.createErrorFeatureValue(flagName, error));
34
+ }
35
+ }
36
+ getFeatureValueLatest(user, flagName) {
37
+ // For local provider, latest = cached (no difference)
38
+ return this.getFeatureValue(user, flagName);
39
+ }
40
+ // eslint-disable-next-line class-methods-use-this
41
+ getProviderInfo() {
42
+ return {
43
+ name: 'local',
44
+ version: '1.0.0',
45
+ supportsCache: false,
46
+ supportsRealTime: false,
47
+ };
48
+ }
49
+ loadLocalFlags() {
50
+ const flags = {};
51
+ // Load from registry defaults
52
+ this.registry.getAll().forEach((flag) => {
53
+ flags[flag.key] = flag.defaultValue;
54
+ });
55
+ return flags;
56
+ }
57
+ resolveFlagValue(user, flagName) {
58
+ // Priority: workspace-specific env > global env > config > registry default
59
+ // 1. Check workspace-specific environment variable
60
+ const workspaceEnvKey = utils_1.FeatureFlagUtils.createWorkspaceEnvKey(flagName, user.workspaceId);
61
+ const workspaceEnvValue = process.env[workspaceEnvKey];
62
+ if (workspaceEnvValue !== undefined) {
63
+ return this.parseEnvValue(workspaceEnvValue);
64
+ }
65
+ // 2. Check global environment variable
66
+ const globalEnvKey = utils_1.FeatureFlagUtils.createGlobalEnvKey(flagName);
67
+ const globalEnvValue = process.env[globalEnvKey];
68
+ if (globalEnvValue !== undefined) {
69
+ return this.parseEnvValue(globalEnvValue);
70
+ }
71
+ // 3. Check configured flags
72
+ const configValue = this.flags[flagName];
73
+ if (configValue !== undefined) {
74
+ return configValue;
75
+ }
76
+ // 4. Return registry default
77
+ return this.registry.getDefaultValue(flagName);
78
+ }
79
+ // eslint-disable-next-line class-methods-use-this
80
+ parseEnvValue(envValue) {
81
+ // Try to parse as boolean
82
+ const lowerValue = envValue.toLowerCase();
83
+ if (lowerValue === 'true' || lowerValue === '1')
84
+ return true;
85
+ if (lowerValue === 'false' || lowerValue === '0')
86
+ return false;
87
+ // Try to parse as number
88
+ const numValue = Number(envValue);
89
+ if (!Number.isNaN(numValue) && envValue.trim() !== '')
90
+ return numValue;
91
+ // Return as string
92
+ return envValue;
93
+ }
94
+ createErrorFeatureValue(flagName, error) {
95
+ const defaultValue = this.registry.getDefaultValue(flagName);
96
+ return {
97
+ name: flagName,
98
+ enabled: typeof defaultValue === 'boolean' ? defaultValue : false,
99
+ value: defaultValue,
100
+ error,
101
+ };
102
+ }
103
+ }
104
+ exports.LocalFeatureFlagProvider = LocalFeatureFlagProvider;
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmVhdHVyZS1mbGFncy9wcm92aWRlcnMvbG9jYWwvcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT0EsNENBQW9EO0FBRXBELE1BQWEsd0JBQXdCO0lBR25DLFlBQW9CLFFBQThCO1FBQTlCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBRjFDLFVBQUssR0FBOEMsRUFBRSxDQUFDO0lBRVQsQ0FBQztJQUV0RCxVQUFVO1FBQ1Isc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFxQixFQUFFLFFBQWdCO1FBQ3RELGlEQUFpRDtRQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxJQUFxQixFQUFFLFFBQWdCO1FBQzVELHNEQUFzRDtRQUN0RCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFxQixFQUFFLFFBQWdCO1FBQ3JELElBQUksQ0FBQztZQUNILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFNUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO2dCQUNyQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxPQUFPLEVBQUUsT0FBTyxhQUFhLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7Z0JBQ3BGLEtBQUssRUFBRSxhQUFhO2FBQ3JCLENB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Tyx1QkFBdUIsQ0FBQyxRQUFnQixFQUFFLEtBQVk7UUFDNUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0QsT0FBTztZQUNMLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLE9BQU8sWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2pFLEtBQUssRUFBRSxZQUFZO1lBQ25CLEtBQUs7U0FDTixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBaEhELDREQWdIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRmVhdHVyZUZsYWdVc2VyLFxuICBJRmVhdHVyZUZsYWdSZWdpc3RyeSxcbiAgSUZlYXR1cmVGbGFnUHJvdmlkZXIsXG4gIFByb3ZpZGVySW5mbyxcbiAgRmVhdHVyZVZhbHVlLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBGZWF0dXJlRmxhZ1V0aWxzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbEZlYXR1cmVGbGFnUHJvdmlkZXIgaW1wbGVtZW50cyBJRmVhdHVyZUZsYWdQcm92aWRlciB7XG4gIHByaXZhdGUgZmxhZ3M6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4gfCBzdHJpbmcgfCBudW1iZXI+ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWdpc3RyeTogSUZlYXR1cmVGbGFnUmVnaXN0cnkpIHt9XG5cbiAgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBMb2FkIGZsYWdzIGZyb20gcmVnaXN0cnkgYW5kIGNvbmZpZ1xuICAgIHRoaXMuZmxhZ3MgPSB0aGlzLmxvYWRMb2NhbEZsYWdzKCk7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgaXNGZWF0dXJlRW5hYmxlZCh1c2VyOiBGZWF0dXJlRmxhZ1VzZXIsIGZsYWdOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZlYXR1cmVWYWx1ZT4ge1xuICAgIC8vIFVzZSBnZXRGZWF0dXJlVmFsdWUgaW50ZXJuYWxseSBmb3IgY29uc2lzdGVuY3lcbiAgICByZXR1cm4gdGhpcy5nZXRGZWF0dXJlVmFsdWUodXNlciwgZmxhZ05hbWUpO1xuICB9XG5cbiAgaXNGZWF0dXJlRW5hYmxlZExhdGVzdCh1c2VyOiBGZWF0dXJlRmxhZ1VzZXIsIGZsYWdOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZlYXR1cmVWYWx1ZT4ge1xuICAgIC8vIEZvciBsb2NhbCBwcm92aWRlciwgbGF0ZXN0ID0gY2FjaGVkIChubyBkaWZmZXJlbmNlKVxuICAgIHJldHVybiB0aGlzLmdldEZlYXR1cmVWYWx1ZUxhdGVzdCh1c2VyLCBmbGFnTmFtZSk7XG4gIH1cblxuICBnZXRGZWF0dXJlVmFsdWUodXNlcjogRmVhdHVyZUZsYWdVc2VyLCBmbGFnTmFtZTogc3RyaW5nKTogUHJvbWlzZTxGZWF0dXJlVmFsdWU+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzb2x2ZWRWYWx1ZSA9IHRoaXMucmVzb2x2ZUZsYWdWYWx1ZSh1c2VyLCBmbGFnTmFtZSk7XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBuYW1lOiBmbGFnTmFtZSxcbiAgICAgICAgZW5hYmxlZDogdHlwZW9mIHJlc29sdmVkVmFsdWUgPT09ICdib29sZWFuJyA/IHJlc29sdmVkVmFsdWUgOiBCb29sZWFuKHJlc29sdmVkVmFsdWUpLFxuICAgICAgICB2YWx1ZTogcmVzb2x2ZWRWYWx1ZSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuY3JlYXRlRXJyb3JGZWF0dXJlVmFsdWUoZmxhZ05hbWUsIGVycm9yIGFzIEVycm9yKSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmVhdHVyZVZhbHVlTGF0ZXN0KHVzZXI6IEZlYXR1cmVGbGFnVXNlciwgZmxhZ05hbWU6IHN0cmluZyk6IFByb21pc2U8RmVhdHVyZVZhbHVlPiB7XG4gICAgLy8gRm9yIGxvY2FsIHByb3ZpZGVyLCBsYXRlc3QgPSBjYWNoZWQgKG5vIGRpZmZlcmVuY2UpXG4gICAgcmV0dXJuIHRoaXMuZ2V0RmVhdHVyZVZhbHVlKHVzZXIsIGZsYWdOYW1lKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gIGdldFByb3ZpZGVySW5mbygpOiBQcm92aWRlckluZm8ge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiAnbG9jYWwnLFxuICAgICAgdmVyc2lvbjogJzEuMC4wJyxcbiAgICAgIHN1cHBvcnRzQ2FjaGU6IGZhbHNlLFxuICAgICAgc3VwcG9ydHNSZWFsVGltZTogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZExvY2FsRmxhZ3MoKTogUmVjb3JkPHN0cmluZywgYm9vbGVhbiB8IHN0cmluZyB8IG51bWJlcj4ge1xuICAgIGNvbnN0IGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyPiA9IHt9O1xuXG4gICAgLy8gTG9hZCBmcm9tIHJlZ2lzdHJ5IGRlZmF1bHRzXG4gICAgdGhpcy5yZWdpc3RyeS5nZXRBbGwoKS5mb3JFYWNoKChmbGFnKSA9PiB7XG4gICAgICBmbGFnc1tmbGFnLmtleV0gPSBmbGFnLmRlZmF1bHRWYWx1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmbGFncztcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUZsYWdWYWx1ZSh1c2VyOiBGZWF0dXJlRmxhZ1VzZXIsIGZsYWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyIHtcbiAgICAvLyBQcmlvcml0eTogd29ya3NwYWNlLXNwZWNpZmljIGVudiA+IGdsb2JhbCBlbnYgPiBjb25maWcgPiByZWdpc3RyeSBkZWZhdWx0XG5cbiAgICAvLyAxLiBDaGVjayB3b3Jrc3BhY2Utc3BlY2lmaWMgZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBjb25zdCB3b3Jrc3BhY2VFbnZLZXkgPSBGZWF0dXJlRmxhZ1V0aWxzLmNyZWF0ZVdvcmtzcGFjZUVudktleShmbGFnTmFtZSwgdXNlci53b3Jrc3BhY2VJZCk7XG4gICAgY29uc3Qgd29ya3NwYWNlRW52VmFsdWUgPSBwcm9jZXNzLmVudlt3b3Jrc3BhY2VFbnZLZXldO1xuICAgIGlmICh3b3Jrc3BhY2VFbnZWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZUVudlZhbHVlKHdvcmtzcGFjZUVudlZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyAyLiBDaGVjayBnbG9iYWwgZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICBjb25zdCBnbG9iYWxFbnZLZXkgPSBGZWF0dXJlRmxhZ1V0aWxzLmNyZWF0ZUdsb2JhbEVudktleShmbGFnTmFtZSk7XG4gICAgY29uc3QgZ2xvYmFsRW52VmFsdWUgPSBwcm9jZXNzLmVudltnbG9iYWxFbnZLZXldO1xuICAgIGlmIChnbG9iYWxFbnZWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZUVudlZhbHVlKGdsb2JhbEVudlZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyAzLiBDaGVjayBjb25maWd1cmVkIGZsYWdzXG4gICAgY29uc3QgY29uZmlnVmFsdWUgPSB0aGlzLmZsYWdzW2ZsYWdOYW1lXTtcbiAgICBpZiAoY29uZmlnVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGNvbmZpZ1ZhbHVlO1xuICAgIH1cblxuICAgIC8vIDQuIFJldHVybiByZWdpc3RyeSBkZWZhdWx0XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0RGVmYXVsdFZhbHVlKGZsYWdOYW1lKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gIHByaXZhdGUgcGFyc2VFbnZWYWx1ZShlbnZWYWx1ZTogc3RyaW5nKTogYm9vbGVhbiB8IHN0cmluZyB8IG51bWJlciB7XG4gICAgLy8gVHJ5IHRvIHBhcnNlIGFzIGJvb2xlYW5cbiAgICBjb25zdCBsb3dlclZhbHVlID0gZW52VmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobG93ZXJWYWx1ZSA9PT0gJ3RydWUnIHx8IGxvd2VyVmFsdWUgPT09ICcxJykgcmV0dXJuIHRydWU7XG4gICAgaWYgKGxvd2VyVmFsdWUgPT09ICdmYWxzZScgfHwgbG93ZXJWYWx1ZSA9PT0gJzAnKSByZXR1cm4gZmFsc2U7XG5cbiAgICAvLyBUcnkgdG8gcGFyc2UgYXMgbnVtYmVyXG4gICAgY29uc3QgbnVtVmFsdWUgPSBOdW1iZXIoZW52VmFsdWUpO1xuICAgIGlmICghTnVtYmVyLmlzTmFOKG51bVZhbHVlKSAmJiBlbnZWYWx1ZS50cmltKCkgIT09ICcnKSByZXR1cm4gbnVtVmFsdWU7XG5cbiAgICAvLyBSZXR1cm4gYXMgc3RyaW5nXG4gICAgcmV0dXJuIGVudlZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFcnJvckZlYXR1cmVWYWx1ZShmbGFnTmFtZTogc3RyaW5nLCBlcnJvcjogRXJyb3IpOiBGZWF0dXJlVmFsdWUge1xuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHRoaXMucmVnaXN0cnkuZ2V0RGVmYXVsdFZhbHVlKGZsYWdOYW1lKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogZmxhZ05hbWUsXG4gICAgICBlbmFibGVkOiB0eXBlb2YgZGVmYXVsdFZhbHVlID09PSAnYm9vbGVhbicgPyBkZWZhdWx0VmFsdWUgOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBkZWZhdWx0VmFsdWUsXG4gICAgICBlcnJvcixcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export interface LocalProviderConfig {
2
+ flags: Record<string, boolean | string | number>;
3
+ }
4
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/feature-flags/providers/local/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;CAClD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZmVhdHVyZS1mbGFncy9wcm92aWRlcnMvbG9jYWwvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTG9jYWxQcm92aWRlckNvbmZpZyB7XG4gIGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyPjtcbn1cbiJdfQ==
@@ -0,0 +1,96 @@
1
+ import { TRAIT_KEYS } from '@rudderstack/featureflag-sdk-node';
2
+ export interface FeatureValue {
3
+ /** The name of the feature */
4
+ name: string;
5
+ /** Whether the feature is enabled */
6
+ enabled: boolean;
7
+ /** The value of the feature */
8
+ value?: unknown;
9
+ /** Metadata about the feature */
10
+ metadata?: Record<string, unknown>;
11
+ /** The date and time the feature was last updated */
12
+ lastUpdatedAt?: Date;
13
+ /** Whether the feature value is stale */
14
+ isStale?: boolean;
15
+ /** The error that occurred when evaluating the feature */
16
+ error?: Error;
17
+ /** This function is used to send analytics events to the provider */
18
+ track?: () => void;
19
+ }
20
+ export interface FeatureFlagUser {
21
+ workspaceId: string;
22
+ traits?: Map<TRAIT_KEYS, string>;
23
+ }
24
+ export interface FeatureFlagConfig {
25
+ provider: FeatureFlagProvider;
26
+ apiKey?: string;
27
+ enableLocalEvaluation?: boolean;
28
+ enableCache?: boolean;
29
+ cacheTtlSeconds?: number;
30
+ timeoutSeconds?: number;
31
+ retryAttempts?: number;
32
+ enableAnalytics?: boolean;
33
+ }
34
+ export interface ResolvedFeatureFlagConfig {
35
+ provider: FeatureFlagProvider;
36
+ apiKey?: string;
37
+ enableLocalEvaluation: boolean;
38
+ enableCache: boolean;
39
+ cacheTtlSeconds: number;
40
+ timeoutSeconds: number;
41
+ retryAttempts: number;
42
+ enableAnalytics: boolean;
43
+ }
44
+ export type FeatureFlagProvider = 'flagsmith' | 'local';
45
+ export declare enum ErrorBehaviour {
46
+ RETURN_DEFAULT = "return_default",
47
+ RETURN_RICH_ERROR = "return_rich_error",
48
+ THROW_ERROR = "throw_error"
49
+ }
50
+ export interface FeatureFlagResponse extends FeatureValue {
51
+ isDefault: boolean;
52
+ }
53
+ export interface FeatureFlagDefinition {
54
+ key: string;
55
+ name: string;
56
+ description: string;
57
+ defaultValue: boolean | string | number;
58
+ type: 'boolean' | 'string' | 'number';
59
+ category?: string;
60
+ tags?: string[];
61
+ }
62
+ export interface ProviderInfo {
63
+ name: string;
64
+ version: string;
65
+ supportsCache: boolean;
66
+ supportsRealTime: boolean;
67
+ }
68
+ export interface IFeatureFlagService {
69
+ initialize(config: Partial<FeatureFlagConfig>): Promise<void>;
70
+ isFeatureEnabled(user: FeatureFlagUser, flagName: string, onErrorBehaviour?: ErrorBehaviour): Promise<FeatureFlagResponse>;
71
+ getFeatureValue(user: FeatureFlagUser, flagName: string, onErrorBehaviour?: ErrorBehaviour): Promise<FeatureFlagResponse>;
72
+ isFeatureEnabledLatest(user: FeatureFlagUser, flagName: string, onErrorBehaviour?: ErrorBehaviour): Promise<FeatureFlagResponse>;
73
+ getFeatureValueLatest(user: FeatureFlagUser, flagName: string, onErrorBehaviour?: ErrorBehaviour): Promise<FeatureFlagResponse>;
74
+ registerFlags(flags: FeatureFlagDefinition[]): void;
75
+ getRegisteredFlag(key: string): FeatureFlagDefinition | undefined;
76
+ }
77
+ export interface IFeatureFlagProvider {
78
+ initialize(): Promise<void>;
79
+ isFeatureEnabled(user: FeatureFlagUser, flagName: string): Promise<FeatureValue>;
80
+ getFeatureValue(user: FeatureFlagUser, flagName: string): Promise<FeatureValue>;
81
+ isFeatureEnabledLatest(user: FeatureFlagUser, flagName: string): Promise<FeatureValue>;
82
+ getFeatureValueLatest(user: FeatureFlagUser, flagName: string): Promise<FeatureValue>;
83
+ getProviderInfo(): ProviderInfo;
84
+ destroy?(): Promise<void>;
85
+ }
86
+ export interface IFeatureFlagRegistry {
87
+ register(definition: FeatureFlagDefinition): void;
88
+ register(definitions: FeatureFlagDefinition[]): void;
89
+ get(key: string): FeatureFlagDefinition | undefined;
90
+ getAll(): FeatureFlagDefinition[];
91
+ getByCategory(category: string): FeatureFlagDefinition[];
92
+ getDefaultValue(key: string): boolean | string | number;
93
+ isRegistered(key: string): boolean;
94
+ clear(): void;
95
+ }
96
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/feature-flags/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorBehaviour = void 0;
4
+ // Error behavior options for service methods
5
+ var ErrorBehaviour;
6
+ (function (ErrorBehaviour) {
7
+ ErrorBehaviour["RETURN_DEFAULT"] = "return_default";
8
+ ErrorBehaviour["RETURN_RICH_ERROR"] = "return_rich_error";
9
+ ErrorBehaviour["THROW_ERROR"] = "throw_error";
10
+ })(ErrorBehaviour || (exports.ErrorBehaviour = ErrorBehaviour = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVhdHVyZS1mbGFncy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF1REEsNkNBQTZDO0FBQzdDLElBQVksY0FJWDtBQUpELFdBQVksY0FBYztJQUN4QixtREFBaUMsQ0FBQTtJQUNqQyx5REFBdUMsQ0FBQTtJQUN2Qyw2Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSlcsY0FBYyw4QkFBZCxjQUFjLFFBSXpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVFJBSVRfS0VZUyB9IGZyb20gJ0BydWRkZXJzdGFjay9mZWF0dXJlZmxhZy1zZGstbm9kZSc7XG5cbi8vIEZlYXR1cmVWYWx1ZSBpbnRlcmZhY2UgKG1hdGNoaW5nIFNESyBzdHJ1Y3R1cmUpXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVWYWx1ZSB7XG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgZmVhdHVyZSAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBmZWF0dXJlIGlzIGVuYWJsZWQgKi9cbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgZmVhdHVyZSAqL1xuICB2YWx1ZT86IHVua25vd247XG4gIC8qKiBNZXRhZGF0YSBhYm91dCB0aGUgZmVhdHVyZSAqL1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAvKiogVGhlIGRhdGUgYW5kIHRpbWUgdGhlIGZlYXR1cmUgd2FzIGxhc3QgdXBkYXRlZCAqL1xuICBsYXN0VXBkYXRlZEF0PzogRGF0ZTtcbiAgLyoqIFdoZXRoZXIgdGhlIGZlYXR1cmUgdmFsdWUgaXMgc3RhbGUgKi9cbiAgaXNTdGFsZT86IGJvb2xlYW47XG4gIC8qKiBUaGUgZXJyb3IgdGhhdCBvY2N1cnJlZCB3aGVuIGV2YWx1YXRpbmcgdGhlIGZlYXR1cmUgKi9cbiAgZXJyb3I/OiBFcnJvcjtcbiAgLyoqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBzZW5kIGFuYWx5dGljcyBldmVudHMgdG8gdGhlIHByb3ZpZGVyICovXG4gIHRyYWNrPzogKCkgPT4gdm9pZDtcbn1cblxuLy8gVXNlciBjb250ZXh0IGZvciBmZWF0dXJlIGZsYWcgZXZhbHVhdGlvblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlRmxhZ1VzZXIge1xuICB3b3Jrc3BhY2VJZDogc3RyaW5nO1xuICB0cmFpdHM/OiBNYXA8VFJBSVRfS0VZUywgc3RyaW5nPjtcbn1cblxuLy8gU2VydmljZSBjb25maWd1cmF0aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGbGFnQ29uZmlnIHtcbiAgcHJvdmlkZXI6IEZlYXR1cmVGbGFnUHJvdmlkZXI7XG4gIGFwaUtleT86IHN0cmluZztcbiAgZW5hYmxlTG9jYWxFdmFsdWF0aW9uPzogYm9vbGVhbjtcbiAgZW5hYmxlQ2FjaGU/OiBib29sZWFuO1xuICBjYWNoZVR0bFNlY29uZHM/OiBudW1iZXI7XG4gIHRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xuICByZXRyeUF0dGVtcHRzPzogbnVtYmVyO1xuICBlbmFibGVBbmFseXRpY3M/OiBib29sZWFuO1xufVxuXG4vLyBSZXNvbHZlZCBjb25maWd1cmF0aW9uIChhZnRlciBlbnYgdmFyIHByb2Nlc3NpbmcpXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkRmVhdHVyZUZsYWdDb25maWcge1xuICBwcm92aWRlcjogRmVhdHVyZUZsYWdQcm92aWRlcjtcbiAgYXBpS2V5Pzogc3RyaW5nO1xuICBlbmFibGVMb2NhbEV2YWx1YXRpb246IGJvb2xlYW47XG4gIGVuYWJsZUNhY2hlOiBib29sZWFuO1xuICBjYWNoZVR0bFNlY29uZHM6IG51bWJlcjtcbiAgdGltZW91dFNlY29uZHM6IG51bWJlcjtcbiAgcmV0cnlBdHRlbXB0czogbnVtYmVyO1xuICBlbmFibGVBbmFseXRpY3M6IGJvb2xlYW47XG59XG5cbi8vIFN1cHBvcnRlZCBwcm92aWRlcnNcbmV4cG9ydCB0eXBlIEZlYXR1cmVGbGFnUHJvdmlkZXIgPSAnZmxhZ3NtaXRoJyB8ICdsb2NhbCc7XG5cbi8vIEVycm9yIGJlaGF2aW9yIG9wdGlvbnMgZm9yIHNlcnZpY2UgbWV0aG9kc1xuZXhwb3J0IGVudW0gRXJyb3JCZWhhdmlvdXIge1xuICBSRVRVUk5fREVGQVVMVCA9ICdyZXR1cm5fZGVmYXVsdCcsXG4gIFJFVFVSTl9SSUNIX0VSUk9SID0gJ3JldHVybl9yaWNoX2Vycm9yJyxcbiAgVEhST1dfRVJST1IgPSAndGhyb3dfZXJyb3InLFxufVxuXG4vLyBFbmhhbmNlZCByZXNwb25zZSB0eXBlIHdpdGggaXNEZWZhdWx0IGFkZGl0aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGbGFnUmVzcG9uc2UgZXh0ZW5kcyBGZWF0dXJlVmFsdWUge1xuICBpc0RlZmF1bHQ6IGJvb2xlYW47XG59XG5cbi8vIEZsYWcgZGVmaW5pdGlvbiBmb3IgcmVnaXN0cnlcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZUZsYWdEZWZpbml0aW9uIHtcbiAga2V5OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZGVmYXVsdFZhbHVlOiBib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyO1xuICB0eXBlOiAnYm9vbGVhbicgfCAnc3RyaW5nJyB8ICdudW1iZXInO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgdGFncz86IHN0cmluZ1tdO1xufVxuXG4vLyBQcm92aWRlciBtZXRhZGF0YVxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlckluZm8ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgc3VwcG9ydHNDYWNoZTogYm9vbGVhbjtcbiAgc3VwcG9ydHNSZWFsVGltZTogYm9vbGVhbjtcbn1cblxuLy8gU2VydmljZSBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgSUZlYXR1cmVGbGFnU2VydmljZSB7XG4gIGluaXRpYWxpemUoY29uZmlnOiBQYXJ0aWFsPEZlYXR1cmVGbGFnQ29uZmlnPik6IFByb21pc2U8dm9pZD47XG4gIGlzRmVhdHVyZUVuYWJsZWQoXG4gICAgdXNlcjogRmVhdHVyZUZsYWdVc2VyLFxuICAgIGZsYWdOYW1lOiBzdHJpbmcsXG4gICAgb25FcnJvckJlaGF2aW91cj86IEVycm9yQmVoYXZpb3VyLFxuICApOiBQcm9taXNlPEZlYXR1cmVGbGFnUmVzcG9uc2U+O1xuICBnZXRGZWF0dXJlVmFsdWUoXG4gICAgdXNlcjogRmVhdHVyZUZsYWdVc2VyLFxuICAgIGZsYWdOYW1lOiBzdHJpbmcsXG4gICAgb25FcnJvckJlaGF2aW91cj86IEVycm9yQmVoYXZpb3VyLFxuICApOiBQcm9taXNlPEZlYXR1cmVGbGFnUmVzcG9uc2U+O1xuICBpc0ZlYXR1cmVFbmFibGVkTGF0ZXN0KFxuICAgIHVzZXI6IEZlYXR1cmVGbGFnVXNlcixcbiAgICBmbGFnTmFtZTogc3RyaW5nLFxuICAgIG9uRXJyb3JCZWhhdmlvdXI/OiBFcnJvckJlaGF2aW91cixcbiAgKTogUHJvbWlzZTxGZWF0dXJlRmxhZ1Jlc3BvbnNlPjtcbiAgZ2V0RmVhdHVyZVZhbHVlTGF0ZXN0KFxuICAgIHVzZXI6IEZlYXR1cmVGbGFnVXNlcixcbiAgICBmbGFnTmFtZTogc3RyaW5nLFxuICAgIG9uRXJyb3JCZWhhdmlvdXI/OiBFcnJvckJlaGF2aW91cixcbiAgKTogUHJvbWlzZTxGZWF0dXJlRmxhZ1Jlc3BvbnNlPjtcbiAgcmVnaXN0ZXJGbGFncyhmbGFnczogRmVhdHVyZUZsYWdEZWZpbml0aW9uW10pOiB2b2lkO1xuICBnZXRSZWdpc3RlcmVkRmxhZyhrZXk6IHN0cmluZyk6IEZlYXR1cmVGbGFnRGVmaW5pdGlvbiB8IHVuZGVmaW5lZDtcbn1cblxuLy8gUHJvdmlkZXIgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIElGZWF0dXJlRmxhZ1Byb3ZpZGVyIHtcbiAgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+O1xuICBpc0ZlYXR1cmVFbmFibGVkKHVzZXI6IEZlYXR1cmVGbGFnVXNlciwgZmxhZ05hbWU6IHN0cmluZyk6IFByb21pc2U8RmVhdHVyZVZhbHVlPjtcbiAgZ2V0RmVhdHVyZVZhbHVlKHVzZXI6IEZlYXR1cmVGbGFnVXNlciwgZmxhZ05hbWU6IHN0cmluZyk6IFByb21pc2U8RmVhdHVyZVZhbHVlPjtcbiAgaXNGZWF0dXJlRW5hYmxlZExhdGVzdCh1c2VyOiBGZWF0dXJlRmxhZ1VzZXIsIGZsYWdOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZlYXR1cmVWYWx1ZT47XG4gIGdldEZlYXR1cmVWYWx1ZUxhdGVzdCh1c2VyOiBGZWF0dXJlRmxhZ1VzZXIsIGZsYWdOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEZlYXR1cmVWYWx1ZT47XG4gIGdldFByb3ZpZGVySW5mbygpOiBQcm92aWRlckluZm87XG4gIGRlc3Ryb3k/KCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8vIFJlZ2lzdHJ5IGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBJRmVhdHVyZUZsYWdSZWdpc3RyeSB7XG4gIHJlZ2lzdGVyKGRlZmluaXRpb246IEZlYXR1cmVGbGFnRGVmaW5pdGlvbik6IHZvaWQ7XG4gIHJlZ2lzdGVyKGRlZmluaXRpb25zOiBGZWF0dXJlRmxhZ0RlZmluaXRpb25bXSk6IHZvaWQ7XG4gIGdldChrZXk6IHN0cmluZyk6IEZlYXR1cmVGbGFnRGVmaW5pdGlvbiB8IHVuZGVmaW5lZDtcbiAgZ2V0QWxsKCk6IEZlYXR1cmVGbGFnRGVmaW5pdGlvbltdO1xuICBnZXRCeUNhdGVnb3J5KGNhdGVnb3J5OiBzdHJpbmcpOiBGZWF0dXJlRmxhZ0RlZmluaXRpb25bXTtcbiAgZ2V0RGVmYXVsdFZhbHVlKGtleTogc3RyaW5nKTogYm9vbGVhbiB8IHN0cmluZyB8IG51bWJlcjtcbiAgaXNSZWdpc3RlcmVkKGtleTogc3RyaW5nKTogYm9vbGVhbjtcbiAgY2xlYXIoKTogdm9pZDtcbn1cbiJdfQ==
package/build/index.d.ts CHANGED
@@ -9,5 +9,6 @@ export * from './utils';
9
9
  export * from './constants';
10
10
  export * from './sdks';
11
11
  export * from './cluster';
12
+ export * from './feature-flags';
12
13
  export { setValue };
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/build/index.js CHANGED
@@ -30,4 +30,5 @@ __exportStar(require("./utils"), exports);
30
30
  __exportStar(require("./constants"), exports);
31
31
  __exportStar(require("./sdks"), exports);
32
32
  __exportStar(require("./cluster"), exports);
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBdUM7QUFZOUIsbUJBWkYsbUJBQVEsQ0FZRTtBQVZqQiwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsc0RBQW9DO0FBQ3BDLDRDQUEwQjtBQUMxQiwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLHlDQUF1QjtBQUN2Qiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2V0VmFsdWUgZnJvbSAnLi9saWIvc2V0LXZhbHVlJztcblxuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3RhZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJ1Y3R1cmVkLWxvZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL25ldHdvcmsnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3Nka3MnO1xuZXhwb3J0ICogZnJvbSAnLi9jbHVzdGVyJztcbmV4cG9ydCB7IHNldFZhbHVlIH07XG4iXX0=
33
+ __exportStar(require("./feature-flags"), exports);
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBdUM7QUFhOUIsbUJBYkYsbUJBQVEsQ0FhRTtBQVhqQiwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsc0RBQW9DO0FBQ3BDLDRDQUEwQjtBQUMxQiwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLHlDQUF1QjtBQUN2Qiw0Q0FBMEI7QUFDMUIsa0RBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNldFZhbHVlIGZyb20gJy4vbGliL3NldC12YWx1ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWdzJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vc3RydWN0dXJlZC1sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9uZXR3b3JrJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZGtzJztcbmV4cG9ydCAqIGZyb20gJy4vY2x1c3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZmxhZ3MnO1xuZXhwb3J0IHsgc2V0VmFsdWUgfTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderstack/integrations-lib",
3
- "version": "0.2.42",
3
+ "version": "0.2.44",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "module": "build/index.js",
@@ -39,7 +39,8 @@
39
39
  "author": "RudderStack",
40
40
  "license": "MIT",
41
41
  "dependencies": {
42
- "axios": "^1.4.0",
42
+ "@rudderstack/featureflag-sdk-node": "^1.0.1",
43
+ "axios": "^1.11.0",
43
44
  "eslint-config-airbnb-base": "^15.0.0",
44
45
  "eslint-config-airbnb-typescript": "^17.1.0",
45
46
  "fast-xml-parser": "^4.5.0",