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

Function push

package/cli.js:8134–8134  ·  view source on GitHub ↗
(K)

Source from the content-addressed store, hash-verified

8132MimeType=x-scheme-handler/${Cy};
8133`;await hR.writeFile(Wc8(),K);let _=await TO("xdg-mime");if(_){let{code:z}=await a8(_,["default",ErK,`x-scheme-handler/${Cy}`],{useCwd:!1});if(z!==0)throw Object.assign(Error(`xdg-mime exited with code ${z}`),{code:"XDG_MIME_FAILED"})}N(`Registered ${Cy}:// protocol handler at ${Wc8()}`)}async function sUY(q){for(let K of[["add",f$7,"/ve","/d",`URL:${Z$7}`,"/f"],["add",f$7,"/v","URL Protocol","/d","","/f"],["add",LrK,"/ve","/d",hrK(q),"/f"]]){let{code:_}=await a8("reg",K,{useCwd:!1});if(_!==0)throw Object.assign(Error(`reg add exited with code ${_}`),{code:"REG_FAILED"})}N(`Registered ${Cy}:// protocol handler in Windows registry`)}async function SrK(q){let K=q??await CrK();switch(process.platform){case"darwin":await oUY(K);break;case"linux":await aUY(K);break;case"win32":await sUY(K);break;default:throw Error(`Unsupported platform: ${process.platform}`)}}async function CrK(){let q=process.platform==="win32"?"claude.exe":"claude",K=xp.join(SS8(),q);try{return await hR.realpath(K),K}catch{return process.execPath}}async function brK(q){try{switch(process.platform){case"darwin":return await hR.readlink(D$7)===q;case"linux":return(await hR.readFile(Wc8(),"utf8")).includes(RrK(q));case"win32":{let{stdout:K,code:_}=await a8("reg",["query",LrK,"/ve"],{useCwd:!1});return _===0&&K.includes(hrK(q))}default:return!1}}catch{return!1}}async function tUY(){if(N7().disableDeepLinkRegistration==="disable")return;if(!g8("tengu_lodestone_enabled",!1))return;let q=await CrK();if(await brK(q))return;let K=xp.join(c1(),".deep-link-register-failed");try{let _=await hR.stat(K);if(Date.now()-_.mtimeMs<rUY)return}catch{}try{await SrK(q),d("tengu_deep_link_registered",{success:!0}),N("Auto-registered claude-cli:// deep link protocol handler"),await hR.rm(K,{force:!0}).catch(()=>{})}catch(_){let z=s1(_);if(d("tengu_deep_link_registered",{success:!1,error_code:z}),N(`Failed to auto-register deep link protocol handler: ${_ instanceof Error?_.message:String(_)}`,{level:"warn"}),z==="EACCES"||z==="ENOSPC")await hR.writeFile(K,"").catch(()=>{})}}var Dc8="com.anthropic.claude-code-url-handler",Z$7="Claude Code URL Handler",ErK="claude-code-url-handler.desktop",iUY="Claude Code URL Handler.app",m48,D$7,f$7,LrK,rUY=86400000;var G$7=y(()=>{o1();k8();_8();m8();y8();XK();U1();rk();CS8();W$7();m48=xp.join(yrK.homedir(),"Applications",iUY),D$7=xp.join(m48,"Contents","MacOS","claude");f$7=`HKEY_CURRENT_USER\\Software\\Classes\\${Cy}`,LrK=`${f$7}\\shell\\open\\command`});var IrK={};T8(IrK,{startBackgroundHousekeeping:()=>k$7});function k$7(){if(NTK(),XrK(),eUY.initExtractMemories(),GWK(),fyK(),ET())qQY.ensureDeepLinkProtocolRegistered();let q=!0;async function K(){if(ET()&&ap()>Date.now()-60000){setTimeout(K,T$7).unref();return}if(q)q=!1,await GrK();if(ET()&&ap()>Date.now()-60000){setTimeout(K,T$7).unref();return}await mt6()}setTimeout(K,T$7).unref()}var eUY,qQY,T$7=600000;var V$7=y(()=>{f87();Sq7();P$7();v8();TrK();PQ();WF8();eUY=(H18(),Eq(fp8)),qQY=(G$7(),Eq(xrK))});function mrK(q){urK.useEffect(()=>{let K=()=>{if(YJ8())process.stdout.write(`
8134`+eI8()+`
8135`);tI8(q?.())};return process.on("exit",K),()=>{process.off("exit",K)}},[])}var urK;var prK=y(()=>{Tb();$n();urK=O6(D6(),1)});function grK(){BrK.useEffect(()=>{},[])}var BrK;var FrK=y(()=>{m8();BrK=O6(D6(),1)});function UrK(q,K){let _=zM6.useRef(q??null),z=zM6.useRef(!q);return zM6.useEffect(()=>{let Y=_.current;if(!Y)return;let $=!1;return Y.then((A)=>{if($)return;if(z.current=!0,_.current=null,A.length>0)K((O)=>[...A,...O])}),()=>{$=!0}},[K]),zM6.useCallback(async()=>{if(z.current||!_.current)return;let Y=await _.current;if(z.current)return;if(z.current=!0,_.current=null,Y.length>0)K(($)=>[...Y,...$])},[K])}var zM6;var QrK=y(()=>{zM6=O6(D6(),1)});function drK(){let[q,K]=p48.useState(()=>{if(!WJ()||d7())return"valid";let{key:$,source:A}=Ow({skipRetrievingKeyFromApiKeyHelper:!0});if($||A==="apiKeyHelper")return"loading";return"missing"}),[_,z]=p48.useState(null),Y=p48.useCallback(async()=>{if(!WJ()||d7()){K("valid");return}await WG6(i7());let{key:$,source:A}=Ow();if(!$){if(A==="apiKeyHelper"){K("error"),z(Error("API key helper did not return a valid key"));return}K("missing");return}try{let w=await zFK($,!1)?"valid":"invalid";K(w);return}catch(O){z(O),K("error");return}},[]);return{status:q,reverify:Y,error:_}}var p48;var crK=y(()=>{v8();ew();G7();p48=O6(D6(),1)});var lrK=y(()=>{v8();QV();c9();I7();_8()});function N$7({screen:q,setScreen:K,showAllInTranscript:_,setShowAllInTranscript:z,messageCount:Y,onEnterTranscript:$,onExitTranscript:A,virtualScrollActive:O,searchBarOpen:w=!1}){let j=P8((T)=>T.expandedView),H=s7(),J=_36.useCallback(()=>{d("tengu_toggle_todos",{is_expanded:j==="tasks"}),H((T)=>{let{getAllInProcessTeammateTasks:v}=(Hb(),Eq(WqK));if($7(v(T.tasks),(E)=>E.status==="running")>0)switch(T.expandedView){case"none":return{...T,expandedView:"tasks"};case"tasks":return{...T,expandedView:"teammates"};case"teammates":return{...T,expandedView:"none"}}return{...T,expandedView:T.expandedView==="tasks"?"none":"tasks"}})},[j,H]),M=P8((T)=>T.isBriefOnly),X=_36.useCallback(()=>{{let{isBriefEnabled:v}=(dQ(),Eq(IK6));if(!v()&&M&&q!=="transcript"){H((V)=>{if(!V.isBriefOnly)return V;return{...V,isBriefOnly:!1}});return}}let T=q!=="transcript";if(d("tengu_toggle_transcript",{is_entering:T,show_all:_,message_count:Y}),K((v)=>v==="transcript"?"prompt":"transcript"),z(!1),T&&$)$();if(!T&&A)A()},[q,K,M,_,z,Y,H,$,A]),P=_36.useCallback(()=>{d("tengu_transcript_toggle_show_all",{is_expanding:!_,message_count:Y}),z((T)=>!T)},[_,z,Y]),W=_36.useCallback(()=>{if(d("tengu_transcript_exit",{show_all:_,message_count:Y}),K("prompt"),z(!1),A)A()},[K,_,z,Y,A]),D=_36.useCallback(()=>{{let{isBriefEnabled:T}=(dQ(),Eq(IK6));if(!T()&&!M)return;let v=!M;d("tengu_brief_mode_toggled",{enabled:v,gated:!1,source:"keybinding"}),H((V)=>{if(V.isBriefOnly===v)return V;return{...V,isBriefOnly:v}})}},[M,H]);P1("app:toggleTodos",J,{context:"Global"}),P1("app:toggleTranscript",X,{context:"Global"}),P1("app:toggleBrief",D,{context:"Global"}),P1("app:toggleTeammatePreview",()=>{H((T)=>({...T,showTeammateMessagePreview:!T.showTeammateMessagePreview}))},{context:"Global"});let f=_36.useCallback(()=>{},[]);P1("app:toggleTerminal",f,{context:"Global"});let G=_36.useCallback(()=>{VA.get(process.stdout)?.forceRedraw()},[]);P1("app:redraw",G,{context:"Global"});let Z=q==="transcript";return P1("transcript:toggleShowAll",P,{context:"Transcript",isActive:Z&&!O}),P1("transcript:exit",W,{context:"Transcript",isActive:Z&&!w}),null}var _36;var nrK=y(()=>{QV();Oq();o1();k8();C7();lrK();_36=O6(D6(),1)});function y$7(q){let K=z6(8),{onSubmit:_,isActive:z}=q,Y=z===void 0?!0:z,$=VN(),A=dq6(),O;q:{if(!$){let P;if(K[0]===Symbol.for("react.memo_cache_sentinel"))P=new Set,K[0]=P;else P=K[0];O=P;break q}let X;if(K[1]!==$.bindings){X=new Set;for(let P of $.bindings)if(P.action?.startsWith("command:"))X.add(P.action);K[1]=$.bindings,K[2]=X}else X=K[2];O=X}let w=O,j;if(K[3]!==w||K[4]!==_){j={};for(let X of w){let P=X.slice(8);j[X]=()=>{_(`/${P}`,KQY,void 0,{fromKeybinding:!0})}}K[3]=w,K[4]=_,K[5]=j}else j=K[5];let H=j,J=Y&&!A,M;if(K[6]!==J)M={context:"Chat",isActive:J},K[6]=J,K[7]=M;else M=K[7];return o7(H,M),null}var KQY;var irK=y(()=>{q8();T0();yU();Oq();KQY={setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}}});function E$7(q){let{setToolUseConfirmQueue:K,onCancel:_,onAgentsKilled:z,isMessageSelectorVisible:Y,screen:$,abortSignal:A,popCommandFromQueue:O,vimMode:w,isLocalJSXCommand:j,isSearchingHistory:H,isHelpOpen:J,inputMode:M,inputValue:X,streamMode:P}=q,W=jz(),D=s7(),f=pd().length,{addNotification:G,removeNotification:Z}=PK(),T=YM6.useRef(0),v=P8((c)=>c.viewSelectionMode),V=YM6.useCallback(()=>{let c={source:"escape",streamMode:P};if(A!==void 0&&!A.aborted){d("tengu_cancel",c),K(()=>[]),_();return}if(br6()){if(O){O();return}}d("tengu_cancel",c),K(()=>[]),_()},[A,O,K,_,P]),E=OC4(),S=A!==void 0&&!A.aborted,R=f>0,x=M!==void 0&&M!=="prompt"&&!X,I=v==="viewing-agent",B=$!=="transcript"&&!H&&!Y&&!j&&!J&&!E&&!(ea()&&w==="INSERT"),p=B&&(S||R)&&!x&&!I,C=B&&(S||R||I);P1("chat:cancel",V,{context:"Chat",isActive:p});let g=YM6.useCallback(()=>{let c=W.getState().tasks,K6=Object.entries(c).filter(([,e])=>e.type==="local_agent"&&e.status==="running");if(K6.length===0)return!1;dXK(c,D);let t=[];for(let[e,i]of K6)cXK(e,D),t.push(i.description),ZN(e,"stopped",{toolUseId:i.toolUseId,summary:i.description});let q6=t.length===1?`Background agent "${t[0]}" was stopped by the user.`:`${t.length} background agents were stopped by the user: ${t.map((e)=>`"${e}"`).join(", ")}.`;return IO({value:q6,mode:"task-notification"}),z(),!0},[W,D,z]),F=YM6.useCallback(()=>{if(I)g(),KZ(D);if(S||R)V()},[I,g,D,S,R,V]);P1("app:interrupt",F,{context:"Global",isActive:C});let U=YM6.useCallback(()=>{let c=W.getState().tasks;if(!Object.values(c).some((i)=>i.type==="local_agent"&&i.status==="running")){G({key:"kill-agents-none",text:"No background agents running",priority:"immediate",timeoutMs:2000});return}let t=Date.now();if(t-T.current<=rrK){T.current=0,Z("kill-agents-confirm"),d("tengu_cancel",{source:"kill_agents"}),AP4(),g();return}T.current=t;let e=RH("chat:killAgents","Chat","ctrl+x ctrl+k");G({key:"kill-agents-confirm",text:`Press ${e} again to stop background agents`,priority:"immediate",timeoutMs:rrK})},[W,G,Z,g]);return P1("chat:killAgents",U,{context:"Chat"}),null}var YM6,rrK=3000;var orK=y(()=>{k8();C7();Qh6();h$();T0();fC6();tu();Oq();x56();gP();p2();pC();YM6=O6(D6(),1)});function _QY(q,K){K((_)=>{let z=oo(_.tasks).length;if(z===0)return _;if(_.expandedView!=="teammates")return{..._,expandedView:"teammates",viewSelectionMode:"selecting-agent",selectedIPAgentIndex:-1};let Y=z,$=_.selectedIPAgentIndex,A=q===1?$>=Y?-1:$+1:$<=-1?Y:$-1;return{..._,selectedIPAgentIndex:A,viewSelectionMode:"selecting-agent"}})}function arK(q){let K=P8((M)=>M.tasks),_=P8((M)=>M.viewSelectionMode),z=P8((M)=>M.viewingAgentTaskId),Y=P8((M)=>M.selectedIPAgentIndex),$=s7(),A=oo(K),O=A.length,w=Object.values(K).some((M)=>uH(M)&&M.type!=="in_process_teammate"),j=fc8.useRef(O);fc8.useEffect(()=>{let M=j.current;j.current=O,$((X)=>{let W=oo(X.tasks).length;if(W===0&&M>0&&X.selectedIPAgentIndex!==-1){if(X.viewSelectionMode==="viewing-agent")return{...X,selectedIPAgentIndex:-1};return{...X,selectedIPAgentIndex:-1,viewSelectionMode:"none"}}let D=X.expandedView==="teammates"?W:W-1;if(W>0&&X.selectedIPAgentIndex>D)return{...X,selectedIPAgentIndex:D};return X})},[O,$]);let H=()=>{if(O===0)return null;let X=A[Y];if(!X)return null;return{taskId:X.id,task:X}},J=(M)=>{if(M.key==="escape"&&_==="viewing-agent"){M.preventDefault();let X=z;if(X){let P=K[X];if(xH(P)&&P.status==="running"){P.currentWorkAbortController?.abort();return}}KZ($);return}if(M.key==="escape"&&_==="selecting-agent"){M.preventDefault(),$((X)=>({...X,viewSelectionMode:"none",selectedIPAgentIndex:-1}));return}if(M.shift&&(M.key==="up"||M.key==="down")){if(M.preventDefault(),O>0)_QY(M.key==="down"?1:-1,$);else if(w)q?.onOpenBackgroundTasks?.();return}if(M.key==="f"&&_==="selecting-agent"&&O>0){M.preventDefault();let X=H();if(X)cb(X.taskId,$);return}if(M.key==="return"&&_==="selecting-agent"){if(M.preventDefault(),Y===-1)KZ($);else if(Y>=O)$((X)=>({...X,expandedView:"none",viewSelectionMode:"none",selectedIPAgentIndex:-1}));else{let X=H();if(X)cb(X.taskId,$)}return}if(M.key==="k"&&_==="selecting-agent"&&Y>=0){M.preventDefault();let X=H();if(X&&X.task.status==="running")Ce6.kill(X.taskId,$);return}};return k4((M,X,P)=>{J(new JL(P.keypress))}),{handleKeyDown:J}}var fc8;var srK=y(()=>{fA6();s6();C7();x56();Hb();fc8=O6(D6(),1)});function trK(){let q=Dc6();if(!q?.teamName||!q?.agentName){N("[Reconnection] computeInitialTeamContext: No teammate context set (not a teammate)");return}let{teamName:K,agentId:_,agentName:z}=q,Y=mH(K);if(!Y){H6(Error(`[computeInitialTeamContext] Could not read team file for ${K}`));return}let $=NQ(K),A=!_;return N(`[Reconnection] Computed initial team context for ${A?"leader":`teammate ${z}`} in team ${K}`),{teamName:K,teamFilePath:$,leadAgentId:Y.leadAgentId,selfAgentId:_,selfAgentName:z,isLeader:A,teammates:{}}}function erK(q,K,_){let z=mH(K);if(!z){H6(Error(`[initializeTeammateContextFromSession] Could not read team file for ${K} (agent: ${_})`));return}let Y=z.members.find((O)=>O.name===_);if(!Y)N(`[Reconnection] Member ${_} not found in team ${K} - may have been removed`);let $=Y?.agentId,A=NQ(K);q((O)=>({...O,teamContext:{teamName:K,teamFilePath:A,leadAgentId:z.leadAgentId,selfAgentId:$,selfAgentName:_,isLeader:!1,teammates:{}}})),N(`[Reconnection] Initialized agent context from session for ${_} in team ${K}`)}var L$7=y(()=>{_8();E8();AY();RD()});function R$7(q,K,_){let{teamName:z,agentId:Y,agentName:$}=_,A=mH(z);if(!A){N(`[TeammateInit] Team file not found for team: ${z}`);return}let O=A.leadAgentId;if(A.teamAllowedPaths&&A.teamAllowedPaths.length>0){N(`[TeammateInit] Found ${A.teamAllowedPaths.length} team-wide allowed path(s)`);for(let H of A.teamAllowedPaths){let J=H.path.startsWith("/")?`/${H.path}/**`:`${H.path}/**`;N(`[TeammateInit] Applying team permission: ${H.toolName} allowed in ${H.path} (rule: ${J})`),q((M)=>({...M,toolPermissionContext:L$(M.toolPermissionContext,{type:"addRules",rules:[{toolName:H.toolName,ruleContent:J}],behavior:"allow",destination:"session"})}))}}let j=A.members.find((H)=>H.agentId===O)?.name||"team-lead";if(Y===O){N("[TeammateInit] This agent is the team leader - skipping idle notification hook");return}N(`[TeammateInit] Registering Stop hook for teammate ${$} to notify leader ${j}`),ML8(q,K,"Stop","",async(H,J)=>{Se6(z,$,!1);let M=De6($,{idleReason:"available",summary:Te6(H)});return await R_(j,{from:$,text:g6(M),timestamp:new Date().toISOString(),color:vj()}),N(`[TeammateInit] Sent idle notification to leader ${j}`),!0},"Failed to send idle notification to team leader",{timeout:1e4})}var qoK=y(()=>{_8();zo();LH();l8();AY();RJ();RD()});function _oK(q,K,{enabled:_=!0}={}){KoK.useEffect(()=>{if(!_)return;if(nq()){let z=K?.[0],Y=z&&"teamName"in z?z.teamName:void 0,$=z&&"agentName"in z?z.agentName:void 0;if(Y&&$){erK(q,Y,$);let O=mH(Y)?.members.find((w)=>w.name===$);if(O)R$7(q,N8(),{teamName:Y,agentId:O.agentId,agentName:$})}else{let A=Dc6?.();if(A?.teamName&&A?.agentId&&A?.agentName)R$7(q,N8(),{teamName:A.teamName,agentId:A.agentId,agentName:A.agentName})}}},[q,K,_])}var KoK;var zoK=y(()=>{v8();i$();L$7();RD();qoK();AY();KoK=O6(D6(),1)});function $oK(){let q=s7(),K=P8((O)=>O.viewingAgentTaskId),_=P8((O)=>O.viewingAgentTaskId?O.tasks[O.viewingAgentTaskId]:void 0),z=_&&xH(_)?_:void 0,Y=z?.status,$=z?.error,A=_!==void 0;YoK.useEffect(()=>{if(!K)return;if(!A){KZ(q);return}if(!z)return;if(Y==="killed"||Y==="failed"||$||Y!=="running"&&Y!=="completed"&&Y!=="pending"){KZ(q);return}},[K,A,z,Y,$,q])}var YoK;var AoK=y(()=>{C7();x56();YoK=O6(D6(),1)});async function OoK(q){let{ctx:K,updatedInput:_,suggestions:z,permissionMode:Y}=q;try{let $=await K.runHooks(Y,z,_);if($)return $;let A=null;if(A)return A}catch($){if($ instanceof Error)H6($);else H6(Error(`Automated permission check failed: ${String($)}`))}return null}var woK=y(()=>{E8()});function Zc8(q){let K=!1,_=!1;return{resolve(z){if(_)return;_=!0,K=!0,q(z)},isResolved(){return K},claim(){if(K)return!1;return K=!0,!0}}}function joK(q,K,_,z,Y,$,A){let O=z.message.id,w={tool:q,input:K,toolUseContext:_,assistantMessage:z,messageId:O,toolUseID:Y,logDecision(j,H){qN8({tool:q,input:H?.input??K,toolUseContext:_,messageId:O,toolUseID:Y},j,H?.permissionPromptStartTimeMs)},logCancelled(){d("tengu_tool_use_cancelled",{messageID:O,toolName:wK(q.name)})},async persistPermissions(j){if(j.length===0)return!1;ru(j);let H=_.getAppState();return $(XN(H.toolPermissionContext,j)),j.some((J)=>hm1(J.destination))},resolveIfAborted(j){if(!_.abortController.signal.aborted)return!1;return this.logCancelled(),j(this.cancelAndAbort(void 0,!0)),!0},cancelAndAbort(j,H,J){let M=!!_.agentId,X=j?`${M?Ve6:nb8}${j}`:M?um:fj6,P=M?X:aR6(X);if(H||!j&&!J?.length&&!M)N(`Aborting: tool=${q.name} isAbort=${H} hasFeedback=${!!j} isSubagent=${M}`),_.abortController.abort();return{behavior:"ask",message:P,contentBlocks:J}},...{},async runHooks(j,H,J,M){for await(let X of hH6(q.name,Y,K,_,j,H,_.abortController.signal))if(X.permissionRequestResult){let P=X.permissionRequestResult;if(P.behavior==="allow"){let W=P.updatedInput??J??K;return await this.handleHookAllow(W,P.updatedPermissions??[],M)}else if(P.behavior==="deny"){if(this.logDecision({decision:"reject",source:{type:"hook"}},{permissionPromptStartTimeMs:M}),P.interrupt)N(`Hook interrupt: tool=${q.name} hookMessage=${P.message}`),_.abortController.abort();return this.buildDeny(P.message||"Permission denied by hook",{type:"hook",hookName:"PermissionRequest",reason:P.message})}}return null},buildAllow(j,H){return{behavior:"allow",updatedInput:j,userModified:H?.userModified??!1,...H?.decisionReason&&{decisionReason:H.decisionReason},...H?.acceptFeedback&&{acceptFeedback:H.acceptFeedback},...H?.contentBlocks&&H.contentBlocks.length>0&&{contentBlocks:H.contentBlocks}}},buildDeny(j,H){return{behavior:"deny",message:j,decisionReason:H}},async handleUserAllow(j,H,J,M,X,P){let W=await this.persistPermissions(H);this.logDecision({decision:"accept",source:{type:"user",permanent:W}},{input:j,permissionPromptStartTimeMs:M});let D=q.inputsEquivalent?!q.inputsEquivalent(K,j):!1,f=J?.trim();return this.buildAllow(j,{userModified:D,decisionReason:P,acceptFeedback:f||void 0,contentBlocks:X})},async handleHookAllow(j,H,J){let M=await this.persistPermissions(H);return this.logDecision({decision:"accept",source:{type:"hook",permanent:M}},{input:j,permissionPromptStartTimeMs:J}),this.buildAllow(j,{decisionReason:{type:"hook",hookName:"PermissionRequest"}})},pushToQueue(j){A?.push(j)},removeFromQueue(){A?.remove(Y)},updateQueueItem(j){A?.update(Y,j)}};return Object.freeze(w)}function HoK(q){return{push(K){q((_)=>[..._,K])},remove(K){q((_)=>_.filter((z)=>z.toolUseID!==K))},update(K,_){q((z)=>z.map((Y)=>Y.toolUseID===K?{...Y,..._}:Y))}}}var Gc8=y(()=>{k8();kj();DN();_K6();_8();y$();i1();LH();KN8()});import{randomUUID as zQY}from"crypto";function JoK(q,K){let{ctx:_,description:z,result:Y,awaitAutomatedChecksBeforeDialog:$,bridgeCallbacks:A,channelCallbacks:O}=q,{resolve:w,isResolved:j,claim:H}=Zc8(K),J=!1,M,X,P=A?zQY():void 0,W,D=Date.now(),f=Y.updatedInput??_.input;function G(){}if(_.pushToQueue({assistantMessage:_.assistantMessage,tool:_.tool,description:z,input:f,toolUseContext:_.toolUseContext,toolUseID:_.toolUseID,permissionResult:Y,permissionPromptStartTimeMs:D,...{},onUserInteraction(){if(Date.now()-D<200)return;J=!0,KK6(_.toolUseID),G()},onDismissCheckmark(){if(M){if(clearTimeout(M),M=void 0,X)_.toolUseContext.abortController.signal.removeEventListener("abort",X),X=void 0;_.removeFromQueue()}},onAbort(){if(!H())return;if(A&&P)A.sendResponse(P,{behavior:"deny",message:"User aborted"}),A.cancelRequest(P);W?.(),_.logCancelled(),_.logDecision({decision:"reject",source:{type:"user_abort"}},{permissionPromptStartTimeMs:D}),w(_.cancelAndAbort(void 0,!0))},async onAllow(Z,T,v,V){if(!H())return;if(A&&P)A.sendResponse(P,{behavior:"allow",updatedInput:Z,updatedPermissions:T}),A.cancelRequest(P);W?.(),w(await _.handleUserAllow(Z,T,v,D,V,Y.decisionReason))},onReject(Z,T){if(!H())return;if(A&&P)A.sendResponse(P,{behavior:"deny",message:Z??"User denied permission"}),A.cancelRequest(P);W?.(),_.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!Z}},{permissionPromptStartTimeMs:D}),w(_.cancelAndAbort(Z,void 0,T))},async recheckPermission(){if(j())return;let Z=await uX(_.tool,_.input,_.toolUseContext,_.assistantMessage,_.toolUseID);if(Z.behavior==="allow"){if(!H())return;if(A&&P)A.cancelRequest(P);W?.(),_.removeFromQueue(),_.logDecision({decision:"accept",source:"config"}),w(_.buildAllow(Z.updatedInput??_.input))}}}),A&&P){A.sendRequest(P,_.tool.name,f,_.toolUseID,z,Y.suggestions,Y.blockedPath);let Z=_.toolUseContext.abortController.signal,T=A.onResponse(P,(v)=>{if(!H())return;if(Z.removeEventListener("abort",T),KK6(_.toolUseID),G(),_.removeFromQueue(),W?.(),v.behavior==="allow"){if(v.updatedPermissions?.length)_.persistPermissions(v.updatedPermissions);_.logDecision({decision:"accept",source:{type:"user",permanent:!!v.updatedPermissions?.length}},{permissionPromptStartTimeMs:D}),w(_.buildAllow(v.updatedInput??f))}else _.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!v.message}},{permissionPromptStartTimeMs:D}),w(_.cancelAndAbort(v.message))});Z.addEventListener("abort",T,{once:!0})}if(O&&!_.tool.requiresUserInteraction?.()){let Z=lNK(_.toolUseID),T=eH(),v=iNK(_.toolUseContext.getAppState().mcp.clients,(V)=>dH6(V,T)!==void 0);if(v.length>0){let V={request_id:Z,tool_name:_.tool.name,description:z,input_preview:nNK(f)};for(let R of v){if(R.type!=="connected")continue;R.client.notification({method:QNK,params:V}).catch((x)=>{N(`Channel permission_request failed for ${R.name}: ${d6(x)}`,{level:"error"})})}let E=_.toolUseContext.abortController.signal,S=O.onResponse(Z,(R)=>{if(!H())return;if(W?.(),KK6(_.toolUseID),G(),_.removeFromQueue(),A&&P)A.cancelRequest(P);if(R.behavior==="allow")_.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:D}),w(_.buildAllow(f));else _.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:D}),w(_.cancelAndAbort(`Denied via channel ${R.fromServer}`))});W=()=>{S(),E.removeEventListener("abort",W)},E.addEventListener("abort",W,{once:!0})}}if(!$)(async()=>{if(j())return;let Z=_.toolUseContext.getAppState(),T=await _.runHooks(Z.toolPermissionContext.mode,Y.suggestions,Y.updatedInput,D);if(!T||!H())return;if(A&&P)A.cancelRequest(P);W?.(),_.removeFromQueue(),w(T)})()}var MoK=y(()=>{_8();v8();Rl6();h78();h47();DN();_K6();y8();Fj();Gc8()});async function XoK(q){if(!nq()||!ve6())return null;let{ctx:K,description:_,updatedInput:z,suggestions:Y}=q,$=null;if($)return $;try{let A=()=>K.toolUseContext.setAppState((w)=>({...w,pendingWorkerRequest:null}));return await new Promise((w)=>{let{resolve:j,claim:H}=Zc8(w),J=cC8({toolName:K.tool.name,toolUseId:K.toolUseID,input:K.input,description:_,permissionSuggestions:Y});iC8({requestId:J.id,toolUseId:K.toolUseID,async onAllow(M,X,P,W){if(!H())return;A();let D=M&&Object.keys(M).length>0?M:K.input;j(await K.handleUserAllow(D,X,P,void 0,W))},onReject(M,X){if(!H())return;A(),K.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!M}}),j(K.cancelAndAbort(M,void 0,X))}}),lC8(J),K.toolUseContext.setAppState((M)=>({...M,pendingWorkerRequest:{toolName:K.tool.name,toolUseId:K.toolUseID,description:_}})),K.toolUseContext.abortController.signal.addEventListener("abort",()=>{if(!H())return;A(),K.logCancelled(),j(K.cancelAndAbort(void 0,!0))},{once:!0})})}catch(A){return H6(x1(A)),null}}var PoK=y(()=>{i$();y8();E8();vE6();yE6();Gc8()});function YQY(q,K){let _=z6(3),z;if(_[0]!==K||_[1]!==q)z=async(Y,$,A,O,w,j)=>new Promise((H)=>{let J=joK(Y,$,A,O,w,K,HoK(q));if(J.resolveIfAborted(H))return;return(j!==void 0?Promise.resolve(j):uX(Y,$,A,O,w)).then(async(X)=>{if(X.behavior==="allow"){if(J.resolveIfAborted(H))return;if(X.decisionReason?.type==="classifier"&&X.decisionReason.classifier==="auto-mode")sqK(w,X.decisionReason.reason);J.logDecision({decision:"accept",source:"config"}),H(J.buildAllow(X.updatedInput??$,{decisionReason:X.decisionReason}));return}let P=A.getAppState(),W=await Y.description($,{isNonInteractiveSession:A.options.isNonInteractiveSession,toolPermissionContext:P.toolPermissionContext,tools:A.options.tools});if(J.resolveIfAborted(H))return;switch(X.behavior){case"deny":{if(qN8({tool:Y,input:$,toolUseContext:A,messageId:J.messageId,toolUseID:w},{decision:"reject",source:"config"}),X.decisionReason?.type==="classifier"&&X.decisionReason.classifier==="auto-mode")AbK({toolName:Y.name,display:W,reason:X.decisionReason.reason??"",timestamp:Date.now()}),A.addNotification?.({key:"auto-mode-denied",priority:"immediate",jsx:Qd.createElement(Qd.Fragment,null,Qd.createElement(k,{color:"error"},Y.userFacingName($).toLowerCase()," denied by auto mode"),Qd.createElement(k,{dimColor:!0}," · /permissions"))});H(X);return}case"ask":{if(P.toolPermissionContext.awaitAutomatedChecksBeforeDialog){let f=await OoK({ctx:J,...{},updatedInput:X.updatedInput,suggestions:X.suggestions,permissionMode:P.toolPermissionContext.mode});if(f){H(f);return}}if(J.resolveIfAborted(H))return;let D=await XoK({ctx:J,description:W,...{},updatedInput:X.updatedInput,suggestions:X.suggestions});if(D){H(D);return}JoK({ctx:J,description:W,result:X,awaitAutomatedChecksBeforeDialog:P.toolPermissionContext.awaitAutomatedChecksBeforeDialog,bridgeCallbacks:P.replBridgePermissionCallbacks,channelCallbacks:P.channelPermissionCallbacks},H);return}}}).catch((X)=>{if(X instanceof Uz||X instanceof V_)N(`Permission check threw ${X.constructor.name} for tool=${Y.name}: ${X.message}`),J.logCancelled(),H(J.cancelAndAbort(void 0,!0));else H6(X),H(J.cancelAndAbort(void 0,!0))}).finally(()=>{KK6(w)})}),_[0]=K,_[1]=q,_[2]=z;else z=_[2];return z}var Qd,WoK;var DoK=y(()=>{q8();LZ();s6();DN();ZU8();_K6();_8();y8();E8();Fj();woK();MoK();PoK();Gc8();KN8();Qd=O6(D6(),1);WoK=YQY});function foK(q){let K=q.toLowerCase();return/\b(wtf|wth|ffs|omfg|shit(ty|tiest)?|dumbass|horrible|awful|piss(ed|ing)? off|piece of (shit|crap|junk)|what the (fuck|hell)|fucking? (broken|useless|terrible|awful|horrible)|fuck you|screw (this|you)|so frustrating|this sucks|damn it)\b/.test(K)}function ZoK(q){let K=q.toLowerCase().trim();if(K==="continue")return!0;return/\b(keep going|go on)\b/.test(K)}import{randomUUID as $QY}from"crypto";function GoK(q,K,_,z,Y,$,A){let O=$QY();_x6(O);let w=typeof q==="string"?q:q.find((X)=>X.type==="text")?.text||"";Ig4(w);let j=typeof q==="string"?q:q.findLast((X)=>X.type==="text")?.text||"";if(j)EA("user_prompt",{prompt_length:String(j.length),prompt:eV8(j),"prompt.id":O});let H=foK(w),J=ZoK(w);if(d("tengu_input_prompt",{is_negative:H,is_keep_going:J}),K.length>0){let X=typeof q==="string"?q.trim()?[{type:"text",text:q}]:[]:q;return{messages:[U8({content:[...X,...K],uuid:Y,imagePasteIds:_.length>0?_:void 0,permissionMode:$,isMeta:A||void 0}),...z],shouldQuery:!0}}return{messages:[U8({content:q,uuid:Y,permissionMode:$,isMeta:A||void 0}),...z],shouldQuery:!0}}var ToK=y(()=>{v8();k8();i1();nu();w46()});function h$7(q){let K=z6(8),{input:_,progress:z,verbose:Y}=q,$=`<bash-input>${_}</bash-input>`,A;if(K[0]!==$)A=vc8.default.createElement(Cb8,{addMargin:!1,param:{text:$,type:"text"}}),K[0]=$,K[1]=A;else A=K[1];let O;if(K[2]!==z||K[3]!==Y)O=z?vc8.default.createElement(kL6,{fullOutput:z.fullOutput,output:z.output,elapsedTimeSeconds:z.elapsedTimeSeconds,totalLines:z.totalLines,verbose:Y}):R4.renderToolUseProgressMessage?.([],{verbose:Y,tools:[],terminalSize:void 0}),K[2]=z,K[3]=Y,K[4]=O;else O=K[4];let w;if(K[5]!==A||K[6]!==O)w=vc8.default.createElement(u,{flexDirection:"column",marginTop:1},A,O),K[5]=A,K[6]=O,K[7]=w;else w=K[7];return w}var vc8;var voK=y(()=>{q8();s6();p0();Xr1();DI8();vc8=O6(D6(),1)});function koK(){return N7().defaultShell??"bash"}var VoK=y(()=>{U1()});var NoK={};T8(NoK,{processBashCommand:()=>OQY});import{randomUUID as AQY}from"crypto";async function OQY(q,K,_,z,Y){let $=Rk6()&&koK()==="powershell";d("tengu_input_bash",{powershell:$});let A=U8({content:tL({inputString:`<bash-input>${q}</bash-input>`,precedingInputBlocks:K})}),O;Y({jsx:dd.createElement(h$7,{input:q,progress:null,verbose:z.options.verbose}),shouldHidePromptInput:!1});try{let w={...z,setToolJSX:(f)=>{O=f?.jsx}},j=(f)=>{Y({jsx:dd.createElement(dd.Fragment,null,dd.createElement(h$7,{input:q,progress:f.data,verbose:z.options.verbose}),O),shouldHidePromptInput:!1,showSpinner:!1})},H=null;if($)H=(xL6(),Eq(UI8)).PowerShellTool;let J=H??R4,X=(H?await H.call({command:q,dangerouslyDisableSandbox:!0},w,void 0,void 0,j):await R4.call({command:q,dangerouslyDisableSandbox:!0},w,void 0,void 0,j)).data;if(!X)throw Error("No result received from shell command");let P=X.stderr,W=await fN6(J,{...X,stderr:""},AQY()),D=typeof W.content==="string"?W.content:CL(X.stdout);return{messages:[Wb(),A,..._,U8({content:`<bash-stdout>${D}</bash-stdout><bash-stderr>${CL(P)}</bash-stderr>`})],shouldQuery:!1}}catch(w){if(w instanceof AE){if(w.interrupted)return{messages:[Wb(),A,Ya({toolUse:!1}),..._],shouldQuery:!1};return{messages:[Wb(),A,..._,U8({content:`<bash-stdout>${CL(w.stdout)}</bash-stdout><bash-stderr>${CL(w.stderr)}</bash-stderr>`})],shouldQuery:!1}}return{messages:[Wb(),A,..._,U8({content:`<bash-stderr>Command failed: ${CL(d6(w))}</bash-stderr>`})],shouldQuery:!1}}finally{Y(null)}}var dd;var yoK=y(()=>{voK();p0();k8();y8();i1();VoK();Hr();IG();dd=O6(D6(),1)});import{randomUUID as wQY}from"crypto";async function kc8({input:q,preExpansionInput:K,mode:_,setToolJSX:z,context:Y,pastedContents:$,ideSelection:A,messages:O,setUserInputOnProcessing:w,uuid:j,isAlreadyProcessing:H,querySource:J,canUseTool:M,skipSlashCommands:X,bridgeOrigin:P,isMeta:W,skipAttachments:D}){let f=typeof q==="string"?q:null;if(_==="prompt"&&f!==null&&!W)w?.(f);g3("query_process_user_input_base_start");let G=Y.getAppState(),Z=await jQY(q,_,z,Y,$,A,O,j,H,J,M,G.toolPermissionContext.mode,X,P,W,D,K);if(g3("query_process_user_input_base_end"),!Z.shouldQuery)return Z;g3("query_hooks_start");let T=EQ(q)||"";for await(let v of j_7(T,G.toolPermissionContext.mode,Y,Y.requestPrompt)){if(v.message?.type==="progress")continue;if(v.blockingError){let V=w_7(v.blockingError);return{messages:[fw(`${V}
8136
8137Original prompt: ${q}`,"warning")],shouldQuery:!1,allowedTools:Z.allowedTools}}if(v.preventContinuation){let V=v.stopReason?`Operation stopped by hook: ${v.stopReason}`:"Operation stopped by hook";return Z.messages.push(U8({content:V})),Z.shouldQuery=!1,Z}if(v.additionalContexts&&v.additionalContexts.length>0)Z.messages.push(V4({type:"hook_additional_context",content:v.additionalContexts.map(EoK),hookName:"UserPromptSubmit",toolUseID:`hook-${wQY()}`,hookEvent:"UserPromptSubmit"}));if(v.message)switch(v.message.attachment.type){case"hook_success":if(!v.message.attachment.content)break;Z.messages.push({...v.message,attachment:{...v.message.attachment,content:EoK(v.message.attachment.content)}});break;default:Z.messages.push(v.message);break}}return g3("query_hooks_end"),Z}function EoK(q){if(q.length>S$7)return`${q.substring(0,S$7)}… [output truncated - exceeded ${S$7} characters]`;return q}async function jQY(q,K,_,z,Y,$,A,O,w,j,H,J,M,X,P,W,D){let f=null,G=[],Z=[],T=q;if(typeof q==="string")f=q;else if(q.length>0){g3("query_image_processing_start");let p=[];for(let g of q)if(g.type==="image"){let F=await Tr(g);if(F.dimensions){let U=_V6(F.dimensions);if(U)Z.push(U)}p.push(F.block)}else p.push(g);T=p,g3("query_image_processing_end");let C=p[p.length-1];if(C?.type==="text")f=C.text,G=p.slice(0,-1);else G=p}if(f===null&&K!=="prompt")throw Error(`Mode: ${K} requires a string input.`);let v=Y?Object.values(Y).filter(vH6):[],V=v.map((p)=>p.id),E=Y?await qC4(Y):new Map;g3("query_pasted_image_processing_start");let S=await Promise.all(v.map(async(p)=>{let C={type:"image",source:{type:"base64",media_type:p.mediaType||"image/png",data:p.content}};return d("tengu_pasted_image_resize_attempt",{original_size_bytes:p.content.length}),{resized:await Tr(C),originalDimensions:p.dimensions,sourcePath:p.sourcePath??E.get(p.id)}})),R=[];for(let{resized:p,originalDimensions:C,sourcePath:g}of S){if(p.dimensions){let F=_V6(p.dimensions,g);if(F)Z.push(F)}else if(C){let F=_V6(C,g);if(F)Z.push(F)}else if(g)Z.push(`[Image source: ${g}]`);R.push(p.block)}g3("query_pasted_image_processing_end");let x=M;if(X&&f!==null&&f.startsWith("/")){let p=ab8(f),C=p?hQ(p.commandName,z.options.commands):void 0;if(C)if(wQ8(C))x=!1;else{let g=`/${W_(C)} isn't available over Remote Control.`;return{messages:[U8({content:f,uuid:O}),LQ(`<local-command-stdout>${g}</local-command-stdout>`)],shouldQuery:!1,resultText:g}}}let I=!W&&f!==null&&(K!=="prompt"||x||!f.startsWith("/"));g3("query_attachment_loading_start");let B=I?await bN8(nE6(f,z,$??null,[],A,j)):[];if(g3("query_attachment_loading_end"),f!==null&&K==="bash"){let{processBashCommand:p}=await Promise.resolve().then(() => (yoK(),NoK));return C$7(await p(f,G,B,z,_),Z)}if(f!==null&&!x&&f.startsWith("/")){let{processSlashCommand:p}=await Promise.resolve().then(() => (qx8(),eb8)),C=await p(f,G,R,B,z,_,O,w,H);return C$7(C,Z)}if(f!==null&&K==="prompt"){let p=f.trim(),C=B.find((g)=>g.attachment.type==="agent_mention");if(C){let g=`@agent-${C.attachment.agentType}`,F=p===g,U=p.startsWith(g)&&!F;d("tengu_subagent_at_mention",{is_subagent_only:F,is_prefix:U})}}return C$7(GoK(T,R,V,B,O,J,P),Z)}function C$7(q,K){if(K.length>0)q.messages.push(U8({content:K.map((_)=>({type:"text",text:_})),isMeta:!0}));return q}var S$7=1e4;var b$7=y(()=>{k8();i1();yA();lP();ww6();y$();RL();Ko();i1();MH6();IY7();ToK()});function HQY(){eK(0)}async function Vc8(q){let{helpers:K,queryGuard:_,isExternalLoading:z=!1,commands:Y,onInputChange:$,setPastedContents:A,setToolJSX:O,getToolUseContext:w,messages:j,mainLoopModel:H,ideSelection:J,setUserInputOnProcessing:M,setAbortController:X,onQuery:P,setAppState:W,onBeforeQuery:D,canUseTool:f,queuedCommands:G,uuid:Z,skipSlashCommands:T}=q,{setCursorOffset:v,clearBuffer:V,resetHistory:E}=K;if(G?.length){O18(),await LoK({queuedCommands:G,messages:j,mainLoopModel:H,ideSelection:J,querySource:q.querySource,commands:Y,queryGuard:_,setToolJSX:O,getToolUseContext:w,setUserInputOnProcessing:M,setAbortController:X,onQuery:P,setAppState:W,onBeforeQuery:D,resetHistory:E,canUseTool:f,onInputChange:$});return}let S=q.input??"",R=q.mode??"prompt",x=q.pastedContents??{},I=new Set(Od(S).map((K6)=>K6.id)),B=Object.fromEntries(Object.entries(x).filter(([,K6])=>K6.type!=="image"||I.has(K6.id))),p=Object.values(B).some(vH6);if(S.trim()==="")return;if(!T&&["exit","quit",":q",":q!",":wq",":wq!"].includes(S.trim())){if(Y.find((t)=>t.name==="exit"))Vc8({...q,input:"/exit"});else HQY();return}let C=Ch6(S,B),g=Od(S).filter((K6)=>B[K6.id]?.type==="text"),F=g.length,U=g.reduce((K6,t)=>K6+(B[t.id]?.content.length??0),0);if(d("tengu_paste_text",{pastedTextCount:F,pastedTextBytes:U}),!T&&C.trim().startsWith("/")){let K6=C.trim(),t=K6.indexOf(" "),q6=t===-1?K6.slice(1):K6.slice(1,t),e=t===-1?"":K6.slice(t+1).trim(),i=Y.find(($6)=>$6.immediate&&vs($6)&&($6.name===q6||$6.aliases?.includes(q6)||W_($6)===q6));if(i&&i.type==="local-jsx"&&(_.isActive||z)){d("tengu_immediate_command_executed",{commandName:i.name}),$(""),v(0),A({}),V();let $6=w(j,[],P3(),H),M6=!1,j6=(o,s)=>{if(M6=!0,O({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0}),o&&s?.display!=="skip"&&q.addNotification)q.addNotification({key:`immediate-${i.name}`,text:o,priority:"immediate"});if(s?.nextInput)if(s.submitNextInput)jM({value:s.nextInput,mode:"prompt"});else $(s.nextInput)},w6=await(await i.load()).call(j6,$6,e);if(w6&&!M6)O({jsx:w6,shouldHidePromptInput:!1,isLocalJSXCommand:!0,isImmediate:!0});return}}if(_.isActive||z){if(R!=="prompt"&&R!=="bash")return;if(q.hasInterruptibleToolInProgress)N(`[interrupt] Aborting current turn: streamMode=${q.streamMode}`),d("tengu_cancel",{source:"interrupt_on_submit",streamMode:q.streamMode}),q.abortController?.abort("interrupt");jM({value:C.trim(),preExpansionValue:S.trim(),mode:R,pastedContents:p?B:void 0,skipSlashCommands:T,uuid:Z}),$(""),v(0),A({}),E(),V();return}O18(),await LoK({queuedCommands:[{value:C,preExpansionValue:S,mode:R,pastedContents:p?B:void 0,skipSlashCommands:T,uuid:Z}],messages:j,mainLoopModel:H,ideSelection:J,querySource:q.querySource,commands:Y,queryGuard:_,setToolJSX:O,getToolUseContext:w,setUserInputOnProcessing:M,setAbortController:X,onQuery:P,setAppState:W,onBeforeQuery:D,resetHistory:E,canUseTool:f,onInputChange:$})}async function LoK(q){let{messages:K,mainLoopModel:_,ideSelection:z,querySource:Y,queryGuard:$,setToolJSX:A,getToolUseContext:O,setUserInputOnProcessing:w,setAbortController:j,onQuery:H,setAppState:J,onBeforeQuery:M,resetHistory:X,canUseTool:P,queuedCommands:W}=q,D=P3();j(D);function f(){return O(K,[],D,_)}try{$.reserve(),g3("query_process_user_input_start");let G=[],Z=!1,T,v,V,E,S,R=W??[],x=R[0]?.workload,I=x!==void 0&&R.every((B)=>B.workload===x)?x:void 0;await hD8(I,async()=>{for(let B=0;B<R.length;B++){let p=R[B],C=B===0,g=await kc8({input:p.value,preExpansionInput:p.preExpansionValue,mode:p.mode,setToolJSX:A,context:f(),pastedContents:C?p.pastedContents:void 0,messages:K,setUserInputOnProcessing:C?w:void 0,isAlreadyProcessing:!C,querySource:Y,canUseTool:P,uuid:p.uuid,ideSelection:C?z:void 0,skipSlashCommands:p.skipSlashCommands,bridgeOrigin:p.bridgeOrigin,isMeta:p.isMeta,skipAttachments:!C}),F=p.origin??(p.mode==="task-notification"?{kind:"task-notification"}:void 0);if(F){for(let U of g.messages)if(U.type==="user")U.origin=F}if(G.push(...g.messages),C)Z=g.shouldQuery,T=g.allowedTools,v=g.model,V=g.effort,E=g.nextInput,S=g.submitNextInput}if(g3("query_process_user_input_end"),e$())g3("query_file_history_snapshot_start"),G.filter(xJ6).forEach((B)=>{aE6((p)=>{J((C)=>({...C,fileHistory:p(C.fileHistory)}))},B.uuid)}),g3("query_file_history_snapshot_end");if(G.length){X(),A({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0});let B=R[0],p=B?.mode??"prompt",C=B&&typeof B.value==="string"?B.value:void 0,g=p==="prompt";await H(G,D,Z,T??[],v?cF6(v,_):_,g?M:void 0,C,V)}else $.cancelReservation(),A({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0}),X(),j(null);if(E)if(S)jM({value:E,mode:"prompt"});else q.onInputChange(E)})}finally{$.cancelReservation(),w(void 0)}}var RoK=y(()=>{k8();yA();Md8();Ib();B2();_8();oN();RA();p2();aq();b$7();MH6();D$6()});function hoK(q){if(typeof q.value==="string")return q.value.trim().startsWith("/");for(let K of q.value)if(K.type==="text")return K.text.trim().startsWith("/");return!1}function SoK({executeInput:q}){let K=($)=>$.agentId===void 0,_=YV6(K);if(!_)return{processed:!1};if(hoK(_)||_.mode==="bash"){let $=xr6(K);return q([$]),{processed:!0}}let z=_.mode,Y=$V6(($)=>K($)&&!hoK($)&&$.mode===z);if(Y.length===0)return{processed:!1};return q(Y),{processed:!0}}var CoK=y(()=>{p2()});function boK({executeQueuedInput:q,hasActiveLocalJsxUI:K,queryGuard:_}){let z=B48.useSyncExternalStore(_.subscribe,_.getSnapshot),Y=B48.useSyncExternalStore(zV6,XV8);B48.useEffect(()=>{if(z)return;if(K)return;if(Y.length===0)return;SoK({executeInput:q})},[Y,z,q,K,_])}var B48;var xoK=y(()=>{p2();CoK();B48=O6(D6(),1)});function IoK({isLoading:q,onSubmitMessage:K}){let _=q74(),z=z36.useMemo(()=>_.subscribe.bind(_),[_]),Y=z36.useCallback(()=>_.revision,[_]),$=z36.useSyncExternalStore(z,Y);z36.useEffect(()=>{if(q)return;let A=_.poll();if(A)K(A.content)},[q,$,_,K])}var z36;var uoK=y(()=>{yL1();z36=O6(D6(),1)});function Nc8(q,K){if(q&&K&&K.length>0)return u2([...q,...K],"name");return q||[]}function poK(q,K){return moK.useMemo(()=>Nc8(q,K),[q,K])}var moK;var BoK=y(()=>{Fu();moK=O6(D6(),1)});function x$7(q,K){return goK.useMemo(()=>{if(K.length>0)return u2([...q,...K],"name");return q},[q,K])}var goK;var FoK=y(()=>{Fu();goK=O6(D6(),1)});import*as AM6 from"path";async function DQY(){if(u$7||m$7)return;if(u$7=!0,!UoK)UoK=!0,FYK(()=>{bq8(),U48.emit()});let q=await ZQY();if(q.length===0)return;N(`Watching for changes in skill/command directories: ${q.join(", ")}...`),cd=di.watch(q,{persistent:!0,ignoreInitial:!0,depth:2,awaitWriteFinish:{stabilityThreshold:F48?.stabilityThreshold??JQY,pollInterval:F48?.pollInterval??MQY},ignored:(K,_)=>{if(_&&!_.isFile()&&!_.isDirectory())return!0;return K.split(AM6.sep).some((z)=>z===".git")},ignorePermissionErrors:!0,usePolling:WQY,interval:F48?.chokidarInterval??PQY,atomic:!0}),cd.on("add",I$7),cd.on("change",I$7),cd.on("unlink",I$7),yc8=pq(async()=>{await QoK()})}function QoK(){if(m$7=!0,yc8)yc8(),yc8=null;let q=Promise.resolve();if(cd)q=cd.close(),cd=null;if(ld)clearTimeout(ld),ld=null;return g48.clear(),U48.clear(),q}async function ZQY(){let q=X8(),K=[],_=VK6("userSettings","skills");if(_)try{await q.stat(_),K.push(_)}catch{}let z=VK6("userSettings","commands");if(z)try{await q.stat(z),K.push(z)}catch{}let Y=VK6("projectSettings","skills");if(Y)try{let A=AM6.resolve(Y);await q.stat(A),K.push(A)}catch{}let $=VK6("projectSettings","commands");if($)try{let A=AM6.resolve($);await q.stat(A),K.push(A)}catch{}for(let A of NZ()){let O=AM6.join(A,".claude","skills");try{await q.stat(O),K.push(O)}catch{}}return K}function I$7(q){N(`Detected skill change: ${q}`),d("tengu_skill_file_changed",{source:"chokidar"}),GQY(q)}function GQY(q){if(g48.add(q),ld)clearTimeout(ld);ld=setTimeout(async()=>{ld=null;let K=[...g48];g48.clear();let _=await qv6("skills",K[0]);if(eT6(_)){N(`ConfigChange hook blocked skill reload (${K.length} paths)`);return}oI8(),tQ(),$h6(),U48.emit()},F48?.reloadDebounce??XQY)}async function TQY(q){if(cd)await cd.close(),cd=null;if(ld)clearTimeout(ld),ld=null;g48.clear(),U48.clear(),u$7=!1,m$7=!1,F48=q??null}var JQY=1000,MQY=500,XQY=300,PQY=2000,WQY,cd=null,ld=null,g48,u$7=!1,m$7=!1,UoK=!1,yc8=null,U48,F48=null,fQY,RC6;var Ec8=y(()=>{sT6();v8();yA();k8();Ga();lP();c9();_8();e7();y$();WQY=typeof Bun<"u",g48=new Set,U48=Dz();fQY=U48.subscribe;RC6={initialize:DQY,dispose:QoK,subscribe:fQY,resetForTesting:TQY}});function doK(q,K){let _=hC6.useCallback(async()=>{if(!q)return;try{tQ();let Y=await u0(q);K(Y)}catch(Y){if(Y instanceof Error)H6(Y)}},[q,K]);hC6.useEffect(()=>RC6.subscribe(_),[_]);let z=hC6.useCallback(async()=>{if(!q)return;try{bq8();let Y=await u0(q);K(Y)}catch(Y){if(Y instanceof Error)H6(Y)}},[q,K]);hC6.useEffect(()=>Nc6(z),[z])}var hC6;var coK=y(()=>{yA();o1();E8();Ec8();hC6=O6(D6(),1)});function vQY(q,K,_){let z=new Set(K.plugins.map((A)=>A.name)),Y=`@${_}`,$=[];for(let A of Object.keys(q.plugins)){if(!A.endsWith(Y))continue;let O=A.slice(0,-Y.length);if(!z.has(O))$.push(A)}return $}async function Lc8(){await vyK();let q=cX(),K=KS6(),_=await eK6(),z=[];for(let Y of Object.keys(_))try{let $=await r0(Y);if(!$.forceRemoveDeletedPlugins)continue;let A=vQY(q,$,Y);for(let O of A){if(O in K)continue;let w=q.plugins[O]??[];if(!w.some((H)=>H.scope==="user"||H.scope==="project"||H.scope==="local"))continue;for(let H of w){let{scope:J}=H;if(J!=="user"&&J!=="project"&&J!=="local")continue;try{await _s(O,J)}catch(M){N(`Failed to auto-uninstall delisted plugin ${O} from ${J}: ${d6(M)}`,{level:"error"})}}await kyK(O),z.push(O)}}catch($){N(`Failed to check for delisted plugins in "${Y}": ${d6($)}`,{level:"warn"})}return z}var p$7=y(()=>{qS6();_8();y8();pX();Nw();ZF8()});function Rc8({enabled:q=!0}={}){let K=s7(),_=P8(($)=>$.plugins.needsRefresh),{addNotification:z}=PK(),Y=Q48.useCallback(async()=>{try{let{enabled:$,disabled:A,errors:O}=await LM();await Lc8();let w=KS6();if(Object.keys(w).length>0)z({key:"plugin-delisted-flagged",text:"Plugins flagged. Check /plugins",color:"warning",priority:"high"});let j=[],H=[];try{j=await kH6()}catch(D){let f=D instanceof Error?D.message:String(D);O.push({type:"generic-error",source:"plugin-commands",error:`Failed to load plugin commands: ${f}`})}try{H=await Ui6()}catch(D){let f=D instanceof Error?D.message:String(D);O.push({type:"generic-error",source:"plugin-agents",error:`Failed to load plugin agents: ${f}`})}try{await IQ()}catch(D){let f=D instanceof Error?D.message:String(D);O.push({type:"generic-error",source:"plugin-hooks",error:`Failed to load plugin hooks: ${f}`})}let M=(await Promise.all($.map(async(D)=>{if(D.mcpServers)return Object.keys(D.mcpServers).length;let f=await Cq6(D,O);if(f)D.mcpServers=f;return f?Object.keys(f).length:0}))).reduce((D,f)=>D+f,0),P=(await Promise.all($.map(async(D)=>{if(D.lspServers)return Object.keys(D.lspServers).length;let f=await v68(D,O);if(f)D.lspServers=f;return f?Object.keys(f).length:0}))).reduce((D,f)=>D+f,0);YI8(),K((D)=>{let f=D.plugins.errors.filter((v)=>v.source==="lsp-manager"||v.source.startsWith("plugin:")),G=new Set(O.map((v)=>v.type==="generic-error"?`generic-error:${v.source}:${v.error}`:`${v.type}:${v.source}`)),T=[...f.filter((v)=>{let V=v.type==="generic-error"?`generic-error:${v.source}:${v.error}`:`${v.type}:${v.source}`;return!G.has(V)}),...O];return{...D,plugins:{...D.plugins,enabled:$,disabled:A,commands:j,errors:T}}}),N(`Loaded plugins - Enabled: ${$.length}, Disabled: ${A.length}, Commands: ${j.length}, Agents: ${H.length}, Errors: ${O.length}`);let W=$.reduce((D,f)=>{if(!f.hooksConfig)return D;return D+Object.values(f.hooksConfig).reduce((G,Z)=>G+(Z?.reduce((T,v)=>T+v.hooks.length,0)??0),0)},0);return{enabled_count:$.length,disabled_count:A.length,inline_count:$7($,(D)=>D.source.endsWith("@inline")),marketplace_count:$7($,(D)=>!D.source.endsWith("@inline")),error_count:O.length,skill_count:j.length,agent_count:H.length,hook_count:W,mcp_count:M,lsp_count:P,ant_enabled_names:void 0}}catch($){let A=x1($);return H6(A),N(`Error loading plugins: ${$}`),K((O)=>{let w=O.plugins.errors.filter((H)=>H.source==="lsp-manager"||H.source.startsWith("plugin:")),j={type:"generic-error",source:"plugin-system",error:A.message};return{...O,plugins:{...O.plugins,enabled:[],disabled:[],commands:[],errors:[...w,j]}}}),{enabled_count:0,disabled_count:0,inline_count:0,marketplace_count:0,error_count:1,skill_count:0,agent_count:0,hook_count:0,mcp_count:0,lsp_count:0,load_failed:!0,ant_enabled_names:void 0}}},[K,z]);Q48.useEffect(()=>{if(!q)return;Y().then(($)=>{let{ant_enabled_names:A,...O}=$,w={...O,has_custom_plugin_cache_dir:!!process.env.CLAUDE_CODE_PLUGIN_CACHE_DIR};d("tengu_plugins_loaded",{...w,...A!==void 0&&{enabled_names:A}}),c8("info","tengu_plugins_loaded",w)})},[Y,q]),Q48.useEffect(()=>{if(!q||!_)return;z({key:"plugin-reload-pending",text:"Plugins changed. Run /reload-plugins to activate.",color:"suggestion",priority:"low"})},[q,_,z])}var Q48;var B$7=y(()=>{h$();k8();uQ();C7();_8();oY();y8();E8();Hk8();L18();Nj6();dx8();AN6();p$7();ZF8();bj();Q48=O6(D6(),1)});function loK(){let q=z6(14),K=P8(kQY);if(!K)return null;let _;if(q[0]!==K.identity.color)_=R0(K.identity.color),q[0]=K.identity.color,q[1]=_;else _=q[1];let z=_,Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))Y=fZ.createElement(k,null,"Viewing "),q[2]=Y;else Y=q[2];let $;if(q[3]!==z||q[4]!==K.identity.agentName)$=fZ.createElement(k,{color:z,bold:!0},"@",K.identity.agentName),q[3]=z,q[4]=K.identity.agentName,q[5]=$;else $=q[5];let A;if(q[6]===Symbol.for("react.memo_cache_sentinel"))A=fZ.createElement(k,{dimColor:!0}," · ",fZ.createElement(t8,{shortcut:"esc",action:"return"})),q[6]=A;else A=q[6];let O;if(q[7]!==$)O=fZ.createElement(u,null,Y,$,A),q[7]=$,q[8]=O;else O=q[8];let w;if(q[9]!==K.prompt)w=fZ.createElement(k,{dimColor:!0},K.prompt),q[9]=K.prompt,q[10]=w;else w=q[10];let j;if(q[11]!==O||q[12]!==w)j=fZ.createElement(I0,null,fZ.createElement(u,{flexDirection:"column",marginBottom:1},O,w)),q[11]=O,q[12]=w,q[13]=j;else j=q[13];return j}function kQY(q){return Bm(q)}var fZ;var noK=y(()=>{q8();s6();C7();bE6();Fo();rK();$K6();fZ=O6(D6(),1)});function ioK(q,K){let _=d48.useRef(!1),z=d48.useRef(null);d48.useEffect(()=>{let Y=SN(q);if(z.current!==(Y??null))_.current=!1,z.current=Y||null,K({lineCount:0,lineStart:void 0,text:void 0,filePath:void 0});if(_.current||!Y)return;let $=(A)=>{if(A.selection?.start&&A.selection?.end){let{start:O,end:w}=A.selection,j=w.line-O.line+1;if(w.character===0)j--;let H={lineCount:j,lineStart:O.line,text:A.text,filePath:A.filePath};K(H)}};Y.client.setNotificationHandler(VQY(),(A)=>{if(z.current!==Y)return;try{let O=A.params;if(O.selection&&O.selection.start&&O.selection.end)$(O);else if(O.text!==void 0)$({selection:null,text:O.text,filePath:O.filePath})}catch(O){H6(O)}}),_.current=!0},[q,K])}var d48,VQY;var roK=y(()=>{E8();x7();U2();d48=O6(D6(),1),VQY=B6(()=>L.object({method:L.literal("selection_changed"),params:L.object({selection:L.object({start:L.object({line:L.number(),character:L.number()}),end:L.object({line:L.number(),character:L.number()})}).nullable().optional(),text:L.string().optional(),filePath:L.string().optional()})}))});var toK={};T8(toK,{renameRecordingForSession:()=>l48,installAsciicastRecorder:()=>SQY,getSessionRecordingPaths:()=>RQY,getRecordFilePath:()=>soK,flushAsciicastRecorder:()=>hQY,_resetRecordingStateForTesting:()=>LQY});import{appendFile as NQY,rename as yQY}from"fs/promises";import{basename as ooK,dirname as EQY,join as ls}from"path";function soK(){if(SR.filePath!==null)return SR.filePath;return null}function LQY(){SR.filePath=null,SR.timestamp=0}function RQY(){let q=N8(),K=ls(c1(),"projects"),_=ls(K,JP(r1()));try{let z=X8().readdirSync(_);return(typeof z[0]==="string"?z:z.map((A)=>A.name)).filter((A)=>A.startsWith(q)&&A.endsWith(".cast")).sort().map((A)=>ls(_,A))}catch{return[]}}async function l48(){let q=SR.filePath;if(!q||SR.timestamp===0)return;let K=ls(c1(),"projects"),_=ls(K,JP(r1())),z=ls(_,`${N8()}-${SR.timestamp}.cast`);if(q===z)return;await c48?.flush();let Y=ooK(q),$=ooK(z);try{await yQY(q,z),SR.filePath=z,N(`[asciicast] Renamed recording: ${Y} → ${$}`)}catch{N(`[asciicast] Failed to rename recording from ${Y} to ${$}`)}}function aoK(){let q=process.stdout.columns||80,K=process.stdout.rows||24;return{cols:q,rows:K}}async function hQY(){await c48?.flush()}function SQY(){let q=soK();if(!q)return;let{cols:K,rows:_}=aoK(),z=performance.now(),Y=g6({version:2,width:K,height:_,timestamp:Math.floor(Date.now()/1000),env:{SHELL:process.env.SHELL||"",TERM:process.env.TERM||""}});try{X8().mkdirSync(EQY(q))}catch{}X8().appendFileSync(q,Y+`

Callers

nothing calls this directly

Calls 1

qFunction · 0.70

Tested by

no test coverage detected