@posthog/core 1.0.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 (43) hide show
  1. package/dist/eventemitter.d.ts +9 -0
  2. package/dist/eventemitter.d.ts.map +1 -0
  3. package/dist/eventemitter.js +52 -0
  4. package/dist/eventemitter.mjs +18 -0
  5. package/dist/featureFlagUtils.d.ts +35 -0
  6. package/dist/featureFlagUtils.d.ts.map +1 -0
  7. package/dist/featureFlagUtils.js +193 -0
  8. package/dist/featureFlagUtils.mjs +138 -0
  9. package/dist/gzip.d.ts +10 -0
  10. package/dist/gzip.d.ts.map +1 -0
  11. package/dist/gzip.js +56 -0
  12. package/dist/gzip.mjs +19 -0
  13. package/dist/index.d.ts +261 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +1305 -0
  16. package/dist/index.mjs +1198 -0
  17. package/dist/testing/PostHogCoreTestClient.d.ts +24 -0
  18. package/dist/testing/PostHogCoreTestClient.d.ts.map +1 -0
  19. package/dist/testing/PostHogCoreTestClient.js +95 -0
  20. package/dist/testing/PostHogCoreTestClient.mjs +58 -0
  21. package/dist/testing/index.d.ts +3 -0
  22. package/dist/testing/index.d.ts.map +1 -0
  23. package/dist/testing/index.js +69 -0
  24. package/dist/testing/index.mjs +2 -0
  25. package/dist/testing/test-utils.d.ts +6 -0
  26. package/dist/testing/test-utils.d.ts.map +1 -0
  27. package/dist/testing/test-utils.js +75 -0
  28. package/dist/testing/test-utils.mjs +29 -0
  29. package/dist/types.d.ts +441 -0
  30. package/dist/types.d.ts.map +1 -0
  31. package/dist/types.js +163 -0
  32. package/dist/types.mjs +99 -0
  33. package/dist/utils.d.ts +24 -0
  34. package/dist/utils.d.ts.map +1 -0
  35. package/dist/utils.js +115 -0
  36. package/dist/utils.mjs +51 -0
  37. package/dist/vendor/uuidv7.d.ts +180 -0
  38. package/dist/vendor/uuidv7.d.ts.map +1 -0
  39. package/dist/vendor/uuidv7.js +223 -0
  40. package/dist/vendor/uuidv7.js.LICENSE.txt +7 -0
  41. package/dist/vendor/uuidv7.mjs +174 -0
  42. package/dist/vendor/uuidv7.mjs.LICENSE.txt +7 -0
  43. package/package.json +52 -0
@@ -0,0 +1,261 @@
1
+ import { PostHogFetchOptions, PostHogFetchResponse, PostHogAutocaptureElement, PostHogFlagsResponse, PostHogCoreOptions, PostHogEventProperties, PostHogPersistedProperty, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, PostHogFeatureFlagDetails, FeatureFlagDetail, SurveyResponse, PostHogGroupProperties } from './types';
2
+ import { RetriableOptions } from './utils';
3
+ import { SimpleEventEmitter } from './eventemitter';
4
+ export { safeSetTimeout } from './utils';
5
+ export { getFetch } from './utils';
6
+ export { getFeatureFlagValue } from './featureFlagUtils';
7
+ export * as utils from './utils';
8
+ export declare const maybeAdd: (key: string, value: JsonType | undefined) => Record<string, JsonType>;
9
+ export declare function logFlushError(err: any): Promise<void>;
10
+ export declare abstract class PostHogCoreStateless {
11
+ readonly apiKey: string;
12
+ readonly host: string;
13
+ readonly flushAt: number;
14
+ readonly preloadFeatureFlags: boolean;
15
+ readonly disableSurveys: boolean;
16
+ private maxBatchSize;
17
+ private maxQueueSize;
18
+ private flushInterval;
19
+ private flushPromise;
20
+ private shutdownPromise;
21
+ private requestTimeout;
22
+ private featureFlagsRequestTimeoutMs;
23
+ private remoteConfigRequestTimeoutMs;
24
+ private removeDebugCallback?;
25
+ private disableGeoip;
26
+ private historicalMigration;
27
+ protected disabled: boolean;
28
+ protected disableCompression: boolean;
29
+ private defaultOptIn;
30
+ private pendingPromises;
31
+ protected _events: SimpleEventEmitter;
32
+ protected _flushTimer?: any;
33
+ protected _retryOptions: RetriableOptions;
34
+ protected _initPromise: Promise<void>;
35
+ protected _isInitialized: boolean;
36
+ protected _remoteConfigResponsePromise?: Promise<PostHogRemoteConfig | undefined>;
37
+ abstract fetch(url: string, options: PostHogFetchOptions): Promise<PostHogFetchResponse>;
38
+ abstract getLibraryId(): string;
39
+ abstract getLibraryVersion(): string;
40
+ abstract getCustomUserAgent(): string | void;
41
+ abstract getPersistedProperty<T>(key: PostHogPersistedProperty): T | undefined;
42
+ abstract setPersistedProperty<T>(key: PostHogPersistedProperty, value: T | null): void;
43
+ constructor(apiKey: string, options?: PostHogCoreOptions);
44
+ protected logMsgIfDebug(fn: () => void): void;
45
+ protected wrap(fn: () => void): void;
46
+ protected getCommonEventProperties(): PostHogEventProperties;
47
+ get optedOut(): boolean;
48
+ optIn(): Promise<void>;
49
+ optOut(): Promise<void>;
50
+ on(event: string, cb: (...args: any[]) => void): () => void;
51
+ debug(enabled?: boolean): void;
52
+ get isDebug(): boolean;
53
+ get isDisabled(): boolean;
54
+ private buildPayload;
55
+ protected addPendingPromise<T>(promise: Promise<T>): Promise<T>;
56
+ /***
57
+ *** TRACKING
58
+ ***/
59
+ protected identifyStateless(distinctId: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
60
+ protected identifyStatelessImmediate(distinctId: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): Promise<void>;
61
+ protected captureStateless(distinctId: string, event: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
62
+ protected captureStatelessImmediate(distinctId: string, event: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): Promise<void>;
63
+ protected aliasStateless(alias: string, distinctId: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
64
+ protected aliasStatelessImmediate(alias: string, distinctId: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): Promise<void>;
65
+ /***
66
+ *** GROUPS
67
+ ***/
68
+ protected groupIdentifyStateless(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions, distinctId?: string, eventProperties?: PostHogEventProperties): void;
69
+ protected getRemoteConfig(): Promise<PostHogRemoteConfig | undefined>;
70
+ /***
71
+ *** FEATURE FLAGS
72
+ ***/
73
+ protected getFlags(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, extraPayload?: Record<string, any>): Promise<PostHogFlagsResponse | undefined>;
74
+ protected getFeatureFlagStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<{
75
+ response: FeatureFlagValue | undefined;
76
+ requestId: string | undefined;
77
+ }>;
78
+ protected getFeatureFlagDetailStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<{
79
+ response: FeatureFlagDetail | undefined;
80
+ requestId: string | undefined;
81
+ } | undefined>;
82
+ protected getFeatureFlagPayloadStateless(key: string, distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean): Promise<JsonType | undefined>;
83
+ protected getFeatureFlagPayloadsStateless(distinctId: string, groups?: Record<string, string>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<PostHogFlagsResponse['featureFlagPayloads'] | undefined>;
84
+ protected getFeatureFlagsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<{
85
+ flags: PostHogFlagsResponse['featureFlags'] | undefined;
86
+ payloads: PostHogFlagsResponse['featureFlagPayloads'] | undefined;
87
+ requestId: PostHogFlagsResponse['requestId'] | undefined;
88
+ }>;
89
+ protected getFeatureFlagsAndPayloadsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<{
90
+ flags: PostHogFlagsResponse['featureFlags'] | undefined;
91
+ payloads: PostHogFlagsResponse['featureFlagPayloads'] | undefined;
92
+ requestId: PostHogFlagsResponse['requestId'] | undefined;
93
+ }>;
94
+ protected getFeatureFlagDetailsStateless(distinctId: string, groups?: Record<string, string | number>, personProperties?: Record<string, string>, groupProperties?: Record<string, Record<string, string>>, disableGeoip?: boolean, flagKeysToEvaluate?: string[]): Promise<PostHogFeatureFlagDetails | undefined>;
95
+ /***
96
+ *** SURVEYS
97
+ ***/
98
+ getSurveysStateless(): Promise<SurveyResponse['surveys']>;
99
+ /***
100
+ *** SUPER PROPERTIES
101
+ ***/
102
+ private _props;
103
+ protected get props(): PostHogEventProperties;
104
+ protected set props(val: PostHogEventProperties | undefined);
105
+ register(properties: PostHogEventProperties): Promise<void>;
106
+ unregister(property: string): Promise<void>;
107
+ /***
108
+ *** QUEUEING AND FLUSHING
109
+ ***/
110
+ protected enqueue(type: string, _message: any, options?: PostHogCaptureOptions): void;
111
+ protected sendImmediate(type: string, _message: any, options?: PostHogCaptureOptions): Promise<void>;
112
+ private prepareMessage;
113
+ private clearFlushTimer;
114
+ /**
115
+ * Helper for flushing the queue in the background
116
+ * Avoids unnecessary promise errors
117
+ */
118
+ private flushBackground;
119
+ /**
120
+ * Flushes the queue
121
+ *
122
+ * This function will return a promise that will resolve when the flush is complete,
123
+ * or reject if there was an error (for example if the server or network is down).
124
+ *
125
+ * If there is already a flush in progress, this function will wait for that flush to complete.
126
+ *
127
+ * It's recommended to do error handling in the callback of the promise.
128
+ *
129
+ * @example
130
+ * posthog.flush().then(() => {
131
+ * console.log('Flush complete')
132
+ * }).catch((err) => {
133
+ * console.error('Flush failed', err)
134
+ * })
135
+ *
136
+ *
137
+ * @throws PostHogFetchHttpError
138
+ * @throws PostHogFetchNetworkError
139
+ * @throws Error
140
+ */
141
+ flush(): Promise<void>;
142
+ protected getCustomHeaders(): {
143
+ [key: string]: string;
144
+ };
145
+ private _flush;
146
+ private fetchWithRetry;
147
+ _shutdown(shutdownTimeoutMs?: number): Promise<void>;
148
+ /**
149
+ * Call shutdown() once before the node process exits, so ensure that all events have been sent and all promises
150
+ * have resolved. Do not use this function if you intend to keep using this PostHog instance after calling it.
151
+ * @param shutdownTimeoutMs
152
+ */
153
+ shutdown(shutdownTimeoutMs?: number): Promise<void>;
154
+ }
155
+ export declare abstract class PostHogCore extends PostHogCoreStateless {
156
+ private sendFeatureFlagEvent;
157
+ private flagCallReported;
158
+ protected _flagsResponsePromise?: Promise<PostHogFlagsResponse | undefined>;
159
+ protected _sessionExpirationTimeSeconds: number;
160
+ private _sessionMaxLengthSeconds;
161
+ protected sessionProps: PostHogEventProperties;
162
+ constructor(apiKey: string, options?: PostHogCoreOptions);
163
+ protected setupBootstrap(options?: Partial<PostHogCoreOptions>): void;
164
+ private clearProps;
165
+ on(event: string, cb: (...args: any[]) => void): () => void;
166
+ reset(propertiesToKeep?: PostHogPersistedProperty[]): void;
167
+ protected getCommonEventProperties(): PostHogEventProperties;
168
+ private enrichProperties;
169
+ /**
170
+ * * @returns {string} The stored session ID for the current session. This may be an empty string if the client is not yet fully initialized.
171
+ */
172
+ getSessionId(): string;
173
+ resetSessionId(): void;
174
+ /**
175
+ * * @returns {string} The stored anonymous ID. This may be an empty string if the client is not yet fully initialized.
176
+ */
177
+ getAnonymousId(): string;
178
+ /**
179
+ * * @returns {string} The stored distinct ID. This may be an empty string if the client is not yet fully initialized.
180
+ */
181
+ getDistinctId(): string;
182
+ registerForSession(properties: PostHogEventProperties): void;
183
+ unregisterForSession(property: string): void;
184
+ /***
185
+ *** TRACKING
186
+ ***/
187
+ identify(distinctId?: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
188
+ capture(event: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
189
+ alias(alias: string): void;
190
+ autocapture(eventType: string, elements: PostHogAutocaptureElement[], properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
191
+ /***
192
+ *** GROUPS
193
+ ***/
194
+ groups(groups: PostHogGroupProperties): void;
195
+ group(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
196
+ groupIdentify(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
197
+ /***
198
+ * PROPERTIES
199
+ ***/
200
+ setPersonPropertiesForFlags(properties: {
201
+ [type: string]: string;
202
+ }): void;
203
+ resetPersonPropertiesForFlags(): void;
204
+ setGroupPropertiesForFlags(properties: {
205
+ [type: string]: Record<string, string>;
206
+ }): void;
207
+ resetGroupPropertiesForFlags(): void;
208
+ private remoteConfigAsync;
209
+ /***
210
+ *** FEATURE FLAGS
211
+ ***/
212
+ private flagsAsync;
213
+ private cacheSessionReplay;
214
+ private _remoteConfigAsync;
215
+ private _flagsAsync;
216
+ private setKnownFeatureFlagDetails;
217
+ private getKnownFeatureFlagDetails;
218
+ protected getKnownFeatureFlags(): PostHogFlagsResponse['featureFlags'] | undefined;
219
+ private getKnownFeatureFlagPayloads;
220
+ private getBootstrappedFeatureFlagDetails;
221
+ private setBootstrappedFeatureFlagDetails;
222
+ private getBootstrappedFeatureFlags;
223
+ private getBootstrappedFeatureFlagPayloads;
224
+ getFeatureFlag(key: string): FeatureFlagValue | undefined;
225
+ getFeatureFlagPayload(key: string): JsonType | undefined;
226
+ getFeatureFlagPayloads(): PostHogFlagsResponse['featureFlagPayloads'] | undefined;
227
+ getFeatureFlags(): PostHogFlagsResponse['featureFlags'] | undefined;
228
+ getFeatureFlagDetails(): PostHogFeatureFlagDetails | undefined;
229
+ getFeatureFlagsAndPayloads(): {
230
+ flags: PostHogFlagsResponse['featureFlags'] | undefined;
231
+ payloads: PostHogFlagsResponse['featureFlagPayloads'] | undefined;
232
+ };
233
+ isFeatureEnabled(key: string): boolean | undefined;
234
+ reloadFeatureFlags(options?: {
235
+ cb?: (err?: Error, flags?: PostHogFlagsResponse['featureFlags']) => void;
236
+ }): void;
237
+ reloadRemoteConfigAsync(): Promise<PostHogRemoteConfig | undefined>;
238
+ reloadFeatureFlagsAsync(sendAnonDistinctId?: boolean): Promise<PostHogFlagsResponse['featureFlags'] | undefined>;
239
+ onFeatureFlags(cb: (flags: PostHogFlagsResponse['featureFlags']) => void): () => void;
240
+ onFeatureFlag(key: string, cb: (value: FeatureFlagValue) => void): () => void;
241
+ overrideFeatureFlag(flags: PostHogFlagsResponse['featureFlags'] | null): Promise<void>;
242
+ /***
243
+ *** ERROR TRACKING
244
+ ***/
245
+ captureException(error: unknown, additionalProperties?: PostHogEventProperties): void;
246
+ /**
247
+ * Capture written user feedback for a LLM trace. Numeric values are converted to strings.
248
+ * @param traceId The trace ID to capture feedback for.
249
+ * @param userFeedback The feedback to capture.
250
+ */
251
+ captureTraceFeedback(traceId: string | number, userFeedback: string): void;
252
+ /**
253
+ * Capture a metric for a LLM trace. Numeric values are converted to strings.
254
+ * @param traceId The trace ID to capture the metric for.
255
+ * @param metricName The name of the metric to capture.
256
+ * @param metricValue The value of the metric to capture.
257
+ */
258
+ captureTraceMetric(traceId: string | number, metricName: string, metricValue: string | number | boolean): void;
259
+ }
260
+ export * from './types';
261
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}