| // Copyright 2024 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; | |
| import "components/sync/protocol/ai_thread_specifics.proto"; | |
| // LINT.IfChange(ContextualTaskSpecifics) | |
| // Sync datatype representing a contextual task. | |
| message ContextualTaskSpecifics { | |
| // ID to uniquely identify the specifics proto. | |
| optional string guid = 1; | |
| oneof entity { | |
| ContextualTask contextual_task = 2; | |
| UrlResource url_resource = 3; | |
| } | |
| // A mechanism to identify the client version that wrote this specifics. | |
| // Designed to aid business logic when reading newly added fields that | |
| // didn't exist in older clients. | |
| // The client version must be incremented whenever a new field is added to the | |
| // specifics. | |
| optional int32 version = 4; | |
| } | |
| message ContextualTask { | |
| // Title of the task. | |
| optional string title = 1; | |
| // ID of the AI thread that is associated with the task. | |
| optional string thread_id = 2; | |
| // Type of the AI thread. | |
| optional AiThreadSpecifics.ThreadType thread_type = 3; | |
| } | |
| message UrlResource { | |
| // The GUID of its task. | |
| optional string task_guid = 1; | |
| // URL attached to the task. | |
| optional string url = 2; | |
| } | |
| // LINT.ThenChange(//components/contextual_tasks/internal/contextual_task_sync_bridge.cc:TrimAllSupportedFieldsFromRemoteSpecifics) |