cdp-edge 1.2.2 β 1.4.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 +253 -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 +24 -5
- package/extracted-skill/tracking-events-generator/agents/master-feedback-loop.md +81 -21
- package/extracted-skill/tracking-events-generator/agents/master-orchestrator.md +588 -93
- package/extracted-skill/tracking-events-generator/agents/match-quality-agent.md +304 -0
- 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 +769 -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
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// CDP Edge Premium - API Contracts & Typings
|
|
2
|
+
|
|
3
|
+
export interface QuantumEventPayload {
|
|
4
|
+
eventName: string;
|
|
5
|
+
eventId: string;
|
|
6
|
+
userId: string;
|
|
7
|
+
email?: string | null;
|
|
8
|
+
phone?: string | null;
|
|
9
|
+
firstName?: string | null;
|
|
10
|
+
lastName?: string | null;
|
|
11
|
+
city?: string | null;
|
|
12
|
+
state?: string | null;
|
|
13
|
+
zip?: string | null;
|
|
14
|
+
country?: string | null;
|
|
15
|
+
|
|
16
|
+
// Identifiers
|
|
17
|
+
fbp?: string | null;
|
|
18
|
+
fbc?: string | null;
|
|
19
|
+
ttp?: string | null;
|
|
20
|
+
gaClientId?: string | null;
|
|
21
|
+
|
|
22
|
+
// Parameters
|
|
23
|
+
value?: number | null;
|
|
24
|
+
currency?: string;
|
|
25
|
+
contentIds?: string[];
|
|
26
|
+
contentName?: string;
|
|
27
|
+
contentType?: string;
|
|
28
|
+
pageUrl?: string;
|
|
29
|
+
orderId?: string;
|
|
30
|
+
|
|
31
|
+
// Quantum Tracking Details
|
|
32
|
+
intentScoreNum?: number | null;
|
|
33
|
+
metaSignal?: number;
|
|
34
|
+
distanceBucket?: string;
|
|
35
|
+
funnelLevel?: string;
|
|
36
|
+
botScore?: number;
|
|
37
|
+
|
|
38
|
+
// Any extra params
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface AgencyContext {
|
|
43
|
+
// Required Env mappings for specialists
|
|
44
|
+
META_ACCESS_TOKEN?: string;
|
|
45
|
+
META_PIXEL_ID?: string;
|
|
46
|
+
GA4_API_SECRET?: string;
|
|
47
|
+
GA4_MEASUREMENT_ID?: string;
|
|
48
|
+
TIKTOK_ACCESS_TOKEN?: string;
|
|
49
|
+
TIKTOK_PIXEL_ID?: string;
|
|
50
|
+
PINTEREST_ACCESS_TOKEN?: string;
|
|
51
|
+
PINTEREST_AD_ACCOUNT_ID?: string;
|
|
52
|
+
REDDIT_ACCESS_TOKEN?: string;
|
|
53
|
+
REDDIT_AD_ACCOUNT_ID?: string;
|
|
54
|
+
LINKEDIN_ACCESS_TOKEN?: string;
|
|
55
|
+
LINKEDIN_AD_ACCOUNT_ID?: string;
|
|
56
|
+
SPOTIFY_ACCESS_TOKEN?: string;
|
|
57
|
+
SPOTIFY_AD_ACCOUNT_ID?: string;
|
|
58
|
+
|
|
59
|
+
// Databases and Stores
|
|
60
|
+
DB?: any; // D1 Database
|
|
61
|
+
GEO_CACHE?: any; // KV Namespace
|
|
62
|
+
RATE_LIMITER?: any;
|
|
63
|
+
SITE_DOMAIN?: string;
|
|
64
|
+
|
|
65
|
+
[key: string]: any;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface ApiVersionsConfig {
|
|
69
|
+
metadata: {
|
|
70
|
+
version: string;
|
|
71
|
+
};
|
|
72
|
+
meta: any;
|
|
73
|
+
google: any;
|
|
74
|
+
tiktok: any;
|
|
75
|
+
pinterest: any;
|
|
76
|
+
reddit: any;
|
|
77
|
+
linkedin: any;
|
|
78
|
+
bing: any;
|
|
79
|
+
youtube: any;
|
|
80
|
+
spotify: any;
|
|
81
|
+
}
|
package/dist/commands/analyze.js
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Analyze Command - AnΓ‘lise de pΓ‘ginas
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import inquirer from 'inquirer';
|
|
6
|
-
import chalk from 'chalk';
|
|
7
|
-
import ora from 'ora';
|
|
8
|
-
import { promises as fs } from 'fs';
|
|
9
|
-
|
|
10
|
-
export async function runAnalyze(dir) {
|
|
11
|
-
console.log(chalk.cyan.bold('\n CDP Edge - Page Analyzer\n'));
|
|
12
|
-
|
|
13
|
-
const spinner = ora('Analisando arquivos...').start();
|
|
14
|
-
|
|
15
|
-
try {
|
|
16
|
-
// Busca arquivos HTML/JS no diretΓ³rio
|
|
17
|
-
const files = await findProjectFiles(dir);
|
|
18
|
-
|
|
19
|
-
spinner.succeed(`Encontrados ${files.length} arquivos`);
|
|
20
|
-
|
|
21
|
-
// AnΓ‘lise dos eventos detectados
|
|
22
|
-
const events = await analyzeEvents(files);
|
|
23
|
-
|
|
24
|
-
console.log('\n' + chalk.yellow('Eventos detectados:'));
|
|
25
|
-
console.log(formatEventAnalysis(events));
|
|
26
|
-
|
|
27
|
-
} catch (error) {
|
|
28
|
-
spinner.fail('Erro na anΓ‘lise');
|
|
29
|
-
console.error(error);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async function findProjectFiles(dir) {
|
|
34
|
-
// Em produΓ§Γ£o, faria glob real dos arquivos
|
|
35
|
-
return ['index.html', 'checkout.html', 'thankyou.html'];
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
async function analyzeEvents(files) {
|
|
39
|
-
// Em produΓ§Γ£o, analisaria cada arquivo com o Page Analyzer Agent
|
|
40
|
-
return {
|
|
41
|
-
leads: 2,
|
|
42
|
-
purchases: 1,
|
|
43
|
-
views: 3,
|
|
44
|
-
custom: 0
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function formatEventAnalysis(events) {
|
|
49
|
-
return Object.entries(events)
|
|
50
|
-
.map(([type, count]) => ` ${chalk.cyan(type)}: ${count}`)
|
|
51
|
-
.join('\n');
|
|
52
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Analyze Command - AnΓ‘lise de pΓ‘ginas
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import inquirer from 'inquirer';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import ora from 'ora';
|
|
8
|
+
import { promises as fs } from 'fs';
|
|
9
|
+
|
|
10
|
+
export async function runAnalyze(dir) {
|
|
11
|
+
console.log(chalk.cyan.bold('\n CDP Edge - Page Analyzer\n'));
|
|
12
|
+
|
|
13
|
+
const spinner = ora('Analisando arquivos...').start();
|
|
14
|
+
|
|
15
|
+
try {
|
|
16
|
+
// Busca arquivos HTML/JS no diretΓ³rio
|
|
17
|
+
const files = await findProjectFiles(dir);
|
|
18
|
+
|
|
19
|
+
spinner.succeed(`Encontrados ${files.length} arquivos`);
|
|
20
|
+
|
|
21
|
+
// AnΓ‘lise dos eventos detectados
|
|
22
|
+
const events = await analyzeEvents(files);
|
|
23
|
+
|
|
24
|
+
console.log('\n' + chalk.yellow('Eventos detectados:'));
|
|
25
|
+
console.log(formatEventAnalysis(events));
|
|
26
|
+
|
|
27
|
+
} catch (error) {
|
|
28
|
+
spinner.fail('Erro na anΓ‘lise');
|
|
29
|
+
console.error(error);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async function findProjectFiles(dir) {
|
|
34
|
+
// Em produΓ§Γ£o, faria glob real dos arquivos
|
|
35
|
+
return ['index.html', 'checkout.html', 'thankyou.html'];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async function analyzeEvents(files) {
|
|
39
|
+
// Em produΓ§Γ£o, analisaria cada arquivo com o Page Analyzer Agent
|
|
40
|
+
return {
|
|
41
|
+
leads: 2,
|
|
42
|
+
purchases: 1,
|
|
43
|
+
views: 3,
|
|
44
|
+
custom: 0
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function formatEventAnalysis(events) {
|
|
49
|
+
return Object.entries(events)
|
|
50
|
+
.map(([type, count]) => ` ${chalk.cyan(type)}: ${count}`)
|
|
51
|
+
.join('\n');
|
|
52
|
+
}
|
package/dist/commands/infra.js
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Infra Command - Guia de setup Cloudflare
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import chalk from 'chalk';
|
|
6
|
-
|
|
7
|
-
export async function runInfra() {
|
|
8
|
-
console.log(chalk.cyan.bold('\n CDP Edge - Guia de Infraestrutura Cloudflare\n'));
|
|
9
|
-
|
|
10
|
-
const guide = `
|
|
11
|
-
|
|
12
|
-
${chalk.yellow.bold('π Setup do Zero ao Deploy')}
|
|
13
|
-
|
|
14
|
-
${chalk.cyan.bold('PASSO 1: Criar Conta Cloudflare')}
|
|
15
|
-
1. Acesse https://dash.cloudflare.com/sign-up
|
|
16
|
-
2. Crie uma conta gratuita
|
|
17
|
-
3. Adicione seu domΓnio (opcional para testes)
|
|
18
|
-
|
|
19
|
-
${chalk.cyan.bold('PASSO 2: Instalar Wrangler CLI')}
|
|
20
|
-
npm install -g wrangler
|
|
21
|
-
wrangler login
|
|
22
|
-
|
|
23
|
-
${chalk.cyan.bold('PASSO 3: Criar D1 Database')}
|
|
24
|
-
wrangler d1 create cdp-edge-db
|
|
25
|
-
# Copie o database_id gerado
|
|
26
|
-
|
|
27
|
-
${chalk.cyan.bold('PASSO 4: Criar Worker')}
|
|
28
|
-
wrangler init cdp-edge-worker
|
|
29
|
-
# Responda Γ s perguntas do wizard
|
|
30
|
-
|
|
31
|
-
${chalk.cyan.bold('PASSO 5: Configurar Secrets')}
|
|
32
|
-
wrangler secret put META_ACCESS_TOKEN
|
|
33
|
-
wrangler secret put TIKTOK_ACCESS_TOKEN
|
|
34
|
-
wrangler secret put GA4_MEASUREMENT_ID
|
|
35
|
-
|
|
36
|
-
${chalk.cyan.bold('PASSO 6: Aplicar Schema D1')}
|
|
37
|
-
wrangler d1 execute cdp-edge-db --file=schema.sql
|
|
38
|
-
|
|
39
|
-
${chalk.cyan.bold('PASSO 7: Deploy')}
|
|
40
|
-
wrangler deploy
|
|
41
|
-
|
|
42
|
-
${chalk.cyan.bold('PASSO 8: Configurar DomΓnio')}
|
|
43
|
-
# No dashboard Cloudflare:
|
|
44
|
-
# 1. Workers & Pages β Routes β Add Route
|
|
45
|
-
# 2. Exemplo: seu-dominio.com/api/tracking/*
|
|
46
|
-
# 3. Aponte para o worker criado
|
|
47
|
-
|
|
48
|
-
${chalk.green.bold('β
Pronto! Seu tracking Quantum Tier estΓ‘ ativo.')}
|
|
49
|
-
|
|
50
|
-
${chalk.gray('Para mais detalhes, consulte docs/guia-cloudflare-iniciante.md')}
|
|
51
|
-
`;
|
|
52
|
-
|
|
53
|
-
console.log(guide);
|
|
54
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Infra Command - Guia de setup Cloudflare
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
|
|
7
|
+
export async function runInfra() {
|
|
8
|
+
console.log(chalk.cyan.bold('\n CDP Edge - Guia de Infraestrutura Cloudflare\n'));
|
|
9
|
+
|
|
10
|
+
const guide = `
|
|
11
|
+
|
|
12
|
+
${chalk.yellow.bold('π Setup do Zero ao Deploy')}
|
|
13
|
+
|
|
14
|
+
${chalk.cyan.bold('PASSO 1: Criar Conta Cloudflare')}
|
|
15
|
+
1. Acesse https://dash.cloudflare.com/sign-up
|
|
16
|
+
2. Crie uma conta gratuita
|
|
17
|
+
3. Adicione seu domΓnio (opcional para testes)
|
|
18
|
+
|
|
19
|
+
${chalk.cyan.bold('PASSO 2: Instalar Wrangler CLI')}
|
|
20
|
+
npm install -g wrangler
|
|
21
|
+
wrangler login
|
|
22
|
+
|
|
23
|
+
${chalk.cyan.bold('PASSO 3: Criar D1 Database')}
|
|
24
|
+
wrangler d1 create cdp-edge-db
|
|
25
|
+
# Copie o database_id gerado
|
|
26
|
+
|
|
27
|
+
${chalk.cyan.bold('PASSO 4: Criar Worker')}
|
|
28
|
+
wrangler init cdp-edge-worker
|
|
29
|
+
# Responda Γ s perguntas do wizard
|
|
30
|
+
|
|
31
|
+
${chalk.cyan.bold('PASSO 5: Configurar Secrets')}
|
|
32
|
+
wrangler secret put META_ACCESS_TOKEN
|
|
33
|
+
wrangler secret put TIKTOK_ACCESS_TOKEN
|
|
34
|
+
wrangler secret put GA4_MEASUREMENT_ID
|
|
35
|
+
|
|
36
|
+
${chalk.cyan.bold('PASSO 6: Aplicar Schema D1')}
|
|
37
|
+
wrangler d1 execute cdp-edge-db --file=schema.sql
|
|
38
|
+
|
|
39
|
+
${chalk.cyan.bold('PASSO 7: Deploy')}
|
|
40
|
+
wrangler deploy
|
|
41
|
+
|
|
42
|
+
${chalk.cyan.bold('PASSO 8: Configurar DomΓnio')}
|
|
43
|
+
# No dashboard Cloudflare:
|
|
44
|
+
# 1. Workers & Pages β Routes β Add Route
|
|
45
|
+
# 2. Exemplo: seu-dominio.com/api/tracking/*
|
|
46
|
+
# 3. Aponte para o worker criado
|
|
47
|
+
|
|
48
|
+
${chalk.green.bold('β
Pronto! Seu tracking Quantum Tier estΓ‘ ativo.')}
|
|
49
|
+
|
|
50
|
+
${chalk.gray('Para mais detalhes, consulte docs/guia-cloudflare-iniciante.md')}
|
|
51
|
+
`;
|
|
52
|
+
|
|
53
|
+
console.log(guide);
|
|
54
|
+
}
|
package/dist/commands/install.js
CHANGED
|
@@ -18,16 +18,39 @@ import chalk from 'chalk';
|
|
|
18
18
|
|
|
19
19
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
20
20
|
|
|
21
|
+
// Ler versΓ£o do package.json
|
|
22
|
+
const packageJsonPath = path.join(__dirname, '..', '..', 'package.json');
|
|
23
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
24
|
+
const CDP_VERSION = packageJson.version;
|
|
25
|
+
|
|
21
26
|
// Raiz do pacote CDP Edge (2 nΓveis acima de dist/commands/)
|
|
22
27
|
const CDP_EDGE_ROOT = path.resolve(__dirname, '..', '..');
|
|
23
28
|
|
|
29
|
+
function printBanner() {
|
|
30
|
+
console.log('');
|
|
31
|
+
console.log(chalk.white.bold(' CDP Edge Installation'));
|
|
32
|
+
console.log('');
|
|
33
|
+
console.log(chalk.cyan(' ββββββββββββββ βββββββ βββββββββββββββ βββββββ ββββββββ'));
|
|
34
|
+
console.log(chalk.cyan('ββββββββββββββββββββββββ ββββββββββββββββββββββββ ββββββββ'));
|
|
35
|
+
console.log(chalk.cyan('βββ βββ βββββββββββ ββββββ βββ ββββββ ββββββββββ '));
|
|
36
|
+
console.log(chalk.cyan('βββ βββ ββββββββββ ββββββ βββ ββββββ βββββββββ '));
|
|
37
|
+
console.log(chalk.cyan('βββββββββββββββββββ βββββββββββββββββββββββββββββββββ'));
|
|
38
|
+
console.log(chalk.cyan(' ββββββββββββββ βββ βββββββββββββββ βββββββββββββββ'));
|
|
39
|
+
console.log('');
|
|
40
|
+
console.log(chalk.gray(` Customer Data Platform on the Edge Β· Global Edge Tracking Β· v${CDP_VERSION}`));
|
|
41
|
+
console.log('');
|
|
42
|
+
console.log(chalk.gray('β'.repeat(68)));
|
|
43
|
+
console.log('');
|
|
44
|
+
}
|
|
45
|
+
|
|
24
46
|
export async function runInstall(targetDir = '.', options = {}) {
|
|
25
47
|
const projectName = options.name || path.basename(path.resolve(targetDir));
|
|
26
48
|
const target = path.resolve(targetDir);
|
|
27
49
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
console.log(chalk.gray(`
|
|
50
|
+
printBanner();
|
|
51
|
+
|
|
52
|
+
console.log(chalk.gray(` Projeto: ${chalk.white(projectName)}`));
|
|
53
|
+
console.log(chalk.gray(` Destino: ${chalk.white(target)}\n`));
|
|
31
54
|
|
|
32
55
|
// 1. Garantir que o diretΓ³rio alvo existe
|
|
33
56
|
if (!fs.existsSync(target)) {
|