Virtual-Kimi / kimi-js /kimi-logic.js
VirtualKimi's picture
Upload 49 files
3d50167 verified
raw
history blame
1.96 kB
// Kimi Logic - Delegates to unified emotion system
if (!window.kimiAnalyzeEmotion)
window.kimiAnalyzeEmotion = function (text, lang = "auto") {
if (!window.kimiEmotionSystem) {
window.kimiEmotionSystem = new (window.KimiEmotionSystem || function () {})();
}
if (window.kimiEmotionSystem && typeof window.kimiEmotionSystem.analyzeEmotion === "function") {
return window.kimiEmotionSystem.analyzeEmotion(text, lang);
}
return "neutral";
};
if (!window.getPersonalityAverage)
window.getPersonalityAverage = function (traits) {
if (!window.kimiEmotionSystem) {
window.kimiEmotionSystem = new (window.KimiEmotionSystem || function () {})();
}
if (window.kimiEmotionSystem && typeof window.kimiEmotionSystem.calculatePersonalityAverage === "function") {
return window.kimiEmotionSystem.calculatePersonalityAverage(traits);
}
if (!traits || typeof traits !== "object") return 50;
const values = Object.values(traits).filter(v => typeof v === "number" && !isNaN(v));
if (values.length === 0) return 50;
const sum = values.reduce((a, b) => a + b, 0);
return Math.round(sum / values.length);
};
if (!window.updatePersonalityTraitsFromEmotion)
window.updatePersonalityTraitsFromEmotion = async function (emotion, text) {
if (!window.kimiEmotionSystem) {
window.kimiEmotionSystem = new (window.KimiEmotionSystem || function () {})();
}
if (window.kimiEmotionSystem && typeof window.kimiEmotionSystem.updatePersonalityFromEmotion === "function") {
try {
await window.kimiEmotionSystem.updatePersonalityFromEmotion(emotion, text);
} catch (error) {
console.error("Error updating personality traits from emotion:", error);
}
}
};