@haex-space/vault-sdk 2.5.87 → 2.5.90
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-Y1a7Vkgk.d.mts → client-DwGxAKzx.d.mts} +275 -1
- package/dist/{client-DGSamcol.d.ts → client-s83JV-k0.d.ts} +275 -1
- package/dist/index.d.mts +72 -3
- package/dist/index.d.ts +72 -3
- package/dist/index.js +321 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +320 -2
- 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 +317 -0
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +317 -0
- 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 +317 -0
- package/dist/runtime/nuxt.plugin.client.js.map +1 -1
- package/dist/runtime/nuxt.plugin.client.mjs +317 -0
- 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 +317 -0
- package/dist/svelte.js.map +1 -1
- package/dist/svelte.mjs +317 -0
- 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 +317 -0
- package/dist/vue.js.map +1 -1
- package/dist/vue.mjs +317 -0
- package/dist/vue.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -185,6 +185,52 @@ var REMOTE_STORAGE_COMMANDS = {
|
|
|
185
185
|
list: "extension_remote_storage_list"
|
|
186
186
|
};
|
|
187
187
|
|
|
188
|
+
// src/commands/localsend.ts
|
|
189
|
+
var LOCALSEND_COMMANDS = {
|
|
190
|
+
// Initialization
|
|
191
|
+
/** Initialize LocalSend (generate identity, etc.) */
|
|
192
|
+
init: "localsend_init",
|
|
193
|
+
/** Get our device info */
|
|
194
|
+
getDeviceInfo: "localsend_get_device_info",
|
|
195
|
+
/** Set our device alias */
|
|
196
|
+
setAlias: "localsend_set_alias",
|
|
197
|
+
// Settings
|
|
198
|
+
/** Get current settings */
|
|
199
|
+
getSettings: "localsend_get_settings",
|
|
200
|
+
/** Update settings */
|
|
201
|
+
setSettings: "localsend_set_settings",
|
|
202
|
+
// Discovery (desktop only)
|
|
203
|
+
/** Start device discovery via multicast UDP */
|
|
204
|
+
startDiscovery: "localsend_start_discovery",
|
|
205
|
+
/** Stop device discovery */
|
|
206
|
+
stopDiscovery: "localsend_stop_discovery",
|
|
207
|
+
/** Get list of discovered devices */
|
|
208
|
+
getDevices: "localsend_get_devices",
|
|
209
|
+
// Network scan (mobile only)
|
|
210
|
+
/** Scan network for devices via HTTP */
|
|
211
|
+
scanNetwork: "localsend_scan_network",
|
|
212
|
+
// Server (receiving files)
|
|
213
|
+
/** Start the HTTPS server for receiving files */
|
|
214
|
+
startServer: "localsend_start_server",
|
|
215
|
+
/** Stop the HTTPS server */
|
|
216
|
+
stopServer: "localsend_stop_server",
|
|
217
|
+
/** Get server status */
|
|
218
|
+
getServerStatus: "localsend_get_server_status",
|
|
219
|
+
/** Get pending incoming transfer requests */
|
|
220
|
+
getPendingTransfers: "localsend_get_pending_transfers",
|
|
221
|
+
/** Accept an incoming transfer */
|
|
222
|
+
acceptTransfer: "localsend_accept_transfer",
|
|
223
|
+
/** Reject an incoming transfer */
|
|
224
|
+
rejectTransfer: "localsend_reject_transfer",
|
|
225
|
+
// Client (sending files)
|
|
226
|
+
/** Prepare files for sending - collect metadata */
|
|
227
|
+
prepareFiles: "localsend_prepare_files",
|
|
228
|
+
/** Send files to a device */
|
|
229
|
+
sendFiles: "localsend_send_files",
|
|
230
|
+
/** Cancel an outgoing transfer */
|
|
231
|
+
cancelSend: "localsend_cancel_send"
|
|
232
|
+
};
|
|
233
|
+
|
|
188
234
|
// src/api/storage.ts
|
|
189
235
|
var StorageAPI = class {
|
|
190
236
|
constructor(client) {
|
|
@@ -822,6 +868,177 @@ var BackendManagement = class {
|
|
|
822
868
|
}
|
|
823
869
|
};
|
|
824
870
|
|
|
871
|
+
// src/api/localsend.ts
|
|
872
|
+
var LOCALSEND_EVENTS = {
|
|
873
|
+
/** New device discovered */
|
|
874
|
+
deviceDiscovered: "localsend:device-discovered",
|
|
875
|
+
/** Device lost (no longer visible) */
|
|
876
|
+
deviceLost: "localsend:device-lost",
|
|
877
|
+
/** New incoming transfer request */
|
|
878
|
+
transferRequest: "localsend:transfer-request",
|
|
879
|
+
/** Transfer progress update */
|
|
880
|
+
transferProgress: "localsend:transfer-progress",
|
|
881
|
+
/** Transfer completed */
|
|
882
|
+
transferComplete: "localsend:transfer-complete",
|
|
883
|
+
/** Transfer failed */
|
|
884
|
+
transferFailed: "localsend:transfer-failed"
|
|
885
|
+
};
|
|
886
|
+
var LocalSendAPI = class {
|
|
887
|
+
constructor(client) {
|
|
888
|
+
this.client = client;
|
|
889
|
+
}
|
|
890
|
+
// ==========================================================================
|
|
891
|
+
// Initialization
|
|
892
|
+
// ==========================================================================
|
|
893
|
+
/**
|
|
894
|
+
* Initialize LocalSend (generate identity, etc.)
|
|
895
|
+
* Call this on app start
|
|
896
|
+
* @returns Our device info
|
|
897
|
+
*/
|
|
898
|
+
async init() {
|
|
899
|
+
return this.client.request(LOCALSEND_COMMANDS.init, {});
|
|
900
|
+
}
|
|
901
|
+
/**
|
|
902
|
+
* Get our device info
|
|
903
|
+
* @returns Our device info
|
|
904
|
+
*/
|
|
905
|
+
async getDeviceInfo() {
|
|
906
|
+
return this.client.request(LOCALSEND_COMMANDS.getDeviceInfo, {});
|
|
907
|
+
}
|
|
908
|
+
/**
|
|
909
|
+
* Set our device alias (display name)
|
|
910
|
+
* @param alias New alias
|
|
911
|
+
*/
|
|
912
|
+
async setAlias(alias) {
|
|
913
|
+
await this.client.request(LOCALSEND_COMMANDS.setAlias, { alias });
|
|
914
|
+
}
|
|
915
|
+
// ==========================================================================
|
|
916
|
+
// Settings
|
|
917
|
+
// ==========================================================================
|
|
918
|
+
/**
|
|
919
|
+
* Get current LocalSend settings
|
|
920
|
+
* @returns Settings
|
|
921
|
+
*/
|
|
922
|
+
async getSettings() {
|
|
923
|
+
return this.client.request(LOCALSEND_COMMANDS.getSettings, {});
|
|
924
|
+
}
|
|
925
|
+
/**
|
|
926
|
+
* Update LocalSend settings
|
|
927
|
+
* @param settings New settings
|
|
928
|
+
*/
|
|
929
|
+
async setSettings(settings) {
|
|
930
|
+
await this.client.request(LOCALSEND_COMMANDS.setSettings, { settings });
|
|
931
|
+
}
|
|
932
|
+
// ==========================================================================
|
|
933
|
+
// Discovery (Desktop only - multicast UDP)
|
|
934
|
+
// ==========================================================================
|
|
935
|
+
/**
|
|
936
|
+
* Start device discovery via multicast UDP
|
|
937
|
+
* Desktop only - on mobile use scanNetwork()
|
|
938
|
+
*/
|
|
939
|
+
async startDiscovery() {
|
|
940
|
+
await this.client.request(LOCALSEND_COMMANDS.startDiscovery, {});
|
|
941
|
+
}
|
|
942
|
+
/**
|
|
943
|
+
* Stop device discovery
|
|
944
|
+
* Desktop only
|
|
945
|
+
*/
|
|
946
|
+
async stopDiscovery() {
|
|
947
|
+
await this.client.request(LOCALSEND_COMMANDS.stopDiscovery, {});
|
|
948
|
+
}
|
|
949
|
+
/**
|
|
950
|
+
* Get list of discovered devices
|
|
951
|
+
* @returns Array of discovered devices
|
|
952
|
+
*/
|
|
953
|
+
async getDevices() {
|
|
954
|
+
return this.client.request(LOCALSEND_COMMANDS.getDevices, {});
|
|
955
|
+
}
|
|
956
|
+
// ==========================================================================
|
|
957
|
+
// Network Scan (Mobile only - HTTP)
|
|
958
|
+
// ==========================================================================
|
|
959
|
+
/**
|
|
960
|
+
* Scan network for devices via HTTP
|
|
961
|
+
* Mobile only - on desktop use startDiscovery()
|
|
962
|
+
* @returns Array of discovered devices
|
|
963
|
+
*/
|
|
964
|
+
async scanNetwork() {
|
|
965
|
+
return this.client.request(LOCALSEND_COMMANDS.scanNetwork, {});
|
|
966
|
+
}
|
|
967
|
+
// ==========================================================================
|
|
968
|
+
// Server (Receiving files)
|
|
969
|
+
// ==========================================================================
|
|
970
|
+
/**
|
|
971
|
+
* Start the HTTPS server for receiving files
|
|
972
|
+
* @param port Optional port to listen on (default: 53317)
|
|
973
|
+
* @returns Server info with port, fingerprint, and addresses
|
|
974
|
+
*/
|
|
975
|
+
async startServer(port) {
|
|
976
|
+
return this.client.request(LOCALSEND_COMMANDS.startServer, { port });
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* Stop the HTTPS server
|
|
980
|
+
*/
|
|
981
|
+
async stopServer() {
|
|
982
|
+
await this.client.request(LOCALSEND_COMMANDS.stopServer, {});
|
|
983
|
+
}
|
|
984
|
+
/**
|
|
985
|
+
* Get server status
|
|
986
|
+
* @returns Server status
|
|
987
|
+
*/
|
|
988
|
+
async getServerStatus() {
|
|
989
|
+
return this.client.request(LOCALSEND_COMMANDS.getServerStatus, {});
|
|
990
|
+
}
|
|
991
|
+
/**
|
|
992
|
+
* Get pending incoming transfer requests
|
|
993
|
+
* @returns Array of pending transfers
|
|
994
|
+
*/
|
|
995
|
+
async getPendingTransfers() {
|
|
996
|
+
return this.client.request(LOCALSEND_COMMANDS.getPendingTransfers, {});
|
|
997
|
+
}
|
|
998
|
+
/**
|
|
999
|
+
* Accept an incoming transfer
|
|
1000
|
+
* @param sessionId Session ID of the transfer
|
|
1001
|
+
* @param saveDir Directory to save files to
|
|
1002
|
+
*/
|
|
1003
|
+
async acceptTransfer(sessionId, saveDir) {
|
|
1004
|
+
await this.client.request(LOCALSEND_COMMANDS.acceptTransfer, { sessionId, saveDir });
|
|
1005
|
+
}
|
|
1006
|
+
/**
|
|
1007
|
+
* Reject an incoming transfer
|
|
1008
|
+
* @param sessionId Session ID of the transfer
|
|
1009
|
+
*/
|
|
1010
|
+
async rejectTransfer(sessionId) {
|
|
1011
|
+
await this.client.request(LOCALSEND_COMMANDS.rejectTransfer, { sessionId });
|
|
1012
|
+
}
|
|
1013
|
+
// ==========================================================================
|
|
1014
|
+
// Client (Sending files)
|
|
1015
|
+
// ==========================================================================
|
|
1016
|
+
/**
|
|
1017
|
+
* Prepare files for sending - collect metadata
|
|
1018
|
+
* @param paths Array of file/folder paths to send
|
|
1019
|
+
* @returns Array of file info with metadata
|
|
1020
|
+
*/
|
|
1021
|
+
async prepareFiles(paths) {
|
|
1022
|
+
return this.client.request(LOCALSEND_COMMANDS.prepareFiles, { paths });
|
|
1023
|
+
}
|
|
1024
|
+
/**
|
|
1025
|
+
* Send files to a device
|
|
1026
|
+
* @param device Target device
|
|
1027
|
+
* @param files Files to send (from prepareFiles)
|
|
1028
|
+
* @returns Session ID for tracking progress
|
|
1029
|
+
*/
|
|
1030
|
+
async sendFiles(device, files) {
|
|
1031
|
+
return this.client.request(LOCALSEND_COMMANDS.sendFiles, { device, files });
|
|
1032
|
+
}
|
|
1033
|
+
/**
|
|
1034
|
+
* Cancel an outgoing transfer
|
|
1035
|
+
* @param sessionId Session ID of the transfer
|
|
1036
|
+
*/
|
|
1037
|
+
async cancelSend(sessionId) {
|
|
1038
|
+
await this.client.request(LOCALSEND_COMMANDS.cancelSend, { sessionId });
|
|
1039
|
+
}
|
|
1040
|
+
};
|
|
1041
|
+
|
|
825
1042
|
// src/messages.ts
|
|
826
1043
|
var HAEXSPACE_MESSAGE_TYPES = {
|
|
827
1044
|
/** Debug message for development/troubleshooting */
|
|
@@ -1094,6 +1311,105 @@ async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
|
|
|
1094
1311
|
console.error("[HaexVault SDK] Failed to setup sync tables updated listener:", error);
|
|
1095
1312
|
log("Failed to setup sync tables updated listener:", error);
|
|
1096
1313
|
}
|
|
1314
|
+
await setupLocalSendEventListeners(log, onEvent);
|
|
1315
|
+
}
|
|
1316
|
+
async function setupLocalSendEventListeners(log, onEvent) {
|
|
1317
|
+
const { listen } = getTauriEvent();
|
|
1318
|
+
try {
|
|
1319
|
+
await listen(LOCALSEND_EVENTS.deviceDiscovered, (event) => {
|
|
1320
|
+
console.log("[HaexVault SDK] LocalSend device discovered:", event.payload);
|
|
1321
|
+
log("Received LocalSend device discovered event:", event);
|
|
1322
|
+
if (event.payload) {
|
|
1323
|
+
onEvent({
|
|
1324
|
+
type: LOCALSEND_EVENTS.deviceDiscovered,
|
|
1325
|
+
data: event.payload,
|
|
1326
|
+
timestamp: Date.now()
|
|
1327
|
+
});
|
|
1328
|
+
}
|
|
1329
|
+
});
|
|
1330
|
+
console.log("[HaexVault SDK] LocalSend device discovered listener registered");
|
|
1331
|
+
} catch (error) {
|
|
1332
|
+
console.error("[HaexVault SDK] Failed to setup LocalSend device discovered listener:", error);
|
|
1333
|
+
}
|
|
1334
|
+
try {
|
|
1335
|
+
await listen(LOCALSEND_EVENTS.deviceLost, (event) => {
|
|
1336
|
+
console.log("[HaexVault SDK] LocalSend device lost:", event.payload);
|
|
1337
|
+
log("Received LocalSend device lost event:", event);
|
|
1338
|
+
if (event.payload) {
|
|
1339
|
+
onEvent({
|
|
1340
|
+
type: LOCALSEND_EVENTS.deviceLost,
|
|
1341
|
+
data: event.payload,
|
|
1342
|
+
timestamp: Date.now()
|
|
1343
|
+
});
|
|
1344
|
+
}
|
|
1345
|
+
});
|
|
1346
|
+
console.log("[HaexVault SDK] LocalSend device lost listener registered");
|
|
1347
|
+
} catch (error) {
|
|
1348
|
+
console.error("[HaexVault SDK] Failed to setup LocalSend device lost listener:", error);
|
|
1349
|
+
}
|
|
1350
|
+
try {
|
|
1351
|
+
await listen(LOCALSEND_EVENTS.transferRequest, (event) => {
|
|
1352
|
+
console.log("[HaexVault SDK] LocalSend transfer request:", event.payload);
|
|
1353
|
+
log("Received LocalSend transfer request event:", event);
|
|
1354
|
+
if (event.payload) {
|
|
1355
|
+
onEvent({
|
|
1356
|
+
type: LOCALSEND_EVENTS.transferRequest,
|
|
1357
|
+
data: event.payload,
|
|
1358
|
+
timestamp: Date.now()
|
|
1359
|
+
});
|
|
1360
|
+
}
|
|
1361
|
+
});
|
|
1362
|
+
console.log("[HaexVault SDK] LocalSend transfer request listener registered");
|
|
1363
|
+
} catch (error) {
|
|
1364
|
+
console.error("[HaexVault SDK] Failed to setup LocalSend transfer request listener:", error);
|
|
1365
|
+
}
|
|
1366
|
+
try {
|
|
1367
|
+
await listen(LOCALSEND_EVENTS.transferProgress, (event) => {
|
|
1368
|
+
log("Received LocalSend transfer progress event:", event);
|
|
1369
|
+
if (event.payload) {
|
|
1370
|
+
onEvent({
|
|
1371
|
+
type: LOCALSEND_EVENTS.transferProgress,
|
|
1372
|
+
data: event.payload,
|
|
1373
|
+
timestamp: Date.now()
|
|
1374
|
+
});
|
|
1375
|
+
}
|
|
1376
|
+
});
|
|
1377
|
+
console.log("[HaexVault SDK] LocalSend transfer progress listener registered");
|
|
1378
|
+
} catch (error) {
|
|
1379
|
+
console.error("[HaexVault SDK] Failed to setup LocalSend transfer progress listener:", error);
|
|
1380
|
+
}
|
|
1381
|
+
try {
|
|
1382
|
+
await listen(LOCALSEND_EVENTS.transferComplete, (event) => {
|
|
1383
|
+
console.log("[HaexVault SDK] LocalSend transfer complete:", event.payload);
|
|
1384
|
+
log("Received LocalSend transfer complete event:", event);
|
|
1385
|
+
if (event.payload) {
|
|
1386
|
+
onEvent({
|
|
1387
|
+
type: LOCALSEND_EVENTS.transferComplete,
|
|
1388
|
+
data: event.payload,
|
|
1389
|
+
timestamp: Date.now()
|
|
1390
|
+
});
|
|
1391
|
+
}
|
|
1392
|
+
});
|
|
1393
|
+
console.log("[HaexVault SDK] LocalSend transfer complete listener registered");
|
|
1394
|
+
} catch (error) {
|
|
1395
|
+
console.error("[HaexVault SDK] Failed to setup LocalSend transfer complete listener:", error);
|
|
1396
|
+
}
|
|
1397
|
+
try {
|
|
1398
|
+
await listen(LOCALSEND_EVENTS.transferFailed, (event) => {
|
|
1399
|
+
console.log("[HaexVault SDK] LocalSend transfer failed:", event.payload);
|
|
1400
|
+
log("Received LocalSend transfer failed event:", event);
|
|
1401
|
+
if (event.payload) {
|
|
1402
|
+
onEvent({
|
|
1403
|
+
type: LOCALSEND_EVENTS.transferFailed,
|
|
1404
|
+
data: event.payload,
|
|
1405
|
+
timestamp: Date.now()
|
|
1406
|
+
});
|
|
1407
|
+
}
|
|
1408
|
+
});
|
|
1409
|
+
console.log("[HaexVault SDK] LocalSend transfer failed listener registered");
|
|
1410
|
+
} catch (error) {
|
|
1411
|
+
console.error("[HaexVault SDK] Failed to setup LocalSend transfer failed listener:", error);
|
|
1412
|
+
}
|
|
1097
1413
|
}
|
|
1098
1414
|
async function initIframeMode(ctx, log, messageHandler, request) {
|
|
1099
1415
|
if (!isInIframe()) {
|
|
@@ -1427,6 +1743,7 @@ var HaexVaultSdk = class {
|
|
|
1427
1743
|
this.web = new WebAPI(this);
|
|
1428
1744
|
this.permissions = new PermissionsAPI(this);
|
|
1429
1745
|
this.remoteStorage = new RemoteStorageAPI(this);
|
|
1746
|
+
this.localsend = new LocalSendAPI(this);
|
|
1430
1747
|
installConsoleForwarding(this.config.debug);
|
|
1431
1748
|
this.readyPromise = new Promise((resolve) => {
|
|
1432
1749
|
this.resolveReady = resolve;
|