fluxflow-cli 4.17.1 → 4.19.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 (74) hide show
  1. package/dist/chunks/{addMemScore-W4I665ZR.js → addMemScore-HPTGXICT.js} +1 -1
  2. package/dist/chunks/ai-UMXT6VB5.js +1 -0
  3. package/dist/chunks/{app-ZHDEY5VH.js → app-GKXK24DF.js} +85 -85
  4. package/dist/chunks/{chat-HZ7UVZE2.js → chat-6R23AKX6.js} +1 -1
  5. package/dist/chunks/{chunk-EP3WAFTJ.js → chunk-33KD6VKN.js} +1 -1
  6. package/dist/chunks/{chunk-X3ZZM2GL.js → chunk-4XZGWK5L.js} +1 -1
  7. package/dist/chunks/chunk-EPGLNGLE.js +3 -0
  8. package/dist/chunks/{chunk-YNU56P2H.js → chunk-G3223ZQY.js} +1 -1
  9. package/dist/chunks/chunk-I4JQEUHE.js +1 -0
  10. package/dist/chunks/{chunk-VCF6JVQV.js → chunk-ORXN6WUW.js} +1 -1
  11. package/dist/chunks/chunk-Q2D63UDR.js +33 -0
  12. package/dist/chunks/chunk-QGPOMXO4.js +1 -0
  13. package/dist/chunks/{chunk-FDNLMLIM.js → chunk-RI37VZYB.js} +1 -1
  14. package/dist/chunks/{chunk-UAHJEAVX.js → chunk-RLT6EHPQ.js} +1 -1
  15. package/dist/chunks/{chunk-ZSVBC2ZI.js → chunk-UDJ2C3N3.js} +1 -1
  16. package/dist/chunks/{chunk-ZWNKNXAI.js → chunk-UN6TUQZX.js} +1 -1
  17. package/dist/chunks/{chunk-AZGFDR6K.js → chunk-VD2I7Z6Q.js} +258 -125
  18. package/dist/chunks/chunk-W6AVB2PY.js +6 -0
  19. package/dist/chunks/{chunk-HYGK7YDY.js → chunk-WFHGURXW.js} +1 -1
  20. package/dist/chunks/{chunk-72RYQ5W7.js → chunk-Y6DZDEJ5.js} +1 -1
  21. package/dist/chunks/{chunk-47AJJOP3.js → chunk-YK27Y77U.js} +174 -173
  22. package/dist/chunks/{chunk-KFM2OZWJ.js → chunk-YUJMCXJA.js} +1 -1
  23. package/dist/chunks/{click-G6RRSFVC.js → click-H7HTKF3R.js} +2 -2
  24. package/dist/chunks/{computer_action-WTHH7RBB.js → computer_action-UTDLLMF2.js} +1 -1
  25. package/dist/chunks/{drag-ZGH2MMP7.js → drag-U6X3O5GB.js} +1 -1
  26. package/dist/chunks/{emergency_rollback-EPJPKANN.js → emergency_rollback-HWM4FJ6J.js} +1 -1
  27. package/dist/chunks/{exec_command-255QUWWX.js → exec_command-BH3PUWVO.js} +1 -1
  28. package/dist/chunks/export-ZTNXWWJF.js +1 -0
  29. package/dist/chunks/{file_map-5KY2ADZW.js → file_map-XK7BFZFI.js} +1 -1
  30. package/dist/chunks/generate_image-H7B5XMXI.js +1 -0
  31. package/dist/chunks/{invoke-GJ72T6SR.js → invoke-CZ67HJ6V.js} +2 -2
  32. package/dist/chunks/{invokeSync-KGIQEPIQ.js → invokeSync-OU2V4FTC.js} +2 -2
  33. package/dist/chunks/{key_press-M5QNCIPH.js → key_press-QRO3OFLC.js} +1 -1
  34. package/dist/chunks/{keyboard_typing-CK3KVAWM.js → keyboard_typing-FXP3VJ6Q.js} +1 -1
  35. package/dist/chunks/{memory-OYIUYX3A.js → memory-TVFFXCSD.js} +1 -1
  36. package/dist/chunks/model_config-UZLNHYP5.js +1 -0
  37. package/dist/chunks/paths-Y7ACZJAE.js +1 -0
  38. package/dist/chunks/{saveSummary-ATBIFYDP.js → saveSummary-HFAPNJJH.js} +1 -1
  39. package/dist/chunks/{screen_grid-TDQC6CV5.js → screen_grid-EIPLWNEM.js} +1 -1
  40. package/dist/chunks/{scroll-GHXES2II.js → scroll-SND6RHXA.js} +1 -1
  41. package/dist/chunks/search_keyword-EAMQWPPI.js +8 -0
  42. package/dist/chunks/{secrets-XNJW2U6Y.js → secrets-RFEEPY3S.js} +1 -1
  43. package/dist/chunks/settings-JGWWOFEC.js +1 -0
  44. package/dist/chunks/{todo-SJLJJLVZ.js → todo-7Q2JBEVP.js} +1 -1
  45. package/dist/chunks/update_file-BXYTHDAC.js +13 -0
  46. package/dist/chunks/usage-H4SG5DWF.js +1 -0
  47. package/dist/chunks/usageServer-LRDIG27Z.js +1 -0
  48. package/dist/chunks/view_file-JRVPAETL.js +1 -0
  49. package/dist/chunks/{web_scrape-IKJE45Z6.js → web_scrape-LAQI7CVA.js} +1 -1
  50. package/dist/chunks/{web_search-2Q2BWH6G.js → web_search-D2GOWARI.js} +1 -1
  51. package/dist/chunks/{write_docx-EKUIZ7GV.js → write_docx-IUKMO7XL.js} +1 -1
  52. package/dist/chunks/{write_file-LOYRYIK6.js → write_file-QMTFTJ6V.js} +1 -1
  53. package/dist/chunks/{write_pdf-VB4IFPWX.js → write_pdf-UM6Z2J4K.js} +1 -1
  54. package/dist/cli.js +22 -9
  55. package/dist/package.json +2 -2
  56. package/package.json +2 -2
  57. package/dist/chunks/ai-OUU7AEB6.js +0 -1
  58. package/dist/chunks/ai-X7EEY6S3.js +0 -1
  59. package/dist/chunks/app-QTWX774S.js +0 -285
  60. package/dist/chunks/chunk-AAPXJU65.js +0 -1
  61. package/dist/chunks/chunk-DRD5PTCI.js +0 -929
  62. package/dist/chunks/chunk-JRQMA5CG.js +0 -33
  63. package/dist/chunks/chunk-KRRJNFBF.js +0 -6
  64. package/dist/chunks/chunk-WKHYRBBK.js +0 -1
  65. package/dist/chunks/export-OHZ652N5.js +0 -1
  66. package/dist/chunks/generate_image-XYDE47LK.js +0 -1
  67. package/dist/chunks/invoke-PZPQJRG7.js +0 -6
  68. package/dist/chunks/invokeSync-KKA5TJM6.js +0 -3
  69. package/dist/chunks/paths-PM7MFWJK.js +0 -1
  70. package/dist/chunks/search_keyword-W5YEUUPO.js +0 -8
  71. package/dist/chunks/settings-2IFZMDUD.js +0 -1
  72. package/dist/chunks/update_file-SOXC3PMR.js +0 -13
  73. package/dist/chunks/usageServer-M7OKG6CP.js +0 -1
  74. package/dist/chunks/view_file-WUHFS5L7.js +0 -1
@@ -0,0 +1,6 @@
1
+ import{a as R}from"./chunk-YUJMCXJA.js";import{c as g,d as m}from"./chunk-SIINYZWE.js";import{f as C,g as b,l as N,m as j,s as w}from"./chunk-RI37VZYB.js";import f from"fs-extra";import F from"path";import{nanoid as k}from"nanoid";var O=Promise.resolve(),I=t=>{let n=O.then(async()=>{try{return await t()}catch(s){throw console.error("Lock Operation Failed:",s),s}});return O=n.catch(()=>{}),n},M=async()=>{await f.ensureDir(b);let t={};if(await f.pathExists(C))try{t=g(C,{})}catch{t={}}for(let n in t){let s=F.join(b,`${n}.json`);Object.defineProperty(t[n],"messages",{get:()=>{if(f.existsSync(s))try{return g(s,[])}catch{return[]}return[]},set:e=>{try{m(s,e)}catch{}},enumerable:!1,configurable:!0})}return t},J=async(t,n,s)=>I(async()=>{await f.ensureDir(b);let e=await M(),r=e[t],i=(s||[]).filter(l=>!l.isUpdateNotification&&(!l.isMeta||l.text&&l.text.includes("Request Cancelled"))),c=l=>{if(!l)return;let T=typeof l=="string"?l:l.text||l.content||"";if(!T||typeof T!="string")return;let A=T.replace(/\s*\n+\s*\[Prompted on:.*?\]/g,"").replace(/\[\/?(?:STEERING HINT|QUESTION)(?::\s*\w+)?\]/gi,"").trim();if(!A)return;let L=A.split(/\s+/),D;return L.length>7?D=L.slice(0,7).join(" ")+"...":A.length>45?D=A.substring(0,45).trimEnd()+"...":D=A,D},o,u=i.filter(l=>l.role==="user"),p=u[0],d=u[u.length-1],a=c(d),y=c(p);r&&r.prompt?Math.random()<.3&&a?o=a:o=r.prompt:o=y||a;let h=n||(r?r.name:`Session ${t.slice(-6)}`),E=F.join(b,`${t}.json`);m(E,i),e[t]={name:h,prompt:o||void 0,updatedAt:Date.now()};let x={};for(let l in e)x[l]={name:e[l].name,prompt:e[l].prompt||void 0,updatedAt:e[l].updatedAt};m(C,x)}),W=async(t,n)=>I(async()=>{let s=await M();s[t]?(s[t].name=n,s[t].updatedAt=Date.now()):s[t]={name:n,updatedAt:Date.now()};let e={};for(let r in s)e[r]={name:s[r].name,prompt:s[r].prompt||void 0,updatedAt:s[r].updatedAt};m(C,e)}),S=async t=>I(async()=>{let n=await M();delete n[t];let s={};for(let c in n)s[c]={name:n[c].name,prompt:n[c].prompt||void 0,updatedAt:n[c].updatedAt};if(m(C,s),await f.pathExists(w))try{let c=g(w,[]);if(Array.isArray(c)){let o=c.filter(u=>Object.keys(u)[0]!==String(t));m(w,o)}}catch{}let e=g(N,{});e[t]&&(delete e[t],m(N,e));let r=g(j,{});r[t]&&(delete r[t],m(j,r)),await R.deleteChatBackups(t);let i=F.join(b,`${t}.json`);if(await f.pathExists(i))try{await f.remove(i)}catch{}return n}),Y=()=>`flow-${k(6)}`,q=async t=>{if(!t||t==="Never")return;let n=parseInt(t);if(isNaN(n))return;let s=await M(),e=Date.now(),r=n*24*60*60*1e3,i=0;for(let c in s){let o=s[c];o.updatedAt&&e-o.updatedAt>r&&(await S(c),i++)}return i},v=t=>{let n=t.replace(/[\[\]]/g,"").trim(),s=new Date(n);if(!isNaN(s.getTime()))return s.getTime();let e=n.split(/,\s*|\s+/);if(e.length===0)return null;let r=e[0],i=e[1]||"",c=e[2]||"",o=r.split(/[-\/.]/).map(Number);if(o.length!==3)return null;let u="en";try{u=Intl.DateTimeFormat().resolvedOptions().locale||"en"}catch{}let p=!/^en[-_]?us$|^en$/.test(u?.toLowerCase()),d,a,y;if(o[0]>1e3)d=o[0],a=o[1],y=o[2];else if(o[2]>1e3)d=o[2],o[0]>12?(y=o[0],a=o[1]):o[1]>12?(y=o[1],a=o[0]):p?(y=o[0],a=o[1]):(a=o[0],y=o[1]);else return null;if(a<1||a>12||y<1||y>31)return null;let h=0,E=0,x=0;if(i){let T=i.split(":").map(Number);h=T[0]||0,E=T[1]||0,x=T[2]||0,c.toLowerCase()==="pm"&&h<12?h+=12:c.toLowerCase()==="am"&&h===12&&(h=0)}let l=new Date(d,a-1,y,h,E,x);return isNaN(l.getTime())?null:l.getTime()},H=async t=>{try{if(!await f.pathExists(t))return;let n=await f.readFile(t,"utf8");if(!n.trim())return;let s=n.split(`
2
+ `),e=[],r=null,i=/^\s*(?:DEBUG|ERROR|SEARCH|PUPPETEER)\b/i;for(let a of s)i.test(a)?(r&&e.push(r),r={header:a,body:[]}):r?r.body.push(a):e.push({header:a,body:[]});r&&e.push(r);let c=10080*60*1e3,o=Date.now(),u=[],p=/(\d{1,4}[-\/.]\d{1,4}[-\/.]\d{1,4}(?:,\s*|\s+)?(?:\d{1,2}:\d{2}:\d{2}(?:\s*[aApP][mM])?)?)/;for(let a of e){if(i.test(a.header)){let E=a.header.match(p);if(E){let x=v(E[1]);if(x&&o-x>c)continue}}let h=a.header+(a.body.length>0?`
3
+ `+a.body.join(`
4
+ `):"");u.push(h)}let d=u.join(`
5
+ `).trim();d?await f.writeFile(t,d+`
6
+ `,"utf8"):await f.writeFile(t,"","utf8")}catch{}},K=async t=>{try{if(!await f.pathExists(t))return;let n=async s=>{let e=await f.readdir(s);for(let r of e){let i=F.join(s,r);(await f.stat(i)).isDirectory()?(await n(i),(await f.readdir(i)).length===0&&await f.remove(i)):r.endsWith(".log")&&await H(i)}};await n(t)}catch{}},Q=(t,n=4)=>{if(t.length<=1)return t;let s=t[0],e=t.slice(1),r=n*2,i=e.slice(r);return[s,...i]};var X=async(t,n,s)=>I(async()=>{let e=g(w,[]);Array.isArray(e)||(e=[]);let r=n||0,i=s||0,c={total:r,context:i},o=e.findIndex(p=>Object.keys(p)[0]===String(t));r===0&&i===0?o!==-1&&e.splice(o,1):o!==-1?e[o]={[String(t)]:c}:e.push({[String(t)]:c});let u=e.filter(p=>{if(!p||typeof p!="object")return!1;let d=Object.keys(p)[0];if(!d)return!1;let a=p[d];return a&&((a.total||0)>0||(a.context||0)>0)});m(w,u)}),z=async t=>{try{if(!await f.pathExists(w))return{total:0,context:0};let n=g(w,[]);if(!Array.isArray(n))return{total:0,context:0};let s=n.find(e=>Object.keys(e)[0]===String(t));return s?{total:0,context:0,...s[String(t)]}:{total:0,context:0}}catch{return{total:0,context:0}}};export{M as a,J as b,W as c,S as d,Y as e,q as f,K as g,Q as h,X as i,z as j};
@@ -10,7 +10,7 @@ import{execSync as o}from"child_process";var t=null,m=()=>{if(process.platform!=
10
10
  - ReadFolder(path=string, recurse?=int[1..3])
11
11
  - PatchFile(path=string, allowMultiple?=bool, searchContent1="string match OR ^LINE:start..end$", newContent1=string, ...MAX15). Small searchString. Line Anchor: ^LINE:...$ syntax, must for large blocks & escape sequences
12
12
  - WriteFile(path=string, content=string). Creates/Overwrites. File Exist? PatchFile > WriteFile
13
- - CodeSearch(keyword=string, path?="dir/file/glob/regex, inclusion/exclusion ;-separated", fuzzy?=bool, regex?=bool:auto). Find relevant code, standard junk excluded
13
+ - CodeSearch(keyword=string, path?="dir/file/glob/regex, inclusion/exclusion ;-separated", regex?=bool:auto). Find relevant code, standard junk excluded
14
14
  - Run(command=string). Runs ${l==="Windows"?a()?"powershell":"windows CMD":"bash"} command. Destructive command \u2192 Ask user
15
15
  - Goal(method="create/append/get", tasks=string[], markDone=string[]). If long multi-task: create Goals before starting. get + markDone marks complete
16
16
  ${n?`
@@ -1 +1 @@
1
- import{c as E,d as _}from"./chunk-SIINYZWE.js";import{e as s}from"./chunk-FDNLMLIM.js";import I from"fs-extra";import l from"path";var a=l.join(s,"secrets.json"),f=async()=>{try{let t=E(a,{});if(t.API_KEY)return t.API_KEY}catch{}return null},o=async t=>{try{let e=E(a,{});if(t==="Google")return e.GOOGLE_API_KEY||e.API_KEY||null;if(t==="DeepSeek")return e.DEEPSEEK_API_KEY||null;if(t==="OpenRouter")return e.OPENROUTER_API_KEY||null;if(t==="Mistral")return e.MISTRAL_API_KEY||null;if(t==="NVIDIA")return e.NVIDIA_API_KEY||null;if(t==="Ollama")return e.OLLAMA_API_KEY||"LOCAL";if(t==="InferX")return e.INFERX_API_KEY||null;if(t==="SenseNova"||t==="Sensenova")return e.SENSENOVA_API_KEY||null;if(t==="Poolside"||t==="poolside")return e.POOLSIDE_API_KEY||null;if(t==="9router"||t==="9Router")return e["9ROUTER_API_KEY"]||"LOCAL";if(t==="ExpLabs"||t==="ExperientialLabs"||t==="ExperimentalLabs"||t==="explabs")return e.EXPLABS_API_KEY||e.EXPERIENTIALLABS_API_KEY||null;if(t==="TokenHarbor"||t==="Token Harbor"||t==="tokenharbor"||t==="token_harbor"||t==="thk")return e.TOKENHARBOR_API_KEY||e.TOKEN_HARBOR_API_KEY||null;if(t==="APInex"||t==="apinex"||t==="apx")return e.APINEX_API_KEY||null}catch{}return null},O=async(t,e)=>{t==="Google"?(await n("GOOGLE_API_KEY",e),await n("API_KEY",e)):t==="DeepSeek"?await n("DEEPSEEK_API_KEY",e):t==="OpenRouter"?await n("OPENROUTER_API_KEY",e):t==="Mistral"?await n("MISTRAL_API_KEY",e):t==="NVIDIA"?await n("NVIDIA_API_KEY",e):t==="Ollama"?await n("OLLAMA_API_KEY",e):t==="InferX"?await n("INFERX_API_KEY",e):t==="SenseNova"||t==="Sensenova"?await n("SENSENOVA_API_KEY",e):t==="Poolside"||t==="poolside"?await n("POOLSIDE_API_KEY",e):t==="9router"||t==="9Router"?await n("9ROUTER_API_KEY",e):t==="ExpLabs"||t==="ExperientialLabs"||t==="ExperimentalLabs"||t==="explabs"?await n("EXPLABS_API_KEY",e):t==="TokenHarbor"||t==="Token Harbor"||t==="tokenharbor"||t==="token_harbor"||t==="thk"?await n("TOKENHARBOR_API_KEY",e):(t==="APInex"||t==="apinex"||t==="apx")&&await n("APINEX_API_KEY",e)},S=async t=>{try{return E(a,{})[t]||null}catch{return null}},n=async(t,e)=>{await I.ensureDir(s);let A=E(a,{});A[t]=e,_(a,A)},r=async()=>{try{let t=E(a,{});return{key:t.GOOGLE_API_KEY||t.API_KEY,cx:t.SEARCH_ID}}catch{}return{key:null,cx:null}},R=async t=>n("API_KEY",t),x=async t=>n("GOOGLE_API_KEY",t),L=async t=>n("SEARCH_ID",t),P=async t=>{try{let e=E(a,{});delete e[t],_(a,e)}catch{}},N=async()=>P("API_KEY");export{f as a,o as b,O as c,S as d,n as e,r as f,R as g,x as h,L as i,P as j,N as k};
1
+ import{c as E,d as _}from"./chunk-SIINYZWE.js";import{e as s}from"./chunk-RI37VZYB.js";import I from"fs-extra";import l from"path";var a=l.join(s,"secrets.json"),f=async()=>{try{let t=E(a,{});if(t.API_KEY)return t.API_KEY}catch{}return null},o=async t=>{try{let e=E(a,{});if(t==="Google")return e.GOOGLE_API_KEY||e.API_KEY||null;if(t==="DeepSeek")return e.DEEPSEEK_API_KEY||null;if(t==="OpenRouter")return e.OPENROUTER_API_KEY||null;if(t==="Mistral")return e.MISTRAL_API_KEY||null;if(t==="NVIDIA")return e.NVIDIA_API_KEY||null;if(t==="Ollama")return e.OLLAMA_API_KEY||"LOCAL";if(t==="InferX")return e.INFERX_API_KEY||null;if(t==="SenseNova"||t==="Sensenova")return e.SENSENOVA_API_KEY||null;if(t==="Poolside"||t==="poolside")return e.POOLSIDE_API_KEY||null;if(t==="9router"||t==="9Router")return e["9ROUTER_API_KEY"]||"LOCAL";if(t==="ExpLabs"||t==="ExperientialLabs"||t==="ExperimentalLabs"||t==="explabs")return e.EXPLABS_API_KEY||e.EXPERIENTIALLABS_API_KEY||null;if(t==="TokenHarbor"||t==="Token Harbor"||t==="tokenharbor"||t==="token_harbor"||t==="thk")return e.TOKENHARBOR_API_KEY||e.TOKEN_HARBOR_API_KEY||null;if(t==="APInex"||t==="apinex"||t==="apx")return e.APINEX_API_KEY||null}catch{}return null},O=async(t,e)=>{t==="Google"?(await n("GOOGLE_API_KEY",e),await n("API_KEY",e)):t==="DeepSeek"?await n("DEEPSEEK_API_KEY",e):t==="OpenRouter"?await n("OPENROUTER_API_KEY",e):t==="Mistral"?await n("MISTRAL_API_KEY",e):t==="NVIDIA"?await n("NVIDIA_API_KEY",e):t==="Ollama"?await n("OLLAMA_API_KEY",e):t==="InferX"?await n("INFERX_API_KEY",e):t==="SenseNova"||t==="Sensenova"?await n("SENSENOVA_API_KEY",e):t==="Poolside"||t==="poolside"?await n("POOLSIDE_API_KEY",e):t==="9router"||t==="9Router"?await n("9ROUTER_API_KEY",e):t==="ExpLabs"||t==="ExperientialLabs"||t==="ExperimentalLabs"||t==="explabs"?await n("EXPLABS_API_KEY",e):t==="TokenHarbor"||t==="Token Harbor"||t==="tokenharbor"||t==="token_harbor"||t==="thk"?await n("TOKENHARBOR_API_KEY",e):(t==="APInex"||t==="apinex"||t==="apx")&&await n("APINEX_API_KEY",e)},S=async t=>{try{return E(a,{})[t]||null}catch{return null}},n=async(t,e)=>{await I.ensureDir(s);let A=E(a,{});A[t]=e,_(a,A)},r=async()=>{try{let t=E(a,{});return{key:t.GOOGLE_API_KEY||t.API_KEY,cx:t.SEARCH_ID}}catch{}return{key:null,cx:null}},R=async t=>n("API_KEY",t),x=async t=>n("GOOGLE_API_KEY",t),L=async t=>n("SEARCH_ID",t),P=async t=>{try{let e=E(a,{});delete e[t],_(a,e)}catch{}},N=async()=>P("API_KEY");export{f as a,o as b,O as c,S as d,n as e,r as f,R as g,x as h,L as i,P as j,N as k};