@haex-space/vault-sdk 2.5.110 → 2.5.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -385,34 +385,6 @@ var EXTERNAL_EVENTS = {
385
385
  AUTHORIZATION_REQUEST: "external:authorization-request"
386
386
  };
387
387
 
388
- // src/types/external.ts
389
- var ExternalConnectionState = /* @__PURE__ */ ((ExternalConnectionState2) => {
390
- ExternalConnectionState2["DISCONNECTED"] = "disconnected";
391
- ExternalConnectionState2["CONNECTING"] = "connecting";
392
- ExternalConnectionState2["CONNECTED"] = "connected";
393
- ExternalConnectionState2["PENDING_APPROVAL"] = "pending_approval";
394
- ExternalConnectionState2["PAIRED"] = "paired";
395
- return ExternalConnectionState2;
396
- })(ExternalConnectionState || {});
397
- var ExternalConnectionErrorCode = /* @__PURE__ */ ((ExternalConnectionErrorCode2) => {
398
- ExternalConnectionErrorCode2["NONE"] = "none";
399
- ExternalConnectionErrorCode2["CLIENT_NOT_AUTHORIZED"] = "client_not_authorized";
400
- ExternalConnectionErrorCode2["CLIENT_BLOCKED"] = "client_blocked";
401
- ExternalConnectionErrorCode2["CONNECTION_FAILED"] = "connection_failed";
402
- ExternalConnectionErrorCode2["CONNECTION_TIMEOUT"] = "connection_timeout";
403
- ExternalConnectionErrorCode2["CONNECTION_CLOSED"] = "connection_closed";
404
- ExternalConnectionErrorCode2["DECRYPTION_FAILED"] = "decryption_failed";
405
- ExternalConnectionErrorCode2["INVALID_MESSAGE"] = "invalid_message";
406
- ExternalConnectionErrorCode2["UNKNOWN"] = "unknown";
407
- return ExternalConnectionErrorCode2;
408
- })(ExternalConnectionErrorCode || {});
409
- function isExternalClientConnected(state) {
410
- return state === "connected" /* CONNECTED */ || state === "pending_approval" /* PENDING_APPROVAL */ || state === "paired" /* PAIRED */;
411
- }
412
- function canExternalClientSendRequests(state) {
413
- return state === "paired" /* PAIRED */;
414
- }
415
-
416
388
  // src/types.ts
417
389
  var DEFAULT_TIMEOUT = 3e4;
418
390
  var TABLE_SEPARATOR = "__";
@@ -702,6 +674,16 @@ var LOCALSEND_COMMANDS = {
702
674
  cancelSend: "localsend_cancel_send"
703
675
  };
704
676
 
677
+ // src/commands/spaces.ts
678
+ var SPACE_COMMANDS = {
679
+ /** Bulk assign rows to spaces */
680
+ assign: "extension_space_assign",
681
+ /** Bulk unassign rows from spaces */
682
+ unassign: "extension_space_unassign",
683
+ /** Get space assignments for a table */
684
+ getAssignments: "extension_space_get_assignments"
685
+ };
686
+
705
687
  // src/commands/index.ts
706
688
  var TAURI_COMMANDS = {
707
689
  database: DATABASE_COMMANDS,
@@ -712,7 +694,8 @@ var TAURI_COMMANDS = {
712
694
  externalBridge: EXTERNAL_BRIDGE_COMMANDS,
713
695
  extension: EXTENSION_COMMANDS,
714
696
  remoteStorage: REMOTE_STORAGE_COMMANDS,
715
- localsend: LOCALSEND_COMMANDS
697
+ localsend: LOCALSEND_COMMANDS,
698
+ spaces: SPACE_COMMANDS
716
699
  };
717
700
 
718
701
  // src/api/storage.ts
@@ -1714,6 +1697,83 @@ var LocalSendAPI = class {
1714
1697
  }
1715
1698
  };
1716
1699
 
1700
+ // src/api/spaces.ts
1701
+ var SpacesAPI = class {
1702
+ constructor(client) {
1703
+ this.client = client;
1704
+ }
1705
+ /**
1706
+ * Bulk assign rows to spaces.
1707
+ * @param assignments - Array of row-to-space mappings
1708
+ * @returns Number of assignments created
1709
+ */
1710
+ async assignAsync(assignments) {
1711
+ return this.client.request(SPACE_COMMANDS.assign, {
1712
+ assignments: assignments.map(toSnakeCase)
1713
+ });
1714
+ }
1715
+ /**
1716
+ * Bulk unassign rows from spaces.
1717
+ * @param assignments - Array of row-to-space mappings to remove
1718
+ * @returns Number of assignments removed
1719
+ */
1720
+ async unassignAsync(assignments) {
1721
+ return this.client.request(SPACE_COMMANDS.unassign, {
1722
+ assignments: assignments.map(toSnakeCase)
1723
+ });
1724
+ }
1725
+ /**
1726
+ * Get space assignments for a table, optionally filtered by row.
1727
+ * @param tableName - The table to query assignments for
1728
+ * @param rowPks - Optional row primary key(s) to filter by
1729
+ * @returns Array of space assignments
1730
+ */
1731
+ async getAssignmentsAsync(tableName, rowPks) {
1732
+ const result = await this.client.request(
1733
+ SPACE_COMMANDS.getAssignments,
1734
+ {
1735
+ table_name: tableName,
1736
+ row_pks: rowPks
1737
+ }
1738
+ );
1739
+ return result.map(fromSnakeCase);
1740
+ }
1741
+ /**
1742
+ * Convenience method to assign a single row to a space.
1743
+ * @param tableName - The table name
1744
+ * @param rowPks - The row primary key(s)
1745
+ * @param spaceId - The space ID to assign to
1746
+ * @returns Number of assignments created (0 or 1)
1747
+ */
1748
+ async assignRowAsync(tableName, rowPks, spaceId) {
1749
+ return this.assignAsync([{ tableName, rowPks, spaceId }]);
1750
+ }
1751
+ /**
1752
+ * Convenience method to unassign a single row from a space.
1753
+ * @param tableName - The table name
1754
+ * @param rowPks - The row primary key(s)
1755
+ * @param spaceId - The space ID to unassign from
1756
+ * @returns Number of assignments removed (0 or 1)
1757
+ */
1758
+ async unassignRowAsync(tableName, rowPks, spaceId) {
1759
+ return this.unassignAsync([{ tableName, rowPks, spaceId }]);
1760
+ }
1761
+ };
1762
+ function toSnakeCase(a) {
1763
+ return {
1764
+ table_name: a.tableName,
1765
+ row_pks: a.rowPks,
1766
+ space_id: a.spaceId
1767
+ };
1768
+ }
1769
+ function fromSnakeCase(a) {
1770
+ return {
1771
+ tableName: a.table_name,
1772
+ rowPks: a.row_pks,
1773
+ spaceId: a.space_id
1774
+ };
1775
+ }
1776
+
1717
1777
  // src/client/tableName.ts
1718
1778
  function validatePublicKey(publicKey) {
1719
1779
  if (!publicKey || typeof publicKey !== "string" || publicKey.trim() === "") {
@@ -2338,6 +2398,7 @@ var HaexVaultSdk = class {
2338
2398
  this.permissions = new PermissionsAPI(this);
2339
2399
  this.remoteStorage = new RemoteStorageAPI(this);
2340
2400
  this.localsend = new LocalSendAPI(this);
2401
+ this.spaces = new SpacesAPI(this);
2341
2402
  installConsoleForwarding(this.config.debug);
2342
2403
  this.readyPromise = new Promise((resolve) => {
2343
2404
  this.resolveReady = resolve;
@@ -2648,6 +2709,34 @@ var HaexVaultSdk = class {
2648
2709
  }
2649
2710
  };
2650
2711
 
2712
+ // src/types/external.ts
2713
+ var ExternalConnectionState = /* @__PURE__ */ ((ExternalConnectionState2) => {
2714
+ ExternalConnectionState2["DISCONNECTED"] = "disconnected";
2715
+ ExternalConnectionState2["CONNECTING"] = "connecting";
2716
+ ExternalConnectionState2["CONNECTED"] = "connected";
2717
+ ExternalConnectionState2["PENDING_APPROVAL"] = "pending_approval";
2718
+ ExternalConnectionState2["PAIRED"] = "paired";
2719
+ return ExternalConnectionState2;
2720
+ })(ExternalConnectionState || {});
2721
+ var ExternalConnectionErrorCode = /* @__PURE__ */ ((ExternalConnectionErrorCode2) => {
2722
+ ExternalConnectionErrorCode2["NONE"] = "none";
2723
+ ExternalConnectionErrorCode2["CLIENT_NOT_AUTHORIZED"] = "client_not_authorized";
2724
+ ExternalConnectionErrorCode2["CLIENT_BLOCKED"] = "client_blocked";
2725
+ ExternalConnectionErrorCode2["CONNECTION_FAILED"] = "connection_failed";
2726
+ ExternalConnectionErrorCode2["CONNECTION_TIMEOUT"] = "connection_timeout";
2727
+ ExternalConnectionErrorCode2["CONNECTION_CLOSED"] = "connection_closed";
2728
+ ExternalConnectionErrorCode2["DECRYPTION_FAILED"] = "decryption_failed";
2729
+ ExternalConnectionErrorCode2["INVALID_MESSAGE"] = "invalid_message";
2730
+ ExternalConnectionErrorCode2["UNKNOWN"] = "unknown";
2731
+ return ExternalConnectionErrorCode2;
2732
+ })(ExternalConnectionErrorCode || {});
2733
+ function isExternalClientConnected(state) {
2734
+ return state === "connected" /* CONNECTED */ || state === "pending_approval" /* PENDING_APPROVAL */ || state === "paired" /* PAIRED */;
2735
+ }
2736
+ function canExternalClientSendRequests(state) {
2737
+ return state === "paired" /* PAIRED */;
2738
+ }
2739
+
2651
2740
  // src/crypto/verify.ts
2652
2741
  function sortObjectKeysRecursively(obj) {
2653
2742
  if (typeof obj !== "object" || obj === null) {
@@ -3092,6 +3181,6 @@ function createHaexVaultSdk(config = {}) {
3092
3181
  return new HaexVaultSdk(config);
3093
3182
  }
3094
3183
 
3095
- export { COSE_ALGORITHM, DEFAULT_TIMEOUT, DatabaseAPI, EXTERNAL_EVENTS, ErrorCode, ExternalConnectionErrorCode, ExternalConnectionState, FilesystemAPI, HAEXSPACE_MESSAGE_TYPES, HAEXTENSION_EVENTS, HaexVaultSdk, HaexVaultSdkError, KEY_AGREEMENT_ALGO, LOCALSEND_EVENTS, LocalSendAPI, PermissionErrorCode, PermissionStatus, PermissionsAPI, RemoteStorageAPI, SIGNING_ALGO, TABLE_SEPARATOR, TAURI_COMMANDS, WebAPI, arrayBufferToBase64, base64ToArrayBuffer, canExternalClientSendRequests, createHaexVaultSdk, decryptCrdtData, decryptPrivateKeyAsync, decryptSpaceKeyAsync, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptPrivateKeyAsync, encryptSpaceKeyForRecipientAsync, encryptString, encryptVaultKey, exportKeyPairAsync, exportPrivateKeyAsync, exportPublicKeyAsync, exportPublicKeyCoseAsync, exportUserKeypairAsync, generateCredentialId, generatePasskeyPairAsync, generateSpaceKey, generateUserKeypairAsync, generateVaultKey, getTableName, hexToBytes, importPrivateKeyAsync, importPrivateKeyForKeyAgreementAsync, importPublicKeyAsync, importPublicKeyForKeyAgreementAsync, importUserPrivateKeyAsync, importUserPublicKeyAsync, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, isExternalClientConnected, isPermissionDeniedError, isPermissionError, isPermissionPromptError, signRecordAsync, signSpaceChallengeAsync, signWithPasskeyAsync, sortObjectKeysRecursively, unwrapKey, verifyExtensionSignature, verifyRecordSignatureAsync, verifySpaceChallengeAsync, verifyWithPasskeyAsync, wrapKey };
3184
+ export { COSE_ALGORITHM, DEFAULT_TIMEOUT, DatabaseAPI, EXTERNAL_EVENTS, ErrorCode, ExternalConnectionErrorCode, ExternalConnectionState, FilesystemAPI, HAEXSPACE_MESSAGE_TYPES, HAEXTENSION_EVENTS, HaexVaultSdk, HaexVaultSdkError, KEY_AGREEMENT_ALGO, LOCALSEND_EVENTS, LocalSendAPI, PermissionErrorCode, PermissionStatus, PermissionsAPI, RemoteStorageAPI, SIGNING_ALGO, SpacesAPI, TABLE_SEPARATOR, TAURI_COMMANDS, WebAPI, arrayBufferToBase64, base64ToArrayBuffer, canExternalClientSendRequests, createHaexVaultSdk, decryptCrdtData, decryptPrivateKeyAsync, decryptSpaceKeyAsync, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptPrivateKeyAsync, encryptSpaceKeyForRecipientAsync, encryptString, encryptVaultKey, exportKeyPairAsync, exportPrivateKeyAsync, exportPublicKeyAsync, exportPublicKeyCoseAsync, exportUserKeypairAsync, generateCredentialId, generatePasskeyPairAsync, generateSpaceKey, generateUserKeypairAsync, generateVaultKey, getTableName, hexToBytes, importPrivateKeyAsync, importPrivateKeyForKeyAgreementAsync, importPublicKeyAsync, importPublicKeyForKeyAgreementAsync, importUserPrivateKeyAsync, importUserPublicKeyAsync, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, isExternalClientConnected, isPermissionDeniedError, isPermissionError, isPermissionPromptError, signRecordAsync, signSpaceChallengeAsync, signWithPasskeyAsync, sortObjectKeysRecursively, unwrapKey, verifyExtensionSignature, verifyRecordSignatureAsync, verifySpaceChallengeAsync, verifyWithPasskeyAsync, wrapKey };
3096
3185
  //# sourceMappingURL=index.mjs.map
3097
3186
  //# sourceMappingURL=index.mjs.map