hazo_notify 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -5
- package/data/templates/email_signature.html +11 -0
- package/data/templates/email_signature.txt +4 -0
- package/data/templates/email_verification.html +64 -0
- package/data/templates/email_verification.txt +11 -0
- package/data/templates/forgot_password.html +64 -0
- package/data/templates/forgot_password.txt +11 -0
- package/data/templates/manifest.json +86 -0
- package/data/templates/welcome_email.html +54 -0
- package/data/templates/welcome_email.txt +8 -0
- package/dist/{lib/emailer → emailer}/emailer.d.ts +2 -2
- package/dist/emailer/emailer.d.ts.map +1 -0
- package/dist/{lib/emailer → emailer}/emailer.js +38 -24
- package/dist/emailer/emailer.js.map +1 -0
- package/dist/{lib/emailer → emailer}/index.d.ts +1 -0
- package/dist/emailer/index.d.ts.map +1 -0
- package/dist/{lib/emailer → emailer}/index.js +5 -1
- package/dist/emailer/index.js.map +1 -0
- package/dist/{lib/emailer → emailer}/providers/index.d.ts +1 -1
- package/dist/emailer/providers/index.d.ts.map +1 -0
- package/dist/emailer/providers/index.js.map +1 -0
- package/dist/{lib/emailer → emailer}/providers/pop3_provider.d.ts +3 -2
- package/dist/emailer/providers/pop3_provider.d.ts.map +1 -0
- package/dist/{lib/emailer → emailer}/providers/pop3_provider.js +2 -1
- package/dist/emailer/providers/pop3_provider.js.map +1 -0
- package/dist/{lib/emailer → emailer}/providers/smtp_provider.d.ts +3 -2
- package/dist/emailer/providers/smtp_provider.d.ts.map +1 -0
- package/dist/{lib/emailer → emailer}/providers/smtp_provider.js +2 -1
- package/dist/emailer/providers/smtp_provider.js.map +1 -0
- package/dist/{lib/emailer → emailer}/providers/zeptomail_provider.d.ts +3 -2
- package/dist/emailer/providers/zeptomail_provider.d.ts.map +1 -0
- package/dist/{lib/emailer → emailer}/providers/zeptomail_provider.js +56 -38
- package/dist/emailer/providers/zeptomail_provider.js.map +1 -0
- package/dist/{lib/emailer → emailer}/types.d.ts +13 -1
- package/dist/emailer/types.d.ts.map +1 -0
- package/dist/emailer/types.js.map +1 -0
- package/dist/{lib/emailer → emailer}/utils/constants.d.ts +1 -0
- package/dist/emailer/utils/constants.d.ts.map +1 -0
- package/dist/emailer/utils/constants.js.map +1 -0
- package/dist/emailer/utils/index.d.ts.map +1 -0
- package/dist/emailer/utils/index.js.map +1 -0
- package/dist/emailer/utils/logger.d.ts +48 -0
- package/dist/emailer/utils/logger.d.ts.map +1 -0
- package/dist/emailer/utils/logger.js +98 -0
- package/dist/emailer/utils/logger.js.map +1 -0
- package/dist/emailer/utils/validation.d.ts.map +1 -0
- package/dist/emailer/utils/validation.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{lib/index.js → index.js} +2 -1
- package/dist/index.js.map +1 -0
- package/dist/template_manager/config/config_loader.d.ts +48 -0
- package/dist/template_manager/config/config_loader.d.ts.map +1 -0
- package/dist/template_manager/config/config_loader.js +161 -0
- package/dist/template_manager/config/config_loader.js.map +1 -0
- package/dist/template_manager/config/constants.d.ts +101 -0
- package/dist/template_manager/config/constants.d.ts.map +1 -0
- package/dist/template_manager/config/constants.js +163 -0
- package/dist/template_manager/config/constants.js.map +1 -0
- package/dist/template_manager/config/index.d.ts +6 -0
- package/dist/template_manager/config/index.d.ts.map +1 -0
- package/dist/template_manager/config/index.js +24 -0
- package/dist/template_manager/config/index.js.map +1 -0
- package/dist/template_manager/db/category_repository.d.ts +57 -0
- package/dist/template_manager/db/category_repository.d.ts.map +1 -0
- package/dist/template_manager/db/category_repository.js +326 -0
- package/dist/template_manager/db/category_repository.js.map +1 -0
- package/dist/template_manager/db/index.d.ts +6 -0
- package/dist/template_manager/db/index.d.ts.map +1 -0
- package/dist/template_manager/db/index.js +23 -0
- package/dist/template_manager/db/index.js.map +1 -0
- package/dist/template_manager/db/template_repository.d.ts +76 -0
- package/dist/template_manager/db/template_repository.d.ts.map +1 -0
- package/dist/template_manager/db/template_repository.js +684 -0
- package/dist/template_manager/db/template_repository.js.map +1 -0
- package/dist/template_manager/engine/handlebars_engine.d.ts +52 -0
- package/dist/template_manager/engine/handlebars_engine.d.ts.map +1 -0
- package/dist/template_manager/engine/handlebars_engine.js +175 -0
- package/dist/template_manager/engine/handlebars_engine.js.map +1 -0
- package/dist/template_manager/engine/index.d.ts +6 -0
- package/dist/template_manager/engine/index.d.ts.map +1 -0
- package/dist/template_manager/engine/index.js +19 -0
- package/dist/template_manager/engine/index.js.map +1 -0
- package/dist/template_manager/engine/variable_resolver.d.ts +48 -0
- package/dist/template_manager/engine/variable_resolver.d.ts.map +1 -0
- package/dist/template_manager/engine/variable_resolver.js +223 -0
- package/dist/template_manager/engine/variable_resolver.js.map +1 -0
- package/dist/template_manager/index.d.ts +32 -0
- package/dist/template_manager/index.d.ts.map +1 -0
- package/dist/template_manager/index.js +88 -0
- package/dist/template_manager/index.js.map +1 -0
- package/dist/template_manager/template_manager.d.ts +69 -0
- package/dist/template_manager/template_manager.d.ts.map +1 -0
- package/dist/template_manager/template_manager.js +335 -0
- package/dist/template_manager/template_manager.js.map +1 -0
- package/dist/template_manager/types.d.ts +255 -0
- package/dist/template_manager/types.d.ts.map +1 -0
- package/dist/template_manager/types.js +12 -0
- package/dist/template_manager/types.js.map +1 -0
- package/dist/template_manager/utils/index.d.ts +6 -0
- package/dist/template_manager/utils/index.d.ts.map +1 -0
- package/dist/template_manager/utils/index.js +21 -0
- package/dist/template_manager/utils/index.js.map +1 -0
- package/dist/template_manager/utils/system_variables.d.ts +28 -0
- package/dist/template_manager/utils/system_variables.d.ts.map +1 -0
- package/dist/template_manager/utils/system_variables.js +209 -0
- package/dist/template_manager/utils/system_variables.js.map +1 -0
- package/dist/template_manager/utils/validation.d.ts +74 -0
- package/dist/template_manager/utils/validation.d.ts.map +1 -0
- package/dist/template_manager/utils/validation.js +163 -0
- package/dist/template_manager/utils/validation.js.map +1 -0
- package/dist/utils.d.ts +12 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +18 -0
- package/dist/utils.js.map +1 -0
- package/hazo_notify_config.ini +39 -0
- package/package.json +71 -21
- package/dist/lib/emailer/emailer.d.ts.map +0 -1
- package/dist/lib/emailer/emailer.js.map +0 -1
- package/dist/lib/emailer/index.d.ts.map +0 -1
- package/dist/lib/emailer/index.js.map +0 -1
- package/dist/lib/emailer/providers/index.d.ts.map +0 -1
- package/dist/lib/emailer/providers/index.js.map +0 -1
- package/dist/lib/emailer/providers/pop3_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/pop3_provider.js.map +0 -1
- package/dist/lib/emailer/providers/smtp_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/smtp_provider.js.map +0 -1
- package/dist/lib/emailer/providers/zeptomail_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/zeptomail_provider.js.map +0 -1
- package/dist/lib/emailer/types.d.ts.map +0 -1
- package/dist/lib/emailer/types.js.map +0 -1
- package/dist/lib/emailer/utils/constants.d.ts.map +0 -1
- package/dist/lib/emailer/utils/constants.js.map +0 -1
- package/dist/lib/emailer/utils/index.d.ts.map +0 -1
- package/dist/lib/emailer/utils/index.js.map +0 -1
- package/dist/lib/emailer/utils/logger.d.ts +0 -37
- package/dist/lib/emailer/utils/logger.d.ts.map +0 -1
- package/dist/lib/emailer/utils/logger.js +0 -60
- package/dist/lib/emailer/utils/logger.js.map +0 -1
- package/dist/lib/emailer/utils/validation.d.ts.map +0 -1
- package/dist/lib/emailer/utils/validation.js.map +0 -1
- package/dist/lib/index.d.ts +0 -6
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -9
- package/dist/lib/utils.js.map +0 -1
- /package/dist/{lib/emailer → emailer}/providers/index.js +0 -0
- /package/dist/{lib/emailer → emailer}/types.js +0 -0
- /package/dist/{lib/emailer → emailer}/utils/constants.js +0 -0
- /package/dist/{lib/emailer → emailer}/utils/index.d.ts +0 -0
- /package/dist/{lib/emailer → emailer}/utils/index.js +0 -0
- /package/dist/{lib/emailer → emailer}/utils/validation.d.ts +0 -0
- /package/dist/{lib/emailer → emailer}/utils/validation.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template_repository.js","sourceRoot":"","sources":["../../../src/lib/template_manager/db/template_repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handlebars template engine for template manager
|
|
3
|
+
*
|
|
4
|
+
* Provides template rendering with variable substitution
|
|
5
|
+
*/
|
|
6
|
+
import type { TemplateRenderResult } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Render a template string with Handlebars
|
|
9
|
+
*
|
|
10
|
+
* @param template_string - Template content with {{variable}} placeholders
|
|
11
|
+
* @param variables - Variables to substitute
|
|
12
|
+
* @param cache_key - Optional cache key for template reuse
|
|
13
|
+
* @returns Rendered template string
|
|
14
|
+
*/
|
|
15
|
+
export declare function render_handlebars_string(template_string: string, variables: Record<string, string>, cache_key?: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Render a template with both HTML and text versions
|
|
18
|
+
*
|
|
19
|
+
* @param html_template - HTML template content
|
|
20
|
+
* @param text_template - Text template content
|
|
21
|
+
* @param variables - Variables to substitute
|
|
22
|
+
* @param template_name - Template name for caching
|
|
23
|
+
* @returns Render result with both HTML and text
|
|
24
|
+
*/
|
|
25
|
+
export declare function render_handlebars(html_template: string, text_template: string, variables: Record<string, string>, template_name?: string): TemplateRenderResult;
|
|
26
|
+
/**
|
|
27
|
+
* Render HTML template only
|
|
28
|
+
*
|
|
29
|
+
* @param html_template - HTML template content
|
|
30
|
+
* @param variables - Variables to substitute
|
|
31
|
+
* @param cache_key - Optional cache key
|
|
32
|
+
* @returns Render result with HTML
|
|
33
|
+
*/
|
|
34
|
+
export declare function render_handlebars_html(html_template: string, variables: Record<string, string>, cache_key?: string): TemplateRenderResult;
|
|
35
|
+
/**
|
|
36
|
+
* Clear the template cache
|
|
37
|
+
*/
|
|
38
|
+
export declare function clear_template_cache(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Remove a specific template from cache
|
|
41
|
+
*
|
|
42
|
+
* @param template_name - Template name to remove from cache
|
|
43
|
+
*/
|
|
44
|
+
export declare function invalidate_template_cache(template_name: string): void;
|
|
45
|
+
/**
|
|
46
|
+
* Check if a template is cached
|
|
47
|
+
*
|
|
48
|
+
* @param template_name - Template name to check
|
|
49
|
+
* @returns true if template is cached
|
|
50
|
+
*/
|
|
51
|
+
export declare function is_template_cached(template_name: string): boolean;
|
|
52
|
+
//# sourceMappingURL=handlebars_engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlebars_engine.d.ts","sourceRoot":"","sources":["../../../src/lib/template_manager/engine/handlebars_engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AA8ErD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,aAAa,CAAC,EAAE,MAAM,GACrB,oBAAoB,CA+BtB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,oBAAoB,CAsBtB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAKjE"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Handlebars template engine for template manager
|
|
4
|
+
*
|
|
5
|
+
* Provides template rendering with variable substitution
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.render_handlebars_string = render_handlebars_string;
|
|
12
|
+
exports.render_handlebars = render_handlebars;
|
|
13
|
+
exports.render_handlebars_html = render_handlebars_html;
|
|
14
|
+
exports.clear_template_cache = clear_template_cache;
|
|
15
|
+
exports.invalidate_template_cache = invalidate_template_cache;
|
|
16
|
+
exports.is_template_cached = is_template_cached;
|
|
17
|
+
const handlebars_1 = __importDefault(require("handlebars"));
|
|
18
|
+
/**
|
|
19
|
+
* Compile and cache templates for performance
|
|
20
|
+
*/
|
|
21
|
+
const template_cache = new Map();
|
|
22
|
+
/**
|
|
23
|
+
* Register custom Handlebars helpers
|
|
24
|
+
*/
|
|
25
|
+
function register_helpers() {
|
|
26
|
+
// Helper for uppercase
|
|
27
|
+
if (!handlebars_1.default.helpers['uppercase']) {
|
|
28
|
+
handlebars_1.default.registerHelper('uppercase', (str) => {
|
|
29
|
+
return typeof str === 'string' ? str.toUpperCase() : '';
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// Helper for lowercase
|
|
33
|
+
if (!handlebars_1.default.helpers['lowercase']) {
|
|
34
|
+
handlebars_1.default.registerHelper('lowercase', (str) => {
|
|
35
|
+
return typeof str === 'string' ? str.toLowerCase() : '';
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
// Helper for capitalize
|
|
39
|
+
if (!handlebars_1.default.helpers['capitalize']) {
|
|
40
|
+
handlebars_1.default.registerHelper('capitalize', (str) => {
|
|
41
|
+
if (typeof str !== 'string' || str.length === 0)
|
|
42
|
+
return '';
|
|
43
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// Helper for default value
|
|
47
|
+
if (!handlebars_1.default.helpers['default']) {
|
|
48
|
+
handlebars_1.default.registerHelper('default', (value, defaultValue) => {
|
|
49
|
+
return value || defaultValue;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
// Helper for equality check
|
|
53
|
+
if (!handlebars_1.default.helpers['eq']) {
|
|
54
|
+
handlebars_1.default.registerHelper('eq', (a, b) => {
|
|
55
|
+
return a === b;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Register helpers on module load
|
|
60
|
+
register_helpers();
|
|
61
|
+
/**
|
|
62
|
+
* Get or compile a template
|
|
63
|
+
*
|
|
64
|
+
* @param template_string - Template content to compile
|
|
65
|
+
* @param cache_key - Optional cache key for template reuse
|
|
66
|
+
* @returns Compiled template function
|
|
67
|
+
*/
|
|
68
|
+
function get_compiled_template(template_string, cache_key) {
|
|
69
|
+
if (cache_key && template_cache.has(cache_key)) {
|
|
70
|
+
return template_cache.get(cache_key);
|
|
71
|
+
}
|
|
72
|
+
const compiled = handlebars_1.default.compile(template_string, {
|
|
73
|
+
strict: false,
|
|
74
|
+
noEscape: false, // HTML escape by default for security
|
|
75
|
+
});
|
|
76
|
+
if (cache_key) {
|
|
77
|
+
template_cache.set(cache_key, compiled);
|
|
78
|
+
}
|
|
79
|
+
return compiled;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Render a template string with Handlebars
|
|
83
|
+
*
|
|
84
|
+
* @param template_string - Template content with {{variable}} placeholders
|
|
85
|
+
* @param variables - Variables to substitute
|
|
86
|
+
* @param cache_key - Optional cache key for template reuse
|
|
87
|
+
* @returns Rendered template string
|
|
88
|
+
*/
|
|
89
|
+
function render_handlebars_string(template_string, variables, cache_key) {
|
|
90
|
+
const template = get_compiled_template(template_string, cache_key);
|
|
91
|
+
return template(variables);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Render a template with both HTML and text versions
|
|
95
|
+
*
|
|
96
|
+
* @param html_template - HTML template content
|
|
97
|
+
* @param text_template - Text template content
|
|
98
|
+
* @param variables - Variables to substitute
|
|
99
|
+
* @param template_name - Template name for caching
|
|
100
|
+
* @returns Render result with both HTML and text
|
|
101
|
+
*/
|
|
102
|
+
function render_handlebars(html_template, text_template, variables, template_name) {
|
|
103
|
+
try {
|
|
104
|
+
const html_cache_key = template_name ? `${template_name}_html` : undefined;
|
|
105
|
+
const text_cache_key = template_name ? `${template_name}_text` : undefined;
|
|
106
|
+
const rendered_html = render_handlebars_string(html_template, variables, html_cache_key);
|
|
107
|
+
const rendered_text = render_handlebars_string(text_template, variables, text_cache_key);
|
|
108
|
+
return {
|
|
109
|
+
success: true,
|
|
110
|
+
rendered_html,
|
|
111
|
+
rendered_text,
|
|
112
|
+
message: 'Template rendered successfully',
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
const error_message = error instanceof Error ? error.message : 'Unknown rendering error';
|
|
117
|
+
return {
|
|
118
|
+
success: false,
|
|
119
|
+
error: error_message,
|
|
120
|
+
message: `Failed to render template: ${error_message}`,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Render HTML template only
|
|
126
|
+
*
|
|
127
|
+
* @param html_template - HTML template content
|
|
128
|
+
* @param variables - Variables to substitute
|
|
129
|
+
* @param cache_key - Optional cache key
|
|
130
|
+
* @returns Render result with HTML
|
|
131
|
+
*/
|
|
132
|
+
function render_handlebars_html(html_template, variables, cache_key) {
|
|
133
|
+
try {
|
|
134
|
+
const rendered_html = render_handlebars_string(html_template, variables, cache_key);
|
|
135
|
+
return {
|
|
136
|
+
success: true,
|
|
137
|
+
rendered_html,
|
|
138
|
+
message: 'HTML template rendered successfully',
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
const error_message = error instanceof Error ? error.message : 'Unknown rendering error';
|
|
143
|
+
return {
|
|
144
|
+
success: false,
|
|
145
|
+
error: error_message,
|
|
146
|
+
message: `Failed to render HTML template: ${error_message}`,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Clear the template cache
|
|
152
|
+
*/
|
|
153
|
+
function clear_template_cache() {
|
|
154
|
+
template_cache.clear();
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Remove a specific template from cache
|
|
158
|
+
*
|
|
159
|
+
* @param template_name - Template name to remove from cache
|
|
160
|
+
*/
|
|
161
|
+
function invalidate_template_cache(template_name) {
|
|
162
|
+
template_cache.delete(`${template_name}_html`);
|
|
163
|
+
template_cache.delete(`${template_name}_text`);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Check if a template is cached
|
|
167
|
+
*
|
|
168
|
+
* @param template_name - Template name to check
|
|
169
|
+
* @returns true if template is cached
|
|
170
|
+
*/
|
|
171
|
+
function is_template_cached(template_name) {
|
|
172
|
+
return (template_cache.has(`${template_name}_html`) ||
|
|
173
|
+
template_cache.has(`${template_name}_text`));
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=handlebars_engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlebars_engine.js","sourceRoot":"","sources":["../../../src/lib/template_manager/engine/handlebars_engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Engine barrel export for template manager
|
|
3
|
+
*/
|
|
4
|
+
export { render_handlebars, render_handlebars_string, render_handlebars_html, clear_template_cache, invalidate_template_cache, is_template_cached, } from './handlebars_engine';
|
|
5
|
+
export { resolve_variables, extract_template_references, resolve_template_references, resolve_all_template_references, } from './variable_resolver';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/template_manager/engine/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Engine barrel export for template manager
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolve_all_template_references = exports.resolve_template_references = exports.extract_template_references = exports.resolve_variables = exports.is_template_cached = exports.invalidate_template_cache = exports.clear_template_cache = exports.render_handlebars_html = exports.render_handlebars_string = exports.render_handlebars = void 0;
|
|
7
|
+
var handlebars_engine_1 = require("./handlebars_engine");
|
|
8
|
+
Object.defineProperty(exports, "render_handlebars", { enumerable: true, get: function () { return handlebars_engine_1.render_handlebars; } });
|
|
9
|
+
Object.defineProperty(exports, "render_handlebars_string", { enumerable: true, get: function () { return handlebars_engine_1.render_handlebars_string; } });
|
|
10
|
+
Object.defineProperty(exports, "render_handlebars_html", { enumerable: true, get: function () { return handlebars_engine_1.render_handlebars_html; } });
|
|
11
|
+
Object.defineProperty(exports, "clear_template_cache", { enumerable: true, get: function () { return handlebars_engine_1.clear_template_cache; } });
|
|
12
|
+
Object.defineProperty(exports, "invalidate_template_cache", { enumerable: true, get: function () { return handlebars_engine_1.invalidate_template_cache; } });
|
|
13
|
+
Object.defineProperty(exports, "is_template_cached", { enumerable: true, get: function () { return handlebars_engine_1.is_template_cached; } });
|
|
14
|
+
var variable_resolver_1 = require("./variable_resolver");
|
|
15
|
+
Object.defineProperty(exports, "resolve_variables", { enumerable: true, get: function () { return variable_resolver_1.resolve_variables; } });
|
|
16
|
+
Object.defineProperty(exports, "extract_template_references", { enumerable: true, get: function () { return variable_resolver_1.extract_template_references; } });
|
|
17
|
+
Object.defineProperty(exports, "resolve_template_references", { enumerable: true, get: function () { return variable_resolver_1.resolve_template_references; } });
|
|
18
|
+
Object.defineProperty(exports, "resolve_all_template_references", { enumerable: true, get: function () { return variable_resolver_1.resolve_all_template_references; } });
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/template_manager/engine/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAO6B;AAN3B,sHAAA,iBAAiB,OAAA;AACjB,6HAAA,wBAAwB,OAAA;AACxB,2HAAA,sBAAsB,OAAA;AACtB,yHAAA,oBAAoB,OAAA;AACpB,8HAAA,yBAAyB,OAAA;AACzB,uHAAA,kBAAkB,OAAA;AAGpB,yDAK6B;AAJ3B,sHAAA,iBAAiB,OAAA;AACjB,gIAAA,2BAA2B,OAAA;AAC3B,gIAAA,2BAA2B,OAAA;AAC3B,oIAAA,+BAA+B,OAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Variable resolver for template manager
|
|
3
|
+
*
|
|
4
|
+
* Resolves user variables, system variables, and @template references
|
|
5
|
+
*/
|
|
6
|
+
import type { HazoConnectInstance, TemplateRenderResult } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Merge user variables with system variables
|
|
9
|
+
*
|
|
10
|
+
* System variables take lower priority than user variables
|
|
11
|
+
*
|
|
12
|
+
* @param user_variables - Variables provided by user
|
|
13
|
+
* @returns Merged variables with system variables
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolve_variables(user_variables: Record<string, string>): Record<string, string>;
|
|
16
|
+
/**
|
|
17
|
+
* Extract @template references from content
|
|
18
|
+
*
|
|
19
|
+
* @param content - Template content to scan
|
|
20
|
+
* @returns Array of template names referenced
|
|
21
|
+
*/
|
|
22
|
+
export declare function extract_template_references(content: string): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Resolve @template references in content
|
|
25
|
+
*
|
|
26
|
+
* Recursively fetches and renders referenced templates
|
|
27
|
+
*
|
|
28
|
+
* @param content - Template content with @references
|
|
29
|
+
* @param variables - Variables to use for rendering
|
|
30
|
+
* @param hazo_connect - Database connection
|
|
31
|
+
* @param org_id - Organization ID
|
|
32
|
+
* @param visited - Set of already visited templates (for circular detection)
|
|
33
|
+
* @param depth - Current recursion depth
|
|
34
|
+
* @returns Resolved content with references replaced
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolve_template_references(content: string, variables: Record<string, string>, hazo_connect: HazoConnectInstance, org_id: string, visited?: Set<string>, depth?: number): Promise<TemplateRenderResult>;
|
|
37
|
+
/**
|
|
38
|
+
* Resolve @template references for both HTML and text content
|
|
39
|
+
*
|
|
40
|
+
* @param html_content - HTML template content
|
|
41
|
+
* @param text_content - Text template content
|
|
42
|
+
* @param variables - Variables for rendering
|
|
43
|
+
* @param hazo_connect - Database connection
|
|
44
|
+
* @param org_id - Organization ID
|
|
45
|
+
* @returns Resolved HTML and text content
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolve_all_template_references(html_content: string, text_content: string, variables: Record<string, string>, hazo_connect: HazoConnectInstance, org_id: string): Promise<TemplateRenderResult>;
|
|
48
|
+
//# sourceMappingURL=variable_resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable_resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/template_manager/engine/variable_resolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,UAAU,CAAC;AAUlB;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAerE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,YAAY,EAAE,mBAAmB,EACjC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,EAChC,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAuF/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,YAAY,EAAE,mBAAmB,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC,CAyC/B"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Variable resolver for template manager
|
|
4
|
+
*
|
|
5
|
+
* Resolves user variables, system variables, and @template references
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.resolve_variables = resolve_variables;
|
|
9
|
+
exports.extract_template_references = extract_template_references;
|
|
10
|
+
exports.resolve_template_references = resolve_template_references;
|
|
11
|
+
exports.resolve_all_template_references = resolve_all_template_references;
|
|
12
|
+
const constants_1 = require("../config/constants");
|
|
13
|
+
const system_variables_1 = require("../utils/system_variables");
|
|
14
|
+
const template_repository_1 = require("../db/template_repository");
|
|
15
|
+
const handlebars_engine_1 = require("./handlebars_engine");
|
|
16
|
+
/**
|
|
17
|
+
* Merge user variables with system variables
|
|
18
|
+
*
|
|
19
|
+
* System variables take lower priority than user variables
|
|
20
|
+
*
|
|
21
|
+
* @param user_variables - Variables provided by user
|
|
22
|
+
* @returns Merged variables with system variables
|
|
23
|
+
*/
|
|
24
|
+
function resolve_variables(user_variables) {
|
|
25
|
+
const system_vars = (0, system_variables_1.resolve_system_variables)();
|
|
26
|
+
return {
|
|
27
|
+
...system_vars,
|
|
28
|
+
...user_variables, // User variables override system variables
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Extract @template references from content
|
|
33
|
+
*
|
|
34
|
+
* @param content - Template content to scan
|
|
35
|
+
* @returns Array of template names referenced
|
|
36
|
+
*/
|
|
37
|
+
function extract_template_references(content) {
|
|
38
|
+
if (typeof content !== 'string') {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
const matches = content.matchAll(constants_1.TEMPLATE_REFERENCE_PATTERN);
|
|
42
|
+
const references = new Set();
|
|
43
|
+
for (const match of matches) {
|
|
44
|
+
if (match[1]) {
|
|
45
|
+
references.add(match[1]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return Array.from(references);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve @template references in content
|
|
52
|
+
*
|
|
53
|
+
* Recursively fetches and renders referenced templates
|
|
54
|
+
*
|
|
55
|
+
* @param content - Template content with @references
|
|
56
|
+
* @param variables - Variables to use for rendering
|
|
57
|
+
* @param hazo_connect - Database connection
|
|
58
|
+
* @param org_id - Organization ID
|
|
59
|
+
* @param visited - Set of already visited templates (for circular detection)
|
|
60
|
+
* @param depth - Current recursion depth
|
|
61
|
+
* @returns Resolved content with references replaced
|
|
62
|
+
*/
|
|
63
|
+
async function resolve_template_references(content, variables, hazo_connect, org_id, visited = new Set(), depth = 0) {
|
|
64
|
+
try {
|
|
65
|
+
// Check max depth
|
|
66
|
+
if (depth > constants_1.MAX_TEMPLATE_REFERENCE_DEPTH) {
|
|
67
|
+
return {
|
|
68
|
+
success: false,
|
|
69
|
+
error: constants_1.ERROR_MESSAGES.MAX_REFERENCE_DEPTH_EXCEEDED,
|
|
70
|
+
message: constants_1.ERROR_MESSAGES.MAX_REFERENCE_DEPTH_EXCEEDED,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
const references = extract_template_references(content);
|
|
74
|
+
if (references.length === 0) {
|
|
75
|
+
return {
|
|
76
|
+
success: true,
|
|
77
|
+
rendered_html: content,
|
|
78
|
+
message: 'No template references to resolve',
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
let resolved_content = content;
|
|
82
|
+
for (const ref_name of references) {
|
|
83
|
+
// Check for circular reference
|
|
84
|
+
if (visited.has(ref_name)) {
|
|
85
|
+
return {
|
|
86
|
+
success: false,
|
|
87
|
+
error: constants_1.ERROR_MESSAGES.CIRCULAR_REFERENCE_DETECTED,
|
|
88
|
+
message: `Circular reference detected: ${ref_name}`,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Fetch the referenced template
|
|
92
|
+
const template_result = await (0, template_repository_1.get_template_by_name)(hazo_connect, org_id, ref_name);
|
|
93
|
+
if (!template_result.success || !template_result.data) {
|
|
94
|
+
// Template not found, leave reference as-is
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const template = template_result.data;
|
|
98
|
+
visited.add(ref_name);
|
|
99
|
+
// Recursively resolve any references in the fetched template
|
|
100
|
+
const nested_result = await resolve_template_references(template.template_html, variables, hazo_connect, org_id, new Set(visited), depth + 1);
|
|
101
|
+
if (!nested_result.success) {
|
|
102
|
+
return nested_result;
|
|
103
|
+
}
|
|
104
|
+
// Render the fetched template with variables
|
|
105
|
+
const rendered_ref = (0, handlebars_engine_1.render_handlebars_string)(nested_result.rendered_html || template.template_html, variables);
|
|
106
|
+
// Replace the @reference with rendered content
|
|
107
|
+
const ref_pattern = new RegExp(`@${ref_name}\\b`, 'g');
|
|
108
|
+
resolved_content = resolved_content.replace(ref_pattern, rendered_ref);
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
success: true,
|
|
112
|
+
rendered_html: resolved_content,
|
|
113
|
+
message: 'Template references resolved successfully',
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
118
|
+
return {
|
|
119
|
+
success: false,
|
|
120
|
+
error: error_message,
|
|
121
|
+
message: `Failed to resolve template references: ${error_message}`,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Resolve @template references for both HTML and text content
|
|
127
|
+
*
|
|
128
|
+
* @param html_content - HTML template content
|
|
129
|
+
* @param text_content - Text template content
|
|
130
|
+
* @param variables - Variables for rendering
|
|
131
|
+
* @param hazo_connect - Database connection
|
|
132
|
+
* @param org_id - Organization ID
|
|
133
|
+
* @returns Resolved HTML and text content
|
|
134
|
+
*/
|
|
135
|
+
async function resolve_all_template_references(html_content, text_content, variables, hazo_connect, org_id) {
|
|
136
|
+
try {
|
|
137
|
+
// Resolve HTML references
|
|
138
|
+
const html_result = await resolve_template_references(html_content, variables, hazo_connect, org_id);
|
|
139
|
+
if (!html_result.success) {
|
|
140
|
+
return html_result;
|
|
141
|
+
}
|
|
142
|
+
// Resolve text references (fetch text version of templates)
|
|
143
|
+
const text_result = await resolve_text_template_references(text_content, variables, hazo_connect, org_id);
|
|
144
|
+
if (!text_result.success) {
|
|
145
|
+
return text_result;
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
success: true,
|
|
149
|
+
rendered_html: html_result.rendered_html,
|
|
150
|
+
rendered_text: text_result.rendered_text,
|
|
151
|
+
message: 'All template references resolved',
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
156
|
+
return {
|
|
157
|
+
success: false,
|
|
158
|
+
error: error_message,
|
|
159
|
+
message: `Failed to resolve all references: ${error_message}`,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Resolve @template references in text content
|
|
165
|
+
* Uses template_text instead of template_html
|
|
166
|
+
*/
|
|
167
|
+
async function resolve_text_template_references(content, variables, hazo_connect, org_id, visited = new Set(), depth = 0) {
|
|
168
|
+
try {
|
|
169
|
+
if (depth > constants_1.MAX_TEMPLATE_REFERENCE_DEPTH) {
|
|
170
|
+
return {
|
|
171
|
+
success: false,
|
|
172
|
+
error: constants_1.ERROR_MESSAGES.MAX_REFERENCE_DEPTH_EXCEEDED,
|
|
173
|
+
message: constants_1.ERROR_MESSAGES.MAX_REFERENCE_DEPTH_EXCEEDED,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
const references = extract_template_references(content);
|
|
177
|
+
if (references.length === 0) {
|
|
178
|
+
return {
|
|
179
|
+
success: true,
|
|
180
|
+
rendered_text: content,
|
|
181
|
+
message: 'No template references to resolve',
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
let resolved_content = content;
|
|
185
|
+
for (const ref_name of references) {
|
|
186
|
+
if (visited.has(ref_name)) {
|
|
187
|
+
return {
|
|
188
|
+
success: false,
|
|
189
|
+
error: constants_1.ERROR_MESSAGES.CIRCULAR_REFERENCE_DETECTED,
|
|
190
|
+
message: `Circular reference detected: ${ref_name}`,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
const template_result = await (0, template_repository_1.get_template_by_name)(hazo_connect, org_id, ref_name);
|
|
194
|
+
if (!template_result.success || !template_result.data) {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const template = template_result.data;
|
|
198
|
+
visited.add(ref_name);
|
|
199
|
+
// Recursively resolve text template references
|
|
200
|
+
const nested_result = await resolve_text_template_references(template.template_text, variables, hazo_connect, org_id, new Set(visited), depth + 1);
|
|
201
|
+
if (!nested_result.success) {
|
|
202
|
+
return nested_result;
|
|
203
|
+
}
|
|
204
|
+
const rendered_ref = (0, handlebars_engine_1.render_handlebars_string)(nested_result.rendered_text || template.template_text, variables);
|
|
205
|
+
const ref_pattern = new RegExp(`@${ref_name}\\b`, 'g');
|
|
206
|
+
resolved_content = resolved_content.replace(ref_pattern, rendered_ref);
|
|
207
|
+
}
|
|
208
|
+
return {
|
|
209
|
+
success: true,
|
|
210
|
+
rendered_text: resolved_content,
|
|
211
|
+
message: 'Text template references resolved successfully',
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
216
|
+
return {
|
|
217
|
+
success: false,
|
|
218
|
+
error: error_message,
|
|
219
|
+
message: `Failed to resolve text references: ${error_message}`,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=variable_resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable_resolver.js","sourceRoot":"","sources":["../../../src/lib/template_manager/engine/variable_resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Manager Module
|
|
3
|
+
*
|
|
4
|
+
* Email template management with Handlebars rendering and database storage
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { send_template_email, seed_default_templates } from 'hazo_notify/template_manager';
|
|
9
|
+
* import { createHazoConnect } from 'hazo_connect/server';
|
|
10
|
+
*
|
|
11
|
+
* const hazo = createHazoConnect({ type: 'sqlite', sqlite: { database_path: './db.sqlite' } });
|
|
12
|
+
*
|
|
13
|
+
* // Seed default templates on app init
|
|
14
|
+
* await seed_default_templates(hazo, org_id, root_org_id);
|
|
15
|
+
*
|
|
16
|
+
* // Send templated email
|
|
17
|
+
* const result = await send_template_email({
|
|
18
|
+
* template_name: 'welcome_email',
|
|
19
|
+
* variables: { user_name: 'John', login_url: 'https://example.com/login' },
|
|
20
|
+
* to: 'john@example.com',
|
|
21
|
+
* subject: 'Welcome!'
|
|
22
|
+
* }, hazo, org_id);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export { send_template_email, render_template, preview_template, validate_template_variables, } from './template_manager';
|
|
26
|
+
export { load_template_config, get_template_variables, get_all_variable_names, clear_config_cache, } from './config/config_loader';
|
|
27
|
+
export { list_categories, get_category, create_category, update_category, delete_category, find_category_by_name, list_templates, list_templates_by_category, get_template, get_template_by_name, create_template, update_template, delete_template, seed_default_templates, } from './db';
|
|
28
|
+
export { render_handlebars, render_handlebars_string, clear_template_cache, invalidate_template_cache, resolve_variables, extract_template_references, resolve_template_references, } from './engine';
|
|
29
|
+
export { get_system_variables, resolve_system_variables, get_system_variable_definitions, validate_template_name, validate_category_name, validate_variable_name, extract_variables_from_content, validate_provided_variables, } from './utils';
|
|
30
|
+
export { TABLE_TEMPLATE_CATEGORY, TABLE_TEMPLATES, DEFAULT_TEMPLATE_NAMES, DEFAULT_CATEGORY_NAMES, MAX_TEMPLATE_NAME_LENGTH, MAX_CATEGORY_NAME_LENGTH, VARIABLE_PATTERN, TEMPLATE_REFERENCE_PATTERN, ERROR_MESSAGES, } from './config/constants';
|
|
31
|
+
export type { TemplateVariableDefinition, TemplateTypeDefinition, SystemVariable, TemplateManagerConfig, EmailType, TemplateCategory, TemplateCategoryInput, TemplateCategoryUpdate, EmailTemplate, EmailTemplateInput, EmailTemplateUpdate, HazoConnectInstance, HazoConnectQueryBuilder, TemplateRenderResult, TemplateOperationResponse, TemplateEmailAttachment, SendTemplateEmailOptions, SendTemplateEmailResponse, CategoryTreeItem, VariableItem, TemplateReferenceItem, DefaultTemplateManifestEntry, DefaultTemplateManifest, Logger, } from './types';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/template_manager/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAEL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,qBAAqB,EAErB,cAAc,EACd,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,EACf,sBAAsB,GACvB,MAAM,MAAM,CAAC;AAGd,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,EAC/B,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAEV,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EAErB,SAAS,EACT,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EAEnB,mBAAmB,EACnB,uBAAuB,EAEvB,oBAAoB,EACpB,yBAAyB,EAEzB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EAEzB,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EAErB,4BAA4B,EAC5B,uBAAuB,EAEvB,MAAM,GACP,MAAM,SAAS,CAAC"}
|