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

Function vdK

package/cli.js:8001–8010  ·  view source on GitHub ↗
({toolName:q,toolInput:K,toolDescription:_,messages:z,signal:Y})

Source from the content-addressed store, hash-verified

7999 (No answer provided)`}).join(`
8000`)}`;if(T)d("tengu_ask_user_question_finish_plan_interview",{source:T,questionCount:j.length,isInPlanMode:F,interviewPhaseEnabled:F&&l2()});let _6=await xz7(C);z(),_.onReject(Y6,_6&&_6.length>0?_6:void 0)},K[40]=C,K[41]=q6,K[42]=F,K[43]=T,K[44]=z,K[45]=j,K[46]=_,K[47]=N6;else N6=K[47];let Z6=N6,V6;if(K[48]!==C||K[49]!==F||K[50]!==T||K[51]!==z||K[52]!==e||K[53]!==j||K[54]!==_)V6=async(Q6)=>{if(T)d("tengu_ask_user_question_accepted",{source:T,questionCount:j.length,answerCount:Object.keys(Q6).length,isInPlanMode:F,interviewPhaseEnabled:F&&l2()});let Y6={};for(let W6 of j){let v6=Q6[W6.question],m6=e[W6.question]?.textInputValue,H8=(v6?W6.options.find((M8)=>M8.label===v6):void 0)?.preview;if(H8||m6?.trim())Y6[W6.question]={...H8&&{preview:H8},...m6?.trim()&&{notes:m6.trim()}}}let _6={..._.input,answers:Q6,...Object.keys(Y6).length>0&&{annotations:Y6}},F6=await xz7(C);z(),_.onAllow(_6,[],void 0,F6&&F6.length>0?F6:void 0)},K[48]=C,K[49]=F,K[50]=T,K[51]=z,K[52]=e,K[53]=j,K[54]=_,K[55]=V6;else V6=K[55];let y6=V6,T6;if(K[56]!==q6||K[57]!==V||K[58]!==j.length||K[59]!==G6||K[60]!==y6)T6=(Q6,Y6,_6,F6)=>{let W6=F6===void 0?!0:F6,v6,m6=Array.isArray(Y6);if(m6)v6=Y6.join(", ");else if(_6)v6=Object.values(V[Q6]??{}).filter(ZuY).length>0?`${_6} (Image attached)`:_6;else if(Y6==="__other__")v6=Object.values(V[Q6]??{}).filter(fuY).length>0?"(Image attached)":Y6;else v6=Y6;let K8=j.length===1;if(!m6&&K8&&W6){let H8={...q6,[Q6]:v6};y6(H8).catch(H6);return}G6(Q6,v6,W6)},K[56]=q6,K[57]=V,K[58]=j.length,K[59]=G6,K[60]=y6,K[61]=T6;else T6=K[61];let n6=T6,o6;if(K[62]!==q6||K[63]!==J6||K[64]!==y6)o6=function(Y6){if(Y6==="cancel"){J6();return}if(Y6==="submit")y6(q6).catch(H6)},K[62]=q6,K[63]=J6,K[64]=y6,K[65]=o6;else o6=K[65];let I6=o6,C6=l?(j?.length||1)-1:j?.length||0,l6;if(K[66]!==t||K[67]!==M6)l6=()=>{if(t>0)M6()},K[66]=t,K[67]=M6,K[68]=l6;else l6=K[68];let S6=l6,E6;if(K[69]!==t||K[70]!==C6||K[71]!==$6)E6=()=>{if(t<C6)$6()},K[69]=t,K[70]=C6,K[71]=$6,K[72]=E6;else E6=K[72];let R6=E6,h6;if(K[73]!==R6||K[74]!==S6)h6={"tabs:previous":S6,"tabs:next":R6},K[73]=R6,K[74]=S6,K[75]=h6;else h6=K[75];let x6=!(i&&!s),b6;if(K[76]!==x6)b6={context:"Tabs",isActive:x6},K[76]=x6,K[77]=b6;else b6=K[77];if(o7(h6,b6),o){let Q6;if(K[78]!==o.question)Q6=(W6,v6,m6,K8,H8)=>x(o.question,W6,v6,m6,K8,H8),K[78]=o.question,K[79]=Q6;else Q6=K[79];let Y6;if(K[80]!==o.question||K[81]!==V)Y6=V[o.question]??{},K[80]=o.question,K[81]=V,K[82]=Y6;else Y6=K[82];let _6;if(K[83]!==o.question)_6=(W6)=>B(o.question,W6),K[83]=o.question,K[84]=_6;else _6=K[84];let F6;if(K[85]!==q6||K[86]!==o||K[87]!==t||K[88]!==G||K[89]!==Z||K[90]!==J6||K[91]!==Z6||K[92]!==n6||K[93]!==f6||K[94]!==R6||K[95]!==S6||K[96]!==l||K[97]!==$6||K[98]!==c||K[99]!==e||K[100]!==j||K[101]!==w6||K[102]!==Q6||K[103]!==Y6||K[104]!==_6||K[105]!==j6)F6=oX.default.createElement(oX.default.Fragment,null,oX.default.createElement(dQK,{question:o,questions:j,currentQuestionIndex:t,answers:q6,questionStates:e,hideSubmitTab:l,minContentHeight:G,minContentWidth:Z,planFilePath:c,onUpdateQuestionState:j6,onAnswer:n6,onTextInputFocus:w6,onCancel:J6,onSubmit:$6,onTabPrev:S6,onTabNext:R6,onRespondToClaude:f6,onFinishPlanInterview:Z6,onImagePaste:Q6,pastedContents:Y6,onRemoveImage:_6})),K[85]=q6,K[86]=o,K[87]=t,K[88]=G,K[89]=Z,K[90]=J6,K[91]=Z6,K[92]=n6,K[93]=f6,K[94]=R6,K[95]=S6,K[96]=l,K[97]=$6,K[98]=c,K[99]=e,K[100]=j,K[101]=w6,K[102]=Q6,K[103]=Y6,K[104]=_6,K[105]=j6,K[106]=F6;else F6=K[106];return F6}if(s){let Q6;if(K[107]!==n||K[108]!==q6||K[109]!==t||K[110]!==G||K[111]!==I6||K[112]!==j||K[113]!==_.permissionResult)Q6=oX.default.createElement(oX.default.Fragment,null,oX.default.createElement(lQK,{questions:j,currentQuestionIndex:t,answers:q6,allQuestionsAnswered:n,permissionResult:_.permissionResult,minContentHeight:G,onFinalResponse:I6})),K[107]=n,K[108]=q6,K[109]=t,K[110]=G,K[111]=I6,K[112]=j,K[113]=_.permissionResult,K[114]=Q6;else Q6=K[114];return Q6}return null}function fuY(q){return q.type==="image"}function ZuY(q){return q.type==="image"}function GuY(q){return q.toolPermissionContext.mode}function TuY(q){return q.type==="image"}function vuY(q){return Object.values(q)}function kuY(q){return q.preview}async function xz7(q){if(q.length===0)return;return Promise.all(q.map(async(K)=>{let _={type:"image",source:{type:"base64",media_type:K.mediaType||"image/png",data:K.content}};return(await Tr(_)).block}))}var oX,oQK=12,PuY=40,WuY=15;var sQK=y(()=>{q8();tC();t4();Q5();s6();Oq();k8();C7();vm8();sO6();RL();Ko();E8();aa6();pK6();SJ();cQK();nQK();rQK();oX=O6(D6(),1)});function tQK(q){for(let{pattern:K,warning:_}of VuY)if(K.test(q))return _;return null}var VuY;var eQK=y(()=>{VuY=[{pattern:/\bgit\s+reset\s+--hard\b/,warning:"Note: may discard uncommitted changes"},{pattern:/\bgit\s+push\b[^;&|\n]*[ \t](--force|--force-with-lease|-f)\b/,warning:"Note: may overwrite remote history"},{pattern:/\bgit\s+clean\b(?![^;&|\n]*(?:-[a-zA-Z]*n|--dry-run))[^;&|\n]*-[a-zA-Z]*f/,warning:"Note: may permanently delete untracked files"},{pattern:/\bgit\s+checkout\s+(--\s+)?\.[ \t]*($|[;&|\n])/,warning:"Note: may discard all working tree changes"},{pattern:/\bgit\s+restore\s+(--\s+)?\.[ \t]*($|[;&|\n])/,warning:"Note: may discard all working tree changes"},{pattern:/\bgit\s+stash[ \t]+(drop|clear)\b/,warning:"Note: may permanently remove stashed changes"},{pattern:/\bgit\s+branch\s+(-D[ \t]|--delete\s+--force|--force\s+--delete)\b/,warning:"Note: may force-delete a branch"},{pattern:/\bgit\s+(commit|push|merge)\b[^;&|\n]*--no-verify\b/,warning:"Note: may skip safety hooks"},{pattern:/\bgit\s+commit\b[^;&|\n]*--amend\b/,warning:"Note: may rewrite the last commit"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*[rR][a-zA-Z]*f|(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*f[a-zA-Z]*[rR]/,warning:"Note: may recursively force-remove files"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*[rR]/,warning:"Note: may recursively remove files"},{pattern:/(^|[;&|\n]\s*)rm\s+-[a-zA-Z]*f/,warning:"Note: may force-remove files"},{pattern:/\b(DROP|TRUNCATE)\s+(TABLE|DATABASE|SCHEMA)\b/i,warning:"Note: may drop or truncate database objects"},{pattern:/\bDELETE\s+FROM\s+\w+[ \t]*(;|"|'|\n|$)/i,warning:"Note: may delete all rows from a database table"},{pattern:/\bkubectl\s+delete\b/,warning:"Note: may delete Kubernetes resources"},{pattern:/\bterraform\s+destroy\b/,warning:"Note: may destroy Terraform infrastructure"}]});function uz7(q,K){if(!K?.subcommands?.length)return!1;let _=q.toLowerCase();return K.subcommands.some((z)=>Array.isArray(z.name)?z.name.some((Y)=>Y.toLowerCase()===_):z.name.toLowerCase()===_)}function qdK(q,K,_){if(_?.options){let z=_.options.find((Y)=>Array.isArray(Y.name)?Y.name.includes(q):Y.name===q);if(z)return!!z.args}if(_?.subcommands?.length&&K&&!K.startsWith("-"))return!uz7(K,_);return!1}function yuY(q,K){for(let _=0;_<q.length;_++){let z=q[_];if(!z)continue;if(z.startsWith("-")){if(qdK(z,q[_+1],K))_++;continue}if(!K?.subcommands?.length)return z;if(uz7(z,K))return z}return}async function Pd8(q,K,_){let z=await EuY(q,K,_),Y=[q],$=!!_?.subcommands?.length,A=!1;for(let O=0;O<K.length;O++){let w=K[O];if(!w||Y.length>=z)break;if(w.startsWith("-")){if(w==="-c"&&["python","python3"].includes(q.toLowerCase()))break;if(_?.options){let j=_.options.find((H)=>Array.isArray(H.name)?H.name.includes(w):H.name===w);if(j?.args&&jC6(j.args).some((H)=>H?.isCommand||H?.isModule)){Y.push(w);continue}}if($&&!A){if(qdK(w,K[O+1],_))O++;continue}break}if(await LuY(w,K.slice(0,O),_))break;if($&&!A)A=uz7(w,_);Y.push(w)}return Y.join(" ")}async function EuY(q,K,_){let z=yuY(K,_),Y=q.toLowerCase(),$=z?`${Y} ${z.toLowerCase()}`:Y;if(IJ6[$])return IJ6[$];if(IJ6[Y])return IJ6[Y];if(!_)return 2;if(_.options&&K.some((A)=>A?.startsWith("-")))for(let A of K){if(!A?.startsWith("-"))continue;let O=_.options.find((w)=>Array.isArray(w.name)?w.name.includes(A):w.name===A);if(O?.args&&jC6(O.args).some((w)=>w?.isCommand||w?.isModule))return 3}if(z&&_.subcommands?.length){let A=z.toLowerCase(),O=_.subcommands.find((w)=>Array.isArray(w.name)?w.name.some((j)=>j.toLowerCase()===A):w.name.toLowerCase()===A);if(O){if(O.args){let w=jC6(O.args);if(w.some((j)=>j?.isCommand))return 3;if(w.some((j)=>j?.isVariadic))return 2}if(O.subcommands?.length)return 4;if(!O.args)return 2;return 3}}if(_.args){let A=jC6(_.args);if(A.some((O)=>O?.isCommand))return!Array.isArray(_.args)&&_.args.isCommand?2:Math.min(2+A.findIndex((O)=>O?.isCommand),3);if(!_.subcommands?.length){if(A.some((O)=>O?.isVariadic))return 1;if(A[0]&&!A[0].isOptional)return 2}}return _.args&&jC6(_.args).some((A)=>A?.isDangerous)?3:2}async function LuY(q,K,_){if(q.startsWith("-"))return!0;let z=q.lastIndexOf("."),Y=z>0&&z<q.length-1&&!q.substring(z+1).includes(":"),$=q.includes("/")||Y,A=NuY.some((O)=>q.startsWith(O));if(!$&&!A)return!1;if(_?.options&&K.length>0&&K[K.length-1]==="-m"){let O=_.options.find((w)=>Array.isArray(w.name)?w.name.includes("-m"):w.name==="-m");if(O?.args&&jC6(O.args).some((w)=>w?.isModule))return!1}return!0}var NuY,IJ6,jC6=(q)=>Array.isArray(q)?q:[q];var mz7=y(()=>{NuY=["http://","https://","ftp://"],IJ6={rg:2,"pre-commit":2,gcloud:4,"gcloud compute":6,"gcloud beta":6,aws:4,az:4,kubectl:3,docker:3,dotnet:3,"git push":2}});var RuY,KdK;var _dK=y(()=>{RuY={name:"alias",description:"Create or list command aliases",args:{name:"definition",description:"Alias definition in the form name=value",isOptional:!0,isVariadic:!0}},KdK=RuY});var huY,zdK;var YdK=y(()=>{huY={name:"nohup",description:"Run a command immune to hangups",args:{name:"command",description:"Command to run with nohup",isCommand:!0}},zdK=huY});var $dK;var AdK=y(()=>{$dK={name:"pyright",description:"Type checker for Python",options:[{name:["--help","-h"],description:"Show help message"},{name:"--version",description:"Print pyright version and exit"},{name:["--watch","-w"],description:"Continue to run and watch for changes"},{name:["--project","-p"],description:"Use the configuration file at this location",args:{name:"FILE OR DIRECTORY"}},{name:"-",description:"Read file or directory list from stdin"},{name:"--createstub",description:"Create type stub file(s) for import",args:{name:"IMPORT"}},{name:["--typeshedpath","-t"],description:"Use typeshed type stubs at this location",args:{name:"DIRECTORY"}},{name:"--verifytypes",description:"Verify completeness of types in py.typed package",args:{name:"IMPORT"}},{name:"--ignoreexternal",description:"Ignore external imports for --verifytypes"},{name:"--pythonpath",description:"Path to the Python interpreter",args:{name:"FILE"}},{name:"--pythonplatform",description:"Analyze for platform",args:{name:"PLATFORM"}},{name:"--pythonversion",description:"Analyze for Python version",args:{name:"VERSION"}},{name:["--venvpath","-v"],description:"Directory that contains virtual environments",args:{name:"DIRECTORY"}},{name:"--outputjson",description:"Output results in JSON format"},{name:"--verbose",description:"Emit verbose diagnostics"},{name:"--stats",description:"Print detailed performance stats"},{name:"--dependencies",description:"Emit import dependency information"},{name:"--level",description:"Minimum diagnostic level",args:{name:"LEVEL"}},{name:"--skipunannotated",description:"Skip type analysis of unannotated functions"},{name:"--warnings",description:"Use exit code of 1 if warnings are reported"},{name:"--threads",description:"Use up to N threads to parallelize type checking",args:{name:"N",isOptional:!0}}],args:{name:"files",description:"Specify files or directories to analyze (overrides config file)",isVariadic:!0,isOptional:!0}}});var SuY,OdK;var wdK=y(()=>{SuY={name:"sleep",description:"Delay for a specified amount of time",args:{name:"duration",description:"Duration to sleep (seconds or with suffix like 5s, 2m, 1h)",isOptional:!1}},OdK=SuY});var CuY,jdK;var HdK=y(()=>{CuY={name:"srun",description:"Run a command on SLURM cluster nodes",options:[{name:["-n","--ntasks"],description:"Number of tasks",args:{name:"count",description:"Number of tasks to run"}},{name:["-N","--nodes"],description:"Number of nodes",args:{name:"count",description:"Number of nodes to allocate"}}],args:{name:"command",description:"Command to run on the cluster",isCommand:!0}},jdK=CuY});var buY,JdK;var MdK=y(()=>{buY={name:"time",description:"Time a command",args:{name:"command",description:"Command to time",isCommand:!0}},JdK=buY});var xuY,XdK;var PdK=y(()=>{xuY={name:"timeout",description:"Run a command with a time limit",args:[{name:"duration",description:"Duration to wait before timing out (e.g., 10, 5s, 2m)",isOptional:!1},{name:"command",description:"Command to run",isCommand:!0}]},XdK=xuY});var pz7;var WdK=y(()=>{_dK();YdK();AdK();wdK();HdK();MdK();PdK();pz7=[$dK,XdK,OdK,KdK,zdK,JdK,jdK]});async function IuY(q){if(!q||q.includes("/")||q.includes("\\"))return null;if(q.includes(".."))return null;if(q.startsWith("-")&&q!=="-")return null;try{let K=await import(`@withfig/autocomplete/build/${q}.js`);return K.default||K}catch{return null}}var HC6;var Bz7=y(()=>{VB();WdK();HC6=HP(async(q)=>{return pz7.find((_)=>_.name===q)||await IuY(q)||null},(q)=>q)});function puY(q,K){if(!K?.subcommands?.length)return!1;return K.subcommands.some((_)=>Array.isArray(_.name)?_.name.includes(q):_.name===q)}async function Wd8(q,K=0,_=0){if(_>2||K>10)return null;let z=await Zm1(q);if(!z)return null;if(!z.commandNode)return{commandPrefix:null};let{envVars:Y,commandNode:$}=z,A=Gm1($),[O,...w]=A;if(!O)return{commandPrefix:null};let j=await HC6(O),H=muY.has(O)||j?.args&&fdK(j.args).some((X)=>X?.isCommand);if(H&&w[0]&&puY(w[0],j))H=!1;let J=H?await BuY(O,w,K,_):await Pd8(O,w,j);if(J===null&&K===0&&H)return null;let M=Y.length?`${Y.join(" ")} `:"";return{commandPrefix:J?M+J:null}}async function BuY(q,K,_,z){let Y=await HC6(q);if(Y?.args){let O=fdK(Y.args).findIndex((w)=>w?.isCommand);if(O!==-1){let w=[q];for(let j=0;j<K.length&&j<=O;j++)if(j===O){let H=await Wd8(K.slice(j).join(" "),_+1,z+1);if(H?.commandPrefix)return w.push(...H.commandPrefix.split(" ")),w.join(" ");break}else if(K[j]&&!K[j].startsWith("-")&&!DdK.test(K[j]))w.push(K[j])}}let $=K.find((O)=>!O.startsWith("-")&&!uuY.test(O)&&!DdK.test(O));if(!$)return q;let A=await Wd8(K.slice(K.indexOf($)).join(" "),_+1,z+1);return!A?.commandPrefix?null:`${q} ${A.commandPrefix}`}async function ZdK(q,K){let _=F2(q);if(_.length<=1){let A=await Wd8(q);return A?.commandPrefix?[A.commandPrefix]:[]}let z=[];for(let A of _){let O=A.trim();if(K?.(O))continue;let w=await Wd8(O);if(w?.commandPrefix)z.push(w.commandPrefix)}if(z.length===0)return[];let Y=new Map;for(let A of z){let O=A.split(" ")[0],w=Y.get(O);if(w)w.push(A);else Y.set(O,[A])}let $=[];for(let[,A]of Y)$.push(guY(A));return $}function guY(q){if(q.length===0)return"";if(q.length===1)return q[0];let _=q[0].split(" "),z=_.length;for(let Y=1;Y<q.length;Y++){let $=q[Y].split(" "),A=0;while(A<z&&A<$.length&&_[A]===$[A])A++;z=A}return _.slice(0,Math.max(1,z)).join(" ")}var uuY,DdK,muY,fdK=(q)=>Array.isArray(q)?q:[q];var GdK=y(()=>{mz7();SG();qw6();Bz7();uuY=/^\d+$/,DdK=/^[A-Za-z_][A-Za-z0-9_]*=/,muY=new Set(["nice"])});async function MZ(q){d("tengu_unary_event",{event:q.event,completion_type:q.completion_type,language_name:await q.metadata.language_name,message_id:q.metadata.message_id,platform:q.metadata.platform,...q.metadata.hasFeedback!==void 0&&{hasFeedback:q.metadata.hasFeedback}})}var JC6=y(()=>{k8()});function tb(q,K){let _=s7(),z=Dd8.useRef(null);Dd8.useEffect(()=>{if(z.current===q.toolUseID)return;z.current=q.toolUseID,_((Y)=>({...Y,attribution:{...Y.attribution,permissionPromptCount:Y.attribution.permissionPromptCount+1}})),d("tengu_tool_use_show_permission_request",{messageID:q.assistantMessage.message.id,toolName:wK(q.tool.name),isMcp:q.tool.isMcp??!1,decisionReasonType:q.permissionResult.decisionReason?.type,sandboxEnabled:M7.isSandboxingEnabled()}),MZ({completion_type:K.completion_type,event:"response",metadata:{language_name:K.language_name,message_id:q.assistantMessage.message.id,platform:a1.platform}})},[q,K,_])}var Dd8;var uJ6=y(()=>{k8();kj();p0();SG();LH();Gf();K$();C7();y_();l8();JC6();Dd8=O6(D6(),1)});function TdK(q){if(q.type==="classifier")return`${$8.bold(q.classifier)} classifier: ${q.reason}`;switch(q.type){case"rule":return`${$8.bold(G9(q.rule.ruleValue))} rule from ${$A8(q.rule.source)}`;case"mode":return`${Ml(q.mode)} mode`;case"sandboxOverride":return"Requires permission to bypass sandbox";case"workingDir":return q.reason;case"safetyCheck":case"other":return q.reason;case"permissionPromptTool":return`${$8.bold(q.permissionPromptToolName)} permission prompt tool`;case"hook":return q.reason?`${$8.bold(q.hookName)} hook: ${q.reason}`:`${$8.bold(q.hookName)} hook`;case"asyncAgent":return q.reason;default:return""}}function UuY(q){let K=z6(10),{title:_,decisionReason:z}=q,[Y]=Aq(),$;if(K[0]!==z||K[1]!==Y)$=function(){switch(z.type){case"subcommandResults":return jK.default.createElement(u,{flexDirection:"column"},Array.from(z.reasons.entries()).map((J)=>{let[M,X]=J,P=X.behavior==="allow"?h7("success",Y)(t6.tick):h7("error",Y)(t6.cross);return jK.default.createElement(u,{flexDirection:"column",key:M},jK.default.createElement(k,null,P," ",M),X.decisionReason!==void 0&&X.decisionReason.type!=="subcommandResults"&&jK.default.createElement(k,null,jK.default.createElement(k,{dimColor:!0}," ","⎿"," "),jK.default.createElement(B5,null,TdK(X.decisionReason))),X.behavior==="ask"&&jK.default.createElement(QuY,{suggestions:X.suggestions}))}));default:return jK.default.createElement(k,null,jK.default.createElement(B5,null,TdK(z)))}},K[0]=z,K[1]=Y,K[2]=$;else $=K[2];let A=$,O;if(K[3]!==_)O=_&&jK.default.createElement(k,null,_),K[3]=_,K[4]=O;else O=K[4];let w;if(K[5]!==A)w=A(),K[5]=A,K[6]=w;else w=K[6];let j;if(K[7]!==O||K[8]!==w)j=jK.default.createElement(u,{flexDirection:"column"},O,w),K[7]=O,K[8]=w,K[9]=j;else j=K[9];return j}function QuY(q){let K=z6(18),{suggestions:_}=q,z,Y,$,A,O,w,j;if(K[0]!==_){j=Symbol.for("react.early_return_sentinel");q:{let M=DU(_);if(M.length===0){j=null;break q}if(Y=k,K[8]===Symbol.for("react.memo_cache_sentinel"))A=jK.default.createElement(k,{dimColor:!0}," ","⎿"," "),K[8]=A;else A=K[8];O="Suggested rules:",w=" ",z=B5,$=M.map(duY).join(", ")}K[0]=_,K[1]=z,K[2]=Y,K[3]=$,K[4]=A,K[5]=O,K[6]=w,K[7]=j}else z=K[1],Y=K[2],$=K[3],A=K[4],O=K[5],w=K[6],j=K[7];if(j!==Symbol.for("react.early_return_sentinel"))return j;let H;if(K[9]!==z||K[10]!==$)H=jK.default.createElement(z,null,$),K[9]=z,K[10]=$,K[11]=H;else H=K[11];let J;if(K[12]!==Y||K[13]!==A||K[14]!==O||K[15]!==w||K[16]!==H)J=jK.default.createElement(Y,null,A,O,w,H),K[12]=Y,K[13]=A,K[14]=O,K[15]=w,K[16]=H,K[17]=J;else J=K[17];return J}function duY(q){return $8.bold(G9(q))}function cuY(q){if(!q)return[];return q.flatMap((K)=>{switch(K.type){case"addDirectories":return K.directories;default:return[]}})}function luY(q){if(!q)return;let K=q.findLast((_)=>_.type==="setMode");return K?.type==="setMode"?K.mode:void 0}function nuY(q){let K=z6(22),{suggestions:_,width:z}=q;if(!_||_.length===0){let A;if(K[0]===Symbol.for("react.memo_cache_sentinel"))A=jK.default.createElement(k,{dimColor:!0},"Suggestions "),K[0]=A;else A=K[0];let O;if(K[1]!==z)O=jK.default.createElement(u,{justifyContent:"flex-end",minWidth:z},A),K[1]=z,K[2]=O;else O=K[2];let w;if(K[3]===Symbol.for("react.memo_cache_sentinel"))w=jK.default.createElement(k,null,"None"),K[3]=w;else w=K[3];let j;if(K[4]!==O)j=jK.default.createElement(u,{flexDirection:"row"},O,w),K[4]=O,K[5]=j;else j=K[5];return j}let Y,$;if(K[6]!==_||K[7]!==z){$=Symbol.for("react.early_return_sentinel");q:{let A=DU(_),O=cuY(_),w=luY(_);if(A.length===0&&O.length===0&&!w){let X;if(K[10]===Symbol.for("react.memo_cache_sentinel"))X=jK.default.createElement(k,{dimColor:!0},"Suggestion "),K[10]=X;else X=K[10];let P;if(K[11]!==z)P=jK.default.createElement(u,{justifyContent:"flex-end",minWidth:z},X),K[11]=z,K[12]=P;else P=K[12];let W;if(K[13]===Symbol.for("react.memo_cache_sentinel"))W=jK.default.createElement(k,null,"None"),K[13]=W;else W=K[13];let D;if(K[14]!==P)D=jK.default.createElement(u,{flexDirection:"row"},P,W),K[14]=P,K[15]=D;else D=K[15];$=D;break q}let j;if(K[16]===Symbol.for("react.memo_cache_sentinel"))j=jK.default.createElement(k,{dimColor:!0},"Suggestions "),K[16]=j;else j=K[16];let H;if(K[17]!==z)H=jK.default.createElement(u,{justifyContent:"flex-end",minWidth:z},j),K[17]=z,K[18]=H;else H=K[18];let J;if(K[19]===Symbol.for("react.memo_cache_sentinel"))J=jK.default.createElement(k,null," "),K[19]=J;else J=K[19];let M;if(K[20]!==H)M=jK.default.createElement(u,{flexDirection:"row"},H,J),K[20]=H,K[21]=M;else M=K[21];Y=jK.default.createElement(u,{flexDirection:"column"},M,A.length>0&&jK.default.createElement(u,{flexDirection:"row"},jK.default.createElement(u,{justifyContent:"flex-end",minWidth:z},jK.default.createElement(k,{dimColor:!0}," Rules ")),jK.default.createElement(u,{flexDirection:"column"},A.map(ruY))),O.length>0&&jK.default.createElement(u,{flexDirection:"row"},jK.default.createElement(u,{justifyContent:"flex-end",minWidth:z},jK.default.createElement(k,{dimColor:!0}," Directories ")),jK.default.createElement(u,{flexDirection:"column"},O.map(iuY))),w&&jK.default.createElement(u,{flexDirection:"row"},jK.default.createElement(u,{justifyContent:"flex-end",minWidth:z},jK.default.createElement(k,{dimColor:!0}," Mode ")),jK.default.createElement(k,null,Ml(w))))}K[6]=_,K[7]=z,K[8]=Y,K[9]=$}else Y=K[8],$=K[9];if($!==Symbol.for("react.early_return_sentinel"))return $;return Y}function iuY(q,K){return jK.default.createElement(k,{key:K},t6.bullet," ",q)}function ruY(q,K){return jK.default.createElement(k,{key:K},t6.bullet," ",G9(q))}function fd8(q){let K=z6(25),{permissionResult:_,toolName:z}=q,Y=P8(auY),$=_.decisionReason,A="suggestions"in _?_.suggestions:void 0,O;if(K[0]!==A||K[1]!==z||K[2]!==Y){q:{let f=M7.isSandboxingEnabled()&&M7.isAutoAllowBashIfSandboxedEnabled(),G=Fh6(Y,{sandboxAutoAllowEnabled:f}),Z=DU(A);if(Z.length>0){O=G.filter((T)=>Z.some((v)=>v.toolName===T.rule.ruleValue.toolName&&v.ruleContent===T.rule.ruleValue.ruleContent));break q}if(z){let T;if(K[4]!==z)T=(v)=>v.rule.ruleValue.toolName===z,K[4]=z,K[5]=T;else T=K[5];O=G.filter(T);break q}O=G}K[0]=A,K[1]=z,K[2]=Y,K[3]=O}else O=K[3];let w=O,j;if(K[6]===Symbol.for("react.memo_cache_sentinel"))j=jK.default.createElement(u,{justifyContent:"flex-end",minWidth:10},jK.default.createElement(k,{dimColor:!0},"Behavior ")),K[6]=j;else j=K[6];let H;if(K[7]!==_.behavior)H=jK.default.createElement(u,{flexDirection:"row"},j,jK.default.createElement(k,null,_.behavior)),K[7]=_.behavior,K[8]=H;else H=K[8];let J;if(K[9]!==_.behavior||K[10]!==_.message)J=_.behavior!=="allow"&&jK.default.createElement(u,{flexDirection:"row"},jK.default.createElement(u,{justifyContent:"flex-end",minWidth:10},jK.default.createElement(k,{dimColor:!0},"Message ")),jK.default.createElement(k,null,_.message)),K[9]=_.behavior,K[10]=_.message,K[11]=J;else J=K[11];let M;if(K[12]===Symbol.for("react.memo_cache_sentinel"))M=jK.default.createElement(u,{justifyContent:"flex-end",minWidth:10},jK.default.createElement(k,{dimColor:!0},"Reason ")),K[12]=M;else M=K[12];let X;if(K[13]!==$)X=jK.default.createElement(u,{flexDirection:"row"},M,$===void 0?jK.default.createElement(k,null,"undefined"):jK.default.createElement(UuY,{decisionReason:$})),K[13]=$,K[14]=X;else X=K[14];let P;if(K[15]!==A)P=jK.default.createElement(nuY,{suggestions:A,width:10}),K[15]=A,K[16]=P;else P=K[16];let W;if(K[17]!==w)W=w.length>0&&jK.default.createElement(u,{flexDirection:"column",marginTop:1},jK.default.createElement(k,{color:"warning"},t6.warning," Unreachable Rules (",w.length,")"),w.map(ouY)),K[17]=w,K[18]=W;else W=K[18];let D;if(K[19]!==H||K[20]!==J||K[21]!==X||K[22]!==P||K[23]!==W)D=jK.default.createElement(u,{flexDirection:"column"},H,J,X,P,W),K[19]=H,K[20]=J,K[21]=X,K[22]=P,K[23]=W,K[24]=D;else D=K[24];return D}function ouY(q,K){return jK.default.createElement(u,{key:K,flexDirection:"column",marginLeft:2},jK.default.createElement(k,{color:"warning"},G9(q.rule.ruleValue)),jK.default.createElement(k,{dimColor:!0}," ",q.reason),jK.default.createElement(k,{dimColor:!0}," ","Fix: ",q.fix))}function auY(q){return q.toolPermissionContext}var jK;var gz7=y(()=>{q8();x3();bq();s6();C7();yW();LH();Gf();ig8();K$();kO();jK=O6(D6(),1)});function YmY(q){if(typeof q==="string")return q;try{return g6(q,null,2)}catch{return String(q)}}function $mY(q,K=1000){let _=q.filter(($)=>$.type==="assistant").slice(-3),z=[],Y=0;for(let $ of _.reverse()){let A=$.message.content.filter((O)=>O.type==="text").map((O)=>("text"in O)?O.text:"").join(" ");if(A&&Y<K){let O=K-Y,w=A.length>O?A.slice(0,O)+"...":A;z.unshift(w),Y+=w.length}}return z.join(`
8001
8002`)}function Fz7(){return j8().permissionExplainerEnabled!==!1}async function vdK({toolName:q,toolInput:K,toolDescription:_,messages:z,signal:Y}){if(!Fz7())return null;let $=Date.now();try{let A=YmY(K),O=z?.length?$mY(z):"",w=`Tool: ${q}
8003${_?`Description: ${_}
8004`:""}
8005Input:
8006${A}
8007${O?`
8008Recent conversation context:
8009${O}`:""}
8010
8011Explain 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=`

Callers 1

jmYFunction · 0.85

Calls 15

Fz7Function · 0.85
YmYFunction · 0.85
$mYFunction · 0.85
D5Function · 0.85
CNFunction · 0.85
NFunction · 0.85
g6Function · 0.85
dFunction · 0.85
wKFunction · 0.85
d6Function · 0.85
H6Function · 0.85
nowMethod · 0.80

Tested by

no test coverage detected