@lovable.dev/sdk 1.9.0 → 1.10.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.
package/dist/index.d.ts CHANGED
@@ -1050,15 +1050,11 @@ interface paths {
1050
1050
  };
1051
1051
  /**
1052
1052
  * List security scans
1053
- * @description Returns the project's security scans ordered by start time, newest first. Use a scan's detail endpoint to retrieve individual check results and findings.
1053
+ * @description Returns the project's security scans ordered by start time, newest first. Use a scan's detail endpoint to retrieve findings.
1054
1054
  */
1055
1055
  get: operations["listSecurityScans"];
1056
1056
  put?: never;
1057
- /**
1058
- * Trigger security scan
1059
- * @description Starts a security scan for the project's latest commit. Returns the existing scan when one for the same commit and scanner set is already running, or the latest completed scan when it already covers the current commit. Poll GET /v1/projects/{project_id}/security-scans/{scan_id} for status and findings.
1060
- */
1061
- post: operations["triggerSecurityScan"];
1057
+ post?: never;
1062
1058
  delete?: never;
1063
1059
  options?: never;
1064
1060
  head?: never;
@@ -1074,7 +1070,7 @@ interface paths {
1074
1070
  };
1075
1071
  /**
1076
1072
  * Get security scan
1077
- * @description Returns a security scan's status, individual check results, and findings. A scan may include results reused from earlier scans.
1073
+ * @description Returns a security scan's status and findings. A scan may include results reused from earlier scans.
1078
1074
  */
1079
1075
  get: operations["getSecurityScan"];
1080
1076
  put?: never;
@@ -1178,9 +1174,10 @@ interface paths {
1178
1174
  };
1179
1175
  /**
1180
1176
  * Get remix job
1177
+ * @deprecated
1181
1178
  * @description Returns the status of a remix started with POST /v1/projects, using the returned job_id. Poll until copying succeeds (result.project_id is set) or fails (error_message explains the failure). Poll no more than once every 2 seconds and honor Retry-After on 429 responses. After the copy finishes, any initial_message may still be processing. Job status is retained for a limited time; expired jobs return 404.
1182
1179
  */
1183
- get: operations["getRemixJob"];
1180
+ get: operations["get-v1-remix-jobs-job_id"];
1184
1181
  put?: never;
1185
1182
  post?: never;
1186
1183
  delete?: never;
@@ -1551,30 +1548,6 @@ interface paths {
1551
1548
  patch?: never;
1552
1549
  trace?: never;
1553
1550
  };
1554
- "/v1/workspaces/{workspace_id}/billing/credit-limits": {
1555
- parameters: {
1556
- query?: never;
1557
- header?: never;
1558
- path?: never;
1559
- cookie?: never;
1560
- };
1561
- /**
1562
- * Get member credit limits
1563
- * @description Returns each active member's explicit monthly build-credit limit and the workspace default, with pagination. Members without an explicit limit inherit the default; active higher temporary limits can override either. Usage resets at the start of each UTC calendar month.
1564
- */
1565
- get: operations["listCreditLimits"];
1566
- put?: never;
1567
- /**
1568
- * Set member credit limits
1569
- * @description Sets or clears monthly build-credit limits for up to 1000 members per request. Workspaces without bulk-limit support accept at most 50 members and reject larger requests with HTTP 400 before processing any member; current_period limits fail per member where unsupported. Usage resets at the start of each UTC calendar month. Returns HTTP 200 with a result for each member; other individual failures do not fail the whole request. If every member fails, returns HTTP 422 with the same response body.
1570
- */
1571
- post: operations["setCreditLimits"];
1572
- delete?: never;
1573
- options?: never;
1574
- head?: never;
1575
- patch?: never;
1576
- trace?: never;
1577
- };
1578
1551
  "/v1/workspaces/{workspace_id}/billing/credit-usage": {
1579
1552
  parameters: {
1580
1553
  query?: never;
@@ -1978,11 +1951,7 @@ interface paths {
1978
1951
  delete?: never;
1979
1952
  options?: never;
1980
1953
  head?: never;
1981
- /**
1982
- * Update workspace settings
1983
- * @description Sets or clears the default monthly build-credit limit for members without an explicit limit. Usage resets at the start of each UTC calendar month. Explicit member limits and active higher temporary limits still apply.
1984
- */
1985
- patch: operations["updateWorkspaceSettings"];
1954
+ patch?: never;
1986
1955
  trace?: never;
1987
1956
  };
1988
1957
  "/v1/workspaces/{workspace_id}/skills": {
@@ -2145,6 +2114,12 @@ interface components {
2145
2114
  /** @description Whether more results are available and the cursor to fetch the next page. */
2146
2115
  pagination: components["schemas"]["Pagination"];
2147
2116
  };
2117
+ SecurityScanPage: {
2118
+ /** @description Items in this page. */
2119
+ data: components["schemas"]["SecurityScan"][] | null;
2120
+ /** @description Whether more results are available and the cursor to fetch the next page. */
2121
+ pagination: components["schemas"]["Pagination"];
2122
+ };
2148
2123
  CursorListResponseV1EditSummary: {
2149
2124
  /** @description Items in this page. */
2150
2125
  data: components["schemas"]["V1EditSummary"][] | null;
@@ -2169,9 +2144,9 @@ interface components {
2169
2144
  /** @description Whether more results are available and the cursor to fetch the next page. */
2170
2145
  pagination: components["schemas"]["Pagination"];
2171
2146
  };
2172
- SecurityScanPage: {
2147
+ CursorListResponseV1SecurityScanSummary: {
2173
2148
  /** @description Items in this page. */
2174
- data: components["schemas"]["SecurityScan"][] | null;
2149
+ data: components["schemas"]["V1SecurityScanSummary"][] | null;
2175
2150
  /** @description Whether more results are available and the cursor to fetch the next page. */
2176
2151
  pagination: components["schemas"]["Pagination"];
2177
2152
  };
@@ -2616,6 +2591,12 @@ interface components {
2616
2591
  /** @description Project ID */
2617
2592
  project_id: string;
2618
2593
  };
2594
+ SecurityScanDetail: {
2595
+ /** @description Findings in this scan snapshot, including results reused from earlier scans and findings marked fixed or ignored. */
2596
+ findings: components["schemas"]["SecurityFinding"][] | null;
2597
+ /** @description Status and timing of the security scan. */
2598
+ scan: components["schemas"]["SecurityScan"];
2599
+ };
2619
2600
  GetWorkspaceResponse: {
2620
2601
  /** @description Caller's membership in this workspace. */
2621
2602
  current_member?: components["schemas"]["WorkspaceMembership"];
@@ -2629,11 +2610,6 @@ interface components {
2629
2610
  ref: string;
2630
2611
  };
2631
2612
  PiiLabel: {
2632
- /**
2633
- * @description Identifier of the chat message associated with a chat or uploaded-file finding, when available.
2634
- * @example default:user#12#01jw3k9m2xq8r5v0c7d4e6f2gh
2635
- */
2636
- chat_message_id?: string;
2637
2613
  /** @description Identifier of the uploaded file where personal data was detected. */
2638
2614
  chat_upload_id?: string;
2639
2615
  /** @description Connected service associated with this finding. */
@@ -2665,11 +2641,6 @@ interface components {
2665
2641
  * @example alex@example.com
2666
2642
  */
2667
2643
  quote?: string;
2668
- /**
2669
- * @description Identifier of the personal data scan that recorded this finding. Separate from security scan IDs.
2670
- * @example pii-scan-prj_01jw3k9m2xq8r5v0c7d4e6f2gh
2671
- */
2672
- scan_id?: string;
2673
2644
  /**
2674
2645
  * @description Sensitivity assigned to the detected data type. More values may be added; clients must tolerate unknown values.
2675
2646
  * @example high
@@ -2846,7 +2817,14 @@ interface components {
2846
2817
  */
2847
2818
  project_type?: "project" | "library";
2848
2819
  /**
2849
- * @description Who can access the published app. Separate from editor sharing. More values may be added; clients must tolerate unknown values.
2820
+ * @description Who can open the published app, using the same values as the visibility field on the publish routes. Omitted while the app is not published. More values may be added; clients must tolerate unknown values.
2821
+ * @example public
2822
+ * @enum {string}
2823
+ */
2824
+ publish_audience?: "public" | "workspace" | "custom";
2825
+ /**
2826
+ * @deprecated
2827
+ * @description Deprecated: use publish_audience. Stored app-access setting; private covers both the workspace and custom audiences. More values may be added; clients must tolerate unknown values.
2850
2828
  * @example public
2851
2829
  * @enum {string}
2852
2830
  */
@@ -2857,17 +2835,6 @@ interface components {
2857
2835
  * @enum {string}
2858
2836
  */
2859
2837
  status?: "in_progress" | "completed" | "failed";
2860
- /**
2861
- * @description Project tech stack.
2862
- * @example vite_react_shadcn_ts
2863
- */
2864
- tech_stack?: string;
2865
- /**
2866
- * Format: date-time
2867
- * @description When the project was last updated.
2868
- * @example 2026-01-15T09:30:00Z
2869
- */
2870
- updated_at?: string;
2871
2838
  /**
2872
2839
  * @description Published project URL.
2873
2840
  * @example https://acme-landing-page.lovable.app
@@ -3006,20 +2973,101 @@ interface components {
3006
2973
  /** @description Published project URL. Set after a successful deployment. */
3007
2974
  url?: string;
3008
2975
  };
3009
- RemixJob: {
2976
+ PublicV1RemixJobOutputBody: {
3010
2977
  /** @description Machine-readable failure cause, present only for recognized failures */
3011
2978
  error_code?: string;
3012
2979
  /** @description Human-readable explanation if the copy fails. */
3013
2980
  error_message?: string;
3014
2981
  /** @description Remix result, present after a successful copy. */
3015
- result?: components["schemas"]["RemixResult"];
2982
+ result?: components["schemas"]["V1RemixProgressResult"];
3016
2983
  /**
3017
2984
  * @description Progress of copying the project. More values may be added; clients must tolerate unknown values.
3018
2985
  * @enum {string}
3019
2986
  */
3020
2987
  status: "preparing" | "running" | "completed" | "error" | "unknown";
3021
- /** @description Current copying stage, when available. On failure, failure.failed_step identifies the stage that failed. */
3022
- step?: components["schemas"]["RemixJobStepInfo"];
2988
+ };
2989
+ SecurityFinding: {
2990
+ /**
2991
+ * @description Finding category.
2992
+ * @example data_exposure
2993
+ */
2994
+ category?: string;
2995
+ /**
2996
+ * Format: date-time
2997
+ * @description When this finding was first recorded, UTC.
2998
+ * @example 2026-01-15T09:30:00Z
2999
+ */
3000
+ created_at: string;
3001
+ /**
3002
+ * @description Human-readable summary of the finding.
3003
+ * @example A public table has row-level security disabled, exposing all rows to anonymous clients.
3004
+ */
3005
+ description?: string;
3006
+ /**
3007
+ * @description Stable identifier for this finding.
3008
+ * @example b2c3d4e5-f6a7-8901-bcde-f23456789012
3009
+ */
3010
+ finding_id: string;
3011
+ /**
3012
+ * @description Severity reported by the scanner. More values may be added; clients must tolerate unknown values.
3013
+ * @example error
3014
+ * @enum {string}
3015
+ */
3016
+ level: "error" | "warn" | "info";
3017
+ /**
3018
+ * @description Short finding title.
3019
+ * @example Row-level security disabled on a public table
3020
+ */
3021
+ name: string;
3022
+ /**
3023
+ * @description Name of the scanner that produced this finding.
3024
+ * @example agent_security
3025
+ */
3026
+ scanner_name: string;
3027
+ /**
3028
+ * @description Review state of the security finding. More values may be added; clients must tolerate unknown values.
3029
+ * @example open
3030
+ * @enum {string}
3031
+ */
3032
+ status: "open" | "fixed" | "ignored";
3033
+ /**
3034
+ * Format: date-time
3035
+ * @description When this finding was last updated, UTC.
3036
+ * @example 2026-01-15T09:30:00Z
3037
+ */
3038
+ updated_at: string;
3039
+ };
3040
+ SecurityScan: {
3041
+ /**
3042
+ * @description Git commit SHA of the project when the scan started. Omitted when unavailable.
3043
+ * @example 9fceb02d0ae598e95dc970b74767f19372d61af8
3044
+ */
3045
+ commit_sha?: string;
3046
+ /**
3047
+ * Format: date-time
3048
+ * @description When the scan finished, UTC; absent while still running.
3049
+ * @example 2026-01-15T09:30:00Z
3050
+ */
3051
+ finished_at?: string;
3052
+ /** @description Identifiers of the security checks requested for this scan. */
3053
+ requested_scanners: string[] | null;
3054
+ /**
3055
+ * @description Unique ID for this security scan.
3056
+ * @example a1b2c3d4-e5f6-7890-abcd-ef1234567890
3057
+ */
3058
+ scan_id: string;
3059
+ /**
3060
+ * Format: date-time
3061
+ * @description When the scan started, UTC.
3062
+ * @example 2026-01-15T09:30:00Z
3063
+ */
3064
+ started_at: string;
3065
+ /**
3066
+ * @description Overall scan state. Finishing a scan does not mean that no security issues were found. More values may be added; clients must tolerate unknown values.
3067
+ * @example completed
3068
+ * @enum {string}
3069
+ */
3070
+ status: "running" | "completed" | "failed";
3023
3071
  };
3024
3072
  PublicV1SendMessageInputBody: {
3025
3073
  /**
@@ -3557,40 +3605,6 @@ interface components {
3557
3605
  /** @description Stable identifier of the tool awaiting approval, e.g. app_user_connector--provision_app. Omitted when the tool call carries no stable tool id. */
3558
3606
  tool_id?: string;
3559
3607
  };
3560
- SetMemberCreditLimitsRequest: {
3561
- /** @description Per-member limits to apply, with each member listed at most once. To set the default for members without an explicit limit, use PATCH /v1/workspaces/{workspace_id}/settings. */
3562
- members: components["schemas"]["MemberCreditLimitUpdate"][];
3563
- };
3564
- MemberCreditLimit: {
3565
- /**
3566
- * Format: double
3567
- * @description Explicit ongoing monthly build-credit limit for this member. Omitted when the member inherits the workspace default. An active higher temporary limit can override it.
3568
- */
3569
- monthly_credit_limit?: number;
3570
- /**
3571
- * Format: date-time
3572
- * @description When temporary_monthly_credit_limit expires.
3573
- */
3574
- temporary_limit_expires_at?: string;
3575
- /**
3576
- * Format: double
3577
- * @description Active temporary monthly build-credit limit for this member. It overrides the permanent or default limit only when higher. Omitted when no temporary limit is active.
3578
- */
3579
- temporary_monthly_credit_limit?: number;
3580
- /** @description Member the cap applies to. Join GET /v1/workspaces/{workspace_id}/members for display metadata. */
3581
- user_id: string;
3582
- };
3583
- CreditLimitPage: {
3584
- /** @description Items in this page. */
3585
- data: components["schemas"]["MemberCreditLimit"][] | null;
3586
- /**
3587
- * Format: double
3588
- * @description Default monthly build-credit limit for members without an explicit per-member limit. Omitted when unset. An active higher temporary limit can override it.
3589
- */
3590
- default_monthly_credit_limit?: number;
3591
- /** @description Whether more results are available and the cursor to fetch the next page. */
3592
- pagination: components["schemas"]["Pagination"];
3593
- };
3594
3608
  BillingPeriod: {
3595
3609
  /**
3596
3610
  * Format: date-time
@@ -3737,7 +3751,7 @@ interface components {
3737
3751
  */
3738
3752
  user_id?: string;
3739
3753
  };
3740
- MemberCreditLimitUpdate: {
3754
+ V1BulkMemberCreditLimitItem: {
3741
3755
  /**
3742
3756
  * @description How long the limit applies. Omit for an ongoing limit. Temporary increases must exceed an existing effective limit and expire at the end of the current UTC calendar month. Temporary increases must be supported by the workspace.
3743
3757
  * @enum {string}
@@ -3757,7 +3771,7 @@ interface components {
3757
3771
  */
3758
3772
  user_id?: string;
3759
3773
  };
3760
- MemberCreditLimitResult: {
3774
+ V1BulkMemberCreditLimitResult: {
3761
3775
  /**
3762
3776
  * Format: date-time
3763
3777
  * @description When a current-period limit expires. Omitted for permanent updates.
@@ -3789,11 +3803,11 @@ interface components {
3789
3803
  };
3790
3804
  V1BulkSetMemberCreditLimitInputBody: {
3791
3805
  /** @description Per-member limits to apply (1-50 entries). Use the workspace default (PATCH /v1/settings) to cap everyone at once. */
3792
- members: components["schemas"]["MemberCreditLimitUpdate"][];
3806
+ members: components["schemas"]["V1BulkMemberCreditLimitItem"][];
3793
3807
  /** @description Workspace ID. */
3794
3808
  workspace_id: string;
3795
3809
  };
3796
- SetMemberCreditLimitsResponse: {
3810
+ V1BulkSetMemberCreditLimitOutputBody: {
3797
3811
  /**
3798
3812
  * Format: int64
3799
3813
  * @description Number that failed (see per-item error).
@@ -3801,7 +3815,7 @@ interface components {
3801
3815
  */
3802
3816
  failed: number;
3803
3817
  /** @description Per-member outcome, in request order. */
3804
- results: components["schemas"]["MemberCreditLimitResult"][] | null;
3818
+ results: components["schemas"]["V1BulkMemberCreditLimitResult"][] | null;
3805
3819
  /**
3806
3820
  * Format: int64
3807
3821
  * @description Number applied successfully.
@@ -3975,7 +3989,14 @@ interface components {
3975
3989
  */
3976
3990
  project_type?: "project" | "library";
3977
3991
  /**
3978
- * @description Who can access the published app. Separate from editor sharing. More values may be added; clients must tolerate unknown values.
3992
+ * @description Who can open the published app, using the same values as the visibility field on the publish routes. Omitted while the app is not published. More values may be added; clients must tolerate unknown values.
3993
+ * @example public
3994
+ * @enum {string}
3995
+ */
3996
+ publish_audience?: "public" | "workspace" | "custom";
3997
+ /**
3998
+ * @deprecated
3999
+ * @description Deprecated: use publish_audience. Stored app-access setting; private covers both the workspace and custom audiences. More values may be added; clients must tolerate unknown values.
3979
4000
  * @example public
3980
4001
  * @enum {string}
3981
4002
  */
@@ -3986,17 +4007,6 @@ interface components {
3986
4007
  * @enum {string}
3987
4008
  */
3988
4009
  status?: "in_progress" | "completed" | "failed";
3989
- /**
3990
- * @description Project tech stack.
3991
- * @example vite_react_shadcn_ts
3992
- */
3993
- tech_stack?: string;
3994
- /**
3995
- * Format: date-time
3996
- * @description When the project was last updated.
3997
- * @example 2026-01-15T09:30:00Z
3998
- */
3999
- updated_at?: string;
4000
4010
  /**
4001
4011
  * @description Published project URL.
4002
4012
  * @example https://acme-landing-page.lovable.app
@@ -4152,13 +4162,13 @@ interface components {
4152
4162
  /** @description Whether there are older edits available */
4153
4163
  has_more: boolean;
4154
4164
  };
4155
- SecurityScanDetail: {
4165
+ V1GetSecurityScanOutputBody: {
4156
4166
  /** @description Findings in this scan snapshot, including results reused from earlier scans and findings marked fixed or ignored. */
4157
- findings: components["schemas"]["SecurityFinding"][] | null;
4167
+ findings: components["schemas"]["V1SecurityFinding"][] | null;
4158
4168
  /** @description Status, initiator, and timing of the security scan. */
4159
- scan: components["schemas"]["SecurityScan"];
4169
+ scan: components["schemas"]["V1SecurityScanSummary"];
4160
4170
  /** @description Execution results for individual security checks. Results may be reused from an earlier scan. */
4161
- scanner_runs: components["schemas"]["SecurityScannerRun"][] | null;
4171
+ scanner_runs: components["schemas"]["V1SecurityScannerRun"][] | null;
4162
4172
  };
4163
4173
  V1GetWorkspaceSkillOutputBody: {
4164
4174
  skill: components["schemas"]["V1WorkspaceSkillDTO"];
@@ -4498,7 +4508,14 @@ interface components {
4498
4508
  */
4499
4509
  project_type?: "project" | "library";
4500
4510
  /**
4501
- * @description Who can access the published app. Separate from editor sharing. More values may be added; clients must tolerate unknown values.
4511
+ * @description Who can open the published app, using the same values as the visibility field on the publish routes. Omitted while the app is not published. More values may be added; clients must tolerate unknown values.
4512
+ * @example public
4513
+ * @enum {string}
4514
+ */
4515
+ publish_audience?: "public" | "workspace" | "custom";
4516
+ /**
4517
+ * @deprecated
4518
+ * @description Deprecated: use publish_audience. Stored app-access setting; private covers both the workspace and custom audiences. More values may be added; clients must tolerate unknown values.
4502
4519
  * @example public
4503
4520
  * @enum {string}
4504
4521
  */
@@ -4509,17 +4526,6 @@ interface components {
4509
4526
  * @enum {string}
4510
4527
  */
4511
4528
  status?: "in_progress" | "completed" | "failed";
4512
- /**
4513
- * @description Project tech stack.
4514
- * @example vite_react_shadcn_ts
4515
- */
4516
- tech_stack?: string;
4517
- /**
4518
- * Format: date-time
4519
- * @description When the project was last updated.
4520
- * @example 2026-01-15T09:30:00Z
4521
- */
4522
- updated_at?: string;
4523
4529
  /**
4524
4530
  * @description Published project URL.
4525
4531
  * @example https://acme-landing-page.lovable.app
@@ -4591,13 +4597,13 @@ interface components {
4591
4597
  /** @description Error details when the remix job fails */
4592
4598
  error_message?: string;
4593
4599
  /** @description Remix result (present when completed) */
4594
- result?: components["schemas"]["RemixResult"];
4600
+ result?: components["schemas"]["V1RemixProgressResult"];
4595
4601
  /** @description Job status: preparing, running, completed, or error */
4596
4602
  status: string;
4597
4603
  /** @description Current step details (present when running) */
4598
4604
  step?: components["schemas"]["RemixJobStepInfo"];
4599
4605
  };
4600
- RemixResult: {
4606
+ V1RemixProgressResult: {
4601
4607
  /** @description ID of the newly created project */
4602
4608
  project_id: string;
4603
4609
  /** @description Non-fatal issues encountered while creating the project */
@@ -4607,7 +4613,7 @@ interface components {
4607
4613
  /** @description Whether the connector was removed */
4608
4614
  success: boolean;
4609
4615
  };
4610
- SecurityFinding: {
4616
+ V1SecurityFinding: {
4611
4617
  /**
4612
4618
  * @description Finding category.
4613
4619
  * @example data_exposure
@@ -4688,7 +4694,7 @@ interface components {
4688
4694
  */
4689
4695
  updated_at: string;
4690
4696
  };
4691
- SecurityScanActor: {
4697
+ V1SecurityScanActor: {
4692
4698
  /** @description Email of the user actor, when resolvable. */
4693
4699
  email?: string;
4694
4700
  /** @description Lovable user ID when the actor is a user. */
@@ -4701,7 +4707,7 @@ interface components {
4701
4707
  */
4702
4708
  type: "user" | "system";
4703
4709
  };
4704
- SecurityScan: {
4710
+ V1SecurityScanSummary: {
4705
4711
  /**
4706
4712
  * @description Git commit SHA of the project when the scan started. Omitted when unavailable.
4707
4713
  * @example 9fceb02d0ae598e95dc970b74767f19372d61af8
@@ -4739,9 +4745,9 @@ interface components {
4739
4745
  */
4740
4746
  trigger_source: "workflow" | "user" | "ui_auto" | "aikido_import" | "manage_findings" | "app_mcp_deep_auto" | "hvt_scheduled" | "workspace_scheduled" | "enterprise_batch" | "gitsync_pull";
4741
4747
  /** @description Actor that triggered the scan. */
4742
- triggered_by: components["schemas"]["SecurityScanActor"];
4748
+ triggered_by: components["schemas"]["V1SecurityScanActor"];
4743
4749
  };
4744
- SecurityScannerRun: {
4750
+ V1SecurityScannerRun: {
4745
4751
  /**
4746
4752
  * @description Git commit SHA checked by this scanner. May be older than scan.commit_sha when results from an earlier scan are reused.
4747
4753
  * @example 9fceb02d0ae598e95dc970b74767f19372d61af8
@@ -4859,7 +4865,7 @@ interface components {
4859
4865
  /** @description Project ID */
4860
4866
  project_id: string;
4861
4867
  };
4862
- TriggerSecurityScanResponse: {
4868
+ V1TriggerSecurityScanResponseBody: {
4863
4869
  /**
4864
4870
  * @description Human-readable status message
4865
4871
  * @example Security scan started.
@@ -4919,14 +4925,6 @@ interface components {
4919
4925
  /** @description Workspace ID. */
4920
4926
  workspace_id: string;
4921
4927
  };
4922
- UpdateWorkspaceSettingsRequest: {
4923
- /**
4924
- * Format: double
4925
- * @description Default monthly build-credit limit for members without an explicit per-member limit. Send a nonnegative number of Lovable credits, or null to clear the default. Explicit member limits and active higher temporary limits still apply. This field is required for an update.
4926
- * @example 500
4927
- */
4928
- default_monthly_member_credit_limit?: number | null;
4929
- };
4930
4928
  V1UsagePeriod: {
4931
4929
  /** @description Inclusive end of the covered window (YYYY-MM-DD, UTC). */
4932
4930
  end: string;
@@ -5342,7 +5340,14 @@ interface components {
5342
5340
  /** @description Project owner's display name, when available. */
5343
5341
  owner?: components["schemas"]["WorkspaceInsightsOwner"];
5344
5342
  /**
5345
- * @description Who can access the published site. Separate from editor sharing. More values may be added; clients must tolerate unknown values.
5343
+ * @description Who can open the published site, using the same values as the visibility field on the publish routes. Omitted while the site is not published. More values may be added; clients must tolerate unknown values.
5344
+ * @example public
5345
+ * @enum {string}
5346
+ */
5347
+ publish_audience?: "public" | "workspace" | "custom";
5348
+ /**
5349
+ * @deprecated
5350
+ * @description Deprecated: use publish_audience. Stored app-access setting; private covers both the workspace and custom audiences. More values may be added; clients must tolerate unknown values.
5346
5351
  * @example public
5347
5352
  * @enum {string}
5348
5353
  */
@@ -6824,7 +6829,7 @@ interface operations {
6824
6829
  [name: string]: unknown;
6825
6830
  };
6826
6831
  content: {
6827
- "application/json": components["schemas"]["SetMemberCreditLimitsResponse"];
6832
+ "application/json": components["schemas"]["V1BulkSetMemberCreditLimitOutputBody"];
6828
6833
  };
6829
6834
  };
6830
6835
  /** @description Error */
@@ -7113,15 +7118,13 @@ interface operations {
7113
7118
  user_id?: string;
7114
7119
  /** @description Filter projects by editor-sharing scope. Omit to include every scope you can access. */
7115
7120
  visibility?: "personal" | "workspace" | "public" | "all";
7116
- /** @description Filter by publication state and audience. Audience-specific filters require an explicit app-access setting; projects without one remain in the broader publication-state results. Omit to include every state. */
7117
- publish_status?: "any" | "published" | "internal" | "external" | "not_published";
7121
+ /** @description Filter by publication state and audience. workspace matches published apps limited to workspace members or a selected audience; public matches apps anyone can open. Deprecated aliases: internal (use workspace), external (use public). Audience-specific filters require an explicit app-access setting; projects without one remain in the broader publication-state results. Omit to include every state. */
7122
+ publish_status?: "any" | "published" | "workspace" | "public" | "internal" | "external" | "not_published";
7118
7123
  /** @description Filter by folder ID */
7119
7124
  folder_id?: string;
7120
- /** @description Filter by multiple folder IDs (comma-separated, takes precedence over folder_id) */
7121
- folder_ids?: string;
7122
7125
  /** @description Filter by project type. Design-system libraries and reusable templates exclude personal drafts unless the sharing filter selects them. Omit to include every type. */
7123
7126
  type?: "" | "project" | "library" | "template" | "all";
7124
- /** @description Search project names, generated descriptions, and owner names or email addresses. Terms shorter than 3 characters are ignored. Use search_fields to restrict searching to project names. */
7127
+ /** @description Search project names, generated descriptions, and owner names or email addresses. Terms shorter than 3 characters are ignored. */
7125
7128
  query?: string;
7126
7129
  /** @description Maximum number of items to return per page. */
7127
7130
  limit?: number;
@@ -7129,8 +7132,6 @@ interface operations {
7129
7132
  cursor?: string;
7130
7133
  /** @description Only return projects viewed by the current user */
7131
7134
  viewed_by_me?: boolean;
7132
- /** @description Limit searching to project names. Omit to also search generated descriptions and owner names or email addresses. */
7133
- search_fields?: "" | "name";
7134
7135
  };
7135
7136
  header?: never;
7136
7137
  path?: never;
@@ -8176,39 +8177,6 @@ interface operations {
8176
8177
  };
8177
8178
  };
8178
8179
  };
8179
- triggerSecurityScan: {
8180
- parameters: {
8181
- query?: never;
8182
- header?: never;
8183
- path: {
8184
- /** @description Project ID */
8185
- project_id: string;
8186
- };
8187
- cookie?: never;
8188
- };
8189
- requestBody?: never;
8190
- responses: {
8191
- /** @description Scan request accepted. scan_id identifies the new scan, or the reused in-progress or completed scan (see status). Poll GET /v1/projects/{project_id}/security-scans/{scan_id} (the Location header) for results. */
8192
- 202: {
8193
- headers: {
8194
- Location?: string;
8195
- [name: string]: unknown;
8196
- };
8197
- content: {
8198
- "application/json": components["schemas"]["TriggerSecurityScanResponse"];
8199
- };
8200
- };
8201
- /** @description Error */
8202
- default: {
8203
- headers: {
8204
- [name: string]: unknown;
8205
- };
8206
- content: {
8207
- "application/problem+json": components["schemas"]["ErrorModel"];
8208
- };
8209
- };
8210
- };
8211
- };
8212
8180
  getSecurityScan: {
8213
8181
  parameters: {
8214
8182
  query?: never;
@@ -8390,7 +8358,7 @@ interface operations {
8390
8358
  };
8391
8359
  };
8392
8360
  };
8393
- getRemixJob: {
8361
+ "get-v1-remix-jobs-job_id": {
8394
8362
  parameters: {
8395
8363
  query?: never;
8396
8364
  header?: never;
@@ -8408,7 +8376,7 @@ interface operations {
8408
8376
  [name: string]: unknown;
8409
8377
  };
8410
8378
  content: {
8411
- "application/json": components["schemas"]["RemixJob"];
8379
+ "application/json": components["schemas"]["PublicV1RemixJobOutputBody"];
8412
8380
  };
8413
8381
  };
8414
8382
  /** @description Error */
@@ -8444,7 +8412,7 @@ interface operations {
8444
8412
  [name: string]: unknown;
8445
8413
  };
8446
8414
  content: {
8447
- "application/json": components["schemas"]["SecurityScanPage"];
8415
+ "application/json": components["schemas"]["CursorListResponseV1SecurityScanSummary"];
8448
8416
  };
8449
8417
  };
8450
8418
  /** @description Error */
@@ -8478,7 +8446,7 @@ interface operations {
8478
8446
  [name: string]: unknown;
8479
8447
  };
8480
8448
  content: {
8481
- "application/json": components["schemas"]["TriggerSecurityScanResponse"];
8449
+ "application/json": components["schemas"]["V1TriggerSecurityScanResponseBody"];
8482
8450
  };
8483
8451
  };
8484
8452
  /** @description Error */
@@ -8513,7 +8481,7 @@ interface operations {
8513
8481
  [name: string]: unknown;
8514
8482
  };
8515
8483
  content: {
8516
- "application/json": components["schemas"]["SecurityScanDetail"];
8484
+ "application/json": components["schemas"]["V1GetSecurityScanOutputBody"];
8517
8485
  };
8518
8486
  };
8519
8487
  /** @description Error */
@@ -9121,88 +9089,6 @@ interface operations {
9121
9089
  };
9122
9090
  };
9123
9091
  };
9124
- listCreditLimits: {
9125
- parameters: {
9126
- query?: {
9127
- /** @description Maximum number of items to return per page. */
9128
- limit?: number;
9129
- /** @description Pass pagination.next_cursor from the previous response to fetch the next page. Omit for the first page; keep the same filters and sort order across pages. */
9130
- cursor?: string;
9131
- };
9132
- header?: never;
9133
- path: {
9134
- /** @description Workspace ID */
9135
- workspace_id: string;
9136
- };
9137
- cookie?: never;
9138
- };
9139
- requestBody?: never;
9140
- responses: {
9141
- /** @description OK */
9142
- 200: {
9143
- headers: {
9144
- [name: string]: unknown;
9145
- };
9146
- content: {
9147
- "application/json": components["schemas"]["CreditLimitPage"];
9148
- };
9149
- };
9150
- /** @description Error */
9151
- default: {
9152
- headers: {
9153
- [name: string]: unknown;
9154
- };
9155
- content: {
9156
- "application/problem+json": components["schemas"]["ErrorModel"];
9157
- };
9158
- };
9159
- };
9160
- };
9161
- setCreditLimits: {
9162
- parameters: {
9163
- query?: never;
9164
- header?: never;
9165
- path: {
9166
- /** @description Workspace ID */
9167
- workspace_id: string;
9168
- };
9169
- cookie?: never;
9170
- };
9171
- requestBody: {
9172
- content: {
9173
- "application/json": components["schemas"]["SetMemberCreditLimitsRequest"];
9174
- };
9175
- };
9176
- responses: {
9177
- /** @description OK */
9178
- 200: {
9179
- headers: {
9180
- [name: string]: unknown;
9181
- };
9182
- content: {
9183
- "application/json": components["schemas"]["SetMemberCreditLimitsResponse"];
9184
- };
9185
- };
9186
- /** @description Every member failed; same per-member response body as 200 */
9187
- 422: {
9188
- headers: {
9189
- [name: string]: unknown;
9190
- };
9191
- content: {
9192
- "application/json": components["schemas"]["SetMemberCreditLimitsResponse"];
9193
- };
9194
- };
9195
- /** @description Error */
9196
- default: {
9197
- headers: {
9198
- [name: string]: unknown;
9199
- };
9200
- content: {
9201
- "application/problem+json": components["schemas"]["ErrorModel"];
9202
- };
9203
- };
9204
- };
9205
- };
9206
9092
  getCreditUsage: {
9207
9093
  parameters: {
9208
9094
  query: {
@@ -10022,8 +9908,8 @@ interface operations {
10022
9908
  contains_pii?: boolean;
10023
9909
  /** @description Set true to include only projects with a connected service. False or omitted applies no filter. */
10024
9910
  has_connectors?: boolean;
10025
- /** @description Filter by published site access. Restricted sites may also have selected external viewers. Repeat to match any selected status; omit for no filter. */
10026
- publish_status?: ("external" | "workspace" | "not_published")[] | null;
9911
+ /** @description Filter by published site access. workspace matches sites limited to workspace members or a selected audience; public matches sites anyone can open. Deprecated aliases: external (use public). Repeat to match any selected status; omit for no filter. */
9912
+ publish_status?: ("public" | "workspace" | "external" | "not_published")[] | null;
10027
9913
  /** @description Filter projects by Security Center review priority. Repeat to match any selected priority. Omit to include every project, including those not yet scored. */
10028
9914
  review_priority?: ("needs_review" | "review_recommended" | "no_review_needed")[] | null;
10029
9915
  /** @description Finding type IDs returned by GET /v1/workspaces/{workspace_id}/security-center/insights. Repeat to match any selected type. Unknown IDs return 400. Types requiring personal data detection are ignored when that feature is unavailable. */
@@ -10090,42 +9976,6 @@ interface operations {
10090
9976
  };
10091
9977
  };
10092
9978
  };
10093
- updateWorkspaceSettings: {
10094
- parameters: {
10095
- query?: never;
10096
- header?: never;
10097
- path: {
10098
- /** @description Workspace ID. */
10099
- workspace_id: string;
10100
- };
10101
- cookie?: never;
10102
- };
10103
- requestBody: {
10104
- content: {
10105
- "application/json": components["schemas"]["UpdateWorkspaceSettingsRequest"];
10106
- };
10107
- };
10108
- responses: {
10109
- /** @description OK */
10110
- 200: {
10111
- headers: {
10112
- [name: string]: unknown;
10113
- };
10114
- content: {
10115
- "application/json": components["schemas"]["WorkspaceSettings"];
10116
- };
10117
- };
10118
- /** @description Error */
10119
- default: {
10120
- headers: {
10121
- [name: string]: unknown;
10122
- };
10123
- content: {
10124
- "application/problem+json": components["schemas"]["ErrorModel"];
10125
- };
10126
- };
10127
- };
10128
- };
10129
9979
  "get-v1-workspaces-workspace_id-skills": {
10130
9980
  parameters: {
10131
9981
  query?: {
@@ -10574,6 +10424,7 @@ interface RemixResult {
10574
10424
  interface RemixWaitOptions {
10575
10425
  pollInterval?: number;
10576
10426
  timeout?: number;
10427
+ /** The optional step argument is retained for callback compatibility; the API no longer returns it. */
10577
10428
  onProgress?: (status: RemixJobStatus, step?: RemixJobStepInfo) => void;
10578
10429
  }
10579
10430
  interface MessageCompletionResult {
@@ -10619,10 +10470,8 @@ interface ListProjectsOptions {
10619
10470
  visibility?: ListProjectsQuery["visibility"];
10620
10471
  publish_status?: ListProjectsQuery["publish_status"];
10621
10472
  folder_id?: ListProjectsQuery["folder_id"];
10622
- folder_ids?: ListProjectsQuery["folder_ids"];
10623
10473
  user_id?: ListProjectsQuery["user_id"];
10624
10474
  type?: ListProjectsQuery["type"];
10625
- search_fields?: ListProjectsQuery["search_fields"];
10626
10475
  viewed_by_me?: ListProjectsQuery["viewed_by_me"];
10627
10476
  cursor?: ListProjectsQuery["cursor"];
10628
10477
  limit?: ListProjectsQuery["limit"];
@@ -10921,19 +10770,7 @@ declare class LovableClient {
10921
10770
  * @returns The remix job ID for polling progress
10922
10771
  */
10923
10772
  remixProject(sourceProjectId: string, options: RemixProjectOptions): Promise<string>;
10924
- /**
10925
- * Wait for a remix operation to complete.
10926
- *
10927
- * Polls the remix job endpoint until the job reaches "completed" or "error" status.
10928
- *
10929
- * @param sourceProjectId - The source project ID. Kept for backward compatibility; the public job endpoint is keyed by job ID.
10930
- * @param jobId - The job ID returned by `remixProject()`
10931
- * @param options.pollInterval - Time between polls in ms (default: 2000)
10932
- * @param options.timeout - Maximum time to wait in ms (default: 300000 = 5 minutes)
10933
- * @param options.onProgress - Optional callback for status/step updates
10934
- * @returns The new project ID
10935
- * @throws Error if the remix fails or timeout is reached
10936
- */
10773
+ /** sourceProjectId is retained for compatibility; the API looks up jobs by jobId. */
10937
10774
  waitForRemix(sourceProjectId: string, jobId: string, options?: RemixWaitOptions): Promise<RemixResult>;
10938
10775
  /**
10939
10776
  * Wait for a project to reach "completed" status.