posthog-node 5.24.17 → 5.26.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.
@@ -93,32 +93,47 @@ class FeatureFlagsPoller {
93
93
  logMsgIfDebug(fn) {
94
94
  if (this.debugMode) fn();
95
95
  }
96
+ createEvaluationContext(distinctId, groups = {}, personProperties = {}, groupProperties = {}, evaluationCache = {}) {
97
+ return {
98
+ distinctId,
99
+ groups,
100
+ personProperties,
101
+ groupProperties,
102
+ evaluationCache
103
+ };
104
+ }
96
105
  async getFeatureFlag(key, distinctId, groups = {}, personProperties = {}, groupProperties = {}) {
97
106
  await this.loadFeatureFlags();
98
107
  let response;
99
108
  let featureFlag;
100
109
  if (!this.loadedSuccessfullyOnce) return response;
101
110
  featureFlag = this.featureFlagsByKey[key];
102
- if (void 0 !== featureFlag) try {
103
- const result = await this.computeFlagAndPayloadLocally(featureFlag, distinctId, groups, personProperties, groupProperties);
104
- response = result.value;
105
- this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${key} -> ${response}`));
106
- } catch (e) {
107
- if (e instanceof RequiresServerEvaluation || e instanceof InconclusiveMatchError) this.logMsgIfDebug(()=>console.debug(`${e.name} when computing flag locally: ${key}: ${e.message}`));
108
- else if (e instanceof Error) this.onError?.(new Error(`Error computing flag locally: ${key}: ${e}`));
111
+ if (void 0 !== featureFlag) {
112
+ const evaluationContext = this.createEvaluationContext(distinctId, groups, personProperties, groupProperties);
113
+ try {
114
+ const result = await this.computeFlagAndPayloadLocally(featureFlag, evaluationContext);
115
+ response = result.value;
116
+ this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${key} -> ${response}`));
117
+ } catch (e) {
118
+ if (e instanceof RequiresServerEvaluation || e instanceof InconclusiveMatchError) this.logMsgIfDebug(()=>console.debug(`${e.name} when computing flag locally: ${key}: ${e.message}`));
119
+ else if (e instanceof Error) this.onError?.(new Error(`Error computing flag locally: ${key}: ${e}`));
120
+ }
109
121
  }
110
122
  return response;
111
123
  }
112
- async getAllFlagsAndPayloads(distinctId, groups = {}, personProperties = {}, groupProperties = {}, flagKeysToExplicitlyEvaluate) {
124
+ async getAllFlagsAndPayloads(evaluationContext, flagKeysToExplicitlyEvaluate) {
113
125
  await this.loadFeatureFlags();
114
126
  const response = {};
115
127
  const payloads = {};
116
128
  let fallbackToFlags = 0 == this.featureFlags.length;
117
129
  const flagsToEvaluate = flagKeysToExplicitlyEvaluate ? flagKeysToExplicitlyEvaluate.map((key)=>this.featureFlagsByKey[key]).filter(Boolean) : this.featureFlags;
118
- const sharedEvaluationCache = {};
130
+ const sharedEvaluationContext = {
131
+ ...evaluationContext,
132
+ evaluationCache: evaluationContext.evaluationCache ?? {}
133
+ };
119
134
  await Promise.all(flagsToEvaluate.map(async (flag)=>{
120
135
  try {
121
- const { value: matchValue, payload: matchPayload } = await this.computeFlagAndPayloadLocally(flag, distinctId, groups, personProperties, groupProperties, void 0, sharedEvaluationCache);
136
+ const { value: matchValue, payload: matchPayload } = await this.computeFlagAndPayloadLocally(flag, sharedEvaluationContext);
122
137
  response[flag.key] = matchValue;
123
138
  if (matchPayload) payloads[flag.key] = matchPayload;
124
139
  } catch (e) {
@@ -133,21 +148,23 @@ class FeatureFlagsPoller {
133
148
  fallbackToFlags
134
149
  };
135
150
  }
136
- async computeFlagAndPayloadLocally(flag, distinctId, groups = {}, personProperties = {}, groupProperties = {}, matchValue, evaluationCache, skipLoadCheck = false) {
151
+ async computeFlagAndPayloadLocally(flag, evaluationContext, options = {}) {
152
+ const { matchValue, skipLoadCheck = false } = options;
137
153
  if (!skipLoadCheck) await this.loadFeatureFlags();
138
154
  if (!this.loadedSuccessfullyOnce) return {
139
155
  value: false,
140
156
  payload: null
141
157
  };
142
158
  let flagValue;
143
- flagValue = void 0 !== matchValue ? matchValue : await this.computeFlagValueLocally(flag, distinctId, groups, personProperties, groupProperties, evaluationCache);
159
+ flagValue = void 0 !== matchValue ? matchValue : await this.computeFlagValueLocally(flag, evaluationContext);
144
160
  const payload = this.getFeatureFlagPayload(flag.key, flagValue);
145
161
  return {
146
162
  value: flagValue,
147
163
  payload
148
164
  };
149
165
  }
150
- async computeFlagValueLocally(flag, distinctId, groups = {}, personProperties = {}, groupProperties = {}, evaluationCache = {}) {
166
+ async computeFlagValueLocally(flag, evaluationContext) {
167
+ const { distinctId, groups, personProperties, groupProperties } = evaluationContext;
151
168
  if (flag.ensure_experience_continuity) throw new InconclusiveMatchError('Flag has experience continuity enabled');
152
169
  if (!flag.active) return false;
153
170
  const flagFilters = flag.filters || {};
@@ -162,13 +179,17 @@ class FeatureFlagsPoller {
162
179
  this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${flag.key} without group names passed in`));
163
180
  return false;
164
181
  }
182
+ if ('device_id' === flag.bucketing_identifier && (personProperties?.$device_id === void 0 || personProperties?.$device_id === null || personProperties?.$device_id === '')) this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${flag.key}`));
165
183
  const focusedGroupProperties = groupProperties[groupName];
166
- return await this.matchFeatureFlagProperties(flag, groups[groupName], focusedGroupProperties, evaluationCache, distinctId, groups, personProperties, groupProperties);
184
+ return await this.matchFeatureFlagProperties(flag, groups[groupName], focusedGroupProperties, evaluationContext);
167
185
  }
168
186
  {
169
187
  const bucketingValue = this.getBucketingValueForFlag(flag, distinctId, personProperties);
170
- if (void 0 === bucketingValue) throw new InconclusiveMatchError(`Can't compute feature flag: ${flag.key} without $device_id`);
171
- return await this.matchFeatureFlagProperties(flag, bucketingValue, personProperties, evaluationCache, distinctId, groups, personProperties, groupProperties);
188
+ if (void 0 === bucketingValue) {
189
+ this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${flag.key} without $device_id, falling back to server evaluation`));
190
+ throw new InconclusiveMatchError(`Can't compute feature flag: ${flag.key} without $device_id`);
191
+ }
192
+ return await this.matchFeatureFlagProperties(flag, bucketingValue, personProperties, evaluationContext);
172
193
  }
173
194
  }
174
195
  getBucketingValueForFlag(flag, distinctId, properties) {
@@ -195,7 +216,8 @@ class FeatureFlagsPoller {
195
216
  }
196
217
  return null;
197
218
  }
198
- async evaluateFlagDependency(property, distinctId, groups, personProperties, groupProperties, properties, evaluationCache) {
219
+ async evaluateFlagDependency(property, properties, evaluationContext) {
220
+ const { evaluationCache } = evaluationContext;
199
221
  const targetFlagKey = property.key;
200
222
  if (!this.featureFlagsByKey) throw new InconclusiveMatchError('Feature flags not available for dependency evaluation');
201
223
  if (!('dependency_chain' in property)) throw new InconclusiveMatchError(`Flag dependency property for '${targetFlagKey}' is missing required 'dependency_chain' field`);
@@ -206,7 +228,7 @@ class FeatureFlagsPoller {
206
228
  if (!(depFlagKey in evaluationCache)) {
207
229
  const depFlag = this.featureFlagsByKey[depFlagKey];
208
230
  if (depFlag) if (depFlag.active) try {
209
- const depResult = await this.computeFlagValueLocally(depFlag, distinctId, groups, personProperties, groupProperties, evaluationCache);
231
+ const depResult = await this.computeFlagValueLocally(depFlag, evaluationContext);
210
232
  evaluationCache[depFlagKey] = depResult;
211
233
  } catch (error) {
212
234
  throw new InconclusiveMatchError(`Error evaluating flag dependency '${depFlagKey}' for flag '${targetFlagKey}': ${error}`);
@@ -225,13 +247,13 @@ class FeatureFlagsPoller {
225
247
  if ('string' == typeof expectedValue) return flagValue === expectedValue;
226
248
  return false;
227
249
  }
228
- async matchFeatureFlagProperties(flag, bucketingValue, properties, evaluationCache = {}, distinctId = bucketingValue, groups = {}, personProperties = {}, groupProperties = {}) {
250
+ async matchFeatureFlagProperties(flag, bucketingValue, properties, evaluationContext) {
229
251
  const flagFilters = flag.filters || {};
230
252
  const flagConditions = flagFilters.groups || [];
231
253
  let isInconclusive = false;
232
254
  let result;
233
255
  for (const condition of flagConditions)try {
234
- if (await this.isConditionMatch(flag, bucketingValue, condition, properties, evaluationCache, distinctId, groups, personProperties, groupProperties)) {
256
+ if (await this.isConditionMatch(flag, bucketingValue, condition, properties, evaluationContext)) {
235
257
  const variantOverride = condition.variant;
236
258
  const flagVariants = flagFilters.multivariate?.variants || [];
237
259
  result = variantOverride && flagVariants.some((variant)=>variant.key === variantOverride) ? variantOverride : await this.getMatchingVariant(flag, bucketingValue) || true;
@@ -246,7 +268,7 @@ class FeatureFlagsPoller {
246
268
  if (isInconclusive) throw new InconclusiveMatchError("Can't determine if feature flag is enabled or not with given properties");
247
269
  return false;
248
270
  }
249
- async isConditionMatch(flag, bucketingValue, condition, properties, evaluationCache = {}, distinctId = bucketingValue, groups = {}, personProperties = {}, groupProperties = {}) {
271
+ async isConditionMatch(flag, bucketingValue, condition, properties, evaluationContext) {
250
272
  const rolloutPercentage = condition.rollout_percentage;
251
273
  const warnFunction = (msg)=>{
252
274
  this.logMsgIfDebug(()=>console.warn(msg));
@@ -255,7 +277,7 @@ class FeatureFlagsPoller {
255
277
  for (const prop of condition.properties){
256
278
  const propertyType = prop.type;
257
279
  let matches = false;
258
- matches = 'cohort' === propertyType ? matchCohort(prop, properties, this.cohorts, this.debugMode) : 'flag' === propertyType ? await this.evaluateFlagDependency(prop, distinctId, groups, personProperties, groupProperties, properties, evaluationCache) : matchProperty(prop, properties, warnFunction);
280
+ matches = 'cohort' === propertyType ? matchCohort(prop, properties, this.cohorts, this.debugMode) : 'flag' === propertyType ? await this.evaluateFlagDependency(prop, properties, evaluationContext) : matchProperty(prop, properties, warnFunction);
259
281
  if (!matches) return false;
260
282
  }
261
283
  if (void 0 == rolloutPercentage) return true;
@@ -60,32 +60,47 @@ class FeatureFlagsPoller {
60
60
  logMsgIfDebug(fn) {
61
61
  if (this.debugMode) fn();
62
62
  }
63
+ createEvaluationContext(distinctId, groups = {}, personProperties = {}, groupProperties = {}, evaluationCache = {}) {
64
+ return {
65
+ distinctId,
66
+ groups,
67
+ personProperties,
68
+ groupProperties,
69
+ evaluationCache
70
+ };
71
+ }
63
72
  async getFeatureFlag(key, distinctId, groups = {}, personProperties = {}, groupProperties = {}) {
64
73
  await this.loadFeatureFlags();
65
74
  let response;
66
75
  let featureFlag;
67
76
  if (!this.loadedSuccessfullyOnce) return response;
68
77
  featureFlag = this.featureFlagsByKey[key];
69
- if (void 0 !== featureFlag) try {
70
- const result = await this.computeFlagAndPayloadLocally(featureFlag, distinctId, groups, personProperties, groupProperties);
71
- response = result.value;
72
- this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${key} -> ${response}`));
73
- } catch (e) {
74
- if (e instanceof RequiresServerEvaluation || e instanceof InconclusiveMatchError) this.logMsgIfDebug(()=>console.debug(`${e.name} when computing flag locally: ${key}: ${e.message}`));
75
- else if (e instanceof Error) this.onError?.(new Error(`Error computing flag locally: ${key}: ${e}`));
78
+ if (void 0 !== featureFlag) {
79
+ const evaluationContext = this.createEvaluationContext(distinctId, groups, personProperties, groupProperties);
80
+ try {
81
+ const result = await this.computeFlagAndPayloadLocally(featureFlag, evaluationContext);
82
+ response = result.value;
83
+ this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${key} -> ${response}`));
84
+ } catch (e) {
85
+ if (e instanceof RequiresServerEvaluation || e instanceof InconclusiveMatchError) this.logMsgIfDebug(()=>console.debug(`${e.name} when computing flag locally: ${key}: ${e.message}`));
86
+ else if (e instanceof Error) this.onError?.(new Error(`Error computing flag locally: ${key}: ${e}`));
87
+ }
76
88
  }
77
89
  return response;
78
90
  }
79
- async getAllFlagsAndPayloads(distinctId, groups = {}, personProperties = {}, groupProperties = {}, flagKeysToExplicitlyEvaluate) {
91
+ async getAllFlagsAndPayloads(evaluationContext, flagKeysToExplicitlyEvaluate) {
80
92
  await this.loadFeatureFlags();
81
93
  const response = {};
82
94
  const payloads = {};
83
95
  let fallbackToFlags = 0 == this.featureFlags.length;
84
96
  const flagsToEvaluate = flagKeysToExplicitlyEvaluate ? flagKeysToExplicitlyEvaluate.map((key)=>this.featureFlagsByKey[key]).filter(Boolean) : this.featureFlags;
85
- const sharedEvaluationCache = {};
97
+ const sharedEvaluationContext = {
98
+ ...evaluationContext,
99
+ evaluationCache: evaluationContext.evaluationCache ?? {}
100
+ };
86
101
  await Promise.all(flagsToEvaluate.map(async (flag)=>{
87
102
  try {
88
- const { value: matchValue, payload: matchPayload } = await this.computeFlagAndPayloadLocally(flag, distinctId, groups, personProperties, groupProperties, void 0, sharedEvaluationCache);
103
+ const { value: matchValue, payload: matchPayload } = await this.computeFlagAndPayloadLocally(flag, sharedEvaluationContext);
89
104
  response[flag.key] = matchValue;
90
105
  if (matchPayload) payloads[flag.key] = matchPayload;
91
106
  } catch (e) {
@@ -100,21 +115,23 @@ class FeatureFlagsPoller {
100
115
  fallbackToFlags
101
116
  };
102
117
  }
103
- async computeFlagAndPayloadLocally(flag, distinctId, groups = {}, personProperties = {}, groupProperties = {}, matchValue, evaluationCache, skipLoadCheck = false) {
118
+ async computeFlagAndPayloadLocally(flag, evaluationContext, options = {}) {
119
+ const { matchValue, skipLoadCheck = false } = options;
104
120
  if (!skipLoadCheck) await this.loadFeatureFlags();
105
121
  if (!this.loadedSuccessfullyOnce) return {
106
122
  value: false,
107
123
  payload: null
108
124
  };
109
125
  let flagValue;
110
- flagValue = void 0 !== matchValue ? matchValue : await this.computeFlagValueLocally(flag, distinctId, groups, personProperties, groupProperties, evaluationCache);
126
+ flagValue = void 0 !== matchValue ? matchValue : await this.computeFlagValueLocally(flag, evaluationContext);
111
127
  const payload = this.getFeatureFlagPayload(flag.key, flagValue);
112
128
  return {
113
129
  value: flagValue,
114
130
  payload
115
131
  };
116
132
  }
117
- async computeFlagValueLocally(flag, distinctId, groups = {}, personProperties = {}, groupProperties = {}, evaluationCache = {}) {
133
+ async computeFlagValueLocally(flag, evaluationContext) {
134
+ const { distinctId, groups, personProperties, groupProperties } = evaluationContext;
118
135
  if (flag.ensure_experience_continuity) throw new InconclusiveMatchError('Flag has experience continuity enabled');
119
136
  if (!flag.active) return false;
120
137
  const flagFilters = flag.filters || {};
@@ -129,13 +146,17 @@ class FeatureFlagsPoller {
129
146
  this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${flag.key} without group names passed in`));
130
147
  return false;
131
148
  }
149
+ if ('device_id' === flag.bucketing_identifier && (personProperties?.$device_id === void 0 || personProperties?.$device_id === null || personProperties?.$device_id === '')) this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${flag.key}`));
132
150
  const focusedGroupProperties = groupProperties[groupName];
133
- return await this.matchFeatureFlagProperties(flag, groups[groupName], focusedGroupProperties, evaluationCache, distinctId, groups, personProperties, groupProperties);
151
+ return await this.matchFeatureFlagProperties(flag, groups[groupName], focusedGroupProperties, evaluationContext);
134
152
  }
135
153
  {
136
154
  const bucketingValue = this.getBucketingValueForFlag(flag, distinctId, personProperties);
137
- if (void 0 === bucketingValue) throw new InconclusiveMatchError(`Can't compute feature flag: ${flag.key} without $device_id`);
138
- return await this.matchFeatureFlagProperties(flag, bucketingValue, personProperties, evaluationCache, distinctId, groups, personProperties, groupProperties);
155
+ if (void 0 === bucketingValue) {
156
+ this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${flag.key} without $device_id, falling back to server evaluation`));
157
+ throw new InconclusiveMatchError(`Can't compute feature flag: ${flag.key} without $device_id`);
158
+ }
159
+ return await this.matchFeatureFlagProperties(flag, bucketingValue, personProperties, evaluationContext);
139
160
  }
140
161
  }
141
162
  getBucketingValueForFlag(flag, distinctId, properties) {
@@ -162,7 +183,8 @@ class FeatureFlagsPoller {
162
183
  }
163
184
  return null;
164
185
  }
165
- async evaluateFlagDependency(property, distinctId, groups, personProperties, groupProperties, properties, evaluationCache) {
186
+ async evaluateFlagDependency(property, properties, evaluationContext) {
187
+ const { evaluationCache } = evaluationContext;
166
188
  const targetFlagKey = property.key;
167
189
  if (!this.featureFlagsByKey) throw new InconclusiveMatchError('Feature flags not available for dependency evaluation');
168
190
  if (!('dependency_chain' in property)) throw new InconclusiveMatchError(`Flag dependency property for '${targetFlagKey}' is missing required 'dependency_chain' field`);
@@ -173,7 +195,7 @@ class FeatureFlagsPoller {
173
195
  if (!(depFlagKey in evaluationCache)) {
174
196
  const depFlag = this.featureFlagsByKey[depFlagKey];
175
197
  if (depFlag) if (depFlag.active) try {
176
- const depResult = await this.computeFlagValueLocally(depFlag, distinctId, groups, personProperties, groupProperties, evaluationCache);
198
+ const depResult = await this.computeFlagValueLocally(depFlag, evaluationContext);
177
199
  evaluationCache[depFlagKey] = depResult;
178
200
  } catch (error) {
179
201
  throw new InconclusiveMatchError(`Error evaluating flag dependency '${depFlagKey}' for flag '${targetFlagKey}': ${error}`);
@@ -192,13 +214,13 @@ class FeatureFlagsPoller {
192
214
  if ('string' == typeof expectedValue) return flagValue === expectedValue;
193
215
  return false;
194
216
  }
195
- async matchFeatureFlagProperties(flag, bucketingValue, properties, evaluationCache = {}, distinctId = bucketingValue, groups = {}, personProperties = {}, groupProperties = {}) {
217
+ async matchFeatureFlagProperties(flag, bucketingValue, properties, evaluationContext) {
196
218
  const flagFilters = flag.filters || {};
197
219
  const flagConditions = flagFilters.groups || [];
198
220
  let isInconclusive = false;
199
221
  let result;
200
222
  for (const condition of flagConditions)try {
201
- if (await this.isConditionMatch(flag, bucketingValue, condition, properties, evaluationCache, distinctId, groups, personProperties, groupProperties)) {
223
+ if (await this.isConditionMatch(flag, bucketingValue, condition, properties, evaluationContext)) {
202
224
  const variantOverride = condition.variant;
203
225
  const flagVariants = flagFilters.multivariate?.variants || [];
204
226
  result = variantOverride && flagVariants.some((variant)=>variant.key === variantOverride) ? variantOverride : await this.getMatchingVariant(flag, bucketingValue) || true;
@@ -213,7 +235,7 @@ class FeatureFlagsPoller {
213
235
  if (isInconclusive) throw new InconclusiveMatchError("Can't determine if feature flag is enabled or not with given properties");
214
236
  return false;
215
237
  }
216
- async isConditionMatch(flag, bucketingValue, condition, properties, evaluationCache = {}, distinctId = bucketingValue, groups = {}, personProperties = {}, groupProperties = {}) {
238
+ async isConditionMatch(flag, bucketingValue, condition, properties, evaluationContext) {
217
239
  const rolloutPercentage = condition.rollout_percentage;
218
240
  const warnFunction = (msg)=>{
219
241
  this.logMsgIfDebug(()=>console.warn(msg));
@@ -222,7 +244,7 @@ class FeatureFlagsPoller {
222
244
  for (const prop of condition.properties){
223
245
  const propertyType = prop.type;
224
246
  let matches = false;
225
- matches = 'cohort' === propertyType ? matchCohort(prop, properties, this.cohorts, this.debugMode) : 'flag' === propertyType ? await this.evaluateFlagDependency(prop, distinctId, groups, personProperties, groupProperties, properties, evaluationCache) : matchProperty(prop, properties, warnFunction);
247
+ matches = 'cohort' === propertyType ? matchCohort(prop, properties, this.cohorts, this.debugMode) : 'flag' === propertyType ? await this.evaluateFlagDependency(prop, properties, evaluationContext) : matchProperty(prop, properties, warnFunction);
226
248
  if (!matches) return false;
227
249
  }
228
250
  if (void 0 == rolloutPercentage) return true;
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { PostHogCoreOptions, FeatureFlagValue, JsonType, PostHogFetchOptions, PostHogFetchResponse } from '@posthog/core';
1
+ import type { PostHogCoreOptions, FeatureFlagValue, JsonType, PostHogFetchOptions, PostHogFetchResponse, PostHogFlagsAndPayloadsResponse } from '@posthog/core';
2
2
  import { ContextData, ContextOptions } from './extensions/context/types';
3
3
  import type { FlagDefinitionCacheProvider } from './extensions/feature-flags/cache';
4
4
  export type IdentifyMessage = {
@@ -56,6 +56,19 @@ export type FlagPropertyValue = string | number | (string | number)[] | boolean;
56
56
  * - `FeatureFlagOverrideOptions` - Set both flag values and payloads
57
57
  */
58
58
  export type OverrideFeatureFlagsOptions = false | string[] | Record<string, FeatureFlagValue> | FeatureFlagOverrideOptions;
59
+ export type BaseFlagEvaluationOptions = {
60
+ groups?: Record<string, string>;
61
+ personProperties?: Record<string, string>;
62
+ groupProperties?: Record<string, Record<string, string>>;
63
+ onlyEvaluateLocally?: boolean;
64
+ disableGeoip?: boolean;
65
+ };
66
+ export type FlagEvaluationOptions = BaseFlagEvaluationOptions & {
67
+ sendFeatureFlagEvents?: boolean;
68
+ };
69
+ export type AllFlagsOptions = BaseFlagEvaluationOptions & {
70
+ flagKeys?: string[];
71
+ };
59
72
  export type FeatureFlagOverrideOptions = {
60
73
  /**
61
74
  * Flag overrides. Can be:
@@ -360,6 +373,34 @@ export interface IPostHog {
360
373
  getFeatureFlagPayload(key: string, distinctId: string, matchValue?: FeatureFlagValue, options?: {
361
374
  onlyEvaluateLocally?: boolean;
362
375
  }): Promise<JsonType | undefined>;
376
+ /**
377
+ * @description Get all feature flag values using distinctId from withContext().
378
+ */
379
+ getAllFlags(options?: AllFlagsOptions): Promise<Record<string, FeatureFlagValue>>;
380
+ /**
381
+ * @description Get all feature flag values for a specific user.
382
+ *
383
+ * @param distinctId - The user's distinct ID
384
+ * @param options - Optional configuration for flag evaluation
385
+ * @returns Promise that resolves to a record of flag keys and their values
386
+ */
387
+ getAllFlags(distinctId: string, options?: AllFlagsOptions): Promise<Record<string, FeatureFlagValue>>;
388
+ /**
389
+ * @description Get all feature flag values and payloads using distinctId from withContext().
390
+ */
391
+ getAllFlagsAndPayloads(options?: AllFlagsOptions): Promise<PostHogFlagsAndPayloadsResponse>;
392
+ /**
393
+ * @description Get all feature flag values and payloads for a specific user.
394
+ *
395
+ * @param distinctId - The user's distinct ID
396
+ * @param options - Optional configuration for flag evaluation
397
+ * @returns Promise that resolves to flags and payloads
398
+ */
399
+ getAllFlagsAndPayloads(distinctId: string, options?: AllFlagsOptions): Promise<PostHogFlagsAndPayloadsResponse>;
400
+ /**
401
+ * @description Get a feature flag result using distinctId from withContext().
402
+ */
403
+ getFeatureFlagResult(key: string, options?: FlagEvaluationOptions): Promise<FeatureFlagResult | undefined>;
363
404
  /**
364
405
  * @description Get the result of evaluating a feature flag, including its value and payload.
365
406
  * This is more efficient than calling getFeatureFlag and getFeatureFlagPayload separately when you need both.
@@ -379,14 +420,7 @@ export interface IPostHog {
379
420
  * @param options - Optional configuration for flag evaluation
380
421
  * @returns Promise that resolves to the flag result or undefined
381
422
  */
382
- getFeatureFlagResult(key: string, distinctId: string, options?: {
383
- groups?: Record<string, string>;
384
- personProperties?: Record<string, string>;
385
- groupProperties?: Record<string, Record<string, string>>;
386
- onlyEvaluateLocally?: boolean;
387
- sendFeatureFlagEvents?: boolean;
388
- disableGeoip?: boolean;
389
- }): Promise<FeatureFlagResult | undefined>;
423
+ getFeatureFlagResult(key: string, distinctId: string, options?: FlagEvaluationOptions): Promise<FeatureFlagResult | undefined>;
390
424
  /**
391
425
  * @description Sets a groups properties, which allows asking questions like "Who are the most active companies"
392
426
  * using my product in PostHog.
@@ -434,6 +468,14 @@ export interface IPostHog {
434
468
  * @returns The return value of the function
435
469
  */
436
470
  withContext<T>(data: Partial<ContextData>, fn: () => T, options?: ContextOptions): T;
471
+ /**
472
+ * @description Set context without a callback wrapper. Must be called in the same
473
+ * async scope that makes PostHog calls. Prefer `withContext()` when you can wrap
474
+ * code in a callback.
475
+ * @param data Context data to apply (distinctId, sessionId, properties)
476
+ * @param options Context options (fresh)
477
+ */
478
+ enterContext(data: Partial<ContextData>, options?: ContextOptions): void;
437
479
  /**
438
480
  * @description Get the current context data.
439
481
  * @returns The current context data, or undefined if no context is set
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAExE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAEnF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAA;IACzC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACxC,gBAAgB,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;IACpD,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAClB,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,iBAAiB,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAA;AAE/E;;;;;;;;GAQG;AACH,MAAM,MAAM,2BAA2B,GACnC,KAAK,GACL,MAAM,EAAE,GACR,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAChC,0BAA0B,CAAA;AAE9B,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,YAAY,EAAE,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,aAAa,GAAG,WAAW,GAAG,EAAE,GAAG,IAAI,CAAA;AAEpF,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,YAAY,GAAG,IAAI,CAAA;AAE9E,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG;IACrE,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0BAA0B,CAAC,EAAE,OAAO,CAAA;IAEpC,2BAA2B,CAAC,EAAE,MAAM,CAAA;IAEpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAGpF,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAA;IAC3C;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC;;;;;;;;;;;;;;;;OAgBG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,oBAAoB,CAAC,EAAE,8BAA8B,CAAA;IACrD,OAAO,CAAC,EAAE;QACR,4BAA4B,CAAC,EAAE,MAAM,CAAA;QACrC,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAA;QAC/B,YAAY,CAAC,EAAE;YACb,QAAQ,EAAE;gBACR,GAAG,EAAE,MAAM,CAAA;gBACX,kBAAkB,EAAE,MAAM,CAAA;aAC3B,EAAE,CAAA;SACJ,CAAA;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAClC,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,kBAAkB,EAAE,IAAI,GAAG,MAAM,CAAA;IACjC,4BAA4B,EAAE,OAAO,CAAA;IACrC,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,GAAG,MAAM,CAAA;AAEpG;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,YAAY,GAAG,IAAI,CAAA;IAExF;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1G;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,eAAe,GAAG,IAAI,CAAA;IAE3D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7E;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAExD;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1E;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACxD,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAChC,GACA,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IAE/B;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACxD,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAChC,GACA,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,qBAAqB,CACnB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,gBAAgB,EAC7B,OAAO,CAAC,EAAE;QACR,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAC9B,GACA,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IAEhC;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAClB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACxD,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;QAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,GACA,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;IAEzC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAE9E;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,oBAAoB,CAAC,SAAS,EAAE,2BAA2B,GAAG,IAAI,CAAA;IAElE;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,CAAC,CAAA;IAEpF;;;OAGG;IACH,UAAU,IAAI,WAAW,GAAG,SAAS,CAAA;IAErC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1C;;;;OAIG;IACH,2BAA2B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjE;;;OAGG;IACH,sBAAsB,IAAI,OAAO,CAAA;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAChC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAExE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAEnF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAA;IACzC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACxC,gBAAgB,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAA;IACpD,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAClB,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,iBAAiB,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAA;AAE/E;;;;;;;;GAQG;AACH,MAAM,MAAM,2BAA2B,GACnC,KAAK,GACL,MAAM,EAAE,GACR,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAChC,0BAA0B,CAAA;AAE9B,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxD,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AACD,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAAG;IAC9D,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,yBAAyB,GAAG;IACxD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,YAAY,EAAE,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,aAAa,GAAG,WAAW,GAAG,EAAE,GAAG,IAAI,CAAA;AAEpF,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,KAAK,YAAY,GAAG,IAAI,CAAA;AAE9E,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG;IACrE,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0BAA0B,CAAC,EAAE,OAAO,CAAA;IAEpC,2BAA2B,CAAC,EAAE,MAAM,CAAA;IAEpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAGpF,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAA;IAC3C;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC;;;;;;;;;;;;;;;;OAgBG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,oBAAoB,CAAC,EAAE,8BAA8B,CAAA;IACrD,OAAO,CAAC,EAAE;QACR,4BAA4B,CAAC,EAAE,MAAM,CAAA;QACrC,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAA;QAC/B,YAAY,CAAC,EAAE;YACb,QAAQ,EAAE;gBACR,GAAG,EAAE,MAAM,CAAA;gBACX,kBAAkB,EAAE,MAAM,CAAA;aAC3B,EAAE,CAAA;SACJ,CAAA;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAClC,CAAA;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,kBAAkB,EAAE,IAAI,GAAG,MAAM,CAAA;IACjC,4BAA4B,EAAE,OAAO,CAAA;IACrC,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,GAAG,MAAM,CAAA;AAEpG;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,YAAY,GAAG,IAAI,CAAA;IAExF;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1G;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,eAAe,GAAG,IAAI,CAAA;IAE3D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7E;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAExD;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE1E;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACxD,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAChC,GACA,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IAE/B;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QACxD,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAChC,GACA,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAA;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,qBAAqB,CACnB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,gBAAgB,EAC7B,OAAO,CAAC,EAAE;QACR,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAC9B,GACA,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAA;IAEhC;;OAEG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAEjF;;;;;;OAMG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAErG;;OAEG;IACH,sBAAsB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAE3F;;;;;;OAMG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAE/G;;OAEG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;IAE1G;;;;;;;;;;;;;;;;;;OAkBG;IACH,oBAAoB,CAClB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;IAEzC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAE9E;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,oBAAoB,CAAC,SAAS,EAAE,2BAA2B,GAAG,IAAI,CAAA;IAElE;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,CAAC,CAAA;IAEpF;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAExE;;;OAGG;IACH,UAAU,IAAI,WAAW,GAAG,SAAS,CAAA;IAErC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1C;;;;OAIG;IACH,2BAA2B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjE;;;OAGG;IACH,sBAAsB,IAAI,OAAO,CAAA;CAClC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "5.24.17";
1
+ export declare const version = "5.26.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,YAAY,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAA"}
package/dist/version.js CHANGED
@@ -26,7 +26,7 @@ __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
27
  version: ()=>version
28
28
  });
29
- const version = '5.24.17';
29
+ const version = '5.26.0';
30
30
  exports.version = __webpack_exports__.version;
31
31
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
32
32
  "version"
package/dist/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- const version = '5.24.17';
1
+ const version = '5.26.0';
2
2
  export { version };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "posthog-node",
3
- "version": "5.24.17",
3
+ "version": "5.26.0",
4
4
  "description": "PostHog Node.js integration",
5
5
  "repository": {
6
6
  "type": "git",