@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/{client-BF1XJY-3.d.mts → client-BAu3VPE3.d.mts} +264 -4
- package/dist/{client-D1sxoc42.d.ts → client-CF0wJxT2.d.ts} +264 -4
- package/dist/index.d.mts +68 -28
- package/dist/index.d.ts +68 -28
- package/dist/index.js +373 -80
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +371 -81
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.js +346 -80
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +346 -80
- package/dist/react.mjs.map +1 -1
- package/dist/runtime/nuxt.plugin.client.d.mts +1 -1
- package/dist/runtime/nuxt.plugin.client.d.ts +1 -1
- package/dist/runtime/nuxt.plugin.client.js +346 -80
- package/dist/runtime/nuxt.plugin.client.js.map +1 -1
- package/dist/runtime/nuxt.plugin.client.mjs +346 -80
- package/dist/runtime/nuxt.plugin.client.mjs.map +1 -1
- package/dist/svelte.d.mts +1 -1
- package/dist/svelte.d.ts +1 -1
- package/dist/svelte.js +346 -80
- package/dist/svelte.js.map +1 -1
- package/dist/svelte.mjs +346 -80
- package/dist/svelte.mjs.map +1 -1
- package/dist/vue.d.mts +1 -1
- package/dist/vue.d.ts +1 -1
- package/dist/vue.js +346 -80
- package/dist/vue.js.map +1 -1
- package/dist/vue.mjs +346 -80
- package/dist/vue.mjs.map +1 -1
- package/package.json +1 -1
package/dist/react.js
CHANGED
|
@@ -400,39 +400,50 @@ var HAEXTENSION_METHODS = {
|
|
|
400
400
|
filesystem: {
|
|
401
401
|
saveFile: "haextension:filesystem:save-file",
|
|
402
402
|
openFile: "haextension:filesystem:open-file",
|
|
403
|
-
showImage: "haextension:filesystem:show-image"
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
403
|
+
showImage: "haextension:filesystem:show-image"
|
|
404
|
+
},
|
|
405
|
+
filesync: {
|
|
406
|
+
// Spaces
|
|
407
|
+
listSpaces: "haextension:filesync:list-spaces",
|
|
408
|
+
createSpace: "haextension:filesync:create-space",
|
|
409
|
+
deleteSpace: "haextension:filesync:delete-space",
|
|
410
|
+
// Files
|
|
411
|
+
listFiles: "haextension:filesync:list-files",
|
|
412
|
+
getFile: "haextension:filesync:get-file",
|
|
413
|
+
uploadFile: "haextension:filesync:upload-file",
|
|
414
|
+
downloadFile: "haextension:filesync:download-file",
|
|
415
|
+
deleteFile: "haextension:filesync:delete-file",
|
|
416
|
+
// Backends
|
|
417
|
+
listBackends: "haextension:filesync:list-backends",
|
|
418
|
+
addBackend: "haextension:filesync:add-backend",
|
|
419
|
+
removeBackend: "haextension:filesync:remove-backend",
|
|
420
|
+
testBackend: "haextension:filesync:test-backend",
|
|
421
|
+
// Sync Rules
|
|
422
|
+
listSyncRules: "haextension:filesync:list-sync-rules",
|
|
423
|
+
addSyncRule: "haextension:filesync:add-sync-rule",
|
|
424
|
+
updateSyncRule: "haextension:filesync:update-sync-rule",
|
|
425
|
+
removeSyncRule: "haextension:filesync:remove-sync-rule",
|
|
426
|
+
// Sync Operations
|
|
427
|
+
getSyncStatus: "haextension:filesync:get-sync-status",
|
|
428
|
+
triggerSync: "haextension:filesync:trigger-sync",
|
|
429
|
+
pauseSync: "haextension:filesync:pause-sync",
|
|
430
|
+
resumeSync: "haextension:filesync:resume-sync",
|
|
431
|
+
// Conflict Resolution
|
|
432
|
+
resolveConflict: "haextension:filesync:resolve-conflict",
|
|
433
|
+
// UI Helpers
|
|
434
|
+
selectFolder: "haextension:filesync:select-folder",
|
|
435
|
+
scanLocal: "haextension:filesync:scan-local",
|
|
436
|
+
// Sync Queue (persistent upload/download queue)
|
|
437
|
+
addToQueue: "haextension:filesync:add-to-queue",
|
|
438
|
+
getQueue: "haextension:filesync:get-queue",
|
|
439
|
+
getQueueSummary: "haextension:filesync:get-queue-summary",
|
|
440
|
+
startQueueEntry: "haextension:filesync:start-queue-entry",
|
|
441
|
+
completeQueueEntry: "haextension:filesync:complete-queue-entry",
|
|
442
|
+
failQueueEntry: "haextension:filesync:fail-queue-entry",
|
|
443
|
+
retryFailedQueue: "haextension:filesync:retry-failed-queue",
|
|
444
|
+
removeQueueEntry: "haextension:filesync:remove-queue-entry",
|
|
445
|
+
clearQueue: "haextension:filesync:clear-queue",
|
|
446
|
+
recoverQueue: "haextension:filesync:recover-queue"
|
|
436
447
|
},
|
|
437
448
|
storage: {
|
|
438
449
|
getItem: "haextension:storage:get-item",
|
|
@@ -441,6 +452,19 @@ var HAEXTENSION_METHODS = {
|
|
|
441
452
|
clear: "haextension:storage:clear",
|
|
442
453
|
keys: "haextension:storage:keys"
|
|
443
454
|
},
|
|
455
|
+
// Remote Storage API (S3, WebDAV, FTP, etc.)
|
|
456
|
+
remoteStorage: {
|
|
457
|
+
// Backend Management
|
|
458
|
+
listBackends: "haextension:remote-storage:list-backends",
|
|
459
|
+
addBackend: "haextension:remote-storage:add-backend",
|
|
460
|
+
removeBackend: "haextension:remote-storage:remove-backend",
|
|
461
|
+
testBackend: "haextension:remote-storage:test-backend",
|
|
462
|
+
// Storage Operations
|
|
463
|
+
upload: "haextension:remote-storage:upload",
|
|
464
|
+
download: "haextension:remote-storage:download",
|
|
465
|
+
delete: "haextension:remote-storage:delete",
|
|
466
|
+
list: "haextension:remote-storage:list"
|
|
467
|
+
},
|
|
444
468
|
web: {
|
|
445
469
|
fetch: "haextension:web:fetch"
|
|
446
470
|
},
|
|
@@ -578,7 +602,7 @@ var FileSyncAPI = class {
|
|
|
578
602
|
*/
|
|
579
603
|
async listSpacesAsync() {
|
|
580
604
|
return this.client.request(
|
|
581
|
-
HAEXTENSION_METHODS.
|
|
605
|
+
HAEXTENSION_METHODS.filesync.listSpaces
|
|
582
606
|
);
|
|
583
607
|
}
|
|
584
608
|
/**
|
|
@@ -586,7 +610,7 @@ var FileSyncAPI = class {
|
|
|
586
610
|
*/
|
|
587
611
|
async createSpaceAsync(options) {
|
|
588
612
|
return this.client.request(
|
|
589
|
-
HAEXTENSION_METHODS.
|
|
613
|
+
HAEXTENSION_METHODS.filesync.createSpace,
|
|
590
614
|
options
|
|
591
615
|
);
|
|
592
616
|
}
|
|
@@ -594,7 +618,7 @@ var FileSyncAPI = class {
|
|
|
594
618
|
* Delete a file space
|
|
595
619
|
*/
|
|
596
620
|
async deleteSpaceAsync(spaceId) {
|
|
597
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
621
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.deleteSpace, {
|
|
598
622
|
spaceId
|
|
599
623
|
});
|
|
600
624
|
}
|
|
@@ -606,7 +630,7 @@ var FileSyncAPI = class {
|
|
|
606
630
|
*/
|
|
607
631
|
async listFilesAsync(options) {
|
|
608
632
|
return this.client.request(
|
|
609
|
-
HAEXTENSION_METHODS.
|
|
633
|
+
HAEXTENSION_METHODS.filesync.listFiles,
|
|
610
634
|
options
|
|
611
635
|
);
|
|
612
636
|
}
|
|
@@ -616,7 +640,7 @@ var FileSyncAPI = class {
|
|
|
616
640
|
*/
|
|
617
641
|
async scanLocalAsync(options) {
|
|
618
642
|
return this.client.request(
|
|
619
|
-
HAEXTENSION_METHODS.
|
|
643
|
+
HAEXTENSION_METHODS.filesync.scanLocal,
|
|
620
644
|
options
|
|
621
645
|
);
|
|
622
646
|
}
|
|
@@ -625,7 +649,7 @@ var FileSyncAPI = class {
|
|
|
625
649
|
*/
|
|
626
650
|
async getFileAsync(fileId) {
|
|
627
651
|
return this.client.request(
|
|
628
|
-
HAEXTENSION_METHODS.
|
|
652
|
+
HAEXTENSION_METHODS.filesync.getFile,
|
|
629
653
|
{ fileId }
|
|
630
654
|
);
|
|
631
655
|
}
|
|
@@ -634,7 +658,7 @@ var FileSyncAPI = class {
|
|
|
634
658
|
*/
|
|
635
659
|
async uploadFileAsync(options) {
|
|
636
660
|
return this.client.request(
|
|
637
|
-
HAEXTENSION_METHODS.
|
|
661
|
+
HAEXTENSION_METHODS.filesync.uploadFile,
|
|
638
662
|
options
|
|
639
663
|
);
|
|
640
664
|
}
|
|
@@ -643,7 +667,7 @@ var FileSyncAPI = class {
|
|
|
643
667
|
*/
|
|
644
668
|
async downloadFileAsync(options) {
|
|
645
669
|
await this.client.request(
|
|
646
|
-
HAEXTENSION_METHODS.
|
|
670
|
+
HAEXTENSION_METHODS.filesync.downloadFile,
|
|
647
671
|
options
|
|
648
672
|
);
|
|
649
673
|
}
|
|
@@ -651,7 +675,7 @@ var FileSyncAPI = class {
|
|
|
651
675
|
* Delete a file from the sync system
|
|
652
676
|
*/
|
|
653
677
|
async deleteFileAsync(fileId) {
|
|
654
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
678
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.deleteFile, {
|
|
655
679
|
fileId
|
|
656
680
|
});
|
|
657
681
|
}
|
|
@@ -663,7 +687,7 @@ var FileSyncAPI = class {
|
|
|
663
687
|
*/
|
|
664
688
|
async listBackendsAsync() {
|
|
665
689
|
return this.client.request(
|
|
666
|
-
HAEXTENSION_METHODS.
|
|
690
|
+
HAEXTENSION_METHODS.filesync.listBackends
|
|
667
691
|
);
|
|
668
692
|
}
|
|
669
693
|
/**
|
|
@@ -671,7 +695,7 @@ var FileSyncAPI = class {
|
|
|
671
695
|
*/
|
|
672
696
|
async addBackendAsync(options) {
|
|
673
697
|
return this.client.request(
|
|
674
|
-
HAEXTENSION_METHODS.
|
|
698
|
+
HAEXTENSION_METHODS.filesync.addBackend,
|
|
675
699
|
options
|
|
676
700
|
);
|
|
677
701
|
}
|
|
@@ -679,7 +703,7 @@ var FileSyncAPI = class {
|
|
|
679
703
|
* Remove a storage backend
|
|
680
704
|
*/
|
|
681
705
|
async removeBackendAsync(backendId) {
|
|
682
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
706
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.removeBackend, {
|
|
683
707
|
backendId
|
|
684
708
|
});
|
|
685
709
|
}
|
|
@@ -688,7 +712,7 @@ var FileSyncAPI = class {
|
|
|
688
712
|
*/
|
|
689
713
|
async testBackendAsync(backendId) {
|
|
690
714
|
return this.client.request(
|
|
691
|
-
HAEXTENSION_METHODS.
|
|
715
|
+
HAEXTENSION_METHODS.filesync.testBackend,
|
|
692
716
|
{ backendId }
|
|
693
717
|
);
|
|
694
718
|
}
|
|
@@ -700,7 +724,7 @@ var FileSyncAPI = class {
|
|
|
700
724
|
*/
|
|
701
725
|
async listSyncRulesAsync() {
|
|
702
726
|
return this.client.request(
|
|
703
|
-
HAEXTENSION_METHODS.
|
|
727
|
+
HAEXTENSION_METHODS.filesync.listSyncRules
|
|
704
728
|
);
|
|
705
729
|
}
|
|
706
730
|
/**
|
|
@@ -708,7 +732,7 @@ var FileSyncAPI = class {
|
|
|
708
732
|
*/
|
|
709
733
|
async addSyncRuleAsync(options) {
|
|
710
734
|
return this.client.request(
|
|
711
|
-
HAEXTENSION_METHODS.
|
|
735
|
+
HAEXTENSION_METHODS.filesync.addSyncRule,
|
|
712
736
|
options
|
|
713
737
|
);
|
|
714
738
|
}
|
|
@@ -717,7 +741,7 @@ var FileSyncAPI = class {
|
|
|
717
741
|
*/
|
|
718
742
|
async updateSyncRuleAsync(options) {
|
|
719
743
|
return this.client.request(
|
|
720
|
-
HAEXTENSION_METHODS.
|
|
744
|
+
HAEXTENSION_METHODS.filesync.updateSyncRule,
|
|
721
745
|
options
|
|
722
746
|
);
|
|
723
747
|
}
|
|
@@ -725,7 +749,7 @@ var FileSyncAPI = class {
|
|
|
725
749
|
* Remove a sync rule
|
|
726
750
|
*/
|
|
727
751
|
async removeSyncRuleAsync(ruleId) {
|
|
728
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
752
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.removeSyncRule, {
|
|
729
753
|
ruleId
|
|
730
754
|
});
|
|
731
755
|
}
|
|
@@ -737,26 +761,26 @@ var FileSyncAPI = class {
|
|
|
737
761
|
*/
|
|
738
762
|
async getSyncStatusAsync() {
|
|
739
763
|
return this.client.request(
|
|
740
|
-
HAEXTENSION_METHODS.
|
|
764
|
+
HAEXTENSION_METHODS.filesync.getSyncStatus
|
|
741
765
|
);
|
|
742
766
|
}
|
|
743
767
|
/**
|
|
744
768
|
* Trigger a manual sync
|
|
745
769
|
*/
|
|
746
770
|
async triggerSyncAsync() {
|
|
747
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
771
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.triggerSync);
|
|
748
772
|
}
|
|
749
773
|
/**
|
|
750
774
|
* Pause syncing
|
|
751
775
|
*/
|
|
752
776
|
async pauseSyncAsync() {
|
|
753
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
777
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.pauseSync);
|
|
754
778
|
}
|
|
755
779
|
/**
|
|
756
780
|
* Resume syncing
|
|
757
781
|
*/
|
|
758
782
|
async resumeSyncAsync() {
|
|
759
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
783
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.resumeSync);
|
|
760
784
|
}
|
|
761
785
|
// --------------------------------------------------------------------------
|
|
762
786
|
// Conflict Resolution
|
|
@@ -765,7 +789,7 @@ var FileSyncAPI = class {
|
|
|
765
789
|
* Resolve a file conflict
|
|
766
790
|
*/
|
|
767
791
|
async resolveConflictAsync(fileId, resolution) {
|
|
768
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
792
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.resolveConflict, {
|
|
769
793
|
fileId,
|
|
770
794
|
resolution
|
|
771
795
|
});
|
|
@@ -778,9 +802,91 @@ var FileSyncAPI = class {
|
|
|
778
802
|
*/
|
|
779
803
|
async selectFolderAsync() {
|
|
780
804
|
return this.client.request(
|
|
781
|
-
HAEXTENSION_METHODS.
|
|
805
|
+
HAEXTENSION_METHODS.filesync.selectFolder
|
|
782
806
|
);
|
|
783
807
|
}
|
|
808
|
+
// --------------------------------------------------------------------------
|
|
809
|
+
// Sync Queue
|
|
810
|
+
// --------------------------------------------------------------------------
|
|
811
|
+
/**
|
|
812
|
+
* Add files to the sync queue
|
|
813
|
+
*/
|
|
814
|
+
async addToQueueAsync(options) {
|
|
815
|
+
return this.client.request(
|
|
816
|
+
HAEXTENSION_METHODS.filesync.addToQueue,
|
|
817
|
+
options
|
|
818
|
+
);
|
|
819
|
+
}
|
|
820
|
+
/**
|
|
821
|
+
* Get queue entries for the current device
|
|
822
|
+
*/
|
|
823
|
+
async getQueueAsync(options) {
|
|
824
|
+
return this.client.request(
|
|
825
|
+
HAEXTENSION_METHODS.filesync.getQueue,
|
|
826
|
+
options
|
|
827
|
+
);
|
|
828
|
+
}
|
|
829
|
+
/**
|
|
830
|
+
* Get aggregated queue summary for the current device
|
|
831
|
+
*/
|
|
832
|
+
async getQueueSummaryAsync() {
|
|
833
|
+
return this.client.request(
|
|
834
|
+
HAEXTENSION_METHODS.filesync.getQueueSummary
|
|
835
|
+
);
|
|
836
|
+
}
|
|
837
|
+
/**
|
|
838
|
+
* Mark a queue entry as started (in_progress)
|
|
839
|
+
*/
|
|
840
|
+
async startQueueEntryAsync(entryId) {
|
|
841
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.startQueueEntry, {
|
|
842
|
+
entryId
|
|
843
|
+
});
|
|
844
|
+
}
|
|
845
|
+
/**
|
|
846
|
+
* Mark a queue entry as completed
|
|
847
|
+
*/
|
|
848
|
+
async completeQueueEntryAsync(entryId) {
|
|
849
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.completeQueueEntry, {
|
|
850
|
+
entryId
|
|
851
|
+
});
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* Mark a queue entry as failed
|
|
855
|
+
*/
|
|
856
|
+
async failQueueEntryAsync(entryId, errorMessage) {
|
|
857
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.failQueueEntry, {
|
|
858
|
+
entryId,
|
|
859
|
+
errorMessage
|
|
860
|
+
});
|
|
861
|
+
}
|
|
862
|
+
/**
|
|
863
|
+
* Retry all failed queue entries (reset to pending)
|
|
864
|
+
*/
|
|
865
|
+
async retryFailedQueueAsync() {
|
|
866
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.retryFailedQueue);
|
|
867
|
+
}
|
|
868
|
+
/**
|
|
869
|
+
* Remove a queue entry
|
|
870
|
+
*/
|
|
871
|
+
async removeQueueEntryAsync(entryId) {
|
|
872
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.removeQueueEntry, {
|
|
873
|
+
entryId
|
|
874
|
+
});
|
|
875
|
+
}
|
|
876
|
+
/**
|
|
877
|
+
* Clear all queue entries for a sync rule
|
|
878
|
+
*/
|
|
879
|
+
async clearQueueAsync(ruleId) {
|
|
880
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.clearQueue, {
|
|
881
|
+
ruleId
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
/**
|
|
885
|
+
* Reset in_progress entries to pending (for recovery after crash)
|
|
886
|
+
*/
|
|
887
|
+
async recoverQueueAsync() {
|
|
888
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.recoverQueue);
|
|
889
|
+
}
|
|
784
890
|
};
|
|
785
891
|
|
|
786
892
|
// src/api/filesystem.ts
|
|
@@ -1011,6 +1117,111 @@ var PermissionsAPI = class {
|
|
|
1011
1117
|
}
|
|
1012
1118
|
};
|
|
1013
1119
|
|
|
1120
|
+
// src/api/remoteStorage.ts
|
|
1121
|
+
var RemoteStorageAPI = class {
|
|
1122
|
+
constructor(client) {
|
|
1123
|
+
this.client = client;
|
|
1124
|
+
this.backends = new BackendManagement(client);
|
|
1125
|
+
}
|
|
1126
|
+
/**
|
|
1127
|
+
* Upload data to a storage backend
|
|
1128
|
+
* @param backendId - Backend ID to upload to
|
|
1129
|
+
* @param key - Object key (path in the bucket)
|
|
1130
|
+
* @param data - Data to upload
|
|
1131
|
+
*/
|
|
1132
|
+
async upload(backendId, key, data) {
|
|
1133
|
+
const base64 = btoa(String.fromCharCode(...data));
|
|
1134
|
+
await this.client.request(HAEXTENSION_METHODS.remoteStorage.upload, {
|
|
1135
|
+
backendId,
|
|
1136
|
+
key,
|
|
1137
|
+
data: base64
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1140
|
+
/**
|
|
1141
|
+
* Download data from a storage backend
|
|
1142
|
+
* @param backendId - Backend ID to download from
|
|
1143
|
+
* @param key - Object key (path in the bucket)
|
|
1144
|
+
* @returns Downloaded data as Uint8Array
|
|
1145
|
+
*/
|
|
1146
|
+
async download(backendId, key) {
|
|
1147
|
+
const base64 = await this.client.request(
|
|
1148
|
+
HAEXTENSION_METHODS.remoteStorage.download,
|
|
1149
|
+
{ backendId, key }
|
|
1150
|
+
);
|
|
1151
|
+
const binary = atob(base64);
|
|
1152
|
+
const bytes = new Uint8Array(binary.length);
|
|
1153
|
+
for (let i = 0; i < binary.length; i++) {
|
|
1154
|
+
bytes[i] = binary.charCodeAt(i);
|
|
1155
|
+
}
|
|
1156
|
+
return bytes;
|
|
1157
|
+
}
|
|
1158
|
+
/**
|
|
1159
|
+
* Delete an object from a storage backend
|
|
1160
|
+
* @param backendId - Backend ID
|
|
1161
|
+
* @param key - Object key to delete
|
|
1162
|
+
*/
|
|
1163
|
+
async delete(backendId, key) {
|
|
1164
|
+
await this.client.request(HAEXTENSION_METHODS.remoteStorage.delete, {
|
|
1165
|
+
backendId,
|
|
1166
|
+
key
|
|
1167
|
+
});
|
|
1168
|
+
}
|
|
1169
|
+
/**
|
|
1170
|
+
* List objects in a storage backend
|
|
1171
|
+
* @param backendId - Backend ID
|
|
1172
|
+
* @param prefix - Optional prefix to filter objects
|
|
1173
|
+
* @returns List of objects
|
|
1174
|
+
*/
|
|
1175
|
+
async list(backendId, prefix) {
|
|
1176
|
+
return this.client.request(
|
|
1177
|
+
HAEXTENSION_METHODS.remoteStorage.list,
|
|
1178
|
+
{ backendId, prefix }
|
|
1179
|
+
);
|
|
1180
|
+
}
|
|
1181
|
+
};
|
|
1182
|
+
var BackendManagement = class {
|
|
1183
|
+
constructor(client) {
|
|
1184
|
+
this.client = client;
|
|
1185
|
+
}
|
|
1186
|
+
/**
|
|
1187
|
+
* List all available storage backends
|
|
1188
|
+
*/
|
|
1189
|
+
async list() {
|
|
1190
|
+
return this.client.request(
|
|
1191
|
+
HAEXTENSION_METHODS.remoteStorage.listBackends
|
|
1192
|
+
);
|
|
1193
|
+
}
|
|
1194
|
+
/**
|
|
1195
|
+
* Add a new storage backend
|
|
1196
|
+
* @param request - Backend configuration
|
|
1197
|
+
* @returns Created backend info
|
|
1198
|
+
*/
|
|
1199
|
+
async add(request) {
|
|
1200
|
+
return this.client.request(
|
|
1201
|
+
HAEXTENSION_METHODS.remoteStorage.addBackend,
|
|
1202
|
+
request
|
|
1203
|
+
);
|
|
1204
|
+
}
|
|
1205
|
+
/**
|
|
1206
|
+
* Remove a storage backend
|
|
1207
|
+
* @param backendId - Backend ID to remove
|
|
1208
|
+
*/
|
|
1209
|
+
async remove(backendId) {
|
|
1210
|
+
await this.client.request(HAEXTENSION_METHODS.remoteStorage.removeBackend, {
|
|
1211
|
+
backendId
|
|
1212
|
+
});
|
|
1213
|
+
}
|
|
1214
|
+
/**
|
|
1215
|
+
* Test connection to a storage backend
|
|
1216
|
+
* @param backendId - Backend ID to test
|
|
1217
|
+
*/
|
|
1218
|
+
async test(backendId) {
|
|
1219
|
+
await this.client.request(HAEXTENSION_METHODS.remoteStorage.testBackend, {
|
|
1220
|
+
backendId
|
|
1221
|
+
});
|
|
1222
|
+
}
|
|
1223
|
+
};
|
|
1224
|
+
|
|
1014
1225
|
// src/client/tableName.ts
|
|
1015
1226
|
function validatePublicKey(publicKey) {
|
|
1016
1227
|
if (!publicKey || typeof publicKey !== "string" || publicKey.trim() === "") {
|
|
@@ -1266,7 +1477,18 @@ var TAURI_COMMANDS = {
|
|
|
1266
1477
|
resolveConflict: "webview_filesync_resolve_conflict",
|
|
1267
1478
|
// UI Helpers (selectFolder doesn't need extension info)
|
|
1268
1479
|
selectFolder: "filesync_select_folder",
|
|
1269
|
-
scanLocal: "webview_filesync_scan_local"
|
|
1480
|
+
scanLocal: "webview_filesync_scan_local",
|
|
1481
|
+
// Sync Queue
|
|
1482
|
+
addToQueue: "webview_filesync_add_to_queue",
|
|
1483
|
+
getQueue: "webview_filesync_get_queue",
|
|
1484
|
+
getQueueSummary: "webview_filesync_get_queue_summary",
|
|
1485
|
+
startQueueEntry: "webview_filesync_start_queue_entry",
|
|
1486
|
+
completeQueueEntry: "webview_filesync_complete_queue_entry",
|
|
1487
|
+
failQueueEntry: "webview_filesync_fail_queue_entry",
|
|
1488
|
+
retryFailedQueue: "webview_filesync_retry_failed_queue",
|
|
1489
|
+
removeQueueEntry: "webview_filesync_remove_queue_entry",
|
|
1490
|
+
clearQueue: "webview_filesync_clear_queue",
|
|
1491
|
+
recoverQueue: "webview_filesync_recover_queue"
|
|
1270
1492
|
}
|
|
1271
1493
|
};
|
|
1272
1494
|
|
|
@@ -1382,115 +1604,158 @@ var filesyncHandlers = {
|
|
|
1382
1604
|
// ==========================================================================
|
|
1383
1605
|
// Spaces
|
|
1384
1606
|
// ==========================================================================
|
|
1385
|
-
[HAEXTENSION_METHODS.
|
|
1607
|
+
[HAEXTENSION_METHODS.filesync.listSpaces]: {
|
|
1386
1608
|
command: TAURI_COMMANDS.filesync.listSpaces,
|
|
1387
1609
|
args: () => ({})
|
|
1388
1610
|
},
|
|
1389
|
-
[HAEXTENSION_METHODS.
|
|
1611
|
+
[HAEXTENSION_METHODS.filesync.createSpace]: {
|
|
1390
1612
|
command: TAURI_COMMANDS.filesync.createSpace,
|
|
1391
1613
|
args: (p) => ({ request: p })
|
|
1392
1614
|
},
|
|
1393
|
-
[HAEXTENSION_METHODS.
|
|
1615
|
+
[HAEXTENSION_METHODS.filesync.deleteSpace]: {
|
|
1394
1616
|
command: TAURI_COMMANDS.filesync.deleteSpace,
|
|
1395
1617
|
args: (p) => ({ spaceId: p.spaceId })
|
|
1396
1618
|
},
|
|
1397
1619
|
// ==========================================================================
|
|
1398
1620
|
// Files
|
|
1399
1621
|
// ==========================================================================
|
|
1400
|
-
[HAEXTENSION_METHODS.
|
|
1622
|
+
[HAEXTENSION_METHODS.filesync.listFiles]: {
|
|
1401
1623
|
command: TAURI_COMMANDS.filesync.listFiles,
|
|
1402
1624
|
args: (p) => ({ request: p })
|
|
1403
1625
|
},
|
|
1404
|
-
[HAEXTENSION_METHODS.
|
|
1626
|
+
[HAEXTENSION_METHODS.filesync.getFile]: {
|
|
1405
1627
|
command: TAURI_COMMANDS.filesync.getFile,
|
|
1406
1628
|
args: (p) => ({ fileId: p.fileId })
|
|
1407
1629
|
},
|
|
1408
|
-
[HAEXTENSION_METHODS.
|
|
1630
|
+
[HAEXTENSION_METHODS.filesync.uploadFile]: {
|
|
1409
1631
|
command: TAURI_COMMANDS.filesync.uploadFile,
|
|
1410
1632
|
args: (p) => ({ request: p })
|
|
1411
1633
|
},
|
|
1412
|
-
[HAEXTENSION_METHODS.
|
|
1634
|
+
[HAEXTENSION_METHODS.filesync.downloadFile]: {
|
|
1413
1635
|
command: TAURI_COMMANDS.filesync.downloadFile,
|
|
1414
1636
|
args: (p) => ({ request: p })
|
|
1415
1637
|
},
|
|
1416
|
-
[HAEXTENSION_METHODS.
|
|
1638
|
+
[HAEXTENSION_METHODS.filesync.deleteFile]: {
|
|
1417
1639
|
command: TAURI_COMMANDS.filesync.deleteFile,
|
|
1418
1640
|
args: (p) => ({ fileId: p.fileId })
|
|
1419
1641
|
},
|
|
1420
1642
|
// ==========================================================================
|
|
1421
1643
|
// Backends
|
|
1422
1644
|
// ==========================================================================
|
|
1423
|
-
[HAEXTENSION_METHODS.
|
|
1645
|
+
[HAEXTENSION_METHODS.filesync.listBackends]: {
|
|
1424
1646
|
command: TAURI_COMMANDS.filesync.listBackends,
|
|
1425
1647
|
args: () => ({})
|
|
1426
1648
|
},
|
|
1427
|
-
[HAEXTENSION_METHODS.
|
|
1649
|
+
[HAEXTENSION_METHODS.filesync.addBackend]: {
|
|
1428
1650
|
command: TAURI_COMMANDS.filesync.addBackend,
|
|
1429
1651
|
args: (p) => ({ request: p })
|
|
1430
1652
|
},
|
|
1431
|
-
[HAEXTENSION_METHODS.
|
|
1653
|
+
[HAEXTENSION_METHODS.filesync.removeBackend]: {
|
|
1432
1654
|
command: TAURI_COMMANDS.filesync.removeBackend,
|
|
1433
1655
|
args: (p) => ({ backendId: p.backendId })
|
|
1434
1656
|
},
|
|
1435
|
-
[HAEXTENSION_METHODS.
|
|
1657
|
+
[HAEXTENSION_METHODS.filesync.testBackend]: {
|
|
1436
1658
|
command: TAURI_COMMANDS.filesync.testBackend,
|
|
1437
1659
|
args: (p) => ({ backendId: p.backendId })
|
|
1438
1660
|
},
|
|
1439
1661
|
// ==========================================================================
|
|
1440
1662
|
// Sync Rules
|
|
1441
1663
|
// ==========================================================================
|
|
1442
|
-
[HAEXTENSION_METHODS.
|
|
1664
|
+
[HAEXTENSION_METHODS.filesync.listSyncRules]: {
|
|
1443
1665
|
command: TAURI_COMMANDS.filesync.listSyncRules,
|
|
1444
1666
|
args: () => ({})
|
|
1445
1667
|
},
|
|
1446
|
-
[HAEXTENSION_METHODS.
|
|
1668
|
+
[HAEXTENSION_METHODS.filesync.addSyncRule]: {
|
|
1447
1669
|
command: TAURI_COMMANDS.filesync.addSyncRule,
|
|
1448
1670
|
args: (p) => ({ request: p })
|
|
1449
1671
|
},
|
|
1450
|
-
[HAEXTENSION_METHODS.
|
|
1672
|
+
[HAEXTENSION_METHODS.filesync.updateSyncRule]: {
|
|
1451
1673
|
command: TAURI_COMMANDS.filesync.updateSyncRule,
|
|
1452
1674
|
args: (p) => ({ request: p })
|
|
1453
1675
|
},
|
|
1454
|
-
[HAEXTENSION_METHODS.
|
|
1676
|
+
[HAEXTENSION_METHODS.filesync.removeSyncRule]: {
|
|
1455
1677
|
command: TAURI_COMMANDS.filesync.removeSyncRule,
|
|
1456
1678
|
args: (p) => ({ ruleId: p.ruleId })
|
|
1457
1679
|
},
|
|
1458
1680
|
// ==========================================================================
|
|
1459
1681
|
// Sync Operations
|
|
1460
1682
|
// ==========================================================================
|
|
1461
|
-
[HAEXTENSION_METHODS.
|
|
1683
|
+
[HAEXTENSION_METHODS.filesync.getSyncStatus]: {
|
|
1462
1684
|
command: TAURI_COMMANDS.filesync.getSyncStatus,
|
|
1463
1685
|
args: () => ({})
|
|
1464
1686
|
},
|
|
1465
|
-
[HAEXTENSION_METHODS.
|
|
1687
|
+
[HAEXTENSION_METHODS.filesync.triggerSync]: {
|
|
1466
1688
|
command: TAURI_COMMANDS.filesync.triggerSync,
|
|
1467
1689
|
args: () => ({})
|
|
1468
1690
|
},
|
|
1469
|
-
[HAEXTENSION_METHODS.
|
|
1691
|
+
[HAEXTENSION_METHODS.filesync.pauseSync]: {
|
|
1470
1692
|
command: TAURI_COMMANDS.filesync.pauseSync,
|
|
1471
1693
|
args: () => ({})
|
|
1472
1694
|
},
|
|
1473
|
-
[HAEXTENSION_METHODS.
|
|
1695
|
+
[HAEXTENSION_METHODS.filesync.resumeSync]: {
|
|
1474
1696
|
command: TAURI_COMMANDS.filesync.resumeSync,
|
|
1475
1697
|
args: () => ({})
|
|
1476
1698
|
},
|
|
1477
1699
|
// ==========================================================================
|
|
1478
1700
|
// Conflict Resolution
|
|
1479
1701
|
// ==========================================================================
|
|
1480
|
-
[HAEXTENSION_METHODS.
|
|
1702
|
+
[HAEXTENSION_METHODS.filesync.resolveConflict]: {
|
|
1481
1703
|
command: TAURI_COMMANDS.filesync.resolveConflict,
|
|
1482
1704
|
args: (p) => ({ request: p })
|
|
1483
1705
|
},
|
|
1484
1706
|
// ==========================================================================
|
|
1485
1707
|
// UI Helpers
|
|
1486
1708
|
// ==========================================================================
|
|
1487
|
-
[HAEXTENSION_METHODS.
|
|
1709
|
+
[HAEXTENSION_METHODS.filesync.selectFolder]: {
|
|
1488
1710
|
command: TAURI_COMMANDS.filesync.selectFolder,
|
|
1489
1711
|
args: () => ({})
|
|
1490
1712
|
},
|
|
1491
|
-
[HAEXTENSION_METHODS.
|
|
1713
|
+
[HAEXTENSION_METHODS.filesync.scanLocal]: {
|
|
1492
1714
|
command: TAURI_COMMANDS.filesync.scanLocal,
|
|
1493
1715
|
args: (p) => ({ request: p })
|
|
1716
|
+
},
|
|
1717
|
+
// ==========================================================================
|
|
1718
|
+
// Sync Queue
|
|
1719
|
+
// ==========================================================================
|
|
1720
|
+
[HAEXTENSION_METHODS.filesync.addToQueue]: {
|
|
1721
|
+
command: TAURI_COMMANDS.filesync.addToQueue,
|
|
1722
|
+
args: (p) => ({ request: p })
|
|
1723
|
+
},
|
|
1724
|
+
[HAEXTENSION_METHODS.filesync.getQueue]: {
|
|
1725
|
+
command: TAURI_COMMANDS.filesync.getQueue,
|
|
1726
|
+
args: (p) => ({ request: p ?? {} })
|
|
1727
|
+
},
|
|
1728
|
+
[HAEXTENSION_METHODS.filesync.getQueueSummary]: {
|
|
1729
|
+
command: TAURI_COMMANDS.filesync.getQueueSummary,
|
|
1730
|
+
args: () => ({})
|
|
1731
|
+
},
|
|
1732
|
+
[HAEXTENSION_METHODS.filesync.startQueueEntry]: {
|
|
1733
|
+
command: TAURI_COMMANDS.filesync.startQueueEntry,
|
|
1734
|
+
args: (p) => ({ entryId: p.entryId })
|
|
1735
|
+
},
|
|
1736
|
+
[HAEXTENSION_METHODS.filesync.completeQueueEntry]: {
|
|
1737
|
+
command: TAURI_COMMANDS.filesync.completeQueueEntry,
|
|
1738
|
+
args: (p) => ({ entryId: p.entryId })
|
|
1739
|
+
},
|
|
1740
|
+
[HAEXTENSION_METHODS.filesync.failQueueEntry]: {
|
|
1741
|
+
command: TAURI_COMMANDS.filesync.failQueueEntry,
|
|
1742
|
+
args: (p) => ({ entryId: p.entryId, errorMessage: p.errorMessage })
|
|
1743
|
+
},
|
|
1744
|
+
[HAEXTENSION_METHODS.filesync.retryFailedQueue]: {
|
|
1745
|
+
command: TAURI_COMMANDS.filesync.retryFailedQueue,
|
|
1746
|
+
args: () => ({})
|
|
1747
|
+
},
|
|
1748
|
+
[HAEXTENSION_METHODS.filesync.removeQueueEntry]: {
|
|
1749
|
+
command: TAURI_COMMANDS.filesync.removeQueueEntry,
|
|
1750
|
+
args: (p) => ({ entryId: p.entryId })
|
|
1751
|
+
},
|
|
1752
|
+
[HAEXTENSION_METHODS.filesync.clearQueue]: {
|
|
1753
|
+
command: TAURI_COMMANDS.filesync.clearQueue,
|
|
1754
|
+
args: (p) => ({ ruleId: p.ruleId })
|
|
1755
|
+
},
|
|
1756
|
+
[HAEXTENSION_METHODS.filesync.recoverQueue]: {
|
|
1757
|
+
command: TAURI_COMMANDS.filesync.recoverQueue,
|
|
1758
|
+
args: () => ({})
|
|
1494
1759
|
}
|
|
1495
1760
|
};
|
|
1496
1761
|
|
|
@@ -1802,6 +2067,7 @@ var HaexVaultSdk = class {
|
|
|
1802
2067
|
this.filesystem = new FilesystemAPI(this);
|
|
1803
2068
|
this.web = new WebAPI(this);
|
|
1804
2069
|
this.permissions = new PermissionsAPI(this);
|
|
2070
|
+
this.remoteStorage = new RemoteStorageAPI(this);
|
|
1805
2071
|
installConsoleForwarding(this.config.debug);
|
|
1806
2072
|
this.readyPromise = new Promise((resolve) => {
|
|
1807
2073
|
this.resolveReady = resolve;
|