@stackframe/stack-shared 2.8.28 → 2.8.31

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 (46) 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/interface/admin-interface.js +62 -0
  9. package/dist/esm/interface/admin-interface.js.map +1 -1
  10. package/dist/esm/interface/crud/projects.js +7 -1
  11. package/dist/esm/interface/crud/projects.js.map +1 -1
  12. package/dist/esm/known-errors.js +89 -1
  13. package/dist/esm/known-errors.js.map +1 -1
  14. package/dist/esm/schema-fields.js +67 -4
  15. package/dist/esm/schema-fields.js.map +1 -1
  16. package/dist/esm/utils/featurebase.js +176 -0
  17. package/dist/esm/utils/featurebase.js.map +1 -0
  18. package/dist/esm/utils/html.js +6 -1
  19. package/dist/esm/utils/html.js.map +1 -1
  20. package/dist/interface/admin-interface.d.mts +19 -0
  21. package/dist/interface/admin-interface.d.ts +19 -0
  22. package/dist/interface/admin-interface.js +62 -0
  23. package/dist/interface/admin-interface.js.map +1 -1
  24. package/dist/interface/crud/project-api-keys.d.mts +4 -4
  25. package/dist/interface/crud/project-api-keys.d.ts +4 -4
  26. package/dist/interface/crud/projects.d.mts +45 -7
  27. package/dist/interface/crud/projects.d.ts +45 -7
  28. package/dist/interface/crud/projects.js +7 -1
  29. package/dist/interface/crud/projects.js.map +1 -1
  30. package/dist/known-errors.d.mts +18 -0
  31. package/dist/known-errors.d.ts +18 -0
  32. package/dist/known-errors.js +89 -1
  33. package/dist/known-errors.js.map +1 -1
  34. package/dist/schema-fields.d.mts +88 -2
  35. package/dist/schema-fields.d.ts +88 -2
  36. package/dist/schema-fields.js +71 -3
  37. package/dist/schema-fields.js.map +1 -1
  38. package/dist/utils/featurebase.d.mts +28 -0
  39. package/dist/utils/featurebase.d.ts +28 -0
  40. package/dist/utils/featurebase.js +201 -0
  41. package/dist/utils/featurebase.js.map +1 -0
  42. package/dist/utils/html.d.mts +2 -1
  43. package/dist/utils/html.d.ts +2 -1
  44. package/dist/utils/html.js +8 -2
  45. package/dist/utils/html.js.map +1 -1
  46. package/package.json +1 -1
@@ -40,8 +40,11 @@ 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;
47
+ owner_team_id: string | null;
45
48
  config: {
46
49
  allow_localhost: boolean;
47
50
  sign_up_enabled: boolean;
@@ -57,8 +60,8 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
57
60
  client_secret?: string | undefined;
58
61
  facebook_config_id?: string | undefined;
59
62
  microsoft_tenant_id?: string | undefined;
60
- type: "shared" | "standard";
61
63
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
64
+ type: "shared" | "standard";
62
65
  provider_config_id: string;
63
66
  }[];
64
67
  enabled_oauth_providers: {
@@ -94,8 +97,11 @@ declare const projectsCrudAdminReadSchema: yup.ObjectSchema<{
94
97
  id: undefined;
95
98
  display_name: undefined;
96
99
  description: undefined;
100
+ logo_url: undefined;
101
+ full_logo_url: undefined;
97
102
  created_at_millis: undefined;
98
103
  is_production_mode: undefined;
104
+ owner_team_id: undefined;
99
105
  config: {
100
106
  allow_localhost: undefined;
101
107
  sign_up_enabled: undefined;
@@ -160,6 +166,8 @@ declare const projectsCrudClientReadSchema: yup.ObjectSchema<{
160
166
  declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
161
167
  display_name: string | undefined;
162
168
  description: string | null | undefined;
169
+ logo_url: string | null | undefined;
170
+ full_logo_url: string | null | undefined;
163
171
  is_production_mode: boolean | undefined;
164
172
  config: {
165
173
  allow_localhost?: boolean | undefined;
@@ -176,8 +184,8 @@ declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
176
184
  client_secret?: string | undefined;
177
185
  facebook_config_id?: string | undefined;
178
186
  microsoft_tenant_id?: string | undefined;
179
- type: "shared" | "standard";
180
187
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
188
+ type: "shared" | "standard";
181
189
  }[] | undefined;
182
190
  domains?: {
183
191
  domain: string;
@@ -208,12 +216,16 @@ declare const projectsCrudAdminUpdateSchema: yup.ObjectSchema<{
208
216
  }, yup.AnyObject, {
209
217
  display_name: undefined;
210
218
  description: undefined;
219
+ logo_url: undefined;
220
+ full_logo_url: undefined;
211
221
  is_production_mode: undefined;
212
222
  config: undefined;
213
223
  }, "">;
214
224
  declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
215
225
  display_name: string;
216
226
  description: string | null | undefined;
227
+ logo_url: string | null | undefined;
228
+ full_logo_url: string | null | undefined;
217
229
  is_production_mode: boolean | undefined;
218
230
  config: {
219
231
  allow_localhost?: boolean | undefined;
@@ -230,8 +242,8 @@ declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
230
242
  client_secret?: string | undefined;
231
243
  facebook_config_id?: string | undefined;
232
244
  microsoft_tenant_id?: string | undefined;
233
- type: "shared" | "standard";
234
245
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
246
+ type: "shared" | "standard";
235
247
  }[] | undefined;
236
248
  domains?: {
237
249
  domain: string;
@@ -261,11 +273,15 @@ declare const projectsCrudAdminCreateSchema: yup.ObjectSchema<{
261
273
  } | undefined;
262
274
  } & {
263
275
  display_name: string;
276
+ owner_team_id: string;
264
277
  }, yup.AnyObject, {
265
278
  display_name: undefined;
266
279
  description: undefined;
280
+ logo_url: undefined;
281
+ full_logo_url: undefined;
267
282
  is_production_mode: undefined;
268
283
  config: undefined;
284
+ owner_team_id: undefined;
269
285
  }, "">;
270
286
  declare const projectsCrudAdminDeleteSchema: yup.MixedSchema<{} | undefined, yup.AnyObject, undefined, "">;
271
287
  declare const clientProjectsCrud: CrudSchemaFromOptions<{
@@ -314,8 +330,11 @@ declare const projectsCrud: CrudSchemaFromOptions<{
314
330
  id: string;
315
331
  display_name: string;
316
332
  description: string;
333
+ logo_url: string | null | undefined;
334
+ full_logo_url: string | null | undefined;
317
335
  created_at_millis: number;
318
336
  is_production_mode: boolean;
337
+ owner_team_id: string | null;
319
338
  config: {
320
339
  allow_localhost: boolean;
321
340
  sign_up_enabled: boolean;
@@ -331,8 +350,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
331
350
  client_secret?: string | undefined;
332
351
  facebook_config_id?: string | undefined;
333
352
  microsoft_tenant_id?: string | undefined;
334
- type: "shared" | "standard";
335
353
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
354
+ type: "shared" | "standard";
336
355
  provider_config_id: string;
337
356
  }[];
338
357
  enabled_oauth_providers: {
@@ -368,8 +387,11 @@ declare const projectsCrud: CrudSchemaFromOptions<{
368
387
  id: undefined;
369
388
  display_name: undefined;
370
389
  description: undefined;
390
+ logo_url: undefined;
391
+ full_logo_url: undefined;
371
392
  created_at_millis: undefined;
372
393
  is_production_mode: undefined;
394
+ owner_team_id: undefined;
373
395
  config: {
374
396
  allow_localhost: undefined;
375
397
  sign_up_enabled: undefined;
@@ -403,6 +425,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
403
425
  adminUpdateSchema: yup.ObjectSchema<{
404
426
  display_name: string | undefined;
405
427
  description: string | null | undefined;
428
+ logo_url: string | null | undefined;
429
+ full_logo_url: string | null | undefined;
406
430
  is_production_mode: boolean | undefined;
407
431
  config: {
408
432
  allow_localhost?: boolean | undefined;
@@ -419,8 +443,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
419
443
  client_secret?: string | undefined;
420
444
  facebook_config_id?: string | undefined;
421
445
  microsoft_tenant_id?: string | undefined;
422
- type: "shared" | "standard";
423
446
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
447
+ type: "shared" | "standard";
424
448
  }[] | undefined;
425
449
  domains?: {
426
450
  domain: string;
@@ -451,6 +475,8 @@ declare const projectsCrud: CrudSchemaFromOptions<{
451
475
  }, yup.AnyObject, {
452
476
  display_name: undefined;
453
477
  description: undefined;
478
+ logo_url: undefined;
479
+ full_logo_url: undefined;
454
480
  is_production_mode: undefined;
455
481
  config: undefined;
456
482
  }, "">;
@@ -479,8 +505,11 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
479
505
  id: string;
480
506
  display_name: string;
481
507
  description: string;
508
+ logo_url: string | null | undefined;
509
+ full_logo_url: string | null | undefined;
482
510
  created_at_millis: number;
483
511
  is_production_mode: boolean;
512
+ owner_team_id: string | null;
484
513
  config: {
485
514
  allow_localhost: boolean;
486
515
  sign_up_enabled: boolean;
@@ -496,8 +525,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
496
525
  client_secret?: string | undefined;
497
526
  facebook_config_id?: string | undefined;
498
527
  microsoft_tenant_id?: string | undefined;
499
- type: "shared" | "standard";
500
528
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
529
+ type: "shared" | "standard";
501
530
  provider_config_id: string;
502
531
  }[];
503
532
  enabled_oauth_providers: {
@@ -533,8 +562,11 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
533
562
  id: undefined;
534
563
  display_name: undefined;
535
564
  description: undefined;
565
+ logo_url: undefined;
566
+ full_logo_url: undefined;
536
567
  created_at_millis: undefined;
537
568
  is_production_mode: undefined;
569
+ owner_team_id: undefined;
538
570
  config: {
539
571
  allow_localhost: undefined;
540
572
  sign_up_enabled: undefined;
@@ -568,6 +600,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
568
600
  clientCreateSchema: yup.ObjectSchema<{
569
601
  display_name: string;
570
602
  description: string | null | undefined;
603
+ logo_url: string | null | undefined;
604
+ full_logo_url: string | null | undefined;
571
605
  is_production_mode: boolean | undefined;
572
606
  config: {
573
607
  allow_localhost?: boolean | undefined;
@@ -584,8 +618,8 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
584
618
  client_secret?: string | undefined;
585
619
  facebook_config_id?: string | undefined;
586
620
  microsoft_tenant_id?: string | undefined;
587
- type: "shared" | "standard";
588
621
  id: "apple" | "x" | "google" | "github" | "microsoft" | "spotify" | "facebook" | "discord" | "gitlab" | "bitbucket" | "linkedin" | "twitch";
622
+ type: "shared" | "standard";
589
623
  }[] | undefined;
590
624
  domains?: {
591
625
  domain: string;
@@ -615,11 +649,15 @@ declare const adminUserProjectsCrud: CrudSchemaFromOptions<{
615
649
  } | undefined;
616
650
  } & {
617
651
  display_name: string;
652
+ owner_team_id: string;
618
653
  }, yup.AnyObject, {
619
654
  display_name: undefined;
620
655
  description: undefined;
656
+ logo_url: undefined;
657
+ full_logo_url: undefined;
621
658
  is_production_mode: undefined;
622
659
  config: undefined;
660
+ owner_team_id: undefined;
623
661
  }, "">;
624
662
  docs: {
625
663
  clientList: {
@@ -98,8 +98,11 @@ 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(),
105
+ owner_team_id: schemaFields.yupString().nullable().defined(),
103
106
  /** @deprecated */
104
107
  config: (0, import_schema_fields.yupObject)({
105
108
  allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),
@@ -142,6 +145,8 @@ var projectsCrudClientReadSchema = (0, import_schema_fields.yupObject)({
142
145
  var projectsCrudAdminUpdateSchema = (0, import_schema_fields.yupObject)({
143
146
  display_name: schemaFields.projectDisplayNameSchema.optional(),
144
147
  description: schemaFields.projectDescriptionSchema.optional(),
148
+ logo_url: schemaFields.projectLogoUrlSchema.nullable().optional(),
149
+ full_logo_url: schemaFields.projectFullLogoUrlSchema.nullable().optional(),
145
150
  is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),
146
151
  config: (0, import_schema_fields.yupObject)({
147
152
  sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),
@@ -165,7 +170,8 @@ var projectsCrudAdminUpdateSchema = (0, import_schema_fields.yupObject)({
165
170
  }).optional().default(void 0)
166
171
  }).defined();
167
172
  var projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat((0, import_schema_fields.yupObject)({
168
- display_name: schemaFields.projectDisplayNameSchema.defined()
173
+ display_name: schemaFields.projectDisplayNameSchema.defined(),
174
+ owner_team_id: schemaFields.yupString().uuid().defined()
169
175
  }).defined());
170
176
  var projectsCrudAdminDeleteSchema = schemaFields.yupMixed();
171
177
  var clientProjectsCrud = (0, import_crud.createCrud)({
@@ -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 owner_team_id: schemaFields.yupString().nullable().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 owner_team_id: schemaFields.yupString().uuid().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":[]}
@@ -462,6 +462,24 @@ declare const KnownErrors: {
462
462
  RequiresCustomEmailServer: KnownErrorConstructor<KnownError & KnownErrorBrand<"REQUIRES_CUSTOM_EMAIL_SERVER">, []> & {
463
463
  errorCode: "REQUIRES_CUSTOM_EMAIL_SERVER";
464
464
  };
465
+ ItemNotFound: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_NOT_FOUND">, [itemId: string]> & {
466
+ errorCode: "ITEM_NOT_FOUND";
467
+ };
468
+ ItemCustomerTypeDoesNotMatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_CUSTOMER_TYPE_DOES_NOT_MATCH">, [itemId: string, customerId: string, itemCustomerType: "user" | "team" | undefined, actualCustomerType: "user" | "team"]> & {
469
+ errorCode: "ITEM_CUSTOMER_TYPE_DOES_NOT_MATCH";
470
+ };
471
+ CustomerDoesNotExist: KnownErrorConstructor<KnownError & KnownErrorBrand<"CUSTOMER_DOES_NOT_EXIST">, [customerId: string]> & {
472
+ errorCode: "CUSTOMER_DOES_NOT_EXIST";
473
+ };
474
+ OfferDoesNotExist: KnownErrorConstructor<KnownError & KnownErrorBrand<"OFFER_DOES_NOT_EXIST">, [offerId: string, accessType: "client" | "server" | "admin"]> & {
475
+ errorCode: "OFFER_DOES_NOT_EXIST";
476
+ };
477
+ OfferCustomerTypeDoesNotMatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"OFFER_CUSTOMER_TYPE_DOES_NOT_MATCH">, [offerId: string | undefined, customerId: string, offerCustomerType: "user" | "team" | undefined, actualCustomerType: "user" | "team"]> & {
478
+ errorCode: "OFFER_CUSTOMER_TYPE_DOES_NOT_MATCH";
479
+ };
480
+ ItemQuantityInsufficientAmount: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_QUANTITY_INSUFFICIENT_AMOUNT">, [itemId: string, customerId: string, quantity: number, availableQuantity: number]> & {
481
+ errorCode: "ITEM_QUANTITY_INSUFFICIENT_AMOUNT";
482
+ };
465
483
  };
466
484
 
467
485
  export { type AbstractKnownErrorConstructor, KnownError, type KnownErrorConstructor, type KnownErrorJson, KnownErrors };
@@ -462,6 +462,24 @@ declare const KnownErrors: {
462
462
  RequiresCustomEmailServer: KnownErrorConstructor<KnownError & KnownErrorBrand<"REQUIRES_CUSTOM_EMAIL_SERVER">, []> & {
463
463
  errorCode: "REQUIRES_CUSTOM_EMAIL_SERVER";
464
464
  };
465
+ ItemNotFound: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_NOT_FOUND">, [itemId: string]> & {
466
+ errorCode: "ITEM_NOT_FOUND";
467
+ };
468
+ ItemCustomerTypeDoesNotMatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_CUSTOMER_TYPE_DOES_NOT_MATCH">, [itemId: string, customerId: string, itemCustomerType: "user" | "team" | undefined, actualCustomerType: "user" | "team"]> & {
469
+ errorCode: "ITEM_CUSTOMER_TYPE_DOES_NOT_MATCH";
470
+ };
471
+ CustomerDoesNotExist: KnownErrorConstructor<KnownError & KnownErrorBrand<"CUSTOMER_DOES_NOT_EXIST">, [customerId: string]> & {
472
+ errorCode: "CUSTOMER_DOES_NOT_EXIST";
473
+ };
474
+ OfferDoesNotExist: KnownErrorConstructor<KnownError & KnownErrorBrand<"OFFER_DOES_NOT_EXIST">, [offerId: string, accessType: "client" | "server" | "admin"]> & {
475
+ errorCode: "OFFER_DOES_NOT_EXIST";
476
+ };
477
+ OfferCustomerTypeDoesNotMatch: KnownErrorConstructor<KnownError & KnownErrorBrand<"OFFER_CUSTOMER_TYPE_DOES_NOT_MATCH">, [offerId: string | undefined, customerId: string, offerCustomerType: "user" | "team" | undefined, actualCustomerType: "user" | "team"]> & {
478
+ errorCode: "OFFER_CUSTOMER_TYPE_DOES_NOT_MATCH";
479
+ };
480
+ ItemQuantityInsufficientAmount: KnownErrorConstructor<KnownError & KnownErrorBrand<"ITEM_QUANTITY_INSUFFICIENT_AMOUNT">, [itemId: string, customerId: string, quantity: number, availableQuantity: number]> & {
481
+ errorCode: "ITEM_QUANTITY_INSUFFICIENT_AMOUNT";
482
+ };
465
483
  };
466
484
 
467
485
  export { type AbstractKnownErrorConstructor, KnownError, type KnownErrorConstructor, type KnownErrorJson, KnownErrors };
@@ -1214,6 +1214,88 @@ var RequiresCustomEmailServer = createKnownErrorConstructor(
1214
1214
  ],
1215
1215
  () => []
1216
1216
  );
1217
+ var ItemNotFound = createKnownErrorConstructor(
1218
+ KnownError,
1219
+ "ITEM_NOT_FOUND",
1220
+ (itemId) => [
1221
+ 404,
1222
+ `Item with ID "${itemId}" not found.`,
1223
+ {
1224
+ item_id: itemId
1225
+ }
1226
+ ],
1227
+ (json) => [json.item_id]
1228
+ );
1229
+ var ItemCustomerTypeDoesNotMatch = createKnownErrorConstructor(
1230
+ KnownError,
1231
+ "ITEM_CUSTOMER_TYPE_DOES_NOT_MATCH",
1232
+ (itemId, customerId, itemCustomerType, actualCustomerType) => [
1233
+ 400,
1234
+ `The ${actualCustomerType} with ID ${JSON.stringify(customerId)} is not a valid customer for the item with ID ${JSON.stringify(itemId)}. ${itemCustomerType ? `The item is configured to only be available for ${itemCustomerType} customers, but the customer is a ${actualCustomerType}.` : `The item is missing a customer type field. Please make sure it is set up correctly in your project configuration.`}`,
1235
+ {
1236
+ item_id: itemId,
1237
+ customer_id: customerId,
1238
+ item_customer_type: itemCustomerType ?? null,
1239
+ actual_customer_type: actualCustomerType
1240
+ }
1241
+ ],
1242
+ (json) => [json.item_id, json.customer_id, json.item_customer_type ?? void 0, json.actual_customer_type]
1243
+ );
1244
+ var CustomerDoesNotExist = createKnownErrorConstructor(
1245
+ KnownError,
1246
+ "CUSTOMER_DOES_NOT_EXIST",
1247
+ (customerId) => [
1248
+ 400,
1249
+ `Customer with ID ${JSON.stringify(customerId)} does not exist.`,
1250
+ {
1251
+ customer_id: customerId
1252
+ }
1253
+ ],
1254
+ (json) => [json.customer_id]
1255
+ );
1256
+ var OfferDoesNotExist = createKnownErrorConstructor(
1257
+ KnownError,
1258
+ "OFFER_DOES_NOT_EXIST",
1259
+ (offerId, accessType) => [
1260
+ 400,
1261
+ `Offer with ID ${JSON.stringify(offerId)} does not exist${accessType === "client" ? " or you don't have permissions to access it." : "."}`,
1262
+ {
1263
+ offer_id: offerId,
1264
+ access_type: accessType
1265
+ }
1266
+ ],
1267
+ (json) => [json.offer_id, json.access_type]
1268
+ );
1269
+ var OfferCustomerTypeDoesNotMatch = createKnownErrorConstructor(
1270
+ KnownError,
1271
+ "OFFER_CUSTOMER_TYPE_DOES_NOT_MATCH",
1272
+ (offerId, customerId, offerCustomerType, actualCustomerType) => [
1273
+ 400,
1274
+ `The ${actualCustomerType} with ID ${JSON.stringify(customerId)} is not a valid customer for the inline offer that has been passed in. ${offerCustomerType ? `The offer is configured to only be available for ${offerCustomerType} customers, but the customer is a ${actualCustomerType}.` : `The offer is missing a customer type field. Please make sure it is set up correctly in your project configuration.`}`,
1275
+ {
1276
+ offer_id: offerId ?? null,
1277
+ customer_id: customerId,
1278
+ offer_customer_type: offerCustomerType ?? null,
1279
+ actual_customer_type: actualCustomerType
1280
+ }
1281
+ ],
1282
+ (json) => [json.offer_id ?? void 0, json.customer_id, json.offer_customer_type ?? void 0, json.actual_customer_type]
1283
+ );
1284
+ var ItemQuantityInsufficientAmount = createKnownErrorConstructor(
1285
+ KnownError,
1286
+ "ITEM_QUANTITY_INSUFFICIENT_AMOUNT",
1287
+ (itemId, customerId, quantity, availableQuantity) => [
1288
+ 400,
1289
+ `The item with ID ${JSON.stringify(itemId)} has an insufficient quantity for the customer with ID ${JSON.stringify(customerId)}. The customer has ${availableQuantity} credits of this item available, but an attempt was made to charge ${quantity} credits.`,
1290
+ {
1291
+ item_id: itemId,
1292
+ customer_id: customerId,
1293
+ quantity,
1294
+ available_quantity: availableQuantity
1295
+ }
1296
+ ],
1297
+ (json) => [json.item_id, json.customer_id, json.quantity, json.available_quantity]
1298
+ );
1217
1299
  var KnownErrors = {
1218
1300
  CannotDeleteCurrentSession,
1219
1301
  UnsupportedError,
@@ -1323,7 +1405,13 @@ var KnownErrors = {
1323
1405
  ApiKeyRevoked,
1324
1406
  WrongApiKeyType,
1325
1407
  EmailRenderingError,
1326
- RequiresCustomEmailServer
1408
+ RequiresCustomEmailServer,
1409
+ ItemNotFound,
1410
+ ItemCustomerTypeDoesNotMatch,
1411
+ CustomerDoesNotExist,
1412
+ OfferDoesNotExist,
1413
+ OfferCustomerTypeDoesNotMatch,
1414
+ ItemQuantityInsufficientAmount
1327
1415
  };
1328
1416
  var knownErrorCodes = /* @__PURE__ */ new Set();
1329
1417
  for (const [_, KnownError2] of Object.entries(KnownErrors)) {