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

syntax = "proto2";

option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";

option optimize_for = LITE_RUNTIME;

package sync_pb;

// keep-sorted start
import "components/sync/protocol/account_setting_specifics.proto";
import "components/sync/protocol/ai_thread_specifics.proto";
import "components/sync/protocol/app_list_specifics.proto";
import "components/sync/protocol/app_setting_specifics.proto";
import "components/sync/protocol/app_specifics.proto";
import "components/sync/protocol/arc_package_specifics.proto";
import "components/sync/protocol/autofill_entity_suppression_specifics.proto";
import "components/sync/protocol/autofill_offer_specifics.proto";
import "components/sync/protocol/autofill_specifics.proto";
import "components/sync/protocol/autofill_valuable_metadata_specifics.proto";
import "components/sync/protocol/autofill_valuable_specifics.proto";
import "components/sync/protocol/autofill_wallet_credential_specifics.proto";
import "components/sync/protocol/autofill_wallet_usage_specifics.proto";
import "components/sync/protocol/bookmark_specifics.proto";
import "components/sync/protocol/collaboration_group_specifics.proto";
import "components/sync/protocol/contact_info_specifics.proto";
import "components/sync/protocol/contextual_task_specifics.proto";
import "components/sync/protocol/cookie_specifics.proto";
import "components/sync/protocol/device_info_specifics.proto";
import "components/sync/protocol/dictionary_specifics.proto";
import "components/sync/protocol/encrypted_tab_context_container_specifics.proto";
import "components/sync/protocol/encrypted_tab_context_item_specifics.proto";
import "components/sync/protocol/encryption.proto";
import "components/sync/protocol/extension_setting_specifics.proto";
import "components/sync/protocol/extension_specifics.proto";
import "components/sync/protocol/gemini_thread_specifics.proto";
import "components/sync/protocol/history_delete_directive_specifics.proto";
import "components/sync/protocol/history_specifics.proto";
import "components/sync/protocol/journey_specifics.proto";
import "components/sync/protocol/managed_user_setting_specifics.proto";
import "components/sync/protocol/nigori_specifics.proto";
import "components/sync/protocol/notebook_specifics.proto";
import "components/sync/protocol/os_preference_specifics.proto";
import "components/sync/protocol/os_priority_preference_specifics.proto";
import "components/sync/protocol/password_sharing_invitation_specifics.proto";
import "components/sync/protocol/password_specifics.proto";
import "components/sync/protocol/preference_specifics.proto";
import "components/sync/protocol/printer_specifics.proto";
import "components/sync/protocol/printers_authorization_server_specifics.proto";
import "components/sync/protocol/priority_preference_specifics.proto";
import "components/sync/protocol/product_comparison_specifics.proto";
import "components/sync/protocol/reading_list_specifics.proto";
import "components/sync/protocol/saved_tab_group_specifics.proto";
import "components/sync/protocol/search_engine_specifics.proto";
import "components/sync/protocol/security_event_specifics.proto";
import "components/sync/protocol/send_tab_to_self_specifics.proto";
import "components/sync/protocol/session_specifics.proto";
import "components/sync/protocol/shared_comment_specifics.proto";
import "components/sync/protocol/shared_tab_group_account_data_specifics.proto";
import "components/sync/protocol/shared_tab_group_data_specifics.proto";
import "components/sync/protocol/sharing_message_specifics.proto";
import "components/sync/protocol/skill_specifics.proto";
import "components/sync/protocol/theme_android_specifics.proto";
import "components/sync/protocol/theme_ios_specifics.proto";
import "components/sync/protocol/theme_specifics.proto";
import "components/sync/protocol/typed_url_specifics.proto";
import "components/sync/protocol/user_consent_specifics.proto";
import "components/sync/protocol/user_event_specifics.proto";
import "components/sync/protocol/web_app_specifics.proto";
import "components/sync/protocol/webauthn_credential_specifics.proto";
import "components/sync/protocol/wifi_configuration_specifics.proto";
import "components/sync/protocol/workspace_desk_specifics.proto";
// keep-sorted end

message EntitySpecifics {
  // If a datatype is encrypted, this field will contain the encrypted
  // original EntitySpecifics. The extension for the datatype will continue
  // to exist, but contain only the default values.
  // Note that currently passwords employ their own legacy encryption scheme and
  // do not use this field.
  optional EncryptedData encrypted = 1;

  // To add new datatype-specific fields to the protocol, extend
  // EntitySpecifics.  First, pick a non-colliding tag number by
  // picking a Cr-Commit-Position of one of your past commits
  // to src.chromium.org.  Then, in a different protocol buffer
  // definition, define your message type, and add an optional field
  // to the list below using the unique tag value you selected.
  //
  //  optional MyDatatypeSpecifics my_datatype = 32222;
  //
  // where:
  //   - 32222 is the non-colliding tag number you picked earlier.
  //   - MyDatatypeSpecifics is the type (probably a message type defined
  //     in your new .proto file) that you want to associate with each
  //     object of the new datatype.
  //   - my_datatype is the field identifier you'll use to access the
  //     datatype specifics from the code.
  //
  // Server implementations are obligated to preserve the contents of
  // EntitySpecifics when it contains unrecognized fields.  In this
  // way, it is possible to add new datatype fields without having
  // to update the server.
  //
  // Note: The tag selection process is based on legacy versions of the
  // protocol which used protobuf extensions. We have kept the process
  // consistent as the old values cannot change.  The 5+ digit nature of the
  // tags also makes them recognizable (individually and collectively) from
  // noise in logs and debugging contexts, and creating a divergent subset of
  // tags would only make things a bit more confusing.

  oneof specifics_variant {
    AutofillSpecifics autofill = 31729;
    BookmarkSpecifics bookmark = 32904;
    PreferenceSpecifics preference = 37702;
    ThemeAndroidSpecifics theme_android = 1587331;
    ThemeIosSpecifics theme_ios = 1577986;
    ThemeSpecifics theme = 41210;
    PasswordSpecifics password = 45873;
    NigoriSpecifics nigori = 47745;
    ExtensionSpecifics extension = 48119;
    AppSpecifics app = 48364;
    SessionSpecifics session = 50119;
    AutofillProfileSpecifics autofill_profile = 63951;
    SearchEngineSpecifics search_engine = 88610;
    ExtensionSettingSpecifics extension_setting = 96159;
    AppSettingSpecifics app_setting = 103656;
    HistoryDeleteDirectiveSpecifics history_delete_directive = 150251;
    DeviceInfoSpecifics device_info = 154522;
    PriorityPreferenceSpecifics priority_preference = 163425;
    DictionarySpecifics dictionary = 170540;
    ManagedUserSettingSpecifics managed_user_setting = 186662;
    AppListSpecifics app_list = 229170;
    AutofillWalletSpecifics autofill_wallet = 306270;
    WalletMetadataSpecifics wallet_metadata = 330441;
    ArcPackageSpecifics arc_package = 340906;
    PrinterSpecifics printer = 410745;
    ReadingListSpecifics reading_list = 411028;
    UserEventSpecifics user_event = 455206;
    UserConsentSpecifics user_consent = 556014;
    SendTabToSelfSpecifics send_tab_to_self = 601980;
    SecurityEventSpecifics security_event = 600372;
    WebAppSpecifics web_app = 673225;
    WifiConfigurationSpecifics wifi_configuration = 662827;
    OsPreferenceSpecifics os_preference = 702141;
    OsPriorityPreferenceSpecifics os_priority_preference = 703915;
    SharingMessageSpecifics sharing_message = 728866;
    WorkspaceDeskSpecifics workspace_desk = 874841;
    WebauthnCredentialSpecifics webauthn_credential = 895275;
    HistorySpecifics history = 963985;
    PrintersAuthorizationServerSpecifics printers_authorization_server = 974304;
    SavedTabGroupSpecifics saved_tab_group = 1004874;
    AutofillWalletUsageSpecifics autofill_wallet_usage = 1033580;
    ContactInfoSpecifics contact_info = 1034378;
    IncomingPasswordSharingInvitationSpecifics
        incoming_password_sharing_invitation = 1141935;
    OutgoingPasswordSharingInvitationSpecifics
        outgoing_password_sharing_invitation = 1142081;
    AutofillWalletCredentialSpecifics autofill_wallet_credential = 1164238;
    SharedTabGroupDataSpecifics shared_tab_group_data = 1239418;
    CollaborationGroupSpecifics collaboration_group = 1259076;
    ProductComparisonSpecifics product_comparison = 1329438;
    CookieSpecifics cookie = 1281100;
    AutofillValuableSpecifics autofill_valuable = 1419865;
    SharedTabGroupAccountDataSpecifics shared_tab_group_account_data = 1429255;
    SharedCommentSpecifics shared_comment = 1484017;
    AccountSettingSpecifics account_setting = 1438954;
    AiThreadSpecifics ai_thread = 1517585;
    ContextualTaskSpecifics contextual_task = 1518931;
    AutofillValuableMetadataSpecifics autofill_valuable_metadata = 1520954;
    SkillSpecifics skill = 1564245;
    GeminiThreadSpecifics gemini_thread = 1569348;
    EncryptedTabContextContainerSpecifics encrypted_tab_context_container =
        1656053;
    EncryptedTabContextItemSpecifics encrypted_tab_context_item = 1661069;
    NotebookSpecifics notebook = 1670544;
    JourneySpecifics journey = 1670131;
    AutofillEntitySuppressionSpecifics autofill_entity_suppression = 1688594;
    // When adding a new type, follow the docs below and keep this comment as
    // the last entry.
    // https://www.chromium.org/developers/design-documents/sync/integration-checklist/

    // No-longer-supported data types, in various stages of removal.
    // TODO(crbug.com/40881888): Eventually, these should all become "reserved"
    // fields, or at least use "EmptySpecifics". But some of them are still
    // needed by the server, e.g. to support older clients.
    EmptySpecifics app_notification = 45184 [deprecated = true];
    EmptySpecifics synced_notification = 153108 [deprecated = true];
    EmptySpecifics synced_notification_app_info = 235816 [deprecated = true];
    EmptySpecifics managed_user = 194582 [deprecated = true];
    EmptySpecifics managed_user_shared_setting = 202026 [deprecated = true];
    EmptySpecifics managed_user_allowlist = 306060 [deprecated = true];
    EmptySpecifics accessibility_annotation = 1588764 [deprecated = true];
    AutofillOfferSpecifics autofill_offer = 774329 [deprecated = true];
    EmptySpecifics web_apk = 1117170 [deprecated = true];
    TypedUrlSpecifics typed_url = 40781 [deprecated = true];
  }
  reserved 161496;
  reserved "experiments";
  reserved 181534;
  reserved "favicon_tracking";
  reserved 182019;
  reserved "favicon_image";
  reserved 218175;
  reserved "wifi_credential";
  reserved 223759;
  reserved "article";
  reserved 545005;
  reserved "mountain_share";
  reserved 1026052;
  reserved "segmentation";
  reserved 1073150;
  reserved "power_bookmark";
  reserved 1267844;
  reserved "plus_address";
  reserved 1303742;
  reserved "plus_address_setting";
}

message EmptySpecifics {}
