• Creates backup data without writing to disk or triggering browser download. Used for scheduled backups that write directly to the app data directory. The caller (IPC handler) is responsible for writing the returned data to disk.

    Note: This function is called by the main process IPC handlers (see backup-listeners.ts) and should not be called directly from renderer code. To create automatic backups from the renderer, use globalThis.electronBackup.createNow() instead.

    Returns Promise<{ data: BackupData; backupId: string; size: number }>

    Object containing backup data, ID, and metadata.

    If backup creation fails.

    export async function createBackupSilent(): Promise<{
    data: BackupData;
    backupId: string;
    size: number;
    }> {
    try {
    console.log("[Backup] Creating silent backup data...");

    // Collect all backupable data
    const { data: backupData, size: backupSize } = await collectBackupData();

    // Generate backup ID
    const backupId = `backup_${Date.now()}`;

    console.log(
    `[Backup] Silent backup size: ${(backupSize / 1024 / 1024).toFixed(2)} MB`,
    );
    console.log("[Backup] Silent backup data created successfully:", backupId);
    return { data: backupData, backupId, size: backupSize };
    } catch (error) {
    console.error("[Backup] Failed to create silent backup:", error);
    throw new Error(
    `Failed to create silent backup: ${error instanceof Error ? error.message : "Unknown error"}`,
    );
    }
    }