// Copyright 2026 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Do not edit this file manually. See README.chromium for details on
// how to edit this file.

syntax = 'proto3';

option optimize_for = LITE_RUNTIME;
option java_package = 'org.chromium.components.omnibox';
option java_outer_classname = 'ModelRuleProto';

package omnibox;

import "input_type.proto";
import "model_mode.proto";
import "tool_mode.proto";

// Rule for restricting a model.
// Next ID: 6
message ModelRule {
  // The model that is being restricted.
  optional ModelMode model = 1;
  // The tools that are allowed to be used with the model.
  // If allow_all_tools is true, this field is ignored.
  repeated ToolMode allowed_tools = 2;
  // The input types that are allowed to be used with the model.
  // If allow_all_input_types is true, this field is ignored.
  repeated InputType allowed_input_types = 3;
  // If true, all tools are allowed with this model.
  optional bool allow_all_tools = 4;
  // If true, all input types are allowed with this model.
  optional bool allow_all_input_types = 5;
}
