@walkeros/server-destination-customerio 3.4.0-next-1776749829492

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.
@@ -0,0 +1,156 @@
1
+ import { Mapping, Flow } from '@walkeros/core';
2
+ import { DestinationServer } from '@walkeros/server-core';
3
+
4
+ /**
5
+ * Mock-friendly interface for the TrackClient methods the
6
+ * destination actually calls. Tests provide this via env.trackClient
7
+ * instead of the real SDK.
8
+ */
9
+ interface CustomerIoTrackClientMock {
10
+ identify: (customerId: string | number, attributes: Record<string, unknown>) => Promise<void>;
11
+ track: (customerId: string | number, eventData: {
12
+ name: string;
13
+ data?: Record<string, unknown>;
14
+ timestamp?: number;
15
+ }) => Promise<void>;
16
+ trackAnonymous: (anonymousId: string, eventData: {
17
+ name: string;
18
+ data?: Record<string, unknown>;
19
+ timestamp?: number;
20
+ }) => Promise<void>;
21
+ trackPageView: (customerId: string | number, url: string, data?: Record<string, unknown>) => Promise<void>;
22
+ destroy: (customerId: string | number) => Promise<void>;
23
+ suppress: (customerId: string | number) => Promise<void>;
24
+ unsuppress: (customerId: string | number) => Promise<void>;
25
+ addDevice: (customerId: string | number, deviceId: string, platform: string, data?: Record<string, unknown>) => Promise<void>;
26
+ deleteDevice: (customerId: string | number, deviceId: string, platform: string) => Promise<void>;
27
+ mergeCustomers: (primaryType: string, primaryId: string, secondaryType: string, secondaryId: string) => Promise<void>;
28
+ }
29
+ /**
30
+ * Mock-friendly interface for the APIClient methods the
31
+ * destination actually calls. Tests provide this via env.apiClient
32
+ * instead of the real SDK.
33
+ */
34
+ interface CustomerIoApiClientMock {
35
+ sendEmail: (request: unknown) => Promise<void>;
36
+ sendPush: (request: unknown) => Promise<void>;
37
+ }
38
+ interface Settings {
39
+ /** Customer.io Site ID (required for Track API). */
40
+ siteId: string;
41
+ /** Customer.io API Key (required for Track API). */
42
+ apiKey: string;
43
+ /** App API Key for transactional messaging (optional). */
44
+ appApiKey?: string;
45
+ /** Region: 'us' or 'eu'. Default: 'us'. */
46
+ region?: 'us' | 'eu';
47
+ /** HTTP request timeout in ms. Default: 10000. */
48
+ timeout?: number;
49
+ /** walkerOS mapping value path to resolve customerId from each event. */
50
+ customerId?: string;
51
+ /** walkerOS mapping value path to resolve anonymousId from each event. */
52
+ anonymousId?: string;
53
+ /** Destination-level identify mapping (fires identify() on first push / change). */
54
+ identify?: Mapping.Value;
55
+ /** Runtime state -- not user-facing. */
56
+ _trackClient?: CustomerIoTrackClientMock;
57
+ _apiClient?: CustomerIoApiClientMock;
58
+ _state?: RuntimeState;
59
+ }
60
+ interface RuntimeState {
61
+ lastIdentity?: {
62
+ customerId?: string;
63
+ attributesHash?: string;
64
+ };
65
+ }
66
+ /**
67
+ * Env -- optional SDK override. Production leaves this undefined and the
68
+ * destination creates real TrackClient/APIClient instances. Tests provide
69
+ * mocks via env.trackClient and env.apiClient.
70
+ */
71
+ interface Env extends DestinationServer.Env {
72
+ trackClient?: CustomerIoTrackClientMock;
73
+ apiClient?: CustomerIoApiClientMock;
74
+ }
75
+
76
+ declare const push: Env;
77
+ declare const simulation: string[];
78
+
79
+ declare const env_push: typeof push;
80
+ declare const env_simulation: typeof simulation;
81
+ declare namespace env {
82
+ export { env_push as push, env_simulation as simulation };
83
+ }
84
+
85
+ /**
86
+ * Extended step example that may carry destination-level settings overrides.
87
+ */
88
+ type CustomerIoStepExample = Flow.StepExample & {
89
+ settings?: Partial<Settings>;
90
+ };
91
+ /**
92
+ * Default event forwarding -- trackClient.track() with event name and data.
93
+ * customerId resolved from default settings.customerId = 'user.id'.
94
+ */
95
+ declare const defaultTrack: CustomerIoStepExample;
96
+ /**
97
+ * Mapped event name -- mapping.name renames the event for Customer.io.
98
+ */
99
+ declare const mappedEventName: CustomerIoStepExample;
100
+ /**
101
+ * Track with mapped data properties.
102
+ */
103
+ declare const mappedData: CustomerIoStepExample;
104
+ /**
105
+ * Anonymous event -- no customerId resolved, falls back to trackAnonymous().
106
+ */
107
+ declare const anonymousTrack: CustomerIoStepExample;
108
+ /**
109
+ * Destination-level identify -- fires trackClient.identify() on first push
110
+ * when settings.identify mapping resolves. Then fires trackClient.track().
111
+ */
112
+ declare const destinationIdentify: CustomerIoStepExample;
113
+ /**
114
+ * Per-event identify with skip -- user login fires identify() only.
115
+ */
116
+ declare const userLoginIdentify: CustomerIoStepExample;
117
+ /**
118
+ * Page view -- fires trackClient.trackPageView() with url.
119
+ * skip: true suppresses track(); settings.page fires trackPageView().
120
+ */
121
+ declare const pageView: CustomerIoStepExample;
122
+ /**
123
+ * Destroy -- permanently deletes a person from Customer.io.
124
+ */
125
+ declare const destroyPerson: CustomerIoStepExample;
126
+ /**
127
+ * Suppress -- stops messaging without deleting data.
128
+ */
129
+ declare const suppressPerson: CustomerIoStepExample;
130
+ /**
131
+ * Unsuppress -- resumes messaging for a suppressed person.
132
+ */
133
+ declare const unsuppressPerson: CustomerIoStepExample;
134
+ /**
135
+ * Wildcard ignore -- the event matches a mapping rule with ignore: true.
136
+ * The destination fires zero SDK calls.
137
+ */
138
+ declare const wildcardIgnored: CustomerIoStepExample;
139
+
140
+ type step_CustomerIoStepExample = CustomerIoStepExample;
141
+ declare const step_anonymousTrack: typeof anonymousTrack;
142
+ declare const step_defaultTrack: typeof defaultTrack;
143
+ declare const step_destinationIdentify: typeof destinationIdentify;
144
+ declare const step_destroyPerson: typeof destroyPerson;
145
+ declare const step_mappedData: typeof mappedData;
146
+ declare const step_mappedEventName: typeof mappedEventName;
147
+ declare const step_pageView: typeof pageView;
148
+ declare const step_suppressPerson: typeof suppressPerson;
149
+ declare const step_unsuppressPerson: typeof unsuppressPerson;
150
+ declare const step_userLoginIdentify: typeof userLoginIdentify;
151
+ declare const step_wildcardIgnored: typeof wildcardIgnored;
152
+ declare namespace step {
153
+ export { type step_CustomerIoStepExample as CustomerIoStepExample, step_anonymousTrack as anonymousTrack, step_defaultTrack as defaultTrack, step_destinationIdentify as destinationIdentify, step_destroyPerson as destroyPerson, step_mappedData as mappedData, step_mappedEventName as mappedEventName, step_pageView as pageView, step_suppressPerson as suppressPerson, step_unsuppressPerson as unsuppressPerson, step_userLoginIdentify as userLoginIdentify, step_wildcardIgnored as wildcardIgnored };
154
+ }
155
+
156
+ export { env, step };
@@ -0,0 +1,156 @@
1
+ import { Mapping, Flow } from '@walkeros/core';
2
+ import { DestinationServer } from '@walkeros/server-core';
3
+
4
+ /**
5
+ * Mock-friendly interface for the TrackClient methods the
6
+ * destination actually calls. Tests provide this via env.trackClient
7
+ * instead of the real SDK.
8
+ */
9
+ interface CustomerIoTrackClientMock {
10
+ identify: (customerId: string | number, attributes: Record<string, unknown>) => Promise<void>;
11
+ track: (customerId: string | number, eventData: {
12
+ name: string;
13
+ data?: Record<string, unknown>;
14
+ timestamp?: number;
15
+ }) => Promise<void>;
16
+ trackAnonymous: (anonymousId: string, eventData: {
17
+ name: string;
18
+ data?: Record<string, unknown>;
19
+ timestamp?: number;
20
+ }) => Promise<void>;
21
+ trackPageView: (customerId: string | number, url: string, data?: Record<string, unknown>) => Promise<void>;
22
+ destroy: (customerId: string | number) => Promise<void>;
23
+ suppress: (customerId: string | number) => Promise<void>;
24
+ unsuppress: (customerId: string | number) => Promise<void>;
25
+ addDevice: (customerId: string | number, deviceId: string, platform: string, data?: Record<string, unknown>) => Promise<void>;
26
+ deleteDevice: (customerId: string | number, deviceId: string, platform: string) => Promise<void>;
27
+ mergeCustomers: (primaryType: string, primaryId: string, secondaryType: string, secondaryId: string) => Promise<void>;
28
+ }
29
+ /**
30
+ * Mock-friendly interface for the APIClient methods the
31
+ * destination actually calls. Tests provide this via env.apiClient
32
+ * instead of the real SDK.
33
+ */
34
+ interface CustomerIoApiClientMock {
35
+ sendEmail: (request: unknown) => Promise<void>;
36
+ sendPush: (request: unknown) => Promise<void>;
37
+ }
38
+ interface Settings {
39
+ /** Customer.io Site ID (required for Track API). */
40
+ siteId: string;
41
+ /** Customer.io API Key (required for Track API). */
42
+ apiKey: string;
43
+ /** App API Key for transactional messaging (optional). */
44
+ appApiKey?: string;
45
+ /** Region: 'us' or 'eu'. Default: 'us'. */
46
+ region?: 'us' | 'eu';
47
+ /** HTTP request timeout in ms. Default: 10000. */
48
+ timeout?: number;
49
+ /** walkerOS mapping value path to resolve customerId from each event. */
50
+ customerId?: string;
51
+ /** walkerOS mapping value path to resolve anonymousId from each event. */
52
+ anonymousId?: string;
53
+ /** Destination-level identify mapping (fires identify() on first push / change). */
54
+ identify?: Mapping.Value;
55
+ /** Runtime state -- not user-facing. */
56
+ _trackClient?: CustomerIoTrackClientMock;
57
+ _apiClient?: CustomerIoApiClientMock;
58
+ _state?: RuntimeState;
59
+ }
60
+ interface RuntimeState {
61
+ lastIdentity?: {
62
+ customerId?: string;
63
+ attributesHash?: string;
64
+ };
65
+ }
66
+ /**
67
+ * Env -- optional SDK override. Production leaves this undefined and the
68
+ * destination creates real TrackClient/APIClient instances. Tests provide
69
+ * mocks via env.trackClient and env.apiClient.
70
+ */
71
+ interface Env extends DestinationServer.Env {
72
+ trackClient?: CustomerIoTrackClientMock;
73
+ apiClient?: CustomerIoApiClientMock;
74
+ }
75
+
76
+ declare const push: Env;
77
+ declare const simulation: string[];
78
+
79
+ declare const env_push: typeof push;
80
+ declare const env_simulation: typeof simulation;
81
+ declare namespace env {
82
+ export { env_push as push, env_simulation as simulation };
83
+ }
84
+
85
+ /**
86
+ * Extended step example that may carry destination-level settings overrides.
87
+ */
88
+ type CustomerIoStepExample = Flow.StepExample & {
89
+ settings?: Partial<Settings>;
90
+ };
91
+ /**
92
+ * Default event forwarding -- trackClient.track() with event name and data.
93
+ * customerId resolved from default settings.customerId = 'user.id'.
94
+ */
95
+ declare const defaultTrack: CustomerIoStepExample;
96
+ /**
97
+ * Mapped event name -- mapping.name renames the event for Customer.io.
98
+ */
99
+ declare const mappedEventName: CustomerIoStepExample;
100
+ /**
101
+ * Track with mapped data properties.
102
+ */
103
+ declare const mappedData: CustomerIoStepExample;
104
+ /**
105
+ * Anonymous event -- no customerId resolved, falls back to trackAnonymous().
106
+ */
107
+ declare const anonymousTrack: CustomerIoStepExample;
108
+ /**
109
+ * Destination-level identify -- fires trackClient.identify() on first push
110
+ * when settings.identify mapping resolves. Then fires trackClient.track().
111
+ */
112
+ declare const destinationIdentify: CustomerIoStepExample;
113
+ /**
114
+ * Per-event identify with skip -- user login fires identify() only.
115
+ */
116
+ declare const userLoginIdentify: CustomerIoStepExample;
117
+ /**
118
+ * Page view -- fires trackClient.trackPageView() with url.
119
+ * skip: true suppresses track(); settings.page fires trackPageView().
120
+ */
121
+ declare const pageView: CustomerIoStepExample;
122
+ /**
123
+ * Destroy -- permanently deletes a person from Customer.io.
124
+ */
125
+ declare const destroyPerson: CustomerIoStepExample;
126
+ /**
127
+ * Suppress -- stops messaging without deleting data.
128
+ */
129
+ declare const suppressPerson: CustomerIoStepExample;
130
+ /**
131
+ * Unsuppress -- resumes messaging for a suppressed person.
132
+ */
133
+ declare const unsuppressPerson: CustomerIoStepExample;
134
+ /**
135
+ * Wildcard ignore -- the event matches a mapping rule with ignore: true.
136
+ * The destination fires zero SDK calls.
137
+ */
138
+ declare const wildcardIgnored: CustomerIoStepExample;
139
+
140
+ type step_CustomerIoStepExample = CustomerIoStepExample;
141
+ declare const step_anonymousTrack: typeof anonymousTrack;
142
+ declare const step_defaultTrack: typeof defaultTrack;
143
+ declare const step_destinationIdentify: typeof destinationIdentify;
144
+ declare const step_destroyPerson: typeof destroyPerson;
145
+ declare const step_mappedData: typeof mappedData;
146
+ declare const step_mappedEventName: typeof mappedEventName;
147
+ declare const step_pageView: typeof pageView;
148
+ declare const step_suppressPerson: typeof suppressPerson;
149
+ declare const step_unsuppressPerson: typeof unsuppressPerson;
150
+ declare const step_userLoginIdentify: typeof userLoginIdentify;
151
+ declare const step_wildcardIgnored: typeof wildcardIgnored;
152
+ declare namespace step {
153
+ export { type step_CustomerIoStepExample as CustomerIoStepExample, step_anonymousTrack as anonymousTrack, step_defaultTrack as defaultTrack, step_destinationIdentify as destinationIdentify, step_destroyPerson as destroyPerson, step_mappedData as mappedData, step_mappedEventName as mappedEventName, step_pageView as pageView, step_suppressPerson as suppressPerson, step_unsuppressPerson as unsuppressPerson, step_userLoginIdentify as userLoginIdentify, step_wildcardIgnored as wildcardIgnored };
154
+ }
155
+
156
+ export { env, step };
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/examples/index.ts
21
+ var examples_exports = {};
22
+ __export(examples_exports, {
23
+ env: () => env_exports,
24
+ step: () => step_exports
25
+ });
26
+ module.exports = __toCommonJS(examples_exports);
27
+
28
+ // src/examples/env.ts
29
+ var env_exports = {};
30
+ __export(env_exports, {
31
+ push: () => push,
32
+ simulation: () => simulation
33
+ });
34
+ var asyncIdentify = () => Promise.resolve();
35
+ var asyncEvent = () => Promise.resolve();
36
+ var asyncAnonymous = () => Promise.resolve();
37
+ var asyncPage = () => Promise.resolve();
38
+ var asyncOne = () => Promise.resolve();
39
+ var asyncAddDevice = () => Promise.resolve();
40
+ var asyncDeleteDevice = () => Promise.resolve();
41
+ var asyncMerge = () => Promise.resolve();
42
+ var asyncSend = () => Promise.resolve();
43
+ function createMockTrackClient() {
44
+ return {
45
+ identify: asyncIdentify,
46
+ track: asyncEvent,
47
+ trackAnonymous: asyncAnonymous,
48
+ trackPageView: asyncPage,
49
+ destroy: asyncOne,
50
+ suppress: asyncOne,
51
+ unsuppress: asyncOne,
52
+ addDevice: asyncAddDevice,
53
+ deleteDevice: asyncDeleteDevice,
54
+ mergeCustomers: asyncMerge
55
+ };
56
+ }
57
+ function createMockApiClient() {
58
+ return {
59
+ sendEmail: asyncSend,
60
+ sendPush: asyncSend
61
+ };
62
+ }
63
+ var push = {
64
+ trackClient: createMockTrackClient(),
65
+ apiClient: createMockApiClient()
66
+ };
67
+ var simulation = [
68
+ "call:trackClient.identify",
69
+ "call:trackClient.track",
70
+ "call:trackClient.trackAnonymous",
71
+ "call:trackClient.trackPageView",
72
+ "call:trackClient.destroy",
73
+ "call:trackClient.suppress",
74
+ "call:trackClient.unsuppress",
75
+ "call:trackClient.addDevice",
76
+ "call:trackClient.deleteDevice",
77
+ "call:trackClient.mergeCustomers",
78
+ "call:apiClient.sendEmail",
79
+ "call:apiClient.sendPush"
80
+ ];
81
+
82
+ // src/examples/step.ts
83
+ var step_exports = {};
84
+ __export(step_exports, {
85
+ anonymousTrack: () => anonymousTrack,
86
+ defaultTrack: () => defaultTrack,
87
+ destinationIdentify: () => destinationIdentify,
88
+ destroyPerson: () => destroyPerson,
89
+ mappedData: () => mappedData,
90
+ mappedEventName: () => mappedEventName,
91
+ pageView: () => pageView,
92
+ suppressPerson: () => suppressPerson,
93
+ unsuppressPerson: () => unsuppressPerson,
94
+ userLoginIdentify: () => userLoginIdentify,
95
+ wildcardIgnored: () => wildcardIgnored
96
+ });
97
+ var import_core = require("@walkeros/core");
98
+ var defaultTrack = {
99
+ in: (0, import_core.getEvent)("product view", {
100
+ timestamp: 1700000100,
101
+ user: { id: "us3r", session: "s3ss10n" }
102
+ }),
103
+ out: [
104
+ [
105
+ "trackClient.track",
106
+ "us3r",
107
+ {
108
+ name: "product view",
109
+ data: {},
110
+ timestamp: 17e5
111
+ }
112
+ ]
113
+ ]
114
+ };
115
+ var mappedEventName = {
116
+ in: (0, import_core.getEvent)("order complete", {
117
+ timestamp: 1700000101,
118
+ user: { id: "us3r", session: "s3ss10n" }
119
+ }),
120
+ mapping: {
121
+ name: "purchase"
122
+ },
123
+ out: [
124
+ [
125
+ "trackClient.track",
126
+ "us3r",
127
+ {
128
+ name: "purchase",
129
+ data: {},
130
+ timestamp: 17e5
131
+ }
132
+ ]
133
+ ]
134
+ };
135
+ var mappedData = {
136
+ in: (0, import_core.getEvent)("order complete", {
137
+ timestamp: 1700000102,
138
+ user: { id: "us3r", session: "s3ss10n" },
139
+ data: { id: "0rd3r1d", total: 555, currency: "EUR" }
140
+ }),
141
+ mapping: {
142
+ name: "purchase",
143
+ data: {
144
+ map: {
145
+ order_id: "data.id",
146
+ value: "data.total",
147
+ currency: "data.currency"
148
+ }
149
+ }
150
+ },
151
+ out: [
152
+ [
153
+ "trackClient.track",
154
+ "us3r",
155
+ {
156
+ name: "purchase",
157
+ data: { order_id: "0rd3r1d", value: 555, currency: "EUR" },
158
+ timestamp: 17e5
159
+ }
160
+ ]
161
+ ]
162
+ };
163
+ var anonymousTrack = {
164
+ in: (0, import_core.getEvent)("product view", {
165
+ timestamp: 1700000103,
166
+ user: { session: "s3ss10n" }
167
+ }),
168
+ settings: {
169
+ customerId: void 0
170
+ },
171
+ out: [
172
+ [
173
+ "trackClient.trackAnonymous",
174
+ "s3ss10n",
175
+ {
176
+ name: "product view",
177
+ data: {},
178
+ timestamp: 17e5
179
+ }
180
+ ]
181
+ ]
182
+ };
183
+ var destinationIdentify = {
184
+ in: (0, import_core.getEvent)("page view", {
185
+ timestamp: 1700000104,
186
+ user: { id: "us3r", session: "s3ss10n", email: "user@example.com" }
187
+ }),
188
+ settings: {
189
+ identify: {
190
+ map: {
191
+ email: "user.email"
192
+ }
193
+ }
194
+ },
195
+ out: [
196
+ ["trackClient.identify", "us3r", { email: "user@example.com" }],
197
+ [
198
+ "trackClient.track",
199
+ "us3r",
200
+ {
201
+ name: "page view",
202
+ data: {},
203
+ timestamp: 17e5
204
+ }
205
+ ]
206
+ ]
207
+ };
208
+ var userLoginIdentify = {
209
+ in: (0, import_core.getEvent)("user login", {
210
+ timestamp: 1700000105,
211
+ user: { id: "us3r", session: "s3ss10n" },
212
+ data: {
213
+ email: "user@acme.com",
214
+ first_name: "Jane",
215
+ plan: "premium"
216
+ }
217
+ }),
218
+ mapping: {
219
+ skip: true,
220
+ settings: {
221
+ identify: {
222
+ map: {
223
+ email: "data.email",
224
+ first_name: "data.first_name",
225
+ plan: "data.plan"
226
+ }
227
+ }
228
+ }
229
+ },
230
+ out: [
231
+ [
232
+ "trackClient.identify",
233
+ "us3r",
234
+ { email: "user@acme.com", first_name: "Jane", plan: "premium" }
235
+ ]
236
+ ]
237
+ };
238
+ var pageView = {
239
+ in: (0, import_core.getEvent)("page view", {
240
+ timestamp: 1700000106,
241
+ user: { id: "us3r", session: "s3ss10n" },
242
+ data: {
243
+ url: "https://example.com/pricing",
244
+ referrer: "https://google.com"
245
+ }
246
+ }),
247
+ mapping: {
248
+ skip: true,
249
+ settings: {
250
+ page: {
251
+ map: {
252
+ url: "data.url",
253
+ referrer: "data.referrer"
254
+ }
255
+ }
256
+ }
257
+ },
258
+ out: [
259
+ [
260
+ "trackClient.trackPageView",
261
+ "us3r",
262
+ "https://example.com/pricing",
263
+ { referrer: "https://google.com" }
264
+ ]
265
+ ]
266
+ };
267
+ var destroyPerson = {
268
+ in: (0, import_core.getEvent)("user delete", {
269
+ timestamp: 1700000107,
270
+ user: { id: "us3r", session: "s3ss10n" }
271
+ }),
272
+ mapping: {
273
+ skip: true,
274
+ settings: {
275
+ destroy: true
276
+ }
277
+ },
278
+ out: [["trackClient.destroy", "us3r"]]
279
+ };
280
+ var suppressPerson = {
281
+ in: (0, import_core.getEvent)("user suppress", {
282
+ timestamp: 1700000108,
283
+ user: { id: "us3r", session: "s3ss10n" }
284
+ }),
285
+ mapping: {
286
+ skip: true,
287
+ settings: {
288
+ suppress: true
289
+ }
290
+ },
291
+ out: [["trackClient.suppress", "us3r"]]
292
+ };
293
+ var unsuppressPerson = {
294
+ in: (0, import_core.getEvent)("user unsuppress", {
295
+ timestamp: 1700000109,
296
+ user: { id: "us3r", session: "s3ss10n" }
297
+ }),
298
+ mapping: {
299
+ skip: true,
300
+ settings: {
301
+ unsuppress: true
302
+ }
303
+ },
304
+ out: [["trackClient.unsuppress", "us3r"]]
305
+ };
306
+ var wildcardIgnored = {
307
+ in: (0, import_core.getEvent)("debug noise", {
308
+ timestamp: 1700000110,
309
+ user: { id: "us3r", session: "s3ss10n" }
310
+ }),
311
+ mapping: { ignore: true },
312
+ out: []
313
+ };
314
+ // Annotate the CommonJS export names for ESM import in node:
315
+ 0 && (module.exports = {
316
+ env,
317
+ step
318
+ });