Virtual-Kimi / kimi-js /kimi-personality-utils.js
VirtualKimi's picture
Upload 38 files
6236c66 verified
// Central personality utilities (single source of truth wrappers)
// All calculations route through KimiEmotionSystem if available.
(function () {
function calcAverage(traits) {
if (window.kimiEmotionSystem && typeof window.kimiEmotionSystem.calculatePersonalityAverage === "function") {
return window.kimiEmotionSystem.calculatePersonalityAverage(traits || {});
}
const keys = ["affection", "playfulness", "intelligence", "empathy", "humor", "romance"];
let sum = 0,
c = 0;
for (const k of keys) {
const v = traits && traits[k];
if (typeof v === "number" && isFinite(v)) {
sum += Math.max(0, Math.min(100, v));
c++;
}
}
return c ? Number((sum / c).toFixed(2)) : 0;
}
/**
* @deprecated Call updateGlobalPersonalityUI() directly.
*/
async function refreshUI(characterKey = null) {
if (window.updateGlobalPersonalityUI) {
return window.updateGlobalPersonalityUI(characterKey);
}
}
window.KimiPersonalityUtils = { calcAverage, refreshUI };
})();