@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.
- package/dist/auth/config.d.ts +20 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +114 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +17 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/middleware.d.ts +45 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +170 -0
- package/dist/auth/middleware.js.map +1 -0
- package/dist/auth/service.d.ts +80 -0
- package/dist/auth/service.d.ts.map +1 -0
- package/dist/auth/service.js +298 -0
- package/dist/auth/service.js.map +1 -0
- package/dist/cli/index.js +96 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mock-server.d.ts +20 -0
- package/dist/cli/mock-server.d.ts.map +1 -0
- package/dist/cli/mock-server.js +261 -0
- package/dist/cli/mock-server.js.map +1 -0
- package/dist/db/index.d.ts +8 -2
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +22 -5
- package/dist/db/index.js.map +1 -1
- package/dist/db/schema.d.ts +3570 -128
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +377 -17
- package/dist/db/schema.js.map +1 -1
- package/dist/db/utils.d.ts +252 -0
- package/dist/db/utils.d.ts.map +1 -0
- package/dist/db/utils.js +295 -0
- package/dist/db/utils.js.map +1 -0
- package/dist/feed-analyzer/feed-analyzer.d.ts.map +1 -1
- package/dist/feed-analyzer/feed-analyzer.js +218 -4
- package/dist/feed-analyzer/feed-analyzer.js.map +1 -1
- package/dist/feed-analyzer/types.d.ts +82 -1
- package/dist/feed-analyzer/types.d.ts.map +1 -1
- package/dist/feed-analyzer/types.js +13 -0
- package/dist/feed-analyzer/types.js.map +1 -1
- package/dist/lib/analytics.d.ts +337 -0
- package/dist/lib/analytics.d.ts.map +1 -0
- package/dist/lib/analytics.js +188 -0
- package/dist/lib/analytics.js.map +1 -0
- package/dist/security/security-scanner.d.ts.map +1 -1
- package/dist/security/security-scanner.js +130 -2
- package/dist/security/security-scanner.js.map +1 -1
- package/dist/security/types.d.ts +32 -0
- package/dist/security/types.d.ts.map +1 -1
- package/dist/security/types.js.map +1 -1
- package/dist/services/analytics.d.ts +114 -0
- package/dist/services/analytics.d.ts.map +1 -0
- package/dist/services/analytics.js +862 -0
- package/dist/services/analytics.js.map +1 -0
- package/dist/services/badge.d.ts +31 -0
- package/dist/services/badge.d.ts.map +1 -0
- package/dist/services/badge.js +152 -0
- package/dist/services/badge.js.map +1 -0
- package/dist/services/cron.d.ts +125 -0
- package/dist/services/cron.d.ts.map +1 -0
- package/dist/services/cron.js +613 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/directory.d.ts +2 -0
- package/dist/services/directory.d.ts.map +1 -1
- package/dist/services/directory.js +45 -27
- package/dist/services/directory.js.map +1 -1
- package/dist/services/email.d.ts +112 -0
- package/dist/services/email.d.ts.map +1 -0
- package/dist/services/email.js +772 -0
- package/dist/services/email.js.map +1 -0
- package/dist/services/hosted-profiles.d.ts +77 -0
- package/dist/services/hosted-profiles.d.ts.map +1 -0
- package/dist/services/hosted-profiles.js +433 -0
- package/dist/services/hosted-profiles.js.map +1 -0
- package/dist/services/latency.d.ts +67 -0
- package/dist/services/latency.d.ts.map +1 -0
- package/dist/services/latency.js +274 -0
- package/dist/services/latency.js.map +1 -0
- package/dist/services/manifest-compliance.d.ts +64 -0
- package/dist/services/manifest-compliance.d.ts.map +1 -0
- package/dist/services/manifest-compliance.js +271 -0
- package/dist/services/manifest-compliance.js.map +1 -0
- package/dist/services/monitoring-diff.d.ts +31 -0
- package/dist/services/monitoring-diff.d.ts.map +1 -0
- package/dist/services/monitoring-diff.js +189 -0
- package/dist/services/monitoring-diff.js.map +1 -0
- package/dist/services/notifications.d.ts +46 -0
- package/dist/services/notifications.d.ts.map +1 -0
- package/dist/services/notifications.js +88 -0
- package/dist/services/notifications.js.map +1 -0
- package/dist/services/stripe.d.ts +93 -0
- package/dist/services/stripe.d.ts.map +1 -0
- package/dist/services/stripe.js +490 -0
- package/dist/services/stripe.js.map +1 -0
- package/dist/services/validation-history.d.ts +99 -0
- package/dist/services/validation-history.d.ts.map +1 -0
- package/dist/services/validation-history.js +344 -0
- package/dist/services/validation-history.js.map +1 -0
- package/dist/services/validation-logging.d.ts +103 -0
- package/dist/services/validation-logging.d.ts.map +1 -0
- package/dist/services/validation-logging.js +210 -0
- package/dist/services/validation-logging.js.map +1 -0
- package/dist/services/validation.d.ts +119 -0
- package/dist/services/validation.d.ts.map +1 -0
- package/dist/services/validation.js +1185 -0
- package/dist/services/validation.js.map +1 -0
- package/dist/simulator/agent-simulator.d.ts.map +1 -1
- package/dist/simulator/agent-simulator.js +229 -9
- package/dist/simulator/agent-simulator.js.map +1 -1
- package/dist/simulator/types.d.ts +26 -0
- package/dist/simulator/types.d.ts.map +1 -1
- package/dist/simulator/types.js.map +1 -1
- package/dist/types/acp-validation.d.ts +87 -0
- package/dist/types/acp-validation.d.ts.map +1 -0
- package/dist/types/acp-validation.js +40 -0
- package/dist/types/acp-validation.js.map +1 -0
- package/dist/types/analytics.d.ts +182 -0
- package/dist/types/analytics.d.ts.map +1 -0
- package/dist/types/analytics.js +7 -0
- package/dist/types/analytics.js.map +1 -0
- package/dist/types/ucp-profile.d.ts +10 -2
- package/dist/types/ucp-profile.d.ts.map +1 -1
- package/dist/types/ucp-profile.js.map +1 -1
- package/dist/types/validation.d.ts +8 -0
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +10 -0
- package/dist/types/validation.js.map +1 -1
- package/dist/validator/acp/index.d.ts +31 -0
- package/dist/validator/acp/index.d.ts.map +1 -0
- package/dist/validator/acp/index.js +574 -0
- package/dist/validator/acp/index.js.map +1 -0
- package/dist/validator/network-validator.d.ts.map +1 -1
- package/dist/validator/network-validator.js +4 -4
- package/dist/validator/network-validator.js.map +1 -1
- package/dist/validator/rules-validator.d.ts +8 -0
- package/dist/validator/rules-validator.d.ts.map +1 -1
- package/dist/validator/rules-validator.js +92 -43
- package/dist/validator/rules-validator.js.map +1 -1
- package/dist/validator/structural-validator.d.ts.map +1 -1
- package/dist/validator/structural-validator.js +187 -53
- package/dist/validator/structural-validator.js.map +1 -1
- package/dist/validator/utils.d.ts +51 -0
- package/dist/validator/utils.d.ts.map +1 -0
- package/dist/validator/utils.js +132 -0
- package/dist/validator/utils.js.map +1 -0
- package/package.json +44 -12
- package/.claude/settings.local.json +0 -60
- package/.vercel/README.txt +0 -11
- package/.vercel/project.json +0 -1
- package/publish-output.txt +0 -0
- package/tsconfig.json +0 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Badge Service
|
|
3
|
+
*
|
|
4
|
+
* Generates SVG badges for UCP verified domains.
|
|
5
|
+
* Supports multiple styles and themes.
|
|
6
|
+
*/
|
|
7
|
+
export type BadgeStyle = 'flat' | 'flat-square' | 'for-the-badge';
|
|
8
|
+
export type BadgeTheme = 'light' | 'dark';
|
|
9
|
+
export interface BadgeOptions {
|
|
10
|
+
style?: BadgeStyle;
|
|
11
|
+
theme?: BadgeTheme;
|
|
12
|
+
grade?: string;
|
|
13
|
+
score?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Generate SVG badge for verified domain
|
|
17
|
+
*/
|
|
18
|
+
export declare function generateBadge(options?: BadgeOptions): string;
|
|
19
|
+
/**
|
|
20
|
+
* Generate detailed badge with score
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateDetailedBadge(score: number, grade: string, theme?: BadgeTheme): string;
|
|
23
|
+
/**
|
|
24
|
+
* Generate embed code for badge
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateEmbedCode(domain: string, options?: BadgeOptions): {
|
|
27
|
+
markdown: string;
|
|
28
|
+
html: string;
|
|
29
|
+
url: string;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/services/badge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,eAAe,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA4ED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,CA6ChE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,UAAoB,GAC1B,MAAM,CAoBR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAsBA"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Badge Service
|
|
4
|
+
*
|
|
5
|
+
* Generates SVG badges for UCP verified domains.
|
|
6
|
+
* Supports multiple styles and themes.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.generateBadge = generateBadge;
|
|
10
|
+
exports.generateDetailedBadge = generateDetailedBadge;
|
|
11
|
+
exports.generateEmbedCode = generateEmbedCode;
|
|
12
|
+
/**
|
|
13
|
+
* Escape HTML entities for safe SVG text content
|
|
14
|
+
*/
|
|
15
|
+
function escapeHtml(text) {
|
|
16
|
+
return text
|
|
17
|
+
.replace(/&/g, '&')
|
|
18
|
+
.replace(/</g, '<')
|
|
19
|
+
.replace(/>/g, '>')
|
|
20
|
+
.replace(/"/g, '"')
|
|
21
|
+
.replace(/'/g, ''');
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get grade color based on letter grade
|
|
25
|
+
*/
|
|
26
|
+
function getGradeColor(grade) {
|
|
27
|
+
switch (grade.toUpperCase()) {
|
|
28
|
+
case 'A': return '#22c55e'; // green
|
|
29
|
+
case 'B': return '#84cc16'; // lime
|
|
30
|
+
case 'C': return '#eab308'; // yellow
|
|
31
|
+
case 'D': return '#f97316'; // orange
|
|
32
|
+
case 'F': return '#ef4444'; // red
|
|
33
|
+
default: return '#6b7280'; // gray
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get theme colors
|
|
38
|
+
*/
|
|
39
|
+
function getThemeColors(theme, grade) {
|
|
40
|
+
if (theme === 'dark') {
|
|
41
|
+
return {
|
|
42
|
+
background: '#1f2937',
|
|
43
|
+
labelBackground: '#111827',
|
|
44
|
+
text: '#f9fafb',
|
|
45
|
+
accentColor: grade ? getGradeColor(grade) : '#2E86AB',
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// light theme
|
|
49
|
+
return {
|
|
50
|
+
background: '#f3f4f6',
|
|
51
|
+
labelBackground: '#e5e7eb',
|
|
52
|
+
text: '#111827',
|
|
53
|
+
accentColor: grade ? getGradeColor(grade) : '#2E86AB',
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Calculate badge dimensions
|
|
58
|
+
*/
|
|
59
|
+
function calculateDimensions(label, value, style) {
|
|
60
|
+
const charWidth = 6.5; // approximate width per character
|
|
61
|
+
const padding = style === 'for-the-badge' ? 20 : 10;
|
|
62
|
+
const labelWidth = label.length * charWidth + padding;
|
|
63
|
+
const valueWidth = value.length * charWidth + padding;
|
|
64
|
+
const width = labelWidth + valueWidth;
|
|
65
|
+
const height = style === 'for-the-badge' ? 28 : 20;
|
|
66
|
+
return { width, height, labelWidth, valueWidth };
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate SVG badge for verified domain
|
|
70
|
+
*/
|
|
71
|
+
function generateBadge(options = {}) {
|
|
72
|
+
const { style = 'flat', theme = 'light', grade, score, } = options;
|
|
73
|
+
const label = 'UCP';
|
|
74
|
+
// Escape grade to prevent XSS attacks
|
|
75
|
+
const safeGrade = grade ? escapeHtml(grade) : undefined;
|
|
76
|
+
const value = safeGrade ? `Grade ${safeGrade}` : 'Verified';
|
|
77
|
+
const colors = getThemeColors(theme, grade);
|
|
78
|
+
const { width, height, labelWidth, valueWidth } = calculateDimensions(label, value, style);
|
|
79
|
+
const borderRadius = style === 'flat-square' ? '0' : '3';
|
|
80
|
+
const fontSize = style === 'for-the-badge' ? '11' : '11';
|
|
81
|
+
const fontFamily = style === 'for-the-badge' ?
|
|
82
|
+
'"Verdana", "DejaVu Sans", sans-serif' :
|
|
83
|
+
'"Helvetica Neue", Helvetica, Arial, sans-serif';
|
|
84
|
+
// Build SVG
|
|
85
|
+
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" role="img" aria-label="${label}: ${value}">
|
|
86
|
+
<title>${label}: ${value}</title>
|
|
87
|
+
<linearGradient id="s" x2="0" y2="100%">
|
|
88
|
+
<stop offset="0" stop-color="#fff" stop-opacity=".1"/>
|
|
89
|
+
<stop offset="1" stop-opacity=".1"/>
|
|
90
|
+
</linearGradient>
|
|
91
|
+
<clipPath id="r">
|
|
92
|
+
<rect width="${width}" height="${height}" rx="${borderRadius}" fill="#fff"/>
|
|
93
|
+
</clipPath>
|
|
94
|
+
<g clip-path="url(#r)">
|
|
95
|
+
<rect width="${labelWidth}" height="${height}" fill="${colors.labelBackground}"/>
|
|
96
|
+
<rect x="${labelWidth}" width="${valueWidth}" height="${height}" fill="${colors.accentColor}"/>
|
|
97
|
+
<rect width="${width}" height="${height}" fill="url(#s)"/>
|
|
98
|
+
</g>
|
|
99
|
+
<g fill="${colors.text}" text-anchor="middle" font-family="${fontFamily}" text-rendering="geometricPrecision" font-size="${fontSize}">
|
|
100
|
+
<text aria-hidden="true" x="${labelWidth / 2}" y="${height / 2 + 1}" fill="#000" fill-opacity=".3" transform="translate(0,1)">${label}</text>
|
|
101
|
+
<text x="${labelWidth / 2}" y="${height / 2 + 1}" fill="${theme === 'dark' ? '#fff' : '#333'}" font-weight="600">${label}</text>
|
|
102
|
+
<text aria-hidden="true" x="${labelWidth + valueWidth / 2}" y="${height / 2 + 1}" fill="#000" fill-opacity=".3" transform="translate(0,1)">${value}</text>
|
|
103
|
+
<text x="${labelWidth + valueWidth / 2}" y="${height / 2 + 1}" fill="#fff" font-weight="600">${value}</text>
|
|
104
|
+
</g>
|
|
105
|
+
</svg>`;
|
|
106
|
+
return svg;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Generate detailed badge with score
|
|
110
|
+
*/
|
|
111
|
+
function generateDetailedBadge(score, grade, theme = 'light') {
|
|
112
|
+
const colors = getThemeColors(theme, grade);
|
|
113
|
+
const width = 200;
|
|
114
|
+
const height = 90;
|
|
115
|
+
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" role="img" aria-label="UCP Readiness: ${score}/100 (${grade})">
|
|
116
|
+
<title>UCP Readiness: ${score}/100 (${grade})</title>
|
|
117
|
+
<defs>
|
|
118
|
+
<linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
119
|
+
<stop offset="0%" style="stop-color:${colors.accentColor};stop-opacity:1" />
|
|
120
|
+
<stop offset="100%" style="stop-color:${colors.accentColor};stop-opacity:0.8" />
|
|
121
|
+
</linearGradient>
|
|
122
|
+
</defs>
|
|
123
|
+
<rect width="${width}" height="${height}" rx="5" fill="${colors.background}" stroke="${colors.accentColor}" stroke-width="2"/>
|
|
124
|
+
<text x="100" y="25" font-family="Arial, sans-serif" font-size="12" font-weight="600" fill="${colors.text}" text-anchor="middle">UCP Readiness</text>
|
|
125
|
+
<text x="100" y="55" font-family="Arial, sans-serif" font-size="32" font-weight="bold" fill="url(#grad)" text-anchor="middle">${score}</text>
|
|
126
|
+
<text x="100" y="75" font-family="Arial, sans-serif" font-size="14" font-weight="600" fill="${colors.accentColor}" text-anchor="middle">Grade ${grade}</text>
|
|
127
|
+
</svg>`;
|
|
128
|
+
return svg;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Generate embed code for badge
|
|
132
|
+
*/
|
|
133
|
+
function generateEmbedCode(domain, options = {}) {
|
|
134
|
+
const queryParams = new URLSearchParams();
|
|
135
|
+
if (options.style && options.style !== 'flat') {
|
|
136
|
+
queryParams.set('style', options.style);
|
|
137
|
+
}
|
|
138
|
+
if (options.theme && options.theme !== 'light') {
|
|
139
|
+
queryParams.set('theme', options.theme);
|
|
140
|
+
}
|
|
141
|
+
const queryString = queryParams.toString();
|
|
142
|
+
const badgeUrl = `https://ucptools.dev/badge/${encodeURIComponent(domain)}.svg${queryString ? '?' + queryString : ''}`;
|
|
143
|
+
const targetUrl = `https://ucptools.dev/validate?url=${encodeURIComponent(domain)}`;
|
|
144
|
+
const markdown = `[](${targetUrl})`;
|
|
145
|
+
const html = `<a href="${targetUrl}"><img src="${badgeUrl}" alt="UCP Verified" /></a>`;
|
|
146
|
+
return {
|
|
147
|
+
markdown,
|
|
148
|
+
html,
|
|
149
|
+
url: badgeUrl,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/services/badge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cron Service
|
|
3
|
+
*
|
|
4
|
+
* Handles scheduled tasks like weekly domain validation.
|
|
5
|
+
* Designed to be triggered by Vercel Cron, external scheduler, or manual API call.
|
|
6
|
+
*/
|
|
7
|
+
export interface CronResult {
|
|
8
|
+
success: boolean;
|
|
9
|
+
domainsProcessed: number;
|
|
10
|
+
domainsValidated: number;
|
|
11
|
+
domainsFailed: number;
|
|
12
|
+
alertsSent: number;
|
|
13
|
+
alertsFailed: number;
|
|
14
|
+
webhooksSent: number;
|
|
15
|
+
errors: Array<{
|
|
16
|
+
domain: string;
|
|
17
|
+
error: string;
|
|
18
|
+
}>;
|
|
19
|
+
durationMs: number;
|
|
20
|
+
}
|
|
21
|
+
export interface DomainToValidate {
|
|
22
|
+
id: string;
|
|
23
|
+
domain: string;
|
|
24
|
+
userId: string;
|
|
25
|
+
userEmail: string;
|
|
26
|
+
userName: string | null;
|
|
27
|
+
lastCheckedAt: Date | null;
|
|
28
|
+
lastScore: number | null;
|
|
29
|
+
lastGrade: string | null;
|
|
30
|
+
alertOnScoreChange: boolean | null;
|
|
31
|
+
alertOnGradeChange: boolean | null;
|
|
32
|
+
alertThreshold: number | null;
|
|
33
|
+
monitoringFrequency: string | null;
|
|
34
|
+
webhookUrl: string | null;
|
|
35
|
+
webhookEnabled: boolean | null;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get all domains that need validation based on their monitoring frequency.
|
|
39
|
+
* - Must be active
|
|
40
|
+
* - User must have active or trialing subscription
|
|
41
|
+
* - Filters by frequency: daily → 24h threshold, weekly → 7d threshold
|
|
42
|
+
* - Never-checked domains are always included
|
|
43
|
+
*/
|
|
44
|
+
export declare function getDomainsNeedingValidation(): Promise<DomainToValidate[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Run domain validation for all eligible domains (frequency-aware).
|
|
47
|
+
* Includes diff analysis, severity classification, and webhook dispatch.
|
|
48
|
+
*
|
|
49
|
+
* @param maxDomains - Maximum number of domains to process (for rate limiting)
|
|
50
|
+
* @param delayBetweenMs - Delay between validations in milliseconds
|
|
51
|
+
*/
|
|
52
|
+
export declare function runWeeklyValidation(maxDomains?: number, delayBetweenMs?: number): Promise<CronResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Get cron status/stats
|
|
55
|
+
*/
|
|
56
|
+
export declare function getCronStats(): Promise<{
|
|
57
|
+
pendingDomains: number;
|
|
58
|
+
lastRunAt: Date | null;
|
|
59
|
+
nextRunAt: Date;
|
|
60
|
+
}>;
|
|
61
|
+
/**
|
|
62
|
+
* Trial Email Sequence Results
|
|
63
|
+
*/
|
|
64
|
+
export interface TrialEmailResult {
|
|
65
|
+
success: boolean;
|
|
66
|
+
day1Sent: number;
|
|
67
|
+
day1Failed: number;
|
|
68
|
+
day3Sent: number;
|
|
69
|
+
day3Failed: number;
|
|
70
|
+
day6Sent: number;
|
|
71
|
+
day6Failed: number;
|
|
72
|
+
errors: Array<{
|
|
73
|
+
userId: string;
|
|
74
|
+
email: string;
|
|
75
|
+
error: string;
|
|
76
|
+
}>;
|
|
77
|
+
durationMs: number;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Send trial sequence emails to users
|
|
81
|
+
*
|
|
82
|
+
* - Day 3: Value reminder + Feature highlight
|
|
83
|
+
* - Day 6: Trial ending + Conversion CTA
|
|
84
|
+
*
|
|
85
|
+
* This should be run daily via cron job.
|
|
86
|
+
*/
|
|
87
|
+
export declare function runTrialEmailSequence(): Promise<TrialEmailResult>;
|
|
88
|
+
export interface HostedProfileCronResult {
|
|
89
|
+
success: boolean;
|
|
90
|
+
profilesValidated: number;
|
|
91
|
+
profilesFailed: number;
|
|
92
|
+
verificationsChecked: number;
|
|
93
|
+
verificationsConfirmed: number;
|
|
94
|
+
errors: Array<{
|
|
95
|
+
profileId: string;
|
|
96
|
+
error: string;
|
|
97
|
+
}>;
|
|
98
|
+
durationMs: number;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Run validation on active hosted profiles that haven't been validated in 7+ days.
|
|
102
|
+
* Also checks pending DNS verifications.
|
|
103
|
+
*/
|
|
104
|
+
export declare function runHostedProfileMaintenance(maxProfiles?: number, delayBetweenMs?: number): Promise<HostedProfileCronResult>;
|
|
105
|
+
export interface TrialExpirationResult {
|
|
106
|
+
success: boolean;
|
|
107
|
+
expired: number;
|
|
108
|
+
emailsSent: number;
|
|
109
|
+
emailsFailed: number;
|
|
110
|
+
errors: Array<{
|
|
111
|
+
userId: string;
|
|
112
|
+
error: string;
|
|
113
|
+
}>;
|
|
114
|
+
durationMs: number;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Expire trials that have passed their currentPeriodEnd date.
|
|
118
|
+
*
|
|
119
|
+
* Downgrades users from trialing/starter → canceled/free.
|
|
120
|
+
* Sends a "trial expired" email with upgrade CTA.
|
|
121
|
+
*
|
|
122
|
+
* Should be run daily via cron job (same schedule as trial-emails).
|
|
123
|
+
*/
|
|
124
|
+
export declare function runExpireTrials(): Promise<TrialExpirationResult>;
|
|
125
|
+
//# sourceMappingURL=cron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/services/cron.ts"],"names":[],"mappings":"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"}
|