(q,K)
| 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(` |
| 8172 | Claude Code has been suspended. Run \`fg\` to bring Claude Code back. |
| 8173 | Note: ctrl + z now suspends Claude Code, ctrl + _ undoes input. |
| 8174 | `)},L8=()=>{mM6((o8)=>o8+1)};return $c?.on("suspend",w8),$c?.on("resume",L8),()=>{$c?.off("suspend",w8),$c?.off("resume",L8)}},[$c]);let At=K1.useMemo(()=>{if(!fK)return null;let w8=H4.filter((GK)=>GK.type==="progress"&&GK.data.type==="hook_progress"&&(GK.data.hookEvent==="Stop"||GK.data.hookEvent==="SubagentStop"));if(w8.length===0)return null;let L8=w8.at(-1)?.toolUseID;if(!L8)return null;if(H4.some((GK)=>GK.type==="system"&&GK.subtype==="stop_hook_summary"&&GK.toolUseID===L8))return null;let V7=w8.filter((GK)=>GK.toolUseID===L8),J7=V7.length,Yq=$7(H4,(GK)=>{if(GK.type!=="attachment")return!1;let lK=GK.attachment;return"hookEvent"in lK&&(lK.hookEvent==="Stop"||lK.hookEvent==="SubagentStop")&&"toolUseID"in lK&&lK.toolUseID===L8}),b7=V7.find((GK)=>GK.data.statusMessage)?.data.statusMessage;if(b7)return J7===1?`${b7}…`:`${b7}… ${Yq}/${J7}`;let N4=V7[0]?.data.hookEvent==="SubagentStop"?"subagent stop":"stop";return J7===1?`running ${N4} hook`:`running stop hooks… ${Yq}/${J7}`},[H4,fK]),Ot=K1.useCallback(()=>{d1({messagesLength:H4.length,streamingToolUsesLength:Y_.length})},[H4.length,Y_.length]),tC6=K1.useCallback(()=>{d1(null)},[]),wt=p4()&&!B,Uy=K1.useRef(null),[kZ,Ac]=K1.useState(!1),[Zx,k36]=K1.useState(""),[Oc,Qy]=K1.useState(0),[pM6,BM6]=K1.useState(0),gK8=K1.useCallback((w8,L8)=>{Qy(w8),BM6(L8)},[]);k4((w8,L8,o8)=>{if(L8.ctrl||L8.meta)return;if(w8==="/"){Uy.current?.setAnchor(),Ac(!0),o8.stopImmediatePropagation();return}let V7=w8[0];if((V7==="n"||V7==="N")&&w8===V7.repeat(w8.length)&&Oc>0){let J7=V7==="n"?Uy.current?.nextMatch:Uy.current?.prevMatch;if(J7)for(let Yq=0;Yq<w8.length;Yq++)J7();o8.stopImmediatePropagation()}},{isActive:E6==="transcript"&&wt&&!kZ&&!b6});let{setQuery:jt,scanElement:gM6,setPositions:_5}=gUK(),V36=t1().columns,FK8=R8.useRef(V36);R8.useEffect(()=>{if(FK8.current!==V36){if(FK8.current=V36,Zx||kZ)Ac(!1),k36(""),Qy(0),BM6(0),Uy.current?.disarmSearch(),jt("")}},[V36,Zx,kZ,jt]),k4((w8,L8,o8)=>{if(L8.ctrl||L8.meta)return;if(w8==="q"){tC6(),o8.stopImmediatePropagation();return}if(w8==="["&&!b6)Q6(!0),x6(!0),o8.stopImmediatePropagation();else if(w8==="v"){if(o8.stopImmediatePropagation(),v6.current)return;v6.current=!0;let V7=F6.current,J7=(Yq)=>{if(V7!==F6.current)return;clearTimeout(W6.current),_6(Yq)};J7(`rendering ${c6.length} messages…`),(async()=>{try{let Yq=Math.max(80,(process.stdout.columns??80)-6),N4=(await lU8(c6,Mz,Yq)).replace(/[ \t]+$/gm,""),GK=wnY(jnY(),`cc-transcript-${Date.now()}.txt`);await HnY(GK,N4);let lK=og8(GK);J7(lK?`opening ${GK}`:`wrote ${GK} · no $VISUAL/$EDITOR set`)}catch(Yq){J7(`render failed: ${Yq instanceof Error?Yq.message:String(Yq)}`)}if(v6.current=!1,V7!==F6.current)return;W6.current=setTimeout((Yq)=>Yq(""),4000,_6)})()}},{isActive:E6==="transcript"&&wt&&!kZ});let Ht=E6==="transcript"&&wt;K1.useEffect(()=>{if(!Ht)k36(""),Qy(0),BM6(0),Ac(!1),F6.current++,clearTimeout(W6.current),Q6(!1),_6("")},[Ht]),K1.useEffect(()=>{if(jt(Ht?Zx:""),!Ht)_5(null)},[Ht,Zx,jt,_5]);let Jt={screen:E6,setScreen:R6,showAllInTranscript:h6,setShowAllInTranscript:x6,messageCount:H4.length,onEnterTranscript:Ot,onExitTranscript:tC6,virtualScrollActive:wt,searchBarOpen:kZ},ml8=G1?c6.slice(0,G1.messagesLength):c6,pl8=G1?Y_.slice(0,G1.streamingToolUsesLength):Y_;if(arK({onOpenBackgroundTasks:H7?void 0:()=>kM6(!0)}),$oK(),E6==="transcript"){let w8=p4()&&!B&&!b6?oO:void 0,L8=R8.createElement(AJ6,{messages:ml8,tools:Mz,commands:N5,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:uy,isMessageSelectorVisible:!1,conversationId:pp,screen:E6,agentDefinitions:t,streamingToolUses:pl8,showAllInTranscript:h6,onOpenRateLimitOptions:bM6,isLoading:fK,hidePastThinking:!0,streamingThinking:t_,scrollRef:w8,jumpRef:Uy,onSearchMatchesChange:gK8,scanElement:gM6,setPositions:_5,disableRenderCap:b6}),o8=r7&&R8.createElement(u,{flexDirection:"column",width:"100%"},r7.jsx),V7=R8.createElement(WM,null,R8.createElement(ltK,{isAnimating:k7,title:M2,disabled:x,noPrefix:x_}),R8.createElement(N$7,{...Jt}),R8.createElement(UtK,{voiceHandleKeyEvent:t3.handleKeyEvent,stripTrailing:t3.stripTrailing,resetAnchor:t3.resetAnchor,isActive:!r7?.isLocalJSXCommand}),R8.createElement(y$7,{onSubmit:gR,isActive:!r7?.isLocalJSXCommand}),w8?R8.createElement(OA7,{scrollRef:oO,isActive:rY!=="ultraplan-choice",isModal:!kZ,onScroll:()=>Uy.current?.disarmSearch()}):null,R8.createElement(E$7,{...nC6}),w8?R8.createElement(G57,{scrollRef:oO,scrollable:R8.createElement(R8.Fragment,null,L8,o8,R8.createElement(qA7,null)),bottom:kZ?R8.createElement(vnY,{jumpRef:Uy,initialQuery:"",count:Oc,current:pM6,onClose:(J7)=>{if(k36(Oc>0?J7:""),Ac(!1),!J7)Qy(0),BM6(0),Uy.current?.setSearchQuery("")},onCancel:()=>{Ac(!1),Uy.current?.setSearchQuery(""),Uy.current?.setSearchQuery(Zx),jt(Zx)},setHighlight:jt}):R8.createElement(dtK,{showAllInTranscript:h6,virtualScroll:!0,status:Y6||void 0,searchBadge:Zx&&Oc>0?{current:pM6,count:Oc}:void 0})}):R8.createElement(R8.Fragment,null,L8,o8,R8.createElement(qA7,null),R8.createElement(dtK,{showAllInTranscript:h6,virtualScroll:!1,suppressShowAll:b6,status:Y6||void 0})));if(w8)return R8.createElement(AA7,{mouseTracking:dN1()},V7);return V7}let Mt=A6?o[A6]:void 0,FM6=Mt&&xH(Mt)?Mt:void 0,Gx=FM6??(Mt&&EJ(Mt)?Mt:void 0),eC6=Gx?Gx.messages??[]:Jx||!fK?H4:c6,N36=p$&&!Gx&&eC6.length<=qz.current?p$:void 0,qb6=rY==="tool-permission"?R8.createElement(fcK,{key:OK[0]?.toolUseID,onDone:()=>L9(([w8,...L8])=>L8),onReject:f36,toolUseConfirm:OK[0],toolUseContext:zf(H4,H4,e5??P3(),V6),verbose:U,workerBadge:OK[0]?.workerBadge,setStickyFooter:p4()?iY:void 0}):null,qO7=V36<ez7,KO7=!r7?.shouldHidePromptInput&&!rY&&!_t,Tx=p4()&&r7?.isLocalJSXCommand===!0,Ek=Tx?r7.jsx:null,qP=R8.createElement(WM,null,R8.createElement(ltK,{isAnimating:k7,title:M2,disabled:x,noPrefix:x_}),R8.createElement(N$7,{...Jt}),R8.createElement(UtK,{voiceHandleKeyEvent:t3.handleKeyEvent,stripTrailing:t3.stripTrailing,resetAnchor:t3.resetAnchor,isActive:!r7?.isLocalJSXCommand}),R8.createElement(y$7,{onSubmit:gR,isActive:!r7?.isLocalJSXCommand}),R8.createElement(OA7,{scrollRef:oO,isActive:p4()&&(Ek!=null||!rY||rY==="tool-permission"),onScroll:Ek||qb6||Gx?void 0:up}),null,R8.createElement(E$7,{...nC6}),R8.createElement(tg8,{key:ul8,dynamicMcpConfig:C6,isStrictMcpConfig:M},R8.createElement(G57,{scrollRef:oO,overlay:qb6,bottomFloat:void 0,modal:Ek,modalScrollRef:nY,dividerYRef:jW,hidePill:!!Gx,hideSticky:!!FM6,newMessageCount:wx?.count??0,onPillClick:()=>{tX(null),GT(oO.current)},scrollable:R8.createElement(R8.Fragment,null,R8.createElement(loK,null),R8.createElement(AJ6,{messages:eC6,tools:Mz,commands:N5,verbose:U,toolJSX:r7,toolUseConfirmQueue:OK,inProgressToolUseIDs:FM6?FM6.inProgressToolUseIDs??new Set:uy,isMessageSelectorVisible:V3,conversationId:pp,screen:E6,streamingToolUses:Y_,showAllInTranscript:h6,agentDefinitions:t,onOpenRateLimitOptions:bM6,isLoading:fK,streamingText:fK&&!Gx?qt:null,isBriefOnly:Gx?!1:o6,unseenDivider:Gx?void 0:wx,scrollRef:p4()?oO:void 0,trackStickyPrompt:p4()?!0:void 0,cursor:xw,setCursor:tX,cursorNavRef:Ox}),R8.createElement(BsK,null),!f&&N36&&!Ek&&R8.createElement(Xj6,{param:{text:N36,type:"text"},addMargin:!0,verbose:U}),r7&&!(r7.isLocalJSXCommand&&r7.isImmediate)&&!Tx&&R8.createElement(u,{flexDirection:"column",width:"100%"},r7.jsx),!1,null,R8.createElement(u,{flexGrow:1}),NM6&&R8.createElement(vqK,{mode:qK,spinnerTip:$6,responseLengthRef:ej,apiMetricsRef:my,overrideMessage:jA,spinnerSuffix:At,verbose:U,loadingStartTimeRef:s3,totalPausedMsRef:B$,pauseStartTimeRef:H$,overrideColor:f8,overrideShimmerColor:Dq,hasActiveTools:uy.size>0,leaderIsIdle:!fK}),!NM6&&!fK&&!p$&&!zt&&o6&&!Gx&&R8.createElement(kqK,null),p4()&&R8.createElement(Oc8,null)),bottom:R8.createElement(u,{flexDirection:"row",width:"100%",alignItems:"flex-end"},null,R8.createElement(u,{flexDirection:"column",flexGrow:1},x5,r7?.isLocalJSXCommand&&r7.isImmediate&&!Tx&&R8.createElement(u,{flexDirection:"column",width:"100%"},r7.jsx),!NM6&&!r7?.isLocalJSXCommand&&M6&&u$&&u$.length>0&&R8.createElement(u,{width:"100%",flexDirection:"column"},R8.createElement(kC8,{tasks:u$,isStandalone:!0})),rY==="sandbox-permission"&&R8.createElement(e$7,{key:C3[0].hostPattern.host,hostPattern:C3[0].hostPattern,onUserResponse:(w8)=>{let{allow:L8,persistToSettings:o8}=w8,V7=C3[0];if(!V7)return;let J7=V7.hostPattern.host;if(o8){let b7={type:"addRules",rules:[{toolName:Sj,ruleContent:`domain:${J7}`}],behavior:L8?"allow":"deny",destination:"localSettings"};J6((N4)=>({...N4,toolPermissionContext:L$(N4.toolPermissionContext,b7)})),fU(b7),M7.refreshConfig()}y5((b7)=>{return b7.filter((N4)=>N4.hostPattern.host===J7).forEach((N4)=>N4.resolvePromise(L8)),b7.filter((N4)=>N4.hostPattern.host!==J7)});let Yq=w3.current.get(J7);if(Yq){for(let b7 of Yq)b7();w3.current.delete(J7)}}}),rY==="prompt"&&R8.createElement(LcK,{key:v3[0].request.prompt,title:v3[0].title,toolInputSummary:v3[0].toolInputSummary,request:v3[0].request,onRespond:(w8)=>{let L8=v3[0];if(!L8)return;L8.resolve({prompt_response:L8.request.prompt,selected:w8}),_z(([,...o8])=>o8)},onAbort:()=>{let w8=v3[0];if(!w8)return;w8.reject(Error("Prompt cancelled by user")),_z(([,...L8])=>L8)}}),j6&&R8.createElement(Jz7,{toolName:j6.toolName,description:j6.description}),G6&&R8.createElement(Jz7,{toolName:"Network Access",description:`Waiting for leader to approve network access to ${G6.host}`}),rY==="worker-sandbox-permission"&&R8.createElement(e$7,{key:s.queue[0].requestId,hostPattern:{host:s.queue[0].host,port:void 0},onUserResponse:(w8)=>{let{allow:L8,persistToSettings:o8}=w8,V7=s.queue[0];if(!V7)return;let J7=V7.host;if(v7K(V7.workerName,V7.requestId,J7,L8,w6?.teamName),o8&&L8){let Yq={type:"addRules",rules:[{toolName:Sj,ruleContent:`domain:${J7}`}],behavior:"allow",destination:"localSettings"};J6((b7)=>({...b7,toolPermissionContext:L$(b7.toolPermissionContext,Yq)})),fU(Yq),M7.refreshConfig()}J6((Yq)=>({...Yq,workerSandboxPermissions:{...Yq.workerSandboxPermissions,queue:Yq.workerSandboxPermissions.queue.slice(1)}}))}}),rY==="elicitation"&&R8.createElement(ycK,{key:a.queue[0].serverName+":"+String(a.queue[0].requestId),event:a.queue[0],onResponse:(w8,L8)=>{let o8=a.queue[0];if(!o8)return;if(o8.respond({action:w8,content:L8}),!(o8.params.mode==="url"&&w8==="accept"))J6((J7)=>({...J7,elicitation:{queue:J7.elicitation.queue.slice(1)}}))},onWaitingDismiss:(w8)=>{let L8=a.queue[0];J6((o8)=>({...o8,elicitation:{queue:o8.elicitation.queue.slice(1)}})),L8?.onWaitingDismiss?.(w8)}}),rY==="cost"&&R8.createElement(UUK,{onDone:()=>{py(!1),gC6(!0),b8((w8)=>({...w8,hasAcknowledgedCostThreshold:!0})),d("tengu_cost_threshold_acknowledged",{})}}),rY==="idle-return"&&Kt&&R8.createElement(dUK,{idleMinutes:Kt.idleMinutes,totalInputTokens:bk(),onDone:async(w8)=>{let L8=Kt;if(H36(null),d("tengu_idle_return_action",{action:w8,idleMinutes:Math.round(L8.idleMinutes),messageCount:P5.current.length,totalInputTokens:bk()}),w8==="dismiss"){k3(L8.input);return}if(w8==="never")b8((o8)=>{if(o8.idleReturnDismissed)return o8;return{...o8,idleReturnDismissed:!0}});if(w8==="clear"){let{clearConversation:o8}=await Promise.resolve().then(() => (fg8(),Iq7));await o8({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}J36.current=!0,aC6.current(L8.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),rY==="ide-onboarding"&&R8.createElement(tB1,{onDone:()=>P7(!1),installationStatus:X7}),!1,!1,rY==="effort-callout"&&R8.createElement(XaK,{model:V6,onDone:(w8)=>{if(j7(!1),w8!=="dismiss")J6((L8)=>({...L8,effortValue:w8}))}}),rY==="remote-callout"&&R8.createElement(vpK,{onDone:(w8)=>{J6((L8)=>{if(!L8.showRemoteCallout)return L8;return{...L8,showRemoteCallout:!1,...w8==="enable"&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}})}}),cC6,rY==="plugin-hint"&&S3&&R8.createElement(EsK,{pluginName:S3.pluginName,pluginDescription:S3.pluginDescription,marketplaceName:S3.marketplaceName,sourceCommand:S3.sourceCommand,onResponse:P9}),rY==="lsp-recommendation"&&F3&&R8.createElement(ksK,{pluginName:F3.pluginName,pluginDescription:F3.pluginDescription,fileExtension:F3.fileExtension,onResponse:xz}),rY==="desktop-upsell"&&R8.createElement(daK,{onDone:()=>X9(!1)}),null,null,yK8(),!r7?.shouldHidePromptInput&&!rY&&!W36&&!f&&!xw&&R8.createElement(R8.Fragment,null,BR&&R8.createElement(jtK,{onRun:bl8,onCancel:xl8,reason:MtK(BR)}),Yc.state!=="closed"?R8.createElement(t48,{state:Yc.state,lastResponse:Yc.lastResponse,handleSelect:Yc.handleSelect,inputValue:t7,setInputValue:k3,onRequestFeedback:oC6}):gp.state!=="closed"?R8.createElement(t48,{state:gp.state,lastResponse:gp.lastResponse,handleSelect:gp.handleSelect,handleTranscriptSelect:gp.handleTranscriptSelect,inputValue:t7,setInputValue:k3,onRequestFeedback:oC6,message:"How well did Claude use its memory? (optional)"}):R8.createElement(t48,{state:zc.state,lastResponse:zc.lastResponse,handleSelect:zc.handleSelect,handleTranscriptSelect:zc.handleTranscriptSelect,inputValue:t7,setInputValue:k3,onRequestFeedback:SM6.current?void 0:oC6}),EM6.state!=="closed"&&R8.createElement(t48,{state:EM6.state,lastResponse:null,handleSelect:()=>{},handleTranscriptSelect:EM6.handleTranscriptSelect,inputValue:t7,setInputValue:k3}),!1,EK8&&R8.createElement(PtK,null),R8.createElement(oiK,{debug:K,ideSelection:X1,hasSuppressedDialogs:!!hK8,isLocalJSXCommandActive:H7,getToolUseContext:zf,toolPermissionContext:F,setToolPermissionContext:Z36,apiKeyStatus:LK8,commands:N5,agents:t.activeAgents,isLoading:fK,onExit:Dx,verbose:U,messages:H4,onAutoUpdaterResult:ZK,autoUpdaterResult:Tq,input:t7,onInputChange:k3,mode:sO,onModeChange:Kj,stashedPrompt:ZO,setStashedPrompt:Iw,submitCount:uR,onShowMessageSelector:IK8,onMessageActionsEnter:void 0,mcpClients:M8,pastedContents:oH,setPastedContents:HW,vimMode:yk,setVimMode:FC6,showBashesDialog:_t,setShowBashesDialog:kM6,onSubmit:gR,onAgentSubmit:xK8,isSearchingHistory:kK8,setIsSearchingHistory:VM6,helpOpen:eX,setHelpOpen:VK8,insertTextRef:vY,voiceInterimRange:t3.interimRange}),R8.createElement(jaK,{onBackgroundSession:bK8,isLoading:fK})),xw&&R8.createElement(lE4,{cursor:xw}),rY==="message-selector"&&R8.createElement(hz7,{messages:H4,preselectedMessage:_j,onPreRestore:Fp,onRestoreCode:async(w8)=>{await jx8((L8)=>{J6((o8)=>({...o8,fileHistory:L8(o8.fileHistory)}))},w8.uuid)},onSummarize:async(w8,L8,o8="from")=>{let V7=i2(H4),J7=V7.indexOf(w8);if(J7===-1){J4((QA)=>[...QA,fw("That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.","warning")]);return}let Yq=P3(),b7=zf(V7,[],Yq,V6),N4=b7.getAppState(),GK=await QP(b7.options.tools,b7.options.mainLoopModel,Array.from(N4.toolPermissionContext.additionalWorkingDirectories.keys()),b7.options.mcpClients),lK=Eb({mainThreadAgentDefinition:void 0,toolUseContext:b7,customSystemPrompt:b7.options.customSystemPrompt,defaultSystemPrompt:GK,appendSystemPrompt:b7.options.appendSystemPrompt}),[SK,zj]=await Promise.all([bO(),tw()]),D9=await zDK(V7,J7,b7,{systemPrompt:lK,userContext:SK,systemContext:zj,toolUseContext:b7,forkContextMessages:V7},L8,o8),aH=D9.messagesToKeep??[],Lk=o8==="up_to"?[...D9.summaryMessages,...aH]:[...aH,...D9.summaryMessages],HA=[D9.boundaryMarker,...Lk,...D9.attachments,...D9.hookResults];if(p4()&&o8==="from")J4((QA)=>{let wc=QA.findIndex((Kb6)=>Kb6.uuid===w8.uuid);return[...QA.slice(0,wc===-1?0:wc),...HA]});else J4(HA);if(By(PM6()),Hp(b7.options.querySource),o8==="from"){let QA=w77(w8);if(QA)k3(QA.text),Kj(QA.mode)}let kY=RH("app:toggleTranscript","Global","ctrl+o");m6({key:"summarize-ctrl-o-hint",text:`Conversation summarized (${kY} for history)`,priority:"medium",timeoutMs:8000})},onRestoreMessage:xM6,onClose:()=>{X$(!1),X2(void 0)}}),!1),null)})));if(p4())return R8.createElement(AA7,{mouseTracking:dN1()},qP);return qP}var R8,K1,JnY,UtK,MnY=()=>({state:"closed",handleTranscriptSelect:()=>{}}),XnY=()=>{},PnY=()=>({}),QtK=null,WnY=(q)=>()=>{},DnY=()=>!1,fnY=(q,K)=>!1,ZnY,ZA7,GnY,TnY=3000,ntK,ctK="✳",knY=960;var TA7=y(()=>{q8();v8();vp8();bq();s6();H56();t4();FUK();e37();Wd();s6();QUK();cUK();h$();tt6();aUK();GF();Bi();NG();v8();M0();_8();sUK();m8();U7();cc6();RD();vE6();yE6();AY();qQK();Hb();gP();w46();_QK();SQK();yA();Md8();pQK();ZcK();EcK();RcK();aiK();$$7();_rK();$rK();OrK();jrK();JrK();DrK();Q2();rL();xR6();jN();wM();V$7();Tb();prK();_z7();FrK();QrK();Ib();NY7();crK();nrK();irK();dU();LX();tu();orK();srK();zoK();AoK();y8();E8();DoK();LH();oz7();fX();Tz();pr6();DN();V1();$n();k8();o1();i1();PS6();RY();RA();RoK();xoK();uoK();MH6();Tj6();BoK();dN8();y37();yU8();FoK();coK();B$7();Yq8();nn1();noK();NC8();t18();JK6();y$();roK();BD();rq6();H67();yQ();C7();SJ();_K();qL6();To6();EC();G18();IG();no();oN();xr();_K();a48();lQ();PK6();_aK();i$();YaK();U2();OaK();t37();a37();d0();p2();fC6();HaK();gm8();MaK();Pj6();Yw6();eB1();WaK();f97();Bn1();B2();Z56();TaK();kaK();NaK();LaK();haK();baK();IaK();BaK();FaK();iaK();Kr1();K$();Qc8();KsK();_sK();zsK();j47();AsK();wsK();rd8();HsK();vsK();VsK();ysK();LsK();n$7();SsK();bsK();psK();gb8();gsK();UsK();dsK();lsK();isK();asK();tsK();ztK();wtK();XtK();DtK();qY7();ftK();yA();T57();_M();ZtK();EtK();NN();YM();lP();R8=O6(D6(),1),K1=O6(D6(),1),JnY=(jA7(),Eq(wA7)).useVoiceIntegration,UtK=(jA7(),Eq(wA7)).VoiceKeybindingHandler,ZnY=(FtK(),Eq(gtK)).useScheduledTasks,ZA7=[],GnY={maybeLoadOlder:(q)=>{}};ntK=["⠂","⠐"]});async function PK8(q,K,_,z){let{App:Y}=await Promise.resolve().then(() => (wz7(),Oz7)),{REPL:$}=await Promise.resolve().then(() => (TA7(),itK));await z(q,vA7.default.createElement(Y,{...K},vA7.default.createElement($,{..._})))}var vA7;var rtK=y(()=>{vA7=O6(D6(),1)});async function EnY(){if(iA())return N("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if(E7()!=="firstParty")return N("[Bootstrap] Skipped: 3P provider"),null;let q=zv();if(!(Kq()?.accessToken&&BW())&&!q)return N("[Bootstrap] Skipped: no usable OAuth or API key"),null;let _=`${u7().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await Ki(async()=>{let z=Kq()?.accessToken,Y;if(z&&BW())Y={Authorization:`Bearer ${z}`,"anthropic-beta":rM};else if(q)Y={"x-api-key":q};else return N("[Bootstrap] No auth available on retry, aborting"),null;N("[Bootstrap] Fetching");let $=await $1.get(_,{headers:{"Content-Type":"application/json","User-Agent":n$(),...Y},timeout:5000}),A=ynY().safeParse($.data);if(!A.success)return N(`[Bootstrap] Response failed validation: ${A.error.message}`),null;return N("[Bootstrap] Fetch ok"),A.data})}catch(z){throw N(`[Bootstrap] Fetch failed: ${$1.isAxiosError(z)?z.response?.status??z.code:"unknown"}`),z}}async function otK(){try{let q=await EnY();if(!q)return;let K=q.client_data??null,_=q.additional_model_options??[],z=j8();if(QJ(z.clientDataCache,K)&&QJ(z.additionalModelOptionsCache,_)){N("[Bootstrap] Cache unchanged, skipping write");return}N("[Bootstrap] Cache updated, persisting to disk"),b8((Y)=>({...Y,clientDataCache:K,additionalModelOptionsCache:_}))}catch(q){H6(q)}}var ynY;var atK=y(()=>{CK();Ee();G7();dA6();H3();V1();_8();jG();E8();Az();ynY=B6(()=>Y5.object({client_data:Y5.record(Y5.unknown()).nullish(),additional_model_options:Y5.array(Y5.object({model:Y5.string(),name:Y5.string(),description:Y5.string()}).transform(({model:q,name:K,description:_})=>({value:q,label:K,description:_}))).nullish()}))});import{posix as stK,win32 as ttK}from"path";function RnY(){let q=process.argv[1]||"",K=process.execPath||process.argv[0]||"";if(Z1()==="windows")q=q.split(ttK.sep).join(stK.sep),K=K.split(ttK.sep).join(stK.sep);let _=[q,K],z=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return _.some((Y)=>z.some(($)=>Y.includes($)))}function SnY(q){let K=`${q.name}: ${q.message}`;return hnY.some((_)=>_.test(K))}function etK(){let q=process.listeners("warning");if(zl8&&q.includes(zl8))return;if(!RnY())process.removeAllListeners("warning");zl8=(_)=>{try{let z=`${_.name}: ${_.message.slice(0,50)}`,Y=_l8.get(z)||0;if(_l8.has(z)||_l8.size<LnY)_l8.set(z,Y+1);let $=SnY(_);if(d("tengu_node_warning",{is_internal:$?1:0,occurrence_count:Y+1,classname:_.name,...!1}),i6(process.env.CLAUDE_DEBUG))N(`${$?"[Internal Warning]":"[Warning]"} ${_.toString()}`,{level:"warn"})}catch{}},process.on("warning",zl8)}var LnY=1000,_l8,hnY,zl8=null;var qeK=y(()=>{k8();_8();m8();vK();_l8=new Map;hnY=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function Yl8(){let q=z6(1),K;if(q[0]===Symbol.for("react.memo_cache_sentinel"))K=kA7.default.createElement(k,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",kA7.default.createElement(hq,{url:"https://code.claude.com/docs/en/mcp"},"MCP documentation"),"."),q[0]=K;else K=q[0];return K}var kA7;var VA7=y(()=>{q8();s6();kA7=O6(D6(),1)});function KeK(q){let K=z6(13),{serverName:_,onDone:z}=q,Y;if(K[0]!==z||K[1]!==_)Y=function(X){d("tengu_mcp_dialog_choice",{choice:X});q:switch(X){case"yes":case"yes_all":{let W=(Z7()||{}).enabledMcpjsonServers||[];if(!W.includes(_))W7("localSettings",{enabledMcpjsonServers:[...W,_]});if(X==="yes_all")W7("localSettings",{enableAllProjectMcpServers:!0});z();break q}case"no":{let W=(Z7()||{}).disabledMcpjsonServers||[];if(!W.includes(_))W7("localSettings",{disabledMcpjsonServers:[...W,_]});z()}}},K[0]=z,K[1]=_,K[2]=Y;else Y=K[2];let $=Y,A=`New MCP server found in .mcp.json: ${_}`,O;if(K[3]!==$)O=()=>$("no"),K[3]=$,K[4]=O;else O=K[4];let w;if(K[5]===Symbol.for("react.memo_cache_sentinel"))w=$l8.default.createElement(Yl8,null),K[5]=w;else w=K[5];let j;if(K[6]===Symbol.for("react.memo_cache_sentinel"))j=[{label:"Use this and all future MCP servers in this project",value:"yes_all"},{label:"Use this MCP server",value:"yes"},{label:"Continue without using this MCP server",value:"no"}],K[6]=j;else j=K[6];let H;if(K[7]!==$)H=$l8.default.createElement(H1,{options:j,onChange:(M)=>$(M),onCancel:()=>$("no")}),K[7]=$,K[8]=H;else H=K[8];let J;if(K[9]!==A||K[10]!==O||K[11]!==H)J=$l8.default.createElement(R1,{title:A,color:"warning",onCancel:O},w,H),K[9]=A,K[10]=O,K[11]=H,K[12]=J;else J=K[12];return J}var $l8;var _eK=y(()=>{q8();k8();U1();d_();e4();VA7();$l8=O6(D6(),1)});function zeK(q){let K=z6(21),{serverNames:_,onDone:z}=q,Y;if(K[0]!==z||K[1]!==_)Y=function(D){let f=Z7()||{},G=f.enabledMcpjsonServers||[],Z=f.disabledMcpjsonServers||[],[T,v]=NU8(_,(V)=>D.includes(V));if(d("tengu_mcp_multidialog_choice",{approved:T.length,rejected:v.length}),T.length>0){let V=[...new Set([...G,...T])];W7("localSettings",{enabledMcpjsonServers:V})}if(v.length>0){let V=[...new Set([...Z,...v])];W7("localSettings",{disabledMcpjsonServers:V})}z()},K[0]=z,K[1]=_,K[2]=Y;else Y=K[2];let $=Y,A;if(K[3]!==z||K[4]!==_)A=()=>{let D=(Z7()||{}).disabledMcpjsonServers||[],f=[...new Set([...D,..._])];W7("localSettings",{disabledMcpjsonServers:f}),z()},K[3]=z,K[4]=_,K[5]=A;else A=K[5];let O=A,w=`${_.length} new MCP servers found in .mcp.json`,j;if(K[6]===Symbol.for("react.memo_cache_sentinel"))j=Yx.default.createElement(Yl8,null),K[6]=j;else j=K[6];let H;if(K[7]!==_)H=_.map(CnY),K[7]=_,K[8]=H;else H=K[8];let J;if(K[9]!==O||K[10]!==$||K[11]!==_||K[12]!==H)J=Yx.default.createElement(Y46,{options:H,defaultValue:_,onSubmit:$,onCancel:O,hideIndexes:!0}),K[9]=O,K[10]=$,K[11]=_,K[12]=H,K[13]=J;else J=K[13];let M;if(K[14]!==O||K[15]!==w||K[16]!==J)M=Yx.default.createElement(R1,{title:w,subtitle:"Select any you wish to enable.",color:"warning",onCancel:O,hideInputGuide:!0},j,J),K[14]=O,K[15]=w,K[16]=J,K[17]=M;else M=K[17];let X;if(K[18]===Symbol.for("react.memo_cache_sentinel"))X=Yx.default.createElement(u,{paddingX:1},Yx.default.createElement(k,{dimColor:!0,italic:!0},Yx.default.createElement(I1,null,Yx.default.createElement(t8,{shortcut:"Space",action:"select"}),Yx.default.createElement(t8,{shortcut:"Enter",action:"confirm"}),Yx.default.createElement(W1,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})))),K[18]=X;else X=K[18];let P;if(K[19]!==M)P=Yx.default.createElement(Yx.default.Fragment,null,M,X),K[19]=M,K[20]=P;else P=K[20];return P}function CnY(q){return{label:q,value:q}}var Yx;var YeK=y(()=>{q8();N37();k8();s6();U1();a5();Ys6();QK();e4();rK();VA7();Yx=O6(D6(),1)});async function $eK(q){let{servers:K}=SH("project"),_=Object.keys(K).filter((z)=>zE8(z)==="pending");if(_.length===0)return;await new Promise((z)=>{let Y=()=>void z();if(_.length===1&&_[0]!==void 0){let $=_[0];q.render(WM6.default.createElement(LJ,null,WM6.default.createElement(WM,null,WM6.default.createElement(KeK,{serverName:$,onDone:Y}))))}else q.render(WM6.default.createElement(LJ,null,WM6.default.createElement(WM,null,WM6.default.createElement(zeK,{serverNames:_,onDone:Y}))))})}var WM6;var AeK=y(()=>{_eK();YeK();dU();C7();f0();NJ();WM6=O6(D6(),1)});function OeK(){if(process.platform!=="darwin")return;let q=process.env.TERM_PROGRAM;if(!q)return;let K=bnY[q.toLowerCase()];if(!K)return;if(j8().deepLinkTerminal===K)return;b8((z)=>({...z,deepLinkTerminal:K})),N(`Stored deep link terminal preference: ${K}`)}var bnY;var weK=y(()=>{V1();_8();bnY={iterm:"iTerm","iterm.app":"iTerm",ghostty:"Ghostty",kitty:"kitty",alacritty:"Alacritty",wezterm:"WezTerm",apple_terminal:"Terminal"}});class NA7{frameDurations=[];firstRenderTime;lastRenderTime;record(q){let K=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=K;this.lastRenderTime=K,this.frameDurations.push(q)}getMetrics(){if(this.frameDurations.length===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let q=this.lastRenderTime-this.firstRenderTime;if(q<=0)return;let _=this.frameDurations.length/(q/1000),z=this.frameDurations.slice().sort((O,w)=>w-O),Y=Math.max(0,Math.ceil(z.length*0.01)-1),$=z[Y],A=$>0?1000/$:0;return{averageFps:Math.round(_*100)/100,low1PctFps:Math.round(A*100)/100}}}import{realpath as xnY}from"fs/promises";async function jeK(){try{let q=await ge();if(!q){N("Not in a GitHub repository, skipping path mapping update");return}let K=r1(),z=hY(K)??K,Y;try{Y=(await xnY(z)).normalize("NFC")}catch{Y=z}let $=q.toLowerCase(),O=j8().githubRepoPaths?.[$]??[];if(O[0]===Y){N(`Path ${Y} already tracked for repo ${$}`);return}let w=O.filter((H)=>H!==Y),j=[Y,...w];b8((H)=>({...H,githubRepoPaths:{...H.githubRepoPaths,[$]:j}})),N(`Added ${Y} to tracked paths for repo ${$}`)}catch(q){N(`Error updating repo path mapping: ${q}`)}}function Al8(q){let K=j8(),_=q.toLowerCase();return K.githubRepoPaths?.[_]??[]}async function Ol8(q){let K=await Promise.all(q.map(u5));return q.filter((_,z)=>K[z])}async function HeK(q,K){try{let _=await o$8(q);if(!_)return!1;let z=W_6(_);if(!z)return!1;return z.toLowerCase()===K.toLowerCase()}catch{return!1}}function JeK(q,K){let _=j8(),z=q.toLowerCase(),Y=_.githubRepoPaths?.[z]??[],$=Y.filter((O)=>O!==K);if($.length===Y.length)return;let A={..._.githubRepoPaths};if($.length===0)delete A[z];else A[z]=$;b8((O)=>({...O,githubRepoPaths:A})),N(`Removed ${K} from tracked paths for repo ${z}`)}var WK8=y(()=>{v8();V1();_8();mZ();bK();Hl();E5()});function MeK(q,K){let[_,z]=wl8.useState(!1);return wl8.useEffect(()=>{z(!1);let Y=setTimeout(z,q,!0);return()=>clearTimeout(Y)},[q,K]),_}var wl8;var XeK=y(()=>{wl8=O6(D6(),1)});async function InY(){try{let q=u7(),K=new URL(q.TOKEN_URL),_=[`${q.BASE_API_URL}/api/hello`,`${K.origin}/v1/oauth/hello`],z=async(A)=>{try{let O=await $1.get(A,{headers:{"User-Agent":hS()}});if(O.status!==200)return{success:!1,error:`Failed to connect to ${new URL(A).hostname}: Status ${O.status}`};return{success:!0}}catch(O){let w=new URL(A).hostname,j=a76(O);return{success:!1,error:`Failed to connect to ${w}: ${O instanceof Error?O.code||O.message:String(O)}`,sslHint:j??void 0}}},$=(await Promise.all(_.map(z))).find((A)=>!A.success);if($)d("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!$.error,isSSLError:!!$.sslHint});return $||{success:!0}}catch(q){return H6(q),d("tengu_preflight_check_failed",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${q instanceof Error?q.code||q.message:String(q)}`}}}function PeK(q){let K=z6(12),{onSuccess:_}=q,[z,Y]=IM.useState(null),[$,A]=IM.useState(!0),O=MeK(1000)&&$,w,j;if(K[0]===Symbol.for("react.memo_cache_sentinel"))w=()=>{(async function(){let D=await InY();Y(D),A(!1)})()},j=[],K[0]=w,K[1]=j;else w=K[0],j=K[1];IM.useEffect(w,j);let H,J;if(K[2]!==_||K[3]!==z)H=()=>{if(z?.success)_();else if(z&&!z.success){let P=setTimeout(unY,100);return()=>clearTimeout(P)}},J=[z,_],K[2]=_,K[3]=z,K[4]=H,K[5]=J;else H=K[4],J=K[5];IM.useEffect(H,J);let M;if(K[6]!==$||K[7]!==z||K[8]!==O)M=$&&O?IM.default.createElement(u,{paddingLeft:1},IM.default.createElement(IK,null),IM.default.createElement(k,null,"Checking connectivity...")):!z?.success&&!$&&IM.default.createElement(u,{flexDirection:"column",gap:1},IM.default.createElement(k,{color:"error"},"Unable to connect to Anthropic services"),IM.default.createElement(k,{color:"error"},z?.error),z?.sslHint?IM.default.createElement(u,{flexDirection:"column",gap:1},IM.default.createElement(k,null,z.sslHint),IM.default.createElement(k,{color:"suggestion"},"See https://code.claude.com/docs/en/network-config")):IM.default.createElement(u,{flexDirection:"column",gap:1},IM.default.createElement(k,null,"Please check your internet connection and network settings."),IM.default.createElement(k,null,"Note: Claude Code might not be available in your country. Check supported countries at"," ",IM.default.createElement(k,{color:"suggestion"},"https://anthropic.com/supported-countries")))),K[6]=$,K[7]=z,K[8]=O,K[9]=M;else M=K[9];let X;if(K[10]!==M)X=IM.default.createElement(u,{flexDirection:"column",gap:1,paddingLeft:1},M),K[10]=M,K[11]=X;else X=K[11];return X}function unY(){return process.exit(1)}var IM;var WeK=y(()=>{q8();CK();k8();Q2();H3();XeK();s6();Pr();jG();E8();IM=O6(D6(),1)});var DeK={};T8(DeK,{ApproveApiKey:()=>yA7});function yA7(q){let K=z6(17),{customApiKeyTruncated:_,onDone:z}=q,Y;if(K[0]!==_||K[1]!==z)Y=function(W){q:switch(W){case"yes":{b8((D)=>({...D,customApiKeyResponses:{...D.customApiKeyResponses,approved:[...D.customApiKeyResponses?.approved??[],_]}})),z(!0);break q}case"no":b8((D)=>({...D,customApiKeyResponses:{...D.customApiKeyResponses,rejected:[...D.customApiKeyResponses?.rejected??[],_]}})),z(!1)}},K[0]=_,K[1]=z,K[2]=Y;else Y=K[2];let $=Y,A;if(K[3]!==$)A=()=>$("no"),K[3]=$,K[4]=A;else A=K[4];let O;if(K[5]===Symbol.for("react.memo_cache_sentinel"))O=as.default.createElement(k,{bold:!0},"ANTHROPIC_API_KEY"),K[5]=O;else O=K[5];let w;if(K[6]!==_)w=as.default.createElement(k,null,O,as.default.createElement(k,null,": sk-ant-...",_)),K[6]=_,K[7]=w;else w=K[7];let j;if(K[8]===Symbol.for("react.memo_cache_sentinel"))j=as.default.createElement(k,null,"Do you want to use this API key?"),K[8]=j;else j=K[8];let H;if(K[9]===Symbol.for("react.memo_cache_sentinel"))H={label:"Yes",value:"yes"},K[9]=H;else H=K[9];let J;if(K[10]===Symbol.for("react.memo_cache_sentinel"))J=[H,{label:as.default.createElement(k,null,"No (",as.default.createElement(k,{bold:!0},"recommended"),")"),value:"no"}],K[10]=J;else J=K[10];let M;if(K[11]!==$)M=as.default.createElement(H1,{defaultValue:"no",defaultFocusValue:"no",options:J,onChange:(P)=>$(P),onCancel:()=>$("no")}),K[11]=$,K[12]=M;else M=K[12];let X;if(K[13]!==A||K[14]!==w||K[15]!==M)X=as.default.createElement(R1,{title:"Detected a custom API key in your environment",color:"warning",onCancel:A},w,j,M),K[13]=A,K[14]=w,K[15]=M,K[16]=X;else X=K[16];return X}var as;var EA7=y(()=>{q8();s6();V1();d_();e4();as=O6(D6(),1)});function Hl8(){let q=z6(35),[K]=Aq();if(a1.terminal==="Apple_Terminal"){let Z;if(q[0]!==K)Z=n1.default.createElement(mnY,{theme:K,welcomeMessage:"Welcome to Claude Code"}),q[0]=K,q[1]=Z;else Z=q[1];return Z}if(["light","light-daltonized","light-ansi"].includes(K)){let Z,T,v,V,E,S,R,x,I;if(q[2]===Symbol.for("react.memo_cache_sentinel"))Z=n1.default.createElement(k,null,n1.default.createElement(k,{color:"claude"},"Welcome to Claude Code"," "),n1.default.createElement(k,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION," ")),T=n1.default.createElement(k,null,"…………………………………………………………………………………………………………………………………………………………"),v=n1.default.createElement(k,null," "),V=n1.default.createElement(k,null," "),E=n1.default.createElement(k,null," "),S=n1.default.createElement(k,null," ░░░░░░ "),R=n1.default.createElement(k,null," ░░░ ░░░░░░░░░░ "),x=n1.default.createElement(k,null," ░░░░░░░░░░░░░░░░░░░ "),I=n1.default.createElement(k,null," "),q[2]=Z,q[3]=T,q[4]=v,q[5]=V,q[6]=E,q[7]=S,q[8]=R,q[9]=x,q[10]=I;else Z=q[2],T=q[3],v=q[4],V=q[5],E=q[6],S=q[7],R=q[8],x=q[9],I=q[10];let B;if(q[11]===Symbol.for("react.memo_cache_sentinel"))B=n1.default.createElement(k,null,n1.default.createElement(k,{dimColor:!0}," ░░░░"),n1.default.createElement(k,null," ██ ")),q[11]=B;else B=q[11];let p,C;if(q[12]===Symbol.for("react.memo_cache_sentinel"))p=n1.default.createElement(k,null,n1.default.createElement(k,{dimColor:!0}," ░░░░░░░░░░"),n1.default.createElement(k,null," ██▒▒██ ")),C=n1.default.createElement(k,null," ▒▒ ██ ▒"),q[12]=p,q[13]=C;else p=q[12],C=q[13];let g;if(q[14]===Symbol.for("react.memo_cache_sentinel"))g=n1.default.createElement(k,null," ",n1.default.createElement(k,{color:"clawd_body"}," █████████ ")," ▒▒░░▒▒ ▒ ▒▒"),q[14]=g;else g=q[14];let F;if(q[15]===Symbol.for("react.memo_cache_sentinel"))F=n1.default.createElement(k,null," ",n1.default.createElement(k,{color:"clawd_body",backgroundColor:"clawd_background"},"██▄█████▄██")," ▒▒ ▒▒ "),q[15]=F;else F=q[15];let U;if(q[16]===Symbol.for("react.memo_cache_sentinel"))U=n1.default.createElement(k,null," ",n1.default.createElement(k,{color:"clawd_body"}," █████████ ")," ░ ▒ "),q[16]=U;else U=q[16];let c;if(q[17]===Symbol.for("react.memo_cache_sentinel"))c=n1.default.createElement(u,{width:jl8},n1.default.createElement(k,null,Z,T,v,V,E,S,R,x,I,B,p,C,g,F,U,n1.default.createElement(k,null,"…………………",n1.default.createElement(k,{color:"clawd_body"},"█ █ █ █"),"……………………………………………………………………░…………………………▒…………"))),q[17]=c;else c=q[17];return c}let _,z,Y,$,A,O,w;if(q[18]===Symbol.for("react.memo_cache_sentinel"))_=n1.default.createElement(k,null,n1.default.createElement(k,{color:"claude"},"Welcome to Claude Code"," "),n1.default.createElement(k,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION," ")),z=n1.default.createElement(k,null,"…………………………………………………………………………………………………………………………………………………………"),Y=n1.default.createElement(k,null," "),$=n1.default.createElement(k,null," * █████▓▓░ "),A=n1.default.createElement(k,null," * ███▓░ ░░ "),O=n1.default.createElement(k,null," ░░░░░░ ███▓░ "),w=n1.default.createElement(k,null," ░░░ ░░░░░░░░░░ ███▓░ "),q[18]=_,q[19]=z,q[20]=Y,q[21]=$,q[22]=A,q[23]=O,q[24]=w;else _=q[18],z=q[19],Y=q[20],$=q[21],A=q[22],O=q[23],w=q[24];let j,H,J,M,X;if(q[25]===Symbol.for("react.memo_cache_sentinel"))J=n1.default.createElement(k,null,n1.default.createElement(k,null," ░░░░░░░░░░░░░░░░░░░ "),n1.default.createElement(k,{bold:!0},"*"),n1.default.createElement(k,null," ██▓░░ ▓ ")),M=n1.default.createElement(k,null," ░▓▓███▓▓░ "),X=n1.default.createElement(k,{dimColor:!0}," * ░░░░ "),j=n1.default.createElement(k,{dimColor:!0}," ░░░░░░░░ "),H=n1.default.createElement(k,{dimColor:!0}," ░░░░░░░░░░░░░░░░ "),q[25]=j,q[26]=H,q[27]=J,q[28]=M,q[29]=X;else j=q[25],H=q[26],J=q[27],M=q[28],X=q[29];let P;if(q[30]===Symbol.for("react.memo_cache_sentinel"))P=n1.default.createElement(k,{color:"clawd_body"}," █████████ "),q[30]=P;else P=q[30];let W;if(q[31]===Symbol.for("react.memo_cache_sentinel"))W=n1.default.createElement(k,null," ",P," ",n1.default.createElement(k,{dimColor:!0},"*"),n1.default.createElement(k,null," ")),q[31]=W;else W=q[31];let D;if(q[32]===Symbol.for("react.memo_cache_sentinel"))D=n1.default.createElement(k,null," ",n1.default.createElement(k,{color:"clawd_body"},"██▄█████▄██"),n1.default.createElement(k,null," "),n1.default.createElement(k,{bold:!0},"*"),n1.default.createElement(k,null," ")),q[32]=D;else D=q[32];let f;if(q[33]===Symbol.for("react.memo_cache_sentinel"))f=n1.default.createElement(k,null," ",n1.default.createElement(k,{color:"clawd_body"}," █████████ ")," * "),q[33]=f;else f=q[33];let G;if(q[34]===Symbol.for("react.memo_cache_sentinel"))G=n1.default.createElement(u,{width:jl8},n1.default.createElement(k,null,_,z,Y,$,A,O,w,J,M,X,j,H,W,D,f,n1.default.createElement(k,null,"…………………",n1.default.createElement(k,{color:"clawd_body"},"█ █ █ █"),"………………………………………………………………………………………………………………"))),q[34]=G;else G=q[34];return G}function mnY(q){let K=z6(44),{theme:_,welcomeMessage:z}=q;if(["light","light-daltonized","light-ansi"].includes(_)){let S;if(K[0]!==z)S=n1.default.createElement(k,{color:"claude"},z," "),K[0]=z,K[1]=S;else S=K[1];let R;if(K[2]===Symbol.for("react.memo_cache_sentinel"))R=n1.default.createElement(k,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION," "),K[2]=R;else R=K[2];let x;if(K[3]!==S)x=n1.default.createElement(k,null,S,R),K[3]=S,K[4]=x;else x=K[4];let I,B,p,C,g,F,U,c;if(K[5]===Symbol.for("react.memo_cache_sentinel"))p=n1.default.createElement(k,null,"…………………………………………………………………………………………………………………………………………………………"),C=n1.default.createElement(k,null," "),g=n1.default.createElement(k,null," "),F=n1.default.createElement(k,null," "),U=n1.default.createElement(k,null," ░░░░░░ "),c=n1.default.createElement(k,null," ░░░ ░░░░░░░░░░ "),I=n1.default.createElement(k,null," ░░░░░░░░░░░░░░░░░░░ "),B=n1.default.createElement(k,null," "),K[5]=I,K[6]=B,K[7]=p,K[8]=C,K[9]=g,K[10]=F,K[11]=U,K[12]=c;else I=K[5],B=K[6],p=K[7],C=K[8],g=K[9],F=K[10],U=K[11],c=K[12];let K6;if(K[13]===Symbol.for("react.memo_cache_sentinel"))K6=n1.default.createElement(k,null,n1.default.createElement(k,{dimColor:!0}," ░░░░"),n1.default.createElement(k,null," ██ ")),K[13]=K6;else K6=K[13];let t,q6,e;if(K[14]===Symbol.for("react.memo_cache_sentinel"))t=n1.default.createElement(k,null,n1.default.createElement(k,{dimColor:!0}," ░░░░░░░░░░"),n1.default.createElement(k,null," ██▒▒██ ")),q6=n1.default.createElement(k,null," ▒▒ ██ ▒"),e=n1.default.createElement(k,null," ▒▒░░▒▒ ▒ ▒▒"),K[14]=t,K[15]=q6,K[16]=e;else t=K[14],q6=K[15],e=K[16];let i;if(K[17]===Symbol.for("react.memo_cache_sentinel"))i=n1.default.createElement(k,null," ",n1.default.createElement(k,{color:"clawd_body"},"▗"),n1.default.createElement(k,{color:"clawd_background",backgroundColor:"clawd_body"}," ","▗"," ","▖"," "),n1.default.createElement(k,{color:"clawd_body"},"▖")," ▒▒ ▒▒ "),K[17]=i;else i=K[17];let $6;if(K[18]===Symbol.for("react.memo_cache_sentinel"))$6=n1.default.createElement(k,null," ",n1.default.createElement(k,{backgroundColor:"clawd_body"}," ".repeat(9))," ░ ▒ "),K[18]=$6;else $6=K[18];let M6;if(K[19]===Symbol.for("react.memo_cache_sentinel"))M6=n1.default.createElement(k,null,"…………………",n1.default.createElement(k,{backgroundColor:"clawd_body"}," "),n1.default.createElement(k,null," "),n1.default.createElement(k,{backgroundColor:"clawd_body"}," "),n1.default.createElement(k,null," "),n1.default.createElement(k,{backgroundColor:"clawd_body"}," "),n1.default.createElement(k,null," "),n1.default.createElement(k,{backgroundColor:"clawd_body"}," "),"……………………………………………………………………░…………………………▒…………"),K[19]=M6;else M6=K[19];let j6;if(K[20]!==x)j6=n1.default.createElement(u,{width:jl8},n1.default.createElement(k,null,x,p,C,g,F,U,c,I,B,K6,t,q6,e,i,$6,M6)),K[20]=x,K[21]=j6;else j6=K[21];return j6}let $;if(K[22]!==z)$=n1.default.createElement(k,{color:"claude"},z," "),K[22]=z,K[23]=$;else $=K[23];let A;if(K[24]===Symbol.for("react.memo_cache_sentinel"))A=n1.default.createElement(k,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION," "),K[24]=A;else A=K[24];let O;if(K[25]!==$)O=n1.default.createElement(k,null,$,A),K[25]=$,K[26]=O;else O=K[26];let w,j,H,J,M,X;if(K[27]===Symbol.for("react.memo_cache_sentinel"))w=n1.default.createElement(k,null,"…………………………………………………………………………………………………………………………………………………………"),j=n1.default.createElement(k,null," "),H=n1.default.createElement(k,null," * █████▓▓░ "),J=n1.default.createElement(k,null," * ███▓░ ░░ "),M=n1.default.createElement(k,null," ░░░░░░ ███▓░ "),X=n1.default.createElement(k,null," ░░░ ░░░░░░░░░░ ███▓░ "),K[27]=w,K[28]=j,K[29]=H,K[30]=J,K[31]=M,K[32]=X;else w=K[27],j=K[28],H=K[29],J=K[30],M=K[31],X=K[32];let P,W,D,f,G;if(K[33]===Symbol.for("react.memo_cache_sentinel"))P=n1.default.createElement(k,null,n1.default.createElement(k,null," ░░░░░░░░░░░░░░░░░░░ "),n1.default.createElement(k,{bold:!0},"*"),n1.default.createElement(k,null," ██▓░░ ▓ ")),W=n1.default.createElement(k,null," ░▓▓███▓▓░ "),D=n1.default.createElement(k,{dimColor:!0}," * ░░░░ "),f=n1.default.createElement(k,{dimColor:!0}," ░░░░░░░░ "),G=n1.default.createElement(k,{dimColor:!0}," ░░░░░░░░░░░░░░░░ "),K[33]=P,K[34]=W,K[35]=D,K[36]=f,K[37]=G;else P=K[33],W=K[34],D=K[35],f=K[36],G=K[37];let Z;if(K[38]===Symbol.for("react.memo_cache_sentinel"))Z=n1.default.createElement(k,null," ",n1.default.createElement(k,{dimColor:!0},"*"),n1.default.createElement(k,null," ")),K[38]=Z;else Z=K[38];let T;if(K[39]===Symbol.for("react.memo_cache_sentinel"))T=n1.default.createElement(k,null," ",n1.default.createElement(k,{color:"clawd_body"},"▗"),n1.default.createElement(k,{color:"clawd_background",backgroundColor:"clawd_body"}," ","▗"," ","▖"," "),n1.default.createElement(k,{color:"clawd_body"},"▖"),n1.default.createElement(k,null," "),n1.default.createElement(k,{bold:!0},"*"),n1.default.createElement(k,null," ")),K[39]=T;else T=K[39];let v;if(K[40]===Symbol.for("react.memo_cache_sentinel"))v=n1.default.createElement(k,null," ",n1.default.createElement(k,{backgroundColor:"clawd_body"}," ".repeat(9))," * "),K[40]=v;else v=K[40];let V;if(K[41]===Symbol.for("react.memo_cache_sentinel"))V=n1.default.createElement(k,null,"…………………",n1.default.createElement(k,{backgroundColor:"clawd_body"}," "),n1.default.createElement(k,null," "),n1.default.createElement(k,{backgroundColor:"clawd_body"}," "),n1.default.createElement(k,null," "),n1.default.createElement(k,{backgroundColor:"clawd_body"}," "),n1.default.createElement(k,null," "),n1.default.createElement(k,{backgroundColor:"clawd_body"}," "),"………………………………………………………………………………………………………………"),K[41]=V;else V=K[41];let E;if(K[42]!==O)E=n1.default.createElement(u,{width:jl8},n1.default.createElement(k,null,O,w,j,H,J,M,X,P,W,D,f,G,Z,T,v,V)),K[42]=O,K[43]=E;else E=K[43];return E}var n1,jl8=58;var LA7=y(()=>{q8();s6();y_();n1=O6(D6(),1)});function Jl8(q){let K=z6(7),{children:_}=q,{marker:z}=$36.useContext(RA7),Y;if(K[0]!==z)Y=$36.default.createElement(k,{dimColor:!0},z),K[0]=z,K[1]=Y;else Y=K[1];let $;if(K[2]!==_)$=$36.default.createElement(u,{flexDirection:"column"},_),K[2]=_,K[3]=$;else $=K[3];let A;if(K[4]!==Y||K[5]!==$)A=$36.default.createElement(u,{gap:1},Y,$),K[4]=Y,K[5]=$,K[6]=A;else A=K[6];return A}var $36,RA7;var feK=y(()=>{q8();s6();$36=O6(D6(),1),RA7=$36.createContext({marker:""})});function GeK(q){let K=z6(9),{children:_}=q,{marker:z}=xR.useContext(ZeK),Y=0;for(let w of xR.default.Children.toArray(_)){if(!xR.isValidElement(w)||w.type!==Jl8)continue;Y++}let $=String(Y).length,A;if(K[0]!==_||K[1]!==$||K[2]!==z){let w;if(K[4]!==$||K[5]!==z)w=(j,H)=>{if(!xR.isValidElement(j)||j.type!==Jl8)return j;let J=`${String(H+1).padStart($)}.`,M=`${z}${J}`;return xR.default.createElement(ZeK.Provider,{value:{marker:M}},xR.default.createElement(RA7.Provider,{value:{marker:M}},j))},K[4]=$,K[5]=z,K[6]=w;else w=K[6];A=xR.default.Children.map(_,w),K[0]=_,K[1]=$,K[2]=z,K[3]=A}else A=K[3];let O;if(K[7]!==A)O=xR.default.createElement(u,{flexDirection:"column"},A),K[7]=A,K[8]=O;else O=K[8];return O}var xR,ZeK,Ml8;var TeK=y(()=>{q8();s6();feK();xR=O6(D6(),1),ZeK=xR.createContext({marker:""});GeK.Item=Jl8;Ml8=GeK});var keK={};T8(keK,{SkippableStep:()=>veK,Onboarding:()=>pnY});function pnY({onDone:q}){let[K,_]=O3.useState(0),[z,Y]=O3.useState(!1),[$]=O3.useState(()=>WJ()),[A,O]=Aq();O3.useEffect(()=>{d("tengu_began_setup",{oauthEnabled:$})},[$]);function w(){if(K<D.length-1){let T=K+1;_(T),d("tengu_onboarding_step",{oauthEnabled:$,stepId:D[T]?.id})}else q()}function j(T){O(T),w()}let H=o5(),J=O3.default.createElement(u,{marginX:1},O3.default.createElement(ph6,{onThemeSelect:j,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0})),M=O3.default.createElement(u,{flexDirection:"column",gap:1,paddingLeft:1},O3.default.createElement(k,{bold:!0},"Security notes:"),O3.default.createElement(u,{flexDirection:"column",width:70},O3.default.createElement(Ml8,null,O3.default.createElement(Ml8.Item,null,O3.default.createElement(k,null,"Claude can make mistakes"),O3.default.createElement(k,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",O3.default.createElement(Ev,null),"running code.",O3.default.createElement(Ev,null))),O3.default.createElement(Ml8.Item,null,O3.default.createElement(k,null,"Due to prompt injection risks, only use it with code you trust"),O3.default.createElement(k,{dimColor:!0,wrap:"wrap"},"For more details see:",O3.default.createElement(Ev,null),O3.default.createElement(hq,{url:"https://code.claude.com/docs/en/security"}))))),O3.default.createElement(Qg8,null)),X=O3.default.createElement(PeK,{onSuccess:w}),P=O3.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY||LT())return"";let T=GV(process.env.ANTHROPIC_API_KEY);if(Sc6(T)==="new")return T},[]);function W(T){if(T)Y(!0);w()}let D=[];if($)D.push({id:"preflight",component:X});if(D.push({id:"theme",component:J}),P)D.push({id:"api-key",component:O3.default.createElement(yA7,{customApiKeyTruncated:P,onDone:W})});if($)D.push({id:"oauth",component:O3.default.createElement(veK,{skip:z,onSkip:w},O3.default.createElement(_j6,{onDone:w}))});if(D.push({id:"security",component:M}),hh6())D.push({id:"terminal-setup",component:O3.default.createElement(u,{flexDirection:"column",gap:1,paddingLeft:1},O3.default.createElement(k,{bold:!0},"Use Claude Code's terminal setup?"),O3.default.createElement(u,{flexDirection:"column",width:70,gap:1},O3.default.createElement(k,null,"For the optimal coding experience, enable the recommended settings",O3.default.createElement(Ev,null),"for your terminal:"," ",a1.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),O3.default.createElement(H1,{options:[{label:"Yes, use recommended settings",value:"install"},{label:"No, maybe later with /terminal-setup",value:"no"}],onChange:(T)=>{if(T==="install")UB8(A).catch(()=>{}).finally(w);else w()},onCancel:()=>w()}),O3.default.createElement(k,{dimColor:!0},H.pending?O3.default.createElement(O3.default.Fragment,null,"Press ",H.keyName," again to exit"):O3.default.createElement(O3.default.Fragment,null,"Enter to confirm · Esc to skip"))))});let f=D[K],G=O3.useCallback(()=>{if(K===D.length-1)q();else w()},[K,D.length,$,q]),Z=O3.useCallback(()=>{w()},[K,D.length,$,q]);return o7({"confirm:yes":G},{context:"Confirmation",isActive:f?.id==="security"}),o7({"confirm:no":Z},{context:"Confirmation",isActive:f?.id==="terminal-setup"}),O3.default.createElement(u,{flexDirection:"column"},O3.default.createElement(Hl8,null),O3.default.createElement(u,{flexDirection:"column",marginTop:1},f?.component,H.pending&&O3.default.createElement(u,{padding:1},O3.default.createElement(k,{dimColor:!0},"Press ",H.keyName," again to exit"))))}function veK(q){let K=z6(4),{skip:_,onSkip:z,children:Y}=q,$,A;if(K[0]!==z||K[1]!==_)$=()=>{if(_)z()},A=[_,z],K[0]=z,K[1]=_,K[2]=$,K[3]=A;else $=K[2],A=K[3];if(O3.useEffect($,A),_)return null;return Y}var O3;var VeK=y(()=>{q8();k8();SH6();z2();s6();Oq();G7();NF6();V1();y_();m8();WeK();EA7();Ie6();p3();LA7();O47();Vg8();TeK();O3=O6(D6(),1)});function NeK(q){if(q===null||q.disableAllHooks)return!1;if(q.statusLine)return!0;if(q.fileSuggestion)return!0;if(!q.hooks)return!1;for(let K of Object.values(q.hooks))if(K.length>0)return!0;return!1}function CeK(){let q=[],K=v1("projectSettings");if(NeK(K))q.push(".claude/settings.json");let _=v1("localSettings");if(NeK(_))q.push(".claude/settings.local.json");return q}function yeK(q){return q.some((K)=>K.ruleBehavior==="allow"&&(K.ruleValue.toolName===_q||K.ruleValue.toolName.startsWith(_q+"(")))}function beK(){let q=[],K=wo6("projectSettings");if(yeK(K))q.push(".claude/settings.json");let _=wo6("localSettings");if(yeK(_))q.push(".claude/settings.local.json");return q}function EeK(q){return!!q?.otelHeadersHelper}function xeK(){let q=[],K=v1("projectSettings");if(EeK(K))q.push(".claude/settings.json");let _=v1("localSettings");if(EeK(_))q.push(".claude/settings.local.json");return q}function LeK(q){return!!q?.apiKeyHelper}function IeK(){let q=[],K=v1("projectSettings");if(LeK(K))q.push(".claude/settings.json");let _=v1("localSettings");if(LeK(_))q.push(".claude/settings.local.json");return q}function ReK(q){return!!(q?.awsAuthRefresh||q?.awsCredentialExport)}function ueK(){let q=[],K=v1("projectSettings");if(ReK(K))q.push(".claude/settings.json");let _=v1("localSettings");if(ReK(_))q.push(".claude/settings.local.json");return q}function heK(q){return!!q?.gcpAuthRefresh}function meK(){let q=[],K=v1("projectSettings");if(heK(K))q.push(".claude/settings.json");let _=v1("localSettings");if(heK(_))q.push(".claude/settings.local.json");return q}function SeK(q){if(!q?.env)return!1;return Object.keys(q.env).some((K)=>!iN6.has(K.toUpperCase()))}function peK(){let q=[],K=v1("projectSettings");if(SeK(K))q.push(".claude/settings.json");let _=v1("localSettings");if(SeK(_))q.push(".claude/settings.local.json");return q}var BeK=y(()=>{U1();lL8();iu()});var FeK={};T8(FeK,{TrustDialog:()=>BnY});import{homedir as geK}from"os";function BnY(q){let K=z6(33),{onDone:_,commands:z}=q,Y;if(K[0]===Symbol.for("react.memo_cache_sentinel"))Y=SH("project"),K[0]=Y;else Y=K[0];let{servers:$}=Y,A;if(K[1]===Symbol.for("react.memo_cache_sentinel"))A=Object.keys($),K[1]=A;else A=K[1];let O=A.length>0,w;if(K[2]===Symbol.for("react.memo_cache_sentinel"))w=CeK(),K[2]=w;else w=K[2];let H=w.length>0,J;if(K[3]===Symbol.for("react.memo_cache_sentinel"))J=beK(),K[3]=J;else J=K[3];let M=J,X;if(K[4]===Symbol.for("react.memo_cache_sentinel"))X=IeK(),K[4]=X;else X=K[4];let W=X.length>0,D;if(K[5]===Symbol.for("react.memo_cache_sentinel"))D=ueK(),K[5]=D;else D=K[5];let G=D.length>0,Z;if(K[6]===Symbol.for("react.memo_cache_sentinel"))Z=meK(),K[6]=Z;else Z=K[6];let v=Z.length>0,V;if(K[7]===Symbol.for("react.memo_cache_sentinel"))V=xeK(),K[7]=V;else V=K[7];let S=V.length>0,R;if(K[8]===Symbol.for("react.memo_cache_sentinel"))R=peK(),K[8]=R;else R=K[8];let I=R.length>0,B;if(K[9]!==z)B=z?.some(cnY)??!1,K[9]=z,K[10]=B;else B=K[10];let p=B,C;if(K[11]!==z)C=z?.some(QnY)??!1,K[11]=z,K[12]=C;else C=K[12];let g=C,F=M.length>0||p||g,U=l$(),c,K6;if(K[13]!==F)c=()=>{let n=geK()===Z8();d("tengu_trust_dialog_shown",{isHomeDir:n,hasMcpServers:O,hasHooks:H,hasBashExecution:F,hasApiKeyHelper:W,hasAwsCommands:G,hasGcpCommands:v,hasOtelHeadersHelper:S,hasDangerousEnvVars:I})},K6=[O,H,F,W,G,v,S,I],K[13]=F,K[14]=c,K[15]=K6;else c=K[14],K6=K[15];Tk.default.useEffect(c,K6);let t;if(K[16]!==F||K[17]!==_)t=function(l){if(l==="exit"){eK(1);return}let A6=geK()===Z8();if(d("tengu_trust_dialog_accept",{isHomeDir:A6,hasMcpServers:O,hasHooks:H,hasBashExecution:F,hasApiKeyHelper:W,hasAwsCommands:G,hasGcpCommands:v,hasOtelHeadersHelper:S,hasDangerousEnvVars:I}),A6)ab6(!0);else jw(UnY);_()},K[16]=F,K[17]=_,K[18]=t;else t=K[18];let q6=t,e=o5(FnY),i;if(K[19]===Symbol.for("react.memo_cache_sentinel"))i={context:"Confirmation"},K[19]=i;else i=K[19];if(P1("confirm:no",gnY,i),U)return setTimeout(_),null;let $6,M6,j6;if(K[20]===Symbol.for("react.memo_cache_sentinel"))$6=Tk.default.createElement(k,{bold:!0},X8().cwd()),M6=Tk.default.createElement(k,null,"Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source project, or work from your team). If not, take a moment to review what","'","s in this folder first."),j6=Tk.default.createElement(k,null,"Claude Code","'","ll be able to read, edit, and execute files here."),K[20]=$6,K[21]=M6,K[22]=j6;else $6=K[20],M6=K[21],j6=K[22];let G6;if(K[23]===Symbol.for("react.memo_cache_sentinel"))G6=Tk.default.createElement(k,{dimColor:!0},Tk.default.createElement(hq,{url:"https://code.claude.com/docs/en/security"},"Security guide")),K[23]=G6;else G6=K[23];let w6;if(K[24]===Symbol.for("react.memo_cache_sentinel"))w6=[{label:"Yes, I trust this folder",value:"enable_all"},{label:"No, exit",value:"exit"}],K[24]=w6;else w6=K[24];let o;if(K[25]!==q6)o=Tk.default.createElement(H1,{options:w6,onChange:(n)=>q6(n),onCancel:()=>q6("exit")}),K[25]=q6,K[26]=o;else o=K[26];let s;if(K[27]!==e.keyName||K[28]!==e.pending)s=Tk.default.createElement(k,{dimColor:!0},e.pending?Tk.default.createElement(Tk.default.Fragment,null,"Press ",e.keyName," again to exit"):Tk.default.createElement(Tk.default.Fragment,null,"Enter to confirm · Esc to cancel")),K[27]=e.keyName,K[28]=e.pending,K[29]=s;else s=K[29];let a;if(K[30]!==o||K[31]!==s)a=Tk.default.createElement(HY,{color:"warning",titleColor:"warning",title:"Accessing workspace:"},Tk.default.createElement(u,{flexDirection:"column",gap:1,paddingTop:1},$6,M6,j6,G6,o,s)),K[30]=o,K[31]=s,K[32]=a;else a=K[32];return a}function gnY(){eK(0)}function FnY(){return eK(1)}function UnY(q){return{...q,hasTrustDialogAccepted:!0}}function QnY(q){return q.type==="prompt"&&(q.loadedFrom==="skills"||q.loadedFrom==="plugin")&&(q.source==="projectSettings"||q.source==="localSettings"||q.source==="plugin")&&q.allowedTools?.some(dnY)}function dnY(q){return q===_q||q.startsWith(_q+"(")}function cnY(q){return q.type==="prompt"&&q.loadedFrom==="commands_DEPRECATED"&&(q.source==="projectSettings"||q.source==="localSettings")&&q.allowedTools?.some(lnY)}function lnY(q){return q===_q||q.startsWith(_q+"(")}var Tk;var UeK=y(()=>{q8();k8();v8();z2();s6();Oq();f0();V1();I7();e7();RA();d_();GD();BeK();Tk=O6(D6(),1)});var QeK={};T8(QeK,{BypassPermissionsModeDialog:()=>nnY});function nnY(q){let K=z6(7),{onAccept:_}=q,z;if(K[0]===Symbol.for("react.memo_cache_sentinel"))z=[],K[0]=z;else z=K[0];ss.default.useEffect(rnY,z);let Y;if(K[1]!==_)Y=function(J){q:switch(J){case"accept":{d("tengu_bypass_permissions_mode_dialog_accept",{}),W7("userSettings",{skipDangerousModePermissionPrompt:!0}),_();break q}case"decline":eK(1)}},K[1]=_,K[2]=Y;else Y=K[2];let $=Y,A=inY,O;if(K[3]===Symbol.for("react.memo_cache_sentinel"))O=ss.default.createElement(u,{flexDirection:"column",gap:1},ss.default.createElement(k,null,"In Bypass Permissions mode, Claude Code will not ask for your approval before running potentially dangerous commands.",ss.default.createElement(Ev,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),ss.default.createElement(k,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),ss.default.createElement(hq,{url:"https://code.claude.com/docs/en/security"})),K[3]=O;else O=K[3];let w;if(K[4]===Symbol.for("react.memo_cache_sentinel"))w=[{label:"No, exit",value:"decline"},{label:"Yes, I accept",value:"accept"}],K[4]=w;else w=K[4];let j;if(K[5]!==$)j=ss.default.createElement(R1,{title:"WARNING: Claude Code running in Bypass Permissions mode",color:"error",onCancel:A},O,ss.default.createElement(H1,{options:w,onChange:(H)=>$(H)})),K[5]=$,K[6]=j;else j=K[6];return j}function inY(){eK(0)}function rnY(){d("tengu_bypass_permissions_mode_dialog_shown",{})}var ss;var deK=y(()=>{q8();k8();s6();RA();U1();d_();e4();ss=O6(D6(),1)});var ceK={};T8(ceK,{DevChannelsDialog:()=>onY});function onY(q){let K=z6(14),{channels:_,onAccept:z}=q,Y;if(K[0]!==z)Y=function(W){q:switch(W){case"accept":{z();break q}case"exit":eK(1)}},K[0]=z,K[1]=Y;else Y=K[1];let $=Y,A=snY,O,w;if(K[2]===Symbol.for("react.memo_cache_sentinel"))O=DM6.default.createElement(k,null,"--dangerously-load-development-channels is for local channel development only. Do not use this option to run channels you have downloaded off the internet."),w=DM6.default.createElement(k,null,"Please use --channels to run a list of approved channels."),K[2]=O,K[3]=w;else O=K[2],w=K[3];let j;if(K[4]!==_)j=_.map(anY).join(", "),K[4]=_,K[5]=j;else j=K[5];let H;if(K[6]!==j)H=DM6.default.createElement(u,{flexDirection:"column",gap:1},O,w,DM6.default.createElement(k,{dimColor:!0},"Channels:"," ",j)),K[6]=j,K[7]=H;else H=K[7];let J;if(K[8]===Symbol.for("react.memo_cache_sentinel"))J=[{label:"I am using this for local development",value:"accept"},{label:"Exit",value:"exit"}],K[8]=J;else J=K[8];let M;if(K[9]!==$)M=DM6.default.createElement(H1,{options:J,onChange:(P)=>$(P)}),K[9]=$,K[10]=M;else M=K[10];let X;if(K[11]!==H||K[12]!==M)X=DM6.default.createElement(R1,{title:"WARNING: Loading development channels",color:"error",onCancel:A},H,M),K[11]=H,K[12]=M,K[13]=X;else X=K[13];return X}function anY(q){return q.kind==="plugin"?`plugin:${q.name}@${q.marketplace}`:`server:${q.name}`}function snY(){eK(0)}var DM6;var leK=y(()=>{q8();s6();RA();d_();e4();DM6=O6(D6(),1)});var neK={};T8(neK,{ClaudeInChromeOnboarding:()=>qiY});function qiY(q){let K=z6(20),{onDone:_}=q,[z,Y]=Kf.default.useState(!1),$,A;if(K[0]===Symbol.for("react.memo_cache_sentinel"))$=()=>{d("tengu_claude_in_chrome_onboarding_shown",{}),Zs().then(Y),b8(KiY)},A=[],K[0]=$,K[1]=A;else $=K[0],A=K[1];Kf.default.useEffect($,A);let O;if(K[2]!==_)O=(D,f)=>{if(f.return)_()},K[2]=_,K[3]=O;else O=K[3];k4(O);let w;if(K[4]!==z)w=!z&&Kf.default.createElement(Kf.default.Fragment,null,Kf.default.createElement(Ev,null),Kf.default.createElement(Ev,null),"Requires the Chrome extension. Get started at"," ",Kf.default.createElement(hq,{url:tnY})),K[4]=z,K[5]=w;else w=K[5];let j;if(K[6]!==w)j=Kf.default.createElement(k,null,"Claude in Chrome works with the Chrome extension to let you control your browser directly from Claude Code. You can navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests.",w),K[6]=w,K[7]=j;else j=K[7];let H;if(K[8]!==z)H=z&&Kf.default.createElement(Kf.default.Fragment,null," ","(",Kf.default.createElement(hq,{url:enY}),")"),K[8]=z,K[9]=H;else H=K[9];let J;if(K[10]!==H)J=Kf.default.createElement(k,{dimColor:!0},"Site-level permissions are inherited from the Chrome extension. Manage permissions in the Chrome extension settings to control which sites Claude can browse, click, and type on",H,"."),K[10]=H,K[11]=J;else J=K[11];let M;if(K[12]===Symbol.for("react.memo_cache_sentinel"))M=Kf.default.createElement(k,{bold:!0,color:"chromeYellow"},"/chrome"),K[12]=M;else M=K[12];let X;if(K[13]===Symbol.for("react.memo_cache_sentinel"))X=Kf.default.createElement(k,{dimColor:!0},"For more info, use"," ",M," ","or visit ",Kf.default.createElement(hq,{url:"https://code.claude.com/docs/en/chrome"})),K[13]=X;else X=K[13];let P;if(K[14]!==j||K[15]!==J)P=Kf.default.createElement(u,{flexDirection:"column",gap:1},j,J,X),K[14]=j,K[15]=J,K[16]=P;else P=K[16];let W;if(K[17]!==_||K[18]!==P)W=Kf.default.createElement(R1,{title:"Claude in Chrome (Beta)",onCancel:_,color:"chromeYellow"},P),K[17]=_,K[18]=P,K[19]=W;else W=K[19];return W}function KiY(q){return{...q,hasCompletedClaudeInChromeOnboarding:!0}}var Kf,tnY="https://claude.ai/chrome",enY="https://clau.de/chrome/permissions";var ieK=y(()=>{q8();k8();s6();WJ6();V1();e4();Kf=O6(D6(),1)});import{appendFileSync as _iY}from"fs";function ziY(){b8((q)=>({...q,hasCompletedOnboarding:!0,lastOnboardingVersion:{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION}))}function YiY(q,K){return new Promise((_)=>{let z=(Y)=>void _(Y);q.render(K(z))})}async function od(q,K,_){return $iY(q,K,{color:"error",beforeExit:_})}async function $iY(q,K,_){let{Text:z}=await Promise.resolve().then(() => (s6(),Bl6)),Y=_?.color,$=_?.exitCode??1;q.render(Y?Iy.default.createElement(z,{color:Y},K):Iy.default.createElement(z,null,K)),q.unmount(),await _?.beforeExit?.(),process.exit($)}function IR(q,K,_){return YiY(q,(z)=>Iy.default.createElement(LJ,{onChangeAppState:_?.onChangeAppState},Iy.default.createElement(WM,null,K(z))))}async function fM6(q,K){q.render(K),Xl8(),await q.waitUntilExit(),await xK(0)}async function reK(q,K,_,z,Y,$){if(i6(!1)||process.env.IS_DEMO)return!1;let A=j8(),O=!1;if(!A.theme||!A.hasCompletedOnboarding){O=!0;let{Onboarding:w}=await Promise.resolve().then(() => (VeK(),keK));await IR(q,(j)=>Iy.default.createElement(w,{onDone:()=>{ziY(),j()}}),{onChangeAppState:Ss})}if(!i6(process.env.CLAUBBIT)){if(!l$()){let{TrustDialog:j}=await Promise.resolve().then(() => (UeK(),FeK));await IR(q,(H)=>Iy.default.createElement(j,{commands:z,onDone:H}))}ab6(!0),Ec6(),Xi(),tw();let{errors:w}=bo();if(w.length===0)await $eK(q);if(await jI1()){let j=pk6(await yH(!0)),{ClaudeMdExternalIncludesDialog:H}=await Promise.resolve().then(() => (aq7(),DvK));await IR(q,(J)=>Iy.default.createElement(H,{onDone:J,isStandaloneDialog:!0,externalIncludes:j}))}}if(jeK(),OeK(),xd(),setImmediate(()=>oQ8()),await cN6()){let{GroveDialog:w}=await Promise.resolve().then(() => (v37(),BbK));if(await IR(q,(H)=>Iy.default.createElement(w,{showIfAlreadyViewed:!1,location:O?"onboarding":"policy_update_modal",onDone:H}))==="escape")return d("tengu_grove_policy_exited",{}),eK(0),!1}if(process.env.ANTHROPIC_API_KEY&&!LT()){let w=GV(process.env.ANTHROPIC_API_KEY);if(Sc6(w)==="new"){let{ApproveApiKey:H}=await Promise.resolve().then(() => (EA7(),DeK));await IR(q,(J)=>Iy.default.createElement(H,{customApiKeyTruncated:w,onDone:J}),{onChangeAppState:Ss})}}if((K==="bypassPermissions"||_)&&!fD6()){let{BypassPermissionsModeDialog:w}=await Promise.resolve().then(() => (deK(),QeK));await IR(q,(j)=>Iy.default.createElement(w,{onAccept:j}))}if(K==="auto"&&!fl()){let{AutoModeOptInDialog:w}=await Promise.resolve().then(() => (rd8(),TnK));await IR(q,(j)=>Iy.default.createElement(w,{onAccept:j,onDecline:()=>eK(1),declineExits:!0}))}if(eH().length>0||($?.length??0)>0)await FV("tengu_harbor");if($&&$.length>0){let[{isChannelsEnabled:w},{getClaudeAIOAuthTokens:j}]=await Promise.all([Promise.resolve().then(() => (y78(),FNK)),Promise.resolve().then(() => (G7(),_L))]);if(!w()||!j()?.accessToken)kc([...eH(),...$.map((H)=>({...H,dev:!0}))]),W38(!0);else{let{DevChannelsDialog:H}=await Promise.resolve().then(() => (leK(),ceK));await IR(q,(J)=>Iy.default.createElement(H,{channels:$,onAccept:()=>{kc([...eH(),...$.map((M)=>({...M,dev:!0}))]),W38(!0),J()}}))}}if(Y&&!j8().hasCompletedClaudeInChromeOnboarding){let{ClaudeInChromeOnboarding:w}=await Promise.resolve().then(() => (ieK(),neK));await IR(q,(j)=>Iy.default.createElement(w,{onDone:j}))}return O}function oeK(q){let K=0,_=Jo(q);if(_.stdin)d("tengu_stdin_interactive",{});let z=new NA7,Y=Yz7();rn8(Y);let $=process.env.CLAUDE_CODE_FRAME_TIMING_LOG;return{getFpsMetrics:()=>z.getMetrics(),stats:Y,renderOptions:{..._,onFrame:(A)=>{if(z.record(A.durationMs),Y.observe("frame_duration_ms",A.durationMs),$&&A.phases){let O=JSON.stringify({total:A.durationMs,...A.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+` |
| 8175 | `;_iY($,O)}if(EE1())return;for(let O of A.flickers){if(O.reason==="resize")continue;let w=Date.now();if(w-K<1000)d("tengu_flicker",{desiredHeight:O.desiredHeight,actualHeight:O.availableHeight,reason:O.reason});K=w}}}}}var Iy;var SA7=y(()=>{k8();RA();v8();$z7();jN();Kz7();Bi();dU();CA7();o1();lN6();AeK();C7();tS6();NF6();wM();V1();weK();m8();WK8();q48();As6();Bt6();U1();Iy=O6(D6(),1)});var aeK={};T8(aeK,{InvalidSettingsDialog:()=>AiY});function AiY(q){let K=z6(13),{settingsErrors:_,onContinue:z,onExit:Y}=q,$;if(K[0]!==z||K[1]!==Y)$=function(X){if(X==="exit")Y();else z()},K[0]=z,K[1]=Y,K[2]=$;else $=K[2];let A=$,O;if(K[3]!==_)O=DK8.default.createElement(dg8,{errors:_}),K[3]=_,K[4]=O;else O=K[4];let w;if(K[5]===Symbol.for("react.memo_cache_sentinel"))w=DK8.default.createElement(k,{dimColor:!0},"Files with errors are skipped entirely, not just the invalid settings."),K[5]=w;else w=K[5];let j;if(K[6]===Symbol.for("react.memo_cache_sentinel"))j=[{label:"Exit and fix manually",value:"exit"},{label:"Continue without these settings",value:"continue"}],K[6]=j;else j=K[6];let H;if(K[7]!==A)H=DK8.default.createElement(H1,{options:j,onChange:A}),K[7]=A,K[8]=H;else H=K[8];let J;if(K[9]!==Y||K[10]!==O||K[11]!==H)J=DK8.default.createElement(R1,{title:"Settings Error",onCancel:Y,color:"warning"},O,w,H),K[9]=Y,K[10]=O,K[11]=H,K[12]=J;else J=K[12];return J}var DK8;var seK=y(()=>{q8();s6();d_();e4();w47();DK8=O6(D6(),1)});function teK(q){let K=z6(8),[_,z]=Pl8.useState(!1),[Y,$]=Pl8.useState(null),[A,O]=Pl8.useState(null),w;if(K[0]!==q)w=async(X)=>{z(!0),$(null),O(X),d("tengu_teleport_resume_session",{source:q,session_id:X.id});try{let P=await Ej6(X.id);return eb6({sessionId:X.id}),z(!1),P}catch(P){let W=P,D={message:W instanceof AP?W.message:d6(W),formattedMessage:W instanceof AP?W.formattedMessage:void 0,isOperationError:W instanceof AP};return $(D),z(!1),null}},K[0]=q,K[1]=w;else w=K[1];let j=w,H;if(K[2]===Symbol.for("react.memo_cache_sentinel"))H=()=>{$(null)},K[2]=H;else H=K[2];let J=H,M;if(K[3]!==Y||K[4]!==_||K[5]!==j||K[6]!==A)M={resumeSession:j,isResuming:_,error:Y,selectedSession:A,clearError:J},K[3]=Y,K[4]=_,K[5]=j,K[6]=A,K[7]=M;else M=K[7];return M}var Pl8;var eeK=y(()=>{q8();v8();k8();y8();am();Pl8=O6(D6(),1)});function K65({onSelect:q,onCancel:K,isEmbedded:_=!1}){let{rows:z}=t1(),[Y,$]=b5.useState([]),[A,O]=b5.useState(null),[w,j]=b5.useState(!0),[H,J]=b5.useState(null),[M,X]=b5.useState(!1),[P,W]=b5.useState(!1),[D,f]=b5.useState(1),G=R5("confirm:no","Confirmation","Esc"),Z=b5.useCallback(async()=>{try{j(!0),J(null);let p=await ge();O(p),N(`Current repository: ${p||"not detected"}`);let C=await zr1(),g=C;if(p)g=C.filter((U)=>{if(!U.repo)return!1;return`${U.repo.owner.login}/${U.repo.name}`===p}),N(`Filtered ${g.length} sessions for repo ${p} from ${C.length} total`);let F=[...g].sort((U,c)=>{let K6=new Date(U.updated_at);return new Date(c.updated_at).getTime()-K6.getTime()});$(F)}catch(p){let C=p instanceof Error?p.message:String(p);N(`Error loading code sessions: ${C}`),J(wiY(C))}finally{j(!1),X(!1)}},[]),T=()=>{X(!0),Z()};P1("confirm:no",K,{context:"Confirmation"}),k4((p,C)=>{if(C.ctrl&&p==="c"){K();return}if(C.ctrl&&p==="r"&&H){T();return}if(H!==null&&C.return){K();return}});let v=b5.useCallback(()=>{W(!0),Z()},[W,Z]);if(!P)return b5.default.createElement(Yx8,{onComplete:v});if(w)return b5.default.createElement(u,{flexDirection:"column",padding:1},b5.default.createElement(u,{flexDirection:"row"},b5.default.createElement(IK,null),b5.default.createElement(k,{bold:!0},"Loading Claude Code sessions…")),b5.default.createElement(k,{dimColor:!0},M?"Retrying…":"Fetching your Claude Code sessions…"));if(H)return b5.default.createElement(u,{flexDirection:"column",padding:1},b5.default.createElement(k,{bold:!0,color:"error"},"Error loading Claude Code sessions"),jiY(H),b5.default.createElement(k,{dimColor:!0},"Press ",b5.default.createElement(k,{bold:!0},"Ctrl+R")," to retry · Press"," ",b5.default.createElement(k,{bold:!0},G)," to cancel"));if(Y.length===0)return b5.default.createElement(u,{flexDirection:"column",padding:1},b5.default.createElement(k,{bold:!0},"No Claude Code sessions found",A&&b5.default.createElement(k,null," for ",A)),b5.default.createElement(u,{marginTop:1},b5.default.createElement(k,{dimColor:!0},"Press ",b5.default.createElement(k,{bold:!0},G)," to cancel")));let V=Y.map((p)=>({...p,timeString:W98(new Date(p.updated_at))})),E=Math.max(q65.length,...V.map((p)=>p.timeString.length)),S=V.map(({timeString:p,title:C,id:g})=>{return{label:`${p.padEnd(E," ")} ${C}`,value:g}}),R=7,x=Math.max(1,_?Math.min(Y.length,5,z-6-R):Math.min(Y.length,z-1-R)),I=x+R,B=Y.length>x;return b5.default.createElement(u,{flexDirection:"column",padding:1,height:I},b5.default.createElement(k,{bold:!0},"Select a session to resume",B&&b5.default.createElement(k,{dimColor:!0}," ","(",D," of ",Y.length,")"),A&&b5.default.createElement(k,{dimColor:!0}," (",A,")"),":"),b5.default.createElement(u,{flexDirection:"column",marginTop:1,flexGrow:1},b5.default.createElement(u,{marginLeft:2},b5.default.createElement(k,{bold:!0},q65.padEnd(E," "),OiY,"Session Title")),b5.default.createElement(H1,{visibleOptionCount:x,options:S,onChange:(p)=>{let C=Y.find((g)=>g.id===p);if(C)q(C)},onFocus:(p)=>{let C=S.findIndex((g)=>g.value===p);if(C>=0)f(C+1)}})),b5.default.createElement(u,{flexDirection:"row"},b5.default.createElement(k,{dimColor:!0},b5.default.createElement(I1,null,b5.default.createElement(t8,{shortcut:"↑/↓",action:"select"}),b5.default.createElement(t8,{shortcut:"Enter",action:"confirm"}),b5.default.createElement(W1,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})))))}function wiY(q){let K=q.toLowerCase();if(K.includes("fetch")||K.includes("network")||K.includes("timeout"))return"network";if(K.includes("auth")||K.includes("token")||K.includes("permission")||K.includes("oauth")||K.includes("not authenticated")||K.includes("/login")||K.includes("console account")||K.includes("403"))return"auth";if(K.includes("api")||K.includes("rate limit")||K.includes("500")||K.includes("529"))return"api";return"other"}function jiY(q){switch(q){case"network":return b5.default.createElement(u,{marginY:1,flexDirection:"column"},b5.default.createElement(k,{dimColor:!0},"Check your internet connection"));case"auth":return b5.default.createElement(u,{marginY:1,flexDirection:"column"},b5.default.createElement(k,{dimColor:!0},"Teleport requires a Claude account"),b5.default.createElement(k,{dimColor:!0},"Run ",b5.default.createElement(k,{bold:!0},"/login"),' and select "Claude account with subscription"'));case"api":return b5.default.createElement(u,{marginY:1,flexDirection:"column"},b5.default.createElement(k,{dimColor:!0},"Sorry, Claude encountered an error"));case"other":return b5.default.createElement(u,{marginY:1,flexDirection:"row"},b5.default.createElement(k,{dimColor:!0},"Sorry, Claude Code encountered an error"))}}var b5,q65="Updated",OiY=" ";var _65=y(()=>{t4();VM();s6();Oq();LX();_8();mZ();U7();a5();d_();QK();rK();Q2();Qr1();b5=O6(D6(),1)});var z65={};T8(z65,{TeleportResumeWrapper:()=>HiY});function HiY(q){let K=z6(25),{onComplete:_,onCancel:z,onError:Y,isEmbedded:$,source:A}=q,O=$===void 0?!1:$,{resumeSession:w,isResuming:j,error:H,selectedSession:J}=teK(A),M,X;if(K[0]!==A)M=()=>{d("tengu_teleport_started",{source:A})},X=[A],K[0]=A,K[1]=M,K[2]=X;else M=K[1],X=K[2];vk.useEffect(M,X);let P;if(K[3]!==H||K[4]!==_||K[5]!==Y||K[6]!==w)P=async(v)=>{let V=await w(v);if(V)_(V);else if(H){if(Y)Y(H.message,H.formattedMessage)}},K[3]=H,K[4]=_,K[5]=Y,K[6]=w,K[7]=P;else P=K[7];let W=P,D;if(K[8]!==z)D=()=>{d("tengu_teleport_cancelled",{}),z()},K[8]=z,K[9]=D;else D=K[9];let f=D,G=!!H&&!Y,Z;if(K[10]!==G)Z={context:"Global",isActive:G},K[10]=G,K[11]=Z;else Z=K[11];if(P1("app:interrupt",f,Z),j&&J){let v;if(K[12]===Symbol.for("react.memo_cache_sentinel"))v=vk.default.createElement(u,{flexDirection:"row"},vk.default.createElement(IK,null),vk.default.createElement(k,{bold:!0},"Resuming session…")),K[12]=v;else v=K[12];let V;if(K[13]!==J.title)V=vk.default.createElement(u,{flexDirection:"column",padding:1},v,vk.default.createElement(k,{dimColor:!0},'Loading "',J.title,'"…')),K[13]=J.title,K[14]=V;else V=K[14];return V}if(H&&!Y){let v;if(K[15]===Symbol.for("react.memo_cache_sentinel"))v=vk.default.createElement(k,{bold:!0,color:"error"},"Failed to resume session"),K[15]=v;else v=K[15];let V;if(K[16]!==H.message)V=vk.default.createElement(k,{dimColor:!0},H.message),K[16]=H.message,K[17]=V;else V=K[17];let E;if(K[18]===Symbol.for("react.memo_cache_sentinel"))E=vk.default.createElement(u,{marginTop:1},vk.default.createElement(k,{dimColor:!0},"Press ",vk.default.createElement(k,{bold:!0},"Esc")," to cancel")),K[18]=E;else E=K[18];let S;if(K[19]!==V)S=vk.default.createElement(u,{flexDirection:"column",padding:1},v,V,E),K[19]=V,K[20]=S;else S=K[20];return S}let T;if(K[21]!==f||K[22]!==W||K[23]!==O)T=vk.default.createElement(K65,{onSelect:W,onCancel:f,isEmbedded:O}),K[21]=f,K[22]=W,K[23]=O,K[24]=T;else T=K[24];return T}var vk;var Y65=y(()=>{q8();k8();eeK();s6();Oq();_65();Q2();vk=O6(D6(),1)});var $65={};T8($65,{TeleportRepoMismatchDialog:()=>JiY});function JiY(q){let K=z6(18),{targetRepo:_,initialPaths:z,onSelectPath:Y,onCancel:$}=q,[A,O]=uM.useState(z),[w,j]=uM.useState(null),[H,J]=uM.useState(!1),M;if(K[0]!==A||K[1]!==$||K[2]!==Y||K[3]!==_)M=async(G)=>{if(G==="cancel"){$();return}if(J(!0),j(null),await HeK(G,_)){Y(G);return}JeK(_,G);let T=A.filter((v)=>v!==G);O(T),J(!1),j(`${_3(G)} no longer contains the correct repository. Select another path.`)},K[0]=A,K[1]=$,K[2]=Y,K[3]=_,K[4]=M;else M=K[4];let X=M,P;if(K[5]!==A){let G;if(K[7]===Symbol.for("react.memo_cache_sentinel"))G={label:"Cancel",value:"cancel"},K[7]=G;else G=K[7];P=[...A.map(MiY),G],K[5]=A,K[6]=P}else P=K[6];let W=P,D;if(K[8]!==A.length||K[9]!==w||K[10]!==X||K[11]!==W||K[12]!==_||K[13]!==H)D=A.length>0?uM.default.createElement(uM.default.Fragment,null,uM.default.createElement(u,{flexDirection:"column",gap:1},w&&uM.default.createElement(k,{color:"error"},w),uM.default.createElement(k,null,"Open Claude Code in ",uM.default.createElement(k,{bold:!0},_),":")),H?uM.default.createElement(u,null,uM.default.createElement(IK,null),uM.default.createElement(k,null," Validating repository…")):uM.default.createElement(H1,{options:W,onChange:(G)=>void X(G)})):uM.default.createElement(u,{flexDirection:"column",gap:1},w&&uM.default.createElement(k,{color:"error"},w),uM.default.createElement(k,{dimColor:!0},"Run claude --teleport from a checkout of ",_)),K[8]=A.length,K[9]=w,K[10]=X,K[11]=W,K[12]=_,K[13]=H,K[14]=D;else D=K[14];let f;if(K[15]!==$||K[16]!==D)f=uM.default.createElement(R1,{title:"Teleport to Repo",onCancel:$,color:"background"},D),K[15]=$,K[16]=D,K[17]=f;else f=K[17];return f}function MiY(q){return{label:uM.default.createElement(k,null,"Use ",uM.default.createElement(k,{bold:!0},_3(q))),value:q}}var uM;var A65=y(()=>{q8();s6();bK();WK8();d_();e4();Q2();uM=O6(D6(),1)});var w65={};T8(w65,{ResumeConversation:()=>WiY});import{dirname as XiY}from"path";function PiY(q){let K=parseInt(q,10);if(!isNaN(K)&&K>0)return K;let _=q.match(/github\.com\/[^/]+\/[^/]+\/pull\/(\d+)/);if(_?.[1])return parseInt(_[1],10);return null}function WiY({commands:q,worktreePaths:K,initialTools:_,mcpClients:z,dynamicMcpConfig:Y,debug:$,mainThreadAgentDefinition:A,autoConnectIdeFlag:O,strictMcpConfig:w=!1,systemPrompt:j,appendSystemPrompt:H,initialSearchQuery:J,disableSlashCommands:M=!1,forkSession:X,taskListId:P,filterByPr:W,thinkingConfig:D,onTurnComplete:f}){let{rows:G}=t1(),Z=P8((j6)=>j6.agentDefinitions),T=s7(),[v,V]=lY.default.useState([]),[E,S]=lY.default.useState(!0),[R,x]=lY.default.useState(!1),[I,B]=lY.default.useState(!1),[p,C]=lY.default.useState(null),[g,F]=lY.default.useState(null),U=lY.default.useRef(null),c=lY.default.useRef(0),K6=lY.default.useMemo(()=>{let j6=v.filter((G6)=>!G6.isSidechain);if(W!==void 0){if(W===!0)j6=j6.filter((G6)=>G6.prNumber!==void 0);else if(typeof W==="number")j6=j6.filter((G6)=>G6.prNumber===W);else if(typeof W==="string"){let G6=PiY(W);if(G6!==null)j6=j6.filter((w6)=>w6.prNumber===G6)}}return j6},[v,W]),t=Js();lY.default.useEffect(()=>{mq8(K).then((j6)=>{U.current=j6,c.current=j6.logs.length,V(j6.logs),S(!1)}).catch((j6)=>{H6(j6),S(!1)})},[K]);let q6=lY.default.useCallback((j6)=>{let G6=U.current;if(!G6||G6.nextIndex>=G6.allStatLogs.length)return;kJ6(G6.allStatLogs,G6.nextIndex,j6).then((w6)=>{if(G6.nextIndex=w6.nextIndex,w6.logs.length>0){let o=c.current;w6.logs.forEach((s,a)=>{s.value=o+a}),V((s)=>s.concat(w6.logs)),c.current+=w6.logs.length}else if(G6.nextIndex<G6.allStatLogs.length)q6(j6)})},[]),e=lY.default.useCallback((j6)=>{S(!0),(j6?PQ8():mq8(K)).then((w6)=>{U.current=w6,c.current=w6.logs.length,V(w6.logs)}).catch((w6)=>{H6(w6)}).finally(()=>{S(!1)})},[K]),i=lY.default.useCallback(()=>{let j6=!I;B(j6),e(j6)},[I,e]);function $6(){process.exit(1)}async function M6(j6){x(!0);let G6=performance.now(),w6=zU8(j6,I,K);if(w6.isCrossProject){if(!w6.isSameRepoWorktree){let o=await XX(w6.command);if(o)process.stdout.write(o);F(w6.command);return}}try{let o=await MK6(j6,void 0);if(!o)throw Error("Failed to load conversation");if(o.sessionId&&!X)Of(EX(o.sessionId),j6.fullPath?XiY(j6.fullPath):null),await l48(),await mb(),sI8(o.sessionId);else if(X&&o.contentReplacements?.length)await DH6(o.contentReplacements);let{agentDefinition:s}=OM6(o.agentSetting,A,Z);T((n)=>({...n,agent:s?.agentType}));let a=r48(o.agentName,o.agentColor);if(a)T((n)=>({...n,standaloneAgentContext:a}));if(cQ(o.agentName),Ld(X?{...o,worktreeSession:void 0}:o),!X){if(o48(o.worktreeSession),o.sessionId)vJ6()}d("tengu_session_resumed",{entrypoint:"picker",success:!0,resume_duration_ms:Math.round(performance.now()-G6)}),V([]),C({messages:o.messages,fileHistorySnapshots:o.fileHistorySnapshots,contentReplacements:o.contentReplacements,agentName:o.agentName,agentColor:o.agentColor==="default"?void 0:o.agentColor,mainThreadAgentDefinition:s})}catch(o){throw d("tengu_session_resumed",{entrypoint:"picker",success:!1}),H6(o),o}}if(g)return lY.default.createElement(ZiY,{command:g});if(p)return lY.default.createElement(GA7,{debug:$,commands:q,initialTools:_,initialMessages:p.messages,initialFileHistorySnapshots:p.fileHistorySnapshots,initialContentReplacements:p.contentReplacements,initialAgentName:p.agentName,initialAgentColor:p.agentColor,mcpClients:z,dynamicMcpConfig:Y,strictMcpConfig:w,systemPrompt:j,appendSystemPrompt:H,mainThreadAgentDefinition:p.mainThreadAgentDefinition,autoConnectIdeFlag:O,disableSlashCommands:M,taskListId:P,thinkingConfig:D,onTurnComplete:f});if(E)return lY.default.createElement(u,null,lY.default.createElement(IK,null),lY.default.createElement(k,null," Loading conversations…"));if(R)return lY.default.createElement(u,null,lY.default.createElement(IK,null),lY.default.createElement(k,null," Resuming conversation…"));if(K6.length===0)return lY.default.createElement(DiY,null);return lY.default.createElement(KU8,{logs:K6,maxHeight:G,onCancel:$6,onSelect:M6,onLogsChanged:t?()=>e(I):void 0,onLoadMore:q6,initialSearchQuery:J,showAllProjects:I,onToggleAllProjects:i,onAgenticSearch:_U8})}function DiY(){let q=z6(2),K;if(q[0]===Symbol.for("react.memo_cache_sentinel"))K={context:"Global"},q[0]=K;else K=q[0];P1("app:interrupt",fiY,K);let _;if(q[1]===Symbol.for("react.memo_cache_sentinel"))_=lY.default.createElement(u,{flexDirection:"column"},lY.default.createElement(k,null,"No conversations found to resume."),lY.default.createElement(k,{dimColor:!0},"Press Ctrl+C to exit and start a new conversation.")),q[1]=_;else _=q[1];return _}function fiY(){process.exit(1)}function ZiY(q){let K=z6(8),{command:_}=q,z;if(K[0]===Symbol.for("react.memo_cache_sentinel"))z=[],K[0]=z;else z=K[0];lY.default.useEffect(GiY,z);let Y;if(K[1]===Symbol.for("react.memo_cache_sentinel"))Y=lY.default.createElement(k,null,"This conversation is from a different directory."),K[1]=Y;else Y=K[1];let $;if(K[2]===Symbol.for("react.memo_cache_sentinel"))$=lY.default.createElement(k,null,"To resume, run:"),K[2]=$;else $=K[2];let A;if(K[3]!==_)A=lY.default.createElement(u,{flexDirection:"column"},$,lY.default.createElement(k,null," ",_)),K[3]=_,K[4]=A;else A=K[4];let O;if(K[5]===Symbol.for("react.memo_cache_sentinel"))O=lY.default.createElement(k,{dimColor:!0},"(Command copied to clipboard)"),K[5]=O;else O=K[5];let w;if(K[6]!==A)w=lY.default.createElement(u,{flexDirection:"column",gap:1},Y,A,O),K[6]=A,K[7]=w;else w=K[7];return w}function GiY(){let q=setTimeout(TiY,100);return()=>clearTimeout(q)}function TiY(){process.exit(0)}var lY;var j65=y(()=>{q8();t4();v8();R57();Q2();Tb();YM();s6();Oq();k8();C7();M0();C57();n48();lQ();qL6();b57();E8();i1();a48();_K();TA7();lY=O6(D6(),1)});async function H65(q,K){let{InvalidSettingsDialog:_}=await Promise.resolve().then(() => (seK(),aeK));return IR(q,(z)=>ZM6.default.createElement(_,{settingsErrors:K.settingsErrors,onContinue:z,onExit:K.onExit}))}async function J65(q){let{TeleportResumeWrapper:K}=await Promise.resolve().then(() => (Y65(),z65));return IR(q,(_)=>ZM6.default.createElement(K,{onComplete:_,onCancel:()=>_(null),source:"cliArg"}))}async function M65(q,K){let{TeleportRepoMismatchDialog:_}=await Promise.resolve().then(() => (A65(),$65));return IR(q,(z)=>ZM6.default.createElement(_,{targetRepo:K.targetRepo,initialPaths:K.initialPaths,onSelectPath:z,onCancel:()=>z(null)}))}async function X65(q,K,_,z){let[Y,{ResumeConversation:$},{App:A}]=await Promise.all([_,Promise.resolve().then(() => (j65(),w65)),Promise.resolve().then(() => (wz7(),Oz7))]);await fM6(q,ZM6.default.createElement(A,{getFpsMetrics:K.getFpsMetrics,stats:K.stats,initialState:K.initialState},ZM6.default.createElement(WM,null,ZM6.default.createElement($,{...z,worktreePaths:Y}))))}var ZM6;var P65=y(()=>{SA7();dU();ZM6=O6(D6(),1)});function W65(){}function uC6(q,K,_){H6(q);let z=_?`${K} plugin "${_}"`:K==="disable-all"?"disable all plugins":`${K} plugins`;console.error(`${t6.cross} Failed to ${z}: ${d6(q)}`);let Y=_?(()=>{let{name:$,marketplace:A}=Z4(_);return{_PROTO_plugin_name:$,...A&&{_PROTO_marketplace_name:A},...Pb($,A,wR())}})():{};d("tengu_plugin_command_failed",{command:K,error_category:iKK(q),...Y}),process.exit(1)}async function D65(q,K="user"){try{console.log(`Installing plugin "${q}"...`);let _=await PyK(q,K);if(!_.success)throw Error(_.message);console.log(`${t6.tick} ${_.message}`);let{name:z,marketplace:Y}=Z4(_.pluginId||q);d("tengu_plugin_installed_cli",{_PROTO_plugin_name:z,...Y&&{_PROTO_marketplace_name:Y},scope:_.scope||K,install_source:"cli-explicit",...Pb(z,Y,wR())}),process.exit(0)}catch(_){uC6(_,"install",q)}}async function f65(q,K="user",_=!1){try{let z=await _s(q,K,!_);if(!z.success)throw Error(z.message);console.log(`${t6.tick} ${z.message}`);let{name:Y,marketplace:$}=Z4(z.pluginId||q);d("tengu_plugin_uninstalled_cli",{_PROTO_plugin_name:Y,...$&&{_PROTO_marketplace_name:$},scope:z.scope||K,...Pb(Y,$,wR())}),process.exit(0)}catch(z){uC6(z,"uninstall",q)}}async function Z65(q,K){try{let _=await v56(q,K);if(!_.success)throw Error(_.message);console.log(`${t6.tick} ${_.message}`);let{name:z,marketplace:Y}=Z4(_.pluginId||q);d("tengu_plugin_enabled_cli",{_PROTO_plugin_name:z,...Y&&{_PROTO_marketplace_name:Y},scope:_.scope,...Pb(z,Y,wR())}),process.exit(0)}catch(_){uC6(_,"enable",q)}}async function G65(q,K){try{let _=await th6(q,K);if(!_.success)throw Error(_.message);console.log(`${t6.tick} ${_.message}`);let{name:z,marketplace:Y}=Z4(_.pluginId||q);d("tengu_plugin_disabled_cli",{_PROTO_plugin_name:z,...Y&&{_PROTO_marketplace_name:Y},scope:_.scope,...Pb(z,Y,wR())}),process.exit(0)}catch(_){uC6(_,"disable",q)}}async function T65(){try{let q=await WyK();if(!q.success)throw Error(q.message);console.log(`${t6.tick} ${q.message}`),d("tengu_plugin_disabled_all_cli",{}),process.exit(0)}catch(q){uC6(q,"disable-all")}}async function v65(q,K){try{C4(`Checking for updates for plugin "${q}" at ${K} scope… |
| 8176 | `);let _=await eh6(q,K);if(!_.success)throw Error(_.message);if(C4(`${t6.tick} ${_.message} |
no test coverage detected