fluxflow-cli 1.6.2 → 1.6.3

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 +14 -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);
@@ -3585,22 +3587,18 @@ Selection: ${val}`,
3585
3587
  }
3586
3588
  return newMsgs;
3587
3589
  });
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);
3590
+ } else if (!inThinkMode) {
3591
+ const chunkLower2 = chunkText.toLowerCase();
3592
+ if (!toolCallEncounteredInTurn && chunkLower2.includes("tool:functions.")) {
3593
3593
  toolCallEncounteredInTurn = true;
3594
3594
  }
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
- }
3595
+ if (!currentAgentId) {
3596
+ currentAgentId = "agent-" + Date.now();
3597
+ setMessages((prev) => [...prev, { id: currentAgentId, role: "agent", text: chunkText, isStreaming: true }]);
3598
+ } else {
3599
+ setMessages((prev) => prev.map(
3600
+ (m) => m.id === currentAgentId ? { ...m, text: m.text + chunkText, isStreaming: true } : m
3601
+ ));
3604
3602
  }
3605
3603
  }
3606
3604
  }
@@ -4298,7 +4296,7 @@ var init_app = __esm({
4298
4296
  init_setup();
4299
4297
  SESSION_START_TIME = Date.now();
4300
4298
  CHANGELOG_URL = "https://fluxflow-cli.onrender.com/changelog.html";
4301
- versionFluxflow = "1.6.2";
4299
+ versionFluxflow = "1.6.3";
4302
4300
  updatedOn = "2026-05-02";
4303
4301
  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
4302
  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.3",
4
4
  "description": "A high-fidelity agentic terminal assistant for the Flux Era.",
5
5
  "keywords": [
6
6
  "ai",