<!--
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.
-->

<!--

This file describes the enumerations referenced by entries in histograms.xml for
this directory. Some enums may instead be listed in the central enums.xml file
at src/tools/metrics/histograms/enums.xml when multiple files use them.

For best practices on writing enumerations descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md#Enum-Histograms

Please follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
chromium-metrics-reviews@google.com.
-->

<histogram-configuration>

<enums>

<!-- LINT.IfChange(SkillsDerivedSource) -->

<enum name="SkillsDerivedSource">
  <int value="0" label="Unknown"/>
  <int value="1" label="FirstParty"/>
  <int value="2" label="UserCreated"/>
  <int value="3" label="DerivedFromFirstParty"/>
  <int value="4" label="Enterprise"/>
  <int value="5" label="DerivedFromEnterprise"/>
</enum>

<!-- LINT.ThenChange(//components/sync/protocol/skill_specifics.proto:SkillSource) -->

<!-- LINT.IfChange(SkillsDialogAction) -->

<enum name="SkillsDialogAction">
  <int value="0" label="Opened Dialog"/>
  <int value="1" label="Saved New Skill"/>
  <int value="2" label="Clicked Cancel in Dialog"/>
  <int value="3" label="Clicked Refine in Dialog"/>
  <int value="4" label="Deleted Skill"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skills_metrics.h:SkillsDialogAction) -->

<!-- LINT.IfChange(SkillsDownloadRequestStatus) -->

<enum name="SkillsDownloadRequestStatus">
  <int value="0" label="Download Request Sent"/>
  <int value="1" label="Download Response Received"/>
  <int value="2" label="Download Already Running"/>
  <int value="3" label="Download Timed Out"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skills_metrics.h:SkillsDownloadRequestStatus) -->

<!-- LINT.IfChange(SkillsFetchResult) -->

<enum name="SkillsFetchResult">
  <int value="0" label="Success"/>
  <int value="1" label="Empty Response Body"/>
  <int value="2" label="Empty Response Header"/>
  <int value="3" label="Proto Parse Failure"/>
  <int value="4" label="Network Error (any non-200)"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skills_metrics.h:SkillsFetchResult) -->

<!-- LINT.IfChange(SkillsInvokeAction) -->

<enum name="SkillsInvokeAction">
  <int value="0" label="Used 1st Party Skill"/>
  <int value="1" label="Used User-Created Skill"/>
  <int value="2" label="Used Derived from 1st Party (Remixed) Skill"/>
  <int value="3" label="Unknown"/>
  <int value="4" label="Used Enterprise Skill"/>
  <int value="5" label="Used Derived from Enterprise Skill"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skills_metrics.h:SkillsInvokeAction) -->

<!-- LINT.IfChange(SkillsInvokeResult) -->

<enum name="SkillsInvokeResult">
  <int value="0" label="Success"/>
  <int value="1" label="Skill Not Found"/>
  <int value="2" label="Timeout"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skills_metrics.h:SkillsInvokeResult) -->

<!-- LINT.IfChange(SkillsManagementAction) -->

<enum name="SkillsManagementAction">
  <int value="0" label="Page Opened"/>
  <int value="1" label="Clicked Add Skill"/>
  <int value="2" label="Clicked Edit Skill"/>
  <int value="3" label="Clicked Delete Skill"/>
  <int value="4" label="Clicked Copy Instructions"/>
  <int value="5" label="Clicked Browse Skills"/>
  <int value="6" label="Non-Empty Search"/>
  <int value="7" label="Empty Search"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skill_metrics.mojom:SkillsManagementAction) -->

<!-- LINT.IfChange(SkillsManagementError) -->

<enum name="SkillsManagementError">
  <int value="0" label="Tab Controller Does Not Exist"/>
  <int value="1" label="Skills Service Not Ready"/>
  <int value="2" label="1P Skill Does Not Exist"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skills_metrics.h:SkillsManagementError) -->

<!-- LINT.IfChange(SkillsPromptRefinementOutcome) -->

<enum name="SkillsPromptRefinementOutcome">
  <int value="0" label="Not Refined"/>
  <int value="1" label="Used Refined Prompt"/>
  <int value="2" label="Reverted and Not Used"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skill_metrics.mojom:SkillsPromptRefinementOutcome) -->

<!-- LINT.IfChange(SkillsRefineResult) -->

<enum name="SkillsRefineResult">
  <int value="0" label="Success"/>
  <int value="1" label="Model Execution Failed"/>
  <int value="2" label="Parse Error"/>
  <int value="3" label="No Suggestions"/>
  <int value="4" label="Service Unavailable"/>
  <int value="5" label="Invalid Request"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skills_metrics.h:SkillsRefineResult) -->

<!-- LINT.IfChange(SkillsSaveResult) -->

<enum name="SkillsSaveResult">
  <int value="0" label="Success"/>
  <int value="1" label="UI Context Lost"/>
  <int value="2" label="Skill Not Found"/>
  <int value="3" label="Write Failed"/>
  <int value="4" label="Service Not Found"/>
  <int value="5" label="Service Not Ready"/>
  <int value="6" label="Invalid Request"/>
</enum>

<!-- LINT.ThenChange(//components/skills/public/skills_metrics.h:SkillsSaveResult) -->

</enums>

</histogram-configuration>
