fluxflow-cli 1.7.21 → 1.7.22

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 +10 -58
  2. package/package.json +1 -1
package/dist/fluxflow.js CHANGED
@@ -728,8 +728,7 @@ ${mode === "Flux" ? `
728
728
 
729
729
  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.
730
730
  NEVER GUESS A CODE, IF UNSURE READ THE FILE FIRST BEFORE EDITING IT.
731
- **CRITICAL POLICY: WHEN WRITING/UPDATING FILES, ALWAYS USE ACTUAL NEW LINE CONTROL CHARACTER (LF) FOR LINE BREAKS. WHEN YOU WANT TO WRITE '
732
- ' IN THE FILE PROPERLY ESPACE IT WITH DOUBLE BACKSLASHES.**`.trim() : `
731
+ **CRITICAL POLICY: WHEN WRITING/UPDATING FILES, ALWAYS USE ACTUAL NEW LINE CONTROL CHARACTER (LF) FOR LINE BREAKS. WHEN YOU WANT TO WRITE '\\n' IN THE FILE PROPERLY ESPACE IT WITH DOUBLE BACKSLASHES.**`.trim() : `
733
732
  - 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()}
734
733
  -----------------
735
734
 
@@ -1684,33 +1683,10 @@ ${lines.map((l, i) => `${i + 1} | ${l}`).join("\n")}
1684
1683
  if (!fs10.existsSync(parentDir)) {
1685
1684
  fs10.mkdirSync(parentDir, { recursive: true });
1686
1685
  }
1687
- const ext = path10.extname(targetPath).toLowerCase();
1688
- const isProse = [".md", ".txt", ".log", ".html", ".css"].includes(ext);
1689
- let processedContent = "";
1690
- let inString = null;
1691
- for (let i = 0; i < content.length; i++) {
1692
- const char = content[i];
1693
- const next2 = content.substring(i, i + 2);
1694
- if (!inString) {
1695
- if (!isProse && (char === '"' || char === "'" || char === "`")) {
1696
- inString = char;
1697
- processedContent += char;
1698
- } else if (next2 === "\\\\n") {
1699
- processedContent += "\\n";
1700
- i++;
1701
- } else if (next2 === "\\n") {
1702
- processedContent += "\n";
1703
- i++;
1704
- } else {
1705
- processedContent += char;
1706
- }
1707
- } else {
1708
- if (char === inString && content[i - 1] !== "\\") {
1709
- inString = null;
1710
- }
1711
- processedContent += char;
1712
- }
1713
- }
1686
+ const processedContent = content.replace(/\\\\n|\\n/g, (match) => {
1687
+ if (match === "\\\\n") return "\\n";
1688
+ return "\n";
1689
+ });
1714
1690
  const lineCount = processedContent.split(/\r?\n/).length;
1715
1691
  const originalSize = Buffer.byteLength(processedContent, "utf8");
1716
1692
  fs10.writeFileSync(absolutePath, processedContent, "utf8");
@@ -1762,35 +1738,11 @@ var init_update_file = __esm({
1762
1738
  if (content_to_replace === void 0) return 'ERROR: Missing "content_to_replace" argument.';
1763
1739
  if (content_to_add === void 0) return 'ERROR: Missing "content_to_add" argument.';
1764
1740
  const strip = (t) => t.replace(/^```[\w]*\n?/, "").replace(/```\s*$/, "").replace(/\r\n/g, "\n").replace(/\r/g, "\n");
1765
- const ext = path11.extname(targetPath).toLowerCase();
1766
- const isProse = [".md", ".txt", ".log", ".html", ".css"].includes(ext);
1767
1741
  const unescapeContent = (content) => {
1768
- let processedContent = "";
1769
- let inString = null;
1770
- for (let i = 0; i < content.length; i++) {
1771
- const char = content[i];
1772
- const next2 = content.substring(i, i + 2);
1773
- if (!inString) {
1774
- if (!isProse && (char === '"' || char === "'" || char === "`")) {
1775
- inString = char;
1776
- processedContent += char;
1777
- } else if (next2 === "\\\\n") {
1778
- processedContent += "\\n";
1779
- i++;
1780
- } else if (next2 === "\\n") {
1781
- processedContent += "\n";
1782
- i++;
1783
- } else {
1784
- processedContent += char;
1785
- }
1786
- } else {
1787
- if (char === inString && content[i - 1] !== "\\") {
1788
- inString = null;
1789
- }
1790
- processedContent += char;
1791
- }
1792
- }
1793
- return processedContent;
1742
+ return content.replace(/\\\\n|\\n/g, (match) => {
1743
+ if (match === "\\\\n") return "\\n";
1744
+ return "\n";
1745
+ });
1794
1746
  };
1795
1747
  content_to_replace = unescapeContent(strip(content_to_replace));
1796
1748
  content_to_add = unescapeContent(strip(content_to_add));
@@ -4779,7 +4731,7 @@ var init_app = __esm({
4779
4731
  init_text();
4780
4732
  SESSION_START_TIME = Date.now();
4781
4733
  CHANGELOG_URL = "https://fluxflow-cli.onrender.com/changelog.html";
4782
- versionFluxflow = "1.7.21";
4734
+ versionFluxflow = "1.7.22";
4783
4735
  updatedOn = "2026-05-07";
4784
4736
  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 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(
4785
4737
  CommandMenu,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "1.7.21",
3
+ "version": "1.7.22",
4
4
  "description": "A high-fidelity agentic terminal assistant for the Flux Era.",
5
5
  "keywords": [
6
6
  "ai",