@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
|
@@ -72,39 +72,50 @@ var HAEXTENSION_METHODS = {
|
|
|
72
72
|
filesystem: {
|
|
73
73
|
saveFile: "haextension:filesystem:save-file",
|
|
74
74
|
openFile: "haextension:filesystem:open-file",
|
|
75
|
-
showImage: "haextension:filesystem:show-image"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
75
|
+
showImage: "haextension:filesystem:show-image"
|
|
76
|
+
},
|
|
77
|
+
filesync: {
|
|
78
|
+
// Spaces
|
|
79
|
+
listSpaces: "haextension:filesync:list-spaces",
|
|
80
|
+
createSpace: "haextension:filesync:create-space",
|
|
81
|
+
deleteSpace: "haextension:filesync:delete-space",
|
|
82
|
+
// Files
|
|
83
|
+
listFiles: "haextension:filesync:list-files",
|
|
84
|
+
getFile: "haextension:filesync:get-file",
|
|
85
|
+
uploadFile: "haextension:filesync:upload-file",
|
|
86
|
+
downloadFile: "haextension:filesync:download-file",
|
|
87
|
+
deleteFile: "haextension:filesync:delete-file",
|
|
88
|
+
// Backends
|
|
89
|
+
listBackends: "haextension:filesync:list-backends",
|
|
90
|
+
addBackend: "haextension:filesync:add-backend",
|
|
91
|
+
removeBackend: "haextension:filesync:remove-backend",
|
|
92
|
+
testBackend: "haextension:filesync:test-backend",
|
|
93
|
+
// Sync Rules
|
|
94
|
+
listSyncRules: "haextension:filesync:list-sync-rules",
|
|
95
|
+
addSyncRule: "haextension:filesync:add-sync-rule",
|
|
96
|
+
updateSyncRule: "haextension:filesync:update-sync-rule",
|
|
97
|
+
removeSyncRule: "haextension:filesync:remove-sync-rule",
|
|
98
|
+
// Sync Operations
|
|
99
|
+
getSyncStatus: "haextension:filesync:get-sync-status",
|
|
100
|
+
triggerSync: "haextension:filesync:trigger-sync",
|
|
101
|
+
pauseSync: "haextension:filesync:pause-sync",
|
|
102
|
+
resumeSync: "haextension:filesync:resume-sync",
|
|
103
|
+
// Conflict Resolution
|
|
104
|
+
resolveConflict: "haextension:filesync:resolve-conflict",
|
|
105
|
+
// UI Helpers
|
|
106
|
+
selectFolder: "haextension:filesync:select-folder",
|
|
107
|
+
scanLocal: "haextension:filesync:scan-local",
|
|
108
|
+
// Sync Queue (persistent upload/download queue)
|
|
109
|
+
addToQueue: "haextension:filesync:add-to-queue",
|
|
110
|
+
getQueue: "haextension:filesync:get-queue",
|
|
111
|
+
getQueueSummary: "haextension:filesync:get-queue-summary",
|
|
112
|
+
startQueueEntry: "haextension:filesync:start-queue-entry",
|
|
113
|
+
completeQueueEntry: "haextension:filesync:complete-queue-entry",
|
|
114
|
+
failQueueEntry: "haextension:filesync:fail-queue-entry",
|
|
115
|
+
retryFailedQueue: "haextension:filesync:retry-failed-queue",
|
|
116
|
+
removeQueueEntry: "haextension:filesync:remove-queue-entry",
|
|
117
|
+
clearQueue: "haextension:filesync:clear-queue",
|
|
118
|
+
recoverQueue: "haextension:filesync:recover-queue"
|
|
108
119
|
},
|
|
109
120
|
storage: {
|
|
110
121
|
getItem: "haextension:storage:get-item",
|
|
@@ -113,6 +124,19 @@ var HAEXTENSION_METHODS = {
|
|
|
113
124
|
clear: "haextension:storage:clear",
|
|
114
125
|
keys: "haextension:storage:keys"
|
|
115
126
|
},
|
|
127
|
+
// Remote Storage API (S3, WebDAV, FTP, etc.)
|
|
128
|
+
remoteStorage: {
|
|
129
|
+
// Backend Management
|
|
130
|
+
listBackends: "haextension:remote-storage:list-backends",
|
|
131
|
+
addBackend: "haextension:remote-storage:add-backend",
|
|
132
|
+
removeBackend: "haextension:remote-storage:remove-backend",
|
|
133
|
+
testBackend: "haextension:remote-storage:test-backend",
|
|
134
|
+
// Storage Operations
|
|
135
|
+
upload: "haextension:remote-storage:upload",
|
|
136
|
+
download: "haextension:remote-storage:download",
|
|
137
|
+
delete: "haextension:remote-storage:delete",
|
|
138
|
+
list: "haextension:remote-storage:list"
|
|
139
|
+
},
|
|
116
140
|
web: {
|
|
117
141
|
fetch: "haextension:web:fetch"
|
|
118
142
|
},
|
|
@@ -250,7 +274,7 @@ var FileSyncAPI = class {
|
|
|
250
274
|
*/
|
|
251
275
|
async listSpacesAsync() {
|
|
252
276
|
return this.client.request(
|
|
253
|
-
HAEXTENSION_METHODS.
|
|
277
|
+
HAEXTENSION_METHODS.filesync.listSpaces
|
|
254
278
|
);
|
|
255
279
|
}
|
|
256
280
|
/**
|
|
@@ -258,7 +282,7 @@ var FileSyncAPI = class {
|
|
|
258
282
|
*/
|
|
259
283
|
async createSpaceAsync(options) {
|
|
260
284
|
return this.client.request(
|
|
261
|
-
HAEXTENSION_METHODS.
|
|
285
|
+
HAEXTENSION_METHODS.filesync.createSpace,
|
|
262
286
|
options
|
|
263
287
|
);
|
|
264
288
|
}
|
|
@@ -266,7 +290,7 @@ var FileSyncAPI = class {
|
|
|
266
290
|
* Delete a file space
|
|
267
291
|
*/
|
|
268
292
|
async deleteSpaceAsync(spaceId) {
|
|
269
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
293
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.deleteSpace, {
|
|
270
294
|
spaceId
|
|
271
295
|
});
|
|
272
296
|
}
|
|
@@ -278,7 +302,7 @@ var FileSyncAPI = class {
|
|
|
278
302
|
*/
|
|
279
303
|
async listFilesAsync(options) {
|
|
280
304
|
return this.client.request(
|
|
281
|
-
HAEXTENSION_METHODS.
|
|
305
|
+
HAEXTENSION_METHODS.filesync.listFiles,
|
|
282
306
|
options
|
|
283
307
|
);
|
|
284
308
|
}
|
|
@@ -288,7 +312,7 @@ var FileSyncAPI = class {
|
|
|
288
312
|
*/
|
|
289
313
|
async scanLocalAsync(options) {
|
|
290
314
|
return this.client.request(
|
|
291
|
-
HAEXTENSION_METHODS.
|
|
315
|
+
HAEXTENSION_METHODS.filesync.scanLocal,
|
|
292
316
|
options
|
|
293
317
|
);
|
|
294
318
|
}
|
|
@@ -297,7 +321,7 @@ var FileSyncAPI = class {
|
|
|
297
321
|
*/
|
|
298
322
|
async getFileAsync(fileId) {
|
|
299
323
|
return this.client.request(
|
|
300
|
-
HAEXTENSION_METHODS.
|
|
324
|
+
HAEXTENSION_METHODS.filesync.getFile,
|
|
301
325
|
{ fileId }
|
|
302
326
|
);
|
|
303
327
|
}
|
|
@@ -306,7 +330,7 @@ var FileSyncAPI = class {
|
|
|
306
330
|
*/
|
|
307
331
|
async uploadFileAsync(options) {
|
|
308
332
|
return this.client.request(
|
|
309
|
-
HAEXTENSION_METHODS.
|
|
333
|
+
HAEXTENSION_METHODS.filesync.uploadFile,
|
|
310
334
|
options
|
|
311
335
|
);
|
|
312
336
|
}
|
|
@@ -315,7 +339,7 @@ var FileSyncAPI = class {
|
|
|
315
339
|
*/
|
|
316
340
|
async downloadFileAsync(options) {
|
|
317
341
|
await this.client.request(
|
|
318
|
-
HAEXTENSION_METHODS.
|
|
342
|
+
HAEXTENSION_METHODS.filesync.downloadFile,
|
|
319
343
|
options
|
|
320
344
|
);
|
|
321
345
|
}
|
|
@@ -323,7 +347,7 @@ var FileSyncAPI = class {
|
|
|
323
347
|
* Delete a file from the sync system
|
|
324
348
|
*/
|
|
325
349
|
async deleteFileAsync(fileId) {
|
|
326
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
350
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.deleteFile, {
|
|
327
351
|
fileId
|
|
328
352
|
});
|
|
329
353
|
}
|
|
@@ -335,7 +359,7 @@ var FileSyncAPI = class {
|
|
|
335
359
|
*/
|
|
336
360
|
async listBackendsAsync() {
|
|
337
361
|
return this.client.request(
|
|
338
|
-
HAEXTENSION_METHODS.
|
|
362
|
+
HAEXTENSION_METHODS.filesync.listBackends
|
|
339
363
|
);
|
|
340
364
|
}
|
|
341
365
|
/**
|
|
@@ -343,7 +367,7 @@ var FileSyncAPI = class {
|
|
|
343
367
|
*/
|
|
344
368
|
async addBackendAsync(options) {
|
|
345
369
|
return this.client.request(
|
|
346
|
-
HAEXTENSION_METHODS.
|
|
370
|
+
HAEXTENSION_METHODS.filesync.addBackend,
|
|
347
371
|
options
|
|
348
372
|
);
|
|
349
373
|
}
|
|
@@ -351,7 +375,7 @@ var FileSyncAPI = class {
|
|
|
351
375
|
* Remove a storage backend
|
|
352
376
|
*/
|
|
353
377
|
async removeBackendAsync(backendId) {
|
|
354
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
378
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.removeBackend, {
|
|
355
379
|
backendId
|
|
356
380
|
});
|
|
357
381
|
}
|
|
@@ -360,7 +384,7 @@ var FileSyncAPI = class {
|
|
|
360
384
|
*/
|
|
361
385
|
async testBackendAsync(backendId) {
|
|
362
386
|
return this.client.request(
|
|
363
|
-
HAEXTENSION_METHODS.
|
|
387
|
+
HAEXTENSION_METHODS.filesync.testBackend,
|
|
364
388
|
{ backendId }
|
|
365
389
|
);
|
|
366
390
|
}
|
|
@@ -372,7 +396,7 @@ var FileSyncAPI = class {
|
|
|
372
396
|
*/
|
|
373
397
|
async listSyncRulesAsync() {
|
|
374
398
|
return this.client.request(
|
|
375
|
-
HAEXTENSION_METHODS.
|
|
399
|
+
HAEXTENSION_METHODS.filesync.listSyncRules
|
|
376
400
|
);
|
|
377
401
|
}
|
|
378
402
|
/**
|
|
@@ -380,7 +404,7 @@ var FileSyncAPI = class {
|
|
|
380
404
|
*/
|
|
381
405
|
async addSyncRuleAsync(options) {
|
|
382
406
|
return this.client.request(
|
|
383
|
-
HAEXTENSION_METHODS.
|
|
407
|
+
HAEXTENSION_METHODS.filesync.addSyncRule,
|
|
384
408
|
options
|
|
385
409
|
);
|
|
386
410
|
}
|
|
@@ -389,7 +413,7 @@ var FileSyncAPI = class {
|
|
|
389
413
|
*/
|
|
390
414
|
async updateSyncRuleAsync(options) {
|
|
391
415
|
return this.client.request(
|
|
392
|
-
HAEXTENSION_METHODS.
|
|
416
|
+
HAEXTENSION_METHODS.filesync.updateSyncRule,
|
|
393
417
|
options
|
|
394
418
|
);
|
|
395
419
|
}
|
|
@@ -397,7 +421,7 @@ var FileSyncAPI = class {
|
|
|
397
421
|
* Remove a sync rule
|
|
398
422
|
*/
|
|
399
423
|
async removeSyncRuleAsync(ruleId) {
|
|
400
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
424
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.removeSyncRule, {
|
|
401
425
|
ruleId
|
|
402
426
|
});
|
|
403
427
|
}
|
|
@@ -409,26 +433,26 @@ var FileSyncAPI = class {
|
|
|
409
433
|
*/
|
|
410
434
|
async getSyncStatusAsync() {
|
|
411
435
|
return this.client.request(
|
|
412
|
-
HAEXTENSION_METHODS.
|
|
436
|
+
HAEXTENSION_METHODS.filesync.getSyncStatus
|
|
413
437
|
);
|
|
414
438
|
}
|
|
415
439
|
/**
|
|
416
440
|
* Trigger a manual sync
|
|
417
441
|
*/
|
|
418
442
|
async triggerSyncAsync() {
|
|
419
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
443
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.triggerSync);
|
|
420
444
|
}
|
|
421
445
|
/**
|
|
422
446
|
* Pause syncing
|
|
423
447
|
*/
|
|
424
448
|
async pauseSyncAsync() {
|
|
425
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
449
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.pauseSync);
|
|
426
450
|
}
|
|
427
451
|
/**
|
|
428
452
|
* Resume syncing
|
|
429
453
|
*/
|
|
430
454
|
async resumeSyncAsync() {
|
|
431
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
455
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.resumeSync);
|
|
432
456
|
}
|
|
433
457
|
// --------------------------------------------------------------------------
|
|
434
458
|
// Conflict Resolution
|
|
@@ -437,7 +461,7 @@ var FileSyncAPI = class {
|
|
|
437
461
|
* Resolve a file conflict
|
|
438
462
|
*/
|
|
439
463
|
async resolveConflictAsync(fileId, resolution) {
|
|
440
|
-
await this.client.request(HAEXTENSION_METHODS.
|
|
464
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.resolveConflict, {
|
|
441
465
|
fileId,
|
|
442
466
|
resolution
|
|
443
467
|
});
|
|
@@ -450,9 +474,91 @@ var FileSyncAPI = class {
|
|
|
450
474
|
*/
|
|
451
475
|
async selectFolderAsync() {
|
|
452
476
|
return this.client.request(
|
|
453
|
-
HAEXTENSION_METHODS.
|
|
477
|
+
HAEXTENSION_METHODS.filesync.selectFolder
|
|
454
478
|
);
|
|
455
479
|
}
|
|
480
|
+
// --------------------------------------------------------------------------
|
|
481
|
+
// Sync Queue
|
|
482
|
+
// --------------------------------------------------------------------------
|
|
483
|
+
/**
|
|
484
|
+
* Add files to the sync queue
|
|
485
|
+
*/
|
|
486
|
+
async addToQueueAsync(options) {
|
|
487
|
+
return this.client.request(
|
|
488
|
+
HAEXTENSION_METHODS.filesync.addToQueue,
|
|
489
|
+
options
|
|
490
|
+
);
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Get queue entries for the current device
|
|
494
|
+
*/
|
|
495
|
+
async getQueueAsync(options) {
|
|
496
|
+
return this.client.request(
|
|
497
|
+
HAEXTENSION_METHODS.filesync.getQueue,
|
|
498
|
+
options
|
|
499
|
+
);
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Get aggregated queue summary for the current device
|
|
503
|
+
*/
|
|
504
|
+
async getQueueSummaryAsync() {
|
|
505
|
+
return this.client.request(
|
|
506
|
+
HAEXTENSION_METHODS.filesync.getQueueSummary
|
|
507
|
+
);
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Mark a queue entry as started (in_progress)
|
|
511
|
+
*/
|
|
512
|
+
async startQueueEntryAsync(entryId) {
|
|
513
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.startQueueEntry, {
|
|
514
|
+
entryId
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* Mark a queue entry as completed
|
|
519
|
+
*/
|
|
520
|
+
async completeQueueEntryAsync(entryId) {
|
|
521
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.completeQueueEntry, {
|
|
522
|
+
entryId
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Mark a queue entry as failed
|
|
527
|
+
*/
|
|
528
|
+
async failQueueEntryAsync(entryId, errorMessage) {
|
|
529
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.failQueueEntry, {
|
|
530
|
+
entryId,
|
|
531
|
+
errorMessage
|
|
532
|
+
});
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Retry all failed queue entries (reset to pending)
|
|
536
|
+
*/
|
|
537
|
+
async retryFailedQueueAsync() {
|
|
538
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.retryFailedQueue);
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Remove a queue entry
|
|
542
|
+
*/
|
|
543
|
+
async removeQueueEntryAsync(entryId) {
|
|
544
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.removeQueueEntry, {
|
|
545
|
+
entryId
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* Clear all queue entries for a sync rule
|
|
550
|
+
*/
|
|
551
|
+
async clearQueueAsync(ruleId) {
|
|
552
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.clearQueue, {
|
|
553
|
+
ruleId
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* Reset in_progress entries to pending (for recovery after crash)
|
|
558
|
+
*/
|
|
559
|
+
async recoverQueueAsync() {
|
|
560
|
+
await this.client.request(HAEXTENSION_METHODS.filesync.recoverQueue);
|
|
561
|
+
}
|
|
456
562
|
};
|
|
457
563
|
|
|
458
564
|
// src/api/filesystem.ts
|
|
@@ -683,6 +789,111 @@ var PermissionsAPI = class {
|
|
|
683
789
|
}
|
|
684
790
|
};
|
|
685
791
|
|
|
792
|
+
// src/api/remoteStorage.ts
|
|
793
|
+
var RemoteStorageAPI = class {
|
|
794
|
+
constructor(client) {
|
|
795
|
+
this.client = client;
|
|
796
|
+
this.backends = new BackendManagement(client);
|
|
797
|
+
}
|
|
798
|
+
/**
|
|
799
|
+
* Upload data to a storage backend
|
|
800
|
+
* @param backendId - Backend ID to upload to
|
|
801
|
+
* @param key - Object key (path in the bucket)
|
|
802
|
+
* @param data - Data to upload
|
|
803
|
+
*/
|
|
804
|
+
async upload(backendId, key, data) {
|
|
805
|
+
const base64 = btoa(String.fromCharCode(...data));
|
|
806
|
+
await this.client.request(HAEXTENSION_METHODS.remoteStorage.upload, {
|
|
807
|
+
backendId,
|
|
808
|
+
key,
|
|
809
|
+
data: base64
|
|
810
|
+
});
|
|
811
|
+
}
|
|
812
|
+
/**
|
|
813
|
+
* Download data from a storage backend
|
|
814
|
+
* @param backendId - Backend ID to download from
|
|
815
|
+
* @param key - Object key (path in the bucket)
|
|
816
|
+
* @returns Downloaded data as Uint8Array
|
|
817
|
+
*/
|
|
818
|
+
async download(backendId, key) {
|
|
819
|
+
const base64 = await this.client.request(
|
|
820
|
+
HAEXTENSION_METHODS.remoteStorage.download,
|
|
821
|
+
{ backendId, key }
|
|
822
|
+
);
|
|
823
|
+
const binary = atob(base64);
|
|
824
|
+
const bytes = new Uint8Array(binary.length);
|
|
825
|
+
for (let i = 0; i < binary.length; i++) {
|
|
826
|
+
bytes[i] = binary.charCodeAt(i);
|
|
827
|
+
}
|
|
828
|
+
return bytes;
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* Delete an object from a storage backend
|
|
832
|
+
* @param backendId - Backend ID
|
|
833
|
+
* @param key - Object key to delete
|
|
834
|
+
*/
|
|
835
|
+
async delete(backendId, key) {
|
|
836
|
+
await this.client.request(HAEXTENSION_METHODS.remoteStorage.delete, {
|
|
837
|
+
backendId,
|
|
838
|
+
key
|
|
839
|
+
});
|
|
840
|
+
}
|
|
841
|
+
/**
|
|
842
|
+
* List objects in a storage backend
|
|
843
|
+
* @param backendId - Backend ID
|
|
844
|
+
* @param prefix - Optional prefix to filter objects
|
|
845
|
+
* @returns List of objects
|
|
846
|
+
*/
|
|
847
|
+
async list(backendId, prefix) {
|
|
848
|
+
return this.client.request(
|
|
849
|
+
HAEXTENSION_METHODS.remoteStorage.list,
|
|
850
|
+
{ backendId, prefix }
|
|
851
|
+
);
|
|
852
|
+
}
|
|
853
|
+
};
|
|
854
|
+
var BackendManagement = class {
|
|
855
|
+
constructor(client) {
|
|
856
|
+
this.client = client;
|
|
857
|
+
}
|
|
858
|
+
/**
|
|
859
|
+
* List all available storage backends
|
|
860
|
+
*/
|
|
861
|
+
async list() {
|
|
862
|
+
return this.client.request(
|
|
863
|
+
HAEXTENSION_METHODS.remoteStorage.listBackends
|
|
864
|
+
);
|
|
865
|
+
}
|
|
866
|
+
/**
|
|
867
|
+
* Add a new storage backend
|
|
868
|
+
* @param request - Backend configuration
|
|
869
|
+
* @returns Created backend info
|
|
870
|
+
*/
|
|
871
|
+
async add(request) {
|
|
872
|
+
return this.client.request(
|
|
873
|
+
HAEXTENSION_METHODS.remoteStorage.addBackend,
|
|
874
|
+
request
|
|
875
|
+
);
|
|
876
|
+
}
|
|
877
|
+
/**
|
|
878
|
+
* Remove a storage backend
|
|
879
|
+
* @param backendId - Backend ID to remove
|
|
880
|
+
*/
|
|
881
|
+
async remove(backendId) {
|
|
882
|
+
await this.client.request(HAEXTENSION_METHODS.remoteStorage.removeBackend, {
|
|
883
|
+
backendId
|
|
884
|
+
});
|
|
885
|
+
}
|
|
886
|
+
/**
|
|
887
|
+
* Test connection to a storage backend
|
|
888
|
+
* @param backendId - Backend ID to test
|
|
889
|
+
*/
|
|
890
|
+
async test(backendId) {
|
|
891
|
+
await this.client.request(HAEXTENSION_METHODS.remoteStorage.testBackend, {
|
|
892
|
+
backendId
|
|
893
|
+
});
|
|
894
|
+
}
|
|
895
|
+
};
|
|
896
|
+
|
|
686
897
|
// src/messages.ts
|
|
687
898
|
var HAEXSPACE_MESSAGE_TYPES = {
|
|
688
899
|
/** Debug message for development/troubleshooting */
|
|
@@ -1012,7 +1223,18 @@ var TAURI_COMMANDS = {
|
|
|
1012
1223
|
resolveConflict: "webview_filesync_resolve_conflict",
|
|
1013
1224
|
// UI Helpers (selectFolder doesn't need extension info)
|
|
1014
1225
|
selectFolder: "filesync_select_folder",
|
|
1015
|
-
scanLocal: "webview_filesync_scan_local"
|
|
1226
|
+
scanLocal: "webview_filesync_scan_local",
|
|
1227
|
+
// Sync Queue
|
|
1228
|
+
addToQueue: "webview_filesync_add_to_queue",
|
|
1229
|
+
getQueue: "webview_filesync_get_queue",
|
|
1230
|
+
getQueueSummary: "webview_filesync_get_queue_summary",
|
|
1231
|
+
startQueueEntry: "webview_filesync_start_queue_entry",
|
|
1232
|
+
completeQueueEntry: "webview_filesync_complete_queue_entry",
|
|
1233
|
+
failQueueEntry: "webview_filesync_fail_queue_entry",
|
|
1234
|
+
retryFailedQueue: "webview_filesync_retry_failed_queue",
|
|
1235
|
+
removeQueueEntry: "webview_filesync_remove_queue_entry",
|
|
1236
|
+
clearQueue: "webview_filesync_clear_queue",
|
|
1237
|
+
recoverQueue: "webview_filesync_recover_queue"
|
|
1016
1238
|
}
|
|
1017
1239
|
};
|
|
1018
1240
|
|
|
@@ -1128,115 +1350,158 @@ var filesyncHandlers = {
|
|
|
1128
1350
|
// ==========================================================================
|
|
1129
1351
|
// Spaces
|
|
1130
1352
|
// ==========================================================================
|
|
1131
|
-
[HAEXTENSION_METHODS.
|
|
1353
|
+
[HAEXTENSION_METHODS.filesync.listSpaces]: {
|
|
1132
1354
|
command: TAURI_COMMANDS.filesync.listSpaces,
|
|
1133
1355
|
args: () => ({})
|
|
1134
1356
|
},
|
|
1135
|
-
[HAEXTENSION_METHODS.
|
|
1357
|
+
[HAEXTENSION_METHODS.filesync.createSpace]: {
|
|
1136
1358
|
command: TAURI_COMMANDS.filesync.createSpace,
|
|
1137
1359
|
args: (p) => ({ request: p })
|
|
1138
1360
|
},
|
|
1139
|
-
[HAEXTENSION_METHODS.
|
|
1361
|
+
[HAEXTENSION_METHODS.filesync.deleteSpace]: {
|
|
1140
1362
|
command: TAURI_COMMANDS.filesync.deleteSpace,
|
|
1141
1363
|
args: (p) => ({ spaceId: p.spaceId })
|
|
1142
1364
|
},
|
|
1143
1365
|
// ==========================================================================
|
|
1144
1366
|
// Files
|
|
1145
1367
|
// ==========================================================================
|
|
1146
|
-
[HAEXTENSION_METHODS.
|
|
1368
|
+
[HAEXTENSION_METHODS.filesync.listFiles]: {
|
|
1147
1369
|
command: TAURI_COMMANDS.filesync.listFiles,
|
|
1148
1370
|
args: (p) => ({ request: p })
|
|
1149
1371
|
},
|
|
1150
|
-
[HAEXTENSION_METHODS.
|
|
1372
|
+
[HAEXTENSION_METHODS.filesync.getFile]: {
|
|
1151
1373
|
command: TAURI_COMMANDS.filesync.getFile,
|
|
1152
1374
|
args: (p) => ({ fileId: p.fileId })
|
|
1153
1375
|
},
|
|
1154
|
-
[HAEXTENSION_METHODS.
|
|
1376
|
+
[HAEXTENSION_METHODS.filesync.uploadFile]: {
|
|
1155
1377
|
command: TAURI_COMMANDS.filesync.uploadFile,
|
|
1156
1378
|
args: (p) => ({ request: p })
|
|
1157
1379
|
},
|
|
1158
|
-
[HAEXTENSION_METHODS.
|
|
1380
|
+
[HAEXTENSION_METHODS.filesync.downloadFile]: {
|
|
1159
1381
|
command: TAURI_COMMANDS.filesync.downloadFile,
|
|
1160
1382
|
args: (p) => ({ request: p })
|
|
1161
1383
|
},
|
|
1162
|
-
[HAEXTENSION_METHODS.
|
|
1384
|
+
[HAEXTENSION_METHODS.filesync.deleteFile]: {
|
|
1163
1385
|
command: TAURI_COMMANDS.filesync.deleteFile,
|
|
1164
1386
|
args: (p) => ({ fileId: p.fileId })
|
|
1165
1387
|
},
|
|
1166
1388
|
// ==========================================================================
|
|
1167
1389
|
// Backends
|
|
1168
1390
|
// ==========================================================================
|
|
1169
|
-
[HAEXTENSION_METHODS.
|
|
1391
|
+
[HAEXTENSION_METHODS.filesync.listBackends]: {
|
|
1170
1392
|
command: TAURI_COMMANDS.filesync.listBackends,
|
|
1171
1393
|
args: () => ({})
|
|
1172
1394
|
},
|
|
1173
|
-
[HAEXTENSION_METHODS.
|
|
1395
|
+
[HAEXTENSION_METHODS.filesync.addBackend]: {
|
|
1174
1396
|
command: TAURI_COMMANDS.filesync.addBackend,
|
|
1175
1397
|
args: (p) => ({ request: p })
|
|
1176
1398
|
},
|
|
1177
|
-
[HAEXTENSION_METHODS.
|
|
1399
|
+
[HAEXTENSION_METHODS.filesync.removeBackend]: {
|
|
1178
1400
|
command: TAURI_COMMANDS.filesync.removeBackend,
|
|
1179
1401
|
args: (p) => ({ backendId: p.backendId })
|
|
1180
1402
|
},
|
|
1181
|
-
[HAEXTENSION_METHODS.
|
|
1403
|
+
[HAEXTENSION_METHODS.filesync.testBackend]: {
|
|
1182
1404
|
command: TAURI_COMMANDS.filesync.testBackend,
|
|
1183
1405
|
args: (p) => ({ backendId: p.backendId })
|
|
1184
1406
|
},
|
|
1185
1407
|
// ==========================================================================
|
|
1186
1408
|
// Sync Rules
|
|
1187
1409
|
// ==========================================================================
|
|
1188
|
-
[HAEXTENSION_METHODS.
|
|
1410
|
+
[HAEXTENSION_METHODS.filesync.listSyncRules]: {
|
|
1189
1411
|
command: TAURI_COMMANDS.filesync.listSyncRules,
|
|
1190
1412
|
args: () => ({})
|
|
1191
1413
|
},
|
|
1192
|
-
[HAEXTENSION_METHODS.
|
|
1414
|
+
[HAEXTENSION_METHODS.filesync.addSyncRule]: {
|
|
1193
1415
|
command: TAURI_COMMANDS.filesync.addSyncRule,
|
|
1194
1416
|
args: (p) => ({ request: p })
|
|
1195
1417
|
},
|
|
1196
|
-
[HAEXTENSION_METHODS.
|
|
1418
|
+
[HAEXTENSION_METHODS.filesync.updateSyncRule]: {
|
|
1197
1419
|
command: TAURI_COMMANDS.filesync.updateSyncRule,
|
|
1198
1420
|
args: (p) => ({ request: p })
|
|
1199
1421
|
},
|
|
1200
|
-
[HAEXTENSION_METHODS.
|
|
1422
|
+
[HAEXTENSION_METHODS.filesync.removeSyncRule]: {
|
|
1201
1423
|
command: TAURI_COMMANDS.filesync.removeSyncRule,
|
|
1202
1424
|
args: (p) => ({ ruleId: p.ruleId })
|
|
1203
1425
|
},
|
|
1204
1426
|
// ==========================================================================
|
|
1205
1427
|
// Sync Operations
|
|
1206
1428
|
// ==========================================================================
|
|
1207
|
-
[HAEXTENSION_METHODS.
|
|
1429
|
+
[HAEXTENSION_METHODS.filesync.getSyncStatus]: {
|
|
1208
1430
|
command: TAURI_COMMANDS.filesync.getSyncStatus,
|
|
1209
1431
|
args: () => ({})
|
|
1210
1432
|
},
|
|
1211
|
-
[HAEXTENSION_METHODS.
|
|
1433
|
+
[HAEXTENSION_METHODS.filesync.triggerSync]: {
|
|
1212
1434
|
command: TAURI_COMMANDS.filesync.triggerSync,
|
|
1213
1435
|
args: () => ({})
|
|
1214
1436
|
},
|
|
1215
|
-
[HAEXTENSION_METHODS.
|
|
1437
|
+
[HAEXTENSION_METHODS.filesync.pauseSync]: {
|
|
1216
1438
|
command: TAURI_COMMANDS.filesync.pauseSync,
|
|
1217
1439
|
args: () => ({})
|
|
1218
1440
|
},
|
|
1219
|
-
[HAEXTENSION_METHODS.
|
|
1441
|
+
[HAEXTENSION_METHODS.filesync.resumeSync]: {
|
|
1220
1442
|
command: TAURI_COMMANDS.filesync.resumeSync,
|
|
1221
1443
|
args: () => ({})
|
|
1222
1444
|
},
|
|
1223
1445
|
// ==========================================================================
|
|
1224
1446
|
// Conflict Resolution
|
|
1225
1447
|
// ==========================================================================
|
|
1226
|
-
[HAEXTENSION_METHODS.
|
|
1448
|
+
[HAEXTENSION_METHODS.filesync.resolveConflict]: {
|
|
1227
1449
|
command: TAURI_COMMANDS.filesync.resolveConflict,
|
|
1228
1450
|
args: (p) => ({ request: p })
|
|
1229
1451
|
},
|
|
1230
1452
|
// ==========================================================================
|
|
1231
1453
|
// UI Helpers
|
|
1232
1454
|
// ==========================================================================
|
|
1233
|
-
[HAEXTENSION_METHODS.
|
|
1455
|
+
[HAEXTENSION_METHODS.filesync.selectFolder]: {
|
|
1234
1456
|
command: TAURI_COMMANDS.filesync.selectFolder,
|
|
1235
1457
|
args: () => ({})
|
|
1236
1458
|
},
|
|
1237
|
-
[HAEXTENSION_METHODS.
|
|
1459
|
+
[HAEXTENSION_METHODS.filesync.scanLocal]: {
|
|
1238
1460
|
command: TAURI_COMMANDS.filesync.scanLocal,
|
|
1239
1461
|
args: (p) => ({ request: p })
|
|
1462
|
+
},
|
|
1463
|
+
// ==========================================================================
|
|
1464
|
+
// Sync Queue
|
|
1465
|
+
// ==========================================================================
|
|
1466
|
+
[HAEXTENSION_METHODS.filesync.addToQueue]: {
|
|
1467
|
+
command: TAURI_COMMANDS.filesync.addToQueue,
|
|
1468
|
+
args: (p) => ({ request: p })
|
|
1469
|
+
},
|
|
1470
|
+
[HAEXTENSION_METHODS.filesync.getQueue]: {
|
|
1471
|
+
command: TAURI_COMMANDS.filesync.getQueue,
|
|
1472
|
+
args: (p) => ({ request: p ?? {} })
|
|
1473
|
+
},
|
|
1474
|
+
[HAEXTENSION_METHODS.filesync.getQueueSummary]: {
|
|
1475
|
+
command: TAURI_COMMANDS.filesync.getQueueSummary,
|
|
1476
|
+
args: () => ({})
|
|
1477
|
+
},
|
|
1478
|
+
[HAEXTENSION_METHODS.filesync.startQueueEntry]: {
|
|
1479
|
+
command: TAURI_COMMANDS.filesync.startQueueEntry,
|
|
1480
|
+
args: (p) => ({ entryId: p.entryId })
|
|
1481
|
+
},
|
|
1482
|
+
[HAEXTENSION_METHODS.filesync.completeQueueEntry]: {
|
|
1483
|
+
command: TAURI_COMMANDS.filesync.completeQueueEntry,
|
|
1484
|
+
args: (p) => ({ entryId: p.entryId })
|
|
1485
|
+
},
|
|
1486
|
+
[HAEXTENSION_METHODS.filesync.failQueueEntry]: {
|
|
1487
|
+
command: TAURI_COMMANDS.filesync.failQueueEntry,
|
|
1488
|
+
args: (p) => ({ entryId: p.entryId, errorMessage: p.errorMessage })
|
|
1489
|
+
},
|
|
1490
|
+
[HAEXTENSION_METHODS.filesync.retryFailedQueue]: {
|
|
1491
|
+
command: TAURI_COMMANDS.filesync.retryFailedQueue,
|
|
1492
|
+
args: () => ({})
|
|
1493
|
+
},
|
|
1494
|
+
[HAEXTENSION_METHODS.filesync.removeQueueEntry]: {
|
|
1495
|
+
command: TAURI_COMMANDS.filesync.removeQueueEntry,
|
|
1496
|
+
args: (p) => ({ entryId: p.entryId })
|
|
1497
|
+
},
|
|
1498
|
+
[HAEXTENSION_METHODS.filesync.clearQueue]: {
|
|
1499
|
+
command: TAURI_COMMANDS.filesync.clearQueue,
|
|
1500
|
+
args: (p) => ({ ruleId: p.ruleId })
|
|
1501
|
+
},
|
|
1502
|
+
[HAEXTENSION_METHODS.filesync.recoverQueue]: {
|
|
1503
|
+
command: TAURI_COMMANDS.filesync.recoverQueue,
|
|
1504
|
+
args: () => ({})
|
|
1240
1505
|
}
|
|
1241
1506
|
};
|
|
1242
1507
|
|
|
@@ -1548,6 +1813,7 @@ var HaexVaultSdk = class {
|
|
|
1548
1813
|
this.filesystem = new FilesystemAPI(this);
|
|
1549
1814
|
this.web = new WebAPI(this);
|
|
1550
1815
|
this.permissions = new PermissionsAPI(this);
|
|
1816
|
+
this.remoteStorage = new RemoteStorageAPI(this);
|
|
1551
1817
|
installConsoleForwarding(this.config.debug);
|
|
1552
1818
|
this.readyPromise = new Promise((resolve) => {
|
|
1553
1819
|
this.resolveReady = resolve;
|