fluxflow-cli 4.15.1 → 4.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +1 -1
  2. package/dist/chunks/{ai-L5HV7ECM.js → ai-6FXYLVOW.js} +1 -1
  3. package/dist/chunks/{ai-X2SIZCKG.js → ai-AS3SDWCL.js} +1 -1
  4. package/dist/chunks/app-F5CCWLRS.js +279 -0
  5. package/dist/chunks/app-QWV5B5EW.js +279 -0
  6. package/dist/chunks/chunk-72RYQ5W7.js +1 -0
  7. package/dist/chunks/{chunk-WLKCYZXG.js → chunk-AAPXJU65.js} +1 -1
  8. package/dist/chunks/{chunk-QFQDJ2UU.js → chunk-EP3WAFTJ.js} +1 -1
  9. package/dist/chunks/chunk-FZHHMJZI.js +918 -0
  10. package/dist/chunks/chunk-M3KCPUDW.js +51 -0
  11. package/dist/chunks/chunk-NLVU34AW.js +918 -0
  12. package/dist/chunks/{chunk-GIHKBLZL.js → chunk-TCBC5P3S.js} +3 -9
  13. package/dist/chunks/{chunk-HK42GQOK.js → chunk-WKHYRBBK.js} +1 -1
  14. package/dist/chunks/{chunk-MGOYH2GI.js → chunk-ZWNKNXAI.js} +1 -1
  15. package/dist/chunks/{click-TZZXO2WS.js → click-G6RRSFVC.js} +2 -2
  16. package/dist/chunks/{computer_action-HLDFQW2N.js → computer_action-WTHH7RBB.js} +1 -1
  17. package/dist/chunks/{drag-X4EOVHGY.js → drag-ZGH2MMP7.js} +1 -1
  18. package/dist/chunks/{generate_image-X6KFW2B7.js → generate_image-XYDE47LK.js} +1 -1
  19. package/dist/chunks/{invoke-KIRXYFL2.js → invoke-4TSUCBPH.js} +2 -2
  20. package/dist/chunks/{invoke-WRWGZ2UN.js → invoke-RZE37R5K.js} +2 -2
  21. package/dist/chunks/{invokeSync-HGDGBU7Z.js → invokeSync-COCWPF45.js} +2 -2
  22. package/dist/chunks/{invokeSync-LNL4RUVU.js → invokeSync-K5NCZVFD.js} +2 -2
  23. package/dist/chunks/{key_press-2OYFGVDO.js → key_press-M5QNCIPH.js} +1 -1
  24. package/dist/chunks/{keyboard_typing-F7LZPK2R.js → keyboard_typing-CK3KVAWM.js} +1 -1
  25. package/dist/chunks/{screen_grid-WCLGUDIT.js → screen_grid-TDQC6CV5.js} +1 -1
  26. package/dist/chunks/{scroll-FJCGC26Y.js → scroll-GHXES2II.js} +1 -1
  27. package/dist/chunks/{secrets-CN3TKRTO.js → secrets-XNJW2U6Y.js} +1 -1
  28. package/dist/chunks/{settings-52EZL64F.js → settings-2IFZMDUD.js} +1 -1
  29. package/dist/chunks/{update_file-AEHGEWP5.js → update_file-UFCBJOW5.js} +1 -1
  30. package/dist/chunks/usageServer-JKD3OZQ7.js +1 -0
  31. package/dist/chunks/{write_file-L6RVJOKF.js → write_file-LOYRYIK6.js} +1 -1
  32. package/dist/cli.js +2 -2
  33. package/dist/package.json +2 -2
  34. package/package.json +2 -2
  35. package/dist/chunks/app-7M5HF2UF.js +0 -270
  36. package/dist/chunks/app-ST2NIW2L.js +0 -270
  37. package/dist/chunks/chunk-2PMRX4CK.js +0 -49
  38. package/dist/chunks/chunk-2T5DRAKV.js +0 -1
  39. package/dist/chunks/chunk-AZRAOY7N.js +0 -919
  40. package/dist/chunks/chunk-GUI2BKST.js +0 -919
  41. package/dist/chunks/usageServer-XH7QZPOB.js +0 -1
@@ -0,0 +1,51 @@
1
+ import{c as X}from"./chunk-FDNLMLIM.js";import H from"os";var _=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
+ `),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},C=(e,s)=>{let r=0,l=e.length,i=!1;for(let $=0;$<e.length;$++){if(e[$]==="\x1B"&&e[$+1]==="["&&(i=!0),i){(e[$]==="m"||e[$]>="@"&&e[$]<="~"&&e[$]!=="[")&&(i=!1);continue}let b=e.codePointAt($);b>65535&&$++;let x=a(b);if(r+x>s){l=b>65535?$-1:$;break}if(r+=x,r>=s){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,$=e.match(/^(\s*)/),b=$?$[1]:"";r.forEach(x=>{if(x.length===0)return;let u=x;for(;u.length>0;){let F=p(u);if(i+F<=o){l+=u,i+=F;break}l.trim().length>0&&(h.push(l.trimEnd()),l=b.substring(0,Math.min(b.length,8)),i=p(l));let n=Math.max(1,o-i);if(p(u)>n){let{head:f,tail:c}=C(u,n);h.push((l+f).trimEnd()),l=b.substring(0,Math.min(b.length,8)),i=p(l),u=c}else l+=u,i+=p(u),u=""}}),(l.trimEnd().length>0||l===b)&&h.push(l.trimEnd())}),_(h.join(`
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(H.homedir(),"~").replace(d,"FluxFlow").replaceAll("\\","/"),!t||t.length<=o)return _(t);let m=Math.floor((o-3)/2);return _(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"],C=(e,s,r)=>{let l,i;for(let $ of s){let b=e===1?[`${$}1`,$,`${$}_1`]:[`${$}${e}`,`${$}_${e}`];for(let x of b)if(t[x]!==void 0){l=t[x];break}if(l!==void 0)break}for(let $ of r){let b=e===1?[`${$}1`,$,`${$}_1`]:[`${$}${e}`,`${$}_${e}`];for(let x of b)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}=C(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
+ `)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]!==`
5
+ `&&t[d]!=="\r"&&t[d]!==" ";)d++;o+="\\s*"}else o+=h,d++}if(!o)return null;try{return new RegExp(o,"g")}catch{return null}},ct=(t,o,d={})=>{let m=typeof d=="boolean"?d:!!(d&&d.allowMultiple),h=t.replace(/\r\n/g,`
6
+ `).replace(/\r/g,`
7
+ `),a=n=>n.replace(/^```[\w]*\n?/,"").replace(/```\s*$/,"").replace(/\r\n/g,`
8
+ `).replace(/\r/g,`
9
+ `),p=n=>n.match(/^\s*/)[0],C=n=>{let f=n.split(`
10
+ `).filter(E=>E.trim()!=="");if(f.length===0)return"";let c=p(f[0]);for(let E of f){let w=p(E);w.length<c.length&&(c=w)}return c},e=(n,f,c="")=>{if(!n||f===void 0)return n;let w=/^\t/m.test(f)?" ":" ",I=y=>y.split(`
11
+ `).find(T=>T.trim()!=="")??"",S=I(f).match(/^\s*/)[0].length,g=I(n).match(/^\s*/)[0].length,k=S-g,L=(c.match(/^\s*/)||[""])[0].length;return n.split(`
12
+ `).map((y,T)=>{if(y.trim()===""&&T!==0)return"";let A=y.match(/^\s*/)[0].length,B=Math.max(0,A+k);return T===0&&(B=Math.max(0,B-L)),w.repeat(B)+y.trimStart()}).join(`
13
+ `)},s=[];for(let n=0;n<o.length;n++){let f=o[n],c=(f.replace||"").trim(),E=a(f.new||"");if(c.startsWith("^LINE:")&&c.endsWith("$")){let L=c.slice(6,-1).trim().split(".."),M=parseInt(L[0]),y=L[1]!==void 0?parseInt(L[1]):M;if(!isNaN(M)&&!isNaN(y)){let T=h.split(`
14
+ `);if(M<1||M>T.length||y<M||y>T.length){s.push({index:n,success:!1,error:`Block ${n+1}: Line range ^LINE:${M}..${y}$ out of bounds (file has ${T.length} lines).`});continue}let B=T.slice(M-1,y).join(`
15
+ `),N=0;for(let D=0;D<M-1;D++)N+=T[D].length+1;s.push({index:n,success:!0,startPos:N,firstMatchContent:B,content_to_add:E});continue}}let w=a(f.replace||"");if(w===""&&E===""){s.push({index:n,success:!1,error:`Block ${n+1}: Empty replace and add content.`});continue}let I=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),S=null;if(w!==""&&h.includes(w))S=new RegExp(I,"g");else{let k=w.split(`
16
+ `).map(L=>L.trim()).filter(L=>L.length>0).map(L=>L.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\s+/g,"\\s*"));if(k.length>0){let L=k.join("\\s*");try{S=new RegExp(L,"g")}catch{S=new RegExp(I,"g")}}else S=new RegExp(I,"g")}let g=[...h.matchAll(S)];if(g.length===0&&w!==""){let k=V(w);k&&(g=[...h.matchAll(k)])}if(g.length===0){s.push({index:n,success:!1,error:`Block ${n+1}: Could not find match.`});continue}if(g.length>1&&!m){s.push({index:n,success:!1,error:`Block ${n+1}: Found ${g.length} matches (must be unique or use allowMultiple: true if sure).`});continue}for(let k of g)s.push({index:n,success:!0,startPos:k.index,firstMatchContent:k[0],content_to_add:E})}let r=s.filter(n=>n.success).sort((n,f)=>n.startPos-f.startPos);for(let n=0;n<r.length-1;n++){let f=r[n],c=r[n+1];f.startPos+f.firstMatchContent.length>c.startPos&&(f.success=!1,f.error=`Block ${f.index+1}: Overlaps with another block.`,c.success=!1,c.error=`Block ${c.index+1}: Overlaps with another block.`)}let l=new Map,i=h,$=0,b=0,x=s.filter(n=>n.success).sort((n,f)=>n.startPos-f.startPos);for(let n of x){let f=n.startPos,c=h.substring(0,f).split(`
17
+ `).length,E=f+$,w=c+b,I=i.lastIndexOf(`
18
+ `,E)+1,S=i.substring(I,E),g=e(n.content_to_add,n.firstMatchContent,S),k=i.split(`
19
+ `),L=[];for(let A=Math.max(0,w-4);A<w-1;A++)L.push({num:A+1,text:k[A]});let M=n.firstMatchContent.split(`
20
+ `),y=[],T=w+M.length-1;for(let A=T;A<Math.min(k.length,T+3);A++)y.push({num:A+1,text:k[A]});l.set(n,{success:!0,index:n.index,oldContent:n.firstMatchContent,newContent:g,originalStartLine:c,finalStartLine:w,contextBefore:L,contextAfter:y}),i=i.substring(0,E)+g+i.substring(E+n.firstMatchContent.length),$+=g.length-n.firstMatchContent.length,b+=g.split(`
21
+ `).length-n.firstMatchContent.split(`
22
+ `).length}let u=[];for(let n=0;n<o.length;n++){let f=x.filter(c=>c.index===n);if(f.length>0)for(let c of f)l.has(c)&&u.push(l.get(c));else{let c=s.find(E=>E.index===n);u.push({success:!1,error:c?c.error:`Block ${n+1}: Unknown error.`})}}let F=u.filter(n=>!n.success&&n.error&&n.error.includes("Could not find match"));if(F.length===1)F[0].error+=" (Use Line Anchor or Run tool safely if search string fails)";else if(F.length>1){let n=F[F.length-1];n.error+=`
23
+ (Tip: Use Line Anchor or Run tool safely if search string fails)`}return{content:i,results:u}},ft=(t,o,d,m=8,h=!1)=>{if(!d||d.length===0)return"";let a=t.split(/\r?\n/),p=o.split(/\r?\n/),C=Math.max(a.length,p.length,1),e=Math.max(4,String(C).length),s=x=>String(x).padStart(e," "),r=`[DIFF_START]
24
+ `,l="\u2550".repeat(88),i=0,$=null,b=d.filter(x=>x.success).sort((x,u)=>x.originalStartLine-u.originalStartLine);if(b.forEach((x,u)=>{let F=x.finalStartLine!==void 0?x.finalStartLine:x.originalStartLine;if($===null)for(i=Math.max(0,F-4);i<F-1;)r+=`[UI_CONTEXT] ${s(i+1)} |${p[i]||""}
25
+ `,i++;else{let S=$,g=S.originalStartLine+S.oldContent.split(`
26
+ `).length-1;if(x.originalStartLine-g-1>=m){let L=Math.min(p.length,i+3);for(;i<L;)r+=`[UI_CONTEXT] ${s(i+1)} |${p[i]||""}
27
+ `,i++;for(r+=`[UI_CONTEXT] ${l}
28
+ `,i=Math.max(i,F-4);i<F-1;)r+=`[UI_CONTEXT] ${s(i+1)} |${p[i]||""}
29
+ `,i++}else for(;i<F-1;)r+=`[UI_CONTEXT] ${s(i+1)} |${p[i]||""}
30
+ `,i++}let n=x.originalStartLine-1,f=a[n]||"",c=x.oldContent.split(`
31
+ `),E=f.match(/^\s*/),w=E?E[0]:"";c.forEach((S,g)=>{let k=S;if(c.length===1&&f.trim().length>0&&f.includes(S.trim()))k=f;else if(g===0){let L=S.match(/^\s*/);(L?L[0]:"").length<w.length&&f.includes(S.trim())&&(k=w+S.trimStart())}r+=`-${s(x.originalStartLine+g)} |${k}
32
+ `});let I=i;if(x.finalStartLine!==void 0)I=x.finalStartLine-1+(x.newContent?x.newContent.split(`
33
+ `).length:0);else{let S=x.originalStartLine+c.length-1,g=a[S]||null;if(g!==null){let k=u<b.length-1?(b[u+1].originalStartLine||p.length)+10:p.length;for(let L=i;L<k;L++){if(p[L]===g){I=L;break}L===p.length-1&&(I=p.length)}}else I=p.length}for(;i<I;)r+=`+${s(i+1)} |${p[i]||""}
34
+ `,i++;$=x}),$!==null){let x=Math.min(p.length,i+3);for(;i<x;)r+=`[UI_CONTEXT] ${s(i+1)} |${p[i]||""}
35
+ `,i++}if(h){let x=`[DIFF_START]
36
+ `,u=r.substring(x.length),F=`[UI_CONTEXT] ${l}
37
+ `,f=u.split(F).map(c=>c.split(`
38
+ `).filter(w=>w.trim()!=="").length>45?`[[VERIFIED]]
39
+ ${c}
40
+ [[/VERIFIED]]`:c);r=x+f.join(F)}return r+="[DIFF_END]",_(r)},K=t=>{if(!t)return null;let o=t.replace("[UI_CONTEXT]","").replace(/\r/g,""),d=o.startsWith("-"),m=o.startsWith("+"),h=d||m?o.substring(1):o,a=h.indexOf("|"),p=a!==-1?_(h.substring(0,a).trim()):"",C=_(a!==-1?h.substring(a+1):h);return{isR:d,isA:m,num:p,content:C}},Y=(t,o)=>{if(!t&&!o)return 1;if(!t||!o)return 0;let d=t.length,m=o.length,h=t,a=o;d<m&&(h=o,a=t);let p=h.length,C=a.length,e=new Int32Array(C+1),s=new Int32Array(C+1);for(let i=0;i<=C;i++)e[i]=i;for(let i=1;i<=p;i++){s[0]=i;let $=h[i-1];for(let b=1;b<=C;b++)$===a[b-1]?s[b]=e[b-1]:s[b]=Math.min(e[b],s[b-1],e[b-1])+1;e.set(s)}let r=e[C],l=Math.max(d,m);return l===0?1:1-r/l},z=t=>{let o=[],d=[];t.forEach((r,l)=>{r.parsed.isR?o.push({index:l,content:r.parsed.content}):r.parsed.isA&&d.push({index:l,content:r.parsed.content})});let m=o.length,h=d.length;if(m===0||h===0)return;let a=Array.from({length:m+1},()=>Array(h+1).fill(0)),p=Array.from({length:m+1},()=>Array(h+1).fill(""));for(let r=1;r<=m;r++)p[r][0]="up";for(let r=1;r<=h;r++)p[0][r]="left";let C=Array.from({length:m},()=>Array(h).fill(0));for(let r=0;r<m;r++)for(let l=0;l<h;l++)C[r][l]=Y(o[r].content.trim(),d[l].content.trim());for(let r=1;r<=m;r++)for(let l=1;l<=h;l++){let i=C[r-1][l-1],$=i>=.2?i:-10,b=a[r-1][l-1]+$,x=a[r-1][l],u=a[r][l-1];b>=x&&b>=u?(a[r][l]=b,p[r][l]="diag"):x>=u?(a[r][l]=x,p[r][l]="up"):(a[r][l]=u,p[r][l]="left")}let e=m,s=h;for(;e>0||s>0;)if(p[e][s]==="diag"){if(C[e-1][s-1]>=.2){let l=o[e-1].index,i=d[s-1].index;t[l].pairContent=t[i].parsed.content,t[i].pairContent=t[l].parsed.content}e--,s--}else p[e][s]==="up"?e--:s--},R=new Map,O=new Map,G=200,W=5,U=(t,o)=>{o.set(t.key,t),t.type==="chunk"&&t.blocks&&t.blocks.forEach(d=>U(d,o))},ht=(t,o)=>{if(!t)return{completed:[],active:[]};let d=`${t.id}-${t.text?.length||0}-${o}-${t.isStreaming}-${t.workedDuration||0}`;if(!t.isStreaming&&R.has(d))return R.get(d);let m=_(et(t.text||"",t.role)),h=`${t.id}-${o}`,a=new Map;if(t.isStreaming){let u=O.get(h);u&&m.startsWith(u.text)&&(a=u.blocksMap)}let p=(u,F,n,f={})=>{let c=a.get(u);if(c&&c.text===n&&c.type===F&&!!c.isActiveBlock==!!f.isActiveBlock&&!!c.isStreaming==!!f.isStreaming&&c.pairContent===f.pairContent)return c;let E=_(n),w={...f};return typeof w.pairContent=="string"&&(w.pairContent=_(w.pairContent)),Array.isArray(w.wrappedLines)&&(w.wrappedLines=w.wrappedLines.map(_)),{key:u,isStreamingMsg:!!t.isStreaming,workedDuration:t.workedDuration,type:F,text:E,msg:F==="full-message"?t:void 0,...w}};if(m.includes("- Content Preview:")){let u="",F=m.match(/File\s+\[(.*?)\]/i);F&&(u=F[1].split(".").pop().toLowerCase());let w=((m.split("- Content Preview:")[1]||"").split("[SYSTEM] Check the content preview for verification [/SYSTEM]")[0]?.trim()||"").split(`
41
+ `).map(y=>y.replace(/\r$/,"")),I=String(w.length).length,S=[],g=null,k=[],L=()=>{if(!k.length)return;let y=k;k=[],S.push(y.length===1?y[0]:{key:`${y[0].key}-chunk`,type:"chunk",blocks:y})},M=o-(I+6);return w.forEach((y,T)=>{let A=T===w.length-1,B=v(y,M).split(`
42
+ `),N=p(`${t.id||Date.now()}-write-line-${T}`,"write-line",y,{gutterWidth:I,lineNum:T+1,isFirstLine:T===0,isLastLine:A,extension:u,wrappedLines:B});A&&t.isStreaming?(L(),g=N):(k.push(N),k.length>=W&&L())}),L(),{completed:S,active:g?[g]:[]}}if(m.includes("[DIFF_START]")){let u=m.match(/\[DIFF_START\]([\s\S]*?)(?:\[DIFF_END\]|$)/),n=(u?u[1].trim():"").split(`
43
+ `).map(g=>g.replace(/\r$/,"")),f=n.map(g=>({line:g,parsed:K(g),pairContent:null})),c=[];for(let g=0;g<f.length;g++){let k=f[g];k.parsed&&(k.parsed.isR||k.parsed.isA)?c.push(k):c.length>0&&(z(c),c=[])}c.length>0&&z(c);let E=[],w=null,I=[],S=()=>{if(!I.length)return;let g=I;I=[],E.push(g.length===1?g[0]:{key:`${g[0].key}-chunk`,type:"chunk",blocks:g})};return n.forEach((g,k)=>{let L=k===n.length-1,M=f[k].parsed,y=null;M&&(y=v(M.content,o-17).split(`
44
+ `));let T=p(`${t.id||Date.now()}-diff-${k}`,"diff-line",g,{isFirstLine:k===0,isLastLine:L,pairContent:f[k].pairContent,wrappedLines:y});L&&t.isStreaming?(S(),w=T):(I.push(T),I.length>=W&&S())}),S(),{completed:E,active:w?[w]:[]}}if(t.role==="system"||t.isLogo||t.isHelpRecord||t.isTerminalRecord||t.isHomeWarning||t.isImageStats||t.isAskRecord||t.isAboutRecord||t.isUpdateNotification||t.role==="user")return{completed:[p(`${t.id||Date.now()}-full`,"full-message",m)],active:[]};if(!m&&!t.isStreaming){let u={completed:[],active:[]};return R.set(d,u),u}let C=[],e=null,s=[],r=null,l=()=>{if(!s.length)return;let u=s;s=[],r=null,C.push(u.length===1?u[0]:{key:`${t.id||"x"}-chunk-${u[0].key}`,type:"chunk",blocks:u})},i=(u,F=!1)=>{if(r!==null&&r!==u.type&&l(),s.push(u),r=u.type,s.length>=W){if(t.isStreaming&&F)return;l()}},$=Math.max(20,(o||80)-6),b=Math.max(20,(o||80)-8);if(t.role==="think"){C.push(p(`${t.id}-header`,"think-header",""));let u=m.split(`
45
+ `),F=[];u.forEach(n=>{v(n,b).split(`
46
+ `).forEach(c=>F.push(c))}),F.forEach((n,f)=>{let c=f===F.length-1;i(p(`${t.id}-${f}`,"think-line",n,{}),c)}),t.isStreaming||(l(),C.push({key:`${t.id}-footer-padding`,type:"think-footer-padding",text:""}))}else{let u=m.split(`
47
+ `),F=!1,n=[],f=!1,c="",E=0,w=0,I=[];u.forEach(S=>{let g=S.trim();g.startsWith("```")?(f=!f,I.push(S)):f||g.startsWith("|")?I.push(S):v(S,$).split(`
48
+ `).forEach(L=>I.push(L))}),f=!1,I.forEach((S,g)=>{let k=g===I.length-1,L=S.trim().startsWith("|"),M=S.trim().startsWith("```");f?M?(f=!1,i(p(`${t.id}-code-close-${w}`,"code-fence-close","",{}),k)):(E++,i(p(`${t.id}-code-line-${g}`,"code-line",S,{lineNum:E,lang:c}),k)):M?(f=!0,w=g,E=0,c=S.trim().replace(/^```/,"").trim(),i(p(`${t.id}-code-open-${g}`,"code-fence-open",c,{}),k)):L?(F=!0,n.push(S),k&&(l(),t.isStreaming?e=p(`${t.id}-table-${g}`,"table",n.join(`
49
+ `),{isStreaming:!0}):C.push(p(`${t.id}-table-${g}`,"table",n.join(`
50
+ `),{isStreaming:!1})))):(F&&(l(),C.push(p(`${t.id}-table-${g}`,"table",n.join(`
51
+ `),{isStreaming:!1})),F=!1,n=[]),i(p(`${t.id}-${g}`,"agent-line",S,{}),k))}),!t.isStreaming&&t.workedDuration&&(l(),C.push(p(`${t.id}-worked-duration`,"worked-duration","")))}t.isStreaming&&s.length>0?e=s.length===1?s[0]:{key:`${t.id||"x"}-chunk-active-${s[0].key}`,type:"chunk",blocks:s}:l();let x={completed:C,active:e?[e]:[]};if(t.isStreaming){let u=new Map;if(C.forEach(F=>U(F,u)),e&&U(e,u),O.set(h,{text:m,blocksMap:u}),O.size>G){let F=O.keys().next().value;O.delete(F)}}else{if(R.set(d,x),R.size>G){let u=R.keys().next().value;R.delete(u)}O.delete(h)}return x},q={},Z=/(\r?\n){2}(?=\[?(?:tool:functions|tool\.functions|agent:generalist|agent\.generalist|\s*turn\s*:))/gi,P=(t,o)=>{let d=!1,m=!1,h=0;for(;h<o;){if(t.startsWith("```",h)){m=!m,h+=3;continue}!m&&t[h]==="`"&&(h===0||t[h-1]!=="\\")&&(d=!d),h++}return m||d},J=/\[SYSTEM\][\s\S]*?\[\/SYSTEM\]|\[ANSWER\][\s\S]*?(?:\[\/ANSWER\]|$)|\[TOOL RESULT\]:?\s*|^\s*(SUCCESS|ERROR):.*(\r?\n)?|\[\s*turn\s*:\s*(continue|finish)\s*\]|\[\[END\]\]|\[\s*turn\s*:?.*?$|\n\s*turn\s*:?.*?$|\[\s*(?:turn|ANSWER|TOOL).*?$|\n\nResponded on .*|\n\n\[Prompted on: .*\]|@\[TerminalName:.*?, ProcessId:.*?\]/gm,Q=/(\$?\\?\/?\\rightarrow\$?|\$\\rightarrow\$)|(\$?\\?\/?\\leftarrow\$?|\$\\leftarrow\$)|(\$?\\?\/?\\uparrow\$?|\$\\uparrow\$)|(\$?\\?\/?\\downarrow\$?|\$\\downarrow\$)|(\$?\\?\/?\\leftrightarrow\$?|\$\\leftrightarrow\$)/gi,tt=/\b(write_file|update_file|read_folder|view_file|exec_command|web_search|web_scrape|search_keyword|write_pdf|write_docx|generate_image)\b/gi,j=!1,et=(t,o="agent")=>{if(!t)return t;let d=o===!0||o==="think",m=o===!1||o==="agent",h=t.replace(/<\|channel>thought/gi,"<think>").replace(/<channel\|>/gi,"</think>");if(d)return h.replace(/^<(think|thought|thoughts|thinking)>/gi,"").replace(/<\/(think|thought|thoughts|thinking)>$/gi,"").replace(/^\r?\n+/,"").replace(/\r?\n+$/,"");let a=h;m&&(a=a.replace(/<\/?(?:think|thought|thoughts|thinking)>/gi,(e,s,r)=>P(r,s)?e:""),a=a.replace(Z,(e,s,r,l)=>!j&&P(l,r)?e:""),a&&a.includes("[tool:")&&(a=a.replace(/<(\w+)(?:[^>]*)>\s*([\s\S]*?\[tool:[^\]]*\][\s\S]*?)\s*<\/\1>/gi,(e,s,r)=>r&&r.includes("[tool:")?r.trim():e),j&&(a=a.replace(/```(?:tool|yaml|function|json)?\s*\n?([\s\S]*?)\n?\```/gi,(e,s)=>s.includes("[tool:")?s.trim():e))));let p="tool:functions.",C="agent:generalist.";if(m&&(a.toLowerCase().includes(p)||a.toLowerCase().includes(C)))for(;;){let e=a.toLowerCase(),s=e.indexOf(p),r=e.indexOf(C),l=p,i=s;if((s===-1||r!==-1&&r<s)&&(l=C,i=r),i===-1)break;if(!j&&P(a,i)){let c=i+l.length,E=e.indexOf(p,c),w=e.indexOf(C,c);if(E===-1&&w===-1)break;let I=-1,S=0;for(;;){let g=e.indexOf(p,S),k=e.indexOf(C,S),L=-1,M=p;if(g===-1&&k===-1)break;if(g===-1||k!==-1&&k<g?(L=k,M=C):L=g,!P(a,L)){I=L,l=M;break}S=L+M.length}if(I===-1)break;i=I}let $=i,b=!1,x=i-1;for(;x>=0&&/\s/.test(a[x]);)x--;x>=0&&a[x]==="["&&($=x,b=!0);let u=0,F=!1,n=null,f=i;for(;f<a.length;){let c=a[f];if(!n&&(c==="'"||c==='"'||c==="`")?n=c:n&&c===n&&a[f-1]!=="\\"&&(n=null),n||(c==="("?(u++,F=!0):c===")"&&u--),F&&u===0&&!n){let E=f;if(b){let w=f+1;for(;w<a.length&&/\s/.test(a[w]);)w++;w<a.length&&a[w]==="]"&&(E=w)}a=a.substring(0,$)+a.substring(E+1);break}if(f++,f===a.length)return F&&u>0&&(a=a.substring(0,$)),a}}return a=a.replace(J,""),a=a.replace(Q,e=>{let s=e.toLowerCase();return s.includes("leftrightarrow")?"\u2194":s.includes("rightarrow")?"\u2192":s.includes("leftarrow")?"\u2190":s.includes("uparrow")?"\u2191":s.includes("downarrow")?"\u2193":e}),a=a.replace(tt,e=>q[e.toLowerCase()]||e),a.trim()},ut=()=>{R.clear(),O.clear()};export{_ as a,v as b,rt as c,st as d,ot as e,lt as f,at as g,ct as h,ft as i,K as j,z as k,ht as l,j as m,et as n,ut as o};