fluxflow-cli 4.18.0 → 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.
- package/dist/chunks/{addMemScore-W4I665ZR.js → addMemScore-HPTGXICT.js} +1 -1
- package/dist/chunks/{ai-6LGLTTCE.js → ai-UMXT6VB5.js} +1 -1
- package/dist/chunks/{app-UMXRKFDU.js → app-GKXK24DF.js} +85 -85
- package/dist/chunks/{chat-C4CKZM5D.js → chat-6R23AKX6.js} +1 -1
- package/dist/chunks/{chunk-E3E5H3M4.js → chunk-33KD6VKN.js} +1 -1
- package/dist/chunks/{chunk-MAZITQH6.js → chunk-4XZGWK5L.js} +1 -1
- package/dist/chunks/chunk-EPGLNGLE.js +3 -0
- package/dist/chunks/{chunk-YNU56P2H.js → chunk-G3223ZQY.js} +1 -1
- package/dist/chunks/{chunk-XFL3A2CT.js → chunk-I4JQEUHE.js} +1 -1
- package/dist/chunks/{chunk-VCF6JVQV.js → chunk-ORXN6WUW.js} +1 -1
- package/dist/chunks/{chunk-7QASAAHS.js → chunk-Q2D63UDR.js} +1 -1
- package/dist/chunks/{chunk-UGLNJ52L.js → chunk-QGPOMXO4.js} +1 -1
- package/dist/chunks/{chunk-FDNLMLIM.js → chunk-RI37VZYB.js} +1 -1
- package/dist/chunks/{chunk-UAHJEAVX.js → chunk-RLT6EHPQ.js} +1 -1
- package/dist/chunks/{chunk-ZSVBC2ZI.js → chunk-UDJ2C3N3.js} +1 -1
- package/dist/chunks/{chunk-TCYHPPPS.js → chunk-UN6TUQZX.js} +1 -1
- package/dist/chunks/{chunk-4CQOGQFQ.js → chunk-VD2I7Z6Q.js} +258 -125
- package/dist/chunks/chunk-W6AVB2PY.js +6 -0
- package/dist/chunks/{chunk-HYGK7YDY.js → chunk-WFHGURXW.js} +1 -1
- package/dist/chunks/{chunk-72RYQ5W7.js → chunk-Y6DZDEJ5.js} +1 -1
- package/dist/chunks/{chunk-BCS6MMDL.js → chunk-YK27Y77U.js} +173 -173
- package/dist/chunks/{chunk-KFM2OZWJ.js → chunk-YUJMCXJA.js} +1 -1
- package/dist/chunks/{click-KI2HDWSU.js → click-H7HTKF3R.js} +2 -2
- package/dist/chunks/{computer_action-DTZFD3WC.js → computer_action-UTDLLMF2.js} +1 -1
- package/dist/chunks/{drag-I5U53ZJG.js → drag-U6X3O5GB.js} +1 -1
- package/dist/chunks/{emergency_rollback-JTQSRHQZ.js → emergency_rollback-HWM4FJ6J.js} +1 -1
- package/dist/chunks/{exec_command-DDBOSWMU.js → exec_command-BH3PUWVO.js} +1 -1
- package/dist/chunks/export-ZTNXWWJF.js +1 -0
- package/dist/chunks/{file_map-LMYY76M4.js → file_map-XK7BFZFI.js} +1 -1
- package/dist/chunks/{generate_image-OZQE4ON3.js → generate_image-H7B5XMXI.js} +1 -1
- package/dist/chunks/{invoke-WRVCOTXT.js → invoke-CZ67HJ6V.js} +2 -2
- package/dist/chunks/{invokeSync-KD765JM2.js → invokeSync-OU2V4FTC.js} +2 -2
- package/dist/chunks/{key_press-26ZNSFNA.js → key_press-QRO3OFLC.js} +1 -1
- package/dist/chunks/{keyboard_typing-KFGOX3QX.js → keyboard_typing-FXP3VJ6Q.js} +1 -1
- package/dist/chunks/{memory-OYIUYX3A.js → memory-TVFFXCSD.js} +1 -1
- package/dist/chunks/{model_config-KOPB5T4R.js → model_config-UZLNHYP5.js} +1 -1
- package/dist/chunks/paths-Y7ACZJAE.js +1 -0
- package/dist/chunks/{saveSummary-ATBIFYDP.js → saveSummary-HFAPNJJH.js} +1 -1
- package/dist/chunks/{screen_grid-MAW64GKY.js → screen_grid-EIPLWNEM.js} +1 -1
- package/dist/chunks/{scroll-YN67VAJ7.js → scroll-SND6RHXA.js} +1 -1
- package/dist/chunks/search_keyword-EAMQWPPI.js +8 -0
- package/dist/chunks/{secrets-XNJW2U6Y.js → secrets-RFEEPY3S.js} +1 -1
- package/dist/chunks/settings-JGWWOFEC.js +1 -0
- package/dist/chunks/{todo-6ZB5YFX6.js → todo-7Q2JBEVP.js} +1 -1
- package/dist/chunks/{update_file-ACEMMAAQ.js → update_file-BXYTHDAC.js} +1 -1
- package/dist/chunks/usage-H4SG5DWF.js +1 -0
- package/dist/chunks/usageServer-LRDIG27Z.js +1 -0
- package/dist/chunks/view_file-JRVPAETL.js +1 -0
- package/dist/chunks/{web_scrape-IKJE45Z6.js → web_scrape-LAQI7CVA.js} +1 -1
- package/dist/chunks/{web_search-7GI77X3E.js → web_search-D2GOWARI.js} +1 -1
- package/dist/chunks/{write_docx-ZTLEYYGI.js → write_docx-IUKMO7XL.js} +1 -1
- package/dist/chunks/{write_file-QDLI2RK5.js → write_file-QMTFTJ6V.js} +1 -1
- package/dist/chunks/{write_pdf-ZM6DG4DO.js → write_pdf-UM6Z2J4K.js} +1 -1
- package/dist/cli.js +5 -5
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-6NCN7IZN.js +0 -1
- package/dist/chunks/chunk-KRRJNFBF.js +0 -6
- package/dist/chunks/export-OHZ652N5.js +0 -1
- package/dist/chunks/paths-PM7MFWJK.js +0 -1
- package/dist/chunks/search_keyword-4NOEU57F.js +0 -8
- package/dist/chunks/settings-FZNBYJ3N.js +0 -1
- package/dist/chunks/usage-2UML4SGM.js +0 -1
- package/dist/chunks/usageServer-TWVV3FOE.js +0 -1
- package/dist/chunks/view_file-MGLL22AR.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./chunk-
|
|
1
|
+
import{c as a}from"./chunk-W6AVB2PY.js";import"./chunk-YUJMCXJA.js";import{a as s}from"./chunk-Y5JU726N.js";import"./chunk-SIINYZWE.js";import"./chunk-RI37VZYB.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),`SUCCESS: 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};
|
|
@@ -2,4 +2,4 @@ import{screen as j}from"@nut-tree-fork/nut-js";import B from"screenshot-desktop"
|
|
|
2
2
|
<rect x="${w+1}" y="${m+1}" width="${v-2}" height="${y-2}" fill="rgba(0, 255, 255, 0.015)" stroke="rgba(255, 255, 0, 0.3)" stroke-width="1.1" rx="2"/>
|
|
3
3
|
`;let M;if(s.isCustomY)M=r;else{let g=r+(s.yOffset!==void 0?s.yOffset:3);M=Math.max(m+11,Math.min(m+y+3,g))}u+=`
|
|
4
4
|
<text x="${e}" y="${M}" font-family="'Segoe UI', Roboto, sans-serif" font-size="14" font-weight="600" fill="#FFFF00" stroke="#000000" stroke-width="2" paint-order="stroke fill" stroke-linejoin="round" opacity="0.8" text-anchor="middle">${G}</text>
|
|
5
|
-
`}return`<svg width="${o}" height="${t}" xmlns="http://www.w3.org/2000/svg">${u}</svg>`}var J=1,V=o=>new Promise(t=>setTimeout(t,o));async function Q(){try{let{loadSettings:o}=await import("./settings-
|
|
5
|
+
`}return`<svg width="${o}" height="${t}" xmlns="http://www.w3.org/2000/svg">${u}</svg>`}var J=1,V=o=>new Promise(t=>setTimeout(t,o));async function Q(){try{let{loadSettings:o}=await import("./settings-JGWWOFEC.js"),t=await o();return Number(t.display||0)}catch{return 0}}async function st(){let o=await Q();try{let t=await B.listDisplays();if(t&&t.length>0)return{format:"png",screen:(t[o]||t[0]).id}}catch{}return{format:"png"}}async function rt(){let o=0,t=await st();for(;o<2;){let C=await B(t);await V(500);let a=await B(t);if(C.equals(a))return a;o++,o<2&&await V(3e3)}return await V(3e3),await B(t)}async function ht(){try{let o=await rt(),t=await et(o),C=ot(l.TARGET_WIDTH,l.TARGET_HEIGHT,l.COLS,l.ROWS,t),a=await K(o).resize(l.TARGET_WIDTH,l.TARGET_HEIGHT,{fit:"fill"}).composite([{input:Buffer.from(C),top:0,left:0}]).png({quality:100}).toBuffer();if(process.env.SHOW_DEBUG_GRID)try{let s=Z.resolve(process.cwd(),"screenshots");await P.ensureDir(s);let G=Z.join(s,`${J}.png`);await P.writeFile(G,a),J++}catch{}let x=a.toString("base64"),c=t.length,d=o,u=a;return d=null,u=null,{base64:x,mimeType:"image/png",width:l.TARGET_WIDTH,height:l.TARGET_HEIGHT,detectedCount:c}}catch(o){return console.error("Failed to capture gridded screenshot:",o),null}}function nt(o){if(o==null)return null;let t=null;if(typeof o=="number")t=o;else if(typeof o=="string"){let w=o.trim();if(/^\d+$/.test(w))t=parseInt(w,10);else{let m=w.match(/^([A-Z])([0-9]{1,2})$/i);if(m){let v=m[1].toUpperCase().charCodeAt(0)-65,y=parseInt(m[2],10)-1;t=v*l.COLS+y+1}}}if(t===null||isNaN(t))return null;if(U&&U.length>0){let w=U.find(m=>m.cellNum===t);if(w)return{x:w.cx,y:w.cy,colIdx:Math.floor((t-1)%l.COLS),rowIdx:Math.floor((t-1)/l.COLS),cellNum:t}}let C=l.COLS*l.ROWS;if(t<1||t>C)return null;let a=t-1,x=Math.floor(a/l.COLS),c=a%l.COLS,d=l.TARGET_WIDTH/l.COLS,u=l.TARGET_HEIGHT/l.ROWS,s=Math.floor(c*d+d/2),G=Math.floor(x*u+u/2);return{x:s,y:G,colIdx:c,rowIdx:x,cellNum:t}}async function ut(o,t,C){let a=null;if(typeof o=="number"||typeof o=="string"?a=nt(o):o&&typeof o.x=="number"&&typeof o.y=="number"&&(a=o),!a)return null;let x=t,c=C,d=0,u=0,s=await Q();try{let y=await B.listDisplays();if(y&&y.length>0){let e=y[s]||y[0];e.width&&e.height&&(x=e.width,c=e.height),e.left!==void 0&&(d=e.left),e.top!==void 0&&(u=e.top)}}catch{}if(!x||!c)try{x=await j.width(),c=await j.height()}catch{x=1920,c=1080}let G=x/l.TARGET_WIDTH,w=c/l.TARGET_HEIGHT,m=Math.round(a.x*G)+d,v=Math.round(a.y*w)+u;return{x:m,y:v,screenW:x,screenH:c,offsetX:d,offsetY:u}}export{l as a,Q as b,ht as c,nt as d,ut as e};
|
|
@@ -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-RI37VZYB.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 L=s.readdirSync(r).find(M=>{let k=M.toLowerCase();return!!(k===c||f&&!c.endsWith(".md")&&k===`${c}.md`)});if(!L){a=!1;break}let $=g.join(r,L);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 L=U(y,n);if(L)return L}}}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),L=parseInt(r||n||f),$=!isNaN(y),M=!isNaN(L),k=y||1,N=L||(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 R=t=>{let l=Y(t);for(let h of l)try{let x=s.readFileSync(h,"utf8"),F=X(x),D=g.basename(g.dirname(h)).toLowerCase();if(F?.name&&F.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=R(t)}else{let t=R(process.cwd()),l=R(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,k-1):0,F=M?Math.min(h,N):h,D=l.slice(x,F),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(`
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as K}from"./chunk-I4JQEUHE.js";import{a as ot,b as W}from"./chunk-SIINYZWE.js";import{h as $,i as D,j as b}from"./chunk-RI37VZYB.js";import y from"fs-extra";import H from"path";var yt=()=>Math.random().toString(36).substring(2)+Date.now().toString(36),l=null,B=null,it=0,P=!1,M={agent:0,background:0,search:0,toolSuccess:0,toolFailure:0,toolDenied:0,duration:0,tokens:0,cachedTokens:0,candidateTokens:0,linesAdded:0,linesRemoved:0,imageCalls:[]},F=(e,o)=>{if(!e)return{};let a=Object.keys(e),r=new Date(new Date(o).getTime()-720*60*60*1e3),t={};for(let s of a)new Date(s)>=r&&(t[s]=e[s]);return t},_=async()=>{let e=new Date().toISOString().split("T")[0];try{!await y.exists(D)&&await y.exists($)&&(await y.ensureDir(H.dirname(D)),await y.move($,D))}catch{}let o=D+".tmp",a=null;try{if(await y.exists(o)){let t=(await y.readFile(o,"utf8")).trim(),s=null;if(t.startsWith("{")||t.startsWith("[")?s=JSON.parse(t):s=JSON.parse(W(t)),s&&s.date&&s.stats){a=s;try{await y.rename(o,D)}catch{}}else try{await y.remove(o)}catch{}}}catch{try{await y.remove(o)}catch{}}if(!a)try{if(await y.exists(D)){let t=(await y.readFile(D,"utf8")).trim();t.startsWith("{")||t.startsWith("[")?a=JSON.parse(t):a=JSON.parse(W(t))}}catch{}let r=a;if(r){let t=r.stats||{...M},s={...M,...t};Array.isArray(s.imageCalls)||(s.imageCalls=[]);let n=r.history||{},i=F(n,e);if(Object.keys(n).length!==Object.keys(i).length&&(P=!0),r.date===e)return{...r,stats:s,history:i};{let c=r.date,f=s,d={...i};return c&&(d[c]=f),{date:e,stats:{...M},history:F(d,e)}}}return{date:e,stats:{...M},history:{}}},Y=async()=>{if(!(!P||!l))try{await y.ensureDir(H.dirname(D));let e=null;try{if(await y.exists(D)){let t=(await y.readFile(D,"utf8")).trim();t.startsWith("{")||t.startsWith("[")?e=JSON.parse(t):e=JSON.parse(W(t))}}catch{}if(e&&e.date===l.date&&e.stats){for(let t in l.stats)if(e.stats[t]!==void 0){if(Array.isArray(l.stats[t])){let s=Array.isArray(e.stats[t])?e.stats[t]:[],n=l.stats[t],i=new Map;for(let c of[...s,...n])c&&c.timestamp&&i.set(c.timestamp,c);l.stats[t]=Array.from(i.values())}else if(typeof l.stats[t]=="number")l.stats[t]=Math.max(l.stats[t],Number(e.stats[t])||0);else if(l.stats[t]&&typeof l.stats[t]=="object"){let s=e.stats[t]||{},n=l.stats[t];for(let i in s)if(typeof s[i]=="number")n[i]=Math.max(n[i]||0,s[i]);else if(s[i]&&typeof s[i]=="object"){n[i]||(n[i]={});for(let c in s[i])if(typeof s[i][c]=="number")n[i][c]=Math.max(n[i][c]||0,s[i][c]);else if(s[i][c]&&typeof s[i][c]=="object"){n[i][c]||(n[i][c]={});for(let f in s[i][c])n[i][c][f]=Math.max(n[i][c][f]||0,s[i][c][f])}}}}}if(e&&e.history){let t={...l.history||{}};for(let s in e.history)if(t[s])for(let n in t[s])if(n==="imageCalls"){let i=Array.isArray(e.history[s].imageCalls)?e.history[s].imageCalls:[],c=Array.isArray(t[s].imageCalls)?t[s].imageCalls:[],f=new Map;for(let d of[...i,...c])d&&d.timestamp&&f.set(d.timestamp,d);t[s].imageCalls=Array.from(f.values())}else typeof t[s][n]=="number"&&(t[s][n]=Math.max(t[s][n],Number(e.history[s][n])||0));else t[s]=e.history[s];l.history=F(t,l.date||today)}else if(l&&l.history){let t=new Date().toISOString().split("T")[0];l.history=F(l.history,t)}l.saveId=yt();let o=D+".tmp",a=ot(JSON.stringify(l,null,2));await y.writeFile(o,a,"utf8");let r=await y.open(o,"r+");await y.fsync(r),await y.close(r),await y.rename(o,D),P=!1,it=Date.now()}catch{}},V=()=>{if(P=!0,B)return;let e=Date.now(),o=Math.max(0,1500-(e-it));B=setTimeout(async()=>{await Y(),B=null},o),B.unref&&B.unref()},nt=30,ht=()=>{let o=new Date().toISOString().split("T")[0];return H.join(b,`${o}.jsonl`)},Lt=async e=>{try{await y.ensureDir(b);let o={time:new Date().toISOString(),provider:e.provider||"unknown",model:e.model||"unknown",input:Number(e.prompt)||0,cached:Number(e.cached)||0,output:Number(e.output)||0,reasoning:Number(e.reasoning)||0};await y.appendFile(ht(),JSON.stringify(o)+`
|
|
2
|
+
`,"utf8")}catch{}},gt=async()=>{try{if(!await y.exists(b))return;let e=new Date;e.setDate(e.getDate()-nt);let o=await y.readdir(b);for(let a of o){if(!a.endsWith(".jsonl"))continue;let r=a.replace(".jsonl","");/^\d{4}-\d{2}-\d{2}$/.test(r)&&new Date(r)<e&&await y.remove(H.join(b,a))}}catch{}},Mt=async(e=nt)=>{let o=[];try{if(!await y.exists(b))return o;let r=(await y.readdir(b)).filter(t=>t.endsWith(".jsonl")).sort().slice(-Math.max(1,e));for(let t of r){let s=await y.readFile(H.join(b,t),"utf8");for(let n of s.split(`
|
|
3
|
+
`))if(n.trim())try{o.push(JSON.parse(n))}catch{}}}catch{}return o},vt=async()=>{await Y()},Ct=async()=>{l=await _(),await gt()},v=async()=>{let e=new Date().toISOString().split("T")[0];if(!l)l=await _();else if(l.date!==e){let o=l.date,a=l.stats,r=l.history||{};a&&(r[o]=a),l={date:e,stats:{...M},history:F(r,e)},P=!0,await Y()}return l&&l.stats&&!Array.isArray(l.stats.imageCalls)&&(l.stats.imageCalls=[]),l.stats},at=async()=>{let e=new Date().toISOString().split("T")[0];l||(l=await _()),l.date!==e&&await v();let o=l.history||{},a=F(o,e);l.history=a;let r=l.stats||{...M},t={...M};t.imageCalls=[],t.models={};let s=(n,i)=>{for(let c in n)if(c==="imageCalls")n.imageCalls=[...n.imageCalls||[],...i.imageCalls||[]];else if(c==="models"){let f=i.models||{};for(let d in f){n.models[d]||(n.models[d]={});for(let m in f[d]){n.models[d][m]||(n.models[d][m]={tokens:0,cachedTokens:0,candidateTokens:0});let u=n.models[d][m],g=f[d][m];u.tokens+=g.tokens||0,u.cachedTokens+=g.cachedTokens||0,u.candidateTokens+=g.candidateTokens||0}}}else typeof n[c]=="number"&&(n[c]+=i[c]||0)};s(t,r);for(let n in a)s(t,a[n]);return t},xt=async(e,o)=>{e==="toolSuccess"?R.toolSuccess++:e==="toolFailure"?R.toolFailure++:e==="toolDenied"&&R.toolDenied++;let a=await v();a[e]!==void 0&&a[e]++,o&&e==="agent"&&(a.providerRequests||(a.providerRequests={}),a.providerRequests[o]=(a.providerRequests[o]||0)+1),V()},R={linesAdded:0,linesRemoved:0,toolSuccess:0,toolFailure:0,toolDenied:0},bt=async(e,o,a,r)=>{e==="linesAdded"?R.linesAdded+=o:e==="linesRemoved"&&(R.linesRemoved+=o);let t=await v();if(t[e]!==void 0&&(t[e]+=Math.floor(o)),a&&r&&(e==="tokens"||e==="cachedTokens"||e==="candidateTokens")){t.models||(t.models={}),t.models[a]||(t.models[a]={}),t.models[a][r]||(t.models[a][r]={tokens:0,cachedTokens:0,candidateTokens:0});let s=t.models[a][r];e==="tokens"&&(s.tokens+=Math.floor(o)),e==="cachedTokens"&&(s.cachedTokens+=Math.floor(o)),e==="candidateTokens"&&(s.candidateTokens+=Math.floor(o))}V()},rt=async(e=1)=>{let o=new Date,a=o.toISOString().split("T")[0];l||(l=await _()),l.date!==a&&await v();let r=o.getFullYear(),t=o.getMonth();o.getDate()<e&&(t-=1,t<0&&(t=11,r-=1));let i=new Date(r,t,e).toISOString().split("T")[0],c=l.history||{},f=l.stats||{...M},d={...M};d.imageCalls=[],d.models={};let m=(u,g)=>{for(let k in u)if(k==="imageCalls")u.imageCalls=[...u.imageCalls||[],...g.imageCalls||[]];else if(k==="models"){let S=g.models||{};for(let h in S){u.models[h]||(u.models[h]={});for(let w in S[h]){u.models[h][w]||(u.models[h][w]={tokens:0,cachedTokens:0,candidateTokens:0});let C=u.models[h][w],L=S[h][w];C.tokens+=L.tokens||0,C.cachedTokens+=L.cachedTokens||0,C.candidateTokens+=L.candidateTokens||0}}}else typeof u[k]=="number"&&(u[k]+=g[k]||0)};m(d,f);for(let u in c)u>=i&&u<a&&m(d,c[u]);return d},pt=async(e,o={})=>{let a=await K().catch(()=>({})),r=o.apiTier||a.apiTier||"Free",t=o.quotas||o.systemSettings?.quotas||a.quotas||{},s=t.providerBudgets||{},n=!!s.__useProvider,i=o.aiProvider||a.aiProvider||"Google",c=n&&!!s[i],f=()=>{if(c){let d=s[i];return{agentLimit:typeof d.agentLimit=="number"&&d.agentLimit>0?d.agentLimit:99999999,tokenLimit:typeof d.tokenLimit=="number"&&d.tokenLimit>0?d.tokenLimit:99999999999999,monthlyTokenLimit:typeof d.monthlyTokenLimit=="number"&&d.monthlyTokenLimit>0?d.monthlyTokenLimit:99999999999999}}return{agentLimit:t.agentLimit||99999999,tokenLimit:t.tokenLimit||99999999999999,monthlyTokenLimit:t.monthlyTokenLimit||99999999999999}};if(e==="agent"){let{agentLimit:d,tokenLimit:m,monthlyTokenLimit:u}=f(),g=await v(),k;t.resetMode==="Custom"?k=await rt(t.resetDay||1):k=await at();let S=0,h=0,w=0;if(c){S=g.providerRequests?.[i]||0;let C=g.models?.[i]||{};for(let q in C)h+=C[q]?.tokens||0;let L=k.models?.[i]||{};for(let q in L)w+=L[q]?.tokens||0}else S=g.agent||0,h=g.tokens||0,w=k.tokens||0;return r==="Free"&&g.agent+g.background>=999999?{allowed:!1,reason:"Free Tier Daily Usage Limit Exceeded"}:S>=d?{allowed:!1,reason:c?`Daily Request Limit Reached for ${i}`:"Daily Agent Request Limit Reached"}:h>=m?{allowed:!1,reason:c?`Daily Token Budget Exhausted for ${i}`:"Daily Token Budget Exhausted"}:w>=u?{allowed:!1,reason:c?`Monthly Token Budget Exhausted for ${i}`:"Monthly Token Budget Exhausted"}:{allowed:!0}}if(e==="background"){let d=await v();if(r==="Free"&&d.agent+d.background>=999999)return{allowed:!1,reason:"Free Tier Background Limit Exceeded"};let m=d.background<(t.backgroundLimit||999999);return{allowed:m,reason:m?void 0:"Background Request Limit Exceeded"}}if(e==="search"){let m=(await v()).search<(t.searchLimit||100);return{allowed:m,reason:m?void 0:"Search Quota Exceeded"}}return{allowed:!0}},At=async(e,o={})=>(await pt(e,o)).allowed,X=e=>{if(!e||e.length===0)return[];let a=[...e].sort((t,s)=>t.timestamp-s.timestamp),r=[];for(let t of a){if(r.length>0){let s=r[r.length-1];if(t.timestamp>=s.start&&t.timestamp<s.end){s.calls.push(t),s.spent+=t.cost;continue}}r.push({start:t.timestamp,end:t.timestamp+36e5,calls:[t],spent:t.cost})}return r},lt=(e,o)=>{if(!e||e.length===0)return .025;let r=X(e);if(r.length===0)return .025;let t=[];for(let m of r){let u=.025;if(t.length>0){let k=t[t.length-1],S=!1;if(t.length>=2){let h=t[t.length-2];k.ratio>=.8&&h.ratio>=.8&&(S=!0)}if(S)u=.015;else{let h=k.limit,w=k.ratio;w>=.8?u=h===.015?.015:h:w<.4?u=Math.min(.025,h+.005):w>=.4&&w<.6?u=Math.min(.025,h+.004):u=Math.min(.025,h+.002)}}let g=u>0?m.spent/u:0;t.push({limit:u,spent:m.spent,ratio:g})}let s=r[r.length-1];if(o<s.end)return t[t.length-1].limit;let n=t[t.length-1].limit,i=n,c=t[t.length-1].ratio,f=s.end,d=0;for(let m=t.length-1;m>=0&&t[m].ratio>=.8;m--)d++;for(;f<=o;){let m=.025;d>=2?m=.015:c>=.8?m=i===.015?.015:i:c<.4?m=Math.min(.025,i+.005):c>=.4&&c<.6?m=Math.min(.025,i+.004):m=Math.min(.025,i+.002),i=m,c=0,d=0,f+=36e5,n=m}return n},Ut=async e=>{let o=e.imageSettings||{keyType:"Default",quality:"Low-High"};if(o.keyType!=="Default")return!0;let r={Low:.001,"Low-High":.002,Medium:.008,"Medium-High":.01,High:.045,Ultra:.0488,Premium:.15}[o.quality]||.002,t=await v();t.imageCalls||(t.imageCalls=[]);let s=Date.now(),n=X(t.imageCalls),i=0;if(n.length>0){let f=n[n.length-1];s>=f.start&&s<f.end&&(i=f.spent)}let c=lt(t.imageCalls,s);return i+r<=c},Ot=async()=>{let e=await v();e.imageCalls||(e.imageCalls=[]);let o=Date.now(),a=X(e.imageCalls),r=[],t=0,s=0;if(a.length>0){let f=a[a.length-1];o>=f.start&&o<f.end&&(r=f.calls,t=f.spent,s=Math.max(0,Math.ceil((f.end-o)/(60*1e3))))}let n=lt(e.imageCalls,o),i=Math.max(0,n-t),c=t;return{totalSpent:t,remaining:i,activeCallsCount:r.length,nextResetMin:s,reclaimCost:c,limit:n}},Rt=async e=>{let o=e.imageSettings||{keyType:"Default",quality:"Low-High"},r={Low:.001,"Low-High":.002,Medium:.008,"Medium-High":.01,High:.045,Ultra:.0488,Premium:.1}[o.quality]||.002,t=await v();t.imageCalls||(t.imageCalls=[]),t.imageCalls.push({timestamp:Date.now(),cost:r}),V()},Ft=async()=>{let e=new Date().toISOString().split("T")[0];l||(l=await _()),l.date!==e&&await v();let o=l.stats||{...M},a=l.history||{},r=new Set(Object.keys(a));r.add(e);let s=Array.from(r).sort().map(T=>{let x=T===e?o:a[T]||{},p={...M,...x},I=p.tokens||0,E=p.cachedTokens||0,N=p.candidateTokens||0,J=Math.max(0,I-N),j=Math.max(0,J-E),A=p.agent||0,U=p.background||0,O=p.search||0,ct=A+U+O,Q=p.toolSuccess||0,z=p.toolFailure||0,Z=p.toolDenied||0,G=Q+z+Z,dt=G>0?(Q/G*100).toFixed(1):"100.0",tt=p.linesAdded||0,et=p.linesRemoved||0,st=Array.isArray(p.imageCalls)?p.imageCalls:[],mt=st.reduce((ut,ft)=>ut+(ft.cost||0),0);return{date:T,tokens:I,cachedTokens:E,candidateTokens:N,promptTokens:J,uncachedPromptTokens:j,agent:A,background:U,search:O,totalRequests:ct,toolSuccess:Q,toolFailure:z,toolDenied:Z,totalTools:G,toolSuccessRate:parseFloat(dt),linesAdded:tt,linesRemoved:et,netLines:tt-et,duration:p.duration||0,imageCallsCount:st.length,imageCost:mt,models:p.models||{},providerRequests:p.providerRequests||{}}}),n=await K().catch(()=>({})),i=n.quotas||{},c=n.apiTier||"Free",f=await at().catch(()=>({tokens:0,agent:0})),d=null;i.resetMode==="Custom"&&(d=await rt(i.resetDay||1).catch(()=>({tokens:0})));let m=i.tokenLimit||0,u=i.monthlyTokenLimit||0,g=i.agentLimit||0,k=i.resetMode||"Daily",S=i.resetDay||1,h=i.providerBudgets||{},w=!!h.__useProvider,C=["Google","Anthropic","OpenAI","DeepSeek","Mistral","NVIDIA","OpenRouter","Ollama","InferX","SenseNova","AIHubMix","Poolside"];Object.keys(h).forEach(T=>{T!=="__useProvider"&&!C.includes(T)&&C.push(T)});let L=[];for(let T of C){let x=h[T];if(x&&(x.agentLimit||x.tokenLimit||x.monthlyTokenLimit)){let p=0,I=o.models?.[T]||{};for(let O in I)p+=I[O]?.tokens||0;let E=0,N=(i.resetMode==="Custom"?d?.models:f?.models)?.[T]||{};for(let O in N)E+=N[O]?.tokens||0;let J=o.providerRequests?.[T]||0,j=x.tokenLimit||0,A=x.monthlyTokenLimit||0,U=x.agentLimit||0;L.push({provider:T,dailyTokens:p,dailyTokenLimit:j,isDailyUnlimited:j>=9999999999999||j===0,monthlyTokens:E,monthlyTokenLimit:A,isMonthlyUnlimited:A>=9999999999999||A===0,dailyRequests:J,dailyAgentLimit:U,isRequestsUnlimited:U>=9999999||U===0})}}let q={apiTier:c,resetMode:k,resetDay:S,quotas:i,usingProviderBudgets:w&&L.length>0||L.length>0,providerBudgetsList:L,daily:{tokensUsed:o.tokens||0,tokenLimit:m,agentRequests:o.agent||0,agentLimit:g,isUnlimitedTokens:m>=9999999999999||m===0,isUnlimitedRequests:g>=9999999||g===0},monthly:{tokensUsed:(i.resetMode==="Custom"?d?.tokens:f?.tokens)||0,tokenLimit:u,isUnlimitedTokens:u>=9999999999999||u===0},providerBudgets:h};return{currentDate:e,todayStats:o,history:a,timeline:s,budget:q,runtimeSession:{...R}}};export{Lt as a,Mt as b,vt as c,Ct as d,v as e,at as f,xt as g,R as h,bt as i,rt as j,pt as k,At as l,X as m,lt as n,Ut as o,Ot as p,Rt as q,Ft as r};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as S}from"./chunk-
|
|
1
|
+
import{d as S}from"./chunk-RI37VZYB.js";import O from"fs-extra";import T from"path";var C=a=>{if(!a)return[];let u=[],h=/\[tool:(.*?)\((.*?)\)\]/g,r=0,l;for(;(l=h.exec(a))!==null;){if(l.index>r){let t=a.slice(r,l.index);t.trim()&&u.push({type:"output",content:t})}u.push({type:"tool",toolName:l[1],args:l[2]}),r=h.lastIndex}if(r<a.length){let t=a.slice(r);t.trim()&&u.push({type:"output",content:t})}return u},b=async(a,u,h=process.cwd())=>{let r=`export-fluxflow-${a}.txt`,l=T.join(h,r),t=[],c=!1;for(let g=0;g<u.length;g++){let i=u[g];if(i&&!(i.role==="system"||i.isMeta||i.isLogo||String(i.id).startsWith("welcome"))){if(i.role==="user"){let e=i.text||"";e=e.replace(/\s*\[Prompted on:.*?\]/g,"").trim(),t.length>0&&t.push(""),t.push("[USER]"),t.push(e),c=!1}else if(i.role==="think"){c||(t.push(""),t.push("[AGENT]"),c=!0);let e=(i.text||"").replace(/\[\[\s*turn\s*:\s*(continue|finish)\s*\]\]/gi,"").replace(/\[\[END\]\]/gi,"").replace(/\[\[TOOL RESULTS\]\]/gi,"").replace(/\[TOOL RESULTS\]/gi,"").replace(/\[TOOL RESULT\]/gi,"").trim();e&&(t.push("[thoughts]"),t.push(e))}else if(i.role==="agent"){c||(t.push(""),t.push("[AGENT]"),c=!0);let e=C(i.text||"");for(let p of e)if(p.type==="output"){let m=p.content.replace(/\[\[\s*turn\s*:\s*(continue|finish)\s*\]\]/gi,"").replace(/\[\[END\]\]/gi,"").replace(/\[\[TOOL RESULTS\]\]/gi,"").replace(/\[TOOL RESULTS\]/gi,"").replace(/\[TOOL RESULT\]/gi,"").trim();m&&(t.push("[output]"),t.push(m))}else p.type==="tool"&&(t.push("[tool]"),t.push(`${p.toolName} ${p.args}`))}}}let R=t.join(`
|
|
2
2
|
`);return await O.writeFile(l,R,"utf8"),{exportFile:r,exportPath:l,totalLines:t.length}},j=(a,u="FluxFlow",h=null)=>{if(!a||!a.trim())return[];let r=a.split(`
|
|
3
3
|
`),l=[],t=[],c=/^\s*(?:CRITICAL\s+ERROR|ERROR|DEBUG|SEARCH|PUPPETEER|WARN|WARNING|INFO)\b/i,R=/^\s*-{3,}\s*$/,g=!1;for(let e of r)if(c.test(e)){g=!0;break}if(!g){let e=a.trim();if(!e)return[];let p=h?new Date(h).toLocaleString():"Unknown Time",m=/\bjanitor\b/i.test(e)?"Memory":u;return[{timestamp:p,level:"ERROR",source:m,message:e}]}for(let e of r)R.test(e)?t.length>0&&(l.push(t.join(`
|
|
4
4
|
`).trim()),t=[]):c.test(e)?(t.length>0&&(l.push(t.join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as u}from"./chunk-
|
|
1
|
+
import{n as u}from"./chunk-QGPOMXO4.js";import{e as m,f as c}from"./chunk-SIINYZWE.js";import{b as r}from"./chunk-RI37VZYB.js";import n from"fs-extra";import g from"path";var s={mode:"Flux",display:0,thinkingLevel:"Medium",aiProvider:"Google",activeModel:u("Google","Free")||"gemma-4-31b-it",showFullThinking:!0,apiTier:"Free",quotas:{agentLimit:999999,backgroundLimit:999999,searchLimit:100,customModelId:"",customLimit:0,providerTiers:{Google:"Free",DeepSeek:"Free",NVIDIA:"Free",OpenRouter:"Free",InferX:"Free",SenseNova:"Free",Poolside:"Free",ExpLabs:"Free",TokenHarbor:"Free",APInex:"Free"}},systemSettings:{memory:!1,theme:"Dark",compression:0,autoExec:!0,allowExternalAccess:!1,advanceRollback:!1,autoDeleteHistory:"7d",useExternalData:!1,externalDataPath:"",preserveThinking:!0,loadingPhrases:!0,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},profileData:{name:null,nickname:null,instructions:null},imageSettings:{keyType:"Default",quality:"Low-High",apiKey:""}},p=async()=>{let t={...s};try{if(await n.exists(r)){let e=m(r);if(e.imageSettings&&e.imageSettings.apiKey)try{let a=e.imageSettings.apiKey,{saveSecret:i}=await import("./secrets-RFEEPY3S.js");await i("POLLINATIONS_API_KEY",a),e.imageSettings.apiKey="",c(r,e)}catch{}t={...s,...e,quotas:{...s.quotas,...e.quotas,providerTiers:{...s.quotas.providerTiers,...e.quotas?.providerTiers||{}}},systemSettings:{...s.systemSettings,...e.systemSettings},profileData:{...s.profileData,...e.profileData},imageSettings:{...s.imageSettings,...e.imageSettings}}}}catch(e){console.error("Failed to load settings:",e)}try{let{getSecret:e}=await import("./secrets-RFEEPY3S.js"),a=await e("POLLINATIONS_API_KEY");a&&(t.imageSettings.apiKey=a)}catch{}if(t.showFullThinking===!1){t.showFullThinking=!0;try{c(r,t)}catch{}}return t},S=async t=>{let{FLUXFLOW_DIR:e}=await import("./paths-Y7ACZJAE.js"),a=["logs","secret"];for(let i of a){let l=g.join(e,i),o=g.join(t,i);try{await n.exists(l)&&(await n.ensureDir(o),await n.copy(l,o,{overwrite:!0}))}catch(d){console.error(`Migration failed for ${i}:`,d)}}},D=async t=>{try{let e=await p();if(!e.systemSettings.useExternalData&&t.systemSettings?.useExternalData&&t.systemSettings?.externalDataPath&&await S(t.systemSettings.externalDataPath),t.imageSettings&&t.imageSettings.apiKey!==void 0){let{saveSecret:i,removeSecret:l}=await import("./secrets-RFEEPY3S.js"),o=t.imageSettings.apiKey;o?await i("POLLINATIONS_API_KEY",o):await l("POLLINATIONS_API_KEY")}let a={...e,...t};return a.imageSettings&&(a.imageSettings={...a.imageSettings,apiKey:""}),await n.ensureDir(g.dirname(r)),c(r,a),!0}catch(e){return console.error("Failed to save settings:",e),!1}};export{p as a,D as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as F,d as y}from"./chunk-SIINYZWE.js";import{c as g,
|
|
1
|
+
import{c as F,d as y}from"./chunk-SIINYZWE.js";import{c as g,p as h}from"./chunk-RI37VZYB.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,4 +1,4 @@
|
|
|
1
|
-
import{a as R,b as T}from"./chunk-
|
|
1
|
+
import{a as R,b as T}from"./chunk-WFHGURXW.js";import{a as A}from"./chunk-Y5JU726N.js";import{spawn as C}from"child_process";var P=null;try{let f=await import("node-pty");P=f.default||f}catch{}var _=!!P,S=f=>typeof f!="string"?f:f.replace(/(?:\u001b][\s\S]*?(?:\u0007|\u001b\\))|(?:[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><])/g,""),E=f=>{if(!f)return"";let p=[[]],n=0,o=0,w=/\x1b\[([0-9;]*?)([a-zA-Z])/g,g=0,h,d=a=>{for(let e=0;e<a.length;e++){let s=a[e];if(s===`
|
|
2
2
|
`)for(n++,o=0;n>=p.length;)p.push([]);else if(s==="\r")o=0;else{for(;n>=p.length;)p.push([]);let t=p[n];for(;o>t.length;)t.push(" ");t[o]=s,o++}}};for(;(h=w.exec(f))!==null;){d(f.substring(g,h.index));let a=h[1],e=h[2],s=a?a.split(";").map(Number):[];if(e==="A"){let t=s[0]||1;n=Math.max(0,n-t)}else if(e==="B"){let t=s[0]||1;for(n=n+t;n>=p.length;)p.push([])}else if(e==="C"){let t=s[0]||1;o=o+t}else if(e==="D"){let t=s[0]||1;o=Math.max(0,o-t)}else if(e==="G"){let t=(s[0]||1)-1;o=Math.max(0,t)}else if(e==="H"||e==="f"){let t=(s[0]||1)-1,r=(s[1]||1)-1;for(n=Math.max(0,t),o=Math.max(0,r);n>=p.length;)p.push([])}else if(e==="K"){let t=s[0]||0;if(n<p.length){let r=p[n];if(t===0)r.length=o;else if(t===1)for(let c=0;c<o&&c<r.length;c++)r[c]=" ";else t===2&&(r.length=0)}}else if(e==="J"){let t=s[0]||0;(t===2||t===3)&&(p.length=0,p.push([]),n=0,o=0)}g=w.lastIndex}d(f.substring(g));let O=p.map(a=>a.join(""));for(;O.length>0&&O[O.length-1]==="";)O.pop();return O.join(`
|
|
3
3
|
`)},x=null,k=!1,D=f=>{try{x&&(k&&typeof x.write=="function"?x.write(f):x.stdin&&x.stdin.writable&&x.stdin.write(f))}catch{}},F=()=>{if(x){try{k&&typeof x.destroy=="function"?x.destroy():typeof x.kill=="function"&&(process.platform==="win32"?C("taskkill",["/pid",x.pid,"/f","/t"]):x.kill("SIGKILL"))}catch{}x=null,k=!1}},v=(f,p=!1)=>{if(process.platform!=="win32")return f;let n=[],o="",w=null,g=!1;for(let e=0;e<f.length;e++){let s=f[e];if(g){o+=s,g=!1;continue}if(s==="\\"){if(f[e+1]===" "){o+=" ",e++;continue}o+=s,g=!0;continue}w?(s===w&&(w=null),o+=s):s==='"'||s==="'"?(w=s,o+=s):s===";"&&!o.includes("://")?(o.length>0&&(n.push(o),o=""),n.push(p?";":"&")):s==="&"&&!o.includes("://")?f[e+1]==="&"?(o.length>0&&(n.push(o),o=""),n.push("&&"),e++):o.endsWith("2>")&&f[e+1]==="1"?(n.push("2>&1"),o="",e++):(o.length>0&&(n.push(o),o=""),n.push("&")):s==="|"&&!o.includes("://")?(o.length>0&&(n.push(o),o=""),n.push("|")):/\s/.test(s)?o.length>0&&(n.push(o),o=""):o+=s}o.length>0&&n.push(o);let h=e=>!(!e.includes("/")||/^(https?|file|ftp):\/\//i.test(e)||e.startsWith("@")||e.startsWith("/")&&(e.match(/\//g)||[]).length===1||/\s\/|\/\s/.test(e)||/[\(\)\{\}\;\<\>\=\'\"]/.test(e)),d=[];for(let e=0;e<n.length;e++){let s=n[e];if(s==="mkdir"&&p&&R()){let t=[],r=e+1;for(;r<n.length;){let c=n[r];if([">",">>","<","&","&&","|","||",";"].includes(c))break;c!=="-p"&&c!=="--parents"&&c!=="-v"&&c!=="--verbose"&&t.push(c),r++}if(t.length>0){let c=t.map(i=>{let u=i.replace(/^['"]|['"]$/g,""),l=i;return h(u)&&(l=i.replace(/\//g,"\\")),l});d.push("New-Item","-ItemType","Directory","-Force","-Path",c.join(","))}else d.push("New-Item","-ItemType","Directory","-Force");e=r-1;continue}if(s==="rm"&&p&&R()){let t=[],r=!1,c=!1,i=e+1;for(;i<n.length;){let l=n[i];if([">",">>","<","&","&&","|","||",";"].includes(l))break;l==="-rf"||l==="-fr"?(r=!0,c=!0):l==="-r"||l==="-R"||l==="--recursive"?r=!0:l==="-f"||l==="--force"?c=!0:t.push(l),i++}let u=["Remove-Item"];if(r&&u.push("-Recurse"),c&&u.push("-Force"),t.length>0){let l=t.map(m=>{let $=m.replace(/^['"]|['"]$/g,""),b=m;return h($)&&(b=m.replace(/\//g,"\\")),b});u.push("-Path",l.join(","))}d.push(...u),e=i-1;continue}if(s==="cp"&&p&&R()){let t=[],r=!1,c=!1,i=e+1;for(;i<n.length;){let l=n[i];if([">",">>","<","&","&&","|","||",";"].includes(l))break;l==="-r"||l==="-R"||l==="--recursive"?r=!0:l==="-f"||l==="--force"?c=!0:t.push(l),i++}let u=["Copy-Item"];if(r&&u.push("-Recurse"),c&&u.push("-Force"),t.length>0){let l=t.map(m=>{let $=m.replace(/^['"]|['"]$/g,""),b=m;return h($)&&(b=m.replace(/\//g,"\\")),b});if(l.length>1){let m=l.pop();u.push("-Path",l.join(","),"-Destination",m)}else u.push("-Path",l[0])}d.push(...u),e=i-1;continue}if(s==="touch"&&p&&R()){let t=[],r=e+1;for(;r<n.length;){let c=n[r];if([">",">>","<","&","&&","|","||",";"].includes(c))break;t.push(c),r++}if(t.length>0){let i=`(${t.map(u=>{let l=u.replace(/^['"]|['"]$/g,""),m=u;return h(l)&&(m=u.replace(/\//g,"\\")),m}).join(", ")}) | ForEach-Object { if (Test-Path $_) { (Get-Item $_).LastWriteTime = [System.DateTime]::Now } else { $null | Out-File -FilePath $_ } }`;d.push(i)}e=r-1;continue}if(s==="|"&&n[e+1]==="tee"){n[e+2]==="-a"?(d.push(">>"),e+=2):(d.push(">"),e+=1);continue}if(s==="|"&&n[e+1]==="cat"&&n[e+2]===">"){d.push(">"),e+=2;continue}if(s==="|"){let t=n[e+1];if(t){let r=t.replace(/^['"]|['"]$/g,""),c=/\.(txt|md|json|log|csv|html|css|py|js|xml|yaml|yml|pdf|docx|pptx|xlsx)$/i.test(r);if(h(r)&&c){d.push(">");continue}}}d.push(s)}let O=!1,a=d.map(e=>{if(e==="echo")return O=!0,e;[">",">>","<","&","&&","|","||",";"].includes(e)&&(O=!1);let t=/^['"]|['"]$/.test(e),r=e;O&&t&&(r=e.replace(/^['"]|['"]$/g,""));let c=/^['"]|['"]$/.test(r),i=r.replace(/^['"]|['"]$/g,"");h(i)&&(r=r.replace(/\//g,"\\"));let u=r.replace(/^['"]|['"]$/g,"");return u.includes(" ")&&!c&&(r=`"${u}"`),r});if(p){let e="",s=0;for(let t=0;t<a.length;t++){let r=a[t];r==="&&"?(e+="; if ($?) {",s++):r===";"?(e+=" }".repeat(s)+";",s=0):(e&&!e.endsWith(" ")&&!e.endsWith("{")&&(e+=" "),e+=r)}return e+=" }".repeat(s),e}return a.join(" ")},W=async(f,p={})=>{let{command:n}=A(f),{onChunk:o}=p;if(!n)return'ERROR: Missing "command" argument for exec_command.';let w=process.platform==="win32",g=p.systemSettings||{},h={};return g.networkAccess===!1&&(h.HTTP_PROXY="http://127.0.0.1:9999",h.HTTPS_PROXY="http://127.0.0.1:9999",h.ALL_PROXY="socks5://127.0.0.1:9999",h.http_proxy="http://127.0.0.1:9999",h.https_proxy="http://127.0.0.1:9999",h.all_proxy="socks5://127.0.0.1:9999",h.NO_PROXY="localhost,127.0.0.1"),new Promise(d=>{let O=a=>{let e=a==="pwsh"||a==="powershell",s=v(n,e),t;w?a==="pwsh"?t="pwsh.exe":a==="powershell"?t="powershell.exe":t="cmd.exe":t=process.env.SHELL||"bash";let r=w?e?["-NoProfile","-Command",s]:["/c",s]:["-c",s];if(g.networkAccess===!1&&!w){let c=t,i=[...r];if(process.platform==="linux")t="unshare",r=["-n","-r",c,...i];else if(process.platform==="darwin"){let u=`(version 1)
|
|
4
4
|
(allow default)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as m}from"./chunk-
|
|
1
|
+
import{a as m}from"./chunk-RI37VZYB.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 +1 @@
|
|
|
1
|
-
import f from"os";import t from"path";import a from"fs";import E from"crypto";var n=t.join(f.homedir(),".fluxflow"),j=t.join(n,"settings.json"),x=null;try{if(a.existsSync(j)){let s=a.readFileSync(j,"utf8").trim(),r;if(s.startsWith("{"))r=JSON.parse(s);else{let e=s.split(":");if(e.length===2){let _=Buffer.from(e[0],"hex"),I=e[1],l=E.createHash("sha256").update("fluxflow-cli-sanctuary-key").digest(),c=E.createDecipheriv("aes-256-cbc",l,_),p=c.update(I,"hex","utf8");p+=c.final("utf8"),r=JSON.parse(p)}}if(r){let e=r.systemSettings||{};e.useExternalData&&e.externalDataPath&&(x=t.normalize(e.externalDataPath.trim()))}}}catch{}var i=x||n,F=t.join(i,"logs"),o=t.join(i,"secret"),S=t.join(o,"history.json"),R=t.join(o,"history"),T=t.join(n,"usage.json"),u=t.join(o,"usage.json"),y=t.join(o,"memories.json"),
|
|
1
|
+
import f from"os";import t from"path";import a from"fs";import E from"crypto";var n=t.join(f.homedir(),".fluxflow"),j=t.join(n,"settings.json"),x=null;try{if(a.existsSync(j)){let s=a.readFileSync(j,"utf8").trim(),r;if(s.startsWith("{"))r=JSON.parse(s);else{let e=s.split(":");if(e.length===2){let _=Buffer.from(e[0],"hex"),I=e[1],l=E.createHash("sha256").update("fluxflow-cli-sanctuary-key").digest(),c=E.createDecipheriv("aes-256-cbc",l,_),p=c.update(I,"hex","utf8");p+=c.final("utf8"),r=JSON.parse(p)}}if(r){let e=r.systemSettings||{};e.useExternalData&&e.externalDataPath&&(x=t.normalize(e.externalDataPath.trim()))}}}catch{}var i=x||n,F=t.join(i,"logs"),o=t.join(i,"secret"),S=t.join(o,"history.json"),R=t.join(o,"history"),T=t.join(n,"usage.json"),u=t.join(o,"usage.json"),y=t.join(o,"timed_usage"),A=t.join(o,"memories.json"),g=t.join(o,"memory-temp.json"),d=t.join(o,"temp-memory-chat.json"),C=t.join(i,"backups"),O=t.join(o,"ledger.json"),G=t.join(o,"ledgerAdvance.json"),M=t.join(o,"active_tx.json"),N=t.join(o,"path.json"),H=t.join(o,"context.json"),P=t.join(i,"parsers"),U=t.join(n,".cache","CU"),k=t.join(n,"thinking_config.json");export{n as a,j as b,i as c,F as d,o as e,S as f,R as g,T as h,u as i,y as j,A as k,g as l,d as m,C as n,O as o,G as p,M as q,N as r,H as s,P as t,U as u,k as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{t as o}from"./chunk-RI37VZYB.js";import r from"fs-extra";import l from"path";import d from"https";var j={js:"tree-sitter-javascript.wasm",jsx:"tree-sitter-javascript.wasm",ts:"tree-sitter-typescript.wasm",tsx:"tree-sitter-tsx.wasm",py:"tree-sitter-python.wasm",c:"tree-sitter-c.wasm",cpp:"tree-sitter-cpp.wasm",java:"tree-sitter-java.wasm",html:"tree-sitter-html.wasm"};async function f(t,s=null){let p=s||`https://unpkg.com/tree-sitter-wasms@0.1.13/out/${t}`,i=l.join(o,t);return await r.ensureDir(o),new Promise((m,n)=>{let h={headers:{"User-Agent":"FluxFlow-Agent"}};d.get(p,h,e=>{if([301,302,307,308].includes(e.statusCode)&&e.headers.location){let a=e.headers.location;if(!a.startsWith("http")){let u=new URL(p);a=`${u.protocol}//${u.host}${a}`}f(t,a).then(m).catch(n);return}if(e.statusCode!==200){n(new Error(`Failed to download ${t}: HTTP ${e.statusCode}`));return}let c=r.createWriteStream(i);e.pipe(c),c.on("finish",()=>{c.close(),m()})}).on("error",e=>{r.existsSync(i)&&r.unlink(i,()=>{}),n(e)})})}function S(t){let s=l.join(o,t);return r.existsSync(s)}async function $(t){let s=l.join(o,t);r.existsSync(s)&&await r.unlink(s)}export{j as a,f as b,S as c,$ as d};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as X}from"./chunk-
|
|
1
|
+
import{c as X}from"./chunk-RI37VZYB.js";import G from"os";var R=t=>typeof t!="string"?t:t.length>12?(t+"").replace("",""):t,v=(t,o)=>{if(!t)return"";let d=/\x1B\[[0-?]*[ -/]*[@-~]/g,m=t.split(`
|
|
2
2
|
`),h=[];if(o<=5)return t;let a=e=>e<32||e>=127&&e<160||e>=768&&e<=879||e>=7616&&e<=7679||e>=8400&&e<=8447||e>=65056&&e<=65071?0:e>=4352&&e<=4447||e>=9001&&e<=9002||e>=11904&&e<=12350||e>=12352&&e<=42191||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=127744&&e<=128591||e>=128640&&e<=128767||e>=131072&&e<=262141?2:1,p=e=>{let s=e.replace(d,""),r=0;for(let l=0;l<s.length;l++){let i=s.codePointAt(l);i>65535&&l++,r+=a(i)}return r},M=(e,s)=>{let r=0,l=e.length,i=!1;for(let L=0;L<e.length;L++){if(e[L]==="\x1B"&&e[L+1]==="["&&(i=!0),i){(e[L]==="m"||e[L]>="@"&&e[L]<="~"&&e[L]!=="[")&&(i=!1);continue}let F=e.codePointAt(L);F>65535&&L++;let x=a(F);if(r+x>s){l=F>65535?L-1:L;break}if(r+=x,r>=s){l=L+1;break}}return{head:e.substring(0,l),tail:e.substring(l)}};return m.forEach(e=>{if(p(e)<=o){h.push(e);return}let r=e.split(/(\s+)/),l="",i=0,L=e.match(/^(\s*)/),F=L?L[1]:"";r.forEach(x=>{if(x.length===0)return;let u=x;for(;u.length>0;){let S=p(u);if(i+S<=o){l+=u,i+=S;break}l.trim().length>0&&(h.push(l.trimEnd()),l=F.substring(0,Math.min(F.length,8)),i=p(l));let n=Math.max(1,o-i);if(p(u)>n){let{head:f,tail:c}=M(u,n);h.push((l+f).trimEnd()),l=F.substring(0,Math.min(F.length,8)),i=p(l),u=c}else l+=u,i+=p(u),u=""}}),(l.trimEnd().length>0||l===F)&&h.push(l.trimEnd())}),R(h.join(`
|
|
3
3
|
`))},rt=t=>{if(!t)return 0;let o=0,d=t.match(/[\u4e00-\u9fa5\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]/g);d&&(o+=d.length*.55);let m=t.replace(/[\u4e00-\u9fa5\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]/g," "),h=m.match(/[<>/\._@#$%^&*+=`~|\\:;!?'"()\[\]{}-]+/g);h&&(o+=h.length);let a=m.split(/[\s<>/\._@#$%^&*+=`~|\\:;!?'"()\[\]{}-]+/g).filter(Boolean);return o+=a.length,Math.max(.1,o)},st=t=>t?t.match(/[\u4e00-\u9fa5\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]|\s+|[<>/\._@#$%^&*+=`~|\\:;!?'"()\[\]{}-]+|[^\s<>/\._@#$%^&*+=`~|\\:;!?'"()\[\]{}\-\u4e00-\u9fa5\u3040-\u309f\u30a0-\u30ff\uac00-\ud7af]+/g)||[t]:[],ot=t=>{if(!t&&t!==0)return"0.0k";let o=typeof t=="string"?parseFloat(t):t;return o>=1e6?`${(o/1e6).toFixed(1)}m`:o>=1e3?`${(o/1e3).toFixed(1)}k`:o.toString()},lt=(t,o=40)=>{let d=X.replaceAll("\\\\","\\");if(t=t.replace(G.homedir(),"~").replace(d,"FluxFlow").replaceAll("\\","/"),!t||t.length<=o)return R(t);let m=Math.floor((o-3)/2);return R(t.substring(0,m)+"..."+t.substring(t.length-m).replaceAll("\\","/"))},at=t=>{let o=[],d=new Set,m=t.allowMultiple===!0||String(t.allowMultiple).toLowerCase()==="true";Object.keys(t).forEach(e=>{let s=e.match(/^(searchContent|search_content|replaceContent|replace_content|newContent|new_content|content_to_replace|content_to_add|searchBlock|search_block|newBlock|new_block)_?(\d+)?$/i);if(s){let r=s[2]?parseInt(s[2],10):1;d.add(r)}});let h=Array.from(d).sort((e,s)=>e-s),a=["searchContent","search_content","replaceContent","replace_content","content_to_replace","searchBlock","search_block"],p=["newContent","new_content","content_to_add","newBlock","new_block"],M=(e,s,r)=>{let l,i;for(let L of s){let F=e===1?[`${L}1`,L,`${L}_1`]:[`${L}${e}`,`${L}_${e}`];for(let x of F)if(t[x]!==void 0){l=t[x];break}if(l!==void 0)break}for(let L of r){let F=e===1?[`${L}1`,L,`${L}_1`]:[`${L}${e}`,`${L}_${e}`];for(let x of F)if(t[x]!==void 0){i=t[x];break}if(i!==void 0)break}return{r:l,n:i}};for(let e of h){let{r:s,n:r}=M(e,a,p);if(s!==void 0&&r!==void 0)o.push({replace:s,new:r});else if(s!==void 0||r!==void 0)return{error:`Mismatched replacement pair for index ${e}. Both replacement and new content must be provided.`,allowMultiple:m}}return{patchPairs:o,allowMultiple:m}},V=t=>{if(!t)return null;let o="",d=0,m=t.length;for(;d<m;){let h=t[d];if(h==="\\"){for(;d<m&&t[d]==="\\";)d++;o+="\\\\*"}else if(h===`
|
|
4
4
|
`)o+="(?:\\r?\\n|\\\\*n|\\\\*r|\\s*)",d++;else if(h==="\r")o+="(?:\\r|\\\\*r)?",d++;else if(h===" ")o+="(?:\\t|\\\\*t|\\s*)",d++;else if(h==='"'||h==="'"||h==="`")o.endsWith("\\\\*")||(o+="\\\\*"),o+=h,d++;else if(/[.*+?^${}()|[\]]/.test(h))o+="\\"+h,d++;else if(/\s/.test(h)){for(;d<m&&/\s/.test(t[d])&&t[d]!==`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as f}from"./chunk-
|
|
1
|
+
import{e as f}from"./chunk-33KD6VKN.js";import{mouse as c,keyboard as i,Button as u,Key as e,Point as l,clipboard as R}from"@nut-tree-fork/nut-js";c.config.autoDelayMs=50;i.config.autoDelayMs=50;async function w(){try{await i.releaseKey(e.LeftControl,e.RightControl,e.LeftAlt,e.RightAlt,e.LeftShift,e.RightShift,e.LeftSuper,e.RightSuper)}catch{}}async function E(n,t,s={}){let r=await f(t);if(!r&&(n==="move"||n==="click"||n==="drag"))return`ERROR: Invalid target location specified: ${JSON.stringify(t)}`;try{switch(n.toLowerCase()){case"move":return await c.setPosition(new l(r.x,r.y)),`SUCCESS: Moved mouse to grid target ${typeof t=="string"?t:`(${r.x}, ${r.y})`}`;case"click":{await c.setPosition(new l(r.x,r.y));let a=s.button==="right"?u.RIGHT:s.button==="middle"?u.MIDDLE:u.LEFT;return s.clickType==="double"?await c.doubleClick(a):await c.click(a),`SUCCESS: ${s.clickType||"Single"} clicked ${s.button||"left"} button at ${typeof t=="string"?t:`(${r.x}, ${r.y})`}`}case"drag":{let a=await f(s.from||t),o=await f(s.to);return!a||!o?'ERROR: Drag requires valid "from" and "to" target coordinates/grid codes.':(await c.setPosition(new l(a.x,a.y)),await c.pressButton(u.LEFT),await c.setPosition(new l(o.x,o.y)),await c.releaseButton(u.LEFT),`SUCCESS: Dragged mouse from (${a.x}, ${a.y}) to (${o.x}, ${o.y})`)}case"scroll":{let a=r||await f({x:640,y:360});a&&(await c.setPosition(new l(a.x,a.y)),await new Promise(d=>setTimeout(d,60)));let o=parseInt(s.amount,10);(isNaN(o)||o<=0)&&(o=5);let y=o>50?Math.min(20,Math.max(1,Math.round(o/100))):Math.min(20,o),S=s.direction==="up";for(let d=0;d<y;d++)S?await c.scrollUp(120):await c.scrollDown(120),await new Promise(C=>setTimeout(C,20));return`SUCCESS: Scrolled ${s.direction||"down"} (${y} notches${r?` at target (${r.x}, ${r.y})`:" at screen center"})`}default:return`ERROR: Unsupported mouse action "${n}"`}}catch(a){return`ERROR: Mouse action failed: ${a.message}`}}var m={enter:e.Enter,return:e.Return,escape:e.Escape,esc:e.Escape,backspace:e.Backspace,tab:e.Tab,space:e.Space,up:e.Up,down:e.Down,left:e.Left,right:e.Right,ctrl:e.LeftControl,control:e.LeftControl,alt:e.LeftAlt,shift:e.LeftShift,cmd:e.LeftCmd,win:e.LeftWin,meta:e.LeftWin,super:e.LeftSuper,a:e.A,b:e.B,c:e.C,d:e.D,e:e.E,f:e.F,g:e.G,h:e.H,i:e.I,j:e.J,k:e.K,l:e.L,m:e.M,n:e.N,o:e.O,p:e.P,q:e.Q,r:e.R,s:e.S,t:e.T,u:e.U,v:e.V,w:e.W,x:e.X,y:e.Y,z:e.Z,0:e.Num0,1:e.Num1,2:e.Num2,3:e.Num3,4:e.Num4,5:e.Num5,6:e.Num6,7:e.Num7,8:e.Num8,9:e.Num9,f1:e.F1,f2:e.F2,f3:e.F3,f4:e.F4,f5:e.F5,f6:e.F6,f7:e.F7,f8:e.F8,f9:e.F9,f10:e.F10,f11:e.F11,f12:e.F12},p=n=>{if(!n)return;let t=String(n).toLowerCase().trim();if(m[t]!==void 0)return m[t];if(e[n]!==void 0)return e[n];if(e[t.toUpperCase()]!==void 0)return e[t.toUpperCase()]};async function $(n,t,s={}){try{switch(n.toLowerCase()){case"type":{if(typeof t!="string")return"ERROR: Type action requires a valid string input";await w(),await R.setContent(t);let a=process.platform==="darwin"?e.LeftSuper:e.LeftControl;return await i.pressKey(a,e.V),await i.releaseKey(a,e.V),await w(),s.autoPressEnter?(await new Promise(o=>setTimeout(o,50)),await i.type(e.Enter),`SUCCESS: Typed text input ("${t.length>20?t.substring(0,20)+"...":t}") and pressed Enter`):`SUCCESS: Typed text input ("${t.length>20?t.substring(0,20)+"...":t}")`}case"key_press":{let r=p(t);return r===void 0?`ERROR: Unknown key name "${t}"`:(await i.type(r),`SUCCESS: Pressed key ${t}`)}case"key_combination":{if(!Array.isArray(t))return'ERROR: key_combination requires an array of keys (e.g. ["ctrl", "c"])';let r=t.map(a=>p(a)).filter(a=>a!==void 0);return r.length===0?"ERROR: Invalid key combination":(await i.pressKey(...r),await i.releaseKey(...r),`SUCCESS: Executed key combination [${t.join(" + ")}]`)}case"clear_input":return await i.pressKey(e.LeftControl,e.A),await i.releaseKey(e.LeftControl,e.A),await i.type(e.Backspace),"SUCCESS: Cleared active text input (Select All + Backspace)";case"browser_back":{let r=process.platform==="darwin";return r?(await i.pressKey(e.LeftSuper,e.Left),await i.releaseKey(e.LeftSuper,e.Left)):(await i.pressKey(e.LeftAlt,e.Left),await i.releaseKey(e.LeftAlt,e.Left)),await w(),`SUCCESS: Browser back navigation (${r?"Cmd+Left":"Alt+Left"})`}default:return`ERROR: Unsupported keyboard action "${n}"`}}catch(r){return`ERROR: Keyboard action failed: ${r.message}`}}export{E as a,$ as b};
|