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

part of '../../application_commands.dart';

/// Stable V1 application command identifiers.
enum ApplicationCommandCode {
  /// Selects the `quickCaptureToBacklog` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  quickCaptureToBacklog,

  /// Selects the `quickCaptureToNextAvailableSlot` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  quickCaptureToNextAvailableSlot,

  /// Selects the `scheduleBacklogItemToNextAvailableSlot` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  scheduleBacklogItemToNextAvailableSlot,

  /// Selects the `pushFlexibleToNextAvailableSlot` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  pushFlexibleToNextAvailableSlot,

  /// Selects the `pushFlexibleToTomorrowTopOfQueue` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  pushFlexibleToTomorrowTopOfQueue,

  /// Selects the `moveFlexibleToBacklog` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  moveFlexibleToBacklog,

  /// Selects the `pushBacklogTaskToSomeday` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  pushBacklogTaskToSomeday,

  /// Selects the `archiveBacklogTask` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  archiveBacklogTask,

  /// Selects the `removeTask` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  removeTask,

  /// Selects the `completeFlexibleTask` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  completeFlexibleTask,

  /// Selects the `uncompleteTask` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  uncompleteTask,

  /// Selects the `applyRequiredTaskAction` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  applyRequiredTaskAction,

  /// Selects the `logSurpriseTask` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  logSurpriseTask,

  /// Selects the `createProtectedFreeSlot` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  createProtectedFreeSlot,

  /// Selects the `updateProtectedFreeSlot` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  updateProtectedFreeSlot,

  /// Selects the `removeProtectedFreeSlot` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  removeProtectedFreeSlot,

  /// Selects the `breakUpTask` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  breakUpTask,

  /// Selects the `completeChildTask` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  completeChildTask,

  /// Selects the `completeParentTask` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  completeParentTask,

  /// Selects the `completeParentFromChild` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  completeParentFromChild,
}
