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

// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.

syntax = "proto2";

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

option optimize_for = LITE_RUNTIME;

package sync_pb;

// Specifics for a history journey.
// LINT.IfChange(JourneySpecifics)
message JourneySpecifics {
  // Used as a client_tag by Sync - unique identifier for the entity (GUID).
  optional string journey_id = 1;
  optional string title = 2;
  // UTF-8 encoded strings.
  optional string emoji = 3;
  optional string overview = 4;
  optional string short_overview = 5;
  optional int64 creation_time_windows_epoch_micros = 6;

  message HistoryEntry {
    optional int64 visit_timestamp_windows_epoch_micros = 1;
  }
  repeated HistoryEntry history_entries = 7;

  message ContinuationQuery {
    optional string title = 1;
    optional string prompt = 2;
  }
  repeated ContinuationQuery continuation_queries = 8;
}
// LINT.ThenChange(//components/history/core/browser/journeys/journeys_sync_bridge.cc:TrimAllSupportedFieldsFromRemoteSpecifics,
// //components/history/core/browser/journeys/journeys_database.cc)
