@headless-lms/core 0.1.0 → 0.3.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 (249) hide show
  1. package/dist/assets/events.d.ts +90 -9
  2. package/dist/assets/events.js +19 -3
  3. package/dist/assets/events.js.map +1 -1
  4. package/dist/assets/file-urls.d.ts +20 -0
  5. package/dist/assets/file-urls.js +25 -0
  6. package/dist/assets/file-urls.js.map +1 -0
  7. package/dist/assets/index.d.ts +5 -4
  8. package/dist/assets/index.js +3 -2
  9. package/dist/assets/model.d.ts +2 -2
  10. package/dist/assets/ports.d.ts +45 -15
  11. package/dist/assets/service.d.ts +39 -7
  12. package/dist/assets/service.js +292 -37
  13. package/dist/assets/service.js.map +1 -1
  14. package/dist/automations/actions.d.ts +12 -15
  15. package/dist/automations/actions.js +188 -30
  16. package/dist/automations/actions.js.map +1 -1
  17. package/dist/automations/catalog.d.ts +5 -1
  18. package/dist/automations/catalog.js +514 -197
  19. package/dist/automations/catalog.js.map +1 -1
  20. package/dist/automations/community-derivations.d.ts +14 -0
  21. package/dist/automations/community-derivations.js +439 -0
  22. package/dist/automations/community-derivations.js.map +1 -0
  23. package/dist/automations/community-mail.d.ts +112 -0
  24. package/dist/automations/community-mail.js +90 -0
  25. package/dist/automations/community-mail.js.map +1 -0
  26. package/dist/automations/community-notifications.d.ts +16 -0
  27. package/dist/automations/community-notifications.js +84 -0
  28. package/dist/automations/community-notifications.js.map +1 -0
  29. package/dist/automations/events.d.ts +74 -24
  30. package/dist/automations/events.js +5 -5
  31. package/dist/automations/events.js.map +1 -1
  32. package/dist/automations/index.d.ts +7 -5
  33. package/dist/automations/index.js +3 -2
  34. package/dist/automations/model.d.ts +20 -3
  35. package/dist/automations/model.js +36 -3
  36. package/dist/automations/model.js.map +1 -1
  37. package/dist/automations/ports.d.ts +27 -8
  38. package/dist/automations/schedule.d.ts +6 -0
  39. package/dist/automations/schedule.js +41 -0
  40. package/dist/automations/schedule.js.map +1 -0
  41. package/dist/automations/seeds.d.ts +17 -0
  42. package/dist/automations/seeds.js +235 -0
  43. package/dist/automations/seeds.js.map +1 -0
  44. package/dist/automations/service.d.ts +41 -6
  45. package/dist/automations/service.js +542 -59
  46. package/dist/automations/service.js.map +1 -1
  47. package/dist/automations/types.d.ts +2 -2
  48. package/dist/automations/webhook-signing.d.ts +7 -0
  49. package/dist/automations/webhook-signing.js +22 -0
  50. package/dist/automations/webhook-signing.js.map +1 -0
  51. package/dist/content/events.d.ts +1013 -25
  52. package/dist/content/events.js +168 -19
  53. package/dist/content/events.js.map +1 -1
  54. package/dist/content/index.d.ts +5 -5
  55. package/dist/content/index.js +2 -2
  56. package/dist/content/model.d.ts +2 -2
  57. package/dist/content/ports.d.ts +109 -25
  58. package/dist/content/service.d.ts +68 -23
  59. package/dist/content/service.js +647 -60
  60. package/dist/content/service.js.map +1 -1
  61. package/dist/content/types.d.ts +2 -2
  62. package/dist/discussion/authors.d.ts +10 -0
  63. package/dist/discussion/authors.js +23 -0
  64. package/dist/discussion/authors.js.map +1 -0
  65. package/dist/discussion/chats.d.ts +104 -0
  66. package/dist/discussion/chats.js +798 -0
  67. package/dist/discussion/chats.js.map +1 -0
  68. package/dist/discussion/events.d.ts +633 -14
  69. package/dist/discussion/events.js +134 -5
  70. package/dist/discussion/events.js.map +1 -1
  71. package/dist/discussion/index.d.ts +7 -3
  72. package/dist/discussion/index.js +4 -1
  73. package/dist/discussion/model.d.ts +1 -2
  74. package/dist/discussion/ports.d.ts +288 -27
  75. package/dist/discussion/ports.js +6 -1
  76. package/dist/discussion/ports.js.map +1 -0
  77. package/dist/discussion/posts.d.ts +103 -0
  78. package/dist/discussion/posts.js +723 -0
  79. package/dist/discussion/posts.js.map +1 -0
  80. package/dist/discussion/service.d.ts +33 -11
  81. package/dist/discussion/service.js +297 -81
  82. package/dist/discussion/service.js.map +1 -1
  83. package/dist/entitlements/events.d.ts +264 -13
  84. package/dist/entitlements/events.js +49 -5
  85. package/dist/entitlements/events.js.map +1 -1
  86. package/dist/entitlements/index.d.ts +5 -4
  87. package/dist/entitlements/index.js +2 -1
  88. package/dist/entitlements/model.d.ts +3 -2
  89. package/dist/entitlements/ports.d.ts +124 -11
  90. package/dist/entitlements/rules.d.ts +12 -0
  91. package/dist/entitlements/rules.js +17 -0
  92. package/dist/entitlements/rules.js.map +1 -0
  93. package/dist/entitlements/service.d.ts +54 -3
  94. package/dist/entitlements/service.js +473 -2
  95. package/dist/entitlements/service.js.map +1 -1
  96. package/dist/identity/access.d.ts +6 -0
  97. package/dist/identity/access.js +7 -0
  98. package/dist/identity/access.js.map +1 -0
  99. package/dist/identity/events.d.ts +17 -3
  100. package/dist/identity/events.js +12 -2
  101. package/dist/identity/events.js.map +1 -1
  102. package/dist/identity/index.d.ts +6 -4
  103. package/dist/identity/index.js +3 -1
  104. package/dist/identity/model.d.ts +2 -1
  105. package/dist/identity/notifications.d.ts +27 -0
  106. package/dist/identity/notifications.js +101 -0
  107. package/dist/identity/notifications.js.map +1 -0
  108. package/dist/identity/ports.d.ts +76 -3
  109. package/dist/identity/service.d.ts +17 -3
  110. package/dist/identity/service.js +73 -5
  111. package/dist/identity/service.js.map +1 -1
  112. package/dist/integrations/events.d.ts +27 -3
  113. package/dist/integrations/events.js +15 -3
  114. package/dist/integrations/events.js.map +1 -1
  115. package/dist/integrations/model.js +1 -1
  116. package/dist/integrations/model.js.map +1 -1
  117. package/dist/integrations/service.js +2 -2
  118. package/dist/integrations/service.js.map +1 -1
  119. package/dist/organizations/access-scopes.d.ts +19 -0
  120. package/dist/organizations/access-scopes.js +89 -0
  121. package/dist/organizations/access-scopes.js.map +1 -0
  122. package/dist/organizations/events.d.ts +234 -25
  123. package/dist/organizations/events.js +58 -9
  124. package/dist/organizations/events.js.map +1 -1
  125. package/dist/organizations/index.d.ts +8 -7
  126. package/dist/organizations/index.js +4 -3
  127. package/dist/organizations/members.d.ts +8 -5
  128. package/dist/organizations/members.js.map +1 -1
  129. package/dist/organizations/ports.d.ts +20 -21
  130. package/dist/organizations/roles.d.ts +6 -10
  131. package/dist/organizations/roles.js +19 -7
  132. package/dist/organizations/roles.js.map +1 -1
  133. package/dist/organizations/service.d.ts +28 -14
  134. package/dist/organizations/service.js +274 -105
  135. package/dist/organizations/service.js.map +1 -1
  136. package/dist/organizations/types.d.ts +2 -11
  137. package/dist/progress/events.d.ts +34 -2
  138. package/dist/progress/events.js +15 -2
  139. package/dist/progress/events.js.map +1 -1
  140. package/dist/progress/index.d.ts +2 -2
  141. package/dist/progress/ports.d.ts +6 -1
  142. package/dist/progress/service.d.ts +5 -3
  143. package/dist/progress/service.js +9 -3
  144. package/dist/progress/service.js.map +1 -1
  145. package/dist/reporting/admin/index.d.ts +4 -0
  146. package/dist/reporting/admin/index.js +2 -0
  147. package/dist/reporting/admin/model.d.ts +108 -0
  148. package/dist/reporting/admin/ports.d.ts +27 -0
  149. package/dist/reporting/admin/service.d.ts +22 -0
  150. package/dist/reporting/admin/service.js +38 -0
  151. package/dist/reporting/admin/service.js.map +1 -0
  152. package/dist/reporting/member/index.d.ts +5 -0
  153. package/dist/reporting/member/index.js +2 -0
  154. package/dist/reporting/member/model.d.ts +124 -0
  155. package/dist/reporting/member/ports.d.ts +45 -0
  156. package/dist/reporting/member/service.d.ts +73 -0
  157. package/dist/reporting/member/service.js +286 -0
  158. package/dist/reporting/member/service.js.map +1 -0
  159. package/dist/shared/actor.d.ts +9 -0
  160. package/dist/shared/errors.d.ts +7 -1
  161. package/dist/shared/errors.js +10 -1
  162. package/dist/shared/errors.js.map +1 -1
  163. package/dist/shared/events.d.ts +5 -3
  164. package/dist/shared/events.js +1 -0
  165. package/dist/shared/events.js.map +1 -1
  166. package/dist/shared/id.d.ts +12 -0
  167. package/dist/shared/id.js +13 -1
  168. package/dist/shared/id.js.map +1 -1
  169. package/dist/shared/mailer.d.ts +6 -1
  170. package/dist/shared/mailer.js.map +1 -1
  171. package/dist/shared/network.d.ts +10 -0
  172. package/dist/shared/network.js +211 -0
  173. package/dist/shared/network.js.map +1 -0
  174. package/dist/shared/settings.js.map +1 -1
  175. package/dist/types/assets.d.ts +2 -2
  176. package/dist/types/automations.d.ts +21 -2
  177. package/dist/types/content.d.ts +2 -2
  178. package/dist/types/discussion.d.ts +12 -3
  179. package/dist/types/email-templates.d.ts +124 -1
  180. package/dist/types/entitlements.d.ts +2 -2
  181. package/dist/types/events.d.ts +3 -3
  182. package/dist/types/identity.d.ts +48 -2
  183. package/dist/types/index.d.ts +10 -10
  184. package/dist/types/organizations.d.ts +2 -2
  185. package/dist/types/ports.d.ts +7 -1
  186. package/dist/types/schemas/assets.d.ts +67 -36
  187. package/dist/types/schemas/assets.js +19 -13
  188. package/dist/types/schemas/assets.js.map +1 -1
  189. package/dist/types/schemas/automations.d.ts +88 -4
  190. package/dist/types/schemas/automations.js +46 -6
  191. package/dist/types/schemas/automations.js.map +1 -1
  192. package/dist/types/schemas/content.d.ts +385 -20
  193. package/dist/types/schemas/content.js +178 -15
  194. package/dist/types/schemas/content.js.map +1 -1
  195. package/dist/types/schemas/credentials.js.map +1 -1
  196. package/dist/types/schemas/discussion.d.ts +379 -4
  197. package/dist/types/schemas/discussion.js +209 -7
  198. package/dist/types/schemas/discussion.js.map +1 -1
  199. package/dist/types/schemas/entitlements.d.ts +44 -4
  200. package/dist/types/schemas/entitlements.js +32 -4
  201. package/dist/types/schemas/entitlements.js.map +1 -1
  202. package/dist/types/schemas/identity.d.ts +115 -5
  203. package/dist/types/schemas/identity.js +59 -6
  204. package/dist/types/schemas/identity.js.map +1 -1
  205. package/dist/types/schemas/index.d.ts +9 -9
  206. package/dist/types/schemas/index.js +9 -9
  207. package/dist/types/schemas/integrations.js.map +1 -1
  208. package/dist/types/schemas/organizations.d.ts +27 -5
  209. package/dist/types/schemas/organizations.js +14 -7
  210. package/dist/types/schemas/organizations.js.map +1 -1
  211. package/dist/types/schemas/outbox.d.ts +1 -0
  212. package/dist/types/schemas/outbox.js +1 -0
  213. package/dist/types/schemas/outbox.js.map +1 -1
  214. package/dist/types/schemas/progress.d.ts +1 -0
  215. package/dist/types/schemas/progress.js +1 -0
  216. package/dist/types/schemas/progress.js.map +1 -1
  217. package/dist/types/schemas/settings.js.map +1 -1
  218. package/dist/types/schemas/shared.d.ts +4 -1
  219. package/dist/types/schemas/shared.js +7 -1
  220. package/dist/types/schemas/shared.js.map +1 -1
  221. package/dist/types/shared.d.ts +1 -1
  222. package/package.json +2 -2
  223. package/dist/reporting/dashboard/index.d.ts +0 -4
  224. package/dist/reporting/dashboard/index.js +0 -2
  225. package/dist/reporting/dashboard/model.d.ts +0 -14
  226. package/dist/reporting/dashboard/ports.d.ts +0 -13
  227. package/dist/reporting/dashboard/service.d.ts +0 -19
  228. package/dist/reporting/dashboard/service.js +0 -20
  229. package/dist/reporting/dashboard/service.js.map +0 -1
  230. package/dist/reporting/learn/index.d.ts +0 -5
  231. package/dist/reporting/learn/index.js +0 -2
  232. package/dist/reporting/learn/model.d.ts +0 -23
  233. package/dist/reporting/learn/ports.d.ts +0 -42
  234. package/dist/reporting/learn/service.d.ts +0 -48
  235. package/dist/reporting/learn/service.js +0 -111
  236. package/dist/reporting/learn/service.js.map +0 -1
  237. package/dist/reporting/students/index.d.ts +0 -4
  238. package/dist/reporting/students/index.js +0 -2
  239. package/dist/reporting/students/model.d.ts +0 -31
  240. package/dist/reporting/students/ports.d.ts +0 -13
  241. package/dist/reporting/students/ports.js +0 -1
  242. package/dist/reporting/students/service.d.ts +0 -19
  243. package/dist/reporting/students/service.js +0 -20
  244. package/dist/reporting/students/service.js.map +0 -1
  245. /package/dist/reporting/{dashboard → admin}/model.js +0 -0
  246. /package/dist/reporting/{dashboard → admin}/ports.js +0 -0
  247. /package/dist/reporting/{learn → member}/model.js +0 -0
  248. /package/dist/reporting/{learn → member}/ports.js +0 -0
  249. /package/dist/{reporting/students/model.js → shared/actor.js} +0 -0
@@ -1,8 +1,22 @@
1
1
  import { DomainEvent, JsonValue } from "../shared.js";
2
2
  import { z } from "zod";
3
3
  //#region src/types/schemas/automations.d.ts
4
+ declare const MAX_AUTOMATION_TRIGGERS = 20;
5
+ declare const MAX_AUTOMATION_ACTIONS = 20;
6
+ declare const MAX_WEBHOOK_EVENTS = 100;
4
7
  declare const automationTriggerSchema: z.ZodString;
5
8
  type AutomationTrigger = z.infer<typeof automationTriggerSchema>;
9
+ declare const automationTriggersSchema: z.ZodArray<z.ZodString>;
10
+ declare const automationKindSchema: z.ZodEnum<{
11
+ workflow: "workflow";
12
+ webhook: "webhook";
13
+ }>;
14
+ type AutomationKind = z.infer<typeof automationKindSchema>;
15
+ declare const automationSourceSchema: z.ZodEnum<{
16
+ system: "system";
17
+ user: "user";
18
+ }>;
19
+ type AutomationSource = z.infer<typeof automationSourceSchema>;
6
20
  declare const automationActionSchema: z.ZodObject<{
7
21
  type: z.ZodString;
8
22
  input: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
@@ -12,13 +26,22 @@ declare const automationSchema: z.ZodObject<{
12
26
  orgId: z.ZodString;
13
27
  id: z.ZodString;
14
28
  name: z.ZodString;
29
+ kind: z.ZodEnum<{
30
+ workflow: "workflow";
31
+ webhook: "webhook";
32
+ }>;
15
33
  description: z.ZodNullable<z.ZodString>;
16
- trigger: z.ZodString;
34
+ triggers: z.ZodArray<z.ZodString>;
17
35
  actions: z.ZodArray<z.ZodObject<{
18
36
  type: z.ZodString;
19
37
  input: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
20
38
  }, z.core.$strict>>;
21
39
  enabled: z.ZodBoolean;
40
+ filter: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>;
41
+ source: z.ZodEnum<{
42
+ system: "system";
43
+ user: "user";
44
+ }>;
22
45
  createdAt: z.ZodCoercedDate<unknown>;
23
46
  updatedAt: z.ZodCoercedDate<unknown>;
24
47
  }, z.core.$strict>;
@@ -27,24 +50,33 @@ type AutomationInput = z.input<typeof automationSchema>;
27
50
  declare const createAutomationInputSchema: z.ZodObject<{
28
51
  name: z.ZodString;
29
52
  description: z.ZodOptional<z.ZodString>;
30
- trigger: z.ZodString;
53
+ triggers: z.ZodArray<z.ZodString>;
31
54
  actions: z.ZodArray<z.ZodObject<{
32
55
  type: z.ZodString;
33
56
  input: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
34
57
  }, z.core.$strict>>;
58
+ filter: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>>;
35
59
  }, z.core.$strict>;
36
60
  type CreateAutomationInput = z.infer<typeof createAutomationInputSchema>;
37
61
  declare const updateAutomationInputSchema: z.ZodObject<{
38
62
  name: z.ZodOptional<z.ZodString>;
39
63
  description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
40
- trigger: z.ZodOptional<z.ZodString>;
64
+ triggers: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
65
  actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
42
66
  type: z.ZodString;
43
67
  input: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
44
68
  }, z.core.$strict>>>;
69
+ filter: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>>>;
45
70
  enabled: z.ZodOptional<z.ZodBoolean>;
46
71
  }, z.core.$strict>;
47
72
  type UpdateAutomationInput = z.infer<typeof updateAutomationInputSchema>;
73
+ declare const automationsQuerySchema: z.ZodObject<{
74
+ kind: z.ZodOptional<z.ZodEnum<{
75
+ workflow: "workflow";
76
+ webhook: "webhook";
77
+ }>>;
78
+ }, z.core.$strict>;
79
+ type AutomationsQuery = z.infer<typeof automationsQuerySchema>;
48
80
  declare const automationRunsQuerySchema: z.ZodObject<{
49
81
  page: z.ZodNumber;
50
82
  pageSize: z.ZodNumber;
@@ -70,6 +102,7 @@ declare const automationActionResultSchema: z.ZodObject<{
70
102
  failed: "failed";
71
103
  }>;
72
104
  error: z.ZodOptional<z.ZodString>;
105
+ recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
73
106
  }, z.core.$strict>;
74
107
  type AutomationActionResult = z.infer<typeof automationActionResultSchema>;
75
108
  declare const automationRunSchema: z.ZodObject<{
@@ -92,9 +125,12 @@ declare const automationRunSchema: z.ZodObject<{
92
125
  failed: "failed";
93
126
  }>;
94
127
  error: z.ZodOptional<z.ZodString>;
128
+ recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
95
129
  }, z.core.$strict>>;
96
130
  startedAt: z.ZodCoercedDate<unknown>;
97
131
  finishedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
132
+ createdAt: z.ZodCoercedDate<unknown>;
133
+ updatedAt: z.ZodCoercedDate<unknown>;
98
134
  }, z.core.$strict>;
99
135
  type AutomationRun = z.output<typeof automationRunSchema>;
100
136
  type AutomationRunInput = z.input<typeof automationRunSchema>;
@@ -109,10 +145,58 @@ type AvailableActions = AvailableAction[];
109
145
  declare const availableTriggersSchema: z.ZodObject<{
110
146
  triggers: z.ZodArray<z.ZodObject<{
111
147
  type: z.ZodString;
148
+ label: z.ZodString;
149
+ category: z.ZodString;
112
150
  description: z.ZodString;
113
151
  }, z.core.$strict>>;
114
152
  }, z.core.$strict>;
115
153
  type AvailableTriggers = z.infer<typeof availableTriggersSchema>;
154
+ declare const deliverWebhookInputSchema: z.ZodObject<{
155
+ url: z.ZodString;
156
+ secretRef: z.ZodString;
157
+ }, z.core.$strict>;
158
+ type DeliverWebhookInput = z.infer<typeof deliverWebhookInputSchema>;
159
+ declare const webhookUrlSchema: z.ZodURL;
160
+ declare const webhookSchema: z.ZodObject<{
161
+ orgId: z.ZodString;
162
+ id: z.ZodString;
163
+ url: z.ZodString;
164
+ events: z.ZodArray<z.ZodString>;
165
+ description: z.ZodNullable<z.ZodString>;
166
+ enabled: z.ZodBoolean;
167
+ createdAt: z.ZodCoercedDate<unknown>;
168
+ updatedAt: z.ZodCoercedDate<unknown>;
169
+ }, z.core.$strict>;
170
+ type Webhook = z.output<typeof webhookSchema>;
171
+ declare const createWebhookInputSchema: z.ZodObject<{
172
+ url: z.ZodURL;
173
+ events: z.ZodArray<z.ZodString>;
174
+ description: z.ZodOptional<z.ZodString>;
175
+ }, z.core.$strict>;
176
+ type CreateWebhookInput = z.infer<typeof createWebhookInputSchema>;
177
+ declare const updateWebhookInputSchema: z.ZodObject<{
178
+ url: z.ZodOptional<z.ZodURL>;
179
+ events: z.ZodOptional<z.ZodArray<z.ZodString>>;
180
+ description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
181
+ enabled: z.ZodOptional<z.ZodBoolean>;
182
+ }, z.core.$strict>;
183
+ type UpdateWebhookInput = z.infer<typeof updateWebhookInputSchema>;
184
+ declare const webhookSecretSchema: z.ZodObject<{
185
+ secret: z.ZodString;
186
+ }, z.core.$strict>;
187
+ type WebhookSecret = z.infer<typeof webhookSecretSchema>;
188
+ declare const createdWebhookSchema: z.ZodObject<{
189
+ orgId: z.ZodString;
190
+ id: z.ZodString;
191
+ url: z.ZodString;
192
+ events: z.ZodArray<z.ZodString>;
193
+ description: z.ZodNullable<z.ZodString>;
194
+ enabled: z.ZodBoolean;
195
+ createdAt: z.ZodCoercedDate<unknown>;
196
+ updatedAt: z.ZodCoercedDate<unknown>;
197
+ secret: z.ZodString;
198
+ }, z.core.$strict>;
199
+ type CreatedWebhook = z.output<typeof createdWebhookSchema>;
116
200
  //#endregion
117
- export { Automation, AutomationAction, AutomationActionResult, AutomationInput, AutomationRun, AutomationRunInput, AutomationRunStatus, AutomationRunsQuery, AutomationTrigger, AvailableAction, AvailableActions, AvailableTriggers, CreateAutomationInput, UpdateAutomationInput, automationActionResultSchema, automationActionSchema, automationRunSchema, automationRunStatusSchema, automationRunsQuerySchema, automationSchema, automationTriggerSchema, availableActionSchema, availableTriggersSchema, createAutomationInputSchema, updateAutomationInputSchema };
201
+ export { Automation, AutomationAction, AutomationActionResult, AutomationInput, AutomationKind, AutomationRun, AutomationRunInput, AutomationRunStatus, AutomationRunsQuery, AutomationSource, AutomationTrigger, AutomationsQuery, AvailableAction, AvailableActions, AvailableTriggers, CreateAutomationInput, CreateWebhookInput, CreatedWebhook, DeliverWebhookInput, MAX_AUTOMATION_ACTIONS, MAX_AUTOMATION_TRIGGERS, MAX_WEBHOOK_EVENTS, UpdateAutomationInput, UpdateWebhookInput, Webhook, WebhookSecret, automationActionResultSchema, automationActionSchema, automationKindSchema, automationRunSchema, automationRunStatusSchema, automationRunsQuerySchema, automationSchema, automationSourceSchema, automationTriggerSchema, automationTriggersSchema, automationsQuerySchema, availableActionSchema, availableTriggersSchema, createAutomationInputSchema, createWebhookInputSchema, createdWebhookSchema, deliverWebhookInputSchema, updateAutomationInputSchema, updateWebhookInputSchema, webhookSchema, webhookSecretSchema, webhookUrlSchema };
118
202
  //# sourceMappingURL=automations.d.ts.map
@@ -1,7 +1,14 @@
1
1
  import { domainEventSchema, idSchema, jsonRecordSchema } from "./shared.js";
2
+ import { isPublicHostname } from "../../shared/network.js";
2
3
  import { z } from "zod";
3
4
  //#region src/types/schemas/automations.ts
5
+ const MAX_AUTOMATION_TRIGGERS = 20;
6
+ const MAX_AUTOMATION_ACTIONS = 20;
7
+ const MAX_WEBHOOK_EVENTS = 100;
4
8
  const automationTriggerSchema = z.string().trim().min(1);
9
+ const automationTriggersSchema = z.array(automationTriggerSchema).min(1).max(20);
10
+ const automationKindSchema = z.enum(["workflow", "webhook"]);
11
+ const automationSourceSchema = z.enum(["system", "user"]);
5
12
  const automationActionSchema = z.object({
6
13
  type: z.string().trim().min(1),
7
14
  input: jsonRecordSchema
@@ -10,20 +17,25 @@ const automationSchema = z.object({
10
17
  orgId: idSchema,
11
18
  id: idSchema,
12
19
  name: z.string(),
20
+ kind: automationKindSchema,
13
21
  description: z.string().nullable(),
14
- trigger: automationTriggerSchema,
22
+ triggers: z.array(automationTriggerSchema),
15
23
  actions: z.array(automationActionSchema),
16
24
  enabled: z.boolean(),
25
+ filter: jsonRecordSchema.nullable(),
26
+ source: automationSourceSchema,
17
27
  createdAt: z.coerce.date(),
18
28
  updatedAt: z.coerce.date()
19
29
  }).strict();
20
30
  const createAutomationInputSchema = z.object({
21
31
  name: z.string(),
22
32
  description: z.string().optional(),
23
- trigger: automationTriggerSchema,
24
- actions: z.array(automationActionSchema)
33
+ triggers: automationTriggersSchema,
34
+ actions: z.array(automationActionSchema).min(1).max(20),
35
+ filter: jsonRecordSchema.nullable().optional()
25
36
  }).strict();
26
37
  const updateAutomationInputSchema = createAutomationInputSchema.partial().extend({ enabled: z.boolean().optional() });
38
+ const automationsQuerySchema = z.object({ kind: automationKindSchema.optional() }).strict();
27
39
  const automationRunsQuerySchema = z.object({
28
40
  page: z.number().int().min(1),
29
41
  pageSize: z.number().int().min(1),
@@ -43,7 +55,8 @@ const automationActionResultSchema = z.object({
43
55
  index: z.number().int().min(0),
44
56
  type: z.string().trim().min(1),
45
57
  status: z.enum(["completed", "failed"]),
46
- error: z.string().optional()
58
+ error: z.string().optional(),
59
+ recipients: z.array(z.string()).optional()
47
60
  }).strict();
48
61
  const automationRunSchema = z.object({
49
62
  orgId: idSchema,
@@ -55,7 +68,9 @@ const automationRunSchema = z.object({
55
68
  status: automationRunStatusSchema,
56
69
  actionResults: z.array(automationActionResultSchema),
57
70
  startedAt: z.coerce.date(),
58
- finishedAt: z.coerce.date().nullable()
71
+ finishedAt: z.coerce.date().nullable(),
72
+ createdAt: z.coerce.date(),
73
+ updatedAt: z.coerce.date()
59
74
  }).strict();
60
75
  const availableActionSchema = z.object({
61
76
  type: z.string().trim().min(1),
@@ -65,9 +80,34 @@ const availableActionSchema = z.object({
65
80
  }).strict();
66
81
  const availableTriggersSchema = z.object({ triggers: z.array(z.object({
67
82
  type: z.string().trim().min(1),
83
+ label: z.string().min(1),
84
+ category: z.string().min(1),
68
85
  description: z.string()
69
86
  }).strict()) }).strict();
87
+ const deliverWebhookInputSchema = z.object({
88
+ url: z.string(),
89
+ secretRef: idSchema
90
+ }).strict();
91
+ const webhookUrlSchema = z.url({ protocol: /^https?$/ }).refine((value) => isPublicHostname(new URL(value).hostname), { message: "Webhook URL must be a public address, not localhost or a private network address" });
92
+ const webhookSchema = z.object({
93
+ orgId: idSchema,
94
+ id: idSchema,
95
+ url: z.string(),
96
+ events: z.array(automationTriggerSchema),
97
+ description: z.string().nullable(),
98
+ enabled: z.boolean(),
99
+ createdAt: z.coerce.date(),
100
+ updatedAt: z.coerce.date()
101
+ }).strict();
102
+ const createWebhookInputSchema = z.object({
103
+ url: webhookUrlSchema,
104
+ events: z.array(automationTriggerSchema).min(1).max(100),
105
+ description: z.string().optional()
106
+ }).strict();
107
+ const updateWebhookInputSchema = createWebhookInputSchema.partial().extend({ enabled: z.boolean().optional() });
108
+ const webhookSecretSchema = z.object({ secret: z.string() }).strict();
109
+ const createdWebhookSchema = webhookSchema.extend({ secret: z.string() }).strict();
70
110
  //#endregion
71
- export { automationActionResultSchema, automationActionSchema, automationRunSchema, automationRunStatusSchema, automationRunsQuerySchema, automationSchema, automationTriggerSchema, availableActionSchema, availableTriggersSchema, createAutomationInputSchema, updateAutomationInputSchema };
111
+ export { MAX_AUTOMATION_ACTIONS, MAX_AUTOMATION_TRIGGERS, MAX_WEBHOOK_EVENTS, automationActionResultSchema, automationActionSchema, automationKindSchema, automationRunSchema, automationRunStatusSchema, automationRunsQuerySchema, automationSchema, automationSourceSchema, automationTriggerSchema, automationTriggersSchema, automationsQuerySchema, availableActionSchema, availableTriggersSchema, createAutomationInputSchema, createWebhookInputSchema, createdWebhookSchema, deliverWebhookInputSchema, updateAutomationInputSchema, updateWebhookInputSchema, webhookSchema, webhookSecretSchema, webhookUrlSchema };
72
112
 
73
113
  //# sourceMappingURL=automations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"automations.js","names":[],"sources":["../../../src/types/schemas/automations.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { domainEventSchema, idSchema, jsonRecordSchema } from \"./shared.js\";\n\nexport const automationTriggerSchema = z.string().trim().min(1);\nexport type AutomationTrigger = z.infer<typeof automationTriggerSchema>;\n\nexport const automationActionSchema = z.object({\n type: z.string().trim().min(1),\n input: jsonRecordSchema,\n}).strict();\nexport type AutomationAction = z.infer<typeof automationActionSchema>;\n\nexport const automationSchema = z.object({\n orgId: idSchema,\n id: idSchema,\n name: z.string(),\n description: z.string().nullable(),\n trigger: automationTriggerSchema,\n actions: z.array(automationActionSchema),\n enabled: z.boolean(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n}).strict();\nexport type Automation = z.output<typeof automationSchema>;\nexport type AutomationInput = z.input<typeof automationSchema>;\n\nexport const createAutomationInputSchema = z.object({\n name: z.string(),\n description: z.string().optional(),\n trigger: automationTriggerSchema,\n actions: z.array(automationActionSchema),\n}).strict();\nexport type CreateAutomationInput = z.infer<typeof createAutomationInputSchema>;\n\nexport const updateAutomationInputSchema = createAutomationInputSchema.partial().extend({\n enabled: z.boolean().optional(),\n});\nexport type UpdateAutomationInput = z.infer<typeof updateAutomationInputSchema>;\n\nexport const automationRunsQuerySchema = z.object({\n page: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n status: z.enum([\"running\", \"completed\", \"failed\"]).optional(),\n sort: z.string().optional(),\n}).strict();\nexport type AutomationRunsQuery = z.infer<typeof automationRunsQuerySchema>;\n\nexport const automationRunStatusSchema = z.enum([\"running\", \"completed\", \"failed\"]);\nexport type AutomationRunStatus = z.infer<typeof automationRunStatusSchema>;\n\nexport const automationActionResultSchema = z.object({\n index: z.number().int().min(0),\n type: z.string().trim().min(1),\n status: z.enum([\"completed\", \"failed\"]),\n error: z.string().optional(),\n}).strict();\nexport type AutomationActionResult = z.infer<typeof automationActionResultSchema>;\n\nexport const automationRunSchema = z.object({\n orgId: idSchema,\n id: idSchema,\n automationId: idSchema,\n trigger: automationTriggerSchema,\n eventId: idSchema,\n event: domainEventSchema,\n status: automationRunStatusSchema,\n actionResults: z.array(automationActionResultSchema),\n startedAt: z.coerce.date(),\n finishedAt: z.coerce.date().nullable(),\n}).strict();\nexport type AutomationRun = z.output<typeof automationRunSchema>;\nexport type AutomationRunInput = z.input<typeof automationRunSchema>;\n\nexport const availableActionSchema = z.object({\n type: z.string().trim().min(1),\n description: z.string(),\n inputSchema: jsonRecordSchema,\n source: z.string(),\n}).strict();\nexport type AvailableAction = z.infer<typeof availableActionSchema>;\nexport type AvailableActions = AvailableAction[];\n\nexport const availableTriggersSchema = z.object({\n triggers: z.array(z.object({ type: z.string().trim().min(1), description: z.string() }).strict()),\n}).strict();\nexport type AvailableTriggers = z.infer<typeof availableTriggersSchema>;\n"],"mappings":";;;AAGA,MAAa,0BAA0B,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAG9D,MAAa,yBAAyB,EAAE,OAAO;CAC7C,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,OAAO;AACT,CAAC,CAAC,CAAC,OAAO;AAGV,MAAa,mBAAmB,EAAE,OAAO;CACvC,OAAO;CACP,IAAI;CACJ,MAAM,EAAE,OAAO;CACf,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,SAAS;CACT,SAAS,EAAE,MAAM,sBAAsB;CACvC,SAAS,EAAE,QAAQ;CACnB,WAAW,EAAE,OAAO,KAAK;CACzB,WAAW,EAAE,OAAO,KAAK;AAC3B,CAAC,CAAC,CAAC,OAAO;AAIV,MAAa,8BAA8B,EAAE,OAAO;CAClD,MAAM,EAAE,OAAO;CACf,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,SAAS;CACT,SAAS,EAAE,MAAM,sBAAsB;AACzC,CAAC,CAAC,CAAC,OAAO;AAGV,MAAa,8BAA8B,4BAA4B,QAAQ,CAAC,CAAC,OAAO,EACtF,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,EAChC,CAAC;AAGD,MAAa,4BAA4B,EAAE,OAAO;CAChD,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;CAC5B,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;CAChC,QAAQ,EAAE,KAAK;EAAC;EAAW;EAAa;CAAQ,CAAC,CAAC,CAAC,SAAS;CAC5D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;AAC5B,CAAC,CAAC,CAAC,OAAO;AAGV,MAAa,4BAA4B,EAAE,KAAK;CAAC;CAAW;CAAa;AAAQ,CAAC;AAGlF,MAAa,+BAA+B,EAAE,OAAO;CACnD,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;CAC7B,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,QAAQ,CAAC;CACtC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;AAC7B,CAAC,CAAC,CAAC,OAAO;AAGV,MAAa,sBAAsB,EAAE,OAAO;CAC1C,OAAO;CACP,IAAI;CACJ,cAAc;CACd,SAAS;CACT,SAAS;CACT,OAAO;CACP,QAAQ;CACR,eAAe,EAAE,MAAM,4BAA4B;CACnD,WAAW,EAAE,OAAO,KAAK;CACzB,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC,SAAS;AACvC,CAAC,CAAC,CAAC,OAAO;AAIV,MAAa,wBAAwB,EAAE,OAAO;CAC5C,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,aAAa,EAAE,OAAO;CACtB,aAAa;CACb,QAAQ,EAAE,OAAO;AACnB,CAAC,CAAC,CAAC,OAAO;AAIV,MAAa,0BAA0B,EAAE,OAAO,EAC9C,UAAU,EAAE,MAAM,EAAE,OAAO;CAAE,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAAG,aAAa,EAAE,OAAO;AAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAClG,CAAC,CAAC,CAAC,OAAO"}
1
+ {"version":3,"file":"automations.js","names":[],"sources":["../../../src/types/schemas/automations.ts"],"sourcesContent":["import { z } from 'zod';\nimport { isPublicHostname } from '../../shared/network.js';\nimport { domainEventSchema, idSchema, jsonRecordSchema } from './shared.js';\n\nexport const MAX_AUTOMATION_TRIGGERS = 20;\nexport const MAX_AUTOMATION_ACTIONS = 20;\nexport const MAX_WEBHOOK_EVENTS = 100;\n\nexport const automationTriggerSchema = z.string().trim().min(1);\nexport type AutomationTrigger = z.infer<typeof automationTriggerSchema>;\n\nexport const automationTriggersSchema = z\n .array(automationTriggerSchema)\n .min(1)\n .max(MAX_AUTOMATION_TRIGGERS);\n\nexport const automationKindSchema = z.enum(['workflow', 'webhook']);\nexport type AutomationKind = z.infer<typeof automationKindSchema>;\n\nexport const automationSourceSchema = z.enum(['system', 'user']);\nexport type AutomationSource = z.infer<typeof automationSourceSchema>;\n\nexport const automationActionSchema = z\n .object({\n type: z.string().trim().min(1),\n input: jsonRecordSchema,\n })\n .strict();\nexport type AutomationAction = z.infer<typeof automationActionSchema>;\n\nexport const automationSchema = z\n .object({\n orgId: idSchema,\n id: idSchema,\n name: z.string(),\n kind: automationKindSchema,\n description: z.string().nullable(),\n triggers: z.array(automationTriggerSchema),\n actions: z.array(automationActionSchema),\n enabled: z.boolean(),\n filter: jsonRecordSchema.nullable(),\n source: automationSourceSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n })\n .strict();\nexport type Automation = z.output<typeof automationSchema>;\nexport type AutomationInput = z.input<typeof automationSchema>;\n\nexport const createAutomationInputSchema = z\n .object({\n name: z.string(),\n description: z.string().optional(),\n triggers: automationTriggersSchema,\n actions: z.array(automationActionSchema).min(1).max(MAX_AUTOMATION_ACTIONS),\n filter: jsonRecordSchema.nullable().optional(),\n })\n .strict();\nexport type CreateAutomationInput = z.infer<typeof createAutomationInputSchema>;\n\nexport const updateAutomationInputSchema = createAutomationInputSchema.partial().extend({\n enabled: z.boolean().optional(),\n});\nexport type UpdateAutomationInput = z.infer<typeof updateAutomationInputSchema>;\n\nexport const automationsQuerySchema = z\n .object({\n kind: automationKindSchema.optional(),\n })\n .strict();\nexport type AutomationsQuery = z.infer<typeof automationsQuerySchema>;\n\nexport const automationRunsQuerySchema = z\n .object({\n page: z.number().int().min(1),\n pageSize: z.number().int().min(1),\n status: z.enum(['running', 'completed', 'failed']).optional(),\n sort: z.string().optional(),\n })\n .strict();\nexport type AutomationRunsQuery = z.infer<typeof automationRunsQuerySchema>;\n\nexport const automationRunStatusSchema = z.enum(['running', 'completed', 'failed']);\nexport type AutomationRunStatus = z.infer<typeof automationRunStatusSchema>;\n\nexport const automationActionResultSchema = z\n .object({\n index: z.number().int().min(0),\n type: z.string().trim().min(1),\n status: z.enum(['completed', 'failed']),\n error: z.string().optional(),\n recipients: z.array(z.string()).optional(),\n })\n .strict();\nexport type AutomationActionResult = z.infer<typeof automationActionResultSchema>;\n\nexport const automationRunSchema = z\n .object({\n orgId: idSchema,\n id: idSchema,\n automationId: idSchema,\n trigger: automationTriggerSchema,\n eventId: idSchema,\n event: domainEventSchema,\n status: automationRunStatusSchema,\n actionResults: z.array(automationActionResultSchema),\n startedAt: z.coerce.date(),\n finishedAt: z.coerce.date().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n })\n .strict();\nexport type AutomationRun = z.output<typeof automationRunSchema>;\nexport type AutomationRunInput = z.input<typeof automationRunSchema>;\n\nexport const availableActionSchema = z\n .object({\n type: z.string().trim().min(1),\n description: z.string(),\n inputSchema: jsonRecordSchema,\n source: z.string(),\n })\n .strict();\nexport type AvailableAction = z.infer<typeof availableActionSchema>;\nexport type AvailableActions = AvailableAction[];\n\nexport const availableTriggersSchema = z\n .object({\n triggers: z.array(\n z\n .object({\n type: z.string().trim().min(1),\n label: z.string().min(1),\n category: z.string().min(1),\n description: z.string(),\n })\n .strict(),\n ),\n })\n .strict();\nexport type AvailableTriggers = z.infer<typeof availableTriggersSchema>;\n\nexport const deliverWebhookInputSchema = z\n .object({\n url: z.string(),\n secretRef: idSchema,\n })\n .strict();\nexport type DeliverWebhookInput = z.infer<typeof deliverWebhookInputSchema>;\n\nexport const webhookUrlSchema = z\n .url({ protocol: /^https?$/ })\n .refine((value) => isPublicHostname(new URL(value).hostname), {\n message: 'Webhook URL must be a public address, not localhost or a private network address',\n });\n\nexport const webhookSchema = z\n .object({\n orgId: idSchema,\n id: idSchema,\n url: z.string(),\n events: z.array(automationTriggerSchema),\n description: z.string().nullable(),\n enabled: z.boolean(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n })\n .strict();\nexport type Webhook = z.output<typeof webhookSchema>;\n\nexport const createWebhookInputSchema = z\n .object({\n url: webhookUrlSchema,\n events: z.array(automationTriggerSchema).min(1).max(MAX_WEBHOOK_EVENTS),\n description: z.string().optional(),\n })\n .strict();\nexport type CreateWebhookInput = z.infer<typeof createWebhookInputSchema>;\n\nexport const updateWebhookInputSchema = createWebhookInputSchema.partial().extend({\n enabled: z.boolean().optional(),\n});\nexport type UpdateWebhookInput = z.infer<typeof updateWebhookInputSchema>;\n\nexport const webhookSecretSchema = z\n .object({\n secret: z.string(),\n })\n .strict();\nexport type WebhookSecret = z.infer<typeof webhookSecretSchema>;\n\nexport const createdWebhookSchema = webhookSchema.extend({ secret: z.string() }).strict();\nexport type CreatedWebhook = z.output<typeof createdWebhookSchema>;\n"],"mappings":";;;;AAIA,MAAa,0BAA0B;AACvC,MAAa,yBAAyB;AACtC,MAAa,qBAAqB;AAElC,MAAa,0BAA0B,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAG9D,MAAa,2BAA2B,EACrC,MAAM,uBAAuB,CAAC,CAC9B,IAAI,CAAC,CAAC,CACN,IAAA,EAA2B;AAE9B,MAAa,uBAAuB,EAAE,KAAK,CAAC,YAAY,SAAS,CAAC;AAGlE,MAAa,yBAAyB,EAAE,KAAK,CAAC,UAAU,MAAM,CAAC;AAG/D,MAAa,yBAAyB,EACnC,OAAO;CACN,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,OAAO;AACT,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,mBAAmB,EAC7B,OAAO;CACN,OAAO;CACP,IAAI;CACJ,MAAM,EAAE,OAAO;CACf,MAAM;CACN,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,UAAU,EAAE,MAAM,uBAAuB;CACzC,SAAS,EAAE,MAAM,sBAAsB;CACvC,SAAS,EAAE,QAAQ;CACnB,QAAQ,iBAAiB,SAAS;CAClC,QAAQ;CACR,WAAW,EAAE,OAAO,KAAK;CACzB,WAAW,EAAE,OAAO,KAAK;AAC3B,CAAC,CAAC,CACD,OAAO;AAIV,MAAa,8BAA8B,EACxC,OAAO;CACN,MAAM,EAAE,OAAO;CACf,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,UAAU;CACV,SAAS,EAAE,MAAM,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,EAA0B;CAC1E,QAAQ,iBAAiB,SAAS,CAAC,CAAC,SAAS;AAC/C,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,8BAA8B,4BAA4B,QAAQ,CAAC,CAAC,OAAO,EACtF,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,EAChC,CAAC;AAGD,MAAa,yBAAyB,EACnC,OAAO,EACN,MAAM,qBAAqB,SAAS,EACtC,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,4BAA4B,EACtC,OAAO;CACN,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;CAC5B,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;CAChC,QAAQ,EAAE,KAAK;EAAC;EAAW;EAAa;CAAQ,CAAC,CAAC,CAAC,SAAS;CAC5D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;AAC5B,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,4BAA4B,EAAE,KAAK;CAAC;CAAW;CAAa;AAAQ,CAAC;AAGlF,MAAa,+BAA+B,EACzC,OAAO;CACN,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;CAC7B,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,QAAQ,CAAC;CACtC,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC3B,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;AAC3C,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,sBAAsB,EAChC,OAAO;CACN,OAAO;CACP,IAAI;CACJ,cAAc;CACd,SAAS;CACT,SAAS;CACT,OAAO;CACP,QAAQ;CACR,eAAe,EAAE,MAAM,4BAA4B;CACnD,WAAW,EAAE,OAAO,KAAK;CACzB,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC,SAAS;CACrC,WAAW,EAAE,OAAO,KAAK;CACzB,WAAW,EAAE,OAAO,KAAK;AAC3B,CAAC,CAAC,CACD,OAAO;AAIV,MAAa,wBAAwB,EAClC,OAAO;CACN,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,aAAa,EAAE,OAAO;CACtB,aAAa;CACb,QAAQ,EAAE,OAAO;AACnB,CAAC,CAAC,CACD,OAAO;AAIV,MAAa,0BAA0B,EACpC,OAAO,EACN,UAAU,EAAE,MACV,EACG,OAAO;CACN,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;CAC7B,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CACvB,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CAC1B,aAAa,EAAE,OAAO;AACxB,CAAC,CAAC,CACD,OAAO,CACZ,EACF,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,4BAA4B,EACtC,OAAO;CACN,KAAK,EAAE,OAAO;CACd,WAAW;AACb,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,mBAAmB,EAC7B,IAAI,EAAE,UAAU,WAAW,CAAC,CAAC,CAC7B,QAAQ,UAAU,iBAAiB,IAAI,IAAI,KAAK,CAAC,CAAC,QAAQ,GAAG,EAC5D,SAAS,mFACX,CAAC;AAEH,MAAa,gBAAgB,EAC1B,OAAO;CACN,OAAO;CACP,IAAI;CACJ,KAAK,EAAE,OAAO;CACd,QAAQ,EAAE,MAAM,uBAAuB;CACvC,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;CACjC,SAAS,EAAE,QAAQ;CACnB,WAAW,EAAE,OAAO,KAAK;CACzB,WAAW,EAAE,OAAO,KAAK;AAC3B,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,2BAA2B,EACrC,OAAO;CACN,KAAK;CACL,QAAQ,EAAE,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,GAAsB;CACtE,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS;AACnC,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,2BAA2B,yBAAyB,QAAQ,CAAC,CAAC,OAAO,EAChF,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,EAChC,CAAC;AAGD,MAAa,sBAAsB,EAChC,OAAO,EACN,QAAQ,EAAE,OAAO,EACnB,CAAC,CAAC,CACD,OAAO;AAGV,MAAa,uBAAuB,cAAc,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO"}