// SPDX-FileCopyrightText: 2026 FocusFlow contributors
// SPDX-License-Identifier: AGPL-3.0-only

part of '../../export_controller.dart';

/// Thrown when an export cannot complete.
final class ExportException implements Exception {
  /// Creates an export exception with a diagnostic [message].
  const ExportException(this.message);

  /// Diagnostic text for logs and tests.
  final String message;

  /// Converts scheduler data for `toString` without changing the source object.
  /// Conversion helpers keep persistence and export shapes explicit so domain models do not depend on storage-specific details.
  @override
  String toString() => 'ExportException: $message';
}
