cdp-edge 1.23.1 → 1.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/cdp-edge.js +1 -1
- package/contracts/agent-versions.json +26 -26
- package/dist/commands/install.js +1 -1
- package/package.json +1 -1
- package/server-edge-tracker/index.js +0 -3
- package/server-edge-tracker/worker.js +0 -19
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Padrão Quantum Tracking: 100% Cloudflare Edge.** Sem GTM. Sem Stape. Sem cookies de terceiros.
|
|
4
4
|
|
|
5
|
-
> **v2.0.
|
|
5
|
+
> **v2.0.7** — Enterprise-Level Intelligence Engine · Cloudflare Workers · Meta CAPI v22.0 · GA4 MP · TikTok Events API v1.3
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -25,7 +25,7 @@ Meu ecossistema opera como um Cérebro de Conversão Privado na borda. Quando um
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
## 📋 CHANGELOG v2.0.
|
|
28
|
+
## 📋 CHANGELOG v2.0.7 (10 de Abril de 2026)
|
|
29
29
|
|
|
30
30
|
### 🔧 Audit Completo — 45 Agentes
|
|
31
31
|
|
package/bin/cdp-edge.js
CHANGED
|
@@ -18,7 +18,7 @@ const program = new Command();
|
|
|
18
18
|
program
|
|
19
19
|
.name('cdp-edge')
|
|
20
20
|
.description('CDP Edge Quantum Tier - Sistema multi-agente para tracking digital Cloudflare Native')
|
|
21
|
-
.version('2.0.
|
|
21
|
+
.version('2.0.7');
|
|
22
22
|
|
|
23
23
|
// Comando padrão (wizard interativo)
|
|
24
24
|
program
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "Fonte de verdade para versões dos agent files. Atualizar manualmente quando worker.js mudar. Use scripts/validate-agents.js para detectar drifts.",
|
|
3
|
-
"worker_version": "2.0.
|
|
3
|
+
"worker_version": "2.0.7",
|
|
4
4
|
"worker_hash_date": "2026-04-10",
|
|
5
5
|
"agents": {
|
|
6
6
|
"master-orchestrator": {
|
|
7
|
-
"version": "2.0.
|
|
7
|
+
"version": "2.0.7",
|
|
8
8
|
"last_synced": "2026-04-10",
|
|
9
9
|
"depends_on": [
|
|
10
10
|
"worker.js:fetch",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"status": "synced"
|
|
21
21
|
},
|
|
22
22
|
"server-tracking": {
|
|
23
|
-
"version": "2.0.
|
|
23
|
+
"version": "2.0.7",
|
|
24
24
|
"last_synced": "2026-04-10",
|
|
25
25
|
"depends_on": [
|
|
26
26
|
"worker.js:fetch",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"status": "synced"
|
|
38
38
|
},
|
|
39
39
|
"meta-agent": {
|
|
40
|
-
"version": "2.0.
|
|
40
|
+
"version": "2.0.7",
|
|
41
41
|
"last_synced": "2026-04-10",
|
|
42
42
|
"depends_on": [
|
|
43
43
|
"worker.js:sendMetaCapi",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"status": "synced"
|
|
52
52
|
},
|
|
53
53
|
"google-agent": {
|
|
54
|
-
"version": "2.0.
|
|
54
|
+
"version": "2.0.7",
|
|
55
55
|
"last_synced": "2026-04-10",
|
|
56
56
|
"depends_on": [
|
|
57
57
|
"worker.js:sendGA4Mp",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"status": "synced"
|
|
65
65
|
},
|
|
66
66
|
"tiktok-agent": {
|
|
67
|
-
"version": "2.0.
|
|
67
|
+
"version": "2.0.7",
|
|
68
68
|
"last_synced": "2026-04-10",
|
|
69
69
|
"depends_on": [
|
|
70
70
|
"worker.js:sendTikTokApi",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"status": "synced"
|
|
79
79
|
},
|
|
80
80
|
"youtube-agent": {
|
|
81
|
-
"version": "2.0.
|
|
81
|
+
"version": "2.0.7",
|
|
82
82
|
"last_synced": "2026-04-10",
|
|
83
83
|
"depends_on": [
|
|
84
84
|
"contracts/api-versions.json:youtube"
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"status": "synced"
|
|
91
91
|
},
|
|
92
92
|
"whatsapp-ctwa-setup-agent": {
|
|
93
|
-
"version": "2.0.
|
|
93
|
+
"version": "2.0.7",
|
|
94
94
|
"last_synced": "2026-04-10",
|
|
95
95
|
"depends_on": [
|
|
96
96
|
"worker.js:sendWhatsApp",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"status": "synced"
|
|
105
105
|
},
|
|
106
106
|
"intelligence-agent": {
|
|
107
|
-
"version": "2.0.
|
|
107
|
+
"version": "2.0.7",
|
|
108
108
|
"last_synced": "2026-04-10",
|
|
109
109
|
"depends_on": [
|
|
110
110
|
"worker.js:runIntelligenceAgent",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"status": "synced"
|
|
119
119
|
},
|
|
120
120
|
"fraud-detection-agent": {
|
|
121
|
-
"version": "2.0.
|
|
121
|
+
"version": "2.0.7",
|
|
122
122
|
"last_synced": "2026-04-10",
|
|
123
123
|
"depends_on": [
|
|
124
124
|
"worker.js:checkFraudGate",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"status": "synced"
|
|
134
134
|
},
|
|
135
135
|
"ml-clustering-agent": {
|
|
136
|
-
"version": "2.0.
|
|
136
|
+
"version": "2.0.7",
|
|
137
137
|
"last_synced": "2026-04-10",
|
|
138
138
|
"depends_on": [
|
|
139
139
|
"worker.js:handleSegmentationCluster",
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
"status": "synced"
|
|
148
148
|
},
|
|
149
149
|
"bidding-agent": {
|
|
150
|
-
"version": "2.0.
|
|
150
|
+
"version": "2.0.7",
|
|
151
151
|
"last_synced": "2026-04-10",
|
|
152
152
|
"depends_on": [
|
|
153
153
|
"worker.js:handleBiddingRecommend",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"status": "synced"
|
|
161
161
|
},
|
|
162
162
|
"ab-ltv-agent": {
|
|
163
|
-
"version": "2.0.
|
|
163
|
+
"version": "2.0.7",
|
|
164
164
|
"last_synced": "2026-04-10",
|
|
165
165
|
"depends_on": [
|
|
166
166
|
"worker.js:predictLtv",
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
"status": "synced"
|
|
175
175
|
},
|
|
176
176
|
"security-enterprise-agent": {
|
|
177
|
-
"version": "2.0.
|
|
177
|
+
"version": "2.0.7",
|
|
178
178
|
"last_synced": "2026-04-10",
|
|
179
179
|
"depends_on": [
|
|
180
180
|
"worker.js:checkFraudGate",
|
|
@@ -188,7 +188,7 @@
|
|
|
188
188
|
"status": "synced"
|
|
189
189
|
},
|
|
190
190
|
"attribution-agent": {
|
|
191
|
-
"version": "2.0.
|
|
191
|
+
"version": "2.0.7",
|
|
192
192
|
"last_synced": "2026-04-10",
|
|
193
193
|
"depends_on": [
|
|
194
194
|
"worker.js:saveLead",
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
"status": "synced"
|
|
204
204
|
},
|
|
205
205
|
"devops-agent": {
|
|
206
|
-
"version": "2.0.
|
|
206
|
+
"version": "2.0.7",
|
|
207
207
|
"last_synced": "2026-04-10",
|
|
208
208
|
"depends_on": [
|
|
209
209
|
"wrangler.toml",
|
|
@@ -222,7 +222,7 @@
|
|
|
222
222
|
"status": "synced"
|
|
223
223
|
},
|
|
224
224
|
"validator-agent": {
|
|
225
|
-
"version": "2.0.
|
|
225
|
+
"version": "2.0.7",
|
|
226
226
|
"last_synced": "2026-04-10",
|
|
227
227
|
"depends_on": [
|
|
228
228
|
"worker.js",
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
"status": "synced"
|
|
237
237
|
},
|
|
238
238
|
"ltv-predictor-agent": {
|
|
239
|
-
"version": "2.0.
|
|
239
|
+
"version": "2.0.7",
|
|
240
240
|
"last_synced": "2026-04-10",
|
|
241
241
|
"depends_on": [
|
|
242
242
|
"worker.js:predictLtv"
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
"status": "synced"
|
|
248
248
|
},
|
|
249
249
|
"database-agent": {
|
|
250
|
-
"version": "2.0.
|
|
250
|
+
"version": "2.0.7",
|
|
251
251
|
"last_synced": "2026-04-10",
|
|
252
252
|
"depends_on": [
|
|
253
253
|
"schema.sql",
|
|
@@ -265,7 +265,7 @@
|
|
|
265
265
|
"status": "synced"
|
|
266
266
|
},
|
|
267
267
|
"performance-agent": {
|
|
268
|
-
"version": "2.0.
|
|
268
|
+
"version": "2.0.7",
|
|
269
269
|
"last_synced": "2026-04-10",
|
|
270
270
|
"depends_on": [
|
|
271
271
|
"worker.js:getHealthMetrics"
|
|
@@ -277,7 +277,7 @@
|
|
|
277
277
|
"status": "synced"
|
|
278
278
|
},
|
|
279
279
|
"dashboard-agent": {
|
|
280
|
-
"version": "2.0.
|
|
280
|
+
"version": "2.0.7",
|
|
281
281
|
"last_synced": "2026-04-10",
|
|
282
282
|
"depends_on": [
|
|
283
283
|
"worker.js:generateDailyReport"
|
|
@@ -289,7 +289,7 @@
|
|
|
289
289
|
"status": "synced"
|
|
290
290
|
},
|
|
291
291
|
"browser-tracking": {
|
|
292
|
-
"version": "2.0.
|
|
292
|
+
"version": "2.0.7",
|
|
293
293
|
"last_synced": "2026-04-10",
|
|
294
294
|
"depends_on": [
|
|
295
295
|
"extracted-skill/tracking-events-generator/cdpTrack.js"
|
|
@@ -302,7 +302,7 @@
|
|
|
302
302
|
"status": "synced"
|
|
303
303
|
},
|
|
304
304
|
"debug-agent": {
|
|
305
|
-
"version": "2.0.
|
|
305
|
+
"version": "2.0.7",
|
|
306
306
|
"last_synced": "2026-04-10",
|
|
307
307
|
"depends_on": [
|
|
308
308
|
"worker.js",
|
|
@@ -316,7 +316,7 @@
|
|
|
316
316
|
"status": "synced"
|
|
317
317
|
},
|
|
318
318
|
"crm-integration-agent": {
|
|
319
|
-
"version": "2.0.
|
|
319
|
+
"version": "2.0.7",
|
|
320
320
|
"last_synced": "2026-04-10",
|
|
321
321
|
"depends_on": [
|
|
322
322
|
"worker.js:saveLead",
|
|
@@ -329,7 +329,7 @@
|
|
|
329
329
|
"status": "synced"
|
|
330
330
|
},
|
|
331
331
|
"performance-optimization-agent": {
|
|
332
|
-
"version": "2.0.
|
|
332
|
+
"version": "2.0.7",
|
|
333
333
|
"last_synced": "2026-04-10",
|
|
334
334
|
"depends_on": [
|
|
335
335
|
"worker.js"
|
|
@@ -340,7 +340,7 @@
|
|
|
340
340
|
"status": "synced"
|
|
341
341
|
},
|
|
342
342
|
"master-feedback-loop": {
|
|
343
|
-
"version": "2.0.
|
|
343
|
+
"version": "2.0.7",
|
|
344
344
|
"last_synced": "2026-04-10",
|
|
345
345
|
"depends_on": [
|
|
346
346
|
"all agents"
|
package/dist/commands/install.js
CHANGED
|
@@ -32,7 +32,7 @@ function printBanner() {
|
|
|
32
32
|
console.log(chalk.cyan('╚██████╗██████╔╝██║ ███████╗██████╔╝╚██████╔╝███████╗'));
|
|
33
33
|
console.log(chalk.cyan(' ╚═════╝╚═════╝ ╚═╝ ╚══════╝╚═════╝ ╚═════╝╚══════╝'));
|
|
34
34
|
console.log('');
|
|
35
|
-
console.log(chalk.gray(' Customer Data Platform on the Edge · Global Edge Tracking · v2.0.
|
|
35
|
+
console.log(chalk.gray(' Customer Data Platform on the Edge · Global Edge Tracking · v2.0.7'));
|
|
36
36
|
console.log('');
|
|
37
37
|
console.log(chalk.gray('═'.repeat(68)));
|
|
38
38
|
console.log('');
|
package/package.json
CHANGED
|
@@ -296,7 +296,6 @@ export default {
|
|
|
296
296
|
payload.utmContent = payload.utmContent || recovered.utm_content;
|
|
297
297
|
payload.utmTerm = payload.utmTerm || recovered.utm_term;
|
|
298
298
|
payload.utmRestored = true;
|
|
299
|
-
console.log(`[UTM Resurrection] Recovered: ${recovered.utm_source}/${recovered.utm_medium}/${recovered.utm_campaign}`);
|
|
300
299
|
}
|
|
301
300
|
}
|
|
302
301
|
}
|
|
@@ -765,7 +764,6 @@ export default {
|
|
|
765
764
|
const cron = event.cron;
|
|
766
765
|
const isMonthly = cron === '0 3 1 * *';
|
|
767
766
|
|
|
768
|
-
console.log(`[Intelligence Agent] Cron executado: ${cron}`);
|
|
769
767
|
ctx.waitUntil(runIntelligenceAgent(env, isMonthly ? 'monthly_audit' : 'weekly_check'));
|
|
770
768
|
},
|
|
771
769
|
|
|
@@ -774,7 +772,6 @@ export default {
|
|
|
774
772
|
for (const message of batch.messages) {
|
|
775
773
|
const { eventType, payload, platform, attempt = 1 } = message.body;
|
|
776
774
|
|
|
777
|
-
console.log(`[Queue] Reprocessando: ${platform}/${eventType} (tentativa ${attempt})`);
|
|
778
775
|
|
|
779
776
|
try {
|
|
780
777
|
if (platform === 'meta') await sendMetaCapi(env, eventType, payload, null, null);
|
|
@@ -682,7 +682,6 @@ async function resolveDeviceGraph(DB, currentUserId, email, phone) {
|
|
|
682
682
|
VALUES (?, ?, ?, ?)
|
|
683
683
|
`).bind(primary, secondary, matchType, matchConfidence).run();
|
|
684
684
|
|
|
685
|
-
console.log(`[DeviceGraph] Linked ${secondary} → ${primary} via ${matchType} (confidence: ${matchConfidence})`);
|
|
686
685
|
}
|
|
687
686
|
} catch (err) {
|
|
688
687
|
console.error('resolveDeviceGraph error:', err.message);
|
|
@@ -2163,14 +2162,12 @@ async function _trainLtvModel(env) {
|
|
|
2163
2162
|
const model = _trainLogisticRegression(dataset);
|
|
2164
2163
|
|
|
2165
2164
|
if (!model) {
|
|
2166
|
-
console.log('[LTV Train] Dados insuficientes');
|
|
2167
2165
|
return { skipped: 'dados insuficientes', samples: dataset.length };
|
|
2168
2166
|
}
|
|
2169
2167
|
|
|
2170
2168
|
await _saveWeights(env.DB, model);
|
|
2171
2169
|
if (env.GEO_CACHE) env.GEO_CACHE.delete(_LTV_WEIGHTS_KV_KEY).catch(() => {});
|
|
2172
2170
|
|
|
2173
|
-
console.log(`[LTV Train] Modelo treinado: ${dataset.length} samples, accuracy=${(model.accuracy * 100).toFixed(1)}%`);
|
|
2174
2171
|
return { trained: true, samples: dataset.length, accuracy: model.accuracy, positiveRate: model.positiveRate };
|
|
2175
2172
|
} catch (err) {
|
|
2176
2173
|
console.error('[LTV Train] Erro:', err.message);
|
|
@@ -2225,16 +2222,13 @@ async function _autoDecideAbWinner(env) {
|
|
|
2225
2222
|
|
|
2226
2223
|
// ── Runner principal do Intelligence Agent ────────────────────────────────────
|
|
2227
2224
|
async function runIntelligenceAgent(env, runType) {
|
|
2228
|
-
console.log(`[Intelligence Agent] Iniciando ${runType}`);
|
|
2229
2225
|
|
|
2230
2226
|
// 1. Check de versões (sempre)
|
|
2231
2227
|
const versionResults = await checkApiVersionsIntelligence(env, runType);
|
|
2232
|
-
console.log(`[Intelligence Agent] Versões verificadas: ${versionResults.length} plataformas`);
|
|
2233
2228
|
|
|
2234
2229
|
// 2. Relatório diário de saúde (sempre)
|
|
2235
2230
|
if (env.DB) {
|
|
2236
2231
|
const reports = await generateDailyReport(env.DB);
|
|
2237
|
-
console.log(`[Intelligence Agent] Relatórios gerados: ${reports.length}`);
|
|
2238
2232
|
}
|
|
2239
2233
|
|
|
2240
2234
|
// 3. Auditoria de taxas de erro (sempre)
|
|
@@ -2246,7 +2240,6 @@ async function runIntelligenceAgent(env, runType) {
|
|
|
2246
2240
|
// 4. Treinar modelo LTV com dados reais do D1 (toda semana)
|
|
2247
2241
|
const ltvTrainResult = await _trainLtvModel(env);
|
|
2248
2242
|
if (ltvTrainResult.trained) {
|
|
2249
|
-
console.log(`[Intelligence Agent] LTV model treinado: accuracy=${(ltvTrainResult.accuracy * 100).toFixed(1)}%`);
|
|
2250
2243
|
if (env.DB) {
|
|
2251
2244
|
logIntelligence(env.DB, runType, 'ltv', 'model_training', 'ok',
|
|
2252
2245
|
`accuracy=${(ltvTrainResult.accuracy * 100).toFixed(1)}%`, null,
|
|
@@ -2259,7 +2252,6 @@ async function runIntelligenceAgent(env, runType) {
|
|
|
2259
2252
|
try {
|
|
2260
2253
|
const abResult = await _autoDecideAbWinner(env);
|
|
2261
2254
|
if (abResult?.decided) {
|
|
2262
|
-
console.log(`[Intelligence Agent] A/B winner declarado: ${abResult.winner_name}, +${abResult.improvement?.toFixed(1)}pp`);
|
|
2263
2255
|
await sendIntelligenceAlert(env, 'info',
|
|
2264
2256
|
`A/B LTV Test — Winner Declarado`,
|
|
2265
2257
|
`🏆 Vencedor: ${abResult.winner_name}\n📈 Melhoria: +${abResult.improvement?.toFixed(1) ?? '?'}pp vs controle\n🆔 Test ID: ${abResult.test_id}\n\n✅ Prompt vencedor ativado automaticamente`
|
|
@@ -2273,7 +2265,6 @@ async function runIntelligenceAgent(env, runType) {
|
|
|
2273
2265
|
try {
|
|
2274
2266
|
const mqAnalysis = await _analyzeMatchQuality(env);
|
|
2275
2267
|
if (mqAnalysis) {
|
|
2276
|
-
console.log(`[Intelligence Agent] Match Quality: score=${mqAnalysis.composite_score ?? 0}%, alerts=${mqAnalysis.alerts?.length ?? 0}`);
|
|
2277
2268
|
await _alertMatchQuality(env, mqAnalysis);
|
|
2278
2269
|
}
|
|
2279
2270
|
} catch (err) {
|
|
@@ -2295,22 +2286,18 @@ async function runIntelligenceAgent(env, runType) {
|
|
|
2295
2286
|
const summary = ltvStats.results?.map(r => `${r.predicted_ltv_class}: ${r.count}`).join(', ') || 'sem dados';
|
|
2296
2287
|
await logIntelligence(env.DB, runType, 'all', 'ltv_distribution', 'ok', summary, null,
|
|
2297
2288
|
`Distribuição LTV últimos 30 dias: ${summary}`);
|
|
2298
|
-
console.log(`[Intelligence Agent] LTV distribution: ${summary}`);
|
|
2299
2289
|
} catch (err) {
|
|
2300
2290
|
console.error('LTV audit error:', err.message);
|
|
2301
2291
|
}
|
|
2302
2292
|
|
|
2303
2293
|
// Purge de logs antigos de match quality (> 30 dias)
|
|
2304
2294
|
await _purgeOldMatchQualityLogs(env.DB);
|
|
2305
|
-
console.log('[Intelligence Agent] Match quality logs antigos purgados');
|
|
2306
2295
|
}
|
|
2307
2296
|
}
|
|
2308
2297
|
|
|
2309
2298
|
// 8. Customer Match — sync semanal D1 → Meta Custom Audience
|
|
2310
2299
|
const cmResult = await syncMetaCustomAudience(env);
|
|
2311
|
-
console.log(`[Intelligence Agent] Customer Match Meta: sent=${cmResult?.sent ?? 0}, received=${cmResult?.num_received ?? 0}`);
|
|
2312
2300
|
|
|
2313
|
-
console.log(`[Intelligence Agent] ${runType} concluído — LTV model, A/B auto-decide, match quality, customer match`);
|
|
2314
2301
|
}
|
|
2315
2302
|
|
|
2316
2303
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -2329,7 +2316,6 @@ async function runIntelligenceAgent(env, runType) {
|
|
|
2329
2316
|
*/
|
|
2330
2317
|
async function syncMetaCustomAudience(env) {
|
|
2331
2318
|
if (!env.META_ACCESS_TOKEN || !env.META_AD_ACCOUNT_ID || !env.META_AUDIENCE_ID) {
|
|
2332
|
-
console.log('[CustomerMatch] Meta: secrets não configurados — pulando sync');
|
|
2333
2319
|
return { skipped: 'META_AD_ACCOUNT_ID ou META_AUDIENCE_ID não configurados' };
|
|
2334
2320
|
}
|
|
2335
2321
|
if (!env.DB) return { skipped: 'DB não disponível' };
|
|
@@ -2346,7 +2332,6 @@ async function syncMetaCustomAudience(env) {
|
|
|
2346
2332
|
`).all();
|
|
2347
2333
|
|
|
2348
2334
|
if (!profiles.results || profiles.results.length === 0) {
|
|
2349
|
-
console.log('[CustomerMatch] Meta: nenhum perfil elegível');
|
|
2350
2335
|
return { sent: 0 };
|
|
2351
2336
|
}
|
|
2352
2337
|
|
|
@@ -2381,7 +2366,6 @@ async function syncMetaCustomAudience(env) {
|
|
|
2381
2366
|
return { error: result.error?.message, sent: 0 };
|
|
2382
2367
|
}
|
|
2383
2368
|
|
|
2384
|
-
console.log(`[CustomerMatch] Meta: ${profiles.results.length} perfis sincronizados`);
|
|
2385
2369
|
return { sent: profiles.results.length, num_received: result.num_received };
|
|
2386
2370
|
|
|
2387
2371
|
} catch (err) {
|
|
@@ -4000,7 +3984,6 @@ export default {
|
|
|
4000
3984
|
payload.utmContent = payload.utmContent || recovered.utm_content;
|
|
4001
3985
|
payload.utmTerm = payload.utmTerm || recovered.utm_term;
|
|
4002
3986
|
payload.utmRestored = true;
|
|
4003
|
-
console.log(`[UTM Resurrection] Recovered: ${recovered.utm_source}/${recovered.utm_medium}/${recovered.utm_campaign}`);
|
|
4004
3987
|
}
|
|
4005
3988
|
}
|
|
4006
3989
|
}
|
|
@@ -4569,7 +4552,6 @@ export default {
|
|
|
4569
4552
|
const cron = event.cron; // '0 2 * * 0' ou '0 3 1 * *'
|
|
4570
4553
|
const isMonthly = cron === '0 3 1 * *';
|
|
4571
4554
|
|
|
4572
|
-
console.log(`[Intelligence Agent] Cron executado: ${cron}`);
|
|
4573
4555
|
|
|
4574
4556
|
ctx.waitUntil(runIntelligenceAgent(env, isMonthly ? 'monthly_audit' : 'weekly_check'));
|
|
4575
4557
|
},
|
|
@@ -4579,7 +4561,6 @@ export default {
|
|
|
4579
4561
|
for (const message of batch.messages) {
|
|
4580
4562
|
const { eventType, payload, platform, attempt = 1 } = message.body;
|
|
4581
4563
|
|
|
4582
|
-
console.log(`[Queue] Reprocessando: ${platform}/${eventType} (tentativa ${attempt})`);
|
|
4583
4564
|
|
|
4584
4565
|
try {
|
|
4585
4566
|
if (platform === 'meta') await sendMetaCapi(env, eventType, payload, null, null);
|