@haex-space/vault-sdk 2.3.14 → 2.3.16

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/svelte.js CHANGED
@@ -356,7 +356,37 @@ var HAEXTENSION_METHODS = {
356
356
  filesystem: {
357
357
  saveFile: "haextension:filesystem:save-file",
358
358
  openFile: "haextension:filesystem:open-file",
359
- showImage: "haextension:filesystem:show-image"
359
+ showImage: "haextension:filesystem:show-image",
360
+ sync: {
361
+ // Spaces
362
+ listSpaces: "haextension:filesystem:sync:list-spaces",
363
+ createSpace: "haextension:filesystem:sync:create-space",
364
+ deleteSpace: "haextension:filesystem:sync:delete-space",
365
+ // Files
366
+ listFiles: "haextension:filesystem:sync:list-files",
367
+ getFile: "haextension:filesystem:sync:get-file",
368
+ uploadFile: "haextension:filesystem:sync:upload-file",
369
+ downloadFile: "haextension:filesystem:sync:download-file",
370
+ deleteFile: "haextension:filesystem:sync:delete-file",
371
+ // Backends
372
+ listBackends: "haextension:filesystem:sync:list-backends",
373
+ addBackend: "haextension:filesystem:sync:add-backend",
374
+ removeBackend: "haextension:filesystem:sync:remove-backend",
375
+ testBackend: "haextension:filesystem:sync:test-backend",
376
+ // Sync Rules
377
+ listSyncRules: "haextension:filesystem:sync:list-sync-rules",
378
+ addSyncRule: "haextension:filesystem:sync:add-sync-rule",
379
+ removeSyncRule: "haextension:filesystem:sync:remove-sync-rule",
380
+ // Sync Operations
381
+ getSyncStatus: "haextension:filesystem:sync:get-sync-status",
382
+ triggerSync: "haextension:filesystem:sync:trigger-sync",
383
+ pauseSync: "haextension:filesystem:sync:pause-sync",
384
+ resumeSync: "haextension:filesystem:sync:resume-sync",
385
+ // Conflict Resolution
386
+ resolveConflict: "haextension:filesystem:sync:resolve-conflict",
387
+ // UI Helpers
388
+ selectFolder: "haextension:filesystem:sync:select-folder"
389
+ }
360
390
  },
361
391
  storage: {
362
392
  getItem: "haextension:storage:get-item",
@@ -529,10 +559,210 @@ var DatabaseAPI = class {
529
559
  }
530
560
  };
531
561
 
562
+ // src/api/filesync.ts
563
+ var FileSyncAPI = class {
564
+ constructor(client) {
565
+ this.client = client;
566
+ }
567
+ // --------------------------------------------------------------------------
568
+ // Spaces
569
+ // --------------------------------------------------------------------------
570
+ /**
571
+ * List all file spaces
572
+ */
573
+ async listSpacesAsync() {
574
+ return this.client.request(
575
+ HAEXTENSION_METHODS.filesystem.sync.listSpaces
576
+ );
577
+ }
578
+ /**
579
+ * Create a new file space
580
+ */
581
+ async createSpaceAsync(options) {
582
+ return this.client.request(
583
+ HAEXTENSION_METHODS.filesystem.sync.createSpace,
584
+ options
585
+ );
586
+ }
587
+ /**
588
+ * Delete a file space
589
+ */
590
+ async deleteSpaceAsync(spaceId) {
591
+ await this.client.request(HAEXTENSION_METHODS.filesystem.sync.deleteSpace, {
592
+ spaceId
593
+ });
594
+ }
595
+ // --------------------------------------------------------------------------
596
+ // Files
597
+ // --------------------------------------------------------------------------
598
+ /**
599
+ * List files in a space
600
+ */
601
+ async listFilesAsync(options) {
602
+ return this.client.request(
603
+ HAEXTENSION_METHODS.filesystem.sync.listFiles,
604
+ options
605
+ );
606
+ }
607
+ /**
608
+ * Get file info by ID
609
+ */
610
+ async getFileAsync(fileId) {
611
+ return this.client.request(
612
+ HAEXTENSION_METHODS.filesystem.sync.getFile,
613
+ { fileId }
614
+ );
615
+ }
616
+ /**
617
+ * Upload a file to the sync system
618
+ */
619
+ async uploadFileAsync(options) {
620
+ return this.client.request(
621
+ HAEXTENSION_METHODS.filesystem.sync.uploadFile,
622
+ options
623
+ );
624
+ }
625
+ /**
626
+ * Download a file to local storage
627
+ */
628
+ async downloadFileAsync(options) {
629
+ await this.client.request(
630
+ HAEXTENSION_METHODS.filesystem.sync.downloadFile,
631
+ options
632
+ );
633
+ }
634
+ /**
635
+ * Delete a file from the sync system
636
+ */
637
+ async deleteFileAsync(fileId) {
638
+ await this.client.request(HAEXTENSION_METHODS.filesystem.sync.deleteFile, {
639
+ fileId
640
+ });
641
+ }
642
+ // --------------------------------------------------------------------------
643
+ // Storage Backends
644
+ // --------------------------------------------------------------------------
645
+ /**
646
+ * List configured storage backends
647
+ */
648
+ async listBackendsAsync() {
649
+ return this.client.request(
650
+ HAEXTENSION_METHODS.filesystem.sync.listBackends
651
+ );
652
+ }
653
+ /**
654
+ * Add a new storage backend
655
+ */
656
+ async addBackendAsync(options) {
657
+ return this.client.request(
658
+ HAEXTENSION_METHODS.filesystem.sync.addBackend,
659
+ options
660
+ );
661
+ }
662
+ /**
663
+ * Remove a storage backend
664
+ */
665
+ async removeBackendAsync(backendId) {
666
+ await this.client.request(HAEXTENSION_METHODS.filesystem.sync.removeBackend, {
667
+ backendId
668
+ });
669
+ }
670
+ /**
671
+ * Test backend connection
672
+ */
673
+ async testBackendAsync(backendId) {
674
+ return this.client.request(
675
+ HAEXTENSION_METHODS.filesystem.sync.testBackend,
676
+ { backendId }
677
+ );
678
+ }
679
+ // --------------------------------------------------------------------------
680
+ // Sync Rules
681
+ // --------------------------------------------------------------------------
682
+ /**
683
+ * List sync rules
684
+ */
685
+ async listSyncRulesAsync() {
686
+ return this.client.request(
687
+ HAEXTENSION_METHODS.filesystem.sync.listSyncRules
688
+ );
689
+ }
690
+ /**
691
+ * Add a sync rule
692
+ */
693
+ async addSyncRuleAsync(options) {
694
+ return this.client.request(
695
+ HAEXTENSION_METHODS.filesystem.sync.addSyncRule,
696
+ options
697
+ );
698
+ }
699
+ /**
700
+ * Remove a sync rule
701
+ */
702
+ async removeSyncRuleAsync(ruleId) {
703
+ await this.client.request(HAEXTENSION_METHODS.filesystem.sync.removeSyncRule, {
704
+ ruleId
705
+ });
706
+ }
707
+ // --------------------------------------------------------------------------
708
+ // Sync Operations
709
+ // --------------------------------------------------------------------------
710
+ /**
711
+ * Get current sync status
712
+ */
713
+ async getSyncStatusAsync() {
714
+ return this.client.request(
715
+ HAEXTENSION_METHODS.filesystem.sync.getSyncStatus
716
+ );
717
+ }
718
+ /**
719
+ * Trigger a manual sync
720
+ */
721
+ async triggerSyncAsync() {
722
+ await this.client.request(HAEXTENSION_METHODS.filesystem.sync.triggerSync);
723
+ }
724
+ /**
725
+ * Pause syncing
726
+ */
727
+ async pauseSyncAsync() {
728
+ await this.client.request(HAEXTENSION_METHODS.filesystem.sync.pauseSync);
729
+ }
730
+ /**
731
+ * Resume syncing
732
+ */
733
+ async resumeSyncAsync() {
734
+ await this.client.request(HAEXTENSION_METHODS.filesystem.sync.resumeSync);
735
+ }
736
+ // --------------------------------------------------------------------------
737
+ // Conflict Resolution
738
+ // --------------------------------------------------------------------------
739
+ /**
740
+ * Resolve a file conflict
741
+ */
742
+ async resolveConflictAsync(fileId, resolution) {
743
+ await this.client.request(HAEXTENSION_METHODS.filesystem.sync.resolveConflict, {
744
+ fileId,
745
+ resolution
746
+ });
747
+ }
748
+ // --------------------------------------------------------------------------
749
+ // Folder Selection (Native Dialog)
750
+ // --------------------------------------------------------------------------
751
+ /**
752
+ * Open a folder selection dialog
753
+ */
754
+ async selectFolderAsync() {
755
+ return this.client.request(
756
+ HAEXTENSION_METHODS.filesystem.sync.selectFolder
757
+ );
758
+ }
759
+ };
760
+
532
761
  // src/api/filesystem.ts
533
762
  var FilesystemAPI = class {
534
763
  constructor(client) {
535
764
  this.client = client;
765
+ this.sync = new FileSyncAPI(client);
536
766
  }
537
767
  /**
538
768
  * Opens a save file dialog and saves the provided data to the selected location
@@ -1056,11 +1286,12 @@ var HaexVaultClient = class {
1056
1286
  async respondToExternalRequest(response) {
1057
1287
  await this.request("external.respond", response);
1058
1288
  }
1059
- async request(method, params = {}) {
1289
+ async request(method, params) {
1290
+ const resolvedParams = params ?? {};
1060
1291
  if (this.isNativeWindow && typeof window.__TAURI__ !== "undefined") {
1061
- return this.invoke(method, params);
1292
+ return this.invoke(method, resolvedParams);
1062
1293
  }
1063
- return this.postMessage(method, params);
1294
+ return this.postMessage(method, resolvedParams);
1064
1295
  }
1065
1296
  async postMessage(method, params) {
1066
1297
  const requestId = this.generateRequestId();