fluxflow-cli 2.16.2 → 2.16.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.
- package/dist/fluxflow.js +15 -4
- package/package.json +1 -1
package/dist/fluxflow.js
CHANGED
|
@@ -6738,7 +6738,9 @@ var init_history = __esm({
|
|
|
6738
6738
|
await fs7.ensureDir(HISTORY_DIR);
|
|
6739
6739
|
const history = await loadHistory();
|
|
6740
6740
|
const existingChat = history[id];
|
|
6741
|
-
const persistentMessages = (messages || []).filter(
|
|
6741
|
+
const persistentMessages = (messages || []).filter(
|
|
6742
|
+
(m) => !m.isUpdateNotification && (!m.isMeta || m.text && m.text.includes("Request Cancelled"))
|
|
6743
|
+
);
|
|
6742
6744
|
const finalName = name || (existingChat ? existingChat.name : `Session ${id.slice(-6)}`);
|
|
6743
6745
|
const chatFile = path6.join(HISTORY_DIR, `${id}.json`);
|
|
6744
6746
|
writeEncryptedJson(chatFile, persistentMessages);
|
|
@@ -9690,7 +9692,8 @@ var init_ai = __esm({
|
|
|
9690
9692
|
"moonshotai/kimi-k2.6",
|
|
9691
9693
|
"stepfun-ai/step-3.7-flash",
|
|
9692
9694
|
"google/gemma-4-31b-it",
|
|
9693
|
-
"mistralai/mistral-medium-3.5-128b"
|
|
9695
|
+
"mistralai/mistral-medium-3.5-128b",
|
|
9696
|
+
"qwen/qwen3.5-397b-a17b"
|
|
9694
9697
|
// Google models
|
|
9695
9698
|
// No need. All models on Gemini API is Multimodal
|
|
9696
9699
|
];
|
|
@@ -9937,6 +9940,7 @@ var init_ai = __esm({
|
|
|
9937
9940
|
const isMistral = model.includes("mistral");
|
|
9938
9941
|
const isMinimax = model.includes("minimax");
|
|
9939
9942
|
const isGPT = model.includes("gpt");
|
|
9943
|
+
const isQwen = model.includes("qwen");
|
|
9940
9944
|
const GPT_THINKING_LEVELS = {
|
|
9941
9945
|
"Fast": "low",
|
|
9942
9946
|
"Low": "low",
|
|
@@ -9972,6 +9976,8 @@ var init_ai = __esm({
|
|
|
9972
9976
|
body.reasoning_effort = isThinking ? "high" : "none";
|
|
9973
9977
|
} else if (isMinimax && model.includes("minimax-m3")) {
|
|
9974
9978
|
body.chat_template_kwargs = { thinking_mode: isThinking ? "enabled" : "disabled" };
|
|
9979
|
+
} else if (isQwen) {
|
|
9980
|
+
body.chat_template_kwargs = { enable_thinking: isThinking };
|
|
9975
9981
|
}
|
|
9976
9982
|
const response = await fetchWithBackoff("https://integrate.api.nvidia.com/v1/chat/completions", {
|
|
9977
9983
|
method: "POST",
|
|
@@ -15789,6 +15795,11 @@ function App({ args = [] }) {
|
|
|
15789
15795
|
{
|
|
15790
15796
|
cmd: "minimaxai/minimax-m3",
|
|
15791
15797
|
desc: "Text Only"
|
|
15798
|
+
},
|
|
15799
|
+
// QWEN
|
|
15800
|
+
{
|
|
15801
|
+
cmd: "qwen/qwen3.5-397b-a17b",
|
|
15802
|
+
desc: "Multimodal"
|
|
15792
15803
|
}
|
|
15793
15804
|
] : apiTier === "Free" ? [
|
|
15794
15805
|
{
|
|
@@ -18372,7 +18383,7 @@ Selection: ${val}`,
|
|
|
18372
18383
|
}
|
|
18373
18384
|
)));
|
|
18374
18385
|
default:
|
|
18375
|
-
return /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", marginTop: 1, flexShrink: 0, width: "100%" }, showBtwBox && btwResponse && /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", borderStyle: "round", borderColor: "grey", paddingX: 2, paddingY: 1, width: "100%", marginBottom: 1 }, /* @__PURE__ */ React15.createElement(Box14, { justifyContent: "space-between", width: "100%" }, /* @__PURE__ */ React15.createElement(Text15, { color: "white", bold: true, underline: true }, "INQUIRY RESPONSE"), /* @__PURE__ */ React15.createElement(Text15, { color: "gray" }, "[ ESC to Close ]")), /* @__PURE__ */ React15.createElement(Box14, { marginTop: 1, width: "100%" }, /* @__PURE__ */ React15.createElement(CodeRenderer, { text: btwResponse, columns: terminalSize.columns - 6 }))), /* @__PURE__ */ React15.createElement(Box14, { paddingX: 1, marginBottom: 0, justifyContent: "space-between", width: "100%" }, /* @__PURE__ */ React15.createElement(Box14, null, statusText ? /* @__PURE__ */ React15.createElement(Box14, { gap: 1 }, /* @__PURE__ */ React15.createElement(build_default, null), /* @__PURE__ */ React15.createElement(Text15, { color: "white", bold: true, italic: true }, statusText.trimEnd()), /* @__PURE__ */ React15.createElement(Text15, { color: "gray" }, activeTime > 0 ? `[${activeTime.toFixed(0)}s]` : "")) : /* @__PURE__ */ React15.createElement(Text15, { color: "white", italic: true }, input.length > 0 && escPressCount ? "Press ESC again to clear input" : hasPasteBlock ? "Press CTRL + O to expand" : "Waiting for input...")), /* @__PURE__ */ React15.createElement(Box14, null, wittyPhrase && /* @__PURE__ */ React15.createElement(Text15, { color: "gray", italic: true }, wittyPhrase, " "), /* @__PURE__ */ React15.createElement(Text15, { color: "white" }, tempModelOverride || activeModel))), /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", width: "100%" }, /* @__PURE__ */ React15.createElement(Box14, { width: "100%", height: 1, overflow: "hidden" }, /* @__PURE__ */ React15.createElement(Text15, { color: "#555555" }, "\u2584".repeat(Math.max(1, terminalSize.columns)))), /* @__PURE__ */ React15.createElement(
|
|
18386
|
+
return /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", marginTop: 1, flexShrink: 0, width: "100%" }, showBtwBox && btwResponse && /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", borderStyle: "round", borderColor: "grey", paddingX: 2, paddingY: 1, width: "100%", marginBottom: 1 }, /* @__PURE__ */ React15.createElement(Box14, { justifyContent: "space-between", width: "100%" }, /* @__PURE__ */ React15.createElement(Text15, { color: "white", bold: true, underline: true }, "INQUIRY RESPONSE"), /* @__PURE__ */ React15.createElement(Text15, { color: "gray" }, "[ ESC to Close ]")), /* @__PURE__ */ React15.createElement(Box14, { marginTop: 1, width: "100%" }, /* @__PURE__ */ React15.createElement(CodeRenderer, { text: btwResponse, columns: terminalSize.columns - 6 }))), /* @__PURE__ */ React15.createElement(Box14, { paddingX: 1, marginBottom: 0, justifyContent: "space-between", width: "100%" }, /* @__PURE__ */ React15.createElement(Box14, null, statusText ? /* @__PURE__ */ React15.createElement(Box14, { gap: 1 }, /* @__PURE__ */ React15.createElement(build_default, null), /* @__PURE__ */ React15.createElement(Text15, { color: "white", bold: true, italic: true }, statusText.trimEnd()), /* @__PURE__ */ React15.createElement(Text15, { color: "gray" }, activeTime > 0 ? `[${activeTime.toFixed(0)}s]` : "")) : /* @__PURE__ */ React15.createElement(Text15, { color: "white", italic: true }, input.length > 0 && escPressCount ? "Press ESC again to clear input" : hasPasteBlock ? "Press CTRL + O to expand" : "Waiting for input...")), /* @__PURE__ */ React15.createElement(Box14, null, wittyPhrase && /* @__PURE__ */ React15.createElement(Box14, null, /* @__PURE__ */ React15.createElement(Text15, { color: "gray", italic: true }, wittyPhrase), /* @__PURE__ */ React15.createElement(Text15, { color: "gray", dimColor: true }, " \u2503 ")), /* @__PURE__ */ React15.createElement(Text15, { color: "white" }, tempModelOverride || activeModel))), /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", width: "100%" }, /* @__PURE__ */ React15.createElement(Box14, { width: "100%", height: 1, overflow: "hidden" }, /* @__PURE__ */ React15.createElement(Text15, { color: "#555555" }, "\u2584".repeat(Math.max(1, terminalSize.columns)))), /* @__PURE__ */ React15.createElement(
|
|
18376
18387
|
Box14,
|
|
18377
18388
|
{
|
|
18378
18389
|
backgroundColor: "#555555",
|
|
@@ -18419,7 +18430,7 @@ Selection: ${val}`,
|
|
|
18419
18430
|
aiProvider,
|
|
18420
18431
|
version: versionFluxflow
|
|
18421
18432
|
}
|
|
18422
|
-
))), /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", paddingX: 1, paddingBottom:
|
|
18433
|
+
))), /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", paddingX: 1, paddingBottom: 0, width: "100%" }, (activeView === "chat" || ["ask", "approval", "terminalApproval"].includes(activeView)) && /* @__PURE__ */ React15.createElement(Box14, { flexDirection: "column", width: "100%" }, parsedBlocks.active.map((block) => /* @__PURE__ */ React15.createElement(
|
|
18423
18434
|
BlockItem,
|
|
18424
18435
|
{
|
|
18425
18436
|
key: block.key,
|