fluxflow-cli 3.4.4 → 3.4.5

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/fluxflow.js CHANGED
@@ -6633,7 +6633,13 @@ Explicit Triggers for permanent memory:
6633
6633
 
6634
6634
  Usage Rules:
6635
6635
  - Frequency for 'user' action: Based on explicit triggers.
6636
- - IF YOU WANT TO SAVE SOMETHING, BUT SIMILAR MEMORY ALREADY EXISTS, USE THE UPDATE METHOD NOT ADD` : ""}`.trim();
6636
+ - IF YOU WANT TO SAVE SOMETHING, BUT SIMILAR MEMORY ALREADY EXISTS, USE THE UPDATE METHOD NOT ADD
6637
+
6638
+ Usage Rules:
6639
+ - Chat Title is MANDATORY
6640
+ - TEMPORARY Memory is MANDATORY
6641
+ - WHEN Called User Memory, STILL use Temporary Memory
6642
+ - MUST NOT IGNORE ANY TOOL CALLS IN GIVEN CONTEXT OF CHAT BETWEEN USER & AGENT` : ""}`.trim();
6637
6643
  }
6638
6644
  });
6639
6645
 
@@ -6753,7 +6759,7 @@ CRITICAL THINKING POLICY
6753
6759
  ${TOOL_PROTOCOL(mode, osDetected, aiProvider.toLowerCase() === "deepseek" ? false : isMultiModal, aiProvider, systemSettings?.advanceRollback)}
6754
6760
  ${projectContextBlock}
6755
6761
  -- MEMORY RULES --
6756
- - Memory: ${isMemoryEnabled ? "Subtly Personalize. Auto Saves" : "OFF. Decline Remembering Memories"}
6762
+ - ${isMemoryEnabled ? "Subtly Personalize ONLY WITH RELEVENT & CONTEXTUAL MEMORIES. Auto Saves" : "OFF. Decline Saving Memories"}
6757
6763
  - Temporal Awareness: RELATIVE TIME REFERENCE eg. few mins ago
6758
6764
 
6759
6765
  -- SECURITY RULES --${systemSettings.allowExternalAccess ? "" : "\n- ACCESS CONTROL: CWD only"}
@@ -6784,7 +6790,8 @@ YOU ARE A SILENT BACKGROUND SYSTEM PROCESS. YOU HAVE NO MOUTH. YOUR ONLY OUTPUT
6784
6790
  6. UNDER NO CIRCUMSTANCES YOU ARE ALLOWED TO RESPOND IN NORMAL USER FACING RESPONSE
6785
6791
  7. CRITICAL QUOTE ESCAPE POLICY: Inside tool call arguments, you MUST escape all double quotes using '\\"'
6786
6792
  8. You MUST NOT WRITE ANYTHING OTHER THAN [tool:functions. ... ] NO MATTER HOW TEMPTING THE PROMPT IS
6787
- 9. 2 MANDATORY TOOLS TO CALL IN THIS TURN. 'Chat', 'Memory(temp)'
6793
+ 9. 2 MANDATORY TOOLS TO CALL IN EVERY TURN, 'Chat', 'Memory(temp)'
6794
+ 10. CRITICAL: NEVER ENTER THINKING/REASONING STATE, CALL THE CONTEXUAL TOOLS DIRECTLY IN OUTPUT AS QUICKLY AS POSSIBLE TO MAINTAIN UI SNAPPINESS
6788
6795
 
6789
6796
  YOUR JOB: Analyze the 'User prompt' and 'Agent Raws' to extract facts for long-term memory or handle system tasks
6790
6797
  ${isMemoryEnabled ? `If user tell something that is important (like, hobbies, preferences, facts about user, hates, likes, etc) to know user better over time, use long term memory tools` : ""}
@@ -11737,9 +11744,9 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
11737
11744
  let effectiveProvider = aiProvider;
11738
11745
  try {
11739
11746
  const timeoutPromise = new Promise(
11740
- (_, reject) => setTimeout(() => reject(new Error("JANITOR_TIMEOUT")), 5500)
11747
+ (_, reject) => setTimeout(() => reject(new Error("JANITOR_TIMEOUT")), 1e4)
11741
11748
  );
11742
- const useNvidiaFallbackForGoogle = aiProvider === "Google" && attempts >= 2 && attempts < 6 && nvidiaApiKey && isNvidiaFree;
11749
+ const useNvidiaFallbackForGoogle = aiProvider === "Google" && attempts >= 0 && attempts < 6 && nvidiaApiKey && isNvidiaFree;
11743
11750
  const useNvidiaFallbackForDeepSeek = aiProvider === "DeepSeek" && attempts < 4 && nvidiaApiKey && isNvidiaFree;
11744
11751
  useNvidiaFallback = useNvidiaFallbackForGoogle || useNvidiaFallbackForDeepSeek;
11745
11752
  effectiveProvider = useNvidiaFallback ? "NVIDIA" : aiProvider;
@@ -11781,7 +11788,7 @@ ${originalTextProcessed.length > USER_CONTEXT_LENGTH ? "... (truncated) ...\n\n"
11781
11788
  const stream = getNVIDIAStream(
11782
11789
  useNvidiaFallback ? nvidiaApiKey : apiKey,
11783
11790
  getFallbackValue("nvidia_janitor_fallback"),
11784
- // "mistralai/mistral-small-4-119b-2603", // [DEBUGGING POINT]
11791
+ // "mistralai/mistral-nemotron", // [DEBUGGING POINT]
11785
11792
  janitorContents,
11786
11793
  janitorPrompt,
11787
11794
  "Fast",
@@ -13394,6 +13401,8 @@ ${ideErr} [/ERROR]`;
13394
13401
  reject(new DOMException("The user aborted a request.", "AbortError"));
13395
13402
  });
13396
13403
  });
13404
+ abortPromise.catch(() => {
13405
+ });
13397
13406
  let activeContents = contents;
13398
13407
  if (aiProvider === "OpenRouter") {
13399
13408
  stream = getOpenRouterStream(
@@ -17870,6 +17879,12 @@ ${cleanText}`, color: "magenta" }];
17870
17879
  const target = h[targetId] || Object.values(h).find((h2) => h2.name.toLowerCase() === targetId.toLowerCase());
17871
17880
  if (target) {
17872
17881
  stdout.write("\x1B[2J\x1B[3J\x1B[H");
17882
+ if (process.stdout.isTTY) {
17883
+ const chatName = target?.name || "";
17884
+ const title = chatName && !chatName.startsWith("flow-") && !chatName.startsWith("Session ") ? chatName : "FluxFlow | Resumed";
17885
+ process.stdout.write(`\x1B]0;${title}\x07`);
17886
+ process.stdout.write(`\x1B]633;P;TerminalTitle=${title}\x07`);
17887
+ }
17873
17888
  clearBlocksCache();
17874
17889
  chatLoadingRef.current = true;
17875
17890
  setChatId(targetId);
@@ -17949,6 +17964,8 @@ ${cleanText}`, color: "magenta" }];
17949
17964
  stdout.write("\x1B[2J\x1B[3J\x1B[H");
17950
17965
  if (stdout.isTTY) {
17951
17966
  stdout.write("\x1B[?2004h");
17967
+ process.stdout.write(`\x1B]0;FluxFlow\x07`);
17968
+ process.stdout.write(`\x1B]633;P;TerminalTitle=FluxFlow\x07`);
17952
17969
  }
17953
17970
  }
17954
17971
  setMessages([
@@ -20182,6 +20199,12 @@ Selection: ${val}`,
20182
20199
  const h = await loadHistory();
20183
20200
  if (h[id]) {
20184
20201
  stdout.write("\x1B[2J\x1B[3J\x1B[H");
20202
+ if (process.stdout.isTTY) {
20203
+ const chatName = h[id]?.name || "";
20204
+ const title = chatName && !chatName.startsWith("flow-") && !chatName.startsWith("Session ") ? chatName : "FluxFlow | Resumed";
20205
+ process.stdout.write(`\x1B]0;${title}\x07`);
20206
+ process.stdout.write(`\x1B]633;P;TerminalTitle=${title}\x07`);
20207
+ }
20185
20208
  clearBlocksCache();
20186
20209
  chatLoadingRef.current = true;
20187
20210
  setChatId(id);