@reachy/audience-module 1.0.12 → 1.0.13
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V2AudienceEngine.d.ts","sourceRoot":"","sources":["../../src/engine/V2AudienceEngine.ts"],"names":[],"mappings":"AAGA,KAAK,MAAM,GAAG;IACZ,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC7B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAChC,CAAA;
|
|
1
|
+
{"version":3,"file":"V2AudienceEngine.d.ts","sourceRoot":"","sources":["../../src/engine/V2AudienceEngine.ts"],"names":[],"mappings":"AAGA,KAAK,MAAM,GAAG;IACZ,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC7B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAChC,CAAA;AAkHD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE;QAAE,cAAc,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAMvE,iCAAiC,CACrC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,GAAG,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAgoBjB,kCAAkC,CACtC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,GAAG,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IAwenB,OAAO,CAAC,IAAI;CAIb"}
|
|
@@ -2,6 +2,137 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.V2AudienceEngine = void 0;
|
|
4
4
|
const CriteriaParser_1 = require("../builders/CriteriaParser");
|
|
5
|
+
const getByPath = (obj, dottedPath) => {
|
|
6
|
+
if (!obj || !dottedPath)
|
|
7
|
+
return undefined;
|
|
8
|
+
const parts = dottedPath.split('.').filter(Boolean);
|
|
9
|
+
let cur = obj;
|
|
10
|
+
for (const p of parts) {
|
|
11
|
+
if (cur == null)
|
|
12
|
+
return undefined;
|
|
13
|
+
cur = cur[p];
|
|
14
|
+
}
|
|
15
|
+
return cur;
|
|
16
|
+
};
|
|
17
|
+
const getEventPropertyValue = (eventData, keyRaw) => {
|
|
18
|
+
const key = String(keyRaw || '').trim();
|
|
19
|
+
if (!key)
|
|
20
|
+
return undefined;
|
|
21
|
+
const ed = eventData || {};
|
|
22
|
+
if (key.startsWith('event_data.'))
|
|
23
|
+
return getByPath(ed, key.replace(/^event_data\./, ''));
|
|
24
|
+
if (key.startsWith('custom_data.'))
|
|
25
|
+
return getByPath(ed?.custom_data, key.replace(/^custom_data\./, ''));
|
|
26
|
+
if (key.startsWith('utm_data.'))
|
|
27
|
+
return getByPath(ed?.utm_data, key.replace(/^utm_data\./, ''));
|
|
28
|
+
if (key.startsWith('url_data.'))
|
|
29
|
+
return getByPath(ed?.url_data, key.replace(/^url_data\./, ''));
|
|
30
|
+
if (key.startsWith('session_data.'))
|
|
31
|
+
return getByPath(ed?.session_data, key.replace(/^session_data\./, ''));
|
|
32
|
+
return getByPath(ed, key) ?? getByPath(ed?.custom_data, key);
|
|
33
|
+
};
|
|
34
|
+
const matchesInterest = (raw, op, expected) => {
|
|
35
|
+
if (raw === null || raw === undefined)
|
|
36
|
+
return false;
|
|
37
|
+
const a = String(raw).trim();
|
|
38
|
+
const b = String(expected ?? '').trim();
|
|
39
|
+
if (!b)
|
|
40
|
+
return false;
|
|
41
|
+
const nOp = String(op || 'equals').trim();
|
|
42
|
+
if (nOp === 'equals')
|
|
43
|
+
return a === b;
|
|
44
|
+
if (nOp === 'contains')
|
|
45
|
+
return a.toLowerCase().includes(b.toLowerCase());
|
|
46
|
+
if (nOp === 'starts_with')
|
|
47
|
+
return a.toLowerCase().startsWith(b.toLowerCase());
|
|
48
|
+
if (nOp === 'ends_with')
|
|
49
|
+
return a.toLowerCase().endsWith(b.toLowerCase());
|
|
50
|
+
if (nOp === 'not_equals')
|
|
51
|
+
return a !== b;
|
|
52
|
+
return a.toLowerCase().includes(b.toLowerCase());
|
|
53
|
+
};
|
|
54
|
+
const normalizeEventPropertyOp = (opRaw) => {
|
|
55
|
+
const op = String(opRaw ?? '').trim();
|
|
56
|
+
if (op === '=' || op === '==' || op === 'eq' || op === 'equals')
|
|
57
|
+
return 'equals';
|
|
58
|
+
if (op === '!=' || op === '<>' || op === 'neq' || op === 'not_equals')
|
|
59
|
+
return 'not_equals';
|
|
60
|
+
if (op === 'contains')
|
|
61
|
+
return 'contains';
|
|
62
|
+
if (op === 'not_contains')
|
|
63
|
+
return 'not_contains';
|
|
64
|
+
if (op === 'starts_with')
|
|
65
|
+
return 'starts_with';
|
|
66
|
+
if (op === 'ends_with')
|
|
67
|
+
return 'ends_with';
|
|
68
|
+
if (op === 'is_empty')
|
|
69
|
+
return 'is_empty';
|
|
70
|
+
if (op === 'is_not_empty')
|
|
71
|
+
return 'is_not_empty';
|
|
72
|
+
if (op === '>' || op === 'gt')
|
|
73
|
+
return 'gt';
|
|
74
|
+
if (op === '>=' || op === 'gte')
|
|
75
|
+
return 'gte';
|
|
76
|
+
if (op === '<' || op === 'lt')
|
|
77
|
+
return 'lt';
|
|
78
|
+
if (op === '<=' || op === 'lte')
|
|
79
|
+
return 'lte';
|
|
80
|
+
return op;
|
|
81
|
+
};
|
|
82
|
+
const matchesEventPropertyFilter = (raw, opRaw, expected) => {
|
|
83
|
+
const op = normalizeEventPropertyOp(opRaw);
|
|
84
|
+
if (op === 'is_empty') {
|
|
85
|
+
return raw === null || raw === undefined || String(raw).trim() === '';
|
|
86
|
+
}
|
|
87
|
+
if (op === 'is_not_empty') {
|
|
88
|
+
return raw !== null && raw !== undefined && String(raw).trim() !== '';
|
|
89
|
+
}
|
|
90
|
+
if (raw === null || raw === undefined)
|
|
91
|
+
return false;
|
|
92
|
+
const a = String(raw);
|
|
93
|
+
const b = String(expected ?? '');
|
|
94
|
+
if (op === 'equals')
|
|
95
|
+
return a === b;
|
|
96
|
+
if (op === 'not_equals')
|
|
97
|
+
return a !== b;
|
|
98
|
+
if (op === 'contains')
|
|
99
|
+
return a.toLowerCase().includes(b.toLowerCase());
|
|
100
|
+
if (op === 'not_contains')
|
|
101
|
+
return !a.toLowerCase().includes(b.toLowerCase());
|
|
102
|
+
if (op === 'starts_with')
|
|
103
|
+
return a.toLowerCase().startsWith(b.toLowerCase());
|
|
104
|
+
if (op === 'ends_with')
|
|
105
|
+
return a.toLowerCase().endsWith(b.toLowerCase());
|
|
106
|
+
if (op === 'gt' || op === 'gte' || op === 'lt' || op === 'lte') {
|
|
107
|
+
const aNum = Number(raw);
|
|
108
|
+
const bNum = Number(expected);
|
|
109
|
+
if (!Number.isFinite(aNum) || !Number.isFinite(bNum))
|
|
110
|
+
return false;
|
|
111
|
+
if (op === 'gt')
|
|
112
|
+
return aNum > bNum;
|
|
113
|
+
if (op === 'gte')
|
|
114
|
+
return aNum >= bNum;
|
|
115
|
+
if (op === 'lt')
|
|
116
|
+
return aNum < bNum;
|
|
117
|
+
return aNum <= bNum;
|
|
118
|
+
}
|
|
119
|
+
return false;
|
|
120
|
+
};
|
|
121
|
+
const applyEventRuleFilters = (rows, filters) => {
|
|
122
|
+
let out = rows;
|
|
123
|
+
for (const f of filters) {
|
|
124
|
+
const type = String(f?.type || '').trim();
|
|
125
|
+
if (type === 'event_property') {
|
|
126
|
+
const key = String(f?.key || '').trim();
|
|
127
|
+
if (!key)
|
|
128
|
+
continue;
|
|
129
|
+
const op = f?.op;
|
|
130
|
+
const value = f?.value;
|
|
131
|
+
out = out.filter((row) => matchesEventPropertyFilter(getEventPropertyValue(row?.event_data, key), op, value));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return out;
|
|
135
|
+
};
|
|
5
136
|
class V2AudienceEngine {
|
|
6
137
|
constructor(params) {
|
|
7
138
|
this.supabase = params.supabaseClient;
|
|
@@ -190,8 +321,13 @@ class V2AudienceEngine {
|
|
|
190
321
|
}
|
|
191
322
|
}
|
|
192
323
|
}
|
|
324
|
+
const interest = rule?.interest;
|
|
193
325
|
try {
|
|
194
|
-
|
|
326
|
+
let attributes = Array.isArray(rule.attributes) ? rule.attributes : (rule.attributes ? [rule.attributes] : []);
|
|
327
|
+
const interestKey = interest?.key ? String(interest.key).trim() : '';
|
|
328
|
+
if (interestKey) {
|
|
329
|
+
attributes = attributes.filter((a) => String(a?.key || '').trim() !== interestKey);
|
|
330
|
+
}
|
|
195
331
|
const trackerEvents = new Set([
|
|
196
332
|
'click',
|
|
197
333
|
'page_view',
|
|
@@ -275,10 +411,65 @@ class V2AudienceEngine {
|
|
|
275
411
|
const { data, error } = await query;
|
|
276
412
|
if (error)
|
|
277
413
|
return new Set();
|
|
414
|
+
let rows = (data || []);
|
|
415
|
+
const ruleFilters = Array.isArray(rule.filters) ? rule.filters : [];
|
|
416
|
+
if (ruleFilters.length > 0) {
|
|
417
|
+
rows = applyEventRuleFilters(rows, ruleFilters);
|
|
418
|
+
}
|
|
419
|
+
if (interest && interest.key) {
|
|
420
|
+
const key = String(interest.key || '').trim();
|
|
421
|
+
const op = String(interest.op || 'equals').trim();
|
|
422
|
+
const expected = interest.value;
|
|
423
|
+
const occType = String(interest.occurrenceType || 'predominantly').trim();
|
|
424
|
+
const pct = Number(interest.occurrencePercentage ?? 0);
|
|
425
|
+
const threshold = Number.isFinite(pct) ? Math.max(0, Math.min(100, pct)) / 100 : 0;
|
|
426
|
+
const totals = new Map();
|
|
427
|
+
const matchCounts = new Map();
|
|
428
|
+
const valueCounts = new Map();
|
|
429
|
+
for (const row of rows) {
|
|
430
|
+
const id = resolveEventContactId(row);
|
|
431
|
+
if (!id)
|
|
432
|
+
continue;
|
|
433
|
+
totals.set(id, (totals.get(id) || 0) + 1);
|
|
434
|
+
const rawVal = getEventPropertyValue(row?.event_data, key);
|
|
435
|
+
const strVal = rawVal === null || rawVal === undefined ? '' : String(rawVal);
|
|
436
|
+
if (!valueCounts.has(id))
|
|
437
|
+
valueCounts.set(id, new Map());
|
|
438
|
+
const per = valueCounts.get(id);
|
|
439
|
+
per.set(strVal, (per.get(strVal) || 0) + 1);
|
|
440
|
+
if (matchesInterest(rawVal, op === 'contains' ? 'contains' : op, expected)) {
|
|
441
|
+
matchCounts.set(id, (matchCounts.get(id) || 0) + 1);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
const res = new Set();
|
|
445
|
+
totals.forEach((total, id) => {
|
|
446
|
+
if (total <= 0)
|
|
447
|
+
return;
|
|
448
|
+
const match = matchCounts.get(id) || 0;
|
|
449
|
+
if (occType === 'at_least') {
|
|
450
|
+
if (match > 0 && match / total >= threshold)
|
|
451
|
+
res.add(id);
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
const per = valueCounts.get(id);
|
|
455
|
+
if (!per)
|
|
456
|
+
return;
|
|
457
|
+
let maxOther = 0;
|
|
458
|
+
per.forEach((cnt, valStr) => {
|
|
459
|
+
if (!matchesInterest(valStr, op, expected)) {
|
|
460
|
+
if (cnt > maxOther)
|
|
461
|
+
maxOther = cnt;
|
|
462
|
+
}
|
|
463
|
+
});
|
|
464
|
+
if (match > 0 && match >= maxOther)
|
|
465
|
+
res.add(id);
|
|
466
|
+
});
|
|
467
|
+
return res;
|
|
468
|
+
}
|
|
278
469
|
if (rule.frequency && rule.frequency.value != null) {
|
|
279
470
|
const { op, value, type = 'count', field = 'value' } = rule.frequency;
|
|
280
471
|
const counts = new Map();
|
|
281
|
-
for (const row of
|
|
472
|
+
for (const row of rows) {
|
|
282
473
|
const id = resolveEventContactId(row);
|
|
283
474
|
if (!id)
|
|
284
475
|
continue;
|
|
@@ -304,7 +495,7 @@ class V2AudienceEngine {
|
|
|
304
495
|
let finalValue = aggregatedValue;
|
|
305
496
|
if (type === 'avg') {
|
|
306
497
|
let eventCount = 0;
|
|
307
|
-
for (const row of
|
|
498
|
+
for (const row of rows) {
|
|
308
499
|
const rid = resolveEventContactId(row);
|
|
309
500
|
if (rid === id)
|
|
310
501
|
eventCount++;
|
|
@@ -325,7 +516,7 @@ class V2AudienceEngine {
|
|
|
325
516
|
if (typeId === 'live-page-count' && cfg && cfg.pageCount != null) {
|
|
326
517
|
const threshold = Number(cfg.pageCount);
|
|
327
518
|
const counts = new Map();
|
|
328
|
-
for (const row of
|
|
519
|
+
for (const row of rows) {
|
|
329
520
|
const id = resolveEventContactId(row);
|
|
330
521
|
if (!id)
|
|
331
522
|
continue;
|
|
@@ -337,7 +528,7 @@ class V2AudienceEngine {
|
|
|
337
528
|
return res;
|
|
338
529
|
}
|
|
339
530
|
const res = new Set();
|
|
340
|
-
for (const row of
|
|
531
|
+
for (const row of rows) {
|
|
341
532
|
const id = resolveEventContactId(row);
|
|
342
533
|
if (id)
|
|
343
534
|
res.add(id);
|
|
@@ -742,8 +933,13 @@ class V2AudienceEngine {
|
|
|
742
933
|
}
|
|
743
934
|
}
|
|
744
935
|
}
|
|
936
|
+
const interest = rule?.interest;
|
|
745
937
|
try {
|
|
746
|
-
|
|
938
|
+
let attributes = Array.isArray(rule.attributes) ? rule.attributes : (rule.attributes ? [rule.attributes] : []);
|
|
939
|
+
const interestKey = interest?.key ? String(interest.key).trim() : '';
|
|
940
|
+
if (interestKey) {
|
|
941
|
+
attributes = attributes.filter((a) => String(a?.key || '').trim() !== interestKey);
|
|
942
|
+
}
|
|
747
943
|
const resolveDbFieldForAttrKey = (keyRaw) => {
|
|
748
944
|
const key = String(keyRaw || '').trim();
|
|
749
945
|
if (!key)
|
|
@@ -814,7 +1010,43 @@ class V2AudienceEngine {
|
|
|
814
1010
|
const { data, error } = await query;
|
|
815
1011
|
if (error)
|
|
816
1012
|
return false;
|
|
817
|
-
|
|
1013
|
+
let rows = (data || []);
|
|
1014
|
+
const ruleFilters = Array.isArray(rule.filters) ? rule.filters : [];
|
|
1015
|
+
if (ruleFilters.length > 0) {
|
|
1016
|
+
rows = applyEventRuleFilters(rows, ruleFilters);
|
|
1017
|
+
}
|
|
1018
|
+
if (interest && interest.key) {
|
|
1019
|
+
const key = String(interest.key || '').trim();
|
|
1020
|
+
const op = String(interest.op || 'equals').trim();
|
|
1021
|
+
const expected = interest.value;
|
|
1022
|
+
const occType = String(interest.occurrenceType || 'predominantly').trim();
|
|
1023
|
+
const pct = Number(interest.occurrencePercentage ?? 0);
|
|
1024
|
+
const threshold = Number.isFinite(pct) ? Math.max(0, Math.min(100, pct)) / 100 : 0;
|
|
1025
|
+
if (rows.length === 0)
|
|
1026
|
+
return false;
|
|
1027
|
+
let total = 0;
|
|
1028
|
+
let match = 0;
|
|
1029
|
+
const counts = new Map();
|
|
1030
|
+
for (const row of rows) {
|
|
1031
|
+
total++;
|
|
1032
|
+
const rawVal = getEventPropertyValue(row?.event_data, key);
|
|
1033
|
+
const strVal = rawVal === null || rawVal === undefined ? '' : String(rawVal);
|
|
1034
|
+
counts.set(strVal, (counts.get(strVal) || 0) + 1);
|
|
1035
|
+
if (matchesInterest(rawVal, op === 'contains' ? 'contains' : op, expected))
|
|
1036
|
+
match++;
|
|
1037
|
+
}
|
|
1038
|
+
if (occType === 'at_least') {
|
|
1039
|
+
return match > 0 && match / total >= threshold;
|
|
1040
|
+
}
|
|
1041
|
+
let maxOther = 0;
|
|
1042
|
+
counts.forEach((cnt, valStr) => {
|
|
1043
|
+
if (!matchesInterest(valStr, op, expected)) {
|
|
1044
|
+
if (cnt > maxOther)
|
|
1045
|
+
maxOther = cnt;
|
|
1046
|
+
}
|
|
1047
|
+
});
|
|
1048
|
+
return match > 0 && match >= maxOther;
|
|
1049
|
+
}
|
|
818
1050
|
if (rule.frequency && rule.frequency.value != null) {
|
|
819
1051
|
const { op, value, type = 'count', field = 'value' } = rule.frequency;
|
|
820
1052
|
let aggregatedValue = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V2AudienceEngine.js","sourceRoot":"","sources":["../../src/engine/V2AudienceEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"V2AudienceEngine.js","sourceRoot":"","sources":["../../src/engine/V2AudienceEngine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,112 @@ type Logger = {
|
|
|
7
7
|
error: (...args: any[]) => void
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
const getByPath = (obj: any, dottedPath: string): any => {
|
|
11
|
+
if (!obj || !dottedPath) return undefined
|
|
12
|
+
const parts = dottedPath.split('.').filter(Boolean)
|
|
13
|
+
let cur: any = obj
|
|
14
|
+
for (const p of parts) {
|
|
15
|
+
if (cur == null) return undefined
|
|
16
|
+
cur = cur[p]
|
|
17
|
+
}
|
|
18
|
+
return cur
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const getEventPropertyValue = (eventData: any, keyRaw: any): any => {
|
|
22
|
+
const key = String(keyRaw || '').trim()
|
|
23
|
+
if (!key) return undefined
|
|
24
|
+
const ed = eventData || {}
|
|
25
|
+
|
|
26
|
+
if (key.startsWith('event_data.')) return getByPath(ed, key.replace(/^event_data\./, ''))
|
|
27
|
+
if (key.startsWith('custom_data.')) return getByPath(ed?.custom_data, key.replace(/^custom_data\./, ''))
|
|
28
|
+
if (key.startsWith('utm_data.')) return getByPath(ed?.utm_data, key.replace(/^utm_data\./, ''))
|
|
29
|
+
if (key.startsWith('url_data.')) return getByPath(ed?.url_data, key.replace(/^url_data\./, ''))
|
|
30
|
+
if (key.startsWith('session_data.')) return getByPath(ed?.session_data, key.replace(/^session_data\./, ''))
|
|
31
|
+
|
|
32
|
+
// fallback: tentar direto e depois dentro de custom_data
|
|
33
|
+
return getByPath(ed, key) ?? getByPath(ed?.custom_data, key)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const matchesInterest = (raw: any, op: string, expected: any): boolean => {
|
|
37
|
+
if (raw === null || raw === undefined) return false
|
|
38
|
+
const a = String(raw).trim()
|
|
39
|
+
const b = String(expected ?? '').trim()
|
|
40
|
+
if (!b) return false
|
|
41
|
+
const nOp = String(op || 'equals').trim()
|
|
42
|
+
if (nOp === 'equals') return a === b
|
|
43
|
+
if (nOp === 'contains') return a.toLowerCase().includes(b.toLowerCase())
|
|
44
|
+
if (nOp === 'starts_with') return a.toLowerCase().startsWith(b.toLowerCase())
|
|
45
|
+
if (nOp === 'ends_with') return a.toLowerCase().endsWith(b.toLowerCase())
|
|
46
|
+
if (nOp === 'not_equals') return a !== b
|
|
47
|
+
return a.toLowerCase().includes(b.toLowerCase())
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const normalizeEventPropertyOp = (opRaw: any): string => {
|
|
51
|
+
const op = String(opRaw ?? '').trim()
|
|
52
|
+
if (op === '=' || op === '==' || op === 'eq' || op === 'equals') return 'equals'
|
|
53
|
+
if (op === '!=' || op === '<>' || op === 'neq' || op === 'not_equals') return 'not_equals'
|
|
54
|
+
if (op === 'contains') return 'contains'
|
|
55
|
+
if (op === 'not_contains') return 'not_contains'
|
|
56
|
+
if (op === 'starts_with') return 'starts_with'
|
|
57
|
+
if (op === 'ends_with') return 'ends_with'
|
|
58
|
+
if (op === 'is_empty') return 'is_empty'
|
|
59
|
+
if (op === 'is_not_empty') return 'is_not_empty'
|
|
60
|
+
if (op === '>' || op === 'gt') return 'gt'
|
|
61
|
+
if (op === '>=' || op === 'gte') return 'gte'
|
|
62
|
+
if (op === '<' || op === 'lt') return 'lt'
|
|
63
|
+
if (op === '<=' || op === 'lte') return 'lte'
|
|
64
|
+
return op
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const matchesEventPropertyFilter = (raw: any, opRaw: any, expected: any): boolean => {
|
|
68
|
+
const op = normalizeEventPropertyOp(opRaw)
|
|
69
|
+
|
|
70
|
+
if (op === 'is_empty') {
|
|
71
|
+
return raw === null || raw === undefined || String(raw).trim() === ''
|
|
72
|
+
}
|
|
73
|
+
if (op === 'is_not_empty') {
|
|
74
|
+
return raw !== null && raw !== undefined && String(raw).trim() !== ''
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (raw === null || raw === undefined) return false
|
|
78
|
+
const a = String(raw)
|
|
79
|
+
const b = String(expected ?? '')
|
|
80
|
+
|
|
81
|
+
if (op === 'equals') return a === b
|
|
82
|
+
if (op === 'not_equals') return a !== b
|
|
83
|
+
if (op === 'contains') return a.toLowerCase().includes(b.toLowerCase())
|
|
84
|
+
if (op === 'not_contains') return !a.toLowerCase().includes(b.toLowerCase())
|
|
85
|
+
if (op === 'starts_with') return a.toLowerCase().startsWith(b.toLowerCase())
|
|
86
|
+
if (op === 'ends_with') return a.toLowerCase().endsWith(b.toLowerCase())
|
|
87
|
+
|
|
88
|
+
if (op === 'gt' || op === 'gte' || op === 'lt' || op === 'lte') {
|
|
89
|
+
const aNum = Number(raw)
|
|
90
|
+
const bNum = Number(expected)
|
|
91
|
+
if (!Number.isFinite(aNum) || !Number.isFinite(bNum)) return false
|
|
92
|
+
if (op === 'gt') return aNum > bNum
|
|
93
|
+
if (op === 'gte') return aNum >= bNum
|
|
94
|
+
if (op === 'lt') return aNum < bNum
|
|
95
|
+
return aNum <= bNum
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return false
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const applyEventRuleFilters = (rows: any[], filters: any[]): any[] => {
|
|
102
|
+
let out = rows
|
|
103
|
+
for (const f of filters) {
|
|
104
|
+
const type = String(f?.type || '').trim()
|
|
105
|
+
if (type === 'event_property') {
|
|
106
|
+
const key = String(f?.key || '').trim()
|
|
107
|
+
if (!key) continue
|
|
108
|
+
const op = f?.op
|
|
109
|
+
const value = f?.value
|
|
110
|
+
out = out.filter((row) => matchesEventPropertyFilter(getEventPropertyValue(row?.event_data, key), op, value))
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return out
|
|
114
|
+
}
|
|
115
|
+
|
|
10
116
|
/**
|
|
11
117
|
* Engine V2 (groups/rules) portado do reachy-api para o audience-module.
|
|
12
118
|
*
|
|
@@ -206,8 +312,15 @@ export class V2AudienceEngine {
|
|
|
206
312
|
}
|
|
207
313
|
|
|
208
314
|
// Event attributes: attributes: [{ key, op, value }]
|
|
315
|
+
const interest = (rule as any)?.interest
|
|
209
316
|
try {
|
|
210
|
-
|
|
317
|
+
let attributes = Array.isArray(rule.attributes) ? rule.attributes : (rule.attributes ? [rule.attributes] : [])
|
|
318
|
+
// Se houver "interest", não podemos pré-filtrar o dataset pelo atributo do interesse,
|
|
319
|
+
// senão o cálculo de % sempre vira 100% (porque só sobram eventos que já casam).
|
|
320
|
+
const interestKey = interest?.key ? String(interest.key).trim() : ''
|
|
321
|
+
if (interestKey) {
|
|
322
|
+
attributes = attributes.filter((a: any) => String(a?.key || '').trim() !== interestKey)
|
|
323
|
+
}
|
|
211
324
|
|
|
212
325
|
const trackerEvents = new Set([
|
|
213
326
|
'click',
|
|
@@ -290,12 +403,80 @@ export class V2AudienceEngine {
|
|
|
290
403
|
const { data, error } = await query
|
|
291
404
|
if (error) return new Set<string>()
|
|
292
405
|
|
|
406
|
+
// Event advanced filters (ex.: event_property dentro do DID)
|
|
407
|
+
let rows = (data || []) as any[]
|
|
408
|
+
const ruleFilters = Array.isArray((rule as any).filters) ? (rule as any).filters : []
|
|
409
|
+
if (ruleFilters.length > 0) {
|
|
410
|
+
rows = applyEventRuleFilters(rows, ruleFilters)
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
// User Interests: predominantly / at least X% of the time
|
|
414
|
+
// rule.interest?: { key, op, value, occurrenceType, occurrencePercentage }
|
|
415
|
+
if (interest && interest.key) {
|
|
416
|
+
const key = String(interest.key || '').trim()
|
|
417
|
+
const op = String(interest.op || 'equals').trim()
|
|
418
|
+
const expected = interest.value
|
|
419
|
+
const occType = String(interest.occurrenceType || 'predominantly').trim()
|
|
420
|
+
const pct = Number(interest.occurrencePercentage ?? 0)
|
|
421
|
+
const threshold = Number.isFinite(pct) ? Math.max(0, Math.min(100, pct)) / 100 : 0
|
|
422
|
+
|
|
423
|
+
// total events por contato dentro da janela (já filtrada por time/event_name)
|
|
424
|
+
const totals = new Map<string, number>()
|
|
425
|
+
// matches (para at_least) e counts por valor (para predominantly)
|
|
426
|
+
const matchCounts = new Map<string, number>()
|
|
427
|
+
const valueCounts = new Map<string, Map<string, number>>()
|
|
428
|
+
|
|
429
|
+
for (const row of rows) {
|
|
430
|
+
const id = resolveEventContactId(row)
|
|
431
|
+
if (!id) continue
|
|
432
|
+
totals.set(id, (totals.get(id) || 0) + 1)
|
|
433
|
+
|
|
434
|
+
const rawVal = getEventPropertyValue(row?.event_data, key)
|
|
435
|
+
const strVal = rawVal === null || rawVal === undefined ? '' : String(rawVal)
|
|
436
|
+
|
|
437
|
+
// para predominantemente: contar por valor bruto
|
|
438
|
+
if (!valueCounts.has(id)) valueCounts.set(id, new Map<string, number>())
|
|
439
|
+
const per = valueCounts.get(id)!
|
|
440
|
+
per.set(strVal, (per.get(strVal) || 0) + 1)
|
|
441
|
+
|
|
442
|
+
if (matchesInterest(rawVal, op === 'contains' ? 'contains' : op, expected)) {
|
|
443
|
+
matchCounts.set(id, (matchCounts.get(id) || 0) + 1)
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
const res = new Set<string>()
|
|
448
|
+
totals.forEach((total, id) => {
|
|
449
|
+
if (total <= 0) return
|
|
450
|
+
|
|
451
|
+
const match = matchCounts.get(id) || 0
|
|
452
|
+
if (occType === 'at_least') {
|
|
453
|
+
if (match > 0 && match / total >= threshold) res.add(id)
|
|
454
|
+
return
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
// predominantly
|
|
458
|
+
const per = valueCounts.get(id)
|
|
459
|
+
if (!per) return
|
|
460
|
+
let maxOther = 0
|
|
461
|
+
// "predominantly": o grupo que casa o operador/valor deve ser >= qualquer outro valor individual.
|
|
462
|
+
per.forEach((cnt, valStr) => {
|
|
463
|
+
if (!matchesInterest(valStr, op, expected)) {
|
|
464
|
+
if (cnt > maxOther) maxOther = cnt
|
|
465
|
+
}
|
|
466
|
+
})
|
|
467
|
+
|
|
468
|
+
if (match > 0 && match >= maxOther) res.add(id)
|
|
469
|
+
})
|
|
470
|
+
|
|
471
|
+
return res
|
|
472
|
+
}
|
|
473
|
+
|
|
293
474
|
// Frequência / agregação
|
|
294
475
|
if (rule.frequency && rule.frequency.value != null) {
|
|
295
476
|
const { op, value, type = 'count', field = 'value' } = rule.frequency
|
|
296
477
|
const counts = new Map<string, number>()
|
|
297
478
|
|
|
298
|
-
for (const row of
|
|
479
|
+
for (const row of rows) {
|
|
299
480
|
const id = resolveEventContactId(row)
|
|
300
481
|
if (!id) continue
|
|
301
482
|
|
|
@@ -319,7 +500,7 @@ export class V2AudienceEngine {
|
|
|
319
500
|
let finalValue = aggregatedValue
|
|
320
501
|
if (type === 'avg') {
|
|
321
502
|
let eventCount = 0
|
|
322
|
-
for (const row of
|
|
503
|
+
for (const row of rows) {
|
|
323
504
|
const rid = resolveEventContactId(row)
|
|
324
505
|
if (rid === id) eventCount++
|
|
325
506
|
}
|
|
@@ -344,7 +525,7 @@ export class V2AudienceEngine {
|
|
|
344
525
|
if (typeId === 'live-page-count' && cfg && cfg.pageCount != null) {
|
|
345
526
|
const threshold = Number(cfg.pageCount)
|
|
346
527
|
const counts = new Map<string, number>()
|
|
347
|
-
for (const row of
|
|
528
|
+
for (const row of rows) {
|
|
348
529
|
const id = resolveEventContactId(row)
|
|
349
530
|
if (!id) continue
|
|
350
531
|
counts.set(id, (counts.get(id) || 0) + 1)
|
|
@@ -355,7 +536,7 @@ export class V2AudienceEngine {
|
|
|
355
536
|
}
|
|
356
537
|
|
|
357
538
|
const res = new Set<string>()
|
|
358
|
-
for (const row of
|
|
539
|
+
for (const row of rows) {
|
|
359
540
|
const id = resolveEventContactId(row)
|
|
360
541
|
if (id) res.add(id)
|
|
361
542
|
}
|
|
@@ -737,8 +918,13 @@ export class V2AudienceEngine {
|
|
|
737
918
|
}
|
|
738
919
|
|
|
739
920
|
// Event attributes
|
|
921
|
+
const interest = (rule as any)?.interest
|
|
740
922
|
try {
|
|
741
|
-
|
|
923
|
+
let attributes = Array.isArray(rule.attributes) ? rule.attributes : (rule.attributes ? [rule.attributes] : [])
|
|
924
|
+
const interestKey = interest?.key ? String(interest.key).trim() : ''
|
|
925
|
+
if (interestKey) {
|
|
926
|
+
attributes = attributes.filter((a: any) => String(a?.key || '').trim() !== interestKey)
|
|
927
|
+
}
|
|
742
928
|
const resolveDbFieldForAttrKey = (keyRaw: string) => {
|
|
743
929
|
const key = String(keyRaw || '').trim()
|
|
744
930
|
if (!key) return null
|
|
@@ -801,8 +987,51 @@ export class V2AudienceEngine {
|
|
|
801
987
|
const { data, error } = await query
|
|
802
988
|
if (error) return false
|
|
803
989
|
|
|
990
|
+
// Event advanced filters (ex.: event_property dentro do DID)
|
|
991
|
+
let rows = (data || []) as any[]
|
|
992
|
+
const ruleFilters = Array.isArray((rule as any).filters) ? (rule as any).filters : []
|
|
993
|
+
if (ruleFilters.length > 0) {
|
|
994
|
+
rows = applyEventRuleFilters(rows, ruleFilters)
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
// User Interests: predominantly / at least X% of the time (para 1 contato)
|
|
998
|
+
if (interest && interest.key) {
|
|
999
|
+
const key = String(interest.key || '').trim()
|
|
1000
|
+
const op = String(interest.op || 'equals').trim()
|
|
1001
|
+
const expected = interest.value
|
|
1002
|
+
const occType = String(interest.occurrenceType || 'predominantly').trim()
|
|
1003
|
+
const pct = Number(interest.occurrencePercentage ?? 0)
|
|
1004
|
+
const threshold = Number.isFinite(pct) ? Math.max(0, Math.min(100, pct)) / 100 : 0
|
|
1005
|
+
|
|
1006
|
+
if (rows.length === 0) return false
|
|
1007
|
+
|
|
1008
|
+
let total = 0
|
|
1009
|
+
let match = 0
|
|
1010
|
+
const counts = new Map<string, number>()
|
|
1011
|
+
|
|
1012
|
+
for (const row of rows) {
|
|
1013
|
+
total++
|
|
1014
|
+
const rawVal = getEventPropertyValue(row?.event_data, key)
|
|
1015
|
+
const strVal = rawVal === null || rawVal === undefined ? '' : String(rawVal)
|
|
1016
|
+
counts.set(strVal, (counts.get(strVal) || 0) + 1)
|
|
1017
|
+
if (matchesInterest(rawVal, op === 'contains' ? 'contains' : op, expected)) match++
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
if (occType === 'at_least') {
|
|
1021
|
+
return match > 0 && match / total >= threshold
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
let maxOther = 0
|
|
1025
|
+
counts.forEach((cnt, valStr) => {
|
|
1026
|
+
if (!matchesInterest(valStr, op, expected)) {
|
|
1027
|
+
if (cnt > maxOther) maxOther = cnt
|
|
1028
|
+
}
|
|
1029
|
+
})
|
|
1030
|
+
|
|
1031
|
+
return match > 0 && match >= maxOther
|
|
1032
|
+
}
|
|
1033
|
+
|
|
804
1034
|
// Frequência / agregação (para 1 contato)
|
|
805
|
-
const rows = data || []
|
|
806
1035
|
if (rule.frequency && rule.frequency.value != null) {
|
|
807
1036
|
const { op, value, type = 'count', field = 'value' } = rule.frequency
|
|
808
1037
|
let aggregatedValue = 0
|