@xylex-group/athena 2.7.0 → 2.8.2

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.
Files changed (36) hide show
  1. package/README.md +218 -18
  2. package/dist/browser.cjs +2173 -675
  3. package/dist/browser.cjs.map +1 -1
  4. package/dist/browser.d.cts +8 -7
  5. package/dist/browser.d.ts +8 -7
  6. package/dist/browser.js +2167 -676
  7. package/dist/browser.js.map +1 -1
  8. package/dist/cli/index.cjs +2068 -559
  9. package/dist/cli/index.cjs.map +1 -1
  10. package/dist/cli/index.d.cts +3 -3
  11. package/dist/cli/index.d.ts +3 -3
  12. package/dist/cli/index.js +2068 -559
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/index.cjs +2815 -945
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +8 -7
  17. package/dist/index.d.ts +8 -7
  18. package/dist/index.js +2809 -946
  19. package/dist/index.js.map +1 -1
  20. package/dist/{model-form-AKYrgede.d.ts → model-form-Cx3wtvi8.d.ts} +963 -93
  21. package/dist/{model-form-ehfqLuG7.d.cts → model-form-_ugfOXao.d.cts} +963 -93
  22. package/dist/{pipeline-BfCWSRYl.d.cts → pipeline-BtD-Uo5X.d.cts} +1 -1
  23. package/dist/{pipeline-BUsR9XlO.d.ts → pipeline-yCIZNJHE.d.ts} +1 -1
  24. package/dist/{react-email-BQzmXBDE.d.cts → react-email-CiiSVa9F.d.cts} +121 -10
  25. package/dist/{react-email-BrVRp80B.d.ts → react-email-WN8UU3AL.d.ts} +121 -10
  26. package/dist/react.cjs +1 -1
  27. package/dist/react.cjs.map +1 -1
  28. package/dist/react.d.cts +4 -4
  29. package/dist/react.d.ts +4 -4
  30. package/dist/react.js +1 -1
  31. package/dist/react.js.map +1 -1
  32. package/dist/{types-t_TVqnmp.d.ts → types-89EfjLjV.d.cts} +48 -5
  33. package/dist/{types-BSIsyss1.d.cts → types-C2kiTt6-.d.ts} +48 -5
  34. package/dist/{types-BsyRW49r.d.cts → types-g8G6J0xE.d.cts} +26 -1
  35. package/dist/{types-BsyRW49r.d.ts → types-g8G6J0xE.d.ts} +26 -1
  36. package/package.json +28 -57
@@ -1,4 +1,4 @@
1
- import { i as AthenaJsonValue, a as AthenaGatewayCallOptions, g as AthenaJsonObject, j as AthenaRpcCallOptions, W as AthenaGatewayEndpointPath, X as AthenaGatewayMethod, Y as AthenaConditionValue, Z as AthenaConditionArrayValue, R as RegistryDef, D as DatabaseDef, F as SchemaDef, J as AnyModelDef, x as ModelDef, C as ModelRelationMetadata, E as RowOf, o as BackendConfig, p as BackendType, e as AthenaGatewayErrorDetails, A as AthenaConditionCastType, _ as AthenaConditionOperator, b as AthenaGatewayConnectionOptions, c as AthenaGatewayConnectionResult, d as AthenaGatewayErrorCode, P as AthenaGatewayResponse, q as InsertOf, U as UpdateOf } from './types-BsyRW49r.cjs';
1
+ import { j as AthenaModelTarget, H as RowOf, r as InsertOf, U as UpdateOf, i as AthenaJsonValue, a as AthenaGatewayCallOptions, g as AthenaJsonObject, k as AthenaRpcCallOptions, b as AthenaGatewayConnectionOptions, c as AthenaGatewayConnectionResult, V as AthenaFetchPayload, W as AthenaGatewayResponse, X as AthenaInsertPayload, Y as AthenaUpdatePayload, Q as AthenaDeletePayload, o as AthenaRpcPayload, Z as AthenaQueryPayload, _ as AthenaGatewayEndpointPath, $ as AthenaGatewayMethod, a0 as AthenaConditionValue, a1 as AthenaConditionArrayValue, R as RegistryDef, D as DatabaseDef, J as SchemaDef, N as AnyModelDef, C as ModelDef, G as ModelRelationMetadata, a2 as AthenaGatewayCondition, a3 as AthenaSortBy, l as AthenaRpcFilter, p as BackendConfig, q as BackendType, e as AthenaGatewayErrorDetails, A as AthenaConditionCastType, a4 as AthenaConditionOperator, d as AthenaGatewayErrorCode } from './types-g8G6J0xE.cjs';
2
2
 
3
3
  type AthenaAuthMethod = 'GET' | 'POST';
4
4
  type AthenaAuthCredentials = 'omit' | 'same-origin' | 'include';
@@ -1396,6 +1396,10 @@ declare class AthenaError extends Error {
1396
1396
  */
1397
1397
  declare function isOk<T>(result: AthenaResult<T>): boolean;
1398
1398
  /**
1399
+ * @deprecated Prefer `result.error` on failed `AthenaResult` values and the
1400
+ * structured fields already attached to thrown SDK errors. This helper is
1401
+ * retained for compatibility with mixed unknown inputs.
1402
+ *
1399
1403
  * Normalizes any Athena failure shape into a stable, typed error envelope.
1400
1404
  *
1401
1405
  * Accepts `AthenaResult`, `AthenaGatewayError`, native `Error`, or unknown values.
@@ -1466,26 +1470,66 @@ declare function assertInt(value: unknown, label?: string, options?: IntCoercion
1466
1470
  */
1467
1471
  declare function withRetry<T>(config: RetryConfig, fn: () => Promise<T>): Promise<T>;
1468
1472
 
1473
+ type Whitespace = ' ' | '\n' | '\r' | '\t';
1474
+ type TrimLeft<TValue extends string> = TValue extends `${Whitespace}${infer TRest}` ? TrimLeft<TRest> : TValue;
1475
+ type TrimRight<TValue extends string> = TValue extends `${infer TRest}${Whitespace}` ? TrimRight<TRest> : TValue;
1476
+ type Trim<TValue extends string> = TrimLeft<TrimRight<TValue>>;
1477
+ type KnownSelectColumnKey<Row> = Extract<keyof NonNullable<Row>, string>;
1478
+ type HasKnownSelectColumns<Row> = [KnownSelectColumnKey<Row>] extends [never] ? false : string extends KnownSelectColumnKey<Row> ? false : true;
1479
+ type HasComplexSelectTokenSyntax<TValue extends string> = TValue extends `${string}(${string}` ? true : TValue extends `${string})${string}` ? true : TValue extends `${string}.${string}` ? true : TValue extends `${string}"${string}` ? true : TValue extends `${string}'${string}` ? true : false;
1480
+ type ValidateAliasedBase<Row, TOriginal extends string, TBase extends string> = HasComplexSelectTokenSyntax<Trim<TBase>> extends true ? TOriginal : Trim<TBase> extends KnownSelectColumnKey<Row> ? TOriginal : never;
1481
+ type ValidateSelectToken<Row, TToken extends string> = Trim<TToken> extends infer TTrimmed extends string ? TTrimmed extends '' ? never : TTrimmed extends '*' ? TTrimmed : TTrimmed extends `${string}:${infer TBase}` ? ValidateAliasedBase<Row, TTrimmed, TBase> : TTrimmed extends `${infer TBase} as ${string}` ? ValidateAliasedBase<Row, TTrimmed, TBase> : TTrimmed extends `${infer TBase} AS ${string}` ? ValidateAliasedBase<Row, TTrimmed, TBase> : HasComplexSelectTokenSyntax<TTrimmed> extends true ? TTrimmed : TTrimmed extends KnownSelectColumnKey<Row> ? TTrimmed : never : never;
1482
+ type ValidateSelectList<Row, TValue extends string> = string extends TValue ? TValue : HasComplexSelectTokenSyntax<TValue> extends true ? TValue : TValue extends `${infer THead},${infer TTail}` ? ValidateSelectToken<Row, THead> extends never ? never : ValidateSelectList<Row, TTail> extends never ? never : TValue : ValidateSelectToken<Row, TValue> extends never ? never : TValue;
1483
+ type ValidateSelectArray<Row, TValue extends readonly string[]> = string extends TValue[number] ? TValue : TValue extends readonly [
1484
+ infer THead extends string,
1485
+ ...infer TTail extends readonly string[]
1486
+ ] ? ValidateSelectToken<Row, THead> extends never ? never : ValidateSelectArray<Row, TTail> extends never ? never : TValue : TValue;
1487
+ type AthenaSelectInput = string | string[] | readonly string[];
1488
+ type AthenaValidatedSelectInput<Row, TValue extends AthenaSelectInput> = HasKnownSelectColumns<Row> extends true ? TValue extends string ? ValidateSelectList<Row, TValue> : TValue extends readonly string[] ? ValidateSelectArray<Row, TValue> : never : TValue;
1489
+ type AthenaTypecheckedColumnKey<Row, TEnabled extends boolean> = TEnabled extends true ? HasKnownSelectColumns<Row> extends true ? KnownSelectColumnKey<Row> : string : string;
1490
+
1469
1491
  type AthenaRowShape$2 = Record<string, AthenaJsonValue | undefined>;
1470
1492
  type AthenaUpsertOptions<Update> = AthenaGatewayCallOptions & {
1471
1493
  updateBody?: Update;
1472
1494
  onConflict?: string | string[];
1473
1495
  };
1474
- interface AthenaDbModule {
1475
- from<Row = AthenaRowShape$2, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, options?: AthenaFromOptions): TableQueryBuilder<Row, Insert, Update>;
1476
- select<Row = AthenaRowShape$2, SelectedRow = Row>(table: string, columns?: string | string[], options?: AthenaGatewayCallOptions): SelectChain<Row, SelectedRow>;
1477
- insert<Row = AthenaRowShape$2, Insert = Partial<Row>>(table: string, values: Insert, options?: AthenaGatewayCallOptions): MutationQuery<Row>;
1478
- insert<Row = AthenaRowShape$2, Insert = Partial<Row>>(table: string, values: Insert[], options?: AthenaGatewayCallOptions): MutationQuery<Row[]>;
1479
- upsert<Row = AthenaRowShape$2, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, values: Insert, options?: AthenaUpsertOptions<Update>): MutationQuery<Row>;
1480
- upsert<Row = AthenaRowShape$2, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, values: Insert[], options?: AthenaUpsertOptions<Update>): MutationQuery<Row[]>;
1481
- update<Row = AthenaRowShape$2, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, values: Update, options?: AthenaGatewayCallOptions): UpdateChain<Row>;
1496
+ interface AthenaDbModule<TStrict extends boolean = false> {
1497
+ from<TModel extends AthenaModelTarget>(model: TModel): TableQueryBuilder<RowOf<TModel>, InsertOf<TModel>, UpdateOf<TModel>, unknown, TStrict>;
1498
+ from<Row = AthenaRowShape$2, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, options?: AthenaFromOptions): TableQueryBuilder<Row, Insert, Update, unknown, TStrict>;
1499
+ select<Row = AthenaRowShape$2>(table: string, options?: AthenaGatewayCallOptions): SelectChain<Row, Row, TStrict>;
1500
+ select(table: string, columns: AthenaSelectInput, options?: AthenaGatewayCallOptions): SelectChain<AthenaRowShape$2, AthenaRowShape$2, TStrict>;
1501
+ insert<Row = AthenaRowShape$2, Insert = Partial<Row>>(table: string, values: Insert, options?: AthenaGatewayCallOptions): MutationQuery<Row, Row, TStrict>;
1502
+ insert<Row = AthenaRowShape$2, Insert = Partial<Row>>(table: string, values: Insert[], options?: AthenaGatewayCallOptions): MutationQuery<Row[], Row, TStrict>;
1503
+ upsert<Row = AthenaRowShape$2, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, values: Insert, options?: AthenaUpsertOptions<Update>): MutationQuery<Row, Row, TStrict>;
1504
+ upsert<Row = AthenaRowShape$2, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, values: Insert[], options?: AthenaUpsertOptions<Update>): MutationQuery<Row[], Row, TStrict>;
1505
+ update<Row = AthenaRowShape$2, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, values: Update, options?: AthenaGatewayCallOptions): UpdateChain<Row, TStrict>;
1482
1506
  delete<Row = AthenaRowShape$2>(table: string, options?: AthenaGatewayCallOptions & {
1483
1507
  resourceId?: string;
1484
- }): MutationQuery<Row | null>;
1485
- rpc<Row = unknown, Args extends AthenaJsonObject = AthenaJsonObject>(fn: string, args?: Args, options?: AthenaRpcCallOptions): RpcQueryBuilder<Row>;
1508
+ }): MutationQuery<Row | null, Row, TStrict>;
1509
+ rpc<Row = unknown, Args extends AthenaJsonObject = AthenaJsonObject>(fn: string, args?: Args, options?: AthenaRpcCallOptions): RpcQueryBuilder<Row, TStrict>;
1486
1510
  query<Row = unknown>(query: string, options?: AthenaGatewayCallOptions): Promise<AthenaResult<Row[]>>;
1487
1511
  }
1488
1512
 
1513
+ interface AthenaFindManyAstPayload$1 {
1514
+ table_name: string;
1515
+ select: Record<string, unknown>;
1516
+ where?: Record<string, unknown>;
1517
+ orderBy?: Record<string, unknown>;
1518
+ limit?: number;
1519
+ }
1520
+ declare function verifyAthenaGatewayUrl(baseUrl: string, options?: AthenaGatewayConnectionOptions): Promise<AthenaGatewayConnectionResult>;
1521
+ interface AthenaGatewayClient {
1522
+ baseUrl: string;
1523
+ buildHeaders(options?: AthenaGatewayCallOptions): Record<string, string>;
1524
+ verifyConnection(options?: AthenaGatewayConnectionOptions): Promise<AthenaGatewayConnectionResult>;
1525
+ fetchGateway<T>(payload: AthenaFetchPayload | AthenaFindManyAstPayload$1, options?: AthenaGatewayCallOptions): Promise<AthenaGatewayResponse<T>>;
1526
+ insertGateway<T>(payload: AthenaInsertPayload, options?: AthenaGatewayCallOptions): Promise<AthenaGatewayResponse<T>>;
1527
+ updateGateway<T>(payload: AthenaUpdatePayload, options?: AthenaGatewayCallOptions): Promise<AthenaGatewayResponse<T>>;
1528
+ deleteGateway<T>(payload: AthenaDeletePayload, options?: AthenaGatewayCallOptions): Promise<AthenaGatewayResponse<T>>;
1529
+ rpcGateway<T>(payload: AthenaRpcPayload, options?: AthenaRpcCallOptions): Promise<AthenaGatewayResponse<T>>;
1530
+ queryGateway<T>(payload: AthenaQueryPayload, options?: AthenaGatewayCallOptions): Promise<AthenaGatewayResponse<T>>;
1531
+ }
1532
+
1489
1533
  type AthenaStorageTemplateValue = string | number | boolean | null | undefined;
1490
1534
  type AthenaStorageTemplateVars = Record<string, AthenaStorageTemplateValue>;
1491
1535
  type AthenaStorageEnv = Record<string, string | undefined>;
@@ -1532,7 +1576,7 @@ interface AthenaStorageUploadProgress {
1532
1576
  aggregatePercent: number;
1533
1577
  }
1534
1578
  type AthenaStorageUploadProgressHandler = (progress: AthenaStorageUploadProgress) => void;
1535
- interface AthenaStorageFileUploadInput extends AthenaStorageUploadConstraints {
1579
+ interface AthenaStorageFileUploadInput extends AthenaStorageUploadConstraints, StorageServerSideEncryptionOptions {
1536
1580
  s3_id: string;
1537
1581
  bucket?: string;
1538
1582
  files: AthenaStorageUploadSource | ArrayLike<AthenaStorageUploadSource> | readonly AthenaStorageUploadSource[];
@@ -1706,6 +1750,21 @@ declare const storageSdkManifest: {
1706
1750
  readonly requestType: "SetStorageFileVisibilityRequest";
1707
1751
  readonly responseEnvelope: "athena";
1708
1752
  readonly responseType: "StorageFileMutationResponse";
1753
+ }, {
1754
+ readonly name: "postStorageFileVisibility";
1755
+ readonly method: "POST";
1756
+ readonly path: "/storage/files/{file_id}/visibility";
1757
+ readonly pathParams: readonly ["file_id"];
1758
+ readonly requestType: "SetStorageFileVisibilityRequest";
1759
+ readonly responseEnvelope: "athena";
1760
+ readonly responseType: "StorageFileMutationResponse";
1761
+ }, {
1762
+ readonly name: "setManyStorageFileVisibility";
1763
+ readonly method: "POST";
1764
+ readonly path: "/storage/files/visibility-many";
1765
+ readonly requestType: "SetManyStorageFileVisibilityRequest";
1766
+ readonly responseEnvelope: "athena";
1767
+ readonly responseType: "StorageFileMutationManyResponse";
1709
1768
  }, {
1710
1769
  readonly name: "deleteStorageFolder";
1711
1770
  readonly method: "POST";
@@ -1720,6 +1779,425 @@ declare const storageSdkManifest: {
1720
1779
  readonly requestType: "MoveStorageFolderRequest";
1721
1780
  readonly responseEnvelope: "athena";
1722
1781
  readonly responseType: "StorageFolderMutationResponse";
1782
+ }, {
1783
+ readonly name: "searchStorageFiles";
1784
+ readonly method: "POST";
1785
+ readonly path: "/storage/files/search";
1786
+ readonly requestType: "SearchStorageFilesRequest";
1787
+ readonly responseEnvelope: "athena";
1788
+ readonly responseType: "StorageListFilesResponse";
1789
+ }, {
1790
+ readonly name: "confirmStorageUpload";
1791
+ readonly method: "POST";
1792
+ readonly path: "/storage/files/{file_id}/confirm-upload";
1793
+ readonly pathParams: readonly ["file_id"];
1794
+ readonly requestType: "ConfirmStorageUploadRequest";
1795
+ readonly responseEnvelope: "athena";
1796
+ readonly responseType: "StorageFileMutationResponse";
1797
+ }, {
1798
+ readonly name: "uploadStorageFileBinary";
1799
+ readonly method: "PUT";
1800
+ readonly path: "/storage/files/{file_id}/upload";
1801
+ readonly pathParams: readonly ["file_id"];
1802
+ readonly responseEnvelope: "athena";
1803
+ readonly responseType: "StorageFileMutationResponse";
1804
+ readonly binary: true;
1805
+ }, {
1806
+ readonly name: "copyStorageFile";
1807
+ readonly method: "POST";
1808
+ readonly path: "/storage/files/{file_id}/copy";
1809
+ readonly pathParams: readonly ["file_id"];
1810
+ readonly requestType: "CopyStorageFileRequest";
1811
+ readonly responseEnvelope: "athena";
1812
+ readonly responseType: "StorageFileMutationResponse";
1813
+ }, {
1814
+ readonly name: "deleteManyStorageFiles";
1815
+ readonly method: "POST";
1816
+ readonly path: "/storage/files/delete-many";
1817
+ readonly requestType: "DeleteManyStorageFilesRequest";
1818
+ readonly responseEnvelope: "athena";
1819
+ readonly responseType: "StorageFileMutationManyResponse";
1820
+ }, {
1821
+ readonly name: "updateManyStorageFiles";
1822
+ readonly method: "POST";
1823
+ readonly path: "/storage/files/update-many";
1824
+ readonly requestType: "UpdateManyStorageFilesRequest";
1825
+ readonly responseEnvelope: "athena";
1826
+ readonly responseType: "StorageFileMutationManyResponse";
1827
+ }, {
1828
+ readonly name: "restoreStorageFile";
1829
+ readonly method: "POST";
1830
+ readonly path: "/storage/files/{file_id}/restore";
1831
+ readonly pathParams: readonly ["file_id"];
1832
+ readonly responseEnvelope: "athena";
1833
+ readonly responseType: "StorageFileMutationResponse";
1834
+ }, {
1835
+ readonly name: "purgeStorageFile";
1836
+ readonly method: "DELETE";
1837
+ readonly path: "/storage/files/{file_id}/purge";
1838
+ readonly pathParams: readonly ["file_id"];
1839
+ readonly responseEnvelope: "athena";
1840
+ readonly responseType: "StorageFileMutationResponse";
1841
+ }, {
1842
+ readonly name: "getStorageFilePublicUrl";
1843
+ readonly method: "GET";
1844
+ readonly path: "/storage/files/{file_id}/public-url";
1845
+ readonly pathParams: readonly ["file_id"];
1846
+ readonly responseEnvelope: "athena";
1847
+ readonly responseType: "Record<string, unknown>";
1848
+ }, {
1849
+ readonly name: "getStorageFileProxyUrl";
1850
+ readonly method: "GET";
1851
+ readonly path: "/storage/files/{file_id}/proxy-url";
1852
+ readonly pathParams: readonly ["file_id"];
1853
+ readonly queryParams: readonly ["purpose"];
1854
+ readonly responseEnvelope: "athena";
1855
+ readonly responseType: "Record<string, unknown>";
1856
+ }, {
1857
+ readonly name: "listStorageFileVersions";
1858
+ readonly method: "GET";
1859
+ readonly path: "/storage/files/{file_id}/versions";
1860
+ readonly pathParams: readonly ["file_id"];
1861
+ readonly responseEnvelope: "athena";
1862
+ readonly responseType: "Record<string, unknown>";
1863
+ }, {
1864
+ readonly name: "restoreStorageFileVersion";
1865
+ readonly method: "POST";
1866
+ readonly path: "/storage/files/{file_id}/versions/{version_id}/restore";
1867
+ readonly pathParams: readonly ["file_id", "version_id"];
1868
+ readonly responseEnvelope: "athena";
1869
+ readonly responseType: "Record<string, unknown>";
1870
+ }, {
1871
+ readonly name: "deleteStorageFileVersion";
1872
+ readonly method: "DELETE";
1873
+ readonly path: "/storage/files/{file_id}/versions/{version_id}";
1874
+ readonly pathParams: readonly ["file_id", "version_id"];
1875
+ readonly responseEnvelope: "athena";
1876
+ readonly responseType: "Record<string, unknown>";
1877
+ }, {
1878
+ readonly name: "getStorageFileRetention";
1879
+ readonly method: "GET";
1880
+ readonly path: "/storage/files/{file_id}/retention";
1881
+ readonly pathParams: readonly ["file_id"];
1882
+ readonly queryParams: readonly ["version_id"];
1883
+ readonly responseEnvelope: "athena";
1884
+ readonly responseType: "Record<string, unknown>";
1885
+ }, {
1886
+ readonly name: "setStorageFileRetention";
1887
+ readonly method: "POST";
1888
+ readonly path: "/storage/files/{file_id}/retention";
1889
+ readonly pathParams: readonly ["file_id"];
1890
+ readonly requestType: "StorageFileRetentionRequest";
1891
+ readonly responseEnvelope: "athena";
1892
+ readonly responseType: "Record<string, unknown>";
1893
+ }, {
1894
+ readonly name: "listStorageFolders";
1895
+ readonly method: "POST";
1896
+ readonly path: "/storage/folders/list";
1897
+ readonly requestType: "ListStorageFoldersRequest";
1898
+ readonly responseEnvelope: "athena";
1899
+ readonly responseType: "Record<string, unknown>";
1900
+ }, {
1901
+ readonly name: "treeStorageFolders";
1902
+ readonly method: "POST";
1903
+ readonly path: "/storage/folders/tree";
1904
+ readonly requestType: "TreeStorageFoldersRequest";
1905
+ readonly responseEnvelope: "athena";
1906
+ readonly responseType: "Record<string, unknown>";
1907
+ }, {
1908
+ readonly name: "listStoragePermissions";
1909
+ readonly method: "POST";
1910
+ readonly path: "/storage/permissions/list";
1911
+ readonly requestType: "StoragePermissionListRequest";
1912
+ readonly responseEnvelope: "athena";
1913
+ readonly responseType: "StoragePermissionListResponse";
1914
+ }, {
1915
+ readonly name: "grantStoragePermission";
1916
+ readonly method: "POST";
1917
+ readonly path: "/storage/permissions/grant";
1918
+ readonly requestType: "StoragePermissionGrantRequest";
1919
+ readonly responseEnvelope: "athena";
1920
+ readonly responseType: "Record<string, unknown>";
1921
+ }, {
1922
+ readonly name: "revokeStoragePermission";
1923
+ readonly method: "POST";
1924
+ readonly path: "/storage/permissions/revoke";
1925
+ readonly requestType: "StoragePermissionRevokeRequest";
1926
+ readonly responseEnvelope: "athena";
1927
+ readonly responseType: "Record<string, unknown>";
1928
+ }, {
1929
+ readonly name: "checkStoragePermission";
1930
+ readonly method: "POST";
1931
+ readonly path: "/storage/permissions/check";
1932
+ readonly requestType: "StoragePermissionCheckRequest";
1933
+ readonly responseEnvelope: "athena";
1934
+ readonly responseType: "StoragePermissionCheckResponse";
1935
+ }, {
1936
+ readonly name: "listStorageObjects";
1937
+ readonly method: "POST";
1938
+ readonly path: "/storage/objects";
1939
+ readonly requestType: "StorageListObjectsRequest";
1940
+ readonly responseEnvelope: "athena";
1941
+ readonly responseType: "Record<string, unknown>";
1942
+ }, {
1943
+ readonly name: "headStorageObject";
1944
+ readonly method: "POST";
1945
+ readonly path: "/storage/objects/head";
1946
+ readonly requestType: "StorageObjectRequest";
1947
+ readonly responseEnvelope: "athena";
1948
+ readonly responseType: "Record<string, unknown>";
1949
+ }, {
1950
+ readonly name: "existsStorageObject";
1951
+ readonly method: "POST";
1952
+ readonly path: "/storage/objects/exists";
1953
+ readonly requestType: "StorageObjectRequest";
1954
+ readonly responseEnvelope: "athena";
1955
+ readonly responseType: "Record<string, unknown>";
1956
+ }, {
1957
+ readonly name: "validateStorageObject";
1958
+ readonly method: "POST";
1959
+ readonly path: "/storage/objects/validate";
1960
+ readonly requestType: "StorageObjectValidateRequest";
1961
+ readonly responseEnvelope: "athena";
1962
+ readonly responseType: "Record<string, unknown>";
1963
+ }, {
1964
+ readonly name: "updateStorageObject";
1965
+ readonly method: "POST";
1966
+ readonly path: "/storage/objects/update";
1967
+ readonly requestType: "StorageUpdateObjectRequest";
1968
+ readonly responseEnvelope: "athena";
1969
+ readonly responseType: "Record<string, unknown>";
1970
+ }, {
1971
+ readonly name: "copyStorageObject";
1972
+ readonly method: "POST";
1973
+ readonly path: "/storage/objects/copy";
1974
+ readonly requestType: "StorageObjectCopyRequest";
1975
+ readonly responseEnvelope: "athena";
1976
+ readonly responseType: "Record<string, unknown>";
1977
+ }, {
1978
+ readonly name: "getStorageObjectUrl";
1979
+ readonly method: "POST";
1980
+ readonly path: "/storage/objects/url";
1981
+ readonly requestType: "StorageObjectRequest";
1982
+ readonly responseEnvelope: "athena";
1983
+ readonly responseType: "Record<string, unknown>";
1984
+ }, {
1985
+ readonly name: "getStorageObjectPublicUrl";
1986
+ readonly method: "POST";
1987
+ readonly path: "/storage/objects/public-url";
1988
+ readonly requestType: "StorageObjectPublicUrlRequest";
1989
+ readonly responseEnvelope: "athena";
1990
+ readonly responseType: "Record<string, unknown>";
1991
+ }, {
1992
+ readonly name: "deleteStorageObject";
1993
+ readonly method: "POST";
1994
+ readonly path: "/storage/objects/delete";
1995
+ readonly requestType: "StorageObjectRequest";
1996
+ readonly responseEnvelope: "athena";
1997
+ readonly responseType: "Record<string, unknown>";
1998
+ }, {
1999
+ readonly name: "createStorageObjectUploadUrl";
2000
+ readonly method: "POST";
2001
+ readonly path: "/storage/objects/upload-url";
2002
+ readonly requestType: "StoragePresignUploadRequest";
2003
+ readonly responseEnvelope: "athena";
2004
+ readonly responseType: "Record<string, unknown>";
2005
+ }, {
2006
+ readonly name: "createStorageObjectPostPolicy";
2007
+ readonly method: "POST";
2008
+ readonly path: "/storage/objects/post-policy";
2009
+ readonly requestType: "StorageSignedPostPolicyRequest";
2010
+ readonly responseEnvelope: "athena";
2011
+ readonly responseType: "Record<string, unknown>";
2012
+ }, {
2013
+ readonly name: "listStorageObjectVersions";
2014
+ readonly method: "POST";
2015
+ readonly path: "/storage/objects/versions";
2016
+ readonly requestType: "StorageObjectVersionListRequest";
2017
+ readonly responseEnvelope: "athena";
2018
+ readonly responseType: "Record<string, unknown>";
2019
+ }, {
2020
+ readonly name: "restoreStorageObjectVersion";
2021
+ readonly method: "POST";
2022
+ readonly path: "/storage/objects/versions/restore";
2023
+ readonly requestType: "StorageObjectVersionMutationRequest";
2024
+ readonly responseEnvelope: "athena";
2025
+ readonly responseType: "Record<string, unknown>";
2026
+ }, {
2027
+ readonly name: "deleteStorageObjectVersion";
2028
+ readonly method: "POST";
2029
+ readonly path: "/storage/objects/versions/delete";
2030
+ readonly requestType: "StorageObjectVersionMutationRequest";
2031
+ readonly responseEnvelope: "athena";
2032
+ readonly responseType: "Record<string, unknown>";
2033
+ }, {
2034
+ readonly name: "createStorageObjectFolder";
2035
+ readonly method: "POST";
2036
+ readonly path: "/storage/objects/folder";
2037
+ readonly requestType: "StorageObjectFolderCreateRequest";
2038
+ readonly responseEnvelope: "athena";
2039
+ readonly responseType: "Record<string, unknown>";
2040
+ }, {
2041
+ readonly name: "deleteStorageObjectFolder";
2042
+ readonly method: "POST";
2043
+ readonly path: "/storage/objects/folder/delete";
2044
+ readonly requestType: "StorageObjectFolderDeleteRequest";
2045
+ readonly responseEnvelope: "athena";
2046
+ readonly responseType: "Record<string, unknown>";
2047
+ }, {
2048
+ readonly name: "renameStorageObjectFolder";
2049
+ readonly method: "POST";
2050
+ readonly path: "/storage/objects/folder/rename";
2051
+ readonly requestType: "StorageObjectFolderRenameRequest";
2052
+ readonly responseEnvelope: "athena";
2053
+ readonly responseType: "Record<string, unknown>";
2054
+ }, {
2055
+ readonly name: "listStorageBuckets";
2056
+ readonly method: "POST";
2057
+ readonly path: "/storage/buckets/list";
2058
+ readonly requestType: "Omit<StorageObjectBaseRequest, 'bucket'>";
2059
+ readonly responseEnvelope: "athena";
2060
+ readonly responseType: "Record<string, unknown>";
2061
+ }, {
2062
+ readonly name: "createStorageBucket";
2063
+ readonly method: "POST";
2064
+ readonly path: "/storage/buckets/create";
2065
+ readonly requestType: "StorageObjectBaseRequest";
2066
+ readonly responseEnvelope: "athena";
2067
+ readonly responseType: "Record<string, unknown>";
2068
+ }, {
2069
+ readonly name: "deleteStorageBucket";
2070
+ readonly method: "POST";
2071
+ readonly path: "/storage/buckets/delete";
2072
+ readonly requestType: "StorageObjectBaseRequest";
2073
+ readonly responseEnvelope: "athena";
2074
+ readonly responseType: "Record<string, unknown>";
2075
+ }, {
2076
+ readonly name: "getStorageBucketLifecycle";
2077
+ readonly method: "POST";
2078
+ readonly path: "/storage/buckets/lifecycle";
2079
+ readonly requestType: "StorageBucketLifecycleRequest";
2080
+ readonly responseEnvelope: "athena";
2081
+ readonly responseType: "Record<string, unknown>";
2082
+ }, {
2083
+ readonly name: "setStorageBucketLifecycle";
2084
+ readonly method: "POST";
2085
+ readonly path: "/storage/buckets/lifecycle/set";
2086
+ readonly requestType: "StorageSetBucketLifecycleRequest";
2087
+ readonly responseEnvelope: "athena";
2088
+ readonly responseType: "Record<string, unknown>";
2089
+ }, {
2090
+ readonly name: "deleteStorageBucketLifecycle";
2091
+ readonly method: "POST";
2092
+ readonly path: "/storage/buckets/lifecycle/delete";
2093
+ readonly requestType: "StorageBucketLifecycleRequest";
2094
+ readonly responseEnvelope: "athena";
2095
+ readonly responseType: "Record<string, unknown>";
2096
+ }, {
2097
+ readonly name: "getStorageBucketPolicy";
2098
+ readonly method: "POST";
2099
+ readonly path: "/storage/buckets/policy";
2100
+ readonly requestType: "StorageBucketPolicyRequest";
2101
+ readonly responseEnvelope: "athena";
2102
+ readonly responseType: "Record<string, unknown>";
2103
+ }, {
2104
+ readonly name: "setStorageBucketPolicy";
2105
+ readonly method: "POST";
2106
+ readonly path: "/storage/buckets/policy/set";
2107
+ readonly requestType: "StorageSetBucketPolicyRequest";
2108
+ readonly responseEnvelope: "athena";
2109
+ readonly responseType: "Record<string, unknown>";
2110
+ }, {
2111
+ readonly name: "deleteStorageBucketPolicy";
2112
+ readonly method: "POST";
2113
+ readonly path: "/storage/buckets/policy/delete";
2114
+ readonly requestType: "StorageBucketPolicyRequest";
2115
+ readonly responseEnvelope: "athena";
2116
+ readonly responseType: "Record<string, unknown>";
2117
+ }, {
2118
+ readonly name: "getStorageBucketPublicAccess";
2119
+ readonly method: "POST";
2120
+ readonly path: "/storage/buckets/public-access";
2121
+ readonly requestType: "StoragePublicAccessBlockRequest";
2122
+ readonly responseEnvelope: "athena";
2123
+ readonly responseType: "Record<string, unknown>";
2124
+ }, {
2125
+ readonly name: "setStorageBucketPublicAccess";
2126
+ readonly method: "POST";
2127
+ readonly path: "/storage/buckets/public-access/set";
2128
+ readonly requestType: "StorageSetPublicAccessBlockRequest";
2129
+ readonly responseEnvelope: "athena";
2130
+ readonly responseType: "Record<string, unknown>";
2131
+ }, {
2132
+ readonly name: "deleteStorageBucketPublicAccess";
2133
+ readonly method: "POST";
2134
+ readonly path: "/storage/buckets/public-access/delete";
2135
+ readonly requestType: "StoragePublicAccessBlockRequest";
2136
+ readonly responseEnvelope: "athena";
2137
+ readonly responseType: "Record<string, unknown>";
2138
+ }, {
2139
+ readonly name: "getStorageBucketCors";
2140
+ readonly method: "POST";
2141
+ readonly path: "/storage/buckets/cors";
2142
+ readonly requestType: "StorageBucketCorsRequest";
2143
+ readonly responseEnvelope: "athena";
2144
+ readonly responseType: "Record<string, unknown>";
2145
+ }, {
2146
+ readonly name: "setStorageBucketCors";
2147
+ readonly method: "POST";
2148
+ readonly path: "/storage/buckets/cors/set";
2149
+ readonly requestType: "StorageSetBucketCorsRequest";
2150
+ readonly responseEnvelope: "athena";
2151
+ readonly responseType: "Record<string, unknown>";
2152
+ }, {
2153
+ readonly name: "deleteStorageBucketCors";
2154
+ readonly method: "POST";
2155
+ readonly path: "/storage/buckets/cors/delete";
2156
+ readonly requestType: "StorageBucketCorsRequest";
2157
+ readonly responseEnvelope: "athena";
2158
+ readonly responseType: "Record<string, unknown>";
2159
+ }, {
2160
+ readonly name: "createStorageMultipartUpload";
2161
+ readonly method: "POST";
2162
+ readonly path: "/storage/multipart/create";
2163
+ readonly requestType: "StorageMultipartCreateRequest";
2164
+ readonly responseEnvelope: "athena";
2165
+ readonly responseType: "Record<string, unknown>";
2166
+ }, {
2167
+ readonly name: "signStorageMultipartPart";
2168
+ readonly method: "POST";
2169
+ readonly path: "/storage/multipart/sign-part";
2170
+ readonly requestType: "StorageMultipartSignPartRequest";
2171
+ readonly responseEnvelope: "athena";
2172
+ readonly responseType: "Record<string, unknown>";
2173
+ }, {
2174
+ readonly name: "completeStorageMultipartUpload";
2175
+ readonly method: "POST";
2176
+ readonly path: "/storage/multipart/complete";
2177
+ readonly requestType: "StorageMultipartCompleteRequest";
2178
+ readonly responseEnvelope: "athena";
2179
+ readonly responseType: "StorageFileMutationResponse";
2180
+ }, {
2181
+ readonly name: "abortStorageMultipartUpload";
2182
+ readonly method: "POST";
2183
+ readonly path: "/storage/multipart/abort";
2184
+ readonly requestType: "StorageMultipartAbortRequest";
2185
+ readonly responseEnvelope: "athena";
2186
+ readonly responseType: "Record<string, unknown>";
2187
+ }, {
2188
+ readonly name: "listStorageMultipartParts";
2189
+ readonly method: "POST";
2190
+ readonly path: "/storage/multipart/list-parts";
2191
+ readonly requestType: "StorageMultipartListPartsRequest";
2192
+ readonly responseEnvelope: "athena";
2193
+ readonly responseType: "Record<string, unknown>";
2194
+ }, {
2195
+ readonly name: "listStorageAuditEvents";
2196
+ readonly method: "POST";
2197
+ readonly path: "/storage/audit/list";
2198
+ readonly requestType: "StorageAuditQueryRequest";
2199
+ readonly responseEnvelope: "athena";
2200
+ readonly responseType: "StorageAuditListResponse";
1723
2201
  }];
1724
2202
  };
1725
2203
  interface S3CatalogItem {
@@ -1783,12 +2261,20 @@ interface PresignedFileUrlResponse {
1783
2261
  storage_key: string;
1784
2262
  purpose: string;
1785
2263
  url: string;
2264
+ headers?: Record<string, string>;
1786
2265
  expires_at: string;
1787
2266
  expires_at_epoch_seconds: number;
1788
2267
  expires_in: number;
1789
2268
  cache_hit: boolean;
1790
2269
  cache_layer: string;
1791
2270
  }
2271
+ interface StorageServerSideEncryptionOptions {
2272
+ server_side_encryption?: 'AES256' | 'aws:kms' | 'aws:kms:dsse' | (string & {});
2273
+ sse?: 'AES256' | 'aws:kms' | 'aws:kms:dsse' | (string & {});
2274
+ ssekms_key_id?: string;
2275
+ kms_key_id?: string;
2276
+ bucket_key_enabled?: boolean;
2277
+ }
1792
2278
  interface CreateStorageCatalogRequest {
1793
2279
  name: string;
1794
2280
  endpoint: string;
@@ -1818,7 +2304,7 @@ interface UpdateStorageCatalogRequest {
1818
2304
  is_active?: boolean;
1819
2305
  metadata?: Record<string, unknown>;
1820
2306
  }
1821
- interface CreateStorageUploadUrlRequest {
2307
+ interface CreateStorageUploadUrlRequest extends StorageServerSideEncryptionOptions {
1822
2308
  s3_id: string;
1823
2309
  bucket?: string;
1824
2310
  storage_key: string;
@@ -1845,15 +2331,42 @@ interface StorageBatchUploadUrlResponse {
1845
2331
  }
1846
2332
  interface ListStorageFilesRequest {
1847
2333
  s3_id: string;
1848
- prefix: string;
2334
+ prefix?: string;
2335
+ limit?: number;
2336
+ offset?: number;
2337
+ metadata?: Record<string, unknown>;
2338
+ name?: string;
2339
+ resource_id?: string;
2340
+ mime_type?: string;
2341
+ content_type?: string;
2342
+ status?: string;
2343
+ visibility?: 'private' | 'organization' | 'public' | (string & {});
2344
+ bucket?: string;
2345
+ key_prefix?: string;
1849
2346
  }
1850
2347
  interface StorageListFilesResponse {
1851
2348
  files: ManagedFileRecord[];
1852
2349
  count: number;
2350
+ total?: number;
2351
+ limit?: number;
2352
+ offset?: number;
2353
+ next_offset?: number | null;
2354
+ has_more?: boolean;
1853
2355
  }
1854
2356
  interface UpdateStorageFileRequest {
1855
- storage_key: string;
2357
+ storage_key?: string;
1856
2358
  bucket?: string;
2359
+ name?: string;
2360
+ file_name?: string;
2361
+ original_name?: string;
2362
+ resource_id?: string;
2363
+ mime_type?: string;
2364
+ content_type?: string;
2365
+ size_bytes?: number;
2366
+ checksum_sha256?: string;
2367
+ visibility?: 'private' | 'organization' | 'public' | (string & {});
2368
+ status?: string;
2369
+ metadata?: Record<string, unknown>;
1857
2370
  }
1858
2371
  interface SetStorageFileVisibilityRequest {
1859
2372
  public?: boolean;
@@ -1927,21 +2440,44 @@ interface ConfirmStorageUploadRequest {
1927
2440
  interface SearchStorageFilesRequest {
1928
2441
  query?: string;
1929
2442
  limit?: number;
2443
+ offset?: number;
2444
+ s3_id?: string;
2445
+ prefix?: string;
2446
+ metadata?: Record<string, unknown>;
2447
+ name?: string;
2448
+ resource_id?: string;
2449
+ mime_type?: string;
2450
+ content_type?: string;
2451
+ status?: string;
2452
+ visibility?: 'private' | 'organization' | 'public' | (string & {});
2453
+ bucket?: string;
2454
+ key_prefix?: string;
1930
2455
  }
1931
2456
  interface DeleteManyStorageFilesRequest {
1932
2457
  file_ids: string[];
1933
2458
  }
1934
2459
  interface UpdateManyStorageFilesRequest {
1935
2460
  file_ids: string[];
1936
- storage_key: string;
2461
+ storage_key?: string;
1937
2462
  bucket?: string;
2463
+ name?: string;
2464
+ file_name?: string;
2465
+ original_name?: string;
2466
+ resource_id?: string;
2467
+ mime_type?: string;
2468
+ content_type?: string;
2469
+ size_bytes?: number;
2470
+ checksum_sha256?: string;
2471
+ visibility?: 'private' | 'organization' | 'public' | (string & {});
2472
+ status?: string;
2473
+ metadata?: Record<string, unknown>;
1938
2474
  }
1939
2475
  interface SetManyStorageFileVisibilityRequest {
1940
2476
  file_ids: string[];
1941
2477
  public?: boolean;
1942
2478
  visibility?: 'private' | 'organization' | 'public';
1943
2479
  }
1944
- interface CopyStorageFileRequest {
2480
+ interface CopyStorageFileRequest extends StorageServerSideEncryptionOptions {
1945
2481
  storage_key: string;
1946
2482
  bucket?: string;
1947
2483
  file_name?: string;
@@ -1977,7 +2513,7 @@ interface StoragePermissionCheckRequest {
1977
2513
  file_id: string;
1978
2514
  permission: 'read' | 'write' | 'delete' | 'share' | 'owner';
1979
2515
  }
1980
- interface StorageMultipartCreateRequest {
2516
+ interface StorageMultipartCreateRequest extends StorageServerSideEncryptionOptions {
1981
2517
  file_id: string;
1982
2518
  content_type?: string;
1983
2519
  }
@@ -2011,8 +2547,7 @@ interface StorageObjectFolderCreateRequest {
2011
2547
  bucket: string;
2012
2548
  prefix: string;
2013
2549
  }
2014
- interface StorageObjectFolderDeleteRequest extends StorageObjectFolderCreateRequest {
2015
- }
2550
+ type StorageObjectFolderDeleteRequest = StorageObjectFolderCreateRequest;
2016
2551
  interface StorageObjectFolderRenameRequest extends Omit<StorageObjectFolderCreateRequest, 'prefix'> {
2017
2552
  from_prefix: string;
2018
2553
  to_prefix: string;
@@ -2027,7 +2562,11 @@ interface StorageObjectBaseRequest {
2027
2562
  interface StorageObjectRequest extends StorageObjectBaseRequest {
2028
2563
  key: string;
2029
2564
  }
2030
- interface StorageObjectCopyRequest extends StorageObjectBaseRequest {
2565
+ interface StorageObjectValidateRequest extends StorageObjectRequest {
2566
+ checksum_sha256?: string;
2567
+ etag?: string;
2568
+ }
2569
+ interface StorageObjectCopyRequest extends StorageObjectBaseRequest, StorageServerSideEncryptionOptions {
2031
2570
  source_key: string;
2032
2571
  destination_key: string;
2033
2572
  destination_bucket?: string;
@@ -2051,11 +2590,29 @@ interface StorageUpdateObjectRequest extends StorageObjectRequest {
2051
2590
  content_language?: string;
2052
2591
  metadata?: Record<string, string>;
2053
2592
  }
2054
- interface StoragePresignUploadRequest extends StorageObjectRequest {
2593
+ interface StorageObjectVersionListRequest extends StorageObjectBaseRequest {
2594
+ key?: string;
2595
+ max_keys?: number;
2596
+ key_marker?: string;
2597
+ version_id_marker?: string;
2598
+ delimiter?: string;
2599
+ }
2600
+ interface StorageObjectVersionMutationRequest extends StorageObjectRequest {
2601
+ version_id: string;
2602
+ }
2603
+ interface StorageSignedPostPolicyRequest extends StorageObjectRequest, StorageServerSideEncryptionOptions {
2055
2604
  content_type?: string;
2605
+ min_size?: number;
2606
+ max_size?: number;
2607
+ expires_in?: number;
2608
+ public_base_url?: string;
2609
+ force_path_style?: boolean;
2610
+ success_action_status?: string;
2056
2611
  }
2057
- interface StorageBucketCorsRequest extends StorageObjectBaseRequest {
2612
+ interface StoragePresignUploadRequest extends StorageObjectRequest, StorageServerSideEncryptionOptions {
2613
+ content_type?: string;
2058
2614
  }
2615
+ type StorageBucketCorsRequest = StorageObjectBaseRequest;
2059
2616
  interface StorageBucketCorsRuleInput {
2060
2617
  allowed_origins: string[];
2061
2618
  allowed_methods: string[];
@@ -2066,6 +2623,41 @@ interface StorageBucketCorsRuleInput {
2066
2623
  interface StorageSetBucketCorsRequest extends StorageBucketCorsRequest {
2067
2624
  rules: StorageBucketCorsRuleInput[];
2068
2625
  }
2626
+ type StorageBucketLifecycleRequest = StorageObjectBaseRequest;
2627
+ interface StorageBucketLifecycleRuleInput {
2628
+ id?: string;
2629
+ prefix?: string;
2630
+ status?: 'Enabled' | 'Disabled' | 'enabled' | 'disabled' | (string & {});
2631
+ expiration_days?: number;
2632
+ expired_object_delete_marker?: boolean;
2633
+ noncurrent_version_expiration_days?: number;
2634
+ abort_incomplete_multipart_upload_days?: number;
2635
+ }
2636
+ interface StorageSetBucketLifecycleRequest extends StorageBucketLifecycleRequest {
2637
+ rules: StorageBucketLifecycleRuleInput[];
2638
+ }
2639
+ type StorageBucketPolicyRequest = StorageObjectBaseRequest;
2640
+ interface StorageSetBucketPolicyRequest extends StorageBucketPolicyRequest {
2641
+ policy: Record<string, unknown> | string;
2642
+ }
2643
+ type StoragePublicAccessBlockRequest = StorageObjectBaseRequest;
2644
+ interface StorageSetPublicAccessBlockRequest extends StoragePublicAccessBlockRequest {
2645
+ block_public_acls?: boolean;
2646
+ ignore_public_acls?: boolean;
2647
+ block_public_policy?: boolean;
2648
+ restrict_public_buckets?: boolean;
2649
+ }
2650
+ interface StorageFileVersionPathRequest {
2651
+ file_id: string;
2652
+ version_id: string;
2653
+ }
2654
+ interface StorageFileRetentionRequest {
2655
+ mode?: 'GOVERNANCE' | 'COMPLIANCE' | (string & {});
2656
+ retain_until?: string;
2657
+ retain_until_date?: string;
2658
+ version_id?: string;
2659
+ bypass_governance?: boolean;
2660
+ }
2069
2661
  interface StorageAuditQueryRequest {
2070
2662
  file_id?: string;
2071
2663
  limit?: number;
@@ -2184,7 +2776,7 @@ interface StorageUploadUrlResponseWithPut extends Omit<StorageUploadUrlResponse,
2184
2776
  interface StorageBatchUploadUrlResponseWithPut {
2185
2777
  files: StorageUploadUrlResponseWithPut[];
2186
2778
  }
2187
- interface AthenaStorageFileUploadRequest {
2779
+ interface AthenaStorageFileUploadRequest extends StorageServerSideEncryptionOptions {
2188
2780
  s3_id?: string;
2189
2781
  s3Id?: string;
2190
2782
  bucket?: string;
@@ -2227,8 +2819,17 @@ interface AthenaStorageFileNamespace extends AthenaStorageFileModule {
2227
2819
  copy(fileId: string, input: CopyStorageFileRequest, options?: AthenaStorageCallOptions): Promise<StorageFileMutationResponse>;
2228
2820
  url(fileId: string, query?: GetStorageFileUrlQuery, options?: AthenaStorageCallOptions): Promise<PresignedFileUrlResponse>;
2229
2821
  publicUrl(fileId: string, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2822
+ proxyUrl(fileId: string, query?: GetStorageFileUrlQuery, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2230
2823
  proxy(fileId: string, query?: GetStorageFileUrlQuery, options?: AthenaStorageBinaryCallOptions): Promise<Response>;
2824
+ versions(fileId: string, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2825
+ restoreVersion(fileId: string, versionId: string, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2826
+ deleteVersion(fileId: string, versionId: string, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2827
+ retention: {
2828
+ get(fileId: string, query?: Pick<StorageFileRetentionRequest, 'version_id'>, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2829
+ set(fileId: string, input: StorageFileRetentionRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2830
+ };
2231
2831
  visibility: {
2832
+ update(fileId: string, input: SetStorageFileVisibilityRequest, options?: AthenaStorageCallOptions): Promise<StorageFileMutationResponse>;
2232
2833
  set(fileId: string, input: SetStorageFileVisibilityRequest, options?: AthenaStorageCallOptions): Promise<StorageFileMutationResponse>;
2233
2834
  setMany(input: SetManyStorageFileVisibilityRequest, options?: AthenaStorageCallOptions): Promise<StorageFileMutationManyResponse>;
2234
2835
  };
@@ -2270,13 +2871,17 @@ interface AthenaStorageObjectNamespace {
2270
2871
  list(input: StorageListObjectsRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2271
2872
  head(input: StorageObjectRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2272
2873
  exists(input: StorageObjectRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2273
- validate(input: StorageObjectRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2874
+ validate(input: StorageObjectValidateRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2274
2875
  update(input: StorageUpdateObjectRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2275
2876
  copy(input: StorageObjectCopyRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2276
2877
  url(input: StorageObjectRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2277
2878
  publicUrl(input: StorageObjectPublicUrlRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2278
2879
  delete(input: StorageObjectRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2279
2880
  uploadUrl(input: StoragePresignUploadRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2881
+ versions(input: StorageObjectVersionListRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2882
+ restoreVersion(input: StorageObjectVersionMutationRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2883
+ deleteVersion(input: StorageObjectVersionMutationRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2884
+ postPolicy(input: StorageSignedPostPolicyRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2280
2885
  folder: AthenaStorageObjectFolderNamespace;
2281
2886
  }
2282
2887
  interface AthenaStorageBucketCorsNamespace {
@@ -2288,6 +2893,21 @@ interface AthenaStorageBucketNamespace {
2288
2893
  list(input: Omit<StorageObjectBaseRequest, 'bucket'>, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2289
2894
  create(input: StorageObjectBaseRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2290
2895
  delete(input: StorageObjectBaseRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2896
+ lifecycle: {
2897
+ get(input: StorageBucketLifecycleRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2898
+ set(input: StorageSetBucketLifecycleRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2899
+ delete(input: StorageBucketLifecycleRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2900
+ };
2901
+ policy: {
2902
+ get(input: StorageBucketPolicyRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2903
+ set(input: StorageSetBucketPolicyRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2904
+ delete(input: StorageBucketPolicyRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2905
+ };
2906
+ publicAccess: {
2907
+ get(input: StoragePublicAccessBlockRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2908
+ set(input: StorageSetPublicAccessBlockRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2909
+ delete(input: StoragePublicAccessBlockRequest, options?: AthenaStorageCallOptions): Promise<Record<string, unknown>>;
2910
+ };
2291
2911
  cors: AthenaStorageBucketCorsNamespace;
2292
2912
  }
2293
2913
  interface AthenaStorageMultipartNamespace {
@@ -2313,6 +2933,7 @@ interface AthenaStorageModule extends AthenaStorageBaseModule {
2313
2933
  delete: AthenaStorageFileModule['delete'];
2314
2934
  }
2315
2935
  declare function createAthenaStorageError(input: AthenaStorageErrorInput): AthenaStorageError;
2936
+ declare function createStorageModule(gateway: AthenaGatewayClient, runtimeOptions?: AthenaStorageClientConfig): AthenaStorageModule;
2316
2937
 
2317
2938
  type AthenaRowShape$1 = Record<string, AthenaJsonValue | undefined>;
2318
2939
  type FilterColumnKey$1<Row> = Extract<keyof NonNullable<Row>, string>;
@@ -2421,6 +3042,171 @@ type RelationSelectionResult<TContext, TSelect extends AthenaSelectShape> = {
2421
3042
  };
2422
3043
  type AthenaFindManyResult<Row, TSelect extends AthenaSelectShape, TContext = unknown> = Simplify<ScalarSelectionResult<Row, TSelect> & RelationSelectionResult<TContext, TSelect>>;
2423
3044
 
3045
+ type AthenaFindManyAstPayload<Row, TSelect extends AthenaSelectShape> = {
3046
+ table_name: string;
3047
+ select: TSelect;
3048
+ where?: AthenaWhere<Row>;
3049
+ orderBy?: AthenaOrderBy<Row>;
3050
+ limit?: number;
3051
+ };
3052
+
3053
+ interface AthenaTableBuilderStateAst {
3054
+ conditions: AthenaGatewayCondition[];
3055
+ limit?: number;
3056
+ offset?: number;
3057
+ order?: AthenaSortBy;
3058
+ currentPage?: number;
3059
+ pageSize?: number;
3060
+ totalPages?: number;
3061
+ }
3062
+ interface AthenaRpcBuilderStateAst {
3063
+ filters: AthenaRpcFilter[];
3064
+ limit?: number;
3065
+ offset?: number;
3066
+ order?: {
3067
+ column: string;
3068
+ ascending?: boolean;
3069
+ };
3070
+ }
3071
+ interface AthenaDebugAstBase<TKind extends string> {
3072
+ version: 1;
3073
+ kind: TKind;
3074
+ }
3075
+ type AthenaSelectDebugTransport = {
3076
+ mode: 'compiled-fetch' | 'structured-fetch';
3077
+ endpoint: '/gateway/fetch';
3078
+ payload: AthenaFetchPayload;
3079
+ } | {
3080
+ mode: 'typed-query';
3081
+ endpoint: '/gateway/query';
3082
+ payload: {
3083
+ query: string;
3084
+ };
3085
+ };
3086
+ interface AthenaSelectDebugAst extends AthenaDebugAstBase<'select'> {
3087
+ tableName: string;
3088
+ input: {
3089
+ columns: string | string[];
3090
+ state: AthenaTableBuilderStateAst;
3091
+ };
3092
+ transport: AthenaSelectDebugTransport;
3093
+ }
3094
+ type AthenaFindManyDebugTransport<Row = Record<string, unknown>, TSelect extends AthenaSelectShape = AthenaSelectShape> = {
3095
+ mode: 'direct-ast-fetch';
3096
+ endpoint: '/gateway/fetch';
3097
+ payload: AthenaFindManyAstPayload<Row, TSelect>;
3098
+ } | {
3099
+ mode: 'compiled-fetch' | 'structured-fetch';
3100
+ endpoint: '/gateway/fetch';
3101
+ payload: AthenaFetchPayload;
3102
+ } | {
3103
+ mode: 'compiled-query';
3104
+ endpoint: '/gateway/query';
3105
+ payload: {
3106
+ query: string;
3107
+ };
3108
+ };
3109
+ interface AthenaFindManyDebugAst<Row = Record<string, unknown>, TSelect extends AthenaSelectShape = AthenaSelectShape> extends AthenaDebugAstBase<'findMany'> {
3110
+ tableName: string;
3111
+ input: {
3112
+ select: AthenaValidatedSelectShape<TSelect>;
3113
+ where?: AthenaWhere<Row>;
3114
+ orderBy?: AthenaOrderBy<Row>;
3115
+ limit?: number;
3116
+ };
3117
+ compiled: {
3118
+ columns: string;
3119
+ baseState: AthenaTableBuilderStateAst;
3120
+ executionState: AthenaTableBuilderStateAst;
3121
+ };
3122
+ transport: AthenaFindManyDebugTransport<Row, TSelect>;
3123
+ }
3124
+ interface AthenaInsertDebugAst extends AthenaDebugAstBase<'insert'> {
3125
+ tableName: string;
3126
+ input: {
3127
+ values: AthenaInsertPayload['insert_body'];
3128
+ returning?: AthenaInsertPayload['columns'];
3129
+ count?: AthenaInsertPayload['count'];
3130
+ head?: boolean;
3131
+ defaultToNull?: boolean;
3132
+ };
3133
+ transport: {
3134
+ mode: 'insert';
3135
+ endpoint: '/gateway/insert';
3136
+ payload: AthenaInsertPayload;
3137
+ };
3138
+ }
3139
+ interface AthenaUpsertDebugAst extends AthenaDebugAstBase<'upsert'> {
3140
+ tableName: string;
3141
+ input: {
3142
+ values: AthenaInsertPayload['insert_body'];
3143
+ updateBody?: AthenaInsertPayload['update_body'];
3144
+ onConflict?: AthenaInsertPayload['on_conflict'];
3145
+ returning?: AthenaInsertPayload['columns'];
3146
+ count?: AthenaInsertPayload['count'];
3147
+ head?: boolean;
3148
+ defaultToNull?: boolean;
3149
+ };
3150
+ transport: {
3151
+ mode: 'upsert';
3152
+ endpoint: '/gateway/insert';
3153
+ payload: AthenaInsertPayload;
3154
+ };
3155
+ }
3156
+ interface AthenaUpdateDebugAst extends AthenaDebugAstBase<'update'> {
3157
+ tableName: string;
3158
+ input: {
3159
+ values: AthenaUpdatePayload['set'];
3160
+ state: AthenaTableBuilderStateAst;
3161
+ returning?: AthenaUpdatePayload['columns'];
3162
+ };
3163
+ transport: {
3164
+ mode: 'update';
3165
+ endpoint: '/gateway/update';
3166
+ payload: AthenaUpdatePayload;
3167
+ };
3168
+ }
3169
+ interface AthenaDeleteDebugAst extends AthenaDebugAstBase<'delete'> {
3170
+ tableName: string;
3171
+ input: {
3172
+ resourceId?: AthenaDeletePayload['resource_id'];
3173
+ state: AthenaTableBuilderStateAst;
3174
+ returning?: AthenaDeletePayload['columns'];
3175
+ };
3176
+ transport: {
3177
+ mode: 'delete';
3178
+ endpoint: '/gateway/delete';
3179
+ payload: AthenaDeletePayload;
3180
+ };
3181
+ }
3182
+ interface AthenaRpcDebugAst extends AthenaDebugAstBase<'rpc'> {
3183
+ functionName: string;
3184
+ input: {
3185
+ args?: AthenaJsonObject;
3186
+ select?: string | string[];
3187
+ state: AthenaRpcBuilderStateAst;
3188
+ };
3189
+ transport: {
3190
+ mode: 'rpc-post' | 'rpc-get';
3191
+ endpoint: '/gateway/rpc' | `/rpc/${string}`;
3192
+ payload: AthenaRpcPayload;
3193
+ };
3194
+ }
3195
+ interface AthenaRawQueryDebugAst extends AthenaDebugAstBase<'query'> {
3196
+ input: {
3197
+ query: string;
3198
+ };
3199
+ transport: {
3200
+ mode: 'raw-query';
3201
+ endpoint: '/gateway/query';
3202
+ payload: {
3203
+ query: string;
3204
+ };
3205
+ };
3206
+ }
3207
+ type AthenaQueryDebugAst = AthenaSelectDebugAst | AthenaFindManyDebugAst | AthenaInsertDebugAst | AthenaUpsertDebugAst | AthenaUpdateDebugAst | AthenaDeleteDebugAst | AthenaRpcDebugAst | AthenaRawQueryDebugAst;
3208
+ declare function getAthenaDebugAst(value: unknown): AthenaQueryDebugAst | null;
3209
+
2424
3210
  interface AthenaResult<T> {
2425
3211
  data: T | null;
2426
3212
  error: AthenaResultError | null;
@@ -2471,6 +3257,21 @@ interface AthenaClientExperimentalOptions {
2471
3257
  * Includes payload, synthesized SQL, full outcome, and best-effort callsite metadata.
2472
3258
  */
2473
3259
  traceQueries?: boolean | AthenaQueryTraceOptions;
3260
+ /**
3261
+ * Build and attach a normalized operation AST for runtime debugging.
3262
+ *
3263
+ * When enabled, successful Athena results expose a non-enumerable debug AST
3264
+ * that can be read with `getAthenaDebugAst(...)`. If tracing is also enabled,
3265
+ * the same AST is included on emitted trace events.
3266
+ */
3267
+ debugAst?: boolean;
3268
+ /**
3269
+ * Compile-time opt-in for validating simple `select(...)`, `order(...)`, and
3270
+ * RPC filter column names against known row keys.
3271
+ *
3272
+ * This flag is type-only. It does not change runtime request behavior.
3273
+ */
3274
+ typecheckColumns?: boolean;
2474
3275
  /**
2475
3276
  * Send the original `findMany(...)` AST body for clean object-select reads.
2476
3277
  * This requires gateway support and falls back to legacy compiled transport
@@ -2510,6 +3311,7 @@ interface AthenaQueryTraceEvent {
2510
3311
  functionName?: string;
2511
3312
  sql: string;
2512
3313
  payload: unknown;
3314
+ ast?: AthenaQueryDebugAst;
2513
3315
  options?: AthenaGatewayCallOptions | AthenaRpcCallOptions;
2514
3316
  callsite: AthenaQueryTraceCallsite | null;
2515
3317
  outcome?: {
@@ -2523,14 +3325,16 @@ interface AthenaQueryTraceEvent {
2523
3325
  thrownError?: unknown;
2524
3326
  }
2525
3327
  type MutationSingleResult<Result> = Result extends Array<infer Item> ? Item | null : Result | null;
3328
+ type MutationResultRow<Result> = Result extends Array<infer Item> ? Item : Result;
2526
3329
  type AthenaRowShape = Record<string, AthenaJsonValue | undefined>;
2527
3330
  type FilterColumnKey<Row> = Extract<keyof NonNullable<Row>, string>;
2528
3331
  type ResolvedFilterColumnKey<Row> = [FilterColumnKey<Row>] extends [never] ? string : FilterColumnKey<Row>;
2529
- interface MutationQuery<Result> extends PromiseLike<AthenaResult<Result>> {
2530
- select(columns?: string | string[], options?: AthenaGatewayCallOptions): Promise<AthenaResult<Result>>;
2531
- returning(columns?: string | string[], options?: AthenaGatewayCallOptions): Promise<AthenaResult<Result>>;
2532
- single(columns?: string | string[], options?: AthenaGatewayCallOptions): Promise<AthenaResult<MutationSingleResult<Result>>>;
2533
- maybeSingle(columns?: string | string[], options?: AthenaGatewayCallOptions): Promise<AthenaResult<MutationSingleResult<Result>>>;
3332
+ type SelectColumnsFor<Row, TStrict extends boolean, TValue extends AthenaSelectInput> = TStrict extends true ? AthenaValidatedSelectInput<Row, TValue> : TValue;
3333
+ interface MutationQuery<Result, Row = MutationResultRow<Result>, TStrict extends boolean = false> extends PromiseLike<AthenaResult<Result>> {
3334
+ select<const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): Promise<AthenaResult<Result>>;
3335
+ returning<const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): Promise<AthenaResult<Result>>;
3336
+ single<const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): Promise<AthenaResult<MutationSingleResult<Result>>>;
3337
+ maybeSingle<const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): Promise<AthenaResult<MutationSingleResult<Result>>>;
2534
3338
  then<TResult1 = AthenaResult<Result>, TResult2 = never>(onfulfilled?: ((value: AthenaResult<Result>) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
2535
3339
  catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | undefined | null): Promise<AthenaResult<Result> | TResult>;
2536
3340
  finally(onfinally?: (() => void) | undefined | null): Promise<AthenaResult<Result>>;
@@ -2566,78 +3370,98 @@ interface FilterChain<Self, Row> {
2566
3370
  or(expression: string): Self;
2567
3371
  }
2568
3372
  /** Chain returned by select() - supports filters and single/maybeSingle before execution */
2569
- interface SelectChain<Row, SelectedRow = Row> extends FilterChain<SelectChain<Row, SelectedRow>, Row>, PromiseLike<AthenaResult<SelectedRow[]>> {
2570
- single<T = SelectedRow>(columns?: string | string[], options?: AthenaGatewayCallOptions): Promise<AthenaResult<T | null>>;
2571
- maybeSingle<T = SelectedRow>(columns?: string | string[], options?: AthenaGatewayCallOptions): Promise<AthenaResult<T | null>>;
3373
+ interface SelectChain<Row, SelectedRow = Row, TStrict extends boolean = false> extends FilterChain<SelectChain<Row, SelectedRow, TStrict>, Row>, PromiseLike<AthenaResult<SelectedRow[]>> {
3374
+ single<T = SelectedRow, const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): Promise<AthenaResult<T | null>>;
3375
+ maybeSingle<T = SelectedRow, const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): Promise<AthenaResult<T | null>>;
2572
3376
  }
2573
3377
  /** Chain returned by update() - supports filters before execution, plus select/returning */
2574
- interface UpdateChain<Row> extends FilterChain<UpdateChain<Row>, Row>, MutationQuery<Row[]> {
2575
- }
2576
- interface RpcFilterChain<Self> {
2577
- eq(column: string, value: AthenaConditionValue): Self;
2578
- neq(column: string, value: AthenaConditionValue): Self;
2579
- gt(column: string, value: AthenaConditionValue): Self;
2580
- gte(column: string, value: AthenaConditionValue): Self;
2581
- lt(column: string, value: AthenaConditionValue): Self;
2582
- lte(column: string, value: AthenaConditionValue): Self;
2583
- like(column: string, value: AthenaConditionValue): Self;
2584
- ilike(column: string, value: AthenaConditionValue): Self;
2585
- is(column: string, value: AthenaConditionValue): Self;
2586
- in(column: string, values: AthenaConditionArrayValue): Self;
3378
+ interface UpdateChain<Row, TStrict extends boolean = false> extends FilterChain<UpdateChain<Row, TStrict>, Row>, MutationQuery<Row[], Row, TStrict> {
3379
+ }
3380
+ interface RpcFilterChain<Self, Row, TStrict extends boolean = false> {
3381
+ eq(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3382
+ neq(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3383
+ gt(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3384
+ gte(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3385
+ lt(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3386
+ lte(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3387
+ like(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3388
+ ilike(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3389
+ is(column: AthenaTypecheckedColumnKey<Row, TStrict>, value: AthenaConditionValue): Self;
3390
+ in(column: AthenaTypecheckedColumnKey<Row, TStrict>, values: AthenaConditionArrayValue): Self;
2587
3391
  }
2588
3392
  interface RpcOrderOptions {
2589
3393
  ascending?: boolean;
2590
3394
  }
2591
- interface RpcQueryBuilder<Row> extends RpcFilterChain<RpcQueryBuilder<Row>>, PromiseLike<AthenaResult<Row[]>> {
2592
- select(columns?: string | string[], options?: AthenaRpcCallOptions): Promise<AthenaResult<Row[]>>;
2593
- single<T = Row>(columns?: string | string[], options?: AthenaRpcCallOptions): Promise<AthenaResult<T | null>>;
2594
- maybeSingle<T = Row>(columns?: string | string[], options?: AthenaRpcCallOptions): Promise<AthenaResult<T | null>>;
2595
- order(column: string, options?: RpcOrderOptions): RpcQueryBuilder<Row>;
2596
- limit(count: number): RpcQueryBuilder<Row>;
2597
- offset(count: number): RpcQueryBuilder<Row>;
2598
- range(from: number, to: number): RpcQueryBuilder<Row>;
3395
+ interface RpcQueryBuilder<Row, TStrict extends boolean = false> extends RpcFilterChain<RpcQueryBuilder<Row, TStrict>, Row, TStrict>, PromiseLike<AthenaResult<Row[]>> {
3396
+ select<const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaRpcCallOptions): Promise<AthenaResult<Row[]>>;
3397
+ single<T = Row, const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaRpcCallOptions): Promise<AthenaResult<T | null>>;
3398
+ maybeSingle<T = Row, const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaRpcCallOptions): Promise<AthenaResult<T | null>>;
3399
+ order(column: AthenaTypecheckedColumnKey<Row, TStrict>, options?: RpcOrderOptions): RpcQueryBuilder<Row, TStrict>;
3400
+ limit(count: number): RpcQueryBuilder<Row, TStrict>;
3401
+ offset(count: number): RpcQueryBuilder<Row, TStrict>;
3402
+ range(from: number, to: number): RpcQueryBuilder<Row, TStrict>;
2599
3403
  }
2600
3404
  interface AthenaFromOptions {
2601
3405
  schema?: string;
2602
3406
  }
2603
- interface TableQueryBuilder<Row, Insert = Partial<Row>, Update = Partial<Insert>, TContext = unknown> extends FilterChain<TableQueryBuilder<Row, Insert, Update, TContext>, Row> {
2604
- select<T = Row>(columns?: string | string[], options?: AthenaGatewayCallOptions): SelectChain<Row, T>;
3407
+ interface TableQueryBuilder<Row, Insert = Partial<Row>, Update = Partial<Insert>, TContext = unknown, TStrict extends boolean = false> extends FilterChain<TableQueryBuilder<Row, Insert, Update, TContext, TStrict>, Row> {
3408
+ select<T = Row, const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): SelectChain<Row, T, TStrict>;
2605
3409
  findMany<const TSelect extends AthenaSelectShape>(options: AthenaFindManyOptions<Row, TSelect> & {
2606
3410
  select: AthenaValidatedSelectShape<TSelect>;
2607
3411
  }): Promise<AthenaResult<Array<AthenaFindManyResult<Row, TSelect, TContext>>>>;
2608
- insert(values: Insert, options?: AthenaGatewayCallOptions): MutationQuery<Row>;
2609
- insert(values: Insert[], options?: AthenaGatewayCallOptions): MutationQuery<Row[]>;
3412
+ insert(values: Insert, options?: AthenaGatewayCallOptions): MutationQuery<Row, Row, TStrict>;
3413
+ insert(values: Insert[], options?: AthenaGatewayCallOptions): MutationQuery<Row[], Row, TStrict>;
2610
3414
  upsert(values: Insert, options?: AthenaGatewayCallOptions & {
2611
3415
  updateBody?: Update;
2612
3416
  onConflict?: string | string[];
2613
- }): MutationQuery<Row>;
3417
+ }): MutationQuery<Row, Row, TStrict>;
2614
3418
  upsert(values: Insert[], options?: AthenaGatewayCallOptions & {
2615
3419
  updateBody?: Update;
2616
3420
  onConflict?: string | string[];
2617
- }): MutationQuery<Row[]>;
2618
- update(values: Update, options?: AthenaGatewayCallOptions): UpdateChain<Row>;
3421
+ }): MutationQuery<Row[], Row, TStrict>;
3422
+ update(values: Update, options?: AthenaGatewayCallOptions): UpdateChain<Row, TStrict>;
2619
3423
  delete(options?: AthenaGatewayCallOptions & {
2620
3424
  resourceId?: string;
2621
- }): MutationQuery<Row | null>;
2622
- single<T = Row>(columns?: string | string[], options?: AthenaGatewayCallOptions): Promise<AthenaResult<T | null>>;
2623
- maybeSingle<T = Row>(columns?: string | string[], options?: AthenaGatewayCallOptions): Promise<AthenaResult<T | null>>;
2624
- reset(): TableQueryBuilder<Row, Insert, Update, TContext>;
2625
- }
2626
- interface AthenaSdkClient {
2627
- from<Row = AthenaRowShape, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, options?: AthenaFromOptions): TableQueryBuilder<Row, Insert, Update>;
2628
- db: AthenaDbModule;
2629
- rpc<Row = unknown, Args extends AthenaJsonObject = AthenaJsonObject>(fn: string, args?: Args, options?: AthenaRpcCallOptions): RpcQueryBuilder<Row>;
3425
+ }): MutationQuery<Row | null, Row, TStrict>;
3426
+ single<T = Row, const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): Promise<AthenaResult<T | null>>;
3427
+ maybeSingle<T = Row, const TColumns extends AthenaSelectInput = string>(columns?: SelectColumnsFor<Row, TStrict, TColumns>, options?: AthenaGatewayCallOptions): Promise<AthenaResult<T | null>>;
3428
+ reset(): TableQueryBuilder<Row, Insert, Update, TContext, TStrict>;
3429
+ }
3430
+ interface AthenaSdkClient<TStrict extends boolean = false> {
3431
+ from<TModel extends AthenaModelTarget>(model: TModel): TableQueryBuilder<RowOf<TModel>, InsertOf<TModel>, UpdateOf<TModel>, unknown, TStrict>;
3432
+ from<Row = AthenaRowShape, Insert = Partial<Row>, Update = Partial<Insert>>(table: string, options?: AthenaFromOptions): TableQueryBuilder<Row, Insert, Update, unknown, TStrict>;
3433
+ db: AthenaDbModule<TStrict>;
3434
+ rpc<Row = unknown, Args extends AthenaJsonObject = AthenaJsonObject>(fn: string, args?: Args, options?: AthenaRpcCallOptions): RpcQueryBuilder<Row, TStrict>;
2630
3435
  query<Row = unknown>(query: string, options?: AthenaGatewayCallOptions): Promise<AthenaResult<Row[]>>;
2631
3436
  verifyConnection(options?: AthenaGatewayConnectionOptions): Promise<AthenaGatewayConnectionResult>;
2632
3437
  }
2633
- interface AthenaSdkClientWithAuth extends AthenaSdkClient {
3438
+ interface AthenaSdkClientWithAuth<TStrict extends boolean = false> extends AthenaSdkClient<TStrict> {
2634
3439
  auth: AthenaAuthBindings;
2635
3440
  }
2636
- interface AthenaSdkClientWithStorage extends AthenaSdkClientWithAuth {
3441
+ interface AthenaSdkClientWithStorage<TStrict extends boolean = false> extends AthenaSdkClientWithAuth<TStrict> {
2637
3442
  storage: AthenaStorageModule;
2638
3443
  }
2639
- interface AthenaCreateClientOptions extends Pick<AthenaGatewayCallOptions, 'client' | 'headers' | 'backend'> {
2640
- auth?: AthenaAuthClientConfig;
3444
+ interface AthenaCreateClientServiceUrlConfig {
3445
+ url?: string | null | undefined;
3446
+ }
3447
+ interface AthenaCreateClientAuthOptions extends Omit<AthenaAuthClientConfig, 'baseUrl' | 'apiKey' | 'bearerToken'> {
3448
+ url?: string | null | undefined;
3449
+ baseUrl?: string | null | undefined;
3450
+ apiKey?: string | null | undefined;
3451
+ bearerToken?: string | null | undefined;
3452
+ }
3453
+ interface AthenaCreateClientOptions {
3454
+ client?: string | null | undefined;
3455
+ headers?: Record<string, string>;
3456
+ backend?: BackendConfig | BackendType;
3457
+ db?: AthenaCreateClientServiceUrlConfig;
3458
+ gateway?: AthenaCreateClientServiceUrlConfig;
3459
+ auth?: AthenaCreateClientAuthOptions;
3460
+ storage?: AthenaCreateClientServiceUrlConfig;
3461
+ dbUrl?: string | null | undefined;
3462
+ gatewayUrl?: string | null | undefined;
3463
+ authUrl?: string | null | undefined;
3464
+ storageUrl?: string | null | undefined;
2641
3465
  experimental?: AthenaClientExperimentalOptions;
2642
3466
  }
2643
3467
  interface AthenaCreateClientOptionsWithStorage extends AthenaCreateClientOptions {
@@ -2645,40 +3469,82 @@ interface AthenaCreateClientOptionsWithStorage extends AthenaCreateClientOptions
2645
3469
  athenaStorageBackend: true;
2646
3470
  };
2647
3471
  }
2648
- interface AthenaClientBuilder<StorageEnabled extends boolean = false> {
2649
- /** Set the gateway base URL. */
2650
- url(url: string): AthenaClientBuilder<StorageEnabled>;
3472
+ interface AthenaCreateClientOptionsWithTypecheckedColumns extends AthenaCreateClientOptions {
3473
+ experimental: AthenaClientExperimentalOptions & {
3474
+ typecheckColumns: true;
3475
+ };
3476
+ }
3477
+ interface AthenaCreateClientOptionsWithStorageAndTypecheckedColumns extends AthenaCreateClientOptions {
3478
+ experimental: AthenaClientExperimentalOptions & {
3479
+ athenaStorageBackend: true;
3480
+ typecheckColumns: true;
3481
+ };
3482
+ }
3483
+ interface AthenaCreateClientConfig extends AthenaCreateClientOptions {
3484
+ url?: string | null | undefined;
3485
+ key: string | null | undefined;
3486
+ }
3487
+ interface AthenaCreateClientConfigWithStorage extends AthenaCreateClientOptionsWithStorage {
3488
+ url?: string | null | undefined;
3489
+ key: string | null | undefined;
3490
+ }
3491
+ interface AthenaCreateClientConfigWithTypecheckedColumns extends AthenaCreateClientOptionsWithTypecheckedColumns {
3492
+ url?: string | null | undefined;
3493
+ key: string | null | undefined;
3494
+ }
3495
+ interface AthenaCreateClientConfigWithStorageAndTypecheckedColumns extends AthenaCreateClientOptionsWithStorageAndTypecheckedColumns {
3496
+ url?: string | null | undefined;
3497
+ key: string | null | undefined;
3498
+ }
3499
+ interface AthenaClientBuilder<StorageEnabled extends boolean = false, TStrict extends boolean = false> {
3500
+ /** Set the public Athena base URL. */
3501
+ url(url: string | null | undefined): AthenaClientBuilder<StorageEnabled, TStrict>;
2651
3502
  /** Set the API key used for all requests. */
2652
- key(apiKey: string): AthenaClientBuilder<StorageEnabled>;
3503
+ key(apiKey: string | null | undefined): AthenaClientBuilder<StorageEnabled, TStrict>;
2653
3504
  /** Set the default backend routing strategy. */
2654
- backend(backend: BackendConfig | BackendType): AthenaClientBuilder<StorageEnabled>;
3505
+ backend(backend: BackendConfig | BackendType): AthenaClientBuilder<StorageEnabled, TStrict>;
2655
3506
  /** Set the default Athena client routing key. */
2656
- client(clientName: string): AthenaClientBuilder<StorageEnabled>;
3507
+ client(clientName: string | null | undefined): AthenaClientBuilder<StorageEnabled, TStrict>;
2657
3508
  /** Attach static headers to every request. */
2658
- headers(headers: Record<string, string>): AthenaClientBuilder<StorageEnabled>;
3509
+ headers(headers: Record<string, string>): AthenaClientBuilder<StorageEnabled, TStrict>;
2659
3510
  /** Configure Athena Auth client behavior for `client.auth.*` methods. */
2660
- auth(config: AthenaAuthClientConfig): AthenaClientBuilder<StorageEnabled>;
2661
- /** Configure experimental client options and narrow the built client when storage is enabled. */
3511
+ auth(config: AthenaCreateClientAuthOptions): AthenaClientBuilder<StorageEnabled, TStrict>;
3512
+ /** Configure experimental client options and narrow the built client when storage or strict column checks are enabled. */
2662
3513
  experimental(options: AthenaClientExperimentalOptions & {
2663
3514
  athenaStorageBackend: true;
2664
- }): AthenaClientBuilder<true>;
2665
- experimental(options: AthenaClientExperimentalOptions): AthenaClientBuilder<StorageEnabled>;
3515
+ typecheckColumns: true;
3516
+ }): AthenaClientBuilder<true, true>;
3517
+ experimental(options: AthenaClientExperimentalOptions & {
3518
+ athenaStorageBackend: true;
3519
+ }): AthenaClientBuilder<true, TStrict>;
3520
+ experimental(options: AthenaClientExperimentalOptions & {
3521
+ typecheckColumns: true;
3522
+ }): AthenaClientBuilder<StorageEnabled, true>;
3523
+ experimental(options: AthenaClientExperimentalOptions): AthenaClientBuilder<StorageEnabled, TStrict>;
2666
3524
  /** Apply createClient options and narrow the built client when storage is enabled. */
2667
- options(options: AthenaCreateClientOptionsWithStorage): AthenaClientBuilder<true>;
2668
- options(options: AthenaCreateClientOptions): AthenaClientBuilder<StorageEnabled>;
3525
+ options(options: AthenaCreateClientOptionsWithStorageAndTypecheckedColumns): AthenaClientBuilder<true, true>;
3526
+ options(options: AthenaCreateClientOptionsWithStorage): AthenaClientBuilder<true, TStrict>;
3527
+ options(options: AthenaCreateClientOptionsWithTypecheckedColumns): AthenaClientBuilder<StorageEnabled, true>;
3528
+ options(options: AthenaCreateClientOptions): AthenaClientBuilder<StorageEnabled, TStrict>;
2669
3529
  /** Build the immutable Athena SDK client. */
2670
- build(): StorageEnabled extends true ? AthenaSdkClientWithStorage : AthenaSdkClientWithAuth;
3530
+ build(): StorageEnabled extends true ? AthenaSdkClientWithStorage<TStrict> : AthenaSdkClientWithAuth<TStrict>;
2671
3531
  }
2672
3532
  /** Canonical Athena client factory with builder-based configuration. */
2673
3533
  declare class AthenaClient {
2674
3534
  /** Create a fluent builder for a strongly-typed Athena SDK client. */
2675
- static builder(): AthenaClientBuilder<false>;
3535
+ static builder(): AthenaClientBuilder<false, false>;
2676
3536
  /** Build a client from process environment variables. */
2677
- static fromEnvironment(): AthenaSdkClientWithAuth;
3537
+ static fromEnvironment(): AthenaSdkClientWithAuth<false>;
2678
3538
  }
2679
3539
  /** Create client (convenience wrapper; use AthenaClient.builder() for full control) */
2680
- declare function createClient(url: string, apiKey: string, options: AthenaCreateClientOptionsWithStorage): AthenaSdkClientWithStorage;
2681
- declare function createClient(url: string, apiKey: string, options?: AthenaCreateClientOptions): AthenaSdkClientWithAuth;
3540
+ declare function createClient(config: AthenaCreateClientConfigWithStorageAndTypecheckedColumns): AthenaSdkClientWithStorage<true>;
3541
+ declare function createClient(config: AthenaCreateClientConfigWithStorage): AthenaSdkClientWithStorage<false>;
3542
+ declare function createClient(config: AthenaCreateClientConfigWithTypecheckedColumns): AthenaSdkClientWithAuth<true>;
3543
+ declare function createClient(config: AthenaCreateClientConfig): AthenaSdkClientWithAuth<false>;
3544
+ declare function createClient(url: string | null | undefined, apiKey: string | null | undefined, options: AthenaCreateClientOptionsWithStorageAndTypecheckedColumns): AthenaSdkClientWithStorage<true>;
3545
+ declare function createClient(url: string | null | undefined, apiKey: string | null | undefined, options: AthenaCreateClientOptionsWithStorage): AthenaSdkClientWithStorage<false>;
3546
+ declare function createClient(url: string | null | undefined, apiKey: string | null | undefined, options: AthenaCreateClientOptionsWithTypecheckedColumns): AthenaSdkClientWithAuth<true>;
3547
+ declare function createClient(url: string | null | undefined, apiKey: string | null | undefined, options?: AthenaCreateClientOptions): AthenaSdkClientWithAuth<false>;
2682
3548
 
2683
3549
  interface AthenaGatewayErrorInput {
2684
3550
  code: AthenaGatewayErrorCode;
@@ -2722,6 +3588,10 @@ type MapNullableToFormValue<TField, TMode extends ModelFormNullishMode> = null e
2722
3588
  type ModelFormValues<TModel extends AnyModelDef, TMode extends ModelFormNullishMode = 'empty-string'> = {
2723
3589
  [K in keyof InsertOf<TModel>]: MapNullableToFormValue<InsertOf<TModel>[K], TMode>;
2724
3590
  };
3591
+ /**
3592
+ * Alias for deriving form value types from any model contract.
3593
+ */
3594
+ type FormValuesOf<TModel extends AnyModelDef, TMode extends ModelFormNullishMode = 'empty-string'> = ModelFormValues<TModel, TMode>;
2725
3595
  /**
2726
3596
  * Default value shape for form initialization.
2727
3597
  */
@@ -2769,4 +3639,4 @@ interface ModelFormAdapter<TModel extends AnyModelDef> {
2769
3639
  */
2770
3640
  declare function createModelFormAdapter<TModel extends AnyModelDef>(model: TModel): ModelFormAdapter<TModel>;
2771
3641
 
2772
- export { type AthenaClientExperimentalOptions as $, type AthenaAdminListUsersFilterOperator as A, type AthenaAuthQueryValue as B, type AthenaAuthReactEmailComponent as C, type AthenaAuthReactEmailConfig as D, type AthenaAuthReactEmailEventPhase as E, type AthenaAuthReactEmailProps as F, type AthenaAuthReactEmailRenderEvent as G, type AthenaAuthReactEmailRenderInput as H, type AthenaAuthReactEmailRenderOptions as I, type AthenaAuthRequestInput as J, type AthenaAuthResetPasswordBinding as K, type AthenaAuthResult as L, type AthenaAuthRevokeSessionRequest as M, type AthenaAuthSdkClient as N, type AthenaAuthSearchOperator as O, type AthenaAuthSession as P, type AthenaAuthSessionResponse as Q, type AthenaAuthSessionRevokeBinding as R, type AthenaAuthSignInResponse as S, type AthenaAuthSignOutResponse as T, type AthenaAuthSocialRedirectResponse as U, type AthenaAuthStatusResponse as V, type AthenaAuthUser as W, type AthenaChangeEmailRequest as X, type AthenaChangePasswordRequest as Y, AthenaClient as Z, type AthenaClientBuilder as _, type AthenaAdminListUsersQuery as a, type AthenaUnlinkAccountRequest as a$, type AthenaCreateClientOptions as a0, type AthenaCreateClientOptionsWithStorage as a1, type AthenaDbModule as a2, type AthenaDeleteUserCallbackRequest as a3, type AthenaDeleteUserRequest as a4, type AthenaDeleteUserResponse as a5, type AthenaEmailSignInRequest as a6, type AthenaEmailSignUpRequest as a7, type AthenaEnvelope as a8, AthenaError as a9, type AthenaSocialSignInRequest as aA, type AthenaStorageBinaryCallOptions as aB, type AthenaStorageCallOptions as aC, type AthenaStorageClientConfig as aD, type AthenaStorageEnv as aE, AthenaStorageError as aF, AthenaStorageErrorCode as aG, type AthenaStorageErrorDetails as aH, type AthenaStorageErrorHandler as aI, type AthenaStorageErrorInput as aJ, type AthenaStorageFileConfig as aK, type AthenaStorageFileDeleteInput as aL, type AthenaStorageFileDownloadInput as aM, type AthenaStorageFileListInput as aN, type AthenaStorageFileModule as aO, type AthenaStorageFileUploadInput as aP, type AthenaStorageFileUploadResult as aQ, type AthenaStorageModule as aR, type AthenaStoragePathContext as aS, type AthenaStoragePrefixPath as aT, type AthenaStorageTemplateValue as aU, type AthenaStorageTemplateVars as aV, type AthenaStorageUploadConstraints as aW, type AthenaStorageUploadProgress as aX, type AthenaStorageUploadProgressHandler as aY, type AthenaStorageUploadSource as aZ, type AthenaStorageUploadedFile as a_, AthenaErrorCategory as aa, AthenaErrorCode as ab, type AthenaErrorInput as ac, AthenaErrorKind as ad, type AthenaFindManyOptions as ae, type AthenaFindManyResult as af, type AthenaForgetPasswordRequest as ag, type AthenaFromOptions as ah, AthenaGatewayError as ai, type AthenaLinkSocialRequest as aj, type AthenaOAuthAccountTokenRequest as ak, type AthenaOAuthTokenBundle as al, type AthenaOperationContext as am, type AthenaOrderBy as an, type AthenaQueryTraceCallsite as ao, type AthenaQueryTraceEvent as ap, type AthenaQueryTraceOptions as aq, type AthenaRelationSelectNode as ar, type AthenaResetPasswordRequest as as, type AthenaResult as at, type AthenaResultError as au, type AthenaSdkClient as av, type AthenaSdkClientWithAuth as aw, type AthenaSdkClientWithStorage as ax, type AthenaSelectShape as ay, type AthenaSendVerificationEmailRequest as az, type AthenaAdminListUsersSearchOperator as b, type AthenaUpdateUserRequest as b0, type AthenaUsernameSignInRequest as b1, type AthenaVerifyEmailRequest as b2, type AthenaWhere as b3, type AthenaWhereBooleanOperand as b4, type AthenaWhereOperatorInput as b5, type CreateStorageCatalogRequest as b6, type CreateStorageUploadUrlRequest as b7, type CreateStorageUploadUrlsRequest as b8, type DeleteStorageFolderRequest as b9, type ToModelFormDefaultsOptions as bA, type ToModelPayloadOptions as bB, type UnwrapOneOptions as bC, type UnwrapOptions as bD, type UpdateStorageCatalogRequest as bE, type UpdateStorageFileRequest as bF, assertInt as bG, coerceInt as bH, createAthenaStorageError as bI, createClient as bJ, createModelFormAdapter as bK, isAthenaGatewayError as bL, isOk as bM, normalizeAthenaError as bN, parseBooleanFlag as bO, requireAffected as bP, requireSuccess as bQ, storageSdkManifest as bR, toModelFormDefaults as bS, toModelPayload as bT, unwrap as bU, unwrapOne as bV, unwrapRows as bW, withRetry as bX, type AthenaAuthFetchCompatibleInput as bY, type GetStorageFileUrlQuery as ba, type IntCoercionOptions as bb, type ListStorageFilesRequest as bc, type ManagedFileRecord as bd, type ModelFormAdapter as be, type ModelFormDefaults as bf, type ModelFormNullishMode as bg, type ModelFormValues as bh, type MoveStorageFolderRequest as bi, type NormalizedAthenaError as bj, type PresignedFileUrlResponse as bk, type RequireAffectedOptions as bl, type RetryBackoffStrategy as bm, type RetryConfig as bn, type RpcOrderOptions as bo, type RpcQueryBuilder as bp, type S3CatalogItem as bq, type S3CredentialListItem as br, type SetStorageFileVisibilityRequest as bs, type StorageBatchUploadUrlResponse as bt, type StorageFileAccessPurpose as bu, type StorageFileMutationResponse as bv, type StorageFolderMutationResponse as bw, type StorageListFilesResponse as bx, type StorageUploadUrlResponse as by, type TableQueryBuilder as bz, type AthenaAuthAdminUserSessionRevokeBinding as c, type AthenaAuthBindings as d, type AthenaAuthCallOptions as e, type AthenaAuthClientConfig as f, type AthenaAuthCredentials as g, type AthenaAuthEmailChangeResponse as h, type AthenaAuthEmailTemplateBuilder as i, type AthenaAuthEmailTemplateCreateFromDefinitionInput as j, type AthenaAuthEmailTemplateDefinition as k, type AthenaAuthEmailTemplateReactOverrides as l, type AthenaAuthEmailTemplateUpdateFromDefinitionInput as m, type AthenaAuthEndpointPath as n, type AthenaAuthErrorCode as o, type AthenaAuthErrorDetails as p, type AthenaAuthFilterOperator as q, type AthenaAuthGenericInput as r, type AthenaAuthGenericQueryInput as s, type AthenaAuthLinkedAccount as t, type AthenaAuthMethod as u, type AthenaAuthOrganization as v, type AthenaAuthOrganizationBindings as w, type AthenaAuthOrganizationInvitation as x, type AthenaAuthOrganizationMember as y, type AthenaAuthQueryPrimitive as z };
3642
+ export { type AthenaClientExperimentalOptions as $, type AthenaAdminListUsersFilterOperator as A, type AthenaAuthQueryValue as B, type AthenaAuthReactEmailComponent as C, type AthenaAuthReactEmailConfig as D, type AthenaAuthReactEmailEventPhase as E, type AthenaAuthReactEmailProps as F, type AthenaAuthReactEmailRenderEvent as G, type AthenaAuthReactEmailRenderInput as H, type AthenaAuthReactEmailRenderOptions as I, type AthenaAuthRequestInput as J, type AthenaAuthResetPasswordBinding as K, type AthenaAuthResult as L, type AthenaAuthRevokeSessionRequest as M, type AthenaAuthSdkClient as N, type AthenaAuthSearchOperator as O, type AthenaAuthSession as P, type AthenaAuthSessionResponse as Q, type AthenaAuthSessionRevokeBinding as R, type AthenaAuthSignInResponse as S, type AthenaAuthSignOutResponse as T, type AthenaAuthSocialRedirectResponse as U, type AthenaAuthStatusResponse as V, type AthenaAuthUser as W, type AthenaChangeEmailRequest as X, type AthenaChangePasswordRequest as Y, AthenaClient as Z, type AthenaClientBuilder as _, type AthenaAdminListUsersQuery as a, type AthenaStorageEnv as a$, type AthenaCreateClientAuthOptions as a0, type AthenaCreateClientConfig as a1, type AthenaCreateClientConfigWithStorage as a2, type AthenaCreateClientConfigWithStorageAndTypecheckedColumns as a3, type AthenaCreateClientConfigWithTypecheckedColumns as a4, type AthenaCreateClientOptions as a5, type AthenaCreateClientOptionsWithStorage as a6, type AthenaCreateClientOptionsWithStorageAndTypecheckedColumns as a7, type AthenaCreateClientOptionsWithTypecheckedColumns as a8, type AthenaCreateClientServiceUrlConfig as a9, type AthenaQueryTraceCallsite as aA, type AthenaQueryTraceEvent as aB, type AthenaQueryTraceOptions as aC, type AthenaRawQueryDebugAst as aD, type AthenaRelationSelectNode as aE, type AthenaResetPasswordRequest as aF, type AthenaResult as aG, type AthenaResultError as aH, type AthenaRpcBuilderStateAst as aI, type AthenaRpcDebugAst as aJ, type AthenaSdkClient as aK, type AthenaSdkClientWithAuth as aL, type AthenaSdkClientWithStorage as aM, type AthenaSelectDebugAst as aN, type AthenaSelectDebugTransport as aO, type AthenaSelectShape as aP, type AthenaSendVerificationEmailRequest as aQ, type AthenaSocialSignInRequest as aR, type AthenaStorageAuditNamespace as aS, type AthenaStorageBaseModule as aT, type AthenaStorageBinaryCallOptions as aU, type AthenaStorageBucketCorsNamespace as aV, type AthenaStorageBucketNamespace as aW, type AthenaStorageCallOptions as aX, type AthenaStorageCatalogNamespace as aY, type AthenaStorageClientConfig as aZ, type AthenaStorageCredentialsNamespace as a_, type AthenaDbModule as aa, type AthenaDeleteDebugAst as ab, type AthenaDeleteUserCallbackRequest as ac, type AthenaDeleteUserRequest as ad, type AthenaDeleteUserResponse as ae, type AthenaEmailSignInRequest as af, type AthenaEmailSignUpRequest as ag, type AthenaEnvelope as ah, AthenaError as ai, AthenaErrorCategory as aj, AthenaErrorCode as ak, type AthenaErrorInput as al, AthenaErrorKind as am, type AthenaFindManyDebugAst as an, type AthenaFindManyOptions as ao, type AthenaFindManyResult as ap, type AthenaForgetPasswordRequest as aq, type AthenaFromOptions as ar, AthenaGatewayError as as, type AthenaInsertDebugAst as at, type AthenaLinkSocialRequest as au, type AthenaOAuthAccountTokenRequest as av, type AthenaOAuthTokenBundle as aw, type AthenaOperationContext as ax, type AthenaOrderBy as ay, type AthenaQueryDebugAst as az, type AthenaAdminListUsersSearchOperator as b, type RequireAffectedOptions as b$, AthenaStorageError as b0, AthenaStorageErrorCode as b1, type AthenaStorageErrorDetails as b2, type AthenaStorageErrorHandler as b3, type AthenaStorageErrorInput as b4, type AthenaStorageFileConfig as b5, type AthenaStorageFileDeleteInput as b6, type AthenaStorageFileDownloadInput as b7, type AthenaStorageFileListInput as b8, type AthenaStorageFileModule as b9, type AthenaUpdateUserRequest as bA, type AthenaUpsertDebugAst as bB, type AthenaUsernameSignInRequest as bC, type AthenaVerifyEmailRequest as bD, type AthenaWhere as bE, type AthenaWhereBooleanOperand as bF, type AthenaWhereOperatorInput as bG, type ConfirmStorageUploadRequest as bH, type CopyStorageFileRequest as bI, type CreateStorageCatalogRequest as bJ, type CreateStorageUploadUrlRequest as bK, type CreateStorageUploadUrlsRequest as bL, type DeleteManyStorageFilesRequest as bM, type DeleteStorageFolderRequest as bN, type FormValuesOf as bO, type GetStorageFileUrlQuery as bP, type IntCoercionOptions as bQ, type ListStorageFilesRequest as bR, type ListStorageFoldersRequest as bS, type ManagedFileRecord as bT, type ModelFormAdapter as bU, type ModelFormDefaults as bV, type ModelFormNullishMode as bW, type ModelFormValues as bX, type MoveStorageFolderRequest as bY, type NormalizedAthenaError as bZ, type PresignedFileUrlResponse as b_, type AthenaStorageFileNamespace as ba, type AthenaStorageFileUploadInput as bb, type AthenaStorageFileUploadManyRequest as bc, type AthenaStorageFileUploadRequest as bd, type AthenaStorageFileUploadResult as be, type AthenaStorageFolderNamespace as bf, type AthenaStorageManagedUpload as bg, type AthenaStorageModule as bh, type AthenaStorageMultipartNamespace as bi, type AthenaStorageObjectFolderNamespace as bj, type AthenaStorageObjectNamespace as bk, type AthenaStoragePathContext as bl, type AthenaStoragePermissionNamespace as bm, type AthenaStoragePrefixPath as bn, type AthenaStoragePutBody as bo, type AthenaStoragePutOptions as bp, type AthenaStorageTemplateValue as bq, type AthenaStorageTemplateVars as br, type AthenaStorageUploadConstraints as bs, type AthenaStorageUploadProgress as bt, type AthenaStorageUploadProgressHandler as bu, type AthenaStorageUploadSource as bv, type AthenaStorageUploadedFile as bw, type AthenaTableBuilderStateAst as bx, type AthenaUnlinkAccountRequest as by, type AthenaUpdateDebugAst as bz, type AthenaAuthAdminUserSessionRevokeBinding as c, type ToModelPayloadOptions as c$, type RetryBackoffStrategy as c0, type RetryConfig as c1, type RpcOrderOptions as c2, type RpcQueryBuilder as c3, type S3CatalogItem as c4, type S3CredentialListItem as c5, type SearchStorageFilesRequest as c6, type SetManyStorageFileVisibilityRequest as c7, type SetStorageFileVisibilityRequest as c8, type StorageAuditEventRecord as c9, type StorageObjectFolderCreateRequest as cA, type StorageObjectFolderDeleteRequest as cB, type StorageObjectFolderRenameRequest as cC, type StorageObjectPublicUrlRequest as cD, type StorageObjectRequest as cE, type StorageObjectValidateRequest as cF, type StorageObjectVersionListRequest as cG, type StorageObjectVersionMutationRequest as cH, type StoragePermissionCheckRequest as cI, type StoragePermissionCheckResponse as cJ, type StoragePermissionGrantRequest as cK, type StoragePermissionListRequest as cL, type StoragePermissionListResponse as cM, type StoragePermissionRevokeRequest as cN, type StoragePresignUploadRequest as cO, type StoragePublicAccessBlockRequest as cP, type StorageServerSideEncryptionOptions as cQ, type StorageSetBucketCorsRequest as cR, type StorageSetBucketLifecycleRequest as cS, type StorageSetBucketPolicyRequest as cT, type StorageSetPublicAccessBlockRequest as cU, type StorageSignedPostPolicyRequest as cV, type StorageUpdateObjectRequest as cW, type StorageUploadUrlResponse as cX, type StorageUploadUrlResponseWithPut as cY, type TableQueryBuilder as cZ, type ToModelFormDefaultsOptions as c_, type StorageAuditListResponse as ca, type StorageAuditQueryRequest as cb, type StorageBatchUploadUrlResponse as cc, type StorageBatchUploadUrlResponseWithPut as cd, type StorageBucketCorsRequest as ce, type StorageBucketCorsRuleInput as cf, type StorageBucketLifecycleRequest as cg, type StorageBucketLifecycleRuleInput as ch, type StorageBucketPolicyRequest as ci, type StorageFileAccessPurpose as cj, type StorageFileMutationManyResponse as ck, type StorageFileMutationResponse as cl, type StorageFilePermissionRecord as cm, type StorageFileRetentionRequest as cn, type StorageFileVersionPathRequest as co, type StorageFolderMutationResponse as cp, type StorageListFilesResponse as cq, type StorageListObjectsRequest as cr, type StorageMultipartAbortRequest as cs, type StorageMultipartCompletePartInput as ct, type StorageMultipartCompleteRequest as cu, type StorageMultipartCreateRequest as cv, type StorageMultipartListPartsRequest as cw, type StorageMultipartSignPartRequest as cx, type StorageObjectBaseRequest as cy, type StorageObjectCopyRequest as cz, type AthenaAuthBindings as d, type TreeStorageFoldersRequest as d0, type UnwrapOneOptions as d1, type UnwrapOptions as d2, type UpdateManyStorageFilesRequest as d3, type UpdateStorageCatalogRequest as d4, type UpdateStorageFileRequest as d5, assertInt as d6, coerceInt as d7, createAthenaStorageError as d8, createClient as d9, createModelFormAdapter as da, createStorageModule as db, getAthenaDebugAst as dc, isAthenaGatewayError as dd, isOk as de, normalizeAthenaError as df, parseBooleanFlag as dg, requireAffected as dh, requireSuccess as di, storageSdkManifest as dj, toModelFormDefaults as dk, toModelPayload as dl, unwrap as dm, unwrapOne as dn, unwrapRows as dp, verifyAthenaGatewayUrl as dq, withRetry as dr, type AthenaAuthFetchCompatibleInput as ds, type AthenaAuthCallOptions as e, type AthenaAuthClientConfig as f, type AthenaAuthCredentials as g, type AthenaAuthEmailChangeResponse as h, type AthenaAuthEmailTemplateBuilder as i, type AthenaAuthEmailTemplateCreateFromDefinitionInput as j, type AthenaAuthEmailTemplateDefinition as k, type AthenaAuthEmailTemplateReactOverrides as l, type AthenaAuthEmailTemplateUpdateFromDefinitionInput as m, type AthenaAuthEndpointPath as n, type AthenaAuthErrorCode as o, type AthenaAuthErrorDetails as p, type AthenaAuthFilterOperator as q, type AthenaAuthGenericInput as r, type AthenaAuthGenericQueryInput as s, type AthenaAuthLinkedAccount as t, type AthenaAuthMethod as u, type AthenaAuthOrganization as v, type AthenaAuthOrganizationBindings as w, type AthenaAuthOrganizationInvitation as x, type AthenaAuthOrganizationMember as y, type AthenaAuthQueryPrimitive as z };