@stackframe/stack-shared 2.8.55 → 2.8.58

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 (154) hide show
  1. package/dist/apps/apps-config.d.mts +7 -1
  2. package/dist/apps/apps-config.d.ts +7 -1
  3. package/dist/apps/apps-config.js +7 -1
  4. package/dist/apps/apps-config.js.map +1 -1
  5. package/dist/config/schema-fuzzer.test.js +3 -0
  6. package/dist/config/schema-fuzzer.test.js.map +1 -1
  7. package/dist/config/schema.d.mts +162 -114
  8. package/dist/config/schema.d.ts +162 -114
  9. package/dist/config/schema.js +7 -0
  10. package/dist/config/schema.js.map +1 -1
  11. package/dist/esm/apps/apps-config.js +7 -1
  12. package/dist/esm/apps/apps-config.js.map +1 -1
  13. package/dist/esm/config/schema-fuzzer.test.js +3 -0
  14. package/dist/esm/config/schema-fuzzer.test.js.map +1 -1
  15. package/dist/esm/config/schema.js +7 -0
  16. package/dist/esm/config/schema.js.map +1 -1
  17. package/dist/esm/interface/admin-interface.js +49 -1
  18. package/dist/esm/interface/admin-interface.js.map +1 -1
  19. package/dist/esm/interface/client-interface.js +13 -4
  20. package/dist/esm/interface/client-interface.js.map +1 -1
  21. package/dist/esm/interface/crud/current-user.js +5 -2
  22. package/dist/esm/interface/crud/current-user.js.map +1 -1
  23. package/dist/esm/interface/crud/email-outbox.js +204 -0
  24. package/dist/esm/interface/crud/email-outbox.js.map +1 -0
  25. package/dist/esm/interface/crud/emails.js +6 -3
  26. package/dist/esm/interface/crud/emails.js.map +1 -1
  27. package/dist/esm/interface/crud/notification-preferences.js +13 -1
  28. package/dist/esm/interface/crud/notification-preferences.js.map +1 -1
  29. package/dist/esm/interface/crud/oauth-providers.js +10 -5
  30. package/dist/esm/interface/crud/oauth-providers.js.map +1 -1
  31. package/dist/esm/interface/crud/projects.js +9 -4
  32. package/dist/esm/interface/crud/projects.js.map +1 -1
  33. package/dist/esm/interface/crud/users.js +9 -2
  34. package/dist/esm/interface/crud/users.js.map +1 -1
  35. package/dist/esm/interface/server-interface.js +16 -0
  36. package/dist/esm/interface/server-interface.js.map +1 -1
  37. package/dist/esm/known-errors.js +45 -1
  38. package/dist/esm/known-errors.js.map +1 -1
  39. package/dist/esm/schema-fields.js +26 -2
  40. package/dist/esm/schema-fields.js.map +1 -1
  41. package/dist/esm/sessions.js +72 -8
  42. package/dist/esm/sessions.js.map +1 -1
  43. package/dist/esm/utils/env.js +13 -2
  44. package/dist/esm/utils/env.js.map +1 -1
  45. package/dist/esm/utils/esbuild.js +50 -21
  46. package/dist/esm/utils/esbuild.js.map +1 -1
  47. package/dist/esm/utils/globals.js +12 -0
  48. package/dist/esm/utils/globals.js.map +1 -1
  49. package/dist/esm/utils/paginated-lists.js +153 -23
  50. package/dist/esm/utils/paginated-lists.js.map +1 -1
  51. package/dist/esm/utils/paginated-lists.test.js +842 -0
  52. package/dist/esm/utils/paginated-lists.test.js.map +1 -0
  53. package/dist/esm/utils/proxies.js +28 -1
  54. package/dist/esm/utils/proxies.js.map +1 -1
  55. package/dist/esm/utils/react.js +7 -3
  56. package/dist/esm/utils/react.js.map +1 -1
  57. package/dist/esm/utils/results.js.map +1 -1
  58. package/dist/index.d.mts +1 -1
  59. package/dist/index.d.ts +1 -1
  60. package/dist/interface/admin-interface.d.mts +26 -3
  61. package/dist/interface/admin-interface.d.ts +26 -3
  62. package/dist/interface/admin-interface.js +49 -1
  63. package/dist/interface/admin-interface.js.map +1 -1
  64. package/dist/interface/client-interface.d.mts +5 -0
  65. package/dist/interface/client-interface.d.ts +5 -0
  66. package/dist/interface/client-interface.js +13 -4
  67. package/dist/interface/client-interface.js.map +1 -1
  68. package/dist/interface/crud/current-user.d.mts +23 -6
  69. package/dist/interface/crud/current-user.d.ts +23 -6
  70. package/dist/interface/crud/current-user.js +5 -2
  71. package/dist/interface/crud/current-user.js.map +1 -1
  72. package/dist/interface/crud/email-outbox.d.mts +1075 -0
  73. package/dist/interface/crud/email-outbox.d.ts +1075 -0
  74. package/dist/interface/crud/email-outbox.js +241 -0
  75. package/dist/interface/crud/email-outbox.js.map +1 -0
  76. package/dist/interface/crud/emails.d.mts +5 -34
  77. package/dist/interface/crud/emails.d.ts +5 -34
  78. package/dist/interface/crud/emails.js +6 -3
  79. package/dist/interface/crud/emails.js.map +1 -1
  80. package/dist/interface/crud/notification-preferences.d.mts +12 -0
  81. package/dist/interface/crud/notification-preferences.d.ts +12 -0
  82. package/dist/interface/crud/notification-preferences.js +13 -1
  83. package/dist/interface/crud/notification-preferences.js.map +1 -1
  84. package/dist/interface/crud/oauth-providers.d.mts +5 -0
  85. package/dist/interface/crud/oauth-providers.d.ts +5 -0
  86. package/dist/interface/crud/oauth-providers.js +10 -5
  87. package/dist/interface/crud/oauth-providers.js.map +1 -1
  88. package/dist/interface/crud/project-api-keys.d.mts +1 -1
  89. package/dist/interface/crud/project-api-keys.d.ts +1 -1
  90. package/dist/interface/crud/projects.d.mts +73 -66
  91. package/dist/interface/crud/projects.d.ts +73 -66
  92. package/dist/interface/crud/projects.js +9 -4
  93. package/dist/interface/crud/projects.js.map +1 -1
  94. package/dist/interface/crud/team-member-profiles.d.mts +28 -12
  95. package/dist/interface/crud/team-member-profiles.d.ts +28 -12
  96. package/dist/interface/crud/users.d.mts +38 -6
  97. package/dist/interface/crud/users.d.ts +38 -6
  98. package/dist/interface/crud/users.js +9 -2
  99. package/dist/interface/crud/users.js.map +1 -1
  100. package/dist/interface/server-interface.d.mts +29 -0
  101. package/dist/interface/server-interface.d.ts +29 -0
  102. package/dist/interface/server-interface.js +16 -0
  103. package/dist/interface/server-interface.js.map +1 -1
  104. package/dist/interface/webhooks.d.mts +18 -2
  105. package/dist/interface/webhooks.d.ts +18 -2
  106. package/dist/known-errors.d.mts +14 -1
  107. package/dist/known-errors.d.ts +14 -1
  108. package/dist/known-errors.js +45 -1
  109. package/dist/known-errors.js.map +1 -1
  110. package/dist/schema-fields.d.mts +34 -1
  111. package/dist/schema-fields.d.ts +34 -1
  112. package/dist/schema-fields.js +32 -2
  113. package/dist/schema-fields.js.map +1 -1
  114. package/dist/sessions.d.mts +36 -5
  115. package/dist/sessions.d.ts +36 -5
  116. package/dist/sessions.js +72 -8
  117. package/dist/sessions.js.map +1 -1
  118. package/dist/utils/env.d.mts +2 -1
  119. package/dist/utils/env.d.ts +2 -1
  120. package/dist/utils/env.js +13 -1
  121. package/dist/utils/env.js.map +1 -1
  122. package/dist/utils/esbuild.js +49 -20
  123. package/dist/utils/esbuild.js.map +1 -1
  124. package/dist/utils/globals.d.mts +6 -1
  125. package/dist/utils/globals.d.ts +6 -1
  126. package/dist/utils/globals.js +13 -0
  127. package/dist/utils/globals.js.map +1 -1
  128. package/dist/utils/paginated-lists.d.mts +269 -12
  129. package/dist/utils/paginated-lists.d.ts +269 -12
  130. package/dist/utils/paginated-lists.js +153 -23
  131. package/dist/utils/paginated-lists.js.map +1 -1
  132. package/dist/utils/paginated-lists.test.d.mts +2 -0
  133. package/dist/utils/paginated-lists.test.d.ts +2 -0
  134. package/dist/utils/paginated-lists.test.js +844 -0
  135. package/dist/utils/paginated-lists.test.js.map +1 -0
  136. package/dist/utils/proxies.d.mts +8 -1
  137. package/dist/utils/proxies.d.ts +8 -1
  138. package/dist/utils/proxies.js +30 -2
  139. package/dist/utils/proxies.js.map +1 -1
  140. package/dist/utils/react.d.mts +1 -1
  141. package/dist/utils/react.d.ts +1 -1
  142. package/dist/utils/react.js +7 -3
  143. package/dist/utils/react.js.map +1 -1
  144. package/dist/utils/results.d.mts +5 -5
  145. package/dist/utils/results.d.ts +5 -5
  146. package/dist/utils/results.js.map +1 -1
  147. package/package.json +2 -1
  148. package/CHANGELOG.md +0 -1348
  149. package/dist/esm/interface/crud/config.js +0 -40
  150. package/dist/esm/interface/crud/config.js.map +0 -1
  151. package/dist/interface/crud/config.d.mts +0 -49
  152. package/dist/interface/crud/config.d.ts +0 -49
  153. package/dist/interface/crud/config.js +0 -79
  154. package/dist/interface/crud/config.js.map +0 -1
@@ -0,0 +1,1075 @@
1
+ import { CrudSchemaFromOptions, CrudTypeOf } from '../../crud.mjs';
2
+ import * as yup from 'yup';
3
+ import '../../utils/types.mjs';
4
+ import '../../utils/strings.mjs';
5
+
6
+ declare const emailOutboxReadSchema: yup.MixedSchema<{
7
+ to: {
8
+ type: "user-primary-email";
9
+ user_id: string;
10
+ } | {
11
+ type: "user-custom-emails";
12
+ user_id: string;
13
+ emails: string[];
14
+ } | {
15
+ type: "custom-emails";
16
+ emails: string[];
17
+ };
18
+ id: string;
19
+ created_at_millis: number;
20
+ updated_at_millis: number;
21
+ tsx_source: string;
22
+ theme_id: string | null;
23
+ variables: Record<string, {} | null>;
24
+ skip_deliverability_check: boolean;
25
+ scheduled_at_millis: number;
26
+ status: "paused";
27
+ simple_status: "in-progress";
28
+ is_paused: boolean;
29
+ has_rendered: boolean;
30
+ has_delivered: boolean;
31
+ } | {
32
+ to: {
33
+ type: "user-primary-email";
34
+ user_id: string;
35
+ } | {
36
+ type: "user-custom-emails";
37
+ user_id: string;
38
+ emails: string[];
39
+ } | {
40
+ type: "custom-emails";
41
+ emails: string[];
42
+ };
43
+ id: string;
44
+ created_at_millis: number;
45
+ updated_at_millis: number;
46
+ tsx_source: string;
47
+ theme_id: string | null;
48
+ variables: Record<string, {} | null>;
49
+ skip_deliverability_check: boolean;
50
+ scheduled_at_millis: number;
51
+ status: "preparing";
52
+ simple_status: "in-progress";
53
+ is_paused: boolean;
54
+ has_rendered: boolean;
55
+ has_delivered: boolean;
56
+ } | {
57
+ to: {
58
+ type: "user-primary-email";
59
+ user_id: string;
60
+ } | {
61
+ type: "user-custom-emails";
62
+ user_id: string;
63
+ emails: string[];
64
+ } | {
65
+ type: "custom-emails";
66
+ emails: string[];
67
+ };
68
+ id: string;
69
+ created_at_millis: number;
70
+ updated_at_millis: number;
71
+ tsx_source: string;
72
+ theme_id: string | null;
73
+ variables: Record<string, {} | null>;
74
+ skip_deliverability_check: boolean;
75
+ scheduled_at_millis: number;
76
+ status: "rendering";
77
+ simple_status: "in-progress";
78
+ is_paused: boolean;
79
+ has_rendered: boolean;
80
+ has_delivered: boolean;
81
+ started_rendering_at_millis: number;
82
+ } | {
83
+ to: {
84
+ type: "user-primary-email";
85
+ user_id: string;
86
+ } | {
87
+ type: "user-custom-emails";
88
+ user_id: string;
89
+ emails: string[];
90
+ } | {
91
+ type: "custom-emails";
92
+ emails: string[];
93
+ };
94
+ id: string;
95
+ created_at_millis: number;
96
+ updated_at_millis: number;
97
+ tsx_source: string;
98
+ theme_id: string | null;
99
+ variables: Record<string, {} | null>;
100
+ skip_deliverability_check: boolean;
101
+ scheduled_at_millis: number;
102
+ status: "render-error";
103
+ simple_status: "error";
104
+ is_paused: boolean;
105
+ has_rendered: boolean;
106
+ has_delivered: boolean;
107
+ started_rendering_at_millis: number;
108
+ rendered_at_millis: number;
109
+ render_error: string;
110
+ } | {
111
+ to: {
112
+ type: "user-primary-email";
113
+ user_id: string;
114
+ } | {
115
+ type: "user-custom-emails";
116
+ user_id: string;
117
+ emails: string[];
118
+ } | {
119
+ type: "custom-emails";
120
+ emails: string[];
121
+ };
122
+ id: string;
123
+ created_at_millis: number;
124
+ updated_at_millis: number;
125
+ tsx_source: string;
126
+ theme_id: string | null;
127
+ variables: Record<string, {} | null>;
128
+ skip_deliverability_check: boolean;
129
+ scheduled_at_millis: number;
130
+ status: "scheduled";
131
+ simple_status: "in-progress";
132
+ is_paused: boolean;
133
+ has_rendered: boolean;
134
+ has_delivered: boolean;
135
+ started_rendering_at_millis: number;
136
+ rendered_at_millis: number;
137
+ subject: string;
138
+ html: string | null;
139
+ text: string | null;
140
+ is_transactional: boolean;
141
+ is_high_priority: boolean;
142
+ notification_category_id: string | null;
143
+ } | {
144
+ to: {
145
+ type: "user-primary-email";
146
+ user_id: string;
147
+ } | {
148
+ type: "user-custom-emails";
149
+ user_id: string;
150
+ emails: string[];
151
+ } | {
152
+ type: "custom-emails";
153
+ emails: string[];
154
+ };
155
+ id: string;
156
+ created_at_millis: number;
157
+ updated_at_millis: number;
158
+ tsx_source: string;
159
+ theme_id: string | null;
160
+ variables: Record<string, {} | null>;
161
+ skip_deliverability_check: boolean;
162
+ scheduled_at_millis: number;
163
+ status: "queued";
164
+ simple_status: "in-progress";
165
+ is_paused: boolean;
166
+ has_rendered: boolean;
167
+ has_delivered: boolean;
168
+ started_rendering_at_millis: number;
169
+ rendered_at_millis: number;
170
+ subject: string;
171
+ html: string | null;
172
+ text: string | null;
173
+ is_transactional: boolean;
174
+ is_high_priority: boolean;
175
+ notification_category_id: string | null;
176
+ } | {
177
+ to: {
178
+ type: "user-primary-email";
179
+ user_id: string;
180
+ } | {
181
+ type: "user-custom-emails";
182
+ user_id: string;
183
+ emails: string[];
184
+ } | {
185
+ type: "custom-emails";
186
+ emails: string[];
187
+ };
188
+ id: string;
189
+ created_at_millis: number;
190
+ updated_at_millis: number;
191
+ tsx_source: string;
192
+ theme_id: string | null;
193
+ variables: Record<string, {} | null>;
194
+ skip_deliverability_check: boolean;
195
+ scheduled_at_millis: number;
196
+ status: "sending";
197
+ simple_status: "in-progress";
198
+ is_paused: boolean;
199
+ has_rendered: boolean;
200
+ has_delivered: boolean;
201
+ started_rendering_at_millis: number;
202
+ rendered_at_millis: number;
203
+ subject: string;
204
+ html: string | null;
205
+ text: string | null;
206
+ is_transactional: boolean;
207
+ is_high_priority: boolean;
208
+ notification_category_id: string | null;
209
+ started_sending_at_millis: number;
210
+ } | {
211
+ to: {
212
+ type: "user-primary-email";
213
+ user_id: string;
214
+ } | {
215
+ type: "user-custom-emails";
216
+ user_id: string;
217
+ emails: string[];
218
+ } | {
219
+ type: "custom-emails";
220
+ emails: string[];
221
+ };
222
+ id: string;
223
+ created_at_millis: number;
224
+ updated_at_millis: number;
225
+ tsx_source: string;
226
+ theme_id: string | null;
227
+ variables: Record<string, {} | null>;
228
+ skip_deliverability_check: boolean;
229
+ scheduled_at_millis: number;
230
+ status: "server-error";
231
+ simple_status: "error";
232
+ is_paused: boolean;
233
+ has_rendered: boolean;
234
+ has_delivered: boolean;
235
+ started_rendering_at_millis: number;
236
+ rendered_at_millis: number;
237
+ subject: string;
238
+ html: string | null;
239
+ text: string | null;
240
+ is_transactional: boolean;
241
+ is_high_priority: boolean;
242
+ notification_category_id: string | null;
243
+ started_sending_at_millis: number;
244
+ error_at_millis: number;
245
+ server_error: string;
246
+ } | {
247
+ started_rendering_at_millis?: number | undefined;
248
+ rendered_at_millis?: number | undefined;
249
+ subject?: string | undefined;
250
+ html?: string | null | undefined;
251
+ text?: string | null | undefined;
252
+ is_transactional?: boolean | undefined;
253
+ is_high_priority?: boolean | undefined;
254
+ notification_category_id?: string | null | undefined;
255
+ started_sending_at_millis?: number | undefined;
256
+ to: {
257
+ type: "user-primary-email";
258
+ user_id: string;
259
+ } | {
260
+ type: "user-custom-emails";
261
+ user_id: string;
262
+ emails: string[];
263
+ } | {
264
+ type: "custom-emails";
265
+ emails: string[];
266
+ };
267
+ id: string;
268
+ created_at_millis: number;
269
+ updated_at_millis: number;
270
+ tsx_source: string;
271
+ theme_id: string | null;
272
+ variables: Record<string, {} | null>;
273
+ skip_deliverability_check: boolean;
274
+ scheduled_at_millis: number;
275
+ status: "skipped";
276
+ simple_status: "ok";
277
+ is_paused: boolean;
278
+ has_rendered: boolean;
279
+ has_delivered: boolean;
280
+ skipped_at_millis: number;
281
+ skipped_reason: string;
282
+ skipped_details: Record<string, {} | null>;
283
+ } | {
284
+ to: {
285
+ type: "user-primary-email";
286
+ user_id: string;
287
+ } | {
288
+ type: "user-custom-emails";
289
+ user_id: string;
290
+ emails: string[];
291
+ } | {
292
+ type: "custom-emails";
293
+ emails: string[];
294
+ };
295
+ id: string;
296
+ created_at_millis: number;
297
+ updated_at_millis: number;
298
+ tsx_source: string;
299
+ theme_id: string | null;
300
+ variables: Record<string, {} | null>;
301
+ skip_deliverability_check: boolean;
302
+ scheduled_at_millis: number;
303
+ status: "bounced";
304
+ simple_status: "error";
305
+ is_paused: boolean;
306
+ has_rendered: boolean;
307
+ has_delivered: boolean;
308
+ started_rendering_at_millis: number;
309
+ rendered_at_millis: number;
310
+ subject: string;
311
+ html: string | null;
312
+ text: string | null;
313
+ is_transactional: boolean;
314
+ is_high_priority: boolean;
315
+ notification_category_id: string | null;
316
+ started_sending_at_millis: number;
317
+ bounced_at_millis: number;
318
+ } | {
319
+ to: {
320
+ type: "user-primary-email";
321
+ user_id: string;
322
+ } | {
323
+ type: "user-custom-emails";
324
+ user_id: string;
325
+ emails: string[];
326
+ } | {
327
+ type: "custom-emails";
328
+ emails: string[];
329
+ };
330
+ id: string;
331
+ created_at_millis: number;
332
+ updated_at_millis: number;
333
+ tsx_source: string;
334
+ theme_id: string | null;
335
+ variables: Record<string, {} | null>;
336
+ skip_deliverability_check: boolean;
337
+ scheduled_at_millis: number;
338
+ status: "delivery-delayed";
339
+ simple_status: "ok";
340
+ is_paused: boolean;
341
+ has_rendered: boolean;
342
+ has_delivered: boolean;
343
+ started_rendering_at_millis: number;
344
+ rendered_at_millis: number;
345
+ subject: string;
346
+ html: string | null;
347
+ text: string | null;
348
+ is_transactional: boolean;
349
+ is_high_priority: boolean;
350
+ notification_category_id: string | null;
351
+ started_sending_at_millis: number;
352
+ delivery_delayed_at_millis: number;
353
+ } | {
354
+ to: {
355
+ type: "user-primary-email";
356
+ user_id: string;
357
+ } | {
358
+ type: "user-custom-emails";
359
+ user_id: string;
360
+ emails: string[];
361
+ } | {
362
+ type: "custom-emails";
363
+ emails: string[];
364
+ };
365
+ id: string;
366
+ created_at_millis: number;
367
+ updated_at_millis: number;
368
+ tsx_source: string;
369
+ theme_id: string | null;
370
+ variables: Record<string, {} | null>;
371
+ skip_deliverability_check: boolean;
372
+ scheduled_at_millis: number;
373
+ status: "sent";
374
+ simple_status: "ok";
375
+ is_paused: boolean;
376
+ has_rendered: boolean;
377
+ has_delivered: boolean;
378
+ started_rendering_at_millis: number;
379
+ rendered_at_millis: number;
380
+ subject: string;
381
+ html: string | null;
382
+ text: string | null;
383
+ is_transactional: boolean;
384
+ is_high_priority: boolean;
385
+ notification_category_id: string | null;
386
+ started_sending_at_millis: number;
387
+ delivered_at_millis: number;
388
+ can_have_delivery_info: boolean;
389
+ } | {
390
+ to: {
391
+ type: "user-primary-email";
392
+ user_id: string;
393
+ } | {
394
+ type: "user-custom-emails";
395
+ user_id: string;
396
+ emails: string[];
397
+ } | {
398
+ type: "custom-emails";
399
+ emails: string[];
400
+ };
401
+ id: string;
402
+ created_at_millis: number;
403
+ updated_at_millis: number;
404
+ tsx_source: string;
405
+ theme_id: string | null;
406
+ variables: Record<string, {} | null>;
407
+ skip_deliverability_check: boolean;
408
+ scheduled_at_millis: number;
409
+ status: "opened";
410
+ simple_status: "ok";
411
+ is_paused: boolean;
412
+ has_rendered: boolean;
413
+ has_delivered: boolean;
414
+ started_rendering_at_millis: number;
415
+ rendered_at_millis: number;
416
+ subject: string;
417
+ html: string | null;
418
+ text: string | null;
419
+ is_transactional: boolean;
420
+ is_high_priority: boolean;
421
+ notification_category_id: string | null;
422
+ started_sending_at_millis: number;
423
+ delivered_at_millis: number;
424
+ can_have_delivery_info: boolean;
425
+ opened_at_millis: number;
426
+ } | {
427
+ to: {
428
+ type: "user-primary-email";
429
+ user_id: string;
430
+ } | {
431
+ type: "user-custom-emails";
432
+ user_id: string;
433
+ emails: string[];
434
+ } | {
435
+ type: "custom-emails";
436
+ emails: string[];
437
+ };
438
+ id: string;
439
+ created_at_millis: number;
440
+ updated_at_millis: number;
441
+ tsx_source: string;
442
+ theme_id: string | null;
443
+ variables: Record<string, {} | null>;
444
+ skip_deliverability_check: boolean;
445
+ scheduled_at_millis: number;
446
+ status: "clicked";
447
+ simple_status: "ok";
448
+ is_paused: boolean;
449
+ has_rendered: boolean;
450
+ has_delivered: boolean;
451
+ started_rendering_at_millis: number;
452
+ rendered_at_millis: number;
453
+ subject: string;
454
+ html: string | null;
455
+ text: string | null;
456
+ is_transactional: boolean;
457
+ is_high_priority: boolean;
458
+ notification_category_id: string | null;
459
+ started_sending_at_millis: number;
460
+ delivered_at_millis: number;
461
+ can_have_delivery_info: boolean;
462
+ clicked_at_millis: number;
463
+ } | {
464
+ to: {
465
+ type: "user-primary-email";
466
+ user_id: string;
467
+ } | {
468
+ type: "user-custom-emails";
469
+ user_id: string;
470
+ emails: string[];
471
+ } | {
472
+ type: "custom-emails";
473
+ emails: string[];
474
+ };
475
+ id: string;
476
+ created_at_millis: number;
477
+ updated_at_millis: number;
478
+ tsx_source: string;
479
+ theme_id: string | null;
480
+ variables: Record<string, {} | null>;
481
+ skip_deliverability_check: boolean;
482
+ scheduled_at_millis: number;
483
+ status: "marked-as-spam";
484
+ simple_status: "ok";
485
+ is_paused: boolean;
486
+ has_rendered: boolean;
487
+ has_delivered: boolean;
488
+ started_rendering_at_millis: number;
489
+ rendered_at_millis: number;
490
+ subject: string;
491
+ html: string | null;
492
+ text: string | null;
493
+ is_transactional: boolean;
494
+ is_high_priority: boolean;
495
+ notification_category_id: string | null;
496
+ started_sending_at_millis: number;
497
+ delivered_at_millis: number;
498
+ can_have_delivery_info: boolean;
499
+ marked_as_spam_at_millis: number;
500
+ }, yup.AnyObject, undefined, "">;
501
+ declare const emailOutboxUpdateSchema: yup.ObjectSchema<{
502
+ tsx_source: string | undefined;
503
+ theme_id: string | null | undefined;
504
+ to: {
505
+ type: "user-primary-email";
506
+ user_id: string;
507
+ } | {
508
+ type: "user-custom-emails";
509
+ user_id: string;
510
+ emails: string[];
511
+ } | {
512
+ type: "custom-emails";
513
+ emails: string[];
514
+ } | undefined;
515
+ variables: Record<string, {} | null> | undefined;
516
+ skip_deliverability_check: boolean | undefined;
517
+ scheduled_at_millis: number | undefined;
518
+ is_paused: boolean | undefined;
519
+ cancel: boolean | undefined;
520
+ }, yup.AnyObject, {
521
+ tsx_source: undefined;
522
+ theme_id: undefined;
523
+ to: undefined;
524
+ variables: undefined;
525
+ skip_deliverability_check: undefined;
526
+ scheduled_at_millis: undefined;
527
+ is_paused: undefined;
528
+ cancel: undefined;
529
+ }, "">;
530
+ declare const emailOutboxCrud: CrudSchemaFromOptions<{
531
+ serverReadSchema: yup.MixedSchema<{
532
+ to: {
533
+ type: "user-primary-email";
534
+ user_id: string;
535
+ } | {
536
+ type: "user-custom-emails";
537
+ user_id: string;
538
+ emails: string[];
539
+ } | {
540
+ type: "custom-emails";
541
+ emails: string[];
542
+ };
543
+ id: string;
544
+ created_at_millis: number;
545
+ updated_at_millis: number;
546
+ tsx_source: string;
547
+ theme_id: string | null;
548
+ variables: Record<string, {} | null>;
549
+ skip_deliverability_check: boolean;
550
+ scheduled_at_millis: number;
551
+ status: "paused";
552
+ simple_status: "in-progress";
553
+ is_paused: boolean;
554
+ has_rendered: boolean;
555
+ has_delivered: boolean;
556
+ } | {
557
+ to: {
558
+ type: "user-primary-email";
559
+ user_id: string;
560
+ } | {
561
+ type: "user-custom-emails";
562
+ user_id: string;
563
+ emails: string[];
564
+ } | {
565
+ type: "custom-emails";
566
+ emails: string[];
567
+ };
568
+ id: string;
569
+ created_at_millis: number;
570
+ updated_at_millis: number;
571
+ tsx_source: string;
572
+ theme_id: string | null;
573
+ variables: Record<string, {} | null>;
574
+ skip_deliverability_check: boolean;
575
+ scheduled_at_millis: number;
576
+ status: "preparing";
577
+ simple_status: "in-progress";
578
+ is_paused: boolean;
579
+ has_rendered: boolean;
580
+ has_delivered: boolean;
581
+ } | {
582
+ to: {
583
+ type: "user-primary-email";
584
+ user_id: string;
585
+ } | {
586
+ type: "user-custom-emails";
587
+ user_id: string;
588
+ emails: string[];
589
+ } | {
590
+ type: "custom-emails";
591
+ emails: string[];
592
+ };
593
+ id: string;
594
+ created_at_millis: number;
595
+ updated_at_millis: number;
596
+ tsx_source: string;
597
+ theme_id: string | null;
598
+ variables: Record<string, {} | null>;
599
+ skip_deliverability_check: boolean;
600
+ scheduled_at_millis: number;
601
+ status: "rendering";
602
+ simple_status: "in-progress";
603
+ is_paused: boolean;
604
+ has_rendered: boolean;
605
+ has_delivered: boolean;
606
+ started_rendering_at_millis: number;
607
+ } | {
608
+ to: {
609
+ type: "user-primary-email";
610
+ user_id: string;
611
+ } | {
612
+ type: "user-custom-emails";
613
+ user_id: string;
614
+ emails: string[];
615
+ } | {
616
+ type: "custom-emails";
617
+ emails: string[];
618
+ };
619
+ id: string;
620
+ created_at_millis: number;
621
+ updated_at_millis: number;
622
+ tsx_source: string;
623
+ theme_id: string | null;
624
+ variables: Record<string, {} | null>;
625
+ skip_deliverability_check: boolean;
626
+ scheduled_at_millis: number;
627
+ status: "render-error";
628
+ simple_status: "error";
629
+ is_paused: boolean;
630
+ has_rendered: boolean;
631
+ has_delivered: boolean;
632
+ started_rendering_at_millis: number;
633
+ rendered_at_millis: number;
634
+ render_error: string;
635
+ } | {
636
+ to: {
637
+ type: "user-primary-email";
638
+ user_id: string;
639
+ } | {
640
+ type: "user-custom-emails";
641
+ user_id: string;
642
+ emails: string[];
643
+ } | {
644
+ type: "custom-emails";
645
+ emails: string[];
646
+ };
647
+ id: string;
648
+ created_at_millis: number;
649
+ updated_at_millis: number;
650
+ tsx_source: string;
651
+ theme_id: string | null;
652
+ variables: Record<string, {} | null>;
653
+ skip_deliverability_check: boolean;
654
+ scheduled_at_millis: number;
655
+ status: "scheduled";
656
+ simple_status: "in-progress";
657
+ is_paused: boolean;
658
+ has_rendered: boolean;
659
+ has_delivered: boolean;
660
+ started_rendering_at_millis: number;
661
+ rendered_at_millis: number;
662
+ subject: string;
663
+ html: string | null;
664
+ text: string | null;
665
+ is_transactional: boolean;
666
+ is_high_priority: boolean;
667
+ notification_category_id: string | null;
668
+ } | {
669
+ to: {
670
+ type: "user-primary-email";
671
+ user_id: string;
672
+ } | {
673
+ type: "user-custom-emails";
674
+ user_id: string;
675
+ emails: string[];
676
+ } | {
677
+ type: "custom-emails";
678
+ emails: string[];
679
+ };
680
+ id: string;
681
+ created_at_millis: number;
682
+ updated_at_millis: number;
683
+ tsx_source: string;
684
+ theme_id: string | null;
685
+ variables: Record<string, {} | null>;
686
+ skip_deliverability_check: boolean;
687
+ scheduled_at_millis: number;
688
+ status: "queued";
689
+ simple_status: "in-progress";
690
+ is_paused: boolean;
691
+ has_rendered: boolean;
692
+ has_delivered: boolean;
693
+ started_rendering_at_millis: number;
694
+ rendered_at_millis: number;
695
+ subject: string;
696
+ html: string | null;
697
+ text: string | null;
698
+ is_transactional: boolean;
699
+ is_high_priority: boolean;
700
+ notification_category_id: string | null;
701
+ } | {
702
+ to: {
703
+ type: "user-primary-email";
704
+ user_id: string;
705
+ } | {
706
+ type: "user-custom-emails";
707
+ user_id: string;
708
+ emails: string[];
709
+ } | {
710
+ type: "custom-emails";
711
+ emails: string[];
712
+ };
713
+ id: string;
714
+ created_at_millis: number;
715
+ updated_at_millis: number;
716
+ tsx_source: string;
717
+ theme_id: string | null;
718
+ variables: Record<string, {} | null>;
719
+ skip_deliverability_check: boolean;
720
+ scheduled_at_millis: number;
721
+ status: "sending";
722
+ simple_status: "in-progress";
723
+ is_paused: boolean;
724
+ has_rendered: boolean;
725
+ has_delivered: boolean;
726
+ started_rendering_at_millis: number;
727
+ rendered_at_millis: number;
728
+ subject: string;
729
+ html: string | null;
730
+ text: string | null;
731
+ is_transactional: boolean;
732
+ is_high_priority: boolean;
733
+ notification_category_id: string | null;
734
+ started_sending_at_millis: number;
735
+ } | {
736
+ to: {
737
+ type: "user-primary-email";
738
+ user_id: string;
739
+ } | {
740
+ type: "user-custom-emails";
741
+ user_id: string;
742
+ emails: string[];
743
+ } | {
744
+ type: "custom-emails";
745
+ emails: string[];
746
+ };
747
+ id: string;
748
+ created_at_millis: number;
749
+ updated_at_millis: number;
750
+ tsx_source: string;
751
+ theme_id: string | null;
752
+ variables: Record<string, {} | null>;
753
+ skip_deliverability_check: boolean;
754
+ scheduled_at_millis: number;
755
+ status: "server-error";
756
+ simple_status: "error";
757
+ is_paused: boolean;
758
+ has_rendered: boolean;
759
+ has_delivered: boolean;
760
+ started_rendering_at_millis: number;
761
+ rendered_at_millis: number;
762
+ subject: string;
763
+ html: string | null;
764
+ text: string | null;
765
+ is_transactional: boolean;
766
+ is_high_priority: boolean;
767
+ notification_category_id: string | null;
768
+ started_sending_at_millis: number;
769
+ error_at_millis: number;
770
+ server_error: string;
771
+ } | {
772
+ started_rendering_at_millis?: number | undefined;
773
+ rendered_at_millis?: number | undefined;
774
+ subject?: string | undefined;
775
+ html?: string | null | undefined;
776
+ text?: string | null | undefined;
777
+ is_transactional?: boolean | undefined;
778
+ is_high_priority?: boolean | undefined;
779
+ notification_category_id?: string | null | undefined;
780
+ started_sending_at_millis?: number | undefined;
781
+ to: {
782
+ type: "user-primary-email";
783
+ user_id: string;
784
+ } | {
785
+ type: "user-custom-emails";
786
+ user_id: string;
787
+ emails: string[];
788
+ } | {
789
+ type: "custom-emails";
790
+ emails: string[];
791
+ };
792
+ id: string;
793
+ created_at_millis: number;
794
+ updated_at_millis: number;
795
+ tsx_source: string;
796
+ theme_id: string | null;
797
+ variables: Record<string, {} | null>;
798
+ skip_deliverability_check: boolean;
799
+ scheduled_at_millis: number;
800
+ status: "skipped";
801
+ simple_status: "ok";
802
+ is_paused: boolean;
803
+ has_rendered: boolean;
804
+ has_delivered: boolean;
805
+ skipped_at_millis: number;
806
+ skipped_reason: string;
807
+ skipped_details: Record<string, {} | null>;
808
+ } | {
809
+ to: {
810
+ type: "user-primary-email";
811
+ user_id: string;
812
+ } | {
813
+ type: "user-custom-emails";
814
+ user_id: string;
815
+ emails: string[];
816
+ } | {
817
+ type: "custom-emails";
818
+ emails: string[];
819
+ };
820
+ id: string;
821
+ created_at_millis: number;
822
+ updated_at_millis: number;
823
+ tsx_source: string;
824
+ theme_id: string | null;
825
+ variables: Record<string, {} | null>;
826
+ skip_deliverability_check: boolean;
827
+ scheduled_at_millis: number;
828
+ status: "bounced";
829
+ simple_status: "error";
830
+ is_paused: boolean;
831
+ has_rendered: boolean;
832
+ has_delivered: boolean;
833
+ started_rendering_at_millis: number;
834
+ rendered_at_millis: number;
835
+ subject: string;
836
+ html: string | null;
837
+ text: string | null;
838
+ is_transactional: boolean;
839
+ is_high_priority: boolean;
840
+ notification_category_id: string | null;
841
+ started_sending_at_millis: number;
842
+ bounced_at_millis: number;
843
+ } | {
844
+ to: {
845
+ type: "user-primary-email";
846
+ user_id: string;
847
+ } | {
848
+ type: "user-custom-emails";
849
+ user_id: string;
850
+ emails: string[];
851
+ } | {
852
+ type: "custom-emails";
853
+ emails: string[];
854
+ };
855
+ id: string;
856
+ created_at_millis: number;
857
+ updated_at_millis: number;
858
+ tsx_source: string;
859
+ theme_id: string | null;
860
+ variables: Record<string, {} | null>;
861
+ skip_deliverability_check: boolean;
862
+ scheduled_at_millis: number;
863
+ status: "delivery-delayed";
864
+ simple_status: "ok";
865
+ is_paused: boolean;
866
+ has_rendered: boolean;
867
+ has_delivered: boolean;
868
+ started_rendering_at_millis: number;
869
+ rendered_at_millis: number;
870
+ subject: string;
871
+ html: string | null;
872
+ text: string | null;
873
+ is_transactional: boolean;
874
+ is_high_priority: boolean;
875
+ notification_category_id: string | null;
876
+ started_sending_at_millis: number;
877
+ delivery_delayed_at_millis: number;
878
+ } | {
879
+ to: {
880
+ type: "user-primary-email";
881
+ user_id: string;
882
+ } | {
883
+ type: "user-custom-emails";
884
+ user_id: string;
885
+ emails: string[];
886
+ } | {
887
+ type: "custom-emails";
888
+ emails: string[];
889
+ };
890
+ id: string;
891
+ created_at_millis: number;
892
+ updated_at_millis: number;
893
+ tsx_source: string;
894
+ theme_id: string | null;
895
+ variables: Record<string, {} | null>;
896
+ skip_deliverability_check: boolean;
897
+ scheduled_at_millis: number;
898
+ status: "sent";
899
+ simple_status: "ok";
900
+ is_paused: boolean;
901
+ has_rendered: boolean;
902
+ has_delivered: boolean;
903
+ started_rendering_at_millis: number;
904
+ rendered_at_millis: number;
905
+ subject: string;
906
+ html: string | null;
907
+ text: string | null;
908
+ is_transactional: boolean;
909
+ is_high_priority: boolean;
910
+ notification_category_id: string | null;
911
+ started_sending_at_millis: number;
912
+ delivered_at_millis: number;
913
+ can_have_delivery_info: boolean;
914
+ } | {
915
+ to: {
916
+ type: "user-primary-email";
917
+ user_id: string;
918
+ } | {
919
+ type: "user-custom-emails";
920
+ user_id: string;
921
+ emails: string[];
922
+ } | {
923
+ type: "custom-emails";
924
+ emails: string[];
925
+ };
926
+ id: string;
927
+ created_at_millis: number;
928
+ updated_at_millis: number;
929
+ tsx_source: string;
930
+ theme_id: string | null;
931
+ variables: Record<string, {} | null>;
932
+ skip_deliverability_check: boolean;
933
+ scheduled_at_millis: number;
934
+ status: "opened";
935
+ simple_status: "ok";
936
+ is_paused: boolean;
937
+ has_rendered: boolean;
938
+ has_delivered: boolean;
939
+ started_rendering_at_millis: number;
940
+ rendered_at_millis: number;
941
+ subject: string;
942
+ html: string | null;
943
+ text: string | null;
944
+ is_transactional: boolean;
945
+ is_high_priority: boolean;
946
+ notification_category_id: string | null;
947
+ started_sending_at_millis: number;
948
+ delivered_at_millis: number;
949
+ can_have_delivery_info: boolean;
950
+ opened_at_millis: number;
951
+ } | {
952
+ to: {
953
+ type: "user-primary-email";
954
+ user_id: string;
955
+ } | {
956
+ type: "user-custom-emails";
957
+ user_id: string;
958
+ emails: string[];
959
+ } | {
960
+ type: "custom-emails";
961
+ emails: string[];
962
+ };
963
+ id: string;
964
+ created_at_millis: number;
965
+ updated_at_millis: number;
966
+ tsx_source: string;
967
+ theme_id: string | null;
968
+ variables: Record<string, {} | null>;
969
+ skip_deliverability_check: boolean;
970
+ scheduled_at_millis: number;
971
+ status: "clicked";
972
+ simple_status: "ok";
973
+ is_paused: boolean;
974
+ has_rendered: boolean;
975
+ has_delivered: boolean;
976
+ started_rendering_at_millis: number;
977
+ rendered_at_millis: number;
978
+ subject: string;
979
+ html: string | null;
980
+ text: string | null;
981
+ is_transactional: boolean;
982
+ is_high_priority: boolean;
983
+ notification_category_id: string | null;
984
+ started_sending_at_millis: number;
985
+ delivered_at_millis: number;
986
+ can_have_delivery_info: boolean;
987
+ clicked_at_millis: number;
988
+ } | {
989
+ to: {
990
+ type: "user-primary-email";
991
+ user_id: string;
992
+ } | {
993
+ type: "user-custom-emails";
994
+ user_id: string;
995
+ emails: string[];
996
+ } | {
997
+ type: "custom-emails";
998
+ emails: string[];
999
+ };
1000
+ id: string;
1001
+ created_at_millis: number;
1002
+ updated_at_millis: number;
1003
+ tsx_source: string;
1004
+ theme_id: string | null;
1005
+ variables: Record<string, {} | null>;
1006
+ skip_deliverability_check: boolean;
1007
+ scheduled_at_millis: number;
1008
+ status: "marked-as-spam";
1009
+ simple_status: "ok";
1010
+ is_paused: boolean;
1011
+ has_rendered: boolean;
1012
+ has_delivered: boolean;
1013
+ started_rendering_at_millis: number;
1014
+ rendered_at_millis: number;
1015
+ subject: string;
1016
+ html: string | null;
1017
+ text: string | null;
1018
+ is_transactional: boolean;
1019
+ is_high_priority: boolean;
1020
+ notification_category_id: string | null;
1021
+ started_sending_at_millis: number;
1022
+ delivered_at_millis: number;
1023
+ can_have_delivery_info: boolean;
1024
+ marked_as_spam_at_millis: number;
1025
+ }, yup.AnyObject, undefined, "">;
1026
+ serverUpdateSchema: yup.ObjectSchema<{
1027
+ tsx_source: string | undefined;
1028
+ theme_id: string | null | undefined;
1029
+ to: {
1030
+ type: "user-primary-email";
1031
+ user_id: string;
1032
+ } | {
1033
+ type: "user-custom-emails";
1034
+ user_id: string;
1035
+ emails: string[];
1036
+ } | {
1037
+ type: "custom-emails";
1038
+ emails: string[];
1039
+ } | undefined;
1040
+ variables: Record<string, {} | null> | undefined;
1041
+ skip_deliverability_check: boolean | undefined;
1042
+ scheduled_at_millis: number | undefined;
1043
+ is_paused: boolean | undefined;
1044
+ cancel: boolean | undefined;
1045
+ }, yup.AnyObject, {
1046
+ tsx_source: undefined;
1047
+ theme_id: undefined;
1048
+ to: undefined;
1049
+ variables: undefined;
1050
+ skip_deliverability_check: undefined;
1051
+ scheduled_at_millis: undefined;
1052
+ is_paused: undefined;
1053
+ cancel: undefined;
1054
+ }, "">;
1055
+ docs: {
1056
+ serverRead: {
1057
+ tags: string[];
1058
+ summary: string;
1059
+ description: string;
1060
+ };
1061
+ serverUpdate: {
1062
+ tags: string[];
1063
+ summary: string;
1064
+ description: string;
1065
+ };
1066
+ serverList: {
1067
+ tags: string[];
1068
+ summary: string;
1069
+ description: string;
1070
+ };
1071
+ };
1072
+ }>;
1073
+ type EmailOutboxCrud = CrudTypeOf<typeof emailOutboxCrud>;
1074
+
1075
+ export { type EmailOutboxCrud, emailOutboxCrud, emailOutboxReadSchema, emailOutboxUpdateSchema };