@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
@@ -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, '&lt;')
19
+ .replace(/>/g, '&gt;')
20
+ .replace(/"/g, '&quot;')
21
+ .replace(/'/g, '&#39;');
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 = `[![UCP Verified](${badgeUrl})](${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":"AAAA;;;;;GAKG;AAgBH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAqD/E;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,GAAE,MAAY,EACxB,cAAc,GAAE,MAAa,GAC5B,OAAO,CAAC,UAAU,CAAC,CA0LrB;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC,CAcD;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA0LvE;AAMD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,GAAE,MAAY,EACzB,cAAc,GAAE,MAAY,GAC3B,OAAO,CAAC,uBAAuB,CAAC,CA0ElC;AAMD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAgHtE"}