@posthog/core 1.1.0 → 1.2.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.
- package/dist/error-tracking/chunk-ids.js +1 -1
- package/dist/error-tracking/chunk-ids.mjs +1 -1
- package/dist/error-tracking/coercers/error-event-coercer.js +4 -5
- package/dist/error-tracking/coercers/error-event-coercer.mjs +4 -5
- package/dist/error-tracking/coercers/event-coercer.js +1 -2
- package/dist/error-tracking/coercers/event-coercer.mjs +1 -2
- package/dist/error-tracking/coercers/object-coercer.js +1 -2
- package/dist/error-tracking/coercers/object-coercer.mjs +1 -2
- package/dist/error-tracking/coercers/primitive-coercer.js +1 -2
- package/dist/error-tracking/coercers/primitive-coercer.mjs +1 -2
- package/dist/error-tracking/coercers/promise-rejection-event.js +4 -5
- package/dist/error-tracking/coercers/promise-rejection-event.mjs +4 -5
- package/dist/error-tracking/coercers/string-coercer.js +3 -4
- package/dist/error-tracking/coercers/string-coercer.mjs +3 -4
- package/dist/error-tracking/coercers/utils.js +2 -4
- package/dist/error-tracking/coercers/utils.mjs +2 -4
- package/dist/error-tracking/error-properties-builder.js +11 -15
- package/dist/error-tracking/error-properties-builder.mjs +11 -15
- package/dist/error-tracking/parsers/index.js +2 -4
- package/dist/error-tracking/parsers/index.mjs +2 -4
- package/dist/error-tracking/parsers/node.js +3 -5
- package/dist/error-tracking/parsers/node.mjs +3 -5
- package/dist/error-tracking/utils.js +4 -4
- package/dist/error-tracking/utils.mjs +4 -4
- package/dist/eventemitter.js +4 -4
- package/dist/eventemitter.mjs +4 -4
- package/dist/featureFlagUtils.js +20 -45
- package/dist/featureFlagUtils.mjs +20 -45
- package/dist/gzip.js +1 -2
- package/dist/gzip.mjs +1 -2
- package/dist/index.d.ts +4 -366
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -1225
- package/dist/index.mjs +5 -1190
- package/dist/posthog-core-stateless.d.ts +204 -0
- package/dist/posthog-core-stateless.d.ts.map +1 -0
- package/dist/posthog-core-stateless.js +675 -0
- package/dist/posthog-core-stateless.mjs +632 -0
- package/dist/posthog-core.d.ts +171 -0
- package/dist/posthog-core.d.ts.map +1 -0
- package/dist/posthog-core.js +554 -0
- package/dist/posthog-core.mjs +520 -0
- package/dist/testing/PostHogCoreTestClient.d.ts +2 -1
- package/dist/testing/PostHogCoreTestClient.d.ts.map +1 -1
- package/dist/testing/PostHogCoreTestClient.js +9 -11
- package/dist/testing/PostHogCoreTestClient.mjs +8 -10
- package/dist/testing/test-utils.js +1 -1
- package/dist/testing/test-utils.mjs +1 -1
- package/dist/utils/bucketed-rate-limiter.js +8 -12
- package/dist/utils/bucketed-rate-limiter.mjs +8 -12
- package/dist/utils/index.js +3 -3
- package/dist/utils/index.mjs +3 -3
- package/dist/utils/type-utils.js +1 -1
- package/dist/utils/type-utils.mjs +1 -1
- package/dist/vendor/uuidv7.js +12 -16
- package/dist/vendor/uuidv7.mjs +12 -16
- package/package.json +3 -2
- package/src/__tests__/featureFlagUtils.spec.ts +427 -0
- package/src/__tests__/gzip.spec.ts +69 -0
- package/src/__tests__/posthog.ai.spec.ts +110 -0
- package/src/__tests__/posthog.capture.spec.ts +91 -0
- package/src/__tests__/posthog.core.spec.ts +135 -0
- package/src/__tests__/posthog.debug.spec.ts +36 -0
- package/src/__tests__/posthog.enqueue.spec.ts +93 -0
- package/src/__tests__/posthog.featureflags.spec.ts +1106 -0
- package/src/__tests__/posthog.featureflags.v1.spec.ts +922 -0
- package/src/__tests__/posthog.flush.spec.ts +237 -0
- package/src/__tests__/posthog.gdpr.spec.ts +50 -0
- package/src/__tests__/posthog.groups.spec.ts +96 -0
- package/src/__tests__/posthog.identify.spec.ts +194 -0
- package/src/__tests__/posthog.init.spec.ts +110 -0
- package/src/__tests__/posthog.listeners.spec.ts +51 -0
- package/src/__tests__/posthog.register.spec.ts +47 -0
- package/src/__tests__/posthog.reset.spec.ts +76 -0
- package/src/__tests__/posthog.sessions.spec.ts +63 -0
- package/src/__tests__/posthog.setProperties.spec.ts +102 -0
- package/src/__tests__/posthog.shutdown.spec.ts +88 -0
- package/src/__tests__/utils.spec.ts +36 -0
- package/src/error-tracking/chunk-ids.ts +58 -0
- package/src/error-tracking/coercers/dom-exception-coercer.ts +38 -0
- package/src/error-tracking/coercers/error-coercer.ts +36 -0
- package/src/error-tracking/coercers/error-event-coercer.ts +24 -0
- package/src/error-tracking/coercers/event-coercer.ts +19 -0
- package/src/error-tracking/coercers/index.ts +8 -0
- package/src/error-tracking/coercers/object-coercer.ts +76 -0
- package/src/error-tracking/coercers/primitive-coercer.ts +19 -0
- package/src/error-tracking/coercers/promise-rejection-event.spec.ts +77 -0
- package/src/error-tracking/coercers/promise-rejection-event.ts +53 -0
- package/src/error-tracking/coercers/string-coercer.spec.ts +26 -0
- package/src/error-tracking/coercers/string-coercer.ts +31 -0
- package/src/error-tracking/coercers/utils.ts +33 -0
- package/src/error-tracking/error-properties-builder.coerce.spec.ts +202 -0
- package/src/error-tracking/error-properties-builder.parse.spec.ts +30 -0
- package/src/error-tracking/error-properties-builder.ts +169 -0
- package/src/error-tracking/index.ts +5 -0
- package/src/error-tracking/parsers/base.ts +29 -0
- package/src/error-tracking/parsers/chrome.ts +53 -0
- package/src/error-tracking/parsers/gecko.ts +38 -0
- package/src/error-tracking/parsers/index.ts +104 -0
- package/src/error-tracking/parsers/node.ts +111 -0
- package/src/error-tracking/parsers/opera.ts +18 -0
- package/src/error-tracking/parsers/react-native.ts +0 -0
- package/src/error-tracking/parsers/safari.ts +33 -0
- package/src/error-tracking/parsers/winjs.ts +12 -0
- package/src/error-tracking/types.ts +107 -0
- package/src/error-tracking/utils.ts +39 -0
- package/src/eventemitter.ts +27 -0
- package/src/featureFlagUtils.ts +192 -0
- package/src/gzip.ts +29 -0
- package/src/index.ts +8 -0
- package/src/posthog-core-stateless.ts +1226 -0
- package/src/posthog-core.ts +958 -0
- package/src/testing/PostHogCoreTestClient.ts +91 -0
- package/src/testing/index.ts +2 -0
- package/src/testing/test-utils.ts +47 -0
- package/src/types.ts +544 -0
- package/src/utils/bucketed-rate-limiter.spec.ts +33 -0
- package/src/utils/bucketed-rate-limiter.ts +85 -0
- package/src/utils/index.ts +98 -0
- package/src/utils/number-utils.spec.ts +89 -0
- package/src/utils/number-utils.ts +30 -0
- package/src/utils/promise-queue.spec.ts +55 -0
- package/src/utils/promise-queue.ts +30 -0
- package/src/utils/string-utils.ts +23 -0
- package/src/utils/type-utils.ts +134 -0
- package/src/vendor/uuidv7.ts +479 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import type { PostHogAutocaptureElement, PostHogFlagsResponse, PostHogCoreOptions, PostHogEventProperties, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, PostHogFeatureFlagDetails, PostHogGroupProperties } from './types';
|
|
2
|
+
import { PostHogPersistedProperty } from './types';
|
|
3
|
+
import { PostHogCoreStateless } from './posthog-core-stateless';
|
|
4
|
+
export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
5
|
+
private sendFeatureFlagEvent;
|
|
6
|
+
private flagCallReported;
|
|
7
|
+
protected _flagsResponsePromise?: Promise<PostHogFlagsResponse | undefined>;
|
|
8
|
+
protected _sessionExpirationTimeSeconds: number;
|
|
9
|
+
private _sessionMaxLengthSeconds;
|
|
10
|
+
protected sessionProps: PostHogEventProperties;
|
|
11
|
+
constructor(apiKey: string, options?: PostHogCoreOptions);
|
|
12
|
+
protected setupBootstrap(options?: Partial<PostHogCoreOptions>): void;
|
|
13
|
+
private clearProps;
|
|
14
|
+
on(event: string, cb: (...args: any[]) => void): () => void;
|
|
15
|
+
reset(propertiesToKeep?: PostHogPersistedProperty[]): void;
|
|
16
|
+
protected getCommonEventProperties(): PostHogEventProperties;
|
|
17
|
+
private enrichProperties;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the current session_id.
|
|
20
|
+
*
|
|
21
|
+
* @remarks
|
|
22
|
+
* This should only be used for informative purposes.
|
|
23
|
+
* Any actual internal use case for the session_id should be handled by the sessionManager.
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
*
|
|
27
|
+
* @returns The stored session ID for the current session. This may be an empty string if the client is not yet fully initialized.
|
|
28
|
+
*/
|
|
29
|
+
getSessionId(): string;
|
|
30
|
+
resetSessionId(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the current anonymous ID.
|
|
33
|
+
*
|
|
34
|
+
* This is the ID assigned to users before they are identified. It's used to track
|
|
35
|
+
* anonymous users and link them to identified users when they sign up.
|
|
36
|
+
*
|
|
37
|
+
* {@label Identification}
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```js
|
|
41
|
+
* // get the anonymous ID
|
|
42
|
+
* const anonId = posthog.getAnonymousId()
|
|
43
|
+
* console.log('Anonymous ID:', anonId)
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @public
|
|
47
|
+
*
|
|
48
|
+
* @returns {string} The stored anonymous ID. This may be an empty string if the client is not yet fully initialized.
|
|
49
|
+
*/
|
|
50
|
+
getAnonymousId(): string;
|
|
51
|
+
/**
|
|
52
|
+
* * @returns {string} The stored distinct ID. This may be an empty string if the client is not yet fully initialized.
|
|
53
|
+
*/
|
|
54
|
+
getDistinctId(): string;
|
|
55
|
+
registerForSession(properties: PostHogEventProperties): void;
|
|
56
|
+
unregisterForSession(property: string): void;
|
|
57
|
+
/***
|
|
58
|
+
*** TRACKING
|
|
59
|
+
***/
|
|
60
|
+
identify(distinctId?: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
|
|
61
|
+
capture(event: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
|
|
62
|
+
alias(alias: string): void;
|
|
63
|
+
autocapture(eventType: string, elements: PostHogAutocaptureElement[], properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
|
|
64
|
+
/***
|
|
65
|
+
*** GROUPS
|
|
66
|
+
***/
|
|
67
|
+
groups(groups: PostHogGroupProperties): void;
|
|
68
|
+
group(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
|
|
69
|
+
groupIdentify(groupType: string, groupKey: string | number, groupProperties?: PostHogEventProperties, options?: PostHogCaptureOptions): void;
|
|
70
|
+
/***
|
|
71
|
+
* PROPERTIES
|
|
72
|
+
***/
|
|
73
|
+
setPersonPropertiesForFlags(properties: {
|
|
74
|
+
[type: string]: string;
|
|
75
|
+
}): void;
|
|
76
|
+
resetPersonPropertiesForFlags(): void;
|
|
77
|
+
setGroupPropertiesForFlags(properties: {
|
|
78
|
+
[type: string]: Record<string, string>;
|
|
79
|
+
}): void;
|
|
80
|
+
resetGroupPropertiesForFlags(): void;
|
|
81
|
+
private remoteConfigAsync;
|
|
82
|
+
/***
|
|
83
|
+
*** FEATURE FLAGS
|
|
84
|
+
***/
|
|
85
|
+
private flagsAsync;
|
|
86
|
+
private cacheSessionReplay;
|
|
87
|
+
private _remoteConfigAsync;
|
|
88
|
+
private _flagsAsync;
|
|
89
|
+
private setKnownFeatureFlagDetails;
|
|
90
|
+
private getKnownFeatureFlagDetails;
|
|
91
|
+
protected getKnownFeatureFlags(): PostHogFlagsResponse['featureFlags'] | undefined;
|
|
92
|
+
private getKnownFeatureFlagPayloads;
|
|
93
|
+
private getBootstrappedFeatureFlagDetails;
|
|
94
|
+
private setBootstrappedFeatureFlagDetails;
|
|
95
|
+
private getBootstrappedFeatureFlags;
|
|
96
|
+
private getBootstrappedFeatureFlagPayloads;
|
|
97
|
+
getFeatureFlag(key: string): FeatureFlagValue | undefined;
|
|
98
|
+
getFeatureFlagPayload(key: string): JsonType | undefined;
|
|
99
|
+
getFeatureFlagPayloads(): PostHogFlagsResponse['featureFlagPayloads'] | undefined;
|
|
100
|
+
getFeatureFlags(): PostHogFlagsResponse['featureFlags'] | undefined;
|
|
101
|
+
getFeatureFlagDetails(): PostHogFeatureFlagDetails | undefined;
|
|
102
|
+
getFeatureFlagsAndPayloads(): {
|
|
103
|
+
flags: PostHogFlagsResponse['featureFlags'] | undefined;
|
|
104
|
+
payloads: PostHogFlagsResponse['featureFlagPayloads'] | undefined;
|
|
105
|
+
};
|
|
106
|
+
isFeatureEnabled(key: string): boolean | undefined;
|
|
107
|
+
reloadFeatureFlags(options?: {
|
|
108
|
+
cb?: (err?: Error, flags?: PostHogFlagsResponse['featureFlags']) => void;
|
|
109
|
+
}): void;
|
|
110
|
+
reloadRemoteConfigAsync(): Promise<PostHogRemoteConfig | undefined>;
|
|
111
|
+
reloadFeatureFlagsAsync(sendAnonDistinctId?: boolean): Promise<PostHogFlagsResponse['featureFlags'] | undefined>;
|
|
112
|
+
onFeatureFlags(cb: (flags: PostHogFlagsResponse['featureFlags']) => void): () => void;
|
|
113
|
+
onFeatureFlag(key: string, cb: (value: FeatureFlagValue) => void): () => void;
|
|
114
|
+
overrideFeatureFlag(flags: PostHogFlagsResponse['featureFlags'] | null): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* Capture a caught exception manually
|
|
117
|
+
*
|
|
118
|
+
* {@label Error tracking}
|
|
119
|
+
*
|
|
120
|
+
* @public
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```js
|
|
124
|
+
* // Capture a caught exception
|
|
125
|
+
* try {
|
|
126
|
+
* // something that might throw
|
|
127
|
+
* } catch (error) {
|
|
128
|
+
* posthog.captureException(error)
|
|
129
|
+
* }
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```js
|
|
134
|
+
* // With additional properties
|
|
135
|
+
* posthog.captureException(error, {
|
|
136
|
+
* customProperty: 'value',
|
|
137
|
+
* anotherProperty: ['I', 'can be a list'],
|
|
138
|
+
* ...
|
|
139
|
+
* })
|
|
140
|
+
* ```
|
|
141
|
+
*
|
|
142
|
+
* @param {Error} error The error to capture
|
|
143
|
+
* @param {Object} [additionalProperties] Any additional properties to add to the error event
|
|
144
|
+
* @returns {CaptureResult} The result of the capture
|
|
145
|
+
*/
|
|
146
|
+
captureException(error: unknown, additionalProperties?: PostHogEventProperties): void;
|
|
147
|
+
/**
|
|
148
|
+
* Capture written user feedback for a LLM trace. Numeric values are converted to strings.
|
|
149
|
+
*
|
|
150
|
+
* {@label LLM analytics}
|
|
151
|
+
*
|
|
152
|
+
* @public
|
|
153
|
+
*
|
|
154
|
+
* @param traceId The trace ID to capture feedback for.
|
|
155
|
+
* @param userFeedback The feedback to capture.
|
|
156
|
+
*/
|
|
157
|
+
captureTraceFeedback(traceId: string | number, userFeedback: string): void;
|
|
158
|
+
/**
|
|
159
|
+
* Capture a metric for a LLM trace. Numeric values are converted to strings.
|
|
160
|
+
*
|
|
161
|
+
* {@label LLM analytics}
|
|
162
|
+
*
|
|
163
|
+
* @public
|
|
164
|
+
*
|
|
165
|
+
* @param traceId The trace ID to capture the metric for.
|
|
166
|
+
* @param metricName The name of the metric to capture.
|
|
167
|
+
* @param metricValue The value of the metric to capture.
|
|
168
|
+
*/
|
|
169
|
+
captureTraceMetric(traceId: string | number, metricName: string, metricValue: string | number | boolean): void;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=posthog-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"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"}
|