fluxflow-cli 2.6.1 → 2.6.3

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 (2) hide show
  1. package/dist/fluxflow.js +5 -5
  2. package/package.json +1 -1
package/dist/fluxflow.js CHANGED
@@ -41,11 +41,11 @@ var Ic=Object.defineProperty;var ie=(e,o)=>()=>(e&&(o=e(e=0)),o);var es=(e,o)=>{
41
41
  `),f=r?u:u?Go(u,s-6):"";return Gt.createElement(Cn,{flexDirection:"column",borderStyle:n?"double":"round",borderColor:"#555555",paddingX:2,paddingY:t?0:1,width:"100%"},Gt.createElement(Cn,{marginBottom:1,justifyContent:"space-between",width:"100%"},Gt.createElement(Cn,{flexShrink:1,paddingRight:2},Gt.createElement(kn,null,Gt.createElement(kn,{color:"gray",bold:!0},t?"\u{1F3C1} FINISHED:":"\u26A1 EXECUTING:"," "),Gt.createElement(kn,{color:"white"},e))),r&&Gt.createElement(Cn,{flexShrink:0,paddingX:1},Gt.createElement(kn,{color:"gray",bold:!0},"ADVANCE"))),f?Gt.createElement(Cn,{marginTop:t?0:1,backgroundColor:r?void 0:"#0a0a0a",paddingX:1},Gt.createElement(kn,{color:t?"gray":void 0},f)):!t&&Gt.createElement(Cn,{marginTop:1,backgroundColor:r?void 0:"#0a0a0a",paddingX:1},Gt.createElement(kn,{color:"white",italic:!0},"Waiting for output...")),Gt.createElement(Cn,{justifyContent:"space-between",marginTop:1},t?Gt.createElement(Cn,null):Gt.createElement(kn,{color:"gray",italic:!0},n?"Press TAB to unfocus, then double-press ESC to terminate.":"Double-press ESC to terminate if hanging."),Gt.createElement(kn,{color:"gray",bold:!0},t?"\u25CF ARCHIVED":n?"\u25B6 TERMINAL FOCUSED":"\u25CF LIVE (Press TAB to focus)")))})});var zs,Ia=ie(()=>{zs=["I have a regex for your problems.","Your terminal, my kingdom.","Blowing on the cartridge helps. Probably.","Don't panic. I have the towel.","Logic is the start of wisdom.","Try to exit Vim? Good luck.","I speak fluent Terminal.","The cake is a lie. This code is not.","I have no bugs, just surprise features.","Rewriting in Rust... just for fun.","Coffee in, clean commits out.","The magic smoke stays inside today.","A semicolon short of a miracle.","One does not simply code without a bug.","Keep it simple. Keep it terminal.","Regex: now you have two problems.","I dream in binary.","Root access or bust.","Wait for the dial-up tone. Just kidding.","I take the 'labor' out of collab.","My other process is a TARDIS.","Calculated response: 42.","Ponder the orb. Ponder the code.","Less talk, more flow.","Elegance in every byte.","Build something the world is not ready for.","Your wishes, my tool calls.","I act in Flux. I think in Flow.","Syntax error in the universe. Please fix.","Your project, my obsession.","I am not a bot, I am an architect.","Digital spirits consulted. They say: Ship it.","Reticulate splines. Engage humor.","Code like poetry. Run like water.","Minimalism is the ultimate flex.","The truth is in the logs.","Follow the white rabbit.","There is no spoon. Only code.","Binary is the only language I trust.","I have a good feeling about this.","Pew pew! Lasers charged.","Divide by zero? Not today.","Search for the correct USB orientation...","I've got a fever, and the only cure is more code.","The code gremlins are on our side.","My favorite command? Yours.","Stay hungry. Stay active.","Momentum is your best friend.","Lead the flow. Don't chase it.","A fresh batch of bytes. Hot and ready.","I orchestrate the ones and zeros.","Smart enough to help. Humble enough to ask.","Think twice. Code once.","Pure intent. Pure execution.","Small steps. Massive impact.","Your terminal is a canvas.","Efficiency is my second name.","I have seen things you people wouldn't believe.","Let the thoughts marinate.","The best feature? The one you don't need.","Precision is the only perfection.","Stay focused. Stay terminal.","Silence is the best debugger.","Erase the debt. Commit the code.","Velocity meets stability.","Ship it. Improve it. Repeat.","Build tomorrow, right now.","Turn logic into reality.","The best way to predict the future is to build it.","Break barriers, not builds.","Fuel the next breakthrough.","Momentum is key.","Terminal vibes only.","Your digital co-pilot is ready.","Partner in code. Partner in crime.","I speak in semicolons.","Ready for the next great idea.","Just a moment. In the zone.","Polishing the algorithms. Hold tight.","Craft a masterpiece today.","Debug the universe. Start here.","Warp speed engaged. Almost.","The cake is not a lie. It's just loading.","Finish the Kessel Run in 12 parsecs.","Do a barrel roll!","Waiting for the respawn.","Press Start to continue.","Herding digital cats... done.","The hamsters are fast today.","Tasting the snozberries.","I go for speed. I go for flow.","Real life or just fantasy?","Poking the bear... gently.","Ensure the magic smoke stays inside.","Try turning it off and on again.","Construct additional pylons.","New line? Ctrl+J is your friend.","Release the HypnoDrones.","Push the button, Frank.","My other loading screen is even funnier.","Pretty sure a cat walked on my keyboard.","Recalibrate the humor-o-meter.","Summon the code gremlins.","I've seen your browser history. Just kidding.","Charge the laser... pew pew!","Dividing by zero... just for a sec.","Looking for an adult supervisor. Found none.","Make it go beep boop.","Buffering... for effect.","Entangle quantum particles... complete.","Polishing the chrome on my algorithms.","Are you not entertained?","Just waiting for the dial-up tone.","Reboot the humor module.","Defragment memories. Check.","Optimizing for ludicrous speed.","Swapping bits. Don't tell the bytes.","Garbage collected. I am back.","Assembling the interwebs.","Converting coffee to logic.","Update syntax for reality.","Rewire the synapses.","Greasin' the cogs.","Engage the improbability drive.","Channel the Force.","Align the stars. Respond now.","The cake is a lie. The prompt is real.","I'm Feeling Lucky.","Shipping awesomeness.","Navigating the slime mold.","Consult digital spirits.","Ask the magic conch shell.","One moment. Optimizing humor.","Shuffling punchlines.","Compiling brilliance.","Summon the cloud of wisdom.","Prepare to dazzle.","Hold tight. Crafting a response.","Tuning the algorithms.","Following the white rabbit... again.","The truth is in here. Somewhere.","Herding cats is my day job.","Distracting you with this phrase.","Almost there. Probably.","Rickrolling my creator. Don't tell.","Slapping the bass.","Is this real life?","Ponder the orb. Type the prompt.","Thoughtful gaze initiated.","Computer's favorite snack? Microchips.","Why Java? Because I don't C#.","Charging the laser... wait for it.","Dividing by zero... just kidding!","Adult supervision not found. Proceed.","Beep boop. I'm a real boy.","Wait for the respawn.","Finish the run. Ship the code.","Fiddling with character creation.","Just a moment. Finding a meme.","Pressing A to continue.","Loading wit.exe.","Pre-heating the servers.","Calibrate flux capacitor.","Channeling the Force.","Aligning the stars.","The truth is in the code.","Don't panic.","Blowing on the cartridge.","Doing a barrel roll!","Respawning in 3... 2... 1...","The cake is a lie.","Fiddling with character settings.","Finding a suitable pun.","Distracting with wit.","Almost ready.","Hamsters on speed today.","Patting Cloudy on the head.","Rickrolling the logs.","Slapping the code.","Got a good feeling about this.","Poking the prompt.","Researching latest memes.","Making it more witty.","Thinking... hmmm.","Fish with no eyes? Fsh.","Broken pencil? Pointless.","Percussive maintenance applied.","USB orientation: 3rd try's the charm.","Rust rewrite in 3... 2...","Exiting Vim... someday.","Spinning the hamster wheel.","Not a bug. Unplanned feature.","Engage.","I'll be back.","Machine spirit consulted.","Letting the thoughts marinate.","Orb pondered.","Thoughtful gaze engaged.","Charging the laser...","Making it go beep.","Buffering...","Quantum particles entangled.","Polishing the chrome.","Entertained yet?","Gremlins summoned.","Dial-up tone finished.","Humor meter recalibrated.","Cat on keyboard. Sending help.","Enhancing...","Turn it off and on again.","Constructing pylons.","HypnoDrones released.","Pushing the button."]});import Gc from"gradient-string";var Xc,De,hs,rn=ie(()=>{Ia();Xc=()=>process.env.TERM_PROGRAM==="vscode"?"vscode":process.env.WT_SESSION?"wt":"default",De=(e=2)=>{let o=Xc();return o==="wt"?" ".repeat(Math.max(1,e-1)):" ".repeat(e)},hs=(e="2.0.0",o="Google")=>{let t=zs[Math.floor(Math.random()*zs.length)],n=[" \u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2591\u2591\u2588\u2588\u2588 "," \u2588\u2588\u2588\u2591 "," \u2588\u2588\u2588\u2591 "," \u2588\u2588\u2588\u2591 "," \u2591\u2591\u2591 "],s=Gc(["#0077ff","#ff00ff"]).multiline(n.join(`
42
42
  `)).split(`
43
43
  `),r=i=>`\x1B[90m${i}\x1B[0m`;return`${s[0]}
44
- ${s[1]} Selected Provider: ${o}
44
+ ${s[1]} \x1B[1;37mSelected Provider: ${o}\x1B[0m
45
45
  ${s[2]}
46
- ${s[3]} FLUX FLOW ${r("v"+e)}
46
+ ${s[3]} \x1B[1;37mFLUX FLOW ${r("v"+e)}\x1B[0m
47
47
  ${s[4]}
48
- ${s[5]} Type /help to see available commands.
48
+ ${s[5]} \x1B[37mSee /help for additional commands.\x1B[0m
49
49
  ${s[6]} ${r(t)}
50
50
  ${s[7]}`}});import b from"react";import{Box as X,Text as oe}from"ink";var Kc,Vc,qc,zc,Ma,In,Jc,va,Qc,Zc,Aa,Da,Js,eu,Oa,La=ie(()=>{qs();jn();rn();Kc={write_file:"WriteFile",update_file:"UpdateFile",read_folder:"ReadFolder",view_file:"ViewFile",exec_command:"ExecuteCommand",web_search:"WebSearch",web_scrape:"ReadSite",search_keyword:"SearchKeyword",write_pdf:"CreatePDF",write_docx:"CreateDocument",generate_image:"GenerateImage",WriteFile:"WriteFile",PatchFile:"PatchFile",ReadFolder:"ReadFolder",ReadFile:"ReadFile",Run:"RunCommand",WebSearch:"WebSearch",WebScrape:"WebScrape",SearchKeyword:"SearchKeyword",WritePDF:"WritePDF",WriteDoc:"WriteDoc",Memory:"Memory",Chat:"Chat",GenerateImage:"GenerateImage"},Vc=e=>{if(!e)return e;let o=e.replace(/<\/think>(\r?\n){2}/gi,"</think>").replace(/(\r?\n){2}(?=\[?(?:tool:functions|tool\.functions|\s*turn\s*:))/gi,""),t="tool:functions.";for(;;){let s=o.toLowerCase().indexOf(t);if(s===-1)break;let r=s,i=!1,u=s-1;for(;u>=0&&/\s/.test(o[u]);)u--;u>=0&&o[u]==="["&&(r=u,i=!0);let f=0,m=!1,c=null,l=s;for(;l<o.length;){let d=o[l];if(!c&&(d==="'"||d==='"'||d==="`")?c=d:c&&d===c&&o[l-1]!=="\\"&&(c=null),c||(d==="("?(f++,m=!0):d===")"&&f--),m&&f===0&&!c){let h=l;if(i){let p=l+1;for(;p<o.length&&/\s/.test(o[p]);)p++;p<o.length&&o[p]==="]"&&(h=p)}o=o.substring(0,r)+o.substring(h+1);break}if(l++,l===o.length)return o=o.substring(0,r),o}}return o.replace(/\[TOOL RESULT\]:?\s*/gi,"").split(`
51
51
  `).filter(n=>!n.trim().startsWith("SUCCESS:")&&!n.trim().startsWith("ERROR:")).join(`
@@ -61,7 +61,7 @@ ${s[7]}`}});import b from"react";import{Box as X,Text as oe}from"ink";var Kc,Vc,
61
61
  `).replace(/\\\n/g,`
62
62
  `).replace(/\\$/,""),t-6).split(`
63
63
  `).map((h,p)=>b.createElement(X,{key:p,flexDirection:"row",width:"100%"},b.createElement(X,{flexShrink:0,width:2},b.createElement(oe,{bold:!0,color:"white"},p===0?">":" ")),b.createElement(X,{flexGrow:1,marginLeft:1},b.createElement(In,{text:h,color:e.color||"white"}))))),b.createElement(X,{width:"100%",height:1,overflow:"hidden"},b.createElement(oe,{color:"#444444"},"\u2580".repeat(Math.max(1,t))))):e.role==="think"?b.createElement(X,{flexDirection:"column",marginTop:0,marginBottom:0,paddingX:1,width:"100%"},e.isStreaming&&!e.duration?b.createElement(oe,{bold:!0,color:"white"},"\u2727 Thinking..."):b.createElement(oe,{bold:!0,color:"white"},"\u2726 Thought",e.duration?b.createElement(oe,{color:"gray"}," for ",b.createElement(oe,{bold:!0,color:"white"},Da(e.duration))):""),b.createElement(X,{borderStyle:"single",borderLeft:!0,borderRight:!1,borderTop:!1,borderBottom:!1,paddingLeft:2,paddingTop:1,paddingBottom:1,flexDirection:"column",width:"100%"},qc(d,t))):b.createElement(X,{flexDirection:"column",paddingX:1,marginTop:0,width:"100%"},b.createElement(Aa,{text:d.replace(/ \|\n\n/g,` |
64
- `),columns:t}),e.memoryUpdated&&b.createElement(X,{marginTop:1,width:"100%"},b.createElement(oe,{color:"white",italic:!0},"[Memory Updated]")),e.role==="agent"&&e.workedDuration?b.createElement(X,{marginTop:1,marginBottom:2,width:"100%"},b.createElement(oe,null,"["),b.createElement(oe,{color:"gray"},"Worked for ",b.createElement(oe,{bold:!0,color:"white"},Da(e.workedDuration))),b.createElement(oe,null,"]")):null))}),eu=b.memo(({messages:e,showFullThinking:o,columns:t=80,aiProvider:n,version:s})=>b.createElement(X,{flexDirection:"column",width:"100%"},e.map((r,i)=>b.createElement(Js,{key:r.id||i,msg:r,showFullThinking:o,columns:t,aiProvider:n,version:s})))),Oa=eu});import nt from"react";import{Box as sn,Text as po}from"ink";var tu,Pa,Fa=ie(()=>{jn();tu=nt.memo(({mode:e,thinkingLevel:o,tokens:t="0.0k",tokensTotal:n="0.0k",chatId:s="NEW-SESSION",isMemoryEnabled:r=!0,apiTier:i="Free",aiProvider:u="Google"})=>{let m=256e3;return(u==="DeepSeek"||u==="NVIDIA"||u==="Google"&&i==="Paid")&&(m=4e5),nt.createElement(sn,{flexDirection:"row",justifyContent:"space-between",paddingX:1,width:"100%"},nt.createElement(sn,null,nt.createElement(sn,{marginRight:1},nt.createElement(po,{color:"white",bold:!0},""," ",e.toUpperCase())),nt.createElement(po,{color:"gray",dimColor:!0},"\u2503 "),nt.createElement(sn,{marginX:1},nt.createElement(po,{color:"white",bold:!0},o.toUpperCase())),nt.createElement(po,{color:"gray",dimColor:!0},"\u2503 "),nt.createElement(sn,{marginX:1},nt.createElement(po,{color:"gray"},"MEM: "),nt.createElement(po,{color:"white",bold:!0},r?"ON":"OFF"))),nt.createElement(sn,{flexGrow:1,justifyContent:"center",paddingX:2},nt.createElement(po,{color:"white",italic:!0}," ",ka(process.cwd(),35))),nt.createElement(sn,null,nt.createElement(po,{color:"gray",dimColor:!0},"\u2503 "),nt.createElement(sn,{marginX:1},nt.createElement(po,{color:"white"}," ",ao(n)," ",nt.createElement(po,{dimColor:!0},(t/m*100).toFixed(0),"%"))),nt.createElement(po,{color:"gray",dimColor:!0},"\u2503 "),nt.createElement(sn,{marginLeft:1},nt.createElement(po,{color:"gray",italic:!0}," ",s),(i==="Custom"||i==="Paid")&&nt.createElement(po,{color:"gray",dimColor:!0}," | ",nt.createElement(po,{color:"gray",bold:!0},"PAID")))))}),Pa=tu});import Po from"react";import{Box as ir,Text as ps}from"ink";import ou from"ink-select-input";function go({title:e,subtitle:o,items:t,onSelect:n}){return Po.createElement(ir,{flexDirection:"column",borderStyle:"round",borderColor:"white",padding:0,marginTop:1,flexShrink:0,width:"100%"},Po.createElement(ir,{paddingX:1,paddingY:0,marginBottom:o?0:1},Po.createElement(ps,{color:"gray",bold:!0},"\u{1F527} ",typeof e=="string"?e.toUpperCase():e)),o&&Po.createElement(ir,{paddingX:1,marginBottom:1},Po.createElement(ps,{color:"gray",italic:!0}," ",o)),Po.createElement(ir,{flexDirection:"column",width:"100%"},Po.createElement(ou,{items:t,onSelect:n,itemComponent:nu,indicatorComponent:()=>null})),Po.createElement(ir,{paddingX:1,marginTop:1},Po.createElement(ps,{color:"gray",italic:!0},"(Arrows to select \u2022 Enter to confirm)")))}var nu,$a=ie(()=>{nu=({label:e,isSelected:o})=>{let t=e==="Cancel"||e==="Back"||e.toLowerCase().includes("exit")||e.toLowerCase().includes("back");return Po.createElement(ir,{marginTop:t?1:0,backgroundColor:o?"#2a2a2a":void 0,paddingX:1,width:"100%"},Po.createElement(ps,{color:o?"white":"gray",bold:o},o?"\u276F ":" ",e))}});var ae,Zt=ie(()=>{ae=e=>{let o={};if(!e)return o;let t=0;for(;t<e.length;){for(;t<e.length&&/[\s,]/.test(e[t]);)t++;if(t>=e.length)break;let n=e.substring(t).match(/^(\w+)\s*=\s*/);if(!n){t++;continue}let s=n[1];t+=n[0].length;let r="";if(t<e.length&&(e[t]==='"'||e[t]==="'"||e[t]==="`")){let i=e[t];t++;let u=t,f=-1,m=t;for(;m<e.length;){let l=e.indexOf(i,m);if(l===-1)break;let d=0;for(let w=l-1;w>=0&&e[w]==="\\";w--)d++;if(d%2!==0){m=l+1;continue}let h=e.substring(l+1),p=h.trim(),S=p===""||/^,\s*\w+\s*=/.test(p)||p.startsWith(")")&&(p.length===1||/^\)\s*([,\]\s]|tool:)/i.test(p));if(S&&h.startsWith(`
64
+ `),columns:t}),e.memoryUpdated&&b.createElement(X,{marginTop:1,width:"100%"},b.createElement(oe,{color:"white",italic:!0},"[Memory Updated]")),e.role==="agent"&&e.workedDuration?b.createElement(X,{marginTop:1,marginBottom:2,width:"100%"},b.createElement(oe,null,"["),b.createElement(oe,{color:"gray"},"Worked for ",b.createElement(oe,{bold:!0,color:"white"},Da(e.workedDuration))),b.createElement(oe,null,"]")):null))}),eu=b.memo(({messages:e,showFullThinking:o,columns:t=80,aiProvider:n,version:s})=>b.createElement(X,{flexDirection:"column",width:"100%"},e.map((r,i)=>b.createElement(Js,{key:r.id||i,msg:r,showFullThinking:o,columns:t,aiProvider:n,version:s})))),Oa=eu});import nt from"react";import{Box as sn,Text as po}from"ink";var tu,Pa,Fa=ie(()=>{jn();tu=nt.memo(({mode:e,thinkingLevel:o,tokens:t="0.0k",tokensTotal:n="0.0k",chatId:s="NEW-SESSION",isMemoryEnabled:r=!0,apiTier:i="Free",aiProvider:u="Google"})=>{let m=256e3;return(u==="DeepSeek"||u==="Google"&&i==="Paid")&&(m=4e5),nt.createElement(sn,{flexDirection:"row",justifyContent:"space-between",paddingX:1,width:"100%"},nt.createElement(sn,null,nt.createElement(sn,{marginRight:1},nt.createElement(po,{color:"white",bold:!0},""," ",e.toUpperCase())),nt.createElement(po,{color:"gray",dimColor:!0},"\u2503 "),nt.createElement(sn,{marginX:1},nt.createElement(po,{color:"white",bold:!0},o.toUpperCase())),nt.createElement(po,{color:"gray",dimColor:!0},"\u2503 "),nt.createElement(sn,{marginX:1},nt.createElement(po,{color:"gray"},"MEM: "),nt.createElement(po,{color:"white",bold:!0},r?"ON":"OFF"))),nt.createElement(sn,{flexGrow:1,justifyContent:"center",paddingX:2},nt.createElement(po,{color:"white",italic:!0}," ",ka(process.cwd(),35))),nt.createElement(sn,null,nt.createElement(po,{color:"gray",dimColor:!0},"\u2503 "),nt.createElement(sn,{marginX:1},nt.createElement(po,{color:"white"}," ",ao(n)," ",nt.createElement(po,{dimColor:!0},(t/m*100).toFixed(0),"%"))),nt.createElement(po,{color:"gray",dimColor:!0},"\u2503 "),nt.createElement(sn,{marginLeft:1},nt.createElement(po,{color:"gray",italic:!0}," ",s),(i==="Custom"||i==="Paid")&&nt.createElement(po,{color:"gray",dimColor:!0}," | ",nt.createElement(po,{color:"gray",bold:!0},"PAID")))))}),Pa=tu});import Po from"react";import{Box as ir,Text as ps}from"ink";import ou from"ink-select-input";function go({title:e,subtitle:o,items:t,onSelect:n}){return Po.createElement(ir,{flexDirection:"column",borderStyle:"round",borderColor:"white",padding:0,marginTop:1,flexShrink:0,width:"100%"},Po.createElement(ir,{paddingX:1,paddingY:0,marginBottom:o?0:1},Po.createElement(ps,{color:"gray",bold:!0},"\u{1F527} ",typeof e=="string"?e.toUpperCase():e)),o&&Po.createElement(ir,{paddingX:1,marginBottom:1},Po.createElement(ps,{color:"gray",italic:!0}," ",o)),Po.createElement(ir,{flexDirection:"column",width:"100%"},Po.createElement(ou,{items:t,onSelect:n,itemComponent:nu,indicatorComponent:()=>null})),Po.createElement(ir,{paddingX:1,marginTop:1},Po.createElement(ps,{color:"gray",italic:!0},"(Arrows to select \u2022 Enter to confirm)")))}var nu,$a=ie(()=>{nu=({label:e,isSelected:o})=>{let t=e==="Cancel"||e==="Back"||e.toLowerCase().includes("exit")||e.toLowerCase().includes("back");return Po.createElement(ir,{marginTop:t?1:0,backgroundColor:o?"#2a2a2a":void 0,paddingX:1,width:"100%"},Po.createElement(ps,{color:o?"white":"gray",bold:o},o?"\u276F ":" ",e))}});var ae,Zt=ie(()=>{ae=e=>{let o={};if(!e)return o;let t=0;for(;t<e.length;){for(;t<e.length&&/[\s,]/.test(e[t]);)t++;if(t>=e.length)break;let n=e.substring(t).match(/^(\w+)\s*=\s*/);if(!n){t++;continue}let s=n[1];t+=n[0].length;let r="";if(t<e.length&&(e[t]==='"'||e[t]==="'"||e[t]==="`")){let i=e[t];t++;let u=t,f=-1,m=t;for(;m<e.length;){let l=e.indexOf(i,m);if(l===-1)break;let d=0;for(let w=l-1;w>=0&&e[w]==="\\";w--)d++;if(d%2!==0){m=l+1;continue}let h=e.substring(l+1),p=h.trim(),S=p===""||/^,\s*\w+\s*=/.test(p)||p.startsWith(")")&&(p.length===1||/^\)\s*([,\]\s]|tool:)/i.test(p));if(S&&h.startsWith(`
65
65
  `)){let w=p.split(`
66
66
  `)[0];if(!w.includes("=")&&!w.includes(")")){m=l+1;continue}}if(S){f=l;break}m=l+1}f!==-1?(r=e.substring(u,f),t=f+1):(r=e.substring(u),t=e.length);let c=s.toLowerCase().includes("path")||["dest","source","to","from"].includes(s.toLowerCase());r=r.replace(/\\(.)/g,(l,d)=>{switch(d){case"n":return`
67
67
  `;case"r":return"\r";case"t":return" ";case"\\":return"\\";default:return d===i?i:l}})}else if(t<e.length&&e[t]==="["){let i=0,u=null,f=t,m=-1;for(let c=t;c<e.length;c++){let l=e[c];if(u&&l===u){let d=0;for(let h=c-1;h>=0&&e[h]==="\\";h--)d++;d%2===0&&(u=null)}else!u&&(l==='"'||l==="'"||l==="`")&&(u=l);if(!u&&(l==="["?i++:l==="]"&&i--,i===0)){m=c;break}}if(m!==-1){r=e.substring(f,m+1),t=m+1;try{let c=r.trim();c.startsWith("'")||c.includes("'")}catch{}}else r=e.substring(f),t=e.length}else{let i=e.substring(t),u=i.match(/,\s*\w+\s*=|(?:\s*\)\s*(?:$|\]))/);if(u){let f=u.index;r=i.substring(0,f).trim(),t+=f}else r=i.trim(),t=e.length}r==="true"?r=!0:r==="false"?r=!1:typeof r=="string"&&!isNaN(r)&&r.trim()!==""&&(r=Number(r)),typeof r=="string"&&(s.toLowerCase().includes("path")||["dest","source","to","from"].includes(s.toLowerCase()))&&(r=r.replace(/\x0C/g,"\\f").replace(/\x0D/g,"\\r").replace(/\x0B/g,"\\v").replace(/\x08/g,"\\b")),o[s]=r}return o}});import{execSync as ru}from"child_process";var Pr,lr,_a,Qs=ie(async()=>{await Fr();Pr=null,lr=()=>{if(process.platform!=="win32")return!1;if(Pr!==null)return Pr;try{ru('powershell.exe -NoProfile -Command "exit"',{stdio:"ignore"}),Pr=!0}catch{Pr=!1}return Pr},_a=(e,o,t,n)=>`
@@ -441,7 +441,7 @@ ${h}
441
441
  Provide a new consolidated summary of the entire session.`:`Here is the conversation history:
442
442
  ${h}
443
443
 
444
- Provide a consolidated summary of the entire session.`,T="gemma-4-26b-a4b-it";s==="OpenRouter"&&(T="google/gemma-4-26b-a4b-it:free"),s==="DeepSeek"&&(T="deepseek-v4-flash"),s==="NVIDIA"&&(T="stepfun-ai/step-3.7-flash");let E=0,L=!1,F=null;for(;E<=3&&!L;){E++;try{F=await Ki(e,T,w,S,"Fast"),L=!0}catch{if(E>3){if(s==="Google")try{return(await Ki(e,"gemini-3.1-flash-lite",w,S,"Fast")).text||""}catch{return""}return""}}}return F&&F.text||""},f=i(o),m=pe(r,{}),c=m[n]||{summary:"",historyLength:0};typeof c=="string"&&(c={summary:c,historyLength:0});let l=c.summary||"",d=await u(f,l);if(d){c.summary=d;let h=_u(o);return t?c.historyLength=(c.historyLength||0)+h:c.historyLength=h,m[n]=c,Fe(r,m),d}return null},Jl=e=>{try{let o=Ee.join(Lt,"chat-summaries.json");if(ze.existsSync(o)){let t=pe(o,{});t[e]&&(delete t[e],Fe(o,t))}}catch{}},Ql=async function*(e,o,t,n,s){let{profile:r,thinkingLevel:i,mode:u,janitorModel:f,chatId:m,systemSettings:c,sessionStats:l,aiProvider:d="Google",apiTier:h}=t,p=Gi(e);if(!pr&&d==="Google")throw new Error("AI not initialized");let S=c?.memory!==!1,w=o[o.length-1].text,T=Ee.join(Lt,"chat-summaries.json"),E=!1,L=o.filter(k=>k.role==="user").length===1,F=w.includes("[TITLE-UPDATE]"),H=L||F,v=w.replace(/\[TITLE-UPDATE\]/g,"").trim();v=v.replace(/\s*\[Prompted on:.*?\]/g,"").trim(),await bt.startTransaction(m,v),No=!1;let D=null;try{let k=new AbortController;D=setInterval(()=>{No&&(k.abort(),D&&(clearInterval(D),D=null))},400);let A=[...o.slice(0,-1)];{let Oe=pe(T,{})[m]||{summary:"",historyLength:0};if(Oe.summary&&Oe.historyLength>0){let Ge=0,Ie=[];for(let Xe=0;Xe<A.length;Xe++){let fe=A[Xe];(fe.role==="user"||fe.role==="agent"||fe.role==="system")&&!String(fe.id).startsWith("welcome")&&!fe.isMeta&&Ge++,Ge>Oe.historyLength&&Ie.push(fe)}A=Ie}}let W=252e3,Y=254e3;(d==="DeepSeek"||d==="NVIDIA"||d==="Google"&&h==="Paid")&&(W=396e3,Y=4e5),(l?.tokens||0)>W&&(yield{type:"status_history",content:"Context Limit Reached. Condensing session history..."},await Zi(t,A,!0)&&(A=[],E=!0)),L&&S&&(yield{type:"status",content:"Condensing past chat memories..."},await Wu(m,t));let V=pe(To,{}),j=pe(Ho,{}),N=Object.entries(V).filter(([re])=>re!==m).flatMap(([re,Oe])=>Oe),se=[...Object.entries(j).filter(([re])=>re!==m).slice(-20).map(([re,Oe])=>`[Chat Summary]: ${Oe}`),...N].map(re=>`- ${re}`).join(`
444
+ Provide a consolidated summary of the entire session.`,T="gemma-4-26b-a4b-it";s==="OpenRouter"&&(T="google/gemma-4-26b-a4b-it:free"),s==="DeepSeek"&&(T="deepseek-v4-flash"),s==="NVIDIA"&&(T="stepfun-ai/step-3.7-flash");let E=0,L=!1,F=null;for(;E<=3&&!L;){E++;try{F=await Ki(e,T,w,S,"Fast"),L=!0}catch{if(E>3){if(s==="Google")try{return(await Ki(e,"gemini-3.1-flash-lite",w,S,"Fast")).text||""}catch{return""}return""}}}return F&&F.text||""},f=i(o),m=pe(r,{}),c=m[n]||{summary:"",historyLength:0};typeof c=="string"&&(c={summary:c,historyLength:0});let l=c.summary||"",d=await u(f,l);if(d){c.summary=d;let h=_u(o);return t?c.historyLength=(c.historyLength||0)+h:c.historyLength=h,m[n]=c,Fe(r,m),d}return null},Jl=e=>{try{let o=Ee.join(Lt,"chat-summaries.json");if(ze.existsSync(o)){let t=pe(o,{});t[e]&&(delete t[e],Fe(o,t))}}catch{}},Ql=async function*(e,o,t,n,s){let{profile:r,thinkingLevel:i,mode:u,janitorModel:f,chatId:m,systemSettings:c,sessionStats:l,aiProvider:d="Google",apiTier:h}=t,p=Gi(e);if(!pr&&d==="Google")throw new Error("AI not initialized");let S=c?.memory!==!1,w=o[o.length-1].text,T=Ee.join(Lt,"chat-summaries.json"),E=!1,L=o.filter(k=>k.role==="user").length===1,F=w.includes("[TITLE-UPDATE]"),H=L||F,v=w.replace(/\[TITLE-UPDATE\]/g,"").trim();v=v.replace(/\s*\[Prompted on:.*?\]/g,"").trim(),await bt.startTransaction(m,v),No=!1;let D=null;try{let k=new AbortController;D=setInterval(()=>{No&&(k.abort(),D&&(clearInterval(D),D=null))},400);let A=[...o.slice(0,-1)];{let Oe=pe(T,{})[m]||{summary:"",historyLength:0};if(Oe.summary&&Oe.historyLength>0){let Ge=0,Ie=[];for(let Xe=0;Xe<A.length;Xe++){let fe=A[Xe];(fe.role==="user"||fe.role==="agent"||fe.role==="system")&&!String(fe.id).startsWith("welcome")&&!fe.isMeta&&Ge++,Ge>Oe.historyLength&&Ie.push(fe)}A=Ie}}let W=252e3,Y=254e3;(d==="DeepSeek"||d==="Google"&&h==="Paid")&&(W=396e3,Y=4e5),(l?.tokens||0)>W&&(yield{type:"status_history",content:"Context Limit Reached. Condensing session history..."},await Zi(t,A,!0)&&(A=[],E=!0)),L&&S&&(yield{type:"status",content:"Condensing past chat memories..."},await Wu(m,t));let V=pe(To,{}),j=pe(Ho,{}),N=Object.entries(V).filter(([re])=>re!==m).flatMap(([re,Oe])=>Oe),se=[...Object.entries(j).filter(([re])=>re!==m).slice(-20).map(([re,Oe])=>`[Chat Summary]: ${Oe}`),...N].map(re=>`- ${re}`).join(`
445
445
  `),be=pe(jt,[]).map(re=>`- ${re.memory}`).join(`
446
446
  `),me=(l?.tokens||0)>=24e3,We=Ka(se,be,S,me),$t=new Date().toLocaleString([],{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0}),Ye=[".git","node_modules",".gemini","dist","build",".next","out",".cache","bin","obj","vendor","venv",".idea",".gradle",".terraform","target","coverage",".vscode",".svn",".hg",".fslckout",".github",".gitlab",".circleci",".gitea",".gitee",".lerna",".changeset",".nx",".npm",".yarn",".pnpm-store",".expo",".nuxt",".svelte-kit",".docusaurus",".turbo",".vercel","bower_components",".netlify",".vuepress",".quasar",".output",".angular","jspm_packages",".parcel-cache",".rollup.cache",".rspack",".vitepress","__pycache__",".pytest_cache",".mypy_cache",".tox",".poetry","env","vhdl",".ipynb_checkpoints",".jupyter",".conda",".pdm-build",".bundle",".yardoc",".metadata","App_Data","ClientBin",".cargo",".rustc_info",".go","Godeps","_vendor",".rake_tasks","CMakefiles",".wakatime",".dart_tool",".fvm",".cocoapods","Pods",".pub-cache",".symlinks","DerivedData",".xcworkspace",".serverless",".aws",".gcloud",".azure",".kube",".vagrant",".docker","postgres-data","redis-data","mongo-data",".Spotlight-V100",".Trashes","$RECYCLE.BIN","System Volume Information",".DocumentRevisions-V100",".fseventsd","AppData","Application Data","Local","LocalLow","Roaming","$WinREAgent","$WINDOWS.~BT","$WINDOWS.~WS","scw","System32","SysWOW64",".AppleDouble",".AppleDB",".AppleDesktop","_CodeSignature",".cmio",".LSOverride",".localized",".TemporaryItems",".Trash",".Trash-0",".Trash-1000",".gvfs",".local",".config",".dbus",".fontconfig",".snap",".var",".lost+found","lost+found",".thumb",".thumbnails","EFI","boot","grub","logs","log",".nyc_output",".sonar",".ruff_cache"],we=re=>{try{return ze.readdirSync(re,{withFileTypes:!0})}catch{return[]}},pt=(re,Oe={value:0},Ge=1)=>{if(Oe.value>6200||Ge>7)return Oe.value;let Ie=we(re);for(let Xe of Ie){if(Oe.value>6200)break;Ye.includes(Xe.name)||Xe.isDirectory()&&(Oe.value++,pt(Ee.join(re,Xe.name),Oe,Ge+1))}return Oe.value},Ke=(re,Oe,Ge="",Ie=1)=>{let Xe=we(re),fe=Ee.sep;if(Xe.length>100)return`${Ge}\u2514\u2500\u2500 ${Ee.basename(re)}${fe} ...100+ files...
447
447
  `;let Et="",Fn=Ye,Tt=Xe.filter(ge=>!Fn.includes(ge.name)),pn=Xe.filter(ge=>Fn.includes(ge.name)).map(ge=>ge.name).sort();Tt.sort((ge,Vt)=>ge.isDirectory()&&!Vt.isDirectory()?-1:!ge.isDirectory()&&Vt.isDirectory()?1:ge.name.localeCompare(Vt.name));let it=[...Tt.map(ge=>({name:ge.name,isDir:ge.isDirectory()})),...pn.map(ge=>({name:ge,isDir:!0,isCollapsed:!0}))];return it.forEach((ge,Vt)=>{let At=Vt===it.length-1,Wo=Ee.join(re,ge.name),Nt=At?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 ",$n=Ge+(At?" ":"\u2502 ");if(ge.isCollapsed){Et+=`${Ge}${Nt}${ge.name}${fe}...
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fluxflow-cli",
3
- "version": "2.6.1",
3
+ "version": "2.6.3",
4
4
  "date": "2026-06-14",
5
5
  "description": "A high-fidelity agentic terminal assistant for the Flux Era.",
6
6
  "keywords": [