@xata.io/client 0.0.0-alpha.vf3081bb → 0.0.0-alpha.vf38b6da

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
@@ -6,6 +6,9 @@ declare type FetchImpl = (url: string, init?: {
6
6
  ok: boolean;
7
7
  status: number;
8
8
  json(): Promise<any>;
9
+ headers?: {
10
+ get(name: string): string | null;
11
+ };
9
12
  }>;
10
13
  declare type WorkspaceApiUrlBuilder = (path: string, pathParams: Record<string, string>) => string;
11
14
  declare type FetcherExtraProps = {
@@ -20,7 +23,6 @@ declare type ErrorWrapper<TError> = TError | {
20
23
  };
21
24
 
22
25
  interface CacheImpl {
23
- cacheRecords: boolean;
24
26
  defaultQueryTTL: number;
25
27
  getAll(): Promise<Record<string, unknown>>;
26
28
  get: <T>(key: string) => Promise<T | null>;
@@ -30,13 +32,11 @@ interface CacheImpl {
30
32
  }
31
33
  interface SimpleCacheOptions {
32
34
  max?: number;
33
- cacheRecords?: boolean;
34
35
  defaultQueryTTL?: number;
35
36
  }
36
37
  declare class SimpleCache implements CacheImpl {
37
38
  #private;
38
39
  capacity: number;
39
- cacheRecords: boolean;
40
40
  defaultQueryTTL: number;
41
41
  constructor(options?: SimpleCacheOptions);
42
42
  getAll(): Promise<Record<string, unknown>>;
@@ -122,16 +122,20 @@ declare type WorkspaceMembers = {
122
122
  * @pattern ^ik_[a-zA-Z0-9]+
123
123
  */
124
124
  declare type InviteKey = string;
125
+ /**
126
+ * Metadata of databases
127
+ */
128
+ declare type DatabaseMetadata = {
129
+ name: string;
130
+ displayName: string;
131
+ createdAt: DateTime;
132
+ numberOfBranches: number;
133
+ ui?: {
134
+ color?: string;
135
+ };
136
+ };
125
137
  declare type ListDatabasesResponse = {
126
- databases?: {
127
- name: string;
128
- displayName: string;
129
- createdAt: DateTime;
130
- numberOfBranches: number;
131
- ui?: {
132
- color?: string;
133
- };
134
- }[];
138
+ databases?: DatabaseMetadata[];
135
139
  };
136
140
  declare type ListBranchesResponse = {
137
141
  databaseName: string;
@@ -279,6 +283,10 @@ declare type SortOrder = 'asc' | 'desc';
279
283
  * @minimum 0
280
284
  */
281
285
  declare type FuzzinessExpression = number;
286
+ /**
287
+ * If the prefix type is set to "disabled" (the default), the search only matches full words. If the prefix type is set to "phrase", the search will return results that match prefixes of the search phrase.
288
+ */
289
+ declare type PrefixExpression = 'phrase' | 'disabled';
282
290
  /**
283
291
  * @minProperties 1
284
292
  */
@@ -296,6 +304,44 @@ declare type HighlightExpression = {
296
304
  enabled?: boolean;
297
305
  encodeHTML?: boolean;
298
306
  };
307
+ /**
308
+ * Booster Expression
309
+ *
310
+ * @x-go-type xata.BoosterExpression
311
+ */
312
+ declare type BoosterExpression = {
313
+ valueBooster?: ValueBooster$1;
314
+ } | {
315
+ numericBooster?: NumericBooster$1;
316
+ } | {
317
+ dateBooster?: DateBooster$1;
318
+ };
319
+ /**
320
+ * Boost records with a particular value for a column.
321
+ */
322
+ declare type ValueBooster$1 = {
323
+ column: string;
324
+ value: string | number | boolean;
325
+ factor: number;
326
+ };
327
+ /**
328
+ * Boost records based on the value of a numeric column.
329
+ */
330
+ declare type NumericBooster$1 = {
331
+ column: string;
332
+ factor: number;
333
+ };
334
+ /**
335
+ * Boost records based on the value of a datetime column. It is configured via "origin", "scale", and "decay". The further away from the "origin",
336
+ * the more the score is decayed. The decay function uses an exponential function. For example if origin is "now", and scale is 10 days and decay is 0.5, it
337
+ * should be interpreted as: a record with a date 10 days before/after origin will score 2 times less than a record with the date at origin.
338
+ */
339
+ declare type DateBooster$1 = {
340
+ column: string;
341
+ origin?: string;
342
+ scale: string;
343
+ decay: number;
344
+ };
299
345
  declare type FilterList = FilterExpression | FilterExpression[];
300
346
  declare type FilterColumn = FilterColumnIncludes | FilterPredicate | FilterList;
301
347
  /**
@@ -352,7 +398,24 @@ declare type PageConfig = {
352
398
  size?: number;
353
399
  offset?: number;
354
400
  };
355
- declare type ColumnsFilter = string[];
401
+ declare type ColumnsProjection = string[];
402
+ /**
403
+ * Xata Table Record Metadata
404
+ */
405
+ declare type RecordMeta = {
406
+ id: RecordID;
407
+ xata: {
408
+ version: number;
409
+ table?: string;
410
+ highlight?: {
411
+ [key: string]: string[] | {
412
+ [key: string]: any;
413
+ };
414
+ };
415
+ score?: number;
416
+ warnings?: string[];
417
+ };
418
+ };
356
419
  /**
357
420
  * @pattern [a-zA-Z0-9_-~:]+
358
421
  */
@@ -374,21 +437,9 @@ declare type RecordsMetadata = {
374
437
  };
375
438
  };
376
439
  /**
377
- * Xata Table Record
440
+ * Xata Table Record Metadata
378
441
  */
379
- declare type XataRecord$1 = {
380
- id: RecordID;
381
- xata: {
382
- version: number;
383
- table?: string;
384
- highlight?: {
385
- [key: string]: string[] | {
386
- [key: string]: any;
387
- };
388
- };
389
- warnings?: string[];
390
- };
391
- } & {
442
+ declare type XataRecord$1 = RecordMeta & {
392
443
  [key: string]: any;
393
444
  };
394
445
 
@@ -406,6 +457,7 @@ type schemas_InviteID = InviteID;
406
457
  type schemas_WorkspaceInvite = WorkspaceInvite;
407
458
  type schemas_WorkspaceMembers = WorkspaceMembers;
408
459
  type schemas_InviteKey = InviteKey;
460
+ type schemas_DatabaseMetadata = DatabaseMetadata;
409
461
  type schemas_ListDatabasesResponse = ListDatabasesResponse;
410
462
  type schemas_ListBranchesResponse = ListBranchesResponse;
411
463
  type schemas_ListGitBranchesResponse = ListGitBranchesResponse;
@@ -430,8 +482,10 @@ type schemas_ColumnMigration = ColumnMigration;
430
482
  type schemas_SortExpression = SortExpression;
431
483
  type schemas_SortOrder = SortOrder;
432
484
  type schemas_FuzzinessExpression = FuzzinessExpression;
485
+ type schemas_PrefixExpression = PrefixExpression;
433
486
  type schemas_FilterExpression = FilterExpression;
434
487
  type schemas_HighlightExpression = HighlightExpression;
488
+ type schemas_BoosterExpression = BoosterExpression;
435
489
  type schemas_FilterList = FilterList;
436
490
  type schemas_FilterColumn = FilterColumn;
437
491
  type schemas_FilterColumnIncludes = FilterColumnIncludes;
@@ -441,7 +495,8 @@ type schemas_FilterPredicateRangeOp = FilterPredicateRangeOp;
441
495
  type schemas_FilterRangeValue = FilterRangeValue;
442
496
  type schemas_FilterValue = FilterValue;
443
497
  type schemas_PageConfig = PageConfig;
444
- type schemas_ColumnsFilter = ColumnsFilter;
498
+ type schemas_ColumnsProjection = ColumnsProjection;
499
+ type schemas_RecordMeta = RecordMeta;
445
500
  type schemas_RecordID = RecordID;
446
501
  type schemas_TableRename = TableRename;
447
502
  type schemas_RecordsMetadata = RecordsMetadata;
@@ -461,6 +516,7 @@ declare namespace schemas {
461
516
  schemas_WorkspaceInvite as WorkspaceInvite,
462
517
  schemas_WorkspaceMembers as WorkspaceMembers,
463
518
  schemas_InviteKey as InviteKey,
519
+ schemas_DatabaseMetadata as DatabaseMetadata,
464
520
  schemas_ListDatabasesResponse as ListDatabasesResponse,
465
521
  schemas_ListBranchesResponse as ListBranchesResponse,
466
522
  schemas_ListGitBranchesResponse as ListGitBranchesResponse,
@@ -485,8 +541,13 @@ declare namespace schemas {
485
541
  schemas_SortExpression as SortExpression,
486
542
  schemas_SortOrder as SortOrder,
487
543
  schemas_FuzzinessExpression as FuzzinessExpression,
544
+ schemas_PrefixExpression as PrefixExpression,
488
545
  schemas_FilterExpression as FilterExpression,
489
546
  schemas_HighlightExpression as HighlightExpression,
547
+ schemas_BoosterExpression as BoosterExpression,
548
+ ValueBooster$1 as ValueBooster,
549
+ NumericBooster$1 as NumericBooster,
550
+ DateBooster$1 as DateBooster,
490
551
  schemas_FilterList as FilterList,
491
552
  schemas_FilterColumn as FilterColumn,
492
553
  schemas_FilterColumnIncludes as FilterColumnIncludes,
@@ -496,7 +557,8 @@ declare namespace schemas {
496
557
  schemas_FilterRangeValue as FilterRangeValue,
497
558
  schemas_FilterValue as FilterValue,
498
559
  schemas_PageConfig as PageConfig,
499
- schemas_ColumnsFilter as ColumnsFilter,
560
+ schemas_ColumnsProjection as ColumnsProjection,
561
+ schemas_RecordMeta as RecordMeta,
500
562
  schemas_RecordID as RecordID,
501
563
  schemas_TableRename as TableRename,
502
564
  schemas_RecordsMetadata as RecordsMetadata,
@@ -531,11 +593,17 @@ declare type BulkError = {
531
593
  status?: number;
532
594
  }[];
533
595
  };
596
+ declare type BulkInsertResponse = {
597
+ recordIDs: string[];
598
+ } | {
599
+ records: XataRecord$1[];
600
+ };
534
601
  declare type BranchMigrationPlan = {
535
602
  version: number;
536
603
  migration: BranchMigration;
537
604
  };
538
- declare type RecordUpdateResponse = {
605
+ declare type RecordResponse = XataRecord$1;
606
+ declare type RecordUpdateResponse = XataRecord$1 | {
539
607
  id: string;
540
608
  xata: {
541
609
  version: number;
@@ -559,7 +627,9 @@ type responses_SimpleError = SimpleError;
559
627
  type responses_BadRequestError = BadRequestError;
560
628
  type responses_AuthError = AuthError;
561
629
  type responses_BulkError = BulkError;
630
+ type responses_BulkInsertResponse = BulkInsertResponse;
562
631
  type responses_BranchMigrationPlan = BranchMigrationPlan;
632
+ type responses_RecordResponse = RecordResponse;
563
633
  type responses_RecordUpdateResponse = RecordUpdateResponse;
564
634
  type responses_QueryResponse = QueryResponse;
565
635
  type responses_SearchResponse = SearchResponse;
@@ -570,7 +640,9 @@ declare namespace responses {
570
640
  responses_BadRequestError as BadRequestError,
571
641
  responses_AuthError as AuthError,
572
642
  responses_BulkError as BulkError,
643
+ responses_BulkInsertResponse as BulkInsertResponse,
573
644
  responses_BranchMigrationPlan as BranchMigrationPlan,
645
+ responses_RecordResponse as RecordResponse,
574
646
  responses_RecordUpdateResponse as RecordUpdateResponse,
575
647
  responses_QueryResponse as QueryResponse,
576
648
  responses_SearchResponse as SearchResponse,
@@ -876,6 +948,9 @@ declare type InviteWorkspaceMemberError = ErrorWrapper<{
876
948
  } | {
877
949
  status: 404;
878
950
  payload: SimpleError;
951
+ } | {
952
+ status: 409;
953
+ payload: SimpleError;
879
954
  }>;
880
955
  declare type InviteWorkspaceMemberRequestBody = {
881
956
  email: string;
@@ -889,6 +964,34 @@ declare type InviteWorkspaceMemberVariables = {
889
964
  * Invite some user to join the workspace with the given role
890
965
  */
891
966
  declare const inviteWorkspaceMember: (variables: InviteWorkspaceMemberVariables) => Promise<WorkspaceInvite>;
967
+ declare type UpdateWorkspaceMemberInvitePathParams = {
968
+ workspaceId: WorkspaceID;
969
+ inviteId: InviteID;
970
+ };
971
+ declare type UpdateWorkspaceMemberInviteError = ErrorWrapper<{
972
+ status: 400;
973
+ payload: BadRequestError;
974
+ } | {
975
+ status: 401;
976
+ payload: AuthError;
977
+ } | {
978
+ status: 404;
979
+ payload: SimpleError;
980
+ } | {
981
+ status: 422;
982
+ payload: SimpleError;
983
+ }>;
984
+ declare type UpdateWorkspaceMemberInviteRequestBody = {
985
+ role: Role;
986
+ };
987
+ declare type UpdateWorkspaceMemberInviteVariables = {
988
+ body: UpdateWorkspaceMemberInviteRequestBody;
989
+ pathParams: UpdateWorkspaceMemberInvitePathParams;
990
+ } & FetcherExtraProps;
991
+ /**
992
+ * This operation provides a way to update an existing invite. Updates are performed in-place; they do not change the invite link, the expiry time, nor do they re-notify the recipient of the invite.
993
+ */
994
+ declare const updateWorkspaceMemberInvite: (variables: UpdateWorkspaceMemberInviteVariables) => Promise<WorkspaceInvite>;
892
995
  declare type CancelWorkspaceMemberInvitePathParams = {
893
996
  workspaceId: WorkspaceID;
894
997
  inviteId: InviteID;
@@ -1042,6 +1145,27 @@ declare type DeleteDatabaseVariables = {
1042
1145
  * Delete a database and all of its branches and tables permanently.
1043
1146
  */
1044
1147
  declare const deleteDatabase: (variables: DeleteDatabaseVariables) => Promise<undefined>;
1148
+ declare type GetDatabaseMetadataPathParams = {
1149
+ dbName: DBName;
1150
+ workspace: string;
1151
+ };
1152
+ declare type GetDatabaseMetadataError = ErrorWrapper<{
1153
+ status: 400;
1154
+ payload: BadRequestError;
1155
+ } | {
1156
+ status: 401;
1157
+ payload: AuthError;
1158
+ } | {
1159
+ status: 404;
1160
+ payload: SimpleError;
1161
+ }>;
1162
+ declare type GetDatabaseMetadataVariables = {
1163
+ pathParams: GetDatabaseMetadataPathParams;
1164
+ } & FetcherExtraProps;
1165
+ /**
1166
+ * Retrieve metadata of the given database
1167
+ */
1168
+ declare const getDatabaseMetadata: (variables: GetDatabaseMetadataVariables) => Promise<DatabaseMetadata>;
1045
1169
  declare type GetGitBranchesMappingPathParams = {
1046
1170
  dbName: DBName;
1047
1171
  workspace: string;
@@ -1234,6 +1358,10 @@ declare type CreateBranchError = ErrorWrapper<{
1234
1358
  status: 404;
1235
1359
  payload: SimpleError;
1236
1360
  }>;
1361
+ declare type CreateBranchResponse = {
1362
+ databaseName: string;
1363
+ branchName: string;
1364
+ };
1237
1365
  declare type CreateBranchRequestBody = {
1238
1366
  from?: string;
1239
1367
  metadata?: BranchMetadata;
@@ -1243,7 +1371,7 @@ declare type CreateBranchVariables = {
1243
1371
  pathParams: CreateBranchPathParams;
1244
1372
  queryParams?: CreateBranchQueryParams;
1245
1373
  } & FetcherExtraProps;
1246
- declare const createBranch: (variables: CreateBranchVariables) => Promise<undefined>;
1374
+ declare const createBranch: (variables: CreateBranchVariables) => Promise<CreateBranchResponse>;
1247
1375
  declare type DeleteBranchPathParams = {
1248
1376
  dbBranchName: DBBranchName;
1249
1377
  workspace: string;
@@ -1430,13 +1558,17 @@ declare type CreateTableError = ErrorWrapper<{
1430
1558
  status: 422;
1431
1559
  payload: SimpleError;
1432
1560
  }>;
1561
+ declare type CreateTableResponse = {
1562
+ branchName: string;
1563
+ tableName: string;
1564
+ };
1433
1565
  declare type CreateTableVariables = {
1434
1566
  pathParams: CreateTablePathParams;
1435
1567
  } & FetcherExtraProps;
1436
1568
  /**
1437
1569
  * Creates a new table with the given name. Returns 422 if a table with the same name already exists.
1438
1570
  */
1439
- declare const createTable: (variables: CreateTableVariables) => Promise<undefined>;
1571
+ declare const createTable: (variables: CreateTableVariables) => Promise<CreateTableResponse>;
1440
1572
  declare type DeleteTablePathParams = {
1441
1573
  dbBranchName: DBBranchName;
1442
1574
  tableName: TableName;
@@ -1669,6 +1801,9 @@ declare type InsertRecordPathParams = {
1669
1801
  tableName: TableName;
1670
1802
  workspace: string;
1671
1803
  };
1804
+ declare type InsertRecordQueryParams = {
1805
+ columns?: ColumnsProjection;
1806
+ };
1672
1807
  declare type InsertRecordError = ErrorWrapper<{
1673
1808
  status: 400;
1674
1809
  payload: BadRequestError;
@@ -1679,20 +1814,15 @@ declare type InsertRecordError = ErrorWrapper<{
1679
1814
  status: 404;
1680
1815
  payload: SimpleError;
1681
1816
  }>;
1682
- declare type InsertRecordResponse = {
1683
- id: string;
1684
- xata: {
1685
- version: number;
1686
- };
1687
- };
1688
1817
  declare type InsertRecordVariables = {
1689
1818
  body?: Record<string, any>;
1690
1819
  pathParams: InsertRecordPathParams;
1820
+ queryParams?: InsertRecordQueryParams;
1691
1821
  } & FetcherExtraProps;
1692
1822
  /**
1693
1823
  * Insert a new Record into the Table
1694
1824
  */
1695
- declare const insertRecord: (variables: InsertRecordVariables) => Promise<InsertRecordResponse>;
1825
+ declare const insertRecord: (variables: InsertRecordVariables) => Promise<RecordUpdateResponse>;
1696
1826
  declare type InsertRecordWithIDPathParams = {
1697
1827
  dbBranchName: DBBranchName;
1698
1828
  tableName: TableName;
@@ -1700,6 +1830,7 @@ declare type InsertRecordWithIDPathParams = {
1700
1830
  workspace: string;
1701
1831
  };
1702
1832
  declare type InsertRecordWithIDQueryParams = {
1833
+ columns?: ColumnsProjection;
1703
1834
  createOnly?: boolean;
1704
1835
  ifVersion?: number;
1705
1836
  };
@@ -1732,6 +1863,7 @@ declare type UpdateRecordWithIDPathParams = {
1732
1863
  workspace: string;
1733
1864
  };
1734
1865
  declare type UpdateRecordWithIDQueryParams = {
1866
+ columns?: ColumnsProjection;
1735
1867
  ifVersion?: number;
1736
1868
  };
1737
1869
  declare type UpdateRecordWithIDError = ErrorWrapper<{
@@ -1760,6 +1892,7 @@ declare type UpsertRecordWithIDPathParams = {
1760
1892
  workspace: string;
1761
1893
  };
1762
1894
  declare type UpsertRecordWithIDQueryParams = {
1895
+ columns?: ColumnsProjection;
1763
1896
  ifVersion?: number;
1764
1897
  };
1765
1898
  declare type UpsertRecordWithIDError = ErrorWrapper<{
@@ -1787,6 +1920,9 @@ declare type DeleteRecordPathParams = {
1787
1920
  recordId: RecordID;
1788
1921
  workspace: string;
1789
1922
  };
1923
+ declare type DeleteRecordQueryParams = {
1924
+ columns?: ColumnsProjection;
1925
+ };
1790
1926
  declare type DeleteRecordError = ErrorWrapper<{
1791
1927
  status: 400;
1792
1928
  payload: BadRequestError;
@@ -1799,14 +1935,18 @@ declare type DeleteRecordError = ErrorWrapper<{
1799
1935
  }>;
1800
1936
  declare type DeleteRecordVariables = {
1801
1937
  pathParams: DeleteRecordPathParams;
1938
+ queryParams?: DeleteRecordQueryParams;
1802
1939
  } & FetcherExtraProps;
1803
- declare const deleteRecord: (variables: DeleteRecordVariables) => Promise<undefined>;
1940
+ declare const deleteRecord: (variables: DeleteRecordVariables) => Promise<XataRecord$1>;
1804
1941
  declare type GetRecordPathParams = {
1805
1942
  dbBranchName: DBBranchName;
1806
1943
  tableName: TableName;
1807
1944
  recordId: RecordID;
1808
1945
  workspace: string;
1809
1946
  };
1947
+ declare type GetRecordQueryParams = {
1948
+ columns?: ColumnsProjection;
1949
+ };
1810
1950
  declare type GetRecordError = ErrorWrapper<{
1811
1951
  status: 400;
1812
1952
  payload: BadRequestError;
@@ -1817,12 +1957,9 @@ declare type GetRecordError = ErrorWrapper<{
1817
1957
  status: 404;
1818
1958
  payload: SimpleError;
1819
1959
  }>;
1820
- declare type GetRecordRequestBody = {
1821
- columns?: ColumnsFilter;
1822
- };
1823
1960
  declare type GetRecordVariables = {
1824
- body?: GetRecordRequestBody;
1825
1961
  pathParams: GetRecordPathParams;
1962
+ queryParams?: GetRecordQueryParams;
1826
1963
  } & FetcherExtraProps;
1827
1964
  /**
1828
1965
  * Retrieve record by ID
@@ -1833,6 +1970,9 @@ declare type BulkInsertTableRecordsPathParams = {
1833
1970
  tableName: TableName;
1834
1971
  workspace: string;
1835
1972
  };
1973
+ declare type BulkInsertTableRecordsQueryParams = {
1974
+ columns?: ColumnsProjection;
1975
+ };
1836
1976
  declare type BulkInsertTableRecordsError = ErrorWrapper<{
1837
1977
  status: 400;
1838
1978
  payload: BulkError;
@@ -1842,21 +1982,22 @@ declare type BulkInsertTableRecordsError = ErrorWrapper<{
1842
1982
  } | {
1843
1983
  status: 404;
1844
1984
  payload: SimpleError;
1985
+ } | {
1986
+ status: 422;
1987
+ payload: SimpleError;
1845
1988
  }>;
1846
- declare type BulkInsertTableRecordsResponse = {
1847
- recordIDs: string[];
1848
- };
1849
1989
  declare type BulkInsertTableRecordsRequestBody = {
1850
1990
  records: Record<string, any>[];
1851
1991
  };
1852
1992
  declare type BulkInsertTableRecordsVariables = {
1853
1993
  body: BulkInsertTableRecordsRequestBody;
1854
1994
  pathParams: BulkInsertTableRecordsPathParams;
1995
+ queryParams?: BulkInsertTableRecordsQueryParams;
1855
1996
  } & FetcherExtraProps;
1856
1997
  /**
1857
1998
  * Bulk insert records
1858
1999
  */
1859
- declare const bulkInsertTableRecords: (variables: BulkInsertTableRecordsVariables) => Promise<BulkInsertTableRecordsResponse>;
2000
+ declare const bulkInsertTableRecords: (variables: BulkInsertTableRecordsVariables) => Promise<BulkInsertResponse>;
1860
2001
  declare type QueryTablePathParams = {
1861
2002
  dbBranchName: DBBranchName;
1862
2003
  tableName: TableName;
@@ -1876,7 +2017,7 @@ declare type QueryTableRequestBody = {
1876
2017
  filter?: FilterExpression;
1877
2018
  sort?: SortExpression;
1878
2019
  page?: PageConfig;
1879
- columns?: ColumnsFilter;
2020
+ columns?: ColumnsProjection;
1880
2021
  };
1881
2022
  declare type QueryTableVariables = {
1882
2023
  body?: QueryTableRequestBody;
@@ -2622,8 +2763,10 @@ declare type SearchTableError = ErrorWrapper<{
2622
2763
  declare type SearchTableRequestBody = {
2623
2764
  query: string;
2624
2765
  fuzziness?: FuzzinessExpression;
2766
+ prefix?: PrefixExpression;
2625
2767
  filter?: FilterExpression;
2626
2768
  highlight?: HighlightExpression;
2769
+ boosters?: BoosterExpression[];
2627
2770
  };
2628
2771
  declare type SearchTableVariables = {
2629
2772
  body: SearchTableRequestBody;
@@ -2655,6 +2798,7 @@ declare type SearchBranchRequestBody = {
2655
2798
  tables?: (string | {
2656
2799
  table: string;
2657
2800
  filter?: FilterExpression;
2801
+ boosters?: BoosterExpression[];
2658
2802
  })[];
2659
2803
  query: string;
2660
2804
  fuzziness?: FuzzinessExpression;
@@ -2687,6 +2831,7 @@ declare const operationsByTag: {
2687
2831
  updateWorkspaceMemberRole: (variables: UpdateWorkspaceMemberRoleVariables) => Promise<undefined>;
2688
2832
  removeWorkspaceMember: (variables: RemoveWorkspaceMemberVariables) => Promise<undefined>;
2689
2833
  inviteWorkspaceMember: (variables: InviteWorkspaceMemberVariables) => Promise<WorkspaceInvite>;
2834
+ updateWorkspaceMemberInvite: (variables: UpdateWorkspaceMemberInviteVariables) => Promise<WorkspaceInvite>;
2690
2835
  cancelWorkspaceMemberInvite: (variables: CancelWorkspaceMemberInviteVariables) => Promise<undefined>;
2691
2836
  resendWorkspaceMemberInvite: (variables: ResendWorkspaceMemberInviteVariables) => Promise<undefined>;
2692
2837
  acceptWorkspaceMemberInvite: (variables: AcceptWorkspaceMemberInviteVariables) => Promise<undefined>;
@@ -2695,6 +2840,7 @@ declare const operationsByTag: {
2695
2840
  getDatabaseList: (variables: GetDatabaseListVariables) => Promise<ListDatabasesResponse>;
2696
2841
  createDatabase: (variables: CreateDatabaseVariables) => Promise<CreateDatabaseResponse>;
2697
2842
  deleteDatabase: (variables: DeleteDatabaseVariables) => Promise<undefined>;
2843
+ getDatabaseMetadata: (variables: GetDatabaseMetadataVariables) => Promise<DatabaseMetadata>;
2698
2844
  getGitBranchesMapping: (variables: GetGitBranchesMappingVariables) => Promise<ListGitBranchesResponse>;
2699
2845
  addGitBranchesEntry: (variables: AddGitBranchesEntryVariables) => Promise<AddGitBranchesEntryResponse>;
2700
2846
  removeGitBranchesEntry: (variables: RemoveGitBranchesEntryVariables) => Promise<undefined>;
@@ -2703,7 +2849,7 @@ declare const operationsByTag: {
2703
2849
  branch: {
2704
2850
  getBranchList: (variables: GetBranchListVariables) => Promise<ListBranchesResponse>;
2705
2851
  getBranchDetails: (variables: GetBranchDetailsVariables) => Promise<DBBranch>;
2706
- createBranch: (variables: CreateBranchVariables) => Promise<undefined>;
2852
+ createBranch: (variables: CreateBranchVariables) => Promise<CreateBranchResponse>;
2707
2853
  deleteBranch: (variables: DeleteBranchVariables) => Promise<undefined>;
2708
2854
  updateBranchMetadata: (variables: UpdateBranchMetadataVariables) => Promise<undefined>;
2709
2855
  getBranchMetadata: (variables: GetBranchMetadataVariables) => Promise<BranchMetadata>;
@@ -2713,7 +2859,7 @@ declare const operationsByTag: {
2713
2859
  getBranchStats: (variables: GetBranchStatsVariables) => Promise<GetBranchStatsResponse>;
2714
2860
  };
2715
2861
  table: {
2716
- createTable: (variables: CreateTableVariables) => Promise<undefined>;
2862
+ createTable: (variables: CreateTableVariables) => Promise<CreateTableResponse>;
2717
2863
  deleteTable: (variables: DeleteTableVariables) => Promise<undefined>;
2718
2864
  updateTable: (variables: UpdateTableVariables) => Promise<undefined>;
2719
2865
  getTableSchema: (variables: GetTableSchemaVariables) => Promise<GetTableSchemaResponse>;
@@ -2725,13 +2871,13 @@ declare const operationsByTag: {
2725
2871
  updateColumn: (variables: UpdateColumnVariables) => Promise<MigrationIdResponse>;
2726
2872
  };
2727
2873
  records: {
2728
- insertRecord: (variables: InsertRecordVariables) => Promise<InsertRecordResponse>;
2874
+ insertRecord: (variables: InsertRecordVariables) => Promise<RecordUpdateResponse>;
2729
2875
  insertRecordWithID: (variables: InsertRecordWithIDVariables) => Promise<RecordUpdateResponse>;
2730
2876
  updateRecordWithID: (variables: UpdateRecordWithIDVariables) => Promise<RecordUpdateResponse>;
2731
2877
  upsertRecordWithID: (variables: UpsertRecordWithIDVariables) => Promise<RecordUpdateResponse>;
2732
- deleteRecord: (variables: DeleteRecordVariables) => Promise<undefined>;
2878
+ deleteRecord: (variables: DeleteRecordVariables) => Promise<XataRecord$1>;
2733
2879
  getRecord: (variables: GetRecordVariables) => Promise<XataRecord$1>;
2734
- bulkInsertTableRecords: (variables: BulkInsertTableRecordsVariables) => Promise<BulkInsertTableRecordsResponse>;
2880
+ bulkInsertTableRecords: (variables: BulkInsertTableRecordsVariables) => Promise<BulkInsertResponse>;
2735
2881
  queryTable: (variables: QueryTableVariables) => Promise<QueryResponse>;
2736
2882
  searchTable: (variables: SearchTableVariables) => Promise<SearchResponse>;
2737
2883
  searchBranch: (variables: SearchBranchVariables) => Promise<SearchResponse>;
@@ -2785,6 +2931,7 @@ declare class WorkspaceApi {
2785
2931
  updateWorkspaceMemberRole(workspaceId: WorkspaceID, userId: UserID, role: Role): Promise<void>;
2786
2932
  removeWorkspaceMember(workspaceId: WorkspaceID, userId: UserID): Promise<void>;
2787
2933
  inviteWorkspaceMember(workspaceId: WorkspaceID, email: string, role: Role): Promise<WorkspaceInvite>;
2934
+ updateWorkspaceMemberInvite(workspaceId: WorkspaceID, inviteId: InviteID, role: Role): Promise<WorkspaceInvite>;
2788
2935
  cancelWorkspaceMemberInvite(workspaceId: WorkspaceID, inviteId: InviteID): Promise<void>;
2789
2936
  resendWorkspaceMemberInvite(workspaceId: WorkspaceID, inviteId: InviteID): Promise<void>;
2790
2937
  acceptWorkspaceMemberInvite(workspaceId: WorkspaceID, inviteKey: InviteKey): Promise<void>;
@@ -2795,17 +2942,18 @@ declare class DatabaseApi {
2795
2942
  getDatabaseList(workspace: WorkspaceID): Promise<ListDatabasesResponse>;
2796
2943
  createDatabase(workspace: WorkspaceID, dbName: DBName, options?: CreateDatabaseRequestBody): Promise<CreateDatabaseResponse>;
2797
2944
  deleteDatabase(workspace: WorkspaceID, dbName: DBName): Promise<void>;
2945
+ getDatabaseMetadata(workspace: WorkspaceID, dbName: DBName): Promise<DatabaseMetadata>;
2798
2946
  getGitBranchesMapping(workspace: WorkspaceID, dbName: DBName): Promise<ListGitBranchesResponse>;
2799
2947
  addGitBranchesEntry(workspace: WorkspaceID, dbName: DBName, body: AddGitBranchesEntryRequestBody): Promise<AddGitBranchesEntryResponse>;
2800
2948
  removeGitBranchesEntry(workspace: WorkspaceID, dbName: DBName, gitBranch: string): Promise<void>;
2801
- resolveBranch(workspace: WorkspaceID, dbName: DBName, gitBranch: string): Promise<ResolveBranchResponse>;
2949
+ resolveBranch(workspace: WorkspaceID, dbName: DBName, gitBranch?: string, fallbackBranch?: string): Promise<ResolveBranchResponse>;
2802
2950
  }
2803
2951
  declare class BranchApi {
2804
2952
  private extraProps;
2805
2953
  constructor(extraProps: FetcherExtraProps);
2806
2954
  getBranchList(workspace: WorkspaceID, dbName: DBName): Promise<ListBranchesResponse>;
2807
2955
  getBranchDetails(workspace: WorkspaceID, database: DBName, branch: BranchName): Promise<DBBranch>;
2808
- createBranch(workspace: WorkspaceID, database: DBName, branch: BranchName, from?: string, options?: CreateBranchRequestBody): Promise<void>;
2956
+ createBranch(workspace: WorkspaceID, database: DBName, branch: BranchName, from?: string, options?: CreateBranchRequestBody): Promise<CreateBranchResponse>;
2809
2957
  deleteBranch(workspace: WorkspaceID, database: DBName, branch: BranchName): Promise<void>;
2810
2958
  updateBranchMetadata(workspace: WorkspaceID, database: DBName, branch: BranchName, metadata?: BranchMetadata): Promise<void>;
2811
2959
  getBranchMetadata(workspace: WorkspaceID, database: DBName, branch: BranchName): Promise<BranchMetadata>;
@@ -2817,7 +2965,7 @@ declare class BranchApi {
2817
2965
  declare class TableApi {
2818
2966
  private extraProps;
2819
2967
  constructor(extraProps: FetcherExtraProps);
2820
- createTable(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName): Promise<void>;
2968
+ createTable(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName): Promise<CreateTableResponse>;
2821
2969
  deleteTable(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName): Promise<void>;
2822
2970
  updateTable(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, options: UpdateTableRequestBody): Promise<void>;
2823
2971
  getTableSchema(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName): Promise<GetTableSchemaResponse>;
@@ -2831,13 +2979,13 @@ declare class TableApi {
2831
2979
  declare class RecordsApi {
2832
2980
  private extraProps;
2833
2981
  constructor(extraProps: FetcherExtraProps);
2834
- insertRecord(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, record: Record<string, any>): Promise<InsertRecordResponse>;
2982
+ insertRecord(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, record: Record<string, any>, options?: InsertRecordQueryParams): Promise<RecordUpdateResponse>;
2835
2983
  insertRecordWithID(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, recordId: RecordID, record: Record<string, any>, options?: InsertRecordWithIDQueryParams): Promise<RecordUpdateResponse>;
2836
2984
  updateRecordWithID(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, recordId: RecordID, record: Record<string, any>, options?: UpdateRecordWithIDQueryParams): Promise<RecordUpdateResponse>;
2837
2985
  upsertRecordWithID(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, recordId: RecordID, record: Record<string, any>, options?: UpsertRecordWithIDQueryParams): Promise<RecordUpdateResponse>;
2838
- deleteRecord(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, recordId: RecordID): Promise<void>;
2839
- getRecord(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, recordId: RecordID, options?: GetRecordRequestBody): Promise<XataRecord$1>;
2840
- bulkInsertTableRecords(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, records: Record<string, any>[]): Promise<BulkInsertTableRecordsResponse>;
2986
+ deleteRecord(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, recordId: RecordID, options?: DeleteRecordQueryParams): Promise<RecordUpdateResponse>;
2987
+ getRecord(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, recordId: RecordID, options?: GetRecordQueryParams): Promise<XataRecord$1>;
2988
+ bulkInsertTableRecords(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, records: Record<string, any>[], options?: BulkInsertTableRecordsQueryParams): Promise<BulkInsertResponse>;
2841
2989
  queryTable(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, query: QueryTableRequestBody): Promise<QueryResponse>;
2842
2990
  searchTable(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, query: SearchTableRequestBody): Promise<SearchResponse>;
2843
2991
  searchBranch(workspace: WorkspaceID, database: DBName, branch: BranchName, query: SearchBranchRequestBody): Promise<SearchResponse>;
@@ -2853,39 +3001,39 @@ declare type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) ex
2853
3001
  declare type If<Condition, Then, Else> = Condition extends true ? Then : Else;
2854
3002
  declare type IsObject<T> = T extends Record<string, any> ? true : false;
2855
3003
  declare type IsArray<T> = T extends Array<any> ? true : false;
2856
- declare type NonEmptyArray<T> = T[] & {
2857
- 0: T;
2858
- };
2859
3004
  declare type RequiredBy<T, K extends keyof T> = T & {
2860
3005
  [P in K]-?: NonNullable<T[P]>;
2861
3006
  };
2862
3007
  declare type GetArrayInnerType<T extends readonly any[]> = T[number];
2863
3008
  declare type SingleOrArray<T> = T | T[];
2864
3009
  declare type OmitBy<T, K extends keyof T> = T extends any ? Omit<T, K> : never;
3010
+ declare type Without<T, U> = {
3011
+ [P in Exclude<keyof T, keyof U>]?: never;
3012
+ };
3013
+ declare type ExclusiveOr<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
2865
3014
 
2866
3015
  declare type SelectableColumn<O, RecursivePath extends any[] = []> = '*' | 'id' | DataProps<O> | NestedColumns<O, RecursivePath>;
2867
- declare type SelectedPick<O extends XataRecord, Key extends SelectableColumn<O>[]> = XataRecord & UnionToIntersection<Values<{
2868
- [K in Key[number]]: NestedValueAtColumn<O, K> & XataRecord;
3016
+ declare type SelectedPick<O extends XataRecord, Key extends SelectableColumn<O>[]> = XataRecord<O> & UnionToIntersection<Values<{
3017
+ [K in Key[number]]: NestedValueAtColumn<O, K> & XataRecord<O>;
2869
3018
  }>>;
2870
- declare type ValueAtColumn<O, P extends SelectableColumn<O>> = P extends '*' ? Values<O> : P extends 'id' ? string : P extends keyof O ? O[P] : P extends `${infer K}.${infer V}` ? K extends keyof O ? Values<RemoveNullable<O[K]> extends Record<string, any> ? V extends SelectableColumn<RemoveNullable<O[K]>> ? {
2871
- V: ValueAtColumn<RemoveNullable<O[K]>, V>;
2872
- } : never : O[K]> : never : never;
3019
+ declare type ValueAtColumn<O, P extends SelectableColumn<O>> = P extends '*' ? Values<O> : P extends 'id' ? string : P extends keyof O ? O[P] : P extends `${infer K}.${infer V}` ? K extends keyof O ? Values<NonNullable<O[K]> extends infer Item ? Item extends Record<string, any> ? V extends SelectableColumn<Item> ? {
3020
+ V: ValueAtColumn<Item, V>;
3021
+ } : never : O[K] : never> : never : never;
2873
3022
  declare type MAX_RECURSION = 5;
2874
3023
  declare type NestedColumns<O, RecursivePath extends any[]> = RecursivePath['length'] extends MAX_RECURSION ? never : If<IsObject<O>, Values<{
2875
- [K in DataProps<O>]: If<IsArray<RemoveNullable<O[K]>>, K, // If the property is an array, we stop recursion. We don't support object arrays yet
2876
- If<IsObject<RemoveNullable<O[K]>>, RemoveNullable<O[K]> extends XataRecord ? SelectableColumn<RemoveNullable<O[K]>, [...RecursivePath, O[K]]> extends infer Column ? Column extends string ? K | `${K}.${Column}` : never : never : `${K}.${StringKeys<RemoveNullable<O[K]>> | '*'}`, // This allows usage of objects that are not links
2877
- K>>;
3024
+ [K in DataProps<O>]: NonNullable<O[K]> extends infer Item ? If<IsArray<Item>, K, // If the property is an array, we stop recursion. We don't support object arrays yet
3025
+ If<IsObject<Item>, Item extends XataRecord ? SelectableColumn<Item, [...RecursivePath, Item]> extends infer Column ? Column extends string ? K | `${K}.${Column}` : never : never : Item extends Date ? K : `${K}.${StringKeys<Item> | '*'}`, // This allows usage of objects that are not links
3026
+ K>> : never;
2878
3027
  }>, never>;
2879
3028
  declare type DataProps<O> = Exclude<StringKeys<O>, StringKeys<XataRecord>>;
2880
3029
  declare type NestedValueAtColumn<O, Key extends SelectableColumn<O>> = Key extends `${infer N}.${infer M}` ? N extends DataProps<O> ? {
2881
- [K in N]: M extends SelectableColumn<RemoveNullable<O[K]>> ? RemoveNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], NestedValueAtColumn<RemoveNullable<O[K]>, M> & XataRecord> : ForwardNullable<O[K], NestedValueAtColumn<RemoveNullable<O[K]>, M>> : unknown;
3030
+ [K in N]: M extends SelectableColumn<NonNullable<O[K]>> ? NonNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], NestedValueAtColumn<NonNullable<O[K]>, M> & XataRecord> : ForwardNullable<O[K], NestedValueAtColumn<NonNullable<O[K]>, M>> : unknown;
2882
3031
  } : unknown : Key extends DataProps<O> ? {
2883
- [K in Key]: RemoveNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], SelectedPick<RemoveNullable<O[K]>, ['*']>> : O[K];
3032
+ [K in Key]: NonNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], SelectedPick<NonNullable<O[K]>, ['*']>> : O[K];
2884
3033
  } : Key extends '*' ? {
2885
- [K in StringKeys<O>]: RemoveNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], Link<RemoveNullable<O[K]>>> : O[K];
3034
+ [K in StringKeys<O>]: NonNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], Link<NonNullable<O[K]>>> : O[K];
2886
3035
  } : unknown;
2887
- declare type RemoveNullable<T> = T extends null | undefined ? never : T;
2888
- declare type ForwardNullable<T, R> = T extends RemoveNullable<T> ? R : R | null;
3036
+ declare type ForwardNullable<T, R> = T extends NonNullable<T> ? R : R | null;
2889
3037
 
2890
3038
  /**
2891
3039
  * Represents an identifiable record from the database.
@@ -2902,22 +3050,37 @@ interface BaseData {
2902
3050
  /**
2903
3051
  * Represents a persisted record from the database.
2904
3052
  */
2905
- interface XataRecord<ExtraMetadata extends Record<string, unknown> = Record<string, unknown>> extends Identifiable {
3053
+ interface XataRecord<OriginalRecord extends XataRecord<any> = XataRecord<any>> extends Identifiable {
2906
3054
  /**
2907
3055
  * Get metadata of this record.
2908
3056
  */
2909
- getMetadata(): XataRecordMetadata & ExtraMetadata;
3057
+ getMetadata(): XataRecordMetadata;
3058
+ /**
3059
+ * Retrieves a refreshed copy of the current record from the database.
3060
+ * @param columns The columns to retrieve. If not specified, all first level properties are retrieved.
3061
+ * @returns The persisted record with the selected columns.
3062
+ */
3063
+ read<K extends SelectableColumn<OriginalRecord>>(columns: K[]): Promise<Readonly<SelectedPick<OriginalRecord, typeof columns>> | null>;
2910
3064
  /**
2911
3065
  * Retrieves a refreshed copy of the current record from the database.
3066
+ * @returns The persisted record with all first level properties.
2912
3067
  */
2913
- read(): Promise<Readonly<SelectedPick<this, ['*']>> | null>;
3068
+ read(): Promise<Readonly<SelectedPick<OriginalRecord, ['*']>> | null>;
2914
3069
  /**
2915
3070
  * Performs a partial update of the current record. On success a new object is
2916
3071
  * returned and the current object is not mutated.
2917
3072
  * @param partialUpdate The columns and their values that have to be updated.
2918
- * @returns A new record containing the latest values for all the columns of the current record.
3073
+ * @param columns The columns to retrieve. If not specified, all first level properties are retrieved.
3074
+ * @returns The persisted record with the selected columns.
3075
+ */
3076
+ update<K extends SelectableColumn<OriginalRecord>>(partialUpdate: Partial<EditableData<Omit<OriginalRecord, keyof XataRecord>>>, columns: K[]): Promise<Readonly<SelectedPick<OriginalRecord, typeof columns>>>;
3077
+ /**
3078
+ * Performs a partial update of the current record. On success a new object is
3079
+ * returned and the current object is not mutated.
3080
+ * @param partialUpdate The columns and their values that have to be updated.
3081
+ * @returns The persisted record with all first level properties.
2919
3082
  */
2920
- update(partialUpdate: Partial<EditableData<Omit<this, keyof XataRecord>>>): Promise<Readonly<SelectedPick<this, ['*']>>>;
3083
+ update(partialUpdate: Partial<EditableData<Omit<OriginalRecord, keyof XataRecord>>>): Promise<Readonly<SelectedPick<OriginalRecord, ['*']>>>;
2921
3084
  /**
2922
3085
  * Performs a deletion of the current record in the database.
2923
3086
  *
@@ -2929,14 +3092,20 @@ declare type Link<Record extends XataRecord> = Omit<XataRecord, 'read' | 'update
2929
3092
  /**
2930
3093
  * Retrieves a refreshed copy of the current record from the database.
2931
3094
  */
2932
- read(): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
3095
+ read<K extends SelectableColumn<Record>>(columns?: K[]): Promise<Readonly<SelectedPick<Record, typeof columns extends SelectableColumn<Record>[] ? typeof columns : ['*']>> | null>;
2933
3096
  /**
2934
3097
  * Performs a partial update of the current record. On success a new object is
2935
3098
  * returned and the current object is not mutated.
2936
3099
  * @param partialUpdate The columns and their values that have to be updated.
2937
3100
  * @returns A new record containing the latest values for all the columns of the current record.
2938
3101
  */
2939
- update(partialUpdate: Partial<EditableData<Omit<Record, keyof XataRecord>>>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3102
+ update<K extends SelectableColumn<Record>>(partialUpdate: Partial<EditableData<Omit<Record, keyof XataRecord>>>, columns?: K[]): Promise<Readonly<SelectedPick<Record, typeof columns extends SelectableColumn<Record>[] ? typeof columns : ['*']>>>;
3103
+ /**
3104
+ * Performs a deletion of the current record in the database.
3105
+ *
3106
+ * @throws If the record was already deleted or if an error happened while performing the deletion.
3107
+ */
3108
+ delete(): Promise<void>;
2940
3109
  };
2941
3110
  declare type XataRecordMetadata = {
2942
3111
  /**
@@ -2950,9 +3119,9 @@ declare function isXataRecord(x: any): x is XataRecord & Record<string, unknown>
2950
3119
  declare type EditableData<O extends BaseData> = {
2951
3120
  [K in keyof O]: O[K] extends XataRecord ? {
2952
3121
  id: string;
2953
- } : NonNullable<O[K]> extends XataRecord ? {
3122
+ } | string : NonNullable<O[K]> extends XataRecord ? {
2954
3123
  id: string;
2955
- } | null | undefined : O[K];
3124
+ } | string | null | undefined : O[K];
2956
3125
  };
2957
3126
 
2958
3127
  /**
@@ -3049,6 +3218,84 @@ declare type NestedApiFilter<T> = {
3049
3218
  };
3050
3219
  declare type Filter<T> = T extends Record<string, any> ? BaseApiFilter<T> | NestedApiFilter<T> : PropertyFilter<T>;
3051
3220
 
3221
+ declare type DateBooster = {
3222
+ origin?: string;
3223
+ scale: string;
3224
+ decay: number;
3225
+ };
3226
+ declare type NumericBooster = {
3227
+ factor: number;
3228
+ };
3229
+ declare type ValueBooster<T extends string | number | boolean> = {
3230
+ value: T;
3231
+ factor: number;
3232
+ };
3233
+ declare type Boosters<O extends XataRecord> = Values<{
3234
+ [K in SelectableColumn<O>]: NonNullable<ValueAtColumn<O, K>> extends Date ? {
3235
+ dateBooster: {
3236
+ column: K;
3237
+ } & DateBooster;
3238
+ } : NonNullable<ValueAtColumn<O, K>> extends number ? ExclusiveOr<{
3239
+ numericBooster?: {
3240
+ column: K;
3241
+ } & NumericBooster;
3242
+ }, {
3243
+ valueBooster?: {
3244
+ column: K;
3245
+ } & ValueBooster<number>;
3246
+ }> : NonNullable<ValueAtColumn<O, K>> extends string | boolean ? {
3247
+ valueBooster: {
3248
+ column: K;
3249
+ } & ValueBooster<NonNullable<ValueAtColumn<O, K>>>;
3250
+ } : never;
3251
+ }>;
3252
+
3253
+ declare type SearchOptions<Schemas extends Record<string, BaseData>, Tables extends StringKeys<Schemas>> = {
3254
+ fuzziness?: FuzzinessExpression;
3255
+ prefix?: PrefixExpression;
3256
+ highlight?: HighlightExpression;
3257
+ tables?: Array<Tables | Values<{
3258
+ [Model in GetArrayInnerType<NonNullable<Tables[]>>]: {
3259
+ table: Model;
3260
+ filter?: Filter<SelectedPick<Schemas[Model] & XataRecord, ['*']>>;
3261
+ boosters?: Boosters<Schemas[Model] & XataRecord>[];
3262
+ };
3263
+ }>>;
3264
+ };
3265
+ declare type SearchPluginResult<Schemas extends Record<string, BaseData>> = {
3266
+ all: <Tables extends StringKeys<Schemas>>(query: string, options?: SearchOptions<Schemas, Tables>) => Promise<Values<{
3267
+ [Model in ExtractTables<Schemas, Tables, GetArrayInnerType<NonNullable<NonNullable<typeof options>['tables']>>>]: {
3268
+ table: Model;
3269
+ record: Awaited<SearchXataRecord<SelectedPick<Schemas[Model] & XataRecord, ['*']>>>;
3270
+ };
3271
+ }>[]>;
3272
+ byTable: <Tables extends StringKeys<Schemas>>(query: string, options?: SearchOptions<Schemas, Tables>) => Promise<{
3273
+ [Model in ExtractTables<Schemas, Tables, GetArrayInnerType<NonNullable<NonNullable<typeof options>['tables']>>>]?: Awaited<SearchXataRecord<SelectedPick<Schemas[Model] & XataRecord, ['*']>>[]>;
3274
+ }>;
3275
+ };
3276
+ declare class SearchPlugin<Schemas extends Record<string, BaseData>> extends XataPlugin {
3277
+ #private;
3278
+ private db;
3279
+ constructor(db: SchemaPluginResult<Schemas>, schemaTables?: Schemas.Table[]);
3280
+ build({ getFetchProps }: XataPluginOptions): SearchPluginResult<Schemas>;
3281
+ }
3282
+ declare type SearchXataRecord<Record extends XataRecord> = Omit<Record, 'getMetadata'> & {
3283
+ getMetadata: () => XataRecordMetadata & SearchExtraProperties;
3284
+ };
3285
+ declare type SearchExtraProperties = {
3286
+ table: string;
3287
+ highlight?: {
3288
+ [key: string]: string[] | {
3289
+ [key: string]: any;
3290
+ };
3291
+ };
3292
+ score?: number;
3293
+ };
3294
+ declare type ReturnTable<Table, Tables> = Table extends Tables ? Table : never;
3295
+ declare type ExtractTables<Schemas extends Record<string, BaseData>, Tables extends StringKeys<Schemas>, TableOptions extends GetArrayInnerType<NonNullable<NonNullable<SearchOptions<Schemas, Tables>>['tables']>>> = TableOptions extends `${infer Table}` ? ReturnTable<Table, Tables> : TableOptions extends {
3296
+ table: infer Table;
3297
+ } ? ReturnTable<Table, Tables> : never;
3298
+
3052
3299
  declare type SortDirection = 'asc' | 'desc';
3053
3300
  declare type SortFilterExtended<T extends XataRecord> = {
3054
3301
  column: SelectableColumn<T>;
@@ -3060,7 +3307,7 @@ declare type SortFilterBase<T extends XataRecord> = {
3060
3307
  };
3061
3308
 
3062
3309
  declare type BaseOptions<T extends XataRecord> = {
3063
- columns?: NonEmptyArray<SelectableColumn<T>>;
3310
+ columns?: SelectableColumn<T>[];
3064
3311
  cache?: number;
3065
3312
  };
3066
3313
  declare type CursorQueryOptions = {
@@ -3144,13 +3391,13 @@ declare class Query<Record extends XataRecord, Result extends XataRecord = Recor
3144
3391
  * @param direction The direction. Either ascending or descending.
3145
3392
  * @returns A new Query object.
3146
3393
  */
3147
- sort<F extends SelectableColumn<Record>>(column: F, direction: SortDirection): Query<Record, Result>;
3394
+ sort<F extends SelectableColumn<Record>>(column: F, direction?: SortDirection): Query<Record, Result>;
3148
3395
  /**
3149
3396
  * Builds a new query specifying the set of columns to be returned in the query response.
3150
3397
  * @param columns Array of column names to be returned by the query.
3151
3398
  * @returns A new Query object.
3152
3399
  */
3153
- select<K extends SelectableColumn<Record>>(columns: NonEmptyArray<K>): Query<Record, SelectedPick<Record, NonEmptyArray<K>>>;
3400
+ select<K extends SelectableColumn<Record>>(columns: K[]): Query<Record, SelectedPick<Record, K[]>>;
3154
3401
  /**
3155
3402
  * Get paginated results
3156
3403
  *
@@ -3212,13 +3459,13 @@ declare class Query<Record extends XataRecord, Result extends XataRecord = Recor
3212
3459
  * @param options Additional options to be used when performing the query.
3213
3460
  * @returns An array of records from the database.
3214
3461
  */
3215
- getMany(options: OmitBy<QueryOptions<Record>, 'columns'>): Promise<RecordArray<Result>>;
3462
+ getMany<Options extends RequiredBy<QueryOptions<Record>, 'columns'>>(options: Options): Promise<RecordArray<SelectedPick<Record, typeof options['columns']>>>;
3216
3463
  /**
3217
3464
  * Performs the query in the database and returns a set of results.
3218
3465
  * @param options Additional options to be used when performing the query.
3219
3466
  * @returns An array of records from the database.
3220
3467
  */
3221
- getMany<Options extends RequiredBy<QueryOptions<Record>, 'columns'>>(options: Options): Promise<RecordArray<SelectedPick<Record, typeof options['columns']>>>;
3468
+ getMany(options: OmitBy<QueryOptions<Record>, 'columns'>): Promise<RecordArray<Result>>;
3222
3469
  /**
3223
3470
  * Performs the query in the database and returns all the results.
3224
3471
  * Warning: If there are a large number of results, this method can have performance implications.
@@ -3231,18 +3478,18 @@ declare class Query<Record extends XataRecord, Result extends XataRecord = Recor
3231
3478
  * @param options Additional options to be used when performing the query.
3232
3479
  * @returns An array of records from the database.
3233
3480
  */
3234
- getAll(options: OmitBy<QueryOptions<Record>, 'columns' | 'pagination'> & {
3481
+ getAll<Options extends RequiredBy<OmitBy<QueryOptions<Record>, 'pagination'>, 'columns'> & {
3235
3482
  batchSize?: number;
3236
- }): Promise<Result[]>;
3483
+ }>(options: Options): Promise<SelectedPick<Record, typeof options['columns']>[]>;
3237
3484
  /**
3238
3485
  * Performs the query in the database and returns all the results.
3239
3486
  * Warning: If there are a large number of results, this method can have performance implications.
3240
3487
  * @param options Additional options to be used when performing the query.
3241
3488
  * @returns An array of records from the database.
3242
3489
  */
3243
- getAll<Options extends RequiredBy<OmitBy<QueryOptions<Record>, 'pagination'>, 'columns'> & {
3490
+ getAll(options: OmitBy<QueryOptions<Record>, 'columns' | 'pagination'> & {
3244
3491
  batchSize?: number;
3245
- }>(options: Options): Promise<SelectedPick<Record, typeof options['columns']>[]>;
3492
+ }): Promise<Result[]>;
3246
3493
  /**
3247
3494
  * Performs the query in the database and returns the first result.
3248
3495
  * @returns The first record that matches the query, or null if no record matched the query.
@@ -3253,13 +3500,13 @@ declare class Query<Record extends XataRecord, Result extends XataRecord = Recor
3253
3500
  * @param options Additional options to be used when performing the query.
3254
3501
  * @returns The first record that matches the query, or null if no record matched the query.
3255
3502
  */
3256
- getFirst(options: OmitBy<QueryOptions<Record>, 'columns' | 'pagination'>): Promise<Result | null>;
3503
+ getFirst<Options extends RequiredBy<OmitBy<QueryOptions<Record>, 'pagination'>, 'columns'>>(options: Options): Promise<SelectedPick<Record, typeof options['columns']> | null>;
3257
3504
  /**
3258
3505
  * Performs the query in the database and returns the first result.
3259
3506
  * @param options Additional options to be used when performing the query.
3260
3507
  * @returns The first record that matches the query, or null if no record matched the query.
3261
3508
  */
3262
- getFirst<Options extends RequiredBy<OmitBy<QueryOptions<Record>, 'pagination'>, 'columns'>>(options: Options): Promise<SelectedPick<Record, typeof options['columns']> | null>;
3509
+ getFirst(options: OmitBy<QueryOptions<Record>, 'columns' | 'pagination'>): Promise<Result | null>;
3263
3510
  /**
3264
3511
  * Builds a new query object adding a cache TTL in milliseconds.
3265
3512
  * @param ttl The cache TTL in milliseconds.
@@ -3380,6 +3627,9 @@ declare function isCursorPaginationOptions(options: Record<string, unknown> | un
3380
3627
  declare class RecordArray<Result extends XataRecord> extends Array<Result> {
3381
3628
  #private;
3382
3629
  constructor(page: Paginable<any, Result>, overrideRecords?: Result[]);
3630
+ static parseConstructorParams(...args: any[]): any[];
3631
+ toArray(): Result[];
3632
+ map<U>(callbackfn: (value: Result, index: number, array: Result[]) => U, thisArg?: any): U[];
3383
3633
  /**
3384
3634
  * Retrieve next page of records
3385
3635
  *
@@ -3414,20 +3664,43 @@ declare class RecordArray<Result extends XataRecord> extends Array<Result> {
3414
3664
  * Common interface for performing operations on a table.
3415
3665
  */
3416
3666
  declare abstract class Repository<Data extends BaseData, Record extends XataRecord = Data & XataRecord> extends Query<Record, Readonly<SelectedPick<Record, ['*']>>> {
3417
- abstract create(object: EditableData<Data> & Partial<Identifiable>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3667
+ abstract create<K extends SelectableColumn<Record>>(object: Omit<EditableData<Data>, 'id'> & Partial<Identifiable>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
3668
+ abstract create(object: Omit<EditableData<Data>, 'id'> & Partial<Identifiable>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3669
+ /**
3670
+ * Creates a single record in the table with a unique id.
3671
+ * @param id The unique id.
3672
+ * @param object Object containing the column names with their values to be stored in the table.
3673
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3674
+ * @returns The full persisted record.
3675
+ */
3676
+ abstract create<K extends SelectableColumn<Record>>(id: string, object: Omit<EditableData<Data>, 'id'>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
3418
3677
  /**
3419
3678
  * Creates a single record in the table with a unique id.
3420
3679
  * @param id The unique id.
3421
3680
  * @param object Object containing the column names with their values to be stored in the table.
3422
3681
  * @returns The full persisted record.
3423
3682
  */
3424
- abstract create(id: string, object: EditableData<Data>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3683
+ abstract create(id: string, object: Omit<EditableData<Data>, 'id'>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3425
3684
  /**
3426
3685
  * Creates multiple records in the table.
3427
3686
  * @param objects Array of objects with the column names and the values to be stored in the table.
3428
- * @returns Array of the persisted records.
3687
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3688
+ * @returns Array of the persisted records in order.
3689
+ */
3690
+ abstract create<K extends SelectableColumn<Record>>(objects: Array<Omit<EditableData<Data>, 'id'> & Partial<Identifiable>>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
3691
+ /**
3692
+ * Creates multiple records in the table.
3693
+ * @param objects Array of objects with the column names and the values to be stored in the table.
3694
+ * @returns Array of the persisted records in order.
3429
3695
  */
3430
- abstract create(objects: Array<EditableData<Data> & Partial<Identifiable>>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
3696
+ abstract create(objects: Array<Omit<EditableData<Data>, 'id'> & Partial<Identifiable>>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
3697
+ /**
3698
+ * Queries a single record from the table given its unique id.
3699
+ * @param id The unique id.
3700
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3701
+ * @returns The persisted record for the given id or null if the record could not be found.
3702
+ */
3703
+ abstract read<K extends SelectableColumn<Record>>(id: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns> | null>>;
3431
3704
  /**
3432
3705
  * Queries a single record from the table given its unique id.
3433
3706
  * @param id The unique id.
@@ -3437,15 +3710,63 @@ declare abstract class Repository<Data extends BaseData, Record extends XataReco
3437
3710
  /**
3438
3711
  * Queries multiple records from the table given their unique id.
3439
3712
  * @param ids The unique ids array.
3440
- * @returns The persisted records for the given ids (if a record could not be found it is not returned).
3713
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3714
+ * @returns The persisted records for the given ids in order (if a record could not be found null is returned).
3715
+ */
3716
+ abstract read<K extends SelectableColumn<Record>>(ids: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
3717
+ /**
3718
+ * Queries multiple records from the table given their unique id.
3719
+ * @param ids The unique ids array.
3720
+ * @returns The persisted records for the given ids in order (if a record could not be found null is returned).
3721
+ */
3722
+ abstract read(ids: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
3723
+ /**
3724
+ * Queries a single record from the table by the id in the object.
3725
+ * @param object Object containing the id of the record.
3726
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3727
+ * @returns The persisted record for the given id or null if the record could not be found.
3728
+ */
3729
+ abstract read<K extends SelectableColumn<Record>>(object: Identifiable, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns> | null>>;
3730
+ /**
3731
+ * Queries a single record from the table by the id in the object.
3732
+ * @param object Object containing the id of the record.
3733
+ * @returns The persisted record for the given id or null if the record could not be found.
3734
+ */
3735
+ abstract read(object: Identifiable): Promise<Readonly<SelectedPick<Record, ['*']> | null>>;
3736
+ /**
3737
+ * Queries multiple records from the table by the ids in the objects.
3738
+ * @param objects Array of objects containing the ids of the records.
3739
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3740
+ * @returns The persisted records for the given ids in order (if a record could not be found null is returned).
3741
+ */
3742
+ abstract read<K extends SelectableColumn<Record>>(objects: Identifiable[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>> | null>>;
3743
+ /**
3744
+ * Queries multiple records from the table by the ids in the objects.
3745
+ * @param objects Array of objects containing the ids of the records.
3746
+ * @returns The persisted records for the given ids in order (if a record could not be found null is returned).
3747
+ */
3748
+ abstract read(objects: Identifiable[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>> | null>>;
3749
+ /**
3750
+ * Partially update a single record.
3751
+ * @param object An object with its id and the columns to be updated.
3752
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3753
+ * @returns The full persisted record.
3441
3754
  */
3442
- abstract read(ids: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
3755
+ abstract update<K extends SelectableColumn<Record>>(object: Partial<EditableData<Data>> & Identifiable, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
3443
3756
  /**
3444
3757
  * Partially update a single record.
3445
3758
  * @param object An object with its id and the columns to be updated.
3446
3759
  * @returns The full persisted record.
3447
3760
  */
3448
3761
  abstract update(object: Partial<EditableData<Data>> & Identifiable): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3762
+ /**
3763
+ * Partially update a single record given its unique id.
3764
+ * @param id The unique id.
3765
+ * @param object The column names and their values that have to be updated.
3766
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3767
+ * @returns The full persisted record.
3768
+ */
3769
+ abstract update<K extends SelectableColumn<Record>>(id: string, object: Partial<EditableData<Data>>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
3449
3770
  /**
3450
3771
  * Partially update a single record given its unique id.
3451
3772
  * @param id The unique id.
@@ -3456,9 +3777,24 @@ declare abstract class Repository<Data extends BaseData, Record extends XataReco
3456
3777
  /**
3457
3778
  * Partially updates multiple records.
3458
3779
  * @param objects An array of objects with their ids and columns to be updated.
3459
- * @returns Array of the persisted records.
3780
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3781
+ * @returns Array of the persisted records in order.
3782
+ */
3783
+ abstract update<K extends SelectableColumn<Record>>(objects: Array<Partial<EditableData<Data>> & Identifiable>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
3784
+ /**
3785
+ * Partially updates multiple records.
3786
+ * @param objects An array of objects with their ids and columns to be updated.
3787
+ * @returns Array of the persisted records in order.
3460
3788
  */
3461
3789
  abstract update(objects: Array<Partial<EditableData<Data>> & Identifiable>): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
3790
+ /**
3791
+ * Creates or updates a single record. If a record exists with the given id,
3792
+ * it will be update, otherwise a new record will be created.
3793
+ * @param object Object containing the column names with their values to be persisted in the table.
3794
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3795
+ * @returns The full persisted record.
3796
+ */
3797
+ abstract createOrUpdate<K extends SelectableColumn<Record>>(object: EditableData<Data> & Identifiable, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
3462
3798
  /**
3463
3799
  * Creates or updates a single record. If a record exists with the given id,
3464
3800
  * it will be update, otherwise a new record will be created.
@@ -3466,6 +3802,15 @@ declare abstract class Repository<Data extends BaseData, Record extends XataReco
3466
3802
  * @returns The full persisted record.
3467
3803
  */
3468
3804
  abstract createOrUpdate(object: EditableData<Data> & Identifiable): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3805
+ /**
3806
+ * Creates or updates a single record. If a record exists with the given id,
3807
+ * it will be update, otherwise a new record will be created.
3808
+ * @param id A unique id.
3809
+ * @param object The column names and the values to be persisted.
3810
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3811
+ * @returns The full persisted record.
3812
+ */
3813
+ abstract createOrUpdate<K extends SelectableColumn<Record>>(id: string, object: Omit<EditableData<Data>, 'id'>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
3469
3814
  /**
3470
3815
  * Creates or updates a single record. If a record exists with the given id,
3471
3816
  * it will be update, otherwise a new record will be created.
@@ -3473,7 +3818,15 @@ declare abstract class Repository<Data extends BaseData, Record extends XataReco
3473
3818
  * @param object The column names and the values to be persisted.
3474
3819
  * @returns The full persisted record.
3475
3820
  */
3476
- abstract createOrUpdate(id: string, object: EditableData<Data>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3821
+ abstract createOrUpdate(id: string, object: Omit<EditableData<Data>, 'id'>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3822
+ /**
3823
+ * Creates or updates a single record. If a record exists with the given id,
3824
+ * it will be update, otherwise a new record will be created.
3825
+ * @param objects Array of objects with the column names and the values to be stored in the table.
3826
+ * @param columns Array of columns to be returned. If not specified, first level columns will be returned.
3827
+ * @returns Array of the persisted records.
3828
+ */
3829
+ abstract createOrUpdate<K extends SelectableColumn<Record>>(objects: Array<EditableData<Data> & Identifiable>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
3477
3830
  /**
3478
3831
  * Creates or updates a single record. If a record exists with the given id,
3479
3832
  * it will be update, otherwise a new record will be created.
@@ -3513,39 +3866,111 @@ declare abstract class Repository<Data extends BaseData, Record extends XataReco
3513
3866
  */
3514
3867
  abstract search(query: string, options?: {
3515
3868
  fuzziness?: FuzzinessExpression;
3869
+ prefix?: PrefixExpression;
3516
3870
  highlight?: HighlightExpression;
3517
3871
  filter?: Filter<Record>;
3518
- }): Promise<SelectedPick<Record, ['*']>[]>;
3872
+ boosters?: Boosters<Record>[];
3873
+ }): Promise<SearchXataRecord<SelectedPick<Record, ['*']>>[]>;
3519
3874
  abstract query<Result extends XataRecord>(query: Query<Record, Result>): Promise<Page<Record, Result>>;
3520
3875
  }
3521
3876
  declare class RestRepository<Data extends BaseData, Record extends XataRecord = Data & XataRecord> extends Query<Record, SelectedPick<Record, ['*']>> implements Repository<Data, Record> {
3522
3877
  #private;
3523
- db: SchemaPluginResult<any>;
3524
3878
  constructor(options: {
3525
3879
  table: string;
3526
3880
  db: SchemaPluginResult<any>;
3527
3881
  pluginOptions: XataPluginOptions;
3882
+ schemaTables?: Table[];
3528
3883
  });
3529
- create(object: EditableData<Data>): Promise<SelectedPick<Record, ['*']>>;
3530
- create(recordId: string, object: EditableData<Data>): Promise<SelectedPick<Record, ['*']>>;
3531
- create(objects: EditableData<Data>[]): Promise<SelectedPick<Record, ['*']>[]>;
3532
- read(recordId: string): Promise<SelectedPick<Record, ['*']> | null>;
3884
+ create(object: EditableData<Data>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3885
+ create(recordId: string, object: EditableData<Data>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
3886
+ create(objects: EditableData<Data>[]): Promise<Readonly<SelectedPick<Record, ['*']>>[]>;
3887
+ create<K extends SelectableColumn<Record>>(object: EditableData<Data>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
3888
+ create<K extends SelectableColumn<Record>>(recordId: string, object: EditableData<Data>, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>>;
3889
+ create<K extends SelectableColumn<Record>>(objects: EditableData<Data>[], columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>>[]>;
3890
+ read(recordId: string): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
3533
3891
  read(recordIds: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
3892
+ read(object: Identifiable): Promise<Readonly<SelectedPick<Record, ['*']>> | null>;
3893
+ read(objects: Identifiable[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
3894
+ read<K extends SelectableColumn<Record>>(recordId: string, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
3895
+ read<K extends SelectableColumn<Record>>(recordIds: string[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
3896
+ read<K extends SelectableColumn<Record>>(object: Identifiable, columns: K[]): Promise<Readonly<SelectedPick<Record, typeof columns>> | null>;
3897
+ read<K extends SelectableColumn<Record>>(objects: Identifiable[], columns: K[]): Promise<Array<Readonly<SelectedPick<Record, typeof columns>>>>;
3534
3898
  update(object: Partial<EditableData<Data>> & Identifiable): Promise<SelectedPick<Record, ['*']>>;
3535
3899
  update(recordId: string, object: Partial<EditableData<Data>>): Promise<SelectedPick<Record, ['*']>>;
3536
3900
  update(objects: Array<Partial<EditableData<Data>> & Identifiable>): Promise<SelectedPick<Record, ['*']>[]>;
3901
+ update<K extends SelectableColumn<Record>>(object: Partial<EditableData<Data>> & Identifiable, columns: K[]): Promise<SelectedPick<Record, typeof columns>>;
3902
+ update<K extends SelectableColumn<Record>>(recordId: string, object: Partial<EditableData<Data>>, columns: K[]): Promise<SelectedPick<Record, typeof columns>>;
3903
+ update<K extends SelectableColumn<Record>>(objects: Array<Partial<EditableData<Data>> & Identifiable>, columns: K[]): Promise<SelectedPick<Record, typeof columns>[]>;
3537
3904
  createOrUpdate(object: EditableData<Data>): Promise<SelectedPick<Record, ['*']>>;
3538
3905
  createOrUpdate(recordId: string, object: EditableData<Data>): Promise<SelectedPick<Record, ['*']>>;
3539
3906
  createOrUpdate(objects: EditableData<Data>[]): Promise<SelectedPick<Record, ['*']>[]>;
3907
+ createOrUpdate<K extends SelectableColumn<Record>>(object: EditableData<Data>, columns: K[]): Promise<SelectedPick<Record, typeof columns>>;
3908
+ createOrUpdate<K extends SelectableColumn<Record>>(recordId: string, object: EditableData<Data>, columns: K[]): Promise<SelectedPick<Record, typeof columns>>;
3909
+ createOrUpdate<K extends SelectableColumn<Record>>(objects: EditableData<Data>[], columns: K[]): Promise<SelectedPick<Record, typeof columns>[]>;
3540
3910
  delete(a: string | Identifiable | Array<string | Identifiable>): Promise<void>;
3541
3911
  search(query: string, options?: {
3542
3912
  fuzziness?: FuzzinessExpression;
3913
+ prefix?: PrefixExpression;
3543
3914
  highlight?: HighlightExpression;
3544
3915
  filter?: Filter<Record>;
3545
- }): Promise<SelectedPick<Record, ['*']>[]>;
3916
+ boosters?: Boosters<Record>[];
3917
+ }): Promise<any>;
3546
3918
  query<Result extends XataRecord>(query: Query<Record, Result>): Promise<Page<Record, Result>>;
3547
3919
  }
3548
3920
 
3921
+ declare type BaseSchema = {
3922
+ name: string;
3923
+ columns: readonly ({
3924
+ name: string;
3925
+ type: Column['type'];
3926
+ } | {
3927
+ name: string;
3928
+ type: 'link';
3929
+ link: {
3930
+ table: string;
3931
+ };
3932
+ } | {
3933
+ name: string;
3934
+ type: 'object';
3935
+ columns: {
3936
+ name: string;
3937
+ type: string;
3938
+ }[];
3939
+ })[];
3940
+ };
3941
+ declare type SchemaInference<T extends readonly BaseSchema[]> = T extends never[] ? Record<string, Record<string, any>> : T extends readonly unknown[] ? T[number] extends {
3942
+ name: string;
3943
+ columns: readonly unknown[];
3944
+ } ? {
3945
+ [K in T[number]['name']]: TableType<T[number], K>;
3946
+ } : never : never;
3947
+ declare type TableType<Tables, TableName> = Tables & {
3948
+ name: TableName;
3949
+ } extends infer Table ? Table extends {
3950
+ name: string;
3951
+ columns: infer Columns;
3952
+ } ? Columns extends readonly unknown[] ? Columns[number] extends {
3953
+ name: string;
3954
+ type: string;
3955
+ } ? Identifiable & {
3956
+ [K in Columns[number]['name']]?: PropertyType<Tables, Columns[number], K>;
3957
+ } : never : never : never : never;
3958
+ declare type PropertyType<Tables, Properties, PropertyName> = Properties & {
3959
+ name: PropertyName;
3960
+ } extends infer Property ? Property extends {
3961
+ name: string;
3962
+ type: infer Type;
3963
+ link?: {
3964
+ table: infer LinkedTable;
3965
+ };
3966
+ columns?: infer ObjectColumns;
3967
+ } ? (Type extends 'string' | 'text' | 'email' ? string : Type extends 'int' | 'float' ? number : Type extends 'bool' ? boolean : Type extends 'datetime' ? Date : Type extends 'multiple' ? string[] : Type extends 'object' ? ObjectColumns extends readonly unknown[] ? ObjectColumns[number] extends {
3968
+ name: string;
3969
+ type: string;
3970
+ } ? {
3971
+ [K in ObjectColumns[number]['name']]?: PropertyType<Tables, ObjectColumns[number], K>;
3972
+ } : never : never : Type extends 'link' ? TableType<Tables, LinkedTable> & XataRecord : never) | null : never : never;
3973
+
3549
3974
  /**
3550
3975
  * Operator to restrict results to only values that are greater than the given value.
3551
3976
  */
@@ -3629,52 +4054,10 @@ declare type SchemaPluginResult<Schemas extends Record<string, BaseData>> = {
3629
4054
  };
3630
4055
  declare class SchemaPlugin<Schemas extends Record<string, BaseData>> extends XataPlugin {
3631
4056
  #private;
3632
- private tableNames?;
3633
- constructor(tableNames?: string[] | undefined);
4057
+ constructor(schemaTables?: Schemas.Table[]);
3634
4058
  build(pluginOptions: XataPluginOptions): SchemaPluginResult<Schemas>;
3635
4059
  }
3636
4060
 
3637
- declare type SearchOptions<Schemas extends Record<string, BaseData>, Tables extends StringKeys<Schemas>> = {
3638
- fuzziness?: FuzzinessExpression;
3639
- highlight?: HighlightExpression;
3640
- tables?: Array<Tables | Values<{
3641
- [Model in GetArrayInnerType<NonNullable<Tables[]>>]: {
3642
- table: Model;
3643
- filter?: Filter<SelectedPick<Schemas[Model] & SearchXataRecord, ['*']>>;
3644
- };
3645
- }>>;
3646
- };
3647
- declare type SearchPluginResult<Schemas extends Record<string, BaseData>> = {
3648
- all: <Tables extends StringKeys<Schemas>>(query: string, options?: SearchOptions<Schemas, Tables>) => Promise<Values<{
3649
- [Model in ExtractTables<Schemas, Tables, GetArrayInnerType<NonNullable<NonNullable<typeof options>['tables']>>>]: {
3650
- table: Model;
3651
- record: Awaited<SelectedPick<Schemas[Model] & SearchXataRecord, ['*']>>;
3652
- };
3653
- }>[]>;
3654
- byTable: <Tables extends StringKeys<Schemas>>(query: string, options?: SearchOptions<Schemas, Tables>) => Promise<{
3655
- [Model in ExtractTables<Schemas, Tables, GetArrayInnerType<NonNullable<NonNullable<typeof options>['tables']>>>]?: Awaited<SelectedPick<Schemas[Model] & SearchXataRecord, ['*']>[]>;
3656
- }>;
3657
- };
3658
- declare class SearchPlugin<Schemas extends Record<string, BaseData>> extends XataPlugin {
3659
- #private;
3660
- private db;
3661
- constructor(db: SchemaPluginResult<Schemas>);
3662
- build({ getFetchProps }: XataPluginOptions): SearchPluginResult<Schemas>;
3663
- }
3664
- declare type SearchXataRecord = XataRecord<SearchExtraProperties>;
3665
- declare type SearchExtraProperties = {
3666
- table: string;
3667
- highlight?: {
3668
- [key: string]: string[] | {
3669
- [key: string]: any;
3670
- };
3671
- };
3672
- };
3673
- declare type ReturnTable<Table, Tables> = Table extends Tables ? Table : never;
3674
- declare type ExtractTables<Schemas extends Record<string, BaseData>, Tables extends StringKeys<Schemas>, TableOptions extends GetArrayInnerType<NonNullable<NonNullable<SearchOptions<Schemas, Tables>>['tables']>>> = TableOptions extends `${infer Table}` ? ReturnTable<Table, Tables> : TableOptions extends {
3675
- table: infer Table;
3676
- } ? ReturnTable<Table, Tables> : never;
3677
-
3678
4061
  declare type BranchStrategyValue = string | undefined | null;
3679
4062
  declare type BranchStrategyBuilder = () => BranchStrategyValue | Promise<BranchStrategyValue>;
3680
4063
  declare type BranchStrategy = BranchStrategyValue | BranchStrategyBuilder;
@@ -3689,16 +4072,30 @@ declare type BaseClientOptions = {
3689
4072
  };
3690
4073
  declare const buildClient: <Plugins extends Record<string, XataPlugin> = {}>(plugins?: Plugins | undefined) => ClientConstructor<Plugins>;
3691
4074
  interface ClientConstructor<Plugins extends Record<string, XataPlugin>> {
3692
- new <Schemas extends Record<string, BaseData> = {}>(options?: Partial<BaseClientOptions>, tables?: string[]): Omit<{
3693
- db: Awaited<ReturnType<SchemaPlugin<Schemas>['build']>>;
3694
- search: Awaited<ReturnType<SearchPlugin<Schemas>['build']>>;
4075
+ new <T extends readonly BaseSchema[]>(options?: Partial<BaseClientOptions>, schemaTables?: T): Omit<{
4076
+ db: Awaited<ReturnType<SchemaPlugin<SchemaInference<NonNullable<typeof schemaTables>>>['build']>>;
4077
+ search: Awaited<ReturnType<SearchPlugin<SchemaInference<NonNullable<typeof schemaTables>>>['build']>>;
3695
4078
  }, keyof Plugins> & {
3696
4079
  [Key in StringKeys<NonNullable<Plugins>>]: Awaited<ReturnType<NonNullable<Plugins>[Key]['build']>>;
4080
+ } & {
4081
+ getConfig(): Promise<{
4082
+ databaseURL: string;
4083
+ branch: string;
4084
+ }>;
3697
4085
  };
3698
4086
  }
3699
4087
  declare const BaseClient_base: ClientConstructor<{}>;
3700
- declare class BaseClient extends BaseClient_base<Record<string, any>> {
4088
+ declare class BaseClient extends BaseClient_base<[]> {
4089
+ }
4090
+
4091
+ declare class Serializer {
4092
+ classes: Record<string, any>;
4093
+ add(clazz: any): void;
4094
+ toJSON<T>(data: T): string;
4095
+ fromJSON<T>(json: string): T;
3701
4096
  }
4097
+ declare const serialize: <T>(data: T) => string;
4098
+ declare const deserialize: <T>(json: string) => T;
3702
4099
 
3703
4100
  declare type BranchResolutionOptions = {
3704
4101
  databaseURL?: string;
@@ -3711,9 +4108,89 @@ declare function getDatabaseURL(): string | undefined;
3711
4108
 
3712
4109
  declare function getAPIKey(): string | undefined;
3713
4110
 
4111
+ interface Body {
4112
+ arrayBuffer(): Promise<ArrayBuffer>;
4113
+ blob(): Promise<Blob>;
4114
+ formData(): Promise<FormData>;
4115
+ json(): Promise<any>;
4116
+ text(): Promise<string>;
4117
+ }
4118
+ interface Blob {
4119
+ readonly size: number;
4120
+ readonly type: string;
4121
+ arrayBuffer(): Promise<ArrayBuffer>;
4122
+ slice(start?: number, end?: number, contentType?: string): Blob;
4123
+ text(): Promise<string>;
4124
+ }
4125
+ /** Provides information about files and allows JavaScript in a web page to access their content. */
4126
+ interface File extends Blob {
4127
+ readonly lastModified: number;
4128
+ readonly name: string;
4129
+ readonly webkitRelativePath: string;
4130
+ }
4131
+ declare type FormDataEntryValue = File | string;
4132
+ /** Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to "multipart/form-data". */
4133
+ interface FormData {
4134
+ append(name: string, value: string | Blob, fileName?: string): void;
4135
+ delete(name: string): void;
4136
+ get(name: string): FormDataEntryValue | null;
4137
+ getAll(name: string): FormDataEntryValue[];
4138
+ has(name: string): boolean;
4139
+ set(name: string, value: string | Blob, fileName?: string): void;
4140
+ forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void;
4141
+ }
4142
+ /** This Fetch API interface allows you to perform various actions on HTTP request and response headers. These actions include retrieving, setting, adding to, and removing. A Headers object has an associated header list, which is initially empty and consists of zero or more name and value pairs. You can add to this using methods like append() (see Examples.) In all methods of this interface, header names are matched by case-insensitive byte sequence. */
4143
+ interface Headers {
4144
+ append(name: string, value: string): void;
4145
+ delete(name: string): void;
4146
+ get(name: string): string | null;
4147
+ has(name: string): boolean;
4148
+ set(name: string, value: string): void;
4149
+ forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void;
4150
+ }
4151
+ interface Request extends Body {
4152
+ /** Returns the cache mode associated with request, which is a string indicating how the request will interact with the browser's cache when fetching. */
4153
+ readonly cache: 'default' | 'force-cache' | 'no-cache' | 'no-store' | 'only-if-cached' | 'reload';
4154
+ /** Returns the credentials mode associated with request, which is a string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. */
4155
+ readonly credentials: 'include' | 'omit' | 'same-origin';
4156
+ /** Returns the kind of resource requested by request, e.g., "document" or "script". */
4157
+ readonly destination: '' | 'audio' | 'audioworklet' | 'document' | 'embed' | 'font' | 'frame' | 'iframe' | 'image' | 'manifest' | 'object' | 'paintworklet' | 'report' | 'script' | 'sharedworker' | 'style' | 'track' | 'video' | 'worker' | 'xslt';
4158
+ /** Returns a Headers object consisting of the headers associated with request. Note that headers added in the network layer by the user agent will not be accounted for in this object, e.g., the "Host" header. */
4159
+ readonly headers: Headers;
4160
+ /** Returns request's subresource integrity metadata, which is a cryptographic hash of the resource being fetched. Its value consists of multiple hashes separated by whitespace. [SRI] */
4161
+ readonly integrity: string;
4162
+ /** Returns a boolean indicating whether or not request can outlive the global in which it was created. */
4163
+ readonly keepalive: boolean;
4164
+ /** Returns request's HTTP method, which is "GET" by default. */
4165
+ readonly method: string;
4166
+ /** Returns the mode associated with request, which is a string indicating whether the request will use CORS, or will be restricted to same-origin URLs. */
4167
+ readonly mode: 'cors' | 'navigate' | 'no-cors' | 'same-origin';
4168
+ /** Returns the redirect mode associated with request, which is a string indicating how redirects for the request will be handled during fetching. A request will follow redirects by default. */
4169
+ readonly redirect: 'error' | 'follow' | 'manual';
4170
+ /** Returns the referrer of request. Its value can be a same-origin URL if explicitly set in init, the empty string to indicate no referrer, and "about:client" when defaulting to the global's default. This is used during fetching to determine the value of the `Referer` header of the request being made. */
4171
+ readonly referrer: string;
4172
+ /** Returns the referrer policy associated with request. This is used during fetching to compute the value of the request's referrer. */
4173
+ readonly referrerPolicy: '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
4174
+ /** Returns the URL of request as a string. */
4175
+ readonly url: string;
4176
+ clone(): Request;
4177
+ }
4178
+
4179
+ declare type XataWorkerContext<XataClient> = {
4180
+ xata: XataClient;
4181
+ request: Request;
4182
+ env: Record<string, string | undefined>;
4183
+ };
4184
+ declare type RemoveFirst<T> = T extends [any, ...infer U] ? U : never;
4185
+ declare type WorkerRunnerConfig = {
4186
+ workspace: string;
4187
+ worker: string;
4188
+ };
4189
+ declare function buildWorkerRunner<XataClient>(config: WorkerRunnerConfig): <WorkerFunction extends (ctx: XataWorkerContext<XataClient>, ...args: any[]) => any>(name: string, _worker: WorkerFunction) => (...args: RemoveFirst<Parameters<WorkerFunction>>) => Promise<Awaited<ReturnType<WorkerFunction>>>;
4190
+
3714
4191
  declare class XataError extends Error {
3715
4192
  readonly status: number;
3716
4193
  constructor(message: string, status: number);
3717
4194
  }
3718
4195
 
3719
- export { AcceptWorkspaceMemberInviteError, AcceptWorkspaceMemberInvitePathParams, AcceptWorkspaceMemberInviteVariables, AddGitBranchesEntryError, AddGitBranchesEntryPathParams, AddGitBranchesEntryRequestBody, AddGitBranchesEntryResponse, AddGitBranchesEntryVariables, AddTableColumnError, AddTableColumnPathParams, AddTableColumnVariables, BaseClient, BaseClientOptions, BaseData, BulkInsertTableRecordsError, BulkInsertTableRecordsPathParams, BulkInsertTableRecordsRequestBody, BulkInsertTableRecordsResponse, BulkInsertTableRecordsVariables, CacheImpl, CancelWorkspaceMemberInviteError, CancelWorkspaceMemberInvitePathParams, CancelWorkspaceMemberInviteVariables, ClientConstructor, CreateBranchError, CreateBranchPathParams, CreateBranchQueryParams, CreateBranchRequestBody, CreateBranchVariables, CreateDatabaseError, CreateDatabasePathParams, CreateDatabaseRequestBody, CreateDatabaseResponse, CreateDatabaseVariables, CreateTableError, CreateTablePathParams, CreateTableVariables, CreateUserAPIKeyError, CreateUserAPIKeyPathParams, CreateUserAPIKeyResponse, CreateUserAPIKeyVariables, CreateWorkspaceError, CreateWorkspaceVariables, CursorNavigationOptions, DeleteBranchError, DeleteBranchPathParams, DeleteBranchVariables, DeleteColumnError, DeleteColumnPathParams, DeleteColumnVariables, DeleteDatabaseError, DeleteDatabasePathParams, DeleteDatabaseVariables, DeleteRecordError, DeleteRecordPathParams, DeleteRecordVariables, DeleteTableError, DeleteTablePathParams, DeleteTableVariables, DeleteUserAPIKeyError, DeleteUserAPIKeyPathParams, DeleteUserAPIKeyVariables, DeleteUserError, DeleteUserVariables, DeleteWorkspaceError, DeleteWorkspacePathParams, DeleteWorkspaceVariables, EditableData, ExecuteBranchMigrationPlanError, ExecuteBranchMigrationPlanPathParams, ExecuteBranchMigrationPlanRequestBody, ExecuteBranchMigrationPlanVariables, FetchImpl, FetcherExtraProps, GetBranchDetailsError, GetBranchDetailsPathParams, GetBranchDetailsVariables, GetBranchListError, GetBranchListPathParams, GetBranchListVariables, GetBranchMetadataError, GetBranchMetadataPathParams, GetBranchMetadataVariables, GetBranchMigrationHistoryError, GetBranchMigrationHistoryPathParams, GetBranchMigrationHistoryRequestBody, GetBranchMigrationHistoryResponse, GetBranchMigrationHistoryVariables, GetBranchMigrationPlanError, GetBranchMigrationPlanPathParams, GetBranchMigrationPlanVariables, GetBranchStatsError, GetBranchStatsPathParams, GetBranchStatsResponse, GetBranchStatsVariables, GetColumnError, GetColumnPathParams, GetColumnVariables, GetDatabaseListError, GetDatabaseListPathParams, GetDatabaseListVariables, GetGitBranchesMappingError, GetGitBranchesMappingPathParams, GetGitBranchesMappingVariables, GetRecordError, GetRecordPathParams, GetRecordRequestBody, GetRecordVariables, GetTableColumnsError, GetTableColumnsPathParams, GetTableColumnsResponse, GetTableColumnsVariables, GetTableSchemaError, GetTableSchemaPathParams, GetTableSchemaResponse, GetTableSchemaVariables, GetUserAPIKeysError, GetUserAPIKeysResponse, GetUserAPIKeysVariables, GetUserError, GetUserVariables, GetWorkspaceError, GetWorkspaceMembersListError, GetWorkspaceMembersListPathParams, GetWorkspaceMembersListVariables, GetWorkspacePathParams, GetWorkspaceVariables, GetWorkspacesListError, GetWorkspacesListResponse, GetWorkspacesListVariables, Identifiable, InsertRecordError, InsertRecordPathParams, InsertRecordResponse, InsertRecordVariables, InsertRecordWithIDError, InsertRecordWithIDPathParams, InsertRecordWithIDQueryParams, InsertRecordWithIDVariables, InviteWorkspaceMemberError, InviteWorkspaceMemberPathParams, InviteWorkspaceMemberRequestBody, InviteWorkspaceMemberVariables, OffsetNavigationOptions, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Paginable, PaginationQueryMeta, Query, QueryTableError, QueryTablePathParams, QueryTableRequestBody, QueryTableVariables, RecordArray, RemoveGitBranchesEntryError, RemoveGitBranchesEntryPathParams, RemoveGitBranchesEntryQueryParams, RemoveGitBranchesEntryVariables, RemoveWorkspaceMemberError, RemoveWorkspaceMemberPathParams, RemoveWorkspaceMemberVariables, Repository, ResendWorkspaceMemberInviteError, ResendWorkspaceMemberInvitePathParams, ResendWorkspaceMemberInviteVariables, ResolveBranchError, ResolveBranchPathParams, ResolveBranchQueryParams, ResolveBranchResponse, ResolveBranchVariables, responses as Responses, RestRepository, SchemaDefinition, SchemaPlugin, SchemaPluginResult, schemas as Schemas, SearchBranchError, SearchBranchPathParams, SearchBranchRequestBody, SearchBranchVariables, SearchOptions, SearchPlugin, SearchPluginResult, SearchTableError, SearchTablePathParams, SearchTableRequestBody, SearchTableVariables, SelectableColumn, SelectedPick, SetTableSchemaError, SetTableSchemaPathParams, SetTableSchemaRequestBody, SetTableSchemaVariables, SimpleCache, SimpleCacheOptions, UpdateBranchMetadataError, UpdateBranchMetadataPathParams, UpdateBranchMetadataVariables, UpdateColumnError, UpdateColumnPathParams, UpdateColumnRequestBody, UpdateColumnVariables, UpdateRecordWithIDError, UpdateRecordWithIDPathParams, UpdateRecordWithIDQueryParams, UpdateRecordWithIDVariables, UpdateTableError, UpdateTablePathParams, UpdateTableRequestBody, UpdateTableVariables, UpdateUserError, UpdateUserVariables, UpdateWorkspaceError, UpdateWorkspaceMemberRoleError, UpdateWorkspaceMemberRolePathParams, UpdateWorkspaceMemberRoleRequestBody, UpdateWorkspaceMemberRoleVariables, UpdateWorkspacePathParams, UpdateWorkspaceVariables, UpsertRecordWithIDError, UpsertRecordWithIDPathParams, UpsertRecordWithIDQueryParams, UpsertRecordWithIDVariables, ValueAtColumn, XataApiClient, XataApiClientOptions, XataApiPlugin, XataError, XataPlugin, XataPluginOptions, XataRecord, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberRole, upsertRecordWithID };
4196
+ export { AcceptWorkspaceMemberInviteError, AcceptWorkspaceMemberInvitePathParams, AcceptWorkspaceMemberInviteVariables, AddGitBranchesEntryError, AddGitBranchesEntryPathParams, AddGitBranchesEntryRequestBody, AddGitBranchesEntryResponse, AddGitBranchesEntryVariables, AddTableColumnError, AddTableColumnPathParams, AddTableColumnVariables, BaseClient, BaseClientOptions, BaseData, BaseSchema, BulkInsertTableRecordsError, BulkInsertTableRecordsPathParams, BulkInsertTableRecordsQueryParams, BulkInsertTableRecordsRequestBody, BulkInsertTableRecordsVariables, CacheImpl, CancelWorkspaceMemberInviteError, CancelWorkspaceMemberInvitePathParams, CancelWorkspaceMemberInviteVariables, ClientConstructor, CreateBranchError, CreateBranchPathParams, CreateBranchQueryParams, CreateBranchRequestBody, CreateBranchResponse, CreateBranchVariables, CreateDatabaseError, CreateDatabasePathParams, CreateDatabaseRequestBody, CreateDatabaseResponse, CreateDatabaseVariables, CreateTableError, CreateTablePathParams, CreateTableResponse, CreateTableVariables, CreateUserAPIKeyError, CreateUserAPIKeyPathParams, CreateUserAPIKeyResponse, CreateUserAPIKeyVariables, CreateWorkspaceError, CreateWorkspaceVariables, CursorNavigationOptions, DeleteBranchError, DeleteBranchPathParams, DeleteBranchVariables, DeleteColumnError, DeleteColumnPathParams, DeleteColumnVariables, DeleteDatabaseError, DeleteDatabasePathParams, DeleteDatabaseVariables, DeleteRecordError, DeleteRecordPathParams, DeleteRecordQueryParams, DeleteRecordVariables, DeleteTableError, DeleteTablePathParams, DeleteTableVariables, DeleteUserAPIKeyError, DeleteUserAPIKeyPathParams, DeleteUserAPIKeyVariables, DeleteUserError, DeleteUserVariables, DeleteWorkspaceError, DeleteWorkspacePathParams, DeleteWorkspaceVariables, EditableData, ExecuteBranchMigrationPlanError, ExecuteBranchMigrationPlanPathParams, ExecuteBranchMigrationPlanRequestBody, ExecuteBranchMigrationPlanVariables, FetchImpl, FetcherExtraProps, GetBranchDetailsError, GetBranchDetailsPathParams, GetBranchDetailsVariables, GetBranchListError, GetBranchListPathParams, GetBranchListVariables, GetBranchMetadataError, GetBranchMetadataPathParams, GetBranchMetadataVariables, GetBranchMigrationHistoryError, GetBranchMigrationHistoryPathParams, GetBranchMigrationHistoryRequestBody, GetBranchMigrationHistoryResponse, GetBranchMigrationHistoryVariables, GetBranchMigrationPlanError, GetBranchMigrationPlanPathParams, GetBranchMigrationPlanVariables, GetBranchStatsError, GetBranchStatsPathParams, GetBranchStatsResponse, GetBranchStatsVariables, GetColumnError, GetColumnPathParams, GetColumnVariables, GetDatabaseListError, GetDatabaseListPathParams, GetDatabaseListVariables, GetDatabaseMetadataError, GetDatabaseMetadataPathParams, GetDatabaseMetadataVariables, GetGitBranchesMappingError, GetGitBranchesMappingPathParams, GetGitBranchesMappingVariables, GetRecordError, GetRecordPathParams, GetRecordQueryParams, GetRecordVariables, GetTableColumnsError, GetTableColumnsPathParams, GetTableColumnsResponse, GetTableColumnsVariables, GetTableSchemaError, GetTableSchemaPathParams, GetTableSchemaResponse, GetTableSchemaVariables, GetUserAPIKeysError, GetUserAPIKeysResponse, GetUserAPIKeysVariables, GetUserError, GetUserVariables, GetWorkspaceError, GetWorkspaceMembersListError, GetWorkspaceMembersListPathParams, GetWorkspaceMembersListVariables, GetWorkspacePathParams, GetWorkspaceVariables, GetWorkspacesListError, GetWorkspacesListResponse, GetWorkspacesListVariables, Identifiable, InsertRecordError, InsertRecordPathParams, InsertRecordQueryParams, InsertRecordVariables, InsertRecordWithIDError, InsertRecordWithIDPathParams, InsertRecordWithIDQueryParams, InsertRecordWithIDVariables, InviteWorkspaceMemberError, InviteWorkspaceMemberPathParams, InviteWorkspaceMemberRequestBody, InviteWorkspaceMemberVariables, Link, OffsetNavigationOptions, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Paginable, PaginationQueryMeta, Query, QueryTableError, QueryTablePathParams, QueryTableRequestBody, QueryTableVariables, RecordArray, RemoveGitBranchesEntryError, RemoveGitBranchesEntryPathParams, RemoveGitBranchesEntryQueryParams, RemoveGitBranchesEntryVariables, RemoveWorkspaceMemberError, RemoveWorkspaceMemberPathParams, RemoveWorkspaceMemberVariables, Repository, ResendWorkspaceMemberInviteError, ResendWorkspaceMemberInvitePathParams, ResendWorkspaceMemberInviteVariables, ResolveBranchError, ResolveBranchPathParams, ResolveBranchQueryParams, ResolveBranchResponse, ResolveBranchVariables, responses as Responses, RestRepository, SchemaDefinition, SchemaInference, SchemaPlugin, SchemaPluginResult, schemas as Schemas, SearchBranchError, SearchBranchPathParams, SearchBranchRequestBody, SearchBranchVariables, SearchOptions, SearchPlugin, SearchPluginResult, SearchTableError, SearchTablePathParams, SearchTableRequestBody, SearchTableVariables, SearchXataRecord, SelectableColumn, SelectedPick, Serializer, SetTableSchemaError, SetTableSchemaPathParams, SetTableSchemaRequestBody, SetTableSchemaVariables, SimpleCache, SimpleCacheOptions, UpdateBranchMetadataError, UpdateBranchMetadataPathParams, UpdateBranchMetadataVariables, UpdateColumnError, UpdateColumnPathParams, UpdateColumnRequestBody, UpdateColumnVariables, UpdateRecordWithIDError, UpdateRecordWithIDPathParams, UpdateRecordWithIDQueryParams, UpdateRecordWithIDVariables, UpdateTableError, UpdateTablePathParams, UpdateTableRequestBody, UpdateTableVariables, UpdateUserError, UpdateUserVariables, UpdateWorkspaceError, UpdateWorkspaceMemberInviteError, UpdateWorkspaceMemberInvitePathParams, UpdateWorkspaceMemberInviteRequestBody, UpdateWorkspaceMemberInviteVariables, UpdateWorkspaceMemberRoleError, UpdateWorkspaceMemberRolePathParams, UpdateWorkspaceMemberRoleRequestBody, UpdateWorkspaceMemberRoleVariables, UpdateWorkspacePathParams, UpdateWorkspaceVariables, UpsertRecordWithIDError, UpsertRecordWithIDPathParams, UpsertRecordWithIDQueryParams, UpsertRecordWithIDVariables, ValueAtColumn, XataApiClient, XataApiClientOptions, XataApiPlugin, XataError, XataPlugin, XataPluginOptions, XataRecord, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, buildWorkerRunner, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, deserialize, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseMetadata, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, serialize, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberInvite, updateWorkspaceMemberRole, upsertRecordWithID };