@aggroot-team/aggroot 1.10.3 → 1.10.4
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/index.cjs +2 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1469,7 +1469,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
1469
1469
|
`.repeat(b))),this._drawThinkingStatus()}_truncateAnsi(e,r){if(r<=0||!e)return"";let o=/\x1b\[[0-9;]*m/g,a="",u=0,f=0,m,g=[];for(;(m=o.exec(e))!==null;)m.index>f&&g.push({type:"text",value:e.slice(f,m.index)}),g.push({type:"ansi",value:m[0]}),f=m.index+m[0].length;f<e.length&&g.push({type:"text",value:e.slice(f)});let b=!1;for(let E of g){if(E.type==="ansi"){a+=E.value;continue}for(let w of E.value){let C=this._getVisualWidth(w);if(u+C>r){b=!0;break}a+=w,u+=C}if(b)break}return b&&(a+="\x1B[0m\u2026"),a}_getVisualWidth(e){return zp(e)}_calculateWrappedLines(e,r){if(!e||r<=0)return 1;let o=e.replace(/\x1b\[[0-9;]*m/g,"");if(o.length===0)return 1;let a=1,u=0;for(let f of o){let m=this._getVisualWidth(f);f===`
|
|
1470
1470
|
`?(a++,u=0):u+m>r?(a++,u=m):u+=m}return a}_countVisualLines(e){let r=process.stdout.columns||80;if(!e||r<=0)return 1;let o=e.split(`
|
|
1471
1471
|
`),a=0;for(let u=0;u<o.length;u++)u===o.length-1&&o[u]===""||(a+=this._calculateWrappedLines(o[u],r));return a}_getDisplayLineCount(){let e=this._inputLines.length,r=process.stdout.columns||80,o=this._getVisualWidth(this._prompt),a=e>1?1:0,u=Eht(this._inputBuffer,r,o,this._cursorCharIndex);return a+u.displayLines.length}_getCursorLine(){return this._currentLineIndex}_wrapSingleLine(e,r,o){return Eht(e,r,o,this._cursorCharIndex)}_stopThinkingAnimation(){this._outputFlushTimeout&&(clearTimeout(this._outputFlushTimeout),this._outputFlushTimeout=null),this._pendingOutputLines.length>0&&this._flushPendingOutput(),this._statusInterval&&(clearInterval(this._statusInterval),this._statusInterval=null),this._currentStatus=null,this._isThinkingAnimationRunning=!1}_performStopAnimation(){if(!this._isThinkingAnimationRunning)return;let e=this._pendingOutputLines.length>0?this._pendingOutputLines.join(""):"";this._pendingOutputLines=[],this._outputFlushTimeout&&(clearTimeout(this._outputFlushTimeout),this._outputFlushTimeout=null),this._stopThinkingAnimation();let r=process.stdout.columns||80,o=process.stdout.rows||24,a=this._cachedStatusBarLines||this._calculateWrappedLines(this._getStatusBar?this._getStatusBar():"",r),u=this._calcThinkingUILines(a),f=o-u;process.stdout.write(`\x1B[${f};1H`),process.stdout.write("\x1B[J"),this._cursorRowAfterStop=f,this._outputLineCount=0,this._lastInputAreaHeight=0,this._afterSubmitEcho=!1,this._subAgentPanelLines=[],e&&(process.stdout.write("\r"+e),this._outputLineCount+=this._countVisualLines(e))}_buildThinkingStatusOutput(e=!1){if(this.blockAnimation||!this._currentStatus)return"";let r=process.stdout.columns||80,o=process.stdout.rows||24,a=mfe[this._spinnerFrame]??mfe[0],u=Math.floor((Date.now()-this._thinkingStartTime)/1e3),f,m;switch(this._currentStatus.status){case"thinking":f=this._currentStatus.message??"\u601D\u8003\u4E2D...",m=oNe(a);break;case"tool_calling":f=this._currentStatus.message??(this._currentStatus.toolName?`\u6267\u884C\u5DE5\u5177\uFF1A${this._currentStatus.toolName}`:"\u6267\u884C\u4E2D..."),m=VUr(a);break;case"generating":f=this._currentStatus.message??"\u751F\u6210\u4E2D...",m=HUr(a);break;default:f="\u5904\u7406\u4E2D...",m=a}let g=`${m} ${UUr(f)} ${apn(`[${cY(u)}]`)} ${apn("[ESC\u6253\u65AD]")}`,b=OY(r),E=this._prompt+this._inputBuffer,w=OY(r),C=this._getStatusBar?this._getStatusBar():"",L=this._cachedStatusBarLines||this._calculateWrappedLines(C,r),k=this._getSubAgentPanelHeight(),M=k>0,$=this._calcThinkingUILines(L),H=o-$,Y=M?H:-1,ee=M?-1:H,re=M?H+k:H+1,be=re+1,we=be+1,xe=M?this._buildSubAgentPanelSnapshot(k,r):[],ke=this._getVisualWidth(this._prompt),Ue=be,He;if(this._thinkingFirstDraw){let tt=$+1;if(He=pfe(),e||(He+="\x1B[?2026h"),He+=`
|
|
1472
|
-
`.repeat(tt),M)for(let Rt=0;Rt<k;Rt++)He+=`\x1B[${Y+Rt};1H\x1B[K${xe[Rt]??""}`;else He+=`\x1B[${ee};1H\x1B[K${g}`;He+=`\x1B[${re};1H\x1B[K${b}`,He+=`\x1B[${be};1H\x1B[K${E}`,He+=`\x1B[${we};1H\x1B[K${w}`;for(let Rt=0;Rt<L;Rt++)He+=`\x1B[${we+1+Rt};1H\x1B[K`;He+=`\x1B[${we+1};1H${C}`,He+=`\x1B[${Ue};1H\x1B[${ke+this._cursorPos+1}G`,e||(He+="\x1B[?2026l"),He+=jP()}else{if(e?He="":He="\x1B[?2026h",M)for(let tt=0;tt<k;tt++)He+=`\x1B[${Y+tt};1H\x1B[K${xe[tt]??""}`;else He+=`\x1B[${ee};1H\x1B[K${g}`;He+=`\x1B[${re};1H\x1B[K${b}`,He+=`\x1B[${be};1H\x1B[K${E}`,He+=`\x1B[${we};1H\x1B[K${w}`;for(let tt=0;tt<L;tt++)He+=`\x1B[${we+1+tt};1H\x1B[K`;He+=`\x1B[${we+1};1H${C}`,He+=`\x1B[${Ue};1H\x1B[${ke+this._cursorPos+1}G`,e||(He+="\x1B[?2026l")}return He}_drawThinkingStatus(){let e=this._buildThinkingStatusOutput();if(e)try{process.stdout.write(e)}catch{}}_redrawInputLine(){let e=process.stdout.columns||80,r=this._inputLines.length,o=r>5,a=this._getVisualWidth(this._prompt);process.stdout.write(pfe());let u=this._getStatusBar?this._getStatusBar():"",f=this._calculateWrappedLines(u,e),m=this._wrapSingleLine(this._inputBuffer,e,a),g=r>1,b=m.displayLines,E=m.cursorLine,w=m.cursorCol,C=g?1:0,L=b.length+C,k=process.stdout.rows||24,M=L+2+f,$=k-M,H=$+L+1,Y=H+1;if(!this._isRestoringUI&&this._lastInputAreaHeight>1){let xe=k-this._lastInputAreaHeight-2;if(xe<$)for(let ke=xe;ke<$;ke++)process.stdout.write(`\x1B[${ke};1H\x1B[2K`)}this._lastInputAreaHeight=L;let ee=npn();ee+=`\x1B[${$};1H\x1B[2K`;for(let xe=0;xe<L;xe++)ee+=`\x1B[${$+1+xe};1H\x1B[2K`;ee+=`\x1B[${H};1H\x1B[2K`;let re=Math.max(f,this._cachedStatusBarLines||0);for(let xe=0;xe<re;xe++)ee+=`\x1B[${Y+xe};1H\x1B[2K`;if(ee+=`\x1B[${$};1H${OY(e)}`,g){ee+=`\x1B[${$+1};1H`,ee+=this._prompt+oNe(`[Pasted text ${r} lines]`);for(let xe=0;xe<b.length;xe++){let ke=$+2+xe,Ue=b[xe]??"";ee+=`\x1B[${ke};1H`,ee+=" ".repeat(a)+Ue}}else for(let xe=0;xe<b.length;xe++){let ke=$+1+xe,Ue=b[xe]??"";ee+=`\x1B[${ke};1H`,xe===0?ee+=this._prompt+Ue:ee+=" ".repeat(a)+Ue}ee+=`\x1B[${H};1H${OY(e)}`,ee+=`\x1B[${Y};1H${u}`;let be=$+1+C+E,we=a+w+1;ee+=`\x1B[${be};1H`,ee+=`\x1B[${we}G`,ee+=jP(),ee+=rpn(),process.stdout.write(ee)}_handleResize(){let e=process.stdout.columns||80,r=process.stdout.rows||24;if(e===this._previousCols&&r===this._previousRows)return;let o=this._statusInterval;this._statusInterval=null,o&&clearInterval(o);try{process.stdout.write(pfe()),process.stdout.write("\x1B[2J\x1B[1;1H");let a=this._contentBuffer.getAll();for(let u of a)process.stdout.write(u.text);process.stdout.write(`
|
|
1472
|
+
`.repeat(tt),M)for(let Rt=0;Rt<k;Rt++)He+=`\x1B[${Y+Rt};1H\x1B[K${xe[Rt]??""}`;else He+=`\x1B[${ee};1H\x1B[K${g}`;He+=`\x1B[${re};1H\x1B[K${b}`,He+=`\x1B[${be};1H\x1B[K${E}`,He+=`\x1B[${we};1H\x1B[K${w}`;for(let Rt=0;Rt<L;Rt++)He+=`\x1B[${we+1+Rt};1H\x1B[K`;He+=`\x1B[${we+1};1H${C}`,He+=`\x1B[${Ue};1H\x1B[${ke+this._cursorPos+1}G`,e||(He+="\x1B[?2026l"),He+=jP()}else{if(e?He="":He="\x1B[?2026h",M)for(let tt=0;tt<k;tt++)He+=`\x1B[${Y+tt};1H\x1B[K${xe[tt]??""}`;else He+=`\x1B[${ee};1H\x1B[K${g}`;He+=`\x1B[${re};1H\x1B[K${b}`,He+=`\x1B[${be};1H\x1B[K${E}`,He+=`\x1B[${we};1H\x1B[K${w}`;for(let tt=0;tt<L;tt++)He+=`\x1B[${we+1+tt};1H\x1B[K`;He+=`\x1B[${we+1};1H${C}`,He+=`\x1B[${Ue};1H\x1B[${ke+this._cursorPos+1}G`,e||(He+="\x1B[?2026l")}return He}_drawThinkingStatus(){let e=this._buildThinkingStatusOutput();if(e)try{process.stdout.write(e)}catch{}}_redrawInputLine(){let e=process.stdout.columns||80,r=this._inputLines.length,o=r>5,a=this._getVisualWidth(this._prompt);process.stdout.write(pfe());let u=this._getStatusBar?this._getStatusBar():"",f=this._calculateWrappedLines(u,e),m=this._wrapSingleLine(this._inputBuffer,e,a),g=r>1,b=m.displayLines,E=m.cursorLine,w=m.cursorCol,C=g?1:0,L=b.length+C,k=process.stdout.rows||24,M=L+2+f,$=k-M,H=$+L+1,Y=H+1;if(!this._isRestoringUI&&this._lastInputAreaHeight>1){let xe=k-this._lastInputAreaHeight-2-f;if(xe<$)for(let ke=xe;ke<$;ke++)process.stdout.write(`\x1B[${ke};1H\x1B[2K`)}this._lastInputAreaHeight=L;let ee=npn();ee+=`\x1B[${$};1H\x1B[2K`;for(let xe=0;xe<L;xe++)ee+=`\x1B[${$+1+xe};1H\x1B[2K`;ee+=`\x1B[${H};1H\x1B[2K`;let re=Math.max(f,this._cachedStatusBarLines||0);for(let xe=0;xe<re;xe++)ee+=`\x1B[${Y+xe};1H\x1B[2K`;if(ee+=`\x1B[${$};1H${OY(e)}`,g){ee+=`\x1B[${$+1};1H`,ee+=this._prompt+oNe(`[Pasted text ${r} lines]`);for(let xe=0;xe<b.length;xe++){let ke=$+2+xe,Ue=b[xe]??"";ee+=`\x1B[${ke};1H`,ee+=" ".repeat(a)+Ue}}else for(let xe=0;xe<b.length;xe++){let ke=$+1+xe,Ue=b[xe]??"";ee+=`\x1B[${ke};1H`,xe===0?ee+=this._prompt+Ue:ee+=" ".repeat(a)+Ue}ee+=`\x1B[${H};1H${OY(e)}`,ee+=`\x1B[${Y};1H${u}`;let be=$+1+C+E,we=a+w+1;ee+=`\x1B[${be};1H`,ee+=`\x1B[${we}G`,ee+=jP(),ee+=rpn(),process.stdout.write(ee)}_handleResize(){let e=process.stdout.columns||80,r=process.stdout.rows||24;if(e===this._previousCols&&r===this._previousRows)return;let o=this._statusInterval;this._statusInterval=null,o&&clearInterval(o);try{process.stdout.write(pfe()),process.stdout.write("\x1B[2J\x1B[1;1H");let a=this._contentBuffer.getAll();for(let u of a)process.stdout.write(u.text);process.stdout.write(`
|
|
1473
1473
|
|
|
1474
1474
|
|
|
1475
1475
|
|
|
@@ -1493,7 +1493,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
1493
1493
|
`;this._outputBuffer.add(o),r?(this._outputBuffer.clearFlushTimeout(),this.flushPendingOutput()):this._outputBuffer.scheduleFlush(()=>this.flushPendingOutput())}flushPendingOutput(){if(!this._outputBuffer.hasPending)return;let e=this._outputBuffer.flush(),r=this._isFlushing;this._isFlushing=!0;let o=process.stdout.columns||80,a=process.stdout.rows||24,u=this.getStatusBar?this.getStatusBar():"",f=Xy(u,o),m=this.calcTotalUILines(f),g=Math.max(m,this._panelCtrl.getLastDrawnTotalUILines()),b=a-g,E=e.join("");if(this._animCtrl.currentStatus){let C=D7(E),L="\x1B[?25l";L+="\x1B[?2026h",L+=`\x1B[${b};1H\x1B[J`,L+="\r"+E,_fe("FLUSH content","contentVisualLines",C,"totalUILines",m,"thinkingRow",b,"combinedTextLen",E.length,"combinedTextPreview",JSON.stringify(E.replace(/\x1b\[[0-9;]*m/g,"").slice(0,200))),L+=`
|
|
1494
1494
|
`.repeat(g),_fe("FLUSH newlines",g),L+="\x1B[?2026l",process.stdout.write(L),this._isFlushing=!1,this.drawThinkingStatus()}else process.stdout.write("\r"+E);let w=D7(E);this._outputLineCount+=w,this._animCtrl.currentStatus&&(this._cursorRowAfterStop=b)}writeOutput(e){this.stopThinkingAnimation(),process.stdout.write(e)}newLine(){this.stopThinkingAnimation(),process.stdout.write(`
|
|
1495
1495
|
`)}startOutput(){this.stopThinkingAnimation()}endOutput(){this.showInputUI()}stopThinkingAnimation(){this._outputBuffer.clearFlushTimeout(),this._animCtrl.fullStop(),this._outputBuffer.hasPending&&this.flushPendingOutput()}clearInterrupted(){this._animCtrl.clearInterrupted()}blockAndStopAnimation(){let e=this._animCtrl.isRunning;if(this._animCtrl.block(),this._animCtrl.clearStatusInterval(),this._animCtrl.cancelScheduledStop(),this._outputBuffer.clear(),this._animCtrl.fullStop(),e){let r=process.stdout.columns||80,o=process.stdout.rows||24,a=this.getStatusBar?this.getStatusBar():"",u=Xy(a,r),f=this.calcTotalUILines(u),m=o-f;process.stdout.write(`\x1B[${m};1H\x1B[J`)}return e}unblockAnimation(){this._animCtrl.unblock()}setMenuActive(e){this._isInMenu=e}showCursor(){process.stdout.write("\x1B[?25h")}getInputBuffer(){return this.inputBuffer}getCursorCharIndex(){return this.cursorCharIndex}setInputBuffer(e,r,o,a){this.inputBuffer=e,r!==void 0&&(this.currentLineIndex=r),o!==void 0?this.inputLines=o:this.inputLines=[e],a||(this.cursorCharIndex=[...e].length);let f=[...this.inputLines[this.currentLineIndex]||""].slice(0,this.cursorCharIndex).join("");this.cursorPos=zp(f);let m=process.stdout.columns||80,g=this.inputLines.length,b=zp(this.promptString);process.stdout.write("\x1B[?25l"),this.lastInputAreaHeight===0&&process.stdout.write(`
|
|
1496
|
-
`);let E,w,C;if(g===1){let we=this.wrapSingleLine(this.inputBuffer,m,b);E=we.displayLines,w=we.cursorLine,C=we.cursorCol}else g>5?(E=[],w=0,C=0):(E=this.inputLines,w=this.currentLineIndex,C=this.cursorPos);let k=g>5||E.length>5?1:E.length;process.stdout.write("\x1B[?25l");let M=this.getStatusBar?this.getStatusBar():"",$=Xy(M,m),H=process.stdout.rows||24,Y=k+1+$,ee=H-Y,re=ee+k,be=re+1;if(!this._isRestoringUI&&this.lastInputAreaHeight>1){let we=H-this.lastInputAreaHeight-1
|
|
1496
|
+
`);let E,w,C;if(g===1){let we=this.wrapSingleLine(this.inputBuffer,m,b);E=we.displayLines,w=we.cursorLine,C=we.cursorCol}else g>5?(E=[],w=0,C=0):(E=this.inputLines,w=this.currentLineIndex,C=this.cursorPos);let k=g>5||E.length>5?1:E.length;process.stdout.write("\x1B[?25l");let M=this.getStatusBar?this.getStatusBar():"",$=Xy(M,m),H=process.stdout.rows||24,Y=k+1+$,ee=H-Y,re=ee+k,be=re+1;if(!this._isRestoringUI&&this.lastInputAreaHeight>1){let we=H-this.lastInputAreaHeight-1-$;if(we<ee)for(let xe=we;xe<ee;xe++)process.stdout.write(`\x1B[${xe};1H\x1B[2K`)}this.lastInputAreaHeight=k;for(let we=0;we<k;we++){let xe=ee+we;process.stdout.write(`\x1B[${xe};1H\x1B[2K`)}process.stdout.write(`\x1B[${re};1H\x1B[2K`);for(let we=0;we<$;we++)process.stdout.write(`\x1B[${be+we};1H\x1B[2K`);if(g>5)process.stdout.write(`\x1B[${ee};1H`),process.stdout.write(this.promptString+Gt.cyan(`[Pasted text ${g} lines]`)+this.inputBuffer);else if(E.length>5){let we=[...this.inputBuffer].length;process.stdout.write(`\x1B[${ee};1H`),process.stdout.write(this.promptString+Gt.cyan(`[Input text ${we} chars]`)+this.inputBuffer)}else for(let we=0;we<E.length;we++){let xe=ee+we,ke=E[we]??"";process.stdout.write(`\x1B[${xe};1H`),we===0?process.stdout.write(this.promptString+ke):process.stdout.write(" ".repeat(b)+ke)}if(process.stdout.write(`\x1B[${re};1H`),process.stdout.write(RL(m)),process.stdout.write(`\x1B[${be};1H`),this.getStatusBar&&process.stdout.write(this.getStatusBar()),g>5||E.length>5){let we=g>5?`[Pasted text ${g} lines]`:`[Input text ${[...this.inputBuffer].length} chars]`,xe=zp(we);process.stdout.write(`\x1B[${ee};1H`),process.stdout.write(`\x1B[${b+xe+this.cursorPos+1}G`)}else{let we=ee+w,xe=b+C+1;process.stdout.write(`\x1B[${we};1H`),process.stdout.write(`\x1B[${xe}G`)}process.stdout.write("\x1B[?25h")}addChar(e){this.inputBuffer=this.inputBuffer.slice(0,this.cursorCharIndex)+e+this.inputBuffer.slice(this.cursorCharIndex),this.inputLines[this.currentLineIndex]=this.inputBuffer,this.cursorCharIndex+=e.length,this.cursorPos+=zp(e),this.redrawCounter++,this.redrawCounter%this.REDRAW_INTERVAL===0&&this.redrawInputLine()}wrapSingleLine(e,r,o){let a=r-o-1,u=r-o-1,f=[],m=0,g=0,b=[...e],E="",w=0,C=0,L=!0;for(let k of b){let M=zp(k),$=L?a:u;C===this.cursorCharIndex&&(m=f.length,g=w),w+M>$?(f.push(E),E=k,w=M,L=!1,C<this.cursorCharIndex&&(m=f.length,g=M)):(E+=k,w+=M),C++}return C===this.cursorCharIndex&&(m=f.length,g=w),f.push(E),{displayLines:f,cursorLine:m,cursorCol:g,totalDisplayLines:f.length}}redrawInputLine(){let e=process.stdout.columns||80,r=this.inputLines.length,o=r>5,a=zp(this.promptString);process.stdout.write("\x1B[?25l");let u=this.getStatusBar?this.getStatusBar():"",f=Xy(u,e);if(o){let m=process.stdout.rows||24,g=2+f,b=m-g,E=b+1,w=E+1,C=`[Pasted text ${r} lines]`,L=zp(C);process.stdout.write(`\x1B[${b};1H\x1B[K`),process.stdout.write(this.promptString+Gt.cyan(C)+this.inputBuffer),process.stdout.write(`\x1B[${E};1H\x1B[K`),process.stdout.write(RL(e)),process.stdout.write(`\x1B[${w};1H\x1B[K`),this.getStatusBar&&process.stdout.write(this.getStatusBar()),process.stdout.write(`\x1B[${b};${a+L+this.cursorPos+1}H`)}else{let m,g,b;if(this.inputLines.length===1){let C=this.wrapSingleLine(this.inputBuffer,e,a);m=C.displayLines,g=C.cursorLine,b=C.cursorCol}else m=this.inputLines,g=this.currentLineIndex,b=this.cursorPos;if(m.length<=5){let C=process.stdout.rows||24,L=this.getStatusBar?this.getStatusBar():"",k=Xy(L,e),M=m.length,$=M+1+k,H=C-$,Y=H+M,ee=Y+1;if(this.lastInputAreaHeight>M){let be=C-this.lastInputAreaHeight-1-k;for(let we=be;we<H;we++)process.stdout.write(`\x1B[${we};1H\x1B[2K`)}this.lastInputAreaHeight=M;for(let be=0;be<M;be++){let we=H+be;process.stdout.write(`\x1B[${we};1H\x1B[K`),be===0?(process.stdout.write(this.promptString+(m[be]??"")),this.ghostText&&be===g&&process.stdout.write(Gt.dim(this.ghostText))):(process.stdout.write(" ".repeat(a)+(m[be]??"")),this.ghostText&&be===g&&process.stdout.write(Gt.dim(this.ghostText)))}process.stdout.write(`\x1B[${Y};1H\x1B[K`),process.stdout.write(RL(e)),process.stdout.write(`\x1B[${ee};1H\x1B[K`),this.getStatusBar&&process.stdout.write(this.getStatusBar());let re=H+g;process.stdout.write(`\x1B[${re};${a+b+1}H`)}else{let C=process.stdout.rows||24,L=2+f,k=C-L,M=k+1,$=M+1,Y=`[Input text ${[...this.inputBuffer].length} chars]`,ee=zp(Y);process.stdout.write(`\x1B[${k};1H\x1B[K`),process.stdout.write(this.promptString+Gt.cyan(Y)+this.inputBuffer),process.stdout.write(`\x1B[${M};1H\x1B[K`),process.stdout.write(RL(e)),process.stdout.write(`\x1B[${$};1H\x1B[K`),this.getStatusBar&&process.stdout.write(this.getStatusBar()),process.stdout.write(`\x1B[${k};${a+ee+this.cursorPos+1}H`)}}process.stdout.write("\x1B[?25h")}flushRedraw(){this.redrawCounter=0,this.redrawInputLine()}backspace(){let e=this.inputLines.length;if(this.inputBuffer.length===0&&e>5||this.cursorCharIndex<=0)return;let r=mpn(this.inputBuffer,this.cursorCharIndex);if(!r)return;let{char:o}=r,a=zp(o),u=[...this.inputBuffer];u.splice(this.cursorCharIndex-1,1),this.inputBuffer=u.join(""),this.cursorCharIndex--,this.cursorPos-=a,this.inputLines[this.currentLineIndex]=this.inputBuffer,this.redrawCounter++,this.redrawCounter%this.REDRAW_INTERVAL===0&&this.redrawInputLine()}redrawMultilineInput(){this.setInputBuffer(this.inputBuffer,this.currentLineIndex,this.inputLines)}clearInput(){this.inputBuffer="",this.inputLines=[""],this.currentLineIndex=0,this.cursorPos=0,this.cursorCharIndex=0,this.setInputBuffer("",0,[""])}submit(){let e=this.inputBuffer;this.inputBuffer="",this.inputLines=[""],this.currentLineIndex=0,this.cursorPos=0,this.cursorCharIndex=0;let r=process.stdout.columns||80,o=process.stdout.rows||24,a=this.getStatusBar?this.getStatusBar():"",u=Xy(a,r),m=Math.min(this.inputLines.length,5)+1+u,g=o-m;process.stdout.write(`\x1B[${g};1H`),process.stdout.write("\x1B[J"),this.lastInputAreaHeight=0;let b=`
|
|
1497
1497
|
`+Gt.cyan(this.promptString)+e;return this.contentBuffer.push(b+`
|
|
1498
1498
|
`),process.stdout.write(b),_fe("SUBMIT echo",JSON.stringify(b.replace(/\x1b\[[0-9;]*m/g,"")),"rows",o,"inputStartRow",g,"totalUILines",m),this._echoRow=g+1,this._cursorRowAfterStop=this._echoRow,this._outputLineCount=1,e}submitWithSummary(e,r){this.inputBuffer="",this.inputLines=[""],this.currentLineIndex=0,this.cursorPos=0,this.cursorCharIndex=0;let o=process.stdout.columns||80,a=process.stdout.rows||24,u=this.getStatusBar?this.getStatusBar():"",f=Xy(u,o),m=this.lastInputAreaHeight+1+f;this.lastInputAreaHeight=1,process.stdout.write(`\x1B[${m}A\r`),process.stdout.write("\x1B[J");let g=`
|
|
1499
1499
|
`+Gt.cyan(this.promptString)+r;this.contentBuffer.push(g+`
|