hazo_notify 1.1.1 → 1.1.3
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 +65 -3
- package/dist/emailer/emailer.d.ts +1 -1
- package/dist/emailer/emailer.d.ts.map +1 -1
- package/dist/emailer/emailer.js +32 -36
- package/dist/emailer/emailer.js.map +1 -1
- package/dist/emailer/index.d.ts +7 -7
- package/dist/emailer/index.d.ts.map +1 -1
- package/dist/emailer/index.js +7 -32
- package/dist/emailer/index.js.map +1 -1
- package/dist/emailer/providers/index.d.ts +4 -4
- package/dist/emailer/providers/index.d.ts.map +1 -1
- package/dist/emailer/providers/index.js +10 -17
- package/dist/emailer/providers/index.js.map +1 -1
- package/dist/emailer/providers/pop3_provider.d.ts +1 -1
- package/dist/emailer/providers/pop3_provider.d.ts.map +1 -1
- package/dist/emailer/providers/pop3_provider.js +1 -5
- package/dist/emailer/providers/pop3_provider.js.map +1 -1
- package/dist/emailer/providers/smtp_provider.d.ts +1 -1
- package/dist/emailer/providers/smtp_provider.d.ts.map +1 -1
- package/dist/emailer/providers/smtp_provider.js +1 -5
- package/dist/emailer/providers/smtp_provider.js.map +1 -1
- package/dist/emailer/providers/zeptomail_provider.d.ts +1 -1
- package/dist/emailer/providers/zeptomail_provider.d.ts.map +1 -1
- package/dist/emailer/providers/zeptomail_provider.js +11 -18
- package/dist/emailer/providers/zeptomail_provider.js.map +1 -1
- package/dist/emailer/types.d.ts +2 -1
- package/dist/emailer/types.d.ts.map +1 -1
- package/dist/emailer/types.js +1 -2
- package/dist/emailer/types.js.map +1 -1
- package/dist/emailer/utils/constants.js +9 -12
- package/dist/emailer/utils/constants.js.map +1 -1
- package/dist/emailer/utils/index.d.ts +3 -3
- package/dist/emailer/utils/index.d.ts.map +1 -1
- package/dist/emailer/utils/index.js +3 -19
- package/dist/emailer/utils/index.js.map +1 -1
- package/dist/emailer/utils/logger.d.ts +1 -1
- package/dist/emailer/utils/logger.d.ts.map +1 -1
- package/dist/emailer/utils/logger.js +6 -14
- package/dist/emailer/utils/logger.js.map +1 -1
- package/dist/emailer/utils/validation.js +9 -16
- package/dist/emailer/utils/validation.js.map +1 -1
- package/dist/index.js +2 -18
- package/dist/index.js.map +1 -1
- package/dist/template_manager/config/config_loader.d.ts +1 -1
- package/dist/template_manager/config/config_loader.d.ts.map +1 -1
- package/dist/template_manager/config/config_loader.js +14 -21
- package/dist/template_manager/config/config_loader.js.map +1 -1
- package/dist/template_manager/config/constants.js +21 -24
- package/dist/template_manager/config/constants.js.map +1 -1
- package/dist/template_manager/config/index.d.ts +2 -2
- package/dist/template_manager/config/index.d.ts.map +1 -1
- package/dist/template_manager/config/index.js +2 -20
- package/dist/template_manager/config/index.js.map +1 -1
- package/dist/template_manager/db/category_repository.d.ts +1 -1
- package/dist/template_manager/db/category_repository.d.ts.map +1 -1
- package/dist/template_manager/db/category_repository.js +48 -56
- package/dist/template_manager/db/category_repository.js.map +1 -1
- package/dist/template_manager/db/index.d.ts +2 -2
- package/dist/template_manager/db/index.d.ts.map +1 -1
- package/dist/template_manager/db/index.js +2 -19
- package/dist/template_manager/db/index.js.map +1 -1
- package/dist/template_manager/db/template_repository.d.ts +1 -1
- package/dist/template_manager/db/template_repository.d.ts.map +1 -1
- package/dist/template_manager/db/template_repository.js +79 -89
- package/dist/template_manager/db/template_repository.js.map +1 -1
- package/dist/template_manager/engine/handlebars_engine.d.ts +1 -1
- package/dist/template_manager/engine/handlebars_engine.d.ts.map +1 -1
- package/dist/template_manager/engine/handlebars_engine.js +18 -29
- package/dist/template_manager/engine/handlebars_engine.js.map +1 -1
- package/dist/template_manager/engine/index.d.ts +2 -2
- package/dist/template_manager/engine/index.d.ts.map +1 -1
- package/dist/template_manager/engine/index.js +2 -15
- package/dist/template_manager/engine/index.js.map +1 -1
- package/dist/template_manager/engine/variable_resolver.d.ts +1 -1
- package/dist/template_manager/engine/variable_resolver.d.ts.map +1 -1
- package/dist/template_manager/engine/variable_resolver.js +22 -28
- package/dist/template_manager/engine/variable_resolver.js.map +1 -1
- package/dist/template_manager/index.d.ts +7 -7
- package/dist/template_manager/index.d.ts.map +1 -1
- package/dist/template_manager/index.js +8 -55
- package/dist/template_manager/index.js.map +1 -1
- package/dist/template_manager/template_manager.d.ts +1 -1
- package/dist/template_manager/template_manager.d.ts.map +1 -1
- package/dist/template_manager/template_manager.js +34 -40
- package/dist/template_manager/template_manager.js.map +1 -1
- package/dist/template_manager/types.d.ts +1 -1
- package/dist/template_manager/types.d.ts.map +1 -1
- package/dist/template_manager/types.js +1 -2
- package/dist/template_manager/types.js.map +1 -1
- package/dist/template_manager/utils/index.d.ts +2 -2
- package/dist/template_manager/utils/index.d.ts.map +1 -1
- package/dist/template_manager/utils/index.js +2 -17
- package/dist/template_manager/utils/index.js.map +1 -1
- package/dist/template_manager/utils/system_variables.d.ts +1 -1
- package/dist/template_manager/utils/system_variables.d.ts.map +1 -1
- package/dist/template_manager/utils/system_variables.js +3 -8
- package/dist/template_manager/utils/system_variables.js.map +1 -1
- package/dist/template_manager/utils/validation.js +18 -29
- package/dist/template_manager/utils/validation.js.map +1 -1
- package/migrations/001_create_template_tables.sql +87 -0
- package/package.json +12 -5
- package/dist/utils.d.ts +0 -12
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -18
- package/dist/utils.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
# Hazo Notify
|
|
2
2
|
|
|
3
|
-
A reusable component library for sending email notifications with
|
|
3
|
+
A reusable component library for sending email notifications with template management. Implements Zeptomail API integration with support for text and HTML emails, Handlebars-based email templates, multiple attachments, and comprehensive security features.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
+
### Emailer
|
|
7
8
|
- **Multiple Integration Methods**: Support for API (Zeptomail - implemented), SMTP (placeholder), and POP3 (placeholder)
|
|
8
9
|
- **Text and HTML Emails**: Send both plain text and HTML formatted emails
|
|
9
10
|
- **Multiple Attachments**: Support for sending multiple file attachments (up to 10, configurable)
|
|
10
11
|
- **Security Features**: HTML sanitization, email injection protection, rate limiting, input validation
|
|
11
12
|
- **Configurable**: Configuration via `config/hazo_notify_config.ini` file using `hazo_config` package
|
|
12
|
-
|
|
13
|
+
|
|
14
|
+
### Template Manager
|
|
15
|
+
- **Handlebars Templates**: Email template rendering with variable substitution
|
|
16
|
+
- **Database-Backed Storage**: Template and category CRUD via `hazo_connect`
|
|
17
|
+
- **System Variables**: Auto-generated date/time variables (11 formats)
|
|
18
|
+
- **Template Composition**: `@template` reference syntax for including templates within templates
|
|
19
|
+
- **Default Templates**: Built-in welcome, verification, password reset, and signature templates
|
|
20
|
+
- **Caching**: Template compilation caching for performance
|
|
21
|
+
|
|
22
|
+
### General
|
|
23
|
+
- **Test UI**: Optional test UI at `/hazo_notify/emailer_test` and `/hazo_notify/template_manager`
|
|
13
24
|
- **TypeScript**: Fully typed with TypeScript
|
|
14
|
-
- **Testing**:
|
|
25
|
+
- **Testing**: Test coverage with Jest
|
|
15
26
|
|
|
16
27
|
## Installation
|
|
17
28
|
|
|
@@ -21,6 +32,8 @@ npm install hazo_notify
|
|
|
21
32
|
|
|
22
33
|
The package automatically installs required dependencies including `hazo_config` for configuration management and `isomorphic-dompurify` for HTML sanitization.
|
|
23
34
|
|
|
35
|
+
**Note:** This package is an ESM module (`"type": "module"`) and requires Node.js 18+ with ESM support.
|
|
36
|
+
|
|
24
37
|
### Optional: Enhanced Logging with hazo_logs
|
|
25
38
|
|
|
26
39
|
For structured logging with file rotation, install the optional `hazo_logs` peer dependency:
|
|
@@ -43,6 +56,18 @@ max_files = 14d
|
|
|
43
56
|
|
|
44
57
|
If `hazo_logs` is not installed, hazo_notify will use a built-in console logger.
|
|
45
58
|
|
|
59
|
+
### Optional: Database-Backed Templates with hazo_connect
|
|
60
|
+
|
|
61
|
+
For the template manager module, install the optional `hazo_connect` peer dependency:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm install hazo_connect
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then run the migration in `migrations/001_create_template_tables.sql` against your database to create the required tables (`hazo_notify_template_cat` and `hazo_notify_templates`).
|
|
68
|
+
|
|
69
|
+
If `hazo_connect` is not installed, the emailer module still works independently.
|
|
70
|
+
|
|
46
71
|
## Quick Start
|
|
47
72
|
|
|
48
73
|
1. **Create `.env.local` file** with your Zeptomail API key:
|
|
@@ -675,6 +700,43 @@ console.log('Emailer module:', config.emailer_module);
|
|
|
675
700
|
console.log('From email:', config.from_email);
|
|
676
701
|
```
|
|
677
702
|
|
|
703
|
+
### Template Manager API
|
|
704
|
+
|
|
705
|
+
#### `send_template_email(options, hazo_connect, org_id, config?): Promise<SendTemplateEmailResponse>`
|
|
706
|
+
|
|
707
|
+
Render a named template and send it as an email.
|
|
708
|
+
|
|
709
|
+
```typescript
|
|
710
|
+
import { send_template_email } from 'hazo_notify/template_manager';
|
|
711
|
+
|
|
712
|
+
const result = await send_template_email({
|
|
713
|
+
template_name: 'welcome_email',
|
|
714
|
+
variables: { user_name: 'John', login_url: 'https://example.com/login' },
|
|
715
|
+
to: 'john@example.com',
|
|
716
|
+
subject: 'Welcome!'
|
|
717
|
+
}, hazo_connect, org_id);
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
#### `render_template(template_name, variables, hazo_connect, org_id, config?, logger?): Promise<TemplateRenderResult>`
|
|
721
|
+
|
|
722
|
+
Render a template without sending (useful for previews).
|
|
723
|
+
|
|
724
|
+
#### `seed_default_templates(hazo_connect, org_id, root_org_id): Promise<TemplateOperationResponse>`
|
|
725
|
+
|
|
726
|
+
Seed the database with default templates (welcome, verification, password reset, signature).
|
|
727
|
+
|
|
728
|
+
#### Template CRUD
|
|
729
|
+
|
|
730
|
+
```typescript
|
|
731
|
+
import {
|
|
732
|
+
list_categories, create_category, update_category, delete_category,
|
|
733
|
+
list_templates, create_template, update_template, delete_template,
|
|
734
|
+
get_template_by_name, seed_default_templates,
|
|
735
|
+
} from 'hazo_notify/template_manager';
|
|
736
|
+
```
|
|
737
|
+
|
|
738
|
+
All CRUD functions take a `hazo_connect` instance as their first argument.
|
|
739
|
+
|
|
678
740
|
## Test UI
|
|
679
741
|
|
|
680
742
|
To enable the UI component and all routes, set `enable_ui=true` in the `[ui]` section of `config/hazo_notify_config.ini`. The test UI will be available at `/hazo_notify/emailer_test`.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Reads configuration from config/hazo_notify_config.ini via hazo_config package
|
|
4
4
|
* and sends emails using the configured provider
|
|
5
5
|
*/
|
|
6
|
-
import type { EmailerConfig, SendEmailOptions, EmailSendResponse } from './types';
|
|
6
|
+
import type { EmailerConfig, SendEmailOptions, EmailSendResponse } from './types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Load emailer configuration from config/hazo_notify_config.ini
|
|
9
9
|
* @returns Emailer configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emailer.d.ts","sourceRoot":"","sources":["../../src/lib/emailer/emailer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"emailer.d.ts","sourceRoot":"","sources":["../../src/lib/emailer/emailer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAC;AAEpG;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAwJnD;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CA0H5B"}
|
package/dist/emailer/emailer.js
CHANGED
|
@@ -1,34 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Emailer service implementation
|
|
4
3
|
* Reads configuration from config/hazo_notify_config.ini via hazo_config package
|
|
5
4
|
* and sends emails using the configured provider
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const constants_1 = require("./utils/constants");
|
|
14
|
-
const logger_1 = require("./utils/logger");
|
|
15
|
-
const validation_1 = require("./utils/validation");
|
|
6
|
+
import { get_email_provider } from './providers/index.js';
|
|
7
|
+
import { HazoConfig } from 'hazo_config/server';
|
|
8
|
+
import { join } from 'path';
|
|
9
|
+
import { VALID_EMAILER_MODULES, DEFAULT_RATE_LIMIT_REQUESTS, DEFAULT_RATE_LIMIT_WINDOW, DEFAULT_MAX_ATTACHMENT_SIZE, DEFAULT_MAX_ATTACHMENTS, DEFAULT_REQUEST_TIMEOUT, MAX_SUBJECT_LENGTH, MAX_BODY_LENGTH, } from './utils/constants.js';
|
|
10
|
+
import { get_logger } from './utils/logger.js';
|
|
11
|
+
import { validate_email_address, validate_subject_length, validate_body_length, validate_attachment_size, } from './utils/validation.js';
|
|
16
12
|
/**
|
|
17
13
|
* Load emailer configuration from config/hazo_notify_config.ini
|
|
18
14
|
* @returns Emailer configuration
|
|
19
15
|
*/
|
|
20
|
-
function load_emailer_config() {
|
|
16
|
+
export function load_emailer_config() {
|
|
21
17
|
const filename = 'emailer.ts';
|
|
22
18
|
const function_name = 'load_emailer_config';
|
|
23
19
|
try {
|
|
24
20
|
// Read configuration from config/hazo_notify_config.ini using hazo_config
|
|
25
|
-
const config_file_path =
|
|
26
|
-
const hazo_config = new
|
|
21
|
+
const config_file_path = join(process.cwd(), 'config', 'hazo_notify_config.ini');
|
|
22
|
+
const hazo_config = new HazoConfig({ filePath: config_file_path });
|
|
27
23
|
const emailer_section = hazo_config.getSection('emailer') || {};
|
|
28
24
|
const emailer_module_raw = emailer_section?.emailer_module || 'zeptoemail_api';
|
|
29
25
|
// Validate emailer_module
|
|
30
|
-
if (!
|
|
31
|
-
throw new Error(`Invalid emailer_module: ${emailer_module_raw}. Must be one of: ${
|
|
26
|
+
if (!VALID_EMAILER_MODULES.includes(emailer_module_raw)) {
|
|
27
|
+
throw new Error(`Invalid emailer_module: ${emailer_module_raw}. Must be one of: ${VALID_EMAILER_MODULES.join(', ')}`);
|
|
32
28
|
}
|
|
33
29
|
const emailer_module = emailer_module_raw;
|
|
34
30
|
// Build configuration object
|
|
@@ -37,16 +33,16 @@ function load_emailer_config() {
|
|
|
37
33
|
from_email: emailer_section?.from_email || '',
|
|
38
34
|
from_name: emailer_section?.from_name || 'Hazo Notify',
|
|
39
35
|
// Rate limiting
|
|
40
|
-
rate_limit_requests: parseInt(emailer_section?.rate_limit_requests || String(
|
|
41
|
-
rate_limit_window: parseInt(emailer_section?.rate_limit_window || String(
|
|
36
|
+
rate_limit_requests: parseInt(emailer_section?.rate_limit_requests || String(DEFAULT_RATE_LIMIT_REQUESTS), 10),
|
|
37
|
+
rate_limit_window: parseInt(emailer_section?.rate_limit_window || String(DEFAULT_RATE_LIMIT_WINDOW), 10),
|
|
42
38
|
// Attachment limits
|
|
43
|
-
max_attachment_size: parseInt(emailer_section?.max_attachment_size || String(
|
|
44
|
-
max_attachments: parseInt(emailer_section?.max_attachments || String(
|
|
39
|
+
max_attachment_size: parseInt(emailer_section?.max_attachment_size || String(DEFAULT_MAX_ATTACHMENT_SIZE), 10),
|
|
40
|
+
max_attachments: parseInt(emailer_section?.max_attachments || String(DEFAULT_MAX_ATTACHMENTS), 10),
|
|
45
41
|
// Request timeout
|
|
46
|
-
request_timeout: parseInt(emailer_section?.request_timeout || String(
|
|
42
|
+
request_timeout: parseInt(emailer_section?.request_timeout || String(DEFAULT_REQUEST_TIMEOUT), 10),
|
|
47
43
|
// Input length limits
|
|
48
|
-
max_subject_length: parseInt(emailer_section?.max_subject_length || String(
|
|
49
|
-
max_body_length: parseInt(emailer_section?.max_body_length || String(
|
|
44
|
+
max_subject_length: parseInt(emailer_section?.max_subject_length || String(MAX_SUBJECT_LENGTH), 10),
|
|
45
|
+
max_body_length: parseInt(emailer_section?.max_body_length || String(MAX_BODY_LENGTH), 10),
|
|
50
46
|
// CORS
|
|
51
47
|
cors_allowed_origins: emailer_section?.cors_allowed_origins || '',
|
|
52
48
|
};
|
|
@@ -114,7 +110,7 @@ function load_emailer_config() {
|
|
|
114
110
|
const error_string = error instanceof Error ? error.toString() : String(error);
|
|
115
111
|
const stack = error instanceof Error ? error.stack : undefined;
|
|
116
112
|
// Use fallback logger for config loading errors
|
|
117
|
-
const logger =
|
|
113
|
+
const logger = get_logger();
|
|
118
114
|
logger.error(error_message, {
|
|
119
115
|
filename,
|
|
120
116
|
function_name,
|
|
@@ -130,9 +126,9 @@ function load_emailer_config() {
|
|
|
130
126
|
* @param config - Optional emailer configuration (if not provided, loads from config file)
|
|
131
127
|
* @returns Promise with email send response
|
|
132
128
|
*/
|
|
133
|
-
async function send_email(options, config) {
|
|
129
|
+
export async function send_email(options, config) {
|
|
134
130
|
// Get logger from options or use fallback
|
|
135
|
-
const logger =
|
|
131
|
+
const logger = get_logger(options.logger);
|
|
136
132
|
const filename = 'emailer.ts';
|
|
137
133
|
const function_name = 'send_email';
|
|
138
134
|
try {
|
|
@@ -145,7 +141,7 @@ async function send_email(options, config) {
|
|
|
145
141
|
// Validate email addresses
|
|
146
142
|
const to_emails = Array.isArray(options.to) ? options.to : [options.to];
|
|
147
143
|
for (const email of to_emails) {
|
|
148
|
-
if (!
|
|
144
|
+
if (!validate_email_address(email)) {
|
|
149
145
|
throw new Error(`Invalid recipient email address: ${email}`);
|
|
150
146
|
}
|
|
151
147
|
}
|
|
@@ -153,34 +149,34 @@ async function send_email(options, config) {
|
|
|
153
149
|
throw new Error('Email subject is required');
|
|
154
150
|
}
|
|
155
151
|
// Validate subject length
|
|
156
|
-
if (!
|
|
157
|
-
throw new Error(`Email subject exceeds maximum length of ${emailer_config.max_subject_length ||
|
|
152
|
+
if (!validate_subject_length(options.subject)) {
|
|
153
|
+
throw new Error(`Email subject exceeds maximum length of ${emailer_config.max_subject_length || MAX_SUBJECT_LENGTH} characters`);
|
|
158
154
|
}
|
|
159
155
|
if (!options.content.text && !options.content.html) {
|
|
160
156
|
throw new Error('Email content (text or html) is required');
|
|
161
157
|
}
|
|
162
158
|
// Validate body length
|
|
163
|
-
if (options.content.text && !
|
|
164
|
-
throw new Error(`Email text body exceeds maximum size of ${emailer_config.max_body_length ||
|
|
159
|
+
if (options.content.text && !validate_body_length(options.content.text)) {
|
|
160
|
+
throw new Error(`Email text body exceeds maximum size of ${emailer_config.max_body_length || MAX_BODY_LENGTH} bytes`);
|
|
165
161
|
}
|
|
166
|
-
if (options.content.html && !
|
|
167
|
-
throw new Error(`Email HTML body exceeds maximum size of ${emailer_config.max_body_length ||
|
|
162
|
+
if (options.content.html && !validate_body_length(options.content.html)) {
|
|
163
|
+
throw new Error(`Email HTML body exceeds maximum size of ${emailer_config.max_body_length || MAX_BODY_LENGTH} bytes`);
|
|
168
164
|
}
|
|
169
165
|
// Validate attachments
|
|
170
166
|
if (options.attachments) {
|
|
171
|
-
const max_attachments = emailer_config.max_attachments ||
|
|
167
|
+
const max_attachments = emailer_config.max_attachments || DEFAULT_MAX_ATTACHMENTS;
|
|
172
168
|
if (options.attachments.length > max_attachments) {
|
|
173
169
|
throw new Error(`Maximum ${max_attachments} attachments allowed`);
|
|
174
170
|
}
|
|
175
|
-
const max_size = emailer_config.max_attachment_size ||
|
|
171
|
+
const max_size = emailer_config.max_attachment_size || DEFAULT_MAX_ATTACHMENT_SIZE;
|
|
176
172
|
for (const attachment of options.attachments) {
|
|
177
|
-
if (!
|
|
173
|
+
if (!validate_attachment_size(attachment.content, max_size)) {
|
|
178
174
|
throw new Error(`Attachment "${attachment.filename}" exceeds maximum size of ${max_size} bytes`);
|
|
179
175
|
}
|
|
180
176
|
}
|
|
181
177
|
}
|
|
182
178
|
// Get appropriate provider
|
|
183
|
-
const provider =
|
|
179
|
+
const provider = get_email_provider(emailer_config);
|
|
184
180
|
// Send email - pass logger to provider
|
|
185
181
|
const response = await provider.send_email(options, emailer_config, logger);
|
|
186
182
|
// Log error if email sending failed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emailer.js","sourceRoot":"","sources":["../../src/lib/emailer/emailer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"emailer.js","sourceRoot":"","sources":["../../src/lib/emailer/emailer.ts"],"names":[],"mappings":"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"}
|
package/dist/emailer/index.d.ts
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Emailer service exports
|
|
3
3
|
* Main entry point for the emailer library
|
|
4
4
|
*/
|
|
5
|
-
export { send_email, load_emailer_config } from './emailer';
|
|
6
|
-
export * from './types';
|
|
7
|
-
export { get_email_provider } from './providers';
|
|
8
|
-
export { ZeptomailProvider } from './providers/zeptomail_provider';
|
|
9
|
-
export { SmtpProvider } from './providers/smtp_provider';
|
|
10
|
-
export { Pop3Provider } from './providers/pop3_provider';
|
|
11
|
-
export { create_fallback_logger, get_logger } from './utils/logger';
|
|
5
|
+
export { send_email, load_emailer_config } from './emailer.js';
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export { get_email_provider } from './providers/index.js';
|
|
8
|
+
export { ZeptomailProvider } from './providers/zeptomail_provider.js';
|
|
9
|
+
export { SmtpProvider } from './providers/smtp_provider.js';
|
|
10
|
+
export { Pop3Provider } from './providers/pop3_provider.js';
|
|
11
|
+
export { create_fallback_logger, get_logger } from './utils/logger.js';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/emailer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/emailer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC/D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/emailer/index.js
CHANGED
|
@@ -1,38 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Emailer service exports
|
|
4
3
|
* Main entry point for the emailer library
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.get_logger = exports.create_fallback_logger = exports.Pop3Provider = exports.SmtpProvider = exports.ZeptomailProvider = exports.get_email_provider = exports.load_emailer_config = exports.send_email = void 0;
|
|
22
|
-
var emailer_1 = require("./emailer");
|
|
23
|
-
Object.defineProperty(exports, "send_email", { enumerable: true, get: function () { return emailer_1.send_email; } });
|
|
24
|
-
Object.defineProperty(exports, "load_emailer_config", { enumerable: true, get: function () { return emailer_1.load_emailer_config; } });
|
|
25
|
-
__exportStar(require("./types"), exports);
|
|
26
|
-
var providers_1 = require("./providers");
|
|
27
|
-
Object.defineProperty(exports, "get_email_provider", { enumerable: true, get: function () { return providers_1.get_email_provider; } });
|
|
28
|
-
var zeptomail_provider_1 = require("./providers/zeptomail_provider");
|
|
29
|
-
Object.defineProperty(exports, "ZeptomailProvider", { enumerable: true, get: function () { return zeptomail_provider_1.ZeptomailProvider; } });
|
|
30
|
-
var smtp_provider_1 = require("./providers/smtp_provider");
|
|
31
|
-
Object.defineProperty(exports, "SmtpProvider", { enumerable: true, get: function () { return smtp_provider_1.SmtpProvider; } });
|
|
32
|
-
var pop3_provider_1 = require("./providers/pop3_provider");
|
|
33
|
-
Object.defineProperty(exports, "Pop3Provider", { enumerable: true, get: function () { return pop3_provider_1.Pop3Provider; } });
|
|
5
|
+
export { send_email, load_emailer_config } from './emailer.js';
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
export { get_email_provider } from './providers/index.js';
|
|
8
|
+
export { ZeptomailProvider } from './providers/zeptomail_provider.js';
|
|
9
|
+
export { SmtpProvider } from './providers/smtp_provider.js';
|
|
10
|
+
export { Pop3Provider } from './providers/pop3_provider.js';
|
|
34
11
|
// Logger utilities for consumers
|
|
35
|
-
|
|
36
|
-
Object.defineProperty(exports, "create_fallback_logger", { enumerable: true, get: function () { return logger_1.create_fallback_logger; } });
|
|
37
|
-
Object.defineProperty(exports, "get_logger", { enumerable: true, get: function () { return logger_1.get_logger; } });
|
|
12
|
+
export { create_fallback_logger, get_logger } from './utils/logger.js';
|
|
38
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/emailer/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/emailer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC/D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,iCAAiC;AACjC,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* Provider factory for email providers
|
|
3
3
|
* Selects and returns the appropriate provider based on configuration
|
|
4
4
|
*/
|
|
5
|
-
import type { EmailerConfig, EmailProvider } from '../types';
|
|
5
|
+
import type { EmailerConfig, EmailProvider } from '../types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Get email provider based on configuration module
|
|
8
8
|
* @param config - Emailer configuration
|
|
9
9
|
* @returns Email provider instance
|
|
10
10
|
*/
|
|
11
11
|
export declare function get_email_provider(config: EmailerConfig): EmailProvider;
|
|
12
|
-
export { ZeptomailProvider } from './zeptomail_provider';
|
|
13
|
-
export { SmtpProvider } from './smtp_provider';
|
|
14
|
-
export { Pop3Provider } from './pop3_provider';
|
|
12
|
+
export { ZeptomailProvider } from './zeptomail_provider.js';
|
|
13
|
+
export { SmtpProvider } from './smtp_provider.js';
|
|
14
|
+
export { Pop3Provider } from './pop3_provider.js';
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAavE;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,36 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Provider factory for email providers
|
|
4
3
|
* Selects and returns the appropriate provider based on configuration
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const zeptomail_provider_1 = require("./zeptomail_provider");
|
|
10
|
-
const smtp_provider_1 = require("./smtp_provider");
|
|
11
|
-
const pop3_provider_1 = require("./pop3_provider");
|
|
5
|
+
import { ZeptomailProvider } from './zeptomail_provider.js';
|
|
6
|
+
import { SmtpProvider } from './smtp_provider.js';
|
|
7
|
+
import { Pop3Provider } from './pop3_provider.js';
|
|
12
8
|
/**
|
|
13
9
|
* Get email provider based on configuration module
|
|
14
10
|
* @param config - Emailer configuration
|
|
15
11
|
* @returns Email provider instance
|
|
16
12
|
*/
|
|
17
|
-
function get_email_provider(config) {
|
|
13
|
+
export function get_email_provider(config) {
|
|
18
14
|
const emailer_module = config.emailer_module || 'zeptoemail_api';
|
|
19
15
|
switch (emailer_module) {
|
|
20
16
|
case 'zeptoemail_api':
|
|
21
|
-
return new
|
|
17
|
+
return new ZeptomailProvider();
|
|
22
18
|
case 'smtp':
|
|
23
|
-
return new
|
|
19
|
+
return new SmtpProvider();
|
|
24
20
|
case 'pop3':
|
|
25
|
-
return new
|
|
21
|
+
return new Pop3Provider();
|
|
26
22
|
default:
|
|
27
23
|
throw new Error(`Unsupported emailer module: ${emailer_module}`);
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
Object.defineProperty(exports, "SmtpProvider", { enumerable: true, get: function () { return smtp_provider_2.SmtpProvider; } });
|
|
34
|
-
var pop3_provider_2 = require("./pop3_provider");
|
|
35
|
-
Object.defineProperty(exports, "Pop3Provider", { enumerable: true, get: function () { return pop3_provider_2.Pop3Provider; } });
|
|
26
|
+
export { ZeptomailProvider } from './zeptomail_provider.js';
|
|
27
|
+
export { SmtpProvider } from './smtp_provider.js';
|
|
28
|
+
export { Pop3Provider } from './pop3_provider.js';
|
|
36
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/emailer/providers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/emailer/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAqB;IACtD,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,gBAAgB,CAAC;IAEjE,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,gBAAgB;YACnB,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACjC,KAAK,MAAM;YACT,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,KAAK,MAAM;YACT,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* POP3 provider implementation (placeholder)
|
|
3
3
|
* This provider is not yet implemented and will return an error
|
|
4
4
|
*/
|
|
5
|
-
import type { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse, Logger } from '../types';
|
|
5
|
+
import type { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse, Logger } from '../types.js';
|
|
6
6
|
export declare class Pop3Provider implements EmailProvider {
|
|
7
7
|
/**
|
|
8
8
|
* Send email using POP3 (not implemented)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pop3_provider.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/providers/pop3_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,MAAM,EACP,MAAM,
|
|
1
|
+
{"version":3,"file":"pop3_provider.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/providers/pop3_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,qBAAa,YAAa,YAAW,aAAa;IAChD;;;;;;OAMG;IACG,UAAU,CACd,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC;CAY9B"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* POP3 provider implementation (placeholder)
|
|
4
3
|
* This provider is not yet implemented and will return an error
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
exports.Pop3Provider = void 0;
|
|
8
|
-
class Pop3Provider {
|
|
5
|
+
export class Pop3Provider {
|
|
9
6
|
/**
|
|
10
7
|
* Send email using POP3 (not implemented)
|
|
11
8
|
* @param options - Email send options
|
|
@@ -26,5 +23,4 @@ class Pop3Provider {
|
|
|
26
23
|
};
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
|
-
exports.Pop3Provider = Pop3Provider;
|
|
30
26
|
//# sourceMappingURL=pop3_provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pop3_provider.js","sourceRoot":"","sources":["../../../src/lib/emailer/providers/pop3_provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pop3_provider.js","sourceRoot":"","sources":["../../../src/lib/emailer/providers/pop3_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,OAAO,YAAY;IACvB;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,OAAyB,EACzB,MAAqB,EACrB,MAAe;QAEf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sCAAsC;YAC7C,OAAO,EAAE,sEAAsE;YAC/E,YAAY,EAAE;gBACZ,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,4EAA4E;aACtF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* SMTP provider implementation (placeholder)
|
|
3
3
|
* This provider is not yet implemented and will return an error
|
|
4
4
|
*/
|
|
5
|
-
import type { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse, Logger } from '../types';
|
|
5
|
+
import type { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse, Logger } from '../types.js';
|
|
6
6
|
export declare class SmtpProvider implements EmailProvider {
|
|
7
7
|
/**
|
|
8
8
|
* Send email using SMTP (not implemented)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smtp_provider.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/providers/smtp_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,MAAM,EACP,MAAM,
|
|
1
|
+
{"version":3,"file":"smtp_provider.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/providers/smtp_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,qBAAa,YAAa,YAAW,aAAa;IAChD;;;;;;OAMG;IACG,UAAU,CACd,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC;CAY9B"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* SMTP provider implementation (placeholder)
|
|
4
3
|
* This provider is not yet implemented and will return an error
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
exports.SmtpProvider = void 0;
|
|
8
|
-
class SmtpProvider {
|
|
5
|
+
export class SmtpProvider {
|
|
9
6
|
/**
|
|
10
7
|
* Send email using SMTP (not implemented)
|
|
11
8
|
* @param options - Email send options
|
|
@@ -26,5 +23,4 @@ class SmtpProvider {
|
|
|
26
23
|
};
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
|
-
exports.SmtpProvider = SmtpProvider;
|
|
30
26
|
//# sourceMappingURL=smtp_provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smtp_provider.js","sourceRoot":"","sources":["../../../src/lib/emailer/providers/smtp_provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"smtp_provider.js","sourceRoot":"","sources":["../../../src/lib/emailer/providers/smtp_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,OAAO,YAAY;IACvB;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,OAAyB,EACzB,MAAqB,EACrB,MAAe;QAEf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sCAAsC;YAC7C,OAAO,EAAE,sEAAsE;YAC/E,YAAY,EAAE;gBACZ,QAAQ,EAAE,MAAM;gBAChB,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,4EAA4E;aACtF;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Zeptomail API provider implementation
|
|
3
3
|
* Sends emails using the Zeptomail API
|
|
4
4
|
*/
|
|
5
|
-
import type { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse, Logger } from '../types';
|
|
5
|
+
import type { EmailProvider, SendEmailOptions, EmailerConfig, EmailSendResponse, Logger } from '../types.js';
|
|
6
6
|
export declare class ZeptomailProvider implements EmailProvider {
|
|
7
7
|
/**
|
|
8
8
|
* Send email using Zeptomail API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zeptomail_provider.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/providers/zeptomail_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAEjB,MAAM,EACP,MAAM,
|
|
1
|
+
{"version":3,"file":"zeptomail_provider.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/providers/zeptomail_provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAEjB,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,qBAAa,iBAAkB,YAAW,aAAa;IACrD;;;;;;OAMG;IACG,UAAU,CACd,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC;CA8Q9B"}
|