| // Copyright 2025 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| edition = "2023"; |
| |
| package optimization_guide.proto; |
| |
| import "components/optimization_guide/proto/features/common_quality_data.proto"; |
| |
| import "components/optimization_guide/proto/model_quality_metadata.proto"; |
| |
| option optimize_for = LITE_RUNTIME; |
| option java_package = "org.chromium.components.optimization_guide.features.proto"; |
| |
| option java_outer_classname = "EnhancedCalendarProto"; |
| |
| // DO NOT EDIT THIS FILE DIRECTLY! |
| // |
| // This file is generated in g3 and then synced to Chrome. Instead, please refer to |
| // http://go/chrome-mqls-onboarding (Google-internal link), and then changes will |
| // be synced with Chrome automatically. |
| |
| message EnhancedCalendarLoggingData { |
| // The feature request. |
| EnhancedCalendarRequest request = 1 [features = { field_presence: EXPLICIT }]; |
| |
| // The feature response. |
| EnhancedCalendarResponse response = 2 [features = { field_presence: EXPLICIT }]; |
| |
| // The model execution metadata. |
| ModelExecutionInfo model_execution_info = 3 [features = { field_presence: EXPLICIT }]; |
| } |
| |
| // The request to execute an Enhanced Calendar query. |
| // Next ID: 8 |
| message EnhancedCalendarRequest { |
| // The web page context used for generating the event. Context is expected to |
| // contain calendar event dates or related information to populate the |
| // calendar description. |
| PageContext page_context = 3 [features = { field_presence: EXPLICIT }]; |
| |
| // The prompt used for generating the event. If the prompt is not provided, |
| // the default prompt from the feature config will be used. |
| string prompt = 4 [features = { field_presence: IMPLICIT }]; |
| |
| // The selected text which represents a "moment" (date or time). This will |
| // likely be the start date, end date, start time or end time of the event. |
| // Used by the model to know which "moment" within the webpage this request |
| // refers to. |
| string selected_text = 5 [features = { field_presence: IMPLICIT }]; |
| |
| // The text surrounding the `selected_text` (a longer string which starts |
| // before and ends after), used to help locate the specific instance of the |
| // selected text on a given webpage. |
| string surrounding_text = 6 [features = { field_presence: IMPLICIT }]; |
| |
| // The user's locale. Format is a BCP 47 language code, e.g. "en-US". This |
| // will be used to help infer the format of the dates and times in the page |
| // context. If none is provided or if it is invalid, "en-US" will be used. |
| string user_locale = 7 [features = { field_presence: IMPLICIT }]; |
| |
| reserved 1, 2; |
| } |
| |
| // The response from executing a Enhanced Calendar query. |
| // Next ID: 12 |
| message EnhancedCalendarResponse { |
| // The model's output title for the calendar event. |
| string event_title = 1 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output summary for the calendar event. |
| string event_summary = 2 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output start date for the calendar event (time is separate). |
| // Format should be "DD/MM/YYYY". Empty if none could be found. |
| string start_date = 3 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output end date for the calendar event (time is separate). |
| // Format should be "DD/MM/YYYY". Empty if none could be found. |
| string end_date = 4 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output recurrence state for the calendar event. |
| RecurrenceState recurrence = 5 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output event location for the calendar event. |
| string event_location = 6 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output for if the event is an all day event. |
| bool is_all_day = 7 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output start time for the calendar event (date is separate). |
| // Format should be "HH:MM" (in 24hr format). Empty if none could be found, or |
| // if the event is an all day event. |
| string start_time = 8 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output end time for the calendar event (date is separate). |
| // Format should be "HH:MM" (in 24hr format). Empty if none could be found, or |
| // if the event is an all day event. |
| string end_time = 9 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output for if the event is explicitly |
| // booked/reserved/confirmed. |
| bool is_event_booked = 10 [features = { field_presence: IMPLICIT }]; |
| |
| // The model's output for the event confirmation code, if available. |
| string event_confirmation_code = 11 [features = { field_presence: IMPLICIT }]; |
| } |
| |
| // The recurrence cadence for a repeated calendar event. If there's no |
| // reoccurrence or there's a reoccurrence that isn't strictly one of the enum |
| // options, state "STATE_UNSPECIFIED" should be used. Next ID: 6 |
| enum RecurrenceState { |
| // An event that is not repeated. |
| STATE_UNSPECIFIED = 0; |
| |
| // An event that repeats every day. |
| STATE_EVERY_DAY = 1; |
| |
| // An event that repeats every week. |
| STATE_EVERY_WEEK = 2; |
| |
| // An event that repeats every two weeks. |
| STATE_EVERY_TWO_WEEKS = 3; |
| |
| // An event that repeats every month. |
| STATE_EVERY_MONTH = 4; |
| |
| // An event that repeats every year. |
| STATE_EVERY_YEAR = 5; |
| } |