fluxflow-cli 3.23.1 → 4.0.1

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 (111) hide show
  1. package/README.md +3 -1
  2. package/dist/chunks/ai-7LT7T34E.js +1 -1
  3. package/dist/chunks/ai-ACFJ2D4K.js +1 -0
  4. package/dist/chunks/ai-CQ6R662V.js +1 -1
  5. package/dist/chunks/ai-GUVZR6ZJ.js +1 -1
  6. package/dist/chunks/ai-IGHYVKEI.js +1 -0
  7. package/dist/chunks/ai-IOVX3WCN.js +1 -1
  8. package/dist/chunks/ai-LUAK6ZNI.js +1 -1
  9. package/dist/chunks/ai-NDNZ4XGW.js +1 -1
  10. package/dist/chunks/ai-O2AHKT2Q.js +1 -1
  11. package/dist/chunks/ai-OLHI3UWZ.js +1 -1
  12. package/dist/chunks/ai-OP2H56UR.js +1 -1
  13. package/dist/chunks/ai-OX4W3MY2.js +1 -1
  14. package/dist/chunks/ai-SUNZIUAF.js +1 -0
  15. package/dist/chunks/ai-T2SZGY7Y.js +1 -1
  16. package/dist/chunks/ai-VMV4EAEQ.js +1 -1
  17. package/dist/chunks/app-2BDYKT26.js +226 -226
  18. package/dist/chunks/app-2MCTW3BU.js +226 -0
  19. package/dist/chunks/app-4M34YBXM.js +223 -223
  20. package/dist/chunks/app-4VRQVBXL.js +226 -226
  21. package/dist/chunks/app-5YW3SESE.js +223 -223
  22. package/dist/chunks/app-62A6ZFYX.js +226 -0
  23. package/dist/chunks/app-A6HECULK.js +223 -223
  24. package/dist/chunks/app-A6JFAZBR.js +220 -220
  25. package/dist/chunks/app-AASWJUCP.js +226 -226
  26. package/dist/chunks/app-AHIXABRK.js +220 -220
  27. package/dist/chunks/app-CTJKY73V.js +223 -223
  28. package/dist/chunks/app-DJWNDFPK.js +223 -223
  29. package/dist/chunks/app-DLGENJXK.js +226 -226
  30. package/dist/chunks/app-DU2VBIDN.js +223 -223
  31. package/dist/chunks/app-EKHVG5CH.js +220 -220
  32. package/dist/chunks/app-FJJPTQG7.js +223 -223
  33. package/dist/chunks/app-GY2S4P3O.js +220 -220
  34. package/dist/chunks/app-HE22VKVY.js +223 -223
  35. package/dist/chunks/app-HW6KINDL.js +226 -226
  36. package/dist/chunks/app-MPYGQO5K.js +223 -223
  37. package/dist/chunks/app-MWWVPJVZ.js +223 -223
  38. package/dist/chunks/app-OIIPCXZF.js +226 -226
  39. package/dist/chunks/app-QCQTUW4S.js +223 -223
  40. package/dist/chunks/app-QPPCSI4B.js +223 -223
  41. package/dist/chunks/app-RDSYUUGS.js +228 -0
  42. package/dist/chunks/app-SWVHXTUU.js +223 -223
  43. package/dist/chunks/app-TSUKVNLY.js +223 -223
  44. package/dist/chunks/app-WWNOUK7Q.js +220 -220
  45. package/dist/chunks/app-XTDZID37.js +228 -0
  46. package/dist/chunks/app-YCFZG7ZN.js +223 -223
  47. package/dist/chunks/app-ZUY2BADH.js +226 -226
  48. package/dist/chunks/chunk-2FKXQDRX.js +3 -0
  49. package/dist/chunks/chunk-3JTGIHTN.js +31 -0
  50. package/dist/chunks/chunk-3VSDH7DF.js +3 -3
  51. package/dist/chunks/chunk-5ORPFMKW.js +3 -3
  52. package/dist/chunks/chunk-6DHFEWGX.js +1 -1
  53. package/dist/chunks/chunk-73S5MDH5.js +816 -0
  54. package/dist/chunks/chunk-77P7CACS.js +3 -3
  55. package/dist/chunks/chunk-7WH5DREO.js +1 -1
  56. package/dist/chunks/chunk-APOUCRQO.js +803 -803
  57. package/dist/chunks/chunk-BVYPWENJ.js +803 -803
  58. package/dist/chunks/chunk-BW2MR2YB.js +3 -0
  59. package/dist/chunks/chunk-D67A52ZR.js +802 -802
  60. package/dist/chunks/chunk-DB4BJM2R.js +807 -807
  61. package/dist/chunks/chunk-GYYGT2GJ.js +1229 -0
  62. package/dist/chunks/chunk-HU74ZBCV.js +803 -803
  63. package/dist/chunks/chunk-I27MASHH.js +1 -0
  64. package/dist/chunks/chunk-IW2KLAXM.js +803 -803
  65. package/dist/chunks/chunk-M3G4NWZ2.js +3 -3
  66. package/dist/chunks/chunk-O4A5T73D.js +801 -801
  67. package/dist/chunks/chunk-PHKIAKHS.js +1 -0
  68. package/dist/chunks/chunk-PK33OTVD.js +802 -802
  69. package/dist/chunks/chunk-RTGBM2SA.js +27 -27
  70. package/dist/chunks/chunk-SGZ2OI72.js +1 -1
  71. package/dist/chunks/chunk-UKBUOJ3P.js +803 -803
  72. package/dist/chunks/chunk-VBKX2PU3.js +803 -803
  73. package/dist/chunks/chunk-WJ33GNVP.js +3 -0
  74. package/dist/chunks/chunk-Y2EZRWRZ.js +803 -803
  75. package/dist/chunks/chunk-Y6SLVHK3.js +1 -1
  76. package/dist/chunks/chunk-ZESOEAQT.js +1 -0
  77. package/dist/chunks/chunk-ZGHOKGSQ.js +1231 -0
  78. package/dist/chunks/chunk-ZQZIEF5I.js +803 -803
  79. package/dist/chunks/chunk-ZRS2O6Y6.js +1 -0
  80. package/dist/chunks/export-JZFBZGGZ.js +1 -1
  81. package/dist/chunks/export-MX2VT3I7.js +1 -0
  82. package/dist/chunks/export-NRMLNZUN.js +1 -0
  83. package/dist/chunks/export-OFKMKWAS.js +1 -1
  84. package/dist/chunks/export-ZB2GNV3S.js +1 -0
  85. package/dist/chunks/paths-HYQFU6D2.js +1 -1
  86. package/dist/chunks/paths-KMO5IYNK.js +1 -0
  87. package/dist/chunks/paths-NXN6XAEU.js +1 -1
  88. package/dist/chunks/paths-R3DD7CRF.js +1 -0
  89. package/dist/chunks/paths-YDCMNN4Q.js +1 -0
  90. package/dist/chunks/secrets-2VU4KV7B.js +1 -0
  91. package/dist/chunks/secrets-D5HMTNJA.js +1 -0
  92. package/dist/chunks/secrets-GN7OAYL7.js +1 -1
  93. package/dist/chunks/secrets-NCPPS7DR.js +1 -1
  94. package/dist/chunks/secrets-RZD3DYTB.js +1 -0
  95. package/dist/chunks/settings-57QAZRCP.js +1 -1
  96. package/dist/chunks/settings-DCF6DTL6.js +1 -1
  97. package/dist/chunks/settings-DTH5C6BO.js +1 -1
  98. package/dist/chunks/settings-GPKUUYFM.js +1 -0
  99. package/dist/chunks/settings-HOSPANO7.js +1 -0
  100. package/dist/chunks/settings-IY24HSRP.js +1 -1
  101. package/dist/chunks/settings-SSPDWUKI.js +1 -0
  102. package/dist/chunks/src-O2JUKI77.js +1 -0
  103. package/dist/chunks/subagent_state-3D5ZJCLX.js +1 -1
  104. package/dist/chunks/subagent_state-5IJKFMRU.js +1 -0
  105. package/dist/chunks/subagent_state-LZCOZSUJ.js +1 -0
  106. package/dist/chunks/subagent_state-N77JX7MX.js +1 -1
  107. package/dist/cli.js +2 -2
  108. package/dist/model_config.json +15 -11
  109. package/dist/package.json +7 -3
  110. package/model_config.json +15 -11
  111. package/package.json +7 -3
@@ -0,0 +1,3 @@
1
+ import{e as v,f as g}from"./chunk-SIINYZWE.js";import{a as d,b as n}from"./chunk-I27MASHH.js";import f from"fs-extra";import h from"path";import l from"fs";import p from"path";import{fileURLToPath as k}from"url";var A=k(import.meta.url),x=p.dirname(A),y="",E=[p.join(x,"../../model_config.json"),p.join(x,"../model_config.json")];for(let t of E)try{if(l.existsSync(t)){y=t;break}}catch{}var S=p.join(d,"model_config.json"),o=null;if(l.existsSync(S))try{let t=l.readFileSync(S,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}if(!o&&y)try{let t=l.readFileSync(y,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}o||(console.error(`
2
+ [Error] Unable to load model configuration. Please re-install the package from your package manager.
3
+ `),process.exit(1));var F=new Set,L=new Set,T=()=>{let t=new Set,e=new Set;if(o.providers)for(let r of Object.keys(o.providers)){let a=o.providers[r];if(a&&a.models){let i=["Free","Paid"];for(let s of i){let u=a.models[s];if(Array.isArray(u)){for(let m of u)if(m&&m.cmd){let w=m.cmd.trim().toLowerCase();m.multimodal===!0&&t.add(w),m.hasReasoning===!0&&e.add(w)}}}}}if(Array.isArray(o.multimodal_models))for(let r of o.multimodal_models)r&&typeof r=="string"&&t.add(r.trim().toLowerCase());F=t,L=e};T();var C=async()=>((async()=>{try{let e=await fetch("https://raw.githubusercontent.com/KushalRoyChowdhury/fluxflow-cli/main/model_config.json",{signal:AbortSignal.timeout(2e3)});if(e.ok){let r=await e.json();if(r&&r.providers&&r.fallbacks&&r.release){let a=typeof r.version=="number"&&r.version>o.version,i=typeof r.release=="number"&&r.release>o.release;if(a||i){o=r,T();try{l.existsSync(d)||l.mkdirSync(d,{recursive:!0}),l.writeFileSync(S,JSON.stringify(r,null,2),"utf-8")}catch{}}}}}catch{}})(),!0),D=!1,K=t=>{D=!!t},R=t=>{if(!t)return!1;let e=t.trim().toLowerCase();return!!(D||F.has(e)||e.startsWith("gemini-")||e.startsWith("gemma-"))},j=t=>{if(!t)return!1;let e=t.trim().toLowerCase();return L.has(e)},q=(t,e)=>{let r=o.providers[t];return r?r.models[e==="Free"?"Free":"Paid"]||[]:[]},_=(t,e)=>{let r=o.providers[t];return r?e==="Free"?r.default_free:r.default_paid:""},G=t=>o.fallbacks[t];var c={mode:"Flux",thinkingLevel:"Medium",aiProvider:"Google",activeModel:_("Google","Free")||"gemma-4-31b-it",showFullThinking:!0,apiTier:"Free",quotas:{agentLimit:999999,backgroundLimit:999999,searchLimit:100,customModelId:"",customLimit:0,providerTiers:{Google:"Free",DeepSeek:"Free",NVIDIA:"Free",OpenRouter:"Free"}},systemSettings:{memory:!1,theme:"Dark",compression:0,autoExec:!1,allowExternalAccess:!1,advanceRollback:!1,autoDeleteHistory:"7d",useExternalData:!1,externalDataPath:"",preserveThinking:!0,loadingPhrases:!1,progressiveRendering:!0,showTPMEstimate:!1,subAgents:!0,CustomSubAgent:!1,SubAgentModel:"Default",SubAgentProvider:"",dynamicDirAwareness:!1,indentationTree:!0,ollamaEndpoint:"Cloud",compressToolResults:!1,autoTruncateResults:!1},profileData:{name:null,nickname:null,instructions:null},imageSettings:{keyType:"Default",quality:"Low-High",apiKey:""}},b=async()=>{let t={...c};try{if(await f.exists(n)){let e=v(n);if(e.imageSettings&&e.imageSettings.apiKey)try{let r=e.imageSettings.apiKey,{saveSecret:a}=await import("./secrets-D5HMTNJA.js");await a("POLLINATIONS_API_KEY",r),e.imageSettings.apiKey="",g(n,e)}catch{}t={...c,...e,quotas:{...c.quotas,...e.quotas,providerTiers:{...c.quotas.providerTiers,...e.quotas?.providerTiers||{}}},systemSettings:{...c.systemSettings,...e.systemSettings},profileData:{...c.profileData,...e.profileData},imageSettings:{...c.imageSettings,...e.imageSettings}}}}catch(e){console.error("Failed to load settings:",e)}try{let{getSecret:e}=await import("./secrets-D5HMTNJA.js"),r=await e("POLLINATIONS_API_KEY");r&&(t.imageSettings.apiKey=r)}catch{}if(t.showFullThinking===!1){t.showFullThinking=!0;try{g(n,t)}catch{}}return t},I=async t=>{let{FLUXFLOW_DIR:e}=await import("./paths-R3DD7CRF.js"),r=["logs","secret"];for(let a of r){let i=h.join(e,a),s=h.join(t,a);try{await f.exists(i)&&(await f.ensureDir(s),await f.copy(i,s,{overwrite:!0}))}catch(u){console.error(`Migration failed for ${a}:`,u)}}},X=async t=>{try{let e=await b();if(!e.systemSettings.useExternalData&&t.systemSettings?.useExternalData&&t.systemSettings?.externalDataPath&&await I(t.systemSettings.externalDataPath),t.imageSettings&&t.imageSettings.apiKey!==void 0){let{saveSecret:a,removeSecret:i}=await import("./secrets-D5HMTNJA.js"),s=t.imageSettings.apiKey;s?await a("POLLINATIONS_API_KEY",s):await i("POLLINATIONS_API_KEY")}let r={...e,...t};return r.imageSettings&&(r.imageSettings={...r.imageSettings,apiKey:""}),await f.ensureDir(h.dirname(n)),g(n,r),!0}catch(e){return console.error("Failed to save settings:",e),!1}};export{C as a,K as b,R as c,j as d,q as e,_ as f,G as g,b as h,X as i};
@@ -0,0 +1,31 @@
1
+ import{d as S}from"./chunk-I27MASHH.js";import O from"fs-extra";import T from"path";var C=a=>{if(!a)return[];let u=[],h=/\[tool:(.*?)\((.*?)\)\]/g,r=0,l;for(;(l=h.exec(a))!==null;){if(l.index>r){let t=a.slice(r,l.index);t.trim()&&u.push({type:"output",content:t})}u.push({type:"tool",toolName:l[1],args:l[2]}),r=h.lastIndex}if(r<a.length){let t=a.slice(r);t.trim()&&u.push({type:"output",content:t})}return u},b=async(a,u,h=process.cwd())=>{let r=`export-fluxflow-${a}.txt`,l=T.join(h,r),t=[],c=!1;for(let g=0;g<u.length;g++){let i=u[g];if(i&&!(i.role==="system"||i.isMeta||i.isLogo||String(i.id).startsWith("welcome"))){if(i.role==="user"){let e=i.text||"";e=e.replace(/\s*\[Prompted on:.*?\]/g,"").trim(),t.length>0&&t.push(""),t.push("[USER]"),t.push(e),c=!1}else if(i.role==="think"){c||(t.push(""),t.push("[AGENT]"),c=!0);let e=(i.text||"").replace(/\[\[\s*turn\s*:\s*(continue|finish)\s*\]\]/gi,"").replace(/\[\[END\]\]/gi,"").replace(/\[\[TOOL RESULTS\]\]/gi,"").replace(/\[TOOL RESULTS\]/gi,"").replace(/\[TOOL RESULT\]/gi,"").trim();e&&(t.push("[thoughts]"),t.push(e))}else if(i.role==="agent"){c||(t.push(""),t.push("[AGENT]"),c=!0);let e=C(i.text||"");for(let p of e)if(p.type==="output"){let m=p.content.replace(/\[\[\s*turn\s*:\s*(continue|finish)\s*\]\]/gi,"").replace(/\[\[END\]\]/gi,"").replace(/\[\[TOOL RESULTS\]\]/gi,"").replace(/\[TOOL RESULTS\]/gi,"").replace(/\[TOOL RESULT\]/gi,"").trim();m&&(t.push("[output]"),t.push(m))}else p.type==="tool"&&(t.push("[tool]"),t.push(`${p.toolName} ${p.args}`))}}}let R=t.join(`
2
+ `);return await O.writeFile(l,R,"utf8"),{exportFile:r,exportPath:l,totalLines:t.length}},j=(a,u="FluxFlow",h=null)=>{if(!a||!a.trim())return[];let r=a.split(`
3
+ `),l=[],t=[],c=/^\s*(?:CRITICAL\s+ERROR|ERROR|DEBUG|SEARCH|PUPPETEER|WARN|WARNING|INFO)\b/i,R=/^\s*-{3,}\s*$/,g=!1;for(let e of r)if(c.test(e)){g=!0;break}if(!g){let e=a.trim();if(!e)return[];let p=h?new Date(h).toLocaleString():"Unknown Time",m=/\bjanitor\b/i.test(e)?"Memory":u;return[{timestamp:p,level:"ERROR",source:m,message:e}]}for(let e of r)R.test(e)?t.length>0&&(l.push(t.join(`
4
+ `).trim()),t=[]):c.test(e)?(t.length>0&&(l.push(t.join(`
5
+ `).trim()),t=[]),t.push(e)):(t.length>0||e.trim())&&t.push(e);t.length>0&&l.push(t.join(`
6
+ `).trim());let i=[];for(let e of l){if(!e)continue;let p=e.split(`
7
+ `).map(o=>o.trimEnd()),m=p[0]||"";if(!/\bERROR\b/i.test(e))continue;let d=m.match(/\[(.*?)\]/),s=d?d[1]:null,f="ERROR";/CRITICAL\s+ERROR/i.test(m)&&(f="CRITICAL ERROR");let n="";if(d){let o=m.indexOf("]:");o!==-1?n=m.substring(o+2).trim():n=m.replace(c,"").replace(/\[.*?\]/,"").replace(/^:\s*/,"").trim()}else n=m.replace(c,"").replace(/^:\s*/,"").trim();if(p.length>1){let o=p.slice(1).join(`
8
+ `).trim();o&&(n=n?`${n}
9
+ ${o}`:o)}if(n){let o=/\bjanitor\b/i.test(e)?"Memory":u;i.push({timestamp:s||(h?new Date(h).toLocaleString():"Unknown Time"),level:f,source:o,message:n})}}return i},U=async(a=process.cwd())=>{let u=`fluxflow-error-${Date.now()}.txt`,h=T.join(a,u),r=async s=>{if(!await O.pathExists(s))return[];let f=await O.readdir(s),n=[];for(let o of f){let E=T.join(s,o),x=await O.stat(E);if(x.isDirectory()){let L=await r(E);n=n.concat(L)}else(o.endsWith(".log")||o.endsWith(".txt"))&&n.push({path:E,mtime:x.mtimeMs})}return n},l=await r(S),t=[];for(let s of l)try{let f=await O.readFile(s.path,"utf8");if(f.trim()){let n=s.path.replace(/\\/g,"/").toLowerCase(),o="FluxFlow";n.includes("/janitor")||n.includes("janitor")?o="Memory":!n.includes("/agent")&&!n.includes("agent")&&(o="Other");let E=j(f,o,s.mtime);t=t.concat(E)}}catch{}let c=[],R=new Set;for(let s of t){let f=`${s.source}::${s.timestamp}::${s.message.trim()}`;R.has(f)||(R.add(f),c.push(s))}let g=c.filter(s=>s.source==="FluxFlow"),i=c.filter(s=>s.source==="Memory"),e=c.filter(s=>s.source!=="FluxFlow"&&s.source!=="Memory"),p=(s,f,n)=>{let o=["================================================================================",`${s} (${f.length})`,"================================================================================"].join(`
10
+ `);if(f.length===0)return`${o}
11
+ No ${n} error entries found.`;let E=f.map((x,L)=>{let $=`[${n} #${L+1}] ${x.timestamp} (${x.level})`,F=x.message.split(`
12
+ `).map(y=>` ${y}`).join(`
13
+ `);return`${$}
14
+ ${F}`});return`${o}
15
+
16
+ `+E.join(`
17
+
18
+ --------------------------------------------------------------------------------
19
+
20
+ `)},m=["================================================================================","FLUXFLOW ERROR LOGS EXPORT",`Exported At : ${new Date().toLocaleString()}`,`Total Errors: ${c.length} (FluxFlow: ${g.length} | Memory: ${i.length}${e.length>0?` | Other: ${e.length}`:""})`,"================================================================================",""].join(`
21
+ `),w=[p("SECTION 1: FLUXFLOW ERRORS",g,"FluxFlow"),p("SECTION 2: MEMORY ERRORS",i,"Memory")];e.length>0&&w.push(p("SECTION 3: OTHER SYSTEM ERRORS",e,"Other"));let d=m+w.join(`
22
+
23
+
24
+ `)+`
25
+ `;return await O.writeFile(h,d,"utf8"),{exportFile:u,exportPath:h,entryCount:c.length,fluxflowCount:g.length,memoryCount:i.length}},A=async(a,{chatId:u,messages:h})=>{let r=(a[1]||"chat").toLowerCase();return r==="chat"?{success:!0,type:"chat",message:`\u2726 Chat Exported
26
+ \u2800\u2800\u2514\u2500 ${(await b(u,h)).exportFile}
27
+ \u2800`}:r==="logs"?{success:!0,type:"logs",message:`\u2726 Error Logs Exported
28
+ \u2800\u2800\u2514\u2500 ${(await U()).exportFile}
29
+ \u2800`}:{success:!1,message:`[EXPORT USAGE] Unknown subcommand "${r}". Options:
30
+ \u2022 /export chat current
31
+ \u2022 /export logs error`}};export{C as a,b,j as c,U as d,A as e};
@@ -1,3 +1,3 @@
1
- import{e as v,f as g}from"./chunk-SIINYZWE.js";import{a as d,b as n}from"./chunk-SGZ2OI72.js";import f from"fs-extra";import h from"path";import l from"fs";import p from"path";import{fileURLToPath as k}from"url";var A=k(import.meta.url),x=p.dirname(A),y="",E=[p.join(x,"../../model_config.json"),p.join(x,"../model_config.json")];for(let t of E)try{if(l.existsSync(t)){y=t;break}}catch{}var S=p.join(d,"model_config.json"),o=null;if(l.existsSync(S))try{let t=l.readFileSync(S,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}if(!o&&y)try{let t=l.readFileSync(y,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}o||(console.error(`
2
- [Error] Unable to load model configuration. Please re-install the package from your package manager.
3
- `),process.exit(1));var F=new Set,L=new Set,T=()=>{let t=new Set,e=new Set;if(o.providers)for(let r of Object.keys(o.providers)){let a=o.providers[r];if(a&&a.models){let i=["Free","Paid"];for(let s of i){let u=a.models[s];if(Array.isArray(u)){for(let m of u)if(m&&m.cmd){let w=m.cmd.trim().toLowerCase();m.multimodal===!0&&t.add(w),m.hasReasoning===!0&&e.add(w)}}}}}if(Array.isArray(o.multimodal_models))for(let r of o.multimodal_models)r&&typeof r=="string"&&t.add(r.trim().toLowerCase());F=t,L=e};T();var C=async()=>((async()=>{try{let e=await fetch("https://raw.githubusercontent.com/KushalRoyChowdhury/fluxflow-cli/main/model_config.json",{signal:AbortSignal.timeout(2e3)});if(e.ok){let r=await e.json();if(r&&r.providers&&r.fallbacks&&r.release){let a=typeof r.version=="number"&&r.version>o.version,i=typeof r.release=="number"&&r.release>o.release;if(a||i){o=r,T();try{l.existsSync(d)||l.mkdirSync(d,{recursive:!0}),l.writeFileSync(S,JSON.stringify(r,null,2),"utf-8")}catch{}}}}}catch{}})(),!0),D=!1,K=t=>{D=!!t},R=t=>{if(!t)return!1;let e=t.trim().toLowerCase();return!!(D||F.has(e)||e.startsWith("gemini-")||e.startsWith("gemma-"))},j=t=>{if(!t)return!1;let e=t.trim().toLowerCase();return L.has(e)},q=(t,e)=>{let r=o.providers[t];return r?r.models[e==="Free"?"Free":"Paid"]||[]:[]},_=(t,e)=>{let r=o.providers[t];return r?e==="Free"?r.default_free:r.default_paid:""},G=t=>o.fallbacks[t];var c={mode:"Flux",thinkingLevel:"Medium",aiProvider:"Google",activeModel:_("Google","Free")||"gemma-4-31b-it",showFullThinking:!0,apiTier:"Free",quotas:{agentLimit:999999,backgroundLimit:999999,searchLimit:100,customModelId:"",customLimit:0,providerTiers:{Google:"Free",DeepSeek:"Free",NVIDIA:"Free",OpenRouter:"Free"}},systemSettings:{memory:!1,theme:"Dark",compression:0,autoExec:!1,allowExternalAccess:!1,advanceRollback:!1,autoDeleteHistory:"7d",useExternalData:!1,externalDataPath:"",preserveThinking:!0,loadingPhrases:!1,progressiveRendering:!0,showTPMEstimate:!1,subAgents:!0,CustomSubAgent:!1,SubAgentModel:"Default",SubAgentProvider:"",dynamicDirAwareness:!1,indentationTree:!0,ollamaEndpoint:"Cloud",compressToolResults:!1,autoTruncateResults:!1},profileData:{name:null,nickname:null,instructions:null},imageSettings:{keyType:"Default",quality:"Low-High",apiKey:""}},b=async()=>{let t={...c};try{if(await f.exists(n)){let e=v(n);if(e.imageSettings&&e.imageSettings.apiKey)try{let r=e.imageSettings.apiKey,{saveSecret:a}=await import("./secrets-NCPPS7DR.js");await a("POLLINATIONS_API_KEY",r),e.imageSettings.apiKey="",g(n,e)}catch{}t={...c,...e,quotas:{...c.quotas,...e.quotas,providerTiers:{...c.quotas.providerTiers,...e.quotas?.providerTiers||{}}},systemSettings:{...c.systemSettings,...e.systemSettings},profileData:{...c.profileData,...e.profileData},imageSettings:{...c.imageSettings,...e.imageSettings}}}}catch(e){console.error("Failed to load settings:",e)}try{let{getSecret:e}=await import("./secrets-NCPPS7DR.js"),r=await e("POLLINATIONS_API_KEY");r&&(t.imageSettings.apiKey=r)}catch{}if(t.showFullThinking===!1){t.showFullThinking=!0;try{g(n,t)}catch{}}return t},I=async t=>{let{FLUXFLOW_DIR:e}=await import("./paths-HYQFU6D2.js"),r=["logs","secret"];for(let a of r){let i=h.join(e,a),s=h.join(t,a);try{await f.exists(i)&&(await f.ensureDir(s),await f.copy(i,s,{overwrite:!0}))}catch(u){console.error(`Migration failed for ${a}:`,u)}}},X=async t=>{try{let e=await b();if(!e.systemSettings.useExternalData&&t.systemSettings?.useExternalData&&t.systemSettings?.externalDataPath&&await I(t.systemSettings.externalDataPath),t.imageSettings&&t.imageSettings.apiKey!==void 0){let{saveSecret:a,removeSecret:i}=await import("./secrets-NCPPS7DR.js"),s=t.imageSettings.apiKey;s?await a("POLLINATIONS_API_KEY",s):await i("POLLINATIONS_API_KEY")}let r={...e,...t};return r.imageSettings&&(r.imageSettings={...r.imageSettings,apiKey:""}),await f.ensureDir(h.dirname(n)),g(n,r),!0}catch(e){return console.error("Failed to save settings:",e),!1}};export{C as a,K as b,R as c,j as d,q as e,_ as f,G as g,b as h,X as i};
1
+ import{e as v,f as g}from"./chunk-SIINYZWE.js";import{a as d,b as n}from"./chunk-SGZ2OI72.js";import f from"fs-extra";import h from"path";import l from"fs";import p from"path";import{fileURLToPath as k}from"url";var A=k(import.meta.url),x=p.dirname(A),y="",E=[p.join(x,"../../model_config.json"),p.join(x,"../model_config.json")];for(let t of E)try{if(l.existsSync(t)){y=t;break}}catch{}var S=p.join(d,"model_config.json"),o=null;if(l.existsSync(S))try{let t=l.readFileSync(S,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}if(!o&&y)try{let t=l.readFileSync(y,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}o||(console.error(`
2
+ [Error] Unable to load model configuration. Please re-install the package from your package manager.
3
+ `),process.exit(1));var F=new Set,L=new Set,T=()=>{let t=new Set,e=new Set;if(o.providers)for(let r of Object.keys(o.providers)){let a=o.providers[r];if(a&&a.models){let i=["Free","Paid"];for(let s of i){let u=a.models[s];if(Array.isArray(u)){for(let m of u)if(m&&m.cmd){let w=m.cmd.trim().toLowerCase();m.multimodal===!0&&t.add(w),m.hasReasoning===!0&&e.add(w)}}}}}if(Array.isArray(o.multimodal_models))for(let r of o.multimodal_models)r&&typeof r=="string"&&t.add(r.trim().toLowerCase());F=t,L=e};T();var C=async()=>((async()=>{try{let e=await fetch("https://raw.githubusercontent.com/KushalRoyChowdhury/fluxflow-cli/main/model_config.json",{signal:AbortSignal.timeout(2e3)});if(e.ok){let r=await e.json();if(r&&r.providers&&r.fallbacks&&r.release){let a=typeof r.version=="number"&&r.version>o.version,i=typeof r.release=="number"&&r.release>o.release;if(a||i){o=r,T();try{l.existsSync(d)||l.mkdirSync(d,{recursive:!0}),l.writeFileSync(S,JSON.stringify(r,null,2),"utf-8")}catch{}}}}}catch{}})(),!0),D=!1,K=t=>{D=!!t},R=t=>{if(!t)return!1;let e=t.trim().toLowerCase();return!!(D||F.has(e)||e.startsWith("gemini-")||e.startsWith("gemma-"))},j=t=>{if(!t)return!1;let e=t.trim().toLowerCase();return L.has(e)},q=(t,e)=>{let r=o.providers[t];return r?r.models[e==="Free"?"Free":"Paid"]||[]:[]},_=(t,e)=>{let r=o.providers[t];return r?e==="Free"?r.default_free:r.default_paid:""},G=t=>o.fallbacks[t];var c={mode:"Flux",thinkingLevel:"Medium",aiProvider:"Google",activeModel:_("Google","Free")||"gemma-4-31b-it",showFullThinking:!0,apiTier:"Free",quotas:{agentLimit:999999,backgroundLimit:999999,searchLimit:100,customModelId:"",customLimit:0,providerTiers:{Google:"Free",DeepSeek:"Free",NVIDIA:"Free",OpenRouter:"Free"}},systemSettings:{memory:!1,theme:"Dark",compression:0,autoExec:!1,allowExternalAccess:!1,advanceRollback:!1,autoDeleteHistory:"7d",useExternalData:!1,externalDataPath:"",preserveThinking:!0,loadingPhrases:!1,progressiveRendering:!0,showTPMEstimate:!1,subAgents:!0,CustomSubAgent:!1,SubAgentModel:"Default",SubAgentProvider:"",dynamicDirAwareness:!1,indentationTree:!0,ollamaEndpoint:"Cloud",compressToolResults:!1,autoTruncateResults:!1},profileData:{name:null,nickname:null,instructions:null},imageSettings:{keyType:"Default",quality:"Low-High",apiKey:""}},b=async()=>{let t={...c};try{if(await f.exists(n)){let e=v(n);if(e.imageSettings&&e.imageSettings.apiKey)try{let r=e.imageSettings.apiKey,{saveSecret:a}=await import("./secrets-NCPPS7DR.js");await a("POLLINATIONS_API_KEY",r),e.imageSettings.apiKey="",g(n,e)}catch{}t={...c,...e,quotas:{...c.quotas,...e.quotas,providerTiers:{...c.quotas.providerTiers,...e.quotas?.providerTiers||{}}},systemSettings:{...c.systemSettings,...e.systemSettings},profileData:{...c.profileData,...e.profileData},imageSettings:{...c.imageSettings,...e.imageSettings}}}}catch(e){console.error("Failed to load settings:",e)}try{let{getSecret:e}=await import("./secrets-NCPPS7DR.js"),r=await e("POLLINATIONS_API_KEY");r&&(t.imageSettings.apiKey=r)}catch{}if(t.showFullThinking===!1){t.showFullThinking=!0;try{g(n,t)}catch{}}return t},I=async t=>{let{FLUXFLOW_DIR:e}=await import("./paths-HYQFU6D2.js"),r=["logs","secret"];for(let a of r){let i=h.join(e,a),s=h.join(t,a);try{await f.exists(i)&&(await f.ensureDir(s),await f.copy(i,s,{overwrite:!0}))}catch(u){console.error(`Migration failed for ${a}:`,u)}}},X=async t=>{try{let e=await b();if(!e.systemSettings.useExternalData&&t.systemSettings?.useExternalData&&t.systemSettings?.externalDataPath&&await I(t.systemSettings.externalDataPath),t.imageSettings&&t.imageSettings.apiKey!==void 0){let{saveSecret:a,removeSecret:i}=await import("./secrets-NCPPS7DR.js"),s=t.imageSettings.apiKey;s?await a("POLLINATIONS_API_KEY",s):await i("POLLINATIONS_API_KEY")}let r={...e,...t};return r.imageSettings&&(r.imageSettings={...r.imageSettings,apiKey:""}),await f.ensureDir(h.dirname(n)),g(n,r),!0}catch(e){return console.error("Failed to save settings:",e),!1}};export{C as a,K as b,R as c,j as d,q as e,_ as f,G as g,b as h,X as i};
@@ -1,3 +1,3 @@
1
- import{e as h,f as d}from"./chunk-SIINYZWE.js";import{a as u,b as n}from"./chunk-SGZ2OI72.js";import f from"fs-extra";import S from"path";import l from"fs";import g from"path";import{fileURLToPath as D}from"url";var L=D(import.meta.url),w=g.dirname(L),p="",_=[g.join(w,"../../model_config.json"),g.join(w,"../model_config.json")];for(let t of _)try{if(l.existsSync(t)){p=t;break}}catch{}var y=g.join(u,"model_config.json"),o=null;if(l.existsSync(y))try{let t=l.readFileSync(y,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}if(!o&&p)try{let t=l.readFileSync(p,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}o||(console.error(`
2
- [Error] Unable to load model configuration. Please re-install the package from your package manager.
3
- `),process.exit(1));var v=new Set,x=()=>{let t=new Set;if(o.providers)for(let e of Object.keys(o.providers)){let r=o.providers[e];if(r&&r.models){let i=["Free","Paid"];for(let s of i){let a=r.models[s];if(Array.isArray(a))for(let m of a)m&&m.cmd&&m.multimodal===!0&&t.add(m.cmd.trim().toLowerCase())}}}if(Array.isArray(o.multimodal_models))for(let e of o.multimodal_models)e&&typeof e=="string"&&t.add(e.trim().toLowerCase());v=t};x();var O=async()=>((async()=>{try{let e=await fetch("https://raw.githubusercontent.com/KushalRoyChowdhury/fluxflow-cli/main/model_config.json",{signal:AbortSignal.timeout(2e3)});if(e.ok){let r=await e.json();if(r&&r.providers&&r.fallbacks&&r.release){let i=typeof r.version=="number"&&r.version>o.version,s=typeof r.release=="number"&&r.release>o.release;if(i||s){o=r,x();try{l.existsSync(u)||l.mkdirSync(u,{recursive:!0}),l.writeFileSync(y,JSON.stringify(r,null,2),"utf-8")}catch{}}}}}catch{}})(),!0),F=!1,M=t=>{F=!!t},N=t=>{if(!t)return!1;let e=t.trim().toLowerCase();return!!(F||v.has(e)||e.startsWith("gemini-")||e.startsWith("gemma-"))},K=(t,e)=>{let r=o.providers[t];return r?r.models[e==="Free"?"Free":"Paid"]||[]:[]},T=(t,e)=>{let r=o.providers[t];return r?e==="Free"?r.default_free:r.default_paid:""},C=t=>o.fallbacks[t];var c={mode:"Flux",thinkingLevel:"Medium",aiProvider:"Google",activeModel:T("Google","Free")||"gemma-4-31b-it",showFullThinking:!0,apiTier:"Free",quotas:{agentLimit:999999,backgroundLimit:999999,searchLimit:100,customModelId:"",customLimit:0,providerTiers:{Google:"Free",DeepSeek:"Free",NVIDIA:"Free",OpenRouter:"Free"}},systemSettings:{memory:!1,theme:"Dark",compression:0,autoExec:!1,allowExternalAccess:!1,advanceRollback:!1,autoDeleteHistory:"7d",useExternalData:!1,externalDataPath:"",preserveThinking:!0,loadingPhrases:!1,progressiveRendering:!0,showTPMEstimate:!1,subAgents:!0,CustomSubAgent:!1,SubAgentModel:"Default",SubAgentProvider:"",dynamicDirAwareness:!1,indentationTree:!0,ollamaEndpoint:"Cloud",compressToolResults:!1},profileData:{name:null,nickname:null,instructions:null},imageSettings:{keyType:"Default",quality:"Low-High",apiKey:""}},k=async()=>{let t={...c};try{if(await f.exists(n)){let e=h(n);if(e.imageSettings&&e.imageSettings.apiKey)try{let r=e.imageSettings.apiKey,{saveSecret:i}=await import("./secrets-GN7OAYL7.js");await i("POLLINATIONS_API_KEY",r),e.imageSettings.apiKey="",d(n,e)}catch{}t={...c,...e,quotas:{...c.quotas,...e.quotas,providerTiers:{...c.quotas.providerTiers,...e.quotas?.providerTiers||{}}},systemSettings:{...c.systemSettings,...e.systemSettings},profileData:{...c.profileData,...e.profileData},imageSettings:{...c.imageSettings,...e.imageSettings}}}}catch(e){console.error("Failed to load settings:",e)}try{let{getSecret:e}=await import("./secrets-GN7OAYL7.js"),r=await e("POLLINATIONS_API_KEY");r&&(t.imageSettings.apiKey=r)}catch{}if(t.showFullThinking===!1){t.showFullThinking=!0;try{d(n,t)}catch{}}return t},A=async t=>{let{FLUXFLOW_DIR:e}=await import("./paths-NXN6XAEU.js"),r=["logs","secret"];for(let i of r){let s=S.join(e,i),a=S.join(t,i);try{await f.exists(s)&&(await f.ensureDir(a),await f.copy(s,a,{overwrite:!0}))}catch(m){console.error(`Migration failed for ${i}:`,m)}}},W=async t=>{try{let e=await k();if(!e.systemSettings.useExternalData&&t.systemSettings?.useExternalData&&t.systemSettings?.externalDataPath&&await A(t.systemSettings.externalDataPath),t.imageSettings&&t.imageSettings.apiKey!==void 0){let{saveSecret:i,removeSecret:s}=await import("./secrets-GN7OAYL7.js"),a=t.imageSettings.apiKey;a?await i("POLLINATIONS_API_KEY",a):await s("POLLINATIONS_API_KEY")}let r={...e,...t};return r.imageSettings&&(r.imageSettings={...r.imageSettings,apiKey:""}),await f.ensureDir(S.dirname(n)),d(n,r),!0}catch(e){return console.error("Failed to save settings:",e),!1}};export{O as a,M as b,N as c,K as d,T as e,C as f,k as g,W as h};
1
+ import{e as h,f as d}from"./chunk-SIINYZWE.js";import{a as u,b as n}from"./chunk-SGZ2OI72.js";import f from"fs-extra";import S from"path";import l from"fs";import g from"path";import{fileURLToPath as D}from"url";var L=D(import.meta.url),w=g.dirname(L),p="",_=[g.join(w,"../../model_config.json"),g.join(w,"../model_config.json")];for(let t of _)try{if(l.existsSync(t)){p=t;break}}catch{}var y=g.join(u,"model_config.json"),o=null;if(l.existsSync(y))try{let t=l.readFileSync(y,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}if(!o&&p)try{let t=l.readFileSync(p,"utf-8"),e=JSON.parse(t);e&&e.providers&&e.fallbacks&&e.release&&(o=e)}catch{}o||(console.error(`
2
+ [Error] Unable to load model configuration. Please re-install the package from your package manager.
3
+ `),process.exit(1));var v=new Set,x=()=>{let t=new Set;if(o.providers)for(let e of Object.keys(o.providers)){let r=o.providers[e];if(r&&r.models){let i=["Free","Paid"];for(let s of i){let a=r.models[s];if(Array.isArray(a))for(let m of a)m&&m.cmd&&m.multimodal===!0&&t.add(m.cmd.trim().toLowerCase())}}}if(Array.isArray(o.multimodal_models))for(let e of o.multimodal_models)e&&typeof e=="string"&&t.add(e.trim().toLowerCase());v=t};x();var O=async()=>((async()=>{try{let e=await fetch("https://raw.githubusercontent.com/KushalRoyChowdhury/fluxflow-cli/main/model_config.json",{signal:AbortSignal.timeout(2e3)});if(e.ok){let r=await e.json();if(r&&r.providers&&r.fallbacks&&r.release){let i=typeof r.version=="number"&&r.version>o.version,s=typeof r.release=="number"&&r.release>o.release;if(i||s){o=r,x();try{l.existsSync(u)||l.mkdirSync(u,{recursive:!0}),l.writeFileSync(y,JSON.stringify(r,null,2),"utf-8")}catch{}}}}}catch{}})(),!0),F=!1,M=t=>{F=!!t},N=t=>{if(!t)return!1;let e=t.trim().toLowerCase();return!!(F||v.has(e)||e.startsWith("gemini-")||e.startsWith("gemma-"))},K=(t,e)=>{let r=o.providers[t];return r?r.models[e==="Free"?"Free":"Paid"]||[]:[]},T=(t,e)=>{let r=o.providers[t];return r?e==="Free"?r.default_free:r.default_paid:""},C=t=>o.fallbacks[t];var c={mode:"Flux",thinkingLevel:"Medium",aiProvider:"Google",activeModel:T("Google","Free")||"gemma-4-31b-it",showFullThinking:!0,apiTier:"Free",quotas:{agentLimit:999999,backgroundLimit:999999,searchLimit:100,customModelId:"",customLimit:0,providerTiers:{Google:"Free",DeepSeek:"Free",NVIDIA:"Free",OpenRouter:"Free"}},systemSettings:{memory:!1,theme:"Dark",compression:0,autoExec:!1,allowExternalAccess:!1,advanceRollback:!1,autoDeleteHistory:"7d",useExternalData:!1,externalDataPath:"",preserveThinking:!0,loadingPhrases:!1,progressiveRendering:!0,showTPMEstimate:!1,subAgents:!0,CustomSubAgent:!1,SubAgentModel:"Default",SubAgentProvider:"",dynamicDirAwareness:!1,indentationTree:!0,ollamaEndpoint:"Cloud",compressToolResults:!1},profileData:{name:null,nickname:null,instructions:null},imageSettings:{keyType:"Default",quality:"Low-High",apiKey:""}},k=async()=>{let t={...c};try{if(await f.exists(n)){let e=h(n);if(e.imageSettings&&e.imageSettings.apiKey)try{let r=e.imageSettings.apiKey,{saveSecret:i}=await import("./secrets-GN7OAYL7.js");await i("POLLINATIONS_API_KEY",r),e.imageSettings.apiKey="",d(n,e)}catch{}t={...c,...e,quotas:{...c.quotas,...e.quotas,providerTiers:{...c.quotas.providerTiers,...e.quotas?.providerTiers||{}}},systemSettings:{...c.systemSettings,...e.systemSettings},profileData:{...c.profileData,...e.profileData},imageSettings:{...c.imageSettings,...e.imageSettings}}}}catch(e){console.error("Failed to load settings:",e)}try{let{getSecret:e}=await import("./secrets-GN7OAYL7.js"),r=await e("POLLINATIONS_API_KEY");r&&(t.imageSettings.apiKey=r)}catch{}if(t.showFullThinking===!1){t.showFullThinking=!0;try{d(n,t)}catch{}}return t},A=async t=>{let{FLUXFLOW_DIR:e}=await import("./paths-NXN6XAEU.js"),r=["logs","secret"];for(let i of r){let s=S.join(e,i),a=S.join(t,i);try{await f.exists(s)&&(await f.ensureDir(a),await f.copy(s,a,{overwrite:!0}))}catch(m){console.error(`Migration failed for ${i}:`,m)}}},W=async t=>{try{let e=await k();if(!e.systemSettings.useExternalData&&t.systemSettings?.useExternalData&&t.systemSettings?.externalDataPath&&await A(t.systemSettings.externalDataPath),t.imageSettings&&t.imageSettings.apiKey!==void 0){let{saveSecret:i,removeSecret:s}=await import("./secrets-GN7OAYL7.js"),a=t.imageSettings.apiKey;a?await i("POLLINATIONS_API_KEY",a):await s("POLLINATIONS_API_KEY")}let r={...e,...t};return r.imageSettings&&(r.imageSettings={...r.imageSettings,apiKey:""}),await f.ensureDir(S.dirname(n)),d(n,r),!0}catch(e){return console.error("Failed to save settings:",e),!1}};export{O as a,M as b,N as c,K as d,T as e,C as f,k as g,W as h};
@@ -1 +1 @@
1
- var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>{try{return a||b((a={exports:{}}).exports,a),a.exports}catch(c){throw a=0,c}};var l=(b,a,c,e)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of i(a))!k.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b};var n=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?f(c,"default",{value:b,enumerable:!0}):c,b));export{m as a,n as b};
1
+ var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>{try{return a||b((a={exports:{}}).exports,a),a.exports}catch(c){throw a=0,c}};var l=(b,a,c,e)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of i(a))!k.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b};var n=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?f(c,"default",{value:b,enumerable:!0}):c,b));export{m as a,n as b};