@ucptools/validator 1.0.1 → 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 (162) 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/generator/profile-builder.d.ts.map +1 -1
  43. package/dist/generator/profile-builder.js +158 -115
  44. package/dist/generator/profile-builder.js.map +1 -1
  45. package/dist/lib/analytics.d.ts +349 -0
  46. package/dist/lib/analytics.d.ts.map +1 -0
  47. package/dist/lib/analytics.js +198 -0
  48. package/dist/lib/analytics.js.map +1 -0
  49. package/dist/security/security-scanner.d.ts.map +1 -1
  50. package/dist/security/security-scanner.js +130 -2
  51. package/dist/security/security-scanner.js.map +1 -1
  52. package/dist/security/types.d.ts +32 -0
  53. package/dist/security/types.d.ts.map +1 -1
  54. package/dist/security/types.js.map +1 -1
  55. package/dist/services/analytics.d.ts +114 -0
  56. package/dist/services/analytics.d.ts.map +1 -0
  57. package/dist/services/analytics.js +862 -0
  58. package/dist/services/analytics.js.map +1 -0
  59. package/dist/services/badge.d.ts +31 -0
  60. package/dist/services/badge.d.ts.map +1 -0
  61. package/dist/services/badge.js +152 -0
  62. package/dist/services/badge.js.map +1 -0
  63. package/dist/services/cron.d.ts +127 -0
  64. package/dist/services/cron.d.ts.map +1 -0
  65. package/dist/services/cron.js +693 -0
  66. package/dist/services/cron.js.map +1 -0
  67. package/dist/services/directory.d.ts +2 -0
  68. package/dist/services/directory.d.ts.map +1 -1
  69. package/dist/services/directory.js +45 -27
  70. package/dist/services/directory.js.map +1 -1
  71. package/dist/services/email.d.ts +127 -0
  72. package/dist/services/email.d.ts.map +1 -0
  73. package/dist/services/email.js +876 -0
  74. package/dist/services/email.js.map +1 -0
  75. package/dist/services/hosted-profiles.d.ts +77 -0
  76. package/dist/services/hosted-profiles.d.ts.map +1 -0
  77. package/dist/services/hosted-profiles.js +433 -0
  78. package/dist/services/hosted-profiles.js.map +1 -0
  79. package/dist/services/latency.d.ts +67 -0
  80. package/dist/services/latency.d.ts.map +1 -0
  81. package/dist/services/latency.js +274 -0
  82. package/dist/services/latency.js.map +1 -0
  83. package/dist/services/manifest-compliance.d.ts +64 -0
  84. package/dist/services/manifest-compliance.d.ts.map +1 -0
  85. package/dist/services/manifest-compliance.js +271 -0
  86. package/dist/services/manifest-compliance.js.map +1 -0
  87. package/dist/services/monitoring-diff.d.ts +31 -0
  88. package/dist/services/monitoring-diff.d.ts.map +1 -0
  89. package/dist/services/monitoring-diff.js +189 -0
  90. package/dist/services/monitoring-diff.js.map +1 -0
  91. package/dist/services/notifications.d.ts +46 -0
  92. package/dist/services/notifications.d.ts.map +1 -0
  93. package/dist/services/notifications.js +88 -0
  94. package/dist/services/notifications.js.map +1 -0
  95. package/dist/services/posthog.d.ts +43 -0
  96. package/dist/services/posthog.d.ts.map +1 -0
  97. package/dist/services/posthog.js +110 -0
  98. package/dist/services/posthog.js.map +1 -0
  99. package/dist/services/stripe.d.ts +93 -0
  100. package/dist/services/stripe.d.ts.map +1 -0
  101. package/dist/services/stripe.js +490 -0
  102. package/dist/services/stripe.js.map +1 -0
  103. package/dist/services/validation-history.d.ts +99 -0
  104. package/dist/services/validation-history.d.ts.map +1 -0
  105. package/dist/services/validation-history.js +344 -0
  106. package/dist/services/validation-history.js.map +1 -0
  107. package/dist/services/validation-logging.d.ts +103 -0
  108. package/dist/services/validation-logging.d.ts.map +1 -0
  109. package/dist/services/validation-logging.js +210 -0
  110. package/dist/services/validation-logging.js.map +1 -0
  111. package/dist/services/validation.d.ts +119 -0
  112. package/dist/services/validation.d.ts.map +1 -0
  113. package/dist/services/validation.js +1185 -0
  114. package/dist/services/validation.js.map +1 -0
  115. package/dist/simulator/agent-simulator.d.ts.map +1 -1
  116. package/dist/simulator/agent-simulator.js +229 -9
  117. package/dist/simulator/agent-simulator.js.map +1 -1
  118. package/dist/simulator/types.d.ts +26 -0
  119. package/dist/simulator/types.d.ts.map +1 -1
  120. package/dist/simulator/types.js.map +1 -1
  121. package/dist/types/acp-validation.d.ts +87 -0
  122. package/dist/types/acp-validation.d.ts.map +1 -0
  123. package/dist/types/acp-validation.js +40 -0
  124. package/dist/types/acp-validation.js.map +1 -0
  125. package/dist/types/analytics.d.ts +182 -0
  126. package/dist/types/analytics.d.ts.map +1 -0
  127. package/dist/types/analytics.js +7 -0
  128. package/dist/types/analytics.js.map +1 -0
  129. package/dist/types/generator.d.ts +4 -0
  130. package/dist/types/generator.d.ts.map +1 -1
  131. package/dist/types/ucp-profile.d.ts +32 -2
  132. package/dist/types/ucp-profile.d.ts.map +1 -1
  133. package/dist/types/ucp-profile.js +31 -1
  134. package/dist/types/ucp-profile.js.map +1 -1
  135. package/dist/types/validation.d.ts +14 -0
  136. package/dist/types/validation.d.ts.map +1 -1
  137. package/dist/types/validation.js +19 -0
  138. package/dist/types/validation.js.map +1 -1
  139. package/dist/validator/acp/index.d.ts +31 -0
  140. package/dist/validator/acp/index.d.ts.map +1 -0
  141. package/dist/validator/acp/index.js +574 -0
  142. package/dist/validator/acp/index.js.map +1 -0
  143. package/dist/validator/network-validator.d.ts.map +1 -1
  144. package/dist/validator/network-validator.js +23 -13
  145. package/dist/validator/network-validator.js.map +1 -1
  146. package/dist/validator/rules-validator.d.ts +8 -0
  147. package/dist/validator/rules-validator.d.ts.map +1 -1
  148. package/dist/validator/rules-validator.js +159 -43
  149. package/dist/validator/rules-validator.js.map +1 -1
  150. package/dist/validator/structural-validator.d.ts.map +1 -1
  151. package/dist/validator/structural-validator.js +283 -53
  152. package/dist/validator/structural-validator.js.map +1 -1
  153. package/dist/validator/utils.d.ts +62 -0
  154. package/dist/validator/utils.d.ts.map +1 -0
  155. package/dist/validator/utils.js +151 -0
  156. package/dist/validator/utils.js.map +1 -0
  157. package/package.json +45 -12
  158. package/.claude/settings.local.json +0 -60
  159. package/.vercel/README.txt +0 -11
  160. package/.vercel/project.json +0 -1
  161. package/publish-output.txt +0 -0
  162. package/tsconfig.json +0 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/lib/analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ /**
3
+ * Analytics Utility
4
+ *
5
+ * Unified analytics interface for tracking events across:
6
+ * - Google Analytics 4 (GA4)
7
+ * - PostHog
8
+ *
9
+ * This ensures consistent event tracking and makes it easy to
10
+ * add or remove analytics platforms in the future.
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.analytics = void 0;
17
+ exports.trackEvent = trackEvent;
18
+ exports.identifyUser = identifyUser;
19
+ exports.resetUser = resetUser;
20
+ exports.trackPageView = trackPageView;
21
+ exports.isFeatureEnabled = isFeatureEnabled;
22
+ exports.getFeatureFlagVariant = getFeatureFlagVariant;
23
+ const posthog_js_1 = __importDefault(require("posthog-js"));
24
+ /**
25
+ * Check if PostHog is initialized and ready to capture events
26
+ */
27
+ function isPostHogInitialized() {
28
+ if (typeof window === 'undefined')
29
+ return false;
30
+ // Check if PostHog has been initialized by checking for the _loaded property
31
+ // or by checking if the capture method exists and PostHog has a distinct_id
32
+ try {
33
+ return posthog_js_1.default && typeof posthog_js_1.default.capture === 'function' && posthog_js_1.default.get_distinct_id() !== undefined;
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ }
39
+ /**
40
+ * Track an event across all analytics platforms
41
+ */
42
+ function trackEvent(eventData) {
43
+ const { event, ...properties } = eventData;
44
+ // Track in Google Analytics 4
45
+ if (typeof window !== 'undefined' && window.gtag) {
46
+ window.gtag('event', event, properties);
47
+ }
48
+ // Dispatch DOM event for tool-result events (used by ToolTrialCTA)
49
+ const toolResultEvents = [
50
+ 'profile_validated', 'simulator_run', 'security_scan',
51
+ 'profile_generated', 'feed_analyzed', 'acp_check',
52
+ ];
53
+ if (typeof window !== 'undefined' && toolResultEvents.includes(event)) {
54
+ window.dispatchEvent(new CustomEvent('tool-result-ready'));
55
+ }
56
+ // Track in PostHog - with initialization check
57
+ if (isPostHogInitialized()) {
58
+ posthog_js_1.default.capture(event, properties);
59
+ if (process.env.NODE_ENV === 'development') {
60
+ console.log('[Analytics] PostHog event captured:', event, properties);
61
+ }
62
+ }
63
+ else if (typeof window !== 'undefined') {
64
+ // PostHog not yet initialized - queue the event for later
65
+ // PostHog's built-in queue will handle this when it's ready
66
+ if (process.env.NODE_ENV === 'development') {
67
+ console.warn('[Analytics] PostHog not initialized, event may be queued:', event);
68
+ }
69
+ // Still call capture - PostHog has internal queuing
70
+ if (posthog_js_1.default && typeof posthog_js_1.default.capture === 'function') {
71
+ posthog_js_1.default.capture(event, properties);
72
+ }
73
+ }
74
+ }
75
+ /**
76
+ * Identify a user (for authenticated sessions)
77
+ */
78
+ function identifyUser(userId, traits) {
79
+ // PostHog identify
80
+ if (typeof window !== 'undefined' && posthog_js_1.default) {
81
+ posthog_js_1.default.identify(userId, traits);
82
+ }
83
+ // GA4 user ID
84
+ if (typeof window !== 'undefined' && window.gtag) {
85
+ window.gtag('config', 'G-J5JSHV7H1E', {
86
+ user_id: userId,
87
+ });
88
+ }
89
+ }
90
+ /**
91
+ * Reset user identification (for logout)
92
+ */
93
+ function resetUser() {
94
+ if (typeof window !== 'undefined' && posthog_js_1.default) {
95
+ posthog_js_1.default.reset();
96
+ }
97
+ }
98
+ /**
99
+ * Track page view (already handled by PostHogProvider, but available for manual tracking)
100
+ */
101
+ function trackPageView(url) {
102
+ // GA4 pageview
103
+ if (typeof window !== 'undefined' && window.gtag) {
104
+ window.gtag('config', 'G-J5JSHV7H1E', {
105
+ page_path: url,
106
+ });
107
+ }
108
+ // PostHog pageview (manual)
109
+ if (typeof window !== 'undefined' && posthog_js_1.default) {
110
+ posthog_js_1.default.capture('$pageview', {
111
+ $current_url: url,
112
+ });
113
+ }
114
+ }
115
+ /**
116
+ * Feature flag check (PostHog only)
117
+ */
118
+ function isFeatureEnabled(flagKey) {
119
+ if (typeof window !== 'undefined' && posthog_js_1.default) {
120
+ return posthog_js_1.default.isFeatureEnabled(flagKey) ?? false;
121
+ }
122
+ return false;
123
+ }
124
+ /**
125
+ * Get multivariate feature flag value (PostHog only)
126
+ */
127
+ function getFeatureFlagVariant(flagKey) {
128
+ if (typeof window !== 'undefined' && isPostHogInitialized()) {
129
+ const value = posthog_js_1.default.getFeatureFlag(flagKey);
130
+ if (typeof value === 'string')
131
+ return value;
132
+ }
133
+ return null;
134
+ }
135
+ /**
136
+ * Convenience functions for common events
137
+ */
138
+ exports.analytics = {
139
+ profileValidated: (data) => trackEvent({ event: 'profile_validated', ...data }),
140
+ profileGenerated: (data) => trackEvent({ event: 'profile_generated', ...data }),
141
+ simulatorRun: (data) => trackEvent({ event: 'simulator_run', ...data }),
142
+ securityScan: (data) => trackEvent({ event: 'security_scan', ...data }),
143
+ pdfDownloaded: (data) => trackEvent({ event: 'pdf_downloaded', ...data }),
144
+ badgeEmbedded: (data) => trackEvent({ event: 'badge_embedded', ...data }),
145
+ platformSelected: (data) => trackEvent({ event: 'platform_selected', ...data }),
146
+ subscriptionViewed: (data) => trackEvent({ event: 'subscription_viewed', ...data }),
147
+ pricingCtaClicked: (data) => trackEvent({ event: 'pricing_cta_clicked', ...data }),
148
+ trialStarted: (data) => trackEvent({ event: 'trial_started', ...data }),
149
+ heroFormSubmitted: (data) => trackEvent({ event: 'hero_form_submitted', ...data }),
150
+ signupCompleted: (data) => trackEvent({ event: 'signup_completed', ...data }),
151
+ signupError: (data) => trackEvent({ event: 'signup_error', ...data }),
152
+ signinCompleted: (data) => trackEvent({ event: 'signin_completed', ...data }),
153
+ signinError: (data) => trackEvent({ event: 'signin_error', ...data }),
154
+ pdfGateShown: (data) => trackEvent({ event: 'pdf_gate_shown', ...data }),
155
+ pdfGateCompleted: (data) => trackEvent({ event: 'pdf_gate_completed', ...data }),
156
+ pdfGateBypassed: (data) => trackEvent({ event: 'pdf_gate_bypassed', ...data }),
157
+ feedAnalyzed: (data) => trackEvent({ event: 'feed_analyzed', ...data }),
158
+ schemaGenerated: (data) => trackEvent({ event: 'schema_generated', ...data }),
159
+ complianceGenerated: (data) => trackEvent({ event: 'compliance_generated', ...data }),
160
+ tabSwitched: (data) => trackEvent({ event: 'tab_switched', ...data }),
161
+ toolDiscovered: (data) => trackEvent({ event: 'tool_discovered', ...data }),
162
+ acpCheck: (data) => trackEvent({ event: 'acp_check', ...data }),
163
+ trialCtaClicked: (data) => trackEvent({ event: 'trial_cta_clicked', ...data }),
164
+ // Dashboard events — paywall, feature usage, conversion, churn
165
+ paywallViewed: (data) => trackEvent({ event: 'paywall_viewed', ...data }),
166
+ paywallCtaClicked: (data) => trackEvent({ event: 'paywall_cta_clicked', ...data }),
167
+ domainAdded: (data) => trackEvent({ event: 'domain_added', ...data }),
168
+ domainRemoved: (data) => trackEvent({ event: 'domain_removed', ...data }),
169
+ domainValidated: (data) => trackEvent({ event: 'domain_validated', ...data }),
170
+ domainSettingsSaved: (data) => trackEvent({ event: 'domain_settings_saved', ...data }),
171
+ analyticsViewed: (data) => trackEvent({ event: 'analytics_viewed', ...data }),
172
+ analyticsKeyCreated: (data) => trackEvent({ event: 'analytics_key_created', ...data }),
173
+ analyticsKeyCopied: () => trackEvent({ event: 'analytics_key_copied' }),
174
+ analyticsCodeCopied: (data) => trackEvent({ event: 'analytics_code_copied', ...data }),
175
+ analyticsInstallVerified: (data) => trackEvent({ event: 'analytics_install_verified', ...data }),
176
+ simulatorOpened: (data) => trackEvent({ event: 'simulator_opened', ...data }),
177
+ simulatorMessageSent: (data) => trackEvent({ event: 'simulator_message_sent', ...data }),
178
+ hostingSetupStarted: (data) => trackEvent({ event: 'hosting_setup_started', ...data }),
179
+ hostingProfileCreated: (data) => trackEvent({ event: 'hosting_profile_created', ...data }),
180
+ hostingDomainVerified: (data) => trackEvent({ event: 'hosting_domain_verified', ...data }),
181
+ hostingActivated: (data) => trackEvent({ event: 'hosting_activated', ...data }),
182
+ hostingDeactivated: (data) => trackEvent({ event: 'hosting_deactivated', ...data }),
183
+ hostingProfileDeleted: (data) => trackEvent({ event: 'hosting_profile_deleted', ...data }),
184
+ hostingUrlCopied: (data) => trackEvent({ event: 'hosting_url_copied', ...data }),
185
+ checkoutStarted: (data) => trackEvent({ event: 'checkout_started', ...data }),
186
+ checkoutCompleted: (data) => trackEvent({ event: 'checkout_completed', ...data }),
187
+ upgradeClicked: (data) => trackEvent({ event: 'upgrade_clicked', ...data }),
188
+ subscriptionCanceled: () => trackEvent({ event: 'subscription_canceled' }),
189
+ subscriptionResumed: () => trackEvent({ event: 'subscription_resumed' }),
190
+ billingManaged: () => trackEvent({ event: 'billing_managed' }),
191
+ accountDeleted: () => trackEvent({ event: 'account_deleted' }),
192
+ badgeCopied: (data) => trackEvent({ event: 'badge_copied', ...data }),
193
+ identify: identifyUser,
194
+ reset: resetUser,
195
+ pageView: trackPageView,
196
+ isFeatureEnabled,
197
+ };
198
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/lib/analytics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"security-scanner.d.ts","sourceRoot":"","sources":["../../src/security/security-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAiB,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKzF;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAkD7B"}
1
+ {"version":3,"file":"security-scanner.d.ts","sourceRoot":"","sources":["../../src/security/security-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAiB,kBAAkB,EAAE,mBAAmB,EAAiD,MAAM,YAAY,CAAC;AAKxI;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAoD7B"}
@@ -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