fluxflow-cli 4.1.3 → 4.2.0

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 (124) hide show
  1. package/README.md +3 -1
  2. package/dist/chunks/{ai-5HGOLEFE.js → ai-JV4YFO7W.js} +1 -1
  3. package/dist/chunks/{app-AIAYUYQP.js → app-W2BOMBDT.js} +143 -143
  4. package/dist/chunks/{chunk-K4FITEVZ.js → chunk-3JHCQ2JD.js} +1 -1
  5. package/dist/chunks/{chunk-BZBAMZS4.js → chunk-6ENN7MJR.js} +1 -1
  6. package/dist/chunks/chunk-M7QN5C2K.js +1 -0
  7. package/dist/chunks/chunk-RVCFBTIL.js +814 -0
  8. package/dist/chunks/{screen_grid-IKEV7A6U.js → screen_grid-Y6GHBUFE.js} +1 -1
  9. package/dist/chunks/{secrets-D5HMTNJA.js → secrets-ITIOWL5R.js} +1 -1
  10. package/dist/chunks/{settings-SSPDWUKI.js → settings-REIFJELQ.js} +1 -1
  11. package/dist/cli.js +2 -2
  12. package/dist/model_config.json +67 -3
  13. package/dist/package.json +2 -2
  14. package/model_config.json +67 -3
  15. package/package.json +2 -2
  16. package/dist/chunks/ai-7J7CL56L.js +0 -1
  17. package/dist/chunks/ai-7LT7T34E.js +0 -1
  18. package/dist/chunks/ai-ACFJ2D4K.js +0 -1
  19. package/dist/chunks/ai-CQ6R662V.js +0 -1
  20. package/dist/chunks/ai-GO5NYAPZ.js +0 -1
  21. package/dist/chunks/ai-GUVZR6ZJ.js +0 -1
  22. package/dist/chunks/ai-IGHYVKEI.js +0 -1
  23. package/dist/chunks/ai-IOVX3WCN.js +0 -1
  24. package/dist/chunks/ai-LFC7GPK6.js +0 -1
  25. package/dist/chunks/ai-LUAK6ZNI.js +0 -1
  26. package/dist/chunks/ai-NDNZ4XGW.js +0 -1
  27. package/dist/chunks/ai-O2AHKT2Q.js +0 -1
  28. package/dist/chunks/ai-OLHI3UWZ.js +0 -1
  29. package/dist/chunks/ai-OP2H56UR.js +0 -1
  30. package/dist/chunks/ai-OX4W3MY2.js +0 -1
  31. package/dist/chunks/ai-SUNZIUAF.js +0 -1
  32. package/dist/chunks/ai-T2SZGY7Y.js +0 -1
  33. package/dist/chunks/ai-VMV4EAEQ.js +0 -1
  34. package/dist/chunks/app-2BDYKT26.js +0 -226
  35. package/dist/chunks/app-2MCTW3BU.js +0 -226
  36. package/dist/chunks/app-4M34YBXM.js +0 -223
  37. package/dist/chunks/app-4VRQVBXL.js +0 -226
  38. package/dist/chunks/app-5YW3SESE.js +0 -223
  39. package/dist/chunks/app-62A6ZFYX.js +0 -226
  40. package/dist/chunks/app-A6HECULK.js +0 -223
  41. package/dist/chunks/app-A6JFAZBR.js +0 -220
  42. package/dist/chunks/app-AASWJUCP.js +0 -226
  43. package/dist/chunks/app-AHIXABRK.js +0 -220
  44. package/dist/chunks/app-CK5GTF3V.js +0 -230
  45. package/dist/chunks/app-CTJKY73V.js +0 -223
  46. package/dist/chunks/app-DJWNDFPK.js +0 -223
  47. package/dist/chunks/app-DLGENJXK.js +0 -226
  48. package/dist/chunks/app-DU2VBIDN.js +0 -223
  49. package/dist/chunks/app-EKHVG5CH.js +0 -220
  50. package/dist/chunks/app-FJJPTQG7.js +0 -223
  51. package/dist/chunks/app-FVACY6W2.js +0 -230
  52. package/dist/chunks/app-GY2S4P3O.js +0 -220
  53. package/dist/chunks/app-HE22VKVY.js +0 -223
  54. package/dist/chunks/app-HW6KINDL.js +0 -226
  55. package/dist/chunks/app-II7PE7RS.js +0 -230
  56. package/dist/chunks/app-MPYGQO5K.js +0 -223
  57. package/dist/chunks/app-MWWVPJVZ.js +0 -223
  58. package/dist/chunks/app-OIIPCXZF.js +0 -226
  59. package/dist/chunks/app-QCQTUW4S.js +0 -223
  60. package/dist/chunks/app-QPPCSI4B.js +0 -223
  61. package/dist/chunks/app-RDSYUUGS.js +0 -228
  62. package/dist/chunks/app-SWVHXTUU.js +0 -223
  63. package/dist/chunks/app-TSUKVNLY.js +0 -223
  64. package/dist/chunks/app-WWNOUK7Q.js +0 -220
  65. package/dist/chunks/app-XTDZID37.js +0 -228
  66. package/dist/chunks/app-YCFZG7ZN.js +0 -223
  67. package/dist/chunks/app-ZUY2BADH.js +0 -226
  68. package/dist/chunks/chunk-2FKXQDRX.js +0 -3
  69. package/dist/chunks/chunk-3VSDH7DF.js +0 -3
  70. package/dist/chunks/chunk-4ANZCMTB.js +0 -813
  71. package/dist/chunks/chunk-5ORPFMKW.js +0 -3
  72. package/dist/chunks/chunk-6DHFEWGX.js +0 -1
  73. package/dist/chunks/chunk-73S5MDH5.js +0 -816
  74. package/dist/chunks/chunk-77P7CACS.js +0 -3
  75. package/dist/chunks/chunk-7WH5DREO.js +0 -1
  76. package/dist/chunks/chunk-A6RZ4EIR.js +0 -813
  77. package/dist/chunks/chunk-APOUCRQO.js +0 -803
  78. package/dist/chunks/chunk-BVYPWENJ.js +0 -803
  79. package/dist/chunks/chunk-BW2MR2YB.js +0 -3
  80. package/dist/chunks/chunk-D67A52ZR.js +0 -802
  81. package/dist/chunks/chunk-DB4BJM2R.js +0 -807
  82. package/dist/chunks/chunk-GYYGT2GJ.js +0 -1229
  83. package/dist/chunks/chunk-HU74ZBCV.js +0 -803
  84. package/dist/chunks/chunk-IW2KLAXM.js +0 -803
  85. package/dist/chunks/chunk-M3G4NWZ2.js +0 -3
  86. package/dist/chunks/chunk-O4A5T73D.js +0 -801
  87. package/dist/chunks/chunk-PHKIAKHS.js +0 -1
  88. package/dist/chunks/chunk-PK33OTVD.js +0 -802
  89. package/dist/chunks/chunk-RTGBM2SA.js +0 -27
  90. package/dist/chunks/chunk-SGZ2OI72.js +0 -1
  91. package/dist/chunks/chunk-UCFPBFHY.js +0 -811
  92. package/dist/chunks/chunk-UKBUOJ3P.js +0 -803
  93. package/dist/chunks/chunk-VBKX2PU3.js +0 -803
  94. package/dist/chunks/chunk-VFG7GIPV.js +0 -812
  95. package/dist/chunks/chunk-WJ33GNVP.js +0 -3
  96. package/dist/chunks/chunk-Y2EZRWRZ.js +0 -803
  97. package/dist/chunks/chunk-Y6SLVHK3.js +0 -1
  98. package/dist/chunks/chunk-ZESOEAQT.js +0 -1
  99. package/dist/chunks/chunk-ZGHOKGSQ.js +0 -1231
  100. package/dist/chunks/chunk-ZQZIEF5I.js +0 -803
  101. package/dist/chunks/chunk-ZRS2O6Y6.js +0 -1
  102. package/dist/chunks/export-JZFBZGGZ.js +0 -1
  103. package/dist/chunks/export-MX2VT3I7.js +0 -1
  104. package/dist/chunks/export-OFKMKWAS.js +0 -1
  105. package/dist/chunks/export-ZB2GNV3S.js +0 -1
  106. package/dist/chunks/paths-HYQFU6D2.js +0 -1
  107. package/dist/chunks/paths-KMO5IYNK.js +0 -1
  108. package/dist/chunks/paths-NXN6XAEU.js +0 -1
  109. package/dist/chunks/paths-YDCMNN4Q.js +0 -1
  110. package/dist/chunks/secrets-2VU4KV7B.js +0 -1
  111. package/dist/chunks/secrets-GN7OAYL7.js +0 -1
  112. package/dist/chunks/secrets-NCPPS7DR.js +0 -1
  113. package/dist/chunks/secrets-RZD3DYTB.js +0 -1
  114. package/dist/chunks/settings-57QAZRCP.js +0 -1
  115. package/dist/chunks/settings-DCF6DTL6.js +0 -1
  116. package/dist/chunks/settings-DTH5C6BO.js +0 -1
  117. package/dist/chunks/settings-GPKUUYFM.js +0 -1
  118. package/dist/chunks/settings-HOSPANO7.js +0 -1
  119. package/dist/chunks/settings-IY24HSRP.js +0 -1
  120. package/dist/chunks/settings-XPFFYYYD.js +0 -1
  121. package/dist/chunks/src-O2JUKI77.js +0 -1
  122. package/dist/chunks/subagent_state-3D5ZJCLX.js +0 -1
  123. package/dist/chunks/subagent_state-5IJKFMRU.js +0 -1
  124. package/dist/chunks/subagent_state-N77JX7MX.js +0 -1
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"./chunk-K4FITEVZ.js";export{a as GRID_CONFIG,c as captureGriddedScreenshot,b as getActiveDisplay,e as gridToNativeCoordinates,d as parseGridCodeTo720p};
1
+ import{a,b,c,d,e}from"./chunk-3JHCQ2JD.js";export{a as GRID_CONFIG,c as captureGriddedScreenshot,b as getActiveDisplay,e as gridToNativeCoordinates,d as parseGridCodeTo720p};
@@ -1 +1 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-ZESOEAQT.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";export{a as getAPIKey,b as getProviderAPIKey,f as getSearchSecrets,d as getSecret,k as removeAPIKey,j as removeSecret,g as saveAPIKey,c as saveProviderAPIKey,i as saveSearchId,h as saveSearchKey,e as saveSecret};
1
+ import{a,b,c,d,e,f,g,h,i,j,k}from"./chunk-M7QN5C2K.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";export{a as getAPIKey,b as getProviderAPIKey,f as getSearchSecrets,d as getSecret,k as removeAPIKey,j as removeSecret,g as saveAPIKey,c as saveProviderAPIKey,i as saveSearchId,h as saveSearchKey,e as saveSecret};
@@ -1 +1 @@
1
- import{h as a,i as b}from"./chunk-2FKXQDRX.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";export{a as loadSettings,b as saveSettings};
1
+ import{h as a,i as b}from"./chunk-6ENN7MJR.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";export{a as loadSettings,b as saveSettings};
package/dist/cli.js CHANGED
@@ -7,7 +7,7 @@ Usage: fluxflow --export error`),process.exit(1)}if(T&&(console.log(`v${c}`),pro
7
7
  --mode <flux|flow> Set startup mode (flux: Agent / flow: Chat)
8
8
  --model <model_name> Set startup AI model
9
9
  --key <key@provider> Set API key and provider
10
- --provider <google|deepseek|openrouter> Override default provider
10
+ --provider <google|deepseek|openrouter|nvidia|mistral|ollama|crofai> Override default provider
11
11
  --thinking <Fast|Low|Medium|High|xHigh> Set startup thinking level
12
12
  --memory <on|off> Toggle memory system
13
13
  --resume <session_id> Resume a previous session
@@ -55,4 +55,4 @@ Usage: fluxflow --export error`),process.exit(1)}if(T&&(console.log(`v${c}`),pro
55
55
  /docs View documentation
56
56
  /fluxflow init Create FluxFlow.md template
57
57
  /update check Check for new version
58
- /update latest Install latest release`),process.exit(0)),A){let f=o[1]||"latest";if(f==="check"){let r=o[2]==="latest";try{let d=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;d||(console.error("Error: Could not retrieve latest version."),process.exit(1)),console.log(r?`Latest version: v${d}`:d!==c?`A new version of FluxFlow is available: v${d} (current: v${c}). Run "fluxflow --update latest" to upgrade.`:`FluxFlow is up to date (v${c}).`)}catch(n){console.error("Error checking for updates:",n.message),process.exit(1)}process.exit(0)}else if(f==="latest"){console.log("Checking latest version and settings...");try{let s=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;s||(console.error("Error: Could not retrieve latest version."),process.exit(1)),s===c&&(console.log(`FluxFlow is already up to date (v${c}).`),process.exit(0));let d=async()=>{let e=(await import("react")).default,{useState:$}=e,{render:z,Box:u,Text:x}=await import("ink"),G=(await import("ink-select-input")).default,J=(await import("ink-text-input")).default;return new Promise(q=>{let X=[{label:"NPM",value:"npm"},{label:"PNPM",value:"pnpm"},{label:"Yarn",value:"yarn"},{label:"Bun",value:"bun"},{label:"Custom Command",value:"custom"}],K=({label:h,isSelected:y})=>e.createElement(u,{width:"100%"},e.createElement(x,{bold:y},"\u2514\u2500 ",y?"\x1B[32m\u25CF\x1B[0m":"\u25CB"," ",h)),F,Q=()=>{let[h,y]=$("select"),[ee,oe]=$(""),te=b=>{b.value==="custom"?y("custom"):B({manager:b.value})},se=b=>{B({manager:"custom",customCommand:b})};return h==="custom"?e.createElement(u,{flexDirection:"column",marginY:1},e.createElement(u,{marginBottom:1},e.createElement(x,{color:"magenta",bold:!0},"\u{1F527} Enter custom update command:")),e.createElement(u,{flexDirection:"row"},e.createElement(x,{color:"cyan",bold:!0}," \u276F "),e.createElement(J,{value:ee,onChange:oe,onSubmit:se})),e.createElement(u,{marginTop:1},e.createElement(x,{color:"gray",dimColor:!0,italic:!0}," (Press Enter to confirm)"))):e.createElement(u,{flexDirection:"column",marginY:1},e.createElement(u,{marginBottom:1},e.createElement(x,{color:"magenta",bold:!0},"\u{1F4E6} Select a package manager for the update:")),e.createElement(G,{items:X,onSelect:te,itemComponent:K,indicatorComponent:()=>null}))},B=h=>{F&&F(),q(h)},{unmount:Z}=z(e.createElement(Q,null));F=Z})},i,I="",v;try{let{loadSettings:e}=await import("./chunks/settings-XPFFYYYD.js");v=await e(),i=v?.systemSettings?.updateManager||v?.updateManager}catch{}if(!i){let e=await d();i=e.manager,I=e.customCommand}let m="";i==="pnpm"?m=`pnpm add -g fluxflow-cli@${s}`:i==="bun"?m=`bun add -g fluxflow-cli@${s}`:i==="yarn"?m=`yarn global add fluxflow-cli@${s}`:i==="custom"?m=I||v?.customUpdateCommand||`npm install -g fluxflow-cli@${s}`:m=`npm install -g fluxflow-cli@${s}`,console.log(`Updating FluxFlow to v${s} using ${i}...`),console.log(`Running: ${m}`);let{execSync:Y}=await import("child_process");Y(m,{stdio:"inherit"}),console.log(`\x1B[32m\u2705 Update successful! FluxFlow updated to v${s}.\x1B[0m`)}catch(r){console.error("\x1B[31m\u274C Update failed:\x1B[0m",r.message),process.exit(1)}process.exit(0)}else console.error("Unknown update command. Available options: --update, --update check, --update check latest, --update latest"),process.exit(1)}}let{default:D}=await import("react"),{render:U}=await import("ink"),{default:_}=await import("./chunks/app-AIAYUYQP.js");process.env.NODE_NO_WARNINGS="1";let j=["cuimp","Found existing binary","Binary verified","curl.exe not found","Falling back to .bat file","DeprecationWarning"],H=console.log,W=console.warn,V=console.error,S=t=>{let p=t.map(String).join(" ");return j.some(g=>p.includes(g))};console.log=(...t)=>!S(t)&&H(...t),console.warn=(...t)=>!S(t)&&W(...t),console.error=(...t)=>!S(t)&&V(...t),process.stdout.write("\x1B[2J\x1B[3J\x1B[H"),process.stdout.isTTY&&(process.stdout.write("\x1B]0;FluxFlow\x07"),process.stdout.write("\x1B]633;P;TerminalTitle=FluxFlow\x07"),process.stdout.write("\x1B[?2004h"));let E=()=>{process.stdout.isTTY&&process.stdout.write("\x1B[?2004l")};if(process.on("exit",E),["SIGINT","SIGTERM","SIGHUP"].forEach(t=>{process.once(t,()=>{E(),process.exit(0)})}),o.includes("--playground")){let t=process.cwd();process.argv.push("--original-cwd",t);let{DATA_DIR:p}=await import("./chunks/paths-R3DD7CRF.js"),g=await import("path"),C=await import("fs-extra"),k=g.default.join(p,"playground");try{C.default.ensureDirSync(k),process.chdir(k)}catch{}}U(D.createElement(_,{args:process.argv.slice(2)}),{exitOnCtrlC:!1})}
58
+ /update latest Install latest release`),process.exit(0)),A){let f=o[1]||"latest";if(f==="check"){let r=o[2]==="latest";try{let d=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;d||(console.error("Error: Could not retrieve latest version."),process.exit(1)),console.log(r?`Latest version: v${d}`:d!==c?`A new version of FluxFlow is available: v${d} (current: v${c}). Run "fluxflow --update latest" to upgrade.`:`FluxFlow is up to date (v${c}).`)}catch(n){console.error("Error checking for updates:",n.message),process.exit(1)}process.exit(0)}else if(f==="latest"){console.log("Checking latest version and settings...");try{let s=(await(await fetch("https://registry.npmjs.org/fluxflow-cli",{cache:"no-store"})).json())["dist-tags"]?.latest;s||(console.error("Error: Could not retrieve latest version."),process.exit(1)),s===c&&(console.log(`FluxFlow is already up to date (v${c}).`),process.exit(0));let d=async()=>{let e=(await import("react")).default,{useState:$}=e,{render:z,Box:u,Text:x}=await import("ink"),G=(await import("ink-select-input")).default,J=(await import("ink-text-input")).default;return new Promise(q=>{let X=[{label:"NPM",value:"npm"},{label:"PNPM",value:"pnpm"},{label:"Yarn",value:"yarn"},{label:"Bun",value:"bun"},{label:"Custom Command",value:"custom"}],K=({label:h,isSelected:y})=>e.createElement(u,{width:"100%"},e.createElement(x,{bold:y},"\u2514\u2500 ",y?"\x1B[32m\u25CF\x1B[0m":"\u25CB"," ",h)),F,Q=()=>{let[h,y]=$("select"),[ee,oe]=$(""),te=b=>{b.value==="custom"?y("custom"):B({manager:b.value})},se=b=>{B({manager:"custom",customCommand:b})};return h==="custom"?e.createElement(u,{flexDirection:"column",marginY:1},e.createElement(u,{marginBottom:1},e.createElement(x,{color:"magenta",bold:!0},"\u{1F527} Enter custom update command:")),e.createElement(u,{flexDirection:"row"},e.createElement(x,{color:"cyan",bold:!0}," \u276F "),e.createElement(J,{value:ee,onChange:oe,onSubmit:se})),e.createElement(u,{marginTop:1},e.createElement(x,{color:"gray",dimColor:!0,italic:!0}," (Press Enter to confirm)"))):e.createElement(u,{flexDirection:"column",marginY:1},e.createElement(u,{marginBottom:1},e.createElement(x,{color:"magenta",bold:!0},"\u{1F4E6} Select a package manager for the update:")),e.createElement(G,{items:X,onSelect:te,itemComponent:K,indicatorComponent:()=>null}))},B=h=>{F&&F(),q(h)},{unmount:Z}=z(e.createElement(Q,null));F=Z})},i,I="",v;try{let{loadSettings:e}=await import("./chunks/settings-REIFJELQ.js");v=await e(),i=v?.systemSettings?.updateManager||v?.updateManager}catch{}if(!i){let e=await d();i=e.manager,I=e.customCommand}let m="";i==="pnpm"?m=`pnpm add -g fluxflow-cli@${s}`:i==="bun"?m=`bun add -g fluxflow-cli@${s}`:i==="yarn"?m=`yarn global add fluxflow-cli@${s}`:i==="custom"?m=I||v?.customUpdateCommand||`npm install -g fluxflow-cli@${s}`:m=`npm install -g fluxflow-cli@${s}`,console.log(`Updating FluxFlow to v${s} using ${i}...`),console.log(`Running: ${m}`);let{execSync:Y}=await import("child_process");Y(m,{stdio:"inherit"}),console.log(`\x1B[32m\u2705 Update successful! FluxFlow updated to v${s}.\x1B[0m`)}catch(r){console.error("\x1B[31m\u274C Update failed:\x1B[0m",r.message),process.exit(1)}process.exit(0)}else console.error("Unknown update command. Available options: --update, --update check, --update check latest, --update latest"),process.exit(1)}}let{default:D}=await import("react"),{render:U}=await import("ink"),{default:_}=await import("./chunks/app-W2BOMBDT.js");process.env.NODE_NO_WARNINGS="1";let j=["cuimp","Found existing binary","Binary verified","curl.exe not found","Falling back to .bat file","DeprecationWarning"],H=console.log,W=console.warn,V=console.error,S=t=>{let p=t.map(String).join(" ");return j.some(g=>p.includes(g))};console.log=(...t)=>!S(t)&&H(...t),console.warn=(...t)=>!S(t)&&W(...t),console.error=(...t)=>!S(t)&&V(...t),process.stdout.write("\x1B[2J\x1B[3J\x1B[H"),process.stdout.isTTY&&(process.stdout.write("\x1B]0;FluxFlow\x07"),process.stdout.write("\x1B]633;P;TerminalTitle=FluxFlow\x07"),process.stdout.write("\x1B[?2004h"));let E=()=>{process.stdout.isTTY&&process.stdout.write("\x1B[?2004l")};if(process.on("exit",E),["SIGINT","SIGTERM","SIGHUP"].forEach(t=>{process.once(t,()=>{E(),process.exit(0)})}),o.includes("--playground")){let t=process.cwd();process.argv.push("--original-cwd",t);let{DATA_DIR:p}=await import("./chunks/paths-R3DD7CRF.js"),g=await import("path"),C=await import("fs-extra"),k=g.default.join(p,"playground");try{C.default.ensureDirSync(k),process.chdir(k)}catch{}}U(D.createElement(_,{args:process.argv.slice(2)}),{exitOnCtrlC:!1})}
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": 0,
3
- "release": 20260815,
2
+ "version": 1,
3
+ "release": 20260817,
4
4
  "fallbacks": {
5
5
  "janitor_default": "gemini-3.1-flash-lite",
6
6
  "janitor_attempts_fallback": "gemma-4-26b-a4b-it",
@@ -14,7 +14,7 @@
14
14
  "nvidia_janitor_fallback": "mistralai/mistral-nemotron",
15
15
  "nvidia_chat_summarizer_fallback": "nvidia/nemotron-3-super-120b-a12b",
16
16
  "google_level_1": "gemini-3-flash-preview",
17
- "google_level_2": "gemini-3.5-flash",
17
+ "google_level_2": "gemini-3.7-flash",
18
18
  "gemma_emergency": "gemma-4-31b-it",
19
19
  "gemma_janitor_fallback_google_openrouter": "google/gemma-4-26b-a4b-it:free",
20
20
  "gemma_janitor_fallback_google": "gemma-4-26b-a4b-it"
@@ -49,6 +49,65 @@
49
49
  "Paid": []
50
50
  }
51
51
  },
52
+ "CrofAI": {
53
+ "default_free": "deepseek-v4-flash-0731",
54
+ "default_paid": "deepseek-v4-flash-0731",
55
+ "models": {
56
+ "Free": [
57
+ {
58
+ "cmd": "deepseek-v4-pro-0813",
59
+ "multimodal": false,
60
+ "desc": "Text Only"
61
+ },
62
+ {
63
+ "cmd": "deepseek-v4-flash-0731",
64
+ "multimodal": false,
65
+ "desc": "Text Only"
66
+ },
67
+ {
68
+ "cmd": "kimi-k3-eco",
69
+ "multimodal": false,
70
+ "desc": "Text Only"
71
+ },
72
+ {
73
+ "cmd": "kimi-k2.6",
74
+ "multimodal": true,
75
+ "desc": "Multimodal"
76
+ },
77
+ {
78
+ "cmd": "glm-5.2",
79
+ "multimodal": false,
80
+ "desc": "Text Only"
81
+ },
82
+ {
83
+ "cmd": "gemma-4-31b-it",
84
+ "multimodal": true,
85
+ "desc": "Multimodal"
86
+ },
87
+ {
88
+ "cmd": "qwen3.6-27b",
89
+ "multimodal": true,
90
+ "desc": "Multimodal"
91
+ },
92
+ {
93
+ "cmd": "qwen3.5-397b-a17b",
94
+ "multimodal": true,
95
+ "desc": "Multimodal"
96
+ },
97
+ {
98
+ "cmd": "qwen3.5-9b",
99
+ "multimodal": true,
100
+ "desc": "Multimodal"
101
+ },
102
+ {
103
+ "cmd": "greg-1-mini",
104
+ "multimodal": true,
105
+ "desc": "Multimodal"
106
+ }
107
+ ],
108
+ "Paid": []
109
+ }
110
+ },
52
111
  "Mistral": {
53
112
  "default_free": "mistral-small-2506",
54
113
  "default_paid": "devstral-2512",
@@ -429,6 +488,11 @@
429
488
  "multimodal": false,
430
489
  "desc": "Text Only"
431
490
  },
491
+ {
492
+ "cmd": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
493
+ "multimodal": true,
494
+ "desc": "Multimodal"
495
+ },
432
496
  {
433
497
  "cmd": "\n--- Mistral Models ---",
434
498
  "desc": ""
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "4.1.3",
4
- "date": "2026-08-16",
3
+ "version": "4.2.0",
4
+ "date": "2026-08-17",
5
5
  "description": "A High-Fidelity Agentic CLI with Sub-Agents for the Flux Era.",
6
6
  "keywords": [
7
7
  "ai",
package/model_config.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": 0,
3
- "release": 20260815,
2
+ "version": 1,
3
+ "release": 20260817,
4
4
  "fallbacks": {
5
5
  "janitor_default": "gemini-3.1-flash-lite",
6
6
  "janitor_attempts_fallback": "gemma-4-26b-a4b-it",
@@ -14,7 +14,7 @@
14
14
  "nvidia_janitor_fallback": "mistralai/mistral-nemotron",
15
15
  "nvidia_chat_summarizer_fallback": "nvidia/nemotron-3-super-120b-a12b",
16
16
  "google_level_1": "gemini-3-flash-preview",
17
- "google_level_2": "gemini-3.5-flash",
17
+ "google_level_2": "gemini-3.7-flash",
18
18
  "gemma_emergency": "gemma-4-31b-it",
19
19
  "gemma_janitor_fallback_google_openrouter": "google/gemma-4-26b-a4b-it:free",
20
20
  "gemma_janitor_fallback_google": "gemma-4-26b-a4b-it"
@@ -49,6 +49,65 @@
49
49
  "Paid": []
50
50
  }
51
51
  },
52
+ "CrofAI": {
53
+ "default_free": "deepseek-v4-flash-0731",
54
+ "default_paid": "deepseek-v4-flash-0731",
55
+ "models": {
56
+ "Free": [
57
+ {
58
+ "cmd": "deepseek-v4-pro-0813",
59
+ "multimodal": false,
60
+ "desc": "Text Only"
61
+ },
62
+ {
63
+ "cmd": "deepseek-v4-flash-0731",
64
+ "multimodal": false,
65
+ "desc": "Text Only"
66
+ },
67
+ {
68
+ "cmd": "kimi-k3-eco",
69
+ "multimodal": false,
70
+ "desc": "Text Only"
71
+ },
72
+ {
73
+ "cmd": "kimi-k2.6",
74
+ "multimodal": true,
75
+ "desc": "Multimodal"
76
+ },
77
+ {
78
+ "cmd": "glm-5.2",
79
+ "multimodal": false,
80
+ "desc": "Text Only"
81
+ },
82
+ {
83
+ "cmd": "gemma-4-31b-it",
84
+ "multimodal": true,
85
+ "desc": "Multimodal"
86
+ },
87
+ {
88
+ "cmd": "qwen3.6-27b",
89
+ "multimodal": true,
90
+ "desc": "Multimodal"
91
+ },
92
+ {
93
+ "cmd": "qwen3.5-397b-a17b",
94
+ "multimodal": true,
95
+ "desc": "Multimodal"
96
+ },
97
+ {
98
+ "cmd": "qwen3.5-9b",
99
+ "multimodal": true,
100
+ "desc": "Multimodal"
101
+ },
102
+ {
103
+ "cmd": "greg-1-mini",
104
+ "multimodal": true,
105
+ "desc": "Multimodal"
106
+ }
107
+ ],
108
+ "Paid": []
109
+ }
110
+ },
52
111
  "Mistral": {
53
112
  "default_free": "mistral-small-2506",
54
113
  "default_paid": "devstral-2512",
@@ -429,6 +488,11 @@
429
488
  "multimodal": false,
430
489
  "desc": "Text Only"
431
490
  },
491
+ {
492
+ "cmd": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
493
+ "multimodal": true,
494
+ "desc": "Multimodal"
495
+ },
432
496
  {
433
497
  "cmd": "\n--- Mistral Models ---",
434
498
  "desc": ""
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "4.1.3",
4
- "date": "2026-08-16",
3
+ "version": "4.2.0",
4
+ "date": "2026-08-17",
5
5
  "description": "A High-Fidelity Agentic CLI with Sub-Agents for the Flux Era.",
6
6
  "keywords": [
7
7
  "ai",
@@ -1 +0,0 @@
1
- import{$ as l,R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-A6RZ4EIR.js";import"./chunk-ZESOEAQT.js";import{c as a}from"./chunk-BZBAMZS4.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";import"./chunk-56EJGQU3.js";import"./chunk-K4FITEVZ.js";export{i as compressHistory,b as convertChannelThinkTags,j as deleteChatSummary,k as getAIStream,c as getCleanGroupedLength,f as getGoogleClient,h as initAI,a as isModelMultimodal,e as isTerminationSignaled,g as runJanitorTask,l as runSubagent,d as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-UKBUOJ3P.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-77P7CACS.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{$ as l,R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-73S5MDH5.js";import"./chunk-ZESOEAQT.js";import{c as a}from"./chunk-2FKXQDRX.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";import"./chunk-56EJGQU3.js";export{i as compressHistory,b as convertChannelThinkTags,j as deleteChatSummary,k as getAIStream,c as getCleanGroupedLength,f as getGoogleClient,h as initAI,a as isModelMultimodal,e as isTerminationSignaled,g as runJanitorTask,l as runSubagent,d as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-D67A52ZR.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-M3G4NWZ2.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{$ as l,R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-UCFPBFHY.js";import"./chunk-ZESOEAQT.js";import{c as a}from"./chunk-BZBAMZS4.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";import"./chunk-56EJGQU3.js";import"./chunk-K4FITEVZ.js";export{i as compressHistory,b as convertChannelThinkTags,j as deleteChatSummary,k as getAIStream,c as getCleanGroupedLength,f as getGoogleClient,h as initAI,a as isModelMultimodal,e as isTerminationSignaled,g as runJanitorTask,l as runSubagent,d as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-DB4BJM2R.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-M3G4NWZ2.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-ZGHOKGSQ.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-WJ33GNVP.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-PHKIAKHS.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-BVYPWENJ.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-3VSDH7DF.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{$ as l,R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-4ANZCMTB.js";import"./chunk-ZESOEAQT.js";import{c as a}from"./chunk-BZBAMZS4.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";import"./chunk-56EJGQU3.js";import"./chunk-K4FITEVZ.js";export{i as compressHistory,b as convertChannelThinkTags,j as deleteChatSummary,k as getAIStream,c as getCleanGroupedLength,f as getGoogleClient,h as initAI,a as isModelMultimodal,e as isTerminationSignaled,g as runJanitorTask,l as runSubagent,d as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-HU74ZBCV.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-M3G4NWZ2.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-ZQZIEF5I.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-77P7CACS.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-VBKX2PU3.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-77P7CACS.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-Y2EZRWRZ.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-3VSDH7DF.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-APOUCRQO.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-M3G4NWZ2.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-PK33OTVD.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-5ORPFMKW.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-Y6SLVHK3.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{$ as l,R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-GYYGT2GJ.js";import"./chunk-ZESOEAQT.js";import{c as a}from"./chunk-BW2MR2YB.js";import"./chunk-SIINYZWE.js";import"./chunk-I27MASHH.js";import"./chunk-56EJGQU3.js";import"./chunk-ZRS2O6Y6.js";import"./chunk-PHKIAKHS.js";export{i as compressHistory,b as convertChannelThinkTags,j as deleteChatSummary,k as getAIStream,c as getCleanGroupedLength,f as getGoogleClient,h as initAI,a as isModelMultimodal,e as isTerminationSignaled,g as runJanitorTask,l as runSubagent,d as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-IW2KLAXM.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-77P7CACS.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};
@@ -1 +0,0 @@
1
- import{R as b,S as c,T as d,U as e,V as f,W as g,X as h,Y as i,Z as j,_ as k}from"./chunk-O4A5T73D.js";import"./chunk-7WH5DREO.js";import{c as a}from"./chunk-3VSDH7DF.js";import"./chunk-SIINYZWE.js";import"./chunk-SGZ2OI72.js";import"./chunk-56EJGQU3.js";import"./chunk-6DHFEWGX.js";export{h as compressHistory,i as deleteChatSummary,j as getAIStream,b as getCleanGroupedLength,e as getGoogleClient,g as initAI,a as isModelMultimodal,d as isTerminationSignaled,f as runJanitorTask,k as runSubagent,c as signalTermination};