1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/common/compose/type_conversions.h"
#include "components/optimization_guide/core/model_execution/optimization_guide_model_execution_error.h"
using ModelExecutionError = optimization_guide::
OptimizationGuideModelExecutionError::ModelExecutionError;
optimization_guide::proto::ComposeLength ComposeLength(
compose::mojom::StyleModifier modifier) {
switch (modifier) {
case compose::mojom::StyleModifier::kShorter:
return optimization_guide::proto::ComposeLength::COMPOSE_SHORTER;
case compose::mojom::StyleModifier::kLonger:
return optimization_guide::proto::ComposeLength::COMPOSE_LONGER;
case compose::mojom::StyleModifier::kUnset:
default:
return optimization_guide::proto::ComposeLength::
COMPOSE_UNSPECIFIED_LENGTH;
}
}
optimization_guide::proto::ComposeTone ComposeTone(
compose::mojom::StyleModifier modifier) {
switch (modifier) {
case compose::mojom::StyleModifier::kCasual:
return optimization_guide::proto::ComposeTone::COMPOSE_INFORMAL;
case compose::mojom::StyleModifier::kFormal:
return optimization_guide::proto::ComposeTone::COMPOSE_FORMAL;
case compose::mojom::StyleModifier::kUnset:
default:
return optimization_guide::proto::ComposeTone::COMPOSE_UNSPECIFIED_TONE;
}
}
compose::mojom::ComposeStatus ComposeStatusFromOptimizationGuideResult(
const optimization_guide::OptimizationGuideModelStreamingExecutionResult&
result) {
if (result.response.has_value()) {
return compose::mojom::ComposeStatus::kOk;
}
switch (result.response.error().error()) {
case ModelExecutionError::kUnknown:
case ModelExecutionError::kGenericFailure:
return compose::mojom::ComposeStatus::kServerError;
case ModelExecutionError::kRequestThrottled:
return compose::mojom::ComposeStatus::kRequestThrottled;
case ModelExecutionError::kRetryableError:
return compose::mojom::ComposeStatus::kRetryableError;
case ModelExecutionError::kInvalidRequest:
return compose::mojom::ComposeStatus::kInvalidRequest;
case ModelExecutionError::kPermissionDenied:
return compose::mojom::ComposeStatus::kPermissionDenied;
case ModelExecutionError::kNonRetryableError:
return compose::mojom::ComposeStatus::kNonRetryableError;
case ModelExecutionError::kUnsupportedLanguage:
return compose::mojom::ComposeStatus::kUnsupportedLanguage;
case ModelExecutionError::kFiltered:
case ModelExecutionError::kResponseLowQuality:
return compose::mojom::ComposeStatus::kFiltered;
case ModelExecutionError::kDisabled:
return compose::mojom::ComposeStatus::kDisabled;
case ModelExecutionError::kCancelled:
return compose::mojom::ComposeStatus::kCancelled;
}
}
optimization_guide::proto::UserFeedback OptimizationFeedbackFromComposeFeedback(
compose::mojom::UserFeedback feedback) {
switch (feedback) {
case compose::mojom::UserFeedback::kUserFeedbackPositive:
return optimization_guide::proto::UserFeedback::USER_FEEDBACK_THUMBS_UP;
case compose::mojom::UserFeedback::kUserFeedbackNegative:
return optimization_guide::proto::UserFeedback::USER_FEEDBACK_THUMBS_DOWN;
default:
return optimization_guide::proto::UserFeedback::USER_FEEDBACK_UNSPECIFIED;
}
}
optimization_guide::proto::ComposeUpfrontInputMode ComposeUpfrontInputMode(
compose::mojom::InputMode mode) {
switch (mode) {
case compose::mojom::InputMode::kPolish:
return optimization_guide::proto::ComposeUpfrontInputMode::
COMPOSE_POLISH_MODE;
case compose::mojom::InputMode::kElaborate:
return optimization_guide::proto::ComposeUpfrontInputMode::
COMPOSE_ELABORATE_MODE;
case compose::mojom::InputMode::kFormalize:
return optimization_guide::proto::ComposeUpfrontInputMode::
COMPOSE_FORMALIZE_MODE;
case compose::mojom::InputMode::kUnset:
return optimization_guide::proto::ComposeUpfrontInputMode::
COMPOSE_UNSPECIFIED_MODE;
}
}
|