@ucptools/validator 1.1.0 → 1.2.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.
Files changed (48) hide show
  1. package/dist/generator/profile-builder.d.ts.map +1 -1
  2. package/dist/generator/profile-builder.js +158 -115
  3. package/dist/generator/profile-builder.js.map +1 -1
  4. package/dist/lib/analytics.d.ts +20 -8
  5. package/dist/lib/analytics.d.ts.map +1 -1
  6. package/dist/lib/analytics.js +11 -1
  7. package/dist/lib/analytics.js.map +1 -1
  8. package/dist/services/badge.js +2 -2
  9. package/dist/services/badge.js.map +1 -1
  10. package/dist/services/cron.d.ts +2 -0
  11. package/dist/services/cron.d.ts.map +1 -1
  12. package/dist/services/cron.js +82 -2
  13. package/dist/services/cron.js.map +1 -1
  14. package/dist/services/email.d.ts +15 -0
  15. package/dist/services/email.d.ts.map +1 -1
  16. package/dist/services/email.js +165 -61
  17. package/dist/services/email.js.map +1 -1
  18. package/dist/services/posthog.d.ts +43 -0
  19. package/dist/services/posthog.d.ts.map +1 -0
  20. package/dist/services/posthog.js +110 -0
  21. package/dist/services/posthog.js.map +1 -0
  22. package/dist/types/generator.d.ts +4 -0
  23. package/dist/types/generator.d.ts.map +1 -1
  24. package/dist/types/ucp-profile.d.ts +22 -0
  25. package/dist/types/ucp-profile.d.ts.map +1 -1
  26. package/dist/types/ucp-profile.js +31 -1
  27. package/dist/types/ucp-profile.js.map +1 -1
  28. package/dist/types/validation.d.ts +6 -0
  29. package/dist/types/validation.d.ts.map +1 -1
  30. package/dist/types/validation.js +9 -0
  31. package/dist/types/validation.js.map +1 -1
  32. package/dist/validator/acp/index.d.ts +1 -1
  33. package/dist/validator/acp/index.js +19 -19
  34. package/dist/validator/acp/index.js.map +1 -1
  35. package/dist/validator/network-validator.d.ts.map +1 -1
  36. package/dist/validator/network-validator.js +19 -9
  37. package/dist/validator/network-validator.js.map +1 -1
  38. package/dist/validator/rules-validator.d.ts.map +1 -1
  39. package/dist/validator/rules-validator.js +67 -0
  40. package/dist/validator/rules-validator.js.map +1 -1
  41. package/dist/validator/structural-validator.d.ts.map +1 -1
  42. package/dist/validator/structural-validator.js +96 -0
  43. package/dist/validator/structural-validator.js.map +1 -1
  44. package/dist/validator/utils.d.ts +11 -0
  45. package/dist/validator/utils.d.ts.map +1 -1
  46. package/dist/validator/utils.js +21 -2
  47. package/dist/validator/utils.js.map +1 -1
  48. package/package.json +2 -1
@@ -12,6 +12,7 @@ exports.sendScoreChangeAlert = sendScoreChangeAlert;
12
12
  exports.sendSeverityAlert = sendSeverityAlert;
13
13
  exports.sendWelcomeEmail = sendWelcomeEmail;
14
14
  exports.sendPasswordResetEmail = sendPasswordResetEmail;
15
+ exports.sendTrialDay2Email = sendTrialDay2Email;
15
16
  exports.sendTrialDay1Email = sendTrialDay1Email;
16
17
  exports.sendTrialDay3Email = sendTrialDay3Email;
17
18
  exports.sendTrialDay6Email = sendTrialDay6Email;
@@ -327,21 +328,23 @@ async function sendWelcomeEmail(params) {
327
328
 
328
329
  <p>Welcome to UCP Tools! Your free trial is active${trialEndDate ? ` until <strong>${trialEndDate}</strong>` : ' for the next 7 days'}. No credit card required.</p>
329
330
 
330
- <p>Here's what you get during your trial:</p>
331
+ <p><strong>In 7 days, you'll know exactly which AI agents are discovering your store and whether they can complete purchases.</strong></p>
332
+
333
+ <p>Here's what we'll measure for you:</p>
331
334
 
332
335
  <ul style="padding-left: 20px;">
333
- <li><strong>Domain Monitoring</strong> &mdash; Track your AI commerce readiness over time</li>
334
- <li><strong>Weekly Auto-Validation</strong> &mdash; We'll check your domain every week</li>
335
- <li><strong>AI Agent Analytics</strong> &mdash; See which AI agents visit your store</li>
336
- <li><strong>Score Change Alerts</strong> &mdash; Get notified when your score changes</li>
336
+ <li><strong>AI Discoverability Dashboard</strong> &mdash; Are agents finding you? Which ones? How often?</li>
337
+ <li><strong>Compliance &rarr; Traffic Correlation</strong> &mdash; See if your UCP improvements drive real visits</li>
338
+ <li><strong>Conversion Funnel</strong> &mdash; Discovery &gt; Browse &gt; Checkout &gt; Payment &gt; Order</li>
339
+ <li><strong>Break Detection</strong> &mdash; Know instantly when something stops working</li>
337
340
  </ul>
338
341
 
339
342
  <div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin: 20px 0;">
340
343
  <p style="margin: 0; font-size: 14px; color: #0369a1;"><strong>Over the next 7 days, we'll send you:</strong></p>
341
344
  <ul style="margin: 8px 0 0 0; padding-left: 20px; font-size: 14px; color: #0369a1;">
342
- <li>Day 1: Quick start guide 3 things to try in 5 minutes</li>
343
- <li>Day 3: Feature deep-dive AI analytics, simulator, security</li>
344
- <li>Day 6: Trial wrap-up what you've achieved</li>
345
+ <li>Day 1: Set up analytics tracking (15 min) &mdash; start collecting data immediately</li>
346
+ <li>Day 2: Your personalized AI commerce report</li>
347
+ <li>Day 6: Your trial results &mdash; what the data shows</li>
345
348
  </ul>
346
349
  </div>
347
350
 
@@ -361,17 +364,19 @@ Hi${to.name ? ` ${to.name}` : ''},
361
364
 
362
365
  Welcome to UCP Tools! Your free trial is active${trialEndDate ? ` until ${trialEndDate}` : ' for the next 7 days'}. No credit card required.
363
366
 
364
- Here's what you get during your trial:
367
+ In 7 days, you'll know exactly which AI agents are discovering your store and whether they can complete purchases.
368
+
369
+ Here's what we'll measure for you:
365
370
 
366
- - Domain Monitoring - Track your AI commerce readiness over time
367
- - Weekly Auto-Validation - We'll check your domain every week
368
- - AI Agent Analytics - See which AI agents visit your store
369
- - Score Change Alerts - Get notified when your score changes
371
+ - AI Discoverability Dashboard - Are agents finding you? Which ones? How often?
372
+ - Compliance > Traffic Correlation - See if your UCP improvements drive real visits
373
+ - Conversion Funnel - Discovery > Browse > Checkout > Payment > Order
374
+ - Break Detection - Know instantly when something stops working
370
375
 
371
376
  Over the next 7 days, we'll send you:
372
- - Day 1: Quick start guide - 3 things to try in 5 minutes
373
- - Day 3: Feature deep-dive - AI analytics, simulator, security
374
- - Day 6: Trial wrap-up - what you've achieved
377
+ - Day 1: Set up analytics tracking (15 min) - start collecting data immediately
378
+ - Day 2: Your personalized AI commerce report
379
+ - Day 6: Your trial results - what the data shows
375
380
 
376
381
  Go to your dashboard: ${dashboardUrl}
377
382
 
@@ -450,12 +455,105 @@ UCP Tools - AI Commerce Readiness Platform
450
455
  text,
451
456
  });
452
457
  }
458
+ /**
459
+ * Send trial Day 2 email - Personalized Domain Report
460
+ * Shows actual scan results to pull users back after session 1 churn
461
+ */
462
+ async function sendTrialDay2Email(params) {
463
+ const { to, dashboardUrl, domain, score, grade, topIssues = [] } = params;
464
+ const hasDomain = domain && score !== undefined && grade;
465
+ const subject = hasDomain
466
+ ? `Your store scored ${grade} (${score}/100) — here's what to fix`
467
+ : 'Your AI commerce readiness report is waiting';
468
+ const domainReportSection = hasDomain ? `
469
+ <div style="background: white; border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
470
+ <div style="font-size: 14px; color: #666; margin-bottom: 8px;">${domain}</div>
471
+ <div style="font-size: 48px; font-weight: bold; color: ${getGradeColor(grade)};">${grade}</div>
472
+ <div style="font-size: 24px; font-weight: bold; color: #333; margin-top: 4px;">${score}/100</div>
473
+ </div>
474
+ ${topIssues.length > 0 ? `
475
+ <div style="background: white; border-radius: 8px; padding: 16px; margin: 20px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
476
+ <h3 style="margin: 0 0 12px 0; font-size: 15px; color: #374151;">Top issues to fix</h3>
477
+ ${topIssues.slice(0, 5).map(issue => `
478
+ <div style="padding: 6px 0; border-bottom: 1px solid #f3f4f6; font-size: 14px;">
479
+ ${issue.severity === 'error' ? '❌' : '⚠️'} ${issue.message}
480
+ </div>
481
+ `).join('')}
482
+ </div>` : ''}
483
+ ` : `
484
+ <div style="background: white; border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
485
+ <p style="font-size: 16px; color: #333; margin: 0;">Add your store domain to get a personalized AI commerce report.</p>
486
+ </div>
487
+ `;
488
+ const html = `
489
+ <!DOCTYPE html>
490
+ <html>
491
+ <head>
492
+ <meta charset="utf-8">
493
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
494
+ </head>
495
+ <body style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #333; max-width: 600px; margin: 0 auto; padding: 20px;">
496
+ ${getEmailHeader('Your AI Commerce Report')}
497
+
498
+ <div style="background: #f8f9fa; padding: 30px; border-radius: 0 0 12px 12px; border: 1px solid #e9ecef; border-top: none;">
499
+ <p style="margin-top: 0;">Hi${to.name ? ` ${to.name}` : ''},</p>
500
+
501
+ ${hasDomain
502
+ ? `<p>Yesterday you checked <strong>${domain}</strong>. Here's your AI commerce readiness snapshot:</p>`
503
+ : `<p>You signed up yesterday but haven't added a domain yet. Add your store to see how AI shopping agents experience it:</p>`}
504
+
505
+ ${domainReportSection}
506
+
507
+ <div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin: 20px 0;">
508
+ <p style="margin: 0; font-size: 14px; color: #0369a1;">
509
+ <strong>What happens next?</strong> We'll automatically re-scan your domain every week and email you if anything changes. Your next scan is in ~6 days.
510
+ </p>
511
+ </div>
512
+
513
+ <p style="text-align: center; margin: 30px 0;">
514
+ <a href="${hasDomain ? dashboardUrl : dashboardUrl + '?welcome=true'}" style="display: inline-block; padding: 14px 28px; background: linear-gradient(135deg, #2E86AB 0%, #36B5A2 100%); color: white; text-decoration: none; border-radius: 8px; font-weight: 600;">${hasDomain ? 'View Full Report' : 'Add Your Domain'}</a>
515
+ </p>
516
+
517
+ <p style="text-align: center; font-size: 13px; color: #666; margin-bottom: 20px;">
518
+ You have <strong>5 days</strong> left in your free trial.
519
+ <a href="https://ucptools.dev/dashboard/subscription" style="color: #2E86AB;">Manage subscription</a>
520
+ </p>
521
+
522
+ ${getEmailFooter()}
523
+ </div>
524
+ </body>
525
+ </html>
526
+ `;
527
+ const text = `Your AI Commerce Report
528
+
529
+ Hi${to.name ? ` ${to.name}` : ''},
530
+
531
+ ${hasDomain
532
+ ? `Yesterday you checked ${domain}. Here's your snapshot:\n\nGrade: ${grade} (${score}/100)\n${topIssues.length > 0 ? '\nTop issues:\n' + topIssues.slice(0, 5).map(i => `- ${i.message}`).join('\n') : ''}`
533
+ : `You signed up yesterday but haven't added a domain yet. Add your store to see your AI commerce readiness.`}
534
+
535
+ What happens next? We'll automatically re-scan your domain every week and email you if anything changes.
536
+
537
+ ${hasDomain ? `View full report: ${dashboardUrl}` : `Add your domain: ${dashboardUrl}?welcome=true`}
538
+
539
+ ---
540
+ You have 5 days left in your free trial.
541
+ UCP Tools - AI Commerce Readiness Platform
542
+ Questions? Reply to this email - we read everything.
543
+ `;
544
+ return sendEmail({
545
+ to: [to],
546
+ subject,
547
+ html,
548
+ text,
549
+ });
550
+ }
453
551
  /**
454
552
  * Send trial Day 1 email - Quick Start Guide
455
553
  */
456
554
  async function sendTrialDay1Email(params) {
457
555
  const { to, dashboardUrl } = params;
458
- const subject = 'Quick start: 3 things to try in 5 minutes';
556
+ const subject = 'Day 1: Start measuring your AI discoverability (15 min setup)';
459
557
  const html = `
460
558
  <!DOCTYPE html>
461
559
  <html>
@@ -464,30 +562,30 @@ async function sendTrialDay1Email(params) {
464
562
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
465
563
  </head>
466
564
  <body style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #333; max-width: 600px; margin: 0 auto; padding: 20px;">
467
- ${getEmailHeader('Your Quick Start Guide')}
565
+ ${getEmailHeader('Start Measuring AI Discoverability')}
468
566
 
469
567
  <div style="background: #f8f9fa; padding: 30px; border-radius: 0 0 12px 12px; border: 1px solid #e9ecef; border-top: none;">
470
568
  <p style="margin-top: 0;">Hi${to.name ? ` ${to.name}` : ''},</p>
471
569
 
472
- <p>Here are 3 things you can do right now to get the most from your trial:</p>
570
+ <p>The sooner you set up measurement, the more data you'll have by the end of your trial. Here's how to start collecting AI agent traffic data today:</p>
473
571
 
474
572
  <div style="background: white; border-radius: 8px; padding: 20px; margin: 20px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
475
- <h3 style="margin-top: 0; color: #2E86AB;">1. Run your first AI Commerce check</h3>
476
- <p style="margin-bottom: 0;">Enter your store URL on our <a href="https://ucptools.dev" style="color: #2E86AB;">homepage</a> and get your AI Commerce Score in 30 seconds. See exactly how AI shopping agents like ChatGPT and Gemini experience your store.</p>
573
+ <h3 style="margin-top: 0; color: #2E86AB;">1. Install the tracking snippet (15 min)</h3>
574
+ <p style="margin-bottom: 0;">Add our middleware to your server to start measuring AI agent traffic. We have ready-made code for <strong>Next.js, Express, PHP, Python, and Shopify</strong>. <a href="https://ucptools.dev/dashboard/analytics/setup" style="color: #2E86AB;">Set up tracking &rarr;</a></p>
477
575
  </div>
478
576
 
479
577
  <div style="background: white; border-radius: 8px; padding: 20px; margin: 20px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
480
- <h3 style="margin-top: 0; color: #36B5A2;">2. Check your score breakdown</h3>
481
- <p style="margin-bottom: 0;">Your score is split across UCP Profile (50pts), Schema.org markup (35pts), and Performance (15pts). Each section shows exactly what to fix to improve.</p>
578
+ <h3 style="margin-top: 0; color: #36B5A2;">2. Run your first AI Commerce check</h3>
579
+ <p style="margin-bottom: 0;">Enter your store URL on our <a href="https://ucptools.dev" style="color: #2E86AB;">homepage</a> and get your AI Commerce Score in 30 seconds. This is your compliance baseline &mdash; analytics will show if improving it drives real traffic.</p>
482
580
  </div>
483
581
 
484
582
  <div style="background: white; border-radius: 8px; padding: 20px; margin: 20px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
485
- <h3 style="margin-top: 0; color: #2E86AB;">3. Try the Agent Simulator</h3>
486
- <p style="margin-bottom: 0;">See your store through an AI agent's eyes. Our simulator tests discovery, browsing, and checkout &mdash; just like a real AI shopping assistant would.</p>
583
+ <h3 style="margin-top: 0; color: #2E86AB;">3. Explore your measurement dashboard</h3>
584
+ <p style="margin-bottom: 0;">Even before real data arrives, <a href="https://ucptools.dev/dashboard/analytics?demo=true" style="color: #2E86AB;">explore the demo dashboard</a> to see what you'll be measuring: agent breakdown, conversion funnel, commerce KPIs.</p>
487
585
  </div>
488
586
 
489
587
  <p style="text-align: center; margin: 30px 0;">
490
- <a href="https://ucptools.dev" style="display: inline-block; padding: 14px 28px; background: linear-gradient(135deg, #2E86AB 0%, #36B5A2 100%); color: white; text-decoration: none; border-radius: 8px; font-weight: 600;">Run Your First Check</a>
588
+ <a href="https://ucptools.dev/dashboard/analytics/setup" style="display: inline-block; padding: 14px 28px; background: linear-gradient(135deg, #2E86AB 0%, #36B5A2 100%); color: white; text-decoration: none; border-radius: 8px; font-weight: 600;">Set Up Analytics Tracking</a>
491
589
  </p>
492
590
 
493
591
  <p style="text-align: center; font-size: 13px; color: #666; margin-bottom: 20px;">
@@ -501,22 +599,22 @@ async function sendTrialDay1Email(params) {
501
599
  </html>
502
600
  `;
503
601
  const text = `
504
- Your Quick Start Guide
602
+ Start Measuring AI Discoverability
505
603
 
506
604
  Hi${to.name ? ` ${to.name}` : ''},
507
605
 
508
- Here are 3 things you can do right now to get the most from your trial:
606
+ The sooner you set up measurement, the more data you'll have by the end of your trial.
509
607
 
510
- 1. RUN YOUR FIRST AI COMMERCE CHECK
511
- Enter your store URL at https://ucptools.dev and get your AI Commerce Score in 30 seconds.
608
+ 1. INSTALL THE TRACKING SNIPPET (15 MIN)
609
+ Add our middleware to start measuring AI agent traffic. Ready-made code for Next.js, Express, PHP, Python, and Shopify.
610
+ Set up tracking: https://ucptools.dev/dashboard/analytics/setup
512
611
 
513
- 2. CHECK YOUR SCORE BREAKDOWN
514
- Your score is split across UCP Profile (50pts), Schema.org markup (35pts), and Performance (15pts).
612
+ 2. RUN YOUR FIRST AI COMMERCE CHECK
613
+ Enter your store URL at https://ucptools.dev and get your baseline score in 30 seconds.
515
614
 
516
- 3. TRY THE AGENT SIMULATOR
517
- See your store through an AI agent's eyes. Tests discovery, browsing, and checkout.
518
-
519
- Run your first check: https://ucptools.dev
615
+ 3. EXPLORE YOUR MEASUREMENT DASHBOARD
616
+ See demo data showing what you'll measure: agent breakdown, conversion funnel, commerce KPIs.
617
+ Demo dashboard: https://ucptools.dev/dashboard/analytics?demo=true
520
618
 
521
619
  ---
522
620
  You have 6 days left in your free trial.
@@ -535,7 +633,7 @@ Questions? Reply to this email - we read everything.
535
633
  */
536
634
  async function sendTrialDay3Email(params) {
537
635
  const { to, dashboardUrl, domainsAdded = 0 } = params;
538
- const subject = 'Your AI readiness journey is off to a great start 🚀';
636
+ const subject = domainsAdded > 0 ? 'Your first 3 days of AI agent data' : 'Day 3: You\'re missing AI agent data — here\'s how to fix that';
539
637
  const html = `
540
638
  <!DOCTYPE html>
541
639
  <html>
@@ -544,34 +642,40 @@ async function sendTrialDay3Email(params) {
544
642
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
545
643
  </head>
546
644
  <body style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #333; max-width: 600px; margin: 0 auto; padding: 20px;">
547
- ${getEmailHeader('Day 3 of Your Trial', '#2E86AB 0%, #47C97A 100%')}
645
+ ${getEmailHeader('Day 3: Your Measurement Check-In', '#2E86AB 0%, #47C97A 100%')}
548
646
 
549
647
  <div style="background: #f8f9fa; padding: 30px; border-radius: 0 0 12px 12px; border: 1px solid #e9ecef; border-top: none;">
550
648
  <p style="margin-top: 0;">Hi${to.name ? ` ${to.name}` : ''},</p>
551
649
 
552
650
  ${domainsAdded > 0 ? `
553
- <p>Great progress! You've already added <strong>${domainsAdded} domain${domainsAdded > 1 ? 's' : ''}</strong> to monitor. Here's what else you can do:</p>
554
- ` : `
555
- <p>You're 3 days into your trial! Here's what you might be missing:</p>
556
- `}
651
+ <p>You're monitoring <strong>${domainsAdded} domain${domainsAdded > 1 ? 's' : ''}</strong>. Have you checked your analytics dashboard yet? Even a few days of data can tell you a lot:</p>
557
652
 
558
653
  <div style="background: white; border-radius: 8px; padding: 20px; margin: 20px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
559
- <h3 style="margin-top: 0; color: #2E86AB;">📊 AI Agent Analytics</h3>
560
- <p style="margin-bottom: 0;">See which AI agents visit your store, what they're looking for, and whether they can complete purchases. It's like Google Analytics for the agentic commerce era.</p>
654
+ <h3 style="margin-top: 0; color: #2E86AB;">What to look for in your dashboard</h3>
655
+ <ul style="margin-bottom: 0; padding-left: 20px;">
656
+ <li><strong>Agent breakdown</strong> &mdash; Which AI agents are finding your store?</li>
657
+ <li><strong>Conversion funnel</strong> &mdash; Are they getting past discovery to browsing and checkout?</li>
658
+ <li><strong>Error analysis</strong> &mdash; Are any agents hitting errors that block purchases?</li>
659
+ <li><strong>Capability gaps</strong> &mdash; What do agents request that you don't support yet?</li>
660
+ </ul>
561
661
  </div>
562
662
 
563
- <div style="background: white; border-radius: 8px; padding: 20px; margin: 20px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
564
- <h3 style="margin-top: 0; color: #47C97A;">🤖 Agent Simulator</h3>
565
- <p style="margin-bottom: 0;">Test how AI shopping agents experience your store. Find issues before real customers do.</p>
663
+ <p>This is the data that answers <em>"is my UCP compliance work actually driving results?"</em> &mdash; the question your team (or clients) will ask.</p>
664
+ ` : `
665
+ <p>You're 3 days in, but you haven't set up analytics tracking yet. That means you're missing data on which AI agents are discovering your store.</p>
666
+
667
+ <div style="background: #fff5f5; border: 1px solid #fecaca; border-radius: 8px; padding: 16px; margin: 20px 0;">
668
+ <p style="margin: 0; font-size: 14px; color: #991b1b;"><strong>Why this matters:</strong> Without measurement, you can't know if your UCP compliance work is driving real agent traffic. Compliance scoring alone doesn't close the loop &mdash; you need traffic data to prove ROI.</p>
566
669
  </div>
567
670
 
568
671
  <div style="background: white; border-radius: 8px; padding: 20px; margin: 20px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
569
- <h3 style="margin-top: 0; color: #2E86AB;">🔒 Security Scanning</h3>
570
- <p style="margin-bottom: 0;">Ensure your UCP implementation is secure and follows best practices.</p>
672
+ <h3 style="margin-top: 0; color: #2E86AB;">Set up in 15 minutes</h3>
673
+ <p style="margin-bottom: 0;">Add our tracking middleware to your server. We have ready-made code for Next.js, Express, PHP, Python, and Shopify. <a href="https://ucptools.dev/dashboard/analytics/setup" style="color: #2E86AB;">Get started &rarr;</a></p>
571
674
  </div>
675
+ `}
572
676
 
573
677
  <p style="text-align: center; margin: 30px 0;">
574
- <a href="${dashboardUrl}" style="display: inline-block; padding: 14px 28px; background: linear-gradient(135deg, #2E86AB 0%, #47C97A 100%); color: white; text-decoration: none; border-radius: 8px; font-weight: 600;">Explore Your Dashboard</a>
678
+ <a href="${domainsAdded > 0 ? dashboardUrl + '/analytics' : 'https://ucptools.dev/dashboard/analytics/setup'}" style="display: inline-block; padding: 14px 28px; background: linear-gradient(135deg, #2E86AB 0%, #47C97A 100%); color: white; text-decoration: none; border-radius: 8px; font-weight: 600;">${domainsAdded > 0 ? 'View Your Analytics' : 'Set Up Analytics Tracking'}</a>
575
679
  </p>
576
680
 
577
681
  <p style="text-align: center; font-size: 13px; color: #666; margin-bottom: 20px;">
@@ -585,26 +689,26 @@ async function sendTrialDay3Email(params) {
585
689
  </html>
586
690
  `;
587
691
  const text = `
588
- Day 3 of Your Trial
692
+ Day 3: Your Measurement Check-In
589
693
 
590
694
  Hi${to.name ? ` ${to.name}` : ''},
591
695
 
592
696
  ${domainsAdded > 0
593
- ? `Great progress! You've already added ${domainsAdded} domain${domainsAdded > 1 ? 's' : ''} to monitor.`
594
- : `You're 3 days into your trial! Here's what you might be missing:`}
697
+ ? `You're monitoring ${domainsAdded} domain${domainsAdded > 1 ? 's' : ''}. Check your analytics dashboard to see:
595
698
 
596
- FEATURES TO EXPLORE:
699
+ - Agent breakdown: Which AI agents are finding your store?
700
+ - Conversion funnel: Are they getting past discovery to checkout?
701
+ - Error analysis: Are agents hitting errors that block purchases?
702
+ - Capability gaps: What do agents request that you don't support?
597
703
 
598
- AI Agent Analytics
599
- See which AI agents visit your store, what they're looking for, and whether they can complete purchases.
704
+ This data answers "is my UCP compliance work actually driving results?"
600
705
 
601
- Agent Simulator
602
- Test how AI shopping agents experience your store. Find issues before real customers do.
706
+ View your analytics: ${dashboardUrl}/analytics`
707
+ : `You're 3 days in, but you haven't set up analytics tracking yet. Without measurement, you can't know if your UCP compliance work is driving real agent traffic.
603
708
 
604
- Security Scanning
605
- Ensure your UCP implementation is secure and follows best practices.
709
+ Set up in 15 minutes - we have ready-made code for Next.js, Express, PHP, Python, and Shopify.
606
710
 
607
- Explore your dashboard: ${dashboardUrl}
711
+ Set up tracking: https://ucptools.dev/dashboard/analytics/setup`}
608
712
 
609
713
  ---
610
714
  You have 4 days left in your trial.
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/services/email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/services/email.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Track trial_started event server-side.
3
+ * This is the source of truth — client-side tracking is unreliable
4
+ * due to page navigation race conditions and ad blockers.
5
+ */
6
+ export declare function trackTrialStarted(params: {
7
+ userId: string;
8
+ email: string;
9
+ name?: string;
10
+ method: 'email' | 'google';
11
+ }): void;
12
+ /**
13
+ * Track signup_completed event server-side.
14
+ */
15
+ export declare function trackSignupCompleted(params: {
16
+ userId: string;
17
+ email: string;
18
+ name?: string;
19
+ method: 'email' | 'google';
20
+ }): void;
21
+ /**
22
+ * Identify a user in PostHog server-side.
23
+ */
24
+ export declare function identifyUser(params: {
25
+ userId: string;
26
+ email: string;
27
+ name?: string;
28
+ }): void;
29
+ /**
30
+ * Track email_sent event server-side.
31
+ * Instruments the trial drip sequence and alerts for funnel visibility.
32
+ */
33
+ export declare function trackEmailSent(params: {
34
+ userId: string;
35
+ email: string;
36
+ emailType: string;
37
+ success: boolean;
38
+ }): void;
39
+ /**
40
+ * Flush pending events. Call on server shutdown.
41
+ */
42
+ export declare function shutdownPostHog(): Promise<void>;
43
+ //# sourceMappingURL=posthog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posthog.d.ts","sourceRoot":"","sources":["../../src/services/posthog.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9B,GAAG,IAAI,CAeP;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9B,GAAG,IAAI,CAeP;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAWP;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAeP;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAKrD"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.trackTrialStarted = trackTrialStarted;
4
+ exports.trackSignupCompleted = trackSignupCompleted;
5
+ exports.identifyUser = identifyUser;
6
+ exports.trackEmailSent = trackEmailSent;
7
+ exports.shutdownPostHog = shutdownPostHog;
8
+ const posthog_node_1 = require("posthog-node");
9
+ let posthogClient = null;
10
+ function getPostHogClient() {
11
+ if (posthogClient)
12
+ return posthogClient;
13
+ const apiKey = process.env.POSTHOG_API_KEY || process.env.NEXT_PUBLIC_POSTHOG_KEY;
14
+ const host = process.env.POSTHOG_HOST || process.env.NEXT_PUBLIC_POSTHOG_HOST;
15
+ if (!apiKey) {
16
+ console.warn('[PostHog] No API key configured, server-side tracking disabled');
17
+ return null;
18
+ }
19
+ posthogClient = new posthog_node_1.PostHog(apiKey, {
20
+ host: host || 'https://eu.i.posthog.com',
21
+ flushAt: 1, // Send events immediately (low volume)
22
+ flushInterval: 0, // Don't batch
23
+ });
24
+ return posthogClient;
25
+ }
26
+ /**
27
+ * Track trial_started event server-side.
28
+ * This is the source of truth — client-side tracking is unreliable
29
+ * due to page navigation race conditions and ad blockers.
30
+ */
31
+ function trackTrialStarted(params) {
32
+ const client = getPostHogClient();
33
+ if (!client)
34
+ return;
35
+ client.capture({
36
+ distinctId: params.userId,
37
+ event: 'trial_started',
38
+ properties: {
39
+ method: params.method,
40
+ $set: {
41
+ email: params.email,
42
+ name: params.name,
43
+ },
44
+ },
45
+ });
46
+ }
47
+ /**
48
+ * Track signup_completed event server-side.
49
+ */
50
+ function trackSignupCompleted(params) {
51
+ const client = getPostHogClient();
52
+ if (!client)
53
+ return;
54
+ client.capture({
55
+ distinctId: params.userId,
56
+ event: 'signup_completed',
57
+ properties: {
58
+ method: params.method,
59
+ $set: {
60
+ email: params.email,
61
+ name: params.name,
62
+ },
63
+ },
64
+ });
65
+ }
66
+ /**
67
+ * Identify a user in PostHog server-side.
68
+ */
69
+ function identifyUser(params) {
70
+ const client = getPostHogClient();
71
+ if (!client)
72
+ return;
73
+ client.identify({
74
+ distinctId: params.userId,
75
+ properties: {
76
+ email: params.email,
77
+ name: params.name,
78
+ },
79
+ });
80
+ }
81
+ /**
82
+ * Track email_sent event server-side.
83
+ * Instruments the trial drip sequence and alerts for funnel visibility.
84
+ */
85
+ function trackEmailSent(params) {
86
+ const client = getPostHogClient();
87
+ if (!client)
88
+ return;
89
+ client.capture({
90
+ distinctId: params.userId,
91
+ event: 'email_sent',
92
+ properties: {
93
+ email_type: params.emailType,
94
+ success: params.success,
95
+ $set: {
96
+ email: params.email,
97
+ },
98
+ },
99
+ });
100
+ }
101
+ /**
102
+ * Flush pending events. Call on server shutdown.
103
+ */
104
+ async function shutdownPostHog() {
105
+ if (posthogClient) {
106
+ await posthogClient.shutdown();
107
+ posthogClient = null;
108
+ }
109
+ }
110
+ //# sourceMappingURL=posthog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posthog.js","sourceRoot":"","sources":["../../src/services/posthog.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,10 @@ export interface CapabilitySelection {
31
31
  discount: boolean;
32
32
  payment?: boolean;
33
33
  buyerConsent?: boolean;
34
+ cart?: boolean;
35
+ catalogSearch?: boolean;
36
+ catalogLookup?: boolean;
37
+ identityLinking?: boolean;
34
38
  customCapabilities?: CustomCapability[];
35
39
  }
36
40
  export interface CustomCapability {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/types/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/types/generator.ts"],"names":[],"mappings":"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"}