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