@haex-space/vault-sdk 2.5.37 → 2.5.42

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.js CHANGED
@@ -487,39 +487,50 @@ var HAEXTENSION_METHODS = {
487
487
  filesystem: {
488
488
  saveFile: "haextension:filesystem:save-file",
489
489
  openFile: "haextension:filesystem:open-file",
490
- showImage: "haextension:filesystem:show-image",
491
- sync: {
492
- // Spaces
493
- listSpaces: "haextension:filesystem:sync:list-spaces",
494
- createSpace: "haextension:filesystem:sync:create-space",
495
- deleteSpace: "haextension:filesystem:sync:delete-space",
496
- // Files
497
- listFiles: "haextension:filesystem:sync:list-files",
498
- getFile: "haextension:filesystem:sync:get-file",
499
- uploadFile: "haextension:filesystem:sync:upload-file",
500
- downloadFile: "haextension:filesystem:sync:download-file",
501
- deleteFile: "haextension:filesystem:sync:delete-file",
502
- // Backends
503
- listBackends: "haextension:filesystem:sync:list-backends",
504
- addBackend: "haextension:filesystem:sync:add-backend",
505
- removeBackend: "haextension:filesystem:sync:remove-backend",
506
- testBackend: "haextension:filesystem:sync:test-backend",
507
- // Sync Rules
508
- listSyncRules: "haextension:filesystem:sync:list-sync-rules",
509
- addSyncRule: "haextension:filesystem:sync:add-sync-rule",
510
- updateSyncRule: "haextension:filesystem:sync:update-sync-rule",
511
- removeSyncRule: "haextension:filesystem:sync:remove-sync-rule",
512
- // Sync Operations
513
- getSyncStatus: "haextension:filesystem:sync:get-sync-status",
514
- triggerSync: "haextension:filesystem:sync:trigger-sync",
515
- pauseSync: "haextension:filesystem:sync:pause-sync",
516
- resumeSync: "haextension:filesystem:sync:resume-sync",
517
- // Conflict Resolution
518
- resolveConflict: "haextension:filesystem:sync:resolve-conflict",
519
- // UI Helpers
520
- selectFolder: "haextension:filesystem:sync:select-folder",
521
- scanLocal: "haextension:filesystem:sync:scan-local"
522
- }
490
+ showImage: "haextension:filesystem:show-image"
491
+ },
492
+ filesync: {
493
+ // Spaces
494
+ listSpaces: "haextension:filesync:list-spaces",
495
+ createSpace: "haextension:filesync:create-space",
496
+ deleteSpace: "haextension:filesync:delete-space",
497
+ // Files
498
+ listFiles: "haextension:filesync:list-files",
499
+ getFile: "haextension:filesync:get-file",
500
+ uploadFile: "haextension:filesync:upload-file",
501
+ downloadFile: "haextension:filesync:download-file",
502
+ deleteFile: "haextension:filesync:delete-file",
503
+ // Backends
504
+ listBackends: "haextension:filesync:list-backends",
505
+ addBackend: "haextension:filesync:add-backend",
506
+ removeBackend: "haextension:filesync:remove-backend",
507
+ testBackend: "haextension:filesync:test-backend",
508
+ // Sync Rules
509
+ listSyncRules: "haextension:filesync:list-sync-rules",
510
+ addSyncRule: "haextension:filesync:add-sync-rule",
511
+ updateSyncRule: "haextension:filesync:update-sync-rule",
512
+ removeSyncRule: "haextension:filesync:remove-sync-rule",
513
+ // Sync Operations
514
+ getSyncStatus: "haextension:filesync:get-sync-status",
515
+ triggerSync: "haextension:filesync:trigger-sync",
516
+ pauseSync: "haextension:filesync:pause-sync",
517
+ resumeSync: "haextension:filesync:resume-sync",
518
+ // Conflict Resolution
519
+ resolveConflict: "haextension:filesync:resolve-conflict",
520
+ // UI Helpers
521
+ selectFolder: "haextension:filesync:select-folder",
522
+ scanLocal: "haextension:filesync:scan-local",
523
+ // Sync Queue (persistent upload/download queue)
524
+ addToQueue: "haextension:filesync:add-to-queue",
525
+ getQueue: "haextension:filesync:get-queue",
526
+ getQueueSummary: "haextension:filesync:get-queue-summary",
527
+ startQueueEntry: "haextension:filesync:start-queue-entry",
528
+ completeQueueEntry: "haextension:filesync:complete-queue-entry",
529
+ failQueueEntry: "haextension:filesync:fail-queue-entry",
530
+ retryFailedQueue: "haextension:filesync:retry-failed-queue",
531
+ removeQueueEntry: "haextension:filesync:remove-queue-entry",
532
+ clearQueue: "haextension:filesync:clear-queue",
533
+ recoverQueue: "haextension:filesync:recover-queue"
523
534
  },
524
535
  storage: {
525
536
  getItem: "haextension:storage:get-item",
@@ -528,6 +539,19 @@ var HAEXTENSION_METHODS = {
528
539
  clear: "haextension:storage:clear",
529
540
  keys: "haextension:storage:keys"
530
541
  },
542
+ // Remote Storage API (S3, WebDAV, FTP, etc.)
543
+ remoteStorage: {
544
+ // Backend Management
545
+ listBackends: "haextension:remote-storage:list-backends",
546
+ addBackend: "haextension:remote-storage:add-backend",
547
+ removeBackend: "haextension:remote-storage:remove-backend",
548
+ testBackend: "haextension:remote-storage:test-backend",
549
+ // Storage Operations
550
+ upload: "haextension:remote-storage:upload",
551
+ download: "haextension:remote-storage:download",
552
+ delete: "haextension:remote-storage:delete",
553
+ list: "haextension:remote-storage:list"
554
+ },
531
555
  web: {
532
556
  fetch: "haextension:web:fetch"
533
557
  },
@@ -685,6 +709,16 @@ var CONFLICT_STRATEGY = {
685
709
  /** Keep both versions (create conflict copy) */
686
710
  KEEP_BOTH: "keepBoth"
687
711
  };
712
+ var QUEUE_OPERATION = {
713
+ UPLOAD: "upload",
714
+ DOWNLOAD: "download"
715
+ };
716
+ var QUEUE_STATUS = {
717
+ PENDING: "pending",
718
+ IN_PROGRESS: "inProgress",
719
+ COMPLETED: "completed",
720
+ FAILED: "failed"
721
+ };
688
722
  var FileSyncAPI = class {
689
723
  constructor(client) {
690
724
  this.client = client;
@@ -697,7 +731,7 @@ var FileSyncAPI = class {
697
731
  */
698
732
  async listSpacesAsync() {
699
733
  return this.client.request(
700
- HAEXTENSION_METHODS.filesystem.sync.listSpaces
734
+ HAEXTENSION_METHODS.filesync.listSpaces
701
735
  );
702
736
  }
703
737
  /**
@@ -705,7 +739,7 @@ var FileSyncAPI = class {
705
739
  */
706
740
  async createSpaceAsync(options) {
707
741
  return this.client.request(
708
- HAEXTENSION_METHODS.filesystem.sync.createSpace,
742
+ HAEXTENSION_METHODS.filesync.createSpace,
709
743
  options
710
744
  );
711
745
  }
@@ -713,7 +747,7 @@ var FileSyncAPI = class {
713
747
  * Delete a file space
714
748
  */
715
749
  async deleteSpaceAsync(spaceId) {
716
- await this.client.request(HAEXTENSION_METHODS.filesystem.sync.deleteSpace, {
750
+ await this.client.request(HAEXTENSION_METHODS.filesync.deleteSpace, {
717
751
  spaceId
718
752
  });
719
753
  }
@@ -725,7 +759,7 @@ var FileSyncAPI = class {
725
759
  */
726
760
  async listFilesAsync(options) {
727
761
  return this.client.request(
728
- HAEXTENSION_METHODS.filesystem.sync.listFiles,
762
+ HAEXTENSION_METHODS.filesync.listFiles,
729
763
  options
730
764
  );
731
765
  }
@@ -735,7 +769,7 @@ var FileSyncAPI = class {
735
769
  */
736
770
  async scanLocalAsync(options) {
737
771
  return this.client.request(
738
- HAEXTENSION_METHODS.filesystem.sync.scanLocal,
772
+ HAEXTENSION_METHODS.filesync.scanLocal,
739
773
  options
740
774
  );
741
775
  }
@@ -744,7 +778,7 @@ var FileSyncAPI = class {
744
778
  */
745
779
  async getFileAsync(fileId) {
746
780
  return this.client.request(
747
- HAEXTENSION_METHODS.filesystem.sync.getFile,
781
+ HAEXTENSION_METHODS.filesync.getFile,
748
782
  { fileId }
749
783
  );
750
784
  }
@@ -753,7 +787,7 @@ var FileSyncAPI = class {
753
787
  */
754
788
  async uploadFileAsync(options) {
755
789
  return this.client.request(
756
- HAEXTENSION_METHODS.filesystem.sync.uploadFile,
790
+ HAEXTENSION_METHODS.filesync.uploadFile,
757
791
  options
758
792
  );
759
793
  }
@@ -762,7 +796,7 @@ var FileSyncAPI = class {
762
796
  */
763
797
  async downloadFileAsync(options) {
764
798
  await this.client.request(
765
- HAEXTENSION_METHODS.filesystem.sync.downloadFile,
799
+ HAEXTENSION_METHODS.filesync.downloadFile,
766
800
  options
767
801
  );
768
802
  }
@@ -770,7 +804,7 @@ var FileSyncAPI = class {
770
804
  * Delete a file from the sync system
771
805
  */
772
806
  async deleteFileAsync(fileId) {
773
- await this.client.request(HAEXTENSION_METHODS.filesystem.sync.deleteFile, {
807
+ await this.client.request(HAEXTENSION_METHODS.filesync.deleteFile, {
774
808
  fileId
775
809
  });
776
810
  }
@@ -782,7 +816,7 @@ var FileSyncAPI = class {
782
816
  */
783
817
  async listBackendsAsync() {
784
818
  return this.client.request(
785
- HAEXTENSION_METHODS.filesystem.sync.listBackends
819
+ HAEXTENSION_METHODS.filesync.listBackends
786
820
  );
787
821
  }
788
822
  /**
@@ -790,7 +824,7 @@ var FileSyncAPI = class {
790
824
  */
791
825
  async addBackendAsync(options) {
792
826
  return this.client.request(
793
- HAEXTENSION_METHODS.filesystem.sync.addBackend,
827
+ HAEXTENSION_METHODS.filesync.addBackend,
794
828
  options
795
829
  );
796
830
  }
@@ -798,7 +832,7 @@ var FileSyncAPI = class {
798
832
  * Remove a storage backend
799
833
  */
800
834
  async removeBackendAsync(backendId) {
801
- await this.client.request(HAEXTENSION_METHODS.filesystem.sync.removeBackend, {
835
+ await this.client.request(HAEXTENSION_METHODS.filesync.removeBackend, {
802
836
  backendId
803
837
  });
804
838
  }
@@ -807,7 +841,7 @@ var FileSyncAPI = class {
807
841
  */
808
842
  async testBackendAsync(backendId) {
809
843
  return this.client.request(
810
- HAEXTENSION_METHODS.filesystem.sync.testBackend,
844
+ HAEXTENSION_METHODS.filesync.testBackend,
811
845
  { backendId }
812
846
  );
813
847
  }
@@ -819,7 +853,7 @@ var FileSyncAPI = class {
819
853
  */
820
854
  async listSyncRulesAsync() {
821
855
  return this.client.request(
822
- HAEXTENSION_METHODS.filesystem.sync.listSyncRules
856
+ HAEXTENSION_METHODS.filesync.listSyncRules
823
857
  );
824
858
  }
825
859
  /**
@@ -827,7 +861,7 @@ var FileSyncAPI = class {
827
861
  */
828
862
  async addSyncRuleAsync(options) {
829
863
  return this.client.request(
830
- HAEXTENSION_METHODS.filesystem.sync.addSyncRule,
864
+ HAEXTENSION_METHODS.filesync.addSyncRule,
831
865
  options
832
866
  );
833
867
  }
@@ -836,7 +870,7 @@ var FileSyncAPI = class {
836
870
  */
837
871
  async updateSyncRuleAsync(options) {
838
872
  return this.client.request(
839
- HAEXTENSION_METHODS.filesystem.sync.updateSyncRule,
873
+ HAEXTENSION_METHODS.filesync.updateSyncRule,
840
874
  options
841
875
  );
842
876
  }
@@ -844,7 +878,7 @@ var FileSyncAPI = class {
844
878
  * Remove a sync rule
845
879
  */
846
880
  async removeSyncRuleAsync(ruleId) {
847
- await this.client.request(HAEXTENSION_METHODS.filesystem.sync.removeSyncRule, {
881
+ await this.client.request(HAEXTENSION_METHODS.filesync.removeSyncRule, {
848
882
  ruleId
849
883
  });
850
884
  }
@@ -856,26 +890,26 @@ var FileSyncAPI = class {
856
890
  */
857
891
  async getSyncStatusAsync() {
858
892
  return this.client.request(
859
- HAEXTENSION_METHODS.filesystem.sync.getSyncStatus
893
+ HAEXTENSION_METHODS.filesync.getSyncStatus
860
894
  );
861
895
  }
862
896
  /**
863
897
  * Trigger a manual sync
864
898
  */
865
899
  async triggerSyncAsync() {
866
- await this.client.request(HAEXTENSION_METHODS.filesystem.sync.triggerSync);
900
+ await this.client.request(HAEXTENSION_METHODS.filesync.triggerSync);
867
901
  }
868
902
  /**
869
903
  * Pause syncing
870
904
  */
871
905
  async pauseSyncAsync() {
872
- await this.client.request(HAEXTENSION_METHODS.filesystem.sync.pauseSync);
906
+ await this.client.request(HAEXTENSION_METHODS.filesync.pauseSync);
873
907
  }
874
908
  /**
875
909
  * Resume syncing
876
910
  */
877
911
  async resumeSyncAsync() {
878
- await this.client.request(HAEXTENSION_METHODS.filesystem.sync.resumeSync);
912
+ await this.client.request(HAEXTENSION_METHODS.filesync.resumeSync);
879
913
  }
880
914
  // --------------------------------------------------------------------------
881
915
  // Conflict Resolution
@@ -884,7 +918,7 @@ var FileSyncAPI = class {
884
918
  * Resolve a file conflict
885
919
  */
886
920
  async resolveConflictAsync(fileId, resolution) {
887
- await this.client.request(HAEXTENSION_METHODS.filesystem.sync.resolveConflict, {
921
+ await this.client.request(HAEXTENSION_METHODS.filesync.resolveConflict, {
888
922
  fileId,
889
923
  resolution
890
924
  });
@@ -897,9 +931,91 @@ var FileSyncAPI = class {
897
931
  */
898
932
  async selectFolderAsync() {
899
933
  return this.client.request(
900
- HAEXTENSION_METHODS.filesystem.sync.selectFolder
934
+ HAEXTENSION_METHODS.filesync.selectFolder
935
+ );
936
+ }
937
+ // --------------------------------------------------------------------------
938
+ // Sync Queue
939
+ // --------------------------------------------------------------------------
940
+ /**
941
+ * Add files to the sync queue
942
+ */
943
+ async addToQueueAsync(options) {
944
+ return this.client.request(
945
+ HAEXTENSION_METHODS.filesync.addToQueue,
946
+ options
947
+ );
948
+ }
949
+ /**
950
+ * Get queue entries for the current device
951
+ */
952
+ async getQueueAsync(options) {
953
+ return this.client.request(
954
+ HAEXTENSION_METHODS.filesync.getQueue,
955
+ options
956
+ );
957
+ }
958
+ /**
959
+ * Get aggregated queue summary for the current device
960
+ */
961
+ async getQueueSummaryAsync() {
962
+ return this.client.request(
963
+ HAEXTENSION_METHODS.filesync.getQueueSummary
901
964
  );
902
965
  }
966
+ /**
967
+ * Mark a queue entry as started (in_progress)
968
+ */
969
+ async startQueueEntryAsync(entryId) {
970
+ await this.client.request(HAEXTENSION_METHODS.filesync.startQueueEntry, {
971
+ entryId
972
+ });
973
+ }
974
+ /**
975
+ * Mark a queue entry as completed
976
+ */
977
+ async completeQueueEntryAsync(entryId) {
978
+ await this.client.request(HAEXTENSION_METHODS.filesync.completeQueueEntry, {
979
+ entryId
980
+ });
981
+ }
982
+ /**
983
+ * Mark a queue entry as failed
984
+ */
985
+ async failQueueEntryAsync(entryId, errorMessage) {
986
+ await this.client.request(HAEXTENSION_METHODS.filesync.failQueueEntry, {
987
+ entryId,
988
+ errorMessage
989
+ });
990
+ }
991
+ /**
992
+ * Retry all failed queue entries (reset to pending)
993
+ */
994
+ async retryFailedQueueAsync() {
995
+ await this.client.request(HAEXTENSION_METHODS.filesync.retryFailedQueue);
996
+ }
997
+ /**
998
+ * Remove a queue entry
999
+ */
1000
+ async removeQueueEntryAsync(entryId) {
1001
+ await this.client.request(HAEXTENSION_METHODS.filesync.removeQueueEntry, {
1002
+ entryId
1003
+ });
1004
+ }
1005
+ /**
1006
+ * Clear all queue entries for a sync rule
1007
+ */
1008
+ async clearQueueAsync(ruleId) {
1009
+ await this.client.request(HAEXTENSION_METHODS.filesync.clearQueue, {
1010
+ ruleId
1011
+ });
1012
+ }
1013
+ /**
1014
+ * Reset in_progress entries to pending (for recovery after crash)
1015
+ */
1016
+ async recoverQueueAsync() {
1017
+ await this.client.request(HAEXTENSION_METHODS.filesync.recoverQueue);
1018
+ }
903
1019
  };
904
1020
 
905
1021
  // src/api/filesystem.ts
@@ -1130,6 +1246,111 @@ var PermissionsAPI = class {
1130
1246
  }
1131
1247
  };
1132
1248
 
1249
+ // src/api/remoteStorage.ts
1250
+ var RemoteStorageAPI = class {
1251
+ constructor(client) {
1252
+ this.client = client;
1253
+ this.backends = new BackendManagement(client);
1254
+ }
1255
+ /**
1256
+ * Upload data to a storage backend
1257
+ * @param backendId - Backend ID to upload to
1258
+ * @param key - Object key (path in the bucket)
1259
+ * @param data - Data to upload
1260
+ */
1261
+ async upload(backendId, key, data) {
1262
+ const base64 = btoa(String.fromCharCode(...data));
1263
+ await this.client.request(HAEXTENSION_METHODS.remoteStorage.upload, {
1264
+ backendId,
1265
+ key,
1266
+ data: base64
1267
+ });
1268
+ }
1269
+ /**
1270
+ * Download data from a storage backend
1271
+ * @param backendId - Backend ID to download from
1272
+ * @param key - Object key (path in the bucket)
1273
+ * @returns Downloaded data as Uint8Array
1274
+ */
1275
+ async download(backendId, key) {
1276
+ const base64 = await this.client.request(
1277
+ HAEXTENSION_METHODS.remoteStorage.download,
1278
+ { backendId, key }
1279
+ );
1280
+ const binary = atob(base64);
1281
+ const bytes = new Uint8Array(binary.length);
1282
+ for (let i = 0; i < binary.length; i++) {
1283
+ bytes[i] = binary.charCodeAt(i);
1284
+ }
1285
+ return bytes;
1286
+ }
1287
+ /**
1288
+ * Delete an object from a storage backend
1289
+ * @param backendId - Backend ID
1290
+ * @param key - Object key to delete
1291
+ */
1292
+ async delete(backendId, key) {
1293
+ await this.client.request(HAEXTENSION_METHODS.remoteStorage.delete, {
1294
+ backendId,
1295
+ key
1296
+ });
1297
+ }
1298
+ /**
1299
+ * List objects in a storage backend
1300
+ * @param backendId - Backend ID
1301
+ * @param prefix - Optional prefix to filter objects
1302
+ * @returns List of objects
1303
+ */
1304
+ async list(backendId, prefix) {
1305
+ return this.client.request(
1306
+ HAEXTENSION_METHODS.remoteStorage.list,
1307
+ { backendId, prefix }
1308
+ );
1309
+ }
1310
+ };
1311
+ var BackendManagement = class {
1312
+ constructor(client) {
1313
+ this.client = client;
1314
+ }
1315
+ /**
1316
+ * List all available storage backends
1317
+ */
1318
+ async list() {
1319
+ return this.client.request(
1320
+ HAEXTENSION_METHODS.remoteStorage.listBackends
1321
+ );
1322
+ }
1323
+ /**
1324
+ * Add a new storage backend
1325
+ * @param request - Backend configuration
1326
+ * @returns Created backend info
1327
+ */
1328
+ async add(request) {
1329
+ return this.client.request(
1330
+ HAEXTENSION_METHODS.remoteStorage.addBackend,
1331
+ request
1332
+ );
1333
+ }
1334
+ /**
1335
+ * Remove a storage backend
1336
+ * @param backendId - Backend ID to remove
1337
+ */
1338
+ async remove(backendId) {
1339
+ await this.client.request(HAEXTENSION_METHODS.remoteStorage.removeBackend, {
1340
+ backendId
1341
+ });
1342
+ }
1343
+ /**
1344
+ * Test connection to a storage backend
1345
+ * @param backendId - Backend ID to test
1346
+ */
1347
+ async test(backendId) {
1348
+ await this.client.request(HAEXTENSION_METHODS.remoteStorage.testBackend, {
1349
+ backendId
1350
+ });
1351
+ }
1352
+ };
1353
+
1133
1354
  // src/client/tableName.ts
1134
1355
  function validatePublicKey(publicKey) {
1135
1356
  if (!publicKey || typeof publicKey !== "string" || publicKey.trim() === "") {
@@ -1379,6 +1600,20 @@ var TAURI_COMMANDS = {
1379
1600
  getInfo: "webview_extension_get_info",
1380
1601
  getContext: "webview_extension_context_get"
1381
1602
  },
1603
+ storage: {
1604
+ // Backend Management (generic, shared by all extensions)
1605
+ // These commands don't use webview_ prefix because storage backends are global,
1606
+ // not extension-specific. All extensions share the same storage backends.
1607
+ listBackends: "storage_list_backends",
1608
+ addBackend: "storage_add_backend",
1609
+ removeBackend: "storage_remove_backend",
1610
+ testBackend: "storage_test_backend",
1611
+ // Storage Operations
1612
+ upload: "storage_upload",
1613
+ download: "storage_download",
1614
+ delete: "storage_delete",
1615
+ list: "storage_list"
1616
+ },
1382
1617
  filesync: {
1383
1618
  // Spaces (webview_* commands extract extension info from WebviewWindow)
1384
1619
  listSpaces: "webview_filesync_list_spaces",
@@ -1409,7 +1644,18 @@ var TAURI_COMMANDS = {
1409
1644
  resolveConflict: "webview_filesync_resolve_conflict",
1410
1645
  // UI Helpers (selectFolder doesn't need extension info)
1411
1646
  selectFolder: "filesync_select_folder",
1412
- scanLocal: "webview_filesync_scan_local"
1647
+ scanLocal: "webview_filesync_scan_local",
1648
+ // Sync Queue
1649
+ addToQueue: "webview_filesync_add_to_queue",
1650
+ getQueue: "webview_filesync_get_queue",
1651
+ getQueueSummary: "webview_filesync_get_queue_summary",
1652
+ startQueueEntry: "webview_filesync_start_queue_entry",
1653
+ completeQueueEntry: "webview_filesync_complete_queue_entry",
1654
+ failQueueEntry: "webview_filesync_fail_queue_entry",
1655
+ retryFailedQueue: "webview_filesync_retry_failed_queue",
1656
+ removeQueueEntry: "webview_filesync_remove_queue_entry",
1657
+ clearQueue: "webview_filesync_clear_queue",
1658
+ recoverQueue: "webview_filesync_recover_queue"
1413
1659
  }
1414
1660
  };
1415
1661
 
@@ -1525,115 +1771,158 @@ var filesyncHandlers = {
1525
1771
  // ==========================================================================
1526
1772
  // Spaces
1527
1773
  // ==========================================================================
1528
- [HAEXTENSION_METHODS.filesystem.sync.listSpaces]: {
1774
+ [HAEXTENSION_METHODS.filesync.listSpaces]: {
1529
1775
  command: TAURI_COMMANDS.filesync.listSpaces,
1530
1776
  args: () => ({})
1531
1777
  },
1532
- [HAEXTENSION_METHODS.filesystem.sync.createSpace]: {
1778
+ [HAEXTENSION_METHODS.filesync.createSpace]: {
1533
1779
  command: TAURI_COMMANDS.filesync.createSpace,
1534
1780
  args: (p) => ({ request: p })
1535
1781
  },
1536
- [HAEXTENSION_METHODS.filesystem.sync.deleteSpace]: {
1782
+ [HAEXTENSION_METHODS.filesync.deleteSpace]: {
1537
1783
  command: TAURI_COMMANDS.filesync.deleteSpace,
1538
1784
  args: (p) => ({ spaceId: p.spaceId })
1539
1785
  },
1540
1786
  // ==========================================================================
1541
1787
  // Files
1542
1788
  // ==========================================================================
1543
- [HAEXTENSION_METHODS.filesystem.sync.listFiles]: {
1789
+ [HAEXTENSION_METHODS.filesync.listFiles]: {
1544
1790
  command: TAURI_COMMANDS.filesync.listFiles,
1545
1791
  args: (p) => ({ request: p })
1546
1792
  },
1547
- [HAEXTENSION_METHODS.filesystem.sync.getFile]: {
1793
+ [HAEXTENSION_METHODS.filesync.getFile]: {
1548
1794
  command: TAURI_COMMANDS.filesync.getFile,
1549
1795
  args: (p) => ({ fileId: p.fileId })
1550
1796
  },
1551
- [HAEXTENSION_METHODS.filesystem.sync.uploadFile]: {
1797
+ [HAEXTENSION_METHODS.filesync.uploadFile]: {
1552
1798
  command: TAURI_COMMANDS.filesync.uploadFile,
1553
1799
  args: (p) => ({ request: p })
1554
1800
  },
1555
- [HAEXTENSION_METHODS.filesystem.sync.downloadFile]: {
1801
+ [HAEXTENSION_METHODS.filesync.downloadFile]: {
1556
1802
  command: TAURI_COMMANDS.filesync.downloadFile,
1557
1803
  args: (p) => ({ request: p })
1558
1804
  },
1559
- [HAEXTENSION_METHODS.filesystem.sync.deleteFile]: {
1805
+ [HAEXTENSION_METHODS.filesync.deleteFile]: {
1560
1806
  command: TAURI_COMMANDS.filesync.deleteFile,
1561
1807
  args: (p) => ({ fileId: p.fileId })
1562
1808
  },
1563
1809
  // ==========================================================================
1564
1810
  // Backends
1565
1811
  // ==========================================================================
1566
- [HAEXTENSION_METHODS.filesystem.sync.listBackends]: {
1812
+ [HAEXTENSION_METHODS.filesync.listBackends]: {
1567
1813
  command: TAURI_COMMANDS.filesync.listBackends,
1568
1814
  args: () => ({})
1569
1815
  },
1570
- [HAEXTENSION_METHODS.filesystem.sync.addBackend]: {
1816
+ [HAEXTENSION_METHODS.filesync.addBackend]: {
1571
1817
  command: TAURI_COMMANDS.filesync.addBackend,
1572
1818
  args: (p) => ({ request: p })
1573
1819
  },
1574
- [HAEXTENSION_METHODS.filesystem.sync.removeBackend]: {
1820
+ [HAEXTENSION_METHODS.filesync.removeBackend]: {
1575
1821
  command: TAURI_COMMANDS.filesync.removeBackend,
1576
1822
  args: (p) => ({ backendId: p.backendId })
1577
1823
  },
1578
- [HAEXTENSION_METHODS.filesystem.sync.testBackend]: {
1824
+ [HAEXTENSION_METHODS.filesync.testBackend]: {
1579
1825
  command: TAURI_COMMANDS.filesync.testBackend,
1580
1826
  args: (p) => ({ backendId: p.backendId })
1581
1827
  },
1582
1828
  // ==========================================================================
1583
1829
  // Sync Rules
1584
1830
  // ==========================================================================
1585
- [HAEXTENSION_METHODS.filesystem.sync.listSyncRules]: {
1831
+ [HAEXTENSION_METHODS.filesync.listSyncRules]: {
1586
1832
  command: TAURI_COMMANDS.filesync.listSyncRules,
1587
1833
  args: () => ({})
1588
1834
  },
1589
- [HAEXTENSION_METHODS.filesystem.sync.addSyncRule]: {
1835
+ [HAEXTENSION_METHODS.filesync.addSyncRule]: {
1590
1836
  command: TAURI_COMMANDS.filesync.addSyncRule,
1591
1837
  args: (p) => ({ request: p })
1592
1838
  },
1593
- [HAEXTENSION_METHODS.filesystem.sync.updateSyncRule]: {
1839
+ [HAEXTENSION_METHODS.filesync.updateSyncRule]: {
1594
1840
  command: TAURI_COMMANDS.filesync.updateSyncRule,
1595
1841
  args: (p) => ({ request: p })
1596
1842
  },
1597
- [HAEXTENSION_METHODS.filesystem.sync.removeSyncRule]: {
1843
+ [HAEXTENSION_METHODS.filesync.removeSyncRule]: {
1598
1844
  command: TAURI_COMMANDS.filesync.removeSyncRule,
1599
1845
  args: (p) => ({ ruleId: p.ruleId })
1600
1846
  },
1601
1847
  // ==========================================================================
1602
1848
  // Sync Operations
1603
1849
  // ==========================================================================
1604
- [HAEXTENSION_METHODS.filesystem.sync.getSyncStatus]: {
1850
+ [HAEXTENSION_METHODS.filesync.getSyncStatus]: {
1605
1851
  command: TAURI_COMMANDS.filesync.getSyncStatus,
1606
1852
  args: () => ({})
1607
1853
  },
1608
- [HAEXTENSION_METHODS.filesystem.sync.triggerSync]: {
1854
+ [HAEXTENSION_METHODS.filesync.triggerSync]: {
1609
1855
  command: TAURI_COMMANDS.filesync.triggerSync,
1610
1856
  args: () => ({})
1611
1857
  },
1612
- [HAEXTENSION_METHODS.filesystem.sync.pauseSync]: {
1858
+ [HAEXTENSION_METHODS.filesync.pauseSync]: {
1613
1859
  command: TAURI_COMMANDS.filesync.pauseSync,
1614
1860
  args: () => ({})
1615
1861
  },
1616
- [HAEXTENSION_METHODS.filesystem.sync.resumeSync]: {
1862
+ [HAEXTENSION_METHODS.filesync.resumeSync]: {
1617
1863
  command: TAURI_COMMANDS.filesync.resumeSync,
1618
1864
  args: () => ({})
1619
1865
  },
1620
1866
  // ==========================================================================
1621
1867
  // Conflict Resolution
1622
1868
  // ==========================================================================
1623
- [HAEXTENSION_METHODS.filesystem.sync.resolveConflict]: {
1869
+ [HAEXTENSION_METHODS.filesync.resolveConflict]: {
1624
1870
  command: TAURI_COMMANDS.filesync.resolveConflict,
1625
1871
  args: (p) => ({ request: p })
1626
1872
  },
1627
1873
  // ==========================================================================
1628
1874
  // UI Helpers
1629
1875
  // ==========================================================================
1630
- [HAEXTENSION_METHODS.filesystem.sync.selectFolder]: {
1876
+ [HAEXTENSION_METHODS.filesync.selectFolder]: {
1631
1877
  command: TAURI_COMMANDS.filesync.selectFolder,
1632
1878
  args: () => ({})
1633
1879
  },
1634
- [HAEXTENSION_METHODS.filesystem.sync.scanLocal]: {
1880
+ [HAEXTENSION_METHODS.filesync.scanLocal]: {
1635
1881
  command: TAURI_COMMANDS.filesync.scanLocal,
1636
1882
  args: (p) => ({ request: p })
1883
+ },
1884
+ // ==========================================================================
1885
+ // Sync Queue
1886
+ // ==========================================================================
1887
+ [HAEXTENSION_METHODS.filesync.addToQueue]: {
1888
+ command: TAURI_COMMANDS.filesync.addToQueue,
1889
+ args: (p) => ({ request: p })
1890
+ },
1891
+ [HAEXTENSION_METHODS.filesync.getQueue]: {
1892
+ command: TAURI_COMMANDS.filesync.getQueue,
1893
+ args: (p) => ({ request: p ?? {} })
1894
+ },
1895
+ [HAEXTENSION_METHODS.filesync.getQueueSummary]: {
1896
+ command: TAURI_COMMANDS.filesync.getQueueSummary,
1897
+ args: () => ({})
1898
+ },
1899
+ [HAEXTENSION_METHODS.filesync.startQueueEntry]: {
1900
+ command: TAURI_COMMANDS.filesync.startQueueEntry,
1901
+ args: (p) => ({ entryId: p.entryId })
1902
+ },
1903
+ [HAEXTENSION_METHODS.filesync.completeQueueEntry]: {
1904
+ command: TAURI_COMMANDS.filesync.completeQueueEntry,
1905
+ args: (p) => ({ entryId: p.entryId })
1906
+ },
1907
+ [HAEXTENSION_METHODS.filesync.failQueueEntry]: {
1908
+ command: TAURI_COMMANDS.filesync.failQueueEntry,
1909
+ args: (p) => ({ entryId: p.entryId, errorMessage: p.errorMessage })
1910
+ },
1911
+ [HAEXTENSION_METHODS.filesync.retryFailedQueue]: {
1912
+ command: TAURI_COMMANDS.filesync.retryFailedQueue,
1913
+ args: () => ({})
1914
+ },
1915
+ [HAEXTENSION_METHODS.filesync.removeQueueEntry]: {
1916
+ command: TAURI_COMMANDS.filesync.removeQueueEntry,
1917
+ args: (p) => ({ entryId: p.entryId })
1918
+ },
1919
+ [HAEXTENSION_METHODS.filesync.clearQueue]: {
1920
+ command: TAURI_COMMANDS.filesync.clearQueue,
1921
+ args: (p) => ({ ruleId: p.ruleId })
1922
+ },
1923
+ [HAEXTENSION_METHODS.filesync.recoverQueue]: {
1924
+ command: TAURI_COMMANDS.filesync.recoverQueue,
1925
+ args: () => ({})
1637
1926
  }
1638
1927
  };
1639
1928
 
@@ -1945,6 +2234,7 @@ var HaexVaultSdk = class {
1945
2234
  this.filesystem = new FilesystemAPI(this);
1946
2235
  this.web = new WebAPI(this);
1947
2236
  this.permissions = new PermissionsAPI(this);
2237
+ this.remoteStorage = new RemoteStorageAPI(this);
1948
2238
  installConsoleForwarding(this.config.debug);
1949
2239
  this.readyPromise = new Promise((resolve) => {
1950
2240
  this.resolveReady = resolve;
@@ -2586,6 +2876,9 @@ exports.HaexVaultSdk = HaexVaultSdk;
2586
2876
  exports.HaexVaultSdkError = HaexVaultSdkError;
2587
2877
  exports.PermissionStatus = PermissionStatus;
2588
2878
  exports.PermissionsAPI = PermissionsAPI;
2879
+ exports.QUEUE_OPERATION = QUEUE_OPERATION;
2880
+ exports.QUEUE_STATUS = QUEUE_STATUS;
2881
+ exports.RemoteStorageAPI = RemoteStorageAPI;
2589
2882
  exports.STORAGE_BACKEND_TYPE = STORAGE_BACKEND_TYPE;
2590
2883
  exports.SYNC_DIRECTION = SYNC_DIRECTION;
2591
2884
  exports.TABLE_SEPARATOR = TABLE_SEPARATOR;