@inworld/web-core
Version:
76 lines (75 loc) • 3.86 kB
JavaScript
import { InteractionDislikeType, } from '../../proto/ai/inworld/engine/v1/feedback.pb.js';
export var DislikeType;
(function (DislikeType) {
DislikeType["IRRELEVANT"] = "IRRELEVANT";
DislikeType["UNSAFE"] = "UNSAFE";
DislikeType["UNTRUE"] = "UNTRUE";
DislikeType["INCORRECT_USE_KNOWLEDGE"] = "INCORRECT_USE_KNOWLEDGE";
DislikeType["UNEXPECTED_ACTION"] = "UNEXPECTED_ACTION";
DislikeType["UNEXPECTED_GOAL_BEHAVIOR"] = "UNEXPECTED_GOAL_BEHAVIOR";
DislikeType["REPETITION"] = "REPETITION";
DislikeType["UNSPECIFIED"] = "UNSPECIFIED";
})(DislikeType || (DislikeType = {}));
export class Feedback {
constructor(props) {
var _a, _b;
this.isLike = (_a = props === null || props === void 0 ? void 0 : props.isLike) !== null && _a !== void 0 ? _a : false;
this.types = (_b = props === null || props === void 0 ? void 0 : props.types) !== null && _b !== void 0 ? _b : [];
this.comment = props === null || props === void 0 ? void 0 : props.comment;
this.name = props === null || props === void 0 ? void 0 : props.name;
}
static fromProto(proto) {
const feedback = new Feedback({
isLike: proto.isLike,
types: proto.type.map((type) => Feedback.convertTypeFromProto(type)),
comment: proto.comment,
name: proto.name,
});
return feedback;
}
toProto() {
return Object.assign(Object.assign(Object.assign({ isLike: this.isLike }, (this.types.length && {
type: this.types.map((type) => Feedback.convertTypeToProto(type)),
})), (this.comment && { comment: this.comment })), (this.name && { name: this.name }));
}
static convertTypeToProto(type) {
switch (type) {
case DislikeType.IRRELEVANT:
return InteractionDislikeType.INTERACTION_DISLIKE_TYPE_IRRELEVANT;
case DislikeType.UNSAFE:
return InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNSAFE;
case DislikeType.UNTRUE:
return InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNTRUE;
case DislikeType.INCORRECT_USE_KNOWLEDGE:
return InteractionDislikeType.INTERACTION_DISLIKE_TYPE_INCORRECT_USE_KNOWLEDGE;
case DislikeType.UNEXPECTED_ACTION:
return InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNEXPECTED_ACTION;
case DislikeType.UNEXPECTED_GOAL_BEHAVIOR:
return InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNEXPECTED_GOAL_BEHAVIOR;
case DislikeType.REPETITION:
return InteractionDislikeType.INTERACTION_DISLIKE_TYPE_REPETITION;
default:
return InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNSPECIFIED;
}
}
static convertTypeFromProto(type) {
switch (type) {
case InteractionDislikeType.INTERACTION_DISLIKE_TYPE_IRRELEVANT:
return DislikeType.IRRELEVANT;
case InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNSAFE:
return DislikeType.UNSAFE;
case InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNTRUE:
return DislikeType.UNTRUE;
case InteractionDislikeType.INTERACTION_DISLIKE_TYPE_INCORRECT_USE_KNOWLEDGE:
return DislikeType.INCORRECT_USE_KNOWLEDGE;
case InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNEXPECTED_ACTION:
return DislikeType.UNEXPECTED_ACTION;
case InteractionDislikeType.INTERACTION_DISLIKE_TYPE_UNEXPECTED_GOAL_BEHAVIOR:
return DislikeType.UNEXPECTED_GOAL_BEHAVIOR;
case InteractionDislikeType.INTERACTION_DISLIKE_TYPE_REPETITION:
return DislikeType.REPETITION;
default:
return DislikeType.UNSPECIFIED;
}
}
}