@bernierllc/email-sender 2.0.2 → 3.0.5
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/README.md +138 -0
- package/dist/core/email-safety-manager.d.ts +30 -0
- package/dist/core/email-safety-manager.d.ts.map +1 -0
- package/dist/core/email-safety-manager.js +106 -0
- package/dist/core/email-safety-manager.js.map +1 -0
- package/dist/core/email-sender.d.ts +23 -5
- package/dist/core/email-sender.d.ts.map +1 -1
- package/dist/core/email-sender.js +55 -2
- package/dist/core/email-sender.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/sendgrid/client.d.ts +26 -0
- package/dist/providers/sendgrid/client.d.ts.map +1 -0
- package/dist/providers/sendgrid/client.js +71 -0
- package/dist/providers/sendgrid/client.js.map +1 -0
- package/dist/providers/sendgrid/converters.d.ts +19 -0
- package/dist/providers/sendgrid/converters.d.ts.map +1 -0
- package/dist/providers/sendgrid/converters.js +54 -0
- package/dist/providers/sendgrid/converters.js.map +1 -0
- package/dist/providers/sendgrid/errors.d.ts +23 -0
- package/dist/providers/sendgrid/errors.d.ts.map +1 -0
- package/dist/providers/sendgrid/errors.js +53 -0
- package/dist/providers/sendgrid/errors.js.map +1 -0
- package/dist/providers/sendgrid/index.d.ts +13 -0
- package/dist/providers/sendgrid/index.d.ts.map +1 -0
- package/dist/providers/sendgrid/index.js +39 -0
- package/dist/providers/sendgrid/index.js.map +1 -0
- package/dist/providers/sendgrid/rate-limiter.d.ts +18 -0
- package/dist/providers/sendgrid/rate-limiter.d.ts.map +1 -0
- package/dist/providers/sendgrid/rate-limiter.js +69 -0
- package/dist/providers/sendgrid/rate-limiter.js.map +1 -0
- package/dist/providers/sendgrid/safety.d.ts +32 -0
- package/dist/providers/sendgrid/safety.d.ts.map +1 -0
- package/dist/providers/sendgrid/safety.js +82 -0
- package/dist/providers/sendgrid/safety.js.map +1 -0
- package/dist/providers/sendgrid/sender-manager.d.ts +25 -0
- package/dist/providers/sendgrid/sender-manager.d.ts.map +1 -0
- package/dist/providers/sendgrid/sender-manager.js +126 -0
- package/dist/providers/sendgrid/sender-manager.js.map +1 -0
- package/dist/providers/sendgrid/template-manager.d.ts +29 -0
- package/dist/providers/sendgrid/template-manager.d.ts.map +1 -0
- package/dist/providers/sendgrid/template-manager.js +153 -0
- package/dist/providers/sendgrid/template-manager.js.map +1 -0
- package/dist/providers/sendgrid/types.d.ts +136 -0
- package/dist/providers/sendgrid/types.d.ts.map +1 -0
- package/dist/providers/sendgrid/types.js +10 -0
- package/dist/providers/sendgrid/types.js.map +1 -0
- package/dist/providers/sendgrid.d.ts +63 -2
- package/dist/providers/sendgrid.d.ts.map +1 -1
- package/dist/providers/sendgrid.js +145 -1
- package/dist/providers/sendgrid.js.map +1 -1
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +12 -3
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright (c) 2025 Bernier LLC
|
|
4
|
+
|
|
5
|
+
This file is licensed to the client under a limited-use license.
|
|
6
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
7
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.TemplateManager = void 0;
|
|
11
|
+
const errors_1 = require("./errors");
|
|
12
|
+
class TemplateManager {
|
|
13
|
+
constructor(client, ownershipValidator, prefixEnforcer, converter, logger) {
|
|
14
|
+
this.client = client;
|
|
15
|
+
this.ownershipValidator = ownershipValidator;
|
|
16
|
+
this.prefixEnforcer = prefixEnforcer;
|
|
17
|
+
this.converter = converter;
|
|
18
|
+
this.logger = logger;
|
|
19
|
+
}
|
|
20
|
+
async createTemplate(template) {
|
|
21
|
+
// Apply template naming convention
|
|
22
|
+
const templateName = this.prefixEnforcer.applyPrefix(template.name);
|
|
23
|
+
// Create base template in SendGrid
|
|
24
|
+
const createRequest = {
|
|
25
|
+
name: templateName,
|
|
26
|
+
generation: 'dynamic'
|
|
27
|
+
};
|
|
28
|
+
const response = await this.client.request('/templates', {
|
|
29
|
+
method: 'POST',
|
|
30
|
+
body: JSON.stringify(createRequest)
|
|
31
|
+
});
|
|
32
|
+
if (!this.client.isSuccessResponse(response)) {
|
|
33
|
+
throw new errors_1.SendGridApiError(`Failed to create template: ${response.statusCode}`, response.statusCode, response.body);
|
|
34
|
+
}
|
|
35
|
+
const templateData = this.client.parseResponseBody(response);
|
|
36
|
+
const templateId = templateData.id;
|
|
37
|
+
// Register as app-managed
|
|
38
|
+
this.ownershipValidator.registerTemplate(templateId);
|
|
39
|
+
// Create initial version with content
|
|
40
|
+
await this.createTemplateVersion(templateId, {
|
|
41
|
+
name: 'v1.0.0',
|
|
42
|
+
subject: template.subject,
|
|
43
|
+
htmlContent: template.htmlContent,
|
|
44
|
+
textContent: template.textContent,
|
|
45
|
+
active: true
|
|
46
|
+
});
|
|
47
|
+
// Log operation
|
|
48
|
+
this.logger?.info(`Created SendGrid template: ${templateName} (ID: ${templateId})`);
|
|
49
|
+
return templateId;
|
|
50
|
+
}
|
|
51
|
+
async updateTemplate(providerTemplateId, template) {
|
|
52
|
+
// Validate template ownership
|
|
53
|
+
this.ownershipValidator.validateOwnership(providerTemplateId);
|
|
54
|
+
// Get current template state
|
|
55
|
+
const currentTemplate = await this.getTemplate(providerTemplateId);
|
|
56
|
+
// Check for conflicts
|
|
57
|
+
if (this.hasConflicts(currentTemplate, template)) {
|
|
58
|
+
throw new errors_1.TemplateConflictError(providerTemplateId, this.detectConflicts(currentTemplate, template));
|
|
59
|
+
}
|
|
60
|
+
// Create new version with updated content
|
|
61
|
+
await this.createTemplateVersion(providerTemplateId, {
|
|
62
|
+
name: `v${template.version}`,
|
|
63
|
+
subject: template.subject,
|
|
64
|
+
htmlContent: template.htmlContent,
|
|
65
|
+
textContent: template.textContent,
|
|
66
|
+
active: template.isActive
|
|
67
|
+
});
|
|
68
|
+
this.logger?.info(`Updated SendGrid template: ${providerTemplateId}`);
|
|
69
|
+
}
|
|
70
|
+
async deleteTemplate(providerTemplateId) {
|
|
71
|
+
this.ownershipValidator.validateOwnership(providerTemplateId);
|
|
72
|
+
const response = await this.client.request(`/templates/${providerTemplateId}`, {
|
|
73
|
+
method: 'DELETE'
|
|
74
|
+
});
|
|
75
|
+
if (!this.client.isSuccessResponse(response)) {
|
|
76
|
+
throw new errors_1.SendGridApiError(`Failed to delete template: ${response.statusCode}`, response.statusCode, response.body);
|
|
77
|
+
}
|
|
78
|
+
this.ownershipValidator.unregisterTemplate(providerTemplateId);
|
|
79
|
+
this.logger?.info(`Deleted SendGrid template: ${providerTemplateId}`);
|
|
80
|
+
}
|
|
81
|
+
async getTemplate(providerTemplateId) {
|
|
82
|
+
this.ownershipValidator.validateOwnership(providerTemplateId);
|
|
83
|
+
const response = await this.client.request(`/templates/${providerTemplateId}`, {
|
|
84
|
+
method: 'GET'
|
|
85
|
+
});
|
|
86
|
+
if (response.statusCode === 404) {
|
|
87
|
+
throw new errors_1.TemplateNotFoundError(providerTemplateId);
|
|
88
|
+
}
|
|
89
|
+
if (!this.client.isSuccessResponse(response)) {
|
|
90
|
+
throw new errors_1.SendGridApiError(`Failed to get template: ${response.statusCode}`, response.statusCode, response.body);
|
|
91
|
+
}
|
|
92
|
+
const templateData = this.client.parseResponseBody(response);
|
|
93
|
+
return this.converter.convertToProviderTemplate(templateData);
|
|
94
|
+
}
|
|
95
|
+
async listTemplates() {
|
|
96
|
+
const response = await this.client.request('/templates?generations=dynamic', {
|
|
97
|
+
method: 'GET'
|
|
98
|
+
});
|
|
99
|
+
if (!this.client.isSuccessResponse(response)) {
|
|
100
|
+
throw new errors_1.SendGridApiError(`Failed to list templates: ${response.statusCode}`, response.statusCode, response.body);
|
|
101
|
+
}
|
|
102
|
+
const data = this.client.parseResponseBody(response);
|
|
103
|
+
// Filter to only app-managed templates
|
|
104
|
+
const appTemplates = data.result.filter(template => this.prefixEnforcer.hasPrefix(template.name));
|
|
105
|
+
// Register all app templates
|
|
106
|
+
appTemplates.forEach(template => {
|
|
107
|
+
this.ownershipValidator.registerTemplate(template.id);
|
|
108
|
+
});
|
|
109
|
+
return appTemplates.map(template => this.converter.convertToProviderTemplate(template));
|
|
110
|
+
}
|
|
111
|
+
async createTemplateVersion(templateId, version) {
|
|
112
|
+
const versionRequest = {
|
|
113
|
+
template_id: templateId,
|
|
114
|
+
name: version.name,
|
|
115
|
+
subject: version.subject,
|
|
116
|
+
html_content: version.htmlContent,
|
|
117
|
+
plain_content: version.textContent || '',
|
|
118
|
+
active: version.active ? 1 : 0
|
|
119
|
+
};
|
|
120
|
+
const response = await this.client.request(`/templates/${templateId}/versions`, {
|
|
121
|
+
method: 'POST',
|
|
122
|
+
body: JSON.stringify(versionRequest)
|
|
123
|
+
});
|
|
124
|
+
if (!this.client.isSuccessResponse(response)) {
|
|
125
|
+
throw new errors_1.SendGridApiError(`Failed to create template version: ${response.statusCode}`, response.statusCode, response.body);
|
|
126
|
+
}
|
|
127
|
+
const versionData = this.client.parseResponseBody(response);
|
|
128
|
+
return versionData.id;
|
|
129
|
+
}
|
|
130
|
+
async activateTemplateVersion(templateId, versionId) {
|
|
131
|
+
const response = await this.client.request(`/templates/${templateId}/versions/${versionId}/activate`, { method: 'POST' });
|
|
132
|
+
if (!this.client.isSuccessResponse(response)) {
|
|
133
|
+
throw new errors_1.SendGridApiError(`Failed to activate template version: ${response.statusCode}`, response.statusCode, response.body);
|
|
134
|
+
}
|
|
135
|
+
this.logger?.info(`Activated template version: ${templateId}/${versionId}`);
|
|
136
|
+
}
|
|
137
|
+
hasConflicts(current, updated) {
|
|
138
|
+
// Simple conflict detection - can be enhanced
|
|
139
|
+
return current.updatedAt > updated.updatedAt;
|
|
140
|
+
}
|
|
141
|
+
detectConflicts(current, updated) {
|
|
142
|
+
const conflicts = [];
|
|
143
|
+
if (current.subject !== updated.subject) {
|
|
144
|
+
conflicts.push('subject modified');
|
|
145
|
+
}
|
|
146
|
+
if (current.htmlContent !== updated.htmlContent) {
|
|
147
|
+
conflicts.push('HTML content modified');
|
|
148
|
+
}
|
|
149
|
+
return conflicts;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.TemplateManager = TemplateManager;
|
|
153
|
+
//# sourceMappingURL=template-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-manager.js","sourceRoot":"","sources":["../../../src/providers/sendgrid/template-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SendGrid-specific type definitions for advanced features
|
|
3
|
+
* Merged from @bernierllc/email-sendgrid-plugin v1.0.1
|
|
4
|
+
*/
|
|
5
|
+
export interface VerifiedSender {
|
|
6
|
+
id: string;
|
|
7
|
+
email: string;
|
|
8
|
+
name: string;
|
|
9
|
+
isVerified: boolean;
|
|
10
|
+
domain: string;
|
|
11
|
+
verificationStatus: 'pending' | 'verified' | 'failed';
|
|
12
|
+
createdAt: Date;
|
|
13
|
+
lastVerifiedAt?: Date;
|
|
14
|
+
}
|
|
15
|
+
export interface SenderValidationResult {
|
|
16
|
+
isValid: boolean;
|
|
17
|
+
verifiedSender?: VerifiedSender;
|
|
18
|
+
domain: string;
|
|
19
|
+
domainMatches: VerifiedSender[];
|
|
20
|
+
errors: string[];
|
|
21
|
+
suggestions: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface SendGridTemplateData {
|
|
24
|
+
id: string;
|
|
25
|
+
name: string;
|
|
26
|
+
generation: 'legacy' | 'dynamic';
|
|
27
|
+
updated_at: string;
|
|
28
|
+
versions?: SendGridTemplateVersion[];
|
|
29
|
+
}
|
|
30
|
+
export interface SendGridTemplateVersion {
|
|
31
|
+
id: string;
|
|
32
|
+
template_id: string;
|
|
33
|
+
active: number;
|
|
34
|
+
name: string;
|
|
35
|
+
html_content: string;
|
|
36
|
+
plain_content?: string;
|
|
37
|
+
subject: string;
|
|
38
|
+
updated_at: string;
|
|
39
|
+
editor: string;
|
|
40
|
+
}
|
|
41
|
+
export interface SendGridVerifiedSenderData {
|
|
42
|
+
id: number;
|
|
43
|
+
nickname: string;
|
|
44
|
+
from_email: string;
|
|
45
|
+
from_name: string;
|
|
46
|
+
reply_to: string;
|
|
47
|
+
reply_to_name: string;
|
|
48
|
+
address: string;
|
|
49
|
+
address2: string;
|
|
50
|
+
city: string;
|
|
51
|
+
state: string;
|
|
52
|
+
zip: string;
|
|
53
|
+
country: string;
|
|
54
|
+
verified: boolean;
|
|
55
|
+
locked: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface Template {
|
|
58
|
+
id: string;
|
|
59
|
+
name: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
subject: string;
|
|
62
|
+
htmlContent: string;
|
|
63
|
+
textContent?: string;
|
|
64
|
+
category?: string;
|
|
65
|
+
tags?: string[];
|
|
66
|
+
version: string;
|
|
67
|
+
isActive: boolean;
|
|
68
|
+
variables?: Record<string, unknown>;
|
|
69
|
+
requiredVariables?: string[];
|
|
70
|
+
providerTemplateIds?: Record<string, string>;
|
|
71
|
+
lastSyncedAt?: Record<string, Date>;
|
|
72
|
+
syncStatus?: Record<string, string>;
|
|
73
|
+
createdAt: Date;
|
|
74
|
+
updatedAt: Date;
|
|
75
|
+
createdBy?: string;
|
|
76
|
+
lastModifiedBy?: string;
|
|
77
|
+
}
|
|
78
|
+
export interface ProviderTemplate {
|
|
79
|
+
id: string;
|
|
80
|
+
name: string;
|
|
81
|
+
description?: string;
|
|
82
|
+
subject: string;
|
|
83
|
+
htmlContent: string;
|
|
84
|
+
textContent?: string;
|
|
85
|
+
version: string;
|
|
86
|
+
active: boolean;
|
|
87
|
+
createdAt: Date;
|
|
88
|
+
updatedAt: Date;
|
|
89
|
+
}
|
|
90
|
+
export interface TemplateVersion {
|
|
91
|
+
name: string;
|
|
92
|
+
subject: string;
|
|
93
|
+
htmlContent: string;
|
|
94
|
+
textContent?: string | undefined;
|
|
95
|
+
active: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface SyncResult {
|
|
98
|
+
success: boolean;
|
|
99
|
+
action: 'created' | 'updated' | 'deleted' | 'failed';
|
|
100
|
+
providerTemplateId?: string;
|
|
101
|
+
localTemplateId?: string;
|
|
102
|
+
error?: string;
|
|
103
|
+
metadata: Record<string, unknown>;
|
|
104
|
+
}
|
|
105
|
+
export interface TemplateAnalytics {
|
|
106
|
+
templateId: string;
|
|
107
|
+
opens: number;
|
|
108
|
+
clicks: number;
|
|
109
|
+
bounces: number;
|
|
110
|
+
deliveries: number;
|
|
111
|
+
dateRange: {
|
|
112
|
+
start: Date;
|
|
113
|
+
end: Date;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export interface ApiRequestOptions {
|
|
117
|
+
method: string;
|
|
118
|
+
headers?: Record<string, string>;
|
|
119
|
+
body?: string;
|
|
120
|
+
}
|
|
121
|
+
export interface ApiResponse {
|
|
122
|
+
statusCode: number;
|
|
123
|
+
headers: Record<string, string>;
|
|
124
|
+
body: string;
|
|
125
|
+
}
|
|
126
|
+
export interface SendGridAdvancedConfig {
|
|
127
|
+
apiKey: string;
|
|
128
|
+
templatePrefix?: string;
|
|
129
|
+
safetyMode?: 'strict' | 'relaxed';
|
|
130
|
+
rateLimits?: {
|
|
131
|
+
apiCallsPerSecond: number;
|
|
132
|
+
templatesPerMinute: number;
|
|
133
|
+
};
|
|
134
|
+
enableLogger?: boolean;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/sendgrid/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright (c) 2025 Bernier LLC
|
|
4
|
+
|
|
5
|
+
This file is licensed to the client under a limited-use license.
|
|
6
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
7
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/providers/sendgrid/types.ts"],"names":[],"mappings":";AAAA;;;;;;EAME"}
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SendGrid Email Provider implementation
|
|
2
|
+
* SendGrid Email Provider implementation (v3.0.0)
|
|
3
|
+
* Now includes advanced features from @bernierllc/email-sendgrid-plugin
|
|
3
4
|
*/
|
|
4
5
|
import { EmailProvider } from './base';
|
|
5
6
|
import { EmailMessage, SendResult, DeliveryStatus, WebhookEvent, EmailProviderConfig } from '../types';
|
|
7
|
+
import type { VerifiedSender, SenderValidationResult, Template, ProviderTemplate, TemplateVersion, SendGridAdvancedConfig } from './sendgrid/types';
|
|
6
8
|
export declare class SendGridProvider extends EmailProvider {
|
|
7
9
|
private apiKey;
|
|
8
10
|
private baseUrl;
|
|
9
|
-
|
|
11
|
+
private advancedClient?;
|
|
12
|
+
private templateManager?;
|
|
13
|
+
private senderManager?;
|
|
14
|
+
private rateLimiter?;
|
|
15
|
+
private ownershipValidator?;
|
|
16
|
+
private prefixEnforcer?;
|
|
17
|
+
private advancedFeaturesEnabled;
|
|
18
|
+
constructor(config: EmailProviderConfig & {
|
|
19
|
+
advanced?: SendGridAdvancedConfig;
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* Initialize advanced SendGrid features (template management, verified senders, etc.)
|
|
23
|
+
*/
|
|
24
|
+
private initializeAdvancedFeatures;
|
|
10
25
|
/**
|
|
11
26
|
* Send a single email
|
|
12
27
|
*/
|
|
@@ -60,6 +75,52 @@ export declare class SendGridProvider extends EmailProvider {
|
|
|
60
75
|
errors: string[];
|
|
61
76
|
warnings: string[];
|
|
62
77
|
};
|
|
78
|
+
/**
|
|
79
|
+
* Get verified senders from SendGrid
|
|
80
|
+
* Requires advanced features to be enabled
|
|
81
|
+
*/
|
|
82
|
+
getVerifiedSenders(useCache?: boolean): Promise<VerifiedSender[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Validate if an email address has a verified sender
|
|
85
|
+
*/
|
|
86
|
+
validateSender(email: string): Promise<SenderValidationResult>;
|
|
87
|
+
/**
|
|
88
|
+
* Select the best verified sender for an email address
|
|
89
|
+
*/
|
|
90
|
+
selectBestSender(fromEmail: string): Promise<VerifiedSender | null>;
|
|
91
|
+
/**
|
|
92
|
+
* Create a new template in SendGrid
|
|
93
|
+
* Requires advanced features to be enabled
|
|
94
|
+
*/
|
|
95
|
+
createAdvancedTemplate(template: Template): Promise<string>;
|
|
96
|
+
/**
|
|
97
|
+
* Update an existing template in SendGrid
|
|
98
|
+
*/
|
|
99
|
+
updateAdvancedTemplate(templateId: string, template: Template): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Delete a template from SendGrid
|
|
102
|
+
*/
|
|
103
|
+
deleteAdvancedTemplate(templateId: string): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Get a template from SendGrid
|
|
106
|
+
*/
|
|
107
|
+
getAdvancedTemplate(templateId: string): Promise<ProviderTemplate>;
|
|
108
|
+
/**
|
|
109
|
+
* List all app-managed templates from SendGrid
|
|
110
|
+
*/
|
|
111
|
+
listAdvancedTemplates(): Promise<ProviderTemplate[]>;
|
|
112
|
+
/**
|
|
113
|
+
* Create a new version of a template
|
|
114
|
+
*/
|
|
115
|
+
createTemplateVersion(templateId: string, version: TemplateVersion): Promise<string>;
|
|
116
|
+
/**
|
|
117
|
+
* Activate a specific template version
|
|
118
|
+
*/
|
|
119
|
+
activateTemplateVersion(templateId: string, versionId: string): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Check if advanced features are enabled
|
|
122
|
+
*/
|
|
123
|
+
hasAdvancedFeatures(): boolean;
|
|
63
124
|
/**
|
|
64
125
|
* Make API request to SendGrid
|
|
65
126
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendgrid.d.ts","sourceRoot":"","sources":["../../src/providers/sendgrid.ts"],"names":[],"mappings":"AAQA
|
|
1
|
+
{"version":3,"file":"sendgrid.d.ts","sourceRoot":"","sources":["../../src/providers/sendgrid.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,17 +9,59 @@ Redistribution or use in other products or commercial offerings is not permitted
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.SendGridProvider = void 0;
|
|
11
11
|
/**
|
|
12
|
-
* SendGrid Email Provider implementation
|
|
12
|
+
* SendGrid Email Provider implementation (v3.0.0)
|
|
13
|
+
* Now includes advanced features from @bernierllc/email-sendgrid-plugin
|
|
13
14
|
*/
|
|
14
15
|
const base_1 = require("./base");
|
|
16
|
+
const client_1 = require("./sendgrid/client");
|
|
17
|
+
const template_manager_1 = require("./sendgrid/template-manager");
|
|
18
|
+
const sender_manager_1 = require("./sendgrid/sender-manager");
|
|
19
|
+
const rate_limiter_1 = require("./sendgrid/rate-limiter");
|
|
20
|
+
const converters_1 = require("./sendgrid/converters");
|
|
21
|
+
const safety_1 = require("./sendgrid/safety");
|
|
15
22
|
class SendGridProvider extends base_1.EmailProvider {
|
|
16
23
|
constructor(config) {
|
|
17
24
|
super(config);
|
|
18
25
|
this.baseUrl = 'https://api.sendgrid.com/v3';
|
|
26
|
+
this.advancedFeaturesEnabled = false;
|
|
19
27
|
if (this.config.provider !== 'sendgrid') {
|
|
20
28
|
throw new Error('SendGridProvider requires provider to be "sendgrid"');
|
|
21
29
|
}
|
|
22
30
|
this.apiKey = this.config.apiKey || '';
|
|
31
|
+
// Initialize advanced features if configuration provided
|
|
32
|
+
if (config.advanced) {
|
|
33
|
+
this.initializeAdvancedFeatures(config.advanced);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Initialize advanced SendGrid features (template management, verified senders, etc.)
|
|
38
|
+
*/
|
|
39
|
+
initializeAdvancedFeatures(advancedConfig) {
|
|
40
|
+
// Initialize rate limiter if configured
|
|
41
|
+
if (advancedConfig.rateLimits) {
|
|
42
|
+
this.rateLimiter = new rate_limiter_1.SimpleRateLimiter({
|
|
43
|
+
maxRequestsPerSecond: advancedConfig.rateLimits.apiCallsPerSecond,
|
|
44
|
+
maxRequestsPerMinute: advancedConfig.rateLimits.templatesPerMinute
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
// Initialize SendGrid client
|
|
48
|
+
const clientConfig = {
|
|
49
|
+
apiKey: advancedConfig.apiKey
|
|
50
|
+
};
|
|
51
|
+
if (this.rateLimiter) {
|
|
52
|
+
clientConfig.rateLimiter = this.rateLimiter;
|
|
53
|
+
}
|
|
54
|
+
this.advancedClient = new client_1.SendGridClient(clientConfig);
|
|
55
|
+
// Initialize safety components
|
|
56
|
+
this.ownershipValidator = new safety_1.OwnershipValidator(advancedConfig.safetyMode || 'strict');
|
|
57
|
+
this.prefixEnforcer = new safety_1.PrefixEnforcer(advancedConfig.templatePrefix || 'app_');
|
|
58
|
+
// Initialize converters
|
|
59
|
+
const templateConverter = new converters_1.TemplateConverter(this.prefixEnforcer);
|
|
60
|
+
const senderConverter = new converters_1.SenderConverter();
|
|
61
|
+
// Initialize managers
|
|
62
|
+
this.templateManager = new template_manager_1.TemplateManager(this.advancedClient, this.ownershipValidator, this.prefixEnforcer, templateConverter);
|
|
63
|
+
this.senderManager = new sender_manager_1.SenderManager(this.advancedClient, senderConverter);
|
|
64
|
+
this.advancedFeaturesEnabled = true;
|
|
23
65
|
}
|
|
24
66
|
/**
|
|
25
67
|
* Send a single email
|
|
@@ -340,6 +382,108 @@ class SendGridProvider extends base_1.EmailProvider {
|
|
|
340
382
|
warnings,
|
|
341
383
|
};
|
|
342
384
|
}
|
|
385
|
+
// ==========================================
|
|
386
|
+
// Advanced Features (v3.0.0)
|
|
387
|
+
// Merged from @bernierllc/email-sendgrid-plugin
|
|
388
|
+
// ==========================================
|
|
389
|
+
/**
|
|
390
|
+
* Get verified senders from SendGrid
|
|
391
|
+
* Requires advanced features to be enabled
|
|
392
|
+
*/
|
|
393
|
+
async getVerifiedSenders(useCache = true) {
|
|
394
|
+
if (!this.advancedFeaturesEnabled || !this.senderManager) {
|
|
395
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
396
|
+
}
|
|
397
|
+
return this.senderManager.getVerifiedSenders(useCache);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Validate if an email address has a verified sender
|
|
401
|
+
*/
|
|
402
|
+
async validateSender(email) {
|
|
403
|
+
if (!this.advancedFeaturesEnabled || !this.senderManager) {
|
|
404
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
405
|
+
}
|
|
406
|
+
return this.senderManager.validateSender(email);
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Select the best verified sender for an email address
|
|
410
|
+
*/
|
|
411
|
+
async selectBestSender(fromEmail) {
|
|
412
|
+
if (!this.advancedFeaturesEnabled || !this.senderManager) {
|
|
413
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
414
|
+
}
|
|
415
|
+
return this.senderManager.selectBestSender(fromEmail);
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Create a new template in SendGrid
|
|
419
|
+
* Requires advanced features to be enabled
|
|
420
|
+
*/
|
|
421
|
+
async createAdvancedTemplate(template) {
|
|
422
|
+
if (!this.advancedFeaturesEnabled || !this.templateManager) {
|
|
423
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
424
|
+
}
|
|
425
|
+
return this.templateManager.createTemplate(template);
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Update an existing template in SendGrid
|
|
429
|
+
*/
|
|
430
|
+
async updateAdvancedTemplate(templateId, template) {
|
|
431
|
+
if (!this.advancedFeaturesEnabled || !this.templateManager) {
|
|
432
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
433
|
+
}
|
|
434
|
+
return this.templateManager.updateTemplate(templateId, template);
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Delete a template from SendGrid
|
|
438
|
+
*/
|
|
439
|
+
async deleteAdvancedTemplate(templateId) {
|
|
440
|
+
if (!this.advancedFeaturesEnabled || !this.templateManager) {
|
|
441
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
442
|
+
}
|
|
443
|
+
return this.templateManager.deleteTemplate(templateId);
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Get a template from SendGrid
|
|
447
|
+
*/
|
|
448
|
+
async getAdvancedTemplate(templateId) {
|
|
449
|
+
if (!this.advancedFeaturesEnabled || !this.templateManager) {
|
|
450
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
451
|
+
}
|
|
452
|
+
return this.templateManager.getTemplate(templateId);
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* List all app-managed templates from SendGrid
|
|
456
|
+
*/
|
|
457
|
+
async listAdvancedTemplates() {
|
|
458
|
+
if (!this.advancedFeaturesEnabled || !this.templateManager) {
|
|
459
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
460
|
+
}
|
|
461
|
+
return this.templateManager.listTemplates();
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Create a new version of a template
|
|
465
|
+
*/
|
|
466
|
+
async createTemplateVersion(templateId, version) {
|
|
467
|
+
if (!this.advancedFeaturesEnabled || !this.templateManager) {
|
|
468
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
469
|
+
}
|
|
470
|
+
return this.templateManager.createTemplateVersion(templateId, version);
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Activate a specific template version
|
|
474
|
+
*/
|
|
475
|
+
async activateTemplateVersion(templateId, versionId) {
|
|
476
|
+
if (!this.advancedFeaturesEnabled || !this.templateManager) {
|
|
477
|
+
throw new Error('Advanced features not enabled. Initialize with advanced config to use this feature.');
|
|
478
|
+
}
|
|
479
|
+
return this.templateManager.activateTemplateVersion(templateId, versionId);
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Check if advanced features are enabled
|
|
483
|
+
*/
|
|
484
|
+
hasAdvancedFeatures() {
|
|
485
|
+
return this.advancedFeaturesEnabled;
|
|
486
|
+
}
|
|
343
487
|
/**
|
|
344
488
|
* Make API request to SendGrid
|
|
345
489
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendgrid.js","sourceRoot":"","sources":["../../src/providers/sendgrid.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sendgrid.js","sourceRoot":"","sources":["../../src/providers/sendgrid.ts"],"names":[],"mappings":";AAAA;;;;;;EAME;;;AAEF;;;GAGG;AAEH,iCAAuC;AAEvC,8CAAmD;AACnD,kEAA8D;AAC9D,8DAA0D;AAC1D,0DAA4D;AAC5D,sDAA2E;AAC3E,8CAAuE;AAkCvE,MAAa,gBAAiB,SAAQ,oBAAa;IAajD,YAAY,MAAmE;QAC7E,KAAK,CAAC,MAAM,CAAC,CAAC;QAZR,YAAO,GAAG,6BAA6B,CAAC;QASxC,4BAAuB,GAAG,KAAK,CAAC;QAKtC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAEvC,yDAAyD;QACzD,IAAK,MAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,0BAA0B,CAAE,MAAc,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,0BAA0B,CAAC,cAAsC;QACvE,wCAAwC;QACxC,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,gCAAiB,CAAC;gBACvC,oBAAoB,EAAE,cAAc,CAAC,UAAU,CAAC,iBAAiB;gBACjE,oBAAoB,EAAE,cAAc,CAAC,UAAU,CAAC,kBAAkB;aACnE,CAAC,CAAC;QACL,CAAC;QAED,6BAA6B;QAC7B,MAAM,YAAY,GAAqD;YACrE,MAAM,EAAE,cAAc,CAAC,MAAM;SAC9B,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAc,CAAC,YAAY,CAAC,CAAC;QAEvD,+BAA+B;QAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,2BAAkB,CAAC,cAAc,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAc,CAAC,cAAc,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;QAElF,wBAAwB;QACxB,MAAM,iBAAiB,GAAG,IAAI,8BAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,IAAI,4BAAe,EAAE,CAAC;QAE9C,sBAAsB;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAe,CACxC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,cAAc,EACnB,iBAAiB,CAClB,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CACpC,IAAI,CAAC,cAAc,EACnB,eAAe,CAChB,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAmB;QACjC,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,4BAA4B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACzE,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,MAAM,WAAW,GAAqC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/E,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YAClC,CAAC;YAED,MAAM,WAAW,GAAqC;gBACpD,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;aAChD,CAAC;YACF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;YACpC,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAChC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1C,CAAC;YAED,MAAM,QAAQ,GAAqB;gBACjC,EAAE,EAAE,CAAC,WAAW,CAAC;gBACjB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,EAAE;aACZ,CAAC;YAEF,cAAc;YACd,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,KAAK,CAAC,WAAW;iBACzB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,KAAK,CAAC,WAAW;iBACzB,CAAC,CAAC;YACL,CAAC;YAED,eAAe;YACf,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,QAAQ,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/C,CAAC;YAED,cAAc;YACd,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACnC,CAAC;YAED,kBAAkB;YAClB,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBACxD,MAAM,kBAAkB,GAKpB;wBACF,OAAO,EAAE,UAAU,CAAC,OAAO;wBAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B,CAAC;oBAEF,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;wBAC3B,kBAAkB,CAAC,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC;oBACnD,CAAC;oBAED,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;wBAC3B,kBAAkB,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;oBAC1D,CAAC;oBAED,OAAO,kBAAkB,CAAC;gBAC5B,CAAC,CAAC,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;gBACvD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBACtD,gBAAgB,EAAE,YAAY;oBAC9B,QAAQ,EAAE;wBACR,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;qBAC1B;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,QAAQ,QAAQ,CAAC,UAAU,EAAE;oBAC7E,gBAAgB,EAAE,SAAS;iBAC5B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;gBAC/E,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAAsB;QACpC,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,SAAS,EAAE,EAAE;gBACnE,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,cAAc,GAAmB;oBACrC,SAAS;oBACT,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC3C,QAAQ,EAAE,IAAI;iBACf,CAAC;gBAEF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,cAAc,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3D,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,cAAc,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACtC,CAAC;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAAY,EAAE,SAAiB;QAClD,IAAI,CAAC;YACH,iDAAiD;YACjD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAChE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAmB,EAAE,CAAC;YAElC,2DAA2D;YAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEnE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACV,SAAS,EAAE,KAAK,CAAC,aAAa;oBAC9B,SAAS,EAAE,KAAK,CAAC,KAAK;oBACtB,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC3C,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED;;OAEG;IACM,eAAe;QACtB,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,IAAI;YACtB,mBAAmB,EAAE,IAAI;YACzB,wBAAwB,EAAE,IAAI;YAC9B,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;SAC7C,CAAC;IACJ,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,cAAc,CAAC,YAK7B;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;gBACvD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,UAAU,EAAE,SAAS;iBACtB,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;gBAE3B,8BAA8B;gBAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,UAAU,WAAW,EAAE;oBAC7D,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,YAAY,CAAC,OAAO;wBAC7B,YAAY,EAAE,YAAY,CAAC,WAAW;wBACtC,aAAa,EAAE,YAAY,CAAC,WAAW;wBACvC,MAAM,EAAE,CAAC;qBACV,CAAC;iBACH,CAAC,CAAC;gBAEH,OAAO,UAAU,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,iBAAiB,CAC9B,UAAkB,EAClB,OAAe,EACf,YAAiC,EACjC,MAAe;QAEf,IAAI,CAAC;YACH,MAAM,WAAW,GAAqC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACzE,IAAI,MAAM,EAAE,CAAC;gBACX,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC;YAC5B,CAAC;YAED,MAAM,WAAW,GAAqC;gBACpD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;aAC7B,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACzB,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1C,CAAC;YAED,MAAM,QAAQ,GAAqB;gBACjC,EAAE,EAAE,CAAC,WAAW,CAAC;gBACjB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,gBAAgB,EAAE,iCAAiC;gBAC5D,OAAO,EAAE,EAAE,EAAE,yCAAyC;gBACtD,WAAW,EAAE,UAAU;gBACvB,qBAAqB,EAAE,YAAY;aACpC,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;gBACvD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBACtD,gBAAgB,EAAE,YAAY;iBAC/B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,QAAQ,QAAQ,CAAC,UAAU,EAAE;oBAC7E,gBAAgB,EAAE,SAAS;iBAC5B,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;gBAC/E,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,cAAc;QAC3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;gBAC1D,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,UAAU,KAAK,GAAG,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACM,qBAAqB;QAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;YACN,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,6BAA6B;IAC7B,gDAAgD;IAChD,6CAA6C;IAE7C;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAQ,GAAG,IAAI;QACtC,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACtC,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAAC,QAAkB;QAC7C,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAkB,EAAE,QAAkB;QACjE,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC7C,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAC1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,UAAkB,EAAE,OAAwB;QACtE,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB,EAAE,SAAiB;QACjE,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,OAG9C;QACC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;gBACxC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;SAC3B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,MAAM;YAC3B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,QAAa,EAAE,UAAkB;QAC9D,sCAAsC;QACtC,+DAA+D;QAC/D,qFAAqF;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,cAAsB;QAC9C,QAAQ,cAAc,EAAE,WAAW,EAAE,EAAE,CAAC;YACtC,KAAK,WAAW;gBACd,OAAO,WAAW,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,SAAS,CAAC;YACnB,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,QAAQ,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC;YACnB,KAAK,YAAY;gBACf,OAAO,MAAM,CAAC;YAChB,KAAK,aAAa;gBAChB,OAAO,cAAc,CAAC;YACxB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACvE,CAAC;CACF;AAlnBD,4CAknBC"}
|