@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.
@@ -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 e, type S3Config as f, type S3PublicConfig as g, type StorageObjectInfo as h };
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 e, type S3Config as f, type S3PublicConfig as g, type StorageObjectInfo as h };
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-Y1a7Vkgk.mjs';
2
- export { D as DatabaseAPI, b as DirEntry, a as FileStat, F as FilesystemAPI, P as PermissionsAPI, A as RemoteAddBackendRequest, f as RemoteS3Config, g as RemoteS3PublicConfig, R as RemoteStorageAPI, e as RemoteStorageBackendInfo, h as RemoteStorageObjectInfo, U as RemoteUpdateBackendRequest, d as SelectFileOptions, c as SelectFolderOptions, W as WebAPI } from './client-Y1a7Vkgk.mjs';
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;