@haex-space/vault-sdk 2.5.49 → 2.5.52

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.mjs CHANGED
@@ -556,6 +556,33 @@ var DatabaseAPI = class {
556
556
  }
557
557
  };
558
558
 
559
+ // src/crypto/vaultKey.ts
560
+ function arrayBufferToBase64(buffer) {
561
+ const bytes = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
562
+ if (typeof Buffer !== "undefined") {
563
+ return Buffer.from(bytes).toString("base64");
564
+ }
565
+ let binary = "";
566
+ for (let i = 0; i < bytes.length; i++) {
567
+ const byte = bytes[i];
568
+ if (byte !== void 0) {
569
+ binary += String.fromCharCode(byte);
570
+ }
571
+ }
572
+ return btoa(binary);
573
+ }
574
+ function base64ToArrayBuffer(base64) {
575
+ if (typeof Buffer !== "undefined") {
576
+ return new Uint8Array(Buffer.from(base64, "base64"));
577
+ }
578
+ const binary = atob(base64);
579
+ const bytes = new Uint8Array(binary.length);
580
+ for (let i = 0; i < binary.length; i++) {
581
+ bytes[i] = binary.charCodeAt(i);
582
+ }
583
+ return bytes;
584
+ }
585
+
559
586
  // src/api/filesystem.ts
560
587
  var FilesystemAPI = class {
561
588
  constructor(client) {
@@ -627,12 +654,7 @@ var FilesystemAPI = class {
627
654
  HAEXTENSION_METHODS.filesystem.readFile,
628
655
  { path }
629
656
  );
630
- const binary = atob(base64);
631
- const bytes = new Uint8Array(binary.length);
632
- for (let i = 0; i < binary.length; i++) {
633
- bytes[i] = binary.charCodeAt(i);
634
- }
635
- return bytes;
657
+ return base64ToArrayBuffer(base64);
636
658
  }
637
659
  /**
638
660
  * Write file contents
@@ -640,7 +662,7 @@ var FilesystemAPI = class {
640
662
  * @param data File contents as Uint8Array
641
663
  */
642
664
  async writeFile(path, data) {
643
- const base64 = btoa(String.fromCharCode(...data));
665
+ const base64 = arrayBufferToBase64(data);
644
666
  await this.client.request(
645
667
  HAEXTENSION_METHODS.filesystem.writeFile,
646
668
  { path, data: base64 }
@@ -926,7 +948,7 @@ var RemoteStorageAPI = class {
926
948
  * @param data - Data to upload
927
949
  */
928
950
  async upload(backendId, key, data) {
929
- const base64 = btoa(String.fromCharCode(...data));
951
+ const base64 = arrayBufferToBase64(data);
930
952
  await this.client.request(HAEXTENSION_METHODS.remoteStorage.upload, {
931
953
  backendId,
932
954
  key,
@@ -944,12 +966,7 @@ var RemoteStorageAPI = class {
944
966
  HAEXTENSION_METHODS.remoteStorage.download,
945
967
  { backendId, key }
946
968
  );
947
- const binary = atob(base64);
948
- const bytes = new Uint8Array(binary.length);
949
- for (let i = 0; i < binary.length; i++) {
950
- bytes[i] = binary.charCodeAt(i);
951
- }
952
- return bytes;
969
+ return base64ToArrayBuffer(base64);
953
970
  }
954
971
  /**
955
972
  * Delete an object from a storage backend
@@ -1238,7 +1255,21 @@ var TAURI_COMMANDS = {
1238
1255
  filesystem: {
1239
1256
  saveFile: "webview_extension_fs_save_file",
1240
1257
  openFile: "webview_extension_fs_open_file",
1241
- showImage: "webview_extension_fs_show_image"},
1258
+ showImage: "webview_extension_fs_show_image",
1259
+ // Generic filesystem operations (no webview_ prefix because they're global)
1260
+ // Permission checks happen in the message handler layer
1261
+ readFile: "filesystem_read_file",
1262
+ writeFile: "filesystem_write_file",
1263
+ readDir: "filesystem_read_dir",
1264
+ mkdir: "filesystem_mkdir",
1265
+ remove: "filesystem_remove",
1266
+ exists: "filesystem_exists",
1267
+ stat: "filesystem_stat",
1268
+ selectFolder: "filesystem_select_folder",
1269
+ selectFile: "filesystem_select_file",
1270
+ rename: "filesystem_rename",
1271
+ copy: "filesystem_copy"
1272
+ },
1242
1273
  external: {
1243
1274
  // Response handling (called by extensions running in WebView)
1244
1275
  respond: "webview_extension_external_respond"},
@@ -1328,6 +1359,7 @@ var webHandlers = {
1328
1359
 
1329
1360
  // src/transport/handlers/filesystem.ts
1330
1361
  var filesystemHandlers = {
1362
+ // Legacy extension-specific operations
1331
1363
  [HAEXTENSION_METHODS.filesystem.saveFile]: {
1332
1364
  command: TAURI_COMMANDS.filesystem.saveFile,
1333
1365
  args: (p) => ({
@@ -1349,6 +1381,58 @@ var filesystemHandlers = {
1349
1381
  args: (p) => ({
1350
1382
  dataUrl: p.dataUrl
1351
1383
  })
1384
+ },
1385
+ // Generic filesystem operations
1386
+ [HAEXTENSION_METHODS.filesystem.readFile]: {
1387
+ command: TAURI_COMMANDS.filesystem.readFile,
1388
+ args: (p) => ({ path: p.path })
1389
+ },
1390
+ [HAEXTENSION_METHODS.filesystem.writeFile]: {
1391
+ command: TAURI_COMMANDS.filesystem.writeFile,
1392
+ args: (p) => ({ path: p.path, data: p.data })
1393
+ },
1394
+ [HAEXTENSION_METHODS.filesystem.readDir]: {
1395
+ command: TAURI_COMMANDS.filesystem.readDir,
1396
+ args: (p) => ({ path: p.path })
1397
+ },
1398
+ [HAEXTENSION_METHODS.filesystem.mkdir]: {
1399
+ command: TAURI_COMMANDS.filesystem.mkdir,
1400
+ args: (p) => ({ path: p.path })
1401
+ },
1402
+ [HAEXTENSION_METHODS.filesystem.remove]: {
1403
+ command: TAURI_COMMANDS.filesystem.remove,
1404
+ args: (p) => ({ path: p.path })
1405
+ },
1406
+ [HAEXTENSION_METHODS.filesystem.exists]: {
1407
+ command: TAURI_COMMANDS.filesystem.exists,
1408
+ args: (p) => ({ path: p.path })
1409
+ },
1410
+ [HAEXTENSION_METHODS.filesystem.stat]: {
1411
+ command: TAURI_COMMANDS.filesystem.stat,
1412
+ args: (p) => ({ path: p.path })
1413
+ },
1414
+ [HAEXTENSION_METHODS.filesystem.selectFolder]: {
1415
+ command: TAURI_COMMANDS.filesystem.selectFolder,
1416
+ args: (p) => ({
1417
+ title: p.title,
1418
+ defaultPath: p.defaultPath
1419
+ })
1420
+ },
1421
+ [HAEXTENSION_METHODS.filesystem.selectFile]: {
1422
+ command: TAURI_COMMANDS.filesystem.selectFile,
1423
+ args: (p) => ({
1424
+ title: p.title,
1425
+ defaultPath: p.defaultPath,
1426
+ filters: p.filters
1427
+ })
1428
+ },
1429
+ [HAEXTENSION_METHODS.filesystem.rename]: {
1430
+ command: TAURI_COMMANDS.filesystem.rename,
1431
+ args: (p) => ({ from: p.from, to: p.to })
1432
+ },
1433
+ [HAEXTENSION_METHODS.filesystem.copy]: {
1434
+ command: TAURI_COMMANDS.filesystem.copy,
1435
+ args: (p) => ({ from: p.from, to: p.to })
1352
1436
  }
1353
1437
  };
1354
1438