@lovable.dev/sdk 1.2.2 → 1.3.0

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.
@@ -2,12 +2,6 @@
2
2
 
3
3
  import * as z from 'zod';
4
4
 
5
- export const AppUserConnectorSettingSchema = z.object({
6
- enabled: z.boolean(),
7
- name: z.string(),
8
- who_can_create: z.string().optional()
9
- });
10
-
11
5
  export const CommonSeamlessConnectorCreatorSchema = z.object({
12
6
  name: z.string(),
13
7
  url: z.string()
@@ -75,16 +69,6 @@ export const DiffHunkSchema = z.object({
75
69
  oldStart: z.number()
76
70
  });
77
71
 
78
- export const DisputeVoidedGrantSchema = z.object({
79
- amount: z.number(),
80
- applicability: z.string(),
81
- category: z.string(),
82
- currency: z.string(),
83
- grant_id: z.string(),
84
- grant_type: z.string(),
85
- price_per_credit_hundredths: z.number()
86
- });
87
-
88
72
  export const ErrorDetailSchema = z.object({
89
73
  location: z.string().optional(),
90
74
  message: z.string().optional(),
@@ -172,39 +156,11 @@ export const McpConnectorCreatorStructSchema = z.object({
172
156
  url: z.string()
173
157
  });
174
158
 
175
- export const McpConnectorSettingSchema = z.object({
176
- enabled: z.boolean(),
177
- name: z.string()
178
- });
179
-
180
159
  export const PaginationSchema = z.object({
181
160
  has_more: z.boolean(),
182
161
  next_cursor: z.string().nullable()
183
162
  });
184
163
 
185
- export const PendingDisputeAdjustmentSchema = z.object({
186
- currency: z.string(),
187
- customer_balance_debit_amount: z.number(),
188
- customer_id: z.string(),
189
- invoice_id: z.string(),
190
- voided_grants: z.array(DisputeVoidedGrantSchema).nullable()
191
- });
192
-
193
- export const PendingRefundAdjustmentSchema = z.record(z.string(), z.never());
194
-
195
- export const ProjectAccessEntrySchema = z.object({
196
- accepted_at: z.iso.datetime().optional(),
197
- invited_at: z.iso.datetime(),
198
- invited_by: z.string(),
199
- level: z.enum([
200
- 'owner',
201
- 'admin',
202
- 'write',
203
- 'read',
204
- 'none'
205
- ])
206
- });
207
-
208
164
  export const ProjectFileInfoSchema = z.object({
209
165
  binary: z.boolean(),
210
166
  contents: z.string().optional(),
@@ -235,22 +191,7 @@ export const CursorListResponseProjectPiiFindingDtoSchema = z.object({
235
191
  pagination: PaginationSchema
236
192
  });
237
193
 
238
- export const PublicV1AddConnectorBodySchema = z.object({
239
- auth_type: z.enum(['none', 'bearer_token']),
240
- connector_id: z.string().optional(),
241
- name: z.string().min(1),
242
- network_transport_endpoint_id: z.string().optional(),
243
- network_transport_profile_id: z.string().optional(),
244
- network_transport_type: z.string().optional(),
245
- relay_client_id: z.string().optional(),
246
- relay_service_name: z.string().optional(),
247
- token: z.string().optional(),
248
- url: z.string().optional(),
249
- workspace_id: z.string()
250
- });
251
-
252
194
  export const PublicV1ConnectorItemSchema = z.object({
253
- auth_type: z.string().optional(),
254
195
  categories: z.array(z.string()).nullish(),
255
196
  category: z.string().optional(),
256
197
  connector_id: z.string().optional(),
@@ -259,11 +200,12 @@ export const PublicV1ConnectorItemSchema = z.object({
259
200
  id: z.string(),
260
201
  is_connected: z.boolean().optional(),
261
202
  is_enabled_for_workspace: z.boolean().optional(),
262
- requires_custom_url: z.boolean().optional(),
203
+ settings_url: z.string().optional(),
263
204
  short_description: z.string().optional(),
264
205
  status: z.string().optional(),
265
206
  summary: z.string().optional(),
266
- type: z.string()
207
+ type: z.string(),
208
+ types: z.array(z.string()).optional()
267
209
  });
268
210
 
269
211
  export const CursorListResponsePublicV1ConnectorItemSchema = z.object({
@@ -318,6 +260,34 @@ export const PublicV1ProjectFileUploadUrlInputBodySchema = z.object({
318
260
  project_id: z.string()
319
261
  });
320
262
 
263
+ export const PublicV1ProjectListItemSchema = z.object({
264
+ created_at: z.iso.datetime().optional(),
265
+ description: z.string().optional(),
266
+ display_name: z.string().optional(),
267
+ folder_id: z.string().optional(),
268
+ id: z.string(),
269
+ is_published: z.boolean().optional(),
270
+ is_template: z.boolean().optional(),
271
+ last_edited_at: z.iso.datetime().optional(),
272
+ latest_screenshot_url: z.string().optional(),
273
+ name: z.string().optional(),
274
+ og_image_url: z.string().optional(),
275
+ project_type: z.string().optional(),
276
+ publish_visibility: z.string().optional(),
277
+ status: z.string().optional(),
278
+ tech_stack: z.string().optional(),
279
+ updated_at: z.iso.datetime().optional(),
280
+ url: z.string().optional(),
281
+ user_id: z.string().optional(),
282
+ visibility: z.string().optional(),
283
+ workspace_id: z.string()
284
+ });
285
+
286
+ export const CursorListResponsePublicV1ProjectListItemSchema = z.object({
287
+ data: z.array(PublicV1ProjectListItemSchema).nullable(),
288
+ pagination: PaginationSchema
289
+ });
290
+
321
291
  export const PublicV1ProjectRemixInputBodySchema = z.object({
322
292
  description: z.string().min(1).optional(),
323
293
  display_name: z.string().optional(),
@@ -342,6 +312,48 @@ export const PublicV1SetProjectSkillEnabledInputBodySchema = z.object({
342
312
  project_id: z.string()
343
313
  });
344
314
 
315
+ export const PublicV1WorkspaceSchema = z.object({
316
+ created_at: z.iso.datetime().optional(),
317
+ description: z.string().optional(),
318
+ id: z.string(),
319
+ image_url: z.string().optional(),
320
+ name: z.string(),
321
+ num_projects: z.number(),
322
+ plan: z.string(),
323
+ updated_at: z.iso.datetime().optional()
324
+ });
325
+
326
+ export const PublicV1WorkspaceMemberSchema = z.object({
327
+ joined_at: z.iso.datetime().optional(),
328
+ role: z.enum([
329
+ 'none',
330
+ 'owner',
331
+ 'admin',
332
+ 'member',
333
+ 'viewer',
334
+ 'collaborator',
335
+ 'invited'
336
+ ]),
337
+ user_id: z.string()
338
+ });
339
+
340
+ export const PublicV1GetWorkspaceBodySchema = z.object({
341
+ current_member: PublicV1WorkspaceMemberSchema.optional(),
342
+ workspace: PublicV1WorkspaceSchema
343
+ });
344
+
345
+ export const PublicV1WorkspaceWithMembershipSchema = z.object({
346
+ created_at: z.iso.datetime().optional(),
347
+ description: z.string().optional(),
348
+ id: z.string(),
349
+ image_url: z.string().optional(),
350
+ membership: PublicV1WorkspaceMemberSchema.optional(),
351
+ name: z.string(),
352
+ num_projects: z.number(),
353
+ plan: z.string(),
354
+ updated_at: z.iso.datetime().optional()
355
+ });
356
+
345
357
  export const RemixJobStepInfoSchema = z.object({
346
358
  integration_name: z.string().optional(),
347
359
  status: z.string().optional(),
@@ -367,11 +379,6 @@ export const SeamlessConnectorApiSchema = z.object({
367
379
  toolIntegrationName: z.string().optional()
368
380
  });
369
381
 
370
- export const SeamlessConnectorSettingSchema = z.object({
371
- enabled: z.boolean(),
372
- name: z.string()
373
- });
374
-
375
382
  export const SearchProjectItemSchema = z.object({
376
383
  abandoned_at: z.iso.datetime().optional(),
377
384
  abandoned_dismissed_at: z.iso.datetime().optional(),
@@ -433,11 +440,6 @@ export const SearchProjectItemSchema = z.object({
433
440
  workspace_id: z.string()
434
441
  });
435
442
 
436
- export const CursorListResponseSearchProjectItemSchema = z.object({
437
- data: z.array(SearchProjectItemSchema).nullable(),
438
- pagination: PaginationSchema
439
- });
440
-
441
443
  export const SearchWorkspaceProjectsResponseSchema = z.object({
442
444
  has_more: z.boolean(),
443
445
  projects: z.array(SearchProjectItemSchema).nullable(),
@@ -457,13 +459,6 @@ export const StandardConnectorPromotionSchema = z.object({
457
459
  });
458
460
 
459
461
  export const StandardConnectorApiSchema = z.object({
460
- auth_type: z.enum([
461
- 'APIKEY',
462
- 'OAUTH2',
463
- 'OAUTH2_CLIENT_CREDENTIALS',
464
- 'WIF',
465
- 'STEPS'
466
- ]),
467
462
  can_be_managed: z.boolean(),
468
463
  can_restrict_to_admins: z.boolean(),
469
464
  categories: z.array(z.enum([
@@ -506,12 +501,6 @@ export const StandardConnectorApiSchema = z.object({
506
501
  who_can_create: z.enum(['editors_and_admins', 'admins_only'])
507
502
  });
508
503
 
509
- export const StandardConnectorSettingSchema = z.object({
510
- enabled: z.boolean(),
511
- name: z.string(),
512
- who_can_create: z.string().optional()
513
- });
514
-
515
504
  export const TemplateProjectResponseSchema = z.object({
516
505
  description: z.string(),
517
506
  id: z.string(),
@@ -635,11 +624,6 @@ export const V1AvailableConnectorEntrySchema = z.object({
635
624
  summary: z.string()
636
625
  });
637
626
 
638
- export const CursorListResponseV1AvailableConnectorEntrySchema = z.object({
639
- data: z.array(V1AvailableConnectorEntrySchema).nullable(),
640
- pagination: PaginationSchema
641
- });
642
-
643
627
  export const V1AwaitingInputSummarySchema = z.object({
644
628
  event_id: z.string(),
645
629
  input_schema: z.unknown().optional(),
@@ -672,11 +656,6 @@ export const V1ConnectionItemSchema = z.object({
672
656
  updated_at: z.string()
673
657
  });
674
658
 
675
- export const CursorListResponseV1ConnectionItemSchema = z.object({
676
- data: z.array(V1ConnectionItemSchema).nullable(),
677
- pagination: PaginationSchema
678
- });
679
-
680
659
  export const V1ConnectorResponseSchema = z.object({
681
660
  auth_type: z.string(),
682
661
  connector_id: z.string().optional(),
@@ -696,18 +675,27 @@ export const V1CreateEmbedUrlOutputBodySchema = z.object({
696
675
  });
697
676
 
698
677
  export const V1CreateProjectResponseSchema = z.object({
678
+ created_at: z.iso.datetime().optional(),
699
679
  description: z.string().optional(),
700
680
  display_name: z.string().optional(),
701
681
  embed_url: z.string().optional(),
682
+ folder_id: z.string().optional(),
702
683
  id: z.string(),
703
684
  is_published: z.boolean().optional(),
685
+ is_template: z.boolean().optional(),
686
+ last_edited_at: z.iso.datetime().optional(),
704
687
  latest_commit_sha: z.string().optional(),
705
688
  latest_screenshot_url: z.string().optional(),
706
689
  message_id: z.string().optional(),
707
690
  name: z.string().optional(),
691
+ og_image_url: z.string().optional(),
692
+ project_type: z.string().optional(),
693
+ publish_visibility: z.string().optional(),
708
694
  status: z.string().optional(),
709
695
  tech_stack: z.string().optional(),
696
+ updated_at: z.iso.datetime().optional(),
710
697
  url: z.string().optional(),
698
+ user_id: z.string().optional(),
711
699
  visibility: z.string().optional(),
712
700
  workspace_id: z.string()
713
701
  });
@@ -858,6 +846,11 @@ export const V1ListStandardConnectorsResponseSchema = z.object({
858
846
  total: z.number()
859
847
  });
860
848
 
849
+ export const V1ListWorkspacesBodySchema = z.object({
850
+ data: z.array(PublicV1WorkspaceWithMembershipSchema).nullable(),
851
+ pagination: PaginationSchema
852
+ });
853
+
861
854
  export const V1MessageListItemSchema = z.object({
862
855
  content: z.string(),
863
856
  created_at: z.string(),
@@ -933,17 +926,26 @@ export const V1ProjectGitFilesResponseSchema = z.object({
933
926
  });
934
927
 
935
928
  export const V1ProjectResponseSchema = z.object({
929
+ created_at: z.iso.datetime().optional(),
936
930
  description: z.string().optional(),
937
931
  display_name: z.string().optional(),
938
932
  embed_url: z.string().optional(),
933
+ folder_id: z.string().optional(),
939
934
  id: z.string(),
940
935
  is_published: z.boolean().optional(),
936
+ is_template: z.boolean().optional(),
937
+ last_edited_at: z.iso.datetime().optional(),
941
938
  latest_commit_sha: z.string().optional(),
942
939
  latest_screenshot_url: z.string().optional(),
943
940
  name: z.string().optional(),
941
+ og_image_url: z.string().optional(),
942
+ project_type: z.string().optional(),
943
+ publish_visibility: z.string().optional(),
944
944
  status: z.string().optional(),
945
945
  tech_stack: z.string().optional(),
946
+ updated_at: z.iso.datetime().optional(),
946
947
  url: z.string().optional(),
948
+ user_id: z.string().optional(),
947
949
  visibility: z.string().optional(),
948
950
  workspace_id: z.string()
949
951
  });
@@ -1236,6 +1238,7 @@ export const V1WorkspaceMemberSchema = z.object({
1236
1238
  email: z.string().optional(),
1237
1239
  invited_at: z.iso.datetime().optional(),
1238
1240
  joined_at: z.iso.datetime().optional(),
1241
+ monthly_credit_limit: z.number().optional(),
1239
1242
  role: z.string(),
1240
1243
  user_id: z.string(),
1241
1244
  workspace_id: z.string()
@@ -1388,6 +1391,7 @@ export const V1WorkspaceSecurityDashboardBodySchema = z.object({
1388
1391
  export const V1WorkspaceSettingsBodySchema = z.object({
1389
1392
  billing_period_end_date: z.iso.datetime().optional(),
1390
1393
  billing_period_start_date: z.iso.datetime().optional(),
1394
+ default_monthly_member_credit_limit: z.number().optional(),
1391
1395
  default_project_visibility: z.string().optional(),
1392
1396
  enable_pii: z.boolean(),
1393
1397
  enforce_sso: z.boolean(),
@@ -1526,503 +1530,3 @@ export const AddProjectsToFolderResultSchema = z.object({
1526
1530
  total_requested: z.number(),
1527
1531
  visibility_updated: z.array(VisibilityChangeInfoSchema).nullable()
1528
1532
  });
1529
-
1530
- export const WorkspaceAnnouncementBannerSchema = z.object({
1531
- allow_dismissal: z.boolean(),
1532
- color: z.string().optional(),
1533
- enabled: z.boolean(),
1534
- text: z.string().optional(),
1535
- text_color: z.string().optional(),
1536
- updated_at: z.iso.datetime().optional()
1537
- });
1538
-
1539
- export const WorkspaceExperimentalFeaturesSchema = z.object({
1540
- custom_enterprise_git_sync: z.boolean().optional(),
1541
- gitsync_github: z.boolean().optional(),
1542
- lovable_ai: z.boolean().optional(),
1543
- lovable_cloud: z.boolean().optional(),
1544
- partner_perm_1: z.boolean().optional(),
1545
- partner_perm_2: z.boolean().optional(),
1546
- partner_perm_3: z.boolean().optional(),
1547
- partner_perm_4: z.boolean().optional(),
1548
- scim: z.boolean().optional(),
1549
- shopify: z.boolean().optional(),
1550
- unified_billing: z.boolean().optional()
1551
- });
1552
-
1553
- export const WorkspaceSchema = z.object({
1554
- abandoned_projects_threshold_days: z.number().optional(),
1555
- aikido_pentest_enabled: z.boolean().optional(),
1556
- allow_public_member_profiles: z.boolean().optional(),
1557
- always_redact_pii: z.boolean().optional(),
1558
- announcement_banner: WorkspaceAnnouncementBannerSchema.optional(),
1559
- app_user_connector_settings: z.array(AppUserConnectorSettingSchema).nullish(),
1560
- auto_delete_abandoned_projects_enabled: z.boolean().optional(),
1561
- auto_delete_enabled_at: z.iso.datetime().optional(),
1562
- auto_delete_grace_days: z.number().optional(),
1563
- backend_total_used_in_billing_period: z.number(),
1564
- banner_url: z.string().optional(),
1565
- billing_period_credits_limit: z.number(),
1566
- billing_period_credits_used: z.number(),
1567
- billing_period_end_date: z.iso.datetime().optional(),
1568
- billing_period_start_date: z.iso.datetime().optional(),
1569
- block_publish_on_critical_findings: z.boolean().optional(),
1570
- block_publish_on_pii: z.boolean().optional(),
1571
- branded_app_url_cert_pack_id: z.string().optional(),
1572
- branded_app_url_failure_reason: z.string().optional(),
1573
- branded_app_url_slug: z.string().optional(),
1574
- branded_app_url_status: z.string().optional(),
1575
- cloud_block_bucket_creation: z.boolean().optional(),
1576
- cloud_block_database_creation: z.boolean().optional(),
1577
- cloud_block_public_buckets: z.boolean().optional(),
1578
- created_at: z.iso.datetime(),
1579
- custom_branded_domain: z.string().optional(),
1580
- custom_branded_domain_dcv_txt_name: z.string().optional(),
1581
- custom_branded_domain_dcv_txt_value: z.string().optional(),
1582
- custom_branded_domain_failure_reason: z.string().optional(),
1583
- custom_branded_domain_status: z.string().optional(),
1584
- custom_branded_hostname_id: z.string().optional(),
1585
- data_opt_out: z.boolean().optional(),
1586
- default_cloud_region: z.string().optional(),
1587
- default_library_id: z.string().optional(),
1588
- default_monthly_member_credit_limit: z.number().nullable(),
1589
- default_project_publish_visibility: z.enum(['public', 'private']).optional(),
1590
- default_project_visibility: z.enum([
1591
- 'public',
1592
- 'private',
1593
- 'draft',
1594
- 'workspace_view'
1595
- ]).optional(),
1596
- default_template_id: z.string().optional(),
1597
- delegated_domain: z.string().optional(),
1598
- delegated_domain_status: z.string().optional(),
1599
- deleted_at: z.iso.datetime().optional(),
1600
- deleted_by: z.string().optional(),
1601
- deletion_event_id: z.string().optional(),
1602
- description: z.string().optional(),
1603
- disable_code_download: z.boolean().optional(),
1604
- disable_external_publish_invites: z.boolean().optional(),
1605
- disable_figma_import: z.boolean().optional(),
1606
- disable_named_previews: z.boolean().optional(),
1607
- disable_share_preview: z.boolean().optional(),
1608
- editor_can_invite: z.boolean().optional(),
1609
- editor_can_transfer_project: z.boolean().optional(),
1610
- egress_allowlist: z.array(z.string()).nullish(),
1611
- egress_mode: z.string().optional(),
1612
- enable_pii: z.boolean().optional(),
1613
- enforce_sso: z.boolean().optional(),
1614
- enterprise_relay_client_ids: z.array(z.string()).nullish(),
1615
- enterprise_relay_enabled: z.boolean().optional(),
1616
- exclude_from_cross_project_sharing: z.boolean().optional(),
1617
- exclude_from_discovery: z.boolean().optional(),
1618
- experimental_features: WorkspaceExperimentalFeaturesSchema,
1619
- external_collaborator_level: z.enum([
1620
- 'all',
1621
- 'none',
1622
- 'viewer',
1623
- 'editor'
1624
- ]).optional(),
1625
- external_publish_permission_level: z.string().optional(),
1626
- followers_count: z.number(),
1627
- hard_delete_in_progress_at: z.iso.datetime().optional(),
1628
- hard_deleted_at: z.iso.datetime().optional(),
1629
- id: z.string(),
1630
- image_url: z.string().optional(),
1631
- invite_links_disabled: z.boolean().optional(),
1632
- invited_at: z.iso.datetime().optional(),
1633
- is_personal: z.boolean().optional(),
1634
- is_temporary_edu: z.boolean().optional(),
1635
- joined_at: z.iso.datetime().optional(),
1636
- last_rollover_period: z.iso.datetime().nullable(),
1637
- last_subscription_event_at: z.iso.datetime().optional(),
1638
- local_mcp_enabled: z.boolean().optional(),
1639
- lovable_mcp_server_enabled: z.boolean().optional(),
1640
- mcp_connector_settings: z.array(McpConnectorSettingSchema).nullish(),
1641
- mcp_enabled: z.boolean().optional(),
1642
- migrated_to_unified_billing_at: z.iso.datetime().optional(),
1643
- name: z.string(),
1644
- next_monthly_credit_grant_date: z.iso.datetime().optional(),
1645
- num_projects: z.number(),
1646
- num_seats: z.number().optional(),
1647
- owner_id: z.string().optional(),
1648
- payment_provider: z.enum([
1649
- 'stripe',
1650
- 'apple',
1651
- 'gcp_marketplace',
1652
- 'microsoft_marketplace'
1653
- ]).optional(),
1654
- pending_dispute_adjustments: z.record(z.string(), PendingDisputeAdjustmentSchema).optional(),
1655
- pending_refund_adjustments: z.record(z.string(), PendingRefundAdjustmentSchema).optional(),
1656
- pii_live_chat_mode: z.enum([
1657
- 'off',
1658
- 'detect_only',
1659
- 'prompt',
1660
- 'block'
1661
- ]).optional(),
1662
- plan: z.enum([
1663
- 'free',
1664
- 'inactive',
1665
- 'pro_0',
1666
- 'pro_1',
1667
- 'pro_2',
1668
- 'pro_3',
1669
- 'pro_4',
1670
- 'pro_5',
1671
- 'pro_6',
1672
- 'pro_7',
1673
- 'pro_8',
1674
- 'pro_9',
1675
- 'pro_10',
1676
- 'pro_11',
1677
- 'biz_1',
1678
- 'biz_2',
1679
- 'biz_3',
1680
- 'biz_4',
1681
- 'biz_5',
1682
- 'biz_6',
1683
- 'biz_7',
1684
- 'biz_8',
1685
- 'biz_9',
1686
- 'biz_10',
1687
- 'biz_11',
1688
- 'enterprise',
1689
- 'ambassador',
1690
- 'ktlo',
1691
- 'ktlo_1',
1692
- 'ktlo_2',
1693
- 'model_partner',
1694
- 'teams_1',
1695
- 'teams_2',
1696
- 'teams_3',
1697
- 'teams_4',
1698
- 'teams_5',
1699
- 'teams_6',
1700
- 'teams_7',
1701
- 'teams_8',
1702
- 'teams_9',
1703
- 'teams_10',
1704
- 'teams_11'
1705
- ]).optional(),
1706
- plan_scheduled: z.string().optional(),
1707
- plan_scheduled_event_at: z.iso.datetime().optional(),
1708
- plan_scheduled_updated_at: z.iso.datetime().optional(),
1709
- plan_type: z.string().optional(),
1710
- plan_type_scheduled: z.string().optional(),
1711
- publishing_policy: z.enum(['workspace_only', 'disabled']).optional(),
1712
- reauth: z.boolean().optional(),
1713
- received_tax_id_bonus: z.boolean().optional(),
1714
- referral_code: z.string().optional(),
1715
- referral_count: z.number(),
1716
- referral_disabled: z.boolean().optional(),
1717
- require_customer_pam_approval: z.boolean().optional(),
1718
- require_security_scan_before_publish: z.boolean().optional(),
1719
- require_workspace_editor_for_project_editing: z.boolean().optional(),
1720
- sandbox_provider_url: z.string().optional(),
1721
- seamless_connector_settings: z.array(SeamlessConnectorSettingSchema).nullish(),
1722
- security_auto_fix_mode: z.enum([
1723
- 'off',
1724
- 'workspace_published_projects',
1725
- 'externally_published_projects',
1726
- 'published_projects',
1727
- 'all_projects'
1728
- ]).optional(),
1729
- share_sample_data_with_llms: z.boolean().optional(),
1730
- short_referral_code: z.string().optional(),
1731
- sso_provider_id: z.string().optional(),
1732
- sso_session_duration: z.number().optional(),
1733
- standard_connector_settings: z.array(StandardConnectorSettingSchema).nullish(),
1734
- subscription_currency: z.string().optional(),
1735
- subscription_status: z.enum([
1736
- 'active',
1737
- 'past_due',
1738
- 'canceled',
1739
- 'trialing',
1740
- 'incomplete',
1741
- 'incomplete_expired',
1742
- 'unpaid',
1743
- 'paused'
1744
- ]).optional(),
1745
- subscription_status_changed_at: z.iso.datetime().optional(),
1746
- topup_credits_purchased_at: z.iso.datetime().optional(),
1747
- updated_at: z.iso.datetime(),
1748
- use_edu_openai_routing: z.boolean().optional(),
1749
- username: z.string().optional(),
1750
- verified_email_jit: z.boolean().optional(),
1751
- verified_email_jit_role: z.enum([
1752
- 'none',
1753
- 'owner',
1754
- 'admin',
1755
- 'member',
1756
- 'viewer',
1757
- 'collaborator',
1758
- 'invited'
1759
- ]).optional()
1760
- });
1761
-
1762
- export const WorkspaceMembershipSchema = z.object({
1763
- email: z.string(),
1764
- invited_at: z.iso.datetime(),
1765
- joined_at: z.iso.datetime().optional(),
1766
- monthly_credit_limit: z.number().nullable(),
1767
- project_access: z.record(z.string(), ProjectAccessEntrySchema).optional(),
1768
- role: z.enum([
1769
- 'none',
1770
- 'owner',
1771
- 'admin',
1772
- 'member',
1773
- 'viewer',
1774
- 'collaborator',
1775
- 'invited'
1776
- ]),
1777
- role_changed_at: z.iso.datetime().optional(),
1778
- scim_external_id: z.string().optional(),
1779
- user_id: z.string(),
1780
- workspace_id: z.string()
1781
- });
1782
-
1783
- export const WorkspaceMembershipResponseSchema = z.object({
1784
- display_name: z.string().optional(),
1785
- email: z.string().optional(),
1786
- has_project_access: z.boolean(),
1787
- invited_at: z.iso.datetime().optional(),
1788
- joined_at: z.iso.datetime().optional(),
1789
- monthly_credit_limit: z.number().optional(),
1790
- project_access: z.record(z.string(), ProjectAccessEntrySchema).optional(),
1791
- role: z.enum([
1792
- 'none',
1793
- 'owner',
1794
- 'admin',
1795
- 'member',
1796
- 'viewer',
1797
- 'collaborator',
1798
- 'invited'
1799
- ]),
1800
- role_changed_at: z.iso.datetime().optional(),
1801
- row_id: z.string().optional(),
1802
- scim_external_id: z.string().optional(),
1803
- total_credits_used: z.number().optional(),
1804
- total_credits_used_in_billing_period: z.number().optional(),
1805
- user_id: z.string(),
1806
- username: z.string()
1807
- });
1808
-
1809
- export const GetUserWorkspaceBodySchema = z.object({
1810
- current_member: WorkspaceMembershipResponseSchema.optional(),
1811
- workspace: WorkspaceSchema
1812
- });
1813
-
1814
- export const WorkspaceWithMembershipSchema = z.object({
1815
- abandoned_projects_threshold_days: z.number().optional(),
1816
- aikido_pentest_enabled: z.boolean().optional(),
1817
- allow_public_member_profiles: z.boolean().optional(),
1818
- always_redact_pii: z.boolean().optional(),
1819
- announcement_banner: WorkspaceAnnouncementBannerSchema.optional(),
1820
- app_user_connector_settings: z.array(AppUserConnectorSettingSchema).nullish(),
1821
- auto_delete_abandoned_projects_enabled: z.boolean().optional(),
1822
- auto_delete_enabled_at: z.iso.datetime().optional(),
1823
- auto_delete_grace_days: z.number().optional(),
1824
- backend_total_used_in_billing_period: z.number(),
1825
- banner_url: z.string().optional(),
1826
- billing_period_credits_limit: z.number(),
1827
- billing_period_credits_used: z.number(),
1828
- billing_period_end_date: z.iso.datetime().optional(),
1829
- billing_period_start_date: z.iso.datetime().optional(),
1830
- block_publish_on_critical_findings: z.boolean().optional(),
1831
- block_publish_on_pii: z.boolean().optional(),
1832
- branded_app_url_cert_pack_id: z.string().optional(),
1833
- branded_app_url_failure_reason: z.string().optional(),
1834
- branded_app_url_slug: z.string().optional(),
1835
- branded_app_url_status: z.string().optional(),
1836
- cloud_block_bucket_creation: z.boolean().optional(),
1837
- cloud_block_database_creation: z.boolean().optional(),
1838
- cloud_block_public_buckets: z.boolean().optional(),
1839
- created_at: z.iso.datetime(),
1840
- custom_branded_domain: z.string().optional(),
1841
- custom_branded_domain_dcv_txt_name: z.string().optional(),
1842
- custom_branded_domain_dcv_txt_value: z.string().optional(),
1843
- custom_branded_domain_failure_reason: z.string().optional(),
1844
- custom_branded_domain_status: z.string().optional(),
1845
- custom_branded_hostname_id: z.string().optional(),
1846
- data_opt_out: z.boolean().optional(),
1847
- default_cloud_region: z.string().optional(),
1848
- default_library_id: z.string().optional(),
1849
- default_monthly_member_credit_limit: z.number().nullable(),
1850
- default_project_publish_visibility: z.enum(['public', 'private']).optional(),
1851
- default_project_visibility: z.enum([
1852
- 'public',
1853
- 'private',
1854
- 'draft',
1855
- 'workspace_view'
1856
- ]).optional(),
1857
- default_template_id: z.string().optional(),
1858
- delegated_domain: z.string().optional(),
1859
- delegated_domain_status: z.string().optional(),
1860
- deleted_at: z.iso.datetime().optional(),
1861
- deleted_by: z.string().optional(),
1862
- deletion_event_id: z.string().optional(),
1863
- description: z.string().optional(),
1864
- disable_code_download: z.boolean().optional(),
1865
- disable_external_publish_invites: z.boolean().optional(),
1866
- disable_figma_import: z.boolean().optional(),
1867
- disable_named_previews: z.boolean().optional(),
1868
- disable_share_preview: z.boolean().optional(),
1869
- editor_can_invite: z.boolean().optional(),
1870
- editor_can_transfer_project: z.boolean().optional(),
1871
- egress_allowlist: z.array(z.string()).nullish(),
1872
- egress_mode: z.string().optional(),
1873
- enable_pii: z.boolean().optional(),
1874
- enforce_sso: z.boolean().optional(),
1875
- enterprise_relay_client_ids: z.array(z.string()).nullish(),
1876
- enterprise_relay_enabled: z.boolean().optional(),
1877
- exclude_from_cross_project_sharing: z.boolean().optional(),
1878
- exclude_from_discovery: z.boolean().optional(),
1879
- experimental_features: WorkspaceExperimentalFeaturesSchema,
1880
- external_collaborator_level: z.enum([
1881
- 'all',
1882
- 'none',
1883
- 'viewer',
1884
- 'editor'
1885
- ]).optional(),
1886
- external_publish_permission_level: z.string().optional(),
1887
- followers_count: z.number(),
1888
- hard_delete_in_progress_at: z.iso.datetime().optional(),
1889
- hard_deleted_at: z.iso.datetime().optional(),
1890
- id: z.string(),
1891
- image_url: z.string().optional(),
1892
- invite_links_disabled: z.boolean().optional(),
1893
- invited_at: z.iso.datetime().optional(),
1894
- is_personal: z.boolean().optional(),
1895
- is_temporary_edu: z.boolean().optional(),
1896
- joined_at: z.iso.datetime().optional(),
1897
- last_rollover_period: z.iso.datetime().nullable(),
1898
- last_subscription_event_at: z.iso.datetime().optional(),
1899
- local_mcp_enabled: z.boolean().optional(),
1900
- lovable_mcp_server_enabled: z.boolean().optional(),
1901
- mcp_connector_settings: z.array(McpConnectorSettingSchema).nullish(),
1902
- mcp_enabled: z.boolean().optional(),
1903
- membership: WorkspaceMembershipSchema,
1904
- migrated_to_unified_billing_at: z.iso.datetime().optional(),
1905
- name: z.string(),
1906
- next_monthly_credit_grant_date: z.iso.datetime().optional(),
1907
- num_projects: z.number(),
1908
- num_seats: z.number().optional(),
1909
- owner_id: z.string().optional(),
1910
- payment_provider: z.enum([
1911
- 'stripe',
1912
- 'apple',
1913
- 'gcp_marketplace',
1914
- 'microsoft_marketplace'
1915
- ]).optional(),
1916
- pending_dispute_adjustments: z.record(z.string(), PendingDisputeAdjustmentSchema).optional(),
1917
- pending_refund_adjustments: z.record(z.string(), PendingRefundAdjustmentSchema).optional(),
1918
- pii_live_chat_mode: z.enum([
1919
- 'off',
1920
- 'detect_only',
1921
- 'prompt',
1922
- 'block'
1923
- ]).optional(),
1924
- plan: z.enum([
1925
- 'free',
1926
- 'inactive',
1927
- 'pro_0',
1928
- 'pro_1',
1929
- 'pro_2',
1930
- 'pro_3',
1931
- 'pro_4',
1932
- 'pro_5',
1933
- 'pro_6',
1934
- 'pro_7',
1935
- 'pro_8',
1936
- 'pro_9',
1937
- 'pro_10',
1938
- 'pro_11',
1939
- 'biz_1',
1940
- 'biz_2',
1941
- 'biz_3',
1942
- 'biz_4',
1943
- 'biz_5',
1944
- 'biz_6',
1945
- 'biz_7',
1946
- 'biz_8',
1947
- 'biz_9',
1948
- 'biz_10',
1949
- 'biz_11',
1950
- 'enterprise',
1951
- 'ambassador',
1952
- 'ktlo',
1953
- 'ktlo_1',
1954
- 'ktlo_2',
1955
- 'model_partner',
1956
- 'teams_1',
1957
- 'teams_2',
1958
- 'teams_3',
1959
- 'teams_4',
1960
- 'teams_5',
1961
- 'teams_6',
1962
- 'teams_7',
1963
- 'teams_8',
1964
- 'teams_9',
1965
- 'teams_10',
1966
- 'teams_11'
1967
- ]).optional(),
1968
- plan_scheduled: z.string().optional(),
1969
- plan_scheduled_event_at: z.iso.datetime().optional(),
1970
- plan_scheduled_updated_at: z.iso.datetime().optional(),
1971
- plan_type: z.string().optional(),
1972
- plan_type_scheduled: z.string().optional(),
1973
- publishing_policy: z.enum(['workspace_only', 'disabled']).optional(),
1974
- reauth: z.boolean().optional(),
1975
- received_tax_id_bonus: z.boolean().optional(),
1976
- referral_code: z.string().optional(),
1977
- referral_count: z.number(),
1978
- referral_disabled: z.boolean().optional(),
1979
- require_customer_pam_approval: z.boolean().optional(),
1980
- require_security_scan_before_publish: z.boolean().optional(),
1981
- require_workspace_editor_for_project_editing: z.boolean().optional(),
1982
- sandbox_provider_url: z.string().optional(),
1983
- seamless_connector_settings: z.array(SeamlessConnectorSettingSchema).nullish(),
1984
- security_auto_fix_mode: z.enum([
1985
- 'off',
1986
- 'workspace_published_projects',
1987
- 'externally_published_projects',
1988
- 'published_projects',
1989
- 'all_projects'
1990
- ]).optional(),
1991
- share_sample_data_with_llms: z.boolean().optional(),
1992
- short_referral_code: z.string().optional(),
1993
- sso_provider_id: z.string().optional(),
1994
- sso_session_duration: z.number().optional(),
1995
- standard_connector_settings: z.array(StandardConnectorSettingSchema).nullish(),
1996
- subscription_currency: z.string().optional(),
1997
- subscription_status: z.enum([
1998
- 'active',
1999
- 'past_due',
2000
- 'canceled',
2001
- 'trialing',
2002
- 'incomplete',
2003
- 'incomplete_expired',
2004
- 'unpaid',
2005
- 'paused'
2006
- ]).optional(),
2007
- subscription_status_changed_at: z.iso.datetime().optional(),
2008
- topup_credits_purchased_at: z.iso.datetime().optional(),
2009
- updated_at: z.iso.datetime(),
2010
- use_edu_openai_routing: z.boolean().optional(),
2011
- username: z.string().optional(),
2012
- verified_email_jit: z.boolean().optional(),
2013
- verified_email_jit_role: z.enum([
2014
- 'none',
2015
- 'owner',
2016
- 'admin',
2017
- 'member',
2018
- 'viewer',
2019
- 'collaborator',
2020
- 'invited'
2021
- ]).optional()
2022
- });
2023
-
2024
- export const V1ListWorkspacesBodySchema = z.object({
2025
- data: z.array(WorkspaceWithMembershipSchema).nullable(),
2026
- pagination: PaginationSchema,
2027
- workspaces: z.array(WorkspaceWithMembershipSchema).nullable()
2028
- });