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