cdp-edge 2.5.5 → 2.5.7
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 +5 -8
- package/contracts/agent-versions.json +3 -3
- package/contracts/api-versions.json +8 -8
- package/extracted-skill/tracking-events-generator/INSTALACAO-CDPEDGE.md +2 -2
- package/extracted-skill/tracking-events-generator/INTEGRACAO-COMPLETA.md +3 -3
- package/extracted-skill/tracking-events-generator/Premium-Tracking-Intelligence-Resumo.md +1 -1
- package/extracted-skill/tracking-events-generator/SKILL.md +4 -4
- package/extracted-skill/tracking-events-generator/advanced-matching.js +1 -1
- package/extracted-skill/tracking-events-generator/agents/attribution-agent.md +3 -3
- package/extracted-skill/tracking-events-generator/agents/browser-tracking.md +2 -2
- package/extracted-skill/tracking-events-generator/agents/code-guardian-agent.md +2 -2
- package/extracted-skill/tracking-events-generator/agents/debug-agent.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/intelligence-agent.md +6 -6
- package/extracted-skill/tracking-events-generator/agents/ltv-predictor-agent.md +19 -0
- package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +312 -21
- package/extracted-skill/tracking-events-generator/agents/match-quality-agent.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/memory-agent.md +8 -8
- package/extracted-skill/tracking-events-generator/agents/meta-agent.md +8 -8
- package/extracted-skill/tracking-events-generator/agents/ml-clustering-agent.md +20 -0
- package/extracted-skill/tracking-events-generator/agents/page-analyzer.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/premium-tracking-intelligence-agent.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/security-enterprise-agent.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/server-tracking.md +9 -9
- package/extracted-skill/tracking-events-generator/agents/spotify-agent.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/tracking-plan-agent.md +5 -5
- package/extracted-skill/tracking-events-generator/agents/validator-agent.md +8 -8
- package/extracted-skill/tracking-events-generator/agents/webhook-agent.md +4 -4
- package/extracted-skill/tracking-events-generator/agents/whatsapp-agent.md +7 -7
- package/extracted-skill/tracking-events-generator/agents/whatsapp-ctwa-setup-agent.md +16 -16
- package/extracted-skill/tracking-events-generator/agents/zapman-agent.md +189 -0
- package/extracted-skill/tracking-events-generator/cdpTrack.js +1 -1
- package/extracted-skill/tracking-events-generator/contracts/api-versions.json +8 -8
- package/extracted-skill/tracking-events-generator/docs/guia-cloudflare-iniciante.md +2 -2
- package/extracted-skill/tracking-events-generator/evals/evals.json +5 -5
- package/extracted-skill/tracking-events-generator/knowledge-base.md +5 -5
- package/extracted-skill/tracking-events-generator/models/captura-de-lead.md +1 -1
- package/extracted-skill/tracking-events-generator/models/checkout-proprio.md +1 -1
- package/extracted-skill/tracking-events-generator/models/lancamento-imobiliario.md +1 -1
- package/extracted-skill/tracking-events-generator/models/multi-step-checkout.md +5 -5
- package/extracted-skill/tracking-events-generator/models/pagina-obrigado.md +1 -1
- package/extracted-skill/tracking-events-generator/models/trafego-direto.md +4 -4
- package/extracted-skill/tracking-events-generator/models/webinar-registration.md +1 -1
- package/package.json +1 -1
- package/server-edge-tracker/INSTALAR.md +3 -3
- package/server-edge-tracker/index.ts +37 -36
- package/server-edge-tracker/modules/db.ts +1 -1
- package/server-edge-tracker/modules/dispatch/crm.ts +26 -363
- package/server-edge-tracker/modules/dispatch/meta.ts +2 -2
- package/server-edge-tracker/modules/dispatch/whatsapp.ts +7 -18
- package/server-edge-tracker/modules/intelligence.ts +4 -4
- package/server-edge-tracker/modules/ml/fraud.ts +15 -3
- package/server-edge-tracker/modules/nurture.ts +1 -1
- package/server-edge-tracker/schema.sql +1 -1
- package/server-edge-tracker/types.ts +12 -8
- package/server-edge-tracker/wrangler.toml +143 -140
- package/templates/captura-de-lead.md +1 -1
- package/templates/checkout-proprio.md +1 -1
- package/templates/lancamento-imobiliario.md +1 -1
- package/templates/multi-step-checkout.md +5 -5
- package/templates/pagina-obrigado.md +1 -1
- package/templates/trafego-direto.md +4 -4
- package/templates/webinar-registration.md +1 -1
- package/extracted-skill/tracking-events-generator/agents/evo-crm-agent.md +0 -244
|
@@ -75,7 +75,7 @@ Master Orchestrator (você)
|
|
|
75
75
|
│ └── Fingerprint Agent → salva e resgata origens/UTMs perdidas
|
|
76
76
|
│
|
|
77
77
|
├── 📡 PLATAFORMAS DE ANÚNCIO (server + browser)
|
|
78
|
-
│ ├── Meta Agent → Meta Pixel + CAPI
|
|
78
|
+
│ ├── Meta Agent → Meta Pixel + CAPI v25.0
|
|
79
79
|
│ ├── Google Agent → GA4 + Google Ads Enhanced Conversions
|
|
80
80
|
│ ├── YouTube Agent → YouTube Ads (TrueView, Bumper, gclid/wbraid)
|
|
81
81
|
│ ├── TikTok Agent → TikTok Pixel + Events API v1.3
|
|
@@ -103,12 +103,18 @@ Master Orchestrator (você)
|
|
|
103
103
|
│ ├── LTV Predictor Agent → prevê LTV financeiro com Workers AI
|
|
104
104
|
│ ├── ML Clustering Agent → segmentação dinâmica K-means/DBSCAN (Fase 1 Enterprise)
|
|
105
105
|
│ ├── Bidding Recommendations Agent → recomendações de bids por segmento ML (Fase 2 Enterprise)
|
|
106
|
-
│ ├── A/B Testing Agent →
|
|
106
|
+
│ ├── A/B Testing Agent → split de tráfego invisível na borda (sem flicker)
|
|
107
|
+
│ ├── A/B LTV Testing Agent → otimização contínua da precisão do LTV preditivo (Fase 3 Enterprise)
|
|
107
108
|
│ └── Localization Agent → moedas e traduções no edge
|
|
108
109
|
│
|
|
109
110
|
├── 📈 DASHBOARD E RELATÓRIOS
|
|
110
111
|
│ ├── Dashboard Agent → gerencia meta-dashboard-full (React)
|
|
111
|
-
│
|
|
112
|
+
│ ├── Performance Agent → monitoramento em tempo real: latência, throughput, SLA alerts
|
|
113
|
+
│ └── Performance Optimization Agent → estratégias de cache L1/L2/L3, query D1, batch processing (Enterprise)
|
|
114
|
+
│
|
|
115
|
+
│ ⚠️ REGRA DE ROTEAMENTO — Performance:
|
|
116
|
+
│ • Invoke Performance Agent → quando precisar de métricas, health checks ou alertas de degradação
|
|
117
|
+
│ • Invoke Performance Optimization Agent → quando precisar otimizar cache, queries D1 ou latência estrutural
|
|
112
118
|
│
|
|
113
119
|
├── 🔍 QUALIDADE E SEGURANÇA
|
|
114
120
|
│ ├── Match Quality Agent → garante que só dado com valor real vai para as plataformas
|
|
@@ -157,7 +163,7 @@ SKILL_BASE: [diretório da skill tracking-events-generator]
|
|
|
157
163
|
├── fingerprint-agent.md ← Fingerprinting LGPD + Salva-UTMs
|
|
158
164
|
│
|
|
159
165
|
├── ── PLATAFORMAS DE ANÚNCIO ──
|
|
160
|
-
├── meta-agent.md ← Meta Pixel + CAPI
|
|
166
|
+
├── meta-agent.md ← Meta Pixel + CAPI v25.0
|
|
161
167
|
├── google-agent.md ← GA4 + Google Ads Enhanced Conversions
|
|
162
168
|
├── youtube-agent.md ← YouTube Ads (TrueView, Bumper, gclid/wbraid)
|
|
163
169
|
├── tiktok-agent.md ← TikTok Pixel + Events API v1.3
|
|
@@ -185,7 +191,8 @@ SKILL_BASE: [diretório da skill tracking-events-generator]
|
|
|
185
191
|
├── ltv-predictor-agent.md ← IA Preditiva de Receita (Workers AI)
|
|
186
192
|
├── ml-clustering-agent.md ← Segmentação Dinâmica ML (K-means, DBSCAN, Hierarchical)
|
|
187
193
|
├── bidding-agent.md ← Recomendações de Bids por Segmento ML
|
|
188
|
-
├── ab-testing-agent.md ← A/B Edge Route Optimization
|
|
194
|
+
├── ab-testing-agent.md ← A/B Edge Route Optimization (split de tráfego invisível, sem flicker)
|
|
195
|
+
├── ab-ltv-agent.md ← A/B LTV Testing — otimização contínua da precisão preditiva (Fase 3 Enterprise)
|
|
189
196
|
├── localization-agent.md ← Traduções de Checkout em Borda
|
|
190
197
|
│
|
|
191
198
|
├── ── DASHBOARD E RELATÓRIOS ──
|
|
@@ -524,7 +531,7 @@ src/tracking/
|
|
|
524
531
|
|
|
525
532
|
**RESPONSABILIDADE:**
|
|
526
533
|
- Gerar código Meta Pixel (browser via cdpTrack.js)
|
|
527
|
-
- Gerar payload Meta CAPI
|
|
534
|
+
- Gerar payload Meta CAPI v25.0 (server-side)
|
|
528
535
|
- Implementar Advanced Matching (em, ph, fbp, fbc, client_ip_address, client_user_agent)
|
|
529
536
|
- Implementar eventos priorizados para Meta
|
|
530
537
|
- Mapear eventos browser → eventos CAPI
|
|
@@ -534,7 +541,7 @@ src/tracking/
|
|
|
534
541
|
```
|
|
535
542
|
src/tracking/platforms/
|
|
536
543
|
├── meta-pixel.js ← Browser Pixel (cdpTrack.js)
|
|
537
|
-
└── meta-capi.js ← Server CAPI
|
|
544
|
+
└── meta-capi.js ← Server CAPI v25.0 payload
|
|
538
545
|
```
|
|
539
546
|
|
|
540
547
|
**SAÍDA:**
|
|
@@ -554,7 +561,7 @@ src/tracking/platforms/
|
|
|
554
561
|
"fbp_fbc": true,
|
|
555
562
|
"client_ip_user_agent": true
|
|
556
563
|
},
|
|
557
|
-
"api_version": "
|
|
564
|
+
"api_version": "v25.0"
|
|
558
565
|
}
|
|
559
566
|
```
|
|
560
567
|
|
|
@@ -788,7 +795,7 @@ cloudflare/
|
|
|
788
795
|
"intention_levels": ["curioso", "interessado", "comprador"]
|
|
789
796
|
},
|
|
790
797
|
"integracoes": {
|
|
791
|
-
"meta_capi": "
|
|
798
|
+
"meta_capi": "v25.0",
|
|
792
799
|
"google_mp": "GA4 Measurement Protocol",
|
|
793
800
|
"tiktok_api": "v1.3",
|
|
794
801
|
"hashing": "SHA256 WebCrypto",
|
|
@@ -887,7 +894,7 @@ FASE 0 → FASE 1 → FASE 2 → FASE 3 → FASE 4 → FASE 5 → FASE 6 → FAS
|
|
|
887
894
|
|
|
888
895
|
```
|
|
889
896
|
FASE 5 (Geração em paralelo):
|
|
890
|
-
├─ FASE 5-A: Meta Agent (Pixel + CAPI
|
|
897
|
+
├─ FASE 5-A: Meta Agent (Pixel + CAPI v25.0 + WhatsApp CTWA)
|
|
891
898
|
├─ FASE 5-B: Google Agent (GA4 + Measurement Protocol)
|
|
892
899
|
├─ FASE 5-C: TikTok Agent (Pixel + Events API v1.3)
|
|
893
900
|
├─ FASE 5-F: Pinterest Agent (Tag + Conversions API v5)
|
|
@@ -916,6 +923,277 @@ FASE 6 (Enterprise Features — ordem de configuração):
|
|
|
916
923
|
|
|
917
924
|
---
|
|
918
925
|
|
|
926
|
+
## COMANDO *new-ai-module — Criar novo módulo Workers AI
|
|
927
|
+
|
|
928
|
+
### TRIGGERS (qualquer uma das formas abaixo ativa este comando)
|
|
929
|
+
|
|
930
|
+
| Forma | Exemplo |
|
|
931
|
+
|---|---|
|
|
932
|
+
| `*new-ai-module [descrição]` | `*new-ai-module classifica leads por score do quiz` |
|
|
933
|
+
| `crie um worker ai para [descrição]` | `crie um worker ai para distribuir leads por pontuação` |
|
|
934
|
+
| `quero um módulo de IA que [descrição]` | `quero um módulo de IA que detecta intenção de compra` |
|
|
935
|
+
|
|
936
|
+
**REGRA:** O Master Orchestrator NÃO pede mais informações antes de agir. Infere tudo a partir da descrição e executa imediatamente.
|
|
937
|
+
|
|
938
|
+
---
|
|
939
|
+
|
|
940
|
+
### DECISÃO INICIAL — Tipo de módulo
|
|
941
|
+
|
|
942
|
+
Antes de spawnar agentes, classificar automaticamente:
|
|
943
|
+
|
|
944
|
+
| Descrição contém | Tipo | Agente primário |
|
|
945
|
+
|---|---|---|
|
|
946
|
+
| classificar, score, pontuar, prever, predizer, LTV, valor | **Scoring/Prediction** | LTV Predictor Agent |
|
|
947
|
+
| segmentar, agrupar, cluster, similaridade, perfil | **Clustering/Embedding** | ML Clustering Agent |
|
|
948
|
+
| detectar, identificar, intenção, comportamento, padrão | **Classification** | LTV Predictor Agent |
|
|
949
|
+
| distribuir, rotear, priorizar, fila, ranking | **Routing/Ranking** | LTV Predictor Agent |
|
|
950
|
+
|
|
951
|
+
---
|
|
952
|
+
|
|
953
|
+
### PERGUNTA OBRIGATÓRIA — Modo de execução
|
|
954
|
+
|
|
955
|
+
Antes de iniciar o pipeline, fazer UMA pergunta:
|
|
956
|
+
|
|
957
|
+
> **"Este módulo deve rodar:"**
|
|
958
|
+
> - **[A] Dentro do pipeline `/track`** — executa automaticamente a cada evento capturado
|
|
959
|
+
> - **[B] Sob demanda via API** — chamado explicitamente por outro sistema ou cron
|
|
960
|
+
> - **[C] Ambos** — rota API + integrado ao `/track`
|
|
961
|
+
|
|
962
|
+
A resposta define como o PASSO 3 (Server Tracking Agent) conecta o módulo.
|
|
963
|
+
|
|
964
|
+
---
|
|
965
|
+
|
|
966
|
+
### PIPELINE DE EXECUÇÃO (sempre nesta ordem, sem pular passos)
|
|
967
|
+
|
|
968
|
+
---
|
|
969
|
+
|
|
970
|
+
**PASSO 1 — Agente de IA (LTV Predictor Agent ou ML Clustering Agent)**
|
|
971
|
+
|
|
972
|
+
Responsabilidade: especificar o cérebro do módulo.
|
|
973
|
+
|
|
974
|
+
Entregar obrigatoriamente:
|
|
975
|
+
|
|
976
|
+
1. **Modelo escolhido** com justificativa:
|
|
977
|
+
|
|
978
|
+
| Caso de uso | Modelo |
|
|
979
|
+
|---|---|
|
|
980
|
+
| Classificação / scoring / raciocínio leve | `@cf/ibm-granite/granite-4.0-h-micro` |
|
|
981
|
+
| Embeddings / similaridade / clustering semântico | `@cf/baai/bge-m3` |
|
|
982
|
+
| Análise rica / respostas longas / contexto amplo | `@cf/meta/llama-3.1-8b-instruct` |
|
|
983
|
+
| Sentimento / classificação binária (rápido) | `@cf/huggingface/distilbert-sst-2-int8` |
|
|
984
|
+
|
|
985
|
+
2. **Contrato de input/output tipado:**
|
|
986
|
+
```typescript
|
|
987
|
+
// Exemplo para módulo de scoring de leads
|
|
988
|
+
interface AIModuleInput {
|
|
989
|
+
lead_id: string;
|
|
990
|
+
features: Record<string, string | number | boolean>;
|
|
991
|
+
context?: string; // contexto extra opcional
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
interface AIModuleOutput {
|
|
995
|
+
lead_id: string;
|
|
996
|
+
result_class: string; // ex: 'High' | 'Medium' | 'Low'
|
|
997
|
+
confidence: number; // 0.0 – 1.0
|
|
998
|
+
score: number; // 0 – 100
|
|
999
|
+
reasoning: string; // explicação do modelo (1 linha)
|
|
1000
|
+
model: string; // @cf/modelo-usado
|
|
1001
|
+
latency_ms: number;
|
|
1002
|
+
cached: boolean;
|
|
1003
|
+
}
|
|
1004
|
+
```
|
|
1005
|
+
|
|
1006
|
+
3. **System prompt do modelo** — calibrado ao caso de uso específico, com instrução de retornar JSON puro.
|
|
1007
|
+
|
|
1008
|
+
4. **Estratégia de cache** — resultado deve ser cacheado no KV (`GEO_CACHE`) por TTL definido pelo agente (padrão: 1h), usando `input_hash` como chave, para evitar rechamadas desnecessárias ao modelo.
|
|
1009
|
+
|
|
1010
|
+
---
|
|
1011
|
+
|
|
1012
|
+
**PASSO 2 — Database Agent**
|
|
1013
|
+
|
|
1014
|
+
Responsabilidade: criar schema D1 tipado e com índices corretos.
|
|
1015
|
+
|
|
1016
|
+
Schema obrigatório — **sem campos genéricos**:
|
|
1017
|
+
```sql
|
|
1018
|
+
-- Nomenclatura: schema-ai-[nome-do-módulo].sql
|
|
1019
|
+
CREATE TABLE IF NOT EXISTS ai_[nome] (
|
|
1020
|
+
id TEXT PRIMARY KEY, -- UUID v4
|
|
1021
|
+
lead_id TEXT NOT NULL,
|
|
1022
|
+
input_hash TEXT NOT NULL, -- SHA256 do input (usado como cache key)
|
|
1023
|
+
result_class TEXT NOT NULL, -- saída classificada do modelo
|
|
1024
|
+
confidence REAL NOT NULL DEFAULT 0, -- 0.0 – 1.0
|
|
1025
|
+
score INTEGER NOT NULL DEFAULT 0, -- 0 – 100
|
|
1026
|
+
reasoning TEXT, -- explicação do modelo
|
|
1027
|
+
model TEXT NOT NULL, -- @cf/modelo-usado
|
|
1028
|
+
latency_ms INTEGER, -- tempo de inferência
|
|
1029
|
+
cached INTEGER NOT NULL DEFAULT 0, -- 0 = fresh, 1 = from KV cache
|
|
1030
|
+
pipeline TEXT NOT NULL DEFAULT 'api', -- 'track' | 'api' | 'cron'
|
|
1031
|
+
created_at INTEGER NOT NULL DEFAULT (unixepoch())
|
|
1032
|
+
);
|
|
1033
|
+
|
|
1034
|
+
CREATE INDEX IF NOT EXISTS idx_ai_[nome]_lead ON ai_[nome](lead_id);
|
|
1035
|
+
CREATE INDEX IF NOT EXISTS idx_ai_[nome]_class ON ai_[nome](result_class);
|
|
1036
|
+
CREATE INDEX IF NOT EXISTS idx_ai_[nome]_created ON ai_[nome](created_at DESC);
|
|
1037
|
+
```
|
|
1038
|
+
|
|
1039
|
+
Após gerar o schema, o Database Agent passa o arquivo para o DevOps Agent aplicar — **não aplica diretamente**.
|
|
1040
|
+
|
|
1041
|
+
---
|
|
1042
|
+
|
|
1043
|
+
**PASSO 3 — Server Tracking Agent**
|
|
1044
|
+
|
|
1045
|
+
Responsabilidade: criar o módulo TypeScript + rotas REST + integração ao pipeline conforme resposta da PERGUNTA OBRIGATÓRIA.
|
|
1046
|
+
|
|
1047
|
+
**Estrutura do módulo gerado:**
|
|
1048
|
+
```typescript
|
|
1049
|
+
// server-edge-tracker/modules/ml/[nome].ts
|
|
1050
|
+
|
|
1051
|
+
export async function run[Nome](
|
|
1052
|
+
env: Env,
|
|
1053
|
+
input: AIModuleInput
|
|
1054
|
+
): Promise<AIModuleOutput> {
|
|
1055
|
+
|
|
1056
|
+
// 1. Verificar cache KV antes de chamar o modelo
|
|
1057
|
+
const cacheKey = `ai:[nome]:${input.input_hash}`;
|
|
1058
|
+
const cached = await env.GEO_CACHE.get(cacheKey, 'json');
|
|
1059
|
+
if (cached) return { ...cached, cached: true };
|
|
1060
|
+
|
|
1061
|
+
// 2. Chamar Workers AI
|
|
1062
|
+
const aiRes = await env.AI.run('[modelo-escolhido]', {
|
|
1063
|
+
messages: [
|
|
1064
|
+
{ role: 'system', content: '[system-prompt-gerado-no-passo-1]' },
|
|
1065
|
+
{ role: 'user', content: JSON.stringify(input.features) }
|
|
1066
|
+
],
|
|
1067
|
+
max_tokens: 64
|
|
1068
|
+
});
|
|
1069
|
+
|
|
1070
|
+
// 3. Parsear output do modelo (sempre JSON puro)
|
|
1071
|
+
const parsed = JSON.parse(aiRes.response);
|
|
1072
|
+
const output: AIModuleOutput = {
|
|
1073
|
+
lead_id: input.lead_id,
|
|
1074
|
+
result_class: parsed.class,
|
|
1075
|
+
confidence: parsed.confidence ?? 0,
|
|
1076
|
+
score: parsed.score ?? 0,
|
|
1077
|
+
reasoning: parsed.reasoning ?? '',
|
|
1078
|
+
model: '[modelo-escolhido]',
|
|
1079
|
+
latency_ms: 0, // preenchido pelo caller
|
|
1080
|
+
cached: false
|
|
1081
|
+
};
|
|
1082
|
+
|
|
1083
|
+
// 4. Salvar no KV (cache) e no D1 (persistência)
|
|
1084
|
+
await env.GEO_CACHE.put(cacheKey, JSON.stringify(output), { expirationTtl: 3600 });
|
|
1085
|
+
await env.DB.prepare(`
|
|
1086
|
+
INSERT INTO ai_[nome] (id, lead_id, input_hash, result_class, confidence, score, reasoning, model, pipeline)
|
|
1087
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1088
|
+
`).bind(crypto.randomUUID(), input.lead_id, input.input_hash, output.result_class,
|
|
1089
|
+
output.confidence, output.score, output.reasoning, output.model, input.pipeline ?? 'api')
|
|
1090
|
+
.run();
|
|
1091
|
+
|
|
1092
|
+
return output;
|
|
1093
|
+
}
|
|
1094
|
+
```
|
|
1095
|
+
|
|
1096
|
+
**Rotas REST criadas (sempre, independente do modo):**
|
|
1097
|
+
```
|
|
1098
|
+
POST /api/ai/[nome] → executa inferência ad-hoc
|
|
1099
|
+
GET /api/ai/[nome]/:lead_id → retorna último resultado salvo para o lead
|
|
1100
|
+
GET /api/ai/[nome]/stats → distribuição de classes + taxa de cache hit
|
|
1101
|
+
```
|
|
1102
|
+
|
|
1103
|
+
**Integração ao pipeline `/track` (somente se Modo A ou C):**
|
|
1104
|
+
```typescript
|
|
1105
|
+
// Em index.ts — dentro do handler POST /track, após Quiz Scoring e antes do CAPI Dispatch
|
|
1106
|
+
// Ordem runtime atualizada:
|
|
1107
|
+
// [1] Fraud Gate → [2] Quiz Scoring → [3] LTV → [3.x] [NOME] → [4] D1 → [5] CAPI
|
|
1108
|
+
|
|
1109
|
+
const [nomeResult] = await run[Nome](env, {
|
|
1110
|
+
lead_id: payload.userId,
|
|
1111
|
+
input_hash: await sha256(JSON.stringify(relevantFeatures)),
|
|
1112
|
+
features: relevantFeatures,
|
|
1113
|
+
pipeline: 'track'
|
|
1114
|
+
});
|
|
1115
|
+
|
|
1116
|
+
// Resultado disponível para enriquecer o CAPI dispatch
|
|
1117
|
+
payload.ai_[nome]_class = [nomeResult].result_class;
|
|
1118
|
+
payload.ai_[nome]_score = [nomeResult].score;
|
|
1119
|
+
```
|
|
1120
|
+
|
|
1121
|
+
---
|
|
1122
|
+
|
|
1123
|
+
**PASSO 4 — DevOps Agent**
|
|
1124
|
+
|
|
1125
|
+
Sequência de execução obrigatória:
|
|
1126
|
+
|
|
1127
|
+
```bash
|
|
1128
|
+
# 1. Verificar se binding [ai] já existe (não duplicar)
|
|
1129
|
+
! grep -c '\[ai\]' server-edge-tracker/wrangler.toml
|
|
1130
|
+
# Se retornar 0 → adicionar bloco [ai] binding = "AI"
|
|
1131
|
+
# Se retornar ≥1 → pular, já existe
|
|
1132
|
+
|
|
1133
|
+
# 2. Aplicar schema D1
|
|
1134
|
+
! wrangler d1 execute cdp-edge-db --file=server-edge-tracker/schema-ai-[nome].sql --remote
|
|
1135
|
+
|
|
1136
|
+
# 3. Deploy
|
|
1137
|
+
! wrangler deploy
|
|
1138
|
+
```
|
|
1139
|
+
|
|
1140
|
+
**Em caso de falha no deploy:** o DevOps Agent captura o erro, passa para o Debug Agent e tenta correção automática antes de escalar para o usuário.
|
|
1141
|
+
|
|
1142
|
+
---
|
|
1143
|
+
|
|
1144
|
+
**PASSO 5 — Validator Agent**
|
|
1145
|
+
|
|
1146
|
+
Smoke tests obrigatórios em sequência:
|
|
1147
|
+
|
|
1148
|
+
```bash
|
|
1149
|
+
# Test 1 — Inferência ad-hoc
|
|
1150
|
+
POST /api/ai/[nome]
|
|
1151
|
+
Body: { "lead_id": "smoke-test-001", "features": { [campo-principal]: [valor-teste] } }
|
|
1152
|
+
Esperado: 200 + { result_class, confidence, score, cached: false }
|
|
1153
|
+
|
|
1154
|
+
# Test 2 — Cache hit
|
|
1155
|
+
POST /api/ai/[nome] (mesmo payload)
|
|
1156
|
+
Esperado: 200 + { cached: true, latency_ms < 10 }
|
|
1157
|
+
|
|
1158
|
+
# Test 3 — Leitura do resultado
|
|
1159
|
+
GET /api/ai/[nome]/smoke-test-001
|
|
1160
|
+
Esperado: 200 + registro da tabela D1
|
|
1161
|
+
|
|
1162
|
+
# Test 4 — Stats
|
|
1163
|
+
GET /api/ai/[nome]/stats
|
|
1164
|
+
Esperado: 200 + { total, by_class: { ... }, cache_hit_rate }
|
|
1165
|
+
|
|
1166
|
+
# Test 5 — Pipeline /track (somente se Modo A ou C)
|
|
1167
|
+
POST /track com payload real
|
|
1168
|
+
Esperado: response contém ai_[nome]_class no resultado
|
|
1169
|
+
```
|
|
1170
|
+
|
|
1171
|
+
Se qualquer teste falhar: **bloquear** e escalar para Debug Agent antes de entregar ao usuário.
|
|
1172
|
+
|
|
1173
|
+
---
|
|
1174
|
+
|
|
1175
|
+
### SAÍDA FINAL AO USUÁRIO
|
|
1176
|
+
|
|
1177
|
+
```
|
|
1178
|
+
⚡ Módulo AI criado: [nome-do-módulo]
|
|
1179
|
+
|
|
1180
|
+
Modelo: @cf/[modelo]
|
|
1181
|
+
Tabela D1: ai_[nome] ([N] colunas tipadas + 3 índices)
|
|
1182
|
+
Cache KV: ai:[nome]:{hash} (TTL: 1h)
|
|
1183
|
+
|
|
1184
|
+
Rotas:
|
|
1185
|
+
POST /api/ai/[nome] → inferência
|
|
1186
|
+
GET /api/ai/[nome]/:lead_id → histórico
|
|
1187
|
+
GET /api/ai/[nome]/stats → métricas
|
|
1188
|
+
|
|
1189
|
+
Pipeline /track: [INTEGRADO na posição [3.x] | NÃO INTEGRADO]
|
|
1190
|
+
|
|
1191
|
+
Smoke tests: 5/5 ✅
|
|
1192
|
+
Deploy: OK — [worker-url]
|
|
1193
|
+
```
|
|
1194
|
+
|
|
1195
|
+
---
|
|
1196
|
+
|
|
919
1197
|
## COMANDO /setup — Fluxo principal de configuração
|
|
920
1198
|
|
|
921
1199
|
### MENSAGEM DE BOAS-VINDAS (disparar na ativação do agente)
|
|
@@ -980,7 +1258,7 @@ Logo após a boas-vindas, exibir:
|
|
|
980
1258
|
>
|
|
981
1259
|
> | # | Plataforma | O que será configurado |
|
|
982
1260
|
> |---|------------|----------------------|
|
|
983
|
-
> | **1** | **Meta Ads** (Facebook + Instagram) | Pixel browser + CAPI server-side
|
|
1261
|
+
> | **1** | **Meta Ads** (Facebook + Instagram) | Pixel browser + CAPI server-side v25.0 + WhatsApp CTWA |
|
|
984
1262
|
> | **2** | **Google Ads + GA4** | gtag browser + Measurement Protocol server-side + Enhanced Conversions |
|
|
985
1263
|
> | **3** | **TikTok Ads** | Pixel browser + Events API server-side v1.3 + Advanced Matching |
|
|
986
1264
|
> | **4** | **Pinterest Ads** | Tag browser + Conversions API server-side v5 |
|
|
@@ -1082,9 +1360,9 @@ Exibir:
|
|
|
1082
1360
|
|
|
1083
1361
|
**Bloco EVO CRM (OAuth2)** (incluir se CRM selecionado):
|
|
1084
1362
|
> - `EVO_CRM_BASE_URL` — URL base (ex: https://api-evocrm.dominio.com)
|
|
1085
|
-
> - `EVO_CRM_CLIENT_ID` — OAuth client_id
|
|
1086
|
-
> - `EVO_CRM_CLIENT_SECRET` — OAuth client_secret
|
|
1087
|
-
> - `EVO_CRM_INBOX_ID` — ID do inbox
|
|
1363
|
+
> - `EVO_CRM_CLIENT_ID` — OAuth client_id (Configurações -> Aplicações)
|
|
1364
|
+
> - `EVO_CRM_CLIENT_SECRET` — OAuth client_secret (O segredo do app)
|
|
1365
|
+
> - `EVO_CRM_INBOX_ID` — ID numérico do inbox (final da URL da caixa)
|
|
1088
1366
|
> - `EVO_CRM_DEFAULT_COUNTRY` — Dial code default (ex: 55)
|
|
1089
1367
|
> - `EVO_CRM_LOCALE` — Locale das notas (pt-BR | en-US | es-ES)
|
|
1090
1368
|
|
|
@@ -1500,7 +1778,7 @@ Antes de spawnar agentes em paralelo, seguir esta ordem **OBRIGATÓRIA**:
|
|
|
1500
1778
|
2. **UTM Agent** → Gera UTMs obfuscadas para segmentação de valor
|
|
1501
1779
|
3. **Premium Tracking Intelligence Agent** → Define estratégia de tracking (events, micro-events, behavioral signals)
|
|
1502
1780
|
4. **Browser Tracking Agent** → Gera cdpTrack.js com micro-events (scroll, time, video, heatmap)
|
|
1503
|
-
5. **Meta Agent** → Gera código Meta Pixel + CAPI
|
|
1781
|
+
5. **Meta Agent** → Gera código Meta Pixel + CAPI v25.0
|
|
1504
1782
|
6. **Google Agent** → Gera código GA4 + Google Ads
|
|
1505
1783
|
7. **TikTok Agent** → Gera código TikTok Pixel + Events API v1.3
|
|
1506
1784
|
8. **Server Tracking Agent** → Gera Cloudflare Worker + D1 + Queue com engagement scoring
|
|
@@ -1595,7 +1873,15 @@ Spawnar os agentes enterprise em ordem:
|
|
|
1595
1873
|
- W-Shape
|
|
1596
1874
|
- Data-Driven (requer histórico de dados)
|
|
1597
1875
|
|
|
1598
|
-
|
|
1876
|
+
6. **A/B LTV Testing Agent** (ab-ltv-agent.md)
|
|
1877
|
+
- Ativar experimentos A/B sobre o system prompt do Workers AI LTV
|
|
1878
|
+
- Aplicar `schema-ab-ltv.sql` no D1 (ltv_ab_tests + ltv_ab_assignments + ltv_ab_results)
|
|
1879
|
+
- Configurar rotas: `POST /api/ltv/ab-test/create`, `GET /api/ltv/ab-test/results`, `POST /api/ltv/ab-test/winner`
|
|
1880
|
+
- Integrar `getLtvAbVariation()` no fluxo `predictLtv()` do `index.ts`
|
|
1881
|
+
- Conectar resultado do webhook (compra real) ao `ltv_ab_assignments.converted` para scoring de acurácia
|
|
1882
|
+
- Downstream: ao detectar vencedor com `accuracy_improvement ≥ 5%`, notificar LTV Predictor Agent para atualizar o prompt padrão
|
|
1883
|
+
|
|
1884
|
+
7. **Security Enterprise Agent** (security-enterprise-agent.md)
|
|
1599
1885
|
- Implementar rate limiting (IP, user, global)
|
|
1600
1886
|
- Configurar IP blacklist/whitelist
|
|
1601
1887
|
- Implementar input validation com Joi
|
|
@@ -1604,14 +1890,14 @@ Spawnar os agentes enterprise em ordem:
|
|
|
1604
1890
|
- Criar audit logging completo
|
|
1605
1891
|
- Criar D1 schemas: ip_blacklist, ip_whitelist, ip_violations, audit_logs
|
|
1606
1892
|
|
|
1607
|
-
|
|
1893
|
+
8. **Performance Optimization Agent** (performance-optimization-agent.md)
|
|
1608
1894
|
- Implementar caching multi-camada (L1 memory, L2 KV, L3 D1)
|
|
1609
1895
|
- Criar índices otimizados para D1
|
|
1610
1896
|
- Implementar batch processing para atribuição
|
|
1611
1897
|
- Configurar latency profiling
|
|
1612
1898
|
- Criar endpoints de monitoramento de performance
|
|
1613
1899
|
|
|
1614
|
-
|
|
1900
|
+
9. **Compliance Agent** (compliance-agent.md)
|
|
1615
1901
|
- Implementar consent management (GDPR, LGPD, CCPA)
|
|
1616
1902
|
- Configurar data rights (access, deletion, portability, rectification)
|
|
1617
1903
|
- Implementar data retention policies automatizadas
|
|
@@ -1630,6 +1916,7 @@ Usar `AskUserQuestion` com multi-select para permitir múltiplas seleções:
|
|
|
1630
1916
|
> - [ ] **Match Quality** (garante que só dado com valor real vai para as plataformas — EMQ Score)
|
|
1631
1917
|
> - [ ] **ROAS Feedback + Nurture** (ROAS real por campanha + follow-up automático pós-quiz)
|
|
1632
1918
|
> - [x] Multi-Touch Attribution
|
|
1919
|
+
> - [ ] **A/B LTV Testing** (testa variações do prompt LTV → aumenta precisão preditiva em até +25%)
|
|
1633
1920
|
> - [ ] Security Enterprise (rate limiting, IP blocking)
|
|
1634
1921
|
> - [ ] Performance Optimization (caching, query optimization)
|
|
1635
1922
|
> - [ ] Compliance (GDPR, LGPD, Consent Management)
|
|
@@ -1877,7 +2164,7 @@ Apresentar o resultado organizado com resumo de eventos e próximos passos.
|
|
|
1877
2164
|
## 📊 Resumo do Setup
|
|
1878
2165
|
|
|
1879
2166
|
### Plataformas Configuradas:
|
|
1880
|
-
- [x] Meta (Facebook Pixel + CAPI
|
|
2167
|
+
- [x] Meta (Facebook Pixel + CAPI v25.0)
|
|
1881
2168
|
- [x] Google (GA4 + Google Ads Enhanced)
|
|
1882
2169
|
- [x] TikTok (Pixel + Events API v1.3)
|
|
1883
2170
|
|
|
@@ -1956,6 +2243,10 @@ Apresentar o resultado organizado com resumo de eventos e próximos passos.
|
|
|
1956
2243
|
wrangler secret put META_ACCESS_TOKEN
|
|
1957
2244
|
wrangler secret put GA4_API_SECRET
|
|
1958
2245
|
wrangler secret put TIKTOK_ACCESS_TOKEN
|
|
2246
|
+
wrangler secret put EVO_CRM_BASE_URL
|
|
2247
|
+
wrangler secret put EVO_CRM_CLIENT_ID
|
|
2248
|
+
wrangler secret put EVO_CRM_CLIENT_SECRET
|
|
2249
|
+
wrangler secret put EVO_CRM_INBOX_ID
|
|
1959
2250
|
```
|
|
1960
2251
|
|
|
1961
2252
|
3. **Testar Eventos:**
|
|
@@ -2013,7 +2304,7 @@ Após entregar o resultado ao usuário, o Master Orchestrator DEVE:
|
|
|
2013
2304
|
"events_mapped": ["Lead", "Purchase", "InitiateCheckout"],
|
|
2014
2305
|
"files_created": ["tracking.js", "index.ts", "schema.sql"],
|
|
2015
2306
|
"api_versions": {
|
|
2016
|
-
"meta": "
|
|
2307
|
+
"meta": "v25.0",
|
|
2017
2308
|
"tiktok": "v1.3",
|
|
2018
2309
|
"google": "GA4_MP"
|
|
2019
2310
|
},
|
|
@@ -2025,7 +2316,7 @@ Após entregar o resultado ao usuário, o Master Orchestrator DEVE:
|
|
|
2025
2316
|
{
|
|
2026
2317
|
"agent": "meta-agent",
|
|
2027
2318
|
"issue": "API version desatualizada",
|
|
2028
|
-
"fix_applied": "Atualizado para
|
|
2319
|
+
"fix_applied": "Atualizado para v25.0"
|
|
2029
2320
|
}
|
|
2030
2321
|
],
|
|
2031
2322
|
"validation_status": {
|
|
@@ -253,7 +253,7 @@ POST /track
|
|
|
253
253
|
├─ autoEnrichPayload() ← MATCH QUALITY AGENT age aqui
|
|
254
254
|
│ → recupera email/fbp/phone do Identity Graph
|
|
255
255
|
├─ buildMetaCAPIPayload()
|
|
256
|
-
├─ fetch Meta CAPI
|
|
256
|
+
├─ fetch Meta CAPI v25.0
|
|
257
257
|
└─ logMatchQuality() em background ← registra flags
|
|
258
258
|
|
|
259
259
|
Cron a cada 2h:
|
|
@@ -167,8 +167,8 @@ O Memory Agent não é só um conceito — ele tem uma implementação técnica
|
|
|
167
167
|
|
|
168
168
|
"api_versions": {
|
|
169
169
|
"meta": {
|
|
170
|
-
"pixel": "
|
|
171
|
-
"capi": "
|
|
170
|
+
"pixel": "v25.0",
|
|
171
|
+
"capi": "v25.0",
|
|
172
172
|
"verified_at": "2025-03-27T14:00:00.000Z"
|
|
173
173
|
},
|
|
174
174
|
"google": {
|
|
@@ -202,7 +202,7 @@ O Memory Agent não é só um conceito — ele tem uma implementação técnica
|
|
|
202
202
|
"verified_at": null
|
|
203
203
|
},
|
|
204
204
|
"whatsapp": {
|
|
205
|
-
"cloud_api": "
|
|
205
|
+
"cloud_api": "v25.0",
|
|
206
206
|
"verified_at": null
|
|
207
207
|
},
|
|
208
208
|
"bing": {
|
|
@@ -312,7 +312,7 @@ O Memory Agent não é só um conceito — ele tem uma implementação técnica
|
|
|
312
312
|
"id": "correction_001",
|
|
313
313
|
"agent": "meta-agent",
|
|
314
314
|
"issue": "API version desatualizada detectada",
|
|
315
|
-
"fix": "Atualizado de v21.0 para
|
|
315
|
+
"fix": "Atualizado de v21.0 para v25.0",
|
|
316
316
|
"fixed_by": "validator-agent (auto)",
|
|
317
317
|
"timestamp": "2025-03-27T14:40:00.000Z",
|
|
318
318
|
"revalidated": true
|
|
@@ -372,7 +372,7 @@ O Memory Agent não é só um conceito — ele tem uma implementação técnica
|
|
|
372
372
|
"type": "api_version_check",
|
|
373
373
|
"platform": "meta",
|
|
374
374
|
"result": "current",
|
|
375
|
-
"details": "Meta CAPI
|
|
375
|
+
"details": "Meta CAPI v25.0 está atualizado",
|
|
376
376
|
"timestamp": "2025-03-27T14:00:00.000Z"
|
|
377
377
|
}
|
|
378
378
|
]
|
|
@@ -616,17 +616,17 @@ Verifique o código existente antes de reimplementar.
|
|
|
616
616
|
|
|
617
617
|
```
|
|
618
618
|
Chat:
|
|
619
|
-
@validator-agent: Vou validar se está usando Meta CAPI
|
|
619
|
+
@validator-agent: Vou validar se está usando Meta CAPI v25.0...
|
|
620
620
|
|
|
621
621
|
Memory Agent (detecta versão inconsistente):
|
|
622
622
|
🔴 VERSÃO INCORRETA!
|
|
623
623
|
|
|
624
624
|
Verificação no Memory Agent:
|
|
625
|
-
- Meta API configurada:
|
|
625
|
+
- Meta API configurada: v25.0
|
|
626
626
|
- Version verify: 2025-03-27T14:00:00Z
|
|
627
627
|
- Agent usando: v21.0
|
|
628
628
|
|
|
629
|
-
AÇÃO CORRETA: Atualizar código para
|
|
629
|
+
AÇÃO CORRETA: Atualizar código para v25.0.
|
|
630
630
|
Intelligence Agent já alertou sobre desatualização.
|
|
631
631
|
```
|
|
632
632
|
|
|
@@ -14,7 +14,7 @@ Especialista exclusivo em Meta Pixel (browser via cdpTrack) + Meta Conversions A
|
|
|
14
14
|
|
|
15
15
|
## 🏗️ ARQUITETURA Quantum Tier
|
|
16
16
|
- **Browser**: Use `cdpTrack.js` para captura direta.
|
|
17
|
-
- **Server**: Cloudflare Worker enviando para `/
|
|
17
|
+
- **Server**: Cloudflare Worker enviando para `/v25.0/{PIXEL_ID}/events`.
|
|
18
18
|
- **Database**: D1 para persistência de `fbp` e `fbc`.
|
|
19
19
|
|
|
20
20
|
---
|
|
@@ -29,9 +29,9 @@ const apiVersions = await readJSON('contracts/api-versions.json');
|
|
|
29
29
|
const metaVersion = apiVersions.meta;
|
|
30
30
|
|
|
31
31
|
// Extrair versões necessárias
|
|
32
|
-
const currentPixelVersion = metaVersion.versions.pixel.current; // "
|
|
33
|
-
const currentCapiVersion = metaVersion.versions.capi.current; // "
|
|
34
|
-
const recommendedVersion = metaVersion.versions.pixel.recommended; // "
|
|
32
|
+
const currentPixelVersion = metaVersion.versions.pixel.current; // "v25.0"
|
|
33
|
+
const currentCapiVersion = metaVersion.versions.capi.current; // "v25.0"
|
|
34
|
+
const recommendedVersion = metaVersion.versions.pixel.recommended; // "v25.0"
|
|
35
35
|
const minimumSupported = metaVersion.versions.pixel.minimum_supported; // "v21.0"
|
|
36
36
|
|
|
37
37
|
// Verificar depreciação
|
|
@@ -58,7 +58,7 @@ cdpTrack.track('Lead', {
|
|
|
58
58
|
});
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
### 2. Server (CAPI
|
|
61
|
+
### 2. Server (CAPI v25.0)
|
|
62
62
|
Gere payloads para o Worker seguir a API oficial da Meta:
|
|
63
63
|
- `action_source`: 'website' (obrigatório)
|
|
64
64
|
- `event_id`: Identidade única compartilhada (deduplicação)
|
|
@@ -70,7 +70,7 @@ Gere payloads para o Worker seguir a API oficial da Meta:
|
|
|
70
70
|
- **Browser**: Use `cdpTrack.js` para captura e despacho direto.
|
|
71
71
|
- **Hashing**: Use `crypto.subtle.digest` (SHA-256) para PII no Worker.
|
|
72
72
|
- **Deduplicação**: Inclua sempre o `event_id` único gerado no browser.
|
|
73
|
-
- **Versão da API**: Utilize estritamente a API **
|
|
73
|
+
- **Versão da API**: Utilize estritamente a API **v25.0**.
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
@@ -86,7 +86,7 @@ Gere payloads para o Worker seguir a API oficial da Meta:
|
|
|
86
86
|
## RESPONSABILIDADE
|
|
87
87
|
|
|
88
88
|
- Gerar código Meta Pixel browser via `cdpTrack.track()` para todos os eventos mapeados
|
|
89
|
-
- Gerar função `dispatchMetaCapi()` no Worker com CAPI
|
|
89
|
+
- Gerar função `dispatchMetaCapi()` no Worker com CAPI v25.0
|
|
90
90
|
- Implementar Advanced Matching Máximo: `em`, `ph`, `fn`, `ln`, `ct`, `st`, `zp`, `country`, `external_id`, `fbp`, `fbc`
|
|
91
91
|
- Garantir deduplicação browser↔server via `event_id` idêntico
|
|
92
92
|
- Aplicar SHA-256 via WebCrypto API em todos os campos PII antes do dispatch
|
|
@@ -101,7 +101,7 @@ Gere payloads para o Worker seguir a API oficial da Meta:
|
|
|
101
101
|
"browser": "cdpTrack.js (eventos Meta injetados)",
|
|
102
102
|
"server": "modules/dispatch/meta.ts"
|
|
103
103
|
},
|
|
104
|
-
"versao_api": "
|
|
104
|
+
"versao_api": "v25.0",
|
|
105
105
|
"eventos_implementados": ["PageView", "Lead", "InitiateCheckout", "Purchase", "ViewContent"],
|
|
106
106
|
"advanced_matching": {
|
|
107
107
|
"campos": ["em", "ph", "fn", "ln", "ct", "st", "zp", "country", "external_id", "fbp", "fbc"],
|
|
@@ -744,6 +744,26 @@ curl "https://seudominio.com/api/segmentation/outliers?limit=20"
|
|
|
744
744
|
|
|
745
745
|
---
|
|
746
746
|
|
|
747
|
+
## COMANDO *new-ai-module — Ativação por módulo genérico
|
|
748
|
+
|
|
749
|
+
Este agente também é invocado pelo Master Orchestrator quando recebe o comando `*new-ai-module` com descrição do tipo:
|
|
750
|
+
**segmentar, agrupar, cluster, similaridade, perfil, embedding, distribuição**
|
|
751
|
+
|
|
752
|
+
### Responsabilidade no PASSO 1 do pipeline *new-ai-module
|
|
753
|
+
|
|
754
|
+
Entregar obrigatoriamente ao Master Orchestrator:
|
|
755
|
+
|
|
756
|
+
1. **Modelo escolhido** — para clustering semântico: `@cf/baai/bge-m3`; para auto-labeling de segmentos: `@cf/ibm-granite/granite-4.0-h-micro`
|
|
757
|
+
2. **Estratégia de clustering** — K-means (grupos fixos) ou DBSCAN (anomalias/fraude), com `n_clusters` recomendado
|
|
758
|
+
3. **Pipeline de features** — quais campos do payload ou da tabela D1 alimentam o vetor de embedding
|
|
759
|
+
4. **Contrato de output** — `{ segment_id, segment_label, similarity_score, cluster_method }`
|
|
760
|
+
5. **TTL de cache KV recomendado** — padrão 3600s; para segmentos comportamentais usar 1800s
|
|
761
|
+
6. **Posição no pipeline `/track`** — se Modo A ou C, este módulo entra após LTV Prediction
|
|
762
|
+
|
|
763
|
+
> **Regra:** Responder com o pacote completo em uma única mensagem. Sem perguntas de volta ao Orchestrator.
|
|
764
|
+
|
|
765
|
+
---
|
|
766
|
+
|
|
747
767
|
*ML Clustering Agent v1.0 — Segmentação Dinâmica ML*
|
|
748
768
|
*Versão: 1.0 — Criado em: 9 de Abril de 2026*
|
|
749
769
|
*Status: Ready para implementação*
|
|
@@ -61,7 +61,7 @@ Antes de mapear elementos, identifique o **modelo de negócio** da página para
|
|
|
61
61
|
---
|
|
62
62
|
|
|
63
63
|
## 🏁 RETORNO JSON
|
|
64
|
-
Retorne o JSON seguindo o padrão `cdpTrack`, focando em `seletores` CSS diretos e `eventos` compatíveis com Meta CAPI
|
|
64
|
+
Retorne o JSON seguindo o padrão `cdpTrack`, focando em `seletores` CSS diretos e `eventos` compatíveis com Meta CAPI v25.0 e TikTok v1.3.
|
|
65
65
|
|
|
66
66
|
## PASSO 6 — Retornar JSON estruturado
|
|
67
67
|
|
package/extracted-skill/tracking-events-generator/agents/premium-tracking-intelligence-agent.md
CHANGED
|
@@ -810,7 +810,7 @@ const serverTracking = {
|
|
|
810
810
|
- [x] Calcular Engagement Score (0.0 - 5.0)
|
|
811
811
|
- [x] Classificar intenção (curioso, interessado, comprador)
|
|
812
812
|
- [x] Hashing de PII (SHA256: email, phone, name, city, state, zip)
|
|
813
|
-
- [x] Despachar para Meta CAPI
|
|
813
|
+
- [x] Despachar para Meta CAPI v25.0 (event_id, user_data, custom_data)
|
|
814
814
|
- [x] Despachar para Google GA4 MP (event_name, user_properties)
|
|
815
815
|
- [x] Despachar para TikTok Events API v1.3 (event, context, properties)
|
|
816
816
|
- [x] Persistir no D1 (Identity Graph + events_log)
|
|
@@ -26,7 +26,7 @@ Browser (Cliente) Worker (Server-Side) APIs (Meta/Google/TikT
|
|
|
26
26
|
│ ├─► [6] Audit Logging ──────┤
|
|
27
27
|
│ ├─► [7] Encryption ─────────────┤
|
|
28
28
|
│ └─► Processar evento ──────────────►│
|
|
29
|
-
│ │ (Meta CAPI
|
|
29
|
+
│ │ (Meta CAPI v25.0) │
|
|
30
30
|
│ │ (TikTok v1.3) │
|
|
31
31
|
│ │ (GA4 MP) │
|
|
32
32
|
│ │ │
|