@antelopejs/dms-mailing 0.7.1 → 0.9.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 (255) hide show
  1. package/README.md +46 -31
  2. package/dist/automation/email-event-trigger.d.ts +2 -2
  3. package/dist/automation/send-template-action.d.ts +11 -3
  4. package/dist/automation/send-template-action.js +1 -1
  5. package/dist/automation/send-template-action.js.map +1 -1
  6. package/dist/crons/jobs.d.ts +1 -1
  7. package/dist/data/body.d.ts +2 -1
  8. package/dist/data/body.js +4 -2
  9. package/dist/data/body.js.map +1 -1
  10. package/dist/data/read-only-routes.d.ts +4 -4
  11. package/dist/data/sends-table.d.ts +4 -4
  12. package/dist/data/suppressions-table.d.ts +4 -4
  13. package/dist/data/templates-table.d.ts +35 -12
  14. package/dist/data/templates-table.js +30 -24
  15. package/dist/data/templates-table.js.map +1 -1
  16. package/dist/data-types/categories-type.d.ts +1 -2
  17. package/dist/data-types/categories-type.js +3 -5
  18. package/dist/data-types/categories-type.js.map +1 -1
  19. package/dist/data-types/category-type.d.ts +1 -2
  20. package/dist/data-types/category-type.js +3 -5
  21. package/dist/data-types/category-type.js.map +1 -1
  22. package/dist/db/models/send-events.model.d.ts +7 -5
  23. package/dist/db/models/sends.model.d.ts +7 -5
  24. package/dist/db/models/sends.model.js.map +1 -1
  25. package/dist/db/models/settings.model.d.ts +7 -5
  26. package/dist/db/models/suppressions.model.d.ts +7 -5
  27. package/dist/db/models/template-versions.model.d.ts +7 -5
  28. package/dist/db/models/template-versions.model.js +4 -3
  29. package/dist/db/models/template-versions.model.js.map +1 -1
  30. package/dist/db/models/templates.model.d.ts +7 -5
  31. package/dist/db/models/templates.model.js +2 -1
  32. package/dist/db/models/templates.model.js.map +1 -1
  33. package/dist/db/models/webhook-status.model.d.ts +7 -5
  34. package/dist/db/tables/templates.table.js.map +1 -1
  35. package/dist/engine/changes.js +8 -18
  36. package/dist/engine/changes.js.map +1 -1
  37. package/dist/engine/conditions.d.ts +2 -1
  38. package/dist/engine/conditions.js +5 -5
  39. package/dist/engine/conditions.js.map +1 -1
  40. package/dist/engine/coverage.d.ts +2 -1
  41. package/dist/engine/coverage.js.map +1 -1
  42. package/dist/engine/fallback-html.js +8 -8
  43. package/dist/engine/fallback-html.js.map +1 -1
  44. package/dist/engine/formats.d.ts +4 -6
  45. package/dist/engine/formats.js +22 -8
  46. package/dist/engine/formats.js.map +1 -1
  47. package/dist/engine/paths.d.ts +4 -2
  48. package/dist/engine/paths.js +16 -5
  49. package/dist/engine/paths.js.map +1 -1
  50. package/dist/engine/plain-text.js +2 -4
  51. package/dist/engine/plain-text.js.map +1 -1
  52. package/dist/engine/resolve.d.ts +2 -1
  53. package/dist/engine/resolve.js +1 -1
  54. package/dist/engine/resolve.js.map +1 -1
  55. package/dist/engine/system-variables.d.ts +2 -1
  56. package/dist/engine/system-variables.js +1 -1
  57. package/dist/engine/system-variables.js.map +1 -1
  58. package/dist/engine/tokens.d.ts +2 -1
  59. package/dist/engine/tokens.js.map +1 -1
  60. package/dist/hooks/tenant-export.js +10 -9
  61. package/dist/hooks/tenant-export.js.map +1 -1
  62. package/dist/pages/sends.js.map +1 -1
  63. package/dist/pages/templates.js +3 -1
  64. package/dist/pages/templates.js.map +1 -1
  65. package/dist/pages/toolbar.js.map +1 -1
  66. package/dist/routes/events.js +6 -4
  67. package/dist/routes/events.js.map +1 -1
  68. package/dist/routes/index.d.ts +1 -0
  69. package/dist/routes/index.js +1 -0
  70. package/dist/routes/index.js.map +1 -1
  71. package/dist/routes/metrics.js +31 -31
  72. package/dist/routes/metrics.js.map +1 -1
  73. package/dist/routes/period.js +5 -5
  74. package/dist/routes/period.js.map +1 -1
  75. package/dist/routes/sends.js +4 -5
  76. package/dist/routes/sends.js.map +1 -1
  77. package/dist/routes/settings.d.ts +1 -1
  78. package/dist/routes/settings.js +16 -14
  79. package/dist/routes/settings.js.map +1 -1
  80. package/dist/routes/suppressions.js +9 -6
  81. package/dist/routes/suppressions.js.map +1 -1
  82. package/dist/routes/template-content.d.ts +27 -0
  83. package/dist/routes/template-content.js +3 -0
  84. package/dist/routes/template-content.js.map +1 -0
  85. package/dist/routes/templates.d.ts +7 -30
  86. package/dist/routes/templates.js +7 -6
  87. package/dist/routes/templates.js.map +1 -1
  88. package/dist/routes/zod-json.d.ts +3 -0
  89. package/dist/routes/zod-json.js +21 -0
  90. package/dist/routes/zod-json.js.map +1 -0
  91. package/dist/services/attention.js +16 -8
  92. package/dist/services/attention.js.map +1 -1
  93. package/dist/services/catalog.js +4 -2
  94. package/dist/services/catalog.js.map +1 -1
  95. package/dist/services/categories.js +6 -6
  96. package/dist/services/categories.js.map +1 -1
  97. package/dist/services/checked-send.js +16 -9
  98. package/dist/services/checked-send.js.map +1 -1
  99. package/dist/services/declaration-error.d.ts +1 -1
  100. package/dist/services/declaration-error.js.map +1 -1
  101. package/dist/services/declarations.js +4 -1
  102. package/dist/services/declarations.js.map +1 -1
  103. package/dist/services/events.js +13 -7
  104. package/dist/services/events.js.map +1 -1
  105. package/dist/services/localized-text.d.ts +2 -1
  106. package/dist/services/localized-text.js +2 -1
  107. package/dist/services/localized-text.js.map +1 -1
  108. package/dist/services/metrics.js +2 -5
  109. package/dist/services/metrics.js.map +1 -1
  110. package/dist/services/render.js.map +1 -1
  111. package/dist/services/send-import.js +7 -3
  112. package/dist/services/send-import.js.map +1 -1
  113. package/dist/services/send.js +7 -7
  114. package/dist/services/send.js.map +1 -1
  115. package/dist/services/settings.d.ts +4 -2
  116. package/dist/services/settings.js +5 -4
  117. package/dist/services/settings.js.map +1 -1
  118. package/dist/services/starters.d.ts +3 -2
  119. package/dist/services/starters.js +5 -5
  120. package/dist/services/starters.js.map +1 -1
  121. package/dist/services/template-stats.js +5 -2
  122. package/dist/services/template-stats.js.map +1 -1
  123. package/dist/services/templates.d.ts +2 -1
  124. package/dist/services/templates.js +8 -4
  125. package/dist/services/templates.js.map +1 -1
  126. package/dist/services/webhook-status.d.ts +2 -2
  127. package/dist/services/webhook-status.js +6 -4
  128. package/dist/services/webhook-status.js.map +1 -1
  129. package/dist/types/json.d.ts +1 -0
  130. package/dist/types/json.js +3 -0
  131. package/dist/types/json.js.map +1 -0
  132. package/dist/types/settings.d.ts +2 -2
  133. package/dist/validation/declarations.schema.d.ts +44 -44
  134. package/dist/validation/declarations.schema.js +6 -5
  135. package/dist/validation/declarations.schema.js.map +1 -1
  136. package/dist/validation/guards.d.ts +3 -0
  137. package/dist/validation/guards.js +15 -0
  138. package/dist/validation/guards.js.map +1 -0
  139. package/dist/validation/json.d.ts +5 -0
  140. package/dist/validation/json.js +54 -0
  141. package/dist/validation/json.js.map +1 -0
  142. package/dist/validation/json.schema.d.ts +2 -0
  143. package/dist/validation/json.schema.js +9 -0
  144. package/dist/validation/json.schema.js.map +1 -0
  145. package/dist/validation/send-event-type.schema.d.ts +2 -0
  146. package/dist/validation/send-event-type.schema.js +11 -0
  147. package/dist/validation/send-event-type.schema.js.map +1 -0
  148. package/dist/validation/settings.schema.js +1 -1
  149. package/dist/validation/settings.schema.js.map +1 -1
  150. package/dist/validation/templates.schema.d.ts +44 -42
  151. package/dist/validation/templates.schema.js +4 -3
  152. package/dist/validation/templates.schema.js.map +1 -1
  153. package/frontend-vue/app/build/components/TemplateDrawerFooter.vue +45 -0
  154. package/frontend-vue/app/build/components/TemplateDrawerPerformance.vue +102 -0
  155. package/frontend-vue/app/build/components/TemplateDrawerVariables.vue +110 -0
  156. package/frontend-vue/app/build/composables/useDrawerStats.ts +78 -0
  157. package/frontend-vue/app/components/DuplicateModal.vue +3 -11
  158. package/frontend-vue/app/components/FixAddressModal.vue +2 -1
  159. package/frontend-vue/app/components/NewTemplateModal.vue +3 -11
  160. package/frontend-vue/app/components/RealSendModal.vue +6 -17
  161. package/frontend-vue/app/components/RenderingModal.vue +2 -1
  162. package/frontend-vue/app/components/SendDrawer.vue +5 -4
  163. package/frontend-vue/app/components/StarterGallery.vue +3 -11
  164. package/frontend-vue/app/components/TemplateDrawer.vue +40 -269
  165. package/frontend-vue/app/components/TestSendModal.vue +7 -18
  166. package/frontend-vue/app/components/VersionHistory.vue +2 -7
  167. package/frontend-vue/app/components/WebhookStatus.vue +2 -1
  168. package/frontend-vue/app/components/editor/EditorWorkspace.vue +2 -7
  169. package/frontend-vue/build/backend-boundary.ts +122 -0
  170. package/frontend-vue/dms.frontend.build.ts +7 -0
  171. package/frontend-vue/eslint.config.mjs +13 -0
  172. package/frontend-vue/package.json +4 -2
  173. package/frontend-vue/pnpm-lock.yaml +250 -61
  174. package/frontend-vue/tests/backend-boundary.test.ts +203 -0
  175. package/frontend-vue/tests/dnd.test.ts +1 -2
  176. package/frontend-vue/tests/editor-block-list.test.ts +136 -53
  177. package/frontend-vue/tests/helpers/auth-fetch.ts +123 -0
  178. package/frontend-vue/tests/helpers/nuxt-globals.ts +17 -1
  179. package/frontend-vue/tests/new-template-modal.test.ts +41 -6
  180. package/frontend-vue/tests/page-reads.test.ts +26 -6
  181. package/frontend-vue/tests/send-actions.test.ts +0 -1
  182. package/frontend-vue/tests/send-drawer.test.ts +2 -6
  183. package/frontend-vue/tests/send-modals.test.ts +8 -5
  184. package/frontend-vue/tests/sortable-list.test.ts +54 -62
  185. package/frontend-vue/tests/suppression.test.ts +1 -2
  186. package/frontend-vue/tests/template-drawer.test.ts +27 -18
  187. package/frontend-vue/tests/template-gallery.test.ts +7 -5
  188. package/frontend-vue/tests/template-preview-frame.test.ts +2 -5
  189. package/package.json +16 -20
  190. package/skills/dms-mailing/SKILL.md +1 -1
  191. package/skills/dms-mailing/cases.json +49 -0
  192. package/src/automation/email-event-trigger.ts +2 -2
  193. package/src/automation/send-template-action.ts +33 -14
  194. package/src/crons/jobs.ts +1 -1
  195. package/src/data/body.ts +7 -3
  196. package/src/data/templates-table.ts +55 -56
  197. package/src/data-types/categories-type.ts +2 -2
  198. package/src/data-types/category-type.ts +2 -2
  199. package/src/db/models/sends.model.ts +2 -2
  200. package/src/db/models/template-versions.model.ts +10 -4
  201. package/src/db/models/templates.model.ts +6 -3
  202. package/src/db/tables/templates.table.ts +1 -1
  203. package/src/engine/changes.ts +11 -28
  204. package/src/engine/conditions.ts +14 -8
  205. package/src/engine/coverage.ts +2 -1
  206. package/src/engine/fallback-html.ts +13 -13
  207. package/src/engine/formats.ts +35 -21
  208. package/src/engine/paths.ts +41 -7
  209. package/src/engine/plain-text.ts +2 -4
  210. package/src/engine/resolve.ts +12 -4
  211. package/src/engine/system-variables.ts +6 -4
  212. package/src/engine/tokens.ts +3 -3
  213. package/src/hooks/tenant-export.ts +11 -13
  214. package/src/pages/sends.ts +5 -3
  215. package/src/pages/templates.ts +4 -2
  216. package/src/pages/toolbar.ts +4 -2
  217. package/src/routes/events.ts +10 -10
  218. package/src/routes/index.ts +1 -0
  219. package/src/routes/metrics.ts +35 -33
  220. package/src/routes/period.ts +5 -5
  221. package/src/routes/sends.ts +23 -26
  222. package/src/routes/settings.ts +21 -17
  223. package/src/routes/suppressions.ts +12 -8
  224. package/src/routes/template-content.ts +45 -0
  225. package/src/routes/templates.ts +16 -49
  226. package/src/routes/zod-json.ts +28 -0
  227. package/src/services/attention.ts +20 -18
  228. package/src/services/catalog.ts +4 -8
  229. package/src/services/categories.ts +6 -6
  230. package/src/services/checked-send.ts +17 -19
  231. package/src/services/declaration-error.ts +1 -1
  232. package/src/services/declarations.ts +7 -6
  233. package/src/services/events.ts +18 -13
  234. package/src/services/localized-text.ts +4 -2
  235. package/src/services/metrics.ts +5 -7
  236. package/src/services/notify.ts +1 -1
  237. package/src/services/render.ts +5 -1
  238. package/src/services/send-import.ts +16 -11
  239. package/src/services/send.ts +10 -13
  240. package/src/services/settings.ts +17 -16
  241. package/src/services/starters.ts +12 -8
  242. package/src/services/template-stats.ts +11 -4
  243. package/src/services/templates.ts +24 -15
  244. package/src/services/webhook-status.ts +13 -8
  245. package/src/types/json.ts +1 -0
  246. package/src/types/settings.ts +2 -2
  247. package/src/validation/declarations.schema.ts +6 -5
  248. package/src/validation/guards.ts +17 -0
  249. package/src/validation/json.schema.ts +7 -0
  250. package/src/validation/json.ts +66 -0
  251. package/src/validation/send-event-type.schema.ts +10 -0
  252. package/src/validation/settings.schema.ts +7 -2
  253. package/src/validation/templates.schema.ts +9 -4
  254. package/frontend-vue/tests/i18n-editor.test.ts +0 -50
  255. package/frontend-vue/tests/i18n.test.ts +0 -138
@@ -9,11 +9,11 @@ export declare const templateDeclarationSchema: z.ZodObject<{
9
9
  locales: z.ZodRecord<z.ZodString, z.ZodObject<{
10
10
  subject: z.ZodString;
11
11
  preheader: z.ZodString;
12
- blocks: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
12
+ blocks: z.ZodArray<z.ZodType<import("@antelopejs/interface-dms-mailing").Block, z.ZodTypeDef, unknown>, "many">;
13
13
  }, "strip", z.ZodTypeAny, {
14
14
  subject: string;
15
15
  preheader: string;
16
- blocks: unknown[];
16
+ blocks: import("@antelopejs/interface-dms-mailing").Block[];
17
17
  }, {
18
18
  subject: string;
19
19
  preheader: string;
@@ -23,7 +23,7 @@ export declare const templateDeclarationSchema: z.ZodObject<{
23
23
  locales: Record<string, {
24
24
  subject: string;
25
25
  preheader: string;
26
- blocks: unknown[];
26
+ blocks: import("@antelopejs/interface-dms-mailing").Block[];
27
27
  }>;
28
28
  }, {
29
29
  locales: Record<string, {
@@ -37,34 +37,34 @@ export declare const templateDeclarationSchema: z.ZodObject<{
37
37
  type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
38
38
  required: z.ZodBoolean;
39
39
  }, "strip", z.ZodTypeAny, {
40
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
40
41
  path: string;
41
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
42
42
  required: boolean;
43
43
  }, {
44
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
44
45
  path: string;
45
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
46
46
  required: boolean;
47
47
  }>, "many">>;
48
- testData: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
48
+ testData: z.ZodDefault<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
49
49
  author: z.ZodOptional<z.ZodString>;
50
50
  }, "strip", z.ZodTypeAny, {
51
51
  name: Record<string, string>;
52
+ category: string;
52
53
  content: {
53
54
  locales: Record<string, {
54
55
  subject: string;
55
56
  preheader: string;
56
- blocks: unknown[];
57
+ blocks: import("@antelopejs/interface-dms-mailing").Block[];
57
58
  }>;
58
59
  };
59
60
  tenantId: string;
60
- category: string;
61
61
  slug: string;
62
62
  variables: {
63
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
63
64
  path: string;
64
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
65
65
  required: boolean;
66
66
  }[];
67
- testData: Record<string, unknown>;
67
+ testData: import("@antelopejs/interface-dms-mailing").JsonObject;
68
68
  author?: string | undefined;
69
69
  }, {
70
70
  name: Record<string, string>;
@@ -79,11 +79,11 @@ export declare const templateDeclarationSchema: z.ZodObject<{
79
79
  slug: string;
80
80
  category?: string | undefined;
81
81
  variables?: {
82
+ type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
82
83
  path: string;
83
- type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
84
84
  required: boolean;
85
85
  }[] | undefined;
86
- testData?: Record<string, unknown> | undefined;
86
+ testData?: unknown;
87
87
  author?: string | undefined;
88
88
  }>;
89
89
  export type ParsedTemplateDeclaration = z.infer<typeof templateDeclarationSchema>;
@@ -137,23 +137,23 @@ declare const importedSendSchema: z.ZodObject<{
137
137
  }>]>;
138
138
  sentAt: z.ZodDate;
139
139
  locale: z.ZodOptional<z.ZodString>;
140
- variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
140
+ variables: z.ZodDefault<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
141
141
  provider: z.ZodOptional<z.ZodString>;
142
142
  providerMessageId: z.ZodOptional<z.ZodString>;
143
143
  source: z.ZodOptional<z.ZodString>;
144
144
  isTest: z.ZodDefault<z.ZodBoolean>;
145
145
  events: z.ZodDefault<z.ZodArray<z.ZodObject<{
146
- type: z.ZodEnum<[string, ...string[]]>;
146
+ type: z.ZodEnum<[import("@antelopejs/interface-dms-mailing").SendEventType, ...import("@antelopejs/interface-dms-mailing").SendEventType[]]>;
147
147
  at: z.ZodDate;
148
- details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
148
+ details: z.ZodOptional<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
149
149
  }, "strip", z.ZodTypeAny, {
150
150
  at: Date;
151
- type: string;
152
- details?: Record<string, unknown> | undefined;
151
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
152
+ details?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
153
153
  }, {
154
154
  at: Date;
155
- type: string;
156
- details?: Record<string, unknown> | undefined;
155
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
156
+ details?: unknown;
157
157
  }>, "many">>;
158
158
  }, "strip", z.ZodTypeAny, {
159
159
  to: string | {
@@ -162,11 +162,11 @@ declare const importedSendSchema: z.ZodObject<{
162
162
  };
163
163
  templateSlug: string;
164
164
  isTest: boolean;
165
- variables: Record<string, unknown>;
165
+ variables: import("@antelopejs/interface-dms-mailing").JsonObject;
166
166
  events: {
167
167
  at: Date;
168
- type: string;
169
- details?: Record<string, unknown> | undefined;
168
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
169
+ details?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
170
170
  }[];
171
171
  importId: string;
172
172
  sentAt: Date;
@@ -187,11 +187,11 @@ declare const importedSendSchema: z.ZodObject<{
187
187
  locale?: string | undefined;
188
188
  providerMessageId?: string | undefined;
189
189
  isTest?: boolean | undefined;
190
- variables?: Record<string, unknown> | undefined;
190
+ variables?: unknown;
191
191
  events?: {
192
192
  at: Date;
193
- type: string;
194
- details?: Record<string, unknown> | undefined;
193
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
194
+ details?: unknown;
195
195
  }[] | undefined;
196
196
  }>;
197
197
  export type ParsedImportedSend = z.infer<typeof importedSendSchema>;
@@ -212,23 +212,23 @@ export declare const sendImportSchema: z.ZodObject<{
212
212
  }>]>;
213
213
  sentAt: z.ZodDate;
214
214
  locale: z.ZodOptional<z.ZodString>;
215
- variables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
215
+ variables: z.ZodDefault<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
216
216
  provider: z.ZodOptional<z.ZodString>;
217
217
  providerMessageId: z.ZodOptional<z.ZodString>;
218
218
  source: z.ZodOptional<z.ZodString>;
219
219
  isTest: z.ZodDefault<z.ZodBoolean>;
220
220
  events: z.ZodDefault<z.ZodArray<z.ZodObject<{
221
- type: z.ZodEnum<[string, ...string[]]>;
221
+ type: z.ZodEnum<[import("@antelopejs/interface-dms-mailing").SendEventType, ...import("@antelopejs/interface-dms-mailing").SendEventType[]]>;
222
222
  at: z.ZodDate;
223
- details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
223
+ details: z.ZodOptional<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
224
224
  }, "strip", z.ZodTypeAny, {
225
225
  at: Date;
226
- type: string;
227
- details?: Record<string, unknown> | undefined;
226
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
227
+ details?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
228
228
  }, {
229
229
  at: Date;
230
- type: string;
231
- details?: Record<string, unknown> | undefined;
230
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
231
+ details?: unknown;
232
232
  }>, "many">>;
233
233
  }, "strip", z.ZodTypeAny, {
234
234
  to: string | {
@@ -237,11 +237,11 @@ export declare const sendImportSchema: z.ZodObject<{
237
237
  };
238
238
  templateSlug: string;
239
239
  isTest: boolean;
240
- variables: Record<string, unknown>;
240
+ variables: import("@antelopejs/interface-dms-mailing").JsonObject;
241
241
  events: {
242
242
  at: Date;
243
- type: string;
244
- details?: Record<string, unknown> | undefined;
243
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
244
+ details?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
245
245
  }[];
246
246
  importId: string;
247
247
  sentAt: Date;
@@ -262,11 +262,11 @@ export declare const sendImportSchema: z.ZodObject<{
262
262
  locale?: string | undefined;
263
263
  providerMessageId?: string | undefined;
264
264
  isTest?: boolean | undefined;
265
- variables?: Record<string, unknown> | undefined;
265
+ variables?: unknown;
266
266
  events?: {
267
267
  at: Date;
268
- type: string;
269
- details?: Record<string, unknown> | undefined;
268
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
269
+ details?: unknown;
270
270
  }[] | undefined;
271
271
  }>, "many">;
272
272
  }, "strip", z.ZodTypeAny, {
@@ -278,11 +278,11 @@ export declare const sendImportSchema: z.ZodObject<{
278
278
  };
279
279
  templateSlug: string;
280
280
  isTest: boolean;
281
- variables: Record<string, unknown>;
281
+ variables: import("@antelopejs/interface-dms-mailing").JsonObject;
282
282
  events: {
283
283
  at: Date;
284
- type: string;
285
- details?: Record<string, unknown> | undefined;
284
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
285
+ details?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
286
286
  }[];
287
287
  importId: string;
288
288
  sentAt: Date;
@@ -306,11 +306,11 @@ export declare const sendImportSchema: z.ZodObject<{
306
306
  locale?: string | undefined;
307
307
  providerMessageId?: string | undefined;
308
308
  isTest?: boolean | undefined;
309
- variables?: Record<string, unknown> | undefined;
309
+ variables?: unknown;
310
310
  events?: {
311
311
  at: Date;
312
- type: string;
313
- details?: Record<string, unknown> | undefined;
312
+ type: import("@antelopejs/interface-dms-mailing").SendEventType;
313
+ details?: unknown;
314
314
  }[] | undefined;
315
315
  }[];
316
316
  }>;
@@ -4,9 +4,10 @@ exports.sendImportSchema = exports.senderDeclarationSchema = exports.categoryDec
4
4
  const interface_dms_mailing_1 = require("@antelopejs/interface-dms-mailing");
5
5
  const zod_1 = require("zod");
6
6
  const constants_1 = require("../constants");
7
- const types_1 = require("../types");
7
+ const send_event_type_schema_1 = require("./send-event-type.schema");
8
8
  const settings_schema_1 = require("./settings.schema");
9
9
  const templates_schema_1 = require("./templates.schema");
10
+ const json_schema_1 = require("./json.schema");
10
11
  const MAX_AUTHOR_LENGTH = constants_1.MAX_NAME_LENGTH;
11
12
  const MAX_IMPORT_ID_LENGTH = 200;
12
13
  const tenantIdSchema = zod_1.z.string().trim().min(1);
@@ -22,7 +23,7 @@ exports.templateDeclarationSchema = zod_1.z.object({
22
23
  category: zod_1.z.string().trim().default(""),
23
24
  content: templates_schema_1.templateContentSchema,
24
25
  variables: templates_schema_1.variableListSchema.default([]),
25
- testData: zod_1.z.record(zod_1.z.unknown()).default({}),
26
+ testData: json_schema_1.jsonObjectSchema.default({}),
26
27
  author: zod_1.z.string().trim().min(1).max(MAX_AUTHOR_LENGTH).optional(),
27
28
  });
28
29
  exports.categoryDeclarationSchema = settings_schema_1.categorySchema.extend({
@@ -44,9 +45,9 @@ const recipientSchema = zod_1.z.union([
44
45
  }),
45
46
  ]);
46
47
  const importedEventSchema = zod_1.z.object({
47
- type: zod_1.z.enum(types_1.SEND_EVENT_TYPES),
48
+ type: send_event_type_schema_1.sendEventTypeSchema,
48
49
  at: zod_1.z.coerce.date(),
49
- details: zod_1.z.record(zod_1.z.unknown()).optional(),
50
+ details: json_schema_1.jsonObjectSchema.optional(),
50
51
  });
51
52
  const importedSendSchema = zod_1.z.object({
52
53
  importId: zod_1.z.string().trim().min(1).max(MAX_IMPORT_ID_LENGTH),
@@ -54,7 +55,7 @@ const importedSendSchema = zod_1.z.object({
54
55
  to: recipientSchema,
55
56
  sentAt: zod_1.z.coerce.date(),
56
57
  locale: zod_1.z.string().trim().min(1).optional(),
57
- variables: zod_1.z.record(zod_1.z.unknown()).default({}),
58
+ variables: json_schema_1.jsonObjectSchema.default({}),
58
59
  provider: zod_1.z.string().optional(),
59
60
  providerMessageId: zod_1.z.string().optional(),
60
61
  source: zod_1.z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"declarations.schema.js","sourceRoot":"","sources":["../../src/validation/declarations.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declarations.schema.js","sourceRoot":"","sources":["../../src/validation/declarations.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function isText(value: unknown): value is string;
2
+ export declare function isObject(value: unknown): value is Record<string, unknown>;
3
+ export declare function isNumber(value: unknown): value is number;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isText = isText;
4
+ exports.isObject = isObject;
5
+ exports.isNumber = isNumber;
6
+ function isText(value) {
7
+ return typeof value === "string";
8
+ }
9
+ function isObject(value) {
10
+ return typeof value === "object" && value !== null;
11
+ }
12
+ function isNumber(value) {
13
+ return typeof value === "number";
14
+ }
15
+ //# sourceMappingURL=guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/validation/guards.ts"],"names":[],"mappings":";;AACA,wBAEC;AAMD,4BAEC;AAGD,4BAEC;AAfD,SAAgB,MAAM,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAMD,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAGD,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { JsonObject, JsonValue } from "../types/json";
2
+ export declare function isJsonValue(value: unknown): value is JsonValue;
3
+ export declare function isJsonObject(value: unknown): value is JsonObject;
4
+ export declare function parseJson(text: string): JsonValue;
5
+ export declare function parseJsonObject(text: string): JsonObject;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isJsonValue = isJsonValue;
4
+ exports.isJsonObject = isJsonObject;
5
+ exports.parseJson = parseJson;
6
+ exports.parseJsonObject = parseJsonObject;
7
+ const guards_1 = require("./guards");
8
+ function isJsonValue(value) {
9
+ const stack = [{ visit: value }];
10
+ const ancestors = new Set();
11
+ for (let step = stack.pop(); step; step = stack.pop()) {
12
+ if ("leave" in step) {
13
+ ancestors.delete(step.leave);
14
+ continue;
15
+ }
16
+ const item = step.visit;
17
+ if (item === null ||
18
+ (0, guards_1.isText)(item) ||
19
+ (0, guards_1.isNumber)(item) ||
20
+ typeof item === "boolean")
21
+ continue;
22
+ if (typeof item !== "object" || ancestors.has(item))
23
+ return false;
24
+ const prototype = Object.getPrototypeOf(item);
25
+ if (!Array.isArray(item) &&
26
+ prototype !== Object.prototype &&
27
+ prototype !== null)
28
+ return false;
29
+ ancestors.add(item);
30
+ stack.push({ leave: item });
31
+ for (const child of Object.values(item))
32
+ stack.push({ visit: child });
33
+ }
34
+ return true;
35
+ }
36
+ function isJsonObject(value) {
37
+ return (typeof value === "object" &&
38
+ value !== null &&
39
+ !Array.isArray(value) &&
40
+ isJsonValue(value));
41
+ }
42
+ function parseJson(text) {
43
+ const parsed = JSON.parse(text);
44
+ if (!isJsonValue(parsed))
45
+ throw new TypeError("expected JSON data");
46
+ return parsed;
47
+ }
48
+ function parseJsonObject(text) {
49
+ const parsed = parseJson(text);
50
+ if (!(0, guards_1.isObject)(parsed) || Array.isArray(parsed))
51
+ throw new TypeError("expected a JSON object");
52
+ return parsed;
53
+ }
54
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/validation/json.ts"],"names":[],"mappings":";;AAWA,kCA6BC;AAGD,oCAOC;AAGD,8BAIC;AAGD,0CAKC;AAhED,qCAAsD;AAUtD,SAAgB,WAAW,CAAC,KAAc;IACxC,MAAM,KAAK,GAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;QACtD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IACE,IAAI,KAAK,IAAI;YACb,IAAA,eAAM,EAAC,IAAI,CAAC;YACZ,IAAA,iBAAQ,EAAC,IAAI,CAAC;YACd,OAAO,IAAI,KAAK,SAAS;YAEzB,SAAS;QACX,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAClE,MAAM,SAAS,GAAY,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,SAAS,KAAK,MAAM,CAAC,SAAS;YAC9B,SAAS,KAAK,IAAI;YAElB,OAAO,KAAK,CAAC;QACf,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,WAAW,CAAC,KAAK,CAAC,CACnB,CAAC;AACJ,CAAC;AAGD,SAAgB,SAAS,CAAC,IAAY;IACpC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC;AAGD,SAAgB,eAAe,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAA,iBAAQ,EAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { z } from "zod";
2
+ export declare const jsonObjectSchema: z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jsonObjectSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const json_1 = require("./json");
6
+ exports.jsonObjectSchema = zod_1.z
7
+ .unknown()
8
+ .refine(json_1.isJsonObject, "expected a JSON object");
9
+ //# sourceMappingURL=json.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.schema.js","sourceRoot":"","sources":["../../src/validation/json.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iCAAsC;AAGzB,QAAA,gBAAgB,GAAG,OAAC;KAC9B,OAAO,EAAE;KACT,MAAM,CAAC,mBAAY,EAAE,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { z } from "zod";
2
+ export declare const sendEventTypeSchema: z.ZodEnum<[import("@antelopejs/interface-dms-mailing").SendEventType, ...import("@antelopejs/interface-dms-mailing").SendEventType[]]>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendEventTypeSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const [FIRST_EVENT_TYPE, ...OTHER_EVENT_TYPES] = types_1.SEND_EVENT_TYPES;
7
+ exports.sendEventTypeSchema = zod_1.z.enum([
8
+ FIRST_EVENT_TYPE,
9
+ ...OTHER_EVENT_TYPES,
10
+ ]);
11
+ //# sourceMappingURL=send-event-type.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-event-type.schema.js","sourceRoot":"","sources":["../../src/validation/send-event-type.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oCAA4C;AAE5C,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,wBAAgB,CAAC;AAGrD,QAAA,mBAAmB,GAAG,OAAC,CAAC,IAAI,CAAC;IACxC,gBAAgB;IAChB,GAAG,iBAAiB;CACrB,CAAC,CAAC"}
@@ -68,7 +68,7 @@ function marketingIssues(kept) {
68
68
  : [{ message: MARKETING_REQUIRED, path: [] }];
69
69
  }
70
70
  function moveIssues(entries, kept) {
71
- return entries.flatMap((entry, index) => isKept(entry) || kept.has(entry.moveTo)
71
+ return entries.flatMap((entry, index) => entry.moveTo === undefined || kept.has(entry.moveTo)
72
72
  ? []
73
73
  : [{ message: UNKNOWN_MOVE_TARGET, path: [index, "moveTo"] }]);
74
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings.schema.js","sourceRoot":"","sources":["../../src/validation/settings.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.schema.js","sourceRoot":"","sources":["../../src/validation/settings.schema.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AACzC,6BAAwB;AACxB,4CAA6D;AAC7D,6EAAmF;AACnF,sCAA+C;AAElC,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,kBAAkB,GAAG,IAAI,CAAC;AACvC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,MAAM,kBAAkB,GAAG,SAAS,CAAC;AACrC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,UAAU,GAAG,EAAE,CAAC;AAMT,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAE5C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,yBAAyB,IAAI,EAAE,CAAC;AAC7E,MAAM,cAAc,GAAG,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAC/D,MAAM,kBAAkB,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC;AACpE,MAAM,kBAAkB,GAAG,UAAU,CAAC,+BAA+B,CAAC,CAAC;AACvE,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAC3C,QAAA,wBAAwB,GAAG,UAAU,CAChD,gCAAgC,CACjC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAC;AAElD,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,2BAAe,CAAC,CAAC,KAAK,CAAC,wBAAY,CAAC;IAEvD,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,2BAAe,CAAC,CAAC;IACvD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;CAC9C,CAAC,CAAC;AAMH,MAAM,mBAAmB,GAAG,sBAAc,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAY,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAeH,SAAS,WAAW,CAAC,OAAwB;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,sDAA8B,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAGD,SAAS,SAAS,CAAC,OAAwB,EAAE,MAAc;IACzD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,EAAE;QACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sDAA8B,CAAC,IAAI,EAAE;QACnE,MAAM;KACP,CAAC,CAAC,CAAC;AACN,CAAC;AAQD,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAW,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;AAM7E,SAAS,eAAe,CAAC,OAAwB;IAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;aACrE,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD,SAAS,gBAAgB,CAAC,OAAwB;IAChD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACtC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,2BAAkB,CAAC;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU,CACjB,OAAwB,EACxB,IAAiB;IAEjB,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACtC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAClD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAChE,CAAC;AACJ,CAAC;AAQD,SAAS,qBAAqB,CAC5B,OAAwB,EACxB,OAAwB;IAExB,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAC1E,CAAC;IACF,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B;QACE,GAAG,WAAW;QACd,GAAG,eAAe,CAAC,IAAI,CAAC;QACxB,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,sDAA8B,CAAC,EAAE,IAAI,CAAC;KACxE;SACE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACjB,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAC5D,CAAC;AACN,CAAC;AAOY,QAAA,gBAAgB,GAAG,OAAC;KAC9B,KAAK,CAAC,mBAAmB,CAAC;KAC1B,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAEtC,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAGD,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACzD,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAClC,MAAM,MAAM,GAAG,IAAA,wBAAa,EAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1E,CAAC;AAED,MAAM,qBAAqB,GAAG,OAAC;KAC5B,MAAM,EAAE;KACR,IAAI,EAAE;KACN,SAAS,CAAC,cAAc,CAAC;KACzB,IAAI,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjD,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,cAAc,EAAE,OAAC;SACd,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,iBAAiB,CAAC;SACtB,MAAM,CAAC,kBAAkB,CAAC;IAC7B,gBAAgB,EAAE,OAAC;SAChB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,0BAAkB,CAAC;SACvB,GAAG,CAAC,0BAAkB,CAAC;IAC1B,uBAAuB,EAAE,OAAC,CAAC,OAAO,EAAE;IACpC,UAAU,EAAE,OAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,2BAAe,CAAC;SACpB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,qBAAqB;IAC9B,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,iCAAyB,EAAE,gCAAwB,CAAC;SACxD,GAAG,CAAC,2BAAe,CAAC;IACvB,UAAU,EAAE,wBAAgB;CAC7B,CAAC,CAAC;AAOU,QAAA,mBAAmB,GAAG,sBAAc;KAC9C,OAAO,EAAE;KACT,MAAM,CAAC;IACN,gBAAgB,EAAE,OAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC;KACD,MAAM,EAAE,CAAC"}