@walkeros/web-destination-gtag 0.2.1 → 0.3.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.
@@ -217,16 +217,16 @@ var util;
217
217
  return obj;
218
218
  };
219
219
  util2.getValidEnumValues = (obj) => {
220
- const validKeys = util2.objectKeys(obj).filter((k2) => typeof obj[obj[k2]] !== "number");
220
+ const validKeys = util2.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number");
221
221
  const filtered = {};
222
- for (const k2 of validKeys) {
223
- filtered[k2] = obj[k2];
222
+ for (const k of validKeys) {
223
+ filtered[k] = obj[k];
224
224
  }
225
225
  return util2.objectValues(filtered);
226
226
  };
227
227
  util2.objectValues = (obj) => {
228
- return util2.objectKeys(obj).map(function(e) {
229
- return obj[e];
228
+ return util2.objectKeys(obj).map(function(e2) {
229
+ return obj[e2];
230
230
  });
231
231
  };
232
232
  util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => {
@@ -290,8 +290,8 @@ var ZodParsedType = util.arrayToEnum([
290
290
  "set"
291
291
  ]);
292
292
  var getParsedType = (data) => {
293
- const t = typeof data;
294
- switch (t) {
293
+ const t2 = typeof data;
294
+ switch (t2) {
295
295
  case "undefined":
296
296
  return ZodParsedType.undefined;
297
297
  case "string":
@@ -1093,7 +1093,7 @@ function isValidJWT(jwt, alg) {
1093
1093
  if (alg && decoded.alg !== alg)
1094
1094
  return false;
1095
1095
  return true;
1096
- } catch (e) {
1096
+ } catch (e2) {
1097
1097
  return false;
1098
1098
  }
1099
1099
  }
@@ -1252,7 +1252,7 @@ var ZodString = class _ZodString extends ZodType {
1252
1252
  } else if (check.kind === "url") {
1253
1253
  try {
1254
1254
  new URL(input.data);
1255
- } catch (e) {
1255
+ } catch (e2) {
1256
1256
  ctx = this._getOrReturnCtx(input, ctx);
1257
1257
  addIssueToContext(ctx, {
1258
1258
  validation: "url",
@@ -1904,7 +1904,7 @@ var ZodBigInt = class _ZodBigInt extends ZodType {
1904
1904
  if (this._def.coerce) {
1905
1905
  try {
1906
1906
  input.data = BigInt(input.data);
1907
- } catch (e) {
1907
+ } catch (e2) {
1908
1908
  return this._getInvalidInput(input);
1909
1909
  }
1910
1910
  }
@@ -2996,17 +2996,17 @@ var ZodDiscriminatedUnion = class _ZodDiscriminatedUnion extends ZodType {
2996
2996
  });
2997
2997
  }
2998
2998
  };
2999
- function mergeValues(a, b2) {
2999
+ function mergeValues(a, b) {
3000
3000
  const aType = getParsedType(a);
3001
- const bType = getParsedType(b2);
3002
- if (a === b2) {
3001
+ const bType = getParsedType(b);
3002
+ if (a === b) {
3003
3003
  return { valid: true, data: a };
3004
3004
  } else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {
3005
- const bKeys = util.objectKeys(b2);
3005
+ const bKeys = util.objectKeys(b);
3006
3006
  const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);
3007
- const newObj = { ...a, ...b2 };
3007
+ const newObj = { ...a, ...b };
3008
3008
  for (const key of sharedKeys) {
3009
- const sharedValue = mergeValues(a[key], b2[key]);
3009
+ const sharedValue = mergeValues(a[key], b[key]);
3010
3010
  if (!sharedValue.valid) {
3011
3011
  return { valid: false };
3012
3012
  }
@@ -3014,13 +3014,13 @@ function mergeValues(a, b2) {
3014
3014
  }
3015
3015
  return { valid: true, data: newObj };
3016
3016
  } else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {
3017
- if (a.length !== b2.length) {
3017
+ if (a.length !== b.length) {
3018
3018
  return { valid: false };
3019
3019
  }
3020
3020
  const newArray = [];
3021
3021
  for (let index = 0; index < a.length; index++) {
3022
3022
  const itemA = a[index];
3023
- const itemB = b2[index];
3023
+ const itemB = b[index];
3024
3024
  const sharedValue = mergeValues(itemA, itemB);
3025
3025
  if (!sharedValue.valid) {
3026
3026
  return { valid: false };
@@ -3028,7 +3028,7 @@ function mergeValues(a, b2) {
3028
3028
  newArray.push(sharedValue.data);
3029
3029
  }
3030
3030
  return { valid: true, data: newArray };
3031
- } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b2) {
3031
+ } else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {
3032
3032
  return { valid: true, data: a };
3033
3033
  } else {
3034
3034
  return { valid: false };
@@ -3398,29 +3398,29 @@ var ZodFunction = class _ZodFunction extends ZodType {
3398
3398
  const params = { errorMap: ctx.common.contextualErrorMap };
3399
3399
  const fn = ctx.data;
3400
3400
  if (this._def.returns instanceof ZodPromise) {
3401
- const me = this;
3401
+ const me2 = this;
3402
3402
  return OK(async function(...args) {
3403
3403
  const error = new ZodError([]);
3404
- const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {
3405
- error.addIssue(makeArgsIssue(args, e));
3404
+ const parsedArgs = await me2._def.args.parseAsync(args, params).catch((e2) => {
3405
+ error.addIssue(makeArgsIssue(args, e2));
3406
3406
  throw error;
3407
3407
  });
3408
3408
  const result = await Reflect.apply(fn, this, parsedArgs);
3409
- const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e) => {
3410
- error.addIssue(makeReturnsIssue(result, e));
3409
+ const parsedReturns = await me2._def.returns._def.type.parseAsync(result, params).catch((e2) => {
3410
+ error.addIssue(makeReturnsIssue(result, e2));
3411
3411
  throw error;
3412
3412
  });
3413
3413
  return parsedReturns;
3414
3414
  });
3415
3415
  } else {
3416
- const me = this;
3416
+ const me2 = this;
3417
3417
  return OK(function(...args) {
3418
- const parsedArgs = me._def.args.safeParse(args, params);
3418
+ const parsedArgs = me2._def.args.safeParse(args, params);
3419
3419
  if (!parsedArgs.success) {
3420
3420
  throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);
3421
3421
  }
3422
3422
  const result = Reflect.apply(fn, this, parsedArgs.data);
3423
- const parsedReturns = me._def.returns.safeParse(result, params);
3423
+ const parsedReturns = me2._def.returns.safeParse(result, params);
3424
3424
  if (!parsedReturns.success) {
3425
3425
  throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);
3426
3426
  }
@@ -3982,10 +3982,10 @@ var ZodPipeline = class _ZodPipeline extends ZodType {
3982
3982
  }
3983
3983
  }
3984
3984
  }
3985
- static create(a, b2) {
3985
+ static create(a, b) {
3986
3986
  return new _ZodPipeline({
3987
3987
  in: a,
3988
- out: b2,
3988
+ out: b,
3989
3989
  typeName: ZodFirstPartyTypeKind.ZodPipeline
3990
3990
  });
3991
3991
  }
@@ -4783,7 +4783,7 @@ function stringifyRegExpWithFlags(regex, refs) {
4783
4783
  }
4784
4784
  try {
4785
4785
  new RegExp(pattern);
4786
- } catch (e) {
4786
+ } catch (e2) {
4787
4787
  console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`);
4788
4788
  return regex.source;
4789
4789
  }
@@ -4792,7 +4792,7 @@ function stringifyRegExpWithFlags(regex, refs) {
4792
4792
 
4793
4793
  // ../../../core/node_modules/zod-to-json-schema/dist/esm/parsers/record.js
4794
4794
  function parseRecordDef(def, refs) {
4795
- var _a, _b, _c, _d, _e, _f, _g;
4795
+ var _a, _b, _c, _d, _e2, _f, _g;
4796
4796
  if (refs.target === "openAi") {
4797
4797
  console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
4798
4798
  }
@@ -4829,7 +4829,7 @@ function parseRecordDef(def, refs) {
4829
4829
  ...schema,
4830
4830
  propertyNames: keyType
4831
4831
  };
4832
- } else if (((_e = def.keyType) == null ? void 0 : _e._def.typeName) === ZodFirstPartyTypeKind.ZodEnum) {
4832
+ } else if (((_e2 = def.keyType) == null ? void 0 : _e2._def.typeName) === ZodFirstPartyTypeKind.ZodEnum) {
4833
4833
  return {
4834
4834
  ...schema,
4835
4835
  propertyNames: {
@@ -5119,7 +5119,7 @@ function decideAdditionalProperties(def, refs) {
5119
5119
  function safeIsOptional(schema) {
5120
5120
  try {
5121
5121
  return schema.isOptional();
5122
- } catch (e) {
5122
+ } catch (e2) {
5123
5123
  return true;
5124
5124
  }
5125
5125
  }
@@ -5155,12 +5155,12 @@ var parsePipelineDef = (def, refs) => {
5155
5155
  ...refs,
5156
5156
  currentPath: [...refs.currentPath, "allOf", "0"]
5157
5157
  });
5158
- const b2 = parseDef(def.out._def, {
5158
+ const b = parseDef(def.out._def, {
5159
5159
  ...refs,
5160
5160
  currentPath: [...refs.currentPath, "allOf", a ? "1" : "0"]
5161
5161
  });
5162
5162
  return {
5163
- allOf: [a, b2].filter((x2) => x2 !== void 0)
5163
+ allOf: [a, b].filter((x2) => x2 !== void 0)
5164
5164
  };
5165
5165
  };
5166
5166
 
@@ -5434,52 +5434,182 @@ var zodToJsonSchema = (schema, options) => {
5434
5434
  };
5435
5435
 
5436
5436
  // ../../../core/dist/index.mjs
5437
- var y = external_exports.record(external_exports.string(), external_exports.boolean()).describe("Consent requirement mapping");
5438
- var b = external_exports.lazy(() => external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean(), x, external_exports.array(b)]));
5439
- var h = external_exports.tuple([b, b]).describe("Loop: [source, transform] tuple for array transformations");
5440
- var v = external_exports.array(b).describe("Set: Array of values");
5441
- var w = external_exports.record(external_exports.string(), b).describe("Map: Object mapping keys to values");
5442
- var x = external_exports.object({ key: external_exports.string().optional().describe('Property path (e.g., "data.id")'), value: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()]).optional().describe("Static primitive value"), fn: external_exports.string().optional().describe("Function string for custom transformation"), map: w.optional().describe("Object with key-value mappings"), loop: h.optional().describe("Tuple [source, transform]"), set: v.optional().describe("Array of values"), consent: y.optional().describe("Required consent states"), condition: external_exports.string().optional().describe("Condition function string"), validate: external_exports.string().optional().describe("Validation function string") }).refine((e) => Object.keys(e).length > 0, { message: "ValueConfig must have at least one property" }).describe("Value configuration for transformations");
5443
- var S = h;
5444
- var O = v;
5445
- var k = w;
5446
- var E = x;
5447
- var A = zodToJsonSchema(E, { target: "jsonSchema7", $refStrategy: "relative", name: "ValueConfig" });
5448
- var L = zodToJsonSchema(S, { target: "jsonSchema7", $refStrategy: "relative", name: "Loop" });
5449
- var $ = zodToJsonSchema(O, { target: "jsonSchema7", $refStrategy: "relative", name: "Set" });
5450
- var I = zodToJsonSchema(k, { target: "jsonSchema7", $refStrategy: "relative", name: "Map" });
5451
- var _ = { merge: true, shallow: true, extend: true };
5452
- function z(e, t = {}, n = {}) {
5453
- n = { ..._, ...n };
5454
- const r = Object.entries(t).reduce((t2, [r2, o]) => {
5455
- const i = e[r2];
5456
- return n.merge && Array.isArray(i) && Array.isArray(o) ? t2[r2] = o.reduce((e2, t3) => e2.includes(t3) ? e2 : [...e2, t3], [...i]) : (n.extend || r2 in e) && (t2[r2] = o), t2;
5437
+ var e = Object.defineProperty;
5438
+ var t = (t2, n) => {
5439
+ for (var i in n) e(t2, i, { get: n[i], enumerable: true });
5440
+ };
5441
+ var h = external_exports.string();
5442
+ var y = external_exports.number();
5443
+ var S = external_exports.boolean();
5444
+ var v = external_exports.string().min(1);
5445
+ var j = external_exports.number().int().positive();
5446
+ var w = external_exports.number().int().nonnegative();
5447
+ var x = external_exports.number().describe("Tagging version number");
5448
+ var E = external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()]);
5449
+ var C = E.optional();
5450
+ var P = {};
5451
+ t(P, { ErrorHandlerSchema: () => O, HandlerSchema: () => L, LogHandlerSchema: () => J, StorageSchema: () => I, StorageTypeSchema: () => $, errorHandlerJsonSchema: () => R, handlerJsonSchema: () => q, logHandlerJsonSchema: () => A, storageJsonSchema: () => M, storageTypeJsonSchema: () => T });
5452
+ var $ = external_exports.enum(["local", "session", "cookie"]).describe("Storage mechanism: local, session, or cookie");
5453
+ var I = external_exports.object({ Local: external_exports.literal("local"), Session: external_exports.literal("session"), Cookie: external_exports.literal("cookie") }).describe("Storage type constants for type-safe references");
5454
+ var O = external_exports.any().describe("Error handler function: (error, state?) => void");
5455
+ var J = external_exports.any().describe("Log handler function: (message, verbose?) => void");
5456
+ var L = external_exports.object({ Error: O.describe("Error handler function"), Log: J.describe("Log handler function") }).describe("Handler interface with error and log functions");
5457
+ var T = zodToJsonSchema($, { target: "jsonSchema7", $refStrategy: "relative", name: "StorageType" });
5458
+ var M = zodToJsonSchema(I, { target: "jsonSchema7", $refStrategy: "relative", name: "Storage" });
5459
+ var R = zodToJsonSchema(O, { target: "jsonSchema7", $refStrategy: "relative", name: "ErrorHandler" });
5460
+ var A = zodToJsonSchema(J, { target: "jsonSchema7", $refStrategy: "relative", name: "LogHandler" });
5461
+ var q = zodToJsonSchema(L, { target: "jsonSchema7", $refStrategy: "relative", name: "Handler" });
5462
+ var U = external_exports.object({ onError: O.optional().describe("Error handler function: (error, state?) => void"), onLog: J.optional().describe("Log handler function: (message, verbose?) => void") }).partial();
5463
+ var N = external_exports.object({ verbose: external_exports.boolean().describe("Enable verbose logging for debugging").optional() }).partial();
5464
+ var B = external_exports.object({ queue: external_exports.boolean().describe("Whether to queue events when consent is not granted").optional() }).partial();
5465
+ var W = external_exports.object({}).partial();
5466
+ var V = external_exports.object({ init: external_exports.boolean().describe("Whether to initialize immediately").optional(), loadScript: external_exports.boolean().describe("Whether to load external script (for web destinations)").optional() }).partial();
5467
+ var H = external_exports.object({ disabled: external_exports.boolean().describe("Set to true to disable").optional() }).partial();
5468
+ var _ = external_exports.object({ primary: external_exports.boolean().describe("Mark as primary (only one can be primary)").optional() }).partial();
5469
+ var K = external_exports.object({ settings: external_exports.any().optional().describe("Implementation-specific configuration") }).partial();
5470
+ var F = external_exports.object({ env: external_exports.any().optional().describe("Environment dependencies (platform-specific)") }).partial();
5471
+ var Z = external_exports.object({ type: external_exports.string().optional().describe("Instance type identifier"), config: external_exports.any().describe("Instance configuration") }).partial();
5472
+ var ee = external_exports.object({ collector: external_exports.any().describe("Collector instance (runtime object)"), config: external_exports.any().describe("Configuration"), env: external_exports.any().describe("Environment dependencies") }).partial();
5473
+ var te = external_exports.object({ batch: external_exports.number().optional().describe("Batch size: bundle N events for batch processing"), batched: external_exports.any().optional().describe("Batch of events to be processed") }).partial();
5474
+ var ne = external_exports.object({ ignore: external_exports.boolean().describe("Set to true to skip processing").optional(), condition: external_exports.string().optional().describe("Condition function: return true to process") }).partial();
5475
+ var ie = external_exports.object({ sources: external_exports.record(external_exports.string(), external_exports.any()).describe("Map of source instances") }).partial();
5476
+ var oe = external_exports.object({ destinations: external_exports.record(external_exports.string(), external_exports.any()).describe("Map of destination instances") }).partial();
5477
+ var re = {};
5478
+ t(re, { ConsentSchema: () => me, DeepPartialEventSchema: () => je, EntitiesSchema: () => ye, EntitySchema: () => he, EventSchema: () => Se, OrderedPropertiesSchema: () => pe, PartialEventSchema: () => ve, PropertiesSchema: () => de, PropertySchema: () => le, PropertyTypeSchema: () => ce, SourceSchema: () => fe, SourceTypeSchema: () => ue, UserSchema: () => ge, VersionSchema: () => be, consentJsonSchema: () => De, entityJsonSchema: () => Pe, eventJsonSchema: () => we, orderedPropertiesJsonSchema: () => ke, partialEventJsonSchema: () => xe, propertiesJsonSchema: () => Ce, sourceTypeJsonSchema: () => ze, userJsonSchema: () => Ee });
5479
+ var ce = external_exports.lazy(() => external_exports.union([external_exports.boolean(), external_exports.string(), external_exports.number(), external_exports.record(external_exports.string(), le)]));
5480
+ var le = external_exports.lazy(() => external_exports.union([ce, external_exports.array(ce)]));
5481
+ var de = external_exports.record(external_exports.string(), le.optional()).describe("Flexible property collection with optional values");
5482
+ var pe = external_exports.record(external_exports.string(), external_exports.tuple([le, external_exports.number()]).optional()).describe("Ordered properties with [value, order] tuples for priority control");
5483
+ var ue = external_exports.union([external_exports.enum(["web", "server", "app", "other"]), external_exports.string()]).describe("Source type: web, server, app, other, or custom");
5484
+ var me = external_exports.record(external_exports.string(), external_exports.boolean()).describe("Consent requirement mapping (group name \u2192 state)");
5485
+ var ge = de.and(external_exports.object({ id: external_exports.string().optional().describe("User identifier"), device: external_exports.string().optional().describe("Device identifier"), session: external_exports.string().optional().describe("Session identifier"), hash: external_exports.string().optional().describe("Hashed identifier"), address: external_exports.string().optional().describe("User address"), email: external_exports.string().email().optional().describe("User email address"), phone: external_exports.string().optional().describe("User phone number"), userAgent: external_exports.string().optional().describe("Browser user agent string"), browser: external_exports.string().optional().describe("Browser name"), browserVersion: external_exports.string().optional().describe("Browser version"), deviceType: external_exports.string().optional().describe("Device type (mobile, desktop, tablet)"), os: external_exports.string().optional().describe("Operating system"), osVersion: external_exports.string().optional().describe("Operating system version"), screenSize: external_exports.string().optional().describe("Screen dimensions"), language: external_exports.string().optional().describe("User language"), country: external_exports.string().optional().describe("User country"), region: external_exports.string().optional().describe("User region/state"), city: external_exports.string().optional().describe("User city"), zip: external_exports.string().optional().describe("User postal code"), timezone: external_exports.string().optional().describe("User timezone"), ip: external_exports.string().optional().describe("User IP address"), internal: external_exports.boolean().optional().describe("Internal user flag (employee, test user)") })).describe("User identification and properties");
5486
+ var be = de.and(external_exports.object({ source: h.describe('Walker implementation version (e.g., "2.0.0")'), tagging: x })).describe("Walker version information");
5487
+ var fe = de.and(external_exports.object({ type: ue.describe("Source type identifier"), id: h.describe("Source identifier (typically URL on web)"), previous_id: h.describe("Previous source identifier (typically referrer on web)") })).describe("Event source information");
5488
+ var he = external_exports.lazy(() => external_exports.object({ entity: external_exports.string().describe("Entity name"), data: de.describe("Entity-specific properties"), nested: external_exports.array(he).describe("Nested child entities"), context: pe.describe("Entity context data") })).describe("Nested entity structure with recursive nesting support");
5489
+ var ye = external_exports.array(he).describe("Array of nested entities");
5490
+ var Se = external_exports.object({ name: external_exports.string().describe('Event name in "entity action" format (e.g., "page view", "product add")'), data: de.describe("Event-specific properties"), context: pe.describe("Ordered context properties with priorities"), globals: de.describe("Global properties shared across events"), custom: de.describe("Custom implementation-specific properties"), user: ge.describe("User identification and attributes"), nested: ye.describe("Related nested entities"), consent: me.describe("Consent states at event time"), id: v.describe("Unique event identifier (timestamp-based)"), trigger: h.describe("Event trigger identifier"), entity: h.describe("Parsed entity from event name"), action: h.describe("Parsed action from event name"), timestamp: j.describe("Unix timestamp in milliseconds since epoch"), timing: y.describe("Event processing timing information"), group: h.describe("Event grouping identifier"), count: w.describe("Event count in session"), version: be.describe("Walker version information"), source: fe.describe("Event source information") }).describe("Complete walkerOS event structure");
5491
+ var ve = Se.partial().describe("Partial event structure with all fields optional");
5492
+ var je = external_exports.lazy(() => Se.deepPartial()).describe("Deep partial event structure with all nested fields optional");
5493
+ var we = zodToJsonSchema(Se, { target: "jsonSchema7", $refStrategy: "relative", name: "Event" });
5494
+ var xe = zodToJsonSchema(ve, { target: "jsonSchema7", $refStrategy: "relative", name: "PartialEvent" });
5495
+ var Ee = zodToJsonSchema(ge, { target: "jsonSchema7", $refStrategy: "relative", name: "User" });
5496
+ var Ce = zodToJsonSchema(de, { target: "jsonSchema7", $refStrategy: "relative", name: "Properties" });
5497
+ var ke = zodToJsonSchema(pe, { target: "jsonSchema7", $refStrategy: "relative", name: "OrderedProperties" });
5498
+ var Pe = zodToJsonSchema(he, { target: "jsonSchema7", $refStrategy: "relative", name: "Entity" });
5499
+ var ze = zodToJsonSchema(ue, { target: "jsonSchema7", $refStrategy: "relative", name: "SourceType" });
5500
+ var De = zodToJsonSchema(me, { target: "jsonSchema7", $refStrategy: "relative", name: "Consent" });
5501
+ var $e = {};
5502
+ t($e, { ConfigSchema: () => Be, LoopSchema: () => Te, MapSchema: () => Re, PolicySchema: () => qe, ResultSchema: () => We, RuleSchema: () => Ue, RulesSchema: () => Ne, SetSchema: () => Me, ValueConfigSchema: () => Ae, ValueSchema: () => Je, ValuesSchema: () => Le, configJsonSchema: () => Ye, loopJsonSchema: () => _e, mapJsonSchema: () => Fe, policyJsonSchema: () => Ge, ruleJsonSchema: () => Qe, rulesJsonSchema: () => Xe, setJsonSchema: () => Ke, valueConfigJsonSchema: () => He, valueJsonSchema: () => Ve });
5503
+ var Je = external_exports.lazy(() => external_exports.union([external_exports.string().describe('String value or property path (e.g., "data.id")'), external_exports.number().describe("Numeric value"), external_exports.boolean().describe("Boolean value"), Ae, external_exports.array(Je).describe("Array of values")]));
5504
+ var Le = external_exports.array(Je).describe("Array of transformation values");
5505
+ var Te = external_exports.tuple([Je, Je]).describe("Loop transformation: [source, transform] tuple for array processing");
5506
+ var Me = external_exports.array(Je).describe("Set: Array of values for selection or combination");
5507
+ var Re = external_exports.record(external_exports.string(), Je).describe("Map: Object mapping keys to transformation values");
5508
+ var Ae = external_exports.object({ key: external_exports.string().optional().describe('Property path to extract from event (e.g., "data.id", "user.email")'), value: external_exports.union([external_exports.string(), external_exports.number(), external_exports.boolean()]).optional().describe("Static primitive value"), fn: external_exports.string().optional().describe("Custom transformation function as string (serialized)"), map: Re.optional().describe("Object mapping: transform event data to structured output"), loop: Te.optional().describe("Loop transformation: [source, transform] for array processing"), set: Me.optional().describe("Set of values: combine or select from multiple values"), consent: me.optional().describe("Required consent states to include this value"), condition: external_exports.string().optional().describe("Condition function as string: return true to include value"), validate: external_exports.string().optional().describe("Validation function as string: return true if value is valid") }).refine((e2) => Object.keys(e2).length > 0, { message: "ValueConfig must have at least one property" }).describe("Value transformation configuration with multiple strategies");
5509
+ var qe = external_exports.record(external_exports.string(), Je).describe("Policy rules for event pre-processing (key \u2192 value mapping)");
5510
+ var Ue = external_exports.object({ batch: external_exports.number().optional().describe("Batch size: bundle N events for batch processing"), condition: external_exports.string().optional().describe("Condition function as string: return true to process event"), consent: me.optional().describe("Required consent states to process this event"), settings: external_exports.any().optional().describe("Destination-specific settings for this event mapping"), data: external_exports.union([Je, Le]).optional().describe("Data transformation rules for event"), ignore: external_exports.boolean().optional().describe("Set to true to skip processing this event"), name: external_exports.string().optional().describe('Custom event name override (e.g., "view_item" for "product view")'), policy: qe.optional().describe("Event-level policy overrides (applied after config-level policy)") }).describe("Mapping rule for specific entity-action combination");
5511
+ var Ne = external_exports.record(external_exports.string(), external_exports.record(external_exports.string(), external_exports.union([Ue, external_exports.array(Ue)])).optional()).describe("Nested mapping rules: { entity: { action: Rule | Rule[] } } with wildcard support");
5512
+ var Be = external_exports.object({ consent: me.optional().describe("Required consent states to process any events"), data: external_exports.union([Je, Le]).optional().describe("Global data transformation applied to all events"), mapping: Ne.optional().describe("Entity-action specific mapping rules"), policy: qe.optional().describe("Pre-processing policy rules applied before mapping") }).describe("Shared mapping configuration for sources and destinations");
5513
+ var We = external_exports.object({ eventMapping: Ue.optional().describe("Resolved mapping rule for event"), mappingKey: external_exports.string().optional().describe('Mapping key used (e.g., "product.view")') }).describe("Mapping resolution result");
5514
+ var Ve = zodToJsonSchema(Je, { target: "jsonSchema7", $refStrategy: "relative", name: "Value" });
5515
+ var He = zodToJsonSchema(Ae, { target: "jsonSchema7", $refStrategy: "relative", name: "ValueConfig" });
5516
+ var _e = zodToJsonSchema(Te, { target: "jsonSchema7", $refStrategy: "relative", name: "Loop" });
5517
+ var Ke = zodToJsonSchema(Me, { target: "jsonSchema7", $refStrategy: "relative", name: "Set" });
5518
+ var Fe = zodToJsonSchema(Re, { target: "jsonSchema7", $refStrategy: "relative", name: "Map" });
5519
+ var Ge = zodToJsonSchema(qe, { target: "jsonSchema7", $refStrategy: "relative", name: "Policy" });
5520
+ var Qe = zodToJsonSchema(Ue, { target: "jsonSchema7", $refStrategy: "relative", name: "Rule" });
5521
+ var Xe = zodToJsonSchema(Ne, { target: "jsonSchema7", $refStrategy: "relative", name: "Rules" });
5522
+ var Ye = zodToJsonSchema(Be, { target: "jsonSchema7", $refStrategy: "relative", name: "MappingConfig" });
5523
+ var Ze = {};
5524
+ t(Ze, { BatchSchema: () => dt, ConfigSchema: () => nt, ContextSchema: () => rt, DLQSchema: () => St, DataSchema: () => pt, DestinationPolicySchema: () => ot, DestinationsSchema: () => bt, InitDestinationsSchema: () => gt, InitSchema: () => mt, InstanceSchema: () => ut, PartialConfigSchema: () => it, PushBatchContextSchema: () => st, PushContextSchema: () => at, PushEventSchema: () => ct, PushEventsSchema: () => lt, PushResultSchema: () => ht, RefSchema: () => ft, ResultSchema: () => yt, batchJsonSchema: () => Et, configJsonSchema: () => vt, contextJsonSchema: () => wt, instanceJsonSchema: () => Ct, partialConfigJsonSchema: () => jt, pushContextJsonSchema: () => xt, resultJsonSchema: () => kt });
5525
+ var nt = external_exports.object({ consent: me.optional().describe("Required consent states to send events to this destination"), settings: external_exports.any().describe("Implementation-specific configuration").optional(), data: external_exports.union([Je, Le]).optional().describe("Global data transformation applied to all events for this destination"), env: external_exports.any().describe("Environment dependencies (platform-specific)").optional(), id: v.describe("Destination instance identifier (defaults to destination key)").optional(), init: external_exports.boolean().describe("Whether to initialize immediately").optional(), loadScript: external_exports.boolean().describe("Whether to load external script (for web destinations)").optional(), mapping: Ne.optional().describe("Entity-action specific mapping rules for this destination"), policy: qe.optional().describe("Pre-processing policy rules applied before event mapping"), queue: external_exports.boolean().describe("Whether to queue events when consent is not granted").optional(), verbose: external_exports.boolean().describe("Enable verbose logging for debugging").optional(), onError: O.optional(), onLog: J.optional() }).describe("Destination configuration");
5526
+ var it = nt.deepPartial().describe("Partial destination configuration with all fields deeply optional");
5527
+ var ot = qe.describe("Destination policy rules for event pre-processing");
5528
+ var rt = external_exports.object({ collector: external_exports.any().describe("Collector instance (runtime object)"), config: nt.describe("Destination configuration"), data: external_exports.union([external_exports.any(), external_exports.undefined(), external_exports.array(external_exports.union([external_exports.any(), external_exports.undefined()]))]).optional().describe("Transformed event data"), env: external_exports.any().describe("Environment dependencies") }).describe("Destination context for init and push functions");
5529
+ var at = rt.extend({ mapping: Ue.optional().describe("Resolved mapping rule for this specific event") }).describe("Push context with event-specific mapping");
5530
+ var st = at.describe("Batch push context with event-specific mapping");
5531
+ var ct = external_exports.object({ event: Se.describe("The event to process"), mapping: Ue.optional().describe("Mapping rule for this event") }).describe("Event with optional mapping for batch processing");
5532
+ var lt = external_exports.array(ct).describe("Array of events with mappings");
5533
+ var dt = external_exports.object({ key: external_exports.string().describe('Batch key (usually mapping key like "product.view")'), events: external_exports.array(Se).describe("Array of events in batch"), data: external_exports.array(external_exports.union([external_exports.any(), external_exports.undefined(), external_exports.array(external_exports.union([external_exports.any(), external_exports.undefined()]))])).describe("Transformed data for each event"), mapping: Ue.optional().describe("Shared mapping rule for batch") }).describe("Batch of events grouped by mapping key");
5534
+ var pt = external_exports.union([external_exports.any(), external_exports.undefined(), external_exports.array(external_exports.union([external_exports.any(), external_exports.undefined()]))]).describe("Transformed event data (Property, undefined, or array)");
5535
+ var ut = external_exports.object({ config: nt.describe("Destination configuration"), queue: external_exports.array(Se).optional().describe("Queued events awaiting consent"), dlq: external_exports.array(external_exports.tuple([Se, external_exports.any()])).optional().describe("Dead letter queue (failed events with errors)"), type: external_exports.string().optional().describe("Destination type identifier"), env: external_exports.any().optional().describe("Environment dependencies"), init: external_exports.any().optional().describe("Initialization function"), push: external_exports.any().describe("Push function for single events"), pushBatch: external_exports.any().optional().describe("Batch push function"), on: external_exports.any().optional().describe("Event lifecycle hook function") }).describe("Destination instance (runtime object with functions)");
5536
+ var mt = external_exports.object({ code: ut.describe("Destination instance with implementation"), config: it.optional().describe("Partial configuration overrides"), env: external_exports.any().optional().describe("Partial environment overrides") }).describe("Destination initialization configuration");
5537
+ var gt = external_exports.record(external_exports.string(), mt).describe("Map of destination IDs to initialization configurations");
5538
+ var bt = external_exports.record(external_exports.string(), ut).describe("Map of destination IDs to runtime instances");
5539
+ var ft = external_exports.object({ id: external_exports.string().describe("Destination ID"), destination: ut.describe("Destination instance") }).describe("Destination reference (ID + instance)");
5540
+ var ht = external_exports.object({ queue: external_exports.array(Se).optional().describe("Events queued (awaiting consent)"), error: external_exports.any().optional().describe("Error if push failed") }).describe("Push operation result");
5541
+ var yt = external_exports.object({ successful: external_exports.array(ft).describe("Destinations that processed successfully"), queued: external_exports.array(ft).describe("Destinations that queued events"), failed: external_exports.array(ft).describe("Destinations that failed to process") }).describe("Overall destination processing result");
5542
+ var St = external_exports.array(external_exports.tuple([Se, external_exports.any()])).describe("Dead letter queue: [(event, error), ...]");
5543
+ var vt = zodToJsonSchema(nt, { target: "jsonSchema7", $refStrategy: "relative", name: "DestinationConfig" });
5544
+ var jt = zodToJsonSchema(it, { target: "jsonSchema7", $refStrategy: "relative", name: "PartialDestinationConfig" });
5545
+ var wt = zodToJsonSchema(rt, { target: "jsonSchema7", $refStrategy: "relative", name: "DestinationContext" });
5546
+ var xt = zodToJsonSchema(at, { target: "jsonSchema7", $refStrategy: "relative", name: "PushContext" });
5547
+ var Et = zodToJsonSchema(dt, { target: "jsonSchema7", $refStrategy: "relative", name: "Batch" });
5548
+ var Ct = zodToJsonSchema(ut, { target: "jsonSchema7", $refStrategy: "relative", name: "DestinationInstance" });
5549
+ var kt = zodToJsonSchema(yt, { target: "jsonSchema7", $refStrategy: "relative", name: "DestinationResult" });
5550
+ var Pt = {};
5551
+ t(Pt, { CommandTypeSchema: () => $t, ConfigSchema: () => It, DestinationsSchema: () => Mt, InitConfigSchema: () => Jt, InstanceSchema: () => Rt, PushContextSchema: () => Lt, SessionDataSchema: () => Ot, SourcesSchema: () => Tt, commandTypeJsonSchema: () => At, configJsonSchema: () => qt, initConfigJsonSchema: () => Nt, instanceJsonSchema: () => Wt, pushContextJsonSchema: () => Bt, sessionDataJsonSchema: () => Ut });
5552
+ var $t = external_exports.union([external_exports.enum(["action", "config", "consent", "context", "destination", "elb", "globals", "hook", "init", "link", "run", "user", "walker"]), external_exports.string()]).describe("Collector command type: standard commands or custom string for extensions");
5553
+ var It = external_exports.object({ run: external_exports.boolean().describe("Whether to run collector automatically on initialization").optional(), tagging: x, globalsStatic: de.describe("Static global properties that persist across collector runs"), sessionStatic: external_exports.record(external_exports.any()).describe("Static session data that persists across collector runs"), verbose: external_exports.boolean().describe("Enable verbose logging for debugging"), onError: O.optional(), onLog: J.optional() }).describe("Core collector configuration");
5554
+ var Ot = de.and(external_exports.object({ isStart: external_exports.boolean().describe("Whether this is a new session start"), storage: external_exports.boolean().describe("Whether storage is available"), id: v.describe("Session identifier").optional(), start: j.describe("Session start timestamp").optional(), marketing: external_exports.literal(true).optional().describe("Marketing attribution flag"), updated: j.describe("Last update timestamp").optional(), isNew: external_exports.boolean().describe("Whether this is a new session").optional(), device: v.describe("Device identifier").optional(), count: w.describe("Event count in session").optional(), runs: w.describe("Number of runs").optional() })).describe("Session state and tracking data");
5555
+ var Jt = It.partial().extend({ consent: me.optional().describe("Initial consent state"), user: ge.optional().describe("Initial user data"), globals: de.optional().describe("Initial global properties"), sources: external_exports.any().optional().describe("Source configurations"), destinations: external_exports.any().optional().describe("Destination configurations"), custom: de.optional().describe("Initial custom implementation-specific properties") }).describe("Collector initialization configuration with initial state");
5556
+ var Lt = external_exports.object({ mapping: Be.optional().describe("Source-level mapping configuration") }).describe("Push context with optional source mapping");
5557
+ var Tt = external_exports.record(external_exports.string(), external_exports.any()).describe("Map of source IDs to source instances");
5558
+ var Mt = external_exports.record(external_exports.string(), external_exports.any()).describe("Map of destination IDs to destination instances");
5559
+ var Rt = external_exports.object({ push: external_exports.any().describe("Push function for processing events"), command: external_exports.any().describe("Command function for walker commands"), allowed: external_exports.boolean().describe("Whether event processing is allowed"), config: It.describe("Current collector configuration"), consent: me.describe("Current consent state"), count: external_exports.number().describe("Event count (increments with each event)"), custom: de.describe("Custom implementation-specific properties"), sources: Tt.describe("Registered source instances"), destinations: Mt.describe("Registered destination instances"), globals: de.describe("Current global properties"), group: external_exports.string().describe("Event grouping identifier"), hooks: external_exports.any().describe("Lifecycle hook functions"), on: external_exports.any().describe("Event lifecycle configuration"), queue: external_exports.array(Se).describe("Queued events awaiting processing"), round: external_exports.number().describe("Collector run count (increments with each run)"), session: external_exports.union([external_exports.undefined(), Ot]).describe("Current session state"), timing: external_exports.number().describe("Event processing timing information"), user: ge.describe("Current user data"), version: external_exports.string().describe("Walker implementation version") }).describe("Collector instance with state and methods");
5560
+ var At = zodToJsonSchema($t, { target: "jsonSchema7", $refStrategy: "relative", name: "CommandType" });
5561
+ var qt = zodToJsonSchema(It, { target: "jsonSchema7", $refStrategy: "relative", name: "CollectorConfig" });
5562
+ var Ut = zodToJsonSchema(Ot, { target: "jsonSchema7", $refStrategy: "relative", name: "SessionData" });
5563
+ var Nt = zodToJsonSchema(Jt, { target: "jsonSchema7", $refStrategy: "relative", name: "InitConfig" });
5564
+ var Bt = zodToJsonSchema(Lt, { target: "jsonSchema7", $refStrategy: "relative", name: "CollectorPushContext" });
5565
+ var Wt = zodToJsonSchema(Rt, { target: "jsonSchema7", $refStrategy: "relative", name: "CollectorInstance" });
5566
+ var Vt = {};
5567
+ t(Vt, { BaseEnvSchema: () => Kt, ConfigSchema: () => Ft, InitSchema: () => Xt, InitSourceSchema: () => Yt, InitSourcesSchema: () => Zt, InstanceSchema: () => Qt, PartialConfigSchema: () => Gt, baseEnvJsonSchema: () => en, configJsonSchema: () => tn, initSourceJsonSchema: () => rn, initSourcesJsonSchema: () => an, instanceJsonSchema: () => on, partialConfigJsonSchema: () => nn });
5568
+ var Kt = external_exports.object({ push: external_exports.any().describe("Collector push function"), command: external_exports.any().describe("Collector command function"), sources: external_exports.any().optional().describe("Map of registered source instances"), elb: external_exports.any().describe("Public API function (alias for collector.push)") }).catchall(external_exports.unknown()).describe("Base environment for dependency injection - platform-specific sources extend this");
5569
+ var Ft = Be.extend({ settings: external_exports.any().describe("Implementation-specific configuration").optional(), env: Kt.optional().describe("Environment dependencies (platform-specific)"), id: v.describe("Source identifier (defaults to source key)").optional(), onError: O.optional(), disabled: external_exports.boolean().describe("Set to true to disable").optional(), primary: external_exports.boolean().describe("Mark as primary (only one can be primary)").optional() }).describe("Source configuration with mapping and environment");
5570
+ var Gt = Ft.deepPartial().describe("Partial source configuration with all fields deeply optional");
5571
+ var Qt = external_exports.object({ type: external_exports.string().describe('Source type identifier (e.g., "browser", "dataLayer")'), config: Ft.describe("Current source configuration"), push: external_exports.any().describe("Push function - THE HANDLER (flexible signature for platform compatibility)"), destroy: external_exports.any().optional().describe("Cleanup function called when source is removed"), on: external_exports.any().optional().describe("Lifecycle hook function for event types") }).describe("Source instance with push handler and lifecycle methods");
5572
+ var Xt = external_exports.any().describe("Source initialization function: (config, env) => Instance | Promise<Instance>");
5573
+ var Yt = external_exports.object({ code: Xt.describe("Source initialization function"), config: Gt.optional().describe("Partial configuration overrides"), env: Kt.partial().optional().describe("Partial environment overrides"), primary: external_exports.boolean().optional().describe("Mark as primary source (only one can be primary)") }).describe("Source initialization configuration");
5574
+ var Zt = external_exports.record(external_exports.string(), Yt).describe("Map of source IDs to initialization configurations");
5575
+ var en = zodToJsonSchema(Kt, { target: "jsonSchema7", $refStrategy: "relative", name: "SourceBaseEnv" });
5576
+ var tn = zodToJsonSchema(Ft, { target: "jsonSchema7", $refStrategy: "relative", name: "SourceConfig" });
5577
+ var nn = zodToJsonSchema(Gt, { target: "jsonSchema7", $refStrategy: "relative", name: "PartialSourceConfig" });
5578
+ var on = zodToJsonSchema(Qt, { target: "jsonSchema7", $refStrategy: "relative", name: "SourceInstance" });
5579
+ var rn = zodToJsonSchema(Yt, { target: "jsonSchema7", $refStrategy: "relative", name: "InitSource" });
5580
+ var an = zodToJsonSchema(Zt, { target: "jsonSchema7", $refStrategy: "relative", name: "InitSources" });
5581
+ var hn = { merge: true, shallow: true, extend: true };
5582
+ function yn(e2, t2 = {}, n = {}) {
5583
+ n = { ...hn, ...n };
5584
+ const i = Object.entries(t2).reduce((t3, [i2, o]) => {
5585
+ const r = e2[i2];
5586
+ return n.merge && Array.isArray(r) && Array.isArray(o) ? t3[i2] = o.reduce((e3, t4) => e3.includes(t4) ? e3 : [...e3, t4], [...r]) : (n.extend || i2 in e2) && (t3[i2] = o), t3;
5457
5587
  }, {});
5458
- return n.shallow ? { ...e, ...r } : (Object.assign(e, r), e);
5588
+ return n.shallow ? { ...e2, ...i } : (Object.assign(e2, i), e2);
5459
5589
  }
5460
- function K(e) {
5461
- return Array.isArray(e);
5590
+ function vn(e2) {
5591
+ return Array.isArray(e2);
5462
5592
  }
5463
- function B(e) {
5464
- return "object" == typeof e && null !== e && !K(e) && "[object Object]" === Object.prototype.toString.call(e);
5593
+ function Pn(e2) {
5594
+ return "object" == typeof e2 && null !== e2 && !vn(e2) && "[object Object]" === Object.prototype.toString.call(e2);
5465
5595
  }
5466
- function ne(e = {}) {
5596
+ function Mn(e2 = {}) {
5467
5597
  var _a;
5468
- const t = e.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e.group || "gr0up", r = e.count || 1, o = z({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t}-${n}-${r}`, trigger: "test", entity: "entity", action: "action", timestamp: t, timing: 3.14, group: n, count: r, version: { source: "0.2.1", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e, { merge: false });
5469
- if (e.name) {
5470
- const [t2, n2] = (_a = e.name.split(" ")) != null ? _a : [];
5471
- t2 && n2 && (o.entity = t2, o.action = n2);
5598
+ const t2 = e2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), n = e2.group || "gr0up", i = e2.count || 1, o = yn({ name: "entity action", data: { string: "foo", number: 1, boolean: true, array: [0, "text", false], not: void 0 }, context: { dev: ["test", 1] }, globals: { lang: "elb" }, custom: { completely: "random" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n" }, nested: [{ entity: "child", data: { is: "subordinated" }, nested: [], context: { element: ["child", 0] } }], consent: { functional: true }, id: `${t2}-${n}-${i}`, trigger: "test", entity: "entity", action: "action", timestamp: t2, timing: 3.14, group: n, count: i, version: { source: "0.3.0", tagging: 1 }, source: { type: "web", id: "https://localhost:80", previous_id: "http://remotehost:9001" } }, e2, { merge: false });
5599
+ if (e2.name) {
5600
+ const [t3, n2] = (_a = e2.name.split(" ")) != null ? _a : [];
5601
+ t3 && n2 && (o.entity = t3, o.action = n2);
5472
5602
  }
5473
5603
  return o;
5474
5604
  }
5475
- function re(e = "entity action", t = {}) {
5476
- const n = t.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), r = { data: { id: "ers", name: "Everyday Ruck Snack", color: "black", size: "l", price: 420 } }, o = { data: { id: "cc", name: "Cool Cap", size: "one size", price: 42 } };
5477
- return ne({ ...{ "cart view": { data: { currency: "EUR", value: 2 * r.data.price }, context: { shopping: ["cart", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", data: { ...r.data, quantity: 2 }, context: { shopping: ["cart", 0] }, nested: [] }], trigger: "load" }, "checkout view": { data: { step: "payment", currency: "EUR", value: r.data.price + o.data.price }, context: { shopping: ["checkout", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...r, context: { shopping: ["checkout", 0] }, nested: [] }, { entity: "product", ...o, context: { shopping: ["checkout", 0] }, nested: [] }], trigger: "load" }, "order complete": { data: { id: "0rd3r1d", currency: "EUR", shipping: 5.22, taxes: 73.76, total: 555 }, context: { shopping: ["complete", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...r, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "product", ...o, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "gift", data: { name: "Surprise" }, context: { shopping: ["complete", 0] }, nested: [] }], trigger: "load" }, "page view": { data: { domain: "www.example.com", title: "walkerOS documentation", referrer: "https://www.elbwalker.com/", search: "?foo=bar", hash: "#hash", id: "/docs/" }, globals: { pagegroup: "docs" }, trigger: "load" }, "product add": { ...r, context: { shopping: ["intent", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "click" }, "product view": { ...r, context: { shopping: ["detail", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "product visible": { data: { ...r.data, position: 3, promo: true }, context: { shopping: ["discover", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "promotion visible": { data: { name: "Setting up tracking easily", position: "hero" }, context: { ab_test: ["engagement", 0] }, globals: { pagegroup: "homepage" }, trigger: "visible" }, "session start": { data: { id: "s3ss10n", start: n, isNew: true, count: 1, runs: 1, isStart: true, storage: true, referrer: "", device: "c00k13" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n", hash: "h4sh", address: "street number", email: "user@example.com", phone: "+49 123 456 789", userAgent: "Mozilla...", browser: "Chrome", browserVersion: "90", deviceType: "desktop", language: "de-DE", country: "DE", region: "HH", city: "Hamburg", zip: "20354", timezone: "Berlin", os: "walkerOS", osVersion: "1.0", screenSize: "1337x420", ip: "127.0.0.0", internal: true, custom: "value" } } }[e], ...t, name: e });
5605
+ function Rn(e2 = "entity action", t2 = {}) {
5606
+ const n = t2.timestamp || (/* @__PURE__ */ new Date()).setHours(0, 13, 37, 0), i = { data: { id: "ers", name: "Everyday Ruck Snack", color: "black", size: "l", price: 420 } }, o = { data: { id: "cc", name: "Cool Cap", size: "one size", price: 42 } };
5607
+ return Mn({ ...{ "cart view": { data: { currency: "EUR", value: 2 * i.data.price }, context: { shopping: ["cart", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", data: { ...i.data, quantity: 2 }, context: { shopping: ["cart", 0] }, nested: [] }], trigger: "load" }, "checkout view": { data: { step: "payment", currency: "EUR", value: i.data.price + o.data.price }, context: { shopping: ["checkout", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...i, context: { shopping: ["checkout", 0] }, nested: [] }, { entity: "product", ...o, context: { shopping: ["checkout", 0] }, nested: [] }], trigger: "load" }, "order complete": { data: { id: "0rd3r1d", currency: "EUR", shipping: 5.22, taxes: 73.76, total: 555 }, context: { shopping: ["complete", 0] }, globals: { pagegroup: "shop" }, nested: [{ entity: "product", ...i, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "product", ...o, context: { shopping: ["complete", 0] }, nested: [] }, { entity: "gift", data: { name: "Surprise" }, context: { shopping: ["complete", 0] }, nested: [] }], trigger: "load" }, "page view": { data: { domain: "www.example.com", title: "walkerOS documentation", referrer: "https://www.elbwalker.com/", search: "?foo=bar", hash: "#hash", id: "/docs/" }, globals: { pagegroup: "docs" }, trigger: "load" }, "product add": { ...i, context: { shopping: ["intent", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "click" }, "product view": { ...i, context: { shopping: ["detail", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "product visible": { data: { ...i.data, position: 3, promo: true }, context: { shopping: ["discover", 0] }, globals: { pagegroup: "shop" }, nested: [], trigger: "load" }, "promotion visible": { data: { name: "Setting up tracking easily", position: "hero" }, context: { ab_test: ["engagement", 0] }, globals: { pagegroup: "homepage" }, trigger: "visible" }, "session start": { data: { id: "s3ss10n", start: n, isNew: true, count: 1, runs: 1, isStart: true, storage: true, referrer: "", device: "c00k13" }, user: { id: "us3r", device: "c00k13", session: "s3ss10n", hash: "h4sh", address: "street number", email: "user@example.com", phone: "+49 123 456 789", userAgent: "Mozilla...", browser: "Chrome", browserVersion: "90", deviceType: "desktop", language: "de-DE", country: "DE", region: "HH", city: "Hamburg", zip: "20354", timezone: "Berlin", os: "walkerOS", osVersion: "1.0", screenSize: "1337x420", ip: "127.0.0.0", internal: true, custom: "value" } } }[e2], ...t2, name: e2 });
5478
5608
  }
5479
5609
 
5480
5610
  // src/examples/events.ts
5481
5611
  function ga4Purchase() {
5482
- const event = re("order complete");
5612
+ const event = Rn("order complete");
5483
5613
  return [
5484
5614
  "event",
5485
5615
  "purchase",
@@ -5499,7 +5629,7 @@ function ga4Purchase() {
5499
5629
  ];
5500
5630
  }
5501
5631
  function ga4AddToCart() {
5502
- const event = re("product add");
5632
+ const event = Rn("product add");
5503
5633
  return [
5504
5634
  "event",
5505
5635
  "add_to_cart",
@@ -5518,7 +5648,7 @@ function ga4AddToCart() {
5518
5648
  ];
5519
5649
  }
5520
5650
  function adsConversion() {
5521
- const event = re("order complete");
5651
+ const event = Rn("order complete");
5522
5652
  return [
5523
5653
  "event",
5524
5654
  "conversion",
@@ -5531,7 +5661,7 @@ function adsConversion() {
5531
5661
  ];
5532
5662
  }
5533
5663
  function gtmEvent() {
5534
- const event = re("product view");
5664
+ const event = Rn("product view");
5535
5665
  return {
5536
5666
  event: "product_view",
5537
5667
  product_id: event.data.id,
@@ -5570,7 +5700,7 @@ var ga4Purchase2 = {
5570
5700
  loop: [
5571
5701
  "nested",
5572
5702
  {
5573
- condition: (entity) => B(entity) && entity.entity === "product",
5703
+ condition: (entity) => Pn(entity) && entity.entity === "product",
5574
5704
  map: {
5575
5705
  item_id: "data.id",
5576
5706
  item_name: "data.name",
@@ -5657,7 +5787,7 @@ var combinedPurchase = {
5657
5787
  loop: [
5658
5788
  "nested",
5659
5789
  {
5660
- condition: (entity) => B(entity) && entity.entity === "product",
5790
+ condition: (entity) => Pn(entity) && entity.entity === "product",
5661
5791
  map: {
5662
5792
  item_id: "data.id",
5663
5793
  item_name: "data.name",