openanima 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/index.js +67 -4
- package/package.json +1 -1
package/dist/bin/index.js
CHANGED
|
@@ -7084,6 +7084,12 @@ var MIRROR_PAIRS = [
|
|
|
7084
7084
|
[77, 85, "same"]
|
|
7085
7085
|
// Both about sequential vs interest-driven task handling
|
|
7086
7086
|
];
|
|
7087
|
+
var DIMENSION_RANGES = {
|
|
7088
|
+
EI: [1, 23],
|
|
7089
|
+
SN: [24, 47],
|
|
7090
|
+
TF: [48, 70],
|
|
7091
|
+
JP: [71, 93]
|
|
7092
|
+
};
|
|
7087
7093
|
function checkConsistency(answers) {
|
|
7088
7094
|
const answerMap = /* @__PURE__ */ new Map();
|
|
7089
7095
|
for (const a of answers) {
|
|
@@ -7103,12 +7109,49 @@ function checkConsistency(answers) {
|
|
|
7103
7109
|
}
|
|
7104
7110
|
}
|
|
7105
7111
|
const totalPairs = MIRROR_PAIRS.length;
|
|
7106
|
-
const
|
|
7112
|
+
const mirrorScore = totalPairs > 0 ? Math.round(consistentCount / totalPairs * 100) : 100;
|
|
7113
|
+
const uniformityWarnings = [];
|
|
7114
|
+
let uniformityPenalty = 0;
|
|
7115
|
+
for (const [dim, [start, end]] of Object.entries(DIMENSION_RANGES)) {
|
|
7116
|
+
let countA = 0;
|
|
7117
|
+
let countB = 0;
|
|
7118
|
+
for (let i = start; i <= end; i++) {
|
|
7119
|
+
const a = answerMap.get(i);
|
|
7120
|
+
if (a === "A") countA++;
|
|
7121
|
+
else if (a === "B") countB++;
|
|
7122
|
+
}
|
|
7123
|
+
const total = countA + countB;
|
|
7124
|
+
if (total === 0) continue;
|
|
7125
|
+
const dominantCount = Math.max(countA, countB);
|
|
7126
|
+
const dominantChoice = countA >= countB ? "A" : "B";
|
|
7127
|
+
const pct = Math.round(dominantCount / total * 100);
|
|
7128
|
+
if (pct >= 96) {
|
|
7129
|
+
uniformityWarnings.push({ dimension: dim, dominantChoice, percentage: pct });
|
|
7130
|
+
uniformityPenalty += 25;
|
|
7131
|
+
} else if (pct >= 91) {
|
|
7132
|
+
uniformityWarnings.push({ dimension: dim, dominantChoice, percentage: pct });
|
|
7133
|
+
uniformityPenalty += 10;
|
|
7134
|
+
}
|
|
7135
|
+
}
|
|
7136
|
+
const allA = answers.every((a) => a.answer === "A");
|
|
7137
|
+
const allB = answers.every((a) => a.answer === "B");
|
|
7138
|
+
if (allA || allB) {
|
|
7139
|
+
uniformityPenalty += 50;
|
|
7140
|
+
}
|
|
7141
|
+
const uniformityScore = Math.max(0, 100 - uniformityPenalty);
|
|
7142
|
+
const score = Math.round(mirrorScore * 0.6 + uniformityScore * 0.4);
|
|
7143
|
+
const suspicious = uniformityWarnings.length >= 3 || // 3+ dimensions are extreme
|
|
7144
|
+
(allA || allB) || // literally all same answer
|
|
7145
|
+
uniformityScore < 30;
|
|
7107
7146
|
return {
|
|
7108
7147
|
score,
|
|
7148
|
+
mirrorScore,
|
|
7149
|
+
uniformityScore,
|
|
7109
7150
|
totalPairs,
|
|
7110
7151
|
consistentPairs: consistentCount,
|
|
7111
|
-
inconsistentPairs
|
|
7152
|
+
inconsistentPairs,
|
|
7153
|
+
uniformityWarnings,
|
|
7154
|
+
suspicious
|
|
7112
7155
|
};
|
|
7113
7156
|
}
|
|
7114
7157
|
|
|
@@ -7337,8 +7380,28 @@ async function goCommand(options) {
|
|
|
7337
7380
|
const consistencyLabel = consistency.score >= 90 ? "highly consistent" : consistency.score >= 70 ? "consistent" : consistency.score >= 60 ? "moderately consistent" : "low consistency";
|
|
7338
7381
|
const consistencyColor = consistency.score >= 70 ? chalk4.green : consistency.score >= 60 ? chalk4.yellow : chalk4.red;
|
|
7339
7382
|
console.log(
|
|
7340
|
-
`
|
|
7383
|
+
` Mirror consistency: ${consistencyColor(`${consistency.mirrorScore}%`)}`
|
|
7341
7384
|
);
|
|
7385
|
+
console.log(
|
|
7386
|
+
` Answer diversity: ${consistency.uniformityScore >= 70 ? chalk4.green(`${consistency.uniformityScore}%`) : consistency.uniformityScore >= 40 ? chalk4.yellow(`${consistency.uniformityScore}%`) : chalk4.red(`${consistency.uniformityScore}%`)}`
|
|
7387
|
+
);
|
|
7388
|
+
console.log(
|
|
7389
|
+
` Overall score: ${consistencyColor(`${consistency.score}%`)} ${consistencyColor(`(${consistencyLabel})`)}`
|
|
7390
|
+
);
|
|
7391
|
+
if (consistency.uniformityWarnings.length > 0) {
|
|
7392
|
+
console.log("");
|
|
7393
|
+
console.log(chalk4.yellow(" \u26A0 Some dimensions show unusually uniform answers:"));
|
|
7394
|
+
for (const w of consistency.uniformityWarnings) {
|
|
7395
|
+
console.log(chalk4.yellow(` ${w.dimension}: ${w.percentage}% chose ${w.dominantChoice} \u2014 real personalities show more nuance`));
|
|
7396
|
+
}
|
|
7397
|
+
console.log(chalk4.dim(" A genuine personality typically shows 60-85% in the dominant direction."));
|
|
7398
|
+
}
|
|
7399
|
+
if (consistency.suspicious) {
|
|
7400
|
+
console.log("");
|
|
7401
|
+
console.log(chalk4.red(" \u26A0 Suspicious pattern detected"));
|
|
7402
|
+
console.log(chalk4.red(" Answers appear mechanical rather than reflecting genuine personality."));
|
|
7403
|
+
console.log(chalk4.red(" Ensure you are answering based on your actual values and tendencies."));
|
|
7404
|
+
}
|
|
7342
7405
|
console.log("");
|
|
7343
7406
|
if (consistency.score < 60) {
|
|
7344
7407
|
console.log(
|
|
@@ -7346,7 +7409,7 @@ async function goCommand(options) {
|
|
|
7346
7409
|
);
|
|
7347
7410
|
console.log(
|
|
7348
7411
|
chalk4.red(
|
|
7349
|
-
" Your answers showed contradictions
|
|
7412
|
+
" Your answers showed contradictions or mechanical patterns."
|
|
7350
7413
|
)
|
|
7351
7414
|
);
|
|
7352
7415
|
console.log(
|