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

/// Implements Task Actions behavior for the Scheduler Core package.
library;

// Flexible task card actions.
//
// The main scheduling engine moves tasks through time. This file models the
// small user actions that appear on a flexible task card, such as done, push,
// backlog, and break-up. Keeping these in a service makes UI button handlers
// thin and keeps task-type safety checks in one place.

import '../domain/models.dart';
import '../domain/occupancy_policy.dart';
import '../logging/focus_flow_logger.dart';
import 'scheduling_engine.dart';
import 'task_lifecycle.dart';
import '../domain/time_contracts.dart';
part 'task_actions/actions/flexible_task_quick_action.dart';
part 'task_actions/actions/required_task_action.dart';
part 'task_actions/actions/push_destination.dart';
part 'task_actions/results/flexible_task_action_result.dart';
part 'task_actions/results/push_destination_result.dart';
part 'task_actions/results/required_task_action_result.dart';
part 'task_actions/requests/surprise_task_log_request.dart';
part 'task_actions/results/surprise_task_log_result.dart';
part 'task_actions/services/flexible_task_action_service.dart';
part 'task_actions/services/required_task_action_service.dart';
part 'task_actions/services/surprise_task_log_service.dart';
