@stackframe/stack-shared 2.8.40 → 2.8.43

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 (82) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/apps/apps-config.d.mts +109 -0
  3. package/dist/apps/apps-config.d.ts +109 -0
  4. package/dist/apps/apps-config.js +137 -0
  5. package/dist/apps/apps-config.js.map +1 -0
  6. package/dist/config/format.js +3 -1
  7. package/dist/config/format.js.map +1 -1
  8. package/dist/config/schema-fuzzer.test.d.mts +2 -0
  9. package/dist/config/schema-fuzzer.test.d.ts +2 -0
  10. package/dist/config/schema-fuzzer.test.js +206 -0
  11. package/dist/config/schema-fuzzer.test.js.map +1 -0
  12. package/dist/config/schema.d.mts +302 -182
  13. package/dist/config/schema.d.ts +302 -182
  14. package/dist/config/schema.js +92 -44
  15. package/dist/config/schema.js.map +1 -1
  16. package/dist/esm/apps/apps-config.js +112 -0
  17. package/dist/esm/apps/apps-config.js.map +1 -0
  18. package/dist/esm/config/format.js +3 -1
  19. package/dist/esm/config/format.js.map +1 -1
  20. package/dist/esm/config/schema-fuzzer.test.js +204 -0
  21. package/dist/esm/config/schema-fuzzer.test.js.map +1 -0
  22. package/dist/esm/config/schema.js +94 -46
  23. package/dist/esm/config/schema.js.map +1 -1
  24. package/dist/esm/interface/admin-interface.js +0 -27
  25. package/dist/esm/interface/admin-interface.js.map +1 -1
  26. package/dist/esm/interface/client-interface.js +36 -4
  27. package/dist/esm/interface/client-interface.js.map +1 -1
  28. package/dist/esm/interface/crud/products.js +19 -0
  29. package/dist/esm/interface/crud/products.js.map +1 -0
  30. package/dist/esm/interface/crud/transactions.js +3 -3
  31. package/dist/esm/interface/crud/transactions.js.map +1 -1
  32. package/dist/esm/interface/server-interface.js +22 -0
  33. package/dist/esm/interface/server-interface.js.map +1 -1
  34. package/dist/esm/known-errors.js +30 -16
  35. package/dist/esm/known-errors.js.map +1 -1
  36. package/dist/esm/schema-fields.js +15 -14
  37. package/dist/esm/schema-fields.js.map +1 -1
  38. package/dist/esm/sessions.js +17 -5
  39. package/dist/esm/sessions.js.map +1 -1
  40. package/dist/esm/utils/objects.js +4 -0
  41. package/dist/esm/utils/objects.js.map +1 -1
  42. package/dist/esm/utils/strings.js +5 -1
  43. package/dist/esm/utils/strings.js.map +1 -1
  44. package/dist/index.d.mts +1 -0
  45. package/dist/index.d.ts +1 -0
  46. package/dist/interface/admin-interface.d.mts +1 -6
  47. package/dist/interface/admin-interface.d.ts +1 -6
  48. package/dist/interface/admin-interface.js +0 -27
  49. package/dist/interface/admin-interface.js.map +1 -1
  50. package/dist/interface/client-interface.d.mts +5 -2
  51. package/dist/interface/client-interface.d.ts +5 -2
  52. package/dist/interface/client-interface.js +36 -4
  53. package/dist/interface/client-interface.js.map +1 -1
  54. package/dist/interface/crud/products.d.mts +91 -0
  55. package/dist/interface/crud/products.d.ts +91 -0
  56. package/dist/interface/crud/products.js +45 -0
  57. package/dist/interface/crud/products.js.map +1 -0
  58. package/dist/interface/crud/transactions.d.mts +2 -2
  59. package/dist/interface/crud/transactions.d.ts +2 -2
  60. package/dist/interface/crud/transactions.js +2 -2
  61. package/dist/interface/crud/transactions.js.map +1 -1
  62. package/dist/interface/server-interface.d.mts +10 -2
  63. package/dist/interface/server-interface.d.ts +10 -2
  64. package/dist/interface/server-interface.js +22 -0
  65. package/dist/interface/server-interface.js.map +1 -1
  66. package/dist/known-errors.d.mts +7 -4
  67. package/dist/known-errors.d.ts +7 -4
  68. package/dist/known-errors.js +30 -16
  69. package/dist/known-errors.js.map +1 -1
  70. package/dist/schema-fields.d.mts +8 -6
  71. package/dist/schema-fields.d.ts +8 -6
  72. package/dist/schema-fields.js +18 -17
  73. package/dist/schema-fields.js.map +1 -1
  74. package/dist/sessions.d.mts +2 -1
  75. package/dist/sessions.d.ts +2 -1
  76. package/dist/sessions.js +16 -4
  77. package/dist/sessions.js.map +1 -1
  78. package/dist/utils/objects.js +4 -0
  79. package/dist/utils/objects.js.map +1 -1
  80. package/dist/utils/strings.js +5 -1
  81. package/dist/utils/strings.js.map +1 -1
  82. package/package.json +7 -7
@@ -33,14 +33,15 @@ declare const branchPaymentsSchema: yup.ObjectSchema<{
33
33
  autoPay: {
34
34
  interval?: DayInterval | undefined;
35
35
  } | undefined;
36
- groups: Record<string, {
36
+ testMode: boolean | undefined;
37
+ catalogs: Record<string, {
37
38
  displayName?: string | undefined;
38
39
  }>;
39
- offers: Record<string, {
40
+ products: Record<string, {
40
41
  displayName?: string | undefined;
41
42
  serverOnly?: boolean | undefined;
42
43
  freeTrial?: DayInterval | undefined;
43
- groupId?: string | undefined;
44
+ catalogId?: string | undefined;
44
45
  isAddOnTo?: false | Record<string, true> | undefined;
45
46
  stackable?: boolean | undefined;
46
47
  customerType: "team" | "user" | "custom";
@@ -70,8 +71,9 @@ declare const branchPaymentsSchema: yup.ObjectSchema<{
70
71
  autoPay: {
71
72
  interval: undefined;
72
73
  };
73
- groups: undefined;
74
- offers: undefined;
74
+ testMode: undefined;
75
+ catalogs: undefined;
76
+ products: undefined;
75
77
  items: undefined;
76
78
  }, "">;
77
79
  declare const branchConfigSchema: yup.Schema<Omit<Omit<{
@@ -84,7 +86,7 @@ declare const branchConfigSchema: yup.Schema<Omit<Omit<{
84
86
  type: "postgres";
85
87
  connectionString: string;
86
88
  };
87
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
89
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
88
90
  domains: {
89
91
  allowLocalhost?: boolean | undefined;
90
92
  };
@@ -92,24 +94,6 @@ declare const branchConfigSchema: yup.Schema<Omit<Omit<{
92
94
  createPersonalTeamOnSignUp?: boolean | undefined;
93
95
  allowClientTeamCreation?: boolean | undefined;
94
96
  };
95
- rbac: {
96
- permissions: Record<string, {
97
- description?: string | undefined;
98
- scope?: "team" | "project" | undefined;
99
- containedPermissionIds?: Record<string, true | undefined> | undefined;
100
- } | undefined>;
101
- defaultPermissions: {
102
- teamCreator: Record<string, true | undefined>;
103
- teamMember: Record<string, true | undefined>;
104
- signUp: Record<string, true | undefined>;
105
- };
106
- };
107
- apiKeys: {
108
- enabled: {
109
- team?: boolean | undefined;
110
- user?: boolean | undefined;
111
- };
112
- };
113
97
  auth: {
114
98
  allowSignUp?: boolean | undefined;
115
99
  password: {
@@ -130,22 +114,35 @@ declare const branchConfigSchema: yup.Schema<Omit<Omit<{
130
114
  }>;
131
115
  };
132
116
  };
117
+ rbac: {
118
+ permissions: Record<string, {
119
+ description?: string | undefined;
120
+ scope?: "team" | "project" | undefined;
121
+ containedPermissionIds?: Record<string, true | undefined> | undefined;
122
+ } | undefined>;
123
+ defaultPermissions: {
124
+ teamCreator: Record<string, true | undefined>;
125
+ teamMember: Record<string, true | undefined>;
126
+ signUp: Record<string, true | undefined>;
127
+ };
128
+ };
133
129
  payments: {
134
130
  autoPay?: {
135
131
  interval?: DayInterval | undefined;
136
132
  } | undefined;
133
+ testMode?: boolean | undefined;
137
134
  items: Record<string, {
138
135
  displayName?: string | undefined;
139
136
  customerType?: "team" | "user" | "custom" | undefined;
140
137
  }>;
141
- groups: Record<string, {
138
+ catalogs: Record<string, {
142
139
  displayName?: string | undefined;
143
140
  }>;
144
- offers: Record<string, {
141
+ products: Record<string, {
145
142
  displayName?: string | undefined;
146
143
  serverOnly?: boolean | undefined;
147
144
  freeTrial?: DayInterval | undefined;
148
- groupId?: string | undefined;
145
+ catalogId?: string | undefined;
149
146
  isAddOnTo?: false | Record<string, true> | undefined;
150
147
  stackable?: boolean | undefined;
151
148
  customerType: "team" | "user" | "custom";
@@ -168,6 +165,18 @@ declare const branchConfigSchema: yup.Schema<Omit<Omit<{
168
165
  }>;
169
166
  }>;
170
167
  };
168
+ emails: {
169
+ selectedThemeId?: string | undefined;
170
+ templates: Record<string, {
171
+ themeId?: string | false | undefined;
172
+ displayName: string;
173
+ tsxSource: string;
174
+ }>;
175
+ themes: Record<string, {
176
+ displayName: string;
177
+ tsxSource: string;
178
+ }>;
179
+ };
171
180
  workflows: {
172
181
  availableWorkflows: Record<string, {
173
182
  displayName?: string | undefined;
@@ -175,21 +184,20 @@ declare const branchConfigSchema: yup.Schema<Omit<Omit<{
175
184
  tsSource?: string | undefined;
176
185
  }>;
177
186
  };
178
- users: {
179
- allowClientUserDeletion?: boolean | undefined;
187
+ apiKeys: {
188
+ enabled: {
189
+ team?: boolean | undefined;
190
+ user?: boolean | undefined;
191
+ };
180
192
  };
181
- emails: {
182
- selectedThemeId?: string | undefined;
183
- themes: Record<string, {
184
- displayName: string;
185
- tsxSource: string;
186
- }>;
187
- templates: Record<string, {
188
- themeId?: string | false | undefined;
189
- displayName: string;
190
- tsxSource: string;
193
+ apps: {
194
+ installed: Record<"teams" | "authentication" | "rbac" | "api-keys" | "payments" | "emails" | "email-api" | "data-vault" | "workflows" | "webhooks" | "tv-mode" | "launch-checklist" | "catalyst" | "neon" | "convex", {
195
+ enabled?: boolean | undefined;
191
196
  }>;
192
197
  };
198
+ users: {
199
+ allowClientUserDeletion?: boolean | undefined;
200
+ };
193
201
  dataVault: {
194
202
  stores: Record<string, {
195
203
  displayName?: string | undefined;
@@ -197,7 +205,7 @@ declare const branchConfigSchema: yup.Schema<Omit<Omit<{
197
205
  };
198
206
  }, yup.AnyObject, Omit<Omit<{
199
207
  sourceOfTruth: undefined;
200
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
208
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
201
209
  rbac: {
202
210
  permissions: undefined;
203
211
  defaultPermissions: {
@@ -219,6 +227,9 @@ declare const branchConfigSchema: yup.Schema<Omit<Omit<{
219
227
  user: undefined;
220
228
  };
221
229
  };
230
+ apps: {
231
+ installed: undefined;
232
+ };
222
233
  domains: {
223
234
  allowLocalhost: undefined;
224
235
  };
@@ -247,8 +258,9 @@ declare const branchConfigSchema: yup.Schema<Omit<Omit<{
247
258
  autoPay: {
248
259
  interval: undefined;
249
260
  };
250
- groups: undefined;
251
- offers: undefined;
261
+ testMode: undefined;
262
+ catalogs: undefined;
263
+ products: undefined;
252
264
  items: undefined;
253
265
  };
254
266
  dataVault: {
@@ -268,7 +280,7 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
268
280
  type: "postgres";
269
281
  connectionString: string;
270
282
  };
271
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
283
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
272
284
  domains: {
273
285
  allowLocalhost?: boolean | undefined;
274
286
  };
@@ -276,24 +288,6 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
276
288
  createPersonalTeamOnSignUp?: boolean | undefined;
277
289
  allowClientTeamCreation?: boolean | undefined;
278
290
  };
279
- rbac: {
280
- permissions: Record<string, {
281
- description?: string | undefined;
282
- scope?: "team" | "project" | undefined;
283
- containedPermissionIds?: Record<string, true | undefined> | undefined;
284
- } | undefined>;
285
- defaultPermissions: {
286
- teamCreator: Record<string, true | undefined>;
287
- teamMember: Record<string, true | undefined>;
288
- signUp: Record<string, true | undefined>;
289
- };
290
- };
291
- apiKeys: {
292
- enabled: {
293
- team?: boolean | undefined;
294
- user?: boolean | undefined;
295
- };
296
- };
297
291
  auth: {
298
292
  allowSignUp?: boolean | undefined;
299
293
  password: {
@@ -314,22 +308,35 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
314
308
  }>;
315
309
  };
316
310
  };
311
+ rbac: {
312
+ permissions: Record<string, {
313
+ description?: string | undefined;
314
+ scope?: "team" | "project" | undefined;
315
+ containedPermissionIds?: Record<string, true | undefined> | undefined;
316
+ } | undefined>;
317
+ defaultPermissions: {
318
+ teamCreator: Record<string, true | undefined>;
319
+ teamMember: Record<string, true | undefined>;
320
+ signUp: Record<string, true | undefined>;
321
+ };
322
+ };
317
323
  payments: {
318
324
  autoPay?: {
319
325
  interval?: DayInterval | undefined;
320
326
  } | undefined;
327
+ testMode?: boolean | undefined;
321
328
  items: Record<string, {
322
329
  displayName?: string | undefined;
323
330
  customerType?: "team" | "user" | "custom" | undefined;
324
331
  }>;
325
- groups: Record<string, {
332
+ catalogs: Record<string, {
326
333
  displayName?: string | undefined;
327
334
  }>;
328
- offers: Record<string, {
335
+ products: Record<string, {
329
336
  displayName?: string | undefined;
330
337
  serverOnly?: boolean | undefined;
331
338
  freeTrial?: DayInterval | undefined;
332
- groupId?: string | undefined;
339
+ catalogId?: string | undefined;
333
340
  isAddOnTo?: false | Record<string, true> | undefined;
334
341
  stackable?: boolean | undefined;
335
342
  customerType: "team" | "user" | "custom";
@@ -352,6 +359,18 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
352
359
  }>;
353
360
  }>;
354
361
  };
362
+ emails: {
363
+ selectedThemeId?: string | undefined;
364
+ templates: Record<string, {
365
+ themeId?: string | false | undefined;
366
+ displayName: string;
367
+ tsxSource: string;
368
+ }>;
369
+ themes: Record<string, {
370
+ displayName: string;
371
+ tsxSource: string;
372
+ }>;
373
+ };
355
374
  workflows: {
356
375
  availableWorkflows: Record<string, {
357
376
  displayName?: string | undefined;
@@ -359,21 +378,20 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
359
378
  tsSource?: string | undefined;
360
379
  }>;
361
380
  };
362
- users: {
363
- allowClientUserDeletion?: boolean | undefined;
381
+ apiKeys: {
382
+ enabled: {
383
+ team?: boolean | undefined;
384
+ user?: boolean | undefined;
385
+ };
364
386
  };
365
- emails: {
366
- selectedThemeId?: string | undefined;
367
- themes: Record<string, {
368
- displayName: string;
369
- tsxSource: string;
370
- }>;
371
- templates: Record<string, {
372
- themeId?: string | false | undefined;
373
- displayName: string;
374
- tsxSource: string;
387
+ apps: {
388
+ installed: Record<"teams" | "authentication" | "rbac" | "api-keys" | "payments" | "emails" | "email-api" | "data-vault" | "workflows" | "webhooks" | "tv-mode" | "launch-checklist" | "catalyst" | "neon" | "convex", {
389
+ enabled?: boolean | undefined;
375
390
  }>;
376
391
  };
392
+ users: {
393
+ allowClientUserDeletion?: boolean | undefined;
394
+ };
377
395
  dataVault: {
378
396
  stores: Record<string, {
379
397
  displayName?: string | undefined;
@@ -430,12 +448,12 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
430
448
  };
431
449
  emails: Omit<{
432
450
  selectedThemeId?: string | undefined;
433
- themes: Record<string, {
451
+ templates: Record<string, {
452
+ themeId?: string | false | undefined;
434
453
  displayName: string;
435
454
  tsxSource: string;
436
455
  }>;
437
- templates: Record<string, {
438
- themeId?: string | false | undefined;
456
+ themes: Record<string, {
439
457
  displayName: string;
440
458
  tsxSource: string;
441
459
  }>;
@@ -453,7 +471,7 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
453
471
  };
454
472
  }, yup.AnyObject, Omit<NonNullable<Omit<Omit<{
455
473
  sourceOfTruth: undefined;
456
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
474
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
457
475
  rbac: {
458
476
  permissions: undefined;
459
477
  defaultPermissions: {
@@ -475,6 +493,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
475
493
  user: undefined;
476
494
  };
477
495
  };
496
+ apps: {
497
+ installed: undefined;
498
+ };
478
499
  domains: {
479
500
  allowLocalhost: undefined;
480
501
  };
@@ -503,8 +524,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
503
524
  autoPay: {
504
525
  interval: undefined;
505
526
  };
506
- groups: undefined;
507
- offers: undefined;
527
+ testMode: undefined;
528
+ catalogs: undefined;
529
+ products: undefined;
508
530
  items: undefined;
509
531
  };
510
532
  dataVault: {
@@ -516,7 +538,7 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
516
538
  }>, "domains" | "auth" | "emails"> & {
517
539
  auth: Omit<NonNullable<Omit<Omit<{
518
540
  sourceOfTruth: undefined;
519
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
541
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
520
542
  rbac: {
521
543
  permissions: undefined;
522
544
  defaultPermissions: {
@@ -538,6 +560,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
538
560
  user: undefined;
539
561
  };
540
562
  };
563
+ apps: {
564
+ installed: undefined;
565
+ };
541
566
  domains: {
542
567
  allowLocalhost: undefined;
543
568
  };
@@ -566,8 +591,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
566
591
  autoPay: {
567
592
  interval: undefined;
568
593
  };
569
- groups: undefined;
570
- offers: undefined;
594
+ testMode: undefined;
595
+ catalogs: undefined;
596
+ products: undefined;
571
597
  items: undefined;
572
598
  };
573
599
  dataVault: {
@@ -579,7 +605,7 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
579
605
  }>, "oauth"> & {
580
606
  oauth: Omit<NonNullable<Omit<Omit<{
581
607
  sourceOfTruth: undefined;
582
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
608
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
583
609
  rbac: {
584
610
  permissions: undefined;
585
611
  defaultPermissions: {
@@ -601,6 +627,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
601
627
  user: undefined;
602
628
  };
603
629
  };
630
+ apps: {
631
+ installed: undefined;
632
+ };
604
633
  domains: {
605
634
  allowLocalhost: undefined;
606
635
  };
@@ -629,8 +658,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
629
658
  autoPay: {
630
659
  interval: undefined;
631
660
  };
632
- groups: undefined;
633
- offers: undefined;
661
+ testMode: undefined;
662
+ catalogs: undefined;
663
+ products: undefined;
634
664
  items: undefined;
635
665
  };
636
666
  dataVault: {
@@ -645,7 +675,7 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
645
675
  };
646
676
  emails: Omit<NonNullable<Omit<Omit<{
647
677
  sourceOfTruth: undefined;
648
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
678
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
649
679
  rbac: {
650
680
  permissions: undefined;
651
681
  defaultPermissions: {
@@ -667,6 +697,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
667
697
  user: undefined;
668
698
  };
669
699
  };
700
+ apps: {
701
+ installed: undefined;
702
+ };
670
703
  domains: {
671
704
  allowLocalhost: undefined;
672
705
  };
@@ -695,8 +728,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
695
728
  autoPay: {
696
729
  interval: undefined;
697
730
  };
698
- groups: undefined;
699
- offers: undefined;
731
+ testMode: undefined;
732
+ catalogs: undefined;
733
+ products: undefined;
700
734
  items: undefined;
701
735
  };
702
736
  dataVault: {
@@ -719,7 +753,7 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
719
753
  };
720
754
  domains: Omit<NonNullable<Omit<Omit<{
721
755
  sourceOfTruth: undefined;
722
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
756
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
723
757
  rbac: {
724
758
  permissions: undefined;
725
759
  defaultPermissions: {
@@ -741,6 +775,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
741
775
  user: undefined;
742
776
  };
743
777
  };
778
+ apps: {
779
+ installed: undefined;
780
+ };
744
781
  domains: {
745
782
  allowLocalhost: undefined;
746
783
  };
@@ -769,8 +806,9 @@ declare const environmentConfigSchema: yup.Schema<Omit<NonNullable<Omit<Omit<{
769
806
  autoPay: {
770
807
  interval: undefined;
771
808
  };
772
- groups: undefined;
773
- offers: undefined;
809
+ testMode: undefined;
810
+ catalogs: undefined;
811
+ products: undefined;
774
812
  items: undefined;
775
813
  };
776
814
  dataVault: {
@@ -793,7 +831,7 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
793
831
  type: "postgres";
794
832
  connectionString: string;
795
833
  };
796
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
834
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
797
835
  domains: {
798
836
  allowLocalhost?: boolean | undefined;
799
837
  };
@@ -801,24 +839,6 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
801
839
  createPersonalTeamOnSignUp?: boolean | undefined;
802
840
  allowClientTeamCreation?: boolean | undefined;
803
841
  };
804
- rbac: {
805
- permissions: Record<string, {
806
- description?: string | undefined;
807
- scope?: "team" | "project" | undefined;
808
- containedPermissionIds?: Record<string, true | undefined> | undefined;
809
- } | undefined>;
810
- defaultPermissions: {
811
- teamCreator: Record<string, true | undefined>;
812
- teamMember: Record<string, true | undefined>;
813
- signUp: Record<string, true | undefined>;
814
- };
815
- };
816
- apiKeys: {
817
- enabled: {
818
- team?: boolean | undefined;
819
- user?: boolean | undefined;
820
- };
821
- };
822
842
  auth: {
823
843
  allowSignUp?: boolean | undefined;
824
844
  password: {
@@ -839,22 +859,35 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
839
859
  }>;
840
860
  };
841
861
  };
862
+ rbac: {
863
+ permissions: Record<string, {
864
+ description?: string | undefined;
865
+ scope?: "team" | "project" | undefined;
866
+ containedPermissionIds?: Record<string, true | undefined> | undefined;
867
+ } | undefined>;
868
+ defaultPermissions: {
869
+ teamCreator: Record<string, true | undefined>;
870
+ teamMember: Record<string, true | undefined>;
871
+ signUp: Record<string, true | undefined>;
872
+ };
873
+ };
842
874
  payments: {
843
875
  autoPay?: {
844
876
  interval?: DayInterval | undefined;
845
877
  } | undefined;
878
+ testMode?: boolean | undefined;
846
879
  items: Record<string, {
847
880
  displayName?: string | undefined;
848
881
  customerType?: "team" | "user" | "custom" | undefined;
849
882
  }>;
850
- groups: Record<string, {
883
+ catalogs: Record<string, {
851
884
  displayName?: string | undefined;
852
885
  }>;
853
- offers: Record<string, {
886
+ products: Record<string, {
854
887
  displayName?: string | undefined;
855
888
  serverOnly?: boolean | undefined;
856
889
  freeTrial?: DayInterval | undefined;
857
- groupId?: string | undefined;
890
+ catalogId?: string | undefined;
858
891
  isAddOnTo?: false | Record<string, true> | undefined;
859
892
  stackable?: boolean | undefined;
860
893
  customerType: "team" | "user" | "custom";
@@ -877,6 +910,18 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
877
910
  }>;
878
911
  }>;
879
912
  };
913
+ emails: {
914
+ selectedThemeId?: string | undefined;
915
+ templates: Record<string, {
916
+ themeId?: string | false | undefined;
917
+ displayName: string;
918
+ tsxSource: string;
919
+ }>;
920
+ themes: Record<string, {
921
+ displayName: string;
922
+ tsxSource: string;
923
+ }>;
924
+ };
880
925
  workflows: {
881
926
  availableWorkflows: Record<string, {
882
927
  displayName?: string | undefined;
@@ -884,21 +929,20 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
884
929
  tsSource?: string | undefined;
885
930
  }>;
886
931
  };
887
- users: {
888
- allowClientUserDeletion?: boolean | undefined;
932
+ apiKeys: {
933
+ enabled: {
934
+ team?: boolean | undefined;
935
+ user?: boolean | undefined;
936
+ };
889
937
  };
890
- emails: {
891
- selectedThemeId?: string | undefined;
892
- themes: Record<string, {
893
- displayName: string;
894
- tsxSource: string;
895
- }>;
896
- templates: Record<string, {
897
- themeId?: string | false | undefined;
898
- displayName: string;
899
- tsxSource: string;
938
+ apps: {
939
+ installed: Record<"teams" | "authentication" | "rbac" | "api-keys" | "payments" | "emails" | "email-api" | "data-vault" | "workflows" | "webhooks" | "tv-mode" | "launch-checklist" | "catalyst" | "neon" | "convex", {
940
+ enabled?: boolean | undefined;
900
941
  }>;
901
942
  };
943
+ users: {
944
+ allowClientUserDeletion?: boolean | undefined;
945
+ };
902
946
  dataVault: {
903
947
  stores: Record<string, {
904
948
  displayName?: string | undefined;
@@ -955,12 +999,12 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
955
999
  };
956
1000
  emails: Omit<{
957
1001
  selectedThemeId?: string | undefined;
958
- themes: Record<string, {
1002
+ templates: Record<string, {
1003
+ themeId?: string | false | undefined;
959
1004
  displayName: string;
960
1005
  tsxSource: string;
961
1006
  }>;
962
- templates: Record<string, {
963
- themeId?: string | false | undefined;
1007
+ themes: Record<string, {
964
1008
  displayName: string;
965
1009
  tsxSource: string;
966
1010
  }>;
@@ -978,7 +1022,7 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
978
1022
  };
979
1023
  }>, never> & {}, yup.AnyObject, Omit<NonNullable<Omit<NonNullable<Omit<Omit<{
980
1024
  sourceOfTruth: undefined;
981
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
1025
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
982
1026
  rbac: {
983
1027
  permissions: undefined;
984
1028
  defaultPermissions: {
@@ -1000,6 +1044,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1000
1044
  user: undefined;
1001
1045
  };
1002
1046
  };
1047
+ apps: {
1048
+ installed: undefined;
1049
+ };
1003
1050
  domains: {
1004
1051
  allowLocalhost: undefined;
1005
1052
  };
@@ -1028,8 +1075,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1028
1075
  autoPay: {
1029
1076
  interval: undefined;
1030
1077
  };
1031
- groups: undefined;
1032
- offers: undefined;
1078
+ testMode: undefined;
1079
+ catalogs: undefined;
1080
+ products: undefined;
1033
1081
  items: undefined;
1034
1082
  };
1035
1083
  dataVault: {
@@ -1041,7 +1089,7 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1041
1089
  }>, "domains" | "auth" | "emails"> & {
1042
1090
  auth: Omit<NonNullable<Omit<Omit<{
1043
1091
  sourceOfTruth: undefined;
1044
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
1092
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
1045
1093
  rbac: {
1046
1094
  permissions: undefined;
1047
1095
  defaultPermissions: {
@@ -1063,6 +1111,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1063
1111
  user: undefined;
1064
1112
  };
1065
1113
  };
1114
+ apps: {
1115
+ installed: undefined;
1116
+ };
1066
1117
  domains: {
1067
1118
  allowLocalhost: undefined;
1068
1119
  };
@@ -1091,8 +1142,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1091
1142
  autoPay: {
1092
1143
  interval: undefined;
1093
1144
  };
1094
- groups: undefined;
1095
- offers: undefined;
1145
+ testMode: undefined;
1146
+ catalogs: undefined;
1147
+ products: undefined;
1096
1148
  items: undefined;
1097
1149
  };
1098
1150
  dataVault: {
@@ -1104,7 +1156,7 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1104
1156
  }>, "oauth"> & {
1105
1157
  oauth: Omit<NonNullable<Omit<Omit<{
1106
1158
  sourceOfTruth: undefined;
1107
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
1159
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
1108
1160
  rbac: {
1109
1161
  permissions: undefined;
1110
1162
  defaultPermissions: {
@@ -1126,6 +1178,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1126
1178
  user: undefined;
1127
1179
  };
1128
1180
  };
1181
+ apps: {
1182
+ installed: undefined;
1183
+ };
1129
1184
  domains: {
1130
1185
  allowLocalhost: undefined;
1131
1186
  };
@@ -1154,8 +1209,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1154
1209
  autoPay: {
1155
1210
  interval: undefined;
1156
1211
  };
1157
- groups: undefined;
1158
- offers: undefined;
1212
+ testMode: undefined;
1213
+ catalogs: undefined;
1214
+ products: undefined;
1159
1215
  items: undefined;
1160
1216
  };
1161
1217
  dataVault: {
@@ -1170,7 +1226,7 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1170
1226
  };
1171
1227
  emails: Omit<NonNullable<Omit<Omit<{
1172
1228
  sourceOfTruth: undefined;
1173
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
1229
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
1174
1230
  rbac: {
1175
1231
  permissions: undefined;
1176
1232
  defaultPermissions: {
@@ -1192,6 +1248,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1192
1248
  user: undefined;
1193
1249
  };
1194
1250
  };
1251
+ apps: {
1252
+ installed: undefined;
1253
+ };
1195
1254
  domains: {
1196
1255
  allowLocalhost: undefined;
1197
1256
  };
@@ -1220,8 +1279,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1220
1279
  autoPay: {
1221
1280
  interval: undefined;
1222
1281
  };
1223
- groups: undefined;
1224
- offers: undefined;
1282
+ testMode: undefined;
1283
+ catalogs: undefined;
1284
+ products: undefined;
1225
1285
  items: undefined;
1226
1286
  };
1227
1287
  dataVault: {
@@ -1244,7 +1304,7 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1244
1304
  };
1245
1305
  domains: Omit<NonNullable<Omit<Omit<{
1246
1306
  sourceOfTruth: undefined;
1247
- }, string>, "domains" | "teams" | "rbac" | "apiKeys" | "auth" | "payments" | "workflows" | "users" | "emails" | "dataVault"> & {
1307
+ }, string>, "domains" | "teams" | "auth" | "rbac" | "payments" | "emails" | "workflows" | "apiKeys" | "apps" | "users" | "dataVault"> & {
1248
1308
  rbac: {
1249
1309
  permissions: undefined;
1250
1310
  defaultPermissions: {
@@ -1266,6 +1326,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1266
1326
  user: undefined;
1267
1327
  };
1268
1328
  };
1329
+ apps: {
1330
+ installed: undefined;
1331
+ };
1269
1332
  domains: {
1270
1333
  allowLocalhost: undefined;
1271
1334
  };
@@ -1294,8 +1357,9 @@ declare const organizationConfigSchema: yup.Schema<Omit<NonNullable<Omit<NonNull
1294
1357
  autoPay: {
1295
1358
  interval: undefined;
1296
1359
  };
1297
- groups: undefined;
1298
- offers: undefined;
1360
+ testMode: undefined;
1361
+ catalogs: undefined;
1362
+ products: undefined;
1299
1363
  items: undefined;
1300
1364
  };
1301
1365
  dataVault: {
@@ -1337,6 +1401,11 @@ declare const organizationConfigDefaults: {
1337
1401
  readonly user: false;
1338
1402
  };
1339
1403
  };
1404
+ readonly apps: {
1405
+ readonly installed: Record<"teams" | "authentication" | "rbac" | "api-keys" | "payments" | "emails" | "email-api" | "data-vault" | "workflows" | "webhooks" | "tv-mode" | "launch-checklist" | "catalyst" | "neon" | "convex", {
1406
+ enabled: false;
1407
+ }>;
1408
+ };
1340
1409
  readonly teams: {
1341
1410
  readonly createPersonalTeamOnSignUp: false;
1342
1411
  readonly allowClientTeamCreation: false;
@@ -1434,13 +1503,14 @@ declare const organizationConfigDefaults: {
1434
1503
  };
1435
1504
  };
1436
1505
  readonly payments: {
1506
+ readonly testMode: false;
1437
1507
  readonly autoPay: undefined;
1438
- readonly groups: (key: string) => {
1508
+ readonly catalogs: (key: string) => {
1439
1509
  displayName: undefined;
1440
1510
  };
1441
- readonly offers: (key: string) => {
1511
+ readonly products: (key: string) => {
1442
1512
  readonly displayName: string;
1443
- readonly groupId: undefined;
1513
+ readonly catalogId: undefined;
1444
1514
  readonly customerType: "user";
1445
1515
  readonly freeTrial: undefined;
1446
1516
  readonly serverOnly: false;
@@ -1582,7 +1652,7 @@ declare function sanitizeOrganizationConfig(config: OrganizationRenderedConfigBe
1582
1652
  };
1583
1653
  };
1584
1654
  payments: {
1585
- offers: Record<string, {
1655
+ products: Record<string, {
1586
1656
  isAddOnTo: false | Record<string, true>;
1587
1657
  prices: "include-by-default" | Record<string, {
1588
1658
  USD?: string | undefined;
@@ -1599,7 +1669,7 @@ declare function sanitizeOrganizationConfig(config: OrganizationRenderedConfigBe
1599
1669
  displayName: string;
1600
1670
  serverOnly: boolean;
1601
1671
  freeTrial: [number, "day" | "week" | "year" | "month"] | undefined;
1602
- groupId: string | undefined;
1672
+ catalogId: string | undefined;
1603
1673
  customerType: "team" | "user" | "custom";
1604
1674
  stackable: boolean | undefined;
1605
1675
  includedItems: {
@@ -1619,14 +1689,15 @@ declare function sanitizeOrganizationConfig(config: OrganizationRenderedConfigBe
1619
1689
  autoPay: {
1620
1690
  interval?: [number, "day" | "week" | "year" | "month"] | undefined;
1621
1691
  } | undefined;
1622
- groups: {
1692
+ testMode: boolean;
1693
+ catalogs: {
1623
1694
  [x: string]: {
1624
1695
  displayName: string | undefined;
1625
1696
  };
1626
1697
  };
1627
1698
  };
1628
1699
  sourceOfTruth: {
1629
- type: "hosted" | "neon" | "postgres";
1700
+ type: "neon" | "hosted" | "postgres";
1630
1701
  connectionString: string | undefined;
1631
1702
  connectionStrings: {
1632
1703
  [x: string]: string | undefined;
@@ -1659,34 +1730,6 @@ declare function sanitizeOrganizationConfig(config: OrganizationRenderedConfigBe
1659
1730
  createPersonalTeamOnSignUp: boolean;
1660
1731
  allowClientTeamCreation: boolean;
1661
1732
  };
1662
- rbac: {
1663
- permissions: {
1664
- [x: string]: {
1665
- description: string | undefined;
1666
- scope: "team" | "project" | undefined;
1667
- containedPermissionIds: {
1668
- [x: string]: true | undefined;
1669
- };
1670
- };
1671
- };
1672
- defaultPermissions: {
1673
- teamCreator: {
1674
- [x: string]: true | undefined;
1675
- };
1676
- teamMember: {
1677
- [x: string]: true | undefined;
1678
- };
1679
- signUp: {
1680
- [x: string]: true | undefined;
1681
- };
1682
- };
1683
- };
1684
- apiKeys: {
1685
- enabled: {
1686
- team: boolean;
1687
- user: boolean;
1688
- };
1689
- };
1690
1733
  auth: {
1691
1734
  password: {
1692
1735
  allowSignIn: boolean;
@@ -1714,6 +1757,28 @@ declare function sanitizeOrganizationConfig(config: OrganizationRenderedConfigBe
1714
1757
  };
1715
1758
  };
1716
1759
  };
1760
+ rbac: {
1761
+ permissions: {
1762
+ [x: string]: {
1763
+ description: string | undefined;
1764
+ scope: "team" | "project" | undefined;
1765
+ containedPermissionIds: {
1766
+ [x: string]: true | undefined;
1767
+ };
1768
+ };
1769
+ };
1770
+ defaultPermissions: {
1771
+ teamCreator: {
1772
+ [x: string]: true | undefined;
1773
+ };
1774
+ teamMember: {
1775
+ [x: string]: true | undefined;
1776
+ };
1777
+ signUp: {
1778
+ [x: string]: true | undefined;
1779
+ };
1780
+ };
1781
+ };
1717
1782
  workflows: {
1718
1783
  availableWorkflows: {
1719
1784
  [x: string]: {
@@ -1723,6 +1788,61 @@ declare function sanitizeOrganizationConfig(config: OrganizationRenderedConfigBe
1723
1788
  };
1724
1789
  };
1725
1790
  };
1791
+ apiKeys: {
1792
+ enabled: {
1793
+ team: boolean;
1794
+ user: boolean;
1795
+ };
1796
+ };
1797
+ apps: {
1798
+ installed: {
1799
+ teams: {
1800
+ enabled: boolean;
1801
+ };
1802
+ authentication: {
1803
+ enabled: boolean;
1804
+ };
1805
+ rbac: {
1806
+ enabled: boolean;
1807
+ };
1808
+ "api-keys": {
1809
+ enabled: boolean;
1810
+ };
1811
+ payments: {
1812
+ enabled: boolean;
1813
+ };
1814
+ emails: {
1815
+ enabled: boolean;
1816
+ };
1817
+ "email-api": {
1818
+ enabled: boolean;
1819
+ };
1820
+ "data-vault": {
1821
+ enabled: boolean;
1822
+ };
1823
+ workflows: {
1824
+ enabled: boolean;
1825
+ };
1826
+ webhooks: {
1827
+ enabled: boolean;
1828
+ };
1829
+ "tv-mode": {
1830
+ enabled: boolean;
1831
+ };
1832
+ "launch-checklist": {
1833
+ enabled: boolean;
1834
+ };
1835
+ catalyst: {
1836
+ enabled: boolean;
1837
+ };
1838
+ neon: {
1839
+ enabled: boolean;
1840
+ };
1841
+ convex: {
1842
+ enabled: boolean;
1843
+ };
1844
+ };
1845
+ };
1726
1846
  users: {
1727
1847
  allowClientUserDeletion: boolean;
1728
1848
  };
@@ -1793,4 +1913,4 @@ type EnvironmentRenderedConfig = Expand<Awaited<ReturnType<typeof sanitizeEnviro
1793
1913
  type OrganizationRenderedConfig = Expand<Awaited<ReturnType<typeof sanitizeOrganizationConfig>>>;
1794
1914
  type CompleteConfig = OrganizationRenderedConfig;
1795
1915
 
1796
- export { type BranchConfigOverride, type BranchConfigOverrideOverride, type BranchIncompleteConfig, type BranchRenderedConfig, type CompleteConfig, type ConfigLevel, type EnvironmentConfigOverride, type EnvironmentConfigOverrideOverride, type EnvironmentIncompleteConfig, type EnvironmentRenderedConfig, type OrganizationConfigOverride, type OrganizationConfigOverrideOverride, type OrganizationIncompleteConfig, type OrganizationRenderedConfig, type ProjectConfigOverride, type ProjectConfigOverrideOverride, type ProjectIncompleteConfig, type ProjectRenderedConfig, type ValidatedToHaveNoConfigOverrideErrors, type ValidatedToHaveNoIncompleteConfigWarnings, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, assertNoConfigOverrideErrors, branchConfigSchema, branchPaymentsSchema, configLevels, environmentConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig };
1916
+ export { type BranchConfigNormalizedOverride, type BranchConfigOverride, type BranchConfigOverrideOverride, type BranchIncompleteConfig, type BranchRenderedConfig, type CompleteConfig, type ConfigLevel, type EnvironmentConfigNormalizedOverride, type EnvironmentConfigOverride, type EnvironmentConfigOverrideOverride, type EnvironmentIncompleteConfig, type EnvironmentRenderedConfig, type OrganizationConfigNormalizedOverride, type OrganizationConfigOverride, type OrganizationConfigOverrideOverride, type OrganizationIncompleteConfig, type OrganizationRenderedConfig, type ProjectConfigNormalizedOverride, type ProjectConfigOverride, type ProjectConfigOverrideOverride, type ProjectIncompleteConfig, type ProjectRenderedConfig, type ValidatedToHaveNoConfigOverrideErrors, type ValidatedToHaveNoIncompleteConfigWarnings, applyBranchDefaults, applyEnvironmentDefaults, applyOrganizationDefaults, applyProjectDefaults, assertNoConfigOverrideErrors, branchConfigSchema, branchPaymentsSchema, configLevels, environmentConfigSchema, getConfigOverrideErrors, getIncompleteConfigWarnings, migrateConfigOverride, organizationConfigSchema, projectConfigSchema, sanitizeBranchConfig, sanitizeEnvironmentConfig, sanitizeOrganizationConfig, sanitizeProjectConfig };