hazo_notify 1.1.4 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/README.md +163 -41
  2. package/dist/components/template_manager/category_dialog.d.ts +11 -0
  3. package/dist/components/template_manager/category_dialog.d.ts.map +1 -0
  4. package/dist/components/template_manager/category_dialog.js +41 -0
  5. package/dist/components/template_manager/category_dialog.js.map +1 -0
  6. package/dist/components/template_manager/category_tree.d.ts +13 -0
  7. package/dist/components/template_manager/category_tree.d.ts.map +1 -0
  8. package/dist/components/template_manager/category_tree.js +45 -0
  9. package/dist/components/template_manager/category_tree.js.map +1 -0
  10. package/dist/components/template_manager/index.d.ts +10 -0
  11. package/dist/components/template_manager/index.d.ts.map +1 -0
  12. package/dist/components/template_manager/index.js +8 -0
  13. package/dist/components/template_manager/index.js.map +1 -0
  14. package/dist/components/template_manager/preview_dialog.d.ts +11 -0
  15. package/dist/components/template_manager/preview_dialog.d.ts.map +1 -0
  16. package/dist/components/template_manager/preview_dialog.js +15 -0
  17. package/dist/components/template_manager/preview_dialog.js.map +1 -0
  18. package/dist/components/template_manager/template_dialog.d.ts +12 -0
  19. package/dist/components/template_manager/template_dialog.d.ts.map +1 -0
  20. package/dist/components/template_manager/template_dialog.js +46 -0
  21. package/dist/components/template_manager/template_dialog.js.map +1 -0
  22. package/dist/components/template_manager/template_editor.d.ts +12 -0
  23. package/dist/components/template_manager/template_editor.d.ts.map +1 -0
  24. package/dist/components/template_manager/template_editor.js +57 -0
  25. package/dist/components/template_manager/template_editor.js.map +1 -0
  26. package/dist/components/template_manager/template_globals_admin.d.ts +8 -0
  27. package/dist/components/template_manager/template_globals_admin.d.ts.map +1 -0
  28. package/dist/components/template_manager/template_globals_admin.js +27 -0
  29. package/dist/components/template_manager/template_globals_admin.js.map +1 -0
  30. package/dist/components/template_manager/template_manager_admin.d.ts +44 -0
  31. package/dist/components/template_manager/template_manager_admin.d.ts.map +1 -0
  32. package/dist/components/template_manager/template_manager_admin.js +272 -0
  33. package/dist/components/template_manager/template_manager_admin.js.map +1 -0
  34. package/dist/lib/emailer/emailer.d.ts.map +1 -0
  35. package/dist/lib/emailer/emailer.js.map +1 -0
  36. package/dist/lib/emailer/index.d.ts.map +1 -0
  37. package/dist/lib/emailer/index.js.map +1 -0
  38. package/dist/lib/emailer/providers/index.d.ts.map +1 -0
  39. package/dist/lib/emailer/providers/index.js.map +1 -0
  40. package/dist/lib/emailer/providers/pop3_provider.d.ts.map +1 -0
  41. package/dist/lib/emailer/providers/pop3_provider.js.map +1 -0
  42. package/dist/lib/emailer/providers/smtp_provider.d.ts.map +1 -0
  43. package/dist/lib/emailer/providers/smtp_provider.js.map +1 -0
  44. package/dist/lib/emailer/providers/zeptomail_provider.d.ts.map +1 -0
  45. package/dist/{emailer → lib/emailer}/providers/zeptomail_provider.js +9 -6
  46. package/dist/lib/emailer/providers/zeptomail_provider.js.map +1 -0
  47. package/dist/lib/emailer/types.d.ts.map +1 -0
  48. package/dist/lib/emailer/types.js.map +1 -0
  49. package/dist/lib/emailer/utils/constants.d.ts.map +1 -0
  50. package/dist/lib/emailer/utils/constants.js.map +1 -0
  51. package/dist/lib/emailer/utils/index.d.ts.map +1 -0
  52. package/dist/lib/emailer/utils/index.js.map +1 -0
  53. package/dist/lib/emailer/utils/logger.d.ts.map +1 -0
  54. package/dist/lib/emailer/utils/logger.js.map +1 -0
  55. package/dist/lib/emailer/utils/validation.d.ts.map +1 -0
  56. package/dist/lib/emailer/utils/validation.js.map +1 -0
  57. package/dist/lib/index.d.ts.map +1 -0
  58. package/dist/lib/index.js.map +1 -0
  59. package/dist/lib/template_manager/cache/scope_chain_cache.d.ts +26 -0
  60. package/dist/lib/template_manager/cache/scope_chain_cache.d.ts.map +1 -0
  61. package/dist/lib/template_manager/cache/scope_chain_cache.js +60 -0
  62. package/dist/lib/template_manager/cache/scope_chain_cache.js.map +1 -0
  63. package/dist/{template_manager → lib/template_manager}/config/config_loader.d.ts +16 -15
  64. package/dist/lib/template_manager/config/config_loader.d.ts.map +1 -0
  65. package/dist/lib/template_manager/config/config_loader.js +98 -0
  66. package/dist/lib/template_manager/config/config_loader.js.map +1 -0
  67. package/dist/{template_manager → lib/template_manager}/config/constants.d.ts +4 -54
  68. package/dist/lib/template_manager/config/constants.d.ts.map +1 -0
  69. package/dist/{template_manager → lib/template_manager}/config/constants.js +4 -84
  70. package/dist/lib/template_manager/config/constants.js.map +1 -0
  71. package/dist/lib/template_manager/config/index.d.ts.map +1 -0
  72. package/dist/lib/template_manager/config/index.js.map +1 -0
  73. package/dist/{template_manager → lib/template_manager}/db/category_repository.d.ts +22 -14
  74. package/dist/lib/template_manager/db/category_repository.d.ts.map +1 -0
  75. package/dist/{template_manager → lib/template_manager}/db/category_repository.js +127 -83
  76. package/dist/lib/template_manager/db/category_repository.js.map +1 -0
  77. package/dist/lib/template_manager/db/index.d.ts +6 -0
  78. package/dist/lib/template_manager/db/index.d.ts.map +1 -0
  79. package/dist/lib/template_manager/db/index.js +6 -0
  80. package/dist/lib/template_manager/db/index.js.map +1 -0
  81. package/dist/{template_manager → lib/template_manager}/db/template_repository.d.ts +25 -28
  82. package/dist/lib/template_manager/db/template_repository.d.ts.map +1 -0
  83. package/dist/lib/template_manager/db/template_repository.js +507 -0
  84. package/dist/lib/template_manager/db/template_repository.js.map +1 -0
  85. package/dist/lib/template_manager/engine/handlebars_engine.d.ts.map +1 -0
  86. package/dist/lib/template_manager/engine/handlebars_engine.js.map +1 -0
  87. package/dist/lib/template_manager/engine/index.d.ts.map +1 -0
  88. package/dist/lib/template_manager/engine/index.js.map +1 -0
  89. package/dist/{template_manager → lib/template_manager}/engine/variable_resolver.d.ts +13 -14
  90. package/dist/lib/template_manager/engine/variable_resolver.d.ts.map +1 -0
  91. package/dist/{template_manager → lib/template_manager}/engine/variable_resolver.js +25 -33
  92. package/dist/lib/template_manager/engine/variable_resolver.js.map +1 -0
  93. package/dist/lib/template_manager/handlers/adapters/hazo_auth.d.ts +20 -0
  94. package/dist/lib/template_manager/handlers/adapters/hazo_auth.d.ts.map +1 -0
  95. package/dist/lib/template_manager/handlers/adapters/hazo_auth.js +46 -0
  96. package/dist/lib/template_manager/handlers/adapters/hazo_auth.js.map +1 -0
  97. package/dist/lib/template_manager/handlers/auth.d.ts +47 -0
  98. package/dist/lib/template_manager/handlers/auth.d.ts.map +1 -0
  99. package/dist/lib/template_manager/handlers/auth.js +67 -0
  100. package/dist/lib/template_manager/handlers/auth.js.map +1 -0
  101. package/dist/lib/template_manager/handlers/index.d.ts +67 -0
  102. package/dist/lib/template_manager/handlers/index.d.ts.map +1 -0
  103. package/dist/lib/template_manager/handlers/index.js +284 -0
  104. package/dist/lib/template_manager/handlers/index.js.map +1 -0
  105. package/dist/lib/template_manager/index.d.ts +56 -0
  106. package/dist/lib/template_manager/index.d.ts.map +1 -0
  107. package/dist/lib/template_manager/index.js +68 -0
  108. package/dist/lib/template_manager/index.js.map +1 -0
  109. package/dist/lib/template_manager/init.d.ts +54 -0
  110. package/dist/lib/template_manager/init.d.ts.map +1 -0
  111. package/dist/lib/template_manager/init.js +85 -0
  112. package/dist/lib/template_manager/init.js.map +1 -0
  113. package/dist/lib/template_manager/registry.d.ts +23 -0
  114. package/dist/lib/template_manager/registry.d.ts.map +1 -0
  115. package/dist/lib/template_manager/registry.js +33 -0
  116. package/dist/lib/template_manager/registry.js.map +1 -0
  117. package/dist/lib/template_manager/seed/sync.d.ts +8 -0
  118. package/dist/lib/template_manager/seed/sync.d.ts.map +1 -0
  119. package/dist/lib/template_manager/seed/sync.js +77 -0
  120. package/dist/lib/template_manager/seed/sync.js.map +1 -0
  121. package/dist/{template_manager → lib/template_manager}/template_manager.d.ts +25 -27
  122. package/dist/lib/template_manager/template_manager.d.ts.map +1 -0
  123. package/dist/{template_manager → lib/template_manager}/template_manager.js +41 -55
  124. package/dist/lib/template_manager/template_manager.js.map +1 -0
  125. package/dist/{template_manager → lib/template_manager}/types.d.ts +32 -125
  126. package/dist/lib/template_manager/types.d.ts.map +1 -0
  127. package/dist/lib/template_manager/types.js +12 -0
  128. package/dist/lib/template_manager/types.js.map +1 -0
  129. package/dist/lib/template_manager/utils/index.d.ts.map +1 -0
  130. package/dist/lib/template_manager/utils/index.js.map +1 -0
  131. package/dist/lib/template_manager/utils/system_variables.d.ts.map +1 -0
  132. package/dist/lib/template_manager/utils/system_variables.js.map +1 -0
  133. package/dist/lib/template_manager/utils/validation.d.ts.map +1 -0
  134. package/dist/lib/template_manager/utils/validation.js.map +1 -0
  135. package/dist/lib/utils.d.ts +3 -0
  136. package/dist/lib/utils.d.ts.map +1 -0
  137. package/dist/lib/utils.js +6 -0
  138. package/dist/lib/utils.js.map +1 -0
  139. package/migrations/002_scope_migration.sql +93 -0
  140. package/package.json +65 -37
  141. package/dist/emailer/emailer.d.ts.map +0 -1
  142. package/dist/emailer/emailer.js.map +0 -1
  143. package/dist/emailer/index.d.ts.map +0 -1
  144. package/dist/emailer/index.js.map +0 -1
  145. package/dist/emailer/providers/index.d.ts.map +0 -1
  146. package/dist/emailer/providers/index.js.map +0 -1
  147. package/dist/emailer/providers/pop3_provider.d.ts.map +0 -1
  148. package/dist/emailer/providers/pop3_provider.js.map +0 -1
  149. package/dist/emailer/providers/smtp_provider.d.ts.map +0 -1
  150. package/dist/emailer/providers/smtp_provider.js.map +0 -1
  151. package/dist/emailer/providers/zeptomail_provider.d.ts.map +0 -1
  152. package/dist/emailer/providers/zeptomail_provider.js.map +0 -1
  153. package/dist/emailer/types.d.ts.map +0 -1
  154. package/dist/emailer/types.js.map +0 -1
  155. package/dist/emailer/utils/constants.d.ts.map +0 -1
  156. package/dist/emailer/utils/constants.js.map +0 -1
  157. package/dist/emailer/utils/index.d.ts.map +0 -1
  158. package/dist/emailer/utils/index.js.map +0 -1
  159. package/dist/emailer/utils/logger.d.ts.map +0 -1
  160. package/dist/emailer/utils/logger.js.map +0 -1
  161. package/dist/emailer/utils/validation.d.ts.map +0 -1
  162. package/dist/emailer/utils/validation.js.map +0 -1
  163. package/dist/index.d.ts.map +0 -1
  164. package/dist/index.js.map +0 -1
  165. package/dist/template_manager/config/config_loader.d.ts.map +0 -1
  166. package/dist/template_manager/config/config_loader.js +0 -154
  167. package/dist/template_manager/config/config_loader.js.map +0 -1
  168. package/dist/template_manager/config/constants.d.ts.map +0 -1
  169. package/dist/template_manager/config/constants.js.map +0 -1
  170. package/dist/template_manager/config/index.d.ts.map +0 -1
  171. package/dist/template_manager/config/index.js.map +0 -1
  172. package/dist/template_manager/db/category_repository.d.ts.map +0 -1
  173. package/dist/template_manager/db/category_repository.js.map +0 -1
  174. package/dist/template_manager/db/index.d.ts +0 -6
  175. package/dist/template_manager/db/index.d.ts.map +0 -1
  176. package/dist/template_manager/db/index.js +0 -6
  177. package/dist/template_manager/db/index.js.map +0 -1
  178. package/dist/template_manager/db/template_repository.d.ts.map +0 -1
  179. package/dist/template_manager/db/template_repository.js +0 -674
  180. package/dist/template_manager/db/template_repository.js.map +0 -1
  181. package/dist/template_manager/engine/handlebars_engine.d.ts.map +0 -1
  182. package/dist/template_manager/engine/handlebars_engine.js.map +0 -1
  183. package/dist/template_manager/engine/index.d.ts.map +0 -1
  184. package/dist/template_manager/engine/index.js.map +0 -1
  185. package/dist/template_manager/engine/variable_resolver.d.ts.map +0 -1
  186. package/dist/template_manager/engine/variable_resolver.js.map +0 -1
  187. package/dist/template_manager/index.d.ts +0 -32
  188. package/dist/template_manager/index.d.ts.map +0 -1
  189. package/dist/template_manager/index.js +0 -41
  190. package/dist/template_manager/index.js.map +0 -1
  191. package/dist/template_manager/template_manager.d.ts.map +0 -1
  192. package/dist/template_manager/template_manager.js.map +0 -1
  193. package/dist/template_manager/types.d.ts.map +0 -1
  194. package/dist/template_manager/types.js +0 -11
  195. package/dist/template_manager/types.js.map +0 -1
  196. package/dist/template_manager/utils/index.d.ts.map +0 -1
  197. package/dist/template_manager/utils/index.js.map +0 -1
  198. package/dist/template_manager/utils/system_variables.d.ts.map +0 -1
  199. package/dist/template_manager/utils/system_variables.js.map +0 -1
  200. package/dist/template_manager/utils/validation.d.ts.map +0 -1
  201. package/dist/template_manager/utils/validation.js.map +0 -1
  202. /package/dist/{emailer → lib/emailer}/emailer.d.ts +0 -0
  203. /package/dist/{emailer → lib/emailer}/emailer.js +0 -0
  204. /package/dist/{emailer → lib/emailer}/index.d.ts +0 -0
  205. /package/dist/{emailer → lib/emailer}/index.js +0 -0
  206. /package/dist/{emailer → lib/emailer}/providers/index.d.ts +0 -0
  207. /package/dist/{emailer → lib/emailer}/providers/index.js +0 -0
  208. /package/dist/{emailer → lib/emailer}/providers/pop3_provider.d.ts +0 -0
  209. /package/dist/{emailer → lib/emailer}/providers/pop3_provider.js +0 -0
  210. /package/dist/{emailer → lib/emailer}/providers/smtp_provider.d.ts +0 -0
  211. /package/dist/{emailer → lib/emailer}/providers/smtp_provider.js +0 -0
  212. /package/dist/{emailer → lib/emailer}/providers/zeptomail_provider.d.ts +0 -0
  213. /package/dist/{emailer → lib/emailer}/types.d.ts +0 -0
  214. /package/dist/{emailer → lib/emailer}/types.js +0 -0
  215. /package/dist/{emailer → lib/emailer}/utils/constants.d.ts +0 -0
  216. /package/dist/{emailer → lib/emailer}/utils/constants.js +0 -0
  217. /package/dist/{emailer → lib/emailer}/utils/index.d.ts +0 -0
  218. /package/dist/{emailer → lib/emailer}/utils/index.js +0 -0
  219. /package/dist/{emailer → lib/emailer}/utils/logger.d.ts +0 -0
  220. /package/dist/{emailer → lib/emailer}/utils/logger.js +0 -0
  221. /package/dist/{emailer → lib/emailer}/utils/validation.d.ts +0 -0
  222. /package/dist/{emailer → lib/emailer}/utils/validation.js +0 -0
  223. /package/dist/{index.d.ts → lib/index.d.ts} +0 -0
  224. /package/dist/{index.js → lib/index.js} +0 -0
  225. /package/dist/{template_manager → lib/template_manager}/config/index.d.ts +0 -0
  226. /package/dist/{template_manager → lib/template_manager}/config/index.js +0 -0
  227. /package/dist/{template_manager → lib/template_manager}/engine/handlebars_engine.d.ts +0 -0
  228. /package/dist/{template_manager → lib/template_manager}/engine/handlebars_engine.js +0 -0
  229. /package/dist/{template_manager → lib/template_manager}/engine/index.d.ts +0 -0
  230. /package/dist/{template_manager → lib/template_manager}/engine/index.js +0 -0
  231. /package/dist/{template_manager → lib/template_manager}/utils/index.d.ts +0 -0
  232. /package/dist/{template_manager → lib/template_manager}/utils/index.js +0 -0
  233. /package/dist/{template_manager → lib/template_manager}/utils/system_variables.d.ts +0 -0
  234. /package/dist/{template_manager → lib/template_manager}/utils/system_variables.js +0 -0
  235. /package/dist/{template_manager → lib/template_manager}/utils/validation.d.ts +0 -0
  236. /package/dist/{template_manager → lib/template_manager}/utils/validation.js +0 -0
@@ -1,117 +1,87 @@
1
1
  /**
2
- * Type definitions for the template manager service
2
+ * Type definitions for the template manager service (v2.0.0)
3
3
  *
4
- * This module provides TypeScript interfaces for:
5
- * - Template configuration and variable definitions
6
- * - Database entity types (categories and templates)
7
- * - hazo_connect integration
8
- * - Service request/response types
4
+ * Key changes from v1:
5
+ * - org_id/root_org_id replaced with scope_id (null = global)
6
+ * - email_type enum removed (use scope_id IS NULL discriminator instead)
7
+ * - is_modified added to EmailTemplate (tracks super-admin edits to globals)
8
+ * - template_variables retyped to TemplateVariableDefinition[]
9
+ * - SystemTemplateManifest added (inline content, no file paths)
9
10
  */
10
11
  import type { Logger } from '../emailer/types.js';
11
- /**
12
- * Definition of a template variable
13
- */
14
12
  export interface TemplateVariableDefinition {
15
13
  variable_name: string;
16
14
  variable_description: string;
17
15
  default_value?: string;
18
16
  }
19
- /**
20
- * Definition of a template type with its associated variables
21
- * Loaded from config: email_template_variable_types
22
- */
23
17
  export interface TemplateTypeDefinition {
24
18
  template_name: string;
25
19
  template_label: string;
26
20
  variables: TemplateVariableDefinition[];
27
21
  }
28
- /**
29
- * System variable that is auto-generated (e.g., date formats)
30
- */
31
22
  export interface SystemVariable {
32
23
  variable_name: string;
33
24
  variable_description: string;
34
25
  resolver: () => string;
35
26
  }
36
- /**
37
- * Configuration for the template manager
38
- */
39
27
  export interface TemplateManagerConfig {
40
- email_template_variable_types: TemplateTypeDefinition[];
41
- system_email_template_variables: SystemVariable[];
28
+ scope_chain_cache_ttl_seconds?: number;
29
+ cors_allowed_origins?: string[];
42
30
  }
43
31
  /**
44
- * Email type enum: system templates cannot be deleted
45
- */
46
- export type EmailType = 'system' | 'user';
47
- /**
48
- * Template category entity from hazo_notify_template_cat table
32
+ * Manifest entry for a system template shipped by a consuming package.
33
+ * Consumers read file content at boot; hazo_notify never does file I/O.
49
34
  */
35
+ export interface SystemTemplateManifest {
36
+ template_name: string;
37
+ template_label: string;
38
+ category: string;
39
+ html: string;
40
+ text: string;
41
+ variables: TemplateVariableDefinition[];
42
+ }
50
43
  export interface TemplateCategory {
51
44
  id: string;
52
- org_id: string;
53
- root_org_id: string;
45
+ scope_id: string | null;
54
46
  template_category_name: string;
55
47
  created_at: string;
56
48
  changed_at: string | null;
57
49
  }
58
- /**
59
- * Input for creating a new template category
60
- */
61
50
  export interface TemplateCategoryInput {
62
- org_id: string;
63
- root_org_id: string;
51
+ scope_id: string | null;
64
52
  template_category_name: string;
65
53
  }
66
- /**
67
- * Input for updating an existing template category
68
- */
69
54
  export interface TemplateCategoryUpdate {
70
55
  template_category_name?: string;
71
56
  }
72
- /**
73
- * Email template entity from hazo_notify_templates table
74
- */
75
57
  export interface EmailTemplate {
76
58
  id: string;
77
- org_id: string;
78
- root_org_id: string;
59
+ scope_id: string | null;
79
60
  template_category_id: string;
80
- template_variables: Record<string, unknown>;
61
+ template_variables: TemplateVariableDefinition[];
81
62
  template_name: string;
82
63
  template_html: string;
83
64
  template_text: string;
84
- email_type: EmailType;
65
+ is_modified: boolean;
85
66
  created_at: string;
86
67
  changed_at: string | null;
87
68
  }
88
- /**
89
- * Input for creating a new email template
90
- */
91
69
  export interface EmailTemplateInput {
92
- org_id: string;
93
- root_org_id: string;
70
+ scope_id: string | null;
94
71
  template_category_id: string;
95
- template_variables?: Record<string, unknown>;
72
+ template_variables?: TemplateVariableDefinition[];
96
73
  template_name: string;
97
74
  template_html: string;
98
75
  template_text: string;
99
- email_type?: EmailType;
100
76
  }
101
- /**
102
- * Input for updating an existing email template
103
- */
104
77
  export interface EmailTemplateUpdate {
105
78
  template_category_id?: string;
106
- template_variables?: Record<string, unknown>;
79
+ template_variables?: TemplateVariableDefinition[];
107
80
  template_name?: string;
108
81
  template_html?: string;
109
82
  template_text?: string;
83
+ is_modified?: boolean;
110
84
  }
111
- /**
112
- * Query builder interface for hazo_connect
113
- * Supports fluent chaining pattern
114
- */
115
85
  export interface HazoConnectQueryBuilder {
116
86
  from(table: string): this;
117
87
  select(columns: string | string[]): this;
@@ -121,29 +91,17 @@ export interface HazoConnectQueryBuilder {
121
91
  limit(n: number): this;
122
92
  offset(n: number): this;
123
93
  }
124
- /**
125
- * hazo_connect instance interface
126
- * Consuming apps pass this to template manager functions
127
- */
128
94
  export interface HazoConnectInstance {
129
- /** Execute query and return list of results */
130
95
  list<T>(query: HazoConnectQueryBuilder): Promise<T[]>;
131
- /** Find a single record by ID */
132
96
  findById<T>(table: string, id: string): Promise<T | null>;
133
- /** Find records matching criteria */
134
97
  findBy<T>(table: string, criteria: Record<string, unknown>): Promise<T[]>;
135
- /** Insert a new record */
136
98
  insert<T>(table: string, data: Partial<T>): Promise<T>;
137
- /** Update a record by ID */
138
99
  updateById<T>(table: string, id: string, patch: Partial<T>): Promise<T>;
139
- /** Delete a record by ID */
140
100
  deleteById(table: string, id: string): Promise<boolean>;
141
- /** Create a new query builder */
142
101
  query(): HazoConnectQueryBuilder;
102
+ /** Execute raw SQL with positional parameters */
103
+ raw?<T>(sql: string, params?: unknown[]): Promise<T[]>;
143
104
  }
144
- /**
145
- * Result of rendering a template
146
- */
147
105
  export interface TemplateRenderResult {
148
106
  success: boolean;
149
107
  rendered_html?: string;
@@ -151,105 +109,54 @@ export interface TemplateRenderResult {
151
109
  error?: string;
152
110
  message?: string;
153
111
  }
154
- /**
155
- * Generic response for template operations
156
- */
157
112
  export interface TemplateOperationResponse<T = unknown> {
158
113
  success: boolean;
159
114
  data?: T;
160
115
  error?: string;
161
116
  message?: string;
162
117
  }
163
- /**
164
- * Attachment for template email
165
- */
166
118
  export interface TemplateEmailAttachment {
167
119
  filename: string;
168
120
  content: string;
169
121
  mime_type: string;
170
122
  }
171
- /**
172
- * Options for sending a templated email
173
- */
174
123
  export interface SendTemplateEmailOptions {
175
- /** Name of template to use (must match a template_name in DB) */
176
124
  template_name: string;
177
- /** Variables to substitute in the template */
178
125
  variables: Record<string, string>;
179
- /** Recipient email address(es) */
180
126
  to: string | string[];
181
- /** Subject line (overrides template subject if provided) */
127
+ scope_id: string | null;
182
128
  subject?: string;
183
- /** Sender email address (overrides config default) */
184
129
  from?: string;
185
- /** Sender name (overrides config default) */
186
130
  from_name?: string;
187
- /** Reply-to email address */
188
131
  reply_to?: string;
189
- /** CC recipients */
190
132
  cc?: string | string[];
191
- /** BCC recipients */
192
133
  bcc?: string | string[];
193
- /** File attachments */
194
134
  attachments?: TemplateEmailAttachment[];
195
- /** Optional logger instance (compatible with hazo_logs) */
196
135
  logger?: Logger;
197
136
  }
198
- /**
199
- * Response from send_template_email
200
- */
201
137
  export interface SendTemplateEmailResponse {
202
138
  success: boolean;
203
139
  message_id?: string;
204
140
  message?: string;
205
- /** Rendered HTML content (for debugging) */
206
141
  rendered_html?: string;
207
- /** Rendered text content (for debugging) */
208
142
  rendered_text?: string;
209
143
  raw_response?: Record<string, unknown> | string;
210
144
  error?: string;
211
145
  }
212
- /**
213
- * Category with its templates for UI tree display
214
- */
215
146
  export interface CategoryTreeItem {
216
147
  category: TemplateCategory;
217
148
  templates: EmailTemplate[];
218
149
  expanded: boolean;
219
150
  }
220
- /**
221
- * Variable item for dropdown display
222
- */
223
151
  export interface VariableItem {
224
152
  name: string;
225
153
  description: string;
226
- type: 'user' | 'system';
154
+ type: 'registry' | 'db' | 'extracted';
227
155
  }
228
- /**
229
- * Template reference item for dropdown display
230
- */
231
156
  export interface TemplateReferenceItem {
232
157
  category_name: string;
233
158
  template_name: string;
234
159
  template_id: string;
235
160
  }
236
- /**
237
- * Manifest entry for a default template shipped with the package
238
- */
239
- export interface DefaultTemplateManifestEntry {
240
- template_name: string;
241
- template_label: string;
242
- category: string;
243
- html_file: string;
244
- text_file: string;
245
- variables: TemplateVariableDefinition[];
246
- }
247
- /**
248
- * Manifest file structure for default templates
249
- */
250
- export interface DefaultTemplateManifest {
251
- version: string;
252
- templates: DefaultTemplateManifestEntry[];
253
- }
254
161
  export type { Logger };
255
162
  //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/template_manager/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Type definitions for the template manager service (v2.0.0)
3
+ *
4
+ * Key changes from v1:
5
+ * - org_id/root_org_id replaced with scope_id (null = global)
6
+ * - email_type enum removed (use scope_id IS NULL discriminator instead)
7
+ * - is_modified added to EmailTemplate (tracks super-admin edits to globals)
8
+ * - template_variables retyped to TemplateVariableDefinition[]
9
+ * - SystemTemplateManifest added (inline content, no file paths)
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/template_manager/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system_variables.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/system_variables.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgElD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,EAAE,CAkHvD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASjE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,KAAK,CAAC;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC,CAKD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system_variables.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/system_variables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAiB5D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgB5D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM5D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAexE;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,qBAAqB,EAAE,MAAM,EAAE,GAC9B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAWvC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY3D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD"}
@@ -0,0 +1,6 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,93 @@
1
+ -- hazo_notify v2.0.0 scope migration
2
+ -- Replaces org_id/root_org_id model with scope_id for hierarchical template lookup.
3
+ -- NULL scope_id = global system default; non-null = scope-specific override.
4
+ --
5
+ -- IMPORTANT: This migration TRUNCATES both tables.
6
+ -- Confirmed no production data exists before running this migration.
7
+ --
8
+ -- Run PostgreSQL version (active) on your database.
9
+ -- Run SQLite version (commented) for local SQLite instances.
10
+
11
+ -- ============================================================
12
+ -- PostgreSQL version (active)
13
+ -- ============================================================
14
+
15
+ -- 1. Wipe existing data (no prod data per confirmed pre-flight check)
16
+ DELETE FROM hazo_notify_templates;
17
+ DELETE FROM hazo_notify_template_cat;
18
+
19
+ -- 2. Drop old indexes
20
+ DROP INDEX IF EXISTS idx_notify_template_cat_org;
21
+ DROP INDEX IF EXISTS idx_notify_templates_org;
22
+ DROP INDEX IF EXISTS idx_notify_templates_name;
23
+ DROP INDEX IF EXISTS idx_notify_templates_category;
24
+
25
+ -- 3. Drop old columns
26
+ ALTER TABLE hazo_notify_template_cat DROP COLUMN IF EXISTS org_id;
27
+ ALTER TABLE hazo_notify_template_cat DROP COLUMN IF EXISTS root_org_id;
28
+ ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS org_id;
29
+ ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS root_org_id;
30
+ ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS email_type;
31
+
32
+ -- 4. Add new columns
33
+ ALTER TABLE hazo_notify_template_cat ADD COLUMN scope_id UUID NULL;
34
+ ALTER TABLE hazo_notify_templates ADD COLUMN scope_id UUID NULL;
35
+ ALTER TABLE hazo_notify_templates ADD COLUMN is_modified BOOLEAN NOT NULL DEFAULT false;
36
+
37
+ -- 5. New lookup indexes
38
+ CREATE INDEX idx_notify_template_cat_scope ON hazo_notify_template_cat (scope_id);
39
+ CREATE INDEX idx_notify_templates_scope ON hazo_notify_templates (scope_id);
40
+ CREATE INDEX idx_notify_templates_lookup ON hazo_notify_templates (template_name, scope_id);
41
+
42
+ -- 6. Partial unique indexes (cross-DB friendly)
43
+ CREATE UNIQUE INDEX uq_notify_templates_scoped
44
+ ON hazo_notify_templates (template_name, scope_id) WHERE scope_id IS NOT NULL;
45
+ CREATE UNIQUE INDEX uq_notify_templates_global
46
+ ON hazo_notify_templates (template_name) WHERE scope_id IS NULL;
47
+ CREATE UNIQUE INDEX uq_notify_template_cat_scoped
48
+ ON hazo_notify_template_cat (template_category_name, scope_id) WHERE scope_id IS NOT NULL;
49
+ CREATE UNIQUE INDEX uq_notify_template_cat_global
50
+ ON hazo_notify_template_cat (template_category_name) WHERE scope_id IS NULL;
51
+
52
+ -- 7. Explicit FK with RESTRICT on delete
53
+ ALTER TABLE hazo_notify_templates
54
+ DROP CONSTRAINT IF EXISTS hazo_notify_templates_template_category_id_fkey,
55
+ ADD CONSTRAINT hazo_notify_templates_template_category_id_fkey
56
+ FOREIGN KEY (template_category_id) REFERENCES hazo_notify_template_cat(id)
57
+ ON DELETE RESTRICT;
58
+
59
+ -- ============================================================
60
+ -- SQLite version (commented)
61
+ -- SQLite 3.35+ supports ALTER TABLE DROP COLUMN natively.
62
+ -- ============================================================
63
+ --
64
+ -- DELETE FROM hazo_notify_templates;
65
+ -- DELETE FROM hazo_notify_template_cat;
66
+ --
67
+ -- DROP INDEX IF EXISTS idx_notify_template_cat_org;
68
+ -- DROP INDEX IF EXISTS idx_notify_templates_org;
69
+ -- DROP INDEX IF EXISTS idx_notify_templates_name;
70
+ -- DROP INDEX IF EXISTS idx_notify_templates_category;
71
+ --
72
+ -- ALTER TABLE hazo_notify_template_cat DROP COLUMN IF EXISTS org_id;
73
+ -- ALTER TABLE hazo_notify_template_cat DROP COLUMN IF EXISTS root_org_id;
74
+ -- ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS org_id;
75
+ -- ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS root_org_id;
76
+ -- ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS email_type;
77
+ --
78
+ -- ALTER TABLE hazo_notify_template_cat ADD COLUMN scope_id TEXT NULL;
79
+ -- ALTER TABLE hazo_notify_templates ADD COLUMN scope_id TEXT NULL;
80
+ -- ALTER TABLE hazo_notify_templates ADD COLUMN is_modified INTEGER NOT NULL DEFAULT 0;
81
+ --
82
+ -- CREATE INDEX idx_notify_template_cat_scope ON hazo_notify_template_cat (scope_id);
83
+ -- CREATE INDEX idx_notify_templates_scope ON hazo_notify_templates (scope_id);
84
+ -- CREATE INDEX idx_notify_templates_lookup ON hazo_notify_templates (template_name, scope_id);
85
+ --
86
+ -- CREATE UNIQUE INDEX uq_notify_templates_scoped
87
+ -- ON hazo_notify_templates (template_name, scope_id) WHERE scope_id IS NOT NULL;
88
+ -- CREATE UNIQUE INDEX uq_notify_templates_global
89
+ -- ON hazo_notify_templates (template_name) WHERE scope_id IS NULL;
90
+ -- CREATE UNIQUE INDEX uq_notify_template_cat_scoped
91
+ -- ON hazo_notify_template_cat (template_category_name, scope_id) WHERE scope_id IS NOT NULL;
92
+ -- CREATE UNIQUE INDEX uq_notify_template_cat_global
93
+ -- ON hazo_notify_template_cat (template_category_name) WHERE scope_id IS NULL;
package/package.json CHANGED
@@ -1,22 +1,34 @@
1
1
  {
2
2
  "name": "hazo_notify",
3
- "version": "1.1.4",
3
+ "version": "3.1.0",
4
4
  "type": "module",
5
- "description": "Email that acts as a notification center as well for schedules too",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
5
+ "description": "Email notification system with scope-aware template management",
6
+ "main": "./dist/lib/index.js",
7
+ "types": "./dist/lib/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist/index.d.ts",
11
- "default": "./dist/index.js"
10
+ "types": "./dist/lib/index.d.ts",
11
+ "default": "./dist/lib/index.js"
12
12
  },
13
13
  "./emailer": {
14
- "types": "./dist/emailer/index.d.ts",
15
- "default": "./dist/emailer/index.js"
14
+ "types": "./dist/lib/emailer/index.d.ts",
15
+ "default": "./dist/lib/emailer/index.js"
16
16
  },
17
17
  "./template_manager": {
18
- "types": "./dist/template_manager/index.d.ts",
19
- "default": "./dist/template_manager/index.js"
18
+ "types": "./dist/lib/template_manager/index.d.ts",
19
+ "default": "./dist/lib/template_manager/index.js"
20
+ },
21
+ "./template_manager_admin": {
22
+ "types": "./dist/components/template_manager/index.d.ts",
23
+ "default": "./dist/components/template_manager/index.js"
24
+ },
25
+ "./template_manager_handlers": {
26
+ "types": "./dist/lib/template_manager/handlers/index.d.ts",
27
+ "default": "./dist/lib/template_manager/handlers/index.js"
28
+ },
29
+ "./template_manager_handlers/hazo_auth": {
30
+ "types": "./dist/lib/template_manager/handlers/adapters/hazo_auth.d.ts",
31
+ "default": "./dist/lib/template_manager/handlers/adapters/hazo_auth.js"
20
32
  }
21
33
  },
22
34
  "scripts": {
@@ -26,9 +38,9 @@
26
38
  "build:next": "next build",
27
39
  "start": "next start",
28
40
  "lint": "next lint",
29
- "test": "jest",
30
- "test:watch": "jest --watch",
31
- "test:coverage": "jest --coverage",
41
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest --config jest.config.cjs",
42
+ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --config jest.config.cjs --watch",
43
+ "test:coverage": "NODE_OPTIONS=--experimental-vm-modules jest --config jest.config.cjs --coverage",
32
44
  "test:e2e": "playwright test",
33
45
  "test:e2e:ui": "playwright test --ui",
34
46
  "test:e2e:headed": "playwright test --headed",
@@ -36,8 +48,9 @@
36
48
  },
37
49
  "files": [
38
50
  "dist",
39
- "data",
40
- "config",
51
+ "data/templates",
52
+ "config/hazo_notify_config.ini",
53
+ "config/hazo_logs_config.ini",
41
54
  "migrations",
42
55
  "README.md"
43
56
  ],
@@ -62,13 +75,17 @@
62
75
  },
63
76
  "homepage": "https://github.com/pub12/hazo_notify#readme",
64
77
  "dependencies": {
78
+ "clsx": "^2.1.1",
65
79
  "handlebars": "^4.7.8",
66
- "hazo_config": "^1.4.2",
67
- "isomorphic-dompurify": "^2.9.0"
80
+ "hazo_config": "^2.1.0",
81
+ "isomorphic-dompurify": "^2.9.0",
82
+ "lru-cache": "^11.3.6",
83
+ "tailwind-merge": "^3.5.0"
68
84
  },
69
85
  "peerDependencies": {
70
- "hazo_connect": ">=2.4.0",
71
- "hazo_logs": "^1.0.10"
86
+ "hazo_connect": "^2.4.0",
87
+ "hazo_logs": "^1.0.13",
88
+ "hazo_ui": "^2.8.0"
72
89
  },
73
90
  "peerDependenciesMeta": {
74
91
  "hazo_connect": {
@@ -76,8 +93,17 @@
76
93
  },
77
94
  "hazo_logs": {
78
95
  "optional": true
96
+ },
97
+ "hazo_ui": {
98
+ "optional": true
79
99
  }
80
100
  },
101
+ "overrides": {
102
+ "lexical": "^0.39.0",
103
+ "@lexical/rich-text": "^0.39.0",
104
+ "@lexical/selection": "^0.39.0",
105
+ "@lexical/utils": "^0.39.0"
106
+ },
81
107
  "devDependencies": {
82
108
  "@lexical/code": "^0.39.0",
83
109
  "@lexical/file": "^0.39.0",
@@ -87,11 +113,11 @@
87
113
  "@lexical/markdown": "^0.39.0",
88
114
  "@lexical/overflow": "^0.39.0",
89
115
  "@lexical/react": "^0.39.0",
90
- "@lexical/rich-text": "^0.38.2",
91
- "@lexical/selection": "^0.38.2",
116
+ "@lexical/rich-text": "^0.39.0",
117
+ "@lexical/selection": "^0.39.0",
92
118
  "@lexical/table": "^0.39.0",
93
119
  "@lexical/text": "^0.39.0",
94
- "@lexical/utils": "^0.38.2",
120
+ "@lexical/utils": "^0.39.0",
95
121
  "@playwright/test": "^1.57.0",
96
122
  "@radix-ui/react-alert-dialog": "^1.1.15",
97
123
  "@radix-ui/react-checkbox": "^1.3.3",
@@ -110,34 +136,36 @@
110
136
  "@radix-ui/react-toggle": "^1.1.10",
111
137
  "@radix-ui/react-toggle-group": "^1.1.11",
112
138
  "@radix-ui/react-tooltip": "^1.2.8",
139
+ "@tailwindcss/postcss": "^4.2.4",
113
140
  "@testing-library/jest-dom": "^6.2.0",
114
141
  "@testing-library/react": "^14.1.0",
115
142
  "@testing-library/user-event": "^14.5.0",
116
- "@types/jest": "^29.5.0",
143
+ "@types/jest": "^30.0.0",
117
144
  "@types/lodash": "^4.17.21",
118
- "@types/node": "^20.11.0",
119
- "@types/react": "^18.3.0",
145
+ "@types/node": "^20.14.10",
146
+ "@types/react": "^18.3.3",
120
147
  "@types/react-dom": "^18.3.0",
121
- "autoprefixer": "^10.4.0",
122
148
  "class-variance-authority": "^0.7.0",
123
- "clsx": "^2.1.0",
149
+ "clsx": "^2.1.1",
124
150
  "cmdk": "^1.1.1",
125
- "hazo_ui": "^2.3.0",
126
- "jest": "^29.7.0",
151
+ "hazo_auth": "^5.2.0",
152
+ "hazo_ui": "^2.8.0",
153
+ "jest": "^30.2.0",
127
154
  "jest-environment-jsdom": "^29.7.0",
128
155
  "lexical": "^0.39.0",
129
156
  "lodash": "^4.17.21",
130
- "lucide-react": "^0.344.0",
157
+ "lucide-react": "^0.553.0",
131
158
  "next": "^14.2.0",
132
- "postcss": "^8.4.0",
159
+ "postcss": "^8.4.49",
133
160
  "react": "^18.3.0",
134
161
  "react-dom": "^18.3.0",
135
162
  "react-error-boundary": "^6.0.0",
136
- "sonner": "^1.7.4",
137
- "tailwind-merge": "^2.2.0",
138
- "tailwindcss": "^3.4.0",
139
- "tailwindcss-animate": "^1.0.7",
140
- "ts-jest": "^29.1.0",
141
- "typescript": "^5.3.0"
163
+ "sonner": "^2.0.7",
164
+ "tailwind-merge": "^3.5.0",
165
+ "tailwindcss": "^4.2.4",
166
+ "ts-jest": "^29.4.5",
167
+ "tsx": "^4.21.0",
168
+ "tw-animate-css": "^1.4.0",
169
+ "typescript": "^5.7.2"
142
170
  }
143
171
  }
@@ -1 +0,0 @@
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"}