import{EP as Hj,Gz as I,NA as Y,NF as P,OA as O,OF as s,PA as Z,QA as $,RA as _,Rk as A,SA as y,Sk as W,Tk as u,UA as c,aL as B,bL as o,bM as C,gL as k,iM as wj,jx as f,kN as R,kx as n,mw as U,ow as a,qw as X,rw as r,sL as e,tw as b,uL as d,uw as x,vL as t,xt as N,yN as zj,yt as m}from"./cli-0.5.3-jbzr8k4s.mjs";import"./cli-0.5.3-me9jkw92.mjs";import"./cli-0.5.3-bqmztzjc.mjs";import"./cli-0.5.3-ytqxzjff.mjs";import"./cli-0.5.3-h6n812td.mjs";import"./cli-0.5.3-hg8c6qbh.mjs";import"./cli-0.5.3-39jr2yrx.mjs";import"./cli-0.5.3-42e2paz8.mjs";import"./cli-0.5.3-mn45xfck.mjs";import"./cli-0.5.3-m884a3pk.mjs";import"./cli-0.5.3-4f9xxrem.mjs";import"./cli-0.5.3-gr8nsa2k.mjs";import"./cli-0.5.3-yj9nbd9d.mjs";import"./cli-0.5.3-55kd38ff.mjs";import"./cli-0.5.3-e6bjcfwg.mjs";import"./cli-0.5.3-4dbxtwh3.mjs";import"./cli-0.5.3-m0kfmb79.mjs";import"./cli-0.5.3-8zq9vdtg.mjs";import"./cli-0.5.3-vmx7agj7.mjs";import"./cli-0.5.3-h8xs2818.mjs";import"./cli-0.5.3-wcx7cnw5.mjs";import"./cli-0.5.3-9zbakvbf.mjs";import"./cli-0.5.3-hx550gz2.mjs";import"./cli-0.5.3-842pf3t4.mjs";import"./cli-0.5.3-wxead1ct.mjs";import"./cli-0.5.3-s1hz35ye.mjs";import"./cli-0.5.3-g0svn6bx.mjs";import"./cli-0.5.3-sfdh3pkx.mjs";import"./cli-0.5.3-d8tjnxcj.mjs";import"./cli-0.5.3-6zfw1732.mjs";import"./cli-0.5.3-ptjdgcsy.mjs";import"./cli-0.5.3-tp3jye12.mjs";import"./cli-0.5.3-vqmxwet2.mjs";import"./cli-0.5.3-rch86nhn.mjs";import"./cli-0.5.3-zg2apr51.mjs";import"./cli-0.5.3-ngnshpb7.mjs";import"./cli-0.5.3-e58xste9.mjs";import"./cli-0.5.3-6163zevg.mjs";import"./cli-0.5.3-jmkkd5ph.mjs";import"./cli-0.5.3-1vt6twff.mjs";import"./cli-0.5.3-7017ez65.mjs";import{V3 as D,W3 as g}from"./cli-0.5.3-ea94acj4.mjs";import"./cli-0.5.3-3k22nqvy.mjs";import"./cli-0.5.3-63q4g3zt.mjs";import"./cli-0.5.3-dyhbm5kp.mjs";import"./cli-0.5.3-vpcrbd8n.mjs";import"./cli-0.5.3-jdw3ajfv.mjs";import"./cli-0.5.3-qg4a557t.mjs";import{H6 as p,z6 as h}from"./cli-0.5.3-t65dek0m.mjs";import"./cli-0.5.3-kavpx97n.mjs";import"./cli-0.5.3-9bdwhdys.mjs";import"./cli-0.5.3-ttc72eq3.mjs";import"./cli-0.5.3-g75gdzrp.mjs";import"./cli-0.5.3-1rg2r7n7.mjs";import"./cli-0.5.3-6j2jk6dt.mjs";import"./cli-0.5.3-66650sba.mjs";import"./cli-0.5.3-9vh3vpap.mjs";import"./cli-0.5.3-n3cxyxpg.mjs";import"./cli-0.5.3-kbvzmaax.mjs";import"./cli-0.5.3-7wdgps7z.mjs";import{Cga as v,Lga as E}from"./cli-0.5.3-c8bcrqa4.mjs";import{gma as i,sja as T}from"./cli-0.5.3-qrvd6cmy.mjs";import"./cli-0.5.3-2dk1sk8w.mjs";import{Xma as M}from"./cli-0.5.3-0df3r78b.mjs";async function jj(q,j,H,w){j.onCompactProgress?.({type:"hooks_start",hookType:"pre_compact"}),j.setSDKStatus?.("compacting");try{let[z,J]=await Promise.all([I({trigger:"manual",customInstructions:H||null},j.abortController.signal),l(j,q)]),Q=_(H,z.newCustomInstructions);j.setStreamMode?.("requesting"),j.setResponseLength?.(()=>0),j.onCompactProgress?.({type:"compact_start"});let K=await w.reactiveCompactOnPromptTooLong(q,J,{customInstructions:Q,trigger:"manual"});if(!K.ok)switch(K.reason){case"too_few_groups":throw Error(Y);case"aborted":throw Error(O);case"exhausted":case"error":case"media_unstrippable":throw Error(Z)}k(void 0);let F=$(K.result);B(void 0,F,j.contentReplacementState),X(),W.cache.clear?.();let V=[z.userDisplayMessage,K.result.userDisplayMessage].filter(Boolean).join(`
`)||void 0;return{type:"compact",compactionResult:{...K.result,userDisplayMessage:V},displayText:L(j,V)}}finally{j.setStreamMode?.("requesting"),j.setResponseLength?.(()=>0),j.onCompactProgress?.({type:"compact_end"}),j.setSDKStatus?.(null)}}function L(q,j){let H=f("tip"),w=N("app:toggleTranscript","Global","ctrl+o"),z=[...q.options.verbose?[]:[`(${w} to see full summary)`],...j?[j]:[],...H?[H]:[]];return D.dim("Compacted "+z.join(`
`))}async function l(q,j){let H=q.getAppState(),w=await C(q.options.tools,q.options.mainLoopModel,Array.from(H.toolPermissionContext.additionalWorkingDirectories.keys()),q.options.mcpClients),z=P({mainThreadAgentDefinition:void 0,toolUseContext:q,customSystemPrompt:q.options.customSystemPrompt,defaultSystemPrompt:w,appendSystemPrompt:q.options.appendSystemPrompt}),[J,Q]=await Promise.all([W(),A()]);return{systemPrompt:z,userContext:J,systemContext:Q,toolUseContext:q,forkContextMessages:j}}var G=null,Aj=async(q,j)=>{let{abortController:H}=j,{messages:w}=j;if(w=R(w),w.length===0)throw Error("No messages to compact");let z=q.trim();try{if(!z){let V=await d(w,j.agentId);if(V){W.cache.clear?.();let S=$(V);return B(void 0,S,j.contentReplacementState),U(j.options.querySource??"compact",j.agentId),T(),X(),{type:"compact",compactionResult:V,displayText:L(j)}}}if(G?.isReactiveOnlyMode())return await jj(w,j,z,G);let Q=(await b(w,j)).messages,K=await y(Q,j,await l(j,Q),!1,z,!1);k(void 0),X(),W.cache.clear?.();let F=$(K);return B(void 0,F,j.contentReplacementState),{type:"compact",compactionResult:K,displayText:L(j,K.userDisplayMessage)}}catch(J){if(H.signal.aborted)throw Error("Compaction canceled.");else if(v(J,Y))throw Error(Y);else if(v(J,Z))throw Error(Z);else throw h(J),Error(`Error during compaction: ${J}`)}};var qj=M(()=>{g();i();wj();u();m();a();c();r();x();o();t();e();E();Hj();p();zj();n();s()});qj();export{Aj as call};
