// 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 = "AmountExtractionProto";

// 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 AmountExtractionLoggingData {
  AmountExtractionRequest request = 1 [features = { field_presence: EXPLICIT }];

  AmountExtractionResponse response = 2 [features = { field_presence: EXPLICIT }];

  ModelExecutionInfo model_execution_info = 3 [features = { field_presence: EXPLICIT }];
}

message AmountExtractionRequest {
  // The annotated page content of the checkout page.
  AnnotatedPageContent annotated_page_content = 3 [features = { field_presence: EXPLICIT }];

  reserved 1, 2;
}

message AmountExtractionResponse {
  // The final checkout amount extracted from the checkout page.
  double final_checkout_amount = 2 [features = { field_presence: EXPLICIT }];

  // The ISO 4217 currency code of the amount extracted from the checkout page.
  string currency = 3 [features = { field_presence: EXPLICIT }];

  // Whether the amount extraction was successful or not.
  bool is_successful = 4 [features = { field_presence: EXPLICIT }];

  reserved 1;
}
