@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
|
@@ -483,6 +483,279 @@ declare class BackendManagement {
|
|
|
483
483
|
test(backendId: string): Promise<void>;
|
|
484
484
|
}
|
|
485
485
|
|
|
486
|
+
/**
|
|
487
|
+
* Device type classification (for UI icons)
|
|
488
|
+
*/
|
|
489
|
+
type DeviceType = "mobile" | "desktop" | "web" | "headless" | "server";
|
|
490
|
+
/**
|
|
491
|
+
* Our device information
|
|
492
|
+
*/
|
|
493
|
+
interface DeviceInfo {
|
|
494
|
+
/** Human-readable device name */
|
|
495
|
+
alias: string;
|
|
496
|
+
/** Protocol version */
|
|
497
|
+
version: string;
|
|
498
|
+
/** Device model (e.g., "Linux", "MacBook Pro") */
|
|
499
|
+
deviceModel: string | null;
|
|
500
|
+
/** Device type for UI */
|
|
501
|
+
deviceType: DeviceType;
|
|
502
|
+
/** SHA-256 fingerprint of our TLS certificate */
|
|
503
|
+
fingerprint: string;
|
|
504
|
+
/** Port we're listening on */
|
|
505
|
+
port: number;
|
|
506
|
+
/** Protocol (http or https) */
|
|
507
|
+
protocol: string;
|
|
508
|
+
/** Whether we support download mode (browser mode) */
|
|
509
|
+
download: boolean;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* A discovered remote device
|
|
513
|
+
*/
|
|
514
|
+
interface Device {
|
|
515
|
+
/** Human-readable device name */
|
|
516
|
+
alias: string;
|
|
517
|
+
/** Protocol version */
|
|
518
|
+
version: string;
|
|
519
|
+
/** Device model */
|
|
520
|
+
deviceModel: string | null;
|
|
521
|
+
/** Device type for UI */
|
|
522
|
+
deviceType: DeviceType;
|
|
523
|
+
/** SHA-256 fingerprint of device's TLS certificate */
|
|
524
|
+
fingerprint: string;
|
|
525
|
+
/** IP address */
|
|
526
|
+
address: string;
|
|
527
|
+
/** Port */
|
|
528
|
+
port: number;
|
|
529
|
+
/** Protocol (http or https) */
|
|
530
|
+
protocol: string;
|
|
531
|
+
/** Whether device supports download mode */
|
|
532
|
+
download: boolean;
|
|
533
|
+
/** Last seen timestamp (Unix millis) */
|
|
534
|
+
lastSeen: number;
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* File metadata for transfer
|
|
538
|
+
*/
|
|
539
|
+
interface FileInfo {
|
|
540
|
+
/** Unique file ID within the transfer */
|
|
541
|
+
id: string;
|
|
542
|
+
/** File name */
|
|
543
|
+
fileName: string;
|
|
544
|
+
/** File size in bytes */
|
|
545
|
+
size: number;
|
|
546
|
+
/** MIME type */
|
|
547
|
+
fileType: string;
|
|
548
|
+
/** SHA-256 hash (optional, for verification) */
|
|
549
|
+
sha256: string | null;
|
|
550
|
+
/** Base64 preview thumbnail (optional) */
|
|
551
|
+
preview: string | null;
|
|
552
|
+
/** Relative path for folders (e.g., "folder/subfolder/file.txt") */
|
|
553
|
+
relativePath: string | null;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Server info returned when starting
|
|
557
|
+
*/
|
|
558
|
+
interface ServerInfo {
|
|
559
|
+
/** Port server is listening on */
|
|
560
|
+
port: number;
|
|
561
|
+
/** Our fingerprint */
|
|
562
|
+
fingerprint: string;
|
|
563
|
+
/** Local IP addresses */
|
|
564
|
+
addresses: string[];
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Server status information
|
|
568
|
+
*/
|
|
569
|
+
interface ServerStatus {
|
|
570
|
+
/** Whether server is running */
|
|
571
|
+
running: boolean;
|
|
572
|
+
/** Port server is listening on */
|
|
573
|
+
port: number | null;
|
|
574
|
+
/** Our fingerprint */
|
|
575
|
+
fingerprint: string | null;
|
|
576
|
+
/** Local IP addresses */
|
|
577
|
+
addresses: string[];
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* LocalSend settings
|
|
581
|
+
*/
|
|
582
|
+
interface LocalSendSettings {
|
|
583
|
+
/** Device alias */
|
|
584
|
+
alias: string;
|
|
585
|
+
/** Port to use */
|
|
586
|
+
port: number;
|
|
587
|
+
/** Auto-accept transfers from known devices */
|
|
588
|
+
autoAccept: boolean;
|
|
589
|
+
/** Default save directory */
|
|
590
|
+
saveDirectory: string | null;
|
|
591
|
+
/** Require PIN for incoming transfers */
|
|
592
|
+
requirePin: boolean;
|
|
593
|
+
/** PIN (if requirePin is true) */
|
|
594
|
+
pin: string | null;
|
|
595
|
+
/** Show notification on incoming transfer */
|
|
596
|
+
showNotifications: boolean;
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Pending transfer request (for UI)
|
|
600
|
+
*/
|
|
601
|
+
interface PendingTransfer {
|
|
602
|
+
/** Session ID */
|
|
603
|
+
sessionId: string;
|
|
604
|
+
/** Sender device info */
|
|
605
|
+
sender: Device;
|
|
606
|
+
/** Files to be received */
|
|
607
|
+
files: FileInfo[];
|
|
608
|
+
/** Total size in bytes */
|
|
609
|
+
totalSize: number;
|
|
610
|
+
/** Whether PIN is required */
|
|
611
|
+
pinRequired: boolean;
|
|
612
|
+
/** Created timestamp (Unix millis) */
|
|
613
|
+
createdAt: number;
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Transfer progress update (for events)
|
|
617
|
+
*/
|
|
618
|
+
interface TransferProgress {
|
|
619
|
+
/** Session ID */
|
|
620
|
+
sessionId: string;
|
|
621
|
+
/** File ID */
|
|
622
|
+
fileId: string;
|
|
623
|
+
/** File name */
|
|
624
|
+
fileName: string;
|
|
625
|
+
/** Bytes transferred */
|
|
626
|
+
bytesTransferred: number;
|
|
627
|
+
/** Total bytes */
|
|
628
|
+
totalBytes: number;
|
|
629
|
+
/** Transfer speed in bytes/sec */
|
|
630
|
+
speed: number;
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* Transfer session state
|
|
634
|
+
*/
|
|
635
|
+
type TransferState = "pending" | "inprogress" | "completed" | "rejected" | "cancelled" | "failed";
|
|
636
|
+
/**
|
|
637
|
+
* Transfer direction
|
|
638
|
+
*/
|
|
639
|
+
type TransferDirection = "incoming" | "outgoing";
|
|
640
|
+
/**
|
|
641
|
+
* LocalSend event names
|
|
642
|
+
*/
|
|
643
|
+
declare const LOCALSEND_EVENTS: {
|
|
644
|
+
/** New device discovered */
|
|
645
|
+
readonly deviceDiscovered: "localsend:device-discovered";
|
|
646
|
+
/** Device lost (no longer visible) */
|
|
647
|
+
readonly deviceLost: "localsend:device-lost";
|
|
648
|
+
/** New incoming transfer request */
|
|
649
|
+
readonly transferRequest: "localsend:transfer-request";
|
|
650
|
+
/** Transfer progress update */
|
|
651
|
+
readonly transferProgress: "localsend:transfer-progress";
|
|
652
|
+
/** Transfer completed */
|
|
653
|
+
readonly transferComplete: "localsend:transfer-complete";
|
|
654
|
+
/** Transfer failed */
|
|
655
|
+
readonly transferFailed: "localsend:transfer-failed";
|
|
656
|
+
};
|
|
657
|
+
type LocalSendEvent = (typeof LOCALSEND_EVENTS)[keyof typeof LOCALSEND_EVENTS];
|
|
658
|
+
declare class LocalSendAPI {
|
|
659
|
+
private client;
|
|
660
|
+
constructor(client: HaexVaultSdk);
|
|
661
|
+
/**
|
|
662
|
+
* Initialize LocalSend (generate identity, etc.)
|
|
663
|
+
* Call this on app start
|
|
664
|
+
* @returns Our device info
|
|
665
|
+
*/
|
|
666
|
+
init(): Promise<DeviceInfo>;
|
|
667
|
+
/**
|
|
668
|
+
* Get our device info
|
|
669
|
+
* @returns Our device info
|
|
670
|
+
*/
|
|
671
|
+
getDeviceInfo(): Promise<DeviceInfo>;
|
|
672
|
+
/**
|
|
673
|
+
* Set our device alias (display name)
|
|
674
|
+
* @param alias New alias
|
|
675
|
+
*/
|
|
676
|
+
setAlias(alias: string): Promise<void>;
|
|
677
|
+
/**
|
|
678
|
+
* Get current LocalSend settings
|
|
679
|
+
* @returns Settings
|
|
680
|
+
*/
|
|
681
|
+
getSettings(): Promise<LocalSendSettings>;
|
|
682
|
+
/**
|
|
683
|
+
* Update LocalSend settings
|
|
684
|
+
* @param settings New settings
|
|
685
|
+
*/
|
|
686
|
+
setSettings(settings: LocalSendSettings): Promise<void>;
|
|
687
|
+
/**
|
|
688
|
+
* Start device discovery via multicast UDP
|
|
689
|
+
* Desktop only - on mobile use scanNetwork()
|
|
690
|
+
*/
|
|
691
|
+
startDiscovery(): Promise<void>;
|
|
692
|
+
/**
|
|
693
|
+
* Stop device discovery
|
|
694
|
+
* Desktop only
|
|
695
|
+
*/
|
|
696
|
+
stopDiscovery(): Promise<void>;
|
|
697
|
+
/**
|
|
698
|
+
* Get list of discovered devices
|
|
699
|
+
* @returns Array of discovered devices
|
|
700
|
+
*/
|
|
701
|
+
getDevices(): Promise<Device[]>;
|
|
702
|
+
/**
|
|
703
|
+
* Scan network for devices via HTTP
|
|
704
|
+
* Mobile only - on desktop use startDiscovery()
|
|
705
|
+
* @returns Array of discovered devices
|
|
706
|
+
*/
|
|
707
|
+
scanNetwork(): Promise<Device[]>;
|
|
708
|
+
/**
|
|
709
|
+
* Start the HTTPS server for receiving files
|
|
710
|
+
* @param port Optional port to listen on (default: 53317)
|
|
711
|
+
* @returns Server info with port, fingerprint, and addresses
|
|
712
|
+
*/
|
|
713
|
+
startServer(port?: number): Promise<ServerInfo>;
|
|
714
|
+
/**
|
|
715
|
+
* Stop the HTTPS server
|
|
716
|
+
*/
|
|
717
|
+
stopServer(): Promise<void>;
|
|
718
|
+
/**
|
|
719
|
+
* Get server status
|
|
720
|
+
* @returns Server status
|
|
721
|
+
*/
|
|
722
|
+
getServerStatus(): Promise<ServerStatus>;
|
|
723
|
+
/**
|
|
724
|
+
* Get pending incoming transfer requests
|
|
725
|
+
* @returns Array of pending transfers
|
|
726
|
+
*/
|
|
727
|
+
getPendingTransfers(): Promise<PendingTransfer[]>;
|
|
728
|
+
/**
|
|
729
|
+
* Accept an incoming transfer
|
|
730
|
+
* @param sessionId Session ID of the transfer
|
|
731
|
+
* @param saveDir Directory to save files to
|
|
732
|
+
*/
|
|
733
|
+
acceptTransfer(sessionId: string, saveDir: string): Promise<void>;
|
|
734
|
+
/**
|
|
735
|
+
* Reject an incoming transfer
|
|
736
|
+
* @param sessionId Session ID of the transfer
|
|
737
|
+
*/
|
|
738
|
+
rejectTransfer(sessionId: string): Promise<void>;
|
|
739
|
+
/**
|
|
740
|
+
* Prepare files for sending - collect metadata
|
|
741
|
+
* @param paths Array of file/folder paths to send
|
|
742
|
+
* @returns Array of file info with metadata
|
|
743
|
+
*/
|
|
744
|
+
prepareFiles(paths: string[]): Promise<FileInfo[]>;
|
|
745
|
+
/**
|
|
746
|
+
* Send files to a device
|
|
747
|
+
* @param device Target device
|
|
748
|
+
* @param files Files to send (from prepareFiles)
|
|
749
|
+
* @returns Session ID for tracking progress
|
|
750
|
+
*/
|
|
751
|
+
sendFiles(device: Device, files: FileInfo[]): Promise<string>;
|
|
752
|
+
/**
|
|
753
|
+
* Cancel an outgoing transfer
|
|
754
|
+
* @param sessionId Session ID of the transfer
|
|
755
|
+
*/
|
|
756
|
+
cancelSend(sessionId: string): Promise<void>;
|
|
757
|
+
}
|
|
758
|
+
|
|
486
759
|
/**
|
|
487
760
|
* HaexVault Client
|
|
488
761
|
*
|
|
@@ -514,6 +787,7 @@ declare class HaexVaultSdk {
|
|
|
514
787
|
readonly web: WebAPI;
|
|
515
788
|
readonly permissions: PermissionsAPI;
|
|
516
789
|
readonly remoteStorage: RemoteStorageAPI;
|
|
790
|
+
readonly localsend: LocalSendAPI;
|
|
517
791
|
constructor(config?: HaexHubConfig);
|
|
518
792
|
ready(): Promise<void>;
|
|
519
793
|
get setupCompleted(): boolean;
|
|
@@ -557,4 +831,4 @@ declare class HaexVaultSdk {
|
|
|
557
831
|
private log;
|
|
558
832
|
}
|
|
559
833
|
|
|
560
|
-
export { type AddBackendRequest as A, DatabaseAPI as D, FilesystemAPI as F, HaexVaultSdk as H, PermissionsAPI as P, RemoteStorageAPI as R, StorageAPI as S, type UpdateBackendRequest as U, WebAPI as W, type FileStat as a, type DirEntry as b, type SelectFolderOptions as c, type SelectFileOptions as d, type StorageBackendInfo as
|
|
834
|
+
export { type AddBackendRequest as A, DatabaseAPI as D, FilesystemAPI as F, HaexVaultSdk as H, LocalSendAPI as L, PermissionsAPI as P, RemoteStorageAPI as R, StorageAPI as S, type TransferProgress as T, type UpdateBackendRequest as U, WebAPI as W, type FileStat as a, type DirEntry as b, type SelectFolderOptions as c, type SelectFileOptions as d, LOCALSEND_EVENTS as e, type DeviceType as f, type DeviceInfo as g, type Device as h, type FileInfo as i, type ServerInfo as j, type ServerStatus as k, type LocalSendSettings as l, type PendingTransfer as m, type TransferState as n, type TransferDirection as o, type LocalSendEvent as p, type StorageBackendInfo as q, type S3Config as r, type S3PublicConfig as s, type StorageObjectInfo as t };
|
|
@@ -483,6 +483,279 @@ declare class BackendManagement {
|
|
|
483
483
|
test(backendId: string): Promise<void>;
|
|
484
484
|
}
|
|
485
485
|
|
|
486
|
+
/**
|
|
487
|
+
* Device type classification (for UI icons)
|
|
488
|
+
*/
|
|
489
|
+
type DeviceType = "mobile" | "desktop" | "web" | "headless" | "server";
|
|
490
|
+
/**
|
|
491
|
+
* Our device information
|
|
492
|
+
*/
|
|
493
|
+
interface DeviceInfo {
|
|
494
|
+
/** Human-readable device name */
|
|
495
|
+
alias: string;
|
|
496
|
+
/** Protocol version */
|
|
497
|
+
version: string;
|
|
498
|
+
/** Device model (e.g., "Linux", "MacBook Pro") */
|
|
499
|
+
deviceModel: string | null;
|
|
500
|
+
/** Device type for UI */
|
|
501
|
+
deviceType: DeviceType;
|
|
502
|
+
/** SHA-256 fingerprint of our TLS certificate */
|
|
503
|
+
fingerprint: string;
|
|
504
|
+
/** Port we're listening on */
|
|
505
|
+
port: number;
|
|
506
|
+
/** Protocol (http or https) */
|
|
507
|
+
protocol: string;
|
|
508
|
+
/** Whether we support download mode (browser mode) */
|
|
509
|
+
download: boolean;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* A discovered remote device
|
|
513
|
+
*/
|
|
514
|
+
interface Device {
|
|
515
|
+
/** Human-readable device name */
|
|
516
|
+
alias: string;
|
|
517
|
+
/** Protocol version */
|
|
518
|
+
version: string;
|
|
519
|
+
/** Device model */
|
|
520
|
+
deviceModel: string | null;
|
|
521
|
+
/** Device type for UI */
|
|
522
|
+
deviceType: DeviceType;
|
|
523
|
+
/** SHA-256 fingerprint of device's TLS certificate */
|
|
524
|
+
fingerprint: string;
|
|
525
|
+
/** IP address */
|
|
526
|
+
address: string;
|
|
527
|
+
/** Port */
|
|
528
|
+
port: number;
|
|
529
|
+
/** Protocol (http or https) */
|
|
530
|
+
protocol: string;
|
|
531
|
+
/** Whether device supports download mode */
|
|
532
|
+
download: boolean;
|
|
533
|
+
/** Last seen timestamp (Unix millis) */
|
|
534
|
+
lastSeen: number;
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* File metadata for transfer
|
|
538
|
+
*/
|
|
539
|
+
interface FileInfo {
|
|
540
|
+
/** Unique file ID within the transfer */
|
|
541
|
+
id: string;
|
|
542
|
+
/** File name */
|
|
543
|
+
fileName: string;
|
|
544
|
+
/** File size in bytes */
|
|
545
|
+
size: number;
|
|
546
|
+
/** MIME type */
|
|
547
|
+
fileType: string;
|
|
548
|
+
/** SHA-256 hash (optional, for verification) */
|
|
549
|
+
sha256: string | null;
|
|
550
|
+
/** Base64 preview thumbnail (optional) */
|
|
551
|
+
preview: string | null;
|
|
552
|
+
/** Relative path for folders (e.g., "folder/subfolder/file.txt") */
|
|
553
|
+
relativePath: string | null;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Server info returned when starting
|
|
557
|
+
*/
|
|
558
|
+
interface ServerInfo {
|
|
559
|
+
/** Port server is listening on */
|
|
560
|
+
port: number;
|
|
561
|
+
/** Our fingerprint */
|
|
562
|
+
fingerprint: string;
|
|
563
|
+
/** Local IP addresses */
|
|
564
|
+
addresses: string[];
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* Server status information
|
|
568
|
+
*/
|
|
569
|
+
interface ServerStatus {
|
|
570
|
+
/** Whether server is running */
|
|
571
|
+
running: boolean;
|
|
572
|
+
/** Port server is listening on */
|
|
573
|
+
port: number | null;
|
|
574
|
+
/** Our fingerprint */
|
|
575
|
+
fingerprint: string | null;
|
|
576
|
+
/** Local IP addresses */
|
|
577
|
+
addresses: string[];
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* LocalSend settings
|
|
581
|
+
*/
|
|
582
|
+
interface LocalSendSettings {
|
|
583
|
+
/** Device alias */
|
|
584
|
+
alias: string;
|
|
585
|
+
/** Port to use */
|
|
586
|
+
port: number;
|
|
587
|
+
/** Auto-accept transfers from known devices */
|
|
588
|
+
autoAccept: boolean;
|
|
589
|
+
/** Default save directory */
|
|
590
|
+
saveDirectory: string | null;
|
|
591
|
+
/** Require PIN for incoming transfers */
|
|
592
|
+
requirePin: boolean;
|
|
593
|
+
/** PIN (if requirePin is true) */
|
|
594
|
+
pin: string | null;
|
|
595
|
+
/** Show notification on incoming transfer */
|
|
596
|
+
showNotifications: boolean;
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Pending transfer request (for UI)
|
|
600
|
+
*/
|
|
601
|
+
interface PendingTransfer {
|
|
602
|
+
/** Session ID */
|
|
603
|
+
sessionId: string;
|
|
604
|
+
/** Sender device info */
|
|
605
|
+
sender: Device;
|
|
606
|
+
/** Files to be received */
|
|
607
|
+
files: FileInfo[];
|
|
608
|
+
/** Total size in bytes */
|
|
609
|
+
totalSize: number;
|
|
610
|
+
/** Whether PIN is required */
|
|
611
|
+
pinRequired: boolean;
|
|
612
|
+
/** Created timestamp (Unix millis) */
|
|
613
|
+
createdAt: number;
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Transfer progress update (for events)
|
|
617
|
+
*/
|
|
618
|
+
interface TransferProgress {
|
|
619
|
+
/** Session ID */
|
|
620
|
+
sessionId: string;
|
|
621
|
+
/** File ID */
|
|
622
|
+
fileId: string;
|
|
623
|
+
/** File name */
|
|
624
|
+
fileName: string;
|
|
625
|
+
/** Bytes transferred */
|
|
626
|
+
bytesTransferred: number;
|
|
627
|
+
/** Total bytes */
|
|
628
|
+
totalBytes: number;
|
|
629
|
+
/** Transfer speed in bytes/sec */
|
|
630
|
+
speed: number;
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* Transfer session state
|
|
634
|
+
*/
|
|
635
|
+
type TransferState = "pending" | "inprogress" | "completed" | "rejected" | "cancelled" | "failed";
|
|
636
|
+
/**
|
|
637
|
+
* Transfer direction
|
|
638
|
+
*/
|
|
639
|
+
type TransferDirection = "incoming" | "outgoing";
|
|
640
|
+
/**
|
|
641
|
+
* LocalSend event names
|
|
642
|
+
*/
|
|
643
|
+
declare const LOCALSEND_EVENTS: {
|
|
644
|
+
/** New device discovered */
|
|
645
|
+
readonly deviceDiscovered: "localsend:device-discovered";
|
|
646
|
+
/** Device lost (no longer visible) */
|
|
647
|
+
readonly deviceLost: "localsend:device-lost";
|
|
648
|
+
/** New incoming transfer request */
|
|
649
|
+
readonly transferRequest: "localsend:transfer-request";
|
|
650
|
+
/** Transfer progress update */
|
|
651
|
+
readonly transferProgress: "localsend:transfer-progress";
|
|
652
|
+
/** Transfer completed */
|
|
653
|
+
readonly transferComplete: "localsend:transfer-complete";
|
|
654
|
+
/** Transfer failed */
|
|
655
|
+
readonly transferFailed: "localsend:transfer-failed";
|
|
656
|
+
};
|
|
657
|
+
type LocalSendEvent = (typeof LOCALSEND_EVENTS)[keyof typeof LOCALSEND_EVENTS];
|
|
658
|
+
declare class LocalSendAPI {
|
|
659
|
+
private client;
|
|
660
|
+
constructor(client: HaexVaultSdk);
|
|
661
|
+
/**
|
|
662
|
+
* Initialize LocalSend (generate identity, etc.)
|
|
663
|
+
* Call this on app start
|
|
664
|
+
* @returns Our device info
|
|
665
|
+
*/
|
|
666
|
+
init(): Promise<DeviceInfo>;
|
|
667
|
+
/**
|
|
668
|
+
* Get our device info
|
|
669
|
+
* @returns Our device info
|
|
670
|
+
*/
|
|
671
|
+
getDeviceInfo(): Promise<DeviceInfo>;
|
|
672
|
+
/**
|
|
673
|
+
* Set our device alias (display name)
|
|
674
|
+
* @param alias New alias
|
|
675
|
+
*/
|
|
676
|
+
setAlias(alias: string): Promise<void>;
|
|
677
|
+
/**
|
|
678
|
+
* Get current LocalSend settings
|
|
679
|
+
* @returns Settings
|
|
680
|
+
*/
|
|
681
|
+
getSettings(): Promise<LocalSendSettings>;
|
|
682
|
+
/**
|
|
683
|
+
* Update LocalSend settings
|
|
684
|
+
* @param settings New settings
|
|
685
|
+
*/
|
|
686
|
+
setSettings(settings: LocalSendSettings): Promise<void>;
|
|
687
|
+
/**
|
|
688
|
+
* Start device discovery via multicast UDP
|
|
689
|
+
* Desktop only - on mobile use scanNetwork()
|
|
690
|
+
*/
|
|
691
|
+
startDiscovery(): Promise<void>;
|
|
692
|
+
/**
|
|
693
|
+
* Stop device discovery
|
|
694
|
+
* Desktop only
|
|
695
|
+
*/
|
|
696
|
+
stopDiscovery(): Promise<void>;
|
|
697
|
+
/**
|
|
698
|
+
* Get list of discovered devices
|
|
699
|
+
* @returns Array of discovered devices
|
|
700
|
+
*/
|
|
701
|
+
getDevices(): Promise<Device[]>;
|
|
702
|
+
/**
|
|
703
|
+
* Scan network for devices via HTTP
|
|
704
|
+
* Mobile only - on desktop use startDiscovery()
|
|
705
|
+
* @returns Array of discovered devices
|
|
706
|
+
*/
|
|
707
|
+
scanNetwork(): Promise<Device[]>;
|
|
708
|
+
/**
|
|
709
|
+
* Start the HTTPS server for receiving files
|
|
710
|
+
* @param port Optional port to listen on (default: 53317)
|
|
711
|
+
* @returns Server info with port, fingerprint, and addresses
|
|
712
|
+
*/
|
|
713
|
+
startServer(port?: number): Promise<ServerInfo>;
|
|
714
|
+
/**
|
|
715
|
+
* Stop the HTTPS server
|
|
716
|
+
*/
|
|
717
|
+
stopServer(): Promise<void>;
|
|
718
|
+
/**
|
|
719
|
+
* Get server status
|
|
720
|
+
* @returns Server status
|
|
721
|
+
*/
|
|
722
|
+
getServerStatus(): Promise<ServerStatus>;
|
|
723
|
+
/**
|
|
724
|
+
* Get pending incoming transfer requests
|
|
725
|
+
* @returns Array of pending transfers
|
|
726
|
+
*/
|
|
727
|
+
getPendingTransfers(): Promise<PendingTransfer[]>;
|
|
728
|
+
/**
|
|
729
|
+
* Accept an incoming transfer
|
|
730
|
+
* @param sessionId Session ID of the transfer
|
|
731
|
+
* @param saveDir Directory to save files to
|
|
732
|
+
*/
|
|
733
|
+
acceptTransfer(sessionId: string, saveDir: string): Promise<void>;
|
|
734
|
+
/**
|
|
735
|
+
* Reject an incoming transfer
|
|
736
|
+
* @param sessionId Session ID of the transfer
|
|
737
|
+
*/
|
|
738
|
+
rejectTransfer(sessionId: string): Promise<void>;
|
|
739
|
+
/**
|
|
740
|
+
* Prepare files for sending - collect metadata
|
|
741
|
+
* @param paths Array of file/folder paths to send
|
|
742
|
+
* @returns Array of file info with metadata
|
|
743
|
+
*/
|
|
744
|
+
prepareFiles(paths: string[]): Promise<FileInfo[]>;
|
|
745
|
+
/**
|
|
746
|
+
* Send files to a device
|
|
747
|
+
* @param device Target device
|
|
748
|
+
* @param files Files to send (from prepareFiles)
|
|
749
|
+
* @returns Session ID for tracking progress
|
|
750
|
+
*/
|
|
751
|
+
sendFiles(device: Device, files: FileInfo[]): Promise<string>;
|
|
752
|
+
/**
|
|
753
|
+
* Cancel an outgoing transfer
|
|
754
|
+
* @param sessionId Session ID of the transfer
|
|
755
|
+
*/
|
|
756
|
+
cancelSend(sessionId: string): Promise<void>;
|
|
757
|
+
}
|
|
758
|
+
|
|
486
759
|
/**
|
|
487
760
|
* HaexVault Client
|
|
488
761
|
*
|
|
@@ -514,6 +787,7 @@ declare class HaexVaultSdk {
|
|
|
514
787
|
readonly web: WebAPI;
|
|
515
788
|
readonly permissions: PermissionsAPI;
|
|
516
789
|
readonly remoteStorage: RemoteStorageAPI;
|
|
790
|
+
readonly localsend: LocalSendAPI;
|
|
517
791
|
constructor(config?: HaexHubConfig);
|
|
518
792
|
ready(): Promise<void>;
|
|
519
793
|
get setupCompleted(): boolean;
|
|
@@ -557,4 +831,4 @@ declare class HaexVaultSdk {
|
|
|
557
831
|
private log;
|
|
558
832
|
}
|
|
559
833
|
|
|
560
|
-
export { type AddBackendRequest as A, DatabaseAPI as D, FilesystemAPI as F, HaexVaultSdk as H, PermissionsAPI as P, RemoteStorageAPI as R, StorageAPI as S, type UpdateBackendRequest as U, WebAPI as W, type FileStat as a, type DirEntry as b, type SelectFolderOptions as c, type SelectFileOptions as d, type StorageBackendInfo as
|
|
834
|
+
export { type AddBackendRequest as A, DatabaseAPI as D, FilesystemAPI as F, HaexVaultSdk as H, LocalSendAPI as L, PermissionsAPI as P, RemoteStorageAPI as R, StorageAPI as S, type TransferProgress as T, type UpdateBackendRequest as U, WebAPI as W, type FileStat as a, type DirEntry as b, type SelectFolderOptions as c, type SelectFileOptions as d, LOCALSEND_EVENTS as e, type DeviceType as f, type DeviceInfo as g, type Device as h, type FileInfo as i, type ServerInfo as j, type ServerStatus as k, type LocalSendSettings as l, type PendingTransfer as m, type TransferState as n, type TransferDirection as o, type LocalSendEvent as p, type StorageBackendInfo as q, type S3Config as r, type S3PublicConfig as s, type StorageObjectInfo as t };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { H as HaexVaultSdk } from './client-
|
|
2
|
-
export { D as DatabaseAPI, b as DirEntry, a as FileStat, F as FilesystemAPI, P as PermissionsAPI, A as RemoteAddBackendRequest,
|
|
1
|
+
import { H as HaexVaultSdk } from './client-DwGxAKzx.mjs';
|
|
2
|
+
export { D as DatabaseAPI, h as Device, g as DeviceInfo, f as DeviceType, b as DirEntry, a as FileStat, F as FilesystemAPI, e as LOCALSEND_EVENTS, L as LocalSendAPI, p as LocalSendEvent, i as LocalSendFileInfo, l as LocalSendSettings, m as PendingTransfer, P as PermissionsAPI, A as RemoteAddBackendRequest, r as RemoteS3Config, s as RemoteS3PublicConfig, R as RemoteStorageAPI, q as RemoteStorageBackendInfo, t as RemoteStorageObjectInfo, U as RemoteUpdateBackendRequest, d as SelectFileOptions, c as SelectFolderOptions, j as ServerInfo, k as ServerStatus, o as TransferDirection, T as TransferProgress, n as TransferState, W as WebAPI } from './client-DwGxAKzx.mjs';
|
|
3
3
|
import { E as ExtensionManifest, H as HaexHubConfig } from './types-D4ft4_oG.mjs';
|
|
4
4
|
export { A as ApplicationContext, t as AuthorizedClient, B as BlockedClient, C as ContextChangedEvent, F as DEFAULT_TIMEOUT, o as DatabaseColumnInfo, m as DatabaseExecuteParams, k as DatabasePermission, d as DatabasePermissionRequest, l as DatabaseQueryParams, D as DatabaseQueryResult, n as DatabaseTableInfo, Y as EXTERNAL_EVENTS, z as ErrorCode, g as EventCallback, a as ExtensionInfo, v as ExternalAuthDecision, x as ExternalConnection, J as ExternalConnectionErrorCode, I as ExternalConnectionState, Z as ExternalEvent, s as ExternalRequest, r as ExternalRequestEvent, e as ExternalRequestHandler, f as ExternalResponse, O as FileChangeEvent, Q as FileChangeType, V as HAEXTENSION_EVENTS, j as HaexHubEvent, h as HaexHubRequest, i as HaexHubResponse, N as HaexVaultSdkError, X as HaextensionEvent, u as PendingAuthorization, P as PermissionResponse, y as PermissionStatus, R as RequestedExtension, p as SearchQuery, q as SearchRequestEvent, S as SearchResult, w as SessionAuthorization, U as SyncTablesUpdatedEvent, T as TABLE_SEPARATOR, W as WebRequestOptions, c as WebResponse, L as canExternalClientSendRequests, G as getTableName, K as isExternalClientConnected } from './types-D4ft4_oG.mjs';
|
|
5
5
|
export { H as HaextensionConfig } from './config-D_HXjsEV.mjs';
|
|
@@ -310,6 +310,55 @@ declare const REMOTE_STORAGE_COMMANDS: {
|
|
|
310
310
|
readonly list: "extension_remote_storage_list";
|
|
311
311
|
};
|
|
312
312
|
|
|
313
|
+
/**
|
|
314
|
+
* LocalSend Commands
|
|
315
|
+
*
|
|
316
|
+
* Commands for LocalSend file sharing operations.
|
|
317
|
+
* These commands are used for both:
|
|
318
|
+
* - Tauri invoke (WebView extensions)
|
|
319
|
+
* - postMessage (iframe extensions)
|
|
320
|
+
*
|
|
321
|
+
* Naming convention: `localsend_<action>`
|
|
322
|
+
*/
|
|
323
|
+
declare const LOCALSEND_COMMANDS: {
|
|
324
|
+
/** Initialize LocalSend (generate identity, etc.) */
|
|
325
|
+
readonly init: "localsend_init";
|
|
326
|
+
/** Get our device info */
|
|
327
|
+
readonly getDeviceInfo: "localsend_get_device_info";
|
|
328
|
+
/** Set our device alias */
|
|
329
|
+
readonly setAlias: "localsend_set_alias";
|
|
330
|
+
/** Get current settings */
|
|
331
|
+
readonly getSettings: "localsend_get_settings";
|
|
332
|
+
/** Update settings */
|
|
333
|
+
readonly setSettings: "localsend_set_settings";
|
|
334
|
+
/** Start device discovery via multicast UDP */
|
|
335
|
+
readonly startDiscovery: "localsend_start_discovery";
|
|
336
|
+
/** Stop device discovery */
|
|
337
|
+
readonly stopDiscovery: "localsend_stop_discovery";
|
|
338
|
+
/** Get list of discovered devices */
|
|
339
|
+
readonly getDevices: "localsend_get_devices";
|
|
340
|
+
/** Scan network for devices via HTTP */
|
|
341
|
+
readonly scanNetwork: "localsend_scan_network";
|
|
342
|
+
/** Start the HTTPS server for receiving files */
|
|
343
|
+
readonly startServer: "localsend_start_server";
|
|
344
|
+
/** Stop the HTTPS server */
|
|
345
|
+
readonly stopServer: "localsend_stop_server";
|
|
346
|
+
/** Get server status */
|
|
347
|
+
readonly getServerStatus: "localsend_get_server_status";
|
|
348
|
+
/** Get pending incoming transfer requests */
|
|
349
|
+
readonly getPendingTransfers: "localsend_get_pending_transfers";
|
|
350
|
+
/** Accept an incoming transfer */
|
|
351
|
+
readonly acceptTransfer: "localsend_accept_transfer";
|
|
352
|
+
/** Reject an incoming transfer */
|
|
353
|
+
readonly rejectTransfer: "localsend_reject_transfer";
|
|
354
|
+
/** Prepare files for sending - collect metadata */
|
|
355
|
+
readonly prepareFiles: "localsend_prepare_files";
|
|
356
|
+
/** Send files to a device */
|
|
357
|
+
readonly sendFiles: "localsend_send_files";
|
|
358
|
+
/** Cancel an outgoing transfer */
|
|
359
|
+
readonly cancelSend: "localsend_cancel_send";
|
|
360
|
+
};
|
|
361
|
+
|
|
313
362
|
/**
|
|
314
363
|
* Tauri Command Names
|
|
315
364
|
*
|
|
@@ -403,8 +452,28 @@ declare const TAURI_COMMANDS: {
|
|
|
403
452
|
readonly delete: "extension_remote_storage_delete";
|
|
404
453
|
readonly list: "extension_remote_storage_list";
|
|
405
454
|
};
|
|
455
|
+
readonly localsend: {
|
|
456
|
+
readonly init: "localsend_init";
|
|
457
|
+
readonly getDeviceInfo: "localsend_get_device_info";
|
|
458
|
+
readonly setAlias: "localsend_set_alias";
|
|
459
|
+
readonly getSettings: "localsend_get_settings";
|
|
460
|
+
readonly setSettings: "localsend_set_settings";
|
|
461
|
+
readonly startDiscovery: "localsend_start_discovery";
|
|
462
|
+
readonly stopDiscovery: "localsend_stop_discovery";
|
|
463
|
+
readonly getDevices: "localsend_get_devices";
|
|
464
|
+
readonly scanNetwork: "localsend_scan_network";
|
|
465
|
+
readonly startServer: "localsend_start_server";
|
|
466
|
+
readonly stopServer: "localsend_stop_server";
|
|
467
|
+
readonly getServerStatus: "localsend_get_server_status";
|
|
468
|
+
readonly getPendingTransfers: "localsend_get_pending_transfers";
|
|
469
|
+
readonly acceptTransfer: "localsend_accept_transfer";
|
|
470
|
+
readonly rejectTransfer: "localsend_reject_transfer";
|
|
471
|
+
readonly prepareFiles: "localsend_prepare_files";
|
|
472
|
+
readonly sendFiles: "localsend_send_files";
|
|
473
|
+
readonly cancelSend: "localsend_cancel_send";
|
|
474
|
+
};
|
|
406
475
|
};
|
|
407
|
-
type TauriCommand = (typeof DATABASE_COMMANDS)[keyof typeof DATABASE_COMMANDS] | (typeof PERMISSIONS_COMMANDS)[keyof typeof PERMISSIONS_COMMANDS] | (typeof WEB_COMMANDS)[keyof typeof WEB_COMMANDS] | (typeof WEB_STORAGE_COMMANDS)[keyof typeof WEB_STORAGE_COMMANDS] | (typeof FILESYSTEM_COMMANDS)[keyof typeof FILESYSTEM_COMMANDS] | (typeof EXTERNAL_BRIDGE_COMMANDS)[keyof typeof EXTERNAL_BRIDGE_COMMANDS] | (typeof EXTENSION_COMMANDS)[keyof typeof EXTENSION_COMMANDS] | (typeof REMOTE_STORAGE_COMMANDS)[keyof typeof REMOTE_STORAGE_COMMANDS];
|
|
476
|
+
type TauriCommand = (typeof DATABASE_COMMANDS)[keyof typeof DATABASE_COMMANDS] | (typeof PERMISSIONS_COMMANDS)[keyof typeof PERMISSIONS_COMMANDS] | (typeof WEB_COMMANDS)[keyof typeof WEB_COMMANDS] | (typeof WEB_STORAGE_COMMANDS)[keyof typeof WEB_STORAGE_COMMANDS] | (typeof FILESYSTEM_COMMANDS)[keyof typeof FILESYSTEM_COMMANDS] | (typeof EXTERNAL_BRIDGE_COMMANDS)[keyof typeof EXTERNAL_BRIDGE_COMMANDS] | (typeof EXTENSION_COMMANDS)[keyof typeof EXTENSION_COMMANDS] | (typeof REMOTE_STORAGE_COMMANDS)[keyof typeof REMOTE_STORAGE_COMMANDS] | (typeof LOCALSEND_COMMANDS)[keyof typeof LOCALSEND_COMMANDS];
|
|
408
477
|
|
|
409
478
|
interface VerifyResult {
|
|
410
479
|
valid: boolean;
|