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

/// Implements Repositories behavior for the Scheduler Core package.
library;

// Persistence boundary interfaces for the scheduling core.
//
// These interfaces are intentionally database-client-free. SQLite, in-memory,
// and future adapters implement the same pure Dart contracts.

import '../domain/locked_time.dart';
import '../domain/models.dart';
import '../scheduling/scheduling_engine.dart';
import '../domain/time_contracts.dart';
part 'repositories/failures/repository_failure_code.dart';
part 'repositories/failures/repository_failure.dart';
part 'repositories/failures/repository_mutation_result.dart';
part 'repositories/pagination/repository_record.dart';
part 'repositories/pagination/repository_page_request.dart';
part 'repositories/pagination/repository_page.dart';
part 'repositories/queries/backlog_candidate_query.dart';
part 'repositories/interfaces/task_repository.dart';
part 'repositories/interfaces/project_repository.dart';
part 'repositories/interfaces/locked_block_repository.dart';
part 'repositories/queries/scheduling_state_snapshot.dart';
part 'repositories/interfaces/scheduling_snapshot_repository.dart';
part 'repositories/in_memory/in_memory_task_repository.dart';
part 'repositories/in_memory/in_memory_project_repository.dart';
part 'repositories/in_memory/in_memory_locked_block_repository.dart';
part 'repositories/in_memory/in_memory_scheduling_snapshot_repository.dart';
