@bernierllc/email-manager 0.1.7 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/email-manager.d.ts +9 -0
- package/dist/email-manager.d.ts.map +1 -1
- package/dist/email-manager.js +46 -64
- package/dist/email-manager.js.map +1 -1
- package/dist/errors.d.ts +143 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +238 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/managers/provider-manager.d.ts +5 -0
- package/dist/managers/provider-manager.d.ts.map +1 -1
- package/dist/managers/provider-manager.js +53 -24
- package/dist/managers/provider-manager.js.map +1 -1
- package/package.json +8 -8
package/dist/email-manager.d.ts
CHANGED
|
@@ -16,10 +16,19 @@ export declare class EmailManager {
|
|
|
16
16
|
constructor(config: EmailManagerConfig);
|
|
17
17
|
/**
|
|
18
18
|
* Send an email immediately
|
|
19
|
+
*
|
|
20
|
+
* @throws {EmailValidationError} When email data validation fails
|
|
21
|
+
* @throws {AllProvidersFailedError} When all providers fail to send
|
|
22
|
+
* @throws {RateLimitExceededError} When rate limits are exceeded
|
|
19
23
|
*/
|
|
20
24
|
sendEmail(email: EmailData): Promise<SendResult>;
|
|
21
25
|
/**
|
|
22
26
|
* Send a templated email
|
|
27
|
+
*
|
|
28
|
+
* @throws {TemplateNotFoundError} When the template is not found
|
|
29
|
+
* @throws {TemplateRenderError} When template rendering fails
|
|
30
|
+
* @throws {EmailValidationError} When email data validation fails
|
|
31
|
+
* @throws {AllProvidersFailedError} When all providers fail to send
|
|
23
32
|
*/
|
|
24
33
|
sendTemplatedEmail(templateId: string, context: TemplateContext, recipients: string[]): Promise<SendResult>;
|
|
25
34
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-manager.d.ts","sourceRoot":"","sources":["../src/email-manager.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EAEb,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"email-manager.d.ts","sourceRoot":"","sources":["../src/email-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/email-manager.js
CHANGED
|
@@ -14,6 +14,7 @@ import { ProviderManager } from './managers/provider-manager.js';
|
|
|
14
14
|
import { EmailScheduler } from './managers/email-scheduler.js';
|
|
15
15
|
import { EmailAnalytics } from './managers/email-analytics.js';
|
|
16
16
|
import { EmailDataSchema } from './types.js';
|
|
17
|
+
import { EmailValidationError, TemplateRenderError, } from './errors.js';
|
|
17
18
|
/**
|
|
18
19
|
* EmailManager - Main orchestration service for email operations
|
|
19
20
|
*
|
|
@@ -46,82 +47,63 @@ export class EmailManager {
|
|
|
46
47
|
// ======================
|
|
47
48
|
/**
|
|
48
49
|
* Send an email immediately
|
|
50
|
+
*
|
|
51
|
+
* @throws {EmailValidationError} When email data validation fails
|
|
52
|
+
* @throws {AllProvidersFailedError} When all providers fail to send
|
|
53
|
+
* @throws {RateLimitExceededError} When rate limits are exceeded
|
|
49
54
|
*/
|
|
50
55
|
async sendEmail(email) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
success: false,
|
|
57
|
-
provider: 'none',
|
|
58
|
-
sentAt: new Date(),
|
|
59
|
-
errors: validation.error.errors.map(e => ({
|
|
60
|
-
code: 'VALIDATION_ERROR',
|
|
61
|
-
message: `${e.path.join('.')}: ${e.message}`
|
|
62
|
-
}))
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
const emailId = uuidv4();
|
|
66
|
-
// Track send attempt
|
|
67
|
-
const recipients = Array.isArray(email.to) ? email.to : [email.to];
|
|
68
|
-
recipients.forEach(recipient => {
|
|
69
|
-
this.analytics.trackEmailSent(emailId, email.provider || 'default', recipient);
|
|
70
|
-
});
|
|
71
|
-
// Send via provider manager
|
|
72
|
-
const result = await this.providerManager.sendEmail(email);
|
|
73
|
-
if (result.success) {
|
|
74
|
-
// Track successful delivery
|
|
75
|
-
recipients.forEach(recipient => {
|
|
76
|
-
this.analytics.trackEmailDelivered(emailId, recipient);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
...result,
|
|
81
|
-
messageId: result.messageId || emailId
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
catch (error) {
|
|
85
|
-
return {
|
|
86
|
-
success: false,
|
|
87
|
-
provider: 'none',
|
|
88
|
-
sentAt: new Date(),
|
|
89
|
-
errors: [{
|
|
90
|
-
code: 'SEND_ERROR',
|
|
91
|
-
message: error instanceof Error ? error.message : 'Unknown error occurred'
|
|
92
|
-
}]
|
|
93
|
-
};
|
|
56
|
+
// Validate email data
|
|
57
|
+
const validation = EmailDataSchema.safeParse(email);
|
|
58
|
+
if (!validation.success) {
|
|
59
|
+
const validationErrors = validation.error.errors.map((e) => `${e.path.join('.')}: ${e.message}`);
|
|
60
|
+
throw new EmailValidationError(`Email validation failed: ${validationErrors.join('; ')}`, validationErrors, { context: { email: email.to } });
|
|
94
61
|
}
|
|
62
|
+
const emailId = uuidv4();
|
|
63
|
+
// Track send attempt
|
|
64
|
+
const recipients = Array.isArray(email.to) ? email.to : [email.to];
|
|
65
|
+
recipients.forEach((recipient) => {
|
|
66
|
+
this.analytics.trackEmailSent(emailId, email.provider || 'default', recipient);
|
|
67
|
+
});
|
|
68
|
+
// Send via provider manager - this throws on failure
|
|
69
|
+
const result = await this.providerManager.sendEmail(email);
|
|
70
|
+
// Track successful delivery
|
|
71
|
+
recipients.forEach((recipient) => {
|
|
72
|
+
this.analytics.trackEmailDelivered(emailId, recipient);
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
...result,
|
|
76
|
+
messageId: result.messageId || emailId,
|
|
77
|
+
};
|
|
95
78
|
}
|
|
96
79
|
/**
|
|
97
80
|
* Send a templated email
|
|
81
|
+
*
|
|
82
|
+
* @throws {TemplateNotFoundError} When the template is not found
|
|
83
|
+
* @throws {TemplateRenderError} When template rendering fails
|
|
84
|
+
* @throws {EmailValidationError} When email data validation fails
|
|
85
|
+
* @throws {AllProvidersFailedError} When all providers fail to send
|
|
98
86
|
*/
|
|
99
87
|
async sendTemplatedEmail(templateId, context, recipients) {
|
|
88
|
+
// Render the template - this may throw TemplateNotFoundError
|
|
89
|
+
let renderedTemplate;
|
|
100
90
|
try {
|
|
101
|
-
|
|
102
|
-
const renderedTemplate = await this.templateManager.renderTemplate(templateId, context);
|
|
103
|
-
// Prepare email data
|
|
104
|
-
const emailData = {
|
|
105
|
-
to: recipients,
|
|
106
|
-
subject: renderedTemplate.subject,
|
|
107
|
-
html: renderedTemplate.html,
|
|
108
|
-
text: renderedTemplate.text,
|
|
109
|
-
templateId
|
|
110
|
-
};
|
|
111
|
-
// Send the email
|
|
112
|
-
return await this.sendEmail(emailData);
|
|
91
|
+
renderedTemplate = await this.templateManager.renderTemplate(templateId, context);
|
|
113
92
|
}
|
|
114
93
|
catch (error) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
provider: 'none',
|
|
118
|
-
sentAt: new Date(),
|
|
119
|
-
errors: [{
|
|
120
|
-
code: 'TEMPLATE_ERROR',
|
|
121
|
-
message: error instanceof Error ? error.message : 'Template processing failed'
|
|
122
|
-
}]
|
|
123
|
-
};
|
|
94
|
+
// Wrap template errors with additional context
|
|
95
|
+
throw new TemplateRenderError(`Failed to render template ${templateId}: ${error instanceof Error ? error.message : 'Unknown error'}`, templateId, { cause: error instanceof Error ? error : new Error(String(error)) });
|
|
124
96
|
}
|
|
97
|
+
// Prepare email data
|
|
98
|
+
const emailData = {
|
|
99
|
+
to: recipients,
|
|
100
|
+
subject: renderedTemplate.subject,
|
|
101
|
+
html: renderedTemplate.html,
|
|
102
|
+
text: renderedTemplate.text,
|
|
103
|
+
templateId,
|
|
104
|
+
};
|
|
105
|
+
// Send the email - this throws on failure
|
|
106
|
+
return await this.sendEmail(emailData);
|
|
125
107
|
}
|
|
126
108
|
/**
|
|
127
109
|
* Schedule an email for future delivery
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-manager.js","sourceRoot":"","sources":["../src/email-manager.ts"],"names":[],"mappings":"AAAA;;;;;;EAME;AAEF,OAAO,EAAE,WAAW,EAAuB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAqBL,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IASvB,YAAY,MAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,iCAAiC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YACjC,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,qBAAqB;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAEjD,sBAAsB;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CACjC,CAAC,KAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC3C,MAAM,CAAC,UAAU,CAClB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEtD,gCAAgC;QAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,IAAI,MAAM,CAAC,UAAU,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,qBAAqB;IACrB,yBAAyB;IAEzB
|
|
1
|
+
{"version":3,"file":"email-manager.js","sourceRoot":"","sources":["../src/email-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Email Manager error classes with ES2022 Error.cause support
|
|
3
|
+
*
|
|
4
|
+
* These errors follow the error propagation standard defined in:
|
|
5
|
+
* plans/standards/error-propagation-standard.md
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Error codes for email manager operations
|
|
9
|
+
*/
|
|
10
|
+
export declare const EmailManagerErrorCode: {
|
|
11
|
+
readonly SEND_ERROR: "SEND_ERROR";
|
|
12
|
+
readonly ALL_PROVIDERS_FAILED: "ALL_PROVIDERS_FAILED";
|
|
13
|
+
readonly RATE_LIMIT_EXCEEDED: "RATE_LIMIT_EXCEEDED";
|
|
14
|
+
readonly VALIDATION_ERROR: "VALIDATION_ERROR";
|
|
15
|
+
readonly INVALID_EMAIL: "INVALID_EMAIL";
|
|
16
|
+
readonly INVALID_TEMPLATE: "INVALID_TEMPLATE";
|
|
17
|
+
readonly TEMPLATE_NOT_FOUND: "TEMPLATE_NOT_FOUND";
|
|
18
|
+
readonly TEMPLATE_RENDER_ERROR: "TEMPLATE_RENDER_ERROR";
|
|
19
|
+
readonly TEMPLATE_CONFLICT: "TEMPLATE_CONFLICT";
|
|
20
|
+
readonly PROVIDER_ERROR: "PROVIDER_ERROR";
|
|
21
|
+
readonly PROVIDER_NOT_FOUND: "PROVIDER_NOT_FOUND";
|
|
22
|
+
readonly PROVIDER_CONFIG_ERROR: "PROVIDER_CONFIG_ERROR";
|
|
23
|
+
readonly PROVIDER_CONNECTION_ERROR: "PROVIDER_CONNECTION_ERROR";
|
|
24
|
+
readonly SCHEDULE_ERROR: "SCHEDULE_ERROR";
|
|
25
|
+
readonly SCHEDULE_NOT_FOUND: "SCHEDULE_NOT_FOUND";
|
|
26
|
+
readonly CONFIGURATION_ERROR: "CONFIGURATION_ERROR";
|
|
27
|
+
readonly UNKNOWN_ERROR: "UNKNOWN_ERROR";
|
|
28
|
+
};
|
|
29
|
+
export type EmailManagerErrorCodeType = typeof EmailManagerErrorCode[keyof typeof EmailManagerErrorCode];
|
|
30
|
+
/**
|
|
31
|
+
* Options for creating an EmailManagerError
|
|
32
|
+
*/
|
|
33
|
+
export interface EmailManagerErrorOptions {
|
|
34
|
+
/** The underlying error that caused this error */
|
|
35
|
+
cause?: Error;
|
|
36
|
+
/** Machine-readable error code for programmatic handling */
|
|
37
|
+
code?: EmailManagerErrorCodeType;
|
|
38
|
+
/** Additional context about the error */
|
|
39
|
+
context?: Record<string, unknown>;
|
|
40
|
+
/** Whether this error is retryable */
|
|
41
|
+
retryable?: boolean;
|
|
42
|
+
/** Suggested retry delay in milliseconds */
|
|
43
|
+
retryAfter?: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Base error class for all email manager errors
|
|
47
|
+
*
|
|
48
|
+
* Supports ES2022 Error.cause for error chaining.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* try {
|
|
53
|
+
* await providerManager.sendEmail(email);
|
|
54
|
+
* } catch (error) {
|
|
55
|
+
* throw new EmailManagerError('Failed to send email', {
|
|
56
|
+
* cause: error,
|
|
57
|
+
* code: EmailManagerErrorCode.ALL_PROVIDERS_FAILED,
|
|
58
|
+
* context: { email: email.to }
|
|
59
|
+
* });
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare class EmailManagerError extends Error {
|
|
64
|
+
readonly code: EmailManagerErrorCodeType;
|
|
65
|
+
readonly context: Record<string, unknown> | undefined;
|
|
66
|
+
readonly retryable: boolean;
|
|
67
|
+
readonly retryAfter: number | undefined;
|
|
68
|
+
constructor(message: string, options?: EmailManagerErrorOptions);
|
|
69
|
+
/**
|
|
70
|
+
* Check if the error or any error in its cause chain is retryable
|
|
71
|
+
*/
|
|
72
|
+
isRetryable(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Get retry timing from this error or its cause chain
|
|
75
|
+
*/
|
|
76
|
+
getRetryAfter(): number | undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Error thrown when validation fails
|
|
80
|
+
*/
|
|
81
|
+
export declare class EmailValidationError extends EmailManagerError {
|
|
82
|
+
readonly validationErrors: string[];
|
|
83
|
+
constructor(message: string, validationErrors: string[], options?: Omit<EmailManagerErrorOptions, 'code'>);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Error thrown when all providers fail to send
|
|
87
|
+
*/
|
|
88
|
+
export declare class AllProvidersFailedError extends EmailManagerError {
|
|
89
|
+
readonly providerErrors: Array<{
|
|
90
|
+
providerId: string;
|
|
91
|
+
error: Error;
|
|
92
|
+
}>;
|
|
93
|
+
constructor(message: string, providerErrors: Array<{
|
|
94
|
+
providerId: string;
|
|
95
|
+
error: Error;
|
|
96
|
+
}>, options?: Omit<EmailManagerErrorOptions, 'code'>);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Error thrown when a provider operation fails
|
|
100
|
+
*/
|
|
101
|
+
export declare class ProviderError extends EmailManagerError {
|
|
102
|
+
readonly providerId: string;
|
|
103
|
+
constructor(message: string, providerId: string, options?: Omit<EmailManagerErrorOptions, 'code'> & {
|
|
104
|
+
code?: EmailManagerErrorCodeType;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Error thrown when a template is not found
|
|
109
|
+
*/
|
|
110
|
+
export declare class TemplateNotFoundError extends EmailManagerError {
|
|
111
|
+
readonly templateId: string;
|
|
112
|
+
constructor(templateId: string, options?: Omit<EmailManagerErrorOptions, 'code'>);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Error thrown when template rendering fails
|
|
116
|
+
*/
|
|
117
|
+
export declare class TemplateRenderError extends EmailManagerError {
|
|
118
|
+
readonly templateId: string;
|
|
119
|
+
constructor(message: string, templateId: string, options?: Omit<EmailManagerErrorOptions, 'code'>);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Error thrown when rate limits are exceeded
|
|
123
|
+
*/
|
|
124
|
+
export declare class RateLimitExceededError extends EmailManagerError {
|
|
125
|
+
readonly providerId: string;
|
|
126
|
+
constructor(providerId: string, options?: Omit<EmailManagerErrorOptions, 'code' | 'retryable'> & {
|
|
127
|
+
retryAfter?: number;
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Error thrown when scheduling fails
|
|
132
|
+
*/
|
|
133
|
+
export declare class ScheduleError extends EmailManagerError {
|
|
134
|
+
readonly scheduleId?: string;
|
|
135
|
+
constructor(message: string, scheduleId?: string, options?: Omit<EmailManagerErrorOptions, 'code'>);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Error thrown when configuration is invalid
|
|
139
|
+
*/
|
|
140
|
+
export declare class ConfigurationError extends EmailManagerError {
|
|
141
|
+
constructor(message: string, options?: Omit<EmailManagerErrorOptions, 'code'>);
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;CA6BxB,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAEzG;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,kDAAkD;IAClD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,4DAA4D;IAC5D,IAAI,CAAC,EAAE,yBAAyB,CAAC;IACjC,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,sCAAsC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB;IAiB/D;;OAEG;IACH,WAAW,IAAI,OAAO;IAetB;;OAEG;IACH,aAAa,IAAI,MAAM,GAAG,SAAS;CAcpC;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;gBAGlC,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAMnD;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;gBAGnE,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,EAC3D,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAkBnD;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,yBAAyB,CAAA;KAAE;CAa1F;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAYjF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAanD;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAG1B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAkB3F;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAG3B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAanD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;gBAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAI9E"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2025 Bernier LLC
|
|
3
|
+
|
|
4
|
+
This file is licensed to the client under a limited-use license.
|
|
5
|
+
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
6
|
+
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Email Manager error classes with ES2022 Error.cause support
|
|
10
|
+
*
|
|
11
|
+
* These errors follow the error propagation standard defined in:
|
|
12
|
+
* plans/standards/error-propagation-standard.md
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Error codes for email manager operations
|
|
16
|
+
*/
|
|
17
|
+
export const EmailManagerErrorCode = {
|
|
18
|
+
// Send errors
|
|
19
|
+
SEND_ERROR: 'SEND_ERROR',
|
|
20
|
+
ALL_PROVIDERS_FAILED: 'ALL_PROVIDERS_FAILED',
|
|
21
|
+
RATE_LIMIT_EXCEEDED: 'RATE_LIMIT_EXCEEDED',
|
|
22
|
+
// Validation errors
|
|
23
|
+
VALIDATION_ERROR: 'VALIDATION_ERROR',
|
|
24
|
+
INVALID_EMAIL: 'INVALID_EMAIL',
|
|
25
|
+
INVALID_TEMPLATE: 'INVALID_TEMPLATE',
|
|
26
|
+
// Template errors
|
|
27
|
+
TEMPLATE_NOT_FOUND: 'TEMPLATE_NOT_FOUND',
|
|
28
|
+
TEMPLATE_RENDER_ERROR: 'TEMPLATE_RENDER_ERROR',
|
|
29
|
+
TEMPLATE_CONFLICT: 'TEMPLATE_CONFLICT',
|
|
30
|
+
// Provider errors
|
|
31
|
+
PROVIDER_ERROR: 'PROVIDER_ERROR',
|
|
32
|
+
PROVIDER_NOT_FOUND: 'PROVIDER_NOT_FOUND',
|
|
33
|
+
PROVIDER_CONFIG_ERROR: 'PROVIDER_CONFIG_ERROR',
|
|
34
|
+
PROVIDER_CONNECTION_ERROR: 'PROVIDER_CONNECTION_ERROR',
|
|
35
|
+
// Scheduling errors
|
|
36
|
+
SCHEDULE_ERROR: 'SCHEDULE_ERROR',
|
|
37
|
+
SCHEDULE_NOT_FOUND: 'SCHEDULE_NOT_FOUND',
|
|
38
|
+
// General errors
|
|
39
|
+
CONFIGURATION_ERROR: 'CONFIGURATION_ERROR',
|
|
40
|
+
UNKNOWN_ERROR: 'UNKNOWN_ERROR',
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Base error class for all email manager errors
|
|
44
|
+
*
|
|
45
|
+
* Supports ES2022 Error.cause for error chaining.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* try {
|
|
50
|
+
* await providerManager.sendEmail(email);
|
|
51
|
+
* } catch (error) {
|
|
52
|
+
* throw new EmailManagerError('Failed to send email', {
|
|
53
|
+
* cause: error,
|
|
54
|
+
* code: EmailManagerErrorCode.ALL_PROVIDERS_FAILED,
|
|
55
|
+
* context: { email: email.to }
|
|
56
|
+
* });
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export class EmailManagerError extends Error {
|
|
61
|
+
constructor(message, options) {
|
|
62
|
+
super(message);
|
|
63
|
+
this.name = 'EmailManagerError';
|
|
64
|
+
this.code = options?.code ?? EmailManagerErrorCode.UNKNOWN_ERROR;
|
|
65
|
+
this.context = options?.context;
|
|
66
|
+
this.retryable = options?.retryable ?? false;
|
|
67
|
+
this.retryAfter = options?.retryAfter;
|
|
68
|
+
// Set cause using ES2022 pattern (works at runtime in Node 16.9+)
|
|
69
|
+
if (options?.cause) {
|
|
70
|
+
this.cause = options.cause;
|
|
71
|
+
}
|
|
72
|
+
// Maintains proper stack trace in V8 engines
|
|
73
|
+
Error.captureStackTrace?.(this, this.constructor);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Check if the error or any error in its cause chain is retryable
|
|
77
|
+
*/
|
|
78
|
+
isRetryable() {
|
|
79
|
+
if (this.retryable)
|
|
80
|
+
return true;
|
|
81
|
+
// Check cause chain
|
|
82
|
+
let current = this.cause;
|
|
83
|
+
while (current instanceof Error) {
|
|
84
|
+
if ('retryable' in current && current.retryable === true) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
current = current.cause;
|
|
88
|
+
}
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get retry timing from this error or its cause chain
|
|
93
|
+
*/
|
|
94
|
+
getRetryAfter() {
|
|
95
|
+
if (this.retryAfter !== undefined)
|
|
96
|
+
return this.retryAfter;
|
|
97
|
+
// Check cause chain
|
|
98
|
+
let current = this.cause;
|
|
99
|
+
while (current instanceof Error) {
|
|
100
|
+
if ('retryAfter' in current && typeof current.retryAfter === 'number') {
|
|
101
|
+
return current.retryAfter;
|
|
102
|
+
}
|
|
103
|
+
current = current.cause;
|
|
104
|
+
}
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Error thrown when validation fails
|
|
110
|
+
*/
|
|
111
|
+
export class EmailValidationError extends EmailManagerError {
|
|
112
|
+
constructor(message, validationErrors, options) {
|
|
113
|
+
super(message, { ...options, code: EmailManagerErrorCode.VALIDATION_ERROR });
|
|
114
|
+
this.name = 'EmailValidationError';
|
|
115
|
+
this.validationErrors = validationErrors;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Error thrown when all providers fail to send
|
|
120
|
+
*/
|
|
121
|
+
export class AllProvidersFailedError extends EmailManagerError {
|
|
122
|
+
constructor(message, providerErrors, options) {
|
|
123
|
+
// Use the last error as the cause
|
|
124
|
+
const lastError = providerErrors[providerErrors.length - 1]?.error;
|
|
125
|
+
super(message, {
|
|
126
|
+
...options,
|
|
127
|
+
code: EmailManagerErrorCode.ALL_PROVIDERS_FAILED,
|
|
128
|
+
cause: lastError,
|
|
129
|
+
context: {
|
|
130
|
+
...options?.context,
|
|
131
|
+
providerCount: providerErrors.length,
|
|
132
|
+
providers: providerErrors.map((p) => p.providerId),
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
this.name = 'AllProvidersFailedError';
|
|
136
|
+
this.providerErrors = providerErrors;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Error thrown when a provider operation fails
|
|
141
|
+
*/
|
|
142
|
+
export class ProviderError extends EmailManagerError {
|
|
143
|
+
constructor(message, providerId, options) {
|
|
144
|
+
super(message, {
|
|
145
|
+
...options,
|
|
146
|
+
code: options?.code ?? EmailManagerErrorCode.PROVIDER_ERROR,
|
|
147
|
+
context: {
|
|
148
|
+
...options?.context,
|
|
149
|
+
providerId,
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
this.name = 'ProviderError';
|
|
153
|
+
this.providerId = providerId;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Error thrown when a template is not found
|
|
158
|
+
*/
|
|
159
|
+
export class TemplateNotFoundError extends EmailManagerError {
|
|
160
|
+
constructor(templateId, options) {
|
|
161
|
+
super(`Template not found: ${templateId}`, {
|
|
162
|
+
...options,
|
|
163
|
+
code: EmailManagerErrorCode.TEMPLATE_NOT_FOUND,
|
|
164
|
+
context: {
|
|
165
|
+
...options?.context,
|
|
166
|
+
templateId,
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
this.name = 'TemplateNotFoundError';
|
|
170
|
+
this.templateId = templateId;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Error thrown when template rendering fails
|
|
175
|
+
*/
|
|
176
|
+
export class TemplateRenderError extends EmailManagerError {
|
|
177
|
+
constructor(message, templateId, options) {
|
|
178
|
+
super(message, {
|
|
179
|
+
...options,
|
|
180
|
+
code: EmailManagerErrorCode.TEMPLATE_RENDER_ERROR,
|
|
181
|
+
context: {
|
|
182
|
+
...options?.context,
|
|
183
|
+
templateId,
|
|
184
|
+
},
|
|
185
|
+
});
|
|
186
|
+
this.name = 'TemplateRenderError';
|
|
187
|
+
this.templateId = templateId;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Error thrown when rate limits are exceeded
|
|
192
|
+
*/
|
|
193
|
+
export class RateLimitExceededError extends EmailManagerError {
|
|
194
|
+
constructor(providerId, options) {
|
|
195
|
+
const baseOptions = {
|
|
196
|
+
...options,
|
|
197
|
+
code: EmailManagerErrorCode.RATE_LIMIT_EXCEEDED,
|
|
198
|
+
retryable: true,
|
|
199
|
+
context: {
|
|
200
|
+
...options?.context,
|
|
201
|
+
providerId,
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
if (options?.retryAfter !== undefined) {
|
|
205
|
+
baseOptions.retryAfter = options.retryAfter;
|
|
206
|
+
}
|
|
207
|
+
super(`Rate limit exceeded for provider: ${providerId}`, baseOptions);
|
|
208
|
+
this.name = 'RateLimitExceededError';
|
|
209
|
+
this.providerId = providerId;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Error thrown when scheduling fails
|
|
214
|
+
*/
|
|
215
|
+
export class ScheduleError extends EmailManagerError {
|
|
216
|
+
constructor(message, scheduleId, options) {
|
|
217
|
+
super(message, {
|
|
218
|
+
...options,
|
|
219
|
+
code: EmailManagerErrorCode.SCHEDULE_ERROR,
|
|
220
|
+
context: {
|
|
221
|
+
...options?.context,
|
|
222
|
+
scheduleId,
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
this.name = 'ScheduleError';
|
|
226
|
+
this.scheduleId = scheduleId;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Error thrown when configuration is invalid
|
|
231
|
+
*/
|
|
232
|
+
export class ConfigurationError extends EmailManagerError {
|
|
233
|
+
constructor(message, options) {
|
|
234
|
+
super(message, { ...options, code: EmailManagerErrorCode.CONFIGURATION_ERROR });
|
|
235
|
+
this.name = 'ConfigurationError';
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export { ProviderManager } from './managers/provider-manager.js';
|
|
|
5
5
|
export { EmailScheduler } from './managers/email-scheduler.js';
|
|
6
6
|
export { EmailAnalytics } from './managers/email-analytics.js';
|
|
7
7
|
export * from './types.js';
|
|
8
|
+
export { EmailManagerError, EmailManagerErrorCode, EmailValidationError, AllProvidersFailedError, ProviderError, TemplateNotFoundError, TemplateRenderError, RateLimitExceededError, ScheduleError, ConfigurationError, } from './errors.js';
|
|
9
|
+
export type { EmailManagerErrorOptions, EmailManagerErrorCodeType, } from './errors.js';
|
|
8
10
|
export { loadEmailManagerConfiguration, loadEmailManagerConfigurationWithSources, getEmailManagerEnvironmentDocumentation, EmailManagerConfigurationLoader } from './config/loadConfiguration.js';
|
|
9
11
|
export type { EmailManagerRuntimeConfig, ResolvedEmailManagerConfig, ConfigurationSource } from './config/types.js';
|
|
10
12
|
export { emailManagerConfigSchema, validateEmailManagerConfig } from './config/schema.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,6BAA6B,EAC7B,wCAAwC,EACxC,uCAAuC,EACvC,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,6BAA6B,EAC7B,wCAAwC,EACxC,uCAAuC,EACvC,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,8 @@ export { EmailScheduler } from './managers/email-scheduler.js';
|
|
|
16
16
|
export { EmailAnalytics } from './managers/email-analytics.js';
|
|
17
17
|
// Types and interfaces
|
|
18
18
|
export * from './types.js';
|
|
19
|
+
// Error classes (v0.2.0 - Error propagation standard)
|
|
20
|
+
export { EmailManagerError, EmailManagerErrorCode, EmailValidationError, AllProvidersFailedError, ProviderError, TemplateNotFoundError, TemplateRenderError, RateLimitExceededError, ScheduleError, ConfigurationError, } from './errors.js';
|
|
19
21
|
// Configuration functionality
|
|
20
22
|
export { loadEmailManagerConfiguration, loadEmailManagerConfigurationWithSources, getEmailManagerEnvironmentDocumentation, EmailManagerConfigurationLoader } from './config/loadConfiguration.js';
|
|
21
23
|
export { emailManagerConfigSchema, validateEmailManagerConfig } from './config/schema.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;EAME;AAEF,0BAA0B;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,iGAAiG;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,uBAAuB;AACvB,cAAc,YAAY,CAAC;AAE3B,8BAA8B;AAC9B,OAAO,EACL,6BAA6B,EAC7B,wCAAwC,EACxC,uCAAuC,EACvC,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;EAME;AAEF,0BAA0B;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,iGAAiG;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,uBAAuB;AACvB,cAAc,YAAY,CAAC;AAE3B,sDAAsD;AACtD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAMrB,8BAA8B;AAC9B,OAAO,EACL,6BAA6B,EAC7B,wCAAwC,EACxC,uCAAuC,EACvC,+BAA+B,EAChC,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -28,6 +28,9 @@ export declare class ProviderManager {
|
|
|
28
28
|
listProviders(): Promise<ProviderList>;
|
|
29
29
|
/**
|
|
30
30
|
* Send email with provider fallback
|
|
31
|
+
*
|
|
32
|
+
* @throws {AllProvidersFailedError} When all providers fail to send
|
|
33
|
+
* @throws {RateLimitExceededError} When all providers are rate limited
|
|
31
34
|
*/
|
|
32
35
|
sendEmail(email: EmailData): Promise<SendResult>;
|
|
33
36
|
/**
|
|
@@ -40,6 +43,8 @@ export declare class ProviderManager {
|
|
|
40
43
|
testConnection(providerId: string): Promise<TestResult>;
|
|
41
44
|
/**
|
|
42
45
|
* Send email with specific provider
|
|
46
|
+
*
|
|
47
|
+
* @throws {ProviderError} When the provider fails to send (wraps underlying EmailSenderError)
|
|
43
48
|
*/
|
|
44
49
|
private sendWithProvider;
|
|
45
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-manager.d.ts","sourceRoot":"","sources":["../../src/managers/provider-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"provider-manager.d.ts","sourceRoot":"","sources":["../../src/managers/provider-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAoB,MAAM,0BAA0B,CAAC;AACzE,OAAO,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EAGX,MAAM,aAAa,CAAC;AAQrB;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,aAAa,CAA0F;gBAEnG,WAAW,EAAE,WAAW;IAOpC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA8CnE;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAyB/D;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAIpE;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;IAY5C;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA+DtD;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAuB3E;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAY7D;;;;OAIG;YACW,gBAAgB;IAoD9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsDxB;;OAEG;YACW,sBAAsB;IA0BpC;;OAEG;IACH,QAAQ;;;;;;oBA4B0C,MAAM;kBAAQ,MAAM;iBAAO,MAAM;;;IAhBnF;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
|
|
@@ -5,8 +5,9 @@ This file is licensed to the client under a limited-use license.
|
|
|
5
5
|
The client may use and modify this code *only within the scope of the project it was delivered for*.
|
|
6
6
|
Redistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.
|
|
7
7
|
*/
|
|
8
|
-
import { EmailSender } from '@bernierllc/email-sender';
|
|
8
|
+
import { EmailSender, EmailSenderError } from '@bernierllc/email-sender';
|
|
9
9
|
import { EmailProviderSchema } from '../types.js';
|
|
10
|
+
import { AllProvidersFailedError, ProviderError, RateLimitExceededError, } from '../errors.js';
|
|
10
11
|
/**
|
|
11
12
|
* Provider Management System
|
|
12
13
|
* Handles email provider configuration, fallback, and load balancing
|
|
@@ -111,40 +112,57 @@ export class ProviderManager {
|
|
|
111
112
|
}
|
|
112
113
|
/**
|
|
113
114
|
* Send email with provider fallback
|
|
115
|
+
*
|
|
116
|
+
* @throws {AllProvidersFailedError} When all providers fail to send
|
|
117
|
+
* @throws {RateLimitExceededError} When all providers are rate limited
|
|
114
118
|
*/
|
|
115
119
|
async sendEmail(email) {
|
|
116
120
|
const providers = this.getAvailableProviders(email.provider);
|
|
117
|
-
|
|
121
|
+
if (providers.length === 0) {
|
|
122
|
+
throw new AllProvidersFailedError('No active providers available to send email', [], { context: { email: email.to } });
|
|
123
|
+
}
|
|
124
|
+
const providerErrors = [];
|
|
125
|
+
let rateLimitedCount = 0;
|
|
118
126
|
for (const provider of providers) {
|
|
119
127
|
try {
|
|
120
128
|
// Check rate limits
|
|
121
129
|
if (!this.checkRateLimit(provider)) {
|
|
122
|
-
|
|
130
|
+
rateLimitedCount++;
|
|
131
|
+
providerErrors.push({
|
|
132
|
+
providerId: provider.id,
|
|
133
|
+
error: new RateLimitExceededError(provider.id),
|
|
134
|
+
});
|
|
123
135
|
continue;
|
|
124
136
|
}
|
|
137
|
+
// Try to send with this provider - let errors propagate
|
|
125
138
|
const result = await this.sendWithProvider(email, provider);
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return result;
|
|
130
|
-
}
|
|
131
|
-
lastError = new Error(result.errors?.join(', ') || 'Send failed');
|
|
139
|
+
// Update usage tracking on success
|
|
140
|
+
this.updateUsageTracking(provider.id);
|
|
141
|
+
return result;
|
|
132
142
|
}
|
|
133
143
|
catch (error) {
|
|
134
|
-
|
|
135
|
-
|
|
144
|
+
// Collect the error and try next provider
|
|
145
|
+
const providerError = error instanceof Error ? error : new Error(String(error));
|
|
146
|
+
providerErrors.push({
|
|
147
|
+
providerId: provider.id,
|
|
148
|
+
error: providerError,
|
|
149
|
+
});
|
|
136
150
|
continue;
|
|
137
151
|
}
|
|
138
152
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
153
|
+
// All providers failed
|
|
154
|
+
if (rateLimitedCount === providers.length) {
|
|
155
|
+
// All providers were rate limited
|
|
156
|
+
const lastRateLimitError = providerErrors[providerErrors.length - 1]?.error;
|
|
157
|
+
throw new RateLimitExceededError(providers[providers.length - 1].id, {
|
|
158
|
+
cause: lastRateLimitError instanceof RateLimitExceededError ? lastRateLimitError : undefined,
|
|
159
|
+
context: {
|
|
160
|
+
attemptedProviders: providers.map((p) => p.id),
|
|
161
|
+
rateLimitedCount,
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
throw new AllProvidersFailedError(`All ${providers.length} provider(s) failed to send email`, providerErrors, { context: { email: email.to } });
|
|
148
166
|
}
|
|
149
167
|
/**
|
|
150
168
|
* Get provider status
|
|
@@ -184,6 +202,8 @@ export class ProviderManager {
|
|
|
184
202
|
}
|
|
185
203
|
/**
|
|
186
204
|
* Send email with specific provider
|
|
205
|
+
*
|
|
206
|
+
* @throws {ProviderError} When the provider fails to send (wraps underlying EmailSenderError)
|
|
187
207
|
*/
|
|
188
208
|
async sendWithProvider(email, provider) {
|
|
189
209
|
try {
|
|
@@ -206,19 +226,28 @@ export class ProviderManager {
|
|
|
206
226
|
disposition: att.contentDisposition
|
|
207
227
|
})) : undefined
|
|
208
228
|
};
|
|
209
|
-
// Send email using sendEmail method
|
|
229
|
+
// Send email using sendEmail method - this may throw EmailSenderError
|
|
210
230
|
const result = await emailSender.sendEmail(emailMessage);
|
|
211
231
|
return {
|
|
212
|
-
success:
|
|
232
|
+
success: true,
|
|
213
233
|
messageId: result.messageId,
|
|
214
234
|
provider: provider.id,
|
|
215
235
|
sentAt: new Date(),
|
|
216
|
-
errors: result.success ? [] : [{ code: 'SEND_FAILED', message: result.errorMessage || 'Send failed' }],
|
|
217
236
|
metadata: result.metadata
|
|
218
237
|
};
|
|
219
238
|
}
|
|
220
239
|
catch (error) {
|
|
221
|
-
|
|
240
|
+
// Wrap the error with provider context, preserving the cause chain
|
|
241
|
+
throw new ProviderError(`Provider ${provider.id} failed: ${error instanceof Error ? error.message : 'Unknown error'}`, provider.id, {
|
|
242
|
+
cause: error instanceof Error ? error : new Error(String(error)),
|
|
243
|
+
// Propagate retryable status from underlying error
|
|
244
|
+
retryable: error instanceof EmailSenderError ? error.isRetryable() : false,
|
|
245
|
+
retryAfter: error instanceof EmailSenderError ? error.getRetryAfter() : undefined,
|
|
246
|
+
context: {
|
|
247
|
+
providerType: provider.type,
|
|
248
|
+
email: email.to,
|
|
249
|
+
},
|
|
250
|
+
});
|
|
222
251
|
}
|
|
223
252
|
}
|
|
224
253
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-manager.js","sourceRoot":"","sources":["../../src/managers/provider-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-manager.js","sourceRoot":"","sources":["../../src/managers/provider-manager.ts"],"names":[],"mappings":"AAAA;;;;;;EAME;AAEF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAUL,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,sBAAsB,GAEvB,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,MAAM,OAAO,eAAe;IAM1B,YAAY,WAAwB;QAL5B,cAAS,GAA+B,IAAI,GAAG,EAAE,CAAC;QAElD,oBAAe,GAAoB,EAAE,CAAC;QACtC,kBAAa,GAAgF,IAAI,GAAG,EAAE,CAAC;QAG7G,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,oCAAoC;QACpC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,eAAe;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAuB;QACvC,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC;YACJ,CAAC;YAED,yBAAyB;YACzB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,CAAC,oBAAoB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;iBAC3D,CAAC;YACJ,CAAC;YAED,2BAA2B;YAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,CAAC,oCAAoC,UAAU,CAAC,OAAO,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAED,eAAe;YACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE1C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,QAAQ;gBACR,OAAO,EAAE,6BAA6B;aACvC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;aAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,uBAAuB,UAAU,EAAE;iBAC3C,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE7B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,+BAA+B;aACzC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAEtD,mBAAmB;QACnB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAElD,OAAO;YACL,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,MAAM;SACxB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,KAAgB;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,uBAAuB,CAC/B,6CAA6C,EAC7C,EAAE,EACF,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAgD,EAAE,CAAC;QACvE,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,oBAAoB;gBACpB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnC,gBAAgB,EAAE,CAAC;oBACnB,cAAc,CAAC,IAAI,CAAC;wBAClB,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,KAAK,EAAE,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;qBAC/C,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,wDAAwD;gBACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAE5D,mCAAmC;gBACnC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACtC,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0CAA0C;gBAC1C,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChF,cAAc,CAAC,IAAI,CAAC;oBAClB,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,KAAK,EAAE,aAAa;iBACrB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,gBAAgB,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1C,kCAAkC;YAClC,MAAM,kBAAkB,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;YAC5E,MAAM,IAAI,sBAAsB,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnE,KAAK,EAAE,kBAAkB,YAAY,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;gBAC5F,OAAO,EAAE;oBACP,kBAAkB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,gBAAgB;iBACjB;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,uBAAuB,CAC/B,OAAO,SAAS,CAAC,MAAM,mCAAmC,EAC1D,cAAc,EACd,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CACjC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAE/D,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,UAAU,CAAC,OAAO;YAC7B,eAAe,EAAE,IAAI,IAAI,EAAE;YAC3B,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;YAClC,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uBAAuB,UAAU,EAAE;aAC7C,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,KAAgB,EAAE,QAAuB;QACtE,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;gBAClC,QAAQ,EAAE,QAAQ,CAAC,IAAW;gBAC9B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,qBAAqB;gBAC7D,GAAG,QAAQ,CAAC,MAAM;aACnB,CAAC,CAAC;YAEH,0CAA0C;YAC1C,MAAM,YAAY,GAAG;gBACnB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBACzD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,WAAW,EAAE,KAAK,CAAC,IAAI;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC7D,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACpG,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,WAAW,EAAE,GAAG,CAAC,kBAAkB;iBACpC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aAChB,CAAC;YAEF,sEAAsE;YACtE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAEzD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACrB,MAAM,EAAE,IAAI,IAAI,EAAE;gBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mEAAmE;YACnE,MAAM,IAAI,aAAa,CACrB,YAAY,QAAQ,CAAC,EAAE,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAC7F,QAAQ,CAAC,EAAE,EACX;gBACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChE,mDAAmD;gBACnD,SAAS,EAAE,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK;gBAC1E,UAAU,EAAE,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;gBACjF,OAAO,EAAE;oBACP,YAAY,EAAE,QAAQ,CAAC,IAAI;oBAC3B,KAAK,EAAE,KAAK,CAAC,EAAE;iBAChB;aACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,iBAA0B;QACtD,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE3E,qDAAqD;QACrD,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;YAClE,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,GAAG,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAuB;QAC5C,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY;YAC9C,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,UAAU;YAC1C,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CACzC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,UAAkB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,UAAkB;QAChD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE;YACjC,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAEjE,oCAAoC;YACpC,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;gBAC5B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,gCAAgC;YAChC,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACjB,CAAC;YAED,8BAA8B;YAC9B,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBACd,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aACvD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAuB;QAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,CAAC;YACH,4BAA4B;YAC5B,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAChD,CAAC;QAED,+BAA+B;QAC/B,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,UAAU;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChG,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;gBAC9F,CAAC;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM;QACV,CAAC;QAED,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,QAAuB;QAC1D,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;gBAClC,QAAQ,EAAE,QAAQ,CAAC,IAAW;gBAC9B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,qBAAqB;gBAC7D,GAAG,QAAQ,CAAC,MAAM;aACnB,CAAC,CAAC;YAEH,8CAA8C;YAC9C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;YAEnD,OAAO;gBACL,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,4BAA4B;gBAClF,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;aAC1D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;gBAC9F,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;aACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAEtD,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM;YAChD,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM;YACnD,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACnC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;SACjC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,SAA0B;QAC5C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,MAAM,KAAK,GAAkE,EAAE,CAAC;QAEhF,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,KAAK,CAAC,UAAU,CAAC,GAAG;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bernierllc/email-manager",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Complete email management suite with template management, scheduling, analytics, and provider orchestration (Node.js only - use @bernierllc/email-manager-client for browser)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,22 +31,22 @@
|
|
|
31
31
|
"cosmiconfig": "^8.0.0",
|
|
32
32
|
"@bernierllc/crypto-utils": "1.0.4",
|
|
33
33
|
"@bernierllc/retry-policy": "0.1.6",
|
|
34
|
-
"@bernierllc/logger": "1.0
|
|
34
|
+
"@bernierllc/logger": "1.1.0",
|
|
35
35
|
"@bernierllc/neverhub-adapter": "0.1.2",
|
|
36
36
|
"@bernierllc/webhook-receiver": "1.0.1",
|
|
37
37
|
"@bernierllc/file-handler": "0.2.3",
|
|
38
|
-
"@bernierllc/email-sender": "3.0
|
|
38
|
+
"@bernierllc/email-sender": "3.1.0",
|
|
39
39
|
"@bernierllc/email-parser": "0.1.3",
|
|
40
40
|
"@bernierllc/email-validator": "1.0.5",
|
|
41
41
|
"@bernierllc/email-capture": "1.0.2",
|
|
42
42
|
"@bernierllc/email-sender-manager": "1.0.2",
|
|
43
|
-
"@bernierllc/email-sendgrid-plugin": "1.1.
|
|
43
|
+
"@bernierllc/email-sendgrid-plugin": "1.1.2",
|
|
44
44
|
"@bernierllc/template-variable-registry": "1.0.1",
|
|
45
45
|
"@bernierllc/template-engine": "0.2.1",
|
|
46
|
-
"@bernierllc/email-service": "2.1.
|
|
47
|
-
"@bernierllc/email-template-service": "1.0.
|
|
48
|
-
"@bernierllc/inbound-email-parse": "1.0.
|
|
49
|
-
"@bernierllc/email-mitm-masking": "1.0.
|
|
46
|
+
"@bernierllc/email-service": "2.1.6",
|
|
47
|
+
"@bernierllc/email-template-service": "1.0.4",
|
|
48
|
+
"@bernierllc/inbound-email-parse": "1.0.5",
|
|
49
|
+
"@bernierllc/email-mitm-masking": "1.0.5"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/jest": "^29.5.5",
|