@adminiumjs/manifest 0.3.0-rc.4 → 0.3.1

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 (67) hide show
  1. package/dist/add-ons.d.ts +63 -0
  2. package/dist/add-ons.d.ts.map +1 -0
  3. package/dist/add-ons.js +100 -0
  4. package/dist/add-ons.js.map +1 -0
  5. package/dist/booking.d.ts +100 -0
  6. package/dist/booking.d.ts.map +1 -0
  7. package/dist/booking.js +237 -0
  8. package/dist/booking.js.map +1 -0
  9. package/dist/documents.d.ts +100 -0
  10. package/dist/documents.d.ts.map +1 -0
  11. package/dist/documents.js +148 -0
  12. package/dist/documents.js.map +1 -0
  13. package/dist/formula.d.ts +124 -0
  14. package/dist/formula.d.ts.map +1 -0
  15. package/dist/formula.js +428 -0
  16. package/dist/formula.js.map +1 -0
  17. package/dist/index.d.ts +14 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +14 -3
  20. package/dist/index.js.map +1 -1
  21. package/dist/outbox.d.ts +543 -0
  22. package/dist/outbox.d.ts.map +1 -0
  23. package/dist/outbox.js +559 -0
  24. package/dist/outbox.js.map +1 -0
  25. package/dist/page-calendar.d.ts +42 -0
  26. package/dist/page-calendar.d.ts.map +1 -0
  27. package/dist/page-calendar.js +95 -0
  28. package/dist/page-calendar.js.map +1 -0
  29. package/dist/plan-model.d.ts +1 -1
  30. package/dist/plan-model.d.ts.map +1 -1
  31. package/dist/public-access.d.ts +208 -0
  32. package/dist/public-access.d.ts.map +1 -0
  33. package/dist/public-access.js +681 -0
  34. package/dist/public-access.js.map +1 -0
  35. package/dist/refs.d.ts +91 -0
  36. package/dist/refs.d.ts.map +1 -0
  37. package/dist/refs.js +82 -0
  38. package/dist/refs.js.map +1 -0
  39. package/dist/roles.d.ts +44 -0
  40. package/dist/roles.d.ts.map +1 -0
  41. package/dist/roles.js +75 -0
  42. package/dist/roles.js.map +1 -0
  43. package/dist/sample.d.ts +150 -2
  44. package/dist/sample.d.ts.map +1 -1
  45. package/dist/sample.js +101 -3
  46. package/dist/sample.js.map +1 -1
  47. package/dist/schema.d.ts +3464 -151
  48. package/dist/schema.d.ts.map +1 -1
  49. package/dist/schema.js +681 -143
  50. package/dist/schema.js.map +1 -1
  51. package/dist/semver.d.ts +28 -0
  52. package/dist/semver.d.ts.map +1 -0
  53. package/dist/semver.js +85 -0
  54. package/dist/semver.js.map +1 -0
  55. package/dist/shapes.d.ts +97 -0
  56. package/dist/shapes.d.ts.map +1 -0
  57. package/dist/shapes.js +190 -0
  58. package/dist/shapes.js.map +1 -0
  59. package/dist/states.d.ts +134 -0
  60. package/dist/states.d.ts.map +1 -0
  61. package/dist/states.js +244 -0
  62. package/dist/states.js.map +1 -0
  63. package/dist/validate.d.ts +14 -0
  64. package/dist/validate.d.ts.map +1 -1
  65. package/dist/validate.js +29 -2
  66. package/dist/validate.js.map +1 -1
  67. package/package.json +2 -2
@@ -0,0 +1,543 @@
1
+ /**
2
+ * `outbox` and `emailTemplates` — the emails an app sends, declared with the
3
+ * app and versioned with it.
4
+ *
5
+ * The app's own table IS the outbox: every email is a row in it, queued by
6
+ * whatever wants it sent (a producer below, the desk's "Send now", an
7
+ * operator), then sent by Adminium, which records `sent`, `failed` or
8
+ * `skipped` on the row. So the table is the log a person reads, and a row of
9
+ * a kind already there for the same source is what stops a second send.
10
+ *
11
+ * Producers queue rows by themselves: when a row is created, when a column
12
+ * changes to a value, or a lead time before a timestamp (a reminder at the
13
+ * time each patient chose).
14
+ *
15
+ * Templates are stored with the app as their owner. An operator who edits
16
+ * one keeps the edit across the app's updates.
17
+ *
18
+ * A producer may HOLD what it queues: the row is written `held`, with the
19
+ * moment it becomes due, and nothing is sent until someone approves it (a
20
+ * reminder about an unpaid invoice, whose wording the sender may edit).
21
+ * Messages of one `supersede` group give way to a later one that comes due,
22
+ * `dropWhen` skips waiting ones once they are no longer needed (the invoice
23
+ * was paid), and `onSent` changes a linked row once the message has gone
24
+ * (the third reminder pauses the project).
25
+ */
26
+ import { z } from 'zod';
27
+ import type { AddOnNeeds } from './add-ons.js';
28
+ import { type ReferenceIssue, type TableIndex } from './refs.js';
29
+ /** The statuses an outbox table's status column must offer. */
30
+ export declare const OUTBOX_STATUSES: readonly ["queued", "sent", "failed", "skipped"];
31
+ /** The status a held message waits in, when any producer holds. */
32
+ export declare const OUTBOX_HELD = "held";
33
+ /** Why a waiting message was skipped. `overtaken` and `by-hand` are Adminium's and the desk's. */
34
+ export declare const OUTBOX_SKIP_REASONS: readonly ["overtaken", "paid", "void", "no-longer-needed", "by-hand"];
35
+ export declare const outboxProducerSchema: z.ZodUnion<readonly [z.ZodObject<{
36
+ onCreate: z.ZodObject<{
37
+ table: z.ZodString;
38
+ via: z.ZodOptional<z.ZodString>;
39
+ where: z.ZodOptional<z.ZodObject<{
40
+ column: z.ZodString;
41
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
42
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
43
+ isNull: z.ZodOptional<z.ZodBoolean>;
44
+ }, z.core.$strict>>;
45
+ }, z.core.$strict>;
46
+ kind: z.ZodString;
47
+ link: z.ZodString;
48
+ gate: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"enabled">, z.ZodObject<{
49
+ setting: z.ZodObject<{
50
+ table: z.ZodString;
51
+ column: z.ZodString;
52
+ }, z.core.$strict>;
53
+ }, z.core.$strict>]>>;
54
+ optIn: z.ZodOptional<z.ZodLiteral<true>>;
55
+ hold: z.ZodOptional<z.ZodLiteral<true>>;
56
+ due: z.ZodOptional<z.ZodObject<{
57
+ date: z.ZodString;
58
+ days: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
59
+ byColumn: z.ZodString;
60
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
61
+ }, z.core.$strict>, z.ZodObject<{
62
+ setting: z.ZodUnion<readonly [z.ZodObject<{
63
+ table: z.ZodString;
64
+ column: z.ZodString;
65
+ }, z.core.$strict>, z.ZodObject<{
66
+ addOn: z.ZodString;
67
+ setting: z.ZodString;
68
+ }, z.core.$strict>]>;
69
+ byColumn: z.ZodOptional<z.ZodString>;
70
+ index: z.ZodOptional<z.ZodNumber>;
71
+ }, z.core.$strict>]>;
72
+ at: z.ZodOptional<z.ZodString>;
73
+ }, z.core.$strict>>;
74
+ supersede: z.ZodOptional<z.ZodString>;
75
+ dropWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
76
+ column: z.ZodString;
77
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
78
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
79
+ isNull: z.ZodOptional<z.ZodBoolean>;
80
+ lte: z.ZodOptional<z.ZodNumber>;
81
+ gte: z.ZodOptional<z.ZodNumber>;
82
+ reason: z.ZodEnum<{
83
+ void: "void";
84
+ paid: "paid";
85
+ "no-longer-needed": "no-longer-needed";
86
+ }>;
87
+ }, z.core.$strict>>>;
88
+ recipient: z.ZodOptional<z.ZodObject<{
89
+ setting: z.ZodUnion<readonly [z.ZodObject<{
90
+ table: z.ZodString;
91
+ column: z.ZodString;
92
+ }, z.core.$strict>, z.ZodObject<{
93
+ addOn: z.ZodString;
94
+ setting: z.ZodString;
95
+ }, z.core.$strict>]>;
96
+ }, z.core.$strict>>;
97
+ batchMinutes: z.ZodOptional<z.ZodNumber>;
98
+ onSent: z.ZodOptional<z.ZodObject<{
99
+ table: z.ZodString;
100
+ via: z.ZodOptional<z.ZodString>;
101
+ set: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull]>>;
102
+ }, z.core.$strict>>;
103
+ }, z.core.$strict>, z.ZodObject<{
104
+ onChange: z.ZodObject<{
105
+ table: z.ZodString;
106
+ via: z.ZodOptional<z.ZodString>;
107
+ column: z.ZodString;
108
+ to: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>;
109
+ where: z.ZodOptional<z.ZodObject<{
110
+ column: z.ZodString;
111
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
112
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
113
+ isNull: z.ZodOptional<z.ZodBoolean>;
114
+ }, z.core.$strict>>;
115
+ }, z.core.$strict>;
116
+ kind: z.ZodString;
117
+ link: z.ZodString;
118
+ gate: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"enabled">, z.ZodObject<{
119
+ setting: z.ZodObject<{
120
+ table: z.ZodString;
121
+ column: z.ZodString;
122
+ }, z.core.$strict>;
123
+ }, z.core.$strict>]>>;
124
+ optIn: z.ZodOptional<z.ZodLiteral<true>>;
125
+ hold: z.ZodOptional<z.ZodLiteral<true>>;
126
+ due: z.ZodOptional<z.ZodObject<{
127
+ date: z.ZodString;
128
+ days: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
129
+ byColumn: z.ZodString;
130
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
131
+ }, z.core.$strict>, z.ZodObject<{
132
+ setting: z.ZodUnion<readonly [z.ZodObject<{
133
+ table: z.ZodString;
134
+ column: z.ZodString;
135
+ }, z.core.$strict>, z.ZodObject<{
136
+ addOn: z.ZodString;
137
+ setting: z.ZodString;
138
+ }, z.core.$strict>]>;
139
+ byColumn: z.ZodOptional<z.ZodString>;
140
+ index: z.ZodOptional<z.ZodNumber>;
141
+ }, z.core.$strict>]>;
142
+ at: z.ZodOptional<z.ZodString>;
143
+ }, z.core.$strict>>;
144
+ supersede: z.ZodOptional<z.ZodString>;
145
+ dropWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
146
+ column: z.ZodString;
147
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
148
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
149
+ isNull: z.ZodOptional<z.ZodBoolean>;
150
+ lte: z.ZodOptional<z.ZodNumber>;
151
+ gte: z.ZodOptional<z.ZodNumber>;
152
+ reason: z.ZodEnum<{
153
+ void: "void";
154
+ paid: "paid";
155
+ "no-longer-needed": "no-longer-needed";
156
+ }>;
157
+ }, z.core.$strict>>>;
158
+ recipient: z.ZodOptional<z.ZodObject<{
159
+ setting: z.ZodUnion<readonly [z.ZodObject<{
160
+ table: z.ZodString;
161
+ column: z.ZodString;
162
+ }, z.core.$strict>, z.ZodObject<{
163
+ addOn: z.ZodString;
164
+ setting: z.ZodString;
165
+ }, z.core.$strict>]>;
166
+ }, z.core.$strict>>;
167
+ batchMinutes: z.ZodOptional<z.ZodNumber>;
168
+ onSent: z.ZodOptional<z.ZodObject<{
169
+ table: z.ZodString;
170
+ via: z.ZodOptional<z.ZodString>;
171
+ set: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull]>>;
172
+ }, z.core.$strict>>;
173
+ }, z.core.$strict>, z.ZodObject<{
174
+ before: z.ZodObject<{
175
+ table: z.ZodString;
176
+ at: z.ZodString;
177
+ lead: z.ZodObject<{
178
+ via: z.ZodString;
179
+ table: z.ZodString;
180
+ column: z.ZodString;
181
+ fallback: z.ZodOptional<z.ZodObject<{
182
+ table: z.ZodString;
183
+ column: z.ZodString;
184
+ }, z.core.$strict>>;
185
+ max: z.ZodNumber;
186
+ }, z.core.$strict>;
187
+ where: z.ZodOptional<z.ZodObject<{
188
+ column: z.ZodString;
189
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
190
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
191
+ isNull: z.ZodOptional<z.ZodBoolean>;
192
+ }, z.core.$strict>>;
193
+ }, z.core.$strict>;
194
+ kind: z.ZodString;
195
+ link: z.ZodString;
196
+ gate: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"enabled">, z.ZodObject<{
197
+ setting: z.ZodObject<{
198
+ table: z.ZodString;
199
+ column: z.ZodString;
200
+ }, z.core.$strict>;
201
+ }, z.core.$strict>]>>;
202
+ optIn: z.ZodOptional<z.ZodLiteral<true>>;
203
+ hold: z.ZodOptional<z.ZodLiteral<true>>;
204
+ due: z.ZodOptional<z.ZodObject<{
205
+ date: z.ZodString;
206
+ days: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
207
+ byColumn: z.ZodString;
208
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
209
+ }, z.core.$strict>, z.ZodObject<{
210
+ setting: z.ZodUnion<readonly [z.ZodObject<{
211
+ table: z.ZodString;
212
+ column: z.ZodString;
213
+ }, z.core.$strict>, z.ZodObject<{
214
+ addOn: z.ZodString;
215
+ setting: z.ZodString;
216
+ }, z.core.$strict>]>;
217
+ byColumn: z.ZodOptional<z.ZodString>;
218
+ index: z.ZodOptional<z.ZodNumber>;
219
+ }, z.core.$strict>]>;
220
+ at: z.ZodOptional<z.ZodString>;
221
+ }, z.core.$strict>>;
222
+ supersede: z.ZodOptional<z.ZodString>;
223
+ dropWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
224
+ column: z.ZodString;
225
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
226
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
227
+ isNull: z.ZodOptional<z.ZodBoolean>;
228
+ lte: z.ZodOptional<z.ZodNumber>;
229
+ gte: z.ZodOptional<z.ZodNumber>;
230
+ reason: z.ZodEnum<{
231
+ void: "void";
232
+ paid: "paid";
233
+ "no-longer-needed": "no-longer-needed";
234
+ }>;
235
+ }, z.core.$strict>>>;
236
+ recipient: z.ZodOptional<z.ZodObject<{
237
+ setting: z.ZodUnion<readonly [z.ZodObject<{
238
+ table: z.ZodString;
239
+ column: z.ZodString;
240
+ }, z.core.$strict>, z.ZodObject<{
241
+ addOn: z.ZodString;
242
+ setting: z.ZodString;
243
+ }, z.core.$strict>]>;
244
+ }, z.core.$strict>>;
245
+ batchMinutes: z.ZodOptional<z.ZodNumber>;
246
+ onSent: z.ZodOptional<z.ZodObject<{
247
+ table: z.ZodString;
248
+ via: z.ZodOptional<z.ZodString>;
249
+ set: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull]>>;
250
+ }, z.core.$strict>>;
251
+ }, z.core.$strict>]>;
252
+ export type OutboxProducer = z.infer<typeof outboxProducerSchema>;
253
+ export declare const outboxSchema: z.ZodObject<{
254
+ table: z.ZodString;
255
+ columns: z.ZodObject<{
256
+ kind: z.ZodString;
257
+ status: z.ZodString;
258
+ to: z.ZodString;
259
+ language: z.ZodOptional<z.ZodString>;
260
+ due: z.ZodOptional<z.ZodString>;
261
+ sentAt: z.ZodOptional<z.ZodString>;
262
+ error: z.ZodOptional<z.ZodString>;
263
+ skipReason: z.ZodOptional<z.ZodString>;
264
+ subjectOverride: z.ZodOptional<z.ZodString>;
265
+ bodyOverride: z.ZodOptional<z.ZodString>;
266
+ approvedBy: z.ZodOptional<z.ZodString>;
267
+ effectAt: z.ZodOptional<z.ZodString>;
268
+ effectError: z.ZodOptional<z.ZodString>;
269
+ }, z.core.$strict>;
270
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
271
+ recipient: z.ZodObject<{
272
+ via: z.ZodString;
273
+ table: z.ZodString;
274
+ email: z.ZodString;
275
+ name: z.ZodOptional<z.ZodString>;
276
+ language: z.ZodOptional<z.ZodString>;
277
+ optIn: z.ZodOptional<z.ZodString>;
278
+ fallback: z.ZodOptional<z.ZodObject<{
279
+ via: z.ZodString;
280
+ email: z.ZodString;
281
+ name: z.ZodOptional<z.ZodString>;
282
+ language: z.ZodOptional<z.ZodString>;
283
+ }, z.core.$strict>>;
284
+ }, z.core.$strict>;
285
+ settings: z.ZodOptional<z.ZodObject<{
286
+ table: z.ZodString;
287
+ enabled: z.ZodOptional<z.ZodString>;
288
+ name: z.ZodOptional<z.ZodString>;
289
+ phone: z.ZodOptional<z.ZodString>;
290
+ }, z.core.$strict>>;
291
+ pages: z.ZodOptional<z.ZodObject<{
292
+ manage: z.ZodOptional<z.ZodString>;
293
+ booking: z.ZodOptional<z.ZodString>;
294
+ }, z.core.$strict>>;
295
+ kinds: z.ZodRecord<z.ZodString, z.ZodString>;
296
+ producers: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
297
+ onCreate: z.ZodObject<{
298
+ table: z.ZodString;
299
+ via: z.ZodOptional<z.ZodString>;
300
+ where: z.ZodOptional<z.ZodObject<{
301
+ column: z.ZodString;
302
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
303
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
304
+ isNull: z.ZodOptional<z.ZodBoolean>;
305
+ }, z.core.$strict>>;
306
+ }, z.core.$strict>;
307
+ kind: z.ZodString;
308
+ link: z.ZodString;
309
+ gate: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"enabled">, z.ZodObject<{
310
+ setting: z.ZodObject<{
311
+ table: z.ZodString;
312
+ column: z.ZodString;
313
+ }, z.core.$strict>;
314
+ }, z.core.$strict>]>>;
315
+ optIn: z.ZodOptional<z.ZodLiteral<true>>;
316
+ hold: z.ZodOptional<z.ZodLiteral<true>>;
317
+ due: z.ZodOptional<z.ZodObject<{
318
+ date: z.ZodString;
319
+ days: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
320
+ byColumn: z.ZodString;
321
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
322
+ }, z.core.$strict>, z.ZodObject<{
323
+ setting: z.ZodUnion<readonly [z.ZodObject<{
324
+ table: z.ZodString;
325
+ column: z.ZodString;
326
+ }, z.core.$strict>, z.ZodObject<{
327
+ addOn: z.ZodString;
328
+ setting: z.ZodString;
329
+ }, z.core.$strict>]>;
330
+ byColumn: z.ZodOptional<z.ZodString>;
331
+ index: z.ZodOptional<z.ZodNumber>;
332
+ }, z.core.$strict>]>;
333
+ at: z.ZodOptional<z.ZodString>;
334
+ }, z.core.$strict>>;
335
+ supersede: z.ZodOptional<z.ZodString>;
336
+ dropWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
337
+ column: z.ZodString;
338
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
339
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
340
+ isNull: z.ZodOptional<z.ZodBoolean>;
341
+ lte: z.ZodOptional<z.ZodNumber>;
342
+ gte: z.ZodOptional<z.ZodNumber>;
343
+ reason: z.ZodEnum<{
344
+ void: "void";
345
+ paid: "paid";
346
+ "no-longer-needed": "no-longer-needed";
347
+ }>;
348
+ }, z.core.$strict>>>;
349
+ recipient: z.ZodOptional<z.ZodObject<{
350
+ setting: z.ZodUnion<readonly [z.ZodObject<{
351
+ table: z.ZodString;
352
+ column: z.ZodString;
353
+ }, z.core.$strict>, z.ZodObject<{
354
+ addOn: z.ZodString;
355
+ setting: z.ZodString;
356
+ }, z.core.$strict>]>;
357
+ }, z.core.$strict>>;
358
+ batchMinutes: z.ZodOptional<z.ZodNumber>;
359
+ onSent: z.ZodOptional<z.ZodObject<{
360
+ table: z.ZodString;
361
+ via: z.ZodOptional<z.ZodString>;
362
+ set: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull]>>;
363
+ }, z.core.$strict>>;
364
+ }, z.core.$strict>, z.ZodObject<{
365
+ onChange: z.ZodObject<{
366
+ table: z.ZodString;
367
+ via: z.ZodOptional<z.ZodString>;
368
+ column: z.ZodString;
369
+ to: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>;
370
+ where: z.ZodOptional<z.ZodObject<{
371
+ column: z.ZodString;
372
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
373
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
374
+ isNull: z.ZodOptional<z.ZodBoolean>;
375
+ }, z.core.$strict>>;
376
+ }, z.core.$strict>;
377
+ kind: z.ZodString;
378
+ link: z.ZodString;
379
+ gate: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"enabled">, z.ZodObject<{
380
+ setting: z.ZodObject<{
381
+ table: z.ZodString;
382
+ column: z.ZodString;
383
+ }, z.core.$strict>;
384
+ }, z.core.$strict>]>>;
385
+ optIn: z.ZodOptional<z.ZodLiteral<true>>;
386
+ hold: z.ZodOptional<z.ZodLiteral<true>>;
387
+ due: z.ZodOptional<z.ZodObject<{
388
+ date: z.ZodString;
389
+ days: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
390
+ byColumn: z.ZodString;
391
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
392
+ }, z.core.$strict>, z.ZodObject<{
393
+ setting: z.ZodUnion<readonly [z.ZodObject<{
394
+ table: z.ZodString;
395
+ column: z.ZodString;
396
+ }, z.core.$strict>, z.ZodObject<{
397
+ addOn: z.ZodString;
398
+ setting: z.ZodString;
399
+ }, z.core.$strict>]>;
400
+ byColumn: z.ZodOptional<z.ZodString>;
401
+ index: z.ZodOptional<z.ZodNumber>;
402
+ }, z.core.$strict>]>;
403
+ at: z.ZodOptional<z.ZodString>;
404
+ }, z.core.$strict>>;
405
+ supersede: z.ZodOptional<z.ZodString>;
406
+ dropWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
407
+ column: z.ZodString;
408
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
409
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
410
+ isNull: z.ZodOptional<z.ZodBoolean>;
411
+ lte: z.ZodOptional<z.ZodNumber>;
412
+ gte: z.ZodOptional<z.ZodNumber>;
413
+ reason: z.ZodEnum<{
414
+ void: "void";
415
+ paid: "paid";
416
+ "no-longer-needed": "no-longer-needed";
417
+ }>;
418
+ }, z.core.$strict>>>;
419
+ recipient: z.ZodOptional<z.ZodObject<{
420
+ setting: z.ZodUnion<readonly [z.ZodObject<{
421
+ table: z.ZodString;
422
+ column: z.ZodString;
423
+ }, z.core.$strict>, z.ZodObject<{
424
+ addOn: z.ZodString;
425
+ setting: z.ZodString;
426
+ }, z.core.$strict>]>;
427
+ }, z.core.$strict>>;
428
+ batchMinutes: z.ZodOptional<z.ZodNumber>;
429
+ onSent: z.ZodOptional<z.ZodObject<{
430
+ table: z.ZodString;
431
+ via: z.ZodOptional<z.ZodString>;
432
+ set: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull]>>;
433
+ }, z.core.$strict>>;
434
+ }, z.core.$strict>, z.ZodObject<{
435
+ before: z.ZodObject<{
436
+ table: z.ZodString;
437
+ at: z.ZodString;
438
+ lead: z.ZodObject<{
439
+ via: z.ZodString;
440
+ table: z.ZodString;
441
+ column: z.ZodString;
442
+ fallback: z.ZodOptional<z.ZodObject<{
443
+ table: z.ZodString;
444
+ column: z.ZodString;
445
+ }, z.core.$strict>>;
446
+ max: z.ZodNumber;
447
+ }, z.core.$strict>;
448
+ where: z.ZodOptional<z.ZodObject<{
449
+ column: z.ZodString;
450
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
451
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
452
+ isNull: z.ZodOptional<z.ZodBoolean>;
453
+ }, z.core.$strict>>;
454
+ }, z.core.$strict>;
455
+ kind: z.ZodString;
456
+ link: z.ZodString;
457
+ gate: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"enabled">, z.ZodObject<{
458
+ setting: z.ZodObject<{
459
+ table: z.ZodString;
460
+ column: z.ZodString;
461
+ }, z.core.$strict>;
462
+ }, z.core.$strict>]>>;
463
+ optIn: z.ZodOptional<z.ZodLiteral<true>>;
464
+ hold: z.ZodOptional<z.ZodLiteral<true>>;
465
+ due: z.ZodOptional<z.ZodObject<{
466
+ date: z.ZodString;
467
+ days: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
468
+ byColumn: z.ZodString;
469
+ values: z.ZodRecord<z.ZodString, z.ZodNumber>;
470
+ }, z.core.$strict>, z.ZodObject<{
471
+ setting: z.ZodUnion<readonly [z.ZodObject<{
472
+ table: z.ZodString;
473
+ column: z.ZodString;
474
+ }, z.core.$strict>, z.ZodObject<{
475
+ addOn: z.ZodString;
476
+ setting: z.ZodString;
477
+ }, z.core.$strict>]>;
478
+ byColumn: z.ZodOptional<z.ZodString>;
479
+ index: z.ZodOptional<z.ZodNumber>;
480
+ }, z.core.$strict>]>;
481
+ at: z.ZodOptional<z.ZodString>;
482
+ }, z.core.$strict>>;
483
+ supersede: z.ZodOptional<z.ZodString>;
484
+ dropWhen: z.ZodOptional<z.ZodArray<z.ZodObject<{
485
+ column: z.ZodString;
486
+ eq: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
487
+ in: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
488
+ isNull: z.ZodOptional<z.ZodBoolean>;
489
+ lte: z.ZodOptional<z.ZodNumber>;
490
+ gte: z.ZodOptional<z.ZodNumber>;
491
+ reason: z.ZodEnum<{
492
+ void: "void";
493
+ paid: "paid";
494
+ "no-longer-needed": "no-longer-needed";
495
+ }>;
496
+ }, z.core.$strict>>>;
497
+ recipient: z.ZodOptional<z.ZodObject<{
498
+ setting: z.ZodUnion<readonly [z.ZodObject<{
499
+ table: z.ZodString;
500
+ column: z.ZodString;
501
+ }, z.core.$strict>, z.ZodObject<{
502
+ addOn: z.ZodString;
503
+ setting: z.ZodString;
504
+ }, z.core.$strict>]>;
505
+ }, z.core.$strict>>;
506
+ batchMinutes: z.ZodOptional<z.ZodNumber>;
507
+ onSent: z.ZodOptional<z.ZodObject<{
508
+ table: z.ZodString;
509
+ via: z.ZodOptional<z.ZodString>;
510
+ set: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>, z.ZodNull]>>;
511
+ }, z.core.$strict>>;
512
+ }, z.core.$strict>]>>>;
513
+ }, z.core.$strict>;
514
+ export type Outbox = z.infer<typeof outboxSchema>;
515
+ export declare const emailTemplateSchema: z.ZodObject<{
516
+ key: z.ZodString;
517
+ name: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
518
+ attach: z.ZodOptional<z.ZodObject<{
519
+ kind: z.ZodString;
520
+ link: z.ZodString;
521
+ }, z.core.$strict>>;
522
+ vars: z.ZodOptional<z.ZodArray<z.ZodString>>;
523
+ locales: z.ZodRecord<z.ZodString, z.ZodObject<{
524
+ subject: z.ZodString;
525
+ preheader: z.ZodOptional<z.ZodString>;
526
+ blocks: z.ZodArray<z.ZodObject<{
527
+ block: z.ZodString;
528
+ id: z.ZodOptional<z.ZodString>;
529
+ label: z.ZodOptional<z.ZodString>;
530
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
531
+ }, z.core.$strict>>;
532
+ footer: z.ZodOptional<z.ZodString>;
533
+ }, z.core.$strict>>;
534
+ }, z.core.$strict>;
535
+ export type EmailTemplate = z.infer<typeof emailTemplateSchema>;
536
+ /** Everything in `outbox` and `emailTemplates` that names something undeclared, or does not fit. */
537
+ export declare function outboxIssues(m: {
538
+ key: string;
539
+ outbox?: Outbox | undefined;
540
+ emailTemplates?: readonly EmailTemplate[] | undefined;
541
+ addOns?: AddOnNeeds | undefined;
542
+ }, index: TableIndex): ReferenceIssue[];
543
+ //# sourceMappingURL=outbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../src/outbox.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAQL,KAAK,cAAc,EAEnB,KAAK,UAAU,EAChB,MAAM,WAAW,CAAC;AAEnB,+DAA+D;AAC/D,eAAO,MAAM,eAAe,kDAAmD,CAAC;AAEhF,mEAAmE;AACnE,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,kGAAkG;AAClG,eAAO,MAAM,mBAAmB,uEAAwE,CAAC;AA4FzG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8C/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAuBlE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuDd,CAAC;AACZ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AA4BlD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;kBAmBrB,CAAC;AACZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,oGAAoG;AACpG,wBAAgB,YAAY,CAC1B,CAAC,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IACtD,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACjC,EACD,KAAK,EAAE,UAAU,GAChB,cAAc,EAAE,CA0OlB"}