@ucptools/validator 1.0.1 → 1.1.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 (152) hide show
  1. package/dist/auth/config.d.ts +20 -0
  2. package/dist/auth/config.d.ts.map +1 -0
  3. package/dist/auth/config.js +114 -0
  4. package/dist/auth/config.js.map +1 -0
  5. package/dist/auth/index.d.ts +5 -0
  6. package/dist/auth/index.d.ts.map +1 -0
  7. package/dist/auth/index.js +17 -0
  8. package/dist/auth/index.js.map +1 -0
  9. package/dist/auth/middleware.d.ts +45 -0
  10. package/dist/auth/middleware.d.ts.map +1 -0
  11. package/dist/auth/middleware.js +170 -0
  12. package/dist/auth/middleware.js.map +1 -0
  13. package/dist/auth/service.d.ts +80 -0
  14. package/dist/auth/service.d.ts.map +1 -0
  15. package/dist/auth/service.js +298 -0
  16. package/dist/auth/service.js.map +1 -0
  17. package/dist/cli/index.js +96 -0
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/cli/mock-server.d.ts +20 -0
  20. package/dist/cli/mock-server.d.ts.map +1 -0
  21. package/dist/cli/mock-server.js +261 -0
  22. package/dist/cli/mock-server.js.map +1 -0
  23. package/dist/db/index.d.ts +8 -2
  24. package/dist/db/index.d.ts.map +1 -1
  25. package/dist/db/index.js +22 -5
  26. package/dist/db/index.js.map +1 -1
  27. package/dist/db/schema.d.ts +3570 -128
  28. package/dist/db/schema.d.ts.map +1 -1
  29. package/dist/db/schema.js +377 -17
  30. package/dist/db/schema.js.map +1 -1
  31. package/dist/db/utils.d.ts +252 -0
  32. package/dist/db/utils.d.ts.map +1 -0
  33. package/dist/db/utils.js +295 -0
  34. package/dist/db/utils.js.map +1 -0
  35. package/dist/feed-analyzer/feed-analyzer.d.ts.map +1 -1
  36. package/dist/feed-analyzer/feed-analyzer.js +218 -4
  37. package/dist/feed-analyzer/feed-analyzer.js.map +1 -1
  38. package/dist/feed-analyzer/types.d.ts +82 -1
  39. package/dist/feed-analyzer/types.d.ts.map +1 -1
  40. package/dist/feed-analyzer/types.js +13 -0
  41. package/dist/feed-analyzer/types.js.map +1 -1
  42. package/dist/lib/analytics.d.ts +337 -0
  43. package/dist/lib/analytics.d.ts.map +1 -0
  44. package/dist/lib/analytics.js +188 -0
  45. package/dist/lib/analytics.js.map +1 -0
  46. package/dist/security/security-scanner.d.ts.map +1 -1
  47. package/dist/security/security-scanner.js +130 -2
  48. package/dist/security/security-scanner.js.map +1 -1
  49. package/dist/security/types.d.ts +32 -0
  50. package/dist/security/types.d.ts.map +1 -1
  51. package/dist/security/types.js.map +1 -1
  52. package/dist/services/analytics.d.ts +114 -0
  53. package/dist/services/analytics.d.ts.map +1 -0
  54. package/dist/services/analytics.js +862 -0
  55. package/dist/services/analytics.js.map +1 -0
  56. package/dist/services/badge.d.ts +31 -0
  57. package/dist/services/badge.d.ts.map +1 -0
  58. package/dist/services/badge.js +152 -0
  59. package/dist/services/badge.js.map +1 -0
  60. package/dist/services/cron.d.ts +125 -0
  61. package/dist/services/cron.d.ts.map +1 -0
  62. package/dist/services/cron.js +613 -0
  63. package/dist/services/cron.js.map +1 -0
  64. package/dist/services/directory.d.ts +2 -0
  65. package/dist/services/directory.d.ts.map +1 -1
  66. package/dist/services/directory.js +45 -27
  67. package/dist/services/directory.js.map +1 -1
  68. package/dist/services/email.d.ts +112 -0
  69. package/dist/services/email.d.ts.map +1 -0
  70. package/dist/services/email.js +772 -0
  71. package/dist/services/email.js.map +1 -0
  72. package/dist/services/hosted-profiles.d.ts +77 -0
  73. package/dist/services/hosted-profiles.d.ts.map +1 -0
  74. package/dist/services/hosted-profiles.js +433 -0
  75. package/dist/services/hosted-profiles.js.map +1 -0
  76. package/dist/services/latency.d.ts +67 -0
  77. package/dist/services/latency.d.ts.map +1 -0
  78. package/dist/services/latency.js +274 -0
  79. package/dist/services/latency.js.map +1 -0
  80. package/dist/services/manifest-compliance.d.ts +64 -0
  81. package/dist/services/manifest-compliance.d.ts.map +1 -0
  82. package/dist/services/manifest-compliance.js +271 -0
  83. package/dist/services/manifest-compliance.js.map +1 -0
  84. package/dist/services/monitoring-diff.d.ts +31 -0
  85. package/dist/services/monitoring-diff.d.ts.map +1 -0
  86. package/dist/services/monitoring-diff.js +189 -0
  87. package/dist/services/monitoring-diff.js.map +1 -0
  88. package/dist/services/notifications.d.ts +46 -0
  89. package/dist/services/notifications.d.ts.map +1 -0
  90. package/dist/services/notifications.js +88 -0
  91. package/dist/services/notifications.js.map +1 -0
  92. package/dist/services/stripe.d.ts +93 -0
  93. package/dist/services/stripe.d.ts.map +1 -0
  94. package/dist/services/stripe.js +490 -0
  95. package/dist/services/stripe.js.map +1 -0
  96. package/dist/services/validation-history.d.ts +99 -0
  97. package/dist/services/validation-history.d.ts.map +1 -0
  98. package/dist/services/validation-history.js +344 -0
  99. package/dist/services/validation-history.js.map +1 -0
  100. package/dist/services/validation-logging.d.ts +103 -0
  101. package/dist/services/validation-logging.d.ts.map +1 -0
  102. package/dist/services/validation-logging.js +210 -0
  103. package/dist/services/validation-logging.js.map +1 -0
  104. package/dist/services/validation.d.ts +119 -0
  105. package/dist/services/validation.d.ts.map +1 -0
  106. package/dist/services/validation.js +1185 -0
  107. package/dist/services/validation.js.map +1 -0
  108. package/dist/simulator/agent-simulator.d.ts.map +1 -1
  109. package/dist/simulator/agent-simulator.js +229 -9
  110. package/dist/simulator/agent-simulator.js.map +1 -1
  111. package/dist/simulator/types.d.ts +26 -0
  112. package/dist/simulator/types.d.ts.map +1 -1
  113. package/dist/simulator/types.js.map +1 -1
  114. package/dist/types/acp-validation.d.ts +87 -0
  115. package/dist/types/acp-validation.d.ts.map +1 -0
  116. package/dist/types/acp-validation.js +40 -0
  117. package/dist/types/acp-validation.js.map +1 -0
  118. package/dist/types/analytics.d.ts +182 -0
  119. package/dist/types/analytics.d.ts.map +1 -0
  120. package/dist/types/analytics.js +7 -0
  121. package/dist/types/analytics.js.map +1 -0
  122. package/dist/types/ucp-profile.d.ts +10 -2
  123. package/dist/types/ucp-profile.d.ts.map +1 -1
  124. package/dist/types/ucp-profile.js.map +1 -1
  125. package/dist/types/validation.d.ts +8 -0
  126. package/dist/types/validation.d.ts.map +1 -1
  127. package/dist/types/validation.js +10 -0
  128. package/dist/types/validation.js.map +1 -1
  129. package/dist/validator/acp/index.d.ts +31 -0
  130. package/dist/validator/acp/index.d.ts.map +1 -0
  131. package/dist/validator/acp/index.js +574 -0
  132. package/dist/validator/acp/index.js.map +1 -0
  133. package/dist/validator/network-validator.d.ts.map +1 -1
  134. package/dist/validator/network-validator.js +4 -4
  135. package/dist/validator/network-validator.js.map +1 -1
  136. package/dist/validator/rules-validator.d.ts +8 -0
  137. package/dist/validator/rules-validator.d.ts.map +1 -1
  138. package/dist/validator/rules-validator.js +92 -43
  139. package/dist/validator/rules-validator.js.map +1 -1
  140. package/dist/validator/structural-validator.d.ts.map +1 -1
  141. package/dist/validator/structural-validator.js +187 -53
  142. package/dist/validator/structural-validator.js.map +1 -1
  143. package/dist/validator/utils.d.ts +51 -0
  144. package/dist/validator/utils.d.ts.map +1 -0
  145. package/dist/validator/utils.js +132 -0
  146. package/dist/validator/utils.js.map +1 -0
  147. package/package.json +44 -12
  148. package/.claude/settings.local.json +0 -60
  149. package/.vercel/README.txt +0 -11
  150. package/.vercel/project.json +0 -1
  151. package/publish-output.txt +0 -0
  152. package/tsconfig.json +0 -20
@@ -42,9 +42,10 @@ async function scanEndpointSecurity(domain, options = {}) {
42
42
  checks.push(createSkippedCheck(types_js_1.SecurityCheckIds.ERROR_DISCLOSURE, 'Error Disclosure', 'Endpoint not reachable'));
43
43
  checks.push(createSkippedCheck(types_js_1.SecurityCheckIds.RESPONSE_TIME, 'Response Time', 'Endpoint not reachable'));
44
44
  }
45
- // Calculate score and grade
45
+ // Calculate score breakdown (additive model)
46
+ const score_breakdown = calculateScoreBreakdown(checks);
46
47
  const summary = calculateSummary(checks);
47
- const score = calculateScore(checks);
48
+ const score = score_breakdown.total; // Use additive score as primary
48
49
  const grade = calculateGrade(score);
49
50
  return {
50
51
  domain: normalizedDomain,
@@ -52,6 +53,7 @@ async function scanEndpointSecurity(domain, options = {}) {
52
53
  scanned_at: new Date().toISOString(),
53
54
  score,
54
55
  grade,
56
+ score_breakdown,
55
57
  checks,
56
58
  summary,
57
59
  };
@@ -538,4 +540,130 @@ function calculateGrade(score) {
538
540
  return 'D';
539
541
  return 'F';
540
542
  }
543
+ /**
544
+ * Category configuration for additive scoring
545
+ */
546
+ const CATEGORY_CONFIG = {
547
+ // Transport Security - 30 pts
548
+ [types_js_1.SecurityCheckIds.HTTPS_REQUIRED]: { category: 'transport', maxScore: 15 },
549
+ [types_js_1.SecurityCheckIds.TLS_VERSION]: { category: 'transport', maxScore: 10 },
550
+ [types_js_1.SecurityCheckIds.PRIVATE_IP]: { category: 'transport', maxScore: 5 },
551
+ // Headers - 25 pts
552
+ [types_js_1.SecurityCheckIds.SECURITY_HEADERS]: { category: 'headers', maxScore: 20 },
553
+ [types_js_1.SecurityCheckIds.CACHE_HEADERS]: { category: 'headers', maxScore: 5 },
554
+ // API Protection - 25 pts
555
+ [types_js_1.SecurityCheckIds.RATE_LIMITING]: { category: 'api_protection', maxScore: 15 },
556
+ [types_js_1.SecurityCheckIds.CORS_CONFIG]: { category: 'api_protection', maxScore: 10 },
557
+ // Data Safety - 10 pts
558
+ [types_js_1.SecurityCheckIds.CONTENT_TYPE]: { category: 'data_safety', maxScore: 5 },
559
+ [types_js_1.SecurityCheckIds.ERROR_DISCLOSURE]: { category: 'data_safety', maxScore: 5 },
560
+ // Performance - 10 pts
561
+ [types_js_1.SecurityCheckIds.RESPONSE_TIME]: { category: 'performance', maxScore: 10 },
562
+ };
563
+ /**
564
+ * Generate status message for a category
565
+ */
566
+ function generateCategoryStatus(categoryName, score, maxScore) {
567
+ const percent = maxScore > 0 ? Math.round((score / maxScore) * 100) : 0;
568
+ const statusMessages = {
569
+ transport: {
570
+ excellent: 'Strong transport security with HTTPS enforcement',
571
+ good: 'Good transport security, minor improvements possible',
572
+ partial: 'Basic transport security, improvements recommended',
573
+ missing: 'Transport security needs attention',
574
+ },
575
+ headers: {
576
+ excellent: 'Comprehensive security headers configured',
577
+ good: 'Good header configuration with room for improvement',
578
+ partial: 'Some security headers present',
579
+ missing: 'Security headers need configuration',
580
+ },
581
+ api_protection: {
582
+ excellent: 'API well-protected against abuse',
583
+ good: 'Good API protection, consider additional measures',
584
+ partial: 'Basic API protection in place',
585
+ missing: 'API protection measures needed',
586
+ },
587
+ data_safety: {
588
+ excellent: 'Data handling follows best practices',
589
+ good: 'Good data safety practices',
590
+ partial: 'Some data safety measures in place',
591
+ missing: 'Data safety needs improvement',
592
+ },
593
+ performance: {
594
+ excellent: 'Excellent response performance',
595
+ good: 'Good response times',
596
+ partial: 'Acceptable performance, optimization possible',
597
+ missing: 'Performance optimization recommended',
598
+ },
599
+ };
600
+ const messages = statusMessages[categoryName] || {
601
+ excellent: 'Excellent',
602
+ good: 'Good',
603
+ partial: 'Partial',
604
+ missing: 'Needs attention',
605
+ };
606
+ if (percent >= 90)
607
+ return messages.excellent;
608
+ if (percent >= 70)
609
+ return messages.good;
610
+ if (percent >= 40)
611
+ return messages.partial;
612
+ return messages.missing;
613
+ }
614
+ /**
615
+ * Calculate security score breakdown (additive model)
616
+ */
617
+ function calculateScoreBreakdown(checks) {
618
+ // Initialize categories
619
+ const categories = {
620
+ transport: { score: 0, maxScore: 30, status: '', checks: [] },
621
+ headers: { score: 0, maxScore: 25, status: '', checks: [] },
622
+ api_protection: { score: 0, maxScore: 25, status: '', checks: [] },
623
+ data_safety: { score: 0, maxScore: 10, status: '', checks: [] },
624
+ performance: { score: 0, maxScore: 10, status: '', checks: [] },
625
+ };
626
+ // Process each check
627
+ for (const check of checks) {
628
+ const config = CATEGORY_CONFIG[check.id];
629
+ if (!config)
630
+ continue;
631
+ const category = categories[config.category];
632
+ if (!category)
633
+ continue;
634
+ let earnedScore = 0;
635
+ const passed = check.status === 'pass';
636
+ if (check.status === 'pass') {
637
+ earnedScore = config.maxScore;
638
+ }
639
+ else if (check.status === 'warn') {
640
+ earnedScore = Math.round(config.maxScore * 0.5);
641
+ }
642
+ // 'fail' and 'skip' get 0 points
643
+ category.score += earnedScore;
644
+ category.checks.push({
645
+ id: check.id,
646
+ name: check.name,
647
+ score: earnedScore,
648
+ maxScore: config.maxScore,
649
+ passed,
650
+ });
651
+ }
652
+ // Generate status messages for each category
653
+ for (const [name, category] of Object.entries(categories)) {
654
+ category.status = generateCategoryStatus(name, category.score, category.maxScore);
655
+ }
656
+ // Calculate totals
657
+ const total = Object.values(categories).reduce((sum, cat) => sum + cat.score, 0);
658
+ const maxTotal = Object.values(categories).reduce((sum, cat) => sum + cat.maxScore, 0);
659
+ return {
660
+ transport: categories.transport,
661
+ headers: categories.headers,
662
+ api_protection: categories.api_protection,
663
+ data_safety: categories.data_safety,
664
+ performance: categories.performance,
665
+ total,
666
+ maxTotal,
667
+ };
668
+ }
541
669
  //# sourceMappingURL=security-scanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-scanner.js","sourceRoot":"","sources":["../../src/security/security-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-scanner.js","sourceRoot":"","sources":["../../src/security/security-scanner.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,44 @@ export interface SecurityCheck {
13
13
  details?: string;
14
14
  recommendation?: string;
15
15
  }
16
+ /**
17
+ * Security check categories for additive scoring
18
+ */
19
+ export type SecurityCategory = 'transport' | 'headers' | 'api_protection' | 'data_safety' | 'performance';
20
+ /**
21
+ * Score breakdown for a single category
22
+ */
23
+ export interface SecurityCategoryScore {
24
+ score: number;
25
+ maxScore: number;
26
+ status: string;
27
+ checks: {
28
+ id: string;
29
+ name: string;
30
+ score: number;
31
+ maxScore: number;
32
+ passed: boolean;
33
+ }[];
34
+ }
35
+ /**
36
+ * Full security score breakdown (additive model)
37
+ */
38
+ export interface SecurityScoreBreakdown {
39
+ transport: SecurityCategoryScore;
40
+ headers: SecurityCategoryScore;
41
+ api_protection: SecurityCategoryScore;
42
+ data_safety: SecurityCategoryScore;
43
+ performance: SecurityCategoryScore;
44
+ total: number;
45
+ maxTotal: number;
46
+ }
16
47
  export interface SecurityScanResult {
17
48
  domain: string;
18
49
  endpoint: string;
19
50
  scanned_at: string;
20
51
  score: number;
21
52
  grade: string;
53
+ score_breakdown: SecurityScoreBreakdown;
22
54
  checks: SecurityCheck[];
23
55
  summary: {
24
56
  passed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAWnB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE/E,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,GAAG,aAAa,CAAC;AAE1G;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;KACjB,EAAE,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,cAAc,EAAE,qBAAqB,CAAC;IACtC,WAAW,EAAE,qBAAqB,CAAC;IACnC,WAAW,EAAE,qBAAqB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,sBAAsB,CAAC;IACxC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAWnB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqCH,qBAAqB;AACR,QAAA,gBAAgB,GAAG;IAC9B,cAAc,EAAE,gBAAgB;IAChC,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;CACtB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwEH,qBAAqB;AACR,QAAA,gBAAgB,GAAG;IAC9B,cAAc,EAAE,gBAAgB;IAChC,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,gBAAgB,EAAE,kBAAkB;IACpC,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;CACtB,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Analytics Service
3
+ * Business logic for AI Agent Traffic Analytics (V1 + V2)
4
+ */
5
+ import type { AgentDetectionResult, AnalyticsSummary, TimeseriesData, EventFilters, Pagination, PaginatedEvents, AnalyticsApiKeyInfo, FunnelData, CommerceKPIs, AgentComparisonData, ErrorAnalysisData, CapabilityGapData } from '../types/analytics.js';
6
+ /**
7
+ * Detect agent type and version from User-Agent string
8
+ */
9
+ export declare function detectAgentType(userAgent: string | null | undefined): AgentDetectionResult;
10
+ /**
11
+ * Hash an IP address for privacy
12
+ */
13
+ export declare function hashIpAddress(ip: string): string;
14
+ interface InternalEventInput {
15
+ eventType: string;
16
+ userAgent?: string;
17
+ endpoint?: string;
18
+ capability?: string;
19
+ httpStatus?: number;
20
+ responseTimeMs?: number;
21
+ sessionId?: string;
22
+ ipAddress?: string;
23
+ countryCode?: string;
24
+ metadata?: Record<string, unknown>;
25
+ protocol?: string;
26
+ checkoutSessionId?: string;
27
+ checkoutState?: string;
28
+ lineItemsCount?: number;
29
+ orderTotal?: number;
30
+ currency?: string;
31
+ paymentHandler?: string;
32
+ escalationReason?: string;
33
+ agentProfileUrl?: string;
34
+ }
35
+ /**
36
+ * Ingest analytics events (V1 + V2)
37
+ */
38
+ export declare function ingestEvents(domainId: string, events: InternalEventInput[]): Promise<{
39
+ received: number;
40
+ errors: string[];
41
+ }>;
42
+ /**
43
+ * Get analytics summary for a domain
44
+ */
45
+ export declare function getAnalyticsSummary(domainId: string, startDate: Date, endDate: Date): Promise<AnalyticsSummary>;
46
+ /**
47
+ * Get timeseries data for a domain
48
+ */
49
+ export declare function getTimeseries(domainId: string, startDate: Date, endDate: Date, granularity?: 'hour' | 'day' | 'week'): Promise<TimeseriesData>;
50
+ /**
51
+ * Get event log with pagination
52
+ */
53
+ export declare function getEventLog(domainId: string, filters: EventFilters, pagination: Pagination): Promise<PaginatedEvents>;
54
+ /**
55
+ * Get conversion funnel data
56
+ */
57
+ export declare function getFunnelData(domainId: string, startDate: Date, endDate: Date): Promise<FunnelData>;
58
+ /**
59
+ * Get commerce KPIs from checkout sessions
60
+ */
61
+ export declare function getCommerceKPIs(domainId: string, startDate: Date, endDate: Date): Promise<CommerceKPIs>;
62
+ /**
63
+ * Get agent comparison data
64
+ */
65
+ export declare function getAgentComparison(domainId: string, startDate: Date, endDate: Date): Promise<AgentComparisonData>;
66
+ /**
67
+ * Get error analysis data
68
+ */
69
+ export declare function getErrorAnalysis(domainId: string, startDate: Date, endDate: Date): Promise<ErrorAnalysisData>;
70
+ /**
71
+ * Get capability gap analysis
72
+ */
73
+ export declare function getCapabilityGaps(domainId: string, startDate: Date, endDate: Date): Promise<CapabilityGapData>;
74
+ /**
75
+ * Create an analytics API key for a domain
76
+ */
77
+ export declare function createAnalyticsApiKey(domainId: string, name: string): Promise<{
78
+ key: string;
79
+ apiKey: AnalyticsApiKeyInfo;
80
+ }>;
81
+ /**
82
+ * Validate an analytics API key
83
+ */
84
+ export declare function validateAnalyticsApiKey(key: string): Promise<{
85
+ valid: boolean;
86
+ domainId?: string;
87
+ keyId?: string;
88
+ }>;
89
+ /**
90
+ * Get analytics API keys for a domain
91
+ */
92
+ export declare function getAnalyticsApiKeys(domainId: string): Promise<AnalyticsApiKeyInfo[]>;
93
+ /**
94
+ * Delete an analytics API key
95
+ */
96
+ export declare function deleteAnalyticsApiKey(keyId: string, domainId: string): Promise<boolean>;
97
+ /**
98
+ * Aggregate events for a specific date (for cron job)
99
+ */
100
+ export declare function aggregateEventsForDate(date: Date): Promise<void>;
101
+ /**
102
+ * Purge old events (for data retention)
103
+ */
104
+ export declare function purgeOldEvents(retentionDays: number): Promise<number>;
105
+ /**
106
+ * Get domain ID from analytics API key (for route validation)
107
+ */
108
+ export declare function getDomainFromApiKey(key: string): Promise<string | null>;
109
+ /**
110
+ * Check if user owns a domain (for dashboard access)
111
+ */
112
+ export declare function userOwnsDomain(userId: string, domainId: string): Promise<boolean>;
113
+ export {};
114
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":"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"}