makecoder 4.0.57 → 4.0.58

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 (45) hide show
  1. package/dist/cc.mjs +2 -2
  2. package/dist/coder.js +39 -39
  3. package/dist/darwin-arm64/cc.js +2 -2
  4. package/dist/darwin-x64/cc.js +2 -2
  5. package/dist/gemini/{chunk-P6AAZN7C.js → chunk-266SNVZB.js} +1 -1
  6. package/dist/gemini/{chunk-C7WYZFGG.js → chunk-2AH4XFVC.js} +2 -2
  7. package/dist/gemini/{chunk-YHLOYN7E.js → chunk-2BCRFXVD.js} +1 -1
  8. package/dist/gemini/{chunk-GMCQZQGQ.js → chunk-2I73JSEP.js} +3 -3
  9. package/dist/gemini/{chunk-VVPG7N67.js → chunk-3AZIBTSH.js} +1 -1
  10. package/dist/gemini/{chunk-UC3K4MCZ.js → chunk-7U34TXLX.js} +1 -1
  11. package/dist/gemini/{chunk-LA23QQDZ.js → chunk-C7ISM6PN.js} +1 -1
  12. package/dist/gemini/{chunk-QQRA4YFW.js → chunk-FJ6IIWF5.js} +1 -1
  13. package/dist/gemini/{chunk-QCMDS3PD.js → chunk-JKCNEXJF.js} +3 -3
  14. package/dist/gemini/{chunk-JNCEWGIV.js → chunk-JX43KPLT.js} +1 -1
  15. package/dist/gemini/{chunk-RKJKHDZC.js → chunk-P6YMHMJL.js} +1 -1
  16. package/dist/gemini/{chunk-HCTUJMZR.js → chunk-PZSSXHHP.js} +1 -1
  17. package/dist/gemini/{chunk-YG6QM4WI.js → chunk-QTFKUXKM.js} +1 -1
  18. package/dist/gemini/{chunk-MUVQ2FAZ.js → chunk-QYJUTNIU.js} +1 -1
  19. package/dist/gemini/{chunk-ZJ2D6ILW.js → chunk-STX7FBUU.js} +1 -1
  20. package/dist/gemini/{chunk-NJ4BSMX7.js → chunk-YJXXYFOM.js} +2 -2
  21. package/dist/gemini/{cleanup-S2LRI2Y4.js → cleanup-HVASUFMM.js} +1 -1
  22. package/dist/gemini/{cleanup-ZZNAJRKJ.js → cleanup-MJ7HQT46.js} +1 -1
  23. package/dist/gemini/{core-C22BYMS6.js → core-EOYLD74V.js} +1 -1
  24. package/dist/gemini/{devtoolsService-EGQAB3JU.js → devtoolsService-B7SSRNHW.js} +2 -2
  25. package/dist/gemini/{devtoolsService-YXEESS76.js → devtoolsService-FLOV3S5Z.js} +2 -2
  26. package/dist/gemini/{dist-X3AUJEIX.js → dist-NVGK4PVU.js} +1 -1
  27. package/dist/gemini/{gemini-X6HMGNFO.js → gemini-2Z2AJTYC.js} +5 -5
  28. package/dist/gemini/{gemini-ENBHDO7W.js → gemini-DRGPGRHF.js} +5 -5
  29. package/dist/gemini/gemini.js +2 -2
  30. package/dist/gemini/{interactiveCli-SZJWTGR5.js → interactiveCli-4K2UKYKF.js} +3 -3
  31. package/dist/gemini/{interactiveCli-CI6V7WL5.js → interactiveCli-TAIO5CBT.js} +9 -9
  32. package/dist/gemini/{liteRtServerManager-J7BSXFBK.js → liteRtServerManager-TUTNSHFW.js} +1 -1
  33. package/dist/gemini/{liteRtServerManager-BDF74U3A.js → liteRtServerManager-XJXZSOE7.js} +1 -1
  34. package/dist/gemini/{oauth2-provider-P65NTFUD.js → oauth2-provider-NEH5B4N6.js} +1 -1
  35. package/dist/gemini/{oauth2-provider-3MTIBHLN.js → oauth2-provider-QU5NILIP.js} +1 -1
  36. package/dist/gemini/{start-DYZJFE46.js → start-SOY6W5ZY.js} +1 -1
  37. package/dist/gemini/{start-KAI6HBJ2.js → start-TUGBMFO3.js} +1 -1
  38. package/dist/linux-x64/cc.js +2 -2
  39. package/dist/win32-x64/cc.js +2 -2
  40. package/package.json +5 -5
  41. package/packages/mcp-channel/wecom/package-lock.json +1313 -0
  42. package/scripts/postinstall.js +12 -12
  43. /package/{claude → packages}/mcp-channel/wecom/.mcp.json +0 -0
  44. /package/{claude → packages}/mcp-channel/wecom/package.json +0 -0
  45. /package/{claude → packages}/mcp-channel/wecom/server.js +0 -0
@@ -1,5 +1,5 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
- import{A as fl,B as ws,C as hl,Ca as $l,D as gl,E as yl,F as kl,I as Pl,Q as At,V as Cs,X as Ss,Z as Rl,_ as Nl,a as sl,b as gs,c as $n,d as Ce,f as ol,fa as Wo,g as Pe,j as il,k as vt,l as rl,m as al,n as ll,o as cl,oc as Dl,pc as jl,q as ge,qc as Fl,r as ys,rc as Es,s as mn,sc as qo,t as Ln,u as Ke,v as dl,w as ul,x as ml,y as Gu,z as pl}from"./chunk-GMCQZQGQ.js";import{c as Ll}from"./chunk-TU3BMADG.js";import{a as Il,b as Ml}from"./chunk-P6AAZN7C.js";import{a as Y,b as it}from"./chunk-ZJ2D6ILW.js";import{Aa as wl,Ca as bl,Da as xl,Ea as Cl,F as Xa,Fa as Sl,Ga as xs,Ha as El,Ia as _l,Ja as vl,Ka as Al,L as Ka,La as zo,Na as Tl,O as Uo,Oa as Ol,P as fs,Pa as Dn,Q as Dt,da as hs,ea as Ja,ga as Go,ia as jt,ka as Za,la as Qa,qa as el,ra as ze,ua as tl,va as ie,wa as nl,xa as Ft,ya as bs}from"./chunk-YHLOYN7E.js";import{d as Ya}from"./chunk-YG6QM4WI.js";import"./chunk-JNCEWGIV.js";import{a as Nn,c as Fo,f as dt,g as Ha,h as ye,i as Ba,k as Va}from"./chunk-QQRA4YFW.js";import{$e as ta,$f as sa,Am as wt,An as Da,Bd as je,Bh as ua,Bi as ha,Cc as Vr,Cm as Sa,Cn as ja,Dc as Lt,Gc as Yr,Gn as Fa,Hb as Hr,Ib as ko,Im as Ea,Jc as Xr,Jm as _a,Kg as ra,Li as $o,Nf as i,Of as na,Oh as yt,Om as va,Ph as ma,Pm as Aa,Qm as Ta,Qn as Ua,Rn as Ga,Sn as ms,Ul as wa,Vl as ds,Vm as Oa,Wm as Ia,Xl as ba,Xm as Do,Yj as ga,Ym as Ma,Zm as ka,ag as _t,ah as aa,ai as pa,an as Pa,b as Ir,bf as Ro,bo as za,co as jo,dg as oa,dn as Ra,fo as Wa,gd as Kr,gg as No,go as ps,jn as Na,jo as qa,kg as ia,kn as us,lc as $t,lk as ls,ln as $a,ma as qr,mc as Ne,na as rs,nc as Br,ne as He,nn as Te,oc as cn,od as Jr,ph as Rn,qh as la,rm as xa,s as ln,t as zr,ul as dn,um as Lo,vg as as,vl as cs,we as ea,wn as La,wo as Uu,x as Wr,xe as Po,xi as fa,xm as Ca,yd as Zr,yn as un,zd as Qr,zm as ot,zn as Fu}from"./chunk-NJ4BSMX7.js";import{$a as Lr,Aa as Rr,Ba as St,Ca as he,Da as Et,Dc as Ur,Ea as Mn,Fa as kn,Ga as Nr,Ha as an,Id as Io,Ke as ya,Sa as ss,Y as Qn,_a as $r,a as ve,aa as lt,ab as Dr,b as g,bb as _o,bd as is,cb as vo,d as Mr,da as ct,db as Ao,eb as To,fb as Oo,jb as Pn,ka as kr,kb as os,lb as jr,le as Mo,me as Gr,pb as Fr,qa as es,tb as gt,te as B,va as ts,ve as ca,we as da,xa as ee,ya as ns,za as Pr}from"./chunk-VJDLXRZ3.js";import"./chunk-TWIC4BKL.js";import"./chunk-JAFVB6DI.js";import"./chunk-A5A5SUZN.js";import{a as at,e as Fe}from"./chunk-YUXORC52.js";import{notStrictEqual as mm,strictEqual as pm}from"assert";var zu={right:Vu,center:Yu},Wu=0,_s=1,qu=2,vs=3,Ho=class{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){let t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);let t=e.map(s=>typeof s=="string"?this.colFromString(s):s);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){let t=e.split(`
2
+ import{A as fl,B as ws,C as hl,Ca as $l,D as gl,E as yl,F as kl,I as Pl,Q as At,V as Cs,X as Ss,Z as Rl,_ as Nl,a as sl,b as gs,c as $n,d as Ce,f as ol,fa as Wo,g as Pe,j as il,k as vt,l as rl,m as al,n as ll,o as cl,oc as Dl,pc as jl,q as ge,qc as Fl,r as ys,rc as Es,s as mn,sc as qo,t as Ln,u as Ke,v as dl,w as ul,x as ml,y as Gu,z as pl}from"./chunk-2I73JSEP.js";import{c as Ll}from"./chunk-TU3BMADG.js";import{a as Il,b as Ml}from"./chunk-3AZIBTSH.js";import{a as Y,b as it}from"./chunk-C7ISM6PN.js";import{Aa as wl,Ca as bl,Da as xl,Ea as Cl,F as Xa,Fa as Sl,Ga as xs,Ha as El,Ia as _l,Ja as vl,Ka as Al,L as Ka,La as zo,Na as Tl,O as Uo,Oa as Ol,P as fs,Pa as Dn,Q as Dt,da as hs,ea as Ja,ga as Go,ia as jt,ka as Za,la as Qa,qa as el,ra as ze,ua as tl,va as ie,wa as nl,xa as Ft,ya as bs}from"./chunk-2BCRFXVD.js";import{d as Ya}from"./chunk-QTFKUXKM.js";import"./chunk-JX43KPLT.js";import{a as Nn,c as Fo,f as dt,g as Ha,h as ye,i as Ba,k as Va}from"./chunk-FJ6IIWF5.js";import{$e as ta,$f as sa,Am as wt,An as Da,Bd as je,Bh as ua,Bi as ha,Cc as Vr,Cm as Sa,Cn as ja,Dc as Lt,Gc as Yr,Gn as Fa,Hb as Hr,Ib as ko,Im as Ea,Jc as Xr,Jm as _a,Kg as ra,Li as $o,Nf as i,Of as na,Oh as yt,Om as va,Ph as ma,Pm as Aa,Qm as Ta,Qn as Ua,Rn as Ga,Sn as ms,Ul as wa,Vl as ds,Vm as Oa,Wm as Ia,Xl as ba,Xm as Do,Yj as ga,Ym as Ma,Zm as ka,ag as _t,ah as aa,ai as pa,an as Pa,b as Ir,bf as Ro,bo as za,co as jo,dg as oa,dn as Ra,fo as Wa,gd as Kr,gg as No,go as ps,jn as Na,jo as qa,kg as ia,kn as us,lc as $t,lk as ls,ln as $a,ma as qr,mc as Ne,na as rs,nc as Br,ne as He,nn as Te,oc as cn,od as Jr,ph as Rn,qh as la,rm as xa,s as ln,t as zr,ul as dn,um as Lo,vg as as,vl as cs,we as ea,wn as La,wo as Uu,x as Wr,xe as Po,xi as fa,xm as Ca,yd as Zr,yn as un,zd as Qr,zm as ot,zn as Fu}from"./chunk-YJXXYFOM.js";import{$a as Lr,Aa as Rr,Ba as St,Ca as he,Da as Et,Dc as Ur,Ea as Mn,Fa as kn,Ga as Nr,Ha as an,Id as Io,Ke as ya,Sa as ss,Y as Qn,_a as $r,a as ve,aa as lt,ab as Dr,b as g,bb as _o,bd as is,cb as vo,d as Mr,da as ct,db as Ao,eb as To,fb as Oo,jb as Pn,ka as kr,kb as os,lb as jr,le as Mo,me as Gr,pb as Fr,qa as es,tb as gt,te as B,va as ts,ve as ca,we as da,xa as ee,ya as ns,za as Pr}from"./chunk-VJDLXRZ3.js";import"./chunk-TWIC4BKL.js";import"./chunk-JAFVB6DI.js";import"./chunk-A5A5SUZN.js";import{a as at,e as Fe}from"./chunk-YUXORC52.js";import{notStrictEqual as mm,strictEqual as pm}from"assert";var zu={right:Vu,center:Yu},Wu=0,_s=1,qu=2,vs=3,Ho=class{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){let t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);let t=e.map(s=>typeof s=="string"?this.colFromString(s):s);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){let t=e.split(`
3
3
  `).map(o=>o.split(" ")),s=0;return t.forEach(o=>{o.length>1&&Be.stringWidth(o[0])>s&&(s=Math.min(Math.floor(this.width*.5),Be.stringWidth(o[0])))}),t.forEach(o=>{this.div(...o.map((r,a)=>({text:r.trim(),padding:this.measurePadding(r),width:a===0&&o.length>1?s:void 0})))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){let t=Be.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){let e=[];return this.rows.forEach(t=>{this.rowToString(t,e)}),e.filter(t=>!t.hidden).map(t=>t.text).join(`
4
4
  `)}rowToString(e,t){return this.rasterize(e).forEach((s,o)=>{let r="";s.forEach((a,l)=>{let{width:c}=e[l],p=this.negatePadding(e[l]),d=a;if(p>Be.stringWidth(a)&&(d+=" ".repeat(p-Be.stringWidth(a))),e[l].align&&e[l].align!=="left"&&this.wrap){let h=zu[e[l].align];d=h(d,p),Be.stringWidth(d)<p&&(d+=" ".repeat((c||0)-Be.stringWidth(d)-1))}let u=e[l].padding||[0,0,0,0];u[vs]&&(r+=" ".repeat(u[vs])),r+=Ul(e[l],d,"| "),r+=d,r+=Ul(e[l],d," |"),u[_s]&&(r+=" ".repeat(u[_s])),o===0&&t.length>0&&(r=this.renderInline(r,t[t.length-1]))}),t.push({text:r.replace(/ +$/,""),span:e.span})}),t}renderInline(e,t){let s=e.match(/^ */),o=s?s[0].length:0,r=t.text,a=Be.stringWidth(r.trimRight());return t.span?this.wrap?o<a?e:(t.hidden=!0,r.trimRight()+" ".repeat(o-a)+e.trimLeft()):(t.hidden=!0,r+e):e}rasterize(e){let t=[],s=this.columnWidths(e),o;return e.forEach((r,a)=>{r.width=s[a],this.wrap?o=Be.wrap(r.text,this.negatePadding(r),{hard:!0}).split(`
5
5
  `):o=r.text.split(`
@@ -105,7 +105,7 @@ This warning can be disabled in /settings`:null}catch{return"Could not verify th
105
105
  `)),0),clear:()=>{},setDebugMessage:n=>{},loadHistory:n=>{},pendingItem:null,setPendingItem:n=>{},toggleCorgiMode:()=>{},toggleDebugProfiler:()=>{},toggleVimEnabled:async()=>!1,reloadCommands:()=>{},openAgentConfigDialog:()=>{},extensionsUpdateState:new Map,dispatchExtensionStateUpdate:n=>{},addConfirmUpdateExtensionRequest:n=>{},setConfirmationRequest:n=>{},removeComponent:()=>{},toggleBackgroundTasks:()=>{},toggleShortcutsHelp:()=>{},toggleVoiceMode:()=>{}}}var Xs=async(n,e,t,s)=>{let o=n.trim();if(!o.startsWith("/"))return;let a=(await Nl.create([new Dl(t),new jl(t),new $l(t)],e.signal)).getCommands(),{commandToExecute:l,args:c}=Rl(n,a);if(l&&l.action){let p={sessionId:t?.getSessionId(),sessionStartTime:new Date,metrics:je.getMetrics(),lastPromptTokenCount:0,promptCount:1},d=new Na(t?.getSessionId()||"",t?.storage),u={services:{agentContext:t,settings:s,git:void 0,logger:d},ui:Ud(),session:{stats:p,sessionShellAllowlist:new Set},invocation:{raw:o,name:l.name,args:c}},h=await l.action(u,c);if(h)switch(h.type){case"submit_prompt":return h.content;case"confirm_shell_commands":throw new St("Exiting due to a confirmation prompt requested by the command.");default:throw new St("Exiting due to command result that is not supported in non-interactive mode.")}}};function Gd(n){let e=n;return typeof e.exitCode=="number"?e.exitCode:e.code!==void 0?e.code:e.status!==void 0?e.status:1}function zd(n){return typeof n=="number"?n:1}function vn(n,e,t){let s=La(n,e.getContentGeneratorConfig()?.authType);if(e.getOutputFormat()==="stream-json"){let o=new wt,r=t??Gd(n),a=je.getMetrics();o.emitEvent({type:"result",timestamp:new Date().toISOString(),status:"error",error:{type:ns(n),message:s},stats:o.convertToStreamStats(a,0)}),dt(),process.exit(zd(r))}else if(e.getOutputFormat()==="json"){let o=new ot,r=t??Gd(n),a=o.formatError(n instanceof Error?n:new Error(ee(n)),r,e.getSessionId());B.emitFeedback("error",a),dt(),process.exit(zd(r))}else throw n}function Ks(n,e,t,s,o){let r=`Error executing tool ${n}: ${o||e.message}`;if(Mr(s)){let l=new kn(r);if(t.getOutputFormat()==="stream-json"){let c=new wt,p=je.getMetrics();c.emitEvent({type:"result",timestamp:new Date().toISOString(),status:"error",error:{type:s??"FatalToolExecutionError",message:l.message},stats:c.convertToStreamStats(p,0)})}else if(t.getOutputFormat()==="json"){let p=new ot().formatError(l,s??l.exitCode,t.getSessionId());B.emitFeedback("error",p)}else B.emitFeedback("error",r);dt(),process.exit(l.exitCode)}g.warn(r)}function qd(n){let e=new an("Operation cancelled.");if(n.getOutputFormat()==="stream-json"){let t=new wt,s=je.getMetrics();t.emitEvent({type:"result",timestamp:new Date().toISOString(),status:"error",error:{type:ns(e),message:e.message},stats:t.convertToStreamStats(s,0)}),dt(),process.exit(e.exitCode)}else if(n.getOutputFormat()==="json"){let s=new ot().formatError(e,e.exitCode,n.getSessionId());B.emitFeedback("error",s),dt(),process.exit(e.exitCode)}else B.emitFeedback("error",e.message),dt(),process.exit(e.exitCode)}function Hd(n){let e=new Mn("Reached max session turns for this session. Increase the number of turns by specifying maxSessionTurns in settings.json.");if(n.getOutputFormat()==="stream-json"){let t=new wt,s=je.getMetrics();t.emitEvent({type:"result",timestamp:new Date().toISOString(),status:"error",error:{type:ns(e),message:e.message},stats:t.convertToStreamStats(s,0)}),dt(),process.exit(e.exitCode)}else if(n.getOutputFormat()==="json"){let s=new ot().formatError(e,e.exitCode,n.getSessionId());B.emitFeedback("error",s),dt(),process.exit(e.exitCode)}else B.emitFeedback("error",e.message),dt(),process.exit(e.exitCode)}var An=class{atStartOfLine=!0;outputStream;constructor(e=process.stdout){this.outputStream=e}write(e){if(e.length===0)return;this.outputStream.write(e);let t=yt(e);t.length>0&&(this.atStartOfLine=t.endsWith(`
106
106
  `))}writeOnNewLine(e){this.atStartOfLine||this.write(`
107
107
  `),this.write(e)}ensureTrailingNewline(){this.atStartOfLine||this.write(`
108
- `)}};import Bd from"node:readline";async function Vd({config:n,settings:e,input:t,prompt_id:s,resumedSessionData:o}){return as.run(s,async()=>{let r=new At({stderr:!0,interactive:!1,debugMode:n.getDebugMode(),onNewMessage:M=>{B.emitConsoleLog(M.type,M.content)}});if(process.env.GEMINI_CLI_ACTIVITY_LOG_TARGET){let{setupInitialActivityLogger:M}=await import("./devtoolsService-EGQAB3JU.js");M(n)}let{stdout:a}=cn(),l=new An(a),c=M=>{let N=M.severity.toUpperCase();if(process.stderr.write(`[${N}] ${M.message}
108
+ `)}};import Bd from"node:readline";async function Vd({config:n,settings:e,input:t,prompt_id:s,resumedSessionData:o}){return as.run(s,async()=>{let r=new At({stderr:!0,interactive:!1,debugMode:n.getDebugMode(),onNewMessage:M=>{B.emitConsoleLog(M.type,M.content)}});if(process.env.GEMINI_CLI_ACTIVITY_LOG_TARGET){let{setupInitialActivityLogger:M}=await import("./devtoolsService-B7SSRNHW.js");M(n)}let{stdout:a}=cn(),l=new An(a),c=M=>{let N=M.severity.toUpperCase();if(process.stderr.write(`[${N}] ${M.message}
109
109
  `),M.error&&n.getDebugMode()){let K=M.error instanceof Error?M.error.stack||M.error.message:String(M.error);process.stderr.write(`${K}
110
110
  `)}},p=Date.now(),d=n.getOutputFormat()==="stream-json"?new wt:null,u=new AbortController,h=!1,f=null,b=!1,_=null,w=()=>{if(!process.stdin.isTTY)return;b=process.stdin.isRaw||!1,process.stdin.setRawMode(!0),process.stdin.resume(),_=Bd.createInterface({input:process.stdin,escapeCodeTimeout:0}),Bd.emitKeypressEvents(process.stdin,_);let M=(N,K)=>{if(K&&K.ctrl&&K.name==="c"||N===""){if(h)return;h=!0,f=setTimeout(()=>{process.stderr.write(`
111
111
  Cancelling...
@@ -114,7 +114,7 @@ Cancelling...
114
114
  `)}if(A.data?.errorType==="no_space_left")throw new kn("Error executing tool "+A.name+": "+(z||U));Ks(A.name,new Error(U),n,typeof A.data?.errorType=="string"?A.data.errorType:void 0,z)}break}case"error":{if(A.fatal)throw $(A);if(A._meta?.code==="AGENT_EXECUTION_BLOCKED"){let U=`Agent execution blocked: ${A.message.trim()}`;n.getOutputFormat()==="text"?process.stderr.write(`[WARNING] ${U}
115
115
  `):d&&d.emitEvent({type:"error",timestamp:new Date().toISOString(),severity:"warning",message:yt(U)}),R.push(U);break}let z=A.status==="RESOURCE_EXHAUSTED"?"error":"warning";n.getOutputFormat()==="text"&&process.stderr.write(`[WARNING] ${A.message}
116
116
  `),d&&d.emitEvent({type:"error",timestamp:new Date().toISOString(),severity:z,message:yt(A.message)}),R.push(A.message);break}case"agent_end":{if(A.reason==="aborted")throw new an("Operation cancelled.");if(A.reason==="max_turns"){if(typeof A.data?.maxTurns=="number"||typeof A.data?.turnCount=="number")throw new Mn("Reached max session turns for this session. Increase the number of turns by specifying maxSessionTurns in settings.json.");d&&d.emitEvent({type:"error",timestamp:new Date().toISOString(),severity:"error",message:"Maximum session turns exceeded"})}let L=typeof A.data?.message=="string"?A.data.message:"";L&&n.getOutputFormat()==="text"&&process.stderr.write(`Agent execution stopped: ${L}
117
- `),W(),O=!0;break}case"initialize":case"session_update":case"agent_start":case"tool_update":case"elicitation_request":case"elicitation_response":case"usage":case"custom":break;default:g.error("Unknown agent event type:",A);break}}}catch(M){k=M}finally{P(),u.signal.removeEventListener("abort",E),v?.dispose(),r.cleanup(),B.off("user-feedback",c)}k&&vn(k,n)})}async function Xd(n){if(n.config.getAgentSessionNoninteractiveEnabled())return g.debug("[ADK] Running non-interactive mode with ADK agent session"),Vd(n);let{config:t,settings:s,input:o,prompt_id:r,resumedSessionData:a}=n;return as.run(r,async()=>{let l=new At({stderr:!0,interactive:!1,debugMode:t.getDebugMode(),onNewMessage:N=>{B.emitConsoleLog(N.type,N.content)}});if(process.env.GEMINI_CLI_ACTIVITY_LOG_TARGET){let{setupInitialActivityLogger:N}=await import("./devtoolsService-EGQAB3JU.js");N(t)}let{stdout:c}=cn(),p=new An(c),d=N=>{let K=N.severity.toUpperCase();if(process.stderr.write(`[${K}] ${N.message}
117
+ `),W(),O=!0;break}case"initialize":case"session_update":case"agent_start":case"tool_update":case"elicitation_request":case"elicitation_response":case"usage":case"custom":break;default:g.error("Unknown agent event type:",A);break}}}catch(M){k=M}finally{P(),u.signal.removeEventListener("abort",E),v?.dispose(),r.cleanup(),B.off("user-feedback",c)}k&&vn(k,n)})}async function Xd(n){if(n.config.getAgentSessionNoninteractiveEnabled())return g.debug("[ADK] Running non-interactive mode with ADK agent session"),Vd(n);let{config:t,settings:s,input:o,prompt_id:r,resumedSessionData:a}=n;return as.run(r,async()=>{let l=new At({stderr:!0,interactive:!1,debugMode:t.getDebugMode(),onNewMessage:N=>{B.emitConsoleLog(N.type,N.content)}});if(process.env.GEMINI_CLI_ACTIVITY_LOG_TARGET){let{setupInitialActivityLogger:N}=await import("./devtoolsService-B7SSRNHW.js");N(t)}let{stdout:c}=cn(),p=new An(c),d=N=>{let K=N.severity.toUpperCase();if(process.stderr.write(`[${K}] ${N.message}
118
118
  `),N.error&&t.getDebugMode()){let te=N.error instanceof Error?N.error.stack||N.error.message:String(N.error);process.stderr.write(`${te}
119
119
  `)}},u=Date.now(),h=t.getOutputFormat()==="stream-json"?new wt:null,f=new AbortController,b=!1,_=null,w=!1,P=null,k=()=>{if(!process.stdin.isTTY)return;w=process.stdin.isRaw||!1,process.stdin.setRawMode(!0),process.stdin.resume(),P=Yd.createInterface({input:process.stdin,escapeCodeTimeout:0}),Yd.emitKeypressEvents(process.stdin,P);let N=(K,te)=>{if(te&&te.ctrl&&te.name==="c"||K===""){if(b)return;b=!0,_=setTimeout(()=>{process.stderr.write(`
120
120
  Cancelling...
@@ -171,10 +171,10 @@ Reason: ${e}${e instanceof Error&&e.stack?`
171
171
  Stack trace:
172
172
  ${e.stack}`:""}`;g.error(s),n||(n=!0,Ll.emit("open-debug-console"))})}async function xg(n,e,t){if(!n&&!e&&!t)return{sessionId:ms()};let s=new ss(process.cwd());await s.initialize();let o=new jt(s);if(t)try{let r=await Zr(t);if(!r)throw new Error(`File not found or invalid format: ${t}`);let a=Date.now(),l=new Date(a).toISOString();r.messages=(r.messages||[]).filter(b=>typeof b=="object"&&b!==null&&(b.type==="user"||b.type==="gemini")&&b.content!==void 0),r.messages.unshift({id:`import-${a}`,type:"info",content:`Imported session from ${t}`,timestamp:l});let c=ms();r.sessionId=c,r.projectHash=kr(s.getProjectRoot()),r.startTime=l,r.lastUpdated=l;let p=Or.join(s.getProjectTempDir(),"chats"),d=Or.join(p,`session-${a}-${c.slice(0,8)}.jsonl`),{messages:u,...h}=r,f=[JSON.stringify(h)];if(r.messages)for(let b of r.messages)f.push(JSON.stringify(b));return await So.mkdir(p,{recursive:!0}),await So.writeFile(d,f.join(`
173
173
  `)+`
174
- `,"utf-8"),{sessionId:c,resumedSessionData:{conversation:r,filePath:d}}}catch(r){B.emitFeedback("error",`Error importing session from file: ${r instanceof Error?r.message:"Unknown error"}`),await ye(),process.exit(Te.FATAL_INPUT_ERROR)}if(e)return await o.sessionExists(e)&&(B.emitFeedback("error",`Error starting session: Session ID "${e}" already exists. Use --resume to resume it, or provide a different ID.`),await ye(),process.exit(Te.FATAL_INPUT_ERROR)),{sessionId:e};try{let{sessionData:r,sessionPath:a}=await o.resolveSession(n);return{sessionId:r.sessionId,resumedSessionData:{conversation:r,filePath:a}}}catch(r){if(r instanceof Ja&&r.code==="NO_SESSIONS_FOUND"&&n===hs)return B.emitFeedback("warning",r.message),{sessionId:ms()};B.emitFeedback("error",`Error resuming session: ${r instanceof Error?r.message:"Unknown error"}`),await ye(),process.exit(Te.FATAL_INPUT_ERROR)}}async function Cg(n,e,t,s=process.cwd(),o,r){let{startInteractiveUI:a}=await import("./interactiveCli-SZJWTGR5.js");await a(n,e,t,s,o,r)}async function DA(){let n,e=He.start("cli_startup"),t=Sg();Nn(t.cleanup);let s=Br();Fo(()=>{nt(n),s()}),bg(),Ba();let o=new Co;o.start(),Nn(()=>o.stop());let r=He.start("load_settings"),a=ie();r?.end();let l=Od(a),c;if(l!==void 0){let N=He.start("setup_worktree");c=await Kd(l||void 0),N?.end()}let p=He.start("cleanup_ops");Promise.all([Va(),Qa(a.merged),Lu()]).catch(N=>{g.error("Early cleanup failed:",N)}).finally(()=>{p?.end()});let d=He.start("parse_arguments"),u=Id(a.merged).finally(()=>{d?.end()}),h=jd();a.errors.forEach(N=>{B.emitFeedback("warning",N.message)}),fs().errors.forEach(N=>{B.emitFeedback("warning",`Error in ${N.path}: ${N.message}`)});let b=await u,{sessionId:_,resumedSessionData:w}=await xg(b.resume,b.sessionId,b.sessionFile);(b.allowedTools&&b.allowedTools.length>0||a.merged.tools?.allowed&&a.merged.tools.allowed.length>0)&&B.emitFeedback("warning","Warning: --allowed-tools cli argument and tools.allowed in settings.json are deprecated and will be removed in 1.0: Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/"),a.merged.tools?.exclude&&a.merged.tools.exclude.length>0&&B.emitFeedback("warning","Warning: tools.exclude in settings.json is deprecated and will be removed in 1.0. Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/"),b.startupMessages&&b.startupMessages.forEach(N=>{B.emitFeedback("info",N)}),b.promptInteractive&&!process.stdin.isTTY&&(Ne(`Error: The --prompt-interactive flag cannot be used when input is piped from stdin.
174
+ `,"utf-8"),{sessionId:c,resumedSessionData:{conversation:r,filePath:d}}}catch(r){B.emitFeedback("error",`Error importing session from file: ${r instanceof Error?r.message:"Unknown error"}`),await ye(),process.exit(Te.FATAL_INPUT_ERROR)}if(e)return await o.sessionExists(e)&&(B.emitFeedback("error",`Error starting session: Session ID "${e}" already exists. Use --resume to resume it, or provide a different ID.`),await ye(),process.exit(Te.FATAL_INPUT_ERROR)),{sessionId:e};try{let{sessionData:r,sessionPath:a}=await o.resolveSession(n);return{sessionId:r.sessionId,resumedSessionData:{conversation:r,filePath:a}}}catch(r){if(r instanceof Ja&&r.code==="NO_SESSIONS_FOUND"&&n===hs)return B.emitFeedback("warning",r.message),{sessionId:ms()};B.emitFeedback("error",`Error resuming session: ${r instanceof Error?r.message:"Unknown error"}`),await ye(),process.exit(Te.FATAL_INPUT_ERROR)}}async function Cg(n,e,t,s=process.cwd(),o,r){let{startInteractiveUI:a}=await import("./interactiveCli-4K2UKYKF.js");await a(n,e,t,s,o,r)}async function DA(){let n,e=He.start("cli_startup"),t=Sg();Nn(t.cleanup);let s=Br();Fo(()=>{nt(n),s()}),bg(),Ba();let o=new Co;o.start(),Nn(()=>o.stop());let r=He.start("load_settings"),a=ie();r?.end();let l=Od(a),c;if(l!==void 0){let N=He.start("setup_worktree");c=await Kd(l||void 0),N?.end()}let p=He.start("cleanup_ops");Promise.all([Va(),Qa(a.merged),Lu()]).catch(N=>{g.error("Early cleanup failed:",N)}).finally(()=>{p?.end()});let d=He.start("parse_arguments"),u=Id(a.merged).finally(()=>{d?.end()}),h=jd();a.errors.forEach(N=>{B.emitFeedback("warning",N.message)}),fs().errors.forEach(N=>{B.emitFeedback("warning",`Error in ${N.path}: ${N.message}`)});let b=await u,{sessionId:_,resumedSessionData:w}=await xg(b.resume,b.sessionId,b.sessionFile);(b.allowedTools&&b.allowedTools.length>0||a.merged.tools?.allowed&&a.merged.tools.allowed.length>0)&&B.emitFeedback("warning","Warning: --allowed-tools cli argument and tools.allowed in settings.json are deprecated and will be removed in 1.0: Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/"),a.merged.tools?.exclude&&a.merged.tools.exclude.length>0&&B.emitFeedback("warning","Warning: tools.exclude in settings.json is deprecated and will be removed in 1.0. Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/"),b.startupMessages&&b.startupMessages.forEach(N=>{B.emitFeedback("info",N)}),b.promptInteractive&&!process.stdin.isTTY&&(Ne(`Error: The --prompt-interactive flag cannot be used when input is piped from stdin.
175
175
  `),await ye(),process.exit(Te.FATAL_INPUT_ERROR));let P=Pi(b),k=new At({stderr:!b.isCommand,interactive:!(Lt()&&!b.isCommand),debugMode:P,onNewMessage:N=>{B.emitConsoleLog(N.type,N.content)}});k.patch(),hg.setDefaultResultOrder(gg(a.merged.advanced.dnsResolutionOrder)),(!a.merged.security.auth.selectedType||a.merged.security.auth.selectedType==="cloud-shell")&&(process.env.CLOUD_SHELL==="true"||process.env.GEMINI_CLI_USE_COMPUTE_ADC==="true")&&a.setValue("User","security.auth.selectedType","compute-default-credentials");let v=await Qt(a.merged,_,b,{projectHooks:a.workspace.settings.hooks,skipExtensions:!0,skipMemoryLoad:!0});t.setConfig(v);let E=!1;if(!a.merged.security.auth.useExternal&&!b.isCommand)try{if(v.isInteractive()&&a.merged.security.auth.selectedType){let N=Es(a.merged.security.auth.selectedType);if(N)throw new Error(N);await v.refreshAuth(a.merged.security.auth.selectedType)}else if(!v.isInteractive()){let N=await Tr(a.merged.security.auth.selectedType,a.merged.security.auth.useExternal,v,a);await v.refreshAuth(N)}}catch(N){N instanceof aa&&(await ye(),process.exit(Te.SUCCESS)),N instanceof ia||(g.error("Error authenticating:",N),E=!0)}let M=v.getRemoteAdminSettings();if(M&&(a.setRemoteAdminSettings(M),process.send&&process.send({type:"admin-settings-update",settings:M})),await Hc(a.merged),!process.env.SANDBOX&&!b.isCommand){let N=a.merged.advanced.autoConfigureMemory?wg(P):[],K=await Ys(a.merged,b);if(K){E&&(await ye(),process.exit(Te.FATAL_AUTHENTICATION_ERROR));let te="";process.stdin.isTTY||(te=await Ri());let W=(($,I)=>{let C=[...$];if(I){let O=C.findIndex(R=>R==="--prompt"||R==="-p");O>-1&&C.length>O+1?C[O+1]=`${I}
176
176
 
177
- ${C[O+1]}`:C.push("--prompt",I)}return C})(process.argv,te);await ku(()=>Dd(K,N,v,W)),await ye(),process.exit(Te.SUCCESS)}}{let N=He.start("load_cli_config");if(n=await Qt(a.merged,_,b,{projectHooks:a.workspace.settings.hooks,worktreeSettings:c}),N?.end(),await n.storage.initialize(),t.setConfig(n),n.isInteractive()&&a.merged.general.devtools){let{setupInitialActivityLogger:ce}=await import("./devtoolsService-EGQAB3JU.js");ce(n)}Ha(n);let K=n.getPolicyEngine(),te=n.getMessageBus();if(Ad(K,te,n.storage),Nn(async()=>{await n.getHookSystem()?.fireSessionEndEvent("exit")}),n.getAcpMode()||Nn(k.cleanup),Za(n,a.merged).catch(ce=>{g.error("Failed to cleanup expired sessions:",ce)}),n.getListExtensions()){g.log("Installed extensions:");for(let ce of n.getExtensions())g.log(`- ${ce.name}`);await ye(),process.exit(Te.SUCCESS)}if(n.getListSessions()){let ce=a.merged.security.auth.selectedType;if(ce)try{await n.refreshAuth(ce)}catch(q){g.debug("Auth failed for --list-sessions, summaries may not be generated:",q)}await Pu(n),await ye(),process.exit(Te.SUCCESS)}let ne=n.getDeleteSession();ne&&(await Ru(n,ne),await ye(),process.exit(Te.SUCCESS));let W=process.stdin.isRaw;n.isInteractive()&&!W&&process.stdin.isTTY&&(process.stdin.setRawMode(!0),Fo(()=>{process.stdin.setRawMode(W)}));let $=He.start("setup_terminal");await Nu(n,a),$?.end();let I=He.start("initialize_app"),C=await Fl(n,a);if(I?.end(),import("./liteRtServerManager-J7BSXFBK.js").then(({LiteRtServerManager:ce})=>{let q=a.merged.experimental?.gemmaModelRouter;if(!q)return;let me=a.forScope("User").settings.experimental?.gemmaModelRouter;return ce.ensureRunning({...q,binaryPath:me?.binaryPath,autoStartServer:me?.autoStartServer})}).catch(ce=>g.warn("LiteRT auto-start import failed:",ce)),a.merged.security.auth.selectedType==="oauth-personal"&&n.isBrowserLaunchSuppressed()&&await Yr(a.merged.security.auth.selectedType,n),n.getAcpMode())return Mu(n,a,b);let O=n.getQuestion(),R=Vr(n.getUseAlternateBuffer(),n.getScreenReader()),L=[...(await h).map(ce=>({id:`startup-${mg("sha256").update(ce).digest("hex").substring(0,16)}`,message:ce,priority:"high"})),...await Fd(a.merged,void 0,{isAlternateBuffer:R})];if(e?.end(),!n.isInteractive())for(let ce of L)Ne(ce.message+`
177
+ ${C[O+1]}`:C.push("--prompt",I)}return C})(process.argv,te);await ku(()=>Dd(K,N,v,W)),await ye(),process.exit(Te.SUCCESS)}}{let N=He.start("load_cli_config");if(n=await Qt(a.merged,_,b,{projectHooks:a.workspace.settings.hooks,worktreeSettings:c}),N?.end(),await n.storage.initialize(),t.setConfig(n),n.isInteractive()&&a.merged.general.devtools){let{setupInitialActivityLogger:ce}=await import("./devtoolsService-B7SSRNHW.js");ce(n)}Ha(n);let K=n.getPolicyEngine(),te=n.getMessageBus();if(Ad(K,te,n.storage),Nn(async()=>{await n.getHookSystem()?.fireSessionEndEvent("exit")}),n.getAcpMode()||Nn(k.cleanup),Za(n,a.merged).catch(ce=>{g.error("Failed to cleanup expired sessions:",ce)}),n.getListExtensions()){g.log("Installed extensions:");for(let ce of n.getExtensions())g.log(`- ${ce.name}`);await ye(),process.exit(Te.SUCCESS)}if(n.getListSessions()){let ce=a.merged.security.auth.selectedType;if(ce)try{await n.refreshAuth(ce)}catch(q){g.debug("Auth failed for --list-sessions, summaries may not be generated:",q)}await Pu(n),await ye(),process.exit(Te.SUCCESS)}let ne=n.getDeleteSession();ne&&(await Ru(n,ne),await ye(),process.exit(Te.SUCCESS));let W=process.stdin.isRaw;n.isInteractive()&&!W&&process.stdin.isTTY&&(process.stdin.setRawMode(!0),Fo(()=>{process.stdin.setRawMode(W)}));let $=He.start("setup_terminal");await Nu(n,a),$?.end();let I=He.start("initialize_app"),C=await Fl(n,a);if(I?.end(),import("./liteRtServerManager-TUTNSHFW.js").then(({LiteRtServerManager:ce})=>{let q=a.merged.experimental?.gemmaModelRouter;if(!q)return;let me=a.forScope("User").settings.experimental?.gemmaModelRouter;return ce.ensureRunning({...q,binaryPath:me?.binaryPath,autoStartServer:me?.autoStartServer})}).catch(ce=>g.warn("LiteRT auto-start import failed:",ce)),a.merged.security.auth.selectedType==="oauth-personal"&&n.isBrowserLaunchSuppressed()&&await Yr(a.merged.security.auth.selectedType,n),n.getAcpMode())return Mu(n,a,b);let O=n.getQuestion(),R=Vr(n.getUseAlternateBuffer(),n.getScreenReader()),L=[...(await h).map(ce=>({id:`startup-${mg("sha256").update(ce).digest("hex").substring(0,16)}`,message:ce,priority:"high"})),...await Fd(a.merged,void 0,{isAlternateBuffer:R})];if(e?.end(),!n.isInteractive())for(let ce of L)Ne(ce.message+`
178
178
  `);if(n.isInteractive()){process.stdin.isTTY&&process.stdin.resume(),await Cg(n,a,L,process.cwd(),w,C);return}await n.initialize(),He.flush(n);let z;process.stdin.isTTY||(z=await Ri(),z&&(O=O?`${z}
179
179
 
180
180
  ${O}`:z));let U=w?"resume":"startup",re=n?.getHookSystem();if(re){let ce=await re.fireSessionStartEvent(U);if(ce){ce.systemMessage&&Ne(ce.systemMessage+`
@@ -1,5 +1,5 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
- import{A as Al,B as Os,C as Tl,Ca as Vl,D as Ol,E as Il,F as Wl,I as ql,Q as $t,V as ks,X as Ps,Z as Hl,_ as Bl,a as hl,b as As,c as Hn,d as _e,f as gl,fa as ei,g as Le,j as yl,k as Nt,l as wl,m as bl,n as xl,o as Cl,oc as Xl,pc as Kl,q as be,qc as Jl,r as Ts,rc as Rs,s as Sn,sc as ti,t as Bn,u as it,v as Sl,w as El,x as _l,y as Zu,z as vl}from"./chunk-QCMDS3PD.js";import{c as Yl}from"./chunk-TU3BMADG.js";import{a as Gl,b as zl}from"./chunk-VVPG7N67.js";import{a as Y,b as ft}from"./chunk-LA23QQDZ.js";import{Aa as Ml,Ca as kl,Da as Pl,Ea as Rl,F as al,Fa as Nl,Ga as Ms,Ha as $l,Ia as Ll,Ja as Dl,Ka as jl,L as ll,La as Qo,Na as Fl,O as Jo,Oa as Ul,P as _s,Pa as Vn,Q as Bt,da as vs,ea as cl,ga as Zo,ia as Vt,ka as dl,la as ul,qa as ml,ra as Ke,ua as pl,va as ie,wa as fl,xa as Yt,ya as Is}from"./chunk-UC3K4MCZ.js";import{d as rl}from"./chunk-MUVQ2FAZ.js";import"./chunk-HCTUJMZR.js";import{a as qn,c as Ko,f as bt,g as sl,h as xe,i as ol,k as il}from"./chunk-RKJKHDZC.js";import{$e as ua,$f as pa,Am as Tt,An as Ya,Bd as We,Bh as Ca,Bi as va,Bm as Vo,Cc as sa,Cm as Ra,Cn as Xa,Dc as Ht,Gc as oa,Gn as Ka,Hb as ta,Ib as Uo,Im as Na,Jc as ia,Jm as $a,Kg as ga,Li as qo,Mi as Fe,Nf as i,Of as ma,Oh as At,Om as La,Ph as Sa,Pm as Da,Qm as ja,Qn as Ja,Rn as Za,Sn as Ss,Ul as Ia,Vl as xs,Vm as Fa,Wm as Ua,Xl as Ma,Xm as Yo,Yj as Ta,Ym as Ga,Zm as za,_l as et,ag as Rt,ah as ya,ai as Ea,an as Wa,ao as Cn,b as Fr,bf as zo,bl as pe,bo as Qa,cl as ge,co as Xo,dg as fa,dn as qa,fo as el,gd as ra,gg as Wo,go as Es,jn as Ha,jo as tl,kg as ha,kn as Cs,lc as qt,lj as Ho,lk as ws,ln as Ba,ma as ea,mc as je,mj as Aa,na as hs,nc as na,ne as Qe,nn as Me,oa as gs,oc as wn,od as aa,oo as nl,ph as Ve,qh as wa,rm as ka,s as yn,t as Zr,ul as bn,um as Bo,vg as ys,vl as bs,we as da,wn as Va,wo as Ju,x as Qr,xe as Go,xi as _a,xm as Pa,yd as la,yn as xn,zd as ca,zm as pt,zn as Ku}from"./chunk-C7WYZFGG.js";import{$a as Br,Aa as Wr,Ba as kt,Ca as we,D as He,Da as Pt,Dc as Kr,Ea as Gn,Fa as zn,Ga as qr,Ha as gn,Id as jo,Ke as Oa,Sa as ms,Y as ye,Z as Xe,_a as Hr,a as Oe,aa as yt,ab as Vr,b as g,bb as Ro,bd as fs,c as Un,cb as No,d as Ur,da as wt,db as $o,eb as Lo,fb as Do,jb as Wn,ka as Gr,kb as ps,lb as Yr,le as Fo,me as Jr,pb as Xr,qa as cs,re as $e,tb as vt,te as B,va as ds,ve as ba,we as xa,xa as ee,ya as us,za as zr}from"./chunk-CPZLOVAV.js";import"./chunk-TWIC4BKL.js";import"./chunk-JAFVB6DI.js";import"./chunk-A5A5SUZN.js";import{a as gt,e as qe}from"./chunk-YUXORC52.js";import{notStrictEqual as Em,strictEqual as _m}from"assert";var Qu={right:om,center:im},em=0,Ns=1,tm=2,$s=3,ni=class{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){let t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);let t=e.map(s=>typeof s=="string"?this.colFromString(s):s);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){let t=e.split(`
2
+ import{A as Al,B as Os,C as Tl,Ca as Vl,D as Ol,E as Il,F as Wl,I as ql,Q as $t,V as ks,X as Ps,Z as Hl,_ as Bl,a as hl,b as As,c as Hn,d as _e,f as gl,fa as ei,g as Le,j as yl,k as Nt,l as wl,m as bl,n as xl,o as Cl,oc as Xl,pc as Kl,q as be,qc as Jl,r as Ts,rc as Rs,s as Sn,sc as ti,t as Bn,u as it,v as Sl,w as El,x as _l,y as Zu,z as vl}from"./chunk-JKCNEXJF.js";import{c as Yl}from"./chunk-TU3BMADG.js";import{a as Gl,b as zl}from"./chunk-266SNVZB.js";import{a as Y,b as ft}from"./chunk-STX7FBUU.js";import{Aa as Ml,Ca as kl,Da as Pl,Ea as Rl,F as al,Fa as Nl,Ga as Ms,Ha as $l,Ia as Ll,Ja as Dl,Ka as jl,L as ll,La as Qo,Na as Fl,O as Jo,Oa as Ul,P as _s,Pa as Vn,Q as Bt,da as vs,ea as cl,ga as Zo,ia as Vt,ka as dl,la as ul,qa as ml,ra as Ke,ua as pl,va as ie,wa as fl,xa as Yt,ya as Is}from"./chunk-7U34TXLX.js";import{d as rl}from"./chunk-QYJUTNIU.js";import"./chunk-PZSSXHHP.js";import{a as qn,c as Ko,f as bt,g as sl,h as xe,i as ol,k as il}from"./chunk-P6YMHMJL.js";import{$e as ua,$f as pa,Am as Tt,An as Ya,Bd as We,Bh as Ca,Bi as va,Bm as Vo,Cc as sa,Cm as Ra,Cn as Xa,Dc as Ht,Gc as oa,Gn as Ka,Hb as ta,Ib as Uo,Im as Na,Jc as ia,Jm as $a,Kg as ga,Li as qo,Mi as Fe,Nf as i,Of as ma,Oh as At,Om as La,Ph as Sa,Pm as Da,Qm as ja,Qn as Ja,Rn as Za,Sn as Ss,Ul as Ia,Vl as xs,Vm as Fa,Wm as Ua,Xl as Ma,Xm as Yo,Yj as Ta,Ym as Ga,Zm as za,_l as et,ag as Rt,ah as ya,ai as Ea,an as Wa,ao as Cn,b as Fr,bf as zo,bl as pe,bo as Qa,cl as ge,co as Xo,dg as fa,dn as qa,fo as el,gd as ra,gg as Wo,go as Es,jn as Ha,jo as tl,kg as ha,kn as Cs,lc as qt,lj as Ho,lk as ws,ln as Ba,ma as ea,mc as je,mj as Aa,na as hs,nc as na,ne as Qe,nn as Me,oa as gs,oc as wn,od as aa,oo as nl,ph as Ve,qh as wa,rm as ka,s as yn,t as Zr,ul as bn,um as Bo,vg as ys,vl as bs,we as da,wn as Va,wo as Ju,x as Qr,xe as Go,xi as _a,xm as Pa,yd as la,yn as xn,zd as ca,zm as pt,zn as Ku}from"./chunk-2AH4XFVC.js";import{$a as Br,Aa as Wr,Ba as kt,Ca as we,D as He,Da as Pt,Dc as Kr,Ea as Gn,Fa as zn,Ga as qr,Ha as gn,Id as jo,Ke as Oa,Sa as ms,Y as ye,Z as Xe,_a as Hr,a as Oe,aa as yt,ab as Vr,b as g,bb as Ro,bd as fs,c as Un,cb as No,d as Ur,da as wt,db as $o,eb as Lo,fb as Do,jb as Wn,ka as Gr,kb as ps,lb as Yr,le as Fo,me as Jr,pb as Xr,qa as cs,re as $e,tb as vt,te as B,va as ds,ve as ba,we as xa,xa as ee,ya as us,za as zr}from"./chunk-CPZLOVAV.js";import"./chunk-TWIC4BKL.js";import"./chunk-JAFVB6DI.js";import"./chunk-A5A5SUZN.js";import{a as gt,e as qe}from"./chunk-YUXORC52.js";import{notStrictEqual as Em,strictEqual as _m}from"assert";var Qu={right:om,center:im},em=0,Ns=1,tm=2,$s=3,ni=class{constructor(e){var t;this.width=e.width,this.wrap=(t=e.wrap)!==null&&t!==void 0?t:!0,this.rows=[]}span(...e){let t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(""),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]=="string")return this.applyLayoutDSL(e[0]);let t=e.map(s=>typeof s=="string"?this.colFromString(s):s);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]=="string"&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){let t=e.split(`
3
3
  `).map(o=>o.split(" ")),s=0;return t.forEach(o=>{o.length>1&&tt.stringWidth(o[0])>s&&(s=Math.min(Math.floor(this.width*.5),tt.stringWidth(o[0])))}),t.forEach(o=>{this.div(...o.map((r,a)=>({text:r.trim(),padding:this.measurePadding(r),width:a===0&&o.length>1?s:void 0})))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){let t=tt.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){let e=[];return this.rows.forEach(t=>{this.rowToString(t,e)}),e.filter(t=>!t.hidden).map(t=>t.text).join(`
4
4
  `)}rowToString(e,t){return this.rasterize(e).forEach((s,o)=>{let r="";s.forEach((a,l)=>{let{width:c}=e[l],p=this.negatePadding(e[l]),d=a;if(p>tt.stringWidth(a)&&(d+=" ".repeat(p-tt.stringWidth(a))),e[l].align&&e[l].align!=="left"&&this.wrap){let h=Qu[e[l].align];d=h(d,p),tt.stringWidth(d)<p&&(d+=" ".repeat((c||0)-tt.stringWidth(d)-1))}let u=e[l].padding||[0,0,0,0];u[$s]&&(r+=" ".repeat(u[$s])),r+=Zl(e[l],d,"| "),r+=d,r+=Zl(e[l],d," |"),u[Ns]&&(r+=" ".repeat(u[Ns])),o===0&&t.length>0&&(r=this.renderInline(r,t[t.length-1]))}),t.push({text:r.replace(/ +$/,""),span:e.span})}),t}renderInline(e,t){let s=e.match(/^ */),o=s?s[0].length:0,r=t.text,a=tt.stringWidth(r.trimRight());return t.span?this.wrap?o<a?e:(t.hidden=!0,r.trimRight()+" ".repeat(o-a)+e.trimLeft()):(t.hidden=!0,r+e):e}rasterize(e){let t=[],s=this.columnWidths(e),o;return e.forEach((r,a)=>{r.width=s[a],this.wrap?o=tt.wrap(r.text,this.negatePadding(r),{hard:!0}).split(`
5
5
  `):o=r.text.split(`
@@ -105,7 +105,7 @@ This warning can be disabled in /settings`:null}catch{return"Could not verify th
105
105
  `)),0),clear:()=>{},setDebugMessage:n=>{},loadHistory:n=>{},pendingItem:null,setPendingItem:n=>{},toggleCorgiMode:()=>{},toggleDebugProfiler:()=>{},toggleVimEnabled:async()=>!1,reloadCommands:()=>{},openAgentConfigDialog:()=>{},extensionsUpdateState:new Map,dispatchExtensionStateUpdate:n=>{},addConfirmUpdateExtensionRequest:n=>{},setConfirmationRequest:n=>{},removeComponent:()=>{},toggleBackgroundTasks:()=>{},toggleShortcutsHelp:()=>{},toggleVoiceMode:()=>{}}}var io=async(n,e,t,s)=>{let o=n.trim();if(!o.startsWith("/"))return;let a=(await Bl.create([new Xl(t),new Kl(t),new Vl(t)],e.signal)).getCommands(),{commandToExecute:l,args:c}=Hl(n,a);if(l&&l.action){let p={sessionId:t?.getSessionId(),sessionStartTime:new Date,metrics:We.getMetrics(),lastPromptTokenCount:0,promptCount:1},d=new Ha(t?.getSessionId()||"",t?.storage),u={services:{agentContext:t,settings:s,git:void 0,logger:d},ui:Zd(),session:{stats:p,sessionShellAllowlist:new Set},invocation:{raw:o,name:l.name,args:c}},h=await l.action(u,c);if(h)switch(h.type){case"submit_prompt":return h.content;case"confirm_shell_commands":throw new kt("Exiting due to a confirmation prompt requested by the command.");default:throw new kt("Exiting due to command result that is not supported in non-interactive mode.")}}};function Qd(n){let e=n;return typeof e.exitCode=="number"?e.exitCode:e.code!==void 0?e.code:e.status!==void 0?e.status:1}function eu(n){return typeof n=="number"?n:1}function $n(n,e,t){let s=Va(n,e.getContentGeneratorConfig()?.authType);if(e.getOutputFormat()===pe.STREAM_JSON){let o=new Tt,r=t??Qd(n),a=We.getMetrics();o.emitEvent({type:ge.RESULT,timestamp:new Date().toISOString(),status:"error",error:{type:us(n),message:s},stats:o.convertToStreamStats(a,0)}),bt(),process.exit(eu(r))}else if(e.getOutputFormat()===pe.JSON){let o=new pt,r=t??Qd(n),a=o.formatError(n instanceof Error?n:new Error(ee(n)),r,e.getSessionId());B.emitFeedback("error",a),bt(),process.exit(eu(r))}else throw n}function ro(n,e,t,s,o){let r=`Error executing tool ${n}: ${o||e.message}`;if(Ur(s)){let l=new zn(r);if(t.getOutputFormat()===pe.STREAM_JSON){let c=new Tt,p=We.getMetrics();c.emitEvent({type:ge.RESULT,timestamp:new Date().toISOString(),status:"error",error:{type:s??"FatalToolExecutionError",message:l.message},stats:c.convertToStreamStats(p,0)})}else if(t.getOutputFormat()===pe.JSON){let p=new pt().formatError(l,s??l.exitCode,t.getSessionId());B.emitFeedback("error",p)}else B.emitFeedback("error",r);bt(),process.exit(l.exitCode)}g.warn(r)}function tu(n){let e=new gn("Operation cancelled.");if(n.getOutputFormat()===pe.STREAM_JSON){let t=new Tt,s=We.getMetrics();t.emitEvent({type:ge.RESULT,timestamp:new Date().toISOString(),status:"error",error:{type:us(e),message:e.message},stats:t.convertToStreamStats(s,0)}),bt(),process.exit(e.exitCode)}else if(n.getOutputFormat()===pe.JSON){let s=new pt().formatError(e,e.exitCode,n.getSessionId());B.emitFeedback("error",s),bt(),process.exit(e.exitCode)}else B.emitFeedback("error",e.message),bt(),process.exit(e.exitCode)}function nu(n){let e=new Gn("Reached max session turns for this session. Increase the number of turns by specifying maxSessionTurns in settings.json.");if(n.getOutputFormat()===pe.STREAM_JSON){let t=new Tt,s=We.getMetrics();t.emitEvent({type:ge.RESULT,timestamp:new Date().toISOString(),status:"error",error:{type:us(e),message:e.message},stats:t.convertToStreamStats(s,0)}),bt(),process.exit(e.exitCode)}else if(n.getOutputFormat()===pe.JSON){let s=new pt().formatError(e,e.exitCode,n.getSessionId());B.emitFeedback("error",s),bt(),process.exit(e.exitCode)}else B.emitFeedback("error",e.message),bt(),process.exit(e.exitCode)}var Ln=class{atStartOfLine=!0;outputStream;constructor(e=process.stdout){this.outputStream=e}write(e){if(e.length===0)return;this.outputStream.write(e);let t=At(e);t.length>0&&(this.atStartOfLine=t.endsWith(`
106
106
  `))}writeOnNewLine(e){this.atStartOfLine||this.write(`
107
107
  `),this.write(e)}ensureTrailingNewline(){this.atStartOfLine||this.write(`
108
- `)}};import su from"node:readline";async function ou({config:n,settings:e,input:t,prompt_id:s,resumedSessionData:o}){return ys.run(s,async()=>{let r=new $t({stderr:!0,interactive:!1,debugMode:n.getDebugMode(),onNewMessage:M=>{B.emitConsoleLog(M.type,M.content)}});if(process.env.GEMINI_CLI_ACTIVITY_LOG_TARGET){let{setupInitialActivityLogger:M}=await import("./devtoolsService-YXEESS76.js");M(n)}let{stdout:a}=wn(),l=new Ln(a),c=M=>{let N=M.severity.toUpperCase();if(process.stderr.write(`[${N}] ${M.message}
108
+ `)}};import su from"node:readline";async function ou({config:n,settings:e,input:t,prompt_id:s,resumedSessionData:o}){return ys.run(s,async()=>{let r=new $t({stderr:!0,interactive:!1,debugMode:n.getDebugMode(),onNewMessage:M=>{B.emitConsoleLog(M.type,M.content)}});if(process.env.GEMINI_CLI_ACTIVITY_LOG_TARGET){let{setupInitialActivityLogger:M}=await import("./devtoolsService-FLOV3S5Z.js");M(n)}let{stdout:a}=wn(),l=new Ln(a),c=M=>{let N=M.severity.toUpperCase();if(process.stderr.write(`[${N}] ${M.message}
109
109
  `),M.error&&n.getDebugMode()){let K=M.error instanceof Error?M.error.stack||M.error.message:String(M.error);process.stderr.write(`${K}
110
110
  `)}},p=Date.now(),d=n.getOutputFormat()===pe.STREAM_JSON?new Tt:null,u=new AbortController,h=!1,f=null,b=!1,_=null,w=()=>{if(!process.stdin.isTTY)return;b=process.stdin.isRaw||!1,process.stdin.setRawMode(!0),process.stdin.resume(),_=su.createInterface({input:process.stdin,escapeCodeTimeout:0}),su.emitKeypressEvents(process.stdin,_);let M=(N,K)=>{if(K&&K.ctrl&&K.name==="c"||N===""){if(h)return;h=!0,f=setTimeout(()=>{process.stderr.write(`
111
111
  Cancelling...
@@ -114,7 +114,7 @@ Cancelling...
114
114
  `)}if(A.data?.errorType===Un.NO_SPACE_LEFT)throw new zn("Error executing tool "+A.name+": "+(z||U));ro(A.name,new Error(U),n,typeof A.data?.errorType=="string"?A.data.errorType:void 0,z)}break}case"error":{if(A.fatal)throw $(A);if(A._meta?.code==="AGENT_EXECUTION_BLOCKED"){let U=`Agent execution blocked: ${A.message.trim()}`;n.getOutputFormat()===pe.TEXT?process.stderr.write(`[WARNING] ${U}
115
115
  `):d&&d.emitEvent({type:ge.ERROR,timestamp:new Date().toISOString(),severity:"warning",message:At(U)}),R.push(U);break}let z=A.status==="RESOURCE_EXHAUSTED"?"error":"warning";n.getOutputFormat()===pe.TEXT&&process.stderr.write(`[WARNING] ${A.message}
116
116
  `),d&&d.emitEvent({type:ge.ERROR,timestamp:new Date().toISOString(),severity:z,message:At(A.message)}),R.push(A.message);break}case"agent_end":{if(A.reason==="aborted")throw new gn("Operation cancelled.");if(A.reason==="max_turns"){if(typeof A.data?.maxTurns=="number"||typeof A.data?.turnCount=="number")throw new Gn("Reached max session turns for this session. Increase the number of turns by specifying maxSessionTurns in settings.json.");d&&d.emitEvent({type:ge.ERROR,timestamp:new Date().toISOString(),severity:"error",message:"Maximum session turns exceeded"})}let L=typeof A.data?.message=="string"?A.data.message:"";L&&n.getOutputFormat()===pe.TEXT&&process.stderr.write(`Agent execution stopped: ${L}
117
- `),W(),O=!0;break}case"initialize":case"session_update":case"agent_start":case"tool_update":case"elicitation_request":case"elicitation_response":case"usage":case"custom":break;default:g.error("Unknown agent event type:",A);break}}}catch(M){k=M}finally{P(),u.signal.removeEventListener("abort",E),v?.dispose(),r.cleanup(),B.off($e.UserFeedback,c)}k&&$n(k,n)})}async function ru(n){if(n.config.getAgentSessionNoninteractiveEnabled())return g.debug("[ADK] Running non-interactive mode with ADK agent session"),ou(n);let{config:t,settings:s,input:o,prompt_id:r,resumedSessionData:a}=n;return ys.run(r,async()=>{let l=new $t({stderr:!0,interactive:!1,debugMode:t.getDebugMode(),onNewMessage:N=>{B.emitConsoleLog(N.type,N.content)}});if(process.env.GEMINI_CLI_ACTIVITY_LOG_TARGET){let{setupInitialActivityLogger:N}=await import("./devtoolsService-YXEESS76.js");N(t)}let{stdout:c}=wn(),p=new Ln(c),d=N=>{let K=N.severity.toUpperCase();if(process.stderr.write(`[${K}] ${N.message}
117
+ `),W(),O=!0;break}case"initialize":case"session_update":case"agent_start":case"tool_update":case"elicitation_request":case"elicitation_response":case"usage":case"custom":break;default:g.error("Unknown agent event type:",A);break}}}catch(M){k=M}finally{P(),u.signal.removeEventListener("abort",E),v?.dispose(),r.cleanup(),B.off($e.UserFeedback,c)}k&&$n(k,n)})}async function ru(n){if(n.config.getAgentSessionNoninteractiveEnabled())return g.debug("[ADK] Running non-interactive mode with ADK agent session"),ou(n);let{config:t,settings:s,input:o,prompt_id:r,resumedSessionData:a}=n;return ys.run(r,async()=>{let l=new $t({stderr:!0,interactive:!1,debugMode:t.getDebugMode(),onNewMessage:N=>{B.emitConsoleLog(N.type,N.content)}});if(process.env.GEMINI_CLI_ACTIVITY_LOG_TARGET){let{setupInitialActivityLogger:N}=await import("./devtoolsService-FLOV3S5Z.js");N(t)}let{stdout:c}=wn(),p=new Ln(c),d=N=>{let K=N.severity.toUpperCase();if(process.stderr.write(`[${K}] ${N.message}
118
118
  `),N.error&&t.getDebugMode()){let te=N.error instanceof Error?N.error.stack||N.error.message:String(N.error);process.stderr.write(`${te}
119
119
  `)}},u=Date.now(),h=t.getOutputFormat()===pe.STREAM_JSON?new Tt:null,f=new AbortController,b=!1,_=null,w=!1,P=null,k=()=>{if(!process.stdin.isTTY)return;w=process.stdin.isRaw||!1,process.stdin.setRawMode(!0),process.stdin.resume(),P=iu.createInterface({input:process.stdin,escapeCodeTimeout:0}),iu.emitKeypressEvents(process.stdin,P);let N=(K,te)=>{if(te&&te.ctrl&&te.name==="c"||K===""){if(b)return;b=!0,_=setTimeout(()=>{process.stderr.write(`
120
120
  Cancelling...
@@ -171,10 +171,10 @@ Reason: ${e}${e instanceof Error&&e.stack?`
171
171
  Stack trace:
172
172
  ${e.stack}`:""}`;g.error(s),n||(n=!0,Yl.emit("open-debug-console"))})}async function Tg(n,e,t){if(!n&&!e&&!t)return{sessionId:Ss()};let s=new ms(process.cwd());await s.initialize();let o=new Vt(s);if(t)try{let r=await la(t);if(!r)throw new Error(`File not found or invalid format: ${t}`);let a=Date.now(),l=new Date(a).toISOString();r.messages=(r.messages||[]).filter(b=>typeof b=="object"&&b!==null&&(b.type==="user"||b.type==="gemini")&&b.content!==void 0),r.messages.unshift({id:`import-${a}`,type:"info",content:`Imported session from ${t}`,timestamp:l});let c=Ss();r.sessionId=c,r.projectHash=Gr(s.getProjectRoot()),r.startTime=l,r.lastUpdated=l;let p=jr.join(s.getProjectTempDir(),"chats"),d=jr.join(p,`session-${a}-${c.slice(0,8)}.jsonl`),{messages:u,...h}=r,f=[JSON.stringify(h)];if(r.messages)for(let b of r.messages)f.push(JSON.stringify(b));return await ko.mkdir(p,{recursive:!0}),await ko.writeFile(d,f.join(`
173
173
  `)+`
174
- `,"utf-8"),{sessionId:c,resumedSessionData:{conversation:r,filePath:d}}}catch(r){B.emitFeedback("error",`Error importing session from file: ${r instanceof Error?r.message:"Unknown error"}`),await xe(),process.exit(Me.FATAL_INPUT_ERROR)}if(e)return await o.sessionExists(e)&&(B.emitFeedback("error",`Error starting session: Session ID "${e}" already exists. Use --resume to resume it, or provide a different ID.`),await xe(),process.exit(Me.FATAL_INPUT_ERROR)),{sessionId:e};try{let{sessionData:r,sessionPath:a}=await o.resolveSession(n);return{sessionId:r.sessionId,resumedSessionData:{conversation:r,filePath:a}}}catch(r){if(r instanceof cl&&r.code==="NO_SESSIONS_FOUND"&&n===vs)return B.emitFeedback("warning",r.message),{sessionId:Ss()};B.emitFeedback("error",`Error resuming session: ${r instanceof Error?r.message:"Unknown error"}`),await xe(),process.exit(Me.FATAL_INPUT_ERROR)}}async function Og(n,e,t,s=process.cwd(),o,r){let{startInteractiveUI:a}=await import("./interactiveCli-CI6V7WL5.js");await a(n,e,t,s,o,r)}async function DA(){let n,e=Qe.start("cli_startup"),t=Ig();qn(t.cleanup);let s=na();Ko(()=>{ut(n),s()}),Ag(),ol();let o=new Mo;o.start(),qn(()=>o.stop());let r=Qe.start("load_settings"),a=ie();r?.end();let l=Ud(a),c;if(l!==void 0){let N=Qe.start("setup_worktree");c=await au(l||void 0),N?.end()}let p=Qe.start("cleanup_ops");Promise.all([il(),ul(a.merged),Vu()]).catch(N=>{g.error("Early cleanup failed:",N)}).finally(()=>{p?.end()});let d=Qe.start("parse_arguments"),u=Gd(a.merged).finally(()=>{d?.end()}),h=Kd();a.errors.forEach(N=>{B.emitFeedback("warning",N.message)}),_s().errors.forEach(N=>{B.emitFeedback("warning",`Error in ${N.path}: ${N.message}`)});let b=await u,{sessionId:_,resumedSessionData:w}=await Tg(b.resume,b.sessionId,b.sessionFile);(b.allowedTools&&b.allowedTools.length>0||a.merged.tools?.allowed&&a.merged.tools.allowed.length>0)&&B.emitFeedback("warning","Warning: --allowed-tools cli argument and tools.allowed in settings.json are deprecated and will be removed in 1.0: Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/"),a.merged.tools?.exclude&&a.merged.tools.exclude.length>0&&B.emitFeedback("warning","Warning: tools.exclude in settings.json is deprecated and will be removed in 1.0. Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/"),b.startupMessages&&b.startupMessages.forEach(N=>{B.emitFeedback("info",N)}),b.promptInteractive&&!process.stdin.isTTY&&(je(`Error: The --prompt-interactive flag cannot be used when input is piped from stdin.
174
+ `,"utf-8"),{sessionId:c,resumedSessionData:{conversation:r,filePath:d}}}catch(r){B.emitFeedback("error",`Error importing session from file: ${r instanceof Error?r.message:"Unknown error"}`),await xe(),process.exit(Me.FATAL_INPUT_ERROR)}if(e)return await o.sessionExists(e)&&(B.emitFeedback("error",`Error starting session: Session ID "${e}" already exists. Use --resume to resume it, or provide a different ID.`),await xe(),process.exit(Me.FATAL_INPUT_ERROR)),{sessionId:e};try{let{sessionData:r,sessionPath:a}=await o.resolveSession(n);return{sessionId:r.sessionId,resumedSessionData:{conversation:r,filePath:a}}}catch(r){if(r instanceof cl&&r.code==="NO_SESSIONS_FOUND"&&n===vs)return B.emitFeedback("warning",r.message),{sessionId:Ss()};B.emitFeedback("error",`Error resuming session: ${r instanceof Error?r.message:"Unknown error"}`),await xe(),process.exit(Me.FATAL_INPUT_ERROR)}}async function Og(n,e,t,s=process.cwd(),o,r){let{startInteractiveUI:a}=await import("./interactiveCli-TAIO5CBT.js");await a(n,e,t,s,o,r)}async function DA(){let n,e=Qe.start("cli_startup"),t=Ig();qn(t.cleanup);let s=na();Ko(()=>{ut(n),s()}),Ag(),ol();let o=new Mo;o.start(),qn(()=>o.stop());let r=Qe.start("load_settings"),a=ie();r?.end();let l=Ud(a),c;if(l!==void 0){let N=Qe.start("setup_worktree");c=await au(l||void 0),N?.end()}let p=Qe.start("cleanup_ops");Promise.all([il(),ul(a.merged),Vu()]).catch(N=>{g.error("Early cleanup failed:",N)}).finally(()=>{p?.end()});let d=Qe.start("parse_arguments"),u=Gd(a.merged).finally(()=>{d?.end()}),h=Kd();a.errors.forEach(N=>{B.emitFeedback("warning",N.message)}),_s().errors.forEach(N=>{B.emitFeedback("warning",`Error in ${N.path}: ${N.message}`)});let b=await u,{sessionId:_,resumedSessionData:w}=await Tg(b.resume,b.sessionId,b.sessionFile);(b.allowedTools&&b.allowedTools.length>0||a.merged.tools?.allowed&&a.merged.tools.allowed.length>0)&&B.emitFeedback("warning","Warning: --allowed-tools cli argument and tools.allowed in settings.json are deprecated and will be removed in 1.0: Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/"),a.merged.tools?.exclude&&a.merged.tools.exclude.length>0&&B.emitFeedback("warning","Warning: tools.exclude in settings.json is deprecated and will be removed in 1.0. Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/"),b.startupMessages&&b.startupMessages.forEach(N=>{B.emitFeedback("info",N)}),b.promptInteractive&&!process.stdin.isTTY&&(je(`Error: The --prompt-interactive flag cannot be used when input is piped from stdin.
175
175
  `),await xe(),process.exit(Me.FATAL_INPUT_ERROR));let P=Wi(b),k=new $t({stderr:!b.isCommand,interactive:!(Ht()&&!b.isCommand),debugMode:P,onNewMessage:N=>{B.emitConsoleLog(N.type,N.content)}});k.patch(),Sg.setDefaultResultOrder(Eg(a.merged.advanced.dnsResolutionOrder)),(!a.merged.security.auth.selectedType||a.merged.security.auth.selectedType===Ve.LEGACY_CLOUD_SHELL)&&(process.env.CLOUD_SHELL==="true"||process.env.GEMINI_CLI_USE_COMPUTE_ADC==="true")&&a.setValue("User","security.auth.selectedType",Ve.COMPUTE_ADC);let v=await cn(a.merged,_,b,{projectHooks:a.workspace.settings.hooks,skipExtensions:!0,skipMemoryLoad:!0});t.setConfig(v);let E=!1;if(!a.merged.security.auth.useExternal&&!b.isCommand)try{if(v.isInteractive()&&a.merged.security.auth.selectedType){let N=Rs(a.merged.security.auth.selectedType);if(N)throw new Error(N);await v.refreshAuth(a.merged.security.auth.selectedType)}else if(!v.isInteractive()){let N=await Dr(a.merged.security.auth.selectedType,a.merged.security.auth.useExternal,v,a);await v.refreshAuth(N)}}catch(N){N instanceof ya&&(await xe(),process.exit(Me.SUCCESS)),N instanceof ha||(g.error("Error authenticating:",N),E=!0)}let M=v.getRemoteAdminSettings();if(M&&(a.setRemoteAdminSettings(M),process.send&&process.send({type:"admin-settings-update",settings:M})),await sd(a.merged),!process.env.SANDBOX&&!b.isCommand){let N=a.merged.advanced.autoConfigureMemory?vg(P):[],K=await oo(a.merged,b);if(K){E&&(await xe(),process.exit(Me.FATAL_AUTHENTICATION_ERROR));let te="";process.stdin.isTTY||(te=await qi());let W=(($,I)=>{let C=[...$];if(I){let O=C.findIndex(R=>R==="--prompt"||R==="-p");O>-1&&C.length>O+1?C[O+1]=`${I}
176
176
 
177
- ${C[O+1]}`:C.push("--prompt",I)}return C})(process.argv,te);await zu(()=>Xd(K,N,v,W)),await xe(),process.exit(Me.SUCCESS)}}{let N=Qe.start("load_cli_config");if(n=await cn(a.merged,_,b,{projectHooks:a.workspace.settings.hooks,worktreeSettings:c}),N?.end(),await n.storage.initialize(),t.setConfig(n),n.isInteractive()&&a.merged.general.devtools){let{setupInitialActivityLogger:ce}=await import("./devtoolsService-YXEESS76.js");ce(n)}sl(n);let K=n.getPolicyEngine(),te=n.getMessageBus();if(jd(K,te,n.storage),qn(async()=>{await n.getHookSystem()?.fireSessionEndEvent(Aa.Exit)}),n.getAcpMode()||qn(k.cleanup),dl(n,a.merged).catch(ce=>{g.error("Failed to cleanup expired sessions:",ce)}),n.getListExtensions()){g.log("Installed extensions:");for(let ce of n.getExtensions())g.log(`- ${ce.name}`);await xe(),process.exit(Me.SUCCESS)}if(n.getListSessions()){let ce=a.merged.security.auth.selectedType;if(ce)try{await n.refreshAuth(ce)}catch(q){g.debug("Auth failed for --list-sessions, summaries may not be generated:",q)}await Wu(n),await xe(),process.exit(Me.SUCCESS)}let ne=n.getDeleteSession();ne&&(await qu(n,ne),await xe(),process.exit(Me.SUCCESS));let W=process.stdin.isRaw;n.isInteractive()&&!W&&process.stdin.isTTY&&(process.stdin.setRawMode(!0),Ko(()=>{process.stdin.setRawMode(W)}));let $=Qe.start("setup_terminal");await Hu(n,a),$?.end();let I=Qe.start("initialize_app"),C=await Jl(n,a);if(I?.end(),import("./liteRtServerManager-BDF74U3A.js").then(({LiteRtServerManager:ce})=>{let q=a.merged.experimental?.gemmaModelRouter;if(!q)return;let me=a.forScope("User").settings.experimental?.gemmaModelRouter;return ce.ensureRunning({...q,binaryPath:me?.binaryPath,autoStartServer:me?.autoStartServer})}).catch(ce=>g.warn("LiteRT auto-start import failed:",ce)),a.merged.security.auth.selectedType===Ve.LOGIN_WITH_GOOGLE&&n.isBrowserLaunchSuppressed()&&await oa(a.merged.security.auth.selectedType,n),n.getAcpMode())return Gu(n,a,b);let O=n.getQuestion(),R=sa(n.getUseAlternateBuffer(),n.getScreenReader()),L=[...(await h).map(ce=>({id:`startup-${bg("sha256").update(ce).digest("hex").substring(0,16)}`,message:ce,priority:Cn.High})),...await Jd(a.merged,void 0,{isAlternateBuffer:R})];if(e?.end(),!n.isInteractive())for(let ce of L)je(ce.message+`
177
+ ${C[O+1]}`:C.push("--prompt",I)}return C})(process.argv,te);await zu(()=>Xd(K,N,v,W)),await xe(),process.exit(Me.SUCCESS)}}{let N=Qe.start("load_cli_config");if(n=await cn(a.merged,_,b,{projectHooks:a.workspace.settings.hooks,worktreeSettings:c}),N?.end(),await n.storage.initialize(),t.setConfig(n),n.isInteractive()&&a.merged.general.devtools){let{setupInitialActivityLogger:ce}=await import("./devtoolsService-FLOV3S5Z.js");ce(n)}sl(n);let K=n.getPolicyEngine(),te=n.getMessageBus();if(jd(K,te,n.storage),qn(async()=>{await n.getHookSystem()?.fireSessionEndEvent(Aa.Exit)}),n.getAcpMode()||qn(k.cleanup),dl(n,a.merged).catch(ce=>{g.error("Failed to cleanup expired sessions:",ce)}),n.getListExtensions()){g.log("Installed extensions:");for(let ce of n.getExtensions())g.log(`- ${ce.name}`);await xe(),process.exit(Me.SUCCESS)}if(n.getListSessions()){let ce=a.merged.security.auth.selectedType;if(ce)try{await n.refreshAuth(ce)}catch(q){g.debug("Auth failed for --list-sessions, summaries may not be generated:",q)}await Wu(n),await xe(),process.exit(Me.SUCCESS)}let ne=n.getDeleteSession();ne&&(await qu(n,ne),await xe(),process.exit(Me.SUCCESS));let W=process.stdin.isRaw;n.isInteractive()&&!W&&process.stdin.isTTY&&(process.stdin.setRawMode(!0),Ko(()=>{process.stdin.setRawMode(W)}));let $=Qe.start("setup_terminal");await Hu(n,a),$?.end();let I=Qe.start("initialize_app"),C=await Jl(n,a);if(I?.end(),import("./liteRtServerManager-XJXZSOE7.js").then(({LiteRtServerManager:ce})=>{let q=a.merged.experimental?.gemmaModelRouter;if(!q)return;let me=a.forScope("User").settings.experimental?.gemmaModelRouter;return ce.ensureRunning({...q,binaryPath:me?.binaryPath,autoStartServer:me?.autoStartServer})}).catch(ce=>g.warn("LiteRT auto-start import failed:",ce)),a.merged.security.auth.selectedType===Ve.LOGIN_WITH_GOOGLE&&n.isBrowserLaunchSuppressed()&&await oa(a.merged.security.auth.selectedType,n),n.getAcpMode())return Gu(n,a,b);let O=n.getQuestion(),R=sa(n.getUseAlternateBuffer(),n.getScreenReader()),L=[...(await h).map(ce=>({id:`startup-${bg("sha256").update(ce).digest("hex").substring(0,16)}`,message:ce,priority:Cn.High})),...await Jd(a.merged,void 0,{isAlternateBuffer:R})];if(e?.end(),!n.isInteractive())for(let ce of L)je(ce.message+`
178
178
  `);if(n.isInteractive()){process.stdin.isTTY&&process.stdin.resume(),await Og(n,a,L,process.cwd(),w,C);return}await n.initialize(),Qe.flush(n);let z;process.stdin.isTTY||(z=await qi(),z&&(O=O?`${z}
179
179
 
180
180
  ${O}`:z));let U=w?Ho.Resume:Ho.Startup,re=n?.getHookSystem();if(re){let ce=await re.fireSessionStartEvent(U);if(ce){ce.systemMessage&&je(ce.systemMessage+`
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
3
- import{d as p,f as m,g as u}from"./chunk-MUVQ2FAZ.js";import"./chunk-HCTUJMZR.js";import"./chunk-RKJKHDZC.js";import"./chunk-C7WYZFGG.js";import"./chunk-CPZLOVAV.js";import"./chunk-TWIC4BKL.js";import"./chunk-JAFVB6DI.js";import"./chunk-A5A5SUZN.js";import"./chunk-YUXORC52.js";import{spawn as f}from"node:child_process";import g from"node:os";import l from"node:v8";process.on("uncaughtException",n=>{process.platform==="win32"&&n instanceof Error&&n.message==="Cannot resize a pty that has already exited"||(n instanceof Error?process.stderr.write(n.stack+`
3
+ import{d as p,f as m,g as u}from"./chunk-QYJUTNIU.js";import"./chunk-PZSSXHHP.js";import"./chunk-P6YMHMJL.js";import"./chunk-2AH4XFVC.js";import"./chunk-CPZLOVAV.js";import"./chunk-TWIC4BKL.js";import"./chunk-JAFVB6DI.js";import"./chunk-A5A5SUZN.js";import"./chunk-YUXORC52.js";import{spawn as f}from"node:child_process";import g from"node:os";import l from"node:v8";process.on("uncaughtException",n=>{process.platform==="win32"&&n instanceof Error&&n.message==="Cannot resize a pty that has already exited"||(n instanceof Error?process.stderr.write(n.stack+`
4
4
  `):process.stderr.write(String(n)+`
5
5
  `),process.exit(1))});async function d(){let n=!0;try{let{readFileSync:r}=await import("node:fs"),{join:s}=await import("node:path"),i=process.env.GEMINI_CLI_HOME||s(g.homedir(),".gemini"),t=s(i,"settings.json"),a=r(t,"utf8");JSON.parse(a)?.advanced?.autoConfigureMemory===!1&&(n=!1)}catch{}if(n){let r=g.totalmem()/1048576,s=l.getHeapStatistics(),i=Math.floor(s.heap_size_limit/1024/1024),t=Math.floor(r*.5);if(t>i)return[`--max-old-space-size=${t}`]}return[]}async function w(){if(!process.env.GEMINI_CLI_NO_RELAUNCH&&!process.env.SANDBOX){let n=m(),r=await d(),{spawnArgs:s,env:i}=u(r,n),t;for(let e of["SIGINT","SIGTERM","SIGHUP"])process.on(e,()=>{});let a=()=>{process.stdin.pause();let e=f(process.execPath,s,{stdio:["inherit","inherit","inherit","ipc"],env:i});return t&&e.send({type:"admin-settings",settings:t}),e.on("message",o=>{o.type==="admin-settings-update"&&o.settings&&(t=o.settings)}),new Promise(o=>{e.on("error",c=>{process.stderr.write("Error: Failed to start child process: "+c.message+`
6
6
  `),o(1)}),e.on("close",c=>{process.stdin.resume(),o(c??1)})})};for(;;)try{let e=await a();e!==p&&process.exit(e)}catch(e){process.stdin.resume(),process.stderr.write(`Fatal error: Failed to relaunch the CLI process.
7
7
  ${e instanceof Error?e.stack??e.message:String(e)}
8
- `),process.exit(1)}}else{let{main:n}=await import("./gemini-ENBHDO7W.js"),{FatalError:r,writeToStderr:s}=await import("./dist-X3AUJEIX.js"),{runExitCleanup:i}=await import("./cleanup-S2LRI2Y4.js");n().catch(async t=>{let a=setTimeout(()=>{s(`Cleanup timed out, forcing exit...
8
+ `),process.exit(1)}}else{let{main:n}=await import("./gemini-DRGPGRHF.js"),{FatalError:r,writeToStderr:s}=await import("./dist-NVGK4PVU.js"),{runExitCleanup:i}=await import("./cleanup-HVASUFMM.js");n().catch(async t=>{let a=setTimeout(()=>{s(`Cleanup timed out, forcing exit...
9
9
  `),process.exit(1)},5e3);try{await i()}catch(e){s(`Error during final cleanup: ${e instanceof Error?e.message:String(e)}
10
10
  `)}finally{clearTimeout(a)}if(t instanceof r){let e=t.message;process.env.NO_COLOR||(e=`\x1B[31m${e}\x1B[0m`),s(e+`
11
11
  `),process.exit(t.exitCode)}s("An unexpected critical error occurred:"),t instanceof Error?s(t.stack+`