0

[iOS][CI] Add support for new enhanced calendar proto in MES client-side

Added feature key for new enhanced calendar proto in client-side MES.

Bug: 390621633
Change-Id: I6e79f0552d5e55af34022185fb61ef3a5137d7c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6300756
Reviewed-by: Adam Arcaro <adamta@google.com>
Commit-Queue: Nicolas MacBeth <nicolasmacbeth@google.com>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425197}
This commit is contained in:
Nicolas MacBeth
2025-02-26 09:15:42 -08:00
committed by Chromium LUCI CQ
parent eed5e33b08
commit 31a4c8c24d
7 changed files with 23 additions and 1 deletions
components/optimization_guide
tools/metrics/histograms/metadata/optimization

@@ -46,6 +46,8 @@ enum class ModelBasedCapabilityKey {
proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_PERMISSIONS_AI, proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_PERMISSIONS_AI,
kWritingAssistanceApi = proto::ModelExecutionFeature:: kWritingAssistanceApi = proto::ModelExecutionFeature::
MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API, MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API,
kEnhancedCalendar =
proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR,
}; };
inline std::ostream& operator<<(std::ostream& out, inline std::ostream& operator<<(std::ostream& out,
@@ -85,11 +87,13 @@ inline std::ostream& operator<<(std::ostream& out,
return out << "PermissionsAi"; return out << "PermissionsAi";
case ModelBasedCapabilityKey::kWritingAssistanceApi: case ModelBasedCapabilityKey::kWritingAssistanceApi:
return out << "WritingAssistanceApi"; return out << "WritingAssistanceApi";
case ModelBasedCapabilityKey::kEnhancedCalendar:
return out << "EnhancedCalendar";
} }
return out; return out;
} }
inline constexpr std::array<ModelBasedCapabilityKey, 17> inline constexpr std::array<ModelBasedCapabilityKey, 18>
kAllModelBasedCapabilityKeys = { kAllModelBasedCapabilityKeys = {
ModelBasedCapabilityKey::kCompose, ModelBasedCapabilityKey::kCompose,
ModelBasedCapabilityKey::kTabOrganization, ModelBasedCapabilityKey::kTabOrganization,
@@ -108,6 +112,7 @@ inline constexpr std::array<ModelBasedCapabilityKey, 17>
ModelBasedCapabilityKey::kScamDetection, ModelBasedCapabilityKey::kScamDetection,
ModelBasedCapabilityKey::kPermissionsAi, ModelBasedCapabilityKey::kPermissionsAi,
ModelBasedCapabilityKey::kWritingAssistanceApi, ModelBasedCapabilityKey::kWritingAssistanceApi,
ModelBasedCapabilityKey::kEnhancedCalendar,
}; };
// A "real" feature implemented by a model-based capability. // A "real" feature implemented by a model-based capability.
@@ -192,6 +197,9 @@ inline ModelBasedCapabilityKey ToModelBasedCapabilityKey(
case proto::ModelExecutionFeature:: case proto::ModelExecutionFeature::
MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API: MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API:
return ModelBasedCapabilityKey::kWritingAssistanceApi; return ModelBasedCapabilityKey::kWritingAssistanceApi;
case proto::ModelExecutionFeature::
MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR:
return ModelBasedCapabilityKey::kEnhancedCalendar;
case proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_UNSPECIFIED: case proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_UNSPECIFIED:
NOTREACHED() << "Invalid feature"; NOTREACHED() << "Invalid feature";
} }
@@ -246,6 +254,9 @@ inline proto::ModelExecutionFeature ToModelExecutionFeatureProto(
case ModelBasedCapabilityKey::kWritingAssistanceApi: case ModelBasedCapabilityKey::kWritingAssistanceApi:
return proto::ModelExecutionFeature:: return proto::ModelExecutionFeature::
MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API; MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API;
case ModelBasedCapabilityKey::kEnhancedCalendar:
return proto::ModelExecutionFeature::
MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR;
} }
} }

@@ -174,6 +174,7 @@ std::optional<proto::OptimizationTarget> GetOptimizationTargetForCapability(
case ModelBasedCapabilityKey::kTextSafety: case ModelBasedCapabilityKey::kTextSafety:
case ModelBasedCapabilityKey::kBlingPrototyping: case ModelBasedCapabilityKey::kBlingPrototyping:
case ModelBasedCapabilityKey::kPasswordChangeSubmission: case ModelBasedCapabilityKey::kPasswordChangeSubmission:
case ModelBasedCapabilityKey::kEnhancedCalendar:
return std::nullopt; return std::nullopt;
} }
} }

@@ -222,6 +222,9 @@ net::NetworkTrafficAnnotationTag GetNetworkTrafficAnnotation(
case ModelBasedCapabilityKey::kFormsClassifications: case ModelBasedCapabilityKey::kFormsClassifications:
// TODO(crbug.com/389631477) - Add traffic annotation. // TODO(crbug.com/389631477) - Add traffic annotation.
return MISSING_TRAFFIC_ANNOTATION; return MISSING_TRAFFIC_ANNOTATION;
case ModelBasedCapabilityKey::kEnhancedCalendar:
// TODO(crbug.com/398296762): Add network traffic annotation.
return MISSING_TRAFFIC_ANNOTATION;
case ModelBasedCapabilityKey::kHistorySearch: case ModelBasedCapabilityKey::kHistorySearch:
case ModelBasedCapabilityKey::kHistoryQueryIntent: case ModelBasedCapabilityKey::kHistoryQueryIntent:
case ModelBasedCapabilityKey::kPromptApi: case ModelBasedCapabilityKey::kPromptApi:

@@ -108,6 +108,9 @@ std::string_view GetStringNameForModelExecutionFeature(
case proto::ModelExecutionFeature:: case proto::ModelExecutionFeature::
MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API: MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API:
return "WritingAssistanceApi"; return "WritingAssistanceApi";
case proto::ModelExecutionFeature::
MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR:
return "EnhancedCalendar";
case proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_UNSPECIFIED: case proto::ModelExecutionFeature::MODEL_EXECUTION_FEATURE_UNSPECIFIED:
return "Unknown"; return "Unknown";
// Must be in sync with the ModelExecutionFeature variant in // Must be in sync with the ModelExecutionFeature variant in

@@ -21,6 +21,7 @@ proto_library("optimization_guide_proto") {
"features/common_quality_data.proto", "features/common_quality_data.proto",
"features/compose.proto", "features/compose.proto",
"features/default.proto", "features/default.proto",
"features/enhanced_calendar.proto",
"features/example_for_testing.proto", "features/example_for_testing.proto",
"features/forms_annotations.proto", "features/forms_annotations.proto",
"features/forms_classifications.proto", "features/forms_classifications.proto",

@@ -78,4 +78,5 @@ enum ModelExecutionFeature {
MODEL_EXECUTION_FEATURE_PERMISSIONS_AI = 17; MODEL_EXECUTION_FEATURE_PERMISSIONS_AI = 17;
MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API = 18; MODEL_EXECUTION_FEATURE_WRITING_ASSISTANCE_API = 18;
MODEL_EXECUTION_FEATURE_FORMS_CLASSIFICATIONS = 20; MODEL_EXECUTION_FEATURE_FORMS_CLASSIFICATIONS = 20;
MODEL_EXECUTION_FEATURE_ENHANCED_CALENDAR = 23;
} }

@@ -34,7 +34,9 @@ chromium-metrics-reviews@google.com.
</variants> </variants>
<variants name="ModelExecutionFeature"> <variants name="ModelExecutionFeature">
<variant name="BlingPrototyping" summary="Bling Prototyping"/>
<variant name="Compose" summary="Compose"/> <variant name="Compose" summary="Compose"/>
<variant name="EnhancedCalendar" summary="Enhanced Calendar"/>
<variant name="FormsAnnotations" summary="Forms Annotations"/> <variant name="FormsAnnotations" summary="Forms Annotations"/>
<variant name="FormsClassifications" summary="Forms Classifications"/> <variant name="FormsClassifications" summary="Forms Classifications"/>
<variant name="FormsPredictions" summary="Forms Predictions"/> <variant name="FormsPredictions" summary="Forms Predictions"/>