chromium/components/compose/core/browser/compose_enums.mojom

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module compose.mojom;

// Status code used in compose responses.
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused. Keep in sync with
// ComposeResponseStatus in tools/metrics/histograms/metadata/compose/enums.xml.
enum ComposeStatus {
  kOk = 0,
  // Generic client error, not specified.
  kClientError = 1,

  // kNotSuccessful = 2,  // no longer used, separated into several errors.
  // kTryAgain = 3,  // no longer used, separated into several errors.
  // kTryAgainLater = 4,  // no longer used, separated into several errors.

  // If the feature is somehow disabled.
  kMisconfiguration = 5,
  // If permission is denied (e.g. user is not logged in.)
  kPermissionDenied = 6,
  // Generic server error, not specified.
  kServerError = 7,
  // Invalid request sent, likely a client issue where ComposeRequest is
  // incorrect.
  kInvalidRequest = 8,
  // Request was throttled.
  kRequestThrottled = 9,
  // Retryable error occurred in the server.
  kRetryableError = 10,
  // Non-retryable error occurred in the server (eg. server down).
  kNonRetryableError = 11,
  // Unsupported language used.
  kUnsupportedLanguage = 12,
  // Request was filtered (eg. due to T&S).
  kFiltered = 13,
  // Compose service was disabled.
  kDisabled = 14,
  // Request was cancelled.
  kCancelled = 15,
  // No response received from the server.
  kNoResponse = 16,
  // If the user is offline.
  kOffline = 17,
  // The request timed out.
  kRequestTimeout = 18,
};