blob: 0fc8b13a0c8153d9da0e33d85d2400bee8668780 [file] [log] [blame]
// 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 = "proto3";
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 = "PasswordChangeSubmissionProto";
// DO NOT EDIT THIS FILE DIRECTLY!
//
// This file is generated in g3 and then synced to Chrome. Instead, please
// refer to http://go/chrome-intelligence-feature-protos (Google-internal link),
// and then changes will be synced with Chrome automatically.
message PasswordChangeSubmissionLoggingData {
PasswordChangeRequest request = 1;
PasswordChangeResponse response = 2;
ModelExecutionInfo model_execution_info = 3;
PasswordChangeQuality quality = 4;
}
message PasswordChangeRequest {
// The context of the page that the form is on.
PageContext page_context = 1;
}
message PasswordChangeResponse {
// The outcome of the form submission.
PasswordChangeSubmissionData outcome_data = 1;
// Temporary field for storing output as a string, until MES supports
// structured outputs.
string model_output = 2;
}
message PasswordChangeSubmissionData {
// The outcome of the password change submission.
PasswordChangeOutcome submission_outcome = 1;
// If the submission_outcome was UNSUCCESSFUL_OUTCOME, fill this with the
// type.
repeated PasswordChangeErrorCase error_case = 2;
// Value of the message that made the model come up with the outcome and error
// case.
string submission_outcome_message = 3;
enum PasswordChangeOutcome {
UNKNOWN_OUTCOME = 0;
SUCCESSFUL_OUTCOME = 1;
UNSUCCESSFUL_OUTCOME = 2;
}
enum PasswordChangeErrorCase {
UNKNOWN_CASE = 0;
// Old password filled was incorrect.
OLD_PASSWORD_INCORRECT = 1;
// New and confirm new passwords don't match.
PASSWORDS_DO_NOT_MATCH = 2;
// New password doesn't match site requirements.
NEW_PASSWORD_INCORRECT = 3;
// There is another type of error in the page.
PAGE_ERROR = 4;
}
}
// Any data collected on the client outside of the model request and response.
// This includes user feedback, and metrics about feature usage.
message PasswordChangeQuality {
// The model final status for cataloging a Successful Password Change
// Submission.
FinalModelStatus final_model_status = 1;
// How long the user had to wait before seeing the model response.
int64 request_latency_ms = 2;
}