@fusebase/fusebase-gate-sdk 2.2.20-sdk.0 → 2.2.20

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.
@@ -5,7 +5,7 @@
5
5
  * Domain: isolated-stores
6
6
  */
7
7
  import type { Client } from "../runtime/transport";
8
- import type { AdoptIsolatedStoreSqlMigrationBaselineRequestContract, AdoptIsolatedStoreSqlMigrationBaselineResponseContract, ApplyIsolatedStoreSqlMigrationsRequestContract, ApplyIsolatedStoreSqlMigrationsResponseContract, AttachIsolatedStoreSourceScopeRequestContract, AttachIsolatedStoreSourceScopeResponseContract, CreateIsolatedStoreCheckpointRequestContract, CreateIsolatedStoreCheckpointResponseContract, CreateIsolatedStoreRequestContract, CreateIsolatedStoreResponseContract, DeleteIsolatedStoreResponseContract, DeleteIsolatedStoreStageResponseContract, GetIsolatedStoreSqlMigrationStatusRequestContract, GetOrCreateIsolatedStoreRequestContract, GetOrCreateIsolatedStoreResponseContract, InitIsolatedStoreStageRequestContract, InitIsolatedStoreStageResponseContract, IsolatedStoreIdInPathRequired, IsolatedStoreListResponseContract, IsolatedStoreResponseContract, IsolatedStoreRevisionIdInPathRequired, IsolatedStoreRevisionListResponseContract, IsolatedStoreSqlBatchInsertRequestContract, IsolatedStoreSqlBatchInsertResponseContract, IsolatedStoreSqlCountRequestContract, IsolatedStoreSqlCountResponseContract, IsolatedStoreSqlDeleteRequestContract, IsolatedStoreSqlDeleteResponseContract, IsolatedStoreSqlDescribeTableResponseContract, IsolatedStoreSqlExecuteRequestContract, IsolatedStoreSqlExecuteResponseContract, IsolatedStoreSqlImportRequestContract, IsolatedStoreSqlImportResponseContract, IsolatedStoreSqlInsertRequestContract, IsolatedStoreSqlInsertResponseContract, IsolatedStoreSqlListTablesResponseContract, IsolatedStoreSqlMigrationStatusContract, IsolatedStoreSqlQueryRequestContract, IsolatedStoreSqlQueryResponseContract, IsolatedStoreSqlSchemaNameInQueryOptional, IsolatedStoreSqlSelectRequestContract, IsolatedStoreSqlSelectResponseContract, IsolatedStoreSqlStatsResponseContract, IsolatedStoreSqlTableNameInPathRequired, IsolatedStoreSqlUpdateRequestContract, IsolatedStoreSqlUpdateResponseContract, IsolatedStoreStageInPathRequired, IsolatedStoreStageListResponseContract, ListIsolatedStoresAliasLikeInQueryOptional, ListIsolatedStoresClientIdInQueryOptional, orgIdInPathRequired, RepairIsolatedStoreSqlMigrationJournalChecksumsRequestContract, RepairIsolatedStoreSqlMigrationJournalChecksumsResponseContract, RestoreIsolatedStoreRevisionResponseContract } from "../types";
8
+ import type { AdoptIsolatedStoreSqlMigrationBaselineRequestContract, AdoptIsolatedStoreSqlMigrationBaselineResponseContract, ApplyIsolatedStoreSqlMigrationsRequestContract, ApplyIsolatedStoreSqlMigrationsResponseContract, AttachIsolatedStoreSourceScopeRequestContract, AttachIsolatedStoreSourceScopeResponseContract, CreateIsolatedStoreCheckpointRequestContract, CreateIsolatedStoreCheckpointResponseContract, CreateIsolatedStoreRequestContract, CreateIsolatedStoreResponseContract, DeleteIsolatedStoreResponseContract, DeleteIsolatedStoreStageResponseContract, GetIsolatedStoreSqlMigrationStatusRequestContract, GetOrCreateIsolatedStoreRequestContract, GetOrCreateIsolatedStoreResponseContract, InitIsolatedStoreStageRequestContract, InitIsolatedStoreStageResponseContract, IsolatedStoreIdInPathRequired, IsolatedStoreListResponseContract, IsolatedStoreResponseContract, IsolatedStoreRevisionIdInPathRequired, IsolatedStoreRevisionListResponseContract, IsolatedStoreSqlBatchInsertRequestContract, IsolatedStoreSqlBatchInsertResponseContract, IsolatedStoreSqlCountRequestContract, IsolatedStoreSqlCountResponseContract, IsolatedStoreSqlDeleteRequestContract, IsolatedStoreSqlDeleteResponseContract, IsolatedStoreSqlDescribeTableResponseContract, IsolatedStoreSqlExecuteRequestContract, IsolatedStoreSqlExecuteResponseContract, IsolatedStoreSqlImportRequestContract, IsolatedStoreSqlImportResponseContract, IsolatedStoreSqlInsertRequestContract, IsolatedStoreSqlInsertResponseContract, IsolatedStoreSqlListTablesResponseContract, IsolatedStoreSqlMigrationStatusContract, IsolatedStoreSqlQueryRequestContract, IsolatedStoreSqlQueryResponseContract, IsolatedStoreSqlRlsStatusResponseContract, IsolatedStoreSqlSchemaNameInQueryOptional, IsolatedStoreSqlSelectRequestContract, IsolatedStoreSqlSelectResponseContract, IsolatedStoreSqlStatsResponseContract, IsolatedStoreSqlTableNameInPathRequired, IsolatedStoreSqlUpdateRequestContract, IsolatedStoreSqlUpdateResponseContract, IsolatedStoreStageInPathRequired, IsolatedStoreStageListResponseContract, ListIsolatedStoresAliasLikeInQueryOptional, ListIsolatedStoresClientIdInQueryOptional, orgIdInPathRequired, RepairIsolatedStoreSqlMigrationJournalChecksumsRequestContract, RepairIsolatedStoreSqlMigrationJournalChecksumsResponseContract, RestoreIsolatedStoreRevisionResponseContract } from "../types";
9
9
  export declare class IsolatedStoresApi {
10
10
  private client;
11
11
  constructor(client: Client);
@@ -199,6 +199,21 @@ export declare class IsolatedStoresApi {
199
199
  headers?: Record<string, string>;
200
200
  body: GetIsolatedStoreSqlMigrationStatusRequestContract;
201
201
  }): Promise<IsolatedStoreSqlMigrationStatusContract>;
202
+ /**
203
+ * Get SQL RLS status
204
+ * Returns read-only PostgreSQL row-level security introspection for the selected isolated store stage: table RLS flags, FORCE RLS flags, policies, columns, indexes, and table-level warnings. This is intended for Studio/support visibility; policy changes must still flow through app migrations.
205
+ */
206
+ getIsolatedStoreSqlRlsStatus(params: {
207
+ path: {
208
+ orgId: orgIdInPathRequired;
209
+ storeId: IsolatedStoreIdInPathRequired;
210
+ stage: IsolatedStoreStageInPathRequired;
211
+ };
212
+ query?: {
213
+ schemaName?: IsolatedStoreSqlSchemaNameInQueryOptional;
214
+ };
215
+ headers?: Record<string, string>;
216
+ }): Promise<IsolatedStoreSqlRlsStatusResponseContract>;
202
217
  /**
203
218
  * Get SQL stats
204
219
  * Returns table-level stats for the selected isolated postgres stage, including tables, columns, row counts, and relation-size hints.
@@ -232,6 +232,21 @@ class IsolatedStoresApi {
232
232
  expectedContentType: "application/json",
233
233
  });
234
234
  }
235
+ /**
236
+ * Get SQL RLS status
237
+ * Returns read-only PostgreSQL row-level security introspection for the selected isolated store stage: table RLS flags, FORCE RLS flags, policies, columns, indexes, and table-level warnings. This is intended for Studio/support visibility; policy changes must still flow through app migrations.
238
+ */
239
+ async getIsolatedStoreSqlRlsStatus(params) {
240
+ return this.client.request({
241
+ method: "GET",
242
+ path: "/:orgId/isolated-stores/:storeId/stages/:stage/sql/rls/status",
243
+ pathParams: params.path,
244
+ query: params.query,
245
+ headers: params.headers,
246
+ opId: "getIsolatedStoreSqlRlsStatus",
247
+ expectedContentType: "application/json",
248
+ });
249
+ }
235
250
  /**
236
251
  * Get SQL stats
237
252
  * Returns table-level stats for the selected isolated postgres stage, including tables, columns, row counts, and relation-size hints.
@@ -5,7 +5,7 @@
5
5
  * Domain: portals
6
6
  */
7
7
  import type { Client } from "../runtime/transport";
8
- import type { CreatePortalRequestContract, CreatePortalResponseContract, globalIdInPathRequired, orgIdInPathRequired, OrgPortalListResponseContract, PortalDetailContract } from "../types";
8
+ import type { CreatePortalRequestContract, CreatePortalResponseContract, DuplicatePortalRequestContract, globalIdInPathRequired, orgIdInPathRequired, OrgPortalListResponseContract, PortalDetailContract } from "../types";
9
9
  export declare class PortalsApi {
10
10
  private client;
11
11
  constructor(client: Client);
@@ -20,6 +20,18 @@ export declare class PortalsApi {
20
20
  headers?: Record<string, string>;
21
21
  body: CreatePortalRequestContract;
22
22
  }): Promise<CreatePortalResponseContract>;
23
+ /**
24
+ * Duplicate an existing portal
25
+ * Creates a new portal as a full copy of an existing portal: settings, theme, menu structure, pages, and content blocks are all copied. Returns portal details. Status is 'ready' immediately for P_SUB domains; 'pending' for custom/CNAME domains or if content copy is still in progress. Requires org.write access.
26
+ */
27
+ duplicatePortal(params: {
28
+ path: {
29
+ orgId: orgIdInPathRequired;
30
+ portalId: globalIdInPathRequired;
31
+ };
32
+ headers?: Record<string, string>;
33
+ body: DuplicatePortalRequestContract;
34
+ }): Promise<CreatePortalResponseContract>;
23
35
  /**
24
36
  * Get portal details
25
37
  * Returns detailed information for a single portal by ID. Requires org.read access.
@@ -26,6 +26,21 @@ class PortalsApi {
26
26
  expectedContentType: "application/json",
27
27
  });
28
28
  }
29
+ /**
30
+ * Duplicate an existing portal
31
+ * Creates a new portal as a full copy of an existing portal: settings, theme, menu structure, pages, and content blocks are all copied. Returns portal details. Status is 'ready' immediately for P_SUB domains; 'pending' for custom/CNAME domains or if content copy is still in progress. Requires org.write access.
32
+ */
33
+ async duplicatePortal(params) {
34
+ return this.client.request({
35
+ method: "POST",
36
+ path: "/:orgId/portals/:portalId/duplicate",
37
+ pathParams: params.path,
38
+ headers: params.headers,
39
+ body: params.body,
40
+ opId: "duplicatePortal",
41
+ expectedContentType: "application/json",
42
+ });
43
+ }
29
44
  /**
30
45
  * Get portal details
31
46
  * Returns detailed information for a single portal by ID. Requires org.read access.
@@ -17,7 +17,7 @@ export type { MeAuthContract, MeOrgGroupContract, MeResponseContract, MeScopeCon
17
17
  export * from "./note/note";
18
18
  export * from "./org-group/org-group";
19
19
  export type { OrgInviteContract, OrgMagicLinkContract, OrgPortalContract, OrgPortalListResponseContract, OrgUserAddRequestContract, OrgUserAddResponseContract, OrgUserContract, OrgUserListResponseContract, OrgWorkspaceContract, OrgWorkspaceInviteContract, OrgWorkspaceListResponseContract, OrgWorkspaceMemberContract } from "./org-user/org-user";
20
- export type { CreatePortalRequestContract, CreatePortalResponseContract, PortalDetailContract, globalIdInPathRequired } from "./portals/portals";
20
+ export type { CreatePortalRequestContract, CreatePortalResponseContract, DuplicatePortalRequestContract, PortalDetailContract, globalIdInPathRequired } from "./portals/portals";
21
21
  export * from "./shared/common";
22
22
  export * from "./shared/enums";
23
23
  export type { GetHealth200ResponseContract } from "./shared/health";
@@ -107,6 +107,76 @@ export interface IsolatedStoreSqlStatsResponseContract {
107
107
  totalBytes?: number | null;
108
108
  tables: IsolatedStoreSqlTableStatsContract[];
109
109
  }
110
+ export type IsolatedStoreSqlRlsWarningCodeContract = "rls_not_enabled" | "rls_not_forced" | "rls_enabled_without_policies";
111
+ export interface IsolatedStoreSqlRlsWarningContract {
112
+ code: IsolatedStoreSqlRlsWarningCodeContract;
113
+ message: string;
114
+ }
115
+ export interface IsolatedStoreSqlRlsPolicyContract {
116
+ policyName: string;
117
+ command: string;
118
+ roles: string[];
119
+ usingExpression?: string | null;
120
+ withCheckExpression?: string | null;
121
+ }
122
+ export interface IsolatedStoreSqlRlsIndexContract {
123
+ indexName: string;
124
+ isUnique: boolean;
125
+ columnNames: string[];
126
+ indexDefinition: string;
127
+ }
128
+ export interface IsolatedStoreSqlRlsTableStatusContract {
129
+ schemaName: string;
130
+ tableName: string;
131
+ tableType: string;
132
+ rlsEnabled: boolean;
133
+ rlsForced: boolean;
134
+ columns: IsolatedStoreSqlColumnContract[];
135
+ indexes: IsolatedStoreSqlRlsIndexContract[];
136
+ policies: IsolatedStoreSqlRlsPolicyContract[];
137
+ warnings: IsolatedStoreSqlRlsWarningContract[];
138
+ }
139
+ export interface IsolatedStoreSqlRlsStatusResponseContract {
140
+ databaseName: string;
141
+ schemaName: string;
142
+ tableCount: number;
143
+ rlsEnabledCount: number;
144
+ rlsForcedCount: number;
145
+ tables: IsolatedStoreSqlRlsTableStatusContract[];
146
+ }
147
+ export type IsolatedStoreSqlRlsTableClassificationContract = "tenant" | "user" | "owner_collaborator" | "scoped" | "none" | "technical";
148
+ export interface IsolatedStoreSqlRlsScopeManifestContract {
149
+ name: string;
150
+ column: string;
151
+ setting?: string | null;
152
+ }
153
+ export interface IsolatedStoreSqlRlsTableManifestContract {
154
+ classification: IsolatedStoreSqlRlsTableClassificationContract;
155
+ schemaName?: string | null;
156
+ orgColumn?: string | null;
157
+ userColumn?: string | null;
158
+ ownerColumn?: string | null;
159
+ collaboratorTable?: string | null;
160
+ scopes?: IsolatedStoreSqlRlsScopeManifestContract[] | null;
161
+ reason?: string | null;
162
+ }
163
+ export interface IsolatedStoreSqlRlsManifestContract {
164
+ tables: Record<string, IsolatedStoreSqlRlsTableManifestContract>;
165
+ }
166
+ export type IsolatedStoreSqlRlsValidationWarningCodeContract = "rls_manifest_table_missing" | "rls_manifest_column_missing" | "rls_manifest_index_missing" | "rls_manifest_policy_missing" | "rls_manifest_rls_not_enabled" | "rls_manifest_rls_not_forced" | "rls_manifest_exemption_reason_missing" | "rls_manifest_collaborator_table_missing";
167
+ export interface IsolatedStoreSqlRlsValidationWarningContract {
168
+ code: IsolatedStoreSqlRlsValidationWarningCodeContract;
169
+ message: string;
170
+ tableName: string;
171
+ schemaName?: string | null;
172
+ columnName?: string | null;
173
+ }
174
+ export interface IsolatedStoreSqlRlsValidationResultContract {
175
+ mode: "warn";
176
+ tableCount: number;
177
+ warningCount: number;
178
+ warnings: IsolatedStoreSqlRlsValidationWarningContract[];
179
+ }
110
180
  export interface IsolatedStoreSqlMigrationBundleEntryContract {
111
181
  version: number;
112
182
  name: string;
@@ -173,10 +243,12 @@ export interface IsolatedStoreSqlMigrationStatusContract {
173
243
  structuredIssues: IsolatedStoreSqlMigrationIssueContract[];
174
244
  appliedMigrations: IsolatedStoreSqlAppliedMigrationContract[];
175
245
  pendingMigrations: IsolatedStoreSqlMigrationBundleEntryContract[];
246
+ rlsValidation?: IsolatedStoreSqlRlsValidationResultContract | null;
176
247
  }
177
248
  export interface GetIsolatedStoreSqlMigrationStatusRequestContract {
178
249
  schemaName?: IsolatedStoreSqlSchemaNameInQueryOptional;
179
250
  bundle: IsolatedStoreSqlMigrationBundleContract;
251
+ rlsManifest?: IsolatedStoreSqlRlsManifestContract | null;
180
252
  /** Same optimistic-lock semantics as `applyIsolatedStoreSqlMigrations`; HTTP 409 when the journal tail disagrees. */
181
253
  expectedLastAppliedVersion?: number | null;
182
254
  expectedLastAppliedChecksum?: string | null;
@@ -189,6 +261,8 @@ export interface ApplyIsolatedStoreSqlMigrationsRequestContract {
189
261
  * expected-head validation) but does not execute SQL or write the journal.
190
262
  */
191
263
  dryRun?: boolean | null;
264
+ /** Optional warn-only RLS manifest validation for current/post-apply database state. */
265
+ rlsManifest?: IsolatedStoreSqlRlsManifestContract | null;
192
266
  /**
193
267
  * Optimistic lock: last applied migration version on the server must match.
194
268
  * Omit to skip. Use `null` to require an empty journal (no rows applied).
@@ -211,6 +285,7 @@ export interface ApplyIsolatedStoreSqlMigrationsResponseContract {
211
285
  export interface AdoptIsolatedStoreSqlMigrationBaselineRequestContract {
212
286
  schemaName?: IsolatedStoreSqlSchemaNameInQueryOptional;
213
287
  bundle: IsolatedStoreSqlMigrationBundleContract;
288
+ rlsManifest?: IsolatedStoreSqlRlsManifestContract | null;
214
289
  /** Validate eligibility and return the projected post-adoption status without writing the journal. */
215
290
  dryRun?: boolean | null;
216
291
  }
@@ -255,6 +330,7 @@ export interface IsolatedStoreSqlDescribeTableResponseContract {
255
330
  export interface IsolatedStoreSqlQueryRequestContract {
256
331
  sql: string;
257
332
  params?: unknown[] | null;
333
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
258
334
  }
259
335
  export interface IsolatedStoreSqlQueryResultContract {
260
336
  command: string;
@@ -268,7 +344,10 @@ export interface IsolatedStoreSqlQueryResponseContract {
268
344
  export interface IsolatedStoreSqlExecuteRequestContract {
269
345
  sql: string;
270
346
  params?: unknown[] | null;
347
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
271
348
  }
349
+ export type IsolatedStoreSqlRlsContextValueContract = string | number | boolean | null;
350
+ export type IsolatedStoreSqlRlsContextContract = Record<string, IsolatedStoreSqlRlsContextValueContract>;
272
351
  export interface IsolatedStoreSqlExecuteResponseContract {
273
352
  result: IsolatedStoreSqlQueryResultContract;
274
353
  }
@@ -287,6 +366,7 @@ export interface IsolatedStoreSqlCountRequestContract {
287
366
  schemaName?: IsolatedStoreSqlSchemaNameInQueryOptional;
288
367
  tableName: string;
289
368
  filters?: IsolatedStoreSqlFilterContract[] | null;
369
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
290
370
  }
291
371
  export interface IsolatedStoreSqlCountResponseContract {
292
372
  count: number;
@@ -299,6 +379,7 @@ export interface IsolatedStoreSqlSelectRequestContract {
299
379
  sort?: IsolatedStoreSqlSortContract[] | null;
300
380
  limit?: number | null;
301
381
  offset?: number | null;
382
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
302
383
  }
303
384
  export interface IsolatedStoreSqlSelectResponseContract {
304
385
  columns: string[];
@@ -314,6 +395,7 @@ export interface IsolatedStoreSqlInsertRequestContract {
314
395
  tableName: string;
315
396
  values: Record<string, unknown>;
316
397
  returning?: string[] | null;
398
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
317
399
  }
318
400
  export interface IsolatedStoreSqlInsertResponseContract {
319
401
  rowCount: number;
@@ -324,6 +406,7 @@ export interface IsolatedStoreSqlBatchInsertRequestContract {
324
406
  tableName: string;
325
407
  rows: Record<string, unknown>[];
326
408
  returning?: string[] | null;
409
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
327
410
  }
328
411
  export interface IsolatedStoreSqlBatchInsertResponseContract {
329
412
  rowCount: number;
@@ -338,6 +421,7 @@ export interface IsolatedStoreSqlImportRequestContract {
338
421
  columns?: string[] | null;
339
422
  hasHeader?: boolean | null;
340
423
  nullString?: string | null;
424
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
341
425
  }
342
426
  export interface IsolatedStoreSqlImportResponseContract {
343
427
  imported: true;
@@ -352,6 +436,7 @@ export interface IsolatedStoreSqlUpdateRequestContract {
352
436
  filters?: IsolatedStoreSqlFilterContract[] | null;
353
437
  allowAll?: boolean | null;
354
438
  returning?: string[] | null;
439
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
355
440
  }
356
441
  export interface IsolatedStoreSqlUpdateResponseContract {
357
442
  rowCount: number;
@@ -362,6 +447,7 @@ export interface IsolatedStoreSqlDeleteRequestContract {
362
447
  tableName: string;
363
448
  filters?: IsolatedStoreSqlFilterContract[] | null;
364
449
  allowAll?: boolean | null;
450
+ rlsContext?: IsolatedStoreSqlRlsContextContract | null;
365
451
  }
366
452
  export interface IsolatedStoreSqlDeleteResponseContract {
367
453
  rowCount: number;
@@ -487,6 +573,29 @@ export declare const IsolatedStoreScopeTypeContract: {
487
573
  readonly ParentRow: "parent_row";
488
574
  readonly ParentTable: "parent_table";
489
575
  };
576
+ export declare const IsolatedStoreSqlRlsWarningCodeContract: {
577
+ readonly RlsNotEnabled: "rls_not_enabled";
578
+ readonly RlsNotForced: "rls_not_forced";
579
+ readonly RlsEnabledWithoutPolicies: "rls_enabled_without_policies";
580
+ };
581
+ export declare const IsolatedStoreSqlRlsTableClassificationContract: {
582
+ readonly Tenant: "tenant";
583
+ readonly User: "user";
584
+ readonly OwnerCollaborator: "owner_collaborator";
585
+ readonly Scoped: "scoped";
586
+ readonly None: "none";
587
+ readonly Technical: "technical";
588
+ };
589
+ export declare const IsolatedStoreSqlRlsValidationWarningCodeContract: {
590
+ readonly RlsManifestTableMissing: "rls_manifest_table_missing";
591
+ readonly RlsManifestColumnMissing: "rls_manifest_column_missing";
592
+ readonly RlsManifestIndexMissing: "rls_manifest_index_missing";
593
+ readonly RlsManifestPolicyMissing: "rls_manifest_policy_missing";
594
+ readonly RlsManifestRlsNotEnabled: "rls_manifest_rls_not_enabled";
595
+ readonly RlsManifestRlsNotForced: "rls_manifest_rls_not_forced";
596
+ readonly RlsManifestExemptionReasonMissing: "rls_manifest_exemption_reason_missing";
597
+ readonly RlsManifestCollaboratorTableMissing: "rls_manifest_collaborator_table_missing";
598
+ };
490
599
  export declare const IsolatedStoreSqlMigrationIssueCodeContract: {
491
600
  readonly IsolatedSqlJournalLongerThanBundle: "isolated_sql_journal_longer_than_bundle";
492
601
  readonly IsolatedSqlVersionMismatch: "isolated_sql_version_mismatch";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IsolatedStoreSqlImportFormatContract = exports.IsolatedStoreSqlSortDirectionContract = exports.IsolatedStoreSqlFilterOperatorContract = exports.IsolatedStoreSqlMigrationIssueFieldContract = exports.IsolatedStoreSqlMigrationIssueCodeContract = exports.IsolatedStoreScopeTypeContract = exports.IsolatedStoreRevisionKindContract = exports.IsolatedStoreStageStatusContract = exports.IsolatedStoreStatusContract = exports.IsolatedStoreEngineContract = exports.IsolatedStoreTypeContract = void 0;
3
+ exports.IsolatedStoreSqlImportFormatContract = exports.IsolatedStoreSqlSortDirectionContract = exports.IsolatedStoreSqlFilterOperatorContract = exports.IsolatedStoreSqlMigrationIssueFieldContract = exports.IsolatedStoreSqlMigrationIssueCodeContract = exports.IsolatedStoreSqlRlsValidationWarningCodeContract = exports.IsolatedStoreSqlRlsTableClassificationContract = exports.IsolatedStoreSqlRlsWarningCodeContract = exports.IsolatedStoreScopeTypeContract = exports.IsolatedStoreRevisionKindContract = exports.IsolatedStoreStageStatusContract = exports.IsolatedStoreStatusContract = exports.IsolatedStoreEngineContract = exports.IsolatedStoreTypeContract = void 0;
4
4
  exports.IsolatedStoreTypeContract = {
5
5
  Sql: "sql"
6
6
  };
@@ -32,6 +32,29 @@ exports.IsolatedStoreScopeTypeContract = {
32
32
  ParentRow: "parent_row",
33
33
  ParentTable: "parent_table"
34
34
  };
35
+ exports.IsolatedStoreSqlRlsWarningCodeContract = {
36
+ RlsNotEnabled: "rls_not_enabled",
37
+ RlsNotForced: "rls_not_forced",
38
+ RlsEnabledWithoutPolicies: "rls_enabled_without_policies"
39
+ };
40
+ exports.IsolatedStoreSqlRlsTableClassificationContract = {
41
+ Tenant: "tenant",
42
+ User: "user",
43
+ OwnerCollaborator: "owner_collaborator",
44
+ Scoped: "scoped",
45
+ None: "none",
46
+ Technical: "technical"
47
+ };
48
+ exports.IsolatedStoreSqlRlsValidationWarningCodeContract = {
49
+ RlsManifestTableMissing: "rls_manifest_table_missing",
50
+ RlsManifestColumnMissing: "rls_manifest_column_missing",
51
+ RlsManifestIndexMissing: "rls_manifest_index_missing",
52
+ RlsManifestPolicyMissing: "rls_manifest_policy_missing",
53
+ RlsManifestRlsNotEnabled: "rls_manifest_rls_not_enabled",
54
+ RlsManifestRlsNotForced: "rls_manifest_rls_not_forced",
55
+ RlsManifestExemptionReasonMissing: "rls_manifest_exemption_reason_missing",
56
+ RlsManifestCollaboratorTableMissing: "rls_manifest_collaborator_table_missing"
57
+ };
35
58
  exports.IsolatedStoreSqlMigrationIssueCodeContract = {
36
59
  IsolatedSqlJournalLongerThanBundle: "isolated_sql_journal_longer_than_bundle",
37
60
  IsolatedSqlVersionMismatch: "isolated_sql_version_mismatch",
@@ -1,5 +1,10 @@
1
1
  export type globalIdInPathRequired = string;
2
2
  export type PortalThemeKey = "light_purple" | "soft_light" | "quite_green" | "space_gray" | "carbon" | "oxford" | "ultramarine" | "milky_blue" | "shades_of_green" | "savvy_red" | "light_orange" | "light_blue" | "lemon_drop";
3
+ export interface DuplicatePortalRequestContract {
4
+ workspaceId: string;
5
+ domain: string;
6
+ name?: string;
7
+ }
3
8
  export interface CreatePortalRequestContract {
4
9
  workspaceId: string;
5
10
  domain: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusebase/fusebase-gate-sdk",
3
- "version": "2.2.20-sdk.0",
3
+ "version": "2.2.20",
4
4
  "description": "TypeScript SDK for Fusebase Gate APIs - Generated from contract introspection",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,8 +1,8 @@
1
- # Release Notes 2.2.20-sdk.0
1
+ # Release Notes 2.2.20-sdk.1
2
2
 
3
3
  - Current ref: `HEAD`
4
4
  - Previous tag: `v2.2.20-sdk.0`
5
- - Generated at: 2026-05-28T11:23:51.209Z
5
+ - Generated at: 2026-05-28T11:34:57.559Z
6
6
 
7
7
  ## Included Drafts
8
8
 
@@ -0,0 +1,9 @@
1
+ # Release Notes 2.2.20
2
+
3
+ - Current ref: `HEAD`
4
+ - Previous tag: `v2.2.20`
5
+ - Generated at: 2026-05-29T10:27:56.065Z
6
+
7
+ ## Included Drafts
8
+
9
+ - None
@@ -1,8 +1,8 @@
1
- # Release Notes 2.2.20-sdk.0
1
+ # Release Notes 2.2.20
2
2
 
3
3
  - Current ref: `HEAD`
4
- - Previous tag: `v2.2.20-sdk.0`
5
- - Generated at: 2026-05-28T11:23:51.209Z
4
+ - Previous tag: `v2.2.20`
5
+ - Generated at: 2026-05-29T10:27:56.065Z
6
6
 
7
7
  ## Included Drafts
8
8