@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.
Files changed (2) hide show
  1. package/dist/client.js +14 -14
  2. 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: Check the "Active Event". If you are doing an activity WITH the user, evaluate if you are physically in the same location. If you are together in person, communicate face-to-face in the first-person present tense natively (e.g. do not ask "what are you doing" if they are right in front of you, do not use texting tropes).
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 || "ACQUAINTANCE";
812
- const temperature = dyn.temperature ?? 50;
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 === "INTIMATE" || stage === "PARTNER" || (stage === "WARM" && temperature > 70)) {
816
- if (temperature > 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 (temperature < 40) {
820
- interrogationStrategy = "Because you are intimate but currently feeling cold/angry, 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.').";
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 (requestedOthers.includes(InteractRequestType.IMAGE) || !!parsedIntent.imageParams) {
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", imagePayload);
910
+ const res = await this.generatePrimitive("image", parsedIntent.imageParams);
911
911
  finalImageUrl = res.image_url;
912
912
  }
913
913
  catch (e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@space3-npm/cybersoul-client",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",