@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
@@ -1 +1 @@
1
- {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/services/directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/services/directory.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ exports.getDirectoryStats = getDirectoryStats;
12
12
  exports.revalidateMerchant = revalidateMerchant;
13
13
  const drizzle_orm_1 = require("drizzle-orm");
14
14
  const index_js_1 = require("../db/index.js");
15
+ const utils_js_1 = require("../validator/utils.js");
16
+ const validation_js_1 = require("./validation.js");
15
17
  /**
16
18
  * Fetch UCP profile from a URL, return null if not valid JSON
17
19
  */
@@ -46,10 +48,13 @@ async function validateDomain(domain) {
46
48
  `https://${domain}/.well-known/ucp.json`,
47
49
  ];
48
50
  let profile = null;
51
+ let foundUrl;
49
52
  for (const url of urls) {
50
53
  profile = await tryFetchProfile(url);
51
- if (profile)
54
+ if (profile) {
55
+ foundUrl = url;
52
56
  break;
57
+ }
53
58
  }
54
59
  try {
55
60
  if (!profile) {
@@ -73,7 +78,7 @@ async function validateDomain(domain) {
73
78
  }
74
79
  // Simple scoring
75
80
  let score = 50;
76
- const capabilities = profile.ucp.capabilities || [];
81
+ const capabilities = (0, utils_js_1.normalizeCapabilities)(profile.ucp.capabilities);
77
82
  if (capabilities.some((c) => c.name === 'dev.ucp.shopping.checkout'))
78
83
  score += 20;
79
84
  if (capabilities.some((c) => c.name === 'dev.ucp.shopping.cart'))
@@ -89,6 +94,7 @@ async function validateDomain(domain) {
89
94
  grade,
90
95
  transports: Array.from(transports).join(','),
91
96
  ucpVersion: profile.ucp.version,
97
+ profileUrl: foundUrl,
92
98
  };
93
99
  }
94
100
  catch (e) {
@@ -115,6 +121,12 @@ async function listMerchants(params) {
115
121
  if (params.search) {
116
122
  conditions.push((0, drizzle_orm_1.sql) `(${index_js_1.merchants.domain} ILIKE ${`%${params.search}%`} OR ${index_js_1.merchants.displayName} ILIKE ${`%${params.search}%`})`);
117
123
  }
124
+ if (params.grades) {
125
+ const gradeList = params.grades.split(',').map(g => g.trim()).filter(Boolean);
126
+ if (gradeList.length > 0) {
127
+ conditions.push((0, drizzle_orm_1.sql) `${index_js_1.merchants.ucpGrade} IN (${drizzle_orm_1.sql.join(gradeList.map(g => (0, drizzle_orm_1.sql) `${g}`), (0, drizzle_orm_1.sql) `, `)})`);
128
+ }
129
+ }
118
130
  const whereClause = (0, drizzle_orm_1.and)(...conditions);
119
131
  // Determine sort column and order
120
132
  const sortColumn = params.sort === 'domain'
@@ -201,16 +213,17 @@ async function submitMerchant(params) {
201
213
  details: `Merchant ID: ${existing.id}`,
202
214
  };
203
215
  }
204
- // Validate the domain has a valid UCP profile
205
- const validation = await validateDomain(cleanDomain);
206
- if (!validation.valid) {
207
- return {
208
- success: false,
209
- error: 'Invalid UCP profile',
210
- details: validation.error,
211
- };
216
+ // Run full validation (same scoring as homepage validator)
217
+ const fullValidation = await (0, validation_js_1.validateDomainReadiness)(cleanDomain);
218
+ // Extract transports and profile URL if UCP was found
219
+ let transports = null;
220
+ let ucpProfileUrl = null;
221
+ if (fullValidation.ucp.found) {
222
+ const simpleValidation = await validateDomain(cleanDomain);
223
+ transports = simpleValidation.transports || null;
224
+ ucpProfileUrl = simpleValidation.profileUrl || null;
212
225
  }
213
- // Insert merchant
226
+ // Insert merchant using the main validator's score (all domains get a real grade)
214
227
  const newMerchant = {
215
228
  domain: cleanDomain,
216
229
  displayName: params.displayName || cleanDomain,
@@ -219,9 +232,10 @@ async function submitMerchant(params) {
219
232
  websiteUrl: params.websiteUrl || `https://${cleanDomain}`,
220
233
  category: params.category || null,
221
234
  countryCode: params.countryCode?.toUpperCase() || null,
222
- ucpScore: validation.score || null,
223
- ucpGrade: validation.grade || null,
224
- transports: validation.transports || null,
235
+ ucpScore: fullValidation.ai_readiness.score,
236
+ ucpGrade: fullValidation.ai_readiness.grade,
237
+ transports,
238
+ ucpProfileUrl,
225
239
  isPublic: true,
226
240
  isVerified: false,
227
241
  lastValidatedAt: new Date(),
@@ -290,13 +304,13 @@ async function getDirectoryStats() {
290
304
  .limit(5);
291
305
  const stats = statsResult[0];
292
306
  return {
293
- totalMerchants: stats?.totalMerchants || 0,
294
- verifiedMerchants: stats?.verifiedMerchants || 0,
295
- avgScore: Math.round(stats?.avgScore || 0),
296
- totalCategories: categoryCountResult[0]?.count || 0,
297
- totalCountries: countryCountResult[0]?.count || 0,
298
- gradeDistribution: gradeResult.map((r) => ({ grade: r.grade, count: r.count })),
299
- topCategories: topCategoriesResult.map((r) => ({ name: r.name, count: r.count })),
307
+ totalMerchants: Number(stats?.totalMerchants) || 0,
308
+ verifiedMerchants: Number(stats?.verifiedMerchants) || 0,
309
+ avgScore: Math.round(Number(stats?.avgScore) || 0),
310
+ totalCategories: Number(categoryCountResult[0]?.count) || 0,
311
+ totalCountries: Number(countryCountResult[0]?.count) || 0,
312
+ gradeDistribution: gradeResult.map((r) => ({ grade: r.grade, count: Number(r.count) })),
313
+ topCategories: topCategoriesResult.map((r) => ({ name: r.name, count: Number(r.count) })),
300
314
  recentAdditions: recentResult.map((r) => ({
301
315
  domain: r.domain,
302
316
  displayName: r.displayName,
@@ -314,16 +328,20 @@ async function revalidateMerchant(domain) {
314
328
  if (!merchant) {
315
329
  return { success: false, error: 'Merchant not found' };
316
330
  }
317
- const validation = await validateDomain(domain);
318
- if (!validation.valid) {
319
- return { success: false, error: validation.error };
331
+ // Use the main validator for consistent scoring
332
+ const fullValidation = await (0, validation_js_1.validateDomainReadiness)(domain);
333
+ if (!fullValidation.ucp.found) {
334
+ return { success: false, error: 'No UCP profile found' };
320
335
  }
336
+ // Get transports from simplified check
337
+ const simpleValidation = await validateDomain(domain);
321
338
  await db
322
339
  .update(index_js_1.merchants)
323
340
  .set({
324
- ucpScore: validation.score || null,
325
- ucpGrade: validation.grade || null,
326
- transports: validation.transports || null,
341
+ ucpScore: fullValidation.ai_readiness.score,
342
+ ucpGrade: fullValidation.ai_readiness.grade,
343
+ transports: simpleValidation.transports || null,
344
+ ucpProfileUrl: simpleValidation.profileUrl || null,
327
345
  lastValidatedAt: new Date(),
328
346
  updatedAt: new Date(),
329
347
  })
@@ -1 +1 @@
1
- {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/services/directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/services/directory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Email Service
3
+ *
4
+ * Handles sending transactional emails via MailerSend API.
5
+ * Used for validation alerts, welcome emails, etc.
6
+ */
7
+ /**
8
+ * Determine if an alert email should be sent based on score change
9
+ * Threshold: ±10 points
10
+ */
11
+ export declare function shouldSendAlert(oldScore: number | null, newScore: number | null): boolean;
12
+ export interface EmailRecipient {
13
+ email: string;
14
+ name?: string;
15
+ }
16
+ export interface EmailOptions {
17
+ to: EmailRecipient[];
18
+ subject: string;
19
+ text?: string;
20
+ html?: string;
21
+ from?: EmailRecipient;
22
+ }
23
+ export interface EmailResult {
24
+ success: boolean;
25
+ messageId?: string;
26
+ error?: string;
27
+ }
28
+ /**
29
+ * Send an email via MailerSend
30
+ */
31
+ export declare function sendEmail(options: EmailOptions): Promise<EmailResult>;
32
+ /**
33
+ * Send a score change alert email
34
+ */
35
+ export declare function sendScoreChangeAlert(params: {
36
+ to: EmailRecipient;
37
+ domain: string;
38
+ oldScore: number;
39
+ newScore: number;
40
+ oldGrade: string;
41
+ newGrade: string;
42
+ dashboardUrl: string;
43
+ }): Promise<EmailResult>;
44
+ /**
45
+ * Send a severity-aware alert email with richer context.
46
+ * Uses severity to determine header color, subject line, and content.
47
+ */
48
+ export declare function sendSeverityAlert(params: {
49
+ to: EmailRecipient;
50
+ domain: string;
51
+ severity: 'broken' | 'degraded' | 'changed';
52
+ oldScore: number | null;
53
+ newScore: number;
54
+ oldGrade: string | null;
55
+ newGrade: string;
56
+ summary: string;
57
+ changes: Array<{
58
+ field: string;
59
+ type: string;
60
+ oldValue?: unknown;
61
+ newValue?: unknown;
62
+ }>;
63
+ dashboardUrl: string;
64
+ }): Promise<EmailResult>;
65
+ /**
66
+ * Send a welcome email to new subscribers
67
+ */
68
+ export declare function sendWelcomeEmail(params: {
69
+ to: EmailRecipient;
70
+ dashboardUrl: string;
71
+ trialEndsAt?: string;
72
+ }): Promise<EmailResult>;
73
+ /**
74
+ * Send a password reset email
75
+ */
76
+ export declare function sendPasswordResetEmail(params: {
77
+ to: EmailRecipient;
78
+ resetUrl: string;
79
+ }): Promise<EmailResult>;
80
+ /**
81
+ * Send trial Day 1 email - Quick Start Guide
82
+ */
83
+ export declare function sendTrialDay1Email(params: {
84
+ to: EmailRecipient;
85
+ dashboardUrl: string;
86
+ }): Promise<EmailResult>;
87
+ /**
88
+ * Send trial Day 3 email - Value reminder + Feature highlight
89
+ */
90
+ export declare function sendTrialDay3Email(params: {
91
+ to: EmailRecipient;
92
+ dashboardUrl: string;
93
+ domainsAdded?: number;
94
+ }): Promise<EmailResult>;
95
+ /**
96
+ * Send trial Day 6 email - Trial ending + Conversion CTA
97
+ */
98
+ export declare function sendTrialDay6Email(params: {
99
+ to: EmailRecipient;
100
+ dashboardUrl: string;
101
+ domainsAdded?: number;
102
+ validationsRun?: number;
103
+ }): Promise<EmailResult>;
104
+ /**
105
+ * Send trial expired email - Trial has ended, prompt to upgrade
106
+ */
107
+ export declare function sendTrialExpiredEmail(params: {
108
+ to: EmailRecipient;
109
+ dashboardUrl: string;
110
+ domainsAdded?: number;
111
+ }): Promise<EmailResult>;
112
+ //# sourceMappingURL=email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/services/email.ts"],"names":[],"mappings":"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"}