// 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.

syntax = "proto2";

package lens.proto;

option optimize_for = LITE_RUNTIME;

message LensOverlaySuggestInputs {
  // The encoded image suggest signals.
  // Passed in the iil= param to the Suggest server.
  optional string encoded_image_signals = 1;

  // The base64url encoded request id.
  // Passed in the vsrid= param to the Suggest server.
  optional string encoded_request_id = 2;

  // The session id.
  // Passed in the gsessionid= param to the Suggest server.
  optional string search_session_id = 3;

  // The base64url encoded visual search interaction log data.
  // Passed in the vsint= param to the Suggest server.
  optional string encoded_visual_search_interaction_log_data = 4;

  // Whether or not to include the request and search session ids
  // in contextual query flow suggest requests in the
  // "gsessionid" and "vsrid" params.
  optional bool send_gsession_vsrid_for_contextual_suggest = 5;

  // Whether or not to include the request and search session ids
  // in Lens query flow suggest requests in the
  // "gsessionid" and "vsrid" params. If the request was a multimodal request
  // starting from a contextual search, the "vit" param will also be included.
  optional bool send_gsession_vsrid_vit_for_lens_suggest = 6;

  // Whether or not to include the visual search interaction log data
  // in Lens query flow suggest requests in the "vsint" param.
  optional bool send_vsint_for_lens_suggest = 7;

  // The visual input type value to be included in the "vit" param for
  // contextual suggest requests.
  optional string contextual_visual_input_type = 8;

  // Whether or not to send the page title and url in the request.
  optional bool send_page_title_and_url = 9;

  // The page title of the specific page for which this request is contextual.
  optional string page_title = 10;

  // The page url of the specific page for which this request is contextual.
  optional string page_url = 11;

  // The base64url encoded contextual inputs proto (lens::LensOverlayContextualInputs).
  // Passed in the cinpts= param to the Suggest server.
  optional string encoded_contextual_inputs = 12;
}

message LensOverlayUrlResponse {
  // The side panel url to load.
  optional string url = 1;

  // The page URL that was sent in the request that returned this response, if
  // any.
  optional string page_url = 2;
}
