fluxflow-cli 1.6.2 → 1.6.4

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/fluxflow.js +15 -16
  2. package/package.json +1 -1
package/dist/fluxflow.js CHANGED
@@ -681,6 +681,8 @@ ${mode === "Flux" ? `
681
681
  6. Write PDF: tool:functions.write_pdf(path="path", content="<html/css content>", orientation="portrait/landscape"). Generates a professional PDF document. Orientation are optional. A4 size page will be used, so any multi-page PDFs calculate your alightment and page breaks to not mess up A4 page layout. DO NOT ADD FOOTER MANUALLY, the system will handle it automatically. USE CSS TO VISUALLY BEAUTIFY THE DOCUMENT, USE full 100vh & 100vw for page area. ENSURE THE CONTENT IS NEVER BROKEN IN BETWEEN PAGES, USE PAGE BREAKS PROACTIVELY FOR A A4 PAGE LAYOUT.
682
682
  7. Execution: tool:functions.exec_command(command="terminal command"). Runs a shell command.
683
683
 
684
+ AFTER GETTING THE TOOL RESULT, YOU MUST VERIFY THAT ITS A SUCCESS, IF IT GIVES A ERROR, TELL THE USER AND TRY TO FIX IF YOU CAN. DO NOT HALLUCINATE SUCCESS IF TOOL RETURNS ERROR.
685
+
684
686
  **NOTE:** WHEN WRITING/UPDATING FILES, USE ACTUAL NEW LINE CONTROL CHARACTER (LF) FOR LINE BREAKS RATHER THAN STRING '\\n'`.trim() : `
685
687
  - DEV & FILE TOOLS ARE NOT AVAILABLE IN FLOW MODE. If you need to access files, tell the user to switch to FLUX MODE (manually by user).`.trim()}
686
688
  -----------------
@@ -2502,7 +2504,7 @@ var init_settings = __esm({
2502
2504
  try {
2503
2505
  if (await fs15.exists(src)) {
2504
2506
  await fs15.ensureDir(dest);
2505
- await fs15.copy(src, dest, { overwrite: false });
2507
+ await fs15.copy(src, dest, { overwrite: true });
2506
2508
  }
2507
2509
  } catch (err) {
2508
2510
  console.error(`Migration failed for ${folder}:`, err);
@@ -3462,6 +3464,7 @@ Selection: ${val}`,
3462
3464
  inCodeBlock = false;
3463
3465
  inToolCall = false;
3464
3466
  toolCallEncounteredInTurn = false;
3467
+ thinkConsumedInTurn = false;
3465
3468
  continue;
3466
3469
  }
3467
3470
  if (packet.type === "memory_updated") {
@@ -3585,22 +3588,18 @@ Selection: ${val}`,
3585
3588
  }
3586
3589
  return newMsgs;
3587
3590
  });
3588
- } else if (!inThinkMode && !toolCallEncounteredInTurn) {
3589
- let cleanedText = chunkText.replace(/<(think|thought)>[\s\S]*?<\/(think|thought)>/gi, "").replace(/<\/?(think|thought)>/gi, "").replace(signalRegex, "");
3590
- const toolIdx = cleanedText.toLowerCase().indexOf("tool:functions.");
3591
- if (toolIdx !== -1) {
3592
- cleanedText = cleanedText.substring(0, toolIdx);
3591
+ } else if (!inThinkMode) {
3592
+ const chunkLower2 = chunkText.toLowerCase();
3593
+ if (!toolCallEncounteredInTurn && chunkLower2.includes("tool:functions.")) {
3593
3594
  toolCallEncounteredInTurn = true;
3594
3595
  }
3595
- if (cleanedText) {
3596
- if (!currentAgentId) {
3597
- currentAgentId = "agent-" + Date.now();
3598
- setMessages((prev) => [...prev, { id: currentAgentId, role: "agent", text: cleanedText, isStreaming: true }]);
3599
- } else {
3600
- setMessages((prev) => prev.map(
3601
- (m) => m.id === currentAgentId ? { ...m, text: m.text + cleanedText, isStreaming: true } : m
3602
- ));
3603
- }
3596
+ if (!currentAgentId) {
3597
+ currentAgentId = "agent-" + Date.now();
3598
+ setMessages((prev) => [...prev, { id: currentAgentId, role: "agent", text: chunkText, isStreaming: true }]);
3599
+ } else {
3600
+ setMessages((prev) => prev.map(
3601
+ (m) => m.id === currentAgentId ? { ...m, text: m.text + chunkText, isStreaming: true } : m
3602
+ ));
3604
3603
  }
3605
3604
  }
3606
3605
  }
@@ -4298,7 +4297,7 @@ var init_app = __esm({
4298
4297
  init_setup();
4299
4298
  SESSION_START_TIME = Date.now();
4300
4299
  CHANGELOG_URL = "https://fluxflow-cli.onrender.com/changelog.html";
4301
- versionFluxflow = "1.6.2";
4300
+ versionFluxflow = "1.6.4";
4302
4301
  updatedOn = "2026-05-02";
4303
4302
  ResolutionModal = ({ data, onResolve, onEdit }) => /* @__PURE__ */ React10.createElement(Box10, { flexDirection: "column", borderStyle: "round", borderColor: "magenta", paddingX: 2, paddingY: 1, width: "100%" }, /* @__PURE__ */ React10.createElement(Text10, { color: "magenta", bold: true, underline: true }, "\u{1F7E3} STEERING HINT RESOLUTION"), /* @__PURE__ */ React10.createElement(Text10, { marginTop: 1 }, "The agent already finished the task (turn: finish) before your hint was consumed."), /* @__PURE__ */ React10.createElement(Box10, { marginTop: 1, backgroundColor: "#222", paddingX: 1, width: "100%" }, /* @__PURE__ */ React10.createElement(Text10, { italic: true, color: "gray" }, '"', data, '"')), /* @__PURE__ */ React10.createElement(Box10, { marginTop: 1 }, /* @__PURE__ */ React10.createElement(Text10, { color: "cyan" }, "How would you like to proceed?")), /* @__PURE__ */ React10.createElement(Box10, { marginTop: 1 }, /* @__PURE__ */ React10.createElement(
4304
4303
  CommandMenu,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "1.6.2",
3
+ "version": "1.6.4",
4
4
  "description": "A high-fidelity agentic terminal assistant for the Flux Era.",
5
5
  "keywords": [
6
6
  "ai",