MCPcopy Index your code
hub / github.com/ChinaSiro/claude-code-sourcemap / V7

Function V7

package/cli.js:8162–8162  ·  view source on GitHub ↗
(J7)

Source from the content-addressed store, hash-verified

8160${z.join(`
8161
8162`)}`}var utK=1000,znY=300,YnY=5000;var fA7=y(()=>{v8();k8();Lo6();vq6();ItK();_8()});var gtK={};T8(gtK,{useScheduledTasks:()=>$nY});function $nY({isLoading:q,assistantMode:K=!1,setMessages:_}){let z=Kl8.useRef(q);z.current=q;let Y=jz(),$=s7();Kl8.useEffect(()=>{if(!vN())return;let A=(w)=>IO({value:w,mode:"prompt",priority:"later",isMeta:!0,workload:LD8}),O=DA7({onFire:A,onFireTask:(w)=>{if(w.agentId){let H=kQ(w.agentId,Y.getState().tasks);if(H&&!mr(H.status)){be6(H.id,w.prompt,$);return}N(`[ScheduledTasks] teammate ${w.agentId} gone, removing orphaned cron ${w.id}`),Jw6([w.id]);return}let j=s0K(`Running scheduled task (${AnY(new Date)})`);_((H)=>[...H,j]),A(w.prompt)},isLoading:()=>z.current,assistantMode:K,getJitterConfig:JA7,isKilled:()=>!vN()});return O.start(),()=>O.stop()},[K])}function AnY(q){return q.toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).replace(/,? at |, /," ").replace(/ ([AP]M)/,(K,_)=>_.toLowerCase())}var Kl8;var FtK=y(()=>{C7();GN();Hb();gr();MA7();fA7();vq6();_8();p2();i1();D$6();Kl8=O6(D6(),1)});var itK={};T8(itK,{REPL:()=>GA7});import{dirname as OnY,join as wnY}from"path";import{tmpdir as jnY}from"os";import{writeFile as HnY}from"fs/promises";import{randomUUID as PM6}from"crypto";function dtK(q){let K=z6(9),{showAllInTranscript:_,virtualScroll:z,searchBadge:Y,suppressShowAll:$,status:A}=q,O=$===void 0?!1:$,w=R5("app:toggleTranscript","Global","ctrl+o"),j=R5("transcript:toggleShowAll","Transcript","ctrl+e"),H=Y?" · n/N to navigate":z?` · ${t6.arrowUp}${t6.arrowDown} scroll · home/end top/bottom`:O?"":` · ${j} to ${_?"collapse":"show all"}`,J;if(K[0]!==H||K[1]!==w)J=R8.createElement(k,{dimColor:!0},"Showing detailed transcript · ",w," to toggle",H),K[0]=H,K[1]=w,K[2]=J;else J=K[2];let M;if(K[3]!==Y||K[4]!==A)M=A?R8.createElement(R8.Fragment,null,R8.createElement(u,{flexGrow:1}),R8.createElement(k,null,A," ")):Y?R8.createElement(R8.Fragment,null,R8.createElement(u,{flexGrow:1}),R8.createElement(k,{dimColor:!0},Y.current,"/",Y.count," ")):null,K[3]=Y,K[4]=A,K[5]=M;else M=K[5];let X;if(K[6]!==J||K[7]!==M)X=R8.createElement(u,{noSelect:!0,alignItems:"center",alignSelf:"center",borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:"single",marginTop:1,paddingLeft:2,width:"100%"},J,M),K[6]=J,K[7]=M,K[8]=X;else X=K[8];return X}function vnY({jumpRef:q,count:K,current:_,onClose:z,onCancel:Y,setHighlight:$,initialQuery:A}){let{query:O,cursorOffset:w}=XR({isActive:!0,initialQuery:A,onExit:()=>z(O),onCancel:Y}),[j,H]=R8.useState("building");R8.useEffect(()=>{let P=!0,W=q.current?.warmSearchIndex;if(!W){H(null);return}return H("building"),W().then((D)=>{if(!P)return;if(D<20)H(null);else H({ms:D}),setTimeout(()=>P&&H(null),2000)}),()=>{P=!1}},[]);let J=j!=="building";K1.useEffect(()=>{if(!J)return;q.current?.setSearchQuery(O),$(O)},[O,J]);let M=w,X=M<O.length?O[M]:" ";return R8.createElement(u,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:"single",marginTop:1,paddingLeft:2,width:"100%",noSelect:!0},R8.createElement(k,null,"/"),R8.createElement(k,null,O.slice(0,M)),R8.createElement(k,{inverse:!0},X),M<O.length&&R8.createElement(k,null,O.slice(M+1)),R8.createElement(u,{flexGrow:1}),j==="building"?R8.createElement(k,{dimColor:!0},"indexing… "):j?R8.createElement(k,{dimColor:!0},"indexed in ",j.ms,"ms "):K===0&&O?R8.createElement(k,{color:"error"},"no matches "):K>0?R8.createElement(k,{dimColor:!0},_,"/",K," "):null)}function ltK(q){let K=z6(6),{isAnimating:_,title:z,disabled:Y,noPrefix:$}=q,A=CO(),[O,w]=K1.useState(0),j,H;if(K[0]!==Y||K[1]!==_||K[2]!==$||K[3]!==A)j=()=>{if(Y||$||!_||!A)return;let M=setInterval(VnY,knY,w);return()=>clearInterval(M)},H=[Y,$,_,A],K[0]=Y,K[1]=_,K[2]=$,K[3]=A,K[4]=j,K[5]=H;else j=K[4],H=K[5];K1.useEffect(j,H);let J=_?ntK[O]??ctK:ctK;return mZ8(Y?null:$?z:`${J} ${z}`),null}function VnY(q){return q(NnY)}function NnY(q){return(q+1)%ntK.length}function GA7({commands:q,debug:K,initialTools:_,initialMessages:z,pendingHookMessages:Y,initialFileHistorySnapshots:$,initialContentReplacements:A,initialAgentName:O,initialAgentColor:w,mcpClients:j,dynamicMcpConfig:H,autoConnectIdeFlag:J,strictMcpConfig:M=!1,systemPrompt:X,appendSystemPrompt:P,onBeforeQuery:W,onTurnComplete:D,disabled:f=!1,mainThreadAgentDefinition:G,disableSlashCommands:Z=!1,taskListId:T,remoteSessionConfig:v,directConnectConfig:V,sshSession:E,thinkingConfig:S}){let R=!!v,x=K1.useMemo(()=>i6(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]),I=K1.useMemo(()=>!1,[]),B=K1.useMemo(()=>i6(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL),[]),p=!1;K1.useEffect(()=>{return N(`[REPL:mount] REPL mounted, disabled=${f}`),()=>N("[REPL:unmount] REPL unmounting")},[f]);let[C,g]=K1.useState(G),F=P8((w8)=>w8.toolPermissionContext),U=P8((w8)=>w8.verbose),c=P8((w8)=>w8.mcp),K6=P8((w8)=>w8.plugins),t=P8((w8)=>w8.agentDefinitions),q6=P8((w8)=>w8.fileHistory),e=P8((w8)=>w8.initialMessage),i=pd(),$6=P8((w8)=>w8.spinnerTip),M6=P8((w8)=>w8.expandedView)==="tasks",j6=P8((w8)=>w8.pendingWorkerRequest),G6=P8((w8)=>w8.pendingSandboxRequest),w6=P8((w8)=>w8.teamContext),o=P8((w8)=>w8.tasks),s=P8((w8)=>w8.workerSandboxPermissions),a=P8((w8)=>w8.elicitation),n=P8((w8)=>w8.ultraplanPendingChoice),l=P8((w8)=>w8.ultraplanLaunchPending),A6=P8((w8)=>w8.viewingAgentTaskId),J6=s7(),X6=A6?o[A6]:void 0,f6=EJ(X6)&&X6.retain&&!X6.diskLoaded;K1.useEffect(()=>{if(!A6||!f6)return;let w8=A6;AK6(pO(w8)).then((L8)=>{J6((o8)=>{let V7=o8.tasks[w8];if(!EJ(V7)||V7.diskLoaded||!V7.retain)return o8;let J7=V7.messages??[],Yq=new Set(J7.map((N4)=>N4.uuid)),b7=L8?L8.messages.filter((N4)=>!Yq.has(N4.uuid)):[];return{...o8,tasks:{...o8.tasks,[w8]:{...V7,messages:[...b7,...J7],diskLoaded:!0}}}})})},[A6,f6,J6]);let N6=jz(),Z6=ZF(),V6=hD(),[y6,T6]=K1.useState(q);doK(R?void 0:Fz(),T6);let n6=R8.useSyncExternalStore(QtK?.subscribeToProactiveChanges??WnY,QtK?.isProactiveActive??DnY),o6=P8((w8)=>w8.isBriefOnly),I6=K1.useMemo(()=>gD(F),[F,n6,o6]);EqK(),LqK();let[C6,l6]=K1.useState(H),S6=K1.useCallback((w8)=>{l6(w8)},[l6]),[E6,R6]=K1.useState("prompt"),[h6,x6]=K1.useState(!1),[b6,Q6]=K1.useState(!1),[Y6,_6]=K1.useState(""),F6=K1.useRef(0),W6=K1.useRef(void 0),v6=K1.useRef(!1),{addNotification:m6,removeNotification:K8}=PK(),H8=fnY,M8=poK(j,c.clients),[X1,j1]=K1.useState(void 0),[h1,T7]=K1.useState(null),[X7,Y1]=K1.useState(null),[Y7,P7]=K1.useState(!1),[L1,B7]=K1.useState(()=>{return!1}),[B1,j7]=K1.useState(()=>PaK(V6)),eq=P8((w8)=>w8.showRemoteCallout),[AK,X9]=K1.useState(()=>QaK());osK(),ssK(),nsK({ideSelection:X1,mcpClients:M8,ideInstallationStatus:X7}),$sK({mcpClients:M8}),OsK(),hsK(),CsK(),lg8(),FsK(V6),OtK(),QsK(V6),csK(),XnY(),RaK(),xaK(),paK(),jsK(),_tK();let{recommendation:F3,handleResponse:xz}=TsK(),{recommendation:S3,handleResponse:P9}=NsK(),E9=K1.useMemo(()=>{return[...I6,..._]},[I6,_]);Rc8({enabled:!R});let u$=g1K();K1.useEffect(()=>{if(R)return;msK(J6)},[J6,R]),gaK(R?ZA7:M8,F.mode),_oK(J6,z,{enabled:!R});let S4=EU8(E9,c.tools,F),{tools:Mz,allowedAgentTypes:j2}=K1.useMemo(()=>{if(!C)return{tools:S4,allowedAgentTypes:void 0};let w8=$o(C,S4,!1,!0);return{tools:w8.resolvedTools,allowedAgentTypes:w8.allowedAgentTypes}},[C,S4]),wA=x$7(y6,K6.commands),s_=x$7(wA,c.commands),N5=K1.useMemo(()=>Z?[]:s_,[Z,s_]);mQK(R?ZA7:c.clients),ioK(R?ZA7:c.clients,j1);let[qK,Xq]=K1.useState("responding"),H2=K1.useRef(qK);H2.current=qK;let[Y_,m$]=K1.useState([]),[t_,a3]=K1.useState(null);K1.useEffect(()=>{if(t_&&!t_.isStreaming&&t_.streamingEndedAt){let L8=30000-(Date.now()-t_.streamingEndedAt);if(L8>0){let o8=setTimeout(a3,L8,null);return()=>clearTimeout(o8)}else a3(null)}},[t_]);let[e5,v_]=K1.useState(null),bw=K1.useRef(null);bw.current=e5;let FA=K1.useRef(()=>{}),UA=K1.useRef(()=>{}),oO=K1.useRef(null),nY=K1.useRef(null),e2=K1.useRef(0),uK=R8.useRef(new Hz7).current,e_=R8.useSyncExternalStore(uK.subscribe,uK.getSnapshot),[q3,j$]=R8.useState(v?.hasInitialPrompt??!1),fK=e_||q3,[p$,TY]=R8.useState(void 0),qz=R8.useRef(0),Kz=R8.useRef(!1),s3=R8.useRef(0),B$=R8.useRef(0),H$=R8.useRef(null),qj=R8.useCallback(()=>{s3.current=Date.now(),B$.current=0,H$.current=null},[]),DO=R8.useRef(!1);if(e_&&!DO.current)qj();DO.current=e_;let J2=R8.useCallback((w8)=>{if(j$(w8),w8)qj()},[qj]),Iz=R8.useRef(null),fO=R8.useRef(void 0),J1=R8.useRef(void 0),g7=1500,[z4,G4]=R8.useState(!1),[Tq,ZK]=K1.useState(null);K1.useEffect(()=>{if(Tq?.notifications)Tq.notifications.forEach((w8)=>{m6({key:"auto-updater-notification",text:w8,priority:"low"})})},[Tq,m6]),K1.useEffect(()=>{if(p4())Vaq().then((w8)=>{if(w8)m6({key:"tmux-mouse-hint",text:w8,priority:"low"})})},[]);let[W9,VK]=K1.useState(!1);K1.useEffect(()=>{},[]);let[r7,RK]=K1.useState(null),T3=K1.useRef(null),X5=K1.useCallback((w8)=>{if(w8?.isLocalJSXCommand){let{clearLocalJSX:L8,...o8}=w8;T3.current={...o8,isLocalJSXCommand:!0},RK(o8);return}if(T3.current){if(w8?.clearLocalJSX){T3.current=null,RK(null);return}return}if(w8?.clearLocalJSX){RK(null);return}RK(w8)},[]),[OK,L9]=K1.useState([]),[x5,iY]=K1.useState(null),[C3,y5]=K1.useState([]),[v3,_z]=K1.useState([]),w3=K1.useRef(new Map),J$=P8((w8)=>w8.settings.terminalTitleFromRename)!==!1?k0(N8()):void 0,[g$,aj]=K1.useState(),M$=K1.useRef((z?.length??0)>0),sj=C?.agentType,M2=J$??sj??g$??"Claude Code",tj=OK.length>0||v3.length>0||j6||G6,H7=r7?.isLocalJSXCommand===!0&&r7?.jsx!=null,k7=fK&&!tj&&!H7;K1.useEffect(()=>{if(fK&&!tj&&!H7)return nUK(),()=>iUK()},[fK,tj,H7]);let Uq=tj||H7?"waiting":fK?"busy":"idle",b_=Uq!=="waiting"?void 0:OK.length>0?`approve ${OK[0].tool.name}`:j6?"worker request":G6?"sandbox request":H7?"dialog open":"input needed";K1.useEffect(()=>{},[Uq,b_]);let x_=g8("tengu_terminal_sidebar",!1)&&(j8().showStatusInTerminalTab??!1);IZ8(x||!x_?null:Uq),K1.useEffect(()=>{return R7K(L9),()=>h7K()},[L9]);let[H4,sX]=K1.useState(z??[]),P5=K1.useRef(H4),xq=K1.useRef(!1),J4=K1.useCallback((w8)=>{let L8=P5.current,o8=typeof w8==="function"?w8(P5.current):w8;if(P5.current=o8,o8.length<qz.current)qz.current=0;else if(o8.length>L8.length&&Kz.current){let V7=o8.length-L8.length;if((L8.length===0||o8[0]===L8[0]?o8.slice(-V7):o8.slice(0,V7)).some(zh6))Kz.current=!1;else qz.current=o8.length}sX(o8)},[]),Xz=K1.useCallback((w8)=>{if(w8!==void 0)qz.current=P5.current.length,Kz.current=!0;else Kz.current=!1;TY(w8)},[]),{dividerIndex:aO,dividerYRef:jW,onScrollAway:kk,onRepin:gJ,jumpToNew:GT,shiftDivider:TT}=UhK(H4.length),[xw,tX]=K1.useState(null),Ox=K1.useRef(null),wx=K1.useMemo(()=>QhK(H4,aO),[aO,H4.length]),mM=K1.useCallback(()=>{oO.current?.scrollToBottom(),gJ(),tX(null)},[gJ,tX]),Ip=H4.at(-1),sd=Ip!=null&&zh6(Ip);K1.useEffect(()=>{if(sd)mM()},[sd,Ip,mM]);let{maybeLoadOlder:rH}=GnY,up=K1.useCallback((w8,L8)=>{if(e2.current=Date.now(),w8)gJ();else kk(L8)},[gJ,kk,rH,J6]),p6=UrK(Y,J4),c6=K1.useDeferredValue(H4),V8=H4.length-c6.length;if(V8>0)N(`[useDeferredValue] Messages deferred by ${V8} (${c6.length}→${H4.length})`);let[G1,d1]=K1.useState(null),[t7,NK]=K1.useState(()=>UN1()),K3=K1.useRef(t7);K3.current=t7;let vY=K1.useRef(null),k3=K1.useCallback((w8)=>{if(H8(K3.current,w8))return;if(K3.current===""&&w8!==""&&Date.now()-e2.current>=TnY)mM();K3.current=w8,NK(w8),G4(w8.trim().length>0)},[G4,mM,H8]);K1.useEffect(()=>{if(t7.trim().length===0)return;let w8=setTimeout(G4,g7,!1);return()=>clearTimeout(w8)},[t7]);let[sO,Kj]=K1.useState("prompt"),[ZO,Iw]=K1.useState(),Vk=K1.useCallback((w8)=>{let L8=new Set(w8);T6((o8)=>o8.filter((V7)=>L8.has(V7.name)||h97.has(V7)))},[T6]),[uy,ts]=K1.useState(new Set),jx=K1.useRef(!1),es=KrK({config:v,setMessages:J4,setIsLoading:J2,onInit:Vk,setToolUseConfirmQueue:L9,tools:E9,setStreamingToolUses:m$,setStreamMode:Xq,setInProgressToolUseIDs:ts}),Hx=YrK({config:V,setMessages:J4,setIsLoading:J2,setToolUseConfirmQueue:L9,tools:E9}),td=ArK({session:E,setMessages:J4,setIsLoading:J2,setToolUseConfirmQueue:L9,tools:E9}),Nk=td.isRemoteMode?td:Hx.isRemoteMode?Hx:es,[oH,HW]=K1.useState({}),[uR,j36]=K1.useState(0),ej=K1.useRef(0),my=K1.useRef([]),ed=K1.useCallback((w8)=>{let L8=ej.current;if(ej.current=w8(L8),ej.current>L8){let o8=my.current;if(o8.length>0){let V7=o8.at(-1);V7.lastTokenTime=Date.now(),V7.endResponseLength=ej.current}}},[]),[mR,qc]=K1.useState(null),Jx=!(P8((w8)=>w8.settings.prefersReducedMotion)??!1)&&!R64(),Kc=K1.useCallback((w8)=>{if(!Jx)return;qc(w8)},[Jx]),qt=mR&&Jx?mR.substring(0,mR.lastIndexOf(`
8163`)+1)||null:null,[_f,mp]=K1.useState(0),[jA,_c]=K1.useState(null),[f8,C1]=K1.useState(null),[Dq,hK]=K1.useState(null),[V3,X$]=K1.useState(!1),[_j,X2]=K1.useState(void 0),[JW,py]=K1.useState(!1),[pp,By]=K1.useState(PM6()),[Kt,H36]=K1.useState(null),J36=K1.useRef(!1),M36=K1.useRef(_f);M36.current=_f;let[pC6]=K1.useState(()=>({current:rR4(z,A)})),[BC6,gC6]=K1.useState(j8().hasAcknowledgedCostThreshold),[yk,FC6]=K1.useState("INSERT"),[_t,kM6]=K1.useState(!1),[kK8,VM6]=K1.useState(!1),[eX,VK8]=K1.useState(!1);K1.useEffect(()=>{if(n&&_t)kM6(!1)},[n,_t]);let MW=CO(),NK8=K1.useRef(MW);NK8.current=MW;let[vT]=Aq(),Mx=R8.useRef(!1),pR=K1.useCallback(()=>{if(Mx.current)return;Mx.current=!0;let w8=P5.current.slice(X36.current);for(let L8 of qp1(w8))pM.current.add(L8);X36.current=P5.current.length,laK({theme:vT,readFileState:Px.current,bashTools:pM.current}).then(async(L8)=>{if(L8){let o8=await L8.content({theme:vT});J6((V7)=>({...V7,spinnerTip:o8})),naK(L8)}else J6((o8)=>{if(o8.spinnerTip===void 0)return o8;return{...o8,spinnerTip:void 0}})})},[J6,vT]),gy=K1.useCallback(()=>{J2(!1),Xz(void 0),ej.current=0,my.current=[],qc(null),m$([]),_c(null),C1(null),hK(null),pR(),vs6(),zp8()},[pR]),zt=K1.useMemo(()=>Kj6(o).some((w8)=>w8.status==="running"),[o]);K1.useEffect(()=>{if(!zt&&Iz.current!==null){let w8=Date.now()-Iz.current,L8=fO.current;Iz.current=null,fO.current=void 0,J4((o8)=>[...o8,j77(w8,L8,$7(o8,pq8))])}},[zt,J4]);let kT=K1.useRef(!1);K1.useEffect(()=>{{if(F.mode!=="auto"){kT.current=!1;return}if(kT.current)return;if((j8().autoPermissionsNotificationCount??0)>=3)return;let o8=setTimeout((V7,J7)=>{V7.current=!0,b8((Yq)=>{let b7=Yq.autoPermissionsNotificationCount??0;if(b7>=3)return Yq;return{...Yq,autoPermissionsNotificationCount:b7+1}}),J7((Yq)=>[...Yq,fw(id8,"warning")])},800,kT,J4);return()=>clearTimeout(o8)}},[F.mode,J4]);let UC6=K1.useRef(!1);K1.useEffect(()=>{if(UC6.current)return;let w8=n2();if(!w8?.creationDurationMs||w8.usedSparsePaths)return;if(w8.creationDurationMs<15000)return;UC6.current=!0;let L8=Math.round(w8.creationDurationMs/1000);J4((o8)=>[...o8,fw(`Worktree creation took ${L8}s. For large repos, set \`worktree.sparsePaths\` in .claude/settings.json to check out only the directories you need — e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`,"info")])},[J4]);let Yt=K1.useMemo(()=>{let w8=H4.findLast((o8)=>o8.type==="assistant");if(w8?.type!=="assistant")return!1;let L8=w8.message.content.filter((o8)=>o8.type==="tool_use"&&uy.has(o8.id));return L8.length>0&&L8.every((o8)=>o8.type==="tool_use"&&o8.name===QO6)},[H4,uy]),{onBeforeQuery:$t,onTurnComplete:Xx,render:yK8}=frK({enabled:I,setMessages:J4,inputValue:t7,setInputValue:k3,setToolJSX:X5}),NM6=(!r7||r7.showSpinner===!0)&&OK.length===0&&v3.length===0&&(fK||p$||zt||sI1()>0)&&!j6&&!Yt&&(!qt||o6),Bp=OK.length>0||v3.length>0||C3.length>0||a.queue.length>0||s.queue.length>0,yM6=GaK(H4,fK,uR,"session",Bp),QC6=WrK(J4),EK8=WtK(H4,uR),zc=K1.useMemo(()=>({...yM6,handleSelect:(w8)=>{SM6.current=!1;let L8=yM6.handleSelect(w8);if(w8==="bad"&&!L8&&HtK("feedback_survey_bad"))hM6("feedback_survey_bad"),SM6.current=!0}}),[yM6]),Yc=VaK(H4,fK,Bp,{enabled:!R}),gp=vaK(H4,fK,Bp,{enabled:!R}),EM6=MnY(H4,fK,Bp,zc.state!=="closed"||Yc.state!=="closed"||gp.state!=="closed");AaK({autoConnectIdeFlag:J,ideToInstallExtension:h1,setDynamicMcpConfig:l6,setShowIdeOnboarding:P7,setIDEInstallationState:Y1}),qsK($,q6,(w8)=>J6((L8)=>({...L8,fileHistory:w8})));let LM6=K1.useCallback(async(w8,L8,o8)=>{let V7=performance.now();try{let J7=Ex8(L8.messages),Yq=H78();await J78("resume",{getAppState:()=>N6.getState(),setAppState:J6,signal:AbortSignal.timeout(Yq),timeoutMs:Yq});let b7=await xD("resume",{sessionId:w8,agentType:C?.agentType,model:V6});if(J7.push(...b7),o8==="fork")x5K(L8,EX(w8));else Dx8(L8,EX(w8));if(i48(L8,J6),L8.fileHistorySnapshots)Mx8(L8);let{agentDefinition:N4}=OM6(L8.agentSetting,G,t);g(N4),J6((SK)=>({...SK,agent:N4?.agentType})),J6((SK)=>({...SK,standaloneAgentContext:r48(L8.agentName,L8.agentColor)})),cQ(L8.agentName),Wx(J7,L8.projectPath??r1()),gy(),v_(null),By(w8);let GK=Os1(w8);tI8(),SX6(),Of(EX(w8),L8.fullPath?OnY(L8.fullPath):null);let{renameRecordingForSession:lK}=await Promise.resolve().then(() => (n48(),toK));if(await lK(),await mb(),j78(),Ld(L8),M$.current=!0,aj(void 0),o8!=="fork")eoK(),o48(L8.worktreeSession),vJ6(),ko1({abortController:new AbortController,getAppState:()=>N6.getState(),setAppState:J6});else{let SK=n2();if(SK)Oy(SK)}if(GK)Bb6(GK);if(pC6.current&&o8!=="fork")pC6.current=WE8(J7,L8.contentReplacements??[]);J4(()=>J7),X5(null),k3(""),d("tengu_session_resumed",{entrypoint:o8,success:!0,resume_duration_ms:Math.round(performance.now()-V7)})}catch(J7){throw d("tengu_session_resumed",{entrypoint:o8,success:!1}),J7}},[gy,J6]),[VT]=K1.useState(()=>Bu(tF)),Px=K1.useRef(VT),pM=K1.useRef(new Set),X36=K1.useRef(0),RM6=K1.useRef(new Set),dC6=K1.useRef(new Set),Wx=K1.useCallback((w8,L8)=>{let o8=hV6(w8,L8,tF);Px.current=mk6(Px.current,o8);for(let V7 of qp1(w8))pM.current.add(V7)},[]);K1.useEffect(()=>{if(z&&z.length>0)Wx(z,r1()),ko1({abortController:new AbortController,getAppState:()=>N6.getState(),setAppState:J6})},[]);let{status:LK8,reverify:P36}=drK(),[BR,hM6]=K1.useState(null),SM6=K1.useRef(!1),[cC6,CM6]=K1.useState(null),[W36,D36]=K1.useState(!1),RK8=!fK&&JW;function Cl8(){if(W36||cC6)return;if(V3)return"message-selector";if(z4)return;if(C3[0])return"sandbox-permission";let w8=!r7||r7.shouldContinueAnimation;if(w8&&OK[0])return"tool-permission";if(w8&&v3[0])return"prompt";if(w8&&s.queue[0])return"worker-sandbox-permission";if(w8&&a.queue[0])return"elicitation";if(w8&&RK8)return"cost";if(w8&&Kt)return"idle-return";if(w8&&Y7)return"ide-onboarding";if(w8&&B1)return"effort-callout";if(w8&&eq)return"remote-callout";if(w8&&F3)return"lsp-recommendation";if(w8&&S3)return"plugin-hint";if(w8&&AK)return"desktop-upsell";return}let rY=Cl8(),hK8=z4&&(C3[0]||OK[0]||v3[0]||s.queue[0]||a.queue[0]||RK8);J1.current=rY,K1.useEffect(()=>{if(!fK)return;let w8=rY==="tool-permission",L8=Date.now();if(w8&&H$.current===null)H$.current=L8;else if(!w8&&H$.current!==null)B$.current+=L8-H$.current,H$.current=null},[rY,fK]);let lC6=K1.useRef(rY);K1.useLayoutEffect(()=>{if(lC6.current==="tool-permission"!==(rY==="tool-permission"))mM();lC6.current=rY},[rY,mM]);function Fp(){if(rY==="elicitation")return;if(N(`[onCancel] focusedInputDialog=${rY} streamMode=${qK}`),uK.forceEnd(),J36.current=!1,mR?.trim())J4((w8)=>[...w8,nG({content:mR})]);if(gy(),rY==="tool-permission")OK[0]?.onAbort(),L9([]);else if(rY==="prompt"){for(let w8 of v3)w8.reject(Error("Prompt cancelled by user"));_z([]),e5?.abort("user-cancel")}else if(Nk.isRemoteMode)Nk.cancelRequest();else e5?.abort("user-cancel");v_(null),Xx(P5.current,!0)}let f36=K1.useCallback(()=>{let w8=PV8(t7,0);if(!w8)return;if(k3(w8.text),Kj("prompt"),w8.images.length>0)HW((L8)=>{let o8={...L8};for(let V7 of w8.images)o8[V7.id]=V7;return o8})},[k3,Kj,t7,HW]),nC6={setToolUseConfirmQueue:L9,onCancel:Fp,onAgentsKilled:()=>J4((w8)=>[...w8,t0K()]),isMessageSelectorVisible:V3||!!_t,screen:E6,abortSignal:e5?.signal,popCommandFromQueue:f36,vimMode:yk,isLocalJSXCommand:r7?.isLocalJSXCommand,isSearchingHistory:kK8,isHelpOpen:eX,inputMode:sO,inputValue:t7,streamMode:qK};K1.useEffect(()=>{if(fW()>=5&&!JW&&!BC6){if(d("tengu_cost_threshold_reached",{}),gC6(!0),YJ8())py(!0)}},[H4,JW,BC6]);let SK8=K1.useCallback(async(w8)=>{if(nq()&&ve6()){let L8=G7K(),o8=await T7K(w8.host,L8);return new Promise((V7)=>{if(!o8){y5((J7)=>[...J7,{hostPattern:w8,resolvePromise:V7}]);return}y7K({requestId:L8,host:w8.host,resolve:V7}),J6((J7)=>({...J7,pendingSandboxRequest:{requestId:L8,host:w8.host}}))})}return new Promise((L8)=>{let o8=!1;function V7(J7){if(o8)return;o8=!0,L8(J7)}y5((J7)=>[...J7,{hostPattern:w8,resolvePromise:V7}]);{let J7=N6.getState().replBridgePermissionCallbacks;if(J7){let Yq=PM6();J7.sendRequest(Yq,t$7,{host:w8.host},PM6(),`Allow network connection to ${w8.host}?`);let b7=J7.onResponse(Yq,(lK)=>{b7();let SK=lK.behavior==="allow";y5((D9)=>{return D9.filter((aH)=>aH.hostPattern.host===w8.host).forEach((aH)=>aH.resolvePromise(SK)),D9.filter((aH)=>aH.hostPattern.host!==w8.host)});let zj=w3.current.get(w8.host);if(zj){for(let D9 of zj)D9();w3.current.delete(w8.host)}}),N4=()=>{b7(),J7.cancelRequest(Yq)},GK=w3.current.get(w8.host)??[];GK.push(N4),w3.current.set(w8.host,GK)}}})},[J6,N6]);if(K1.useEffect(()=>{let w8=M7.getSandboxUnavailableReason();if(!w8)return;if(M7.isSandboxRequired()){process.stderr.write(`
8164Error: sandbox required but unavailable: ${w8}
8165`+` sandbox.failIfUnavailable is set — refusing to start without a working sandbox.

Callers 1

_cFunction · 0.85

Calls 1

L8Function · 0.85

Tested by

no test coverage detected