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

/// Implements Application Layer behavior for the Scheduler Core package.
library;

// Application orchestration contracts for UI-facing use cases.
//
// This layer sits above the pure domain services and repository interfaces. It
// gives future Flutter/use-case code one atomic boundary per user command
// without importing widgets, database clients, or platform notification APIs.

import '../scheduling/backlog.dart';
import '../domain/locked_time.dart';
import '../domain/models.dart';
import '../domain/project_statistics.dart';
import '../persistence/repositories.dart';
import '../scheduling/scheduling_engine.dart';
import '../scheduling/task_lifecycle.dart';
import '../domain/time_contracts.dart';
import '../logging/focus_flow_logger.dart';
part 'application_layer/context/owner_time_zone_context.dart';
part 'application_layer/context/application_operation_context.dart';
part 'application_layer/results/application_failure_code.dart';
part 'application_layer/results/application_failure.dart';
part 'application_layer/results/application_result.dart';
part 'application_layer/results/application_failure_exception.dart';
part 'application_layer/results/application_persistence_exception.dart';
part 'application_layer/records/application_operation_record.dart';
part 'application_layer/records/notice_acknowledgement_record.dart';
part 'application_layer/records/owner_settings.dart';
part 'application_layer/repositories/interfaces/tasks/task_activity_repository.dart';
part 'application_layer/repositories/interfaces/projects/project_statistics_repository.dart';
part 'application_layer/repositories/interfaces/application/owner_settings_repository.dart';
part 'application_layer/repositories/interfaces/application/notice_acknowledgement_repository.dart';
part 'application_layer/repositories/interfaces/application/application_operation_repository.dart';
part 'application_layer/repositories/interfaces/unit_of_work/application_unit_of_work_repositories.dart';
part 'application_layer/repositories/interfaces/unit_of_work/application_unit_of_work.dart';
part 'application_layer/loading/application_scheduling_loader.dart';
part 'application_layer/repositories/in_memory/in_memory_application_unit_of_work.dart';
part 'application_layer/repositories/in_memory/in_memory_application_state.dart';
part 'application_layer/repositories/in_memory/in_memory_application_repositories.dart';
part 'application_layer/repositories/unit_of_work/tasks/unit_of_work_task_repository.dart';
part 'application_layer/repositories/unit_of_work/projects/unit_of_work_project_repository.dart';
part 'application_layer/repositories/unit_of_work/scheduling/unit_of_work_locked_block_repository.dart';
part 'application_layer/repositories/unit_of_work/scheduling/unit_of_work_scheduling_snapshot_repository.dart';
part 'application_layer/repositories/unit_of_work/tasks/unit_of_work_task_activity_repository.dart';
part 'application_layer/repositories/unit_of_work/projects/unit_of_work_project_statistics_repository.dart';
part 'application_layer/repositories/unit_of_work/application/unit_of_work_owner_settings_repository.dart';
part 'application_layer/repositories/unit_of_work/application/unit_of_work_notice_acknowledgement_repository.dart';
part 'application_layer/repositories/unit_of_work/application/unit_of_work_operation_repository.dart';
