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