blob: 84b4fe30d84d8c7fe244f8b9ebb48998733d8304 [file] [log] [blame]
// 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;
}