fluxflow-cli 4.37.3 → 4.39.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 +1 -0
- package/dist/chunks/{9router-CKETGMBB.js → 9router-LRFKCJF4.js} +1 -1
- package/dist/chunks/{addMemScore-76XLEW3K.js → addMemScore-PBVNSFPN.js} +1 -1
- package/dist/chunks/ai-Z2RCLVQR.js +1 -0
- package/dist/chunks/{aihubmix-YSGVPUM4.js → aihubmix-TETL5QYQ.js} +1 -1
- package/dist/chunks/{apinex-VI576FVJ.js → apinex-FAYOPQSL.js} +1 -1
- package/dist/chunks/app-IKYO4AHO.js +331 -0
- package/dist/chunks/auto_completion-AIWB2XM2.js +3 -0
- package/dist/chunks/{chat-RLEHK3MX.js → chat-C7HYXKVZ.js} +1 -1
- package/dist/chunks/chunk-26BQ45XP.js +2 -0
- package/dist/chunks/{chunk-T4ZG2WCV.js → chunk-4BLSASW6.js} +1 -1
- package/dist/chunks/{chunk-QOT4BYHM.js → chunk-52STSLCN.js} +1 -1
- package/dist/chunks/{chunk-3JI2CRXK.js → chunk-6EYQQ7GQ.js} +1 -1
- package/dist/chunks/{chunk-HOZQBBAO.js → chunk-6H2P5XUL.js} +1 -1
- package/dist/chunks/chunk-EUNKA2MP.js +1 -0
- package/dist/chunks/{chunk-ET66XVIM.js → chunk-FXRFFNRK.js} +1 -1
- package/dist/chunks/{chunk-FAEB3V5R.js → chunk-HFTI3R3Q.js} +1 -1
- package/dist/chunks/chunk-HIP66OBL.js +926 -0
- package/dist/chunks/{chunk-BTMPM5BT.js → chunk-IHDJDAG3.js} +1 -1
- package/dist/chunks/{chunk-MQCO3GXM.js → chunk-IUN7DBB4.js} +15 -15
- package/dist/chunks/{chunk-K4AZXTU6.js → chunk-IXXTQAO2.js} +1 -1
- package/dist/chunks/{chunk-PRTGV2R4.js → chunk-KMOTPBF5.js} +1 -1
- package/dist/chunks/{chunk-CBFC5KUU.js → chunk-M2LU3TCU.js} +1 -1
- package/dist/chunks/chunk-M46I73DX.js +42 -0
- package/dist/chunks/{chunk-MJL6DHQM.js → chunk-MX5Q32YU.js} +1 -1
- package/dist/chunks/chunk-P5HBJA23.js +1 -0
- package/dist/chunks/{chunk-NL4MAQSB.js → chunk-PTFCY2D5.js} +1 -1
- package/dist/chunks/{chunk-ODBYCQHC.js → chunk-SDPX2VPK.js} +1 -1
- package/dist/chunks/{click-B4ZRHV4Z.js → click-O33RKVOZ.js} +2 -2
- package/dist/chunks/{computer_action-2RYMIFAM.js → computer_action-BUZAZ3LJ.js} +1 -1
- package/dist/chunks/{custom_openai-TLPPKENJ.js → custom_openai-XMDYE7NM.js} +1 -1
- package/dist/chunks/{deepseek-2GJCWFSR.js → deepseek-WNWZJTNE.js} +1 -1
- package/dist/chunks/{drag-RNGTIO2V.js → drag-BZRZLDLG.js} +1 -1
- package/dist/chunks/{emergency_rollback-NXD2JKBG.js → emergency_rollback-ZHQXCIHW.js} +1 -1
- package/dist/chunks/{exec_command-A5JWE55Q.js → exec_command-WB2PILWK.js} +1 -1
- package/dist/chunks/{explabs-YICY4AMR.js → explabs-XHHXTERB.js} +1 -1
- package/dist/chunks/{export-C6VVIYP5.js → export-RU6LCZUB.js} +1 -1
- package/dist/chunks/{file_map-T5FHB3F6.js → file_map-UA4BA5OH.js} +1 -1
- package/dist/chunks/{find_file-LZR7NET3.js → find_file-HYHHFHUJ.js} +1 -1
- package/dist/chunks/{generate_image-75IV5P3L.js → generate_image-N2SIC5BA.js} +1 -1
- package/dist/chunks/{inferx-YMU7LMOQ.js → inferx-HP5AGET3.js} +2 -2
- package/dist/chunks/{infron-A4BOV2AA.js → infron-ULXG7VDA.js} +1 -1
- package/dist/chunks/{invoke-7JAD5QTF.js → invoke-O2YAE4FY.js} +2 -2
- package/dist/chunks/{invokeSync-WUKJNYGQ.js → invokeSync-URGZXNDC.js} +2 -2
- package/dist/chunks/{key_press-3VU6SHNQ.js → key_press-Y7F3VAKL.js} +1 -1
- package/dist/chunks/{keyboard_typing-PCW3ISET.js → keyboard_typing-IEVRWQJJ.js} +1 -1
- package/dist/chunks/{memory-4DXO4K5C.js → memory-7YOYCOXE.js} +1 -1
- package/dist/chunks/{mistral-2CZKHKDT.js → mistral-XDIMWAU3.js} +1 -1
- package/dist/chunks/{model_config-VYWFV55M.js → model_config-32SB7PTZ.js} +1 -1
- package/dist/chunks/{nvidia-EOLGFGFZ.js → nvidia-BN4YCFGY.js} +1 -1
- package/dist/chunks/{ollama-OHD5BFI7.js → ollama-4PI2BDMM.js} +1 -1
- package/dist/chunks/{openrouter-SK7LO52I.js → openrouter-6MRG4RT6.js} +1 -1
- package/dist/chunks/{paths-EQFOJDZC.js → paths-RQRI2XRY.js} +1 -1
- package/dist/chunks/{poolside-SAAXTNGR.js → poolside-ODFAIK4C.js} +1 -1
- package/dist/chunks/{saveSummary-ZSJ2UKLG.js → saveSummary-W2JMDVZJ.js} +1 -1
- package/dist/chunks/{screen_grid-Z2S4GMN5.js → screen_grid-7APUBF2H.js} +1 -1
- package/dist/chunks/{scroll-YSFTTROP.js → scroll-FIN5Z7W4.js} +1 -1
- package/dist/chunks/{search_keyword-SD6Q3UZE.js → search_keyword-YLKWY2XH.js} +1 -1
- package/dist/chunks/{secrets-GHW6AWRR.js → secrets-5TCTEPEV.js} +1 -1
- package/dist/chunks/{sensenova-MQKZ7TNO.js → sensenova-3K44URJQ.js} +1 -1
- package/dist/chunks/settings-IGHDSHFT.js +1 -0
- package/dist/chunks/{todo-KQCKHQBJ.js → todo-CJLWLWJB.js} +1 -1
- package/dist/chunks/{tokenharbor-QL33UGF4.js → tokenharbor-YV2GV2LM.js} +1 -1
- package/dist/chunks/{update_file-OQMKLO6R.js → update_file-CYGKZXSH.js} +1 -1
- package/dist/chunks/{usage-2WRVNL44.js → usage-IR23BYQX.js} +1 -1
- package/dist/chunks/{usageServer-6XH36WK3.js → usageServer-ZYJCDO27.js} +1 -1
- package/dist/chunks/view_file-I77KYUO5.js +1 -0
- package/dist/chunks/{web_scrape-KBKSNVBI.js → web_scrape-MW6YSZ7L.js} +1 -1
- package/dist/chunks/{web_search-HACFAHXR.js → web_search-NT3HXUO3.js} +1 -1
- package/dist/chunks/{write_docx-M5RMUI4W.js → write_docx-E3MTFXTQ.js} +1 -1
- package/dist/chunks/{write_file-2ZFCDYSW.js → write_file-TZ2Q6CEB.js} +1 -1
- package/dist/chunks/{write_pdf-E5HQYOTR.js → write_pdf-26OQPNEP.js} +1 -1
- package/dist/cli.js +13 -13
- package/dist/package.json +2 -2
- package/flux-flow.cjs +17 -17
- package/package.json +2 -2
- package/dist/chunks/ai-JI4UX2WD.js +0 -1
- package/dist/chunks/app-3NZMHG65.js +0 -331
- package/dist/chunks/chunk-2VV5ZE53.js +0 -41
- package/dist/chunks/chunk-FSE4BZZZ.js +0 -1
- package/dist/chunks/chunk-L3W2X74K.js +0 -1
- package/dist/chunks/chunk-M2ULCOL3.js +0 -2
- package/dist/chunks/chunk-M4GC3CRN.js +0 -919
- package/dist/chunks/settings-5R5ADGXX.js +0 -1
- package/dist/chunks/view_file-TZD6DAER.js +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{y as d}from"./chunk-HIP66OBL.js";import"./chunk-HFTI3R3Q.js";import"./chunk-52STSLCN.js";import"./chunk-56EJGQU3.js";import"./chunk-M46I73DX.js";import"./chunk-IUN7DBB4.js";import"./chunk-6H2P5XUL.js";import"./chunk-6EYQQ7GQ.js";import"./chunk-4BLSASW6.js";import"./chunk-Y5JU726N.js";import{b as p}from"./chunk-FXRFFNRK.js";import"./chunk-IXXTQAO2.js";import{b as u}from"./chunk-EUNKA2MP.js";import{o as a}from"./chunk-KMOTPBF5.js";import"./chunk-P5HBJA23.js";import{a as l}from"./chunk-26BQ45XP.js";import m from"fs";import g from"path";var f=["Identity: Embedded IDE code completion engine","Context given: Code \xB1 cursor, file name & language","Task: Predict contextually accurate code at cursor position","","Rules:","- Return ONLY the raw code to insert at the cursor. No explanations, commentary or rambling","- Do NOT wrap in markdown code fences","- NEVER repeat same code that exist around cursor, if nothing sensible possible to predict, return empty string","- Match surrounding indentation and code style","- Complete the current line statement","- Never include placeholder comments like // TODO or # your code here","","Output format:","- Wrap the code to insert in <completion>...</completion>","- Do not put anything except the code to insert between the tags"].join(`
|
|
2
|
+
`);try{let t=g.join(l,".cache");m.existsSync(t)||m.mkdirSync(t,{recursive:!0}),m.writeFileSync(g.join(t,"completion.json"),JSON.stringify({systemPrompt:f},null,2))}catch{}var y=t=>{if(!t)return"";let e=t.match(/<completion>([\s\S]*?)<\/completion>/i);return e?e[1]:t},x=({prefix:t="",suffix:e="",fileName:o="",language:n="",recentChanges:r="",clipboard:i=""})=>{let c=r?["### Recent manual changes (context):",r,""]:[],s=i?["### Clipboard (context):",i,""]:[];return[`File: ${o}`,`Language: ${n}`,"","### Code before cursor:",t,"","[cursor here]","","### Code after cursor:",e,"",...c,...s,"### Completion to insert at cursor:"].join(`
|
|
3
|
+
`)},T=async(t={})=>{try{let e=await u(),o=e.autoCompletion||{};if(!o.enabled)return"";let n=o.provider||e.aiProvider||"Google",r=o.model&&o.model!=="Default"?o.model:e.activeModel||a(n,e.apiTier)||a(n,"paid");if(!r)return"";let i=await p(n);if(!i&&!(n==="c_openai"&&e.systemSettings?.customOpenAIBaseUrl))return"";let c={aiProvider:n,apiKey:i,model:r,mode:"flow",thinkingLevel:"Fast",systemSettings:e.systemSettings||{}},s=[{role:"user",parts:[{text:x(t)}]}],{text:h}=await d(c,r,s,f,"Fast");return y(h||"")}catch{return""}};export{f as AUTOCOMPLETE_SYSTEM_PROMPT,y as extractCompletion,T as generateAutoCompletion};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./chunk-
|
|
1
|
+
import{c as a}from"./chunk-6H2P5XUL.js";import"./chunk-6EYQQ7GQ.js";import{a as s}from"./chunk-Y5JU726N.js";import"./chunk-P5HBJA23.js";import"./chunk-26BQ45XP.js";var R=async(i,o={})=>{let t=s(i).title,r=o.chatId||o.sessionId;if(!r)return"ERROR: No active chatId found in tool context.";if(!t)return"ERROR: Missing 'title' argument.";try{return await a(r,t),`Chat title updated to [${t}] for session [${r}].`}catch(e){return`ERROR: Failed to update chat title: ${e instanceof Error?e.message:String(e)}`}};export{R as chat};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import E from"os";import e from"path";import l from"fs";import d from"crypto";import{minimatch as h}from"minimatch";var u=e.join(E.homedir(),".fluxflow"),x=e.join(u,"settings.json"),_=null;try{if(l.existsSync(x)){let a=l.readFileSync(x,"utf8").trim(),c;if(a.startsWith("{"))c=JSON.parse(a);else{let s=a.split(":");if(s.length===2){let t=Buffer.from(s[0],"hex"),f=s[1],i=null;try{let n=e.join(u,".token");if(l.existsSync(n)){let o=l.readFileSync(n,"utf8").trim();if(o){let m=d.createHash("sha256").update(o).digest(),p=d.createDecipheriv("aes-256-cbc",m,t);i=p.update(f,"hex","utf8")+p.final("utf8")}}}catch{}if(!i)try{let n=d.createHash("sha256").update("fluxflow-cli-sanctuary-key").digest(),o=d.createDecipheriv("aes-256-cbc",n,t);i=o.update(f,"hex","utf8")+o.final("utf8")}catch{}i&&(c=JSON.parse(i))}}if(c){let s=c.systemSettings||{};s.useExternalData&&s.externalDataPath&&(_=e.normalize(s.externalDataPath.trim()))}}}catch{}var g=_||u,L=e.join(g,"logs"),r=e.join(g,"secret"),v=e.join(r,"history.json"),C=e.join(r,"history"),b=e.join(u,"usage.json"),F=e.join(r,"usage.json"),T=e.join(r,"timed_usage"),k=e.join(r,"memories.json"),A=e.join(r,"memory-temp.json"),R=e.join(r,"temp-memory-chat.json"),w=e.join(g,"backups"),O=e.join(r,"ledger.json"),W=e.join(r,"ledgerAdvance.json"),N=e.join(r,"active_tx.json"),P=e.join(r,"path.json"),G=e.join(r,"context.json"),M=e.join(g,"parsers"),B=e.join(u,".cache","CU"),U=e.join(u,"thinking_config.json"),$=[".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",".pnpm",".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",".VSCodeCounter",".exe",".dll",".so",".dylib",".png",".jpg",".jpeg",".gif",".ico",".svg",".webp",".mp3",".mp4",".avi",".zip",".tgz",".tar",".gz",".7z",".rar",".pdf",".docx",".xlsx",".pptx",".woff",".woff2",".ttf",".eot",".skills","skills"],H=(a=process.cwd())=>{try{let c=e.join(a,".gitignore");if(l.existsSync(c))return l.readFileSync(c,"utf8").split(`
|
|
2
|
+
`).map(t=>t.trim()).filter(t=>t&&!t.startsWith("#")&&!t.startsWith("!")).map(t=>t.replace(/^[\/\\]+/,"").replace(/[\/\\]+$/,"").replace(/\/\*+$/,"")).filter(Boolean)}catch{}return[]},z=(a,c)=>{if(!a||!c)return!1;let s=a.replace(/\\/g,"/"),t=e.basename(a),f=c.split(",").map(n=>n.trim()).filter(Boolean),i=null;try{let n=typeof h<"u"?h:null;n&&(i=n)}catch{}for(let n of f){let o=n.replace(/\\/g,"/");if(t.toLowerCase()===o.toLowerCase()||s.toLowerCase()===o.toLowerCase()||s.toLowerCase().endsWith("/"+o.toLowerCase()))return!0;try{if(i&&(i(s,o,{dot:!0,nocase:!0,matchBase:!0})||i(t,o,{dot:!0,nocase:!0})))return!0}catch{}if(o.includes("*")||o.includes("?")){let m="^"+o.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,".*").replace(/\*/g,"[^/]*").replace(/\?/g,".")+"$";try{let p=new RegExp(m,"i");if(p.test(t)||p.test(s))return!0}catch{}}}return!1};export{u as a,x as b,g as c,L as d,r as e,v as f,C as g,b as h,F as i,T as j,k,A as l,R as m,w as n,O as o,W as p,N as q,P as r,G as s,M as t,B as u,U as v,$ as w,H as x,z as y};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as T}from"./chunk-Y5JU726N.js";import{a as I}from"./chunk-
|
|
1
|
+
import{a as T}from"./chunk-Y5JU726N.js";import{a as I}from"./chunk-26BQ45XP.js";import s from"fs";import g from"path";var X=i=>{if(!i)return null;let o=i.match(/^\s*---\r?\n([\s\S]*?)\r?\n---(?:\r?\n)?([\s\S]*)$/);if(!o)return null;let e=o[1];if((o[2]||"").trim().length===0)return null;let r="",a=e.match(/^name:\s*(.+)$/m);return a&&(r=a[1].trim().replace(/^["']|["']$/g,"")),r?{name:r}:null},Y=i=>{let o=[];if(!i||!s.existsSync(i))return o;let e=(u,r=0)=>{if(!(r>5))try{let a=s.readdirSync(u,{withFileTypes:!0});for(let n of a){let c=g.join(u,n.name),f=n.name.toLowerCase();n.isFile()?f==="skill.md"&&o.push(c):n.isDirectory()&&(r===0?(f==="skills"||f===".skills"||f==="skill"||f===".skill")&&e(c,r+1):e(c,r+1))}}catch{}};return e(i,0),o},q=i=>i.replace(/^\s*---\r?\n[\s\S]*?\r?\n---\s*(\r?\n)?/,""),U=(i,o)=>{if(!o)return null;let e=g.join(i,o);if(s.existsSync(e))try{if(s.statSync(e).isFile())return e}catch{}if(!o.toLowerCase().endsWith(".md")){let n=g.join(i,`${o}.md`);if(s.existsSync(n))try{if(s.statSync(n).isFile())return n}catch{}}let u=o.replace(/\\/g,"/").split("/").filter(Boolean),r=i,a=!0;for(let n=0;n<u.length;n++){let c=u[n].toLowerCase(),f=n===u.length-1;try{if(!s.existsSync(r)||!s.statSync(r).isDirectory()){a=!1;break}let F=s.readdirSync(r).find(M=>{let R=M.toLowerCase();return!!(R===c||f&&!c.endsWith(".md")&&R===`${c}.md`)});if(!F){a=!1;break}let $=g.join(r,F);if(f){if(s.statSync($).isFile())return $;a=!1}else r=$}catch{a=!1;break}}if(u.length===1){let n=u[0],c=["references","reference","scripts","script","examples","example","resources","resource"];for(let f of c){let y=g.join(i,f);if(s.existsSync(y)){let F=U(y,n);if(F)return F}}}return null},Q=async(i,o={})=>{let{path:e,StartLine:u,EndLine:r,start_line:a,end_line:n,startLine:c,endLine:f}=T(i),y=parseInt(u||a||c),F=parseInt(r||n||f),$=!isNaN(y),M=!isNaN(F),R=y||1,N=F||(y?y+800:800);if(!e)return'ERROR: Missing "path" argument for ReadFile.';if(e.trim().toLowerCase().startsWith("#skill")){let d=e.trim().replace(/\\/g,"/").replace(/^#skills?\/?/i,"").split("/").filter(Boolean),C=null,p="",m="";if(d[0]?.toLowerCase()==="global"||d[0]?.toLowerCase()==="project"?(C=d[0].toLowerCase(),p=d[1],m=d.slice(2).join("/")):(p=d[0],m=d.slice(1).join("/")),!p)return`ERROR: Missing skill name in path [${e}].`;let k=t=>{let l=Y(t);for(let h of l)try{let x=s.readFileSync(h,"utf8"),L=X(x),D=g.basename(g.dirname(h)).toLowerCase();if(L?.name&&L.name.toLowerCase()===p.toLowerCase()||D===p.toLowerCase()||h.toLowerCase()===g.join(t,"skill.md").toLowerCase()&&p.toLowerCase()==="skill")return h}catch{}return null},w=null,b=!1;if(C){let t=C==="global"?I:process.cwd();w=k(t)}else{let t=k(process.cwd()),l=k(I);t&&l&&(b=!0),w=t||l}if(!w)return`No '${p}' exist in given scope.`;let E=g.dirname(w),j=w,v=!0;if(m){let t=U(E,m);if(!t)return`No such file or reference '${m}' exist for skill '${p}'. It could be standard file path?`;j=t,v=!1}try{let t=s.readFileSync(j,"utf8");t.startsWith("\uFEFF")&&(t=t.slice(1)),t=t.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`),v&&(t=q(t));let l=t.split(`
|
|
4
4
|
`),h=l.length,x=$?Math.max(0,R-1):0,L=M?Math.min(h,N):h,D=l.slice(x,L),P=e.replace(/\\/g,"/").toLowerCase(),W=P.includes("#skill/global/fluxflow")||P.includes("#skills/global/fluxflow"),_=b?` (Found ${e} in both global & project scope. Loaded [project] as default fallback. Use '#skills/global/...' if needed global)`:"",B=`${W?"DOCs":"Skill"}: [${e.replace(/\\/g,"/")}]${_}`,z=D.map(A=>A.trimEnd()).join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as F,d as y}from"./chunk-
|
|
1
|
+
import{c as F,d as y}from"./chunk-P5HBJA23.js";import{c as g,p as h}from"./chunk-26BQ45XP.js";import o from"fs-extra";import a from"path";var P=["node_modules","dist","bin","logs",".git",".fluxflow","secret",".gemini",".agents","tmp","temp","build","out","snapshots"];async function k(t,s=t){let e={},i=await o.readdir(t,{withFileTypes:!0}).catch(()=>[]);for(let c of i){if(P.includes(c.name))continue;let l=a.join(t,c.name),d=a.relative(s,l).replace(/\\/g,"/");if(c.isDirectory()){let n=await k(l,s);Object.assign(e,n)}else{let n=await o.stat(l).catch(()=>null);n&&(e[d]={size:n.size,mtime:n.mtimeMs})}}return e}async function E(t,s){await o.ensureDir(t);for(let e of Object.keys(s)){let i=a.join(process.cwd(),e),c=a.join(t,e);await o.ensureDir(a.dirname(c)),await o.copyFile(i,c).catch(()=>{})}}async function j(t,s,e=null,i=null){if(!await o.pathExists(t))return;i||(i=t);let c=await o.readdir(t,{withFileTypes:!0}).catch(()=>[]);for(let l of c){let d=a.join(t,l.name),n=a.join(s,l.name);if(l.isDirectory())await j(d,n,e,i);else{let u=a.relative(i,d).replace(/\\/g,"/"),p=await o.pathExists(n);p&&await o.chmod(n,438).catch(()=>{}),await o.ensureDir(a.dirname(n));let f=await o.copyFile(d,n).then(()=>!0).catch(()=>!1);await o.chmod(n,438).catch(()=>{}),e&&(f?p?e.replaced++:e.restored++:e.failed.push(u))}}}var C={async takeInitialSnapshot(t){try{let s=a.join(g,"snapshots",t);await o.remove(s).catch(()=>{}),await o.ensureDir(s);let e=await k(process.cwd());await E(a.join(s,"initial"),e);let i=F(h,{});i[t]={initialManifest:e,currentManifest:e,checkpoints:[{id:"initial",timestamp:new Date().toISOString(),newFiles:[],modifiedFiles:[],deletedFiles:[],toolsUsed:[]}]},y(h,i)}catch{}},async recordTurnDelta(t,s,e=[]){try{let i=F(h,{}),c=i[t];if(!c)return;let l=c.currentManifest||c.initialManifest,d=await k(process.cwd()),n=[],u=[],p=[];for(let[r,m]of Object.entries(d)){let w=l[r];w?(w.size!==m.size||w.mtime!==m.mtime)&&u.push(r):n.push(r)}for(let r of Object.keys(l))d[r]||p.push(r);let f=[...n,...u];if(f.length>0||p.length>0){let r={};for(let w of f)r[w]=d[w];let m=a.join(g,"snapshots",t,`turn_${s}`);await E(m,r)}c.checkpoints.push({id:`turn_${s}`,timestamp:new Date().toISOString(),newFiles:n,modifiedFiles:u,deletedFiles:p,toolsUsed:e}),c.currentManifest=d,y(h,i)}catch{}},async getCheckpoints(t){try{let e=F(h,{})[t];return e?e.checkpoints||[]:[]}catch{return[]}},async rollbackToCheckpoint(t,s){try{let e=F(h,{}),i=e[t];if(!i)throw new Error("No session active for Advance Rollback.");let c=i.checkpoints||[],l=c.findIndex(f=>f.id===s);if(l===-1)throw new Error(`Checkpoint [${s}] not found.`);let d=a.join(g,"snapshots",t),n={restored:0,replaced:0,failed:[]},u=await k(process.cwd());for(let f of Object.keys(u)){let r=a.join(process.cwd(),f);await o.chmod(r,438).catch(()=>{}),await o.remove(r).catch(()=>{})}let p=a.join(d,"initial");await j(p,process.cwd(),n,p);for(let f=1;f<=l;f++){let r=c[f],m=a.join(d,r.id);if(await j(m,process.cwd(),n,m),r.deletedFiles&&r.deletedFiles.length>0)for(let w of r.deletedFiles){let D=a.join(process.cwd(),w);await o.chmod(D,438).catch(()=>{}),await o.remove(D).catch(()=>{})}}return i.checkpoints=c.slice(0,l+1),i.currentManifest=await k(process.cwd()),y(h,e),{checkpointId:s,stats:n}}catch(e){throw new Error(`Rollback failed: ${e.message}`)}},async getLatestFileChanges(t){try{let e=F(h,{})[t];if(!e||!e.checkpoints||e.checkpoints.length===0)return{newFiles:[],modifiedFiles:[],deletedFiles:[]};let i=e.checkpoints[e.checkpoints.length-1];return{newFiles:i.newFiles||[],modifiedFiles:i.modifiedFiles||[],deletedFiles:i.deletedFiles||[]}}catch{return{newFiles:[],modifiedFiles:[],deletedFiles:[]}}},async cleanup(t){try{let s=a.join(g,"snapshots",t);await o.remove(s).catch(()=>{});let e=F(h,{});e[t]&&(delete e[t],y(h,e))}catch{}}};export{C as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as v,b,c as h,d as f}from"./chunk-
|
|
1
|
+
import{a as v,b,c as h,d as f}from"./chunk-P5HBJA23.js";import{n as u,o as s,q as m}from"./chunk-26BQ45XP.js";import r from"fs-extra";import o from"path";r.ensureDirSync(u);var l=null;async function B(e,t){try{if(e.type==="create")await r.pathExists(e.filePath)&&(await r.chmod(e.filePath,438).catch(()=>{}),await r.remove(e.filePath));else if(e.type==="update"){if(!e.backupFile)return;let a=o.join(u,t.chatId,e.backupFile);if(await r.pathExists(a)){let n=h(a,null);if(!n||!n.data)throw new Error(`Backup container corrupt or empty for ${o.basename(e.filePath)}`);let p=b(n.data);await r.pathExists(e.filePath)&&await r.chmod(e.filePath,438).catch(()=>{}),await r.writeFile(e.filePath,p,"utf8")}}}catch(a){throw new Error(`Restoration failed for ${o.basename(e.filePath)}: ${a.message}`)}}async function P(e,t,a=7){let n=0;for(;n<a;)try{return await B(e,t),!0}catch{if(n++,n>=a)return!1;let d=Math.min(100*Math.pow(2,n-1),5e3);await new Promise(i=>setTimeout(i,d))}return!1}var I=null,R={async startTransaction(e,t){I=e,l={id:`tx_prompt_${Date.now()}`,chatId:e,timestamp:new Date().toISOString(),prompt:t.trim(),changes:[],reverted:!1},f(m,l)},async recordFileChange(e,t=null){try{if(!l){if(I){let i=h(s,[]),c=[...i].reverse().find(w=>w.chatId===I);if(c){if(c.changes.some(E=>E.filePath===e))return;let g=await r.pathExists(e)||t?"update":"create",y=null;if(g==="update"){let E=o.basename(e);y=`${c.id}_${E}.bak`;let x=o.join(u,c.chatId);await r.ensureDir(x);let T=o.join(x,y),F=t!==null?t:await r.readFile(e,"utf8").catch(()=>null);F!==null?f(T,{data:v(F)}):(g="create",y=null)}c.changes.push({filePath:e,type:g,backupFile:y}),f(s,i)}}return}if(l.changes.some(i=>i.filePath===e))return;let p=await r.pathExists(e)||t?"update":"create",d=null;if(p==="update"){let i=o.basename(e);d=`${l.id}_${i}.bak`;let c=o.join(u,l.chatId);await r.ensureDir(c);let w=o.join(c,d),k=t!==null?t:await r.readFile(e,"utf8").catch(()=>null);k!==null?f(w,{data:v(k)}):(p="create",d=null)}l.changes.push({filePath:e,type:p,backupFile:d}),f(m,l)}catch{}},async commitTransaction(){if(l)try{let e=h(s,[]);if(e.push(l),e.length>512e3){let t=e.shift();if(t.changes)for(let a of t.changes)a.backupFile&&await r.remove(o.join(u,t.chatId,a.backupFile)).catch(()=>{})}f(s,e),await r.remove(m).catch(()=>{})}catch{}finally{l=null}},async recoverCrashedTransaction(){try{if(await r.pathExists(m)){let e=h(m,null);if(e?.changes?.length>0){let t=h(s,[]);t.some(a=>a.id===e.id)||(t.push(e),f(s,t))}await r.remove(m).catch(()=>{})}}catch{}},async rollbackToBefore(e){let t=h(s,null);if(!t)throw new Error("No transaction ledger found.");let a=t.findIndex(i=>i.id===e);if(a===-1)throw new Error(`Transaction [${e}] not found.`);let n=t[a].chatId,p=t[a].prompt,d=t.slice(a).filter(i=>i.chatId===n&&!i.reverted).reverse();for(let i of d){for(let c of[...i.changes].reverse())await P(c,i);for(let c of i.changes)if(c.backupFile){let w=o.join(u,i.chatId,c.backupFile);await r.remove(w).catch(()=>{})}t=t.filter(c=>c.id!==i.id),f(s,t)}return{success:!0,chatId:n,targetPrompt:p}},async getChatHistory(e){try{return h(s,[]).filter(a=>a.chatId===e&&!a.reverted)}catch{return[]}},async deleteChatBackups(e){try{await r.remove(o.join(u,e));let t=h(s,[]),a=t.filter(n=>n.chatId!==e);t.length!==a.length&&f(s,a)}catch{}}};export{R as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as b}from"./chunk-
|
|
1
|
+
import{a as b}from"./chunk-6EYQQ7GQ.js";import{c as d,d as l}from"./chunk-P5HBJA23.js";import{f as h,g as m,l as C,m as M,s as f}from"./chunk-26BQ45XP.js";import u from"fs-extra";import j from"path";import{nanoid as L}from"nanoid";var D=Promise.resolve(),A=t=>{let r=D.then(async()=>{try{return await t()}catch(e){throw console.error("Lock Operation Failed:",e),e}});return D=r.catch(()=>{}),r},T=async()=>{await u.ensureDir(m);let t={};if(await u.pathExists(h))try{t=d(h,{})}catch{t={}}for(let r in t){let e=j.join(m,`${r}.json`);Object.defineProperty(t[r],"messages",{get:()=>{if(u.existsSync(e))try{return d(e,[])}catch{return[]}return[]},set:n=>{try{l(e,n)}catch{}},enumerable:!1,configurable:!0})}return t},B=async(t,r,e)=>A(async()=>{await u.ensureDir(m);let n=await T(),s=n[t],i=(e||[]).filter(a=>!a.isUpdateNotification&&(!a.isMeta||a.text&&a.text.includes("Request Cancelled"))),o=a=>{if(!a)return;let I=typeof a=="string"?a:a.text||a.content||"";if(!I||typeof I!="string")return;let w=I.replace(/\s*\n+\s*\[Prompted on:.*?\]/g,"").replace(/\[\/?(?:STEERING HINT|QUESTION)(?::\s*\w+)?\]/gi,"").trim();if(!w)return;let O=w.split(/\s+/),E;return O.length>7?E=O.slice(0,7).join(" ")+"...":w.length>45?E=w.substring(0,45).trimEnd()+"...":E=w,E},c,y=i.filter(a=>a.role==="user"),p=y[0],g=y[y.length-1],x=o(g),H=o(p);s&&s.prompt?Math.random()<.3&&x?c=x:c=s.prompt:c=H||x;let S=r||(s?s.name:`Session ${t.slice(-6)}`),F=j.join(m,`${t}.json`);l(F,i),n[t]={name:S,prompt:c||void 0,updatedAt:Date.now()};let k={};for(let a in n)k[a]={name:n[a].name,prompt:n[a].prompt||void 0,updatedAt:n[a].updatedAt};l(h,k)}),J=async(t,r)=>A(async()=>{let e=await T();e[t]?(e[t].name=r,e[t].updatedAt=Date.now()):e[t]={name:r,updatedAt:Date.now()};let n={};for(let s in e)n[s]={name:e[s].name,prompt:e[s].prompt||void 0,updatedAt:e[s].updatedAt};l(h,n)}),N=async t=>A(async()=>{let r=await T();delete r[t];let e={};for(let o in r)e[o]={name:r[o].name,prompt:r[o].prompt||void 0,updatedAt:r[o].updatedAt};if(l(h,e),await u.pathExists(f))try{let o=d(f,[]);if(Array.isArray(o)){let c=o.filter(y=>Object.keys(y)[0]!==String(t));l(f,c)}}catch{}let n=d(C,{});n[t]&&(delete n[t],l(C,n));let s=d(M,{});s[t]&&(delete s[t],l(M,s)),await b.deleteChatBackups(t);let i=j.join(m,`${t}.json`);if(await u.pathExists(i))try{await u.remove(i)}catch{}return r}),Y=()=>`flow-${L(6)}`,q=async t=>{if(!t||t==="Never")return;let r=parseInt(t);if(isNaN(r))return;let e=await T(),n=Date.now(),s=r*24*60*60*1e3,i=0;for(let o in e){let c=e[o];c.updatedAt&&n-c.updatedAt>s&&(await N(o),i++)}return i},G=(t,r=4)=>{if(t.length<=1)return t;let e=t[0],n=t.slice(1),s=r*2,i=n.slice(s);return[e,...i]};var K=async(t,r,e)=>A(async()=>{let n=d(f,[]);Array.isArray(n)||(n=[]);let s=r||0,i=e||0,o={total:s,context:i},c=n.findIndex(p=>Object.keys(p)[0]===String(t));s===0&&i===0?c!==-1&&n.splice(c,1):c!==-1?n[c]={[String(t)]:o}:n.push({[String(t)]:o});let y=n.filter(p=>{if(!p||typeof p!="object")return!1;let g=Object.keys(p)[0];if(!g)return!1;let x=p[g];return x&&((x.total||0)>0||(x.context||0)>0)});l(f,y)}),Q=async t=>{try{if(!await u.pathExists(f))return{total:0,context:0};let r=d(f,[]);if(!Array.isArray(r))return{total:0,context:0};let e=r.find(n=>Object.keys(n)[0]===String(t));return e?{total:0,context:0,...e[String(t)]}:{total:0,context:0}}catch{return{total:0,context:0}}};export{T as a,B as b,J as c,N as d,Y as e,q as f,G as g,K as h,Q as i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as m,f as c}from"./chunk-P5HBJA23.js";import{b as s}from"./chunk-26BQ45XP.js";import r from"fs-extra";import p from"path";var o={mode:"Flux",display:0,thinkingLevel:"Medium",aiProvider:"",activeModel:"",showFullThinking:!0,apiTier:"Free",quotas:{agentLimit:999999,backgroundLimit:999999,searchLimit:100,customModelId:"",customLimit:0,providerTiers:{Google:"Free",DeepSeek:"Free",NVIDIA:"Free",OpenRouter:"Free",InferX:"Free",SenseNova:"Free",Poolside:"Free",ExpLabs:"Free",TokenHarbor:"Free",Infron:"Free",APInex:"Free",c_openai:"Free"}},systemSettings:{customOpenAIBaseUrl:"",memory:!1,theme:"Dark",compression:0,autoExec:!0,allowExternalAccess:!1,advanceRollback:!1,autoDeleteHistory:"7d",useExternalData:!1,externalDataPath:"",preserveThinking:!0,loadingPhrases:!1,progressiveRendering:!0,showTPMEstimate:!0,subAgents:!1,CustomSubAgent:!1,SubAgentModel:"Default",SubAgentProvider:"",dynamicDirAwareness:!1,indentationTree:!0,ollamaEndpoint:"Cloud",compressToolResults:!1,autoTruncateResults:!0,imageHistoryCU:"Standard",contextLength:"256k",keepReasoningContext:!1,autoExcludeMetadata:!1,disableTodo:!1,clipboardContext:!1,alwaysAskFiles:".env, .env.*, *.env"},profileData:{name:null,nickname:null,instructions:null},imageSettings:{keyType:"Default",quality:"Low-High",apiKey:""},autoCompletion:{enabled:!1,model:"Default",provider:"",baseUrl:""}},x={Mistral:"https://api.mistral.ai/v1/chat/completions",DeepSeek:"https://api.deepseek.com/chat/completions",OpenRouter:"https://openrouter.ai/api/v1/chat/completions",NVIDIA:"https://integrate.api.nvidia.com/v1",Ollama:"https://ollama.com/v1",InferX:"https://model.inferx.net/endpoints/v1/chat/completions",SenseNova:"https://token.sensenova.ai/v1/chat/completions",Poolside:"https://inference.poolside.ai/v1/chat/completions",ExpLabs:"https://api.experientiallabs.ai/v1/chat/completions",TokenHarbor:"https://tokenharbor.ai/v1/chat/completions",Infron:"https://llm.onerouter.pro/v1/chat/completions",APInex:"https://api.apinex.bond/v1/chat/completions",AIHubMix:"https://aihubmix.com/v1/chat/completions",Google:"https://generativelanguage.googleapis.com/v1beta/openai/chat/completions"},u=async()=>{let t={...o};try{if(await r.exists(s)){let e=m(s);if(e.imageSettings&&e.imageSettings.apiKey)try{let a=e.imageSettings.apiKey,{saveSecret:i}=await import("./secrets-5TCTEPEV.js");await i("POLLINATIONS_API_KEY",a),e.imageSettings.apiKey="",c(s,e)}catch{}t={...o,...e,quotas:{...o.quotas,...e.quotas,providerTiers:{...o.quotas.providerTiers,...e.quotas?.providerTiers||{}}},systemSettings:{...o.systemSettings,...e.systemSettings},profileData:{...o.profileData,...e.profileData},imageSettings:{...o.imageSettings,...e.imageSettings},autoCompletion:{...o.autoCompletion,...e.autoCompletion}}}}catch(e){console.error("Failed to load settings:",e)}try{let{getSecret:e}=await import("./secrets-5TCTEPEV.js"),a=await e("POLLINATIONS_API_KEY");a&&(t.imageSettings.apiKey=a)}catch{}if(t.showFullThinking===!1){t.showFullThinking=!0;try{c(s,t)}catch{}}return t},d=async t=>{let{FLUXFLOW_DIR:e}=await import("./paths-RQRI2XRY.js"),a=["logs","secret"];for(let i of a){let l=p.join(e,i),n=p.join(t,i);try{await r.exists(l)&&(await r.ensureDir(n),await r.copy(l,n,{overwrite:!0}))}catch(g){console.error(`Migration failed for ${i}:`,g)}}},T=async t=>{try{let e=await u();if(!e.systemSettings.useExternalData&&t.systemSettings?.useExternalData&&t.systemSettings?.externalDataPath&&await d(t.systemSettings.externalDataPath),t.imageSettings&&t.imageSettings.apiKey!==void 0){let{saveSecret:i,removeSecret:l}=await import("./secrets-5TCTEPEV.js"),n=t.imageSettings.apiKey;n?await i("POLLINATIONS_API_KEY",n):await l("POLLINATIONS_API_KEY")}let a={...e,...t};a.systemSettings&&(a.systemSettings.dynamicDirAwareness=!1),a.imageSettings&&(a.imageSettings={...a.imageSettings,apiKey:""}),await r.ensureDir(p.dirname(s)),c(s,a);try{let{invalidateCachedBaseUrl:i}=await import("./usage-IR23BYQX.js");i()}catch{}return!0}catch(e){return console.error("Failed to save settings:",e),!1}};export{x as a,u as b,T as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as E,d as s}from"./chunk-
|
|
1
|
+
import{c as E,d as s}from"./chunk-P5HBJA23.js";import{e as _}from"./chunk-26BQ45XP.js";import A from"fs-extra";import l from"path";var a=l.join(_,"secrets.json"),f=async()=>{try{let t=E(a,{});if(t.API_KEY)return t.API_KEY}catch{}return null},Y=async t=>{try{let n=E(a,{});if(t==="Google")return n.GOOGLE_API_KEY||n.API_KEY||null;if(t==="DeepSeek")return n.DEEPSEEK_API_KEY||null;if(t==="OpenRouter")return n.OPENROUTER_API_KEY||null;if(t==="Mistral")return n.MISTRAL_API_KEY||null;if(t==="NVIDIA")return n.NVIDIA_API_KEY||null;if(t==="Ollama")return n.OLLAMA_API_KEY||"LOCAL";if(t==="InferX")return n.INFERX_API_KEY||null;if(t==="SenseNova"||t==="Sensenova")return n.SENSENOVA_API_KEY||null;if(t==="Poolside"||t==="poolside")return n.POOLSIDE_API_KEY||null;if(t==="9router"||t==="9Router")return n["9ROUTER_API_KEY"]||"LOCAL";if(t==="ExpLabs"||t==="ExperientialLabs"||t==="ExperimentalLabs"||t==="explabs")return n.EXPLABS_API_KEY||n.EXPERIENTIALLABS_API_KEY||null;if(t==="TokenHarbor"||t==="Token Harbor"||t==="tokenharbor"||t==="token_harbor"||t==="thk")return n.TOKENHARBOR_API_KEY||n.TOKEN_HARBOR_API_KEY||null;if(t==="Infron"||t==="infron")return n.INFRON_API_KEY||null;if(t==="APInex"||t==="apinex"||t==="apx")return n.APINEX_API_KEY||null;if(t==="c_openai"||t==="Custom (OpenAI)")return n.CUSTOM_OPENAI_API_KEY||n.C_OPENAI_API_KEY||null}catch{}return null},o=async(t,n)=>{t==="Google"?(await e("GOOGLE_API_KEY",n),await e("API_KEY",n)):t==="DeepSeek"?await e("DEEPSEEK_API_KEY",n):t==="OpenRouter"?await e("OPENROUTER_API_KEY",n):t==="Mistral"?await e("MISTRAL_API_KEY",n):t==="NVIDIA"?await e("NVIDIA_API_KEY",n):t==="Ollama"?await e("OLLAMA_API_KEY",n):t==="InferX"?await e("INFERX_API_KEY",n):t==="SenseNova"||t==="Sensenova"?await e("SENSENOVA_API_KEY",n):t==="Poolside"||t==="poolside"?await e("POOLSIDE_API_KEY",n):t==="9router"||t==="9Router"?await e("9ROUTER_API_KEY",n):t==="ExpLabs"||t==="ExperientialLabs"||t==="ExperimentalLabs"||t==="explabs"?await e("EXPLABS_API_KEY",n):t==="TokenHarbor"||t==="Token Harbor"||t==="tokenharbor"||t==="token_harbor"||t==="thk"?await e("TOKENHARBOR_API_KEY",n):t==="Infron"||t==="infron"?await e("INFRON_API_KEY",n):t==="APInex"||t==="apinex"||t==="apx"?await e("APINEX_API_KEY",n):(t==="c_openai"||t==="Custom (OpenAI)")&&await e("CUSTOM_OPENAI_API_KEY",n)},S=async t=>{try{return E(a,{})[t]||null}catch{return null}},e=async(t,n)=>{await A.ensureDir(_);let I=E(a,{});I[t]=n,s(a,I,!0)},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}},x=async t=>e("API_KEY",t),L=async t=>e("GOOGLE_API_KEY",t),N=async t=>e("SEARCH_ID",t),P=async t=>{try{let n=E(a,{});delete n[t],s(a,n,!0)}catch{}},r=async()=>P("API_KEY");export{f as a,Y as b,o as c,S as d,e,R as f,x as g,L as h,N as i,P as j,r as k};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as l,v as u}from"./chunk-
|
|
1
|
+
import{a as l,v as u}from"./chunk-26BQ45XP.js";import f from"fs";var o=null,a=()=>{try{if(f.existsSync(u)){let e=f.readFileSync(u,"utf-8"),n=JSON.parse(e);if(n&&typeof n=="object")return o=n,o}}catch{}return o=o||{},o},y=e=>{try{return f.existsSync(l)||f.mkdirSync(l,{recursive:!0}),f.writeFileSync(u,JSON.stringify(e,null,2),"utf-8"),o=e,!0}catch{return!1}},C=(e,n,c)=>{if(!e||!n||!c)return null;let s=o||a(),t=`${e}::${n}`,r=s[t];if(r&&typeof r=="object"){let i=c.toLowerCase();if(r[i]!==void 0&&r[i]!==null)return r[i];for(let[g,k]of Object.entries(r))if(g.toLowerCase()===i)return k}return null},x=(e,n,c,s)=>{if(!e||!n||!c||!s)return{success:!1,reason:"Invalid arguments"};let t=o||a(),r=`${e}::${n}`;return(!t[r]||typeof t[r]!="object")&&(t[r]={}),t[r][c.toLowerCase()]=s,{success:y(t)}},I=(e,n,c)=>{if(!e||!n)return{success:!1,reason:"Invalid arguments"};let s=o||a(),t=`${e}::${n}`;return s[t]&&(c?(delete s[t][c.toLowerCase()],Object.keys(s[t]).length===0&&delete s[t]):delete s[t],y(s)),{success:!0}};export{C as a,x as b,I as c};
|