Spaces:
Running
Running
// 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); | |
} | |
} | |
}; | |