fluxflow-cli 4.25.5 → 4.26.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.
- package/README.md +15 -4
- package/dist/chunks/9router-J5GHSSMY.js +2 -0
- package/dist/chunks/ai-CANLJJ2L.js +1 -0
- package/dist/chunks/aihubmix-ZANBMI5F.js +2 -0
- package/dist/chunks/apinex-MSG2QNBL.js +2 -0
- package/dist/chunks/{app-EIBVHMQV.js → app-2JPMBSNL.js} +133 -133
- package/dist/chunks/{chunk-2AUIP6N5.js → chunk-37QHXCGM.js} +1 -1
- package/dist/chunks/chunk-HM3CMNOJ.js +1 -0
- package/dist/chunks/chunk-JS5ZIGFR.js +1 -0
- package/dist/chunks/{chunk-4XXLWMY6.js → chunk-LKJUPSJM.js} +1 -1
- package/dist/chunks/chunk-NL4MAQSB.js +1 -0
- package/dist/chunks/{chunk-AF7LASZ3.js → chunk-PYZ4PPIR.js} +1 -1
- package/dist/chunks/{chunk-BM3FXMTK.js → chunk-QNUIT5G4.js} +1 -1
- package/dist/chunks/chunk-QWTKV7Q4.js +1 -0
- package/dist/chunks/chunk-TURMMMY5.js +878 -0
- package/dist/chunks/chunk-ZLWYMCCW.js +1 -0
- package/dist/chunks/{click-5I5YOSNC.js → click-BIP2KIKK.js} +2 -2
- package/dist/chunks/{computer_action-RTEC7VUX.js → computer_action-W532LBFE.js} +1 -1
- package/dist/chunks/deepseek-Y4NFGKGV.js +2 -0
- package/dist/chunks/{drag-6TRBT2C3.js → drag-XXDYAMBU.js} +1 -1
- package/dist/chunks/explabs-4D3EJOBE.js +2 -0
- package/dist/chunks/{generate_image-4LIDEIYO.js → generate_image-MTPDDZY7.js} +1 -1
- package/dist/chunks/inferx-R7LOBSCS.js +3 -0
- package/dist/chunks/infron-6QUT2E5V.js +2 -0
- package/dist/chunks/{invoke-R75DZFQB.js → invoke-VUBKZKFI.js} +2 -2
- package/dist/chunks/{invokeSync-JS3JUZLM.js → invokeSync-EJMZYWUM.js} +2 -2
- package/dist/chunks/{key_press-Z3OXF74E.js → key_press-EJFHIVWP.js} +1 -1
- package/dist/chunks/{keyboard_typing-F2SAZLI2.js → keyboard_typing-4M63JGZ4.js} +1 -1
- package/dist/chunks/mistral-7PATNJTO.js +2 -0
- package/dist/chunks/{model_config-M24OEKJE.js → model_config-YD5AWI33.js} +1 -1
- package/dist/chunks/nvidia-FORTI2DZ.js +2 -0
- package/dist/chunks/ollama-ZPTZJK7V.js +2 -0
- package/dist/chunks/openrouter-M3ZZMDXU.js +2 -0
- package/dist/chunks/poolside-IS5XCHAE.js +2 -0
- package/dist/chunks/{screen_grid-RAKJUJQA.js → screen_grid-BK5KF7MP.js} +1 -1
- package/dist/chunks/{scroll-7JYRU34H.js → scroll-5V7P3DXY.js} +1 -1
- package/dist/chunks/search_keyword-7WJ4M737.js +6 -0
- package/dist/chunks/{secrets-LPVNWDTB.js → secrets-4GLUJF7A.js} +1 -1
- package/dist/chunks/sensenova-AJZGPQZ5.js +2 -0
- package/dist/chunks/{settings-KKYNW25D.js → settings-RB45GKVI.js} +1 -1
- package/dist/chunks/tokenharbor-3ZMTIJ2M.js +2 -0
- package/dist/chunks/{update_file-KNEQRJAG.js → update_file-FUWOJ4JN.js} +1 -1
- package/dist/chunks/{usage-VLICZGBC.js → usage-DWONGEYS.js} +1 -1
- package/dist/chunks/usageServer-AXINXVIN.js +1 -0
- package/dist/chunks/{write_file-7X2GQFWK.js → write_file-HH7WRRDJ.js} +1 -1
- package/dist/cli.js +3 -3
- package/dist/model_config.json +7 -6
- package/dist/package.json +1 -1
- package/model_config.json +7 -6
- package/package.json +1 -1
- package/dist/chunks/ai-ZBSCEHTS.js +0 -1
- package/dist/chunks/chunk-3CZWTXIR.js +0 -1
- package/dist/chunks/chunk-GRQ7JZZP.js +0 -1
- package/dist/chunks/chunk-KA7IQD5D.js +0 -892
- package/dist/chunks/chunk-OSDQRSY6.js +0 -1
- package/dist/chunks/search_keyword-CSRQFPHQ.js +0 -6
- package/dist/chunks/usageServer-HY4ME2BW.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-DSVLWYIT.js";import d from"fs";import p from"path";import{fileURLToPath as M}from"url";var u={version:0,release:20260913,fallbacks:{janitor_default:"gemini-3.1-flash-lite",janitor_attempts_fallback:"gemma-4-26b-a4b-it",janitor_open_router:"google/gemma-4-26b-a4b-it:free",general_fallback:"gemini-3.1-flash-lite",deepseek_fast_fallback:"deepseek-v4-flash",deepseek_level_1:"deepseek-v4-flash",deepseek_level_2:"deepseek-v4-pro",mistral_janitor_fallback:"",mistral_level_1:"",nvidia_janitor_fallback:"mistralai/mistral-nemotron",nvidia_chat_summarizer_fallback:"nvidia/nemotron-3-super-120b-a12b",google_level_1:"gemini-3-flash-preview",google_level_2:"gemini-3.7-flash",gemma_emergency:"gemma-4-31b-it",gemma_janitor_fallback_google_openrouter:"google/gemma-4-26b-a4b-it:free",gemma_janitor_fallback_google:"gemma-4-26b-a4b-it",inferx_fallback:"",sensenova_fallback:"",crofai_fallback:"",aihubmix_fallback:"",poolside_fallback:"","9router_fallback":"",explabs_fallback:"",tokenharbor_fallback:""},providers:{}};var S=M(import.meta.url),y=p.dirname(S),g="",I=[p.join(y,"../../model_config.json"),p.join(y,"../model_config.json")];for(let e of I)try{if(d.existsSync(e)){g=e;break}}catch{}var _=p.join(m,"model_config.json"),a=null,v=()=>{if(g)try{let e=d.readFileSync(g,"utf-8"),s=JSON.parse(e);if(s&&typeof s=="object")return s}catch{}return u&&typeof u=="object"?JSON.parse(JSON.stringify(u)):{version:0,release:20260913,fallbacks:{},providers:{}}};if(d.existsSync(_))try{let e=d.readFileSync(_,"utf-8"),s=JSON.parse(e);if(s&&typeof s=="object"){let t=v();s.fallbacks={...t.fallbacks||{},...s.fallbacks||{}},s.providers||(s.providers={}),s.release||(s.release=t.release||20260913),a=s}}catch{}a||(a=v());var F=new Set,k=new Set,f=()=>{let e=new Set,s=new Set;if(a.providers)for(let t of Object.keys(a.providers)){let r=a.providers[t];if(r&&r.models){let o=["Free","Paid"];for(let l of o){let i=r.models[l];if(Array.isArray(i)){for(let n of i)if(n&&n.cmd){let b=n.cmd.trim().toLowerCase();n.multimodal===!0&&e.add(b),n.hasReasoning===!0&&s.add(b)}}}}}if(Array.isArray(a.multimodal_models))for(let t of a.multimodal_models)t&&typeof t=="string"&&e.add(t.trim().toLowerCase());F=e,k=s};f();var L=()=>a,c=()=>{try{return d.existsSync(m)||d.mkdirSync(m,{recursive:!0}),d.writeFileSync(_,JSON.stringify(a,null,2),"utf-8"),!0}catch{return!1}},$=(e,s,t=!1)=>{if(!e||!s)return{success:!1,reason:"Invalid provider or model ID"};let r=s.trim();if(!r)return{success:!1,reason:"Model ID cannot be empty"};a.providers||(a.providers={}),a.providers[e]||(a.providers[e]={default_free:"",default_paid:"",models:{Free:[],Paid:[]}});let o=a.providers[e];o.models||(o.models={Free:[],Paid:[]}),Array.isArray(o.models.Free)||(o.models.Free=[]);let l=o.models.Free.find(i=>(typeof i=="string"?i:i?.cmd)===r);if(!l)o.models.Free.push({cmd:r,multimodal:!!t,desc:r});else if(typeof l=="string"){let i=o.models.Free.indexOf(l);o.models.Free[i]={cmd:r,multimodal:!!t,desc:r}}else l.multimodal=!!t;return f(),c(),{success:!0}},N=(e,s,t=!0)=>{if(!e||!s)return{success:!1,reason:"Invalid provider or model ID"};let r=s.trim();if(!r)return{success:!1,reason:"Model ID cannot be empty"};let o=a.providers?.[e];if(!o||!o.models||!Array.isArray(o.models.Free))return{success:!1,reason:`Provider ${e} has no models configured`};let l=o.models.Free.find(i=>(typeof i=="string"?i:i?.cmd)===r);if(!l)return{success:!1,reason:`Model "${r}" not found in ${e} model list`};if(typeof l=="string"){let i=o.models.Free.indexOf(l);o.models.Free[i]={cmd:r,multimodal:!!t,desc:r}}else l.multimodal=!!t;return f(),c(),{success:!0}},J=(e,s,t=!1)=>{if(!e||!s)return{success:!1,reason:"Invalid provider or model ID"};let r=s.trim();if(!r)return{success:!1,reason:"Model ID cannot be empty"};a.providers||(a.providers={}),a.providers[e]||(a.providers[e]={default_free:"",default_paid:"",models:{Free:[],Paid:[]}});let o=a.providers[e];o.models||(o.models={Free:[],Paid:[]}),Array.isArray(o.models.Free)||(o.models.Free=[]);let l=o.models.Free.find(i=>(typeof i=="string"?i:i?.cmd)===r);if(!l)o.models.Free.push({cmd:r,multimodal:!!t,desc:r});else if(t)if(typeof l=="string"){let i=o.models.Free.indexOf(l);o.models.Free[i]={cmd:r,multimodal:!0,desc:r}}else l.multimodal=!0;return o.default_free=r,f(),c(),{success:!0}},R=(e,s)=>{if(!e||!s)return{success:!1,reason:"Invalid provider or model ID"};let t=s.trim();if(!t)return{success:!1,reason:"Model ID cannot be empty"};let r=a.providers?.[e];if(!r||!r.models||!Array.isArray(r.models.Free))return{success:!1,reason:`Provider ${e} has no models configured`};let o=r.models.Free.findIndex(l=>(typeof l=="string"?l:l?.cmd)===t);return o===-1?{success:!1,reason:`Model "${t}" not found in ${e} model list`}:(r.models.Free.splice(o,1),r.default_free===t&&(r.default_free=""),r.default_paid===t&&(r.default_paid=""),f(),c(),{success:!0})},T=(e,s,t)=>{if(!e||!s||!t)return{success:!1,reason:"Invalid provider or model IDs"};let r=s.trim(),o=t.trim();if(!r||!o)return{success:!1,reason:"Model IDs cannot be empty"};let l=a.providers?.[e];if(!l||!l.models||!Array.isArray(l.models.Free))return{success:!1,reason:`Provider ${e} has no models configured`};let i=l.models.Free.find(n=>(typeof n=="string"?n:n?.cmd)===r);if(!i)return{success:!1,reason:`Model "${r}" not found in ${e} model list`};if(typeof i=="string"){let n=l.models.Free.indexOf(i);l.models.Free[n]={cmd:o,multimodal:!1,desc:o}}else i.cmd=o,(i.desc===r||!i.desc)&&(i.desc=o);return f(),c(),{success:!0}},x=!1,P=e=>{x=!!e},E=P,U=e=>{if(!e)return!1;let s=e.trim().toLowerCase();return!!(x||F.has(s)||s.startsWith("gemini-")||s.startsWith("gemma-"))},W=e=>{if(!e)return!1;let s=e.trim().toLowerCase();return k.has(s)},z=(e,s)=>{let t=a.providers[e];return t?t.models[s==="Free"?"Free":"Paid"]||[]:[]},G=(e,s)=>{let t=a.providers[e];return t?s==="Free"?t.default_free:t.default_paid:""},K=e=>a.fallbacks[e];export{u as a,L as b,c,$ as d,N as e,J as f,R as g,T as h,P as i,E as j,U as k,W as l,z as m,G as n,K as o};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{a as V}from"./chunk-Y5JU726N.js";import{w as j,x as H}from"./chunk-DSVLWYIT.js";import K from"fs/promises";import z from"path";import Z from"fast-glob";import{Minimatch as q}from"minimatch";async function O(a,s,e=a,g=1){if(g>12)return[];let c=[],r;try{r=await K.readdir(a,{withFileTypes:!0})}catch{return[]}for(let t of r){let i=z.join(a,t.name),m=z.relative(e,i),F=m.split(z.sep).map($=>$.toLowerCase()),M=t.name.toLowerCase();if(!s.some($=>{let L=$.toLowerCase();return L.startsWith(".")&&M.endsWith(L)?!0:F.some(W=>W===L||W.startsWith(".pnpm"))}))if(t.isDirectory()){let $=await O(i,s,e,g+1);c=c.concat($)}else t.isFile()&&c.push({fullPath:i,relativePath:m})}return c}function Y(a,s,e=1/0){if(a===s)return 0;if(a.length===0)return s.length;if(s.length===0)return a.length;if(Math.abs(a.length-s.length)>e)return e+1;let g=Array.from({length:s.length+1},(c,r)=>r);for(let c=1;c<=a.length;c++){let r=[c],t=c;for(let i=1;i<=s.length;i++){let m=a[c-1]===s[i-1]?0:1,F=Math.min(r[i-1]+1,g[i]+1,g[i-1]+m);r.push(F),F<t&&(t=F)}if(g=r,t>e)return e+1}return g[s.length]}function tt(a,s){if(!a||!s)return!1;let e=a.toLowerCase(),g=s.toLowerCase();if(e.includes(g))return!0;let c=e.split(/[^a-z0-9]+/).filter(t=>t.length>0),r=g.split(/[^a-z0-9]+/).filter(t=>t.length>1||g.length===1&&t.length>0);return r.length===0?!1:r.every(t=>{let i=t.length<=2?0:t.length<=5?1:2;for(let m of c)if(m.includes(t)||t.length>=3&&m.length>=3&&Math.abs(m.length-t.length)<=i&&Y(t,m,i)<=i)return!0;return!1})}var at=async a=>{let{keyword:s,path:e,fuzzy:g,subString:c,regex:r}=V(a);if(s==null)return'ERROR: Missing "keyword" argument.';let t=String(s);if(e&&(e.trim().toLowerCase()==="#docs"||e.trim().toLowerCase()==="#doc"||e.trim().toLowerCase()==="#documentation"||e.trim().toLowerCase().includes("#skill/global/fluxflow"))||e.trim().toLowerCase().startsWith("#skill"))return"ERROR: Cannot search in reserved VFS '#skill' namespace. Use 'ReadFile' to read specific skills.";let i=l=>l===!0||l==="true"||l===1||l==="1"||l==="yes",m=r===!1||r==="false"||r===0||r==="0"||r==="no",F=r===!0||r==="true"||r===1||r==="1"||r==="yes",M=i(g)||i(c),A=null,$=null;if(m)M||($=new RegExp(`(?<![\\w])${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w])`,"i"));else{try{A=new RegExp(t,"i")}catch(l){if(F)return`ERROR: Invalid regex pattern "${t}": ${l.message}`}$=new RegExp(`(?<![\\w])${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w])`,"i")}let L=Array.from(new Set([...j,...H(process.cwd())])),W=150;try{let l=[],x=process.cwd(),h=null;if(e){let n=e.split(";").map(o=>o.trim()).filter(Boolean),w=n.some(o=>o.startsWith("!"));if(n.some(o=>Z.isDynamicPattern(o)||/[*?{}[\]()|+]/.test(o))){h="glob";let o=e.replace(/\\/g,"/"),E=n.map(u=>u.replace(/\\/g,"/")),f=L.map(u=>u.startsWith(".")?`**/*${u}`:`**/${u}/**`);if(w&&!n.some(u=>!u.startsWith("!"))){let u=await O(x,L,x),y=p=>p.endsWith("/")?p+"**":p,d=E.filter(p=>p.startsWith("!")).map(p=>y(p.slice(1))),C=E.filter(p=>!p.startsWith("!")).map(y);l=u.filter(p=>{let R=p.relativePath.replace(/\\/g,"/"),_=C.length===0||C.some(b=>{try{return new q(b).match(R)}catch{return!1}}),k=d.some(b=>{try{return new q(b).match(R)}catch{return!1}});return _&&!k})}else{let u=E.some(d=>/[\(\)\|]|\.\*/.test(d)),y=[];if(!u)try{y=await Z(E,{cwd:x,ignore:f,dot:!0,onlyFiles:!0,absolute:!1})}catch{y=[]}if(y.length===0&&(u||Z.isDynamicPattern(o))){let d=o.match(/^([^\*\?\(\)\|\[\]\s]+)\//),C=d&&!/[\*\?\(\)\|\[\]]/.test(d[1])?z.resolve(x,d[1]):x,p=await O(C,L,x);try{let R=o.replace(/^\.\//,"");R=R.replace(/\.\*\/(\\.|[^\/])/g,".*$1"),!R.startsWith("^")&&!R.startsWith(".*")&&(R=`.*${R}`);let _=new RegExp(R.endsWith("$")?R:`${R}$`,"i");l=p.filter(k=>{let b=k.relativePath.replace(/\\/g,"/");return _.test(b)})}catch{l=[]}}else l=y.map(d=>({fullPath:z.resolve(x,d),relativePath:d}))}}else{let o=[],E=!1,f=!1;for(let S of n){let u=S.replace(/[\/\\]+$/,""),y=z.resolve(x,u);try{let d=await K.stat(y);if(d.isDirectory()){f=!0;let C=await O(y,L,x);o.push(...C)}else if(d.isFile())E=!0,o.push({fullPath:y,relativePath:z.relative(x,y)});else return`ERROR: Path is neither a file nor a directory: ${S}`}catch{return`ERROR: Path not found: ${S}`}}l=o,E&&!f?h="file":h="dir"}}else l=await O(x,L);let J=l.map(async n=>{try{let w=await K.readFile(n.fullPath,"utf-8");if(w.includes("\0"))return[];let P=w.split(/\r?\n/),o=[];for(let f=0;f<P.length;f++)(M?P[f].toLowerCase().includes(t.toLowerCase())||tt(P[f],t):m?$&&$.test(P[f]):A&&A.test(P[f])||$&&$.test(P[f]))&&o.push({line:f+1,content:P[f].trim()});return o.length===0?null:{path:n.relativePath.replace(/\\/g,"/"),matches:o}}catch{return[]}}),Q=await Promise.all(J),v=[],D=0;for(let n of Q){if(!n||!n.matches)continue;if(D>=W)break;let w=W-D,P=n.matches.slice(0,w);v.push({path:n.path,matches:P}),D+=P.length}typeof global.gc=="function"&&global.gc();let G=M?"(fuzzy mode)":F?"(regex mode)":m?"(keyword mode)":"(standard mode)";if(v.length===0){let n=h==="file"?` in '${e}'`:h==="dir"||h==="glob"?` in '${e}'`:". Try to specify files",w=h==="dir"?"[DIR]":h==="glob"?"[GLOB]":"";return`${w}${w?" ":""}Found 0 matches of '${t}'${n}${G?` ${G}`:""}`}let N=G?` ${G}`:"",T=`${v.length} file${v.length===1?"":"s"}`,U=`${D} match${D===1?"":"es"}`,I;h==="file"?I=`Found ${U} of '${t}' in '${e}'${N}:`:h==="dir"||h==="glob"?I=`Found ${U} of '${t}' in '${e}' across ${T}${N}:`:I=`Found ${U} of '${t}' across ${T}${N}:`;let X=h==="dir"?"[DIR]":h==="glob"?"[GLOB]":"",B=`${X}${X?" ":""}${I}
|
|
2
|
-
|
|
3
|
-
`;for(let n of v){B+=`${n.path}
|
|
4
|
-
`;for(let w of n.matches)B+=` ${w.line}: ${w.content}
|
|
5
|
-
`;B+=`
|
|
6
|
-
`}return B.trimEnd()}catch(l){return`ERROR: ${l.message}`}};export{at as search_keyword};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,b}from"./chunk-AF7LASZ3.js";import"./chunk-4XXLWMY6.js";import"./chunk-GRQ7JZZP.js";import"./chunk-OSDQRSY6.js";import"./chunk-L3W2X74K.js";import"./chunk-DSVLWYIT.js";export{b as openUsageDashboard,a as startUsageServer};
|