fluxflow-cli 3.4.5 → 3.4.7

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 CHANGED
@@ -5096,7 +5096,7 @@ var init_StatusBar = __esm({
5096
5096
  let maxLimit = 262144;
5097
5097
  if (aiProvider === "NVIDIA" && (activeModel?.includes("glm") || activeModel?.includes("gpt") || activeModel?.includes("qwen"))) {
5098
5098
  maxLimit = 128e3;
5099
- } else if (aiProvider === "DeepSeek" || aiProvider === "Google" && apiTier === "Paid" || aiProvider === "NVIDIA" && activeModel.includes("deepseek")) {
5099
+ } else if (aiProvider === "DeepSeek" || aiProvider === "Google" && apiTier === "Paid" || aiProvider === "NVIDIA" && (activeModel.includes("deepseek") || activeModel.includes("seed"))) {
5100
5100
  maxLimit = 409600;
5101
5101
  }
5102
5102
  return /* @__PURE__ */ React5.createElement(
@@ -11255,6 +11255,7 @@ var init_ai = __esm({
11255
11255
  const isQwen = model.includes("qwen");
11256
11256
  const isNemotron = model.includes("nemotron");
11257
11257
  const isLlama3 = model.includes("llama-3");
11258
+ const isBytedance = model.includes("seed");
11258
11259
  const GPT_THINKING_LEVELS = {
11259
11260
  "Fast": "low",
11260
11261
  "Low": "low",
@@ -11263,6 +11264,14 @@ var init_ai = __esm({
11263
11264
  "High": "high",
11264
11265
  "xHigh": "high"
11265
11266
  };
11267
+ const BYTEDANCE_THINKING_LEVELS = {
11268
+ "Fast": "64",
11269
+ "Low": "64",
11270
+ "Medium": "4096",
11271
+ "Standard": "4096",
11272
+ "High": "16384",
11273
+ "xHigh": "16384"
11274
+ };
11266
11275
  const maxTokens = isMinimax || isDeepSeek ? 16384 : 32768;
11267
11276
  const body = {
11268
11277
  model,
@@ -11303,6 +11312,12 @@ var init_ai = __esm({
11303
11312
  } else {
11304
11313
  body.chat_template_kwargs = { enable_thinking: false };
11305
11314
  }
11315
+ } else if (isBytedance) {
11316
+ if (isThinking) {
11317
+ body.extra_body = {
11318
+ thinking_budget: parseInt(BYTEDANCE_THINKING_LEVELS[apiLevel] ?? "4096")
11319
+ };
11320
+ }
11306
11321
  }
11307
11322
  let attempts = 0;
11308
11323
  const maxAttempts = 6;
@@ -12498,7 +12513,7 @@ Provide a consolidated summary of the entire session.`;
12498
12513
  let targetModel = getFallbackValue("gemma_janitor_fallback_google");
12499
12514
  if (aiProvider === "OpenRouter") targetModel = getFallbackValue("janitor_open_router");
12500
12515
  if (aiProvider === "DeepSeek") targetModel = getFallbackValue("deepseek_level_1");
12501
- if (aiProvider === "NVIDIA") targetModel = getFallbackValue("nvidia_janitor_fallback");
12516
+ if (aiProvider === "NVIDIA") targetModel = getFallbackValue("nvidia_chat_summarizer_fallback");
12502
12517
  let attempts = 0;
12503
12518
  let success = false;
12504
12519
  let response = null;
@@ -12623,9 +12638,9 @@ Provide a consolidated summary of the entire session.`;
12623
12638
  if (aiProvider === "NVIDIA" && (modelName?.includes("glm") || modelName?.includes("gpt") || modelName?.includes("qwen"))) {
12624
12639
  contextCompressionCount = 122e3;
12625
12640
  contextTruncationCount = 126e3;
12626
- } else if (aiProvider === "DeepSeek" || aiProvider === "Google" && apiTier === "Paid") {
12627
- contextCompressionCount = 4e5;
12628
- contextTruncationCount = 405e3;
12641
+ } else if (aiProvider === "DeepSeek" || aiProvider === "Google" && apiTier === "Paid" || aiProvider === "NVIDIA" && (modelName.includes("deepseek") || modelName.includes("seed"))) {
12642
+ contextCompressionCount = 403e3;
12643
+ contextTruncationCount = 408e3;
12629
12644
  }
12630
12645
  if ((sessionStats?.tokens || 0) > contextCompressionCount) {
12631
12646
  yield { type: "status_history", content: "Context Limit Reached. Condensing session history..." };
@@ -18603,7 +18618,7 @@ ${list || "No saved chats found."}`, isMeta: true }];
18603
18618
  const s2 = emojiSpace(2);
18604
18619
  setMessages((prev) => {
18605
18620
  setCompletedIndex(prev.length + 1);
18606
- return [...prev, { id: Date.now(), role: "system", text: `[SYSTEM] Compressing session history...`, isMeta: true }];
18621
+ return [...prev, { id: Date.now(), role: "system", text: `[SYSTEM] Compacting session history...`, isMeta: true }];
18607
18622
  });
18608
18623
  try {
18609
18624
  const config = {
@@ -18623,7 +18638,7 @@ ${list || "No saved chats found."}`, isMeta: true }];
18623
18638
  const finalMsgs = [...prev, {
18624
18639
  id: Date.now(),
18625
18640
  role: "system",
18626
- text: `[SYSTEM] Chat History compressed saving tokens.`,
18641
+ text: `[SYSTEM] Chat History compacted saving tokens.`,
18627
18642
  isMeta: true
18628
18643
  }];
18629
18644
  setCompletedIndex(finalMsgs.length);
@@ -18632,13 +18647,13 @@ ${list || "No saved chats found."}`, isMeta: true }];
18632
18647
  } else {
18633
18648
  setMessages((prev) => {
18634
18649
  setCompletedIndex(prev.length + 1);
18635
- return [...prev, { id: Date.now(), role: "system", text: "[SYSTEM] Compression failed (no summary returned).", isMeta: true }];
18650
+ return [...prev, { id: Date.now(), role: "system", text: "[SYSTEM] Compaction failed.", isMeta: true }];
18636
18651
  });
18637
18652
  }
18638
18653
  } catch (err) {
18639
18654
  setMessages((prev) => {
18640
18655
  setCompletedIndex(prev.length + 1);
18641
- return [...prev, { id: Date.now(), role: "system", text: `[SYSTEM] Error during compression: ${err.message}`, isMeta: true }];
18656
+ return [...prev, { id: Date.now(), role: "system", text: `[SYSTEM] Error during compaction: ${err.message}`, isMeta: true }];
18642
18657
  });
18643
18658
  } finally {
18644
18659
  setIsCompressing(false);
@@ -20442,7 +20457,7 @@ Selection: ${val}`,
20442
20457
  width: "100%",
20443
20458
  flexDirection: "column"
20444
20459
  },
20445
- /* @__PURE__ */ React16.createElement(Box14, { flexDirection: "column", width: "100%" }, /* @__PURE__ */ React16.createElement(Box14, { flexDirection: "row", width: "100%", paddingY: 0 }, /* @__PURE__ */ React16.createElement(Box14, { flexShrink: 0, width: 4 }, /* @__PURE__ */ React16.createElement(Text16, { color: "white", bold: true }, isProcessing || isCompressing ? "\u2726 " : " \u276F ")), /* @__PURE__ */ React16.createElement(Box14, { flexGrow: 1 }, /* @__PURE__ */ React16.createElement(Box14, { flexGrow: 1, position: "relative" }, input === "" && /* @__PURE__ */ React16.createElement(Box14, { position: "absolute", paddingLeft: 0 }, activeCommand && !isTerminalFocused ? /* @__PURE__ */ React16.createElement(Text16, { color: "yellow" }, isTerminalWaitingForInput ? " Terminal is waiting for user input. Press TAB to interact" : " Press TAB to interact with terminal...") : activeCommand && isTerminalFocused ? /* @__PURE__ */ React16.createElement(Text16, { color: "yellow", bold: true }, " [ TERMINAL FOCUSED ] Type to interact, press TAB to exit...") : escPressCount === 1 ? /* @__PURE__ */ React16.createElement(Text16, { color: "white", bold: true }, " Press ESC again to ", input.length > 0 ? "clear input" : "revert codebase to checkpoint", "...") : /* @__PURE__ */ React16.createElement(Text16, { color: "#cccccc" }, escPressed ? " Press ESC again to cancel the request." : isCompressing ? " Compressing session history, please wait..." : !isProcessing ? ` Send message, @file or /cmd ... (${terminalEnv.shortcut} for newline)` : " Enter a prompt to steer the agent.")), /* @__PURE__ */ React16.createElement(
20460
+ /* @__PURE__ */ React16.createElement(Box14, { flexDirection: "column", width: "100%" }, /* @__PURE__ */ React16.createElement(Box14, { flexDirection: "row", width: "100%", paddingY: 0 }, /* @__PURE__ */ React16.createElement(Box14, { flexShrink: 0, width: 4 }, /* @__PURE__ */ React16.createElement(Text16, { color: "white", bold: true }, isProcessing || isCompressing ? "\u2726 " : " \u276F ")), /* @__PURE__ */ React16.createElement(Box14, { flexGrow: 1 }, /* @__PURE__ */ React16.createElement(Box14, { flexGrow: 1, position: "relative" }, input === "" && /* @__PURE__ */ React16.createElement(Box14, { position: "absolute", paddingLeft: 0 }, activeCommand && !isTerminalFocused ? /* @__PURE__ */ React16.createElement(Text16, { color: "yellow" }, isTerminalWaitingForInput ? " Terminal is waiting for user input. Press TAB to interact" : " Press TAB to interact with terminal...") : activeCommand && isTerminalFocused ? /* @__PURE__ */ React16.createElement(Text16, { color: "yellow", bold: true }, " [ TERMINAL FOCUSED ] Type to interact, press TAB to exit...") : escPressCount === 1 ? /* @__PURE__ */ React16.createElement(Text16, { color: "white", bold: true }, " Press ESC again to ", input.length > 0 ? "clear input" : "revert codebase to checkpoint", "...") : /* @__PURE__ */ React16.createElement(Text16, { color: "#cccccc" }, escPressed ? " Press ESC again to cancel the request." : isCompressing ? " Compacting session history, please wait..." : !isProcessing ? ` Send message, @file or /cmd ... (${terminalEnv.shortcut} for newline)` : " Enter a prompt to steer the agent.")), /* @__PURE__ */ React16.createElement(
20446
20461
  MultilineInput,
20447
20462
  {
20448
20463
  key: `input-${inputKey}`,
package/model_config.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": 1,
3
- "release": 20260712,
2
+ "version": 0,
3
+ "release": 20260714,
4
4
  "fallbacks": {
5
5
  "janitor_default": "gemini-3.1-flash-lite",
6
6
  "janitor_attempts_fallback": "gemma-4-26b-a4b-it",
@@ -10,6 +10,7 @@
10
10
  "deepseek_level_1": "deepseek-v4-flash",
11
11
  "deepseek_level_2": "deepseek-v4-pro",
12
12
  "nvidia_janitor_fallback": "mistralai/mistral-nemotron",
13
+ "nvidia_chat_summarizer_fallback": "bytedance/seed-oss-36b-instruct",
13
14
  "google_level_1": "gemini-3-flash-preview",
14
15
  "google_level_2": "gemini-3.5-flash",
15
16
  "gemma_emergency": "gemma-4-31b-it",
@@ -294,11 +295,6 @@
294
295
  "multimodal": true,
295
296
  "desc": "Multimodal"
296
297
  },
297
- {
298
- "cmd": "mistralai/mistral-nemotron",
299
- "multimodal": false,
300
- "desc": "Text Only (No Thinking)"
301
- },
302
298
  {
303
299
  "cmd": "\n--- OpenAI Models ---",
304
300
  "desc": ""
@@ -345,6 +341,11 @@
345
341
  "multimodal": true,
346
342
  "desc": "Multimodal"
347
343
  },
344
+ {
345
+ "cmd": "qwen/qwen3.5-122b-a10b",
346
+ "multimodal": true,
347
+ "desc": "Multimodal"
348
+ },
348
349
  {
349
350
  "cmd": "\n--- NVIDIA Models ---",
350
351
  "desc": ""
@@ -372,6 +373,15 @@
372
373
  "cmd": "meta/llama-3.2-90b-vision-instruct",
373
374
  "multimodal": true,
374
375
  "desc": "Multimodal"
376
+ },
377
+ {
378
+ "cmd": "\n--- ByteDance Models ---",
379
+ "desc": ""
380
+ },
381
+ {
382
+ "cmd": "bytedance/seed-oss-36b-instruct",
383
+ "multimodal": false,
384
+ "desc": "Text Only"
375
385
  }
376
386
  ],
377
387
  "Paid": [
@@ -431,11 +441,6 @@
431
441
  "multimodal": true,
432
442
  "desc": "Multimodal"
433
443
  },
434
- {
435
- "cmd": "mistralai/mistral-nemotron",
436
- "multimodal": false,
437
- "desc": "Text Only (No Thinking)"
438
- },
439
444
  {
440
445
  "cmd": "\n--- OpenAI Models ---",
441
446
  "desc": ""
@@ -482,6 +487,11 @@
482
487
  "multimodal": true,
483
488
  "desc": "Multimodal"
484
489
  },
490
+ {
491
+ "cmd": "qwen/qwen3.5-122b-a10b",
492
+ "multimodal": true,
493
+ "desc": "Multimodal"
494
+ },
485
495
  {
486
496
  "cmd": "\n--- NVIDIA Models ---",
487
497
  "desc": ""
@@ -509,6 +519,15 @@
509
519
  "cmd": "meta/llama-3.2-90b-vision-instruct",
510
520
  "multimodal": true,
511
521
  "desc": "Multimodal"
522
+ },
523
+ {
524
+ "cmd": "\n--- ByteDance Models ---",
525
+ "desc": ""
526
+ },
527
+ {
528
+ "cmd": "bytedance/seed-oss-36b-instruct",
529
+ "multimodal": false,
530
+ "desc": "Text Only"
512
531
  }
513
532
  ]
514
533
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "3.4.5",
4
- "date": "2026-07-12",
3
+ "version": "3.4.7",
4
+ "date": "2026-07-14",
5
5
  "description": "A High-Fidelity Agentic CLI with Sub-Agents for the Flux Era.",
6
6
  "keywords": [
7
7
  "ai",