blob: d2430a07275afabd8084bce5ea64e2f08fc39c62 [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/model_quality_metadata.proto";
option optimize_for = LITE_RUNTIME;
option java_package = "org.chromium.components.optimization_guide.features.proto";
option java_outer_classname = "PermissionsAIProto";
// 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 PermissionsAILoggingData {
PermissionsAiRequest request = 1;
PermissionsAiResponse response = 2;
ModelExecutionInfo model_execution_info = 3;
}
message PermissionsAiRequest {
// Text that was extracted from the page through GetInnerText within Chromium.
// This text will be used to add onto the prompt under the model execution
// config.
string rendered_text = 2;
// The permission that the page requests from the user.
PermissionType permission_type = 3;
reserved 1;
}
// Information about LLM detection of a page of what the page is about. This
// information is used to determine if the page's request for a specific
// permission is backed up by the sites content.
message PermissionsAiResponse {
// The AI decision: whether the request seems legit and should be surfaced to
// the user, or whether it should be blocked directly.
bool is_permission_relevant = 1;
reserved 2;
}
enum PermissionType {
PERMISSION_TYPE_NOT_SPECIFIED = 0;
PERMISSION_TYPE_NOTIFICATIONS = 1;
PERMISSION_TYPE_GEOLOCATION = 2;
}