// 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,
};