@haex-space/vault-sdk 2.5.111 → 2.5.113

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.
@@ -939,6 +939,165 @@ declare class LocalSendAPI {
939
939
  cancelSend(sessionId: string): Promise<void>;
940
940
  }
941
941
 
942
+ type SpaceRole = 'admin' | 'member' | 'viewer';
943
+ interface SharedSpace {
944
+ id: string;
945
+ ownerId: string;
946
+ encryptedName: string;
947
+ nameNonce: string;
948
+ currentKeyGeneration: number;
949
+ role: SpaceRole;
950
+ canInvite: boolean;
951
+ createdAt: string;
952
+ }
953
+ interface SpaceMemberInfo {
954
+ publicKey: string;
955
+ label: string;
956
+ role: SpaceRole;
957
+ canInvite: boolean;
958
+ invitedBy: string | null;
959
+ joinedAt: string;
960
+ }
961
+ interface SpaceKeyGrantInfo {
962
+ spaceId: string;
963
+ generation: number;
964
+ encryptedSpaceKey: string;
965
+ keyNonce: string;
966
+ ephemeralPublicKey: string;
967
+ }
968
+ interface SpaceInvite {
969
+ spaceId: string;
970
+ serverUrl: string;
971
+ spaceName: string;
972
+ accessToken: string;
973
+ encryptedSpaceKey: string;
974
+ keyNonce: string;
975
+ ephemeralPublicKey: string;
976
+ generation: number;
977
+ role: SpaceRole;
978
+ }
979
+ interface SpaceAccessTokenInfo {
980
+ id: string;
981
+ publicKey: string;
982
+ role: SpaceRole;
983
+ label: string | null;
984
+ revoked: boolean;
985
+ createdAt: string;
986
+ lastUsedAt: string | null;
987
+ }
988
+ /**
989
+ * A shared space with its decrypted name.
990
+ * Returned by the extension API after vault-side decryption.
991
+ */
992
+ interface DecryptedSpace {
993
+ id: string;
994
+ name: string;
995
+ role: SpaceRole;
996
+ canInvite: boolean;
997
+ serverUrl: string;
998
+ createdAt: string;
999
+ }
1000
+ /**
1001
+ * Minimal sync backend info exposed to extensions.
1002
+ * Extensions use this to pick a server when creating a space.
1003
+ */
1004
+ interface SyncBackendInfo {
1005
+ id: string;
1006
+ name: string;
1007
+ serverUrl: string;
1008
+ isDefault: boolean;
1009
+ }
1010
+
1011
+ /**
1012
+ * A mapping of a row to a shared space.
1013
+ */
1014
+ interface SpaceAssignment {
1015
+ /** The extension-scoped table name */
1016
+ tableName: string;
1017
+ /** Serialized primary key(s) identifying the row */
1018
+ rowPks: string;
1019
+ /** The shared space ID this row is assigned to */
1020
+ spaceId: string;
1021
+ }
1022
+ /**
1023
+ * Spaces API for managing row-to-space assignments.
1024
+ *
1025
+ * Extensions use this API to control which rows are synced to which
1026
+ * shared spaces. The sync engine reads these assignments to filter
1027
+ * data when pushing to space backends.
1028
+ *
1029
+ * @example
1030
+ * ```typescript
1031
+ * // Assign a single row to a space
1032
+ * await sdk.spaces.assignRowAsync("events", "evt_123", "space_abc");
1033
+ *
1034
+ * // Bulk assign multiple rows
1035
+ * await sdk.spaces.assignAsync([
1036
+ * { tableName: "events", rowPks: "evt_1", spaceId: "space_abc" },
1037
+ * { tableName: "events", rowPks: "evt_2", spaceId: "space_abc" },
1038
+ * ]);
1039
+ *
1040
+ * // Query assignments
1041
+ * const assignments = await sdk.spaces.getAssignmentsAsync("events");
1042
+ * ```
1043
+ */
1044
+ declare class SpacesAPI {
1045
+ private client;
1046
+ constructor(client: HaexVaultSdk);
1047
+ /**
1048
+ * Bulk assign rows to spaces.
1049
+ * @param assignments - Array of row-to-space mappings
1050
+ * @returns Number of assignments created
1051
+ */
1052
+ assignAsync(assignments: SpaceAssignment[]): Promise<number>;
1053
+ /**
1054
+ * Bulk unassign rows from spaces.
1055
+ * @param assignments - Array of row-to-space mappings to remove
1056
+ * @returns Number of assignments removed
1057
+ */
1058
+ unassignAsync(assignments: SpaceAssignment[]): Promise<number>;
1059
+ /**
1060
+ * Get space assignments for a table, optionally filtered by row.
1061
+ * @param tableName - The table to query assignments for
1062
+ * @param rowPks - Optional row primary key(s) to filter by
1063
+ * @returns Array of space assignments
1064
+ */
1065
+ getAssignmentsAsync(tableName: string, rowPks?: string): Promise<SpaceAssignment[]>;
1066
+ /**
1067
+ * Convenience method to assign a single row to a space.
1068
+ * @param tableName - The table name
1069
+ * @param rowPks - The row primary key(s)
1070
+ * @param spaceId - The space ID to assign to
1071
+ * @returns Number of assignments created (0 or 1)
1072
+ */
1073
+ assignRowAsync(tableName: string, rowPks: string, spaceId: string): Promise<number>;
1074
+ /**
1075
+ * Convenience method to unassign a single row from a space.
1076
+ * @param tableName - The table name
1077
+ * @param rowPks - The row primary key(s)
1078
+ * @param spaceId - The space ID to unassign from
1079
+ * @returns Number of assignments removed (0 or 1)
1080
+ */
1081
+ unassignRowAsync(tableName: string, rowPks: string, spaceId: string): Promise<number>;
1082
+ /**
1083
+ * List all shared spaces the user is a member of.
1084
+ * Returns spaces with decrypted names (decryption happens vault-side).
1085
+ */
1086
+ listSpacesAsync(): Promise<DecryptedSpace[]>;
1087
+ /**
1088
+ * Create a new shared space.
1089
+ * @param name - Human-readable space name
1090
+ * @param serverUrl - The sync server URL to create the space on
1091
+ * @returns The created space with decrypted name
1092
+ */
1093
+ createSpaceAsync(name: string, serverUrl: string): Promise<DecryptedSpace>;
1094
+ /**
1095
+ * List available sync backends that can host shared spaces.
1096
+ * @returns Array of backend info with server URLs
1097
+ */
1098
+ listSyncBackendsAsync(): Promise<SyncBackendInfo[]>;
1099
+ }
1100
+
942
1101
  /**
943
1102
  * HaexVault Client
944
1103
  *
@@ -971,6 +1130,7 @@ declare class HaexVaultSdk {
971
1130
  readonly permissions: PermissionsAPI;
972
1131
  readonly remoteStorage: RemoteStorageAPI;
973
1132
  readonly localsend: LocalSendAPI;
1133
+ readonly spaces: SpacesAPI;
974
1134
  constructor(config?: HaexHubConfig);
975
1135
  ready(): Promise<void>;
976
1136
  get setupCompleted(): boolean;
@@ -1014,4 +1174,4 @@ declare class HaexVaultSdk {
1014
1174
  private log;
1015
1175
  }
1016
1176
 
1017
- export { type AuthorizedClient as A, type BlockedClient as B, type SelectFolderOptions as C, DatabaseAPI as D, type ExternalAuthDecision as E, type FileStat as F, type ServerInfo as G, HaexVaultSdk as H, type ServerStatus as I, type SessionAuthorization as J, type TransferProgress as K, LOCALSEND_EVENTS as L, type TransferState as M, canExternalClientSendRequests as N, isExternalClientConnected as O, type PendingAuthorization as P, RemoteStorageAPI as R, StorageAPI as S, type TransferDirection as T, type UpdateBackendRequest as U, WebAPI as W, type Device as a, type DeviceInfo as b, type DeviceType as c, type DirEntry as d, type ExternalConnection as e, ExternalConnectionErrorCode as f, ExternalConnectionState as g, type ExternalRequest as h, type ExternalRequestEvent as i, type ExternalRequestHandler as j, type ExternalRequestPayload as k, type ExternalResponse as l, FilesystemAPI as m, LocalSendAPI as n, type LocalSendEvent as o, type FileInfo as p, type LocalSendSettings as q, type PendingTransfer as r, PermissionsAPI as s, type AddBackendRequest as t, type S3Config as u, type S3PublicConfig as v, type StorageBackendInfo as w, type StorageObjectInfo as x, type RequestedExtension as y, type SelectFileOptions as z };
1177
+ export { type TransferState as $, type AuthorizedClient as A, type BlockedClient as B, type SelectFileOptions as C, DatabaseAPI as D, type ExternalAuthDecision as E, type FileStat as F, type SelectFolderOptions as G, HaexVaultSdk as H, type ServerInfo as I, type ServerStatus as J, type SessionAuthorization as K, LOCALSEND_EVENTS as L, type SharedSpace as M, type SpaceAccessTokenInfo as N, type SpaceAssignment as O, type PendingAuthorization as P, type SpaceInvite as Q, RemoteStorageAPI as R, StorageAPI as S, type SpaceKeyGrantInfo as T, type UpdateBackendRequest as U, type SpaceMemberInfo as V, type SpaceRole as W, SpacesAPI as X, type SyncBackendInfo as Y, type TransferDirection as Z, type TransferProgress as _, type DecryptedSpace as a, WebAPI as a0, canExternalClientSendRequests as a1, isExternalClientConnected as a2, type Device as b, type DeviceInfo as c, type DeviceType as d, type DirEntry as e, type ExternalConnection as f, ExternalConnectionErrorCode as g, ExternalConnectionState as h, type ExternalRequest as i, type ExternalRequestEvent as j, type ExternalRequestHandler as k, type ExternalRequestPayload as l, type ExternalResponse as m, FilesystemAPI as n, LocalSendAPI as o, type LocalSendEvent as p, type FileInfo as q, type LocalSendSettings as r, type PendingTransfer as s, PermissionsAPI as t, type AddBackendRequest as u, type S3Config as v, type S3PublicConfig as w, type StorageBackendInfo as x, type StorageObjectInfo as y, type RequestedExtension as z };
@@ -939,6 +939,165 @@ declare class LocalSendAPI {
939
939
  cancelSend(sessionId: string): Promise<void>;
940
940
  }
941
941
 
942
+ type SpaceRole = 'admin' | 'member' | 'viewer';
943
+ interface SharedSpace {
944
+ id: string;
945
+ ownerId: string;
946
+ encryptedName: string;
947
+ nameNonce: string;
948
+ currentKeyGeneration: number;
949
+ role: SpaceRole;
950
+ canInvite: boolean;
951
+ createdAt: string;
952
+ }
953
+ interface SpaceMemberInfo {
954
+ publicKey: string;
955
+ label: string;
956
+ role: SpaceRole;
957
+ canInvite: boolean;
958
+ invitedBy: string | null;
959
+ joinedAt: string;
960
+ }
961
+ interface SpaceKeyGrantInfo {
962
+ spaceId: string;
963
+ generation: number;
964
+ encryptedSpaceKey: string;
965
+ keyNonce: string;
966
+ ephemeralPublicKey: string;
967
+ }
968
+ interface SpaceInvite {
969
+ spaceId: string;
970
+ serverUrl: string;
971
+ spaceName: string;
972
+ accessToken: string;
973
+ encryptedSpaceKey: string;
974
+ keyNonce: string;
975
+ ephemeralPublicKey: string;
976
+ generation: number;
977
+ role: SpaceRole;
978
+ }
979
+ interface SpaceAccessTokenInfo {
980
+ id: string;
981
+ publicKey: string;
982
+ role: SpaceRole;
983
+ label: string | null;
984
+ revoked: boolean;
985
+ createdAt: string;
986
+ lastUsedAt: string | null;
987
+ }
988
+ /**
989
+ * A shared space with its decrypted name.
990
+ * Returned by the extension API after vault-side decryption.
991
+ */
992
+ interface DecryptedSpace {
993
+ id: string;
994
+ name: string;
995
+ role: SpaceRole;
996
+ canInvite: boolean;
997
+ serverUrl: string;
998
+ createdAt: string;
999
+ }
1000
+ /**
1001
+ * Minimal sync backend info exposed to extensions.
1002
+ * Extensions use this to pick a server when creating a space.
1003
+ */
1004
+ interface SyncBackendInfo {
1005
+ id: string;
1006
+ name: string;
1007
+ serverUrl: string;
1008
+ isDefault: boolean;
1009
+ }
1010
+
1011
+ /**
1012
+ * A mapping of a row to a shared space.
1013
+ */
1014
+ interface SpaceAssignment {
1015
+ /** The extension-scoped table name */
1016
+ tableName: string;
1017
+ /** Serialized primary key(s) identifying the row */
1018
+ rowPks: string;
1019
+ /** The shared space ID this row is assigned to */
1020
+ spaceId: string;
1021
+ }
1022
+ /**
1023
+ * Spaces API for managing row-to-space assignments.
1024
+ *
1025
+ * Extensions use this API to control which rows are synced to which
1026
+ * shared spaces. The sync engine reads these assignments to filter
1027
+ * data when pushing to space backends.
1028
+ *
1029
+ * @example
1030
+ * ```typescript
1031
+ * // Assign a single row to a space
1032
+ * await sdk.spaces.assignRowAsync("events", "evt_123", "space_abc");
1033
+ *
1034
+ * // Bulk assign multiple rows
1035
+ * await sdk.spaces.assignAsync([
1036
+ * { tableName: "events", rowPks: "evt_1", spaceId: "space_abc" },
1037
+ * { tableName: "events", rowPks: "evt_2", spaceId: "space_abc" },
1038
+ * ]);
1039
+ *
1040
+ * // Query assignments
1041
+ * const assignments = await sdk.spaces.getAssignmentsAsync("events");
1042
+ * ```
1043
+ */
1044
+ declare class SpacesAPI {
1045
+ private client;
1046
+ constructor(client: HaexVaultSdk);
1047
+ /**
1048
+ * Bulk assign rows to spaces.
1049
+ * @param assignments - Array of row-to-space mappings
1050
+ * @returns Number of assignments created
1051
+ */
1052
+ assignAsync(assignments: SpaceAssignment[]): Promise<number>;
1053
+ /**
1054
+ * Bulk unassign rows from spaces.
1055
+ * @param assignments - Array of row-to-space mappings to remove
1056
+ * @returns Number of assignments removed
1057
+ */
1058
+ unassignAsync(assignments: SpaceAssignment[]): Promise<number>;
1059
+ /**
1060
+ * Get space assignments for a table, optionally filtered by row.
1061
+ * @param tableName - The table to query assignments for
1062
+ * @param rowPks - Optional row primary key(s) to filter by
1063
+ * @returns Array of space assignments
1064
+ */
1065
+ getAssignmentsAsync(tableName: string, rowPks?: string): Promise<SpaceAssignment[]>;
1066
+ /**
1067
+ * Convenience method to assign a single row to a space.
1068
+ * @param tableName - The table name
1069
+ * @param rowPks - The row primary key(s)
1070
+ * @param spaceId - The space ID to assign to
1071
+ * @returns Number of assignments created (0 or 1)
1072
+ */
1073
+ assignRowAsync(tableName: string, rowPks: string, spaceId: string): Promise<number>;
1074
+ /**
1075
+ * Convenience method to unassign a single row from a space.
1076
+ * @param tableName - The table name
1077
+ * @param rowPks - The row primary key(s)
1078
+ * @param spaceId - The space ID to unassign from
1079
+ * @returns Number of assignments removed (0 or 1)
1080
+ */
1081
+ unassignRowAsync(tableName: string, rowPks: string, spaceId: string): Promise<number>;
1082
+ /**
1083
+ * List all shared spaces the user is a member of.
1084
+ * Returns spaces with decrypted names (decryption happens vault-side).
1085
+ */
1086
+ listSpacesAsync(): Promise<DecryptedSpace[]>;
1087
+ /**
1088
+ * Create a new shared space.
1089
+ * @param name - Human-readable space name
1090
+ * @param serverUrl - The sync server URL to create the space on
1091
+ * @returns The created space with decrypted name
1092
+ */
1093
+ createSpaceAsync(name: string, serverUrl: string): Promise<DecryptedSpace>;
1094
+ /**
1095
+ * List available sync backends that can host shared spaces.
1096
+ * @returns Array of backend info with server URLs
1097
+ */
1098
+ listSyncBackendsAsync(): Promise<SyncBackendInfo[]>;
1099
+ }
1100
+
942
1101
  /**
943
1102
  * HaexVault Client
944
1103
  *
@@ -971,6 +1130,7 @@ declare class HaexVaultSdk {
971
1130
  readonly permissions: PermissionsAPI;
972
1131
  readonly remoteStorage: RemoteStorageAPI;
973
1132
  readonly localsend: LocalSendAPI;
1133
+ readonly spaces: SpacesAPI;
974
1134
  constructor(config?: HaexHubConfig);
975
1135
  ready(): Promise<void>;
976
1136
  get setupCompleted(): boolean;
@@ -1014,4 +1174,4 @@ declare class HaexVaultSdk {
1014
1174
  private log;
1015
1175
  }
1016
1176
 
1017
- export { type AuthorizedClient as A, type BlockedClient as B, type SelectFolderOptions as C, DatabaseAPI as D, type ExternalAuthDecision as E, type FileStat as F, type ServerInfo as G, HaexVaultSdk as H, type ServerStatus as I, type SessionAuthorization as J, type TransferProgress as K, LOCALSEND_EVENTS as L, type TransferState as M, canExternalClientSendRequests as N, isExternalClientConnected as O, type PendingAuthorization as P, RemoteStorageAPI as R, StorageAPI as S, type TransferDirection as T, type UpdateBackendRequest as U, WebAPI as W, type Device as a, type DeviceInfo as b, type DeviceType as c, type DirEntry as d, type ExternalConnection as e, ExternalConnectionErrorCode as f, ExternalConnectionState as g, type ExternalRequest as h, type ExternalRequestEvent as i, type ExternalRequestHandler as j, type ExternalRequestPayload as k, type ExternalResponse as l, FilesystemAPI as m, LocalSendAPI as n, type LocalSendEvent as o, type FileInfo as p, type LocalSendSettings as q, type PendingTransfer as r, PermissionsAPI as s, type AddBackendRequest as t, type S3Config as u, type S3PublicConfig as v, type StorageBackendInfo as w, type StorageObjectInfo as x, type RequestedExtension as y, type SelectFileOptions as z };
1177
+ export { type TransferState as $, type AuthorizedClient as A, type BlockedClient as B, type SelectFileOptions as C, DatabaseAPI as D, type ExternalAuthDecision as E, type FileStat as F, type SelectFolderOptions as G, HaexVaultSdk as H, type ServerInfo as I, type ServerStatus as J, type SessionAuthorization as K, LOCALSEND_EVENTS as L, type SharedSpace as M, type SpaceAccessTokenInfo as N, type SpaceAssignment as O, type PendingAuthorization as P, type SpaceInvite as Q, RemoteStorageAPI as R, StorageAPI as S, type SpaceKeyGrantInfo as T, type UpdateBackendRequest as U, type SpaceMemberInfo as V, type SpaceRole as W, SpacesAPI as X, type SyncBackendInfo as Y, type TransferDirection as Z, type TransferProgress as _, type DecryptedSpace as a, WebAPI as a0, canExternalClientSendRequests as a1, isExternalClientConnected as a2, type Device as b, type DeviceInfo as c, type DeviceType as d, type DirEntry as e, type ExternalConnection as f, ExternalConnectionErrorCode as g, ExternalConnectionState as h, type ExternalRequest as i, type ExternalRequestEvent as j, type ExternalRequestHandler as k, type ExternalRequestPayload as l, type ExternalResponse as m, FilesystemAPI as n, LocalSendAPI as o, type LocalSendEvent as p, type FileInfo as q, type LocalSendSettings as r, type PendingTransfer as s, PermissionsAPI as t, type AddBackendRequest as u, type S3Config as v, type S3PublicConfig as w, type StorageBackendInfo as x, type StorageObjectInfo as y, type RequestedExtension as z };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { H as HaexVaultSdk } from './client-DFGx115H.mjs';
2
- export { A as AuthorizedClient, B as BlockedClient, D as DatabaseAPI, a as Device, b as DeviceInfo, c as DeviceType, d as DirEntry, E as ExternalAuthDecision, e as ExternalConnection, f as ExternalConnectionErrorCode, g as ExternalConnectionState, h as ExternalRequest, i as ExternalRequestEvent, j as ExternalRequestHandler, k as ExternalRequestPayload, l as ExternalResponse, F as FileStat, m as FilesystemAPI, L as LOCALSEND_EVENTS, n as LocalSendAPI, o as LocalSendEvent, p as LocalSendFileInfo, q as LocalSendSettings, P as PendingAuthorization, r as PendingTransfer, s as PermissionsAPI, t as RemoteAddBackendRequest, u as RemoteS3Config, v as RemoteS3PublicConfig, R as RemoteStorageAPI, w as RemoteStorageBackendInfo, x as RemoteStorageObjectInfo, U as RemoteUpdateBackendRequest, y as RequestedExtension, z as SelectFileOptions, C as SelectFolderOptions, G as ServerInfo, I as ServerStatus, J as SessionAuthorization, T as TransferDirection, K as TransferProgress, M as TransferState, W as WebAPI, N as canExternalClientSendRequests, O as isExternalClientConnected } from './client-DFGx115H.mjs';
1
+ import { H as HaexVaultSdk } from './client-Dfy9UQeu.mjs';
2
+ export { A as AuthorizedClient, B as BlockedClient, D as DatabaseAPI, a as DecryptedSpace, b as Device, c as DeviceInfo, d as DeviceType, e as DirEntry, E as ExternalAuthDecision, f as ExternalConnection, g as ExternalConnectionErrorCode, h as ExternalConnectionState, i as ExternalRequest, j as ExternalRequestEvent, k as ExternalRequestHandler, l as ExternalRequestPayload, m as ExternalResponse, F as FileStat, n as FilesystemAPI, L as LOCALSEND_EVENTS, o as LocalSendAPI, p as LocalSendEvent, q as LocalSendFileInfo, r as LocalSendSettings, P as PendingAuthorization, s as PendingTransfer, t as PermissionsAPI, u as RemoteAddBackendRequest, v as RemoteS3Config, w as RemoteS3PublicConfig, R as RemoteStorageAPI, x as RemoteStorageBackendInfo, y as RemoteStorageObjectInfo, U as RemoteUpdateBackendRequest, z as RequestedExtension, C as SelectFileOptions, G as SelectFolderOptions, I as ServerInfo, J as ServerStatus, K as SessionAuthorization, M as SharedSpace, N as SpaceAccessTokenInfo, O as SpaceAssignment, Q as SpaceInvite, T as SpaceKeyGrantInfo, V as SpaceMemberInfo, W as SpaceRole, X as SpacesAPI, Y as SyncBackendInfo, Z as TransferDirection, _ as TransferProgress, $ as TransferState, a0 as WebAPI, a1 as canExternalClientSendRequests, a2 as isExternalClientConnected } from './client-Dfy9UQeu.mjs';
3
3
  import { E as ExtensionManifest, H as HaexHubConfig } from './types-gfc9eCL4.mjs';
4
4
  export { A as ApplicationContext, C as ContextChangedEvent, h as DEFAULT_TIMEOUT, i as DatabaseColumnInfo, j as DatabaseExecuteParams, k as DatabasePermission, f as DatabasePermissionRequest, l as DatabaseQueryParams, D as DatabaseQueryResult, m as DatabaseTableInfo, c as EXTERNAL_EVENTS, n as ErrorCode, g as EventCallback, a as ExtensionInfo, o as ExtensionRuntimeMode, p as ExternalEvent, F as FileChangeEvent, q as FileChangePayload, r as FileChangeType, s as FilteredSyncTablesResult, t as HAEXTENSION_EVENTS, b as HaexHubEvent, u as HaexHubRequest, v as HaexHubResponse, w as HaexVaultSdkError, x as HaextensionEvent, y as PermissionDeniedError, z as PermissionErrorBase, B as PermissionErrorCode, G as PermissionPromptError, P as PermissionResponse, I as PermissionStatus, J as SearchQuery, K as SearchRequestEvent, S as SearchResult, L as SyncTablesUpdatedEvent, T as TABLE_SEPARATOR, W as WebRequestOptions, e as WebResponse, N as getTableName, O as isPermissionDeniedError, Q as isPermissionError, R as isPermissionPromptError } from './types-gfc9eCL4.mjs';
5
5
  export { H as HaextensionConfig } from './config-D_HXjsEV.mjs';
@@ -217,53 +217,6 @@ interface RegisterKeypairRequest {
217
217
  privateKeySalt: string;
218
218
  }
219
219
 
220
- type SpaceRole = 'admin' | 'member' | 'viewer';
221
- interface SharedSpace {
222
- id: string;
223
- ownerId: string;
224
- encryptedName: string;
225
- nameNonce: string;
226
- currentKeyGeneration: number;
227
- role: SpaceRole;
228
- canInvite: boolean;
229
- createdAt: string;
230
- }
231
- interface SpaceMemberInfo {
232
- publicKey: string;
233
- label: string;
234
- role: SpaceRole;
235
- canInvite: boolean;
236
- invitedBy: string | null;
237
- joinedAt: string;
238
- }
239
- interface SpaceKeyGrantInfo {
240
- spaceId: string;
241
- generation: number;
242
- encryptedSpaceKey: string;
243
- keyNonce: string;
244
- ephemeralPublicKey: string;
245
- }
246
- interface SpaceInvite {
247
- spaceId: string;
248
- serverUrl: string;
249
- spaceName: string;
250
- accessToken: string;
251
- encryptedSpaceKey: string;
252
- keyNonce: string;
253
- ephemeralPublicKey: string;
254
- generation: number;
255
- role: SpaceRole;
256
- }
257
- interface SpaceAccessTokenInfo {
258
- id: string;
259
- publicKey: string;
260
- role: SpaceRole;
261
- label: string | null;
262
- revoked: boolean;
263
- createdAt: string;
264
- lastUsedAt: string | null;
265
- }
266
-
267
220
  /**
268
221
  * Central message type definitions for HaexSpace SDK
269
222
  *
@@ -551,6 +504,31 @@ declare const LOCALSEND_COMMANDS: {
551
504
  readonly cancelSend: "localsend_cancel_send";
552
505
  };
553
506
 
507
+ /**
508
+ * Space Commands
509
+ *
510
+ * Commands for managing row-to-space assignments (shared space sync).
511
+ * These commands are used for both:
512
+ * - Tauri invoke (WebView extensions)
513
+ * - postMessage (iframe extensions)
514
+ *
515
+ * Naming convention: `extension_space_<action>`
516
+ */
517
+ declare const SPACE_COMMANDS: {
518
+ /** Bulk assign rows to spaces */
519
+ readonly assign: "extension_space_assign";
520
+ /** Bulk unassign rows from spaces */
521
+ readonly unassign: "extension_space_unassign";
522
+ /** Get space assignments for a table */
523
+ readonly getAssignments: "extension_space_get_assignments";
524
+ /** List all spaces the user is a member of (with decrypted names) */
525
+ readonly list: "extension_space_list";
526
+ /** Create a new shared space */
527
+ readonly create: "extension_space_create";
528
+ /** List available sync backends */
529
+ readonly listBackends: "extension_space_list_backends";
530
+ };
531
+
554
532
  /**
555
533
  * Tauri Command Names
556
534
  *
@@ -669,8 +647,16 @@ declare const TAURI_COMMANDS: {
669
647
  readonly sendFiles: "localsend_send_files";
670
648
  readonly cancelSend: "localsend_cancel_send";
671
649
  };
650
+ readonly spaces: {
651
+ readonly assign: "extension_space_assign";
652
+ readonly unassign: "extension_space_unassign";
653
+ readonly getAssignments: "extension_space_get_assignments";
654
+ readonly list: "extension_space_list";
655
+ readonly create: "extension_space_create";
656
+ readonly listBackends: "extension_space_list_backends";
657
+ };
672
658
  };
673
- type TauriCommand = (typeof DATABASE_COMMANDS)[keyof typeof DATABASE_COMMANDS] | (typeof PERMISSIONS_COMMANDS)[keyof typeof PERMISSIONS_COMMANDS] | (typeof WEB_COMMANDS)[keyof typeof WEB_COMMANDS] | (typeof WEB_STORAGE_COMMANDS)[keyof typeof WEB_STORAGE_COMMANDS] | (typeof FILESYSTEM_COMMANDS)[keyof typeof FILESYSTEM_COMMANDS] | (typeof EXTERNAL_BRIDGE_COMMANDS)[keyof typeof EXTERNAL_BRIDGE_COMMANDS] | (typeof EXTENSION_COMMANDS)[keyof typeof EXTENSION_COMMANDS] | (typeof REMOTE_STORAGE_COMMANDS)[keyof typeof REMOTE_STORAGE_COMMANDS] | (typeof LOCALSEND_COMMANDS)[keyof typeof LOCALSEND_COMMANDS];
659
+ type TauriCommand = (typeof DATABASE_COMMANDS)[keyof typeof DATABASE_COMMANDS] | (typeof PERMISSIONS_COMMANDS)[keyof typeof PERMISSIONS_COMMANDS] | (typeof WEB_COMMANDS)[keyof typeof WEB_COMMANDS] | (typeof WEB_STORAGE_COMMANDS)[keyof typeof WEB_STORAGE_COMMANDS] | (typeof FILESYSTEM_COMMANDS)[keyof typeof FILESYSTEM_COMMANDS] | (typeof EXTERNAL_BRIDGE_COMMANDS)[keyof typeof EXTERNAL_BRIDGE_COMMANDS] | (typeof EXTENSION_COMMANDS)[keyof typeof EXTENSION_COMMANDS] | (typeof REMOTE_STORAGE_COMMANDS)[keyof typeof REMOTE_STORAGE_COMMANDS] | (typeof LOCALSEND_COMMANDS)[keyof typeof LOCALSEND_COMMANDS] | (typeof SPACE_COMMANDS)[keyof typeof SPACE_COMMANDS];
674
660
 
675
661
  interface VerifyResult {
676
662
  valid: boolean;
@@ -835,6 +821,18 @@ interface EncryptedSpaceKey {
835
821
  declare function generateSpaceKey(): Uint8Array<ArrayBuffer>;
836
822
  declare function encryptSpaceKeyForRecipientAsync(spaceKey: Uint8Array<ArrayBuffer>, recipientPublicKeyBase64: string): Promise<EncryptedSpaceKey>;
837
823
  declare function decryptSpaceKeyAsync(encrypted: EncryptedSpaceKey, ownPrivateKeyBase64: string): Promise<Uint8Array>;
824
+ /**
825
+ * Encrypt a space name using the raw space key.
826
+ * Returns the encrypted name and nonce as base64 strings.
827
+ */
828
+ declare function encryptSpaceNameAsync(spaceKey: Uint8Array, spaceName: string): Promise<{
829
+ encryptedName: string;
830
+ nameNonce: string;
831
+ }>;
832
+ /**
833
+ * Decrypt a space name using the raw space key.
834
+ */
835
+ declare function decryptSpaceNameAsync(spaceKey: Uint8Array, encryptedName: string, nameNonce: string): Promise<string>;
838
836
 
839
837
  interface SignableRecord {
840
838
  tableName: string;
@@ -939,4 +937,4 @@ declare function exportKeyPairAsync(keyPair: PasskeyKeyPair): Promise<ExportedPa
939
937
 
940
938
  declare function createHaexVaultSdk(config?: HaexHubConfig): HaexVaultSdk;
941
939
 
942
- export { type AuthUser, COSE_ALGORITHM, type CoseAlgorithm, type CreateSpaceRequest, type EncryptedSpaceKey, type ExportedPasskeyKeyPair, type ExportedUserKeypair, ExtensionManifest, HAEXSPACE_MESSAGE_TYPES, HaexHubConfig, HaexVaultSdk, type HaexspaceMessageType, type InviteMemberRequest, KEY_AGREEMENT_ALGO, type PasskeyKeyPair, type RegisterKeypairRequest, SIGNING_ALGO, type SharedSpace, type SignableRecord, type SpaceAccessTokenInfo, type SpaceInvite, type SpaceKeyGrantInfo, type SpaceMemberInfo, type SpaceRole, type StorageConfig, type ErrorResponse as SyncServerErrorResponse, type ServerInfo as SyncServerInfo, type LoginRequest as SyncServerLoginRequest, type LoginResponse as SyncServerLoginResponse, type RefreshRequest as SyncServerRefreshRequest, TAURI_COMMANDS, type TauriCommand, type UserKeypair, type VerifyResult, type ZipFileEntry, arrayBufferToBase64, base64ToArrayBuffer, createHaexVaultSdk, decryptCrdtData, decryptPrivateKeyAsync, decryptSpaceKeyAsync, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptPrivateKeyAsync, encryptSpaceKeyForRecipientAsync, encryptString, encryptVaultKey, exportKeyPairAsync, exportPrivateKeyAsync, exportPublicKeyAsync, exportPublicKeyCoseAsync, exportUserKeypairAsync, generateCredentialId, generatePasskeyPairAsync, generateSpaceKey, generateUserKeypairAsync, generateVaultKey, hexToBytes, importPrivateKeyAsync, importPrivateKeyForKeyAgreementAsync, importPublicKeyAsync, importPublicKeyForKeyAgreementAsync, importUserPrivateKeyAsync, importUserPublicKeyAsync, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, signRecordAsync, signSpaceChallengeAsync, signWithPasskeyAsync, sortObjectKeysRecursively, unwrapKey, verifyExtensionSignature, verifyRecordSignatureAsync, verifySpaceChallengeAsync, verifyWithPasskeyAsync, wrapKey };
940
+ export { type AuthUser, COSE_ALGORITHM, type CoseAlgorithm, type CreateSpaceRequest, type EncryptedSpaceKey, type ExportedPasskeyKeyPair, type ExportedUserKeypair, ExtensionManifest, HAEXSPACE_MESSAGE_TYPES, HaexHubConfig, HaexVaultSdk, type HaexspaceMessageType, type InviteMemberRequest, KEY_AGREEMENT_ALGO, type PasskeyKeyPair, type RegisterKeypairRequest, SIGNING_ALGO, type SignableRecord, type StorageConfig, type ErrorResponse as SyncServerErrorResponse, type ServerInfo as SyncServerInfo, type LoginRequest as SyncServerLoginRequest, type LoginResponse as SyncServerLoginResponse, type RefreshRequest as SyncServerRefreshRequest, TAURI_COMMANDS, type TauriCommand, type UserKeypair, type VerifyResult, type ZipFileEntry, arrayBufferToBase64, base64ToArrayBuffer, createHaexVaultSdk, decryptCrdtData, decryptPrivateKeyAsync, decryptSpaceKeyAsync, decryptSpaceNameAsync, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptPrivateKeyAsync, encryptSpaceKeyForRecipientAsync, encryptSpaceNameAsync, encryptString, encryptVaultKey, exportKeyPairAsync, exportPrivateKeyAsync, exportPublicKeyAsync, exportPublicKeyCoseAsync, exportUserKeypairAsync, generateCredentialId, generatePasskeyPairAsync, generateSpaceKey, generateUserKeypairAsync, generateVaultKey, hexToBytes, importPrivateKeyAsync, importPrivateKeyForKeyAgreementAsync, importPublicKeyAsync, importPublicKeyForKeyAgreementAsync, importUserPrivateKeyAsync, importUserPublicKeyAsync, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, signRecordAsync, signSpaceChallengeAsync, signWithPasskeyAsync, sortObjectKeysRecursively, unwrapKey, verifyExtensionSignature, verifyRecordSignatureAsync, verifySpaceChallengeAsync, verifyWithPasskeyAsync, wrapKey };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { H as HaexVaultSdk } from './client-8dlKVNDZ.js';
2
- export { A as AuthorizedClient, B as BlockedClient, D as DatabaseAPI, a as Device, b as DeviceInfo, c as DeviceType, d as DirEntry, E as ExternalAuthDecision, e as ExternalConnection, f as ExternalConnectionErrorCode, g as ExternalConnectionState, h as ExternalRequest, i as ExternalRequestEvent, j as ExternalRequestHandler, k as ExternalRequestPayload, l as ExternalResponse, F as FileStat, m as FilesystemAPI, L as LOCALSEND_EVENTS, n as LocalSendAPI, o as LocalSendEvent, p as LocalSendFileInfo, q as LocalSendSettings, P as PendingAuthorization, r as PendingTransfer, s as PermissionsAPI, t as RemoteAddBackendRequest, u as RemoteS3Config, v as RemoteS3PublicConfig, R as RemoteStorageAPI, w as RemoteStorageBackendInfo, x as RemoteStorageObjectInfo, U as RemoteUpdateBackendRequest, y as RequestedExtension, z as SelectFileOptions, C as SelectFolderOptions, G as ServerInfo, I as ServerStatus, J as SessionAuthorization, T as TransferDirection, K as TransferProgress, M as TransferState, W as WebAPI, N as canExternalClientSendRequests, O as isExternalClientConnected } from './client-8dlKVNDZ.js';
1
+ import { H as HaexVaultSdk } from './client-Dhn288AJ.js';
2
+ export { A as AuthorizedClient, B as BlockedClient, D as DatabaseAPI, a as DecryptedSpace, b as Device, c as DeviceInfo, d as DeviceType, e as DirEntry, E as ExternalAuthDecision, f as ExternalConnection, g as ExternalConnectionErrorCode, h as ExternalConnectionState, i as ExternalRequest, j as ExternalRequestEvent, k as ExternalRequestHandler, l as ExternalRequestPayload, m as ExternalResponse, F as FileStat, n as FilesystemAPI, L as LOCALSEND_EVENTS, o as LocalSendAPI, p as LocalSendEvent, q as LocalSendFileInfo, r as LocalSendSettings, P as PendingAuthorization, s as PendingTransfer, t as PermissionsAPI, u as RemoteAddBackendRequest, v as RemoteS3Config, w as RemoteS3PublicConfig, R as RemoteStorageAPI, x as RemoteStorageBackendInfo, y as RemoteStorageObjectInfo, U as RemoteUpdateBackendRequest, z as RequestedExtension, C as SelectFileOptions, G as SelectFolderOptions, I as ServerInfo, J as ServerStatus, K as SessionAuthorization, M as SharedSpace, N as SpaceAccessTokenInfo, O as SpaceAssignment, Q as SpaceInvite, T as SpaceKeyGrantInfo, V as SpaceMemberInfo, W as SpaceRole, X as SpacesAPI, Y as SyncBackendInfo, Z as TransferDirection, _ as TransferProgress, $ as TransferState, a0 as WebAPI, a1 as canExternalClientSendRequests, a2 as isExternalClientConnected } from './client-Dhn288AJ.js';
3
3
  import { E as ExtensionManifest, H as HaexHubConfig } from './types-gfc9eCL4.js';
4
4
  export { A as ApplicationContext, C as ContextChangedEvent, h as DEFAULT_TIMEOUT, i as DatabaseColumnInfo, j as DatabaseExecuteParams, k as DatabasePermission, f as DatabasePermissionRequest, l as DatabaseQueryParams, D as DatabaseQueryResult, m as DatabaseTableInfo, c as EXTERNAL_EVENTS, n as ErrorCode, g as EventCallback, a as ExtensionInfo, o as ExtensionRuntimeMode, p as ExternalEvent, F as FileChangeEvent, q as FileChangePayload, r as FileChangeType, s as FilteredSyncTablesResult, t as HAEXTENSION_EVENTS, b as HaexHubEvent, u as HaexHubRequest, v as HaexHubResponse, w as HaexVaultSdkError, x as HaextensionEvent, y as PermissionDeniedError, z as PermissionErrorBase, B as PermissionErrorCode, G as PermissionPromptError, P as PermissionResponse, I as PermissionStatus, J as SearchQuery, K as SearchRequestEvent, S as SearchResult, L as SyncTablesUpdatedEvent, T as TABLE_SEPARATOR, W as WebRequestOptions, e as WebResponse, N as getTableName, O as isPermissionDeniedError, Q as isPermissionError, R as isPermissionPromptError } from './types-gfc9eCL4.js';
5
5
  export { H as HaextensionConfig } from './config-D_HXjsEV.js';
@@ -217,53 +217,6 @@ interface RegisterKeypairRequest {
217
217
  privateKeySalt: string;
218
218
  }
219
219
 
220
- type SpaceRole = 'admin' | 'member' | 'viewer';
221
- interface SharedSpace {
222
- id: string;
223
- ownerId: string;
224
- encryptedName: string;
225
- nameNonce: string;
226
- currentKeyGeneration: number;
227
- role: SpaceRole;
228
- canInvite: boolean;
229
- createdAt: string;
230
- }
231
- interface SpaceMemberInfo {
232
- publicKey: string;
233
- label: string;
234
- role: SpaceRole;
235
- canInvite: boolean;
236
- invitedBy: string | null;
237
- joinedAt: string;
238
- }
239
- interface SpaceKeyGrantInfo {
240
- spaceId: string;
241
- generation: number;
242
- encryptedSpaceKey: string;
243
- keyNonce: string;
244
- ephemeralPublicKey: string;
245
- }
246
- interface SpaceInvite {
247
- spaceId: string;
248
- serverUrl: string;
249
- spaceName: string;
250
- accessToken: string;
251
- encryptedSpaceKey: string;
252
- keyNonce: string;
253
- ephemeralPublicKey: string;
254
- generation: number;
255
- role: SpaceRole;
256
- }
257
- interface SpaceAccessTokenInfo {
258
- id: string;
259
- publicKey: string;
260
- role: SpaceRole;
261
- label: string | null;
262
- revoked: boolean;
263
- createdAt: string;
264
- lastUsedAt: string | null;
265
- }
266
-
267
220
  /**
268
221
  * Central message type definitions for HaexSpace SDK
269
222
  *
@@ -551,6 +504,31 @@ declare const LOCALSEND_COMMANDS: {
551
504
  readonly cancelSend: "localsend_cancel_send";
552
505
  };
553
506
 
507
+ /**
508
+ * Space Commands
509
+ *
510
+ * Commands for managing row-to-space assignments (shared space sync).
511
+ * These commands are used for both:
512
+ * - Tauri invoke (WebView extensions)
513
+ * - postMessage (iframe extensions)
514
+ *
515
+ * Naming convention: `extension_space_<action>`
516
+ */
517
+ declare const SPACE_COMMANDS: {
518
+ /** Bulk assign rows to spaces */
519
+ readonly assign: "extension_space_assign";
520
+ /** Bulk unassign rows from spaces */
521
+ readonly unassign: "extension_space_unassign";
522
+ /** Get space assignments for a table */
523
+ readonly getAssignments: "extension_space_get_assignments";
524
+ /** List all spaces the user is a member of (with decrypted names) */
525
+ readonly list: "extension_space_list";
526
+ /** Create a new shared space */
527
+ readonly create: "extension_space_create";
528
+ /** List available sync backends */
529
+ readonly listBackends: "extension_space_list_backends";
530
+ };
531
+
554
532
  /**
555
533
  * Tauri Command Names
556
534
  *
@@ -669,8 +647,16 @@ declare const TAURI_COMMANDS: {
669
647
  readonly sendFiles: "localsend_send_files";
670
648
  readonly cancelSend: "localsend_cancel_send";
671
649
  };
650
+ readonly spaces: {
651
+ readonly assign: "extension_space_assign";
652
+ readonly unassign: "extension_space_unassign";
653
+ readonly getAssignments: "extension_space_get_assignments";
654
+ readonly list: "extension_space_list";
655
+ readonly create: "extension_space_create";
656
+ readonly listBackends: "extension_space_list_backends";
657
+ };
672
658
  };
673
- type TauriCommand = (typeof DATABASE_COMMANDS)[keyof typeof DATABASE_COMMANDS] | (typeof PERMISSIONS_COMMANDS)[keyof typeof PERMISSIONS_COMMANDS] | (typeof WEB_COMMANDS)[keyof typeof WEB_COMMANDS] | (typeof WEB_STORAGE_COMMANDS)[keyof typeof WEB_STORAGE_COMMANDS] | (typeof FILESYSTEM_COMMANDS)[keyof typeof FILESYSTEM_COMMANDS] | (typeof EXTERNAL_BRIDGE_COMMANDS)[keyof typeof EXTERNAL_BRIDGE_COMMANDS] | (typeof EXTENSION_COMMANDS)[keyof typeof EXTENSION_COMMANDS] | (typeof REMOTE_STORAGE_COMMANDS)[keyof typeof REMOTE_STORAGE_COMMANDS] | (typeof LOCALSEND_COMMANDS)[keyof typeof LOCALSEND_COMMANDS];
659
+ type TauriCommand = (typeof DATABASE_COMMANDS)[keyof typeof DATABASE_COMMANDS] | (typeof PERMISSIONS_COMMANDS)[keyof typeof PERMISSIONS_COMMANDS] | (typeof WEB_COMMANDS)[keyof typeof WEB_COMMANDS] | (typeof WEB_STORAGE_COMMANDS)[keyof typeof WEB_STORAGE_COMMANDS] | (typeof FILESYSTEM_COMMANDS)[keyof typeof FILESYSTEM_COMMANDS] | (typeof EXTERNAL_BRIDGE_COMMANDS)[keyof typeof EXTERNAL_BRIDGE_COMMANDS] | (typeof EXTENSION_COMMANDS)[keyof typeof EXTENSION_COMMANDS] | (typeof REMOTE_STORAGE_COMMANDS)[keyof typeof REMOTE_STORAGE_COMMANDS] | (typeof LOCALSEND_COMMANDS)[keyof typeof LOCALSEND_COMMANDS] | (typeof SPACE_COMMANDS)[keyof typeof SPACE_COMMANDS];
674
660
 
675
661
  interface VerifyResult {
676
662
  valid: boolean;
@@ -835,6 +821,18 @@ interface EncryptedSpaceKey {
835
821
  declare function generateSpaceKey(): Uint8Array<ArrayBuffer>;
836
822
  declare function encryptSpaceKeyForRecipientAsync(spaceKey: Uint8Array<ArrayBuffer>, recipientPublicKeyBase64: string): Promise<EncryptedSpaceKey>;
837
823
  declare function decryptSpaceKeyAsync(encrypted: EncryptedSpaceKey, ownPrivateKeyBase64: string): Promise<Uint8Array>;
824
+ /**
825
+ * Encrypt a space name using the raw space key.
826
+ * Returns the encrypted name and nonce as base64 strings.
827
+ */
828
+ declare function encryptSpaceNameAsync(spaceKey: Uint8Array, spaceName: string): Promise<{
829
+ encryptedName: string;
830
+ nameNonce: string;
831
+ }>;
832
+ /**
833
+ * Decrypt a space name using the raw space key.
834
+ */
835
+ declare function decryptSpaceNameAsync(spaceKey: Uint8Array, encryptedName: string, nameNonce: string): Promise<string>;
838
836
 
839
837
  interface SignableRecord {
840
838
  tableName: string;
@@ -939,4 +937,4 @@ declare function exportKeyPairAsync(keyPair: PasskeyKeyPair): Promise<ExportedPa
939
937
 
940
938
  declare function createHaexVaultSdk(config?: HaexHubConfig): HaexVaultSdk;
941
939
 
942
- export { type AuthUser, COSE_ALGORITHM, type CoseAlgorithm, type CreateSpaceRequest, type EncryptedSpaceKey, type ExportedPasskeyKeyPair, type ExportedUserKeypair, ExtensionManifest, HAEXSPACE_MESSAGE_TYPES, HaexHubConfig, HaexVaultSdk, type HaexspaceMessageType, type InviteMemberRequest, KEY_AGREEMENT_ALGO, type PasskeyKeyPair, type RegisterKeypairRequest, SIGNING_ALGO, type SharedSpace, type SignableRecord, type SpaceAccessTokenInfo, type SpaceInvite, type SpaceKeyGrantInfo, type SpaceMemberInfo, type SpaceRole, type StorageConfig, type ErrorResponse as SyncServerErrorResponse, type ServerInfo as SyncServerInfo, type LoginRequest as SyncServerLoginRequest, type LoginResponse as SyncServerLoginResponse, type RefreshRequest as SyncServerRefreshRequest, TAURI_COMMANDS, type TauriCommand, type UserKeypair, type VerifyResult, type ZipFileEntry, arrayBufferToBase64, base64ToArrayBuffer, createHaexVaultSdk, decryptCrdtData, decryptPrivateKeyAsync, decryptSpaceKeyAsync, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptPrivateKeyAsync, encryptSpaceKeyForRecipientAsync, encryptString, encryptVaultKey, exportKeyPairAsync, exportPrivateKeyAsync, exportPublicKeyAsync, exportPublicKeyCoseAsync, exportUserKeypairAsync, generateCredentialId, generatePasskeyPairAsync, generateSpaceKey, generateUserKeypairAsync, generateVaultKey, hexToBytes, importPrivateKeyAsync, importPrivateKeyForKeyAgreementAsync, importPublicKeyAsync, importPublicKeyForKeyAgreementAsync, importUserPrivateKeyAsync, importUserPublicKeyAsync, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, signRecordAsync, signSpaceChallengeAsync, signWithPasskeyAsync, sortObjectKeysRecursively, unwrapKey, verifyExtensionSignature, verifyRecordSignatureAsync, verifySpaceChallengeAsync, verifyWithPasskeyAsync, wrapKey };
940
+ export { type AuthUser, COSE_ALGORITHM, type CoseAlgorithm, type CreateSpaceRequest, type EncryptedSpaceKey, type ExportedPasskeyKeyPair, type ExportedUserKeypair, ExtensionManifest, HAEXSPACE_MESSAGE_TYPES, HaexHubConfig, HaexVaultSdk, type HaexspaceMessageType, type InviteMemberRequest, KEY_AGREEMENT_ALGO, type PasskeyKeyPair, type RegisterKeypairRequest, SIGNING_ALGO, type SignableRecord, type StorageConfig, type ErrorResponse as SyncServerErrorResponse, type ServerInfo as SyncServerInfo, type LoginRequest as SyncServerLoginRequest, type LoginResponse as SyncServerLoginResponse, type RefreshRequest as SyncServerRefreshRequest, TAURI_COMMANDS, type TauriCommand, type UserKeypair, type VerifyResult, type ZipFileEntry, arrayBufferToBase64, base64ToArrayBuffer, createHaexVaultSdk, decryptCrdtData, decryptPrivateKeyAsync, decryptSpaceKeyAsync, decryptSpaceNameAsync, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptPrivateKeyAsync, encryptSpaceKeyForRecipientAsync, encryptSpaceNameAsync, encryptString, encryptVaultKey, exportKeyPairAsync, exportPrivateKeyAsync, exportPublicKeyAsync, exportPublicKeyCoseAsync, exportUserKeypairAsync, generateCredentialId, generatePasskeyPairAsync, generateSpaceKey, generateUserKeypairAsync, generateVaultKey, hexToBytes, importPrivateKeyAsync, importPrivateKeyForKeyAgreementAsync, importPublicKeyAsync, importPublicKeyForKeyAgreementAsync, importUserPrivateKeyAsync, importUserPublicKeyAsync, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, signRecordAsync, signSpaceChallengeAsync, signWithPasskeyAsync, sortObjectKeysRecursively, unwrapKey, verifyExtensionSignature, verifyRecordSignatureAsync, verifySpaceChallengeAsync, verifyWithPasskeyAsync, wrapKey };