({toolUseConfirm:q,onDone:K,onReject:_,workerBadge:z,setStickyFooter:Y})
| 8010 | |
| 8011 | Explain this command in context.`,j=D5(),H=await CN({model:j,system:KmY,messages:[{role:"user",content:w}],tools:[_mY],tool_choice:{type:"tool",name:"explain_command"},signal:Y,querySource:"permission_explainer"}),J=Date.now()-$;N(`Permission explainer: API returned in ${J}ms, stop_reason=${H.stop_reason}`);let M=H.content.find((X)=>X.type==="tool_use");if(M&&M.type==="tool_use"){N(`Permission explainer: tool input: ${g6(M.input).slice(0,500)}`);let X=zmY().safeParse(M.input);if(X.success){let P={riskLevel:X.data.riskLevel,explanation:X.data.explanation,reasoning:X.data.reasoning,risk:X.data.risk};return d("tengu_permission_explainer_generated",{tool_name:wK(q),risk_level:suY[P.riskLevel],latency_ms:J}),N(`Permission explainer: ${P.riskLevel} risk for ${q} (${J}ms)`),P}}return d("tengu_permission_explainer_error",{tool_name:wK(q),error_type:tuY,latency_ms:J}),N("Permission explainer: no parsed output in response"),null}catch(A){let O=Date.now()-$;if(Y.aborted)return N(`Permission explainer: request aborted for ${q}`),null;return N(`Permission explainer error: ${d6(A)}`),H6(A),d("tengu_permission_explainer_error",{tool_name:wK(q),error_type:A instanceof Error&&A.name==="AbortError"?euY:qmY,latency_ms:O}),null}}var suY,tuY=1,euY=2,qmY=3,KmY="Analyze shell commands and explain what they do, why you're running them, and potential risks.",_mY,zmY;var kdK=y(()=>{x7();k8();kj();V1();_8();y8();E8();aq();nq6();l8();suY={LOW:1,MEDIUM:2,HIGH:3},_mY={name:"explain_command",description:"Provide an explanation of a shell command",input_schema:{type:"object",properties:{explanation:{type:"string",description:"What this command does (1-2 sentences)"},reasoning:{type:"string",description:'Why YOU are running this command. Start with "I" - e.g. "I need to check the file contents"'},risk:{type:"string",description:"What could go wrong, under 15 words"},riskLevel:{type:"string",enum:["LOW","MEDIUM","HIGH"],description:"LOW (safe dev workflows), MEDIUM (recoverable changes), HIGH (dangerous/irreversible)"}},required:["explanation","reasoning","risk","riskLevel"]}},zmY=B6(()=>L.object({riskLevel:L.enum(["LOW","MEDIUM","HIGH"]),explanation:L.string(),reasoning:L.string(),risk:L.string()}))});function AmY(){let q=z6(7),[K,_]=LC8("responding",VdK,!1),z;if(q[0]!==_)z=VdK.split("").map((A,O)=>t2.default.createElement(AE6,{key:O,char:A,index:O,glimmerIndex:_,messageColor:"inactive",shimmerColor:"text"})),q[0]=_,q[1]=z;else z=q[1];let Y;if(q[2]!==z)Y=t2.default.createElement(k,null,z),q[2]=z,q[3]=Y;else Y=q[3];let $;if(q[4]!==K||q[5]!==Y)$=t2.default.createElement(u,{ref:K},Y),q[4]=K,q[5]=Y,q[6]=$;else $=q[6];return $}function OmY(q){switch(q){case"LOW":return"success";case"MEDIUM":return"warning";case"HIGH":return"error"}}function wmY(q){switch(q){case"LOW":return"Low risk";case"MEDIUM":return"Med risk";case"HIGH":return"High risk"}}function jmY(q){return vdK({toolName:q.toolName,toolInput:q.toolInput,toolDescription:q.toolDescription,messages:q.messages,signal:new AbortController().signal}).catch(()=>null)}function Zd8(q){let K=z6(9),_;if(K[0]===Symbol.for("react.memo_cache_sentinel"))_=Fz7(),K[0]=_;else _=K[0];let z=_,[Y,$]=t2.useState(!1),[A,O]=t2.useState(null),w;if(K[1]!==A||K[2]!==q||K[3]!==Y)w=()=>{if(!Y){if(d("tengu_permission_explainer_shortcut_used",{}),!A)O(jmY(q))}$(HmY)},K[1]=A,K[2]=q,K[3]=Y,K[4]=w;else w=K[4];let j;if(K[5]===Symbol.for("react.memo_cache_sentinel"))j={context:"Confirmation",isActive:z},K[5]=j;else j=K[5];P1("confirm:toggleExplanation",w,j);let H;if(K[6]!==A||K[7]!==Y)H={visible:Y,enabled:z,promise:A},K[6]=A,K[7]=Y,K[8]=H;else H=K[8];return H}function HmY(q){return!q}function JmY(q){let K=z6(21),{promise:_}=q,z=t2.use(_);if(!z){let M;if(K[0]===Symbol.for("react.memo_cache_sentinel"))M=t2.default.createElement(u,{marginTop:1},t2.default.createElement(k,{dimColor:!0},"Explanation unavailable")),K[0]=M;else M=K[0];return M}let Y;if(K[1]!==z.explanation)Y=t2.default.createElement(k,null,z.explanation),K[1]=z.explanation,K[2]=Y;else Y=K[2];let $;if(K[3]!==z.reasoning)$=t2.default.createElement(u,{marginTop:1},t2.default.createElement(k,null,z.reasoning)),K[3]=z.reasoning,K[4]=$;else $=K[4];let A;if(K[5]!==z.riskLevel)A=OmY(z.riskLevel),K[5]=z.riskLevel,K[6]=A;else A=K[6];let O;if(K[7]!==z.riskLevel)O=wmY(z.riskLevel),K[7]=z.riskLevel,K[8]=O;else O=K[8];let w;if(K[9]!==A||K[10]!==O)w=t2.default.createElement(k,{color:A},O,":"),K[9]=A,K[10]=O,K[11]=w;else w=K[11];let j;if(K[12]!==z.risk)j=t2.default.createElement(k,null," ",z.risk),K[12]=z.risk,K[13]=j;else j=K[13];let H;if(K[14]!==w||K[15]!==j)H=t2.default.createElement(u,{marginTop:1},t2.default.createElement(k,null,w,j)),K[14]=w,K[15]=j,K[16]=H;else H=K[16];let J;if(K[17]!==Y||K[18]!==$||K[19]!==H)J=t2.default.createElement(u,{flexDirection:"column",marginTop:1},Y,$,H),K[17]=Y,K[18]=$,K[19]=H,K[20]=J;else J=K[20];return J}function Gd8(q){let K=z6(3),{visible:_,promise:z}=q;if(!_||!z)return null;let Y;if(K[0]===Symbol.for("react.memo_cache_sentinel"))Y=t2.default.createElement(u,{marginTop:1},t2.default.createElement(AmY,null)),K[0]=Y;else Y=K[0];let $;if(K[1]!==z)$=t2.default.createElement(t2.Suspense,{fallback:Y},t2.default.createElement(JmY,{promise:z})),K[1]=z,K[2]=$;else $=K[2];return $}var t2,VdK="Loading explanation…";var Uz7=y(()=>{q8();s6();Oq();k8();kdK();$e6();RC8();t2=O6(D6(),1)});function Td8(q){let K=z6(7),_;if(K[0]!==q.edits||K[1]!==q.file_path)_=()=>XmY(q.file_path,q.edits),K[0]=q.edits,K[1]=q.file_path,K[2]=_;else _=K[2];let[z]=MC6.useState(_),Y;if(K[3]===Symbol.for("react.memo_cache_sentinel"))Y=XZ.createElement(ydK,{placeholder:!0}),K[3]=Y;else Y=K[3];let $;if(K[4]!==z||K[5]!==q.file_path)$=XZ.createElement(MC6.Suspense,{fallback:Y},XZ.createElement(MmY,{promise:z,file_path:q.file_path})),K[4]=z,K[5]=q.file_path,K[6]=$;else $=K[6];return $}function MmY(q){let K=z6(6),{promise:_,file_path:z}=q,{patch:Y,firstLine:$,fileContent:A}=MC6.use(_),{columns:O}=t1(),w;if(K[0]!==O||K[1]!==A||K[2]!==z||K[3]!==$||K[4]!==Y)w=XZ.createElement(ydK,null,XZ.createElement(lL6,{hunks:Y,dim:!1,width:O,filePath:z,firstLine:$,fileContent:A})),K[0]=O,K[1]=A,K[2]=z,K[3]=$,K[4]=Y,K[5]=w;else w=K[5];return w}function ydK(q){let K=z6(5),{children:_,placeholder:z}=q,Y;if(K[0]!==_||K[1]!==z)Y=z?XZ.createElement(k,{dimColor:!0},"…"):_,K[0]=_,K[1]=z,K[2]=Y;else Y=K[2];let $;if(K[3]!==Y)$=XZ.createElement(u,{flexDirection:"column"},XZ.createElement(u,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1},Y)),K[3]=Y,K[4]=$;else $=K[4];return $}async function XmY(q,K){let _=K.filter((Y)=>Y.old_string!=null&&Y.new_string!=null),z=_.length===1?_[0]:void 0;if(z&&z.old_string.length>=EK6)return M48(q,[z]);try{let Y=await q88(q);if(Y===null)return M48(q,_);try{if(!z||z.old_string===""){let w=await fu8(Y);if(w===null)return M48(q,_);let j=_.map((H)=>NdK(w,H));return{patch:_y({filePath:q,fileContents:w,edits:j}),firstLine:ce(w),fileContent:w}}let $=await ks1(Y,z.old_string,dL6);if($.truncated||$.content==="")return M48(q,[z]);let A=NdK($.content,z),O=_y({filePath:q,fileContents:$.content,edits:[A]});return{patch:Ku8(O,$.lineOffset-1),firstLine:$.lineOffset===1?ce($.content):null,fileContent:$.content}}finally{await Y.close()}}catch(Y){return H6(Y),M48(q,_)}}function M48(q,K){return{patch:K.flatMap((_)=>_y({filePath:q,fileContents:_.old_string,edits:[_]})),firstLine:null,fileContent:void 0}}function NdK(q,K){let _=Fj6(q,K.old_string)||K.old_string,z=nL6(K.old_string,_,K.new_string);return{...K,old_string:_,new_string:z}}var XZ,MC6;var Qz7=y(()=>{q8();t4();s6();Uj6();BQ();E8();Zu8();Xu8();XZ=O6(D6(),1),MC6=O6(D6(),1)});import{randomUUID as PmY}from"crypto";import{basename as WmY}from"path";function EdK({onChange:q,toolUseContext:K,filePath:_,edits:z,editMode:Y}){let $=xs.useRef(!1),[A,O]=xs.useState(!1),w=xs.useMemo(()=>PmY().slice(0,6),[]),j=xs.useMemo(()=>`✻ [Claude Code] ${WmY(_)} (${w}) ⧉`,[_,w]),H=EE8(K.options.mcpClients)&&j8().diffTool==="auto"&&!_.endsWith(".ipynb"),J=LE8(K.options.mcpClients)??"IDE";async function M(){if(!H)return;try{d("tengu_ext_will_show_diff",{});let{oldContent:X,newContent:P}=await fmY(_,z,K,j);if($.current)return;d("tengu_ext_diff_accepted",{});let W=DmY(_,X,P,Y);if(W.length===0){d("tengu_ext_diff_rejected",{});let D=SN(K.options.mcpClients);if(D)await dz7(j,D);q({type:"reject"},{file_path:_,edits:z});return}q({type:"accept-once"},{file_path:_,edits:W})}catch(X){H6(X),O(!0)}}return xs.useEffect(()=>{return M(),()=>{$.current=!0}},[]),{closeTabInIDE(){let X=SN(K.options.mcpClients);if(!X)return Promise.resolve();return dz7(j,X)},showingDiffInIDE:H&&!A,ideName:J,hasError:A}}function DmY(q,K,_,z){let Y=z==="single",$=_u8({filePath:q,oldContent:K,newContent:_,singleHunk:Y});if($.length===0)return[];if(Y&&$.length>1)H6(Error(`Unexpected number of hunks: ${$.length}. Expected 1 hunk.`));return B$K($)}async function fmY(q,K,_,z){let Y=!1,$=lq(q),A="";try{A=xZ($)}catch(j){if(!_7(j))throw j}async function O(){if(Y)return;Y=!0;try{await dz7(z,w)}catch(j){H6(j)}process.off("beforeExit",O),_.abortController.signal.removeEventListener("abort",O)}_.abortController.signal.addEventListener("abort",O),process.on("beforeExit",O);let w=SN(_.options.mcpClients);try{let{updatedFile:j}=K88({filePath:$,fileContents:A,edits:K});if(!w||w.type!=="connected")throw Error("IDE client not available");let H=$,J=w.config.ideRunningInWindows===!0;if(Z1()==="wsl"&&J&&process.env.WSL_DISTRO_NAME)H=new GN6(process.env.WSL_DISTRO_NAME).toIDEPath($);let M=await zm("openDiff",{old_file_path:H,new_file_path:H,new_file_contents:j,tab_name:z},w),X=Array.isArray(M)?M:[M];if(TmY(X))return O(),{oldContent:A,newContent:X[1].text};else if(ZmY(X))return O(),{oldContent:A,newContent:j};else if(GmY(X))return O(),{oldContent:A,newContent:A};throw Error("Not accepted")}catch(j){throw H6(j),O(),j}}async function dz7(q,K){try{if(!K||K.type!=="connected")throw Error("IDE client not available");await zm("close_tab",{tab_name:q},K)}catch(_){H6(_)}}function ZmY(q){return Array.isArray(q)&&typeof q[0]==="object"&&q[0]!==null&&"type"in q[0]&&q[0].type==="text"&&"text"in q[0]&&q[0].text==="TAB_CLOSED"}function GmY(q){return Array.isArray(q)&&typeof q[0]==="object"&&q[0]!==null&&"type"in q[0]&&q[0].type==="text"&&"text"in q[0]&&q[0].text==="DIFF_REJECTED"}function TmY(q){return Array.isArray(q)&&q[0]?.type==="text"&&q[0].text==="FILE_SAVED"&&typeof q[1].text==="string"}var xs;var LdK=y(()=>{k8();ZE();dz();Uj6();V1();BQ();y8();U2();aB1();E8();vK();xs=O6(D6(),1)});import{basename as vmY,relative as kmY}from"path";function RdK(q){let K=z6(36),{onChange:_,options:z,input:Y,filePath:$,ideName:A,symlinkTarget:O,rejectFeedback:w,acceptFeedback:j,setFocusedOption:H,onInputModeToggle:J,focusedOption:M,yesInputMode:X,noInputMode:P}=q,W;if(K[0]!==A)W=eb.default.createElement(k,{bold:!0,color:"permission"},"Opened changes in ",A," ⧉"),K[0]=A,K[1]=W;else W=K[1];let D;if(K[2]!==O)D=O&&eb.default.createElement(k,{color:"warning"},kmY(Z8(),O).startsWith("..")?`This will modify ${O} (outside working directory) via a symlink`:`Symlink target: ${O}`),K[2]=O,K[3]=D;else D=K[3];let f;if(K[4]===Symbol.for("react.memo_cache_sentinel"))f=Ta6()&&eb.default.createElement(k,{dimColor:!0},"Save file to continue…"),K[4]=f;else f=K[4];let G;if(K[5]!==$)G=vmY($),K[5]=$,K[6]=G;else G=K[6];let Z;if(K[7]!==G)Z=eb.default.createElement(k,null,"Do you want to make this edit to"," ",eb.default.createElement(k,{bold:!0},G),"?"),K[7]=G,K[8]=Z;else Z=K[8];let T;if(K[9]!==j||K[10]!==Y||K[11]!==_||K[12]!==z||K[13]!==w)T=(B)=>{let p=z.find((C)=>C.value===B);if(p){if(p.option.type==="reject"){let C=w.trim();_(p.option,Y,C||void 0);return}if(p.option.type==="accept-once"){let C=j.trim();_(p.option,Y,C||void 0);return}_(p.option,Y)}},K[9]=j,K[10]=Y,K[11]=_,K[12]=z,K[13]=w,K[14]=T;else T=K[14];let v;if(K[15]!==Y||K[16]!==_)v=()=>_({type:"reject"},Y),K[15]=Y,K[16]=_,K[17]=v;else v=K[17];let V;if(K[18]!==H)V=(B)=>H(B),K[18]=H,K[19]=V;else V=K[19];let E;if(K[20]!==J||K[21]!==z||K[22]!==T||K[23]!==v||K[24]!==V)E=eb.default.createElement(H1,{options:z,inlineDescriptions:!0,onChange:T,onCancel:v,onFocus:V,onInputModeToggle:J}),K[20]=J,K[21]=z,K[22]=T,K[23]=v,K[24]=V,K[25]=E;else E=K[25];let S;if(K[26]!==Z||K[27]!==E)S=eb.default.createElement(u,{flexDirection:"column"},Z,E),K[26]=Z,K[27]=E,K[28]=S;else S=K[28];let R=(M==="yes"&&!X||M==="no"&&!P)&&" · Tab to amend",x;if(K[29]!==R)x=eb.default.createElement(u,{marginTop:1},eb.default.createElement(k,{dimColor:!0},"Esc to cancel",R)),K[29]=R,K[30]=x;else x=K[30];let I;if(K[31]!==W||K[32]!==S||K[33]!==x||K[34]!==D)I=eb.default.createElement(Q_,{color:"permission"},eb.default.createElement(u,{flexDirection:"column",gap:1},W,D,f,S,x)),K[31]=W,K[32]=S,K[33]=x,K[34]=D,K[35]=I;else I=K[35];return I}var eb;var hdK=y(()=>{q8();s6();I7();U2();d_();pP();eb=O6(D6(),1)});import{homedir as VmY}from"os";import{basename as NmY,join as ymY,sep as SdK}from"path";function EmY(q){let K=lq(q),_=lq(`${r1()}/.claude`),z=oD(K),Y=oD(_);return z.startsWith(Y+SdK.toLowerCase())||z.startsWith(Y+"/")}function LmY(q){let K=lq(q),_=ymY(VmY(),".claude"),z=oD(K),Y=oD(_);return z.startsWith(Y+SdK.toLowerCase())||z.startsWith(Y+"/")}function CdK({filePath:q,toolPermissionContext:K,operationType:_="write",onRejectFeedbackChange:z,onAcceptFeedbackChange:Y,yesInputMode:$=!1,noInputMode:A=!1}){let O=[],w=RH("chat:cycleMode","Chat","shift+tab");if($&&Y)O.push({type:"input",label:"Yes",value:"yes",placeholder:"and tell Claude what to do next",onChange:Y,allowEmptySubmitToCancel:!0,option:{type:"accept-once"}});else O.push({label:"Yes",value:"yes",option:{type:"accept-once"}});let j=XL(q,K),H=EmY(q),J=LmY(q);if((H||J)&&_!=="read")O.push({label:"Yes, and allow Claude to edit its own settings for this session",value:"yes-claude-folder",option:{type:"accept-session",scope:J?"global-claude-folder":"claude-folder"}});else{let M;if(j)if(_==="read")M="Yes, during this session";else M=o56.default.createElement(k,null,"Yes, allow all edits during this session"," ",o56.default.createElement(k,{bold:!0},"(",w,")"));else{let X=IZ(q),P=NmY(X)||"this directory";if(_==="read")M=o56.default.createElement(k,null,"Yes, allow reading from ",o56.default.createElement(k,{bold:!0},P,"/")," during this session");else M=o56.default.createElement(k,null,"Yes, allow all edits in ",o56.default.createElement(k,{bold:!0},P,"/")," during this session ",o56.default.createElement(k,{bold:!0},"(",w,")"))}O.push({label:M,value:"yes-session",option:{type:"accept-session"}})}if(A&&z)O.push({type:"input",label:"No",value:"no",placeholder:"and tell Claude what to do differently",onChange:z,allowEmptySubmitToCancel:!0,option:{type:"reject"}});else O.push({label:"No",value:"no",option:{type:"reject"}});return O}var o56;var bdK=y(()=>{v8();s6();tu();dz();Tz();o56=O6(D6(),1)});function cz7(q,K,_,z,Y){MZ({completion_type:K,event:q,metadata:{language_name:_,message_id:z,platform:a1.platform,hasFeedback:Y??!1}})}function RmY(q,K){let{messageId:_,toolUseConfirm:z,onDone:Y,completionType:$,languageName:A}=q;cz7("accept",$,A,_),d("tengu_accept_submitted",{toolName:wK(z.tool.name),isMcp:z.tool.isMcp??!1,has_instructions:!!K?.feedback,instructions_length:K?.feedback?.length??0,entered_feedback_mode:K?.enteredFeedbackMode??!1}),Y(),z.onAllow(z.input,[],K?.feedback)}function hmY(q,K){let{messageId:_,path:z,toolUseConfirm:Y,toolPermissionContext:$,onDone:A,completionType:O,languageName:w,operationType:j}=q;if(cz7("accept",O,w,_),K?.scope==="claude-folder"||K?.scope==="global-claude-folder"){let J=K.scope==="global-claude-folder"?Qf8:Uf8,M=[{type:"addRules",rules:[{toolName:X4,ruleContent:J}],behavior:"allow",destination:"session"}];A(),Y.onAllow(Y.input,M);return}let H=z?Fq8(z,j,$):[];A(),Y.onAllow(Y.input,H)}function SmY(q,K){let{messageId:_,toolUseConfirm:z,onDone:Y,onReject:$,completionType:A,languageName:O}=q;cz7("reject",A,O,_,K?.hasFeedback),d("tengu_reject_submitted",{toolName:wK(z.tool.name),isMcp:z.tool.isMcp??!1,has_instructions:!!K?.feedback,instructions_length:K?.feedback?.length??0,entered_feedback_mode:K?.enteredFeedbackMode??!1}),Y(),$(),z.onReject(K?.feedback)}var xdK;var IdK=y(()=>{k8();kj();y_();Tz();JC6();xdK={"accept-once":RmY,"accept-session":hmY,reject:SmY}});function udK({filePath:q,completionType:K,languageName:_,toolUseConfirm:z,onDone:Y,onReject:$,parseInput:A,operationType:O="write"}){let w=P8((B)=>B.toolPermissionContext),[j,H]=fk.useState(""),[J,M]=fk.useState(""),[X,P]=fk.useState("yes"),[W,D]=fk.useState(!1),[f,G]=fk.useState(!1),[Z,T]=fk.useState(!1),[v,V]=fk.useState(!1),E=fk.useMemo(()=>CdK({filePath:q,toolPermissionContext:w,operationType:O,onRejectFeedbackChange:M,onAcceptFeedbackChange:H,yesInputMode:W,noInputMode:f}),[q,w,O,W,f]),S=fk.useCallback((B,p,C)=>{let g={messageId:z.assistantMessage.message.id,path:q,toolUseConfirm:z,toolPermissionContext:w,onDone:Y,onReject:$,completionType:K,languageName:_,operationType:O},F=z.onAllow;z.onAllow=(c,K6,t)=>{F(p,K6,t)};let U=xdK[B.type];U(g,{feedback:C,hasFeedback:!!C,enteredFeedbackMode:B.type==="accept-once"?Z:v,scope:B.type==="accept-session"?B.scope:void 0})},[q,K,_,z,w,Y,$,O,Z,v]),R=fk.useCallback(()=>{let B=E.find((p)=>p.option.type==="accept-session");if(B){let p=A(z.input);S(B.option,p)}},[E,A,z.input,S]);o7({"confirm:cycleMode":R},{context:"Confirmation"});let x=fk.useCallback((B)=>{if(B!=="yes"&&W&&!j.trim())D(!1);if(B!=="no"&&f&&!J.trim())G(!1);P(B)},[W,f,j,J]),I=fk.useCallback((B)=>{let p={toolName:wK(z.tool.name),isMcp:z.tool.isMcp??!1};if(B==="yes")if(W)D(!1),d("tengu_accept_feedback_mode_collapsed",p);else D(!0),T(!0),d("tengu_accept_feedback_mode_entered",p);else if(B==="no")if(f)G(!1),d("tengu_reject_feedback_mode_collapsed",p);else G(!0),V(!0),d("tengu_reject_feedback_mode_entered",p)},[W,f,z]);return{options:E,onChange:S,acceptFeedback:j,rejectFeedback:J,focusedOption:X,setFocusedOption:x,handleInputModeToggle:I,yesInputMode:W,noInputMode:f}}var fk;var mdK=y(()=>{C7();Oq();k8();kj();bdK();IdK();fk=O6(D6(),1)});import{relative as CmY}from"path";function ud({toolUseConfirm:q,toolUseContext:K,onDone:_,onReject:z,title:Y,subtitle:$,question:A="Do you want to proceed?",content:O,completionType:w="tool_use_single",path:j,parseInput:H,operationType:J="write",ideDiffSupport:M,workerBadge:X,languageName:P}){let W=PZ.useMemo(()=>P??(j?sV8(j):"none"),[P,j]),D=PZ.useMemo(()=>({completion_type:w,language_name:W}),[w,W]);tb(q,D);let f=PZ.useMemo(()=>{if(!j||J==="read")return null;let t=lq(j),q6=X8(),{resolvedPath:e,isSymlink:i}=F$(q6,t);if(i)return e;return null},[j,J]),G=udK({filePath:j||"",completionType:w,languageName:W,toolUseConfirm:q,onDone:_,onReject:z,parseInput:H,operationType:J}),{options:Z,acceptFeedback:T,rejectFeedback:v,setFocusedOption:V,handleInputModeToggle:E,focusedOption:S,yesInputMode:R,noInputMode:x}=G,I=H(q.input),B=PZ.useMemo(()=>M?M.getConfig(H(q.input)):null,[M,q.input]),p=B?{onChange:(t,q6)=>{let e=M.applyChanges(I,q6.edits);G.onChange(t,e)},toolUseContext:K,filePath:B.filePath,edits:(B.edits||[]).map((t)=>({old_string:t.old_string,new_string:t.new_string,replace_all:t.replace_all||!1})),editMode:B.editMode||"single"}:{onChange:()=>{},toolUseContext:K,filePath:"",edits:[],editMode:"single"},{closeTabInIDE:C,showingDiffInIDE:g,ideName:F}=EdK(p),U=(t,q6)=>{C?.(),G.onChange(t,I,q6?.trim())};if(g&&B&&j)return PZ.default.createElement(RdK,{onChange:(t,q6,e)=>U(t,e),options:Z,filePath:j,input:I,ideName:F,symlinkTarget:f,rejectFeedback:v,acceptFeedback:T,setFocusedOption:V,onInputModeToggle:E,focusedOption:S,yesInputMode:R,noInputMode:x});let c=f!=null&&CmY(Z8(),f).startsWith(".."),K6=f?PZ.default.createElement(u,{paddingX:1,marginBottom:1},PZ.default.createElement(k,{color:"warning"},c?`This will modify ${f} (outside working directory) via a symlink`:`Symlink target: ${f}`)):null;return PZ.default.createElement(PZ.default.Fragment,null,PZ.default.createElement(HY,{title:Y,subtitle:$,innerPaddingX:0,workerBadge:X},K6,O,PZ.default.createElement(u,{flexDirection:"column",paddingX:1},typeof A==="string"?PZ.default.createElement(k,null,A):A,PZ.default.createElement(H1,{options:Z,inlineDescriptions:!0,onChange:(t)=>{let q6=Z.find((e)=>e.value===t);if(q6){if(q6.option.type==="reject"){let e=v.trim();U(q6.option,e||void 0);return}if(q6.option.type==="accept-once"){let e=T.trim();U(q6.option,e||void 0);return}U(q6.option)}},onCancel:()=>U({type:"reject"}),onFocus:(t)=>V(t),onInputModeToggle:E}))),PZ.default.createElement(u,{paddingX:1,marginTop:1},PZ.default.createElement(k,{dimColor:!0},"Esc to cancel",(S==="yes"&&!R||S==="no"&&!x)&&" · Tab to amend")))}var PZ;var XC6=y(()=>{LdK();s6();sO6();I7();e7();dz();d_();hdK();uJ6();GD();mdK();PZ=O6(D6(),1)});import{basename as bmY,relative as xmY}from"path";function pdK(q){let K=z6(9),_,z;if(K[0]!==q)({sedInfo:z,..._}=q),K[0]=q,K[1]=_,K[2]=z;else _=K[1],z=K[2];let{filePath:Y}=z,$;if(K[3]!==Y)$=(async()=>{let w=am6(Y);return{oldContent:(await X8().readFile(Y,{encoding:w})).replaceAll(`\r |
| 8012 | `,` |
| 8013 | `),fileExists:!0}})().catch(ImY),K[3]=Y,K[4]=$;else $=K[4];let A=$,O;if(K[5]!==A||K[6]!==_||K[7]!==z)O=qx.default.createElement(qx.Suspense,{fallback:null},qx.default.createElement(umY,{sedInfo:z,contentPromise:A,..._})),K[5]=A,K[6]=_,K[7]=z,K[8]=O;else O=K[8];return O}function ImY(q){if(!_7(q))throw q;return{oldContent:"",fileExists:!1}}function umY(q){let K=z6(35),_,z,Y;if(K[0]!==q)({sedInfo:Y,contentPromise:_,...z}=q),K[0]=q,K[1]=_,K[2]=z,K[3]=Y;else _=K[1],z=K[2],Y=K[3];let{filePath:$}=Y,{oldContent:A,fileExists:O}=qx.use(_),w;if(K[4]!==A||K[5]!==Y)w=yzK(A,Y),K[4]=A,K[5]=Y,K[6]=w;else w=K[6];let j=w,H;q:{if(A===j){let x;if(K[7]===Symbol.for("react.memo_cache_sentinel"))x=[],K[7]=x;else x=K[7];H=x;break q}let R;if(K[8]!==j||K[9]!==A)R=[{old_string:A,new_string:j,replace_all:!1}],K[8]=j,K[9]=A,K[10]=R;else R=K[10];H=R}let J=H,M;q:{if(!O){M="File does not exist";break q}M="Pattern did not match any content"}let X=M,P;if(K[11]!==$||K[12]!==j)P=(R)=>{return{...R4.inputSchema.parse(R),_simulatedSedEdit:{filePath:$,newContent:j}}},K[11]=$,K[12]=j,K[13]=P;else P=K[13];let W=P,D=z.toolUseConfirm,f=z.toolUseContext,G=z.onDone,Z=z.onReject,T;if(K[14]!==$)T=xmY(Z8(),$),K[14]=$,K[15]=T;else T=K[15];let v;if(K[16]!==$)v=bmY($),K[16]=$,K[17]=v;else v=K[17];let V;if(K[18]!==v)V=qx.default.createElement(k,null,"Do you want to make this edit to"," ",qx.default.createElement(k,{bold:!0},v),"?"),K[18]=v,K[19]=V;else V=K[19];let E;if(K[20]!==J||K[21]!==$||K[22]!==X)E=J.length>0?qx.default.createElement(Td8,{file_path:$,edits:J}):qx.default.createElement(k,{dimColor:!0},X),K[20]=J,K[21]=$,K[22]=X,K[23]=E;else E=K[23];let S;if(K[24]!==$||K[25]!==W||K[26]!==z.onDone||K[27]!==z.onReject||K[28]!==z.toolUseConfirm||K[29]!==z.toolUseContext||K[30]!==z.workerBadge||K[31]!==V||K[32]!==E||K[33]!==T)S=qx.default.createElement(ud,{toolUseConfirm:D,toolUseContext:f,onDone:G,onReject:Z,title:"Edit file",subtitle:T,question:V,content:E,path:$,completionType:"str_replace_single",parseInput:W,workerBadge:z.workerBadge}),K[24]=$,K[25]=W,K[26]=z.onDone,K[27]=z.onReject,K[28]=z.toolUseConfirm,K[29]=z.toolUseContext,K[30]=z.workerBadge,K[31]=V,K[32]=E,K[33]=T,K[34]=S;else S=K[34];return S}var qx;var BdK=y(()=>{q8();Qz7();I7();y8();ZE();e7();s6();p0();g68();XC6();qx=O6(D6(),1)});function Ny(q,{assistantMessage:{message:{id:K}}},_,z){MZ({completion_type:q,event:_,metadata:{language_name:"none",message_id:K,platform:KD6(),hasFeedback:z??!1}})}var X48=y(()=>{y_();JC6()});function vd8({toolUseConfirm:q,onDone:K,onReject:_,explainerVisible:z}){let Y=s7(),[$,A]=a56.useState(""),[O,w]=a56.useState(""),[j,H]=a56.useState(!1),[J,M]=a56.useState(!1),[X,P]=a56.useState("yes"),[W,D]=a56.useState(!1),[f,G]=a56.useState(!1);function Z(V){q.onUserInteraction();let E={toolName:wK(q.tool.name),isMcp:q.tool.isMcp??!1};if(V==="yes")if(j)H(!1),d("tengu_accept_feedback_mode_collapsed",E);else H(!0),D(!0),d("tengu_accept_feedback_mode_entered",E);else if(V==="no")if(J)M(!1),d("tengu_reject_feedback_mode_collapsed",E);else M(!0),G(!0),d("tengu_reject_feedback_mode_entered",E)}function T(V){let E=V?.trim(),S=!!E;if(!S)d("tengu_permission_request_escape",{explainer_visible:z}),Y((R)=>({...R,attribution:{...R.attribution,escapeCount:R.attribution.escapeCount+1}}));if(Ny("tool_use_single",q,"reject",S),E)q.onReject(E);else q.onReject();_(),K()}function v(V){if(V!==X)q.onUserInteraction();if(V!=="yes"&&j&&!O.trim())H(!1);if(V!=="no"&&J&&!$.trim())M(!1);P(V)}return{yesInputMode:j,noInputMode:J,yesFeedbackModeEntered:W,noFeedbackModeEntered:f,acceptFeedback:O,rejectFeedback:$,setAcceptFeedback:w,setRejectFeedback:A,focusedOption:X,handleInputModeToggle:Z,handleReject:T,handleFocus:v}}var a56;var lz7=y(()=>{k8();kj();C7();X48();a56=O6(D6(),1)});import{basename as iz7,sep as mJ6}from"path";function mmY(q){switch(q.length){case 0:return"";case 1:return Rw.default.createElement(k,{bold:!0},q[0]);case 2:return Rw.default.createElement(k,null,Rw.default.createElement(k,{bold:!0},q[0])," and ",Rw.default.createElement(k,{bold:!0},q[1]));default:return Rw.default.createElement(k,null,Rw.default.createElement(k,{bold:!0},q.slice(0,-1).join(", ")),", and"," ",Rw.default.createElement(k,{bold:!0},q.slice(-1)[0]))}}function nz7(q){if(q.join(", ").length>50)return"similar";return mmY(q)}function P48(q){if(q.length===0)return"";let K=q.map((_)=>iz7(_)||_);if(K.length===1)return Rw.default.createElement(k,null,Rw.default.createElement(k,{bold:!0},K[0]),mJ6);if(K.length===2)return Rw.default.createElement(k,null,Rw.default.createElement(k,{bold:!0},K[0]),mJ6," and ",Rw.default.createElement(k,{bold:!0},K[1]),mJ6);return Rw.default.createElement(k,null,Rw.default.createElement(k,{bold:!0},K[0]),mJ6,", ",Rw.default.createElement(k,{bold:!0},K[1]),mJ6," and ",q.length-2," more")}function kd8(q,K,_){let z=q.filter((M)=>M.type==="addRules").flatMap((M)=>M.rules||[]),Y=z.filter((M)=>M.toolName==="Read"),$=z.filter((M)=>M.toolName===K),A=q.filter((M)=>M.type==="addDirectories").flatMap((M)=>M.directories||[]),O=Y.map((M)=>M.ruleContent?.replace("/**","")||"").filter((M)=>M),w=[...new Set($.flatMap((M)=>{if(!M.ruleContent)return[];let X=Ho6(M.ruleContent)??M.ruleContent;return _?_(X):X}))],j=A.length>0,H=O.length>0,J=w.length>0;if(H&&!j&&!J){if(O.length===1){let M=O[0],X=iz7(M)||M;return Rw.default.createElement(k,null,"Yes, allow reading from ",Rw.default.createElement(k,{bold:!0},X),mJ6," from this project")}return Rw.default.createElement(k,null,"Yes, allow reading from ",P48(O)," from this project")}if(j&&!H&&!J){if(A.length===1){let M=A[0],X=iz7(M)||M;return Rw.default.createElement(k,null,"Yes, and always allow access to ",Rw.default.createElement(k,{bold:!0},X),mJ6," from this project")}return Rw.default.createElement(k,null,"Yes, and always allow access to ",P48(A)," from this project")}if(J&&!j&&!H)return Rw.default.createElement(k,null,"Yes, and don't ask again for ",nz7(w)," commands in"," ",Rw.default.createElement(k,{bold:!0},r1()));if((j||H)&&!J){let M=[...A,...O];if(j&&H)return Rw.default.createElement(k,null,"Yes, and always allow access to ",P48(M)," from this project")}if((j||H)&&J){let M=[...A,...O];if(M.length===1&&w.length===1)return Rw.default.createElement(k,null,"Yes, and allow access to ",P48(M)," and"," ",nz7(w)," commands");return Rw.default.createElement(k,null,"Yes, and allow ",P48(M)," access and"," ",nz7(w)," commands")}return null}var Rw;var rz7=y(()=>{v8();s6();br();Rw=O6(D6(),1)});function pmY(q){let{commandWithoutRedirections:K,redirections:_}=SL(q);return _.length>0?K:q}function gdK({suggestions:q=[],decisionReason:K,onRejectFeedbackChange:_,onAcceptFeedbackChange:z,onClassifierDescriptionChange:Y,classifierDescription:$,initialClassifierDescriptionEmpty:A=!1,existingAllowDescriptions:O=[],yesInputMode:w=!1,noInputMode:j=!1,editablePrefix:H,onEditablePrefixChange:J}){let M=[];if(w)M.push({type:"input",label:"Yes",value:"yes",placeholder:"and tell Claude what to do next",onChange:z,allowEmptySubmitToCancel:!0});else M.push({label:"Yes",value:"yes"});if(WU()){let X=q.some((W)=>W.type==="addDirectories"||W.type==="addRules"&&W.rules?.some((D)=>D.toolName!==_q));if(H!==void 0&&J&&!X&&q.length>0)M.push({type:"input",label:"Yes, and don’t ask again for",value:"yes-prefix-edited",placeholder:"command prefix (e.g., npm run:*)",initialValue:H,onChange:J,allowEmptySubmitToCancel:!0,showLabelWithValue:!0,labelValueSeparator:": ",resetCursorOnUpdate:!0});else if(q.length>0){let W=kd8(q,_q,pmY);if(W)M.push({label:W,value:"yes-apply-suggestions"})}let P=M.some((W)=>W.value==="yes-prefix-edited")}if(j)M.push({type:"input",label:"No",value:"no",placeholder:"and tell Claude what to do differently",onChange:_,allowEmptySubmitToCancel:!0});else M.push({label:"No",value:"no"});return M}var FdK=y(()=>{SG();iu();rz7()});function UdK(q){let K=z6(21),{toolUseConfirm:_,toolUseContext:z,onDone:Y,onReject:$,verbose:A,workerBadge:O}=q,w,j,H;if(K[0]!==_.input)({command:w,description:j}=R4.inputSchema.parse(_.input)),H=VL6(w),K[0]=_.input,K[1]=w,K[2]=j,K[3]=H;else w=K[1],j=K[2],H=K[3];let J=H;if(J){let X;if(K[4]!==Y||K[5]!==$||K[6]!==J||K[7]!==_||K[8]!==z||K[9]!==A||K[10]!==O)X=y9.default.createElement(pdK,{toolUseConfirm:_,toolUseContext:z,onDone:Y,onReject:$,verbose:A,workerBadge:O,sedInfo:J}),K[4]=Y,K[5]=$,K[6]=J,K[7]=_,K[8]=z,K[9]=A,K[10]=O,K[11]=X;else X=K[11];return X}let M;if(K[12]!==w||K[13]!==j||K[14]!==Y||K[15]!==$||K[16]!==_||K[17]!==z||K[18]!==A||K[19]!==O)M=y9.default.createElement(BmY,{toolUseConfirm:_,toolUseContext:z,onDone:Y,onReject:$,verbose:A,workerBadge:O,command:w,description:j}),K[12]=w,K[13]=j,K[14]=Y,K[15]=$,K[16]=_,K[17]=z,K[18]=A,K[19]=O,K[20]=M;else M=K[20];return M}function BmY({toolUseConfirm:q,toolUseContext:K,onDone:_,onReject:z,verbose:Y,workerBadge:$,command:A,description:O}){let[w]=Aq(),j=P8((o)=>o.toolPermissionContext),H=Zd8({toolName:q.tool.name,toolInput:q.input,toolDescription:q.description,messages:K.messages}),{yesInputMode:J,noInputMode:M,yesFeedbackModeEntered:X,noFeedbackModeEntered:P,acceptFeedback:W,rejectFeedback:D,setAcceptFeedback:f,setRejectFeedback:G,focusedOption:Z,handleInputModeToggle:T,handleReject:v,handleFocus:V}=vd8({toolUseConfirm:q,onDone:_,onReject:z,explainerVisible:H.visible}),[E,S]=y9.useState(!1),[R,x]=y9.useState(O||""),[I,B]=y9.useState(!O?.trim());y9.useEffect(()=>{if(!Jq6())return;let o=new AbortController;return jN4(A,O,o.signal).then((s)=>{if(s&&!o.signal.aborted)x(s),B(!1)}).catch(()=>{}),()=>o.abort()},[A,O]);let p=q.permissionResult.decisionReason?.type==="subcommandResults",[C,g]=y9.useState(()=>{if(p){let a=DU("suggestions"in q.permissionResult?q.permissionResult.suggestions:void 0).filter((n)=>n.toolName===R4.name&&n.ruleContent);return a.length===1?a[0].ruleContent:void 0}let o=Kp8(A);if(o)return`${o}:*`;let s=CPK(A);if(s)return`${s}:*`;return A}),F=y9.useRef(!1),U=y9.useCallback((o)=>{F.current=!0,g(o)},[]);y9.useEffect(()=>{if(p)return;let o=!1;return ZdK(A,(s)=>R4.isReadOnly({command:s})).then((s)=>{if(o||F.current)return;if(s.length>0)g(`${s[0]}:*`)}).catch(()=>{}),()=>{o=!0}},[A,p]);let[c]=y9.useState(!1),{destructiveWarning:K6,sandboxingEnabled:t,isSandboxed:q6}=y9.useMemo(()=>{let o=g8("tengu_destructive_command_warning",!1)?tQK(A):null,s=M7.isSandboxingEnabled(),a=s&&Gb(q.input);return{destructiveWarning:o,sandboxingEnabled:s,isSandboxed:a}},[A,q.input]),e=y9.useMemo(()=>({completion_type:"tool_use_single",language_name:"none"}),[]);tb(q,e);let i=y9.useMemo(()=>MN8(j),[j]),$6=y9.useMemo(()=>gdK({suggestions:q.permissionResult.behavior==="ask"?q.permissionResult.suggestions:void 0,decisionReason:q.permissionResult.decisionReason,onRejectFeedbackChange:G,onAcceptFeedbackChange:f,onClassifierDescriptionChange:x,classifierDescription:R,initialClassifierDescriptionEmpty:I,existingAllowDescriptions:i,yesInputMode:J,noInputMode:M,editablePrefix:C,onEditablePrefixChange:U}),[q,R,I,i,J,M,C,U]),M6=y9.useCallback(()=>{S((o)=>!o)},[]);P1("permission:toggleDebug",M6,{context:"Confirmation"});let j6=y9.useCallback(()=>{q.onDismissCheckmark?.()},[q]);P1("confirm:no",j6,{context:"Confirmation",isActive:!1});function G6(o){d("tengu_permission_request_option_selected",{option_index:{yes:1,"yes-apply-suggestions":2,"yes-prefix-edited":2,no:3}[o],explainer_visible:H.visible});let a=wK(q.tool.name);if(o==="yes-prefix-edited"){let n=(C??"").trim();if(Ny("tool_use_single",q,"accept"),!n)q.onAllow(q.input,[]);else{let l=[{type:"addRules",rules:[{toolName:R4.name,ruleContent:n}],behavior:"allow",destination:"localSettings"}];q.onAllow(q.input,l)}_();return}switch(o){case"yes":{let n=W.trim();Ny("tool_use_single",q,"accept"),d("tengu_accept_submitted",{toolName:a,isMcp:q.tool.isMcp??!1,has_instructions:!!n,instructions_length:n.length,entered_feedback_mode:X}),q.onAllow(q.input,[],n||void 0),_();break}case"yes-apply-suggestions":{Ny("tool_use_single",q,"accept");let n="suggestions"in q.permissionResult?q.permissionResult.suggestions||[]:[];q.onAllow(q.input,n),_();break}case"no":{let n=D.trim();d("tengu_reject_submitted",{toolName:a,isMcp:q.tool.isMcp??!1,has_instructions:!!n,instructions_length:n.length,entered_feedback_mode:P}),v(n||void 0);break}}}return y9.default.createElement(HY,{workerBadge:$,title:t&&!q6?"Bash command (unsandboxed)":"Bash command",subtitle:void 0},y9.default.createElement(u,{flexDirection:"column",paddingX:2,paddingY:1},y9.default.createElement(k,{dimColor:H.visible},R4.renderToolUseMessage({command:A,description:O},{theme:w,verbose:!0})),!H.visible&&y9.default.createElement(k,{dimColor:!0},q.description),y9.default.createElement(Gd8,{visible:H.visible,promise:H.promise})),E?y9.default.createElement(y9.default.Fragment,null,y9.default.createElement(fd8,{permissionResult:q.permissionResult,toolName:"Bash"}),K.options.debug&&y9.default.createElement(u,{justifyContent:"flex-end",marginTop:1},y9.default.createElement(k,{dimColor:!0},"Ctrl-D to hide debug info"))):y9.default.createElement(y9.default.Fragment,null,y9.default.createElement(u,{flexDirection:"column"},y9.default.createElement(Vy,{permissionResult:q.permissionResult,toolType:"command"}),K6&&y9.default.createElement(u,{marginBottom:1},y9.default.createElement(k,{color:"warning",dimColor:!1},K6)),y9.default.createElement(k,{dimColor:!1},"Do you want to proceed?"),y9.default.createElement(H1,{options:$6,isDisabled:!1,inlineDescriptions:!0,onChange:G6,onCancel:()=>v(),onFocus:V,onInputModeToggle:T})),y9.default.createElement(u,{justifyContent:"space-between",marginTop:1},y9.default.createElement(k,{dimColor:!0},"Esc to cancel",(Z==="yes"&&!J||Z==="no"&&!M)&&" · Tab to amend",H.enabled&&` · ctrl+e to ${H.visible?"hide":"explain"}`),K.options.debug&&y9.default.createElement(k,{dimColor:!0},"Ctrl+d to show debug info"))))}var y9;var QdK=y(()=>{q8();s6();Oq();o1();k8();kj();C7();p0();DN();eQK();g68();IL6();GdK();LH();K$();p3();$e6();RC8();uJ6();gz7();GD();Uz7();i56();BdK();lz7();X48();FdK();y9=O6(D6(),1)});function ddK(q){let K=z6(18),{toolUseConfirm:_,onDone:z,onReject:Y,workerBadge:$}=q,A=P8(gmY),O;if(K[0]!==z||K[1]!==Y||K[2]!==A||K[3]!==_)O=function(G){if(G==="yes")d("tengu_plan_enter",{interviewPhaseEnabled:l2(),entryMethod:"tool"}),Tc(A,"plan"),z(),_.onAllow({},[{type:"setMode",mode:"plan",destination:"session"}]);else z(),Y(),_.onReject()},K[0]=z,K[1]=Y,K[2]=A,K[3]=_,K[4]=O;else O=K[4];let w=O,j;if(K[5]===Symbol.for("react.memo_cache_sentinel"))j=yy.default.createElement(k,null,"Claude wants to enter plan mode to explore and design an implementation approach."),K[5]=j;else j=K[5];let H;if(K[6]===Symbol.for("react.memo_cache_sentinel"))H=yy.default.createElement(u,{marginTop:1,flexDirection:"column"},yy.default.createElement(k,{dimColor:!0},"In plan mode, Claude will:"),yy.default.createElement(k,{dimColor:!0}," · Explore the codebase thoroughly"),yy.default.createElement(k,{dimColor:!0}," · Identify existing patterns"),yy.default.createElement(k,{dimColor:!0}," · Design an implementation strategy"),yy.default.createElement(k,{dimColor:!0}," · Present a plan for your approval")),K[6]=H;else H=K[6];let J;if(K[7]===Symbol.for("react.memo_cache_sentinel"))J=yy.default.createElement(u,{marginTop:1},yy.default.createElement(k,{dimColor:!0},"No code changes will be made until you approve the plan.")),K[7]=J;else J=K[7];let M;if(K[8]===Symbol.for("react.memo_cache_sentinel"))M={label:"Yes, enter plan mode",value:"yes"},K[8]=M;else M=K[8];let X;if(K[9]===Symbol.for("react.memo_cache_sentinel"))X=[M,{label:"No, start implementing now",value:"no"}],K[9]=X;else X=K[9];let P;if(K[10]!==w)P=()=>w("no"),K[10]=w,K[11]=P;else P=K[11];let W;if(K[12]!==w||K[13]!==P)W=yy.default.createElement(u,{flexDirection:"column",marginTop:1,paddingX:1},j,H,J,yy.default.createElement(u,{marginTop:1},yy.default.createElement(H1,{options:X,onChange:w,onCancel:P}))),K[12]=w,K[13]=P,K[14]=W;else W=K[14];let D;if(K[15]!==W||K[16]!==$)D=yy.default.createElement(HY,{color:"planMode",title:"Enter plan mode?",workerBadge:$},W),K[15]=W,K[16]=$,K[17]=D;else D=K[17];return D}function gmY(q){return q.toolPermissionContext.mode}var yy;var cdK=y(()=>{q8();v8();s6();k8();C7();pK6();d_();GD();yy=O6(D6(),1)});function Vd8(q,K){let _=[{type:"setMode",mode:KI(q),destination:"session"}];if(Jq6()&&K&&K.length>0)_.push({type:"addRules",rules:K.map((z)=>({toolName:z.tool,ruleContent:AN4(z.prompt)})),behavior:"allow",destination:"session"});return _}function FmY(q,K,_){if(ey()||Z7()?.cleanupPeriodDays===0)return;if(!_&&k0(N8()))return;xF8([U8({content:q.slice(0,1000)})],new AbortController().signal).then(async(z)=>{if(!z||k0(N8()))return;let Y=N8(),$=Y$();await $s(Y,z,$,"auto"),await o78(Y,z,$,"auto"),K((A)=>{if(A.standaloneAgentContext?.name===z)return A;return{...A,standaloneAgentContext:{...A.standaloneAgentContext,name:z}}})}).catch(H6)}function ldK({toolUseConfirm:q,onDone:K,onReject:_,workerBadge:z,setStickyFooter:Y}){let $=P8((a)=>a.toolPermissionContext),A=s7(),O=jz(),{addNotification:w}=PK(),[j,H]=DK.useState(""),[J,M]=DK.useState({}),X=DK.useRef(0),P=P8((a)=>a.settings.showClearContextOnPlanAccept)??!1,W=P8((a)=>a.ultraplanSessionUrl),D=P8((a)=>a.ultraplanLaunching),f=!1,G=q.assistantMessage.message.usage,{mode:Z,isAutoModeAvailable:T,isBypassPermissionsModeAvailable:v}=$,V=DK.useMemo(()=>UmY({showClearContext:P,showUltraplan:!1,usedPercent:P?QmY(G,Z):null,isAutoModeAvailable:T,isBypassPermissionsModeAvailable:v,onFeedbackChange:H}),[P,!1,G,Z,T,v]);function E(a,n,l,A6,J6){let X6=X.current++,f6={id:X6,type:"image",content:a,mediaType:n||"image/png",filename:l||"Pasted image",dimensions:A6};SN6(f6),pw6(f6),M((N6)=>({...N6,[X6]:f6}))}let S=DK.useCallback((a)=>{M((n)=>{let l={...n};return delete l[a],l})},[]),R=Object.values(J).filter((a)=>a.type==="image"),x=R.length>0,I=q.tool.name===kX,B=I?void 0:q.input.plan,p=I?nP():void 0,C=q.input.allowedPrompts,g=B??mX(),F=!g||g.trim()==="",[U]=DK.useState(()=>ym8()??void 0),[c,K6]=DK.useState(()=>{if(B)return B;return mX()??"No plan found. Please write your plan to the plan file first."}),[t,q6]=DK.useState(!1),[e,i]=DK.useState(!1);DK.useEffect(()=>{if(t){let a=setTimeout(q6,5000,!1);return()=>clearTimeout(a)}},[t]);let $6=(a)=>{if(a.ctrl&&a.key==="g"){a.preventDefault(),d("tengu_plan_external_editor_used",{}),(async()=>{if(I&&p){let n=await WR(p);if(n.error)w({key:"external-editor-error",text:n.error,color:"warning",priority:"high"});if(n.content!==null){if(n.content!==c)i(!0);K6(n.content),q6(!0)}}else{let n=await Wy(c);if(n.error)w({key:"external-editor-error",text:n.error,color:"warning",priority:"high"});if(n.content!==null&&n.content!==c)K6(n.content),q6(!0)}})();return}if(a.shift&&a.key==="tab"){a.preventDefault(),M6(P?"yes-accept-edits":"yes-accept-edits-keep-context");return}};async function M6(a){let n=j.trim(),l=n||void 0;if(a==="ultraplan"){d("tengu_plan_exit",{planLengthChars:c.length,outcome:"ultraplan",interviewPhaseEnabled:l2(),planStructureVariant:U}),K(),_(),q.onReject("Plan being refined via Ultraplan — please wait for the result."),c57({blurb:"",seedPlan:c,getAppState:O.getState,setAppState:O.setState,signal:new AbortController().signal}).then((y6)=>IO({value:y6,mode:"task-notification"})).catch(H6);return}let A6=I&&!e?{}:{plan:c};{let y6=(a==="yes-resume-auto-mode"||a==="yes-auto-clear-context")&&Xy(),T6=PC6?.isAutoModeActive()??!1;if(a!=="no"&&!y6&&T6)PC6?.setAutoModeActive(!1),VZ(!0),A((n6)=>({...n6,toolPermissionContext:{...da(n6.toolPermissionContext),prePlanMode:void 0}}))}let X6=a==="yes-accept-edits-keep-context"||a==="yes-default-keep-context"||a==="yes-resume-auto-mode";if(a!=="no")FmY(c,A,!X6);if(a!=="no"&&!X6){let y6="default";if(a==="yes-bypass-permissions")y6="bypassPermissions";else if(a==="yes-accept-edits")y6="acceptEdits";else if(a==="yes-auto-clear-context"&&Xy())y6="auto",PC6?.setAutoModeActive(!0);d("tengu_plan_exit",{planLengthChars:c.length,outcome:a,clearContext:!0,interviewPhaseEnabled:l2(),planStructureVariant:U,hasFeedback:!!l});let T6="",o6=` |
| 8014 | |
| 8015 | If you need specific details from before exiting plan mode (like exact code snippets, error messages, or content you generated), read the full transcript at: ${Y$()}`,I6=nq()?` |
| 8016 | |
| 8017 | If this plan can be broken down into multiple independent tasks, consider using the ${au} tool to create a team and parallelize the work.`:"",C6=l?` |
| 8018 | |
| 8019 | User feedback on this plan: ${l}`:"";A((l6)=>({...l6,initialMessage:{message:{...U8({content:`Implement the following plan: |
| 8020 | |
| 8021 | ${c}${T6}${o6}${I6}${C6}`}),planContent:c},clearContext:!0,mode:y6,allowedPrompts:C}})),qE(!0),K(),_(),q.onReject();return}if(a==="yes-resume-auto-mode"&&Xy()){d("tengu_plan_exit",{planLengthChars:c.length,outcome:a,clearContext:!1,interviewPhaseEnabled:l2(),planStructureVariant:U,hasFeedback:!!l}),qE(!0),Ex(!0),PC6?.setAutoModeActive(!0),A((y6)=>({...y6,toolPermissionContext:Dp({...y6.toolPermissionContext,mode:"auto",prePlanMode:void 0})})),K(),q.onAllow(A6,[],l);return}let N6={"yes-accept-edits-keep-context":$.isBypassPermissionsModeAvailable?"bypassPermissions":"acceptEdits","yes-default-keep-context":"default",...{"yes-resume-auto-mode":"default"}}[a];if(N6){d("tengu_plan_exit",{planLengthChars:c.length,outcome:a,clearContext:!1,interviewPhaseEnabled:l2(),planStructureVariant:U,hasFeedback:!!l}),qE(!0),Ex(!0),K(),q.onAllow(A6,Vd8(N6,C),l);return}let V6={"yes-bypass-permissions":"bypassPermissions","yes-accept-edits":"acceptEdits"}[a];if(V6){d("tengu_plan_exit",{planLengthChars:c.length,outcome:a,interviewPhaseEnabled:l2(),planStructureVariant:U,hasFeedback:!!l}),qE(!0),Ex(!0),K(),q.onAllow(A6,Vd8(V6,C),l);return}if(a==="no"){if(!n&&!x)return;d("tengu_plan_exit",{planLengthChars:c.length,outcome:"no",interviewPhaseEnabled:l2(),planStructureVariant:U});let y6;if(x)y6=await Promise.all(R.map(async(T6)=>{let n6={type:"image",source:{type:"base64",media_type:T6.mediaType||"image/png",data:T6.content}};return(await Tr(n6)).block}));K(),_(),q.onReject(n||(x?"(See attached image)":void 0),y6&&y6.length>0?y6:void 0)}}let j6=PR(),G6=j6?pj(j6):null,w6=DK.useRef(M6);w6.current=M6;let o=DK.useRef(void 0);o.current=()=>{d("tengu_plan_exit",{planLengthChars:c.length,outcome:"no",interviewPhaseEnabled:l2(),planStructureVariant:U}),K(),_(),q.onReject()};let s=!F&&!!Y;if(DK.useLayoutEffect(()=>{if(!s)return;return Y(DK.default.createElement(u,{flexDirection:"column",borderStyle:"round",borderColor:"planMode",borderLeft:!1,borderRight:!1,borderBottom:!1,paddingX:1},DK.default.createElement(k,{dimColor:!0},"Would you like to proceed?"),DK.default.createElement(u,{marginTop:1},DK.default.createElement(H1,{options:V,onChange:(a)=>void w6.current(a),onCancel:()=>o.current?.(),onImagePaste:E,pastedContents:J,onRemoveImage:S})),G6&&DK.default.createElement(u,{flexDirection:"row",gap:1,marginTop:1},DK.default.createElement(k,{dimColor:!0},"ctrl-g to edit in "),DK.default.createElement(k,{bold:!0,dimColor:!0},G6),I&&p&&DK.default.createElement(k,{dimColor:!0}," · ",_3(p)),t&&DK.default.createElement(DK.default.Fragment,null,DK.default.createElement(k,{dimColor:!0}," · "),DK.default.createElement(k,{color:"success"},t6.tick,"Plan saved!"))))),()=>Y(null)},[s,Y,V,J,G6,I,p,t]),F)return DK.default.createElement(HY,{color:"planMode",title:"Exit plan mode?",workerBadge:z},DK.default.createElement(u,{flexDirection:"column",paddingX:1,marginTop:1},DK.default.createElement(k,null,"Claude wants to exit plan mode"),DK.default.createElement(u,{marginTop:1},DK.default.createElement(H1,{options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}],onChange:function(n){if(n==="yes"){if(d("tengu_plan_exit",{planLengthChars:0,outcome:"yes-default",interviewPhaseEnabled:l2(),planStructureVariant:U}),PC6?.isAutoModeActive()??!1)PC6?.setAutoModeActive(!1),VZ(!0),A((A6)=>({...A6,toolPermissionContext:{...da(A6.toolPermissionContext),prePlanMode:void 0}}));qE(!0),Ex(!0),K(),q.onAllow({},[{type:"setMode",mode:"default",destination:"session"}])}else d("tengu_plan_exit",{planLengthChars:0,outcome:"no",interviewPhaseEnabled:l2(),planStructureVariant:U}),K(),_(),q.onReject()},onCancel:()=>{d("tengu_plan_exit",{planLengthChars:0,outcome:"no",interviewPhaseEnabled:l2(),planStructureVariant:U}),K(),_(),q.onReject()}}))));return DK.default.createElement(u,{flexDirection:"column",tabIndex:0,autoFocus:!0,onKeyDown:$6},DK.default.createElement(HY,{color:"planMode",title:"Ready to code?",innerPaddingX:0,workerBadge:z},DK.default.createElement(u,{flexDirection:"column",marginTop:1},DK.default.createElement(u,{paddingX:1,flexDirection:"column"},DK.default.createElement(k,null,"Here is Claude's plan:")),DK.default.createElement(u,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1,paddingX:1,marginBottom:1,overflow:"hidden"},DK.default.createElement(AO,null,c)),DK.default.createElement(u,{flexDirection:"column",paddingX:1},DK.default.createElement(Vy,{permissionResult:q.permissionResult,toolType:"tool"}),Jq6()&&C&&C.length>0&&DK.default.createElement(u,{flexDirection:"column",marginBottom:1},DK.default.createElement(k,{bold:!0},"Requested permissions:"),C.map((a,n)=>DK.default.createElement(k,{key:n,dimColor:!0}," ","· ",a.tool,"(",$N4," ",a.prompt,")"))),!s&&DK.default.createElement(DK.default.Fragment,null,DK.default.createElement(k,{dimColor:!0},"Claude has written up a plan and is ready to execute. Would you like to proceed?"),DK.default.createElement(u,{marginTop:1},DK.default.createElement(H1,{options:V,onChange:M6,onCancel:()=>o.current?.(),onImagePaste:E,pastedContents:J,onRemoveImage:S})))))),!s&&G6&&DK.default.createElement(u,{flexDirection:"row",gap:1,paddingX:1,marginTop:1},DK.default.createElement(u,null,DK.default.createElement(k,{dimColor:!0},"ctrl-g to edit in "),DK.default.createElement(k,{bold:!0,dimColor:!0},G6),I&&p&&DK.default.createElement(k,{dimColor:!0}," · ",_3(p))),t&&DK.default.createElement(u,null,DK.default.createElement(k,{dimColor:!0}," · "),DK.default.createElement(k,{color:"success"},t6.tick,"Plan saved!"))))}function UmY({showClearContext:q,showUltraplan:K,usedPercent:_,isAutoModeAvailable:z,isBypassPermissionsModeAvailable:Y,onFeedbackChange:$}){let A=[],O=_!==null?` (${_}% used)`:"";if(q)if(z)A.push({label:`Yes, clear context${O} and use auto mode`,value:"yes-auto-clear-context"});else if(Y)A.push({label:`Yes, clear context${O} and bypass permissions`,value:"yes-bypass-permissions"});else A.push({label:`Yes, clear context${O} and auto-accept edits`,value:"yes-accept-edits"});if(z)A.push({label:"Yes, and use auto mode",value:"yes-resume-auto-mode"});else if(Y)A.push({label:"Yes, and bypass permissions",value:"yes-accept-edits-keep-context"});else A.push({label:"Yes, auto-accept edits",value:"yes-accept-edits-keep-context"});if(A.push({label:"Yes, manually approve edits",value:"yes-default-keep-context"}),K)A.push({label:"No, refine with Ultraplan on Claude Code on the web",value:"ultraplan"});return A.push({type:"input",label:"No, keep planning",value:"no",placeholder:"Tell Claude what to change",description:"shift+tab to approve with this feedback",onChange:$}),A}function QmY(q,K){if(!q)return null;let _=uI({permissionMode:K,mainLoopModel:D5(),exceeds200kTokens:!1}),z=lf(_,QM()),{used:Y}=$D8({input_tokens:q.input_tokens,cache_creation_input_tokens:q.cache_creation_input_tokens??0,cache_read_input_tokens:q.cache_read_input_tokens??0},z);return Y}var DK,PC6;var oz7=y(()=>{bq();h$();k8();C7();v8();tK7();l57();s6();Z$();i$();fP();Wd();bK();U2();E8();p2();i1();aq();yW();fX();pK6();SJ();DR();_K();U1();d_();xN();GD();i56();RL();Ko();DK=O6(D6(),1),PC6=Eq(mK6)});function Nd8(q){let K=z6(54),{options:_,onSelect:z,onCancel:Y,question:$,toolAnalyticsContext:A}=q,O=$===void 0?"Do you want to proceed?":$,w=s7(),[j,H]=Ey.useState(""),[J,M]=Ey.useState(""),[X,P]=Ey.useState(!1),[W,D]=Ey.useState(!1),[f,G]=Ey.useState(null),[Z,T]=Ey.useState(!1),[v,V]=Ey.useState(!1),E;if(K[0]!==f||K[1]!==_){let w6;if(K[3]!==f)w6=(o)=>o.value===f,K[3]=f,K[4]=w6;else w6=K[4];E=_.find(w6),K[0]=f,K[1]=_,K[2]=E}else E=K[2];let R=E?.feedbackConfig?.type,x=R==="accept"&&!X||R==="reject"&&!W,I;if(K[5]!==X||K[6]!==_||K[7]!==W){let w6;if(K[9]!==X||K[10]!==W)w6=(o)=>{let{value:s,label:a,feedbackConfig:n}=o;if(!n)return{label:a,value:s};let{type:l,placeholder:A6}=n,J6=l==="accept"?X:W,X6=l==="accept"?H:M,f6=dmY[l];if(J6)return{type:"input",label:a,value:s,placeholder:A6??f6,onChange:X6,allowEmptySubmitToCancel:!0};return{label:a,value:s}},K[9]=X,K[10]=W,K[11]=w6;else w6=K[11];I=_.map(w6),K[5]=X,K[6]=_,K[7]=W,K[8]=I}else I=K[8];let B=I,p;if(K[12]!==X||K[13]!==_||K[14]!==W||K[15]!==A?.isMcp||K[16]!==A?.toolName)p=(w6)=>{let o=_.find((n)=>n.value===w6);if(!o?.feedbackConfig)return;let{type:s}=o.feedbackConfig,a={toolName:A?.toolName,isMcp:A?.isMcp??!1};if(s==="accept")if(X)P(!1),d("tengu_accept_feedback_mode_collapsed",a);else P(!0),T(!0),d("tengu_accept_feedback_mode_entered",a);else if(s==="reject")if(W)D(!1),d("tengu_reject_feedback_mode_collapsed",a);else D(!0),V(!0),d("tengu_reject_feedback_mode_entered",a)},K[12]=X,K[13]=_,K[14]=W,K[15]=A?.isMcp,K[16]=A?.toolName,K[17]=p;else p=K[17];let C=p,g;if(K[18]!==j||K[19]!==Z||K[20]!==z||K[21]!==_||K[22]!==J||K[23]!==v||K[24]!==A?.isMcp||K[25]!==A?.toolName)g=(w6)=>{let o=_.find((a)=>a.value===w6);if(!o)return;let s;if(o.feedbackConfig){let n=(o.feedbackConfig.type==="accept"?j:J).trim();if(n)s=n;let l={toolName:A?.toolName,isMcp:A?.isMcp??!1,has_instructions:!!n,instructions_length:n?.length??0,entered_feedback_mode:o.feedbackConfig.type==="accept"?Z:v};if(o.feedbackConfig.type==="accept")d("tengu_accept_submitted",l);else if(o.feedbackConfig.type==="reject")d("tengu_reject_submitted",l)}z(w6,s)},K[18]=j,K[19]=Z,K[20]=z,K[21]=_,K[22]=J,K[23]=v,K[24]=A?.isMcp,K[25]=A?.toolName,K[26]=g;else g=K[26];let F=g,U;if(K[27]!==F||K[28]!==_){U={};for(let w6 of _)if(w6.keybinding)U[w6.keybinding]=()=>F(w6.value);K[27]=F,K[28]=_,K[29]=U}else U=K[29];let c=U,K6;if(K[30]===Symbol.for("react.memo_cache_sentinel"))K6={context:"Confirmation"},K[30]=K6;else K6=K[30];o7(c,K6);let t;if(K[31]!==Y||K[32]!==w)t=()=>{d("tengu_permission_request_escape",{}),w(cmY),Y?.()},K[31]=Y,K[32]=w,K[33]=t;else t=K[33];let q6=t,e;if(K[34]!==O)e=typeof O==="string"?Ey.default.createElement(k,null,O):O,K[34]=O,K[35]=e;else e=K[35];let i;if(K[36]!==j||K[37]!==X||K[38]!==_||K[39]!==J||K[40]!==W)i=(w6)=>{let o=_.find((s)=>s.value===w6);if(o?.feedbackConfig?.type!=="accept"&&X&&!j.trim())P(!1);if(o?.feedbackConfig?.type!=="reject"&&W&&!J.trim())D(!1);G(w6)},K[36]=j,K[37]=X,K[38]=_,K[39]=J,K[40]=W,K[41]=i;else i=K[41];let $6;if(K[42]!==q6||K[43]!==C||K[44]!==F||K[45]!==B||K[46]!==i)$6=Ey.default.createElement(H1,{options:B,inlineDescriptions:!0,onChange:F,onCancel:q6,onFocus:i,onInputModeToggle:C}),K[42]=q6,K[43]=C,K[44]=F,K[45]=B,K[46]=i,K[47]=$6;else $6=K[47];let M6=x&&" · Tab to amend",j6;if(K[48]!==M6)j6=Ey.default.createElement(u,{marginTop:1},Ey.default.createElement(k,{dimColor:!0},"Esc to cancel",M6)),K[48]=M6,K[49]=j6;else j6=K[49];let G6;if(K[50]!==$6||K[51]!==j6||K[52]!==e)G6=Ey.default.createElement(u,{flexDirection:"column"},e,$6,j6),K[50]=$6,K[51]=j6,K[52]=e,K[53]=G6;else G6=K[53];return G6}function cmY(q){return{...q,attribution:{...q.attribution,escapeCount:q.attribution.escapeCount+1}}}var Ey,dmY;var az7=y(()=>{q8();s6();Oq();k8();C7();p3();Ey=O6(D6(),1),dmY={accept:"tell Claude what to do next",reject:"tell Claude what to do differently"}});function pJ6(q){let K=z6(58),{toolUseConfirm:_,onDone:z,onReject:Y,workerBadge:$}=q,[A]=Aq(),O,w;if(K[0]!==_.input||K[1]!==_.tool)O=_.tool.userFacingName(_.input),w=O.endsWith(" (MCP)")?O.slice(0,-6):O,K[0]=_.input,K[1]=_.tool,K[2]=O,K[3]=w;else O=K[2],w=K[3];let j=w,H;if(K[4]===Symbol.for("react.memo_cache_sentinel"))H={completion_type:"tool_use_single",language_name:"none"},K[4]=H;else H=K[4];tb(_,H);let M;if(K[5]!==z||K[6]!==Y||K[7]!==_)M=(q6,e)=>{q:switch(q6){case"yes":{MZ({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:a1.platform}}),_.onAllow(_.input,[],e),z();break q}case"yes-dont-ask-again":{MZ({completion_type:"tool_use_single",event:"accept",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:a1.platform}}),_.onAllow(_.input,[{type:"addRules",rules:[{toolName:_.tool.name}],behavior:"allow",destination:"localSettings"}]),z();break q}case"no":MZ({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:a1.platform}}),_.onReject(e),Y(),z()}},K[5]=z,K[6]=Y,K[7]=_,K[8]=M;else M=K[8];let X=M,P;if(K[9]!==z||K[10]!==Y||K[11]!==_)P=()=>{MZ({completion_type:"tool_use_single",event:"reject",metadata:{language_name:"none",message_id:_.assistantMessage.message.id,platform:a1.platform}}),_.onReject(),Y(),z()},K[9]=z,K[10]=Y,K[11]=_,K[12]=P;else P=K[12];let W=P,D;if(K[13]===Symbol.for("react.memo_cache_sentinel"))D=r1(),K[13]=D;else D=K[13];let f=D,G;if(K[14]===Symbol.for("react.memo_cache_sentinel"))G=WU(),K[14]=G;else G=K[14];let Z=G,T;if(K[15]===Symbol.for("react.memo_cache_sentinel"))T={label:"Yes",value:"yes",feedbackConfig:{type:"accept"}},K[15]=T;else T=K[15];let v;if(K[16]!==j){if(v=[T],Z){let e=Kx.default.createElement(k,{bold:!0},j),i;if(K[18]===Symbol.for("react.memo_cache_sentinel"))i=Kx.default.createElement(k,{bold:!0},f),K[18]=i;else i=K[18];let $6;if(K[19]!==e)$6={label:Kx.default.createElement(k,null,"Yes, and don't ask again for ",e," ","commands in ",i),value:"yes-dont-ask-again"},K[19]=e,K[20]=$6;else $6=K[20];v.push($6)}let q6;if(K[21]===Symbol.for("react.memo_cache_sentinel"))q6={label:"No",value:"no",feedbackConfig:{type:"reject"}},K[21]=q6;else q6=K[21];v.push(q6),K[16]=j,K[17]=v}else v=K[17];let V=v,E;if(K[22]!==_.tool.name)E=wK(_.tool.name),K[22]=_.tool.name,K[23]=E;else E=K[23];let S=_.tool.isMcp??!1,R;if(K[24]!==E||K[25]!==S)R={toolName:E,isMcp:S},K[24]=E,K[25]=S,K[26]=R;else R=K[26];let x=R,I;if(K[27]!==A||K[28]!==_.input||K[29]!==_.tool)I=_.tool.renderToolUseMessage(_.input,{theme:A,verbose:!0}),K[27]=A,K[28]=_.input,K[29]=_.tool,K[30]=I;else I=K[30];let B;if(K[31]!==O)B=O.endsWith(" (MCP)")?Kx.default.createElement(k,{dimColor:!0}," (MCP)"):"",K[31]=O,K[32]=B;else B=K[32];let p;if(K[33]!==I||K[34]!==B||K[35]!==j)p=Kx.default.createElement(k,null,j,"(",I,")",B),K[33]=I,K[34]=B,K[35]=j,K[36]=p;else p=K[36];let C;if(K[37]!==_.description)C=OS7(_.description,3),K[37]=_.description,K[38]=C;else C=K[38];let g;if(K[39]!==C)g=Kx.default.createElement(k,{dimColor:!0},C),K[39]=C,K[40]=g;else g=K[40];let F;if(K[41]!==p||K[42]!==g)F=Kx.default.createElement(u,{flexDirection:"column",paddingX:2,paddingY:1},p,g),K[41]=p,K[42]=g,K[43]=F;else F=K[43];let U;if(K[44]!==_.permissionResult)U=Kx.default.createElement(Vy,{permissionResult:_.permissionResult,toolType:"tool"}),K[44]=_.permissionResult,K[45]=U;else U=K[45];let c;if(K[46]!==W||K[47]!==X||K[48]!==V||K[49]!==x)c=Kx.default.createElement(Nd8,{options:V,onSelect:X,onCancel:W,toolAnalyticsContext:x}),K[46]=W,K[47]=X,K[48]=V,K[49]=x,K[50]=c;else c=K[50];let K6;if(K[51]!==U||K[52]!==c)K6=Kx.default.createElement(u,{flexDirection:"column"},U,c),K[51]=U,K[52]=c,K[53]=K6;else K6=K[53];let t;if(K[54]!==F||K[55]!==K6||K[56]!==$)t=Kx.default.createElement(HY,{title:"Tool use",workerBadge:$},F,K6),K[54]=F,K[55]=K6,K[56]=$,K[57]=t;else t=K[57];return t}var Kx;var sz7=y(()=>{q8();v8();s6();kj();y_();iu();JC6();uJ6();GD();az7();i56();Kx=O6(D6(),1)});function yd8(q,K,_,z){return{filePath:q,edits:[{old_string:K,new_string:_,replace_all:z}],editMode:"single"}}import{basename as lmY,relative as nmY}from"path";function ndK(q){let K=z6(51),_=rmY,z,Y,$,A,O,w,j,H,J,M,X,P,W,D,f,G,Z,T;if(K[0]!==q.onDone||K[1]!==q.onReject||K[2]!==q.toolUseConfirm||K[3]!==q.toolUseContext||K[4]!==q.workerBadge)({file_path:A,old_string:w,new_string:O,replace_all:j}=_(q.toolUseConfirm.input)),$=ud,W=q.toolUseConfirm,D=q.toolUseContext,f=q.onDone,G=q.onReject,Z=q.workerBadge,T="Edit file",M=nmY(Z8(),A),Y=k,X="Do you want to make this edit to",P=" ",z=k,H=!0,J=lmY(A),K[0]=q.onDone,K[1]=q.onReject,K[2]=q.toolUseConfirm,K[3]=q.toolUseContext,K[4]=q.workerBadge,K[5]=z,K[6]=Y,K[7]=$,K[8]=A,K[9]=O,K[10]=w,K[11]=j,K[12]=H,K[13]=J,K[14]=M,K[15]=X,K[16]=P,K[17]=W,K[18]=D,K[19]=f,K[20]=G,K[21]=Z,K[22]=T;else z=K[5],Y=K[6],$=K[7],A=K[8],O=K[9],w=K[10],j=K[11],H=K[12],J=K[13],M=K[14],X=K[15],P=K[16],W=K[17],D=K[18],f=K[19],G=K[20],Z=K[21],T=K[22];let v;if(K[23]!==z||K[24]!==H||K[25]!==J)v=W48.default.createElement(z,{bold:H},J),K[23]=z,K[24]=H,K[25]=J,K[26]=v;else v=K[26];let V;if(K[27]!==Y||K[28]!==v||K[29]!==X||K[30]!==P)V=W48.default.createElement(Y,null,X,P,v,"?"),K[27]=Y,K[28]=v,K[29]=X,K[30]=P,K[31]=V;else V=K[31];let E=j||!1,S;if(K[32]!==O||K[33]!==w||K[34]!==E)S=[{old_string:w,new_string:O,replace_all:E}],K[32]=O,K[33]=w,K[34]=E,K[35]=S;else S=K[35];let R;if(K[36]!==A||K[37]!==S)R=W48.default.createElement(Td8,{file_path:A,edits:S}),K[36]=A,K[37]=S,K[38]=R;else R=K[38];let x;if(K[39]!==$||K[40]!==A||K[41]!==M||K[42]!==V||K[43]!==R||K[44]!==W||K[45]!==D||K[46]!==f||K[47]!==G||K[48]!==Z||K[49]!==T)x=W48.default.createElement($,{toolUseConfirm:W,toolUseContext:D,onDone:f,onReject:G,workerBadge:Z,title:T,subtitle:M,question:V,content:R,path:A,completionType:"str_replace_single",parseInput:_,ideDiffSupport:imY}),K[39]=$,K[40]=A,K[41]=M,K[42]=V,K[43]=R,K[44]=W,K[45]=D,K[46]=f,K[47]=G,K[48]=Z,K[49]=T,K[50]=x;else x=K[50];return x}function rmY(q){return UX.inputSchema.parse(q)}var W48,imY;var idK=y(()=>{q8();Qz7();I7();s6();LK6();XC6();W48=O6(D6(),1),imY={getConfig:(q)=>yd8(q.file_path,q.old_string,q.new_string,q.replace_all),applyChanges:(q,K)=>{let _=K[0];if(_)return{...q,old_string:_.old_string,new_string:_.new_string,replace_all:_.replace_all};return q}}});function omY(q){let K=q.tool;if("getPath"in K&&typeof K.getPath==="function")try{return K.getPath(q.input)}catch{return null}return null}function rdK(q){let K=z6(30),{toolUseConfirm:_,onDone:z,onReject:Y,verbose:$,toolUseContext:A,workerBadge:O}=q,[w]=Aq(),j;if(K[0]!==_)j=omY(_),K[0]=_,K[1]=j;else j=K[1];let H=j,J;if(K[2]!==_.input||K[3]!==_.tool)J=_.tool.userFacingName(_.input),K[2]=_.input,K[3]=_.tool,K[4]=J;else J=K[4];let M=J,X=_.tool.isReadOnly(_.input),W=`${X?"Read":"Edit"} file`,D=amY;if(!H){let V;if(K[5]!==z||K[6]!==Y||K[7]!==_||K[8]!==A||K[9]!==$||K[10]!==O)V=D48.default.createElement(pJ6,{toolUseConfirm:_,toolUseContext:A,onDone:z,onReject:Y,verbose:$,workerBadge:O}),K[5]=z,K[6]=Y,K[7]=_,K[8]=A,K[9]=$,K[10]=O,K[11]=V;else V=K[11];return V}let f;if(K[12]!==w||K[13]!==_.input||K[14]!==_.tool||K[15]!==$)f=_.tool.renderToolUseMessage(_.input,{theme:w,verbose:$}),K[12]=w,K[13]=_.input,K[14]=_.tool,K[15]=$,K[16]=f;else f=K[16];let G;if(K[17]!==f||K[18]!==M)G=D48.default.createElement(u,{flexDirection:"column",paddingX:2,paddingY:1},D48.default.createElement(k,null,M,"(",f,")")),K[17]=f,K[18]=M,K[19]=G;else G=K[19];let Z=G,T=X?"read":"write",v;if(K[20]!==Z||K[21]!==z||K[22]!==Y||K[23]!==H||K[24]!==T||K[25]!==W||K[26]!==_||K[27]!==A||K[28]!==O)v=D48.default.createElement(ud,{toolUseConfirm:_,toolUseContext:A,onDone:z,onReject:Y,workerBadge:O,title:W,content:Z,path:H,parseInput:D,operationType:T,completionType:"tool_use_single"}),K[20]=Z,K[21]=z,K[22]=Y,K[23]=H,K[24]=T,K[25]=W,K[26]=_,K[27]=A,K[28]=O,K[29]=v;else v=K[29];return v}function amY(q){return q}var D48;var odK=y(()=>{q8();s6();sz7();XC6();D48=O6(D6(),1)});function adK(q){let K=z6(15),{file_path:_,content:z,fileExists:Y,oldContent:$}=q,{columns:A}=t1(),O;q:{if(!Y){O=null;break q}let X;if(K[0]!==z||K[1]!==_||K[2]!==$)X=_y({filePath:_,fileContents:$,edits:[{old_string:$,new_string:z,replace_all:!1}]}),K[0]=z,K[1]=_,K[2]=$,K[3]=X;else X=K[3];O=X}let w=O,j;if(K[4]!==z)j=z.split(` |
| 8022 | `)[0]??null,K[4]=z,K[5]=j;else j=K[5];let H=j,J;if(K[6]!==A||K[7]!==z||K[8]!==_||K[9]!==H||K[10]!==w||K[11]!==$)J=w?be(w.map((X)=>NR.createElement(gQ,{key:X.newStart,patch:X,dim:!1,filePath:_,firstLine:H,fileContent:$,width:A-2})),smY):NR.createElement(zy,{code:z||"(No content)",filePath:_}),K[6]=A,K[7]=z,K[8]=_,K[9]=H,K[10]=w,K[11]=$,K[12]=J;else J=K[12];let M;if(K[13]!==J)M=NR.createElement(u,{flexDirection:"column"},NR.createElement(u,{borderColor:"subtle",borderStyle:"dashed",flexDirection:"column",borderLeft:!1,borderRight:!1,paddingX:1},J)),K[13]=J,K[14]=M;else M=K[14];return M}function smY(q){return NR.createElement(LP,{fromLeftEdge:!0,key:`ellipsis-${q}`},NR.createElement(k,{dimColor:!0},"..."))}var NR;var sdK=y(()=>{q8();t4();s6();BQ();gj6();cL6();NR=O6(D6(),1)});import{basename as tmY,relative as emY}from"path";function tdK(q){let K=z6(30),_=KpY,z;if(K[0]!==q.toolUseConfirm.input)z=_(q.toolUseConfirm.input),K[0]=q.toolUseConfirm.input,K[1]=z;else z=K[1];let Y=z,{file_path:$,content:A}=Y,O;if(K[2]!==$){try{O={fileExists:!0,oldContent:xZ($)}}catch(E){let S=E;if(!_7(S))throw S;let R;if(K[4]===Symbol.for("react.memo_cache_sentinel"))R={fileExists:!1,oldContent:""},K[4]=R;else R=K[4];O=R}K[2]=$,K[3]=O}else O=K[3];let{fileExists:w,oldContent:j}=O,H=w?"overwrite":"create",J=q.toolUseConfirm,M=q.toolUseContext,X=q.onDone,P=q.onReject,W=q.workerBadge,D=w?"Overwrite file":"Create file",f;if(K[5]!==$)f=emY(Z8(),$),K[5]=$,K[6]=f;else f=K[6];let G;if(K[7]!==$)G=tmY($),K[7]=$,K[8]=G;else G=K[8];let Z;if(K[9]!==G)Z=f48.default.createElement(k,{bold:!0},G),K[9]=G,K[10]=Z;else Z=K[10];let T;if(K[11]!==H||K[12]!==Z)T=f48.default.createElement(k,null,"Do you want to ",H," ",Z,"?"),K[11]=H,K[12]=Z,K[13]=T;else T=K[13];let v;if(K[14]!==A||K[15]!==w||K[16]!==$||K[17]!==j)v=f48.default.createElement(adK,{file_path:$,content:A,fileExists:w,oldContent:j}),K[14]=A,K[15]=w,K[16]=$,K[17]=j,K[18]=v;else v=K[18];let V;if(K[19]!==$||K[20]!==q.onDone||K[21]!==q.onReject||K[22]!==q.toolUseConfirm||K[23]!==q.toolUseContext||K[24]!==q.workerBadge||K[25]!==T||K[26]!==v||K[27]!==D||K[28]!==f)V=f48.default.createElement(ud,{toolUseConfirm:J,toolUseContext:M,onDone:X,onReject:P,workerBadge:W,title:D,subtitle:f,question:T,content:v,path:$,completionType:"write_file_single",parseInput:_,ideDiffSupport:qpY}),K[19]=$,K[20]=q.onDone,K[21]=q.onReject,K[22]=q.toolUseConfirm,K[23]=q.toolUseContext,K[24]=q.workerBadge,K[25]=T,K[26]=v,K[27]=D,K[28]=f,K[29]=V;else V=K[29];return V}function KpY(q){return QX.inputSchema.parse(q)}var f48,qpY;var edK=y(()=>{q8();s6();ka();I7();y8();ZE();XC6();sdK();f48=O6(D6(),1),qpY={getConfig:(q)=>{let K;try{K=xZ(q.file_path)}catch(_){if(!_7(_))throw _;K=""}return yd8(q.file_path,K,q.content,!1)},applyChanges:(q,K)=>{let _=K[0];if(_)return{...q,content:_.new_string};return q}}});import{relative as _pY}from"path";function qcK(q){let K=z6(5),_;if(K[0]!==q.notebook_path)_=X8().readFile(q.notebook_path,{encoding:"utf-8"}).then(YpY).catch(zpY),K[0]=q.notebook_path,K[1]=_;else _=K[1];let z=_,Y;if(K[2]!==z||K[3]!==q)Y=AA.createElement(Ed8.Suspense,{fallback:null},AA.createElement($pY,{...q,promise:z})),K[2]=z,K[3]=q,K[4]=Y;else Y=K[4];return Y}function zpY(){return null}function YpY(q){return m5(q)}function $pY(q){let K=z6(34),{notebook_path:_,cell_id:z,new_source:Y,cell_type:$,edit_mode:A,verbose:O,width:w,promise:j}=q,H=A===void 0?"replace":A,J=Ed8.use(j),M;if(K[0]!==z||K[1]!==J){q:{if(!J||!z){M="";break q}let S=Y88(z);if(S!==void 0){if(J.cells[S]){let I=J.cells[S].source,B;if(K[3]!==I)B=Array.isArray(I)?I.join(""):I,K[3]=I,K[4]=B;else B=K[4];M=B;break q}M="";break q}let R;if(K[5]!==z)R=(I)=>I.id===z,K[5]=z,K[6]=R;else R=K[6];let x=J.cells.find(R);if(!x){M="";break q}M=Array.isArray(x.source)?x.source.join(""):x.source}K[0]=z,K[1]=J,K[2]=M}else M=K[2];let X=M,P;q:{if(!J||H==="insert"||H==="delete"){P=null;break q}let S;if(K[7]!==Y||K[8]!==_||K[9]!==X)S=_y({filePath:_,fileContents:X,edits:[{old_string:X,new_string:Y,replace_all:!1}],ignoreWhitespace:!1}),K[7]=Y,K[8]=_,K[9]=X,K[10]=S;else S=K[10];P=S}let W=P,D;q:switch(H){case"insert":{D="Insert new cell";break q}case"delete":{D="Delete cell";break q}default:D="Replace cell contents"}let f;if(K[11]!==_||K[12]!==O)f=O?_:_pY(Z8(),_),K[11]=_,K[12]=O,K[13]=f;else f=K[13];let G;if(K[14]!==f)G=AA.createElement(k,{bold:!0},f),K[14]=f,K[15]=G;else G=K[15];let Z=$?` (${$})`:"",T;if(K[16]!==z||K[17]!==D||K[18]!==Z)T=AA.createElement(k,{dimColor:!0},D," for cell ",z,Z),K[16]=z,K[17]=D,K[18]=Z,K[19]=T;else T=K[19];let v;if(K[20]!==G||K[21]!==T)v=AA.createElement(u,{paddingBottom:1,flexDirection:"column"},G,T),K[20]=G,K[21]=T,K[22]=v;else v=K[22];let V;if(K[23]!==$||K[24]!==H||K[25]!==W||K[26]!==Y||K[27]!==_||K[28]!==X||K[29]!==w)V=H==="delete"?AA.createElement(u,{flexDirection:"column",paddingLeft:2},AA.createElement(zy,{code:X,filePath:_})):H==="insert"?AA.createElement(u,{flexDirection:"column",paddingLeft:2},AA.createElement(zy,{code:Y,filePath:$==="markdown"?"file.md":_})):W?be(W.map((S)=>AA.createElement(gQ,{key:S.newStart,patch:S,dim:!1,width:w,filePath:_,firstLine:Y.split(` |
| 8023 | `)[0]??null,fileContent:X})),ApY):AA.createElement(zy,{code:Y,filePath:$==="markdown"?"file.md":_}),K[23]=$,K[24]=H,K[25]=W,K[26]=Y,K[27]=_,K[28]=X,K[29]=w,K[30]=V;else V=K[30];let E;if(K[31]!==v||K[32]!==V)E=AA.createElement(u,{flexDirection:"column"},AA.createElement(u,{borderStyle:"round",flexDirection:"column",paddingX:1},v,V)),K[31]=v,K[32]=V,K[33]=E;else E=K[33];return E}function ApY(q){return AA.createElement(LP,{fromLeftEdge:!0,key:`ellipsis-${q}`},AA.createElement(k,{dimColor:!0},"..."))}var AA,Ed8;var KcK=y(()=>{q8();s6();I7();BQ();e7();vO();ku8();gj6();cL6();AA=O6(D6(),1),Ed8=O6(D6(),1)});import{basename as OpY}from"path";function _cK(q){let K=z6(52),_=wpY,z,Y,$,A,O,w,j,H,J,M,X,P,W,D,f,G,Z;if(K[0]!==q.onDone||K[1]!==q.onReject||K[2]!==q.toolUseConfirm||K[3]!==q.toolUseContext||K[4]!==q.workerBadge){w=_(q.toolUseConfirm.input);let{notebook_path:R,edit_mode:x,cell_type:I}=w;O=R,A=I==="markdown"?"markdown":"python";let B=x==="insert"?"insert this cell into":x==="delete"?"delete this cell from":"make this edit to";$=ud,W=q.toolUseConfirm,D=q.toolUseContext,f=q.onDone,G=q.onReject,Z=q.workerBadge,J="Edit notebook",Y=k,M="Do you want to ",X=B,P=" ",z=k,j=!0,H=OpY(O),K[0]=q.onDone,K[1]=q.onReject,K[2]=q.toolUseConfirm,K[3]=q.toolUseContext,K[4]=q.workerBadge,K[5]=z,K[6]=Y,K[7]=$,K[8]=A,K[9]=O,K[10]=w,K[11]=j,K[12]=H,K[13]=J,K[14]=M,K[15]=X,K[16]=P,K[17]=W,K[18]=D,K[19]=f,K[20]=G,K[21]=Z}else z=K[5],Y=K[6],$=K[7],A=K[8],O=K[9],w=K[10],j=K[11],H=K[12],J=K[13],M=K[14],X=K[15],P=K[16],W=K[17],D=K[18],f=K[19],G=K[20],Z=K[21];let T;if(K[22]!==z||K[23]!==j||K[24]!==H)T=Z48.default.createElement(z,{bold:j},H),K[22]=z,K[23]=j,K[24]=H,K[25]=T;else T=K[25];let v;if(K[26]!==Y||K[27]!==T||K[28]!==M||K[29]!==X||K[30]!==P)v=Z48.default.createElement(Y,null,M,X,P,T,"?"),K[26]=Y,K[27]=T,K[28]=M,K[29]=X,K[30]=P,K[31]=v;else v=K[31];let V=q.verbose?120:80,E;if(K[32]!==w.cell_id||K[33]!==w.cell_type||K[34]!==w.edit_mode||K[35]!==w.new_source||K[36]!==w.notebook_path||K[37]!==q.verbose||K[38]!==V)E=Z48.default.createElement(qcK,{notebook_path:w.notebook_path,cell_id:w.cell_id,new_source:w.new_source,cell_type:w.cell_type,edit_mode:w.edit_mode,verbose:q.verbose,width:V}),K[32]=w.cell_id,K[33]=w.cell_type,K[34]=w.edit_mode,K[35]=w.new_source,K[36]=w.notebook_path,K[37]=q.verbose,K[38]=V,K[39]=E;else E=K[39];let S;if(K[40]!==$||K[41]!==A||K[42]!==O||K[43]!==J||K[44]!==v||K[45]!==E||K[46]!==W||K[47]!==D||K[48]!==f||K[49]!==G||K[50]!==Z)S=Z48.default.createElement($,{toolUseConfirm:W,toolUseContext:D,onDone:f,onReject:G,workerBadge:Z,title:J,question:v,content:E,path:O,completionType:"tool_use_single",languageName:A,parseInput:_}),K[40]=$,K[41]=A,K[42]=O,K[43]=J,K[44]=v,K[45]=E,K[46]=W,K[47]=D,K[48]=f,K[49]=G,K[50]=Z,K[51]=S;else S=K[51];return S}function wpY(q){let K=qp.inputSchema.safeParse(q);if(!K.success)return H6(Error(`Failed to parse notebook edit input: ${K.error.message}`)),{notebook_path:"",new_source:"",cell_id:""};return K.data}var Z48;var zcK=y(()=>{q8();s6();eL6();E8();XC6();KcK();Z48=O6(D6(),1)});function YcK(q){for(let{pattern:K,warning:_}of jpY)if(K.test(q))return _;return null}var jpY;var $cK=y(()=>{jpY=[{pattern:/(?:^|[|;&\n({])\s*(Remove-Item|rm|del|rd|rmdir|ri)\b[^|;&\n}]*-Recurse\b[^|;&\n}]*-Force\b/i,warning:"Note: may recursively force-remove files"},{pattern:/(?:^|[|;&\n({])\s*(Remove-Item|rm|del|rd|rmdir|ri)\b[^|;&\n}]*-Force\b[^|;&\n}]*-Recurse\b/i,warning:"Note: may recursively force-remove files"},{pattern:/(?:^|[|;&\n({])\s*(Remove-Item|rm|del|rd|rmdir|ri)\b[^|;&\n}]*-Recurse\b/i,warning:"Note: may recursively remove files"},{pattern:/(?:^|[|;&\n({])\s*(Remove-Item|rm|del|rd|rmdir|ri)\b[^|;&\n}]*-Force\b/i,warning:"Note: may force-remove files"},{pattern:/\bClear-Content\b[^|;&\n]*\*/i,warning:"Note: may clear content of multiple files"},{pattern:/\bFormat-Volume\b/i,warning:"Note: may format a disk volume"},{pattern:/\bClear-Disk\b/i,warning:"Note: may clear a disk"},{pattern:/\bgit\s+reset\s+--hard\b/i,warning:"Note: may discard uncommitted changes"},{pattern:/\bgit\s+push\b[^|;&\n]*\s+(--force|--force-with-lease|-f)\b/i,warning:"Note: may overwrite remote history"},{pattern:/\bgit\s+clean\b(?![^|;&\n]*(?:-[a-zA-Z]*n|--dry-run))[^|;&\n]*-[a-zA-Z]*f/i,warning:"Note: may permanently delete untracked files"},{pattern:/\bgit\s+stash\s+(drop|clear)\b/i,warning:"Note: may permanently remove stashed changes"},{pattern:/\b(DROP|TRUNCATE)\s+(TABLE|DATABASE|SCHEMA)\b/i,warning:"Note: may drop or truncate database objects"},{pattern:/\bStop-Computer\b/i,warning:"Note: will shut down the computer"},{pattern:/\bRestart-Computer\b/i,warning:"Note: will restart the computer"},{pattern:/\bClear-RecycleBin\b/i,warning:"Note: permanently deletes recycled files"}]});async function AcK(q){if(q.nameType==="application")return null;let K=q.name;if(!K)return null;if(wYK.has(K.toLowerCase()))return null;if(q.nameType==="cmdlet")return K;if(q.elementTypes?.[0]!=="StringConstant")return null;for(let A=0;A<q.args.length;A++){let O=q.elementTypes[A+1];if(O!=="StringConstant"&&O!=="Parameter")return null}let _=K.toLowerCase(),z=await HC6(_),Y=await Pd8(K,q.args,z),$=0;for(let A of Y.split(" ").slice(1)){if(A.includes("\\"))return null;while($<q.args.length){let O=q.args[$];if(O===A)break;if(O.startsWith("-")){if($++,z?.options&&$<q.args.length&&q.args[$]!==A&&!q.args[$].startsWith("-")){let w=O.toLowerCase();if(z.options.find((H)=>Array.isArray(H.name)?H.name.includes(w):H.name===w)?.args)$++}continue}return null}if($>=q.args.length)return null;$++}if(!Y.includes(" ")&&(z?.subcommands?.length||IJ6[_]))return null;return Y}async function OcK(q,K){let _=await EL6(q);if(!_.valid)return[];let z=gX(_).filter((O)=>O.elementType==="CommandAst");if(z.length<=1){let O=z[0]?await AcK(z[0]):null;return O?[O]:[]}let Y=[];for(let O of z){if(K?.(O))continue;let w=await AcK(O);if(w)Y.push(w)}if(Y.length===0)return[];let $=new Map;for(let O of Y){let j=O.split(" ")[0].toLowerCase(),H=$.get(j);if(H)H.push(O);else $.set(j,[O])}let A=[];for(let[O,w]of $){let j=HpY(w);if((j===""?0:G$(j," ")+1)<=1){if((await HC6(O))?.subcommands?.length||IJ6[O])continue}A.push(j)}return A}function HpY(q){if(q.length===0)return"";if(q.length===1)return q[0];let K=q[0].split(" "),_=K.length;for(let z=1;z<q.length;z++){let Y=q[z].split(" "),$=0;while($<_&&$<Y.length&&Y[$].toLowerCase()===K[$].toLowerCase())$++;if(_=$,_===0)break}return K.slice(0,_).join(" ")}var wcK=y(()=>{Bz7();mz7();oa1();Da()});function jcK({suggestions:q=[],onRejectFeedbackChange:K,onAcceptFeedbackChange:_,yesInputMode:z=!1,noInputMode:Y=!1,editablePrefix:$,onEditablePrefixChange:A}){let O=[];if(z)O.push({type:"input",label:"Yes",value:"yes",placeholder:"and tell Claude what to do next",onChange:_,allowEmptySubmitToCancel:!0});else O.push({label:"Yes",value:"yes"});if(WU()&&q.length>0){let w=q.some((j)=>j.type==="addDirectories"||j.type==="addRules"&&j.rules?.some((H)=>H.toolName!==s9));if($!==void 0&&A&&!w)O.push({type:"input",label:"Yes, and don’t ask again for",value:"yes-prefix-edited",placeholder:"command prefix (e.g., Get-Process:*)",initialValue:$,onChange:A,allowEmptySubmitToCancel:!0,showLabelWithValue:!0,labelValueSeparator:": ",resetCursorOnUpdate:!0});else{let j=kd8(q,s9);if(j)O.push({label:j,value:"yes-apply-suggestions"})}}if(Y)O.push({type:"input",label:"No",value:"no",placeholder:"and tell Claude what to do differently",onChange:K,allowEmptySubmitToCancel:!0});else O.push({label:"No",value:"no"});return O}var HcK=y(()=>{iu();rz7()});function JcK(q){let{toolUseConfirm:K,toolUseContext:_,onDone:z,onReject:Y,workerBadge:$}=q,{command:A,description:O}=mj6.inputSchema.parse(K.input),[w]=Aq(),j=Zd8({toolName:K.tool.name,toolInput:K.input,toolDescription:K.description,messages:_.messages}),{yesInputMode:H,noInputMode:J,yesFeedbackModeEntered:M,noFeedbackModeEntered:X,acceptFeedback:P,rejectFeedback:W,setAcceptFeedback:D,setRejectFeedback:f,focusedOption:G,handleInputModeToggle:Z,handleReject:T,handleFocus:v}=vd8({toolUseConfirm:K,onDone:z,onReject:Y,explainerVisible:j.visible}),V=g8("tengu_destructive_command_warning",!1)?YcK(A):null,[E,S]=ZY.useState(!1),[R,x]=ZY.useState(A.includes(` |
nothing calls this directly
no test coverage detected