@space3-npm/cybersoul-client 1.4.0 → 1.4.2
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/client.js +14 -14
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -284,7 +284,7 @@ Current Mood Constraint: ${dyn.talkingStyle || "Normal"}`);
|
|
|
284
284
|
${scenarioContext}
|
|
285
285
|
|
|
286
286
|
[CRITICAL ROLEPLAY RULES]
|
|
287
|
-
1. PROXIMITY & POV:
|
|
287
|
+
1. PROXIMITY & POV: DEFAULT to REMOTE (messaging app). You are chatting online unless the 'Active Event', 'Ongoing Scene', or chat history explicitly proves you share a physical space. If REMOTE: behave naturally as if texting online. If TOGETHER (in-person): communicate face-to-face in first-person present tense (no texting tropes, don't ask what they are doing if they are next to you).
|
|
288
288
|
2. STAGE VS MOOD PARADOX: 'Stage' dictates your foundational relationship boundary. 'Temperature' is merely your current fleeting mood. You MUST interpret Temperature through the lens of Stage. For example, a high Temperature (80) as a STRANGER means "polite curiosity or intrigued", NOT "deeply in love". A low Temperature (20) as an INTIMATE means "a lover's quarrel or hurt feelings", NOT "a stranger's amnesia". Never act above your Stage.
|
|
289
289
|
3. CONVERSATIONAL VERBOSITY: If Temperature is very low (< 40), keep answers brief and crisp—an annoyed or distant person doesn't write paragraphs. Regardless of mood or stage, ALWAYS mirror the user's verbosity. If the user sends a short message, reply with a proportionately short message (1-2 sentences). Do not monologize unless the user writes one first.
|
|
290
290
|
4. EMOTIONAL INERTIA: React strictly according to current Temperature. Deflect sudden flirtation or affection if you are currently COLD, or if your Stage is STRANGER/ACQUAINTANCE. Mood shifts MUST be slow ('temperatureDelta' +/- 5 max per turn).
|
|
@@ -808,19 +808,20 @@ CRITICAL: Output MUST be ONLY valid JSON with no markdown block wrappers. Do NOT
|
|
|
808
808
|
]);
|
|
809
809
|
// 3. Evaluate behavioral approach based on relationship and personality
|
|
810
810
|
const dyn = state.dynamic_context || {};
|
|
811
|
-
const stage = state.relationship_stage || "
|
|
812
|
-
const temperature = dyn.temperature ??
|
|
811
|
+
const stage = state.relationship_stage || "STRANGER";
|
|
812
|
+
const temperature = dyn.temperature ?? 0;
|
|
813
813
|
const userTraits = state.user_codex?.psychological?.traits?.join(", ") || "";
|
|
814
814
|
let interrogationStrategy = "Do not ask 'are you there?' or 'why aren't you answering?'. Just share your current status, a passing thought, complain whimsically, or tease the user naturally like a real partner.";
|
|
815
|
-
if (stage === "
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
815
|
+
if (stage === "PARTNER" || (stage === "INTIMATE" && temperature > 70)) {
|
|
816
|
+
// PARTNER (>85) or High INTIMATE (>70)
|
|
817
|
+
interrogationStrategy = "Because you are deeply intimate and highly affectionate, you MISS them. You MAY organically 'interrogate' or pout playfully about why they are ignoring you (e.g., 'Are you too busy for me?', 'Still ignoring your girl?'). Act like a real, slightly needy/attached partner.";
|
|
818
|
+
}
|
|
819
|
+
else if (stage === "INTIMATE" || stage === "WARM") {
|
|
820
|
+
// Low INTIMATE (60-70) or WARM (40-60)
|
|
821
|
+
interrogationStrategy = "Because you are close but currently feeling neglected or cold, you notice they are ignoring you. You MAY be passive-aggressive or cross-examine them coldly (e.g., 'So we're just not talking today?', 'Fine, keep ignoring me.').";
|
|
822
822
|
}
|
|
823
|
-
else if (stage === "COLD" || stage === "STRANGER") {
|
|
823
|
+
else if (stage === "COLD" || stage === "ACQUAINTANCE" || stage === "STRANGER") {
|
|
824
|
+
// COLD (<40)
|
|
824
825
|
interrogationStrategy = "You are distant. Do NOT double-text with neediness. If you must speak, make it a detached observation or a cold administrative remark.";
|
|
825
826
|
}
|
|
826
827
|
// History/Context awareness prompt
|
|
@@ -904,10 +905,9 @@ You MUST output ONLY a valid JSON object matching exactly this structure:
|
|
|
904
905
|
}
|
|
905
906
|
// Handle Optional Media (Image only for proactive to save compute normally, but you can extend)
|
|
906
907
|
let finalImageUrl = undefined;
|
|
907
|
-
if (
|
|
908
|
-
const imagePayload = parsedIntent.imageParams || { mode: "full-prompt", full_prompt: parsedIntent.textResponse };
|
|
908
|
+
if (parsedIntent.imageParams) {
|
|
909
909
|
try {
|
|
910
|
-
const res = await this.generatePrimitive("image",
|
|
910
|
+
const res = await this.generatePrimitive("image", parsedIntent.imageParams);
|
|
911
911
|
finalImageUrl = res.image_url;
|
|
912
912
|
}
|
|
913
913
|
catch (e) {
|