@lovable.dev/sdk 1.4.0 → 1.6.1

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.
@@ -37,15 +37,14 @@ export const AppUserConnectorApiSchema = z.object({
37
37
  'support',
38
38
  'other',
39
39
  'messaging',
40
- 'coming_soon',
41
40
  'development',
42
41
  'payments',
42
+ 'security',
43
43
  'custom'
44
44
  ])),
45
45
  creator: CreatorSchema,
46
46
  display_name: z.string(),
47
47
  documentation_url: z.string(),
48
- features: z.string(),
49
48
  has_clients: z.boolean(),
50
49
  id: z.string(),
51
50
  is_enabled_for_workspace: z.boolean(),
@@ -84,16 +83,6 @@ export const ErrorModelSchema = z.object({
84
83
  type: z.string().optional()
85
84
  });
86
85
 
87
- export const FeatureDescriptionSchema = z.object({
88
- body: z.string().optional(),
89
- items: z.array(z.string()).nullable(),
90
- title: z.string()
91
- });
92
-
93
- export const GetMeCapabilitiesSchema = z.object({
94
- project_variants: z.boolean()
95
- });
96
-
97
86
  export const GetMeWorkspaceSchema = z.object({
98
87
  id: z.string(),
99
88
  name: z.string(),
@@ -101,7 +90,6 @@ export const GetMeWorkspaceSchema = z.object({
101
90
  });
102
91
 
103
92
  export const GetMeOutputBodySchema = z.object({
104
- capabilities: GetMeCapabilitiesSchema.optional(),
105
93
  email: z.string(),
106
94
  id: z.string(),
107
95
  name: z.string(),
@@ -216,7 +204,6 @@ export const CursorListResponsePublicV1ConnectorItemSchema = z.object({
216
204
  export const PublicV1CreateProjectResponseSchema = z.object({
217
205
  description: z.string().optional(),
218
206
  display_name: z.string().optional(),
219
- embed_url: z.string().optional(),
220
207
  id: z.string().optional(),
221
208
  is_published: z.boolean().optional(),
222
209
  job_id: z.string().optional(),
@@ -224,6 +211,7 @@ export const PublicV1CreateProjectResponseSchema = z.object({
224
211
  latest_screenshot_url: z.string().optional(),
225
212
  message_id: z.string().optional(),
226
213
  name: z.string().optional(),
214
+ preview_url: z.string().optional(),
227
215
  status: z.string().optional(),
228
216
  url: z.string().optional(),
229
217
  visibility: z.string().optional(),
@@ -246,6 +234,7 @@ export const PublicV1GitFilesResponseSchema = z.object({
246
234
  });
247
235
 
248
236
  export const PublicV1PatchProjectBodySchema = z.object({
237
+ description: z.string().max(100000).optional(),
249
238
  display_name: z.string().optional(),
250
239
  visibility: z.enum([
251
240
  'draft',
@@ -265,9 +254,9 @@ export const PublicV1ProjectListItemSchema = z.object({
265
254
  description: z.string().optional(),
266
255
  display_name: z.string().optional(),
267
256
  folder_id: z.string().optional(),
257
+ generated_description: z.string().optional(),
268
258
  id: z.string(),
269
259
  is_published: z.boolean().optional(),
270
- is_template: z.boolean().optional(),
271
260
  last_edited_at: z.iso.datetime().optional(),
272
261
  latest_screenshot_url: z.string().optional(),
273
262
  name: z.string().optional(),
@@ -302,6 +291,42 @@ export const PublicV1ProjectRemixInputBodySchema = z.object({
302
291
  workspace_id: z.string()
303
292
  });
304
293
 
294
+ export const PublicV1PublishAudienceTargetSchema = z.object({
295
+ id: z.string().min(1),
296
+ type: z.enum(['group', 'user'])
297
+ });
298
+
299
+ export const PublicV1PublishProjectInputBodySchema = z.object({
300
+ audience: z.array(PublicV1PublishAudienceTargetSchema).max(100).nullish(),
301
+ name: z.string().optional(),
302
+ visibility: z.enum([
303
+ 'public',
304
+ 'workspace',
305
+ 'custom'
306
+ ]).optional()
307
+ });
308
+
309
+ export const PublicV1PublishProjectResponseSchema = z.object({
310
+ deployment_id: z.string().optional(),
311
+ status: z.string(),
312
+ url: z.string().optional(),
313
+ visibility: z.string()
314
+ });
315
+
316
+ export const PublicV1PublishStatusResponseSchema = z.object({
317
+ deployment_id: z.string(),
318
+ error_class: z.string().optional(),
319
+ error_code: z.string().optional(),
320
+ error_message: z.string().optional(),
321
+ status: z.enum([
322
+ 'running',
323
+ 'completed',
324
+ 'error',
325
+ 'unknown'
326
+ ]),
327
+ url: z.string().optional()
328
+ });
329
+
305
330
  export const PublicV1SetProjectKnowledgeInputBodySchema = z.object({
306
331
  content: z.string(),
307
332
  project_id: z.string()
@@ -312,6 +337,22 @@ export const PublicV1SetProjectSkillEnabledInputBodySchema = z.object({
312
337
  project_id: z.string()
313
338
  });
314
339
 
340
+ export const PublicV1UpdatePublishSettingsInputBodySchema = z.object({
341
+ audience: z.array(PublicV1PublishAudienceTargetSchema).max(100).nullish(),
342
+ is_published: z.boolean().optional(),
343
+ visibility: z.enum([
344
+ 'public',
345
+ 'workspace',
346
+ 'custom'
347
+ ]).optional()
348
+ });
349
+
350
+ export const PublicV1UpdatePublishSettingsResponseSchema = z.object({
351
+ is_published: z.boolean(),
352
+ url: z.string().optional(),
353
+ visibility: z.string()
354
+ });
355
+
315
356
  export const PublicV1WorkspaceSchema = z.object({
316
357
  created_at: z.iso.datetime().optional(),
317
358
  description: z.string().optional(),
@@ -325,15 +366,7 @@ export const PublicV1WorkspaceSchema = z.object({
325
366
 
326
367
  export const PublicV1WorkspaceMemberSchema = z.object({
327
368
  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
- ]),
369
+ role: z.string(),
337
370
  user_id: z.string()
338
371
  });
339
372
 
@@ -354,12 +387,24 @@ export const PublicV1WorkspaceWithMembershipSchema = z.object({
354
387
  updated_at: z.iso.datetime().optional()
355
388
  });
356
389
 
390
+ export const RemixJobFailureSchema = z.object({
391
+ code: z.string().optional(),
392
+ failed_step: z.string(),
393
+ message: z.string()
394
+ });
395
+
357
396
  export const RemixJobStepInfoSchema = z.object({
397
+ failure: RemixJobFailureSchema.optional(),
358
398
  integration_name: z.string().optional(),
359
399
  status: z.string().optional(),
360
400
  step: z.string()
361
401
  });
362
402
 
403
+ export const RemixWarningSchema = z.object({
404
+ code: z.enum(['edge_functions_not_deployed']),
405
+ failed_edge_functions: z.array(z.string()).nullish()
406
+ });
407
+
363
408
  export const SeamlessConnectorApiSchema = z.object({
364
409
  alias: z.string().optional(),
365
410
  categories: z.array(z.string()).nullable(),
@@ -371,7 +416,6 @@ export const SeamlessConnectorApiSchema = z.object({
371
416
  id: z.string(),
372
417
  is_enabled_for_workspace: z.boolean(),
373
418
  level: z.string(),
374
- logo_id: z.string().optional(),
375
419
  manual_connect_hint: z.string().optional(),
376
420
  permissions: z.array(CommonSeamlessConnectorPermissionSchema).nullable(),
377
421
  searchTags: z.array(z.string()).nullish(),
@@ -459,7 +503,6 @@ export const StandardConnectorPromotionSchema = z.object({
459
503
  });
460
504
 
461
505
  export const StandardConnectorApiSchema = z.object({
462
- can_be_managed: z.boolean(),
463
506
  can_restrict_to_admins: z.boolean(),
464
507
  categories: z.array(z.enum([
465
508
  'ecommerce',
@@ -469,24 +512,22 @@ export const StandardConnectorApiSchema = z.object({
469
512
  'support',
470
513
  'other',
471
514
  'messaging',
472
- 'coming_soon',
473
515
  'development',
474
516
  'payments',
517
+ 'security',
475
518
  'custom'
476
519
  ])),
477
- coming_soon: z.boolean().optional(),
478
520
  connection_scope: z.enum(['project', 'workspace']),
479
521
  creator: CreatorSchema,
480
522
  data_scope: z.enum(['organization', 'individual']),
481
523
  description: z.string(),
482
524
  display_name: z.string(),
483
525
  documentation_url: z.string(),
484
- features: z.array(FeatureDescriptionSchema).nullish(),
485
526
  has_connections: z.boolean(),
527
+ has_metered_option: z.boolean().optional(),
486
528
  id: z.string(),
487
529
  is_enabled_for_workspace: z.boolean(),
488
530
  is_new: z.boolean().optional(),
489
- logo_id: z.string(),
490
531
  promotion: StandardConnectorPromotionSchema.optional(),
491
532
  searchTags: z.array(z.string()),
492
533
  short_description: z.string(),
@@ -496,7 +537,8 @@ export const StandardConnectorApiSchema = z.object({
496
537
  vendor: z.enum([
497
538
  'google',
498
539
  'microsoft',
499
- 'aws'
540
+ 'aws',
541
+ 'meta'
500
542
  ]).optional(),
501
543
  who_can_create: z.enum(['editors_and_admins', 'admins_only'])
502
544
  });
@@ -539,15 +581,22 @@ export const ProjectAnalyticsResponseSchema = z.object({
539
581
  });
540
582
 
541
583
  export const ToolDisplayDataSchema = z.object({
584
+ default_preference: z.enum([
585
+ 'never_ask',
586
+ 'ask',
587
+ 'disable'
588
+ ]).optional(),
542
589
  description: z.string(),
543
590
  input_schema: z.unknown().optional(),
544
- name: z.string()
591
+ name: z.string(),
592
+ title: z.string().optional()
545
593
  });
546
594
 
547
595
  export const McpConnectorSchema = z.object({
548
596
  app_mcp_auth_method: z.string().optional(),
549
597
  app_mcp_project_id: z.string().optional(),
550
598
  app_mcp_server_id: z.string().optional(),
599
+ app_site_url: z.string().optional(),
551
600
  category: z.enum([
552
601
  'ecommerce',
553
602
  'marketing',
@@ -556,9 +605,9 @@ export const McpConnectorSchema = z.object({
556
605
  'support',
557
606
  'other',
558
607
  'messaging',
559
- 'coming_soon',
560
608
  'development',
561
609
  'payments',
610
+ 'security',
562
611
  'custom'
563
612
  ]),
564
613
  connect_interaction: z.enum(['desktop_app_download']).optional(),
@@ -602,6 +651,12 @@ export const ProjectTrendResponseSchema = z.object({
602
651
  data: z.array(TrendDataPointSchema).nullable()
603
652
  });
604
653
 
654
+ export const PublicV1ProjectAnalyticsBodySchema = z.object({
655
+ lists: ListsGroupSchema.optional(),
656
+ timeSeries: TimeSeriesGroupSchema.optional(),
657
+ trend: ProjectTrendResponseSchema.optional()
658
+ });
659
+
605
660
  export const V1AddConnectorInputBodySchema = z.object({
606
661
  auth_type: z.enum(['none', 'bearer_token']),
607
662
  connector_id: z.string().optional(),
@@ -641,20 +696,44 @@ export const V1AiResponseSummarySchema = z.object({
641
696
  summary: z.string().optional()
642
697
  });
643
698
 
699
+ export const V1BillingCreditLimitRowSchema = z.object({
700
+ monthly_credit_limit: z.number().optional(),
701
+ user_id: z.string()
702
+ });
703
+
704
+ export const V1BillingCreditLimitsBodySchema = z.object({
705
+ data: z.array(V1BillingCreditLimitRowSchema).nullable(),
706
+ default_monthly_credit_limit: z.number().optional(),
707
+ pagination: PaginationSchema
708
+ });
709
+
644
710
  export const V1BillingPeriodSchema = z.object({
645
711
  end: z.iso.datetime(),
646
712
  start: z.iso.datetime()
647
713
  });
648
714
 
715
+ export const V1BillingUsagePeriodSchema = z.object({
716
+ end: z.string(),
717
+ group_by: z.string().optional(),
718
+ interval: z.string().optional(),
719
+ start: z.string()
720
+ });
721
+
649
722
  export const V1BulkMemberCreditLimitItemSchema = z.object({
723
+ email: z.string().optional(),
650
724
  monthly_credit_limit: z.number().gte(0).nullable(),
651
- user_id: z.string()
725
+ user_id: z.string().optional()
726
+ });
727
+
728
+ export const V1BillingBulkSetMemberCreditLimitInputBodySchema = z.object({
729
+ members: z.array(V1BulkMemberCreditLimitItemSchema).min(1).max(1000)
652
730
  });
653
731
 
654
732
  export const V1BulkMemberCreditLimitResultSchema = z.object({
733
+ email: z.string().optional(),
655
734
  error: z.string().optional(),
656
735
  status: z.string(),
657
- user_id: z.string()
736
+ user_id: z.string().optional()
658
737
  });
659
738
 
660
739
  export const V1BulkSetMemberCreditLimitInputBodySchema = z.object({
@@ -701,17 +780,17 @@ export const V1CreateProjectResponseSchema = z.object({
701
780
  created_at: z.iso.datetime().optional(),
702
781
  description: z.string().optional(),
703
782
  display_name: z.string().optional(),
704
- embed_url: z.string().optional(),
705
783
  folder_id: z.string().optional(),
784
+ generated_description: z.string().optional(),
706
785
  id: z.string(),
707
786
  is_published: z.boolean().optional(),
708
- is_template: z.boolean().optional(),
709
787
  last_edited_at: z.iso.datetime().optional(),
710
788
  latest_commit_sha: z.string().optional(),
711
789
  latest_screenshot_url: z.string().optional(),
712
790
  message_id: z.string().optional(),
713
791
  name: z.string().optional(),
714
792
  og_image_url: z.string().optional(),
793
+ preview_url: z.string().optional(),
715
794
  project_type: z.string().optional(),
716
795
  publish_visibility: z.string().optional(),
717
796
  status: z.string().optional(),
@@ -794,10 +873,8 @@ export const V1EditSummarySchema = z.object({
794
873
  type: z.string()
795
874
  });
796
875
 
797
- export const PublicV1GetEditsOutputBodySchema = z.object({
876
+ export const CursorListResponseV1EditSummarySchema = z.object({
798
877
  data: z.array(V1EditSummarySchema).nullable(),
799
- edits: z.array(V1EditSummarySchema).nullable(),
800
- has_more: z.boolean(),
801
878
  pagination: PaginationSchema
802
879
  });
803
880
 
@@ -807,7 +884,8 @@ export const V1EnableDatabaseOutputBodySchema = z.object({
807
884
  });
808
885
 
809
886
  export const V1EphemeralFileUploadUrlInputBodySchema = z.object({
810
- content_type: z.string().optional()
887
+ content_type: z.string().optional(),
888
+ workspace_id: z.string().optional()
811
889
  });
812
890
 
813
891
  export const V1FileUploadUrlOutputBodySchema = z.object({
@@ -880,6 +958,23 @@ export const V1ListWorkspacesBodySchema = z.object({
880
958
  pagination: PaginationSchema
881
959
  });
882
960
 
961
+ export const V1MessageExportStatusSchema = z.object({
962
+ archive_size_bytes: z.number().optional(),
963
+ completed_at: z.iso.datetime().optional(),
964
+ created_at: z.iso.datetime(),
965
+ download_url: z.string().optional(),
966
+ expires_at: z.iso.datetime().optional(),
967
+ export_id: z.string(),
968
+ message_count: z.number().optional(),
969
+ project_count: z.number().optional(),
970
+ status: z.enum([
971
+ 'running',
972
+ 'completed',
973
+ 'failed',
974
+ 'expired'
975
+ ])
976
+ });
977
+
883
978
  export const V1MessageListItemSchema = z.object({
884
979
  content: z.string(),
885
980
  created_at: z.string(),
@@ -920,6 +1015,58 @@ export const V1MoveProjectsToFolderInputBodySchema = z.object({
920
1015
  project_ids: z.array(z.string()).min(1).max(30).nullable()
921
1016
  });
922
1017
 
1018
+ export const V1ProjectCloudDiskSchema = z.object({
1019
+ size_bytes: z.number(),
1020
+ timestamp: z.iso.datetime(),
1021
+ used_bytes: z.number()
1022
+ });
1023
+
1024
+ export const V1ProjectCloudResourceSignalSchema = z.object({
1025
+ alert_hours: z.number(),
1026
+ label: z.string(),
1027
+ latest_alert_at: z.iso.datetime().optional(),
1028
+ latest_value: z.number().optional(),
1029
+ resource_type: z.string()
1030
+ });
1031
+
1032
+ export const V1ProjectCloudResourcePressureSchema = z.object({
1033
+ resources: z.array(V1ProjectCloudResourceSignalSchema).nullable(),
1034
+ window_hours: z.number()
1035
+ });
1036
+
1037
+ export const V1ProjectCloudBodySchema = z.object({
1038
+ disk: V1ProjectCloudDiskSchema.optional(),
1039
+ environment: z.string(),
1040
+ instance_tier: z.enum([
1041
+ 'xs',
1042
+ 's',
1043
+ 'm',
1044
+ 'ml',
1045
+ 'l',
1046
+ 'xl',
1047
+ 'xxl'
1048
+ ]),
1049
+ instance_tier_label: z.string(),
1050
+ pause_reason: z.string().optional(),
1051
+ postgres_version: z.string().optional(),
1052
+ region: z.string().optional(),
1053
+ resource_pressure: V1ProjectCloudResourcePressureSchema.optional(),
1054
+ status: z.enum([
1055
+ 'OK',
1056
+ 'RESIZING',
1057
+ 'UPGRADING',
1058
+ 'RESTARTING',
1059
+ 'COMING_UP',
1060
+ 'RESTORING',
1061
+ 'UNHEALTHY',
1062
+ 'INACTIVE',
1063
+ 'PAUSING',
1064
+ 'UNKNOWN',
1065
+ ''
1066
+ ]).optional(),
1067
+ user_paused: z.boolean()
1068
+ });
1069
+
923
1070
  export const V1ProjectCollaboratorSchema = z.object({
924
1071
  accepted_at: z.iso.datetime().optional(),
925
1072
  access_level: z.enum([
@@ -958,16 +1105,16 @@ export const V1ProjectResponseSchema = z.object({
958
1105
  created_at: z.iso.datetime().optional(),
959
1106
  description: z.string().optional(),
960
1107
  display_name: z.string().optional(),
961
- embed_url: z.string().optional(),
962
1108
  folder_id: z.string().optional(),
1109
+ generated_description: z.string().optional(),
963
1110
  id: z.string(),
964
1111
  is_published: z.boolean().optional(),
965
- is_template: z.boolean().optional(),
966
1112
  last_edited_at: z.iso.datetime().optional(),
967
1113
  latest_commit_sha: z.string().optional(),
968
1114
  latest_screenshot_url: z.string().optional(),
969
1115
  name: z.string().optional(),
970
1116
  og_image_url: z.string().optional(),
1117
+ preview_url: z.string().optional(),
971
1118
  project_type: z.string().optional(),
972
1119
  publish_visibility: z.string().optional(),
973
1120
  status: z.string().optional(),
@@ -1015,7 +1162,8 @@ export const V1RemixInitOutputBodySchema = z.object({
1015
1162
  });
1016
1163
 
1017
1164
  export const V1RemixProgressResultSchema = z.object({
1018
- project_id: z.string()
1165
+ project_id: z.string(),
1166
+ warnings: z.array(RemixWarningSchema).nullish()
1019
1167
  });
1020
1168
 
1021
1169
  export const V1RemixProgressOutputBodySchema = z.object({
@@ -1049,6 +1197,13 @@ export const V1SecurityFindingSchema = z.object({
1049
1197
  updated_at: z.iso.datetime()
1050
1198
  });
1051
1199
 
1200
+ export const V1SecurityScanActorSchema = z.object({
1201
+ email: z.string().optional(),
1202
+ id: z.string().optional(),
1203
+ name: z.string().optional(),
1204
+ type: z.string()
1205
+ });
1206
+
1052
1207
  export const V1SecurityScanSummarySchema = z.object({
1053
1208
  commit_sha: z.string().optional(),
1054
1209
  finished_at: z.iso.datetime().optional(),
@@ -1057,7 +1212,7 @@ export const V1SecurityScanSummarySchema = z.object({
1057
1212
  started_at: z.iso.datetime(),
1058
1213
  status: z.string(),
1059
1214
  trigger_source: z.string(),
1060
- triggered_by: z.string().optional()
1215
+ triggered_by: V1SecurityScanActorSchema
1061
1216
  });
1062
1217
 
1063
1218
  export const CursorListResponseV1SecurityScanSummarySchema = z.object({
@@ -1086,6 +1241,7 @@ export const V1SelectedLibrarySchema = z.object({
1086
1241
  });
1087
1242
 
1088
1243
  export const V1SendMessageOutputBodySchema = z.object({
1244
+ agent_version: z.string().optional(),
1089
1245
  message_id: z.string(),
1090
1246
  status: z.string(),
1091
1247
  thread_id: z.string()
@@ -1128,6 +1284,18 @@ export const V1SetWorkspaceKnowledgeInputBodySchema = z.object({
1128
1284
  content: z.string()
1129
1285
  });
1130
1286
 
1287
+ export const V1StartMessageExportInputBodySchema = z.object({
1288
+ end_date: z.string().optional(),
1289
+ project_id: z.string().optional(),
1290
+ start_date: z.string().optional(),
1291
+ user_id: z.string().optional()
1292
+ });
1293
+
1294
+ export const V1StartMessageExportOutputBodySchema = z.object({
1295
+ export_id: z.string(),
1296
+ status: z.enum(['running'])
1297
+ });
1298
+
1131
1299
  export const V1TriggerSecurityScanInputBodySchema = z.object({
1132
1300
  project_id: z.string()
1133
1301
  });
@@ -1157,7 +1325,12 @@ export const PublicV1ProjectCreateInputBodySchema = z.object({
1157
1325
  source_project_id: z.string().regex(/^\s*$/).nullish(),
1158
1326
  tech_stack: z.string().optional(),
1159
1327
  template_project_id: z.string().optional(),
1160
- visibility: z.string().optional(),
1328
+ visibility: z.enum([
1329
+ 'draft',
1330
+ 'private',
1331
+ 'public',
1332
+ 'workspace_view'
1333
+ ]).optional(),
1161
1334
  workspace_id: z.string()
1162
1335
  });
1163
1336
 
@@ -1169,10 +1342,10 @@ export const PublicV1SendMessageInputBodySchema = z.object({
1169
1342
  ]).optional(),
1170
1343
  ephemeral_files: z.array(V1UnscopedFileSchema).nullish(),
1171
1344
  files: z.array(V1UnscopedFileSchema).nullish(),
1345
+ max_iterations: z.coerce.number().gte(1).lte(50).optional(),
1172
1346
  message: z.string().min(1).max(100000),
1173
1347
  plan_mode: z.boolean().optional(),
1174
- project_id: z.string(),
1175
- variant_id: z.string().optional()
1348
+ project_id: z.string()
1176
1349
  });
1177
1350
 
1178
1351
  export const V1CreateProjectInputBodySchema = z.object({
@@ -1186,7 +1359,12 @@ export const V1CreateProjectInputBodySchema = z.object({
1186
1359
  selected_libraries: z.array(V1SelectedLibrarySchema).nullish(),
1187
1360
  tech_stack: z.string().optional(),
1188
1361
  template_project_id: z.string().optional(),
1189
- visibility: z.string().optional()
1362
+ visibility: z.enum([
1363
+ 'draft',
1364
+ 'private',
1365
+ 'public',
1366
+ 'workspace_view'
1367
+ ]).optional()
1190
1368
  });
1191
1369
 
1192
1370
  export const V1SendMessageInputBodySchema = z.object({
@@ -1197,9 +1375,9 @@ export const V1SendMessageInputBodySchema = z.object({
1197
1375
  ]).optional(),
1198
1376
  ephemeral_files: z.array(V1UnscopedFileSchema).nullish(),
1199
1377
  files: z.array(V1UnscopedFileSchema).nullish(),
1378
+ max_iterations: z.coerce.number().gte(1).lte(50).optional(),
1200
1379
  message: z.string().min(1).max(100000),
1201
- plan_mode: z.boolean().optional(),
1202
- variant_id: z.string().optional()
1380
+ plan_mode: z.boolean().optional()
1203
1381
  });
1204
1382
 
1205
1383
  export const V1UpdateMemberCreditLimitInputBodySchema = z.object({
@@ -1212,6 +1390,10 @@ export const V1UpdateWorkspaceSettingsInputBodySchema = z.object({
1212
1390
  workspace_id: z.string()
1213
1391
  });
1214
1392
 
1393
+ export const V1UpdateWorkspaceSettingsNestedInputBodySchema = z.object({
1394
+ default_monthly_member_credit_limit: z.number().gte(0).nullish()
1395
+ });
1396
+
1215
1397
  export const V1UsagePeriodSchema = z.object({
1216
1398
  end: z.string(),
1217
1399
  granularity: z.string().optional(),
@@ -1220,9 +1402,11 @@ export const V1UsagePeriodSchema = z.object({
1220
1402
 
1221
1403
  export const V1WorkspaceAuditLogEntrySchema = z.object({
1222
1404
  action: z.string(),
1405
+ action_description: z.string(),
1223
1406
  actor_display_name: z.string().optional(),
1224
1407
  actor_id: z.string(),
1225
1408
  actor_type: z.string().optional(),
1409
+ client_platform: z.string().optional(),
1226
1410
  details: z.record(z.string(), z.unknown()).optional(),
1227
1411
  id: z.string(),
1228
1412
  ip_address: z.string().optional(),
@@ -1272,32 +1456,16 @@ export const V1WorkspaceCreditsBodySchema = z.object({
1272
1456
  total_remaining: z.number()
1273
1457
  });
1274
1458
 
1275
- export const V1WorkspaceMemberSchema = z.object({
1276
- display_name: z.string().optional(),
1277
- email: z.string().optional(),
1278
- invited_at: z.iso.datetime().optional(),
1279
- joined_at: z.iso.datetime().optional(),
1280
- monthly_credit_limit: z.number().optional(),
1281
- role: z.string(),
1282
- user_id: z.string(),
1283
- workspace_id: z.string()
1284
- });
1285
-
1286
- export const CursorListResponseV1WorkspaceMemberSchema = z.object({
1287
- data: z.array(V1WorkspaceMemberSchema).nullable(),
1288
- pagination: PaginationSchema
1289
- });
1290
-
1291
- export const V1WorkspaceSecurityActivityFreshnessSchema = z.object({
1459
+ export const V1WorkspaceInsightsActivityFreshnessSchema = z.object({
1292
1460
  edits_as_of: z.iso.datetime().optional(),
1293
1461
  visitors_as_of: z.iso.datetime().optional()
1294
1462
  });
1295
1463
 
1296
- export const V1WorkspaceSecurityEdgeFunctionSchema = z.object({
1464
+ export const V1WorkspaceInsightsEdgeFunctionSchema = z.object({
1297
1465
  name: z.string()
1298
1466
  });
1299
1467
 
1300
- export const V1WorkspaceSecurityFindingSchema = z.object({
1468
+ export const V1WorkspaceInsightsFindingSchema = z.object({
1301
1469
  category: z.string(),
1302
1470
  description: z.string(),
1303
1471
  id: z.string(),
@@ -1306,11 +1474,11 @@ export const V1WorkspaceSecurityFindingSchema = z.object({
1306
1474
  title: z.string()
1307
1475
  });
1308
1476
 
1309
- export const V1WorkspaceSecurityOwnerSchema = z.object({
1477
+ export const V1WorkspaceInsightsOwnerSchema = z.object({
1310
1478
  display_name: z.string().optional()
1311
1479
  });
1312
1480
 
1313
- export const V1WorkspaceSecurityReasonValuesSchema = z.object({
1481
+ export const V1WorkspaceInsightsReasonValuesSchema = z.object({
1314
1482
  connector_count: z.number().optional(),
1315
1483
  edge_function_count: z.number().optional(),
1316
1484
  error_count: z.number().optional(),
@@ -1321,22 +1489,22 @@ export const V1WorkspaceSecurityReasonValuesSchema = z.object({
1321
1489
  warning_count: z.number().optional()
1322
1490
  });
1323
1491
 
1324
- export const V1WorkspaceSecurityReasonSchema = z.object({
1492
+ export const V1WorkspaceInsightsReasonSchema = z.object({
1325
1493
  category: z.string(),
1326
1494
  detail: z.string(),
1327
1495
  id: z.string(),
1328
1496
  label: z.string(),
1329
1497
  severity: z.string(),
1330
- values: V1WorkspaceSecurityReasonValuesSchema.optional()
1498
+ values: V1WorkspaceInsightsReasonValuesSchema.optional()
1331
1499
  });
1332
1500
 
1333
- export const V1WorkspaceSecurityReviewPrioritySchema = z.object({
1501
+ export const V1WorkspaceInsightsReviewPrioritySchema = z.object({
1334
1502
  needs_review: z.number(),
1335
1503
  no_review_needed: z.number(),
1336
1504
  review_recommended: z.number()
1337
1505
  });
1338
1506
 
1339
- export const V1WorkspaceSecuritySignalsSchema = z.object({
1507
+ export const V1WorkspaceInsightsSignalsSchema = z.object({
1340
1508
  chat_attachment_count: z.number(),
1341
1509
  connector_count: z.number(),
1342
1510
  edge_function_count: z.number(),
@@ -1368,12 +1536,12 @@ export const V1WorkspaceSecuritySignalsSchema = z.object({
1368
1536
  warning_count: z.number()
1369
1537
  });
1370
1538
 
1371
- export const V1WorkspaceSecurityProjectSchema = z.object({
1539
+ export const V1WorkspaceInsightsProjectSchema = z.object({
1372
1540
  activity_group: z.string().optional(),
1373
1541
  connectors: z.array(z.string()).nullish(),
1374
1542
  description: z.string().optional(),
1375
1543
  display_name: z.string().optional(),
1376
- edge_functions: z.array(V1WorkspaceSecurityEdgeFunctionSchema).nullish(),
1544
+ edge_functions: z.array(V1WorkspaceInsightsEdgeFunctionSchema).nullish(),
1377
1545
  edit_count: z.number(),
1378
1546
  edits_24h: z.number(),
1379
1547
  edits_30d: z.number(),
@@ -1383,15 +1551,15 @@ export const V1WorkspaceSecurityProjectSchema = z.object({
1383
1551
  is_published: z.boolean().optional(),
1384
1552
  last_edited_at: z.iso.datetime().optional(),
1385
1553
  last_security_scan_at: z.iso.datetime().optional(),
1386
- matched_reason: V1WorkspaceSecurityReasonSchema.optional(),
1554
+ matched_reason: V1WorkspaceInsightsReasonSchema.optional(),
1387
1555
  message_count: z.number(),
1388
1556
  name: z.string().optional(),
1389
1557
  og_image_url: z.string().optional(),
1390
- owner: V1WorkspaceSecurityOwnerSchema.optional(),
1558
+ owner: V1WorkspaceInsightsOwnerSchema.optional(),
1391
1559
  publish_visibility: z.string().optional(),
1392
1560
  review_priority: z.string().optional(),
1393
- review_priority_explanation: z.array(V1WorkspaceSecurityReasonSchema).nullable(),
1394
- signals: V1WorkspaceSecuritySignalsSchema,
1561
+ review_priority_explanation: z.array(V1WorkspaceInsightsReasonSchema).nullable(),
1562
+ signals: V1WorkspaceInsightsSignalsSchema,
1395
1563
  url: z.string().optional(),
1396
1564
  visibility: z.string().optional(),
1397
1565
  visitors_24h: z.number(),
@@ -1399,32 +1567,48 @@ export const V1WorkspaceSecurityProjectSchema = z.object({
1399
1567
  visitors_7d: z.number()
1400
1568
  });
1401
1569
 
1402
- export const V1WorkspaceSecurityProjectsBodySchema = z.object({
1403
- activity_as_of: V1WorkspaceSecurityActivityFreshnessSchema.optional(),
1404
- applied_finding: V1WorkspaceSecurityFindingSchema.optional(),
1570
+ export const V1WorkspaceInsightsProjectsBodySchema = z.object({
1571
+ activity_as_of: V1WorkspaceInsightsActivityFreshnessSchema.optional(),
1572
+ applied_finding: V1WorkspaceInsightsFindingSchema.optional(),
1405
1573
  as_of: z.iso.datetime().optional(),
1406
- data: z.array(V1WorkspaceSecurityProjectSchema).nullable(),
1574
+ data: z.array(V1WorkspaceInsightsProjectSchema).nullable(),
1407
1575
  pagination: PaginationSchema,
1408
1576
  total: z.number()
1409
1577
  });
1410
1578
 
1411
- export const V1WorkspaceSecurityStatSchema = z.object({
1579
+ export const V1WorkspaceInsightsStatSchema = z.object({
1412
1580
  delta_30d: z.number(),
1413
1581
  delta_window: z.string(),
1414
1582
  value: z.number()
1415
1583
  });
1416
1584
 
1417
- export const V1WorkspaceSecuritySummarySchema = z.object({
1418
- externally_published: V1WorkspaceSecurityStatSchema,
1419
- risk: V1WorkspaceSecurityReviewPrioritySchema,
1420
- total_projects: V1WorkspaceSecurityStatSchema,
1421
- workspace_members: V1WorkspaceSecurityStatSchema
1585
+ export const V1WorkspaceInsightsSummarySchema = z.object({
1586
+ externally_published: V1WorkspaceInsightsStatSchema,
1587
+ risk: V1WorkspaceInsightsReviewPrioritySchema,
1588
+ total_projects: V1WorkspaceInsightsStatSchema,
1589
+ workspace_members: V1WorkspaceInsightsStatSchema
1422
1590
  });
1423
1591
 
1424
- export const V1WorkspaceSecurityDashboardBodySchema = z.object({
1592
+ export const V1WorkspaceInsightsBodySchema = z.object({
1425
1593
  as_of: z.iso.datetime().optional(),
1426
- findings: z.array(V1WorkspaceSecurityFindingSchema).nullable(),
1427
- summary: V1WorkspaceSecuritySummarySchema
1594
+ findings: z.array(V1WorkspaceInsightsFindingSchema).nullable(),
1595
+ summary: V1WorkspaceInsightsSummarySchema
1596
+ });
1597
+
1598
+ export const V1WorkspaceMemberSchema = z.object({
1599
+ display_name: z.string().optional(),
1600
+ email: z.string().optional(),
1601
+ invited_at: z.iso.datetime().optional(),
1602
+ joined_at: z.iso.datetime().optional(),
1603
+ monthly_credit_limit: z.number().optional(),
1604
+ role: z.string(),
1605
+ user_id: z.string(),
1606
+ workspace_id: z.string()
1607
+ });
1608
+
1609
+ export const CursorListResponseV1WorkspaceMemberSchema = z.object({
1610
+ data: z.array(V1WorkspaceMemberSchema).nullable(),
1611
+ pagination: PaginationSchema
1428
1612
  });
1429
1613
 
1430
1614
  export const V1WorkspaceSettingsBodySchema = z.object({
@@ -1476,6 +1660,12 @@ export const V1WorkspaceUsageBreakdownBodySchema = z.object({
1476
1660
  pagination: PaginationSchema
1477
1661
  });
1478
1662
 
1663
+ export const V1WorkspaceUsageConnectorBreakdownSchema = z.object({
1664
+ credits: z.number(),
1665
+ key: z.string(),
1666
+ label: z.string()
1667
+ });
1668
+
1479
1669
  export const V1WorkspaceUsageDatabaseBreakdownSchema = z.object({
1480
1670
  credits: z.number(),
1481
1671
  key: z.enum(['database_server', 'database_storage']),
@@ -1488,6 +1678,36 @@ export const V1WorkspaceUsageGatewayModelSchema = z.object({
1488
1678
  provider: z.string()
1489
1679
  });
1490
1680
 
1681
+ export const V1BillingUsageRowSchema = z.object({
1682
+ build: z.number(),
1683
+ connectors: z.number(),
1684
+ connectors_breakdown: z.array(V1WorkspaceUsageConnectorBreakdownSchema).nullish(),
1685
+ database: z.number(),
1686
+ database_breakdown: z.array(V1WorkspaceUsageDatabaseBreakdownSchema).nullish(),
1687
+ display_name: z.string().optional(),
1688
+ email: z.string().optional(),
1689
+ functions: z.number(),
1690
+ gateway: z.number(),
1691
+ gateway_models: z.array(V1WorkspaceUsageGatewayModelSchema).nullish(),
1692
+ network: z.number(),
1693
+ period_end: z.string().optional(),
1694
+ period_start: z.string().optional(),
1695
+ project_id: z.string().optional(),
1696
+ realtime: z.number(),
1697
+ run: z.number(),
1698
+ storage: z.number(),
1699
+ total: z.number(),
1700
+ user_id: z.string().optional()
1701
+ });
1702
+
1703
+ export const V1BillingUsageBodySchema = z.object({
1704
+ data: z.array(V1BillingUsageRowSchema).nullable(),
1705
+ entity_count: z.number().optional(),
1706
+ pagination: PaginationSchema,
1707
+ period: V1BillingUsagePeriodSchema,
1708
+ workspace_total: z.number()
1709
+ });
1710
+
1491
1711
  export const V1WorkspaceUsageMeBodySchema = z.object({
1492
1712
  credits_used: z.number(),
1493
1713
  monthly_credit_limit: z.number().optional()
@@ -1495,6 +1715,7 @@ export const V1WorkspaceUsageMeBodySchema = z.object({
1495
1715
 
1496
1716
  export const V1WorkspaceUsageProjectRowSchema = z.object({
1497
1717
  build: z.number(),
1718
+ connectors: z.number(),
1498
1719
  database: z.number(),
1499
1720
  functions: z.number(),
1500
1721
  gateway: z.number(),
@@ -1516,6 +1737,8 @@ export const V1WorkspaceUsageProjectsBodySchema = z.object({
1516
1737
 
1517
1738
  export const V1WorkspaceUsageTimeseriesBucketSchema = z.object({
1518
1739
  build: z.number(),
1740
+ connectors: z.number(),
1741
+ connectors_breakdown: z.array(V1WorkspaceUsageConnectorBreakdownSchema).nullable(),
1519
1742
  database: z.number(),
1520
1743
  database_breakdown: z.array(V1WorkspaceUsageDatabaseBreakdownSchema).nullable(),
1521
1744
  functions: z.number(),
@@ -1569,3 +1792,7 @@ export const AddProjectsToFolderResultSchema = z.object({
1569
1792
  total_requested: z.number(),
1570
1793
  visibility_updated: z.array(VisibilityChangeInfoSchema).nullable()
1571
1794
  });
1795
+
1796
+ export const WorkspaceAnalyticsResponseSchema = z.object({
1797
+ timeSeries: TimeSeriesGroupSchema
1798
+ });