fluxflow-cli 1.8.12 → 1.8.13
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 +33 -12
- package/package.json +1 -1
package/dist/fluxflow.js
CHANGED
|
@@ -2776,20 +2776,24 @@ var init_ai = __esm({
|
|
|
2776
2776
|
if (chunk.text) {
|
|
2777
2777
|
if (isDedupeActive) {
|
|
2778
2778
|
dedupeBuffer += chunk.text;
|
|
2779
|
-
if (dedupeBuffer.length >=
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2779
|
+
if (dedupeBuffer.length >= 100) {
|
|
2780
|
+
let overlapLen = 0;
|
|
2781
|
+
const maxPossibleOverlap = Math.min(accumulatedContext.length, dedupeBuffer.length);
|
|
2782
|
+
for (let len = maxPossibleOverlap; len > 0; len--) {
|
|
2783
|
+
if (accumulatedContext.endsWith(dedupeBuffer.substring(0, len))) {
|
|
2784
|
+
overlapLen = len;
|
|
2785
|
+
break;
|
|
2785
2786
|
}
|
|
2786
|
-
isDedupeActive = false;
|
|
2787
|
-
} else {
|
|
2788
|
-
turnText += dedupeBuffer;
|
|
2789
|
-
yield { type: "text", content: dedupeBuffer };
|
|
2790
|
-
isDedupeActive = false;
|
|
2791
2787
|
}
|
|
2788
|
+
const cleanText = dedupeBuffer.substring(overlapLen);
|
|
2789
|
+
if (cleanText) {
|
|
2790
|
+
turnText += cleanText;
|
|
2791
|
+
yield { type: "text", content: cleanText };
|
|
2792
|
+
}
|
|
2793
|
+
isDedupeActive = false;
|
|
2794
|
+
dedupeBuffer = "";
|
|
2792
2795
|
}
|
|
2796
|
+
continue;
|
|
2793
2797
|
} else {
|
|
2794
2798
|
turnText += chunk.text;
|
|
2795
2799
|
yield { type: "text", content: chunk.text };
|
|
@@ -3017,6 +3021,23 @@ ${boxBottom}
|
|
|
3017
3021
|
yield { type: "liveTokens", content: lastUsage.totalTokenCount };
|
|
3018
3022
|
}
|
|
3019
3023
|
}
|
|
3024
|
+
if (isDedupeActive && dedupeBuffer.length > 0) {
|
|
3025
|
+
let overlapLen = 0;
|
|
3026
|
+
const maxPossibleOverlap = Math.min(accumulatedContext.length, dedupeBuffer.length);
|
|
3027
|
+
for (let len = maxPossibleOverlap; len > 0; len--) {
|
|
3028
|
+
if (accumulatedContext.endsWith(dedupeBuffer.substring(0, len))) {
|
|
3029
|
+
overlapLen = len;
|
|
3030
|
+
break;
|
|
3031
|
+
}
|
|
3032
|
+
}
|
|
3033
|
+
const cleanText = dedupeBuffer.substring(overlapLen);
|
|
3034
|
+
if (cleanText) {
|
|
3035
|
+
turnText += cleanText;
|
|
3036
|
+
yield { type: "text", content: cleanText };
|
|
3037
|
+
}
|
|
3038
|
+
isDedupeActive = false;
|
|
3039
|
+
dedupeBuffer = "";
|
|
3040
|
+
}
|
|
3020
3041
|
if (TERMINATION_SIGNAL) break;
|
|
3021
3042
|
success = true;
|
|
3022
3043
|
await incrementUsage("agent");
|
|
@@ -5092,7 +5113,7 @@ var init_app = __esm({
|
|
|
5092
5113
|
init_text();
|
|
5093
5114
|
SESSION_START_TIME = Date.now();
|
|
5094
5115
|
CHANGELOG_URL = "https://fluxflow-cli.onrender.com/changelog.html";
|
|
5095
|
-
versionFluxflow = "1.8.
|
|
5116
|
+
versionFluxflow = "1.8.13";
|
|
5096
5117
|
updatedOn = "2026-05-09";
|
|
5097
5118
|
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(
|
|
5098
5119
|
CommandMenu,
|