@stackframe/stack-shared 2.8.27 → 2.8.30

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 (86) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/config/schema.d.mts +391 -15
  3. package/dist/config/schema.d.ts +391 -15
  4. package/dist/config/schema.js +70 -2
  5. package/dist/config/schema.js.map +1 -1
  6. package/dist/esm/config/schema.js +70 -3
  7. package/dist/esm/config/schema.js.map +1 -1
  8. package/dist/esm/helpers/emails.js +31 -7
  9. package/dist/esm/helpers/emails.js.map +1 -1
  10. package/dist/esm/interface/admin-interface.js +65 -9
  11. package/dist/esm/interface/admin-interface.js.map +1 -1
  12. package/dist/esm/interface/crud/config.js +40 -0
  13. package/dist/esm/interface/crud/config.js.map +1 -0
  14. package/dist/esm/interface/crud/projects.js +4 -0
  15. package/dist/esm/interface/crud/projects.js.map +1 -1
  16. package/dist/esm/interface/server-interface.js +26 -0
  17. package/dist/esm/interface/server-interface.js.map +1 -1
  18. package/dist/esm/known-errors.js +73 -1
  19. package/dist/esm/known-errors.js.map +1 -1
  20. package/dist/esm/schema-fields.js +67 -4
  21. package/dist/esm/schema-fields.js.map +1 -1
  22. package/dist/esm/utils/errors.js.map +1 -1
  23. package/dist/esm/utils/esbuild.js +15 -11
  24. package/dist/esm/utils/esbuild.js.map +1 -1
  25. package/dist/esm/utils/featurebase.js +176 -0
  26. package/dist/esm/utils/featurebase.js.map +1 -0
  27. package/dist/esm/utils/html.js +6 -1
  28. package/dist/esm/utils/html.js.map +1 -1
  29. package/dist/esm/utils/promises.js +24 -13
  30. package/dist/esm/utils/promises.js.map +1 -1
  31. package/dist/esm/utils/telemetry.js +39 -0
  32. package/dist/esm/utils/telemetry.js.map +1 -0
  33. package/dist/helpers/emails.d.mts +1 -1
  34. package/dist/helpers/emails.d.ts +1 -1
  35. package/dist/helpers/emails.js +31 -7
  36. package/dist/helpers/emails.js.map +1 -1
  37. package/dist/index.d.mts +2 -1
  38. package/dist/index.d.ts +2 -1
  39. package/dist/interface/admin-interface.d.mts +15 -6
  40. package/dist/interface/admin-interface.d.ts +15 -6
  41. package/dist/interface/admin-interface.js +65 -9
  42. package/dist/interface/admin-interface.js.map +1 -1
  43. package/dist/interface/crud/config.d.mts +49 -0
  44. package/dist/interface/crud/config.d.ts +49 -0
  45. package/dist/interface/crud/config.js +79 -0
  46. package/dist/interface/crud/config.js.map +1 -0
  47. package/dist/interface/crud/project-api-keys.d.mts +4 -4
  48. package/dist/interface/crud/project-api-keys.d.ts +4 -4
  49. package/dist/interface/crud/projects.d.mts +35 -7
  50. package/dist/interface/crud/projects.d.ts +35 -7
  51. package/dist/interface/crud/projects.js +4 -0
  52. package/dist/interface/crud/projects.js.map +1 -1
  53. package/dist/interface/server-interface.d.mts +9 -0
  54. package/dist/interface/server-interface.d.ts +9 -0
  55. package/dist/interface/server-interface.js +26 -0
  56. package/dist/interface/server-interface.js.map +1 -1
  57. package/dist/known-errors.d.mts +15 -0
  58. package/dist/known-errors.d.ts +15 -0
  59. package/dist/known-errors.js +73 -1
  60. package/dist/known-errors.js.map +1 -1
  61. package/dist/schema-fields.d.mts +88 -2
  62. package/dist/schema-fields.d.ts +88 -2
  63. package/dist/schema-fields.js +71 -3
  64. package/dist/schema-fields.js.map +1 -1
  65. package/dist/utils/errors.d.mts +3 -1
  66. package/dist/utils/errors.d.ts +3 -1
  67. package/dist/utils/errors.js.map +1 -1
  68. package/dist/utils/esbuild.js +15 -11
  69. package/dist/utils/esbuild.js.map +1 -1
  70. package/dist/utils/featurebase.d.mts +28 -0
  71. package/dist/utils/featurebase.d.ts +28 -0
  72. package/dist/utils/featurebase.js +201 -0
  73. package/dist/utils/featurebase.js.map +1 -0
  74. package/dist/utils/html.d.mts +2 -1
  75. package/dist/utils/html.d.ts +2 -1
  76. package/dist/utils/html.js +8 -2
  77. package/dist/utils/html.js.map +1 -1
  78. package/dist/utils/promises.d.mts +5 -1
  79. package/dist/utils/promises.d.ts +5 -1
  80. package/dist/utils/promises.js +24 -12
  81. package/dist/utils/promises.js.map +1 -1
  82. package/dist/utils/telemetry.d.mts +13 -0
  83. package/dist/utils/telemetry.d.ts +13 -0
  84. package/dist/utils/telemetry.js +66 -0
  85. package/dist/utils/telemetry.js.map +1 -0
  86. package/package.json +2 -1
@@ -81,9 +81,9 @@ declare const userApiKeysCreateInputSchema: yup.ObjectSchema<{
81
81
  user_id: undefined;
82
82
  }, "">;
83
83
  declare const userApiKeysCreateOutputSchema: yup.ObjectSchema<{
84
- type: "user";
85
- description: string;
86
84
  id: string;
85
+ description: string;
86
+ type: "user";
87
87
  created_at_millis: number;
88
88
  expires_at_millis: number | undefined;
89
89
  manually_revoked_at_millis: number | undefined;
@@ -181,9 +181,9 @@ declare const teamApiKeysCreateInputSchema: yup.ObjectSchema<{
181
181
  team_id: undefined;
182
182
  }, "">;
183
183
  declare const teamApiKeysCreateOutputSchema: yup.ObjectSchema<{
184
- type: "team";
185
- description: string;
186
184
  id: string;
185
+ description: string;
186
+ type: "team";
187
187
  created_at_millis: number;
188
188
  expires_at_millis: number | undefined;
189
189
  manually_revoked_at_millis: number | undefined;
@@ -40,6 +40,8 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
40
40
  id: string;
41
41
  display_name: string;
42
42
  description: string;
43
+ logo_url: string | null | undefined;
44
+ full_logo_url: string | null | undefined;
43
45
  created_at_millis: number;
44
46
  is_production_mode: boolean;
45
47
  config: {
@@ -57,8 +59,8 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
57
59
  client_secret?: string | undefined;
58
60
  facebook_config_id?: string | undefined;
59
61
  microsoft_tenant_id?: string | undefined;
60
- type: "shared" | "standard";
61
62
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
63
+ type: "shared" | "standard";
62
64
  provider_config_id: string;
63
65
  }[];
64
66
  enabled_oauth_providers: {
@@ -94,6 +96,8 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
94
96
  id: undefined;
95
97
  display_name: undefined;
96
98
  description: undefined;
99
+ logo_url: undefined;
100
+ full_logo_url: undefined;
97
101
  created_at_millis: undefined;
98
102
  is_production_mode: undefined;
99
103
  config: {
@@ -160,6 +164,8 @@ declare const projectsCrudClientReadSchema: yup.ObjectSchema<{
160
164
  declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
161
165
  display_name: string | undefined;
162
166
  description: string | null | undefined;
167
+ logo_url: string | null | undefined;
168
+ full_logo_url: string | null | undefined;
163
169
  is_production_mode: boolean | undefined;
164
170
  config: {
165
171
  allow_localhost?: boolean | undefined;
@@ -176,8 +182,8 @@ declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
176
182
  client_secret?: string | undefined;
177
183
  facebook_config_id?: string | undefined;
178
184
  microsoft_tenant_id?: string | undefined;
179
- type: "shared" | "standard";
180
185
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
186
+ type: "shared" | "standard";
181
187
  }[] | undefined;
182
188
  domains?: {
183
189
  domain: string;
@@ -208,12 +214,16 @@ declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
208
214
  }, yup.AnyObject, {
209
215
  display_name: undefined;
210
216
  description: undefined;
217
+ logo_url: undefined;
218
+ full_logo_url: undefined;
211
219
  is_production_mode: undefined;
212
220
  config: undefined;
213
221
  }, "">;
214
222
  declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
215
223
  display_name: string;
216
224
  description: string | null | undefined;
225
+ logo_url: string | null | undefined;
226
+ full_logo_url: string | null | undefined;
217
227
  is_production_mode: boolean | undefined;
218
228
  config: {
219
229
  allow_localhost?: boolean | undefined;
@@ -230,8 +240,8 @@ declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
230
240
  client_secret?: string | undefined;
231
241
  facebook_config_id?: string | undefined;
232
242
  microsoft_tenant_id?: string | undefined;
233
- type: "shared" | "standard";
234
243
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
244
+ type: "shared" | "standard";
235
245
  }[] | undefined;
236
246
  domains?: {
237
247
  domain: string;
@@ -264,6 +274,8 @@ declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
264
274
  }, yup.AnyObject, {
265
275
  display_name: undefined;
266
276
  description: undefined;
277
+ logo_url: undefined;
278
+ full_logo_url: undefined;
267
279
  is_production_mode: undefined;
268
280
  config: undefined;
269
281
  }, "">;
@@ -314,6 +326,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
314
326
  id: string;
315
327
  display_name: string;
316
328
  description: string;
329
+ logo_url: string | null | undefined;
330
+ full_logo_url: string | null | undefined;
317
331
  created_at_millis: number;
318
332
  is_production_mode: boolean;
319
333
  config: {
@@ -331,8 +345,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
331
345
  client_secret?: string | undefined;
332
346
  facebook_config_id?: string | undefined;
333
347
  microsoft_tenant_id?: string | undefined;
334
- type: "shared" | "standard";
335
348
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
349
+ type: "shared" | "standard";
336
350
  provider_config_id: string;
337
351
  }[];
338
352
  enabled_oauth_providers: {
@@ -368,6 +382,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
368
382
  id: undefined;
369
383
  display_name: undefined;
370
384
  description: undefined;
385
+ logo_url: undefined;
386
+ full_logo_url: undefined;
371
387
  created_at_millis: undefined;
372
388
  is_production_mode: undefined;
373
389
  config: {
@@ -403,6 +419,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
403
419
  adminUpdateSchema: yup.ObjectSchema<{
404
420
  display_name: string | undefined;
405
421
  description: string | null | undefined;
422
+ logo_url: string | null | undefined;
423
+ full_logo_url: string | null | undefined;
406
424
  is_production_mode: boolean | undefined;
407
425
  config: {
408
426
  allow_localhost?: boolean | undefined;
@@ -419,8 +437,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
419
437
  client_secret?: string | undefined;
420
438
  facebook_config_id?: string | undefined;
421
439
  microsoft_tenant_id?: string | undefined;
422
- type: "shared" | "standard";
423
440
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
441
+ type: "shared" | "standard";
424
442
  }[] | undefined;
425
443
  domains?: {
426
444
  domain: string;
@@ -451,6 +469,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
451
469
  }, yup.AnyObject, {
452
470
  display_name: undefined;
453
471
  description: undefined;
472
+ logo_url: undefined;
473
+ full_logo_url: undefined;
454
474
  is_production_mode: undefined;
455
475
  config: undefined;
456
476
  }, "">;
@@ -479,6 +499,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
479
499
  id: string;
480
500
  display_name: string;
481
501
  description: string;
502
+ logo_url: string | null | undefined;
503
+ full_logo_url: string | null | undefined;
482
504
  created_at_millis: number;
483
505
  is_production_mode: boolean;
484
506
  config: {
@@ -496,8 +518,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
496
518
  client_secret?: string | undefined;
497
519
  facebook_config_id?: string | undefined;
498
520
  microsoft_tenant_id?: string | undefined;
499
- type: "shared" | "standard";
500
521
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
522
+ type: "shared" | "standard";
501
523
  provider_config_id: string;
502
524
  }[];
503
525
  enabled_oauth_providers: {
@@ -533,6 +555,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
533
555
  id: undefined;
534
556
  display_name: undefined;
535
557
  description: undefined;
558
+ logo_url: undefined;
559
+ full_logo_url: undefined;
536
560
  created_at_millis: undefined;
537
561
  is_production_mode: undefined;
538
562
  config: {
@@ -568,6 +592,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
568
592
  clientCreateSchema: yup.ObjectSchema<{
569
593
  display_name: string;
570
594
  description: string | null | undefined;
595
+ logo_url: string | null | undefined;
596
+ full_logo_url: string | null | undefined;
571
597
  is_production_mode: boolean | undefined;
572
598
  config: {
573
599
  allow_localhost?: boolean | undefined;
@@ -584,8 +610,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
584
610
  client_secret?: string | undefined;
585
611
  facebook_config_id?: string | undefined;
586
612
  microsoft_tenant_id?: string | undefined;
587
- type: "shared" | "standard";
588
613
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
614
+ type: "shared" | "standard";
589
615
  }[] | undefined;
590
616
  domains?: {
591
617
  domain: string;
@@ -618,6 +644,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
618
644
  }, yup.AnyObject, {
619
645
  display_name: undefined;
620
646
  description: undefined;
647
+ logo_url: undefined;
648
+ full_logo_url: undefined;
621
649
  is_production_mode: undefined;
622
650
  config: undefined;
623
651
  }, "">;
@@ -40,6 +40,8 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
40
40
  id: string;
41
41
  display_name: string;
42
42
  description: string;
43
+ logo_url: string | null | undefined;
44
+ full_logo_url: string | null | undefined;
43
45
  created_at_millis: number;
44
46
  is_production_mode: boolean;
45
47
  config: {
@@ -57,8 +59,8 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
57
59
  client_secret?: string | undefined;
58
60
  facebook_config_id?: string | undefined;
59
61
  microsoft_tenant_id?: string | undefined;
60
- type: "shared" | "standard";
61
62
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
63
+ type: "shared" | "standard";
62
64
  provider_config_id: string;
63
65
  }[];
64
66
  enabled_oauth_providers: {
@@ -94,6 +96,8 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
94
96
  id: undefined;
95
97
  display_name: undefined;
96
98
  description: undefined;
99
+ logo_url: undefined;
100
+ full_logo_url: undefined;
97
101
  created_at_millis: undefined;
98
102
  is_production_mode: undefined;
99
103
  config: {
@@ -160,6 +164,8 @@ declare const projectsCrudClientReadSchema: yup.ObjectSchema<{
160
164
  declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
161
165
  display_name: string | undefined;
162
166
  description: string | null | undefined;
167
+ logo_url: string | null | undefined;
168
+ full_logo_url: string | null | undefined;
163
169
  is_production_mode: boolean | undefined;
164
170
  config: {
165
171
  allow_localhost?: boolean | undefined;
@@ -176,8 +182,8 @@ declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
176
182
  client_secret?: string | undefined;
177
183
  facebook_config_id?: string | undefined;
178
184
  microsoft_tenant_id?: string | undefined;
179
- type: "shared" | "standard";
180
185
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
186
+ type: "shared" | "standard";
181
187
  }[] | undefined;
182
188
  domains?: {
183
189
  domain: string;
@@ -208,12 +214,16 @@ declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
208
214
  }, yup.AnyObject, {
209
215
  display_name: undefined;
210
216
  description: undefined;
217
+ logo_url: undefined;
218
+ full_logo_url: undefined;
211
219
  is_production_mode: undefined;
212
220
  config: undefined;
213
221
  }, "">;
214
222
  declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
215
223
  display_name: string;
216
224
  description: string | null | undefined;
225
+ logo_url: string | null | undefined;
226
+ full_logo_url: string | null | undefined;
217
227
  is_production_mode: boolean | undefined;
218
228
  config: {
219
229
  allow_localhost?: boolean | undefined;
@@ -230,8 +240,8 @@ declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
230
240
  client_secret?: string | undefined;
231
241
  facebook_config_id?: string | undefined;
232
242
  microsoft_tenant_id?: string | undefined;
233
- type: "shared" | "standard";
234
243
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
244
+ type: "shared" | "standard";
235
245
  }[] | undefined;
236
246
  domains?: {
237
247
  domain: string;
@@ -264,6 +274,8 @@ declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
264
274
  }, yup.AnyObject, {
265
275
  display_name: undefined;
266
276
  description: undefined;
277
+ logo_url: undefined;
278
+ full_logo_url: undefined;
267
279
  is_production_mode: undefined;
268
280
  config: undefined;
269
281
  }, "">;
@@ -314,6 +326,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
314
326
  id: string;
315
327
  display_name: string;
316
328
  description: string;
329
+ logo_url: string | null | undefined;
330
+ full_logo_url: string | null | undefined;
317
331
  created_at_millis: number;
318
332
  is_production_mode: boolean;
319
333
  config: {
@@ -331,8 +345,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
331
345
  client_secret?: string | undefined;
332
346
  facebook_config_id?: string | undefined;
333
347
  microsoft_tenant_id?: string | undefined;
334
- type: "shared" | "standard";
335
348
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
349
+ type: "shared" | "standard";
336
350
  provider_config_id: string;
337
351
  }[];
338
352
  enabled_oauth_providers: {
@@ -368,6 +382,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
368
382
  id: undefined;
369
383
  display_name: undefined;
370
384
  description: undefined;
385
+ logo_url: undefined;
386
+ full_logo_url: undefined;
371
387
  created_at_millis: undefined;
372
388
  is_production_mode: undefined;
373
389
  config: {
@@ -403,6 +419,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
403
419
  adminUpdateSchema: yup.ObjectSchema<{
404
420
  display_name: string | undefined;
405
421
  description: string | null | undefined;
422
+ logo_url: string | null | undefined;
423
+ full_logo_url: string | null | undefined;
406
424
  is_production_mode: boolean | undefined;
407
425
  config: {
408
426
  allow_localhost?: boolean | undefined;
@@ -419,8 +437,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
419
437
  client_secret?: string | undefined;
420
438
  facebook_config_id?: string | undefined;
421
439
  microsoft_tenant_id?: string | undefined;
422
- type: "shared" | "standard";
423
440
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
441
+ type: "shared" | "standard";
424
442
  }[] | undefined;
425
443
  domains?: {
426
444
  domain: string;
@@ -451,6 +469,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
451
469
  }, yup.AnyObject, {
452
470
  display_name: undefined;
453
471
  description: undefined;
472
+ logo_url: undefined;
473
+ full_logo_url: undefined;
454
474
  is_production_mode: undefined;
455
475
  config: undefined;
456
476
  }, "">;
@@ -479,6 +499,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
479
499
  id: string;
480
500
  display_name: string;
481
501
  description: string;
502
+ logo_url: string | null | undefined;
503
+ full_logo_url: string | null | undefined;
482
504
  created_at_millis: number;
483
505
  is_production_mode: boolean;
484
506
  config: {
@@ -496,8 +518,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
496
518
  client_secret?: string | undefined;
497
519
  facebook_config_id?: string | undefined;
498
520
  microsoft_tenant_id?: string | undefined;
499
- type: "shared" | "standard";
500
521
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
522
+ type: "shared" | "standard";
501
523
  provider_config_id: string;
502
524
  }[];
503
525
  enabled_oauth_providers: {
@@ -533,6 +555,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
533
555
  id: undefined;
534
556
  display_name: undefined;
535
557
  description: undefined;
558
+ logo_url: undefined;
559
+ full_logo_url: undefined;
536
560
  created_at_millis: undefined;
537
561
  is_production_mode: undefined;
538
562
  config: {
@@ -568,6 +592,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
568
592
  clientCreateSchema: yup.ObjectSchema<{
569
593
  display_name: string;
570
594
  description: string | null | undefined;
595
+ logo_url: string | null | undefined;
596
+ full_logo_url: string | null | undefined;
571
597
  is_production_mode: boolean | undefined;
572
598
  config: {
573
599
  allow_localhost?: boolean | undefined;
@@ -584,8 +610,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
584
610
  client_secret?: string | undefined;
585
611
  facebook_config_id?: string | undefined;
586
612
  microsoft_tenant_id?: string | undefined;
587
- type: "shared" | "standard";
588
613
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
614
+ type: "shared" | "standard";
589
615
  }[] | undefined;
590
616
  domains?: {
591
617
  domain: string;
@@ -618,6 +644,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
618
644
  }, yup.AnyObject, {
619
645
  display_name: undefined;
620
646
  description: undefined;
647
+ logo_url: undefined;
648
+ full_logo_url: undefined;
621
649
  is_production_mode: undefined;
622
650
  config: undefined;
623
651
  }, "">;
@@ -98,6 +98,8 @@ var projectsCrudAdminReadSchema = (0, import_schema_fields.yupObject)({
98
98
  id: schemaFields.projectIdSchema.defined(),
99
99
  display_name: schemaFields.projectDisplayNameSchema.defined(),
100
100
  description: schemaFields.projectDescriptionSchema.nonNullable().defined(),
101
+ logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),
102
+ full_logo_url: schemaFields.projectFullLogoUrlSchema.nullable().optional(),
101
103
  created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),
102
104
  is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),
103
105
  /** @deprecated */
@@ -142,6 +144,8 @@ var projectsCrudClientReadSchema = (0, import_schema_fields.yupObject)({
142
144
  var projectsCrudAdminUpdateSchema = (0, import_schema_fields.yupObject)({
143
145
  display_name: schemaFields.projectDisplayNameSchema.optional(),
144
146
  description: schemaFields.projectDescriptionSchema.optional(),
147
+ logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),
148
+ full_logo_url: schemaFields.projectFullLogoUrlSchema.nullable().optional(),
145
149
  is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),
146
150
  config: (0, import_schema_fields.yupObject)({
147
151
  sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/interface/crud/projects.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupArray, yupObject, yupString } from \"../../schema-fields\";\n\nconst teamPermissionSchema = yupObject({\n id: yupString().defined(),\n}).defined();\n\nconst oauthProviderReadSchema = yupObject({\n provider_config_id: schemaFields.yupString().defined(),\n id: schemaFields.oauthIdSchema.defined(),\n type: schemaFields.oauthTypeSchema.defined(),\n client_id: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientIdSchema,\n { type: 'standard' },\n ),\n client_secret: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientSecretSchema,\n { type: 'standard' },\n ),\n\n // extra params\n facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),\n microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional(),\n});\n\nconst oauthProviderWriteSchema = oauthProviderReadSchema.omit(['provider_config_id']);\n\nconst enabledOAuthProviderSchema = yupObject({\n id: schemaFields.oauthIdSchema.defined(),\n});\n\nexport const emailConfigSchema = yupObject({\n type: schemaFields.emailTypeSchema.defined(),\n host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {\n type: 'standard',\n }),\n port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {\n type: 'standard',\n }),\n username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {\n type: 'standard',\n }),\n password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {\n type: 'standard',\n }),\n sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {\n type: 'standard',\n }),\n sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {\n type: 'standard',\n }),\n});\n\nexport const emailConfigWithoutPasswordSchema = emailConfigSchema.pick(['type', 'host', 'port', 'username', 'sender_name', 'sender_email']);\n\nconst domainSchema = yupObject({\n domain: schemaFields.urlSchema.defined()\n .matches(/^https?:\\/\\//, 'URL must start with http:// or https://')\n .meta({ openapiField: { description: 'URL. Must start with http:// or https://', exampleValue: 'https://example.com' } }),\n handler_path: schemaFields.handlerPathSchema.defined(),\n});\n\nexport const projectsCrudAdminReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n description: schemaFields.projectDescriptionSchema.nonNullable().defined(),\n created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),\n /** @deprecated */\n config: yupObject({\n allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n // TODO: remove this\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n oauth_providers: yupArray(oauthProviderReadSchema.defined()).defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n domains: yupArray(domainSchema.defined()).defined(),\n email_config: emailConfigSchema.defined(),\n email_theme: schemaFields.emailThemeSchema.defined(),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined(),\n }).defined().meta({ openapiField: { hidden: true } }),\n}).defined();\n\nexport const projectsCrudClientReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n }).defined().meta({ openapiField: { hidden: true } }),\n}).defined();\n\n\nexport const projectsCrudAdminUpdateSchema = yupObject({\n display_name: schemaFields.projectDisplayNameSchema.optional(),\n description: schemaFields.projectDescriptionSchema.optional(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),\n allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),\n allow_user_api_keys: schemaFields.yupBoolean().optional(),\n allow_team_api_keys: schemaFields.yupBoolean().optional(),\n email_config: emailConfigSchema.optional().default(undefined),\n email_theme: schemaFields.emailThemeSchema.optional(),\n domains: yupArray(domainSchema.defined()).optional().default(undefined),\n oauth_providers: yupArray(oauthProviderWriteSchema.defined()).optional().default(undefined),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional(),\n }).optional().default(undefined),\n}).defined();\n\nexport const projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n}).defined());\n\nexport const projectsCrudAdminDeleteSchema = schemaFields.yupMixed();\n\nexport const clientProjectsCrud = createCrud({\n clientReadSchema: projectsCrudClientReadSchema,\n docs: {\n clientRead: {\n summary: 'Get the current project',\n description: 'Get the current project information including display name, OAuth providers and authentication methods. Useful for displaying the available login options to the user.',\n tags: ['Projects'],\n },\n },\n});\nexport type ClientProjectsCrud = CrudTypeOf<typeof clientProjectsCrud>;\n\nexport const projectsCrud = createCrud({\n adminReadSchema: projectsCrudAdminReadSchema,\n adminUpdateSchema: projectsCrudAdminUpdateSchema,\n adminDeleteSchema: projectsCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n summary: 'Get the current project',\n description: 'Get the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminUpdate: {\n summary: 'Update the current project',\n description: 'Update the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminDelete: {\n summary: 'Delete the current project',\n description: 'Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.',\n tags: ['Projects'],\n },\n },\n});\nexport type ProjectsCrud = CrudTypeOf<typeof projectsCrud>;\n\nexport const adminUserProjectsCrud = createCrud({\n clientReadSchema: projectsCrudAdminReadSchema,\n clientCreateSchema: projectsCrudAdminCreateSchema,\n docs: {\n clientList: {\n hidden: true,\n },\n clientCreate: {\n hidden: true,\n },\n },\n});\nexport type AdminUserProjectsCrud = CrudTypeOf<typeof adminUserProjectsCrud>;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/interface/crud/projects.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupArray, yupObject, yupString } from \"../../schema-fields\";\n\nconst teamPermissionSchema = yupObject({\n id: yupString().defined(),\n}).defined();\n\nconst oauthProviderReadSchema = yupObject({\n provider_config_id: schemaFields.yupString().defined(),\n id: schemaFields.oauthIdSchema.defined(),\n type: schemaFields.oauthTypeSchema.defined(),\n client_id: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientIdSchema,\n { type: 'standard' },\n ),\n client_secret: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientSecretSchema,\n { type: 'standard' },\n ),\n\n // extra params\n facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),\n microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional(),\n});\n\nconst oauthProviderWriteSchema = oauthProviderReadSchema.omit(['provider_config_id']);\n\nconst enabledOAuthProviderSchema = yupObject({\n id: schemaFields.oauthIdSchema.defined(),\n});\n\nexport const emailConfigSchema = yupObject({\n type: schemaFields.emailTypeSchema.defined(),\n host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {\n type: 'standard',\n }),\n port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {\n type: 'standard',\n }),\n username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {\n type: 'standard',\n }),\n password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {\n type: 'standard',\n }),\n sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {\n type: 'standard',\n }),\n sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {\n type: 'standard',\n }),\n});\n\nexport const emailConfigWithoutPasswordSchema = emailConfigSchema.pick(['type', 'host', 'port', 'username', 'sender_name', 'sender_email']);\n\nconst domainSchema = yupObject({\n domain: schemaFields.urlSchema.defined()\n .matches(/^https?:\\/\\//, 'URL must start with http:// or https://')\n .meta({ openapiField: { description: 'URL. Must start with http:// or https://', exampleValue: 'https://example.com' } }),\n handler_path: schemaFields.handlerPathSchema.defined(),\n});\n\nexport const projectsCrudAdminReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n description: schemaFields.projectDescriptionSchema.nonNullable().defined(),\n logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),\n full_logo_url: schemaFields.projectFullLogoUrlSchema.nullable().optional(),\n created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),\n /** @deprecated */\n config: yupObject({\n allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n // TODO: remove this\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n oauth_providers: yupArray(oauthProviderReadSchema.defined()).defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n domains: yupArray(domainSchema.defined()).defined(),\n email_config: emailConfigSchema.defined(),\n email_theme: schemaFields.emailThemeSchema.defined(),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined(),\n }).defined().meta({ openapiField: { hidden: true } }),\n}).defined();\n\nexport const projectsCrudClientReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n }).defined().meta({ openapiField: { hidden: true } }),\n}).defined();\n\n\nexport const projectsCrudAdminUpdateSchema = yupObject({\n display_name: schemaFields.projectDisplayNameSchema.optional(),\n description: schemaFields.projectDescriptionSchema.optional(),\n logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),\n full_logo_url: schemaFields.projectFullLogoUrlSchema.nullable().optional(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),\n allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),\n allow_user_api_keys: schemaFields.yupBoolean().optional(),\n allow_team_api_keys: schemaFields.yupBoolean().optional(),\n email_config: emailConfigSchema.optional().default(undefined),\n email_theme: schemaFields.emailThemeSchema.optional(),\n domains: yupArray(domainSchema.defined()).optional().default(undefined),\n oauth_providers: yupArray(oauthProviderWriteSchema.defined()).optional().default(undefined),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional(),\n }).optional().default(undefined),\n}).defined();\n\nexport const projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n}).defined());\n\nexport const projectsCrudAdminDeleteSchema = schemaFields.yupMixed();\n\nexport const clientProjectsCrud = createCrud({\n clientReadSchema: projectsCrudClientReadSchema,\n docs: {\n clientRead: {\n summary: 'Get the current project',\n description: 'Get the current project information including display name, OAuth providers and authentication methods. Useful for displaying the available login options to the user.',\n tags: ['Projects'],\n },\n },\n});\nexport type ClientProjectsCrud = CrudTypeOf<typeof clientProjectsCrud>;\n\nexport const projectsCrud = createCrud({\n adminReadSchema: projectsCrudAdminReadSchema,\n adminUpdateSchema: projectsCrudAdminUpdateSchema,\n adminDeleteSchema: projectsCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n summary: 'Get the current project',\n description: 'Get the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminUpdate: {\n summary: 'Update the current project',\n description: 'Update the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminDelete: {\n summary: 'Delete the current project',\n description: 'Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.',\n tags: ['Projects'],\n },\n },\n});\nexport type ProjectsCrud = CrudTypeOf<typeof projectsCrud>;\n\nexport const adminUserProjectsCrud = createCrud({\n clientReadSchema: projectsCrudAdminReadSchema,\n clientCreateSchema: projectsCrudAdminCreateSchema,\n docs: {\n clientList: {\n hidden: true,\n },\n clientCreate: {\n hidden: true,\n },\n },\n});\nexport type AdminUserProjectsCrud = CrudTypeOf<typeof adminUserProjectsCrud>;\n"],"mappings":"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","names":[]}
@@ -173,6 +173,15 @@ declare class StackServerInterface extends StackClientInterface {
173
173
  deleteServerOAuthProvider(userId: string, providerId: string): Promise<{
174
174
  success: boolean;
175
175
  }>;
176
+ sendEmail(options: {
177
+ userIds: string[];
178
+ themeId?: string | null | false;
179
+ html?: string;
180
+ subject?: string;
181
+ notificationCategoryName?: string;
182
+ templateId?: string;
183
+ variables?: Record<string, any>;
184
+ }): Promise<Result<void, KnownErrors["RequiresCustomEmailServer"] | KnownErrors["SchemaError"] | KnownErrors["UserIdDoesNotExist"]>>;
176
185
  }
177
186
 
178
187
  export { type ServerAuthApplicationOptions, StackServerInterface };
@@ -173,6 +173,15 @@ declare class StackServerInterface extends StackClientInterface {
173
173
  deleteServerOAuthProvider(userId: string, providerId: string): Promise<{
174
174
  success: boolean;
175
175
  }>;
176
+ sendEmail(options: {
177
+ userIds: string[];
178
+ themeId?: string | null | false;
179
+ html?: string;
180
+ subject?: string;
181
+ notificationCategoryName?: string;
182
+ templateId?: string;
183
+ variables?: Record<string, any>;
184
+ }): Promise<Result<void, KnownErrors["RequiresCustomEmailServer"] | KnownErrors["SchemaError"] | KnownErrors["UserIdDoesNotExist"]>>;
176
185
  }
177
186
 
178
187
  export { type ServerAuthApplicationOptions, StackServerInterface };
@@ -603,6 +603,32 @@ var StackServerInterface = class extends import_client_interface.StackClientInte
603
603
  );
604
604
  return await response.json();
605
605
  }
606
+ async sendEmail(options) {
607
+ const res = await this.sendServerRequestAndCatchKnownError(
608
+ "/emails/send-email",
609
+ {
610
+ method: "POST",
611
+ headers: {
612
+ "Content-Type": "application/json"
613
+ },
614
+ body: JSON.stringify({
615
+ user_ids: options.userIds,
616
+ theme_id: options.themeId,
617
+ html: options.html,
618
+ subject: options.subject,
619
+ notification_category_name: options.notificationCategoryName,
620
+ template_id: options.templateId,
621
+ variables: options.variables
622
+ })
623
+ },
624
+ null,
625
+ [import_known_errors.KnownErrors.RequiresCustomEmailServer, import_known_errors.KnownErrors.SchemaError, import_known_errors.KnownErrors.UserIdDoesNotExist]
626
+ );
627
+ if (res.status === "error") {
628
+ return import_results.Result.error(res.error);
629
+ }
630
+ return import_results.Result.ok(void 0);
631
+ }
606
632
  };
607
633
  // Annotate the CommonJS export names for ESM import in node:
608
634
  0 && (module.exports = {