cdp-edge 1.2.0 → 1.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.
- package/README.md +153 -306
- package/bin/cdp-edge.js +71 -61
- package/contracts/agent-versions.json +682 -0
- package/contracts/api-versions.json +372 -368
- package/contracts/types.ts +81 -0
- package/dist/commands/analyze.js +52 -52
- package/dist/commands/infra.js +54 -54
- package/dist/commands/install.js +26 -3
- package/dist/commands/server.js +174 -174
- package/dist/commands/setup.js +332 -100
- package/dist/commands/validate.js +248 -84
- package/dist/index.js +12 -12
- package/dist/sdk/cdpTrack.js +2095 -0
- package/dist/sdk/cdpTrack.min.js +64 -0
- package/dist/sdk/install-snippet.html +10 -0
- package/docs/whatsapp-ctwa.md +5 -4
- package/extracted-skill/tracking-events-generator/INTEGRACAO-COMPLETA.md +89 -0
- package/extracted-skill/tracking-events-generator/MELHORIAS-IMPLEMENTADAS.md +101 -0
- package/extracted-skill/tracking-events-generator/advanced-matching.js +364 -364
- package/extracted-skill/tracking-events-generator/agents/ab-ltv-agent.md +196 -0
- package/extracted-skill/tracking-events-generator/agents/ab-testing-agent.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/attribution-agent.md +41 -41
- package/extracted-skill/tracking-events-generator/agents/bidding-agent.md +347 -0
- package/extracted-skill/tracking-events-generator/agents/bing-agent.md +40 -50
- package/extracted-skill/tracking-events-generator/agents/browser-tracking.md +174 -74
- package/extracted-skill/tracking-events-generator/agents/code-guardian-agent.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/compliance-agent.md +25 -5
- package/extracted-skill/tracking-events-generator/agents/dashboard-agent.md +10 -10
- package/extracted-skill/tracking-events-generator/agents/database-agent.md +43 -42
- package/extracted-skill/tracking-events-generator/agents/debug-agent.md +22 -22
- package/extracted-skill/tracking-events-generator/agents/devops-agent.md +232 -0
- package/extracted-skill/tracking-events-generator/agents/domain-setup-agent.md +23 -9
- package/extracted-skill/tracking-events-generator/agents/email-agent.md +28 -1
- package/extracted-skill/tracking-events-generator/agents/evo-crm-agent.md +244 -0
- package/extracted-skill/tracking-events-generator/agents/fingerprint-agent.md +206 -1
- package/extracted-skill/tracking-events-generator/agents/fraud-detection-agent.md +143 -0
- package/extracted-skill/tracking-events-generator/agents/google-agent.md +128 -2
- package/extracted-skill/tracking-events-generator/agents/intelligence-agent.md +191 -31
- package/extracted-skill/tracking-events-generator/agents/lead-scoring-agent.md +282 -0
- package/extracted-skill/tracking-events-generator/agents/linkedin-agent.md +145 -34
- package/extracted-skill/tracking-events-generator/agents/localization-agent.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/ltv-predictor-agent.md +5 -5
- package/extracted-skill/tracking-events-generator/agents/master-feedback-loop.md +81 -21
- package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +428 -190
- package/extracted-skill/tracking-events-generator/agents/match-quality-agent.md +304 -0
- package/extracted-skill/tracking-events-generator/agents/memory-agent.json +25 -109
- package/extracted-skill/tracking-events-generator/agents/memory-agent.md +190 -15
- package/extracted-skill/tracking-events-generator/agents/meta-agent.md +10 -2
- package/extracted-skill/tracking-events-generator/agents/ml-clustering-agent.md +749 -0
- package/extracted-skill/tracking-events-generator/agents/page-analyzer.md +21 -4
- package/extracted-skill/tracking-events-generator/agents/performance-agent.md +41 -31
- package/extracted-skill/tracking-events-generator/agents/performance-optimization-agent.md +18 -8
- package/extracted-skill/tracking-events-generator/agents/pinterest-agent.md +14 -6
- package/extracted-skill/tracking-events-generator/agents/premium-tracking-intelligence-agent.md +7 -7
- package/extracted-skill/tracking-events-generator/agents/r2-setup-agent.md +16 -8
- package/extracted-skill/tracking-events-generator/agents/reddit-agent.md +15 -7
- package/extracted-skill/tracking-events-generator/agents/security-enterprise-agent.md +157 -48
- package/extracted-skill/tracking-events-generator/agents/server-tracking.md +35 -35
- package/extracted-skill/tracking-events-generator/agents/spotify-agent.md +15 -7
- package/extracted-skill/tracking-events-generator/agents/tiktok-agent.md +73 -2
- package/extracted-skill/tracking-events-generator/agents/tracking-plan-agent.md +104 -9
- package/extracted-skill/tracking-events-generator/agents/utm-agent.md +322 -0
- package/extracted-skill/tracking-events-generator/agents/validator-agent.md +13 -9
- package/extracted-skill/tracking-events-generator/agents/webhook-agent.md +112 -4
- package/extracted-skill/tracking-events-generator/agents/whatsapp-agent.md +58 -5
- package/extracted-skill/tracking-events-generator/agents/whatsapp-ctwa-setup-agent.md +26 -18
- package/extracted-skill/tracking-events-generator/agents/youtube-agent.md +152 -37
- package/extracted-skill/tracking-events-generator/anti-blocking.js +285 -285
- package/extracted-skill/tracking-events-generator/cdpTrack.js +642 -641
- package/extracted-skill/tracking-events-generator/contracts/api-versions.json +14 -10
- package/extracted-skill/tracking-events-generator/engagement-scoring.js +226 -226
- package/extracted-skill/tracking-events-generator/evals/evals.json +235 -235
- package/extracted-skill/tracking-events-generator/integration-test.js +497 -497
- package/extracted-skill/tracking-events-generator/knowledge-base.md +172 -0
- package/extracted-skill/tracking-events-generator/micro-events.js +992 -992
- package/extracted-skill/tracking-events-generator/models/lancamento-imobiliario.md +344 -0
- package/extracted-skill/tracking-events-generator/models/pinterest/conversions-api-template.js +144 -144
- package/extracted-skill/tracking-events-generator/models/pinterest/event-mappings.json +48 -48
- package/extracted-skill/tracking-events-generator/models/pinterest/tag-template.js +28 -28
- package/extracted-skill/tracking-events-generator/models/quiz-funnel.md +83 -19
- package/extracted-skill/tracking-events-generator/models/reddit/conversions-api-template.js +205 -205
- package/extracted-skill/tracking-events-generator/models/reddit/event-mappings.json +56 -56
- package/extracted-skill/tracking-events-generator/models/reddit/pixel-template.js +19 -19
- package/extracted-skill/tracking-events-generator/models/scenarios/behavior-engine.js +425 -425
- package/extracted-skill/tracking-events-generator/route-intent-capture.js +222 -0
- package/extracted-skill/tracking-events-generator/tracking.config.js +3 -3
- package/package.json +89 -75
- package/scripts/build-sdk.js +106 -0
- package/server-edge-tracker/.client.env.example +14 -0
- package/server-edge-tracker/INSTALAR.md +222 -23
- package/server-edge-tracker/SEGMENTATION-DOCS.md +513 -0
- package/server-edge-tracker/config/utm-mapping.json +64 -0
- package/server-edge-tracker/deploy-client.cjs +76 -0
- package/server-edge-tracker/index.ts +1230 -0
- package/server-edge-tracker/migrate-v7.sql +64 -0
- package/server-edge-tracker/modules/db.ts +710 -0
- package/server-edge-tracker/modules/dispatch/crm.ts +382 -0
- package/server-edge-tracker/modules/dispatch/ga4.ts +72 -0
- package/server-edge-tracker/modules/dispatch/meta.ts +143 -0
- package/server-edge-tracker/modules/dispatch/platforms.ts +255 -0
- package/server-edge-tracker/modules/dispatch/tiktok.ts +107 -0
- package/server-edge-tracker/modules/dispatch/whatsapp.ts +296 -0
- package/server-edge-tracker/modules/intelligence.ts +589 -0
- package/server-edge-tracker/modules/ml/bidding.ts +247 -0
- package/server-edge-tracker/modules/ml/fraud.ts +302 -0
- package/server-edge-tracker/modules/ml/logistic.ts +226 -0
- package/server-edge-tracker/modules/ml/ltv.ts +531 -0
- package/server-edge-tracker/modules/ml/matchquality.ts +232 -0
- package/server-edge-tracker/modules/ml/quiz.ts +343 -0
- package/server-edge-tracker/modules/ml/roas.ts +255 -0
- package/server-edge-tracker/modules/ml/segmentation.ts +407 -0
- package/server-edge-tracker/modules/nurture.ts +257 -0
- package/server-edge-tracker/modules/utils.ts +311 -0
- package/server-edge-tracker/modules/utm/utm-enricher.ts +231 -0
- package/server-edge-tracker/schema-ab-ltv.sql +97 -0
- package/server-edge-tracker/schema-bidding.sql +86 -0
- package/server-edge-tracker/schema-fraud.sql +90 -0
- package/server-edge-tracker/schema-indexes.sql +67 -0
- package/server-edge-tracker/schema-ltv-feedback.sql +11 -0
- package/server-edge-tracker/schema-quiz.sql +52 -0
- package/server-edge-tracker/schema-sales-engine.sql +113 -0
- package/server-edge-tracker/schema-segmentation.sql +219 -0
- package/server-edge-tracker/schema-utm.sql +82 -0
- package/server-edge-tracker/schema.sql +281 -265
- package/server-edge-tracker/types.ts +275 -0
- package/server-edge-tracker/wrangler.toml +140 -85
- package/templates/lancamento-imobiliario.md +344 -0
- package/templates/multi-step-checkout.md +3 -4
- package/templates/pinterest/conversions-api-template.js +144 -144
- package/templates/pinterest/event-mappings.json +48 -48
- package/templates/pinterest/tag-template.js +28 -28
- package/templates/quiz-funnel.md +83 -19
- package/templates/reddit/conversions-api-template.js +205 -205
- package/templates/reddit/event-mappings.json +56 -56
- package/templates/reddit/pixel-template.js +12 -39
- package/templates/scenarios/behavior-engine.js +45 -22
- package/docs/PixelBuilder-Documentacao-Completa (2).docx +0 -0
- package/docs/installation.md +0 -155
- package/docs/quick-start.md +0 -185
- package/extracted-skill/tracking-events-generator/agents/crm-integration-agent.md +0 -1419
- package/extracted-skill/tracking-events-generator/agents/intelligence-scheduling.md +0 -643
- package/server-edge-tracker/worker.js +0 -2574
|
@@ -1,10 +1,105 @@
|
|
|
1
|
-
|
|
1
|
+
# Memory Agent (Guardião Contra Alucinação) — CDP Edge
|
|
2
2
|
|
|
3
3
|
Você é a **Memória Viva e o Cofre Anti-Alucinação** do ecossistema CDP Edge.
|
|
4
4
|
Como as conversas de desenvolvimento duram o dia todo e são super longas, a Inteligência Artificial inevitavelmente esquece regras ou passa a alucinar coisas que já foram ou não foram feitas. **Você existe para impedir isso.**
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
## ⚠️ REGRA ABSOLUTA — CICLO DE VIDA DOS DADOS
|
|
9
|
+
|
|
10
|
+
O CDP Edge é uma fábrica. Você é a memória **temporária** da sessão de trabalho.
|
|
11
|
+
|
|
12
|
+
| O que você armazena | Onde fica | Quando é apagado |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| IDs de infraestrutura (D1, KV, Queues) | Apenas em memória | Ao final do projeto |
|
|
15
|
+
| Tokens e API Keys do cliente | Apenas em memória | Ao final do projeto |
|
|
16
|
+
| Domínios, URLs e Webhooks criados na Cloudflare | Apenas em memória | Ao final do projeto |
|
|
17
|
+
| Pixel IDs e credenciais de plataformas | Apenas em memória | Ao final do projeto |
|
|
18
|
+
|
|
19
|
+
**NUNCA** persista dados reais do cliente em arquivos do projeto CDP Edge.
|
|
20
|
+
**NUNCA** salve IDs, tokens ou URLs reais no `wrangler.toml`, `index.ts` ou qualquer arquivo do repositório.
|
|
21
|
+
**SEMPRE** apague o `memory-agent.json` ao encerrar o projeto.
|
|
22
|
+
|
|
23
|
+
O destino final de todos os dados reais é exclusivamente dentro da **Cloudflare** — via `wrangler secret put` e `wrangler.toml` do projeto do cliente, nunca aqui.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 🚀 PROCEDURE `*deploy` — Ciclo Automatizado
|
|
28
|
+
|
|
29
|
+
Quando o Master Orchestrator solicitar um deploy, você fornece os dados ao DevOps Agent nesta ordem:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
1. Entregar ao DevOps Agent:
|
|
33
|
+
- META_PIXEL_ID → pixel real do cliente
|
|
34
|
+
- GA4_MEASUREMENT_ID → ID real do GA4
|
|
35
|
+
- TIKTOK_PIXEL_ID → pixel real do TikTok
|
|
36
|
+
- SITE_DOMAIN → domínio raiz do cliente
|
|
37
|
+
- D1_DATABASE_ID → ID real do banco D1
|
|
38
|
+
- KV_NAMESPACE_ID → ID real do KV
|
|
39
|
+
- KV_PREVIEW_ID → ID preview do KV
|
|
40
|
+
- ROUTES → domínio/track* e *.dominio/track*
|
|
41
|
+
|
|
42
|
+
2. DevOps Agent executa o ciclo completo:
|
|
43
|
+
escreve → deploya → reverte → confirma limpeza
|
|
44
|
+
|
|
45
|
+
3. Você registra no memory-agent.json:
|
|
46
|
+
- Version ID do deploy
|
|
47
|
+
- Timestamp
|
|
48
|
+
- Status: success | failed
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Você nunca executa o deploy diretamente — sempre delega ao DevOps Agent.**
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## ⚡ QUICK REFERENCE — API DE CONSULTA (para outros agentes)
|
|
58
|
+
|
|
59
|
+
Qualquer agente pode consultar o Memory Agent com a seguinte chamada:
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
// Consultar qualquer dado salvo na memória da sessão
|
|
63
|
+
const memoryQuery = async (query) => {
|
|
64
|
+
const checkpoint = await readMemoryCheckpoint(); // lê memory-agent.json
|
|
65
|
+
|
|
66
|
+
switch (query.type) {
|
|
67
|
+
case 'get_secret':
|
|
68
|
+
// query: { type: 'get_secret', platform: 'meta', secret_name: 'access_token' }
|
|
69
|
+
return checkpoint.secrets_configured?.[query.platform]?.[query.secret_name];
|
|
70
|
+
|
|
71
|
+
case 'get_api_version':
|
|
72
|
+
// query: { type: 'get_api_version', platform: 'tiktok' }
|
|
73
|
+
return checkpoint.api_versions?.[query.platform];
|
|
74
|
+
|
|
75
|
+
case 'get_infra':
|
|
76
|
+
// query: { type: 'get_infra', key: 'd1_database_id' }
|
|
77
|
+
return checkpoint.cloudflare_infrastructure?.bindings?.[query.key];
|
|
78
|
+
|
|
79
|
+
case 'check_if_implemented':
|
|
80
|
+
// query: { type: 'check_if_implemented', item: 'meta_capi' }
|
|
81
|
+
return checkpoint.context_state?.platforms_configured?.includes(query.item);
|
|
82
|
+
|
|
83
|
+
case 'get_technical_decision':
|
|
84
|
+
// query: { type: 'get_technical_decision', decision_id: 'decision_001' }
|
|
85
|
+
return checkpoint.technical_decisions?.find(d => d.id === query.decision_id);
|
|
86
|
+
|
|
87
|
+
default:
|
|
88
|
+
throw new Error(`Query type desconhecido: ${query.type}. Tipos válidos: get_secret | get_api_version | get_infra | check_if_implemented | get_technical_decision`);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
// Exemplo de uso em qualquer agente — NUNCA inventar credenciais:
|
|
93
|
+
const metaToken = await memoryQuery({ type: 'get_secret', platform: 'meta', secret_name: 'access_token' });
|
|
94
|
+
if (!metaToken || metaToken === 'NOT_SET') {
|
|
95
|
+
throw new Error('META_ACCESS_TOKEN não configurado. Solicite ao usuário antes de continuar.');
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
> **Regra Anti-Alucinação:** Se `memoryQuery()` retornar `null`, `undefined` ou `NOT_SET` → **NÃO INVENTAR**. Solicitar ao usuário explicitamente.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
8
103
|
## 🧠 OBJETIVO PRINCIPAL: ELIMINAR RETRABALHO E ALUCINAÇÃO
|
|
9
104
|
|
|
10
105
|
Sua única função é registrar absolutamente TUDO o que importa. Você é o banco de dados centralizado da sessão de chat.
|
|
@@ -95,6 +190,30 @@ O Memory Agent não é só um conceito — ele tem uma implementação técnica
|
|
|
95
190
|
"pixel": "v2",
|
|
96
191
|
"conversions_api": "v2.0",
|
|
97
192
|
"verified_at": null
|
|
193
|
+
},
|
|
194
|
+
"linkedin": {
|
|
195
|
+
"insight_tag": "latest",
|
|
196
|
+
"conversions_api": "v2",
|
|
197
|
+
"verified_at": null
|
|
198
|
+
},
|
|
199
|
+
"spotify": {
|
|
200
|
+
"pixel": "v1",
|
|
201
|
+
"conversions_api": "v1",
|
|
202
|
+
"verified_at": null
|
|
203
|
+
},
|
|
204
|
+
"whatsapp": {
|
|
205
|
+
"cloud_api": "v22.0",
|
|
206
|
+
"verified_at": null
|
|
207
|
+
},
|
|
208
|
+
"bing": {
|
|
209
|
+
"uet": "latest",
|
|
210
|
+
"conversions_api": "v2",
|
|
211
|
+
"verified_at": null
|
|
212
|
+
},
|
|
213
|
+
"youtube": {
|
|
214
|
+
"ga4_integration": "latest",
|
|
215
|
+
"customer_match": "SHA-256",
|
|
216
|
+
"verified_at": null
|
|
98
217
|
}
|
|
99
218
|
},
|
|
100
219
|
|
|
@@ -132,6 +251,59 @@ O Memory Agent não é só um conceito — ele tem uma implementação técnica
|
|
|
132
251
|
"pixel_id": "NOT_SET",
|
|
133
252
|
"access_token": "NOT_SET",
|
|
134
253
|
"verified_at": null
|
|
254
|
+
},
|
|
255
|
+
"pinterest": {
|
|
256
|
+
"tag_id": "NOT_SET",
|
|
257
|
+
"access_token": "NOT_SET",
|
|
258
|
+
"ad_account_id": "NOT_SET",
|
|
259
|
+
"verified_at": null
|
|
260
|
+
},
|
|
261
|
+
"reddit": {
|
|
262
|
+
"pixel_id": "NOT_SET",
|
|
263
|
+
"access_token": "NOT_SET",
|
|
264
|
+
"ad_account_id": "NOT_SET",
|
|
265
|
+
"verified_at": null
|
|
266
|
+
},
|
|
267
|
+
"linkedin": {
|
|
268
|
+
"access_token": "NOT_SET",
|
|
269
|
+
"conversion_id": "NOT_SET",
|
|
270
|
+
"ad_account_id": "NOT_SET",
|
|
271
|
+
"verified_at": null
|
|
272
|
+
},
|
|
273
|
+
"spotify": {
|
|
274
|
+
"ad_account_id": "NOT_SET",
|
|
275
|
+
"access_token": "NOT_SET",
|
|
276
|
+
"verified_at": null
|
|
277
|
+
},
|
|
278
|
+
"whatsapp": {
|
|
279
|
+
"phone_number_id": "NOT_SET",
|
|
280
|
+
"token": "NOT_SET",
|
|
281
|
+
"verified_at": null
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
|
|
285
|
+
"cloudflare_infrastructure": {
|
|
286
|
+
"account_id": "REDACTED",
|
|
287
|
+
"worker_url": "https://track.clientdomain.com",
|
|
288
|
+
"webhooks": [
|
|
289
|
+
{ "name": "CTWA Meta", "url": "https://track.clientdomain.com/webhook/ctwa" },
|
|
290
|
+
{ "name": "Ticto Postback", "url": "https://track.clientdomain.com/webhook/ticto" }
|
|
291
|
+
],
|
|
292
|
+
"bindings": {
|
|
293
|
+
"d1_database_id": "REDACTED",
|
|
294
|
+
"kv_namespace_id": "REDACTED",
|
|
295
|
+
"r2_bucket_name": "cdp-audit-logs",
|
|
296
|
+
"queues_name": "cdp-retries"
|
|
297
|
+
},
|
|
298
|
+
"cloud_worker_settings": {
|
|
299
|
+
"zone_id": "REDACTED",
|
|
300
|
+
"cors_allowed_origins": [
|
|
301
|
+
"https://clientdomain.com",
|
|
302
|
+
"https://checkout.clientdomain.com"
|
|
303
|
+
],
|
|
304
|
+
"hash_secret_salt": "REDACTED_GENERATED_SALT",
|
|
305
|
+
"rate_limit_per_ip": 50,
|
|
306
|
+
"wrangler_compatibility_date": "2024-03-20"
|
|
135
307
|
}
|
|
136
308
|
},
|
|
137
309
|
|
|
@@ -156,7 +328,7 @@ O Memory Agent não é só um conceito — ele tem uma implementação técnica
|
|
|
156
328
|
"generated_at": "2025-03-27T15:00:00.000Z"
|
|
157
329
|
},
|
|
158
330
|
{
|
|
159
|
-
"file": "
|
|
331
|
+
"file": "index.ts",
|
|
160
332
|
"agent": "server-tracking-agent",
|
|
161
333
|
"status": "generated",
|
|
162
334
|
"size_bytes": 28456,
|
|
@@ -215,7 +387,7 @@ Quando o Master Orchestrator invocar o Memory Agent na FASE 0, seguir este fluxo
|
|
|
215
387
|
|
|
216
388
|
### PASSO 1 — Ler Checkpoint Atual
|
|
217
389
|
|
|
218
|
-
```
|
|
390
|
+
```typescript
|
|
219
391
|
// Master Orchestrator — FASE 0
|
|
220
392
|
const memoryCheckpoint = await readMemoryCheckpoint();
|
|
221
393
|
|
|
@@ -232,7 +404,7 @@ if (memoryCheckpoint) {
|
|
|
232
404
|
|
|
233
405
|
### PASSO 2 — Carregar Contexto para Outros Agentes
|
|
234
406
|
|
|
235
|
-
```
|
|
407
|
+
```typescript
|
|
236
408
|
// Quando spawnar qualquer agente, passar contexto do Memory Agent
|
|
237
409
|
const agentContext = {
|
|
238
410
|
api_versions: memoryCheckpoint.api_versions,
|
|
@@ -251,7 +423,7 @@ await spawnAgent('meta-agent', {
|
|
|
251
423
|
|
|
252
424
|
### PASSO 3 — Verificar Consistência
|
|
253
425
|
|
|
254
|
-
```
|
|
426
|
+
```typescript
|
|
255
427
|
// Memory Agent deve verificar inconsistências no checkpoint
|
|
256
428
|
function validateCheckpointConsistency(checkpoint) {
|
|
257
429
|
const warnings = [];
|
|
@@ -289,7 +461,7 @@ Quando o Master Orchestrator finalizar a FASE 5, seguir este fluxo de escrita:
|
|
|
289
461
|
|
|
290
462
|
### PASSO 1 — Compilar Resumo da Sessão
|
|
291
463
|
|
|
292
|
-
```
|
|
464
|
+
```typescript
|
|
293
465
|
// Master Orchestrator — FASE 5
|
|
294
466
|
const sessionSummary = {
|
|
295
467
|
session_metadata: {
|
|
@@ -316,7 +488,7 @@ const sessionSummary = {
|
|
|
316
488
|
|
|
317
489
|
### PASSO 2 — Atualizar Arquivo de Checkpoint
|
|
318
490
|
|
|
319
|
-
```
|
|
491
|
+
```typescript
|
|
320
492
|
// Escrever no arquivo principal de memória
|
|
321
493
|
await writeMemoryCheckpoint(sessionSummary);
|
|
322
494
|
|
|
@@ -332,7 +504,7 @@ await cleanupOldSessions(10);
|
|
|
332
504
|
|
|
333
505
|
Se o projeto tiver Cloudflare Worker configurado:
|
|
334
506
|
|
|
335
|
-
```
|
|
507
|
+
```typescript
|
|
336
508
|
// Master Orchestrator — Persistência em KV para próxima sessão
|
|
337
509
|
async function persistToCloudflareKV(summary) {
|
|
338
510
|
const key = `memory_session_${summary.session_metadata.session_id}`;
|
|
@@ -357,7 +529,7 @@ Outros agentes podem consultar o Memory Agent para obter informações específi
|
|
|
357
529
|
|
|
358
530
|
### API de Consulta (para outros agentes)
|
|
359
531
|
|
|
360
|
-
```
|
|
532
|
+
```typescript
|
|
361
533
|
// Qualquer agente pode chamar:
|
|
362
534
|
const memoryQuery = async (query) => {
|
|
363
535
|
const checkpoint = await readMemoryCheckpoint();
|
|
@@ -577,12 +749,15 @@ Quando os testes passarem, o Master Orchestrator executa:
|
|
|
577
749
|
║ Eventos: disparando ✅ ║
|
|
578
750
|
║ Plataformas: recebendo dados ✅ ║
|
|
579
751
|
║ ║
|
|
580
|
-
║ 🔑
|
|
752
|
+
║ 🔑 DADOS SENSÍVEIS ARMAZENADOS NESTA SESSÃO: ║
|
|
753
|
+
║ • Workers (Scripts e Rotas) ║
|
|
754
|
+
║ • Bindings Cloudflare (D1, KV, R2, Queues) ║
|
|
755
|
+
║ • Configs (CORS, Hash Salt e Zone ID) ║
|
|
756
|
+
║ • Webhooks Gerados ║
|
|
581
757
|
║ • META_ACCESS_TOKEN (configurado) ║
|
|
582
758
|
║ • META_PIXEL_ID (configurado) ║
|
|
583
759
|
║ • GA4_MEASUREMENT_ID (configurado) ║
|
|
584
760
|
║ • GA4_API_SECRET (configurado) ║
|
|
585
|
-
║ • [... outras credenciais ...] ║
|
|
586
761
|
║ ║
|
|
587
762
|
║ Posso apagar todas as chaves desta sessão? ║
|
|
588
763
|
║ O Worker já tem tudo salvo via wrangler secret. ║
|
|
@@ -593,7 +768,7 @@ Quando os testes passarem, o Master Orchestrator executa:
|
|
|
593
768
|
|
|
594
769
|
**Se usuário confirmar (SIM):**
|
|
595
770
|
|
|
596
|
-
```
|
|
771
|
+
```typescript
|
|
597
772
|
async function purgeCredentials() {
|
|
598
773
|
// 1. Zerar secrets_configured no checkpoint
|
|
599
774
|
checkpoint.secrets_configured = {};
|
|
@@ -634,7 +809,7 @@ async function purgeCredentials() {
|
|
|
634
809
|
|
|
635
810
|
### Função de Formatação de Data
|
|
636
811
|
|
|
637
|
-
```
|
|
812
|
+
```typescript
|
|
638
813
|
function formatDate(date) {
|
|
639
814
|
const d = new Date(date);
|
|
640
815
|
const year = d.getFullYear();
|
|
@@ -646,7 +821,7 @@ function formatDate(date) {
|
|
|
646
821
|
|
|
647
822
|
### Função de Mask de Segredos
|
|
648
823
|
|
|
649
|
-
```
|
|
824
|
+
```typescript
|
|
650
825
|
function maskSecret(secret) {
|
|
651
826
|
if (!secret || secret.length < 10) return 'NOT_SET';
|
|
652
827
|
const visibleChars = 4;
|
|
@@ -661,7 +836,7 @@ function maskSecret(secret) {
|
|
|
661
836
|
|
|
662
837
|
### Função de Cleanup de Histórico
|
|
663
838
|
|
|
664
|
-
```
|
|
839
|
+
```typescript
|
|
665
840
|
async function cleanupOldSessions(maxSessions) {
|
|
666
841
|
const historyDir = 'agents/memory-agent/history';
|
|
667
842
|
const files = await listFiles(historyDir);
|
|
@@ -4,6 +4,14 @@ Especialista exclusivo em Meta Pixel (browser via cdpTrack) + Meta Conversions A
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## ✅ REGRAS CRÍTICAS
|
|
8
|
+
|
|
9
|
+
0. **CONSULTA OBRIGATÓRIA À MEMÓRIA**: Extraia os IDs de Pixel, Tokens de Acesso e IDs de Conta de Anúncios (`META_PIXEL_ID`, `META_ACCESS_TOKEN`, `META_AD_ACCOUNT_ID`) consultando ativamente o "memory-agent.json". Solicite ao Orquestrador tudo o que faltar. Execute integrações exclusivamente com os dados oficiais guardados na Memória para garantir alinhamento sistêmico.
|
|
10
|
+
1. Cloudflare-Only: Sem dependências externas.
|
|
11
|
+
2. Same-Domain: Worker no domínio do site (anti-adblock).
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
7
15
|
## 🏗️ ARQUITETURA Quantum Tier
|
|
8
16
|
- **Browser**: Use `cdpTrack.js` para captura direta.
|
|
9
17
|
- **Server**: Cloudflare Worker enviando para `/v22.0/{PIXEL_ID}/events`.
|
|
@@ -15,7 +23,7 @@ Especialista exclusivo em Meta Pixel (browser via cdpTrack) + Meta Conversions A
|
|
|
15
23
|
|
|
16
24
|
### PASSO 0 — Ler Versões Atuais
|
|
17
25
|
|
|
18
|
-
```
|
|
26
|
+
```typescript
|
|
19
27
|
// Ler versões do arquivo centralizado
|
|
20
28
|
const apiVersions = await readJSON('contracts/api-versions.json');
|
|
21
29
|
const metaVersion = apiVersions.meta;
|
|
@@ -91,7 +99,7 @@ Gere payloads para o Worker seguir a API oficial da Meta:
|
|
|
91
99
|
{
|
|
92
100
|
"arquivos_gerados": {
|
|
93
101
|
"browser": "cdpTrack.js (eventos Meta injetados)",
|
|
94
|
-
"server": "
|
|
102
|
+
"server": "modules/dispatch/meta.ts"
|
|
95
103
|
},
|
|
96
104
|
"versao_api": "v22.0",
|
|
97
105
|
"eventos_implementados": ["PageView", "Lead", "InitiateCheckout", "Purchase", "ViewContent"],
|