// 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 = 'ToolModeProto';

package omnibox;

// The AIM tool mode that is applied to a query (e.g. on the input plate or
// fusebox).
// Next ID: 12
// LINT.IfChange(ToolMode)
enum ToolMode {
  TOOL_MODE_UNSPECIFIED = 0;

  // When enabled, these tools are visible and selectable in the tools UI.
  TOOL_MODE_DEEP_SEARCH = 1;
  TOOL_MODE_CANVAS = 2;
  TOOL_MODE_IMAGE_GEN = 4;
  TOOL_MODE_DEEP_BROWSE = 5;
  TOOL_MODE_AGENT_TASK = 11;

  // These tools do not have an explicit UI, but are used for one of the AIM
  // tools that does, and is used to trigger more granular suggestions.
  TOOL_MODE_IMAGE_GEN_SELFIE = 6;
  TOOL_MODE_IMAGE_GEN_UPLOAD = 7;

  // This tool is Fusebox-specific and is for the AI Mode tool.
  TOOL_MODE_AIM = 9;

  // Temporary tool mode to differentiate scenarios where we need to suppress
  // suggestions.
  TOOL_MODE_DISABLE_SUGGEST = 8;

  // Prompt suggestion for asset generation.
  TOOL_MODE_AIM_GEN_PROMPT = 10;

  // Below tools are not used.
  TOOL_MODE_GEMINI_PRO = 3;
}
// LINT.ThenChange(//components/omnibox/composebox/composebox_query.mojom:ToolMode, //components/omnibox/common/omnibox_metrics_utils.cc:ToolMode, //tools/metrics/histograms/metadata/omnibox/histograms.xml:OmniboxToolMode)
