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

Function L8

package/cli.js:8168–8168  ·  view source on GitHub ↗
(o8)

Source from the content-addressed store, hash-verified

8166
8167`),eK(1,"other");return}N(`sandbox disabled: ${w8}`,{level:"warn"}),m6({key:"sandbox-unavailable",jsx:R8.createElement(R8.Fragment,null,R8.createElement(k,{color:"warning"},"sandbox disabled"),R8.createElement(k,{dimColor:!0}," · /sandbox")),priority:"medium"})},[m6]),M7.isSandboxingEnabled())M7.initialize(SK8).catch((w8)=>{process.stderr.write(`
8168❌ Sandbox Error: ${d6(w8)}
8169`),eK(1,"other")});let Z36=K1.useCallback((w8,L8)=>{J6((o8)=>({...o8,toolPermissionContext:{...w8,mode:L8?.preserveMode?o8.toolPermissionContext.mode:w8.mode}})),setImmediate((o8)=>{o8((V7)=>{return V7.forEach((J7)=>{J7.recheckPermission()}),V7})},L9)},[J6,L9]);K1.useEffect(()=>{return S7K(Z36),()=>b7K()},[Z36]);let Fy=WoK(L9,Z36),CK8=K1.useCallback((w8,L8)=>(o8)=>new Promise((V7,J7)=>{_z((Yq)=>[...Yq,{request:o8,title:w8,toolInputSummary:L8,resolve:V7,reject:J7}])}),[]),zf=K1.useCallback((w8,L8,o8,V7)=>{let J7=N6.getState(),Yq=()=>{let b7=N6.getState(),N4=nQ(b7.toolPermissionContext,b7.mcp.tools),GK=LS6(E9,N4,b7.toolPermissionContext.mode);if(!C)return GK;return $o(C,GK,!1,!0).resolvedTools};return{abortController:o8,options:{commands:N5,tools:Yq(),debug:K,verbose:J7.verbose,mainLoopModel:V7,thinkingConfig:J7.thinkingEnabled!==!1?S:{type:"disabled"},mcpClients:Nc8(j,J7.mcp.clients),mcpResources:J7.mcp.resources,ideInstallationStatus:X7,isNonInteractiveSession:!1,dynamicMcpConfig:C6,theme:vT,agentDefinitions:j2?{...J7.agentDefinitions,allowedAgentTypes:j2}:J7.agentDefinitions,customSystemPrompt:X,appendSystemPrompt:P,refreshTools:Yq},getAppState:()=>N6.getState(),setAppState:J6,messages:w8,setMessages:J4,updateFileHistoryState(b7){J6((N4)=>{let GK=b7(N4.fileHistory);if(GK===N4.fileHistory)return N4;return{...N4,fileHistory:GK}})},updateAttributionState(b7){J6((N4)=>{let GK=b7(N4.attribution);if(GK===N4.attribution)return N4;return{...N4,attribution:GK}})},openMessageSelector:()=>{if(!f)X$(!0)},onChangeAPIKey:P36,readFileState:Px.current,setToolJSX:X5,addNotification:m6,appendSystemMessage:(b7)=>J4((N4)=>[...N4,b7]),sendOSNotification:(b7)=>{ZQ(b7,Z6)},onChangeDynamicMcpConfig:S6,onInstallIDEExtension:T7,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:dC6.current,dynamicSkillDirTriggers:new Set,discoveredSkillNames:RM6.current,setResponseLength:ed,pushApiMetricsEntry:void 0,setStreamMode:Xq,onCompactProgress:(b7)=>{switch(b7.type){case"hooks_start":C1("claudeBlue_FOR_SYSTEM_SPINNER"),hK("claudeBlueShimmer_FOR_SYSTEM_SPINNER"),_c(b7.hookType==="pre_compact"?"Running PreCompact hooks…":b7.hookType==="post_compact"?"Running PostCompact hooks…":"Running SessionStart hooks…");break;case"compact_start":_c("Compacting conversation");break;case"compact_end":_c(null),C1(null),hK(null);break}},setInProgressToolUseIDs:ts,setHasInterruptibleToolInProgress:(b7)=>{jx.current=b7},resume:LM6,setConversationId:By,requestPrompt:void 0,contentReplacementState:pC6.current}},[N5,E9,C,K,j,X7,C6,vT,j2,N6,J6,P36,m6,J4,S6,LM6,CK8,f,X,P,By]),G36=K1.useCallback(()=>{e5?.abort("background");let w8=$P4((L8)=>L8.mode==="task-notification");(async()=>{let L8=zf(P5.current,[],new AbortController,V6),[o8,V7,J7]=await Promise.all([QP(L8.options.tools,V6,Array.from(F.additionalWorkingDirectories.keys()),L8.options.mcpClients),bO(),tw()]),Yq=Eb({mainThreadAgentDefinition:C,toolUseContext:L8,customSystemPrompt:X,defaultSystemPrompt:o8,appendSystemPrompt:P});L8.renderedSystemPrompt=Yq;let N4=(await AB8(w8).catch(()=>[])).map(V4),GK=new Set;for(let SK of P5.current)if(SK.type==="attachment"&&SK.attachment.type==="queued_command"&&SK.attachment.commandMode==="task-notification"&&typeof SK.attachment.prompt==="string")GK.add(SK.attachment.prompt);let lK=N4.filter((SK)=>SK.attachment.type==="queued_command"&&(typeof SK.attachment.prompt!=="string"||!GK.has(SK.attachment.prompt)));mMK({messages:[...P5.current,...lK],queryParams:{systemPrompt:Yq,userContext:V7,systemContext:J7,canUseTool:Fy,toolUseContext:L8,querySource:yo6()},description:M2,setAppState:J6,agentDefinition:C})})()},[e5,V6,F,C,zf,X,P,Fy,J6]),{handleBackgroundSession:bK8}=JaK({setMessages:J4,setIsLoading:J2,resetLoadingState:gy,setAbortController:v_,onBackgroundQuery:G36}),iC6=K1.useCallback((w8)=>{fh6(w8,(L8)=>{if(bD(L8)){if(p4())J4((o8)=>[...i2(o8,{includeSnipped:!0}),L8]);else J4(()=>[L8]);By(PM6())}else if(L8.type==="progress"&&b97(L8.data.type))J4((o8)=>{let V7=o8.at(-1);if(V7?.type==="progress"&&V7.parentToolUseID===L8.parentToolUseID&&V7.data.type===L8.data.type){let J7=o8.slice();return J7[J7.length-1]=L8,J7}return[...o8,L8]});else J4((o8)=>[...o8,L8])},(L8)=>{ed((o8)=>o8+L8.length)},Xq,m$,(L8)=>{J4((o8)=>o8.filter((V7)=>V7!==L8)),p97(L8.uuid)},a3,(L8)=>{let o8=Date.now(),V7=ej.current;my.current.push({...L8,firstTokenTime:o8,lastTokenTime:o8,responseLengthBaseline:V7,endResponseLength:V7})},Kc)},[J4,ed,Xq,m$,a3,Kc]),rC6=K1.useCallback(async(w8,L8,o8,V7,J7,Yq,b7)=>{if(V7){let HA=Nc8(j,N6.getState().mcp.clients);Ka.handleQueryStart(HA);let kY=SN(HA);if(kY)qS4(kY)}if(Eh6(),!x&&!J$&&!sj&&!M$.current){let HA=L8.find((QA)=>QA.type==="user"&&!QA.isMeta),kY=HA?.type==="user"?EQ(HA.message.content):null;if(kY&&!kY.startsWith(`<${bZ}>`)&&!kY.startsWith(`<${wP}>`)&&!kY.startsWith(`<${CZ}>`)&&!kY.startsWith(`<${zL7}>`))M$.current=!0,h56(kY,new AbortController().signal).then((QA)=>{if(QA)aj(QA);else M$.current=!1},()=>{M$.current=!1})}if(N6.setState((HA)=>{let kY=HA.toolPermissionContext.alwaysAllowRules.command;if(kY===J7||kY?.length===J7.length&&kY.every((QA,wc)=>QA===J7[wc]))return HA;return{...HA,toolPermissionContext:{...HA.toolPermissionContext,alwaysAllowRules:{...HA.toolPermissionContext.alwaysAllowRules,command:J7}}}}),!V7){if(L8.some(bD))By(PM6());gy(),v_(null);return}let N4=zf(w8,L8,o8,Yq),{tools:GK,mcpClients:lK}=N4.options;if(b7!==void 0){let HA=N4.getAppState;N4.getAppState=()=>({...HA(),effortValue:b7})}g3("query_context_loading_start");let[,,SK,zj,D9]=await Promise.all([me6(F,J6),pe6(F,J6,N6.getState().fastMode),QP(GK,Yq,Array.from(F.additionalWorkingDirectories.keys()),lK),bO(),tw()]),aH={...zj,...PnY(lK,Sd()?n56():void 0),...{}};g3("query_context_loading_end");let Lk=Eb({mainThreadAgentDefinition:C,toolUseContext:N4,customSystemPrompt:X,defaultSystemPrompt:SK,appendSystemPrompt:P});N4.renderedSystemPrompt=Lk,g3("query_query_start"),cn8(),ln8(),in8();for await(let HA of Db({messages:w8,systemPrompt:Lk,userContext:aH,systemContext:D9,canUseTool:Fy,toolUseContext:N4,querySource:yo6()}))iC6(HA);g3("query_end"),gy(),wp8(),await D?.(P5.current)},[j,gy,zf,F,J6,X,D,P,Fy,C,iC6,J$,x]),Q9=K1.useCallback(async(w8,L8,o8,V7,J7,Yq,b7,N4)=>{if(nq()){let lK=$9(),SK=M_();if(lK&&SK)Se6(lK,SK,!0)}let GK=uK.tryStart();if(GK===null){d("tengu_concurrent_onquery_detected",{}),w8.filter((lK)=>lK.type==="user"&&!lK.isMeta).map((lK)=>EQ(lK.message.content)).filter((lK)=>lK!==null).forEach((lK,SK)=>{if(jM({value:lK,mode:"prompt"}),SK===0)d("tengu_concurrent_onquery_enqueued",{})});return}try{qj(),J4((SK)=>[...SK,...w8]),ej.current=0,my.current=[],m$([]),qc(null);let lK=P5.current;if(b7)await $t(b7,lK,w8.length);if(Yq&&b7){if(!await Yq(b7,lK))return}await rC6(lK,w8,L8,o8,V7,J7,N4)}finally{if(uK.end(GK)){mp(Date.now()),J36.current=!1,gy(),await Xx(P5.current,L8.signal.aborted),FA.current();let lK,SK=Date.now()-s3.current-B$.current;if((SK>30000||lK!==void 0)&&!L8.signal.aborted&&!n6)if(Kj6(N6.getState().tasks).some((D9)=>D9.status==="running")){if(Iz.current===null)Iz.current=s3.current;if(lK)fO.current=lK}else J4((D9)=>[...D9,j77(SK,lK,$7(D9,pq8))]);v_(null)}if(L8.signal.reason==="user-cancel"&&!uK.isActive&&K3.current===""&&sI1()===0&&!N6.getState().viewingAgentTaskId){let lK=P5.current,SK=lK.findLast(xJ6);if(SK){let zj=lK.lastIndexOf(SK);if(Jd8(lK,zj))HGK(),UA.current(SK)}}}},[rC6,J6,gy,uK,$t,Xx]),T36=K1.useRef(!1);K1.useEffect(()=>{let w8=e;if(!w8||fK||T36.current)return;T36.current=!0;async function L8(o8){if(o8.clearContext){let Yq=o8.message.planContent?CQ():void 0,{clearConversation:b7}=await Promise.resolve().then(() => (fg8(),Iq7));if(await b7({setMessages:J4,readFileState:Px.current,discoveredSkillNames:RM6.current,loadedNestedMemoryPaths:dC6.current,getAppState:()=>N6.getState(),setAppState:J6,setConversationId:By}),M$.current=!1,aj(void 0),pM.current.clear(),X36.current=0,Yq)ar1(N8(),Yq)}let V7=o8.message.planContent&&!1;if(J6((Yq)=>{let b7=o8.mode?XN(Yq.toolPermissionContext,Vd8(o8.mode,o8.allowedPrompts)):Yq.toolPermissionContext;if(o8.mode==="auto")b7=Dp({...b7,mode:"auto",prePlanMode:void 0});return{...Yq,initialMessage:null,toolPermissionContext:b7,...V7&&{pendingPlanVerification:{plan:o8.message.planContent,verificationStarted:!1,verificationCompleted:!1}}}}),e$())aE6((Yq)=>{J6((b7)=>({...b7,fileHistory:Yq(b7.fileHistory)}))},o8.message.uuid);await p6();let J7=o8.message.message.content;if(typeof J7==="string"&&!o8.message.planContent)gR(J7,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}});else{let Yq=P3();v_(Yq),Q9([o8.message],Yq,!0,[],V6)}setTimeout((Yq)=>{Yq.current=!1},100,T36)}L8(w8)},[e,fK,J4,J6,Q9,V6,Mz]);let gR=K1.useCallback(async(w8,L8,o8,V7)=>{if(mM(),!o8&&w8.trim().startsWith("/")){let b7=Ch6(w8,oH).trim(),N4=b7.indexOf(" "),GK=N4===-1?b7.slice(1):b7.slice(1,N4),lK=N4===-1?"":b7.slice(N4+1).trim(),SK=N5.find((D9)=>vs(D9)&&(D9.name===GK||D9.aliases?.includes(GK)||W_(D9)===GK));if(SK?.name==="clear"&&xq.current)d("tengu_idle_return_action",{action:"hint_converted",variant:xq.current,idleMinutes:Math.round((Date.now()-M36.current)/60000),messageCount:P5.current.length,totalInputTokens:bk()}),xq.current=!1;let zj=uK.isActive&&(SK?.immediate||V7?.fromKeybinding);if(SK&&zj&&SK.type==="local-jsx"){if(w8.trim()===K3.current.trim())k3(""),L8.setCursorOffset(0),L8.clearBuffer(),HW({});let D9=Od(w8).filter((kY)=>oH[kY.id]?.type==="text"),aH=D9.length,Lk=D9.reduce((kY,QA)=>kY+(oH[QA.id]?.content.length??0),0);d("tengu_paste_text",{pastedTextCount:aH,pastedTextBytes:Lk}),d("tengu_immediate_command_executed",{commandName:SK.name,fromKeybinding:V7?.fromKeybinding??!1}),(async()=>{let kY=!1,QA=(Up,UM6)=>{kY=!0,X5({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let y36=[];if(Up&&UM6?.display!=="skip"){if(m6({key:`immediate-${SK.name}`,text:Up,priority:"immediate"}),!p4())y36.push(LQ(ae6(W_(SK),lK)),LQ(`<${bZ}>${CL(Up)}</${bZ}>`))}if(UM6?.metaMessages?.length)y36.push(...UM6.metaMessages.map((QM6)=>U8({content:QM6,isMeta:!0})));if(y36.length)J4((QM6)=>[...QM6,...y36]);if(ZO!==void 0)k3(ZO.text),L8.setCursorOffset(ZO.cursorOffset),HW(ZO.pastedContents),Iw(void 0)},wc=zf(P5.current,[],P3(),V6),_b6=await(await SK.load()).call(QA,wc,lK);if(_b6&&!kY)X5({jsx:_b6,shouldHidePromptInput:!1,isLocalJSXCommand:!0})})();return}}if(Nk.isRemoteMode&&!w8.trim())return;{let b7=g8("tengu_willow_mode","off"),N4=Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75),GK=Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5);if(b7!=="off"&&!j8().idleReturnDismissed&&!J36.current&&!o8&&!w8.trim().startsWith("/")&&M36.current>0&&bk()>=GK){let SK=(Date.now()-M36.current)/60000;if(SK>=N4&&b7==="dialog"){H36({input:w8,idleMinutes:SK}),k3(""),L8.setCursorOffset(0),L8.clearBuffer();return}}}if(!V7?.fromKeybinding){if(bh6({display:o8?w8:UZK(w8,sO),pastedContents:o8?{}:oH}),sO==="bash")nlK(w8.trim())}let J7=!o8&&w8.trim().startsWith("/"),Yq=!fK||o8||Nk.isRemoteMode;if(ZO!==void 0&&!J7&&Yq)k3(ZO.text),L8.setCursorOffset(ZO.cursorOffset),HW(ZO.pastedContents),Iw(void 0);else if(Yq){if(!V7?.fromKeybinding)k3(""),L8.setCursorOffset(0);HW({})}if(Yq){if(Kj("prompt"),j1(void 0),j36((b7)=>b7+1),L8.clearBuffer(),Mx.current=!1,!J7&&sO==="prompt"&&!o8&&!Nk.isRemoteMode)Xz(w8),qj()}if(o8){let{queryRequired:b7}=await hy4(o8.state,o8.speculationSessionTimeSavedMs,o8.setAppState,w8,{setMessages:J4,readFileState:Px,cwd:r1()});if(b7){let N4=P3();v_(N4),Q9([],N4,!0,[],V6)}return}if(Nk.isRemoteMode&&!(J7&&N5.find((b7)=>{let N4=w8.trim().slice(1).split(/\s/)[0];return vs(b7)&&(b7.name===N4||b7.aliases?.includes(N4)||W_(b7)===N4)})?.type==="local-jsx")){let b7=Object.values(oH),N4=b7.filter((D9)=>D9.type==="image"),GK=N4.length>0?N4.map((D9)=>D9.id):void 0,lK=w8.trim(),SK=w8.trim();if(b7.length>0){let D9=[],aH=[],Lk=w8.trim();if(Lk)D9.push({type:"text",text:Lk}),aH.push({type:"text",text:Lk});for(let HA of b7)if(HA.type==="image"){let kY={type:"base64",media_type:HA.mediaType??"image/png",data:HA.content};D9.push({type:"image",source:kY}),aH.push({type:"image",source:kY})}else D9.push({type:"text",text:HA.content}),aH.push({type:"text",text:HA.content});lK=D9,SK=aH}let zj=U8({content:lK,imagePasteIds:GK});J4((D9)=>[...D9,zj]),await Nk.sendMessage(SK,{uuid:zj.uuid});return}if(await p6(),await Vc8({input:w8,helpers:L8,queryGuard:uK,isExternalLoading:q3,mode:sO,commands:N5,onInputChange:k3,setPastedContents:HW,setToolJSX:X5,getToolUseContext:zf,messages:P5.current,mainLoopModel:V6,pastedContents:oH,ideSelection:X1,setUserInputOnProcessing:Xz,setAbortController:v_,abortController:e5,onQuery:Q9,setAppState:J6,querySource:yo6(),onBeforeQuery:W,canUseTool:Fy,addNotification:m6,setMessages:J4,streamMode:H2.current,hasInterruptibleToolInProgress:jx.current}),(J7||fK)&&ZO!==void 0)k3(ZO.text),L8.setCursorOffset(ZO.cursorOffset),HW(ZO.pastedContents),Iw(void 0)},[uK,fK,q3,sO,N5,k3,Kj,HW,j36,j1,X5,zf,V6,oH,X1,Xz,v_,m6,Q9,ZO,Iw,J6,W,Fy,es,J4,p6,mM]),xK8=K1.useCallback(async(w8,L8,o8)=>{if(EJ(L8))if(UXK(L8.id,U8({content:w8}),J6),L8.status==="running")Um8(L8.id,w8,J6);else F88({agentId:L8.id,prompt:w8,toolUseContext:zf(P5.current,[],new AbortController,V6),canUseTool:Fy}).catch((V7)=>{N(`resumeAgentBackground failed: ${d6(V7)}`),m6({key:`resume-agent-failed-${L8.id}`,jsx:R8.createElement(k,{color:"error"},"Failed to resume agent: ",d6(V7)),priority:"low"})});else be6(L8.id,w8,J6);k3(""),o8.setCursorOffset(0),o8.clearBuffer()},[J6,k3,zf,Fy,V6,m6]),bl8=K1.useCallback(()=>{let w8=BR?JtK(BR):"/issue";hM6(null),gR(w8,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch((L8)=>{N(`Auto-run ${w8} failed: ${d6(L8)}`)})},[gR,BR]),xl8=K1.useCallback(()=>{hM6(null)},[]),oC6=K1.useCallback(()=>{gR("/feedback",{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}).catch((L8)=>{N(`Survey feedback request failed: ${L8 instanceof Error?L8.message:String(L8)}`)})},[gR]),aC6=K1.useRef(gR);aC6.current=gR;let bM6=K1.useCallback(()=>{aC6.current("/rate-limit-options",{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})},[]),Dx=K1.useCallback(async()=>{if(D36(!0),n2()!==null){CM6(R8.createElement(cU8,{showWorktree:!0,onDone:()=>{},onCancel:()=>{CM6(null),D36(!1)}}));return}let o8=await(await Vq8.load()).call(()=>{});if(CM6(o8),o8===null)D36(!1)},[]),IK8=K1.useCallback(()=>{X$((w8)=>!w8)},[]),v36=K1.useCallback((w8)=>{let L8=P5.current,o8=L8.lastIndexOf(w8);if(o8===-1)return;d("tengu_conversation_rewind",{preRewindMessageCount:L8.length,postRewindMessageCount:o8,messagesRemoved:L8.length-o8,rewindToMessageIndex:o8}),J4(L8.slice(0,o8)),By(PM6()),Xr(),J6((V7)=>({...V7,toolPermissionContext:w8.permissionMode&&V7.toolPermissionContext.mode!==w8.permissionMode?{...V7.toolPermissionContext,mode:w8.permissionMode}:V7.toolPermissionContext,promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null}}))},[J4,J6]),fx=K1.useCallback((w8)=>{v36(w8);let L8=w77(w8);if(L8)k3(L8.text),Kj(L8.mode);if(Array.isArray(w8.message.content)&&w8.message.content.some((o8)=>o8.type==="image")){let o8=w8.message.content.filter((V7)=>V7.type==="image");if(o8.length>0){let V7={};o8.forEach((J7,Yq)=>{if(J7.source.type==="base64"){let b7=w8.imagePasteIds?.[Yq]??Yq+1;V7[b7]={id:b7,type:"image",content:J7.source.data,mediaType:J7.source.media_type}}}),HW(V7)}}},[v36,k3]);UA.current=fx;let xM6=K1.useCallback(async(w8)=>{setImmediate((L8,o8)=>L8(o8),fx,w8)},[fx]),uK8=(w8)=>{let L8=w8.slice(0,24);return H4.findIndex((o8)=>o8.uuid.slice(0,24)===L8)},sC6={copy:(w8)=>void XX(w8).then((L8)=>{if(L8)process.stdout.write(L8);m6({key:"selection-copied",text:"copied",color:"success",priority:"immediate",timeoutMs:2000})}),edit:async(w8)=>{let L8=uK8(w8.uuid),o8=L8>=0?H4[L8]:void 0;if(!o8||!xJ6(o8))return;let V7=!await N5K(q6,o8.uuid),J7=Jd8(H4,L8);if(V7&&J7)Fp(),xM6(o8);else X2(o8),X$(!0)}},{enter:eA7,handlers:Il8}=cE4(xw,tX,Ox,sC6);async function mK8(){P36();let w8=await yH();if(w8.length>0){let L8=w8.map((o8)=>` [${o8.type}] ${o8.path} (${o8.content.length} chars)${o8.parent?` (included by ${o8.parent})`:""}`).join(`
8170`);N(`Loaded ${w8.length} CLAUDE.md/rules files:
8171${L8}`)}else N("No CLAUDE.md/rules files found");for(let L8 of w8)Px.current.set(L8.path,{content:L8.contentDiffersFromDisk?L8.rawContent??L8.content:L8.content,timestamp:Date.now(),offset:void 0,limit:void 0,isPartialView:L8.contentDiffersFromDisk})}mrK(LUK()),KQK(H4,H4.length===z?.length);let{sendBridgeResult:pK8}=hQK(H4,J4,bw,N5,V6);FA.current=pK8,grK();let IM6=K1.useRef(!1);K1.useEffect(()=>{if(i.length<1){IM6.current=!1;return}if(IM6.current)return;IM6.current=!0,b8((w8)=>({...w8,promptQueueUseCount:(w8.promptQueueUseCount??0)+1}))},[i.length]);let BK8=K1.useCallback(async(w8)=>{await Vc8({helpers:{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}},queryGuard:uK,commands:N5,onInputChange:()=>{},setPastedContents:()=>{},setToolJSX:X5,getToolUseContext:zf,messages:H4,mainLoopModel:V6,ideSelection:X1,setUserInputOnProcessing:Xz,setAbortController:v_,onQuery:Q9,setAppState:J6,querySource:yo6(),onBeforeQuery:W,canUseTool:Fy,addNotification:m6,setMessages:J4,queuedCommands:w8})},[uK,N5,X5,zf,H4,V6,X1,Xz,Fy,v_,Q9,m6,J6,W]);boK({executeQueuedInput:BK8,hasActiveLocalJsxUI:H7,queryGuard:uK}),K1.useEffect(()=>{B26.recordUserActivity(),c36(!0)},[t7,uR]),K1.useEffect(()=>{if(uR===1)k$7()},[uR]),K1.useEffect(()=>{if(fK)return;if(uR===0)return;if(_f===0)return;let w8=setTimeout((L8,o8,V7,J7,Yq)=>{if(ap()>L8)return;let N4=Date.now()-L8;if(!o8&&!V7&&J7.current===void 0&&N4>=j8().messageIdleNotifThresholdMs)ZQ({message:"Claude is waiting for your input",notificationType:"idle_prompt"},Yq)},j8().messageIdleNotifThresholdMs,_f,fK,r7,J1,Z6);return()=>clearTimeout(w8)},[fK,r7,uR,_f,Z6]),K1.useEffect(()=>{if(_f===0)return;if(fK)return;let w8=g8("tengu_willow_mode","off");if(w8!=="hint"&&w8!=="hint_v2")return;if(j8().idleReturnDismissed)return;let L8=Number(process.env.CLAUDE_CODE_IDLE_TOKEN_THRESHOLD??1e5);if(bk()<L8)return;let o8=Number(process.env.CLAUDE_CODE_IDLE_THRESHOLD_MINUTES??75)*60000,V7=Date.now()-_f,J7=o8-V7,Yq=setTimeout((b7,N4,GK,lK,SK)=>{if(GK.current.length===0)return;let zj=bk(),D9=_Y(zj),aH=(Date.now()-b7)/60000;N4({key:"idle-return-hint",jsx:lK==="hint_v2"?R8.createElement(R8.Fragment,null,R8.createElement(k,{dimColor:!0},"new task? "),R8.createElement(k,{color:"suggestion"},"/clear"),R8.createElement(k,{dimColor:!0}," to save "),R8.createElement(k,{color:"suggestion"},D9," tokens")):R8.createElement(k,{color:"warning"},"new task? /clear to save ",D9," tokens"),priority:"medium",timeoutMs:2147483647}),SK.current=lK,d("tengu_idle_return_action",{action:"hint_shown",variant:lK,idleMinutes:Math.round(aH),messageCount:GK.current.length,totalInputTokens:zj})},Math.max(0,J7),_f,m6,P5,w8,xq);return()=>{clearTimeout(Yq),K8("idle-return-hint"),xq.current=!1}},[_f,fK,m6,K8]);let uM6=K1.useCallback((w8,L8)=>{if(uK.isActive)return!1;if(zP4().some((J7)=>J7.mode==="prompt"||J7.mode==="bash"))return!1;let o8=P3();v_(o8);let V7=U8({content:w8,isMeta:L8?.isMeta?!0:void 0});return Q9([V7],o8,!0,[],V6),!0},[Q9,V6,N6]),t3=JnY({setInputValueRaw:NK,inputValueRef:K3,insertTextRef:vY});KaK({enabled:nq(),isLoading:fK,focusedInputDialog:rY,onSubmitMessage:uM6}),IoK({isLoading:fK,onSubmitMessage:uM6});{let w8=N6.getState().kairosEnabled;ZnY({isLoading:fK,assistantMode:w8,setMessages:J4})}K1.useEffect(()=>{if(i.some((w8)=>w8.priority==="now"))bw.current?.abort("interrupt")},[i]),K1.useEffect(()=>{return mK8(),()=>{Ka.shutdown()}},[]);let{internal_eventEmitter:$c}=V16(),[ul8,mM6]=K1.useState(0);K1.useEffect(()=>{let w8=()=>{process.stdout.write(`

Callers 2

V7Function · 0.85
GA7Function · 0.85

Calls 15

CQFunction · 0.85
ajFunction · 0.85
ar1Function · 0.85
N8Function · 0.85
J6Function · 0.85
XNFunction · 0.85
Vd8Function · 0.85
DpFunction · 0.85
e$Function · 0.85
aE6Function · 0.85
YqFunction · 0.85
p6Function · 0.85

Tested by

no test coverage detected