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

Function OyY

package/cli.js:6735–6735  ·  view source on GitHub ↗
(q)

Source from the content-addressed store, hash-verified

6733`;if(q.length>0&&q[0].type==="text")return[{type:"text",text:_+q[0].text},...q.slice(1)];return[{type:"text",text:_},...q]}var muK,ENY,LNY;var WT=y(()=>{_8();Tz();muK=[];ENY=QU8.O_NOFOLLOW??0,LNY=process.platform==="win32"?"wx":QU8.O_WRONLY|QU8.O_CREAT|QU8.O_EXCL|ENY});var guK;var FuK=y(()=>{guK={isEnabled:()=>!1,isHidden:!0,name:"stub"}});function dU8(){(_K(),Eq(Zx8)).saveWorktreeState(null)}function UuK({onDone:q,onCancel:K}){let[_,z]=OZ.useState("loading"),[Y,$]=OZ.useState([]),[A,O]=OZ.useState(0),[w,j]=OZ.useState(),H=n2();if(OZ.useEffect(()=>{async function v(){let V=[],E=await a8("git",["status","--porcelain"]);if(E.stdout)V=E.stdout.split(`
6734`).filter((S)=>S.trim()!==""),$(V);if(H){let{stdout:S}=await a8("git",["rev-list","--count",`${H.originalHeadCommit}..HEAD`]),R=parseInt(S.trim())||0;if(O(R),V.length===0&&R===0){z("removing"),ER6().then(()=>{process.chdir(H.originalCwd),QO(H.originalCwd),dU8(),hA.cache.clear?.(),j("Worktree removed (no changes)")}).catch((x)=>{N(`Failed to clean up worktree: ${x}`,{level:"error"}),j("Worktree cleanup failed, exiting anyway")}).then(()=>{z("done")});return}else z("asking")}}v()},[H]),OZ.useEffect(()=>{if(_==="done")q(w)},[_,q,w]),!H)return q("No active worktree session found",{display:"system"}),null;if(_==="loading"||_==="done")return null;async function J(v){if(!H)return;let V=Boolean(H.tmuxSessionName);if(v==="keep"||v==="keep-with-tmux"){if(z("keeping"),d("tengu_worktree_kept",{commits:A,changed_files:Y.length}),await yR6(),process.chdir(H.originalCwd),QO(H.originalCwd),dU8(),hA.cache.clear?.(),V)j(`Worktree kept. Your work is saved at ${H.worktreePath} on branch ${H.worktreeBranch}. Reattach to tmux session with: tmux attach -t ${H.tmuxSessionName}`);else j(`Worktree kept. Your work is saved at ${H.worktreePath} on branch ${H.worktreeBranch}`);z("done")}else if(v==="keep-kill-tmux"){if(z("keeping"),d("tengu_worktree_kept",{commits:A,changed_files:Y.length}),H.tmuxSessionName)await NR6(H.tmuxSessionName);await yR6(),process.chdir(H.originalCwd),QO(H.originalCwd),dU8(),hA.cache.clear?.(),j(`Worktree kept at ${H.worktreePath} on branch ${H.worktreeBranch}. Tmux session terminated.`),z("done")}else if(v==="remove"||v==="remove-with-tmux"){if(z("removing"),d("tengu_worktree_removed",{commits:A,changed_files:Y.length}),H.tmuxSessionName)await NR6(H.tmuxSessionName);try{await ER6(),process.chdir(H.originalCwd),QO(H.originalCwd),dU8(),hA.cache.clear?.()}catch(S){N(`Failed to clean up worktree: ${S}`,{level:"error"}),j("Worktree cleanup failed, exiting anyway"),z("done");return}let E=V?" Tmux session terminated.":"";if(A>0&&Y.length>0)j(`Worktree removed. ${A} ${A===1?"commit":"commits"} and uncommitted changes were discarded.${E}`);else if(A>0)j(`Worktree removed. ${A} ${A===1?"commit":"commits"} on ${H.worktreeBranch} ${A===1?"was":"were"} discarded.${E}`);else if(Y.length>0)j(`Worktree removed. Uncommitted changes were discarded.${E}`);else j(`Worktree removed.${E}`);z("done")}}if(_==="keeping")return OZ.default.createElement(u,{flexDirection:"row",marginY:1},OZ.default.createElement(IK,null),OZ.default.createElement(k,null,"Keeping worktree…"));if(_==="removing")return OZ.default.createElement(u,{flexDirection:"row",marginY:1},OZ.default.createElement(IK,null),OZ.default.createElement(k,null,"Removing worktree…"));let M=H.worktreeBranch,X=Y.length>0,P=A>0,W="";if(X&&P)W=`You have ${Y.length} uncommitted ${Y.length===1?"file":"files"} and ${A} ${A===1?"commit":"commits"} on ${M}. All will be lost if you remove.`;else if(X)W=`You have ${Y.length} uncommitted ${Y.length===1?"file":"files"}. These will be lost if you remove the worktree.`;else if(P)W=`You have ${A} ${A===1?"commit":"commits"} on ${M}. The branch will be deleted if you remove the worktree.`;else W="You are working in a worktree. Keep it to continue working there, or remove it to clean up.";function D(){if(K){K();return}J("keep")}let f=X||P?"All changes and commits will be lost.":"Clean up the worktree directory.",G=Boolean(H.tmuxSessionName),Z=G?[{label:"Keep worktree and tmux session",value:"keep-with-tmux",description:`Stays at ${H.worktreePath}. Reattach with: tmux attach -t ${H.tmuxSessionName}`},{label:"Keep worktree, kill tmux session",value:"keep-kill-tmux",description:`Keeps worktree at ${H.worktreePath}, terminates tmux session.`},{label:"Remove worktree and tmux session",value:"remove-with-tmux",description:f}]:[{label:"Keep worktree",value:"keep",description:`Stays at ${H.worktreePath}`},{label:"Remove worktree",value:"remove",description:f}];return OZ.default.createElement(R1,{title:"Exiting worktree session",subtitle:W,onCancel:D},OZ.default.createElement(H1,{defaultFocusValue:G?"keep-with-tmux":"keep",options:Z,onChange:J}))}var OZ;var QuK=y(()=>{k8();_8();s6();XK();SJ();tN();d0();p3();e4();Q2();OZ=O6(D6(),1)});function bNY(){return IX(CNY)??"Goodbye!"}function cU8(q){let K=z6(5),{showWorktree:_,onDone:z,onCancel:Y}=q,$;if(K[0]!==z)$=async function(w){z(w??bNY()),await xK(0,"prompt_input_exit")},K[0]=z,K[1]=$;else $=K[1];let A=$;if(_){let O;if(K[2]!==Y||K[3]!==A)O=duK.default.createElement(UuK,{onDone:A,onCancel:Y}),K[2]=Y,K[3]=A,K[4]=O;else O=K[4];return O}return null}var duK,CNY;var a37=y(()=>{q8();po();RA();QuK();duK=O6(D6(),1),CNY=["Goodbye!","See ya!","Bye!","Catch you later!"]});var cuK={};T8(cuK,{call:()=>uNY});function INY(){return IX(xNY)??"Goodbye!"}async function uNY(q){let K=n2()!==null;if(K)return s37.createElement(cU8,{showWorktree:K,onDone:q,onCancel:()=>q()});return q(INY()),await xK(0,"prompt_input_exit"),null}var s37,xNY;var luK=y(()=>{po();a37();lQ();RA();d0();s37=O6(D6(),1),xNY=["Goodbye!","See ya!","Bye!","Catch you later!"]});var mNY,Vq8;var t37=y(()=>{mNY={type:"local-jsx",name:"exit",aliases:["quit"],description:"Exit the REPL",immediate:!0,load:()=>Promise.resolve().then(() => (luK(),cuK))},Vq8=mNY});import{join as pNY}from"path";function nuK({content:q,defaultFilename:K,onDone:_}){let[,z]=CM.useState(null),[Y,$]=CM.useState(K),[A,O]=CM.useState(K.length),[w,j]=CM.useState(!1),{columns:H}=t1(),J=CM.useCallback(()=>{j(!1),z(null)},[]),M=async(f)=>{if(f==="clipboard"){let G=await XX(q);if(G)process.stdout.write(G);_({success:!0,message:"Conversation copied to clipboard"})}else if(f==="file")z("file"),j(!0)},X=()=>{let f=Y.endsWith(".txt")?Y:Y.replace(/\.[^.]+$/,"")+".txt",G=pNY(Z8(),f);try{$j(G,q,{encoding:"utf-8",flush:!0}),_({success:!0,message:`Conversation exported to: ${G}`})}catch(Z){_({success:!1,message:`Failed to export conversation: ${Z instanceof Error?Z.message:"Unknown error"}`})}},P=CM.useCallback(()=>{if(w)J();else _({success:!1,message:"Export cancelled"})},[w,J,_]),W=[{label:"Copy to clipboard",value:"clipboard",description:"Copy the conversation to your system clipboard"},{label:"Save to file",value:"file",description:"Save the conversation to a file in the current directory"}];function D(f){if(w)return CM.default.createElement(I1,null,CM.default.createElement(t8,{shortcut:"Enter",action:"save"}),CM.default.createElement(W1,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"go back"}));if(f.pending)return CM.default.createElement(k,null,"Press ",f.keyName," again to exit");return CM.default.createElement(W1,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})}return P1("confirm:no",P,{context:"Settings",isActive:w}),CM.default.createElement(R1,{title:"Export Conversation",subtitle:"Select export method:",color:"permission",onCancel:P,inputGuide:D,isCancelActive:!w},!w?CM.default.createElement(H1,{options:W,onChange:M,onCancel:P}):CM.default.createElement(u,{flexDirection:"column"},CM.default.createElement(k,null,"Enter filename:"),CM.default.createElement(u,{flexDirection:"row",gap:1,marginTop:1},CM.default.createElement(k,null,">"),CM.default.createElement(r3,{value:Y,onChange:$,onSubmit:X,focus:!0,showCursor:!0,columns:H,cursorOffset:A,onChangeCursorOffset:O}))))}var CM;var iuK=y(()=>{t4();YM();s6();Oq();I7();l8();a5();p3();QK();e4();rK();CH();CM=O6(D6(),1)});function BNY({children:q}){let{bindings:K}=Qo6(),_=Gs.useRef(null),z=Gs.useRef(new Map),Y=Gs.useRef(new Set).current;return Gs.default.createElement(yy8,{bindings:K,pendingChordRef:_,pendingChord:null,setPendingChord:()=>{},activeContexts:Y,registerActiveContext:()=>{},unregisterActiveContext:()=>{},handlerRegistryRef:z},q)}function gNY(q){if(!("message"in q))return 1;let K=q.message.content;return Array.isArray(K)?K.length:1}async function FNY(q,K,_,{columns:z,verbose:Y=!1,chunkSize:$=40,onProgress:A}={}){let O=(j)=>G78(Gs.default.createElement(LJ,null,Gs.default.createElement(BNY,null,Gs.default.createElement(AJ6,{messages:q,tools:K,commands:[],verbose:Y,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:"export",screen:"prompt",streamingToolUses:[],showAllInTranscript:!0,isLoading:!1,renderRange:j}))),z),w=$;for(let j of q)w+=gNY(j);for(let j=0;j<w;j+=$){let H=await O([j,j+$]);if(VY(H).trim()==="")break;await _(H),A?.(j+$)}}async function lU8(q,K=[],_){let z=[];return await FNY(q,K,(Y)=>void z.push(VY(Y)),{columns:_}),z.join("")}var Gs;var e37=y(()=>{CT();Yq8();yU();Ur();C7();mg8();Gs=O6(D6(),1)});var suK={};T8(suK,{sanitizeFilename:()=>auK,extractFirstPrompt:()=>ouK,call:()=>cNY});import{join as UNY}from"path";function QNY(q){let K=q.getFullYear(),_=String(q.getMonth()+1).padStart(2,"0"),z=String(q.getDate()).padStart(2,"0"),Y=String(q.getHours()).padStart(2,"0"),$=String(q.getMinutes()).padStart(2,"0"),A=String(q.getSeconds()).padStart(2,"0");return`${K}-${_}-${z}-${Y}${$}${A}`}function ouK(q){let K=q.find((Y)=>Y.type==="user");if(!K||K.type!=="user")return"";let _=K.message?.content,z="";if(typeof _==="string")z=_.trim();else if(Array.isArray(_)){let Y=_.find(($)=>$.type==="text");if(Y&&"text"in Y)z=Y.text.trim()}if(z=z.split(`
6735`)[0]||"",z.length>50)z=z.substring(0,49)+"…";return z}function auK(q){return q.toLowerCase().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}async function dNY(q){let K=q.options.tools||[];return lU8(q.messages,K)}async function cNY(q,K,_){let z=await dNY(K),Y=_.trim();if(Y){let w=Y.endsWith(".txt")?Y:Y.replace(/\.[^.]+$/,"")+".txt",j=UNY(Z8(),w);try{return $j(j,z,{encoding:"utf-8",flush:!0}),q(`Conversation exported to: ${j}`),null}catch(H){return q(`Failed to export conversation: ${H instanceof Error?H.message:"Unknown error"}`),null}}let $=ouK(K.messages),A=QNY(new Date),O;if($){let w=auK($);O=w?`${A}-${w}.txt`:`conversation-${A}.txt`}else O=`conversation-${A}.txt`;return ruK.default.createElement(nuK,{content:z,defaultFilename:O,onDone:(w)=>{q(w.message)}})}var ruK;var tuK=y(()=>{iuK();I7();e37();l8();ruK=O6(D6(),1)});var lNY,euK;var qmK=y(()=>{lNY={type:"local-jsx",name:"export",description:"Export the current conversation to a file or clipboard",argumentHint:"[filename]",load:()=>Promise.resolve().then(() => (tuK(),suK))},euK=lNY});var KmK={};T8(KmK,{call:()=>$yY});function nNY(q){let K=z6(17),{onDone:_}=q,z=P8(aNY),Y=P8(oNY),$=P8(rNY),A=s7(),O;if(K[0]!==z||K[1]!==_)O=function(){d("tengu_model_command_menu",{action:"cancel"});let P=Nq8(z);_(`Kept model as ${$8.bold(P)}`,{display:"system"})},K[0]=z,K[1]=_,K[2]=O;else O=K[2];let w=O,j;if(K[3]!==$||K[4]!==z||K[5]!==_||K[6]!==A)j=function(P,W){d("tengu_model_command_menu",{action:P,from_model:z,to_model:P}),A((G)=>({...G,mainLoopModel:P,mainLoopModelForSession:null}));let D=`Set model to ${$8.bold(Nq8(P))}`;if(W!==void 0)D=D+` with ${$8.bold(W)} effort`;let f=void 0;if(BK()){if(gz6(),!jJ(P)&&$)A(iNY),f=!1;else if(jJ(P)&&oJ()&&$)D=D+" · Fast mode ON",f=!0}if(BH6(P,f===!0,HJ()))D=D+" · Billed as extra usage";if(f===!1)D=D+" · Fast mode OFF";_(D)},K[3]=$,K[4]=z,K[5]=_,K[6]=A,K[7]=j;else j=K[7];let H=j,J;if(K[8]!==$||K[9]!==z)J=BK()&&$&&jJ(z)&&oJ(),K[8]=$,K[9]=z,K[10]=J;else J=K[10];let M;if(K[11]!==w||K[12]!==H||K[13]!==z||K[14]!==Y||K[15]!==J)M=Ep.createElement(pH6,{initial:z,sessionModel:Y,onSelect:H,onCancel:w,isStandaloneCommand:!0,showFastModeNotice:J}),K[11]=w,K[12]=H,K[13]=z,K[14]=Y,K[15]=J,K[16]=M;else M=K[16];return M}function iNY(q){return{...q,fastMode:!1}}function rNY(q){return q.fastMode}function oNY(q){return q.mainLoopModelForSession}function aNY(q){return q.mainLoopModel}function sNY({args:q,onDone:K}){let _=P8(($)=>$.fastMode),z=s7(),Y=q==="default"?null:q;return Ep.useEffect(()=>{async function $(){if(Y&&!K86(Y)){K(`Model '${Y}' is not available. Your organization restricts model selection.`,{display:"system"});return}if(Y&&eNY(Y)){K("Opus 4.6 with 1M context is not available for your account. Learn more: https://code.claude.com/docs/en/model-config#extended-context-with-1m",{display:"system"});return}if(Y&&qyY(Y)){K("Sonnet 4.6 with 1M context is not available for your account. Learn more: https://code.claude.com/docs/en/model-config#extended-context-with-1m",{display:"system"});return}if(!Y){A(null);return}if(tNY(Y)){A(Y);return}try{let{valid:O,error:w}=await LR6(Y);if(O)A(Y);else K(w||`Model '${Y}' not found`,{display:"system"})}catch(O){K(`Failed to validate model: ${O.message}`,{display:"system"})}}function A(O){z((H)=>({...H,mainLoopModel:O,mainLoopModelForSession:null}));let w=`Set model to ${$8.bold(Nq8(O))}`,j=void 0;if(BK()){if(gz6(),!jJ(O)&&_)z((H)=>({...H,fastMode:!1})),j=!1;else if(jJ(O)&&_)w+=" · Fast mode ON",j=!0}if(BH6(O,j===!0,HJ()))w+=" · Billed as extra usage";if(j===!1)w+=" · Fast mode OFF";K(w)}$()},[Y,K,z]),null}function tNY(q){return Fz6.includes(q.toLowerCase().trim())}function eNY(q){let K=q.toLowerCase();return!wo()&&!HJ()&&K.includes("opus")&&K.includes("[1m]")}function qyY(q){let K=q.toLowerCase();return!jo()&&(K.includes("sonnet[1m]")||K.includes("sonnet-4-6[1m]"))}function KyY(q){let{onDone:K}=q,_=P8(YyY),z=P8(zyY),Y=P8(_yY),$=Nq8(_),A=Y!==void 0?` (effort: ${Y})`:"";if(z)K(`Current model: ${$8.bold(Nq8(z))} (session override from plan mode)
6736Base model: ${$}${A}`);else K(`Current model: ${$}${A}`);return null}function _yY(q){return q.effortValue}function zyY(q){return q.mainLoopModelForSession}function YyY(q){return q.mainLoopModel}function Nq8(q){let K=UF6(q??KG());return q===null?`${K} (default)`:K}var Ep,$yY=async(q,K,_)=>{if(_=_?.trim()||"",f$8.includes(_))return d("tengu_model_command_inline_help",{args:_}),Ep.createElement(KyY,{onDone:q});if(D$8.includes(_)){q("Run /model to open the model selection menu, or /model [modelName] to set the model.",{display:"system"});return}if(_)return d("tengu_model_command_inline",{args:_}),Ep.createElement(sNY,{args:_,onDone:q});return Ep.createElement(nNY,{onDone:q})};var _mK=y(()=>{q8();x3();Lg8();RY();k8();C7();Rg8();xf();B06();mL8();aq();FF6();Rm8();Ep=O6(D6(),1)});var zmK;var YmK=y(()=>{TU8();aq();zmK={type:"local-jsx",name:"model",get description(){return`Set the AI model for Claude Code (currently ${WH(D5())})`},argumentHint:"[model]",get immediate(){return ES6()},load:()=>Promise.resolve().then(() => (_mK(),KmK))}});var AmK={};T8(AmK,{call:()=>wyY});function AyY(q){let K=z6(11),{tagName:_,onConfirm:z,onCancel:Y}=q,$=`Current tag: #${_}`,A;if(K[0]===Symbol.for("react.memo_cache_sentinel"))A=nH.createElement(k,null,"This will remove the tag from the current session."),K[0]=A;else A=K[0];let O;if(K[1]!==Y||K[2]!==z)O=(J)=>J==="yes"?z():Y(),K[1]=Y,K[2]=z,K[3]=O;else O=K[3];let w;if(K[4]===Symbol.for("react.memo_cache_sentinel"))w=[{label:"Yes, remove tag",value:"yes"},{label:"No, keep tag",value:"no"}],K[4]=w;else w=K[4];let j;if(K[5]!==O)j=nH.createElement(u,{flexDirection:"column",gap:1},A,nH.createElement(H1,{onChange:O,options:w})),K[5]=O,K[6]=j;else j=K[6];let H;if(K[7]!==Y||K[8]!==$||K[9]!==j)H=nH.createElement(R1,{title:"Remove tag?",subtitle:$,onCancel:Y,color:"warning"},j),K[7]=Y,K[8]=$,K[9]=j,K[10]=H;else H=K[10];return H}function OyY(q){let K=z6(17),{tagName:_,onDone:z}=q,[Y,$]=nH.useState(!1),[A,O]=nH.useState(null),w;if(K[0]!==_)w=Uq6(_).trim(),K[0]=_,K[1]=w;else w=K[1];let j=w,H,J;if(K[2]!==j||K[3]!==z)H=()=>{let M=N8();if(!M){z("No active session to tag",{display:"system"});return}if(!j){z("Tag name cannot be empty",{display:"system"});return}O(M);let X=q97(M);if(X===j)d("tengu_tag_command_remove_prompt",{}),$(!0);else d("tengu_tag_command_add",{is_replacing:!!X}),(async()=>{let W=Y$();await nU8(M,j,W),z(`Tagged session with ${$8.cyan(`#${j}`)}`,{display:"system"})})()},J=[j,z],K[2]=j,K[3]=z,K[4]=H,K[5]=J;else H=K[4],J=K[5];if(nH.useEffect(H,J),Y&&A){let M;if(K[6]!==j||K[7]!==z||K[8]!==A)M=async()=>{d("tengu_tag_command_remove_confirmed",{});let W=Y$();await nU8(A,"",W),z(`Removed tag ${$8.cyan(`#${j}`)}`,{display:"system"})},K[6]=j,K[7]=z,K[8]=A,K[9]=M;else M=K[9];let X;if(K[10]!==j||K[11]!==z)X=()=>{d("tengu_tag_command_remove_cancelled",{}),z(`Kept tag ${$8.cyan(`#${j}`)}`,{display:"system"})},K[10]=j,K[11]=z,K[12]=X;else X=K[12];let P;if(K[13]!==j||K[14]!==M||K[15]!==X)P=nH.createElement(AyY,{tagName:j,onConfirm:M,onCancel:X}),K[13]=j,K[14]=M,K[15]=X,K[16]=P;else P=K[16];return P}return null}function $mK(q){let K=z6(3),{onDone:_}=q,z,Y;if(K[0]!==_)z=()=>{_(`Usage: /tag <tag-name>
6737
6738Toggle a searchable tag on the current session.

Callers

nothing calls this directly

Calls 12

z6Function · 0.85
Uq6Function · 0.85
N8Function · 0.85
OFunction · 0.85
q97Function · 0.85
dFunction · 0.85
Y$Function · 0.85
nU8Function · 0.85
createElementMethod · 0.80
zFunction · 0.70
$Function · 0.70
trimMethod · 0.45

Tested by

no test coverage detected