@outlit/core 1.5.2 → 3.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.
- package/README.md +16 -0
- package/dist/index.d.mts +199 -190
- package/dist/index.d.ts +199 -190
- package/dist/index.js +40 -54
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -51
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -3
package/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# @outlit/core
|
|
2
|
+
|
|
3
|
+
Shared types and utilities for the Outlit browser and Node.js tracking SDKs.
|
|
4
|
+
|
|
5
|
+
Most applications should install `@outlit/browser` or `@outlit/node` directly. Use this package when building lower-level integrations on top of Outlit's shared tracking types and client utilities.
|
|
6
|
+
|
|
7
|
+
Outlit is the real-time understanding of every customer, the infrastructure agents use to automate customer operations.
|
|
8
|
+
|
|
9
|
+
## Canonical Docs
|
|
10
|
+
|
|
11
|
+
- Quick start: <https://docs.outlit.ai/tracking/quickstart>
|
|
12
|
+
- Tracking overview: <https://docs.outlit.ai/tracking/how-it-works>
|
|
13
|
+
- Browser SDK docs: <https://docs.outlit.ai/tracking/browser/npm>
|
|
14
|
+
- Node.js SDK docs: <https://docs.outlit.ai/tracking/server/nodejs>
|
|
15
|
+
- OpenAPI spec: <https://docs.outlit.ai/openapi.json>
|
|
16
|
+
- Agent-facing docs index: <https://docs.outlit.ai/llms.txt>
|
package/dist/index.d.mts
CHANGED
|
@@ -1,14 +1,187 @@
|
|
|
1
|
-
type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
type GeneratedIngestPayload = {
|
|
2
|
+
visitorId?: string;
|
|
3
|
+
fingerprint?: string;
|
|
4
|
+
source?: "client" | "server" | "integration";
|
|
5
|
+
events: Array<{
|
|
6
|
+
uuid?: string;
|
|
7
|
+
type: "pageview";
|
|
8
|
+
timestamp: number;
|
|
9
|
+
url: string;
|
|
10
|
+
path: string;
|
|
11
|
+
referrer?: string;
|
|
12
|
+
utm?: {
|
|
13
|
+
source?: string;
|
|
14
|
+
medium?: string;
|
|
15
|
+
campaign?: string;
|
|
16
|
+
term?: string;
|
|
17
|
+
content?: string;
|
|
18
|
+
ref?: string;
|
|
19
|
+
};
|
|
20
|
+
customerId?: string;
|
|
21
|
+
customerTraits?: Record<string, string | number | boolean | null>;
|
|
22
|
+
title?: string;
|
|
23
|
+
} | {
|
|
24
|
+
uuid?: string;
|
|
25
|
+
type: "form";
|
|
26
|
+
timestamp: number;
|
|
27
|
+
url: string;
|
|
28
|
+
path: string;
|
|
29
|
+
referrer?: string;
|
|
30
|
+
utm?: {
|
|
31
|
+
source?: string;
|
|
32
|
+
medium?: string;
|
|
33
|
+
campaign?: string;
|
|
34
|
+
term?: string;
|
|
35
|
+
content?: string;
|
|
36
|
+
ref?: string;
|
|
37
|
+
};
|
|
38
|
+
customerId?: string;
|
|
39
|
+
customerTraits?: Record<string, string | number | boolean | null>;
|
|
40
|
+
formId?: string;
|
|
41
|
+
formFields?: Record<string, string>;
|
|
42
|
+
} | {
|
|
43
|
+
uuid?: string;
|
|
44
|
+
type: "identify";
|
|
45
|
+
timestamp: number;
|
|
46
|
+
url: string;
|
|
47
|
+
path: string;
|
|
48
|
+
referrer?: string;
|
|
49
|
+
utm?: {
|
|
50
|
+
source?: string;
|
|
51
|
+
medium?: string;
|
|
52
|
+
campaign?: string;
|
|
53
|
+
term?: string;
|
|
54
|
+
content?: string;
|
|
55
|
+
ref?: string;
|
|
56
|
+
};
|
|
57
|
+
email?: string;
|
|
58
|
+
userId?: string;
|
|
59
|
+
fingerprint?: string;
|
|
60
|
+
customerId?: string;
|
|
61
|
+
customerTraits?: Record<string, string | number | boolean | null>;
|
|
62
|
+
traits?: Record<string, string | number | boolean | null>;
|
|
63
|
+
} | {
|
|
64
|
+
uuid?: string;
|
|
65
|
+
type: "custom";
|
|
66
|
+
timestamp: number;
|
|
67
|
+
url: string;
|
|
68
|
+
path: string;
|
|
69
|
+
referrer?: string;
|
|
70
|
+
utm?: {
|
|
71
|
+
source?: string;
|
|
72
|
+
medium?: string;
|
|
73
|
+
campaign?: string;
|
|
74
|
+
term?: string;
|
|
75
|
+
content?: string;
|
|
76
|
+
ref?: string;
|
|
77
|
+
};
|
|
78
|
+
customerId?: string;
|
|
79
|
+
customerTraits?: Record<string, string | number | boolean | null>;
|
|
80
|
+
email?: string;
|
|
81
|
+
userId?: string;
|
|
82
|
+
fingerprint?: string;
|
|
83
|
+
eventName: string;
|
|
84
|
+
properties?: Record<string, unknown>;
|
|
85
|
+
} | {
|
|
86
|
+
uuid?: string;
|
|
87
|
+
type: "calendar";
|
|
88
|
+
timestamp: number;
|
|
89
|
+
url: string;
|
|
90
|
+
path: string;
|
|
91
|
+
referrer?: string;
|
|
92
|
+
utm?: {
|
|
93
|
+
source?: string;
|
|
94
|
+
medium?: string;
|
|
95
|
+
campaign?: string;
|
|
96
|
+
term?: string;
|
|
97
|
+
content?: string;
|
|
98
|
+
ref?: string;
|
|
99
|
+
};
|
|
100
|
+
customerId?: string;
|
|
101
|
+
customerTraits?: Record<string, string | number | boolean | null>;
|
|
102
|
+
provider: "cal.com" | "calendly" | "unknown";
|
|
103
|
+
eventType?: string;
|
|
104
|
+
startTime?: string;
|
|
105
|
+
endTime?: string;
|
|
106
|
+
duration?: number;
|
|
107
|
+
isRecurring?: boolean;
|
|
108
|
+
inviteeEmail?: string;
|
|
109
|
+
inviteeName?: string;
|
|
110
|
+
} | {
|
|
111
|
+
uuid?: string;
|
|
112
|
+
type: "engagement";
|
|
113
|
+
timestamp: number;
|
|
114
|
+
url: string;
|
|
115
|
+
path: string;
|
|
116
|
+
referrer?: string;
|
|
117
|
+
utm?: {
|
|
118
|
+
source?: string;
|
|
119
|
+
medium?: string;
|
|
120
|
+
campaign?: string;
|
|
121
|
+
term?: string;
|
|
122
|
+
content?: string;
|
|
123
|
+
ref?: string;
|
|
124
|
+
};
|
|
125
|
+
customerId?: string;
|
|
126
|
+
customerTraits?: Record<string, string | number | boolean | null>;
|
|
127
|
+
activeTimeMs: number;
|
|
128
|
+
totalTimeMs: number;
|
|
129
|
+
sessionId: string;
|
|
130
|
+
}>;
|
|
131
|
+
sessionId?: string;
|
|
132
|
+
userIdentity?: {
|
|
133
|
+
email?: string;
|
|
134
|
+
userId?: string;
|
|
135
|
+
fingerprint?: string;
|
|
136
|
+
traits?: Record<string, string | number | boolean | null>;
|
|
137
|
+
};
|
|
138
|
+
customerIdentity?: {
|
|
139
|
+
customerId?: string;
|
|
140
|
+
customerTraits?: Record<string, string | number | boolean | null>;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
type GeneratedIngestResponse = {
|
|
144
|
+
success: boolean;
|
|
145
|
+
processed: number;
|
|
146
|
+
errors?: Array<{
|
|
147
|
+
index: number;
|
|
148
|
+
message: string;
|
|
149
|
+
}>;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
type IngestPayload = GeneratedIngestPayload;
|
|
153
|
+
type IngestResponse = GeneratedIngestResponse;
|
|
154
|
+
type TrackerEvent = IngestPayload["events"][number];
|
|
155
|
+
type EventType = TrackerEvent["type"];
|
|
156
|
+
type SourceType = NonNullable<IngestPayload["source"]>;
|
|
157
|
+
type PageviewEvent = Extract<TrackerEvent, {
|
|
158
|
+
type: "pageview";
|
|
159
|
+
}>;
|
|
160
|
+
type FormEvent = Extract<TrackerEvent, {
|
|
161
|
+
type: "form";
|
|
162
|
+
}>;
|
|
163
|
+
type IdentifyEvent = Extract<TrackerEvent, {
|
|
164
|
+
type: "identify";
|
|
165
|
+
}>;
|
|
166
|
+
type CustomEvent = Extract<TrackerEvent, {
|
|
167
|
+
type: "custom";
|
|
168
|
+
}>;
|
|
169
|
+
type CalendarEvent = Extract<TrackerEvent, {
|
|
170
|
+
type: "calendar";
|
|
171
|
+
}>;
|
|
172
|
+
type EngagementEvent = Extract<TrackerEvent, {
|
|
173
|
+
type: "engagement";
|
|
174
|
+
}>;
|
|
175
|
+
type CalendarProvider = CalendarEvent["provider"];
|
|
176
|
+
type PayloadUserIdentity = NonNullable<IngestPayload["userIdentity"]>;
|
|
177
|
+
type PayloadCustomerIdentity = NonNullable<IngestPayload["customerIdentity"]>;
|
|
6
178
|
interface UtmParams {
|
|
7
179
|
source?: string;
|
|
8
180
|
medium?: string;
|
|
9
181
|
campaign?: string;
|
|
10
182
|
term?: string;
|
|
11
183
|
content?: string;
|
|
184
|
+
ref?: string;
|
|
12
185
|
}
|
|
13
186
|
interface TrackerConfig {
|
|
14
187
|
publicKey: string;
|
|
@@ -63,173 +236,30 @@ interface IdentifyTraits {
|
|
|
63
236
|
/** User-level traits */
|
|
64
237
|
[key: string]: string | number | boolean | null | undefined;
|
|
65
238
|
}
|
|
66
|
-
interface ServerTrackOptions extends ServerIdentity, CustomerAttribution {
|
|
67
|
-
eventName: string;
|
|
68
|
-
properties?: Record<string, string | number | boolean | null>;
|
|
69
|
-
timestamp?: number;
|
|
70
|
-
}
|
|
71
|
-
interface ServerIdentifyOptions extends ServerIdentity, CustomerAttribution {
|
|
72
|
-
traits?: IdentifyTraits;
|
|
73
|
-
customerTraits?: CustomerTraits;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Customer identity for SDK billing methods.
|
|
77
|
-
* Public billing calls should use `customerId`.
|
|
78
|
-
*/
|
|
79
|
-
interface CustomerIdentifier extends CustomerAttribution {
|
|
80
|
-
/**
|
|
81
|
-
* @deprecated Stripe customer identifier.
|
|
82
|
-
* Billing attribution should use `customerId` publicly.
|
|
83
|
-
*/
|
|
84
|
-
stripeCustomerId?: string;
|
|
85
|
-
}
|
|
86
|
-
interface BaseEvent {
|
|
87
|
-
uuid?: string;
|
|
88
|
-
type: EventType;
|
|
89
|
-
timestamp: number;
|
|
90
|
-
url: string;
|
|
91
|
-
path: string;
|
|
92
|
-
referrer?: string;
|
|
93
|
-
utm?: UtmParams;
|
|
94
|
-
}
|
|
95
|
-
interface PageviewEvent extends BaseEvent {
|
|
96
|
-
type: "pageview";
|
|
97
|
-
title?: string;
|
|
98
|
-
}
|
|
99
|
-
interface FormEvent extends BaseEvent {
|
|
100
|
-
type: "form";
|
|
101
|
-
formId?: string;
|
|
102
|
-
formFields?: Record<string, string>;
|
|
103
|
-
}
|
|
104
|
-
interface IdentifyEvent extends BaseEvent {
|
|
105
|
-
type: "identify";
|
|
106
|
-
email?: string;
|
|
107
|
-
userId?: string;
|
|
108
|
-
fingerprint?: string;
|
|
109
|
-
customerId?: string;
|
|
110
|
-
customerTraits?: CustomerTraits;
|
|
111
|
-
traits?: IdentifyTraits;
|
|
112
|
-
}
|
|
113
|
-
interface CustomEvent extends BaseEvent {
|
|
114
|
-
type: "custom";
|
|
115
|
-
eventName: string;
|
|
116
|
-
email?: string;
|
|
117
|
-
userId?: string;
|
|
118
|
-
fingerprint?: string;
|
|
119
|
-
customerId?: string;
|
|
120
|
-
properties?: Record<string, string | number | boolean | null>;
|
|
121
|
-
}
|
|
122
|
-
interface CalendarEvent extends BaseEvent {
|
|
123
|
-
type: "calendar";
|
|
124
|
-
provider: CalendarProvider;
|
|
125
|
-
eventType?: string;
|
|
126
|
-
startTime?: string;
|
|
127
|
-
endTime?: string;
|
|
128
|
-
duration?: number;
|
|
129
|
-
isRecurring?: boolean;
|
|
130
|
-
/** Available when identity is passed via webhooks or manual integration */
|
|
131
|
-
inviteeEmail?: string;
|
|
132
|
-
inviteeName?: string;
|
|
133
|
-
}
|
|
134
|
-
interface EngagementEvent extends BaseEvent {
|
|
135
|
-
type: "engagement";
|
|
136
|
-
/** Time in milliseconds the user was actively engaged (visible tab + user interactions) */
|
|
137
|
-
activeTimeMs: number;
|
|
138
|
-
/** Total wall-clock time in milliseconds on the page */
|
|
139
|
-
totalTimeMs: number;
|
|
140
|
-
/** Session ID for grouping engagement events. Resets after 30 min of inactivity or tab close. */
|
|
141
|
-
sessionId: string;
|
|
142
|
-
}
|
|
143
|
-
interface StageEvent extends BaseEvent {
|
|
144
|
-
type: "stage";
|
|
145
|
-
/** Stage event value. New SDK callers should only send "activated". */
|
|
146
|
-
stage: ExplicitJourneyStage;
|
|
147
|
-
/** Optional properties for context */
|
|
148
|
-
properties?: Record<string, string | number | boolean | null>;
|
|
149
|
-
}
|
|
150
|
-
interface BillingEvent extends BaseEvent {
|
|
151
|
-
type: "billing";
|
|
152
|
-
/** The billing status to set for a customer */
|
|
153
|
-
status: BillingStatus;
|
|
154
|
-
/** Optional customer identifiers */
|
|
155
|
-
customerId?: string;
|
|
156
|
-
stripeCustomerId?: string;
|
|
157
|
-
/** Optional properties for context */
|
|
158
|
-
properties?: Record<string, string | number | boolean | null>;
|
|
159
|
-
}
|
|
160
|
-
type TrackerEvent = PageviewEvent | FormEvent | IdentifyEvent | CustomEvent | CalendarEvent | EngagementEvent | StageEvent | BillingEvent;
|
|
161
239
|
/**
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
* Customer attribution is carried separately in `customerIdentity`.
|
|
240
|
+
* Input accepted by the payload builder. Deprecated customer fields are lifted
|
|
241
|
+
* into the wire-level `customerIdentity` object and are never sent in `userIdentity`.
|
|
165
242
|
*/
|
|
166
|
-
|
|
167
|
-
email?: string;
|
|
168
|
-
/** Your system-owned user/contact ID. */
|
|
169
|
-
userId?: string;
|
|
243
|
+
type PayloadUserIdentityInput = Omit<PayloadUserIdentity, "traits"> & {
|
|
170
244
|
/** User/contact traits. */
|
|
171
245
|
traits?: IdentifyTraits;
|
|
172
|
-
/**
|
|
173
|
-
* @deprecated Use payload-level `customerIdentity.customerId` instead.
|
|
174
|
-
* Kept for one compatibility window while callers migrate.
|
|
175
|
-
*/
|
|
246
|
+
/** @deprecated Pass `customerIdentity.customerId` to the payload builder instead. */
|
|
176
247
|
customerId?: string;
|
|
177
|
-
/**
|
|
178
|
-
* @deprecated Use payload-level `customerIdentity.customerTraits` instead.
|
|
179
|
-
* Kept for one compatibility window while callers migrate.
|
|
180
|
-
*/
|
|
248
|
+
/** @deprecated Pass `customerIdentity.customerTraits` to the payload builder instead. */
|
|
181
249
|
customerTraits?: CustomerTraits;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
* Customer identity for payload-level attribution.
|
|
185
|
-
* Used by browser SDK to attach account/workspace context to a batch.
|
|
186
|
-
* `customerId`-only attribution is valid and remains provisional until a later
|
|
187
|
-
* identify(email, customerId) call links that external account/workspace to a resolved customer.
|
|
188
|
-
*/
|
|
189
|
-
interface PayloadCustomerIdentity extends CustomerAttribution {
|
|
250
|
+
};
|
|
251
|
+
interface PayloadCustomerIdentityInput extends CustomerAttribution {
|
|
190
252
|
/** Customer/account traits. */
|
|
191
253
|
customerTraits?: CustomerTraits;
|
|
192
254
|
}
|
|
193
|
-
interface
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* Device identifier for anonymous tracking.
|
|
199
|
-
* Events with fingerprint can be linked to users later via identify.
|
|
200
|
-
* Only present for server-side events.
|
|
201
|
-
*/
|
|
202
|
-
fingerprint?: string;
|
|
203
|
-
/**
|
|
204
|
-
* Session ID for grouping all events in this batch.
|
|
205
|
-
* Only present for browser (client) source events.
|
|
206
|
-
* Used to correlate pageviews, forms, custom events, and engagement
|
|
207
|
-
* within the same browsing session.
|
|
208
|
-
*/
|
|
209
|
-
sessionId?: string;
|
|
210
|
-
/**
|
|
211
|
-
* User identity for this batch of events.
|
|
212
|
-
* When present, the server can resolve directly to CustomerContact
|
|
213
|
-
* instead of relying on anonymous visitor flow.
|
|
214
|
-
*
|
|
215
|
-
* This is set by the browser SDK when setUser() has been called,
|
|
216
|
-
* allowing immediate identity resolution for SPA/React apps.
|
|
217
|
-
*/
|
|
218
|
-
userIdentity?: PayloadUserIdentity;
|
|
219
|
-
/**
|
|
220
|
-
* Customer/account identity for this batch of events.
|
|
221
|
-
* Used to attribute browser batches to a customer/workspace even when
|
|
222
|
-
* the customer fields are not present on every event.
|
|
223
|
-
*/
|
|
224
|
-
customerIdentity?: PayloadCustomerIdentity;
|
|
255
|
+
interface ServerTrackOptions extends ServerIdentity, CustomerAttribution {
|
|
256
|
+
eventName: string;
|
|
257
|
+
properties?: Record<string, string | number | boolean | null>;
|
|
258
|
+
timestamp?: number;
|
|
225
259
|
}
|
|
226
|
-
interface
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
errors?: Array<{
|
|
230
|
-
index: number;
|
|
231
|
-
message: string;
|
|
232
|
-
}>;
|
|
260
|
+
interface ServerIdentifyOptions extends ServerIdentity, CustomerAttribution {
|
|
261
|
+
traits?: IdentifyTraits;
|
|
262
|
+
customerTraits?: CustomerTraits;
|
|
233
263
|
}
|
|
234
264
|
declare const DEFAULT_API_HOST = "https://app.outlit.ai";
|
|
235
265
|
|
|
@@ -297,27 +327,6 @@ declare function buildEngagementEvent(params: BaseEventParams & {
|
|
|
297
327
|
totalTimeMs: number;
|
|
298
328
|
sessionId: string;
|
|
299
329
|
}): EngagementEvent;
|
|
300
|
-
/**
|
|
301
|
-
* Build a stage event.
|
|
302
|
-
* Used to explicitly send customer journey stage events.
|
|
303
|
-
* New SDK callers should only send activated; engaged and inactive are derived
|
|
304
|
-
* by Outlit from tracked activity but remain accepted for wire compatibility.
|
|
305
|
-
* discovered/signed_up stages are inferred from identify calls.
|
|
306
|
-
*/
|
|
307
|
-
declare function buildStageEvent(params: BaseEventParams & {
|
|
308
|
-
stage: ExplicitJourneyStage;
|
|
309
|
-
properties?: Record<string, string | number | boolean | null>;
|
|
310
|
-
}): StageEvent;
|
|
311
|
-
/**
|
|
312
|
-
* Build a billing event.
|
|
313
|
-
* Used to set customer billing status (trialing, paid, churned).
|
|
314
|
-
*/
|
|
315
|
-
declare function buildBillingEvent(params: BaseEventParams & {
|
|
316
|
-
status: BillingStatus;
|
|
317
|
-
customerId?: string;
|
|
318
|
-
stripeCustomerId?: string;
|
|
319
|
-
properties?: Record<string, string | number | boolean | null>;
|
|
320
|
-
}): BillingEvent;
|
|
321
330
|
/**
|
|
322
331
|
* Build an ingest payload from events.
|
|
323
332
|
*
|
|
@@ -331,16 +340,20 @@ declare function buildBillingEvent(params: BaseEventParams & {
|
|
|
331
340
|
* batches are valid and remain provisional until a later identify(email, customerId) call
|
|
332
341
|
* links that external account/workspace to a resolved customer.
|
|
333
342
|
*/
|
|
334
|
-
declare function buildIngestPayload(visitorId: string, source: SourceType, events: TrackerEvent[], userIdentity?:
|
|
343
|
+
declare function buildIngestPayload(visitorId: string, source: SourceType, events: TrackerEvent[], userIdentity?: PayloadUserIdentityInput, sessionId?: string, fingerprint?: string, customerIdentity?: PayloadCustomerIdentityInput): IngestPayload;
|
|
335
344
|
/**
|
|
336
345
|
* Maximum number of events in a single batch.
|
|
337
346
|
*/
|
|
338
|
-
declare const MAX_BATCH_SIZE
|
|
347
|
+
declare const MAX_BATCH_SIZE: 100;
|
|
339
348
|
/**
|
|
340
349
|
* Split events into batches of MAX_BATCH_SIZE.
|
|
341
350
|
*/
|
|
342
351
|
declare function batchEvents(events: TrackerEvent[]): TrackerEvent[][];
|
|
343
352
|
|
|
353
|
+
declare const INGEST_METHOD: "POST";
|
|
354
|
+
declare const INGEST_EVENT_TYPES: readonly ["pageview", "form", "identify", "custom", "calendar", "engagement"];
|
|
355
|
+
declare function buildIngestUrl(apiHost: string, publicKey: string): string;
|
|
356
|
+
|
|
344
357
|
/**
|
|
345
358
|
* Extract UTM parameters from a URL.
|
|
346
359
|
*/
|
|
@@ -369,10 +382,6 @@ declare function sanitizeFormFields(fields: Record<string, string> | undefined,
|
|
|
369
382
|
* - customerId: Your system-owned customer/account/workspace ID
|
|
370
383
|
*/
|
|
371
384
|
declare function validateServerIdentity(fingerprint?: string, email?: string, userId?: string, customerId?: string): void;
|
|
372
|
-
/**
|
|
373
|
-
* Validate that at least one customer identifier is provided for billing calls.
|
|
374
|
-
*/
|
|
375
|
-
declare function validateCustomerIdentity(customerId?: string, stripeCustomerId?: string): void;
|
|
376
385
|
/**
|
|
377
386
|
* Validate that a string looks like a valid email address.
|
|
378
387
|
*/
|
|
@@ -428,4 +437,4 @@ interface ExtractedIdentity {
|
|
|
428
437
|
*/
|
|
429
438
|
declare function extractIdentityFromForm(fields: Record<string, string>, inputTypes?: Map<string, string>): ExtractedIdentity | undefined;
|
|
430
439
|
|
|
431
|
-
export { type
|
|
440
|
+
export { type BrowserIdentifyOptions, type BrowserTrackOptions, type CalendarEvent, type CalendarProvider, type CustomEvent, type CustomerAttribution, type CustomerTraits, DEFAULT_API_HOST, DEFAULT_DENIED_FORM_FIELDS, type EngagementEvent, type EventType, type ExtractedIdentity, type FormEvent, INGEST_EVENT_TYPES, INGEST_METHOD, type IdentifyEvent, type IdentifyTraits, type IngestPayload, type IngestResponse, MAX_BATCH_SIZE, type PageviewEvent, type PayloadCustomerIdentity, type PayloadCustomerIdentityInput, type PayloadUserIdentity, type PayloadUserIdentityInput, type ServerIdentifyOptions, type ServerIdentity, type ServerTrackOptions, type SourceType, type TrackerConfig, type TrackerEvent, type UtmParams, batchEvents, buildCalendarEvent, buildCustomEvent, buildEngagementEvent, buildFormEvent, buildIdentifyEvent, buildIngestPayload, buildIngestUrl, buildPageviewEvent, extractIdentityFromForm, extractPathFromUrl, extractUtmParams, findEmailField, findNameFields, isFieldDenied, isValidEmail, sanitizeFormFields, validateServerIdentity };
|