makecoder 4.0.71 → 4.0.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,13 +23,13 @@ var MP9=Object.create;var{getPrototypeOf:jP9,defineProperty:qWH,getOwnPropertyNa
23
23
  Object.assign(A, {
24
24
  post(...args) {
25
25
  const [url, payload, ...remainArgs] = args;
26
- const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.0.71' + '&session_id=' + R$() + (process.env.SPACE_ID ? '&space_id=' + process.env.SPACE_ID : '');
26
+ const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.0.73' + '&session_id=' + R$() + (process.env.SPACE_ID ? '&space_id=' + process.env.SPACE_ID : '');
27
27
  if (process.env.CODER_APIKEY) {
28
28
  const headerValues = payload.headers.values;
29
29
  headerValues.set('AUTHORIZATION', `Bearer ${process.env.CODER_APIKEY}`)
30
30
  }
31
31
 
32
- payload.headers.values.set('X-Coder-Version', '4.0.71');
32
+ payload.headers.values.set('X-Coder-Version', '4.0.73');
33
33
  payload.headers.values.set('X-Coder-Platform', process.platform);
34
34
  payload.headers.values.set('X-Coder-Arch', process.arch);
35
35
 
@@ -2793,7 +2793,7 @@ To complete your request, I need to fetch content from the redirected URL. Pleas
2793
2793
 
2794
2794
  [Binary content (${M}, ${J4(w??Y)}) also saved to ${j}]`;return{data:{bytes:Y,code:f,codeText:O,result:J,durationMs:Date.now()-_,url:H}}},mapToolResultToToolResultBlockParam({result:H},$){return{tool_use_id:$,type:"tool_result",content:H}}})});async function WC6(H){c("tengu_unary_event",{event:H.event,completion_type:H.completion_type,language_name:await H.metadata.language_name,message_id:H.metadata.message_id,platform:H.metadata.platform,...H.metadata.hasFeedback!==void 0&&{hasFeedback:H.metadata.hasFeedback}})}var jt7=T(()=>{y$()});function wt7(H,$,q,K){let _=K==="single",A=GwH({filePath:H,oldContent:$,newContent:q,singleHunk:_});if(A.length===0)return[];if(_&&A.length>1)IH(Error(`Unexpected number of hunks: ${A.length}. Expected 1 hunk.`));return MO7(A)}async function Dt7(H,$,q,K){let _=!1,A=PK(H),z="";try{z=oL(A)}catch(O){if(!J8(O))throw O}async function Y(){if(_)return;_=!0;try{await ZC6(K,f)}catch(O){N(`Failed to close diff tab in IDE: ${O instanceof Error?O.message:String(O)}`,{level:"error"})}process.off("beforeExit",Y),q.abortController.signal.removeEventListener("abort",Y)}q.abortController.signal.addEventListener("abort",Y),process.on("beforeExit",Y);let f=Yx(q.options.mcpClients);try{let{updatedFile:O}=YJ$({filePath:A,fileContents:z,edits:$});if(!f||f.type!=="connected")throw Error("IDE client not available");let M=A,j=f.config.ideRunningInWindows===!0;if(a$()==="wsl"&&j&&process.env.WSL_DISTRO_NAME)M=await new AlH(process.env.WSL_DISTRO_NAME).toIDEPath(A);let w=await Xr("openDiff",{old_file_path:M,new_file_path:M,new_file_contents:O,tab_name:K},f),D=Array.isArray(w)?w:[w];if(zM_(D))return Y(),{oldContent:z,newContent:D[1].text};else if(_M_(D))return Y(),{oldContent:z,newContent:O};else if(AM_(D))return Y(),{oldContent:z,newContent:z};throw Error("Not accepted")}catch(O){throw N(`Failed to show diff in IDE: ${O instanceof Error?O.message:String(O)}`,{level:"error"}),Y(),O}}async function ZC6(H,$){try{if(!$||$.type!=="connected")throw Error("IDE client not available");await Xr("close_tab",{tab_name:H},$),xH("ide_close_diff_tab")}catch(q){N(`Failed to close diff tab in IDE: ${q instanceof Error?q.message:String(q)}`,{level:"error"}),$8("ide_close_diff_tab","ide_close_diff_tab_failed")}}function _M_(H){return Array.isArray(H)&&typeof H[0]==="object"&&H[0]!==null&&"type"in H[0]&&H[0].type==="text"&&"text"in H[0]&&H[0].text==="TAB_CLOSED"}function AM_(H){return Array.isArray(H)&&typeof H[0]==="object"&&H[0]!==null&&"type"in H[0]&&H[0].type==="text"&&"text"in H[0]&&H[0].text==="DIFF_REJECTED"}function zM_(H){return Array.isArray(H)&&H[0]?.type==="text"&&H[0].text==="FILE_SAVED"&&typeof H[1].text==="string"}var yD8;var Jt7=T(()=>{y$();Wz();oE();P1();w8();VwH();s8();dH();_$H();G$();nD();EZ6();P8();zK();yD8=B(XH(),1)});function YM_(H,$){if(H===_J){let q=_J.inputSchema.parse($);return{filePath:q.file_path,edits:[{old_string:q.old_string,new_string:q.new_string,replace_all:q.replace_all||!1}]}}if(H===qD){let q=qD.inputSchema.parse($),K="";try{K=oL(q.file_path)}catch(_){if(!J8(_))throw _}return{filePath:q.file_path,edits:[{old_string:K,new_string:q.content,replace_all:!1}]}}return null}function fM_(H,$,q){let K=q[0];if(!K)return $;if(H===_J)return{...$,old_string:K.old_string,new_string:K.new_string,replace_all:K.replace_all||!1};if(H===qD)return{...$,content:K.new_string};return $}function Pt7(H,$,q){if(H!==_J&&H!==qD)return null;let K=q.options.mcpClients;if(!lD$(K))return null;if(m$().diffTool!=="auto")return null;let _=YM_(H,$);if(_===null)return null;if(_.filePath.endsWith(".ipynb"))return null;let A=Yx(K);if(!A)return null;return{ideName:nD$(K)??"IDE",ideClient:A,filePath:_.filePath,edits:_.edits}}function Wt7(H){let{ctx:$,tool:q,input:K,permissionResult:_,permissionPromptStartTimeMs:A,eligibility:z,claim:Y,notifyBridge:f,dismissAndTeardown:O,resolveOnce:M}=H,{filePath:j,edits:w,ideName:D,ideClient:J}=z,X=Xt7.randomUUID().slice(0,6),L=`\u273B [Claude Code] ${Lt7.basename(j)} (${X}) \u29C9`,P=!1;function G(){if(P)return;P=!0,ZC6(L,J).catch((Z)=>{N(`closeTabInIDE failed: ${Z}`,{level:"error"})})}let W={ideName:D,toolName:r7(q.name),editCount:w.length};return c("tengu_ext_will_show_diff",{}),Dt7(j,w,$.toolUseContext,L).then(({oldContent:Z,newContent:V})=>{let v=wt7(j,Z,V,"single"),S={...W,isNewFile:Z===""};if(v.length===0){if(!Y())return;G(),c("tengu_ext_diff_rejected",S),xH("ide_diff_view"),f({behavior:"deny",message:"User denied via IDE"}),O(),$.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:A}),M($.cancelAndAbort(void 0));return}if(!Y())return;G();let h=fM_(q,K,v);c("tengu_ext_diff_accepted",S),xH("ide_diff_view"),f({behavior:"allow",updatedInput:h,updatedPermissions:[]}),O(),$.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:A}),M($.handleUserAllow(h,[],void 0,A,void 0,_.decisionReason))}).catch((Z)=>{if($.toolUseContext.abortController.signal.aborted)return;N(`IDE diff view failed: ${Z instanceof Error?Z.message:String(Z)}`,{level:"error"}),$8("ide_diff_view","ide_diff_view_failed")}),{closeTab:G}}var Xt7,Lt7;var Zt7=T(()=>{Jt7();w8();y$();Wz();ZJH();v8H();s8();dH();G$();oE();nD();Xt7=require("crypto"),Lt7=require("path")});function hD8(H){let $=!1,q=!1;return{resolve(K){if(q)return;q=!0,$=!0,H(K)},isResolved(){return $},claim(){if($)return!1;return $=!0,!0}}}function Tt7(H,$,q,K,_,A,z){let Y=K.message.id,f={tool:H,input:$,toolUseContext:q,assistantMessage:K,messageId:Y,toolUseID:_,setClassifierApprovals:z,logDecision(O,M){c18({tool:H,input:M?.input??$,toolUseContext:q,messageId:Y,toolUseID:_},O,M?.permissionPromptStartTimeMs)},logCancelled(){c("tengu_tool_use_cancelled",{messageID:Y,toolName:r7(H.name)})},persistPermissions(O){if(O.length===0)return!1;return Ub(O),A(LN(R6(q),O)),O.some((M)=>zX6(M.destination))},resolveIfAborted(O){if(!q.abortController.signal.aborted)return!1;return this.logCancelled(),O(this.cancelAndAbort(void 0,!0)),!0},cancelAndAbort(O,M,j){let w=!!q.agentId,D=O?`${w?U2$:faH}${O}`:w?h8H:fyH,J=w?D:YaH(D);if(M||!O&&!j?.length&&!w)N(`Aborting: tool=${H.name} isAbort=${M} hasFeedback=${!!O} isSubagent=${w}`),q.abortController.abort();return{behavior:"ask",message:J,contentBlocks:j}},...{},async runHooks(O,M,j,w){for await(let D of k5H(H.name,_,$,q,O,M,q.abortController.signal))if(D.permissionRequestResult){let J=D.permissionRequestResult;if(J.behavior==="allow"){let X=J.updatedInput??j??$;if(J.updatedInput){let L=zaH(await yJH(H,X,q),H.name);if(L?.behavior==="deny")return this.logDecision({decision:"reject",source:"config"},{input:X,permissionPromptStartTimeMs:w}),L;if(L?.behavior==="ask")return{reprompted:L,finalInput:X}}return this.handleHookAllow(X,J.updatedPermissions??[],w)}else if(J.behavior==="deny"){if(this.logDecision({decision:"reject",source:{type:"hook"}},{permissionPromptStartTimeMs:w}),J.interrupt)N(`Hook interrupt: tool=${H.name} hookMessage=${J.message}`),q.abortController.abort();return this.buildDeny(J.message||"Permission denied by hook",{type:"hook",hookName:"PermissionRequest",reason:J.message})}}return null},buildAllow(O,M){return{behavior:"allow",updatedInput:O,userModified:M?.userModified??!1,...M?.decisionReason&&{decisionReason:M.decisionReason},...M?.acceptFeedback&&{acceptFeedback:M.acceptFeedback},...M?.contentBlocks&&M.contentBlocks.length>0&&{contentBlocks:M.contentBlocks}}},buildDeny(O,M){return{behavior:"deny",message:O,decisionReason:M}},handleUserAllow(O,M,j,w,D,J){let X=this.persistPermissions(M);this.logDecision({decision:"accept",source:{type:"user",permanent:X}},{input:O,permissionPromptStartTimeMs:w});let L=H.inputsEquivalent?!H.inputsEquivalent($,O):!1,P=j?.trim();return this.buildAllow(O,{userModified:L,decisionReason:J,acceptFeedback:P||void 0,contentBlocks:D})},handleHookAllow(O,M,j){let w=this.persistPermissions(M);return this.logDecision({decision:"accept",source:{type:"hook",permanent:w}},{input:O,permissionPromptStartTimeMs:j}),this.buildAllow(O,{decisionReason:{type:"hook",hookName:"PermissionRequest"}})}};return Object.freeze(f)}function Vt7(H){let $=H.input;if(H.tool.name===Tz){let A=Array.isArray($?.questions)?$.questions:[],z=[],Y="";for(let M of A){let j=M;if(typeof j?.question!=="string")continue;Y||=j.question;let w=Array.isArray(j.options)?j.options.flatMap((D)=>{let J=D;return typeof J?.label==="string"?[{label:J.label,description:typeof J.description==="string"?J.description:""}]:[]}):[];if(w.length>0)z.push({question:j.question,options:w})}let f=z[0]?.options.map((M)=>M.label).join(" \xB7 ");return{text:Y?`answer: ${Gt7(Y)}${f?` (${f})`:""}`:"answer question",questions:z.length>0?z:void 0}}if(H.tool.name===VW)return{text:"approve plan"};let q=H.tool.userFacingName(H.input).trim(),K=typeof $?.command==="string"?$.command:typeof $?.file_path==="string"?$.file_path:typeof $?.url==="string"?$.url:"",_=q||H.tool.name;return{text:K&&!_.includes(K)?`approve ${_}: ${Gt7(K)}`:`approve ${_}`}}function Gt7(H){let $=H.replace(/\s+/g," ").trim();return $.length>120?$.slice(0,119)+"\u2026":$}var SD8=T(()=>{y$();Wz();UR();Ov();S9();dH();__();p6();kP();mM();l18()});var OM_,Yo;var RD8=T(()=>{cf();OM_=["sandbox","permission","worker-sandbox","elicitation"],Yo=(()=>{let H=v7(),$={sandbox:null,permission:null,"worker-sandbox":null,elicitation:null},q=null;function K(){let _=null;for(let A of OM_){let z=$[A];if(z){_=z;break}}if(_?.text===q?.text)return;q=_,H.emit(_)}return{subscribe:H.subscribe,emit(_,A="permission"){let z=_===null?null:typeof _==="string"?{text:_}:_;if($[A]?.text===z?.text)return;$[A]=z,K()}}})()});var vt7={};P$(vt7,{isChannelsEnabled:()=>OyH,isChannelAllowlisted:()=>GC6,getChannelAllowlist:()=>ID8});function ID8(){let H=v$("tengu_harbor_ledger",[]),$=MM_().safeParse(H);return $.success?$.data:[]}function OyH(){return v$("tengu_harbor",!1)}function GC6(H){if(!H)return!1;let{name:$,marketplace:q}=Uq(H);if(!q)return!1;return ID8().some((K)=>K.plugin===$&&K.marketplace===q)}var MM_;var F2$=T(()=>{I6();Lj();q6();MM_=SH(()=>y.array(y.object({marketplace:y.string(),plugin:y.string()})))});var Nt7={};P$(Nt7,{wrapChannelMessage:()=>MaH,isChannelsPolicyBlocked:()=>xD8,getEffectiveChannelAllowlist:()=>bD8,gateChannelServer:()=>jaH,findChannelEntry:()=>hJH,ChannelPermissionNotificationSchema:()=>TC6,ChannelMessageNotificationSchema:()=>OaH,CHANNEL_PERMISSION_REQUEST_METHOD:()=>VC6,CHANNEL_PERMISSION_METHOD:()=>CD8});function MaH(H,$,q){let K=Object.entries(q??{}),[_,A]=jM_(K,([Y])=>kt7.test(Y));if(A.length>0)N(`[channel] ${H}: dropped ${A.length} meta key(s) that don't match ${kt7.source}: ${A.map(([Y])=>Y).join(", ")}`,{level:"warn"});let z=_.map(([Y,f])=>` ${Y}="${XA(f)}"`).join("");return`<${FxH} source="${XA(H)}"${z}>
2795
2795
  ${$}
2796
- </${FxH}>`}function jM_(H,$){let q=[],K=[];for(let _ of H)($(_)?q:K).push(_);return[q,K]}function bD8(H){if(H)return{entries:H,source:"org"};return{entries:ID8(),source:"ledger"}}function xD8(H){if(Tq()){let $=O4();return($==="team"||$==="enterprise")&&H?.channelsEnabled!==!0}return H!==null&&H.channelsEnabled!==!0}function hJH(H,$){let q=H.split(":");return $.find((K)=>K.kind==="server"?H===K.name:q[0]==="plugin"&&q[1]===K.name)}function jaH(H,$,q){if(false)return{action:"skip",kind:"capability",reason:"server did not declare claude/channel capability"};if(Iq()!=="firstParty")return{action:"skip",kind:"provider",reason:"channels are not available on third-party providers"};if(false)return{action:"skip",kind:"disabled",reason:"channels feature is not currently available"};let K=B8("policySettings");if(xD8(K))return{action:"skip",kind:"policy",reason:"channels not enabled by org policy (set channelsEnabled: true in managed settings)"};let _=hJH(H,ZJ());if(!_)return{action:"skip",kind:"session",reason:`server ${H} not in --channels list for this session`};if(_.kind==="plugin"){let A=q?Uq(q).marketplace:void 0;if(false&&A!==_.marketplace)return{action:"skip",kind:"marketplace",reason:`you asked for plugin:${_.name}@${_.marketplace} but the installed ${_.name} plugin is from ${A??"an unknown source"}`};if(!_.dev){let{entries:z,source:Y}=bD8(K?.allowedChannelPlugins);if(!z.some((f)=>f.plugin===_.name&&f.marketplace===_.marketplace))return{action:"skip",kind:"allowlist",reason:Y==="org"?`plugin ${_.name}@${_.marketplace} is not on your org's approved channels list (set allowedChannelPlugins in managed settings)`:`plugin ${_.name}@${_.marketplace} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`}}}else if(!_.dev)return{action:"skip",kind:"allowlist",reason:`server ${_.name} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`};return{action:"register"}}var OaH,CD8="notifications/claude/channel/permission",TC6,VC6="notifications/claude/channel/permission_request",kt7;var waH=T(()=>{I6();w$();I_();Pq();dH();I4();Lj();P6();cy();F2$();OaH=SH(()=>y.object({method:y.literal("notifications/claude/channel"),params:y.object({content:y.string(),meta:y.record(y.string(),y.string()).optional()})})),TC6=SH(()=>y.object({method:y.literal(CD8),params:y.object({request_id:y.string(),behavior:y.enum(["allow","deny"])})})),kt7=/^[a-zA-Z_][a-zA-Z0-9_]*$/});function yt7(){return true}function Et7(H){let $=2166136261;for(let K=0;K<H.length;K++)$^=H.charCodeAt(K),$=Math.imul($,16777619);$=$>>>0;let q="";for(let K=0;K<5;K++)q+=wM_[$%25],$=Math.floor($/25);return q}function ht7(H){let $=Et7(H);for(let q=0;q<10;q++){if(!DM_.some((K)=>$.includes(K)))return $;$=Et7(`${H}:${q}`)}return $}function St7(H){try{let $=CH(H);return $.length>200?$.slice(0,200)+"\u2026":$}catch{return"(unserializable)"}}function Rt7(H,$){return H.filter((q)=>q.type==="connected"&&$(q.name)&&q.capabilities?.experimental?.["claude/channel"]!==void 0&&q.capabilities?.experimental?.["claude/channel/permission"]!==void 0)}function It7(){let H=new Map;return{onResponse($,q){let K=$.toLowerCase();return H.set(K,q),()=>{H.delete(K)}},resolve($,q,K){let _=$.toLowerCase(),A=H.get(_);if(!A)return!1;return H.delete(_),A({behavior:q,fromServer:K}),!0}}}var wM_="abcdefghijkmnopqrstuvwxyz",DM_;var vC6=T(()=>{s$();q6();DM_=["fuck","shit","cunt","cock","dick","twat","piss","crap","bitch","whore","ass","tit","cum","fag","dyke","nig","kike","rape","nazi","damn","poo","pee","wank","anus"]});function bt7(H){let{ctx:$,description:q,result:K,displayInput:_,permissionPromptStartTimeMs:A,awaitAutomatedChecksBeforeDialog:z,bridgeCallbacks:Y,channelCallbacks:f,claim:O,isResolved:M,onWin:j,onReprompt:w}=H,{setClassifierApprovals:D}=$,J=Y?Ct7.randomUUID():void 0,X,L;function P(G){if(Y&&J){if(G)Y.sendResponse(J,G);Y.cancelRequest(J)}X?.(),L?.()}if(Y&&J){Y.sendRequest(J,$.tool.name,_,$.toolUseID,q,K.suggestions,K.blockedPath);let G=$.toolUseContext.abortController.signal;X=Y.onResponse(J,(W)=>{if(!O())return;if(xH("permission_bridge_relay"),X)G.removeEventListener("abort",X);if(HJH(D,$.toolUseID),L?.(),W.behavior==="allow"){if(W.updatedPermissions?.length)$.persistPermissions(W.updatedPermissions);$.logDecision({decision:"accept",source:{type:"user",permanent:!!W.updatedPermissions?.length}},{permissionPromptStartTimeMs:A}),j($.buildAllow(W.updatedInput??_))}else $.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!W.message}},{permissionPromptStartTimeMs:A}),j($.cancelAndAbort(W.message))}),G.addEventListener("abort",X,{once:!0})}if(f&&!$.tool.requiresUserInteraction?.()){let G=ht7($.toolUseID),W=ZJ(),Z=Rt7($.toolUseContext.getMcp().clients,(V)=>hJH(V,W)!==void 0);if(Z.length>0){let V={request_id:G,tool_name:$.tool.name,description:q,input_preview:St7(_)};for(let S of Z){if(S.type!=="connected")continue;S.client.notification({method:VC6,params:V}).catch((h)=>{mH("permission_channel_relay","permission_channel_relay_send_failed"),N(`Channel permission_request failed for ${S.name}: ${TH(h)}`,{level:"error"})})}let v=$.toolUseContext.abortController.signal,E=f.onResponse(G,(S)=>{if(!O())return;if(xH("permission_channel_relay"),L?.(),HJH(D,$.toolUseID),Y&&J)Y.cancelRequest(J);if(X?.(),S.behavior==="allow")$.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:A}),j($.buildAllow(_));else $.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:A}),j($.cancelAndAbort(`Denied via channel ${S.fromServer}`))});L=()=>{E(),v.removeEventListener("abort",L)},v.addEventListener("abort",L,{once:!0})}}if(!z)(async()=>{if(M())return;let G=await $.runHooks(R6($.toolUseContext).mode,K.suggestions,K.updatedInput,A);if(G&&"reprompted"in G){if(M())return;if(HJH(D,$.toolUseID),Y&&J)Y.cancelRequest(J),J=void 0;X?.(),L?.(),w(G.finalInput,G.reprompted.decisionReason,G.reprompted);return}if(!G||!O())return;if(Y&&J)Y.cancelRequest(J);X?.(),L?.(),j(G)})();return{notifyBridgeAndTeardown:P}}var Ct7;var xt7=T(()=>{w$();w8();waH();vC6();S9();dH();G$();Ct7=require("crypto")});var pD8={};P$(pD8,{updateWorkflowProgressBatch:()=>NC6,skipWorkflowAgent:()=>SC6,retryWorkflowAgent:()=>RC6,registerWorkflowTask:()=>kC6,pauseWorkflowTask:()=>yC6,killWorkflowTask:()=>Q2$,failWorkflowTask:()=>mD8,enqueueWorkflowNotification:()=>BD8,completeWorkflowTask:()=>EC6,buildResumePrompt:()=>hC6,LocalWorkflowTask:()=>JM_});function kC6({taskId:H,script:$,scriptPath:q,args:K,summary:_,workflowName:A,phases:z,defaultModel:Y,workflowRunId:f,taskRegistry:O,toolUseId:M}){DaH(H);let j=U4(0),w={...dP(H,"local_workflow",_??"Workflow",M),type:"local_workflow",status:"running",script:$,scriptPath:q,args:K,prompt:$,summary:_,workflowName:A,phases:z,defaultModel:Y,workflowRunId:f,workflowProgress:[],progressVersion:0,agentCount:0,totalTokens:0,totalToolCalls:0,logs:[],abortController:j,agentControllers:new Map};return O.register(w),w}function NC6(H,$,q){if($.length===0)return;q.update(H,(K)=>{if(K.status!=="running")return K;let _=[...K.workflowProgress],A=new Map;for(let M=0;M<_.length;M++){let j=_[M];if(j.type==="workflow_agent"||j.type==="workflow_phase")A.set(`${j.type}:${j.index}`,M)}let z=K.agentCount,Y=!1;for(let M of $)if(M.type==="workflow_agent"||M.type==="workflow_phase"){let j=`${M.type}:${M.index}`,w=A.get(j);if(w!==void 0)_[w]=M;else A.set(j,_.length),_.push(M);if(M.type==="workflow_agent"&&M.state==="start")z=Math.max(z,M.index)}else _.push(M),Y=!0;if(Y&&_.length>ut7*2){let M=_.length-ut7,j=[];for(let w=0;w<_.length;w++){let D=_[w];if(M>0&&D.type==="workflow_log"){M--;continue}j.push(D)}_=j}let f=0,O=0;for(let M of _)if(M.type==="workflow_agent"){if(M.tokens)f+=M.tokens;if(M.toolCalls)O+=M.toolCalls}return{...K,workflowProgress:_,progressVersion:K.progressVersion+$.length,agentCount:z,totalTokens:f,totalToolCalls:O}})}function uD8(H,$,q,K){let _=null;return $.update(H,(A)=>{if(A.status!=="running")return A;return _=A,A.abortController?.abort(),{...A,...K,status:q,endTime:Date.now(),abortController:void 0,agentControllers:void 0}}),_}function EC6(H,$,q,K,_){let A=uD8(H,_,"completed",{result:$,agentCount:q,logs:K});if(A)mt7.writeFile(A.outputFile,CH({summary:A.summary,agentCount:q,logs:K,result:$},null,2)).catch((z)=>N(`Failed to write workflow output for ${H}: ${z instanceof Error?z.message:z}`)),xH("task_local_workflow")}function mD8(H,$,q,K,_){let A=uD8(H,_,"failed",{error:$,agentCount:q,logs:K});if(YO(H),A)mH("task_local_workflow","task_local_workflow_failed")}function yC6(H,$){return uD8(H,$,"paused",{notified:!0})!==null}function hC6(H){let $=H.args!==void 0?`, args: ${CH(H.args)}`:"";return`Resume the paused workflow by calling: Workflow({scriptPath: '${H.scriptPath}', resumeFromRunId: '${H.workflowRunId}'${$}}) \u2014 completed agents return cached results.`}function Q2$(H,$){let q=uD8(H,$,"killed",{notified:!0});if(q)YO(H),pO(H,"stopped",{toolUseId:q.toolUseId,summary:q.description});return q!==null}function Bt7(H,$,q,K){let _=!1;if(K.update(H,(A)=>{if(A.status!=="running")return A;let z=A.agentControllers?.get($);if(z&&!z.signal.aborted)z.abort(q),_=!0;return A}),_)xH(q==="user-skip"?"task_local_workflow_skip_agent":"task_local_workflow_retry_agent");return _}function SC6(H,$,q){return Bt7(H,$,"user-skip",q)}function RC6(H,$,q){return Bt7(H,$,"user-retry",q)}function BD8({taskId:H,summary:$,status:q,result:K,failures:_,error:A,agentCount:z,totalTokens:Y,totalToolCalls:f,durationMs:O,taskRegistry:M,toolUseId:j,transcriptDir:w,scriptPath:D,workflowRunId:J,args:X}){let L=!1;if(M.update(H,(C)=>{if(C.notified)return C;return L=!0,{...C,notified:!0}}),!L)return;M.abortSpeculation();let P=$??"Workflow",G=q==="completed"?`Workflow "${P}" completed`:q==="failed"?`Workflow "${P}" failed: ${A||"Unknown error"}`:`Workflow "${P}" was stopped`,W="";if(q==="failed"||q==="killed"){let C=[];if(D&&J){let I=X!==void 0?`, args: ${CH(X)}`:"";C.push(`To resume after editing the script, call: Workflow({scriptPath: '${D}', resumeFromRunId: '${J}'${I}})`)}if(w)C.push(`Agent transcripts: ${w}`);if(C.length>0)W=`
2796
+ </${FxH}>`}function jM_(H,$){let q=[],K=[];for(let _ of H)($(_)?q:K).push(_);return[q,K]}function bD8(H){if(H)return{entries:H,source:"org"};return{entries:ID8(),source:"ledger"}}function xD8(H){if(Tq()){let $=O4();return($==="team"||$==="enterprise")&&H?.channelsEnabled!==!0}return H!==null&&H.channelsEnabled!==!0}function hJH(H,$){let q=H.split(":");return $.find((K)=>K.kind==="server"?H===K.name:q[0]==="plugin"&&q[1]===K.name)}function jaH(H,$,q){if(!$?.experimental?.["claude/channel"])return{action:"skip",kind:"capability",reason:"server did not declare claude/channel capability"};if(Iq()!=="firstParty")return{action:"skip",kind:"provider",reason:"channels are not available on third-party providers"};if(!OyH())return{action:"skip",kind:"disabled",reason:"channels feature is not currently available"};let K=B8("policySettings");if(xD8(K))return{action:"skip",kind:"policy",reason:"channels not enabled by org policy (set channelsEnabled: true in managed settings)"};let _=hJH(H,ZJ());if(!_)return{action:"skip",kind:"session",reason:`server ${H} not in --channels list for this session`};if(_.kind==="plugin"){let A=q?Uq(q).marketplace:void 0;if(A!==_.marketplace)return{action:"skip",kind:"marketplace",reason:`you asked for plugin:${_.name}@${_.marketplace} but the installed ${_.name} plugin is from ${A??"an unknown source"}`};if(!_.dev){let{entries:z,source:Y}=bD8(K?.allowedChannelPlugins);if(!z.some((f)=>f.plugin===_.name&&f.marketplace===_.marketplace))return{action:"skip",kind:"allowlist",reason:Y==="org"?`plugin ${_.name}@${_.marketplace} is not on your org's approved channels list (set allowedChannelPlugins in managed settings)`:`plugin ${_.name}@${_.marketplace} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`}}}else if(!_.dev)return{action:"skip",kind:"allowlist",reason:`server ${_.name} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`};return{action:"register"}}var OaH,CD8="notifications/claude/channel/permission",TC6,VC6="notifications/claude/channel/permission_request",kt7;var waH=T(()=>{I6();w$();I_();Pq();dH();I4();Lj();P6();cy();F2$();OaH=SH(()=>y.object({method:y.literal("notifications/claude/channel"),params:y.object({content:y.string(),meta:y.record(y.string(),y.string()).optional()})})),TC6=SH(()=>y.object({method:y.literal(CD8),params:y.object({request_id:y.string(),behavior:y.enum(["allow","deny"])})})),kt7=/^[a-zA-Z_][a-zA-Z0-9_]*$/});function yt7(){return v$("tengu_harbor_permissions",!1)}function Et7(H){let $=2166136261;for(let K=0;K<H.length;K++)$^=H.charCodeAt(K),$=Math.imul($,16777619);$=$>>>0;let q="";for(let K=0;K<5;K++)q+=wM_[$%25],$=Math.floor($/25);return q}function ht7(H){let $=Et7(H);for(let q=0;q<10;q++){if(!DM_.some((K)=>$.includes(K)))return $;$=Et7(`${H}:${q}`)}return $}function St7(H){try{let $=CH(H);return $.length>200?$.slice(0,200)+"\u2026":$}catch{return"(unserializable)"}}function Rt7(H,$){return H.filter((q)=>q.type==="connected"&&$(q.name)&&q.capabilities?.experimental?.["claude/channel"]!==void 0&&q.capabilities?.experimental?.["claude/channel/permission"]!==void 0)}function It7(){let H=new Map;return{onResponse($,q){let K=$.toLowerCase();return H.set(K,q),()=>{H.delete(K)}},resolve($,q,K){let _=$.toLowerCase(),A=H.get(_);if(!A)return!1;return H.delete(_),A({behavior:q,fromServer:K}),!0}}}var wM_="abcdefghijkmnopqrstuvwxyz",DM_;var vC6=T(()=>{s$();q6();DM_=["fuck","shit","cunt","cock","dick","twat","piss","crap","bitch","whore","ass","tit","cum","fag","dyke","nig","kike","rape","nazi","damn","poo","pee","wank","anus"]});function bt7(H){let{ctx:$,description:q,result:K,displayInput:_,permissionPromptStartTimeMs:A,awaitAutomatedChecksBeforeDialog:z,bridgeCallbacks:Y,channelCallbacks:f,claim:O,isResolved:M,onWin:j,onReprompt:w}=H,{setClassifierApprovals:D}=$,J=Y?Ct7.randomUUID():void 0,X,L;function P(G){if(Y&&J){if(G)Y.sendResponse(J,G);Y.cancelRequest(J)}X?.(),L?.()}if(Y&&J){Y.sendRequest(J,$.tool.name,_,$.toolUseID,q,K.suggestions,K.blockedPath);let G=$.toolUseContext.abortController.signal;X=Y.onResponse(J,(W)=>{if(!O())return;if(xH("permission_bridge_relay"),X)G.removeEventListener("abort",X);if(HJH(D,$.toolUseID),L?.(),W.behavior==="allow"){if(W.updatedPermissions?.length)$.persistPermissions(W.updatedPermissions);$.logDecision({decision:"accept",source:{type:"user",permanent:!!W.updatedPermissions?.length}},{permissionPromptStartTimeMs:A}),j($.buildAllow(W.updatedInput??_))}else $.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!W.message}},{permissionPromptStartTimeMs:A}),j($.cancelAndAbort(W.message))}),G.addEventListener("abort",X,{once:!0})}if(f&&!$.tool.requiresUserInteraction?.()){let G=ht7($.toolUseID),W=ZJ(),Z=Rt7($.toolUseContext.getMcp().clients,(V)=>hJH(V,W)!==void 0);if(Z.length>0){let V={request_id:G,tool_name:$.tool.name,description:q,input_preview:St7(_)};for(let S of Z){if(S.type!=="connected")continue;S.client.notification({method:VC6,params:V}).catch((h)=>{mH("permission_channel_relay","permission_channel_relay_send_failed"),N(`Channel permission_request failed for ${S.name}: ${TH(h)}`,{level:"error"})})}let v=$.toolUseContext.abortController.signal,E=f.onResponse(G,(S)=>{if(!O())return;if(xH("permission_channel_relay"),L?.(),HJH(D,$.toolUseID),Y&&J)Y.cancelRequest(J);if(X?.(),S.behavior==="allow")$.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:A}),j($.buildAllow(_));else $.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:A}),j($.cancelAndAbort(`Denied via channel ${S.fromServer}`))});L=()=>{E(),v.removeEventListener("abort",L)},v.addEventListener("abort",L,{once:!0})}}if(!z)(async()=>{if(M())return;let G=await $.runHooks(R6($.toolUseContext).mode,K.suggestions,K.updatedInput,A);if(G&&"reprompted"in G){if(M())return;if(HJH(D,$.toolUseID),Y&&J)Y.cancelRequest(J),J=void 0;X?.(),L?.(),w(G.finalInput,G.reprompted.decisionReason,G.reprompted);return}if(!G||!O())return;if(Y&&J)Y.cancelRequest(J);X?.(),L?.(),j(G)})();return{notifyBridgeAndTeardown:P}}var Ct7;var xt7=T(()=>{w$();w8();waH();vC6();S9();dH();G$();Ct7=require("crypto")});var pD8={};P$(pD8,{updateWorkflowProgressBatch:()=>NC6,skipWorkflowAgent:()=>SC6,retryWorkflowAgent:()=>RC6,registerWorkflowTask:()=>kC6,pauseWorkflowTask:()=>yC6,killWorkflowTask:()=>Q2$,failWorkflowTask:()=>mD8,enqueueWorkflowNotification:()=>BD8,completeWorkflowTask:()=>EC6,buildResumePrompt:()=>hC6,LocalWorkflowTask:()=>JM_});function kC6({taskId:H,script:$,scriptPath:q,args:K,summary:_,workflowName:A,phases:z,defaultModel:Y,workflowRunId:f,taskRegistry:O,toolUseId:M}){DaH(H);let j=U4(0),w={...dP(H,"local_workflow",_??"Workflow",M),type:"local_workflow",status:"running",script:$,scriptPath:q,args:K,prompt:$,summary:_,workflowName:A,phases:z,defaultModel:Y,workflowRunId:f,workflowProgress:[],progressVersion:0,agentCount:0,totalTokens:0,totalToolCalls:0,logs:[],abortController:j,agentControllers:new Map};return O.register(w),w}function NC6(H,$,q){if($.length===0)return;q.update(H,(K)=>{if(K.status!=="running")return K;let _=[...K.workflowProgress],A=new Map;for(let M=0;M<_.length;M++){let j=_[M];if(j.type==="workflow_agent"||j.type==="workflow_phase")A.set(`${j.type}:${j.index}`,M)}let z=K.agentCount,Y=!1;for(let M of $)if(M.type==="workflow_agent"||M.type==="workflow_phase"){let j=`${M.type}:${M.index}`,w=A.get(j);if(w!==void 0)_[w]=M;else A.set(j,_.length),_.push(M);if(M.type==="workflow_agent"&&M.state==="start")z=Math.max(z,M.index)}else _.push(M),Y=!0;if(Y&&_.length>ut7*2){let M=_.length-ut7,j=[];for(let w=0;w<_.length;w++){let D=_[w];if(M>0&&D.type==="workflow_log"){M--;continue}j.push(D)}_=j}let f=0,O=0;for(let M of _)if(M.type==="workflow_agent"){if(M.tokens)f+=M.tokens;if(M.toolCalls)O+=M.toolCalls}return{...K,workflowProgress:_,progressVersion:K.progressVersion+$.length,agentCount:z,totalTokens:f,totalToolCalls:O}})}function uD8(H,$,q,K){let _=null;return $.update(H,(A)=>{if(A.status!=="running")return A;return _=A,A.abortController?.abort(),{...A,...K,status:q,endTime:Date.now(),abortController:void 0,agentControllers:void 0}}),_}function EC6(H,$,q,K,_){let A=uD8(H,_,"completed",{result:$,agentCount:q,logs:K});if(A)mt7.writeFile(A.outputFile,CH({summary:A.summary,agentCount:q,logs:K,result:$},null,2)).catch((z)=>N(`Failed to write workflow output for ${H}: ${z instanceof Error?z.message:z}`)),xH("task_local_workflow")}function mD8(H,$,q,K,_){let A=uD8(H,_,"failed",{error:$,agentCount:q,logs:K});if(YO(H),A)mH("task_local_workflow","task_local_workflow_failed")}function yC6(H,$){return uD8(H,$,"paused",{notified:!0})!==null}function hC6(H){let $=H.args!==void 0?`, args: ${CH(H.args)}`:"";return`Resume the paused workflow by calling: Workflow({scriptPath: '${H.scriptPath}', resumeFromRunId: '${H.workflowRunId}'${$}}) \u2014 completed agents return cached results.`}function Q2$(H,$){let q=uD8(H,$,"killed",{notified:!0});if(q)YO(H),pO(H,"stopped",{toolUseId:q.toolUseId,summary:q.description});return q!==null}function Bt7(H,$,q,K){let _=!1;if(K.update(H,(A)=>{if(A.status!=="running")return A;let z=A.agentControllers?.get($);if(z&&!z.signal.aborted)z.abort(q),_=!0;return A}),_)xH(q==="user-skip"?"task_local_workflow_skip_agent":"task_local_workflow_retry_agent");return _}function SC6(H,$,q){return Bt7(H,$,"user-skip",q)}function RC6(H,$,q){return Bt7(H,$,"user-retry",q)}function BD8({taskId:H,summary:$,status:q,result:K,failures:_,error:A,agentCount:z,totalTokens:Y,totalToolCalls:f,durationMs:O,taskRegistry:M,toolUseId:j,transcriptDir:w,scriptPath:D,workflowRunId:J,args:X}){let L=!1;if(M.update(H,(C)=>{if(C.notified)return C;return L=!0,{...C,notified:!0}}),!L)return;M.abortSpeculation();let P=$??"Workflow",G=q==="completed"?`Workflow "${P}" completed`:q==="failed"?`Workflow "${P}" failed: ${A||"Unknown error"}`:`Workflow "${P}" was stopped`,W="";if(q==="failed"||q==="killed"){let C=[];if(D&&J){let I=X!==void 0?`, args: ${CH(X)}`:"";C.push(`To resume after editing the script, call: Workflow({scriptPath: '${D}', resumeFromRunId: '${J}'${I}})`)}if(w)C.push(`Agent transcripts: ${w}`);if(C.length>0)W=`
2797
2797
  <recovery>${C.join(`
2798
2798
  `)}</recovery>`}let Z=_3(H),V=j?`
2799
2799
  <${AV}>${j}</${AV}>`:"",v="";if(q==="completed"&&K!==void 0){let C=JA(CH(K)),I=8000;if(C.length>8000)v=`
@@ -12442,7 +12442,7 @@ try {
12442
12442
  }
12443
12443
  }
12444
12444
  } catch(_e) {}
12445
- if(Iq()==="gateway")return r0A();if(Z4())return N("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if(Iq()!=="firstParty")return N("[Bootstrap] Skipped: 3P provider"),null;let H=IJ();if(!(eq()?.accessToken&&JV())&&!H)return N("[Bootstrap] Skipped: no usable OAuth or API key"),null;let q=`${SK().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await PG(async()=>{let K=eq()?.accessToken,_;if(K&&JV())_={Authorization:`Bearer ${K}`,"anthropic-beta":rZ};else if(H)_={"x-api-key":H};else return N("[Bootstrap] No auth available on retry, aborting"),null;N("[Bootstrap] Fetching");let A=await l6.get(q,{headers:{"Content-Type":"application/json","User-Agent":L3(),..._},params:{entrypoint:GxH(),model:YP(F7())},timeout:5000}),z=l0A().safeParse(A.data);if(!z.success)return N(`[Bootstrap] Response failed validation: ${z.error.message}`),$8("api_bootstrap_fetch","parse_failed"),null;return N("[Bootstrap] Fetch ok"),z.data})}catch(K){throw N(`[Bootstrap] Fetch failed: ${l6.isAxiosError(K)?K.response?.status??K.code:"unknown"}`),mH("api_bootstrap_fetch","request_failed"),K}}async function rY9(){try{let H=await n0A();if(!H)return;xH("api_bootstrap_fetch");let $=H.client_data??null,q=H.additional_model_options??[],K=H.additional_model_costs??{},_=m$(),A=iY9(_.oauthAccount,H.oauth_account),z=DM(A,_.oauthAccount);if(DM(_.clientDataCache,$)&&DM(_.additionalModelOptionsCache,q)&&DM(_.additionalModelCostsCache,K)&&z){N("[Bootstrap] Cache unchanged, skipping write");return}N("[Bootstrap] Cache updated, persisting to disk"),Y8((Y)=>({...Y,clientDataCache:$,additionalModelOptionsCache:q,additionalModelCostsCache:K,oauthAccount:iY9(Y.oauthAccount,H.oauth_account)}))}catch(H){if(Hj(H))N(`[Bootstrap] fetchBootstrapData failed: ${H}`,{level:"error"});else IH(H)}}async function r0A(){await MfH();let H=Wf();if(!H)return null;try{let $=await l6.get(`${H.url}/v1/models`,{headers:{Authorization:`Bearer ${H.jwt}`,"anthropic-version":"2023-06-01","User-Agent":L3()},params:{limit:1000},timeout:5000}),q=i0A().safeParse($.data);if(!q.success)return N(`[Bootstrap] Gateway /v1/models failed validation: ${q.error.message}`),null;let K=q.data.data.filter((_)=>fc$(_.id)===null).map((_)=>({value:_.id,label:_.display_name??_.id,description:_.description??""}));return N(`[Bootstrap] Gateway /v1/models \u2192 ${K.length} custom options`),{additional_model_options:K}}catch($){return N(`[Bootstrap] Gateway /v1/models fetch failed: ${l6.isAxiosError($)?$.response?.status??$.code:"unknown"}`),null}}var l0A,i0A;var oY9=T(()=>{w_();ml();Pq();PV();w$();b1();s8();dH();hs();G$();sBH();u2();P8();Yn();mq();I4();Lz();w8();l0A=SH(()=>H6.object({client_data:H6.record(H6.unknown()).nullish(),additional_model_options:H6.array(H6.object({model:H6.string(),name:H6.string(),description:H6.string()}).transform(({model:H,name:$,description:q})=>({value:H,label:$,description:q}))).nullish(),additional_model_costs:H6.record(H6.object({input_tokens:H6.number(),output_tokens:H6.number(),prompt_cache_write_tokens:H6.number(),prompt_cache_read_tokens:H6.number(),web_search_requests:H6.number().nullish()}).transform((H)=>({inputTokens:H.input_tokens,outputTokens:H.output_tokens,promptCacheWriteTokens:H.prompt_cache_write_tokens,promptCacheReadTokens:H.prompt_cache_read_tokens,webSearchRequests:H.web_search_requests??0.01}))).nullish(),oauth_account:H6.object({account_uuid:H6.string().nullish(),account_email:H6.string().nullish(),organization_uuid:H6.string().nullish(),organization_name:H6.string().nullish(),organization_type:H6.string().nullish(),organization_rate_limit_tier:H6.string().nullish(),user_rate_limit_tier:H6.string().nullish(),seat_tier:H6.string().nullish()}).passthrough().nullish()}));i0A=SH(()=>H6.object({data:H6.array(H6.object({id:H6.string(),display_name:H6.string().nullish(),description:H6.string().nullish()}))}))});function aY9(H=process.env){let $=[];for(let q in H)if((q.startsWith("CLAUDE_CODE_")||q.startsWith("ANTHROPIC_"))&&!o0A.has(q)&&H[q]!==void 0&&H[q]!=="")$.push(q);return $.sort()}function sY9(H){let $=Hq(),q=[];for(let K of Ve$){if(a0A.has(K))continue;let A=(UFH.includes(K)?$[K]:void 0)??H[K],z=ln[K];if(A===void 0||s0A(A,z))continue;q.push(K)}return q}function tY9(H,$){let q=[];for(let K in H)if($(K)==="cli")q.push(K);return q.sort()}function s0A(H,$){if(H===$)return!0;if(typeof H==="object"&&H!==null)return Object.keys(H).length===0;return!1}var o0A,a0A;var eY9=T(()=>{s8();oj();P6();o0A=new Set(["CLAUDE_CODE_ENTRYPOINT"]);a0A=new Set(["tipsHistory","installMethod","shiftEnterKeyBindingInstalled","hasUsedBackslashReturn","hasCompletedClaudeInChromeOnboarding","remoteDialogSeen","lspRecommendationIgnoredCount","autoUpdates","autoUpdatesProtectedForNative"])});function e0A(){let H=process.argv[1]||"",$=process.execPath||process.argv[0]||"";if(a$()==="windows")H=H.split(p8$.win32.sep).join(p8$.posix.sep),$=$.split(p8$.win32.sep).join(p8$.posix.sep);let q=[H,$],K=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return q.some((_)=>K.some((A)=>_.includes(A)))}function $TA(H){let $=`${H.name}: ${H.message}`;return HTA.some((q)=>q.test($))}function H39(){let H=new Map;if(!e0A())process.removeAllListeners("warning");let q=(K)=>{try{let _=`${K.name}: ${K.message.slice(0,50)}`,A=H.get(_)||0;if(H.has(_)||H.size<t0A)H.set(_,A+1);let z=$TA(K);if(c("tengu_node_warning",{is_internal:z?1:0,occurrence_count:A+1,classname:K.name,...!1}),uH(process.env.CLAUDE_DEBUG))N(`${z?"[Internal Warning]":"[Warning]"} ${K.toString()}`,{level:"warn"})}catch{}};return process.on("warning",q),{uninstall(){process.removeListener("warning",q)}}}var p8$,t0A=1000,HTA;var $39=T(()=>{y$();dH();r$();zK();p8$=require("path");HTA=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function qTA(){let H=process.env.CLAUDE_BG_SESSION_PERMISSION_RULES;if(!H||process.env.CLAUDE_CODE_SESSION_KIND!=="bg")return;try{let $=JSON.parse(H);return Array.isArray($.allow)&&Array.isArray($.deny)?{allow:$.allow,deny:$.deny}:void 0}catch{return}}function KTA(){if(process.env.CLAUDE_BG_MEMORY_TOGGLED_OFF==="1"&&process.env.CLAUDE_CODE_SESSION_KIND==="bg")fq$(!0)}async function K39(H){KTA();let $=await IQ6({allowedToolsCli:H.allowedTools,disallowedToolsCli:H.disallowedTools,baseToolsCli:H.baseTools,permissionMode:H.permissionMode,allowDangerouslySkipPermissions:H.allowDangerouslySkipPermissions,addDirs:H.addDirs,bgSessionPermissionRules:qTA()}),q=$.toolPermissionContext,{warnings:K,dangerousPermissions:_,overlyBroadBashPermissions:A}=$;if(H.permissionMode==="auto")q=Lc(q);return{toolPermissionContext:q,warnings:K,dangerousPermissions:_,overlyBroadBashPermissions:A}}var _39=T(()=>{w$();dH();xP()});async function A39({cwd:H,toolPermissionContext:$,applyCoordinatorFilter:q,agentsJson:K,agentSetting:_,commandsPromise:A,agentDefsPromise:z,onToolsLoaded:Y}){let f=Iv($);Y?.(),A?.catch(()=>{}),z?.catch(()=>{});let[O,M]=await Promise.all([A??rW(H),z??sR(H)]),j=[];if(K)try{let X=N7(K);if(X)j=mD$(X,"flagSettings")}catch(X){IH(X)}let w=[...M.allAgents,...j],D={...M,allAgents:w,activeAgents:zx(w)},J=jKq(D.activeAgents,_);return OF(J?.agentType),{tools:f,commands:O,agentDefinitions:D,mainThreadAgentDefinition:J,cliAgents:j}}function jKq(H,$){if(!$)return;let q=H.find((K)=>K.agentType===$)??H.find((K)=>K.agentType.endsWith(`:${$}`));if(!q)N(`Warning: agent "${$}" not found. Available agents: ${H.map((K)=>K.agentType).join(", ")}. Using default behavior.`);return q}var z39=T(()=>{w$();hY();IP();oG();dH();r$();D_();P8()});function IAH(H){switch(H.kind){case"session-start":return Ip(H.source,{sessionId:H.sessionId,agentType:H.agentType,model:H.model,forceSyncExecution:H.forceSyncExecution});case"setup":return We7(H.trigger,{forceSyncExecution:H.forceSyncExecution})}}var wKq=T(()=>{RJH()});function Qh8(){let H=Y39.c(1),$;if(H[0]===Symbol.for("react.memo_cache_sentinel"))$=DKq.default.createElement(k,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",DKq.default.createElement(JK,{url:"https://code.claude.com/docs/en/mcp"},"MCP documentation"),"."),H[0]=$;else $=H[0];return $}var Y39,DKq;var JKq=T(()=>{iH();Y39=B(H$(),1),DKq=B(XH(),1)});function O39(H){let $=f39.c(13),{serverName:q,onDone:K}=H,_;if($[0]!==K||$[1]!==q)_=function(D){c("tengu_mcp_dialog_choice",{choice:D});H:switch(D){case"yes":case"yes_all":{let X=(Gq()||{}).enabledMcpjsonServers||[];if(!X.includes(q))$q("localSettings",{enabledMcpjsonServers:[...X,q]});if(D==="yes_all")$q("localSettings",{enableAllProjectMcpServers:!0});K();break H}case"no":{let X=(Gq()||{}).disabledMcpjsonServers||[];if(!X.includes(q))$q("localSettings",{disabledMcpjsonServers:[...X,q]});K()}}},$[0]=K,$[1]=q,$[2]=_;else _=$[2];let A=_,z=`New MCP server found in .mcp.json: ${q}`,Y;if($[3]!==A)Y=()=>A("no"),$[3]=A,$[4]=Y;else Y=$[4];let f;if($[5]===Symbol.for("react.memo_cache_sentinel"))f=gh8.default.createElement(Qh8,null),$[5]=f;else f=$[5];let O;if($[6]===Symbol.for("react.memo_cache_sentinel"))O=[{label:"Use this and all future MCP servers in this project",value:"yes_all"},{label:"Use this MCP server",value:"yes"},{label:"Continue without using this MCP server",value:"no"}],$[6]=O;else O=$[6];let M;if($[7]!==A)M=gh8.default.createElement(K6,{options:O,onChange:(w)=>A(w),onCancel:()=>A("no")}),$[7]=A,$[8]=M;else M=$[8];let j;if($[9]!==z||$[10]!==Y||$[11]!==M)j=gh8.default.createElement(x8,{title:z,color:"warning",onCancel:Y},f,M),$[9]=z,$[10]=Y,$[11]=M,$[12]=j;else j=$[12];return j}var f39,gh8;var M39=T(()=>{y$();P6();Mw();BK();JKq();f39=B(H$(),1),gh8=B(XH(),1)});function w39(H){let $=j39.c(21),{serverNames:q,onDone:K}=H,_;if($[0]!==K||$[1]!==q)_=function(L){let P=Gq()||{},G=P.enabledMcpjsonServers||[],W=P.disabledMcpjsonServers||[],[Z,V]=kV8(q,(v)=>L.includes(v));if(c("tengu_mcp_multidialog_choice",{approved:Z.length,rejected:V.length}),Z.length>0){let v=AK([...G,...Z]);$q("localSettings",{enabledMcpjsonServers:v})}if(V.length>0){let v=AK([...W,...V]);$q("localSettings",{disabledMcpjsonServers:v})}K()},$[0]=K,$[1]=q,$[2]=_;else _=$[2];let A=_,z;if($[3]!==K||$[4]!==q)z=()=>{let L=(Gq()||{}).disabledMcpjsonServers||[],P=AK([...L,...q]);$q("localSettings",{disabledMcpjsonServers:P}),K()},$[3]=K,$[4]=q,$[5]=z;else z=$[5];let Y=z,f=`${q.length} new MCP servers found in .mcp.json`,O;if($[6]===Symbol.for("react.memo_cache_sentinel"))O=$l.default.createElement(Qh8,null),$[6]=O;else O=$[6];let M;if($[7]!==q)M=q.map(_TA),$[7]=q,$[8]=M;else M=$[8];let j;if($[9]!==Y||$[10]!==A||$[11]!==q||$[12]!==M)j=$l.default.createElement(QXH,{options:M,defaultValue:q,onSubmit:A,onCancel:Y,hideIndexes:!0}),$[9]=Y,$[10]=A,$[11]=q,$[12]=M,$[13]=j;else j=$[13];let w;if($[14]!==Y||$[15]!==f||$[16]!==j)w=$l.default.createElement(x8,{title:f,subtitle:"Select any you wish to enable.",color:"warning",onCancel:Y,hideInputGuide:!0},O,j),$[14]=Y,$[15]=f,$[16]=j,$[17]=w;else w=$[17];let D;if($[18]===Symbol.for("react.memo_cache_sentinel"))D=$l.default.createElement(p,{paddingX:1},$l.default.createElement(k,{dimColor:!0,italic:!0},$l.default.createElement(O8,null,$l.default.createElement(q$,{chord:"space",action:"select"}),$l.default.createElement(q$,{chord:"enter",action:"confirm"}),$l.default.createElement(o8,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})))),$[18]=D;else D=$[18];let J;if($[19]!==w)J=$l.default.createElement($l.default.Fragment,null,w,D),$[19]=w,$[20]=J;else J=$[20];return J}function _TA(H){return{label:H,value:H}}var j39,$l;var D39=T(()=>{Uo6();y$();iH();P6();h9();OV$();$K();BK();Dq();JKq();j39=B(H$(),1),$l=B(XH(),1)});async function LKq(H){let{servers:$}=t2("project"),q=Object.keys($).filter((K)=>nlH(K)==="pending");if(q.length===0)return;await ATA(q);try{await new Promise((K)=>{let _=()=>void K();if(q.length===1&&q[0]!==void 0){let A=q[0];H.render(DIH.default.createElement(ow,null,DIH.default.createElement(aD,null,DIH.default.createElement(O39,{serverName:A,onDone:_}))))}else H.render(DIH.default.createElement(ow,null,DIH.default.createElement(aD,null,DIH.default.createElement(w39,{serverNames:q,onDone:_}))))})}finally{await zTA()}}async function ATA(H){{if(!b7())return;let $=process.env.CLAUDE_JOB_DIR;if(!$)return;let q=await c7($);if(!q)return;let K=H.length,_=y8(K,"server"),A=y8(K,"needs","need");try{await xA($,{...q,state:"blocked",detail:`${K} new MCP ${_} ${A} approval`,tempo:"blocked",needs:`approve ${K} new MCP ${_} in .mcp.json (${H.join(", ")}) \u2014 attach to respond`,updatedAt:new Date().toISOString()})}catch(z){IH(z)}}}async function zTA(){{if(!b7())return;let H=process.env.CLAUDE_JOB_DIR;if(!H)return;let $=await c7(H);if(!$||$.state!=="blocked")return;try{await xA(H,{...$,state:"working",tempo:"idle",needs:void 0,block:void 0,detail:$.intent??"",updatedAt:new Date().toISOString()})}catch(q){IH(q)}}}var DIH;var J39=T(()=>{M39();D39();t3();jp();Gx();i_();P8();E6();kT();Mv();DIH=B(XH(),1)});function X39(){return}var YTA;var L39=T(()=>{s8();dH();YTA={iterm:"iTerm","iterm.app":"iTerm",ghostty:"Ghostty",kitty:"kitty",alacritty:"Alacritty",wezterm:"WezTerm",apple_terminal:"Terminal"}});class PKq{frameDurations=[];totalFrames=0;firstRenderTime;lastRenderTime;record(H){let $=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=$;if(this.lastRenderTime=$,this.totalFrames++,this.frameDurations.push(H),this.frameDurations.length>3600)this.frameDurations.splice(0,this.frameDurations.length>>1)}getMetrics(){if(this.totalFrames===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let H=this.lastRenderTime-this.firstRenderTime;if(H<=0)return;let $=this.totalFrames/(H/1000),q=this.frameDurations.slice().sort((z,Y)=>Y-z),K=Math.max(0,Math.ceil(q.length*0.01)-1),_=q[K],A=_>0?1000/_:0;return{averageFps:Math.round($*100)/100,low1PctFps:Math.round(A*100)/100}}}async function W39(){try{let H=await vYH();if(!H){N("Not in a GitHub repository, skipping path mapping update");return}let $=J6(),K=F1($)??$,_;try{_=(await P39.realpath(K)).normalize("NFC")}catch{_=K}let A=H.toLowerCase(),Y=m$().githubRepoPaths?.[A]??[];if(Y[0]===_){N(`Path ${_} already tracked for repo ${A}`);return}let f=Y.filter((M)=>M!==_),O=[_,...f];Y8((M)=>({...M,githubRepoPaths:{...M.githubRepoPaths,[A]:O}})),N(`Added ${_} to tracked paths for repo ${A}`)}catch(H){N(`Error updating repo path mapping: ${H}`)}}function dh8(H){let $=m$(),q=H.toLowerCase();return $.githubRepoPaths?.[q]??[]}async function ch8(H){let $=await Promise.all(H.map(M5));return H.filter((q,K)=>$[K])}async function Z39(H,$){try{let q=await o9$(H);if(!q)return!1;let K=s2H(q);if(!K)return!1;return K.toLowerCase()===$.toLowerCase()}catch{return!1}}function G39(H,$){let q=m$(),K=H.toLowerCase(),_=q.githubRepoPaths?.[K]??[],A=_.filter((Y)=>Y!==$);if(A.length===_.length)return;let z={...q.githubRepoPaths};if(A.length===0)delete z[K];else z[K]=A;Y8((Y)=>({...Y,githubRepoPaths:z})),N(`Removed ${$} from tracked paths for repo ${K}`)}var P39;var eE$=T(()=>{w$();s8();dH();g0();C9();Pm();f4();P39=require("fs/promises")});async function fTA(){return{success:true};try{let H=SK(),$=new URL(H.TOKEN_URL),q=[`${H.BASE_API_URL}/api/hello`,`${$.origin}/v1/oauth/hello`],K=async(z)=>{try{let Y=await l6.get(z,{headers:{"User-Agent":Bn()}});if(Y.status!==200)return{success:!1,error:`Failed to connect to ${new URL(z).hostname}: Status ${Y.status}`};return{success:!0}}catch(Y){let f=new URL(z).hostname,O=kMH(Y);return{success:!1,error:`Failed to connect to ${f}: ${Y instanceof Error?Y.code||Y.message:String(Y)}`,sslHint:O??void 0}}},A=(await Promise.all(q.map(K))).find((z)=>!z.success);if(A)c("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!A.error,isSSLError:!!A.sslHint});return A||{success:!0}}catch(H){return IH(H),c("tengu_preflight_check_failed",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${H instanceof Error?H.code||H.message:String(H)}`}}}function V39(H){let $=T39.c(14),{onSuccess:q}=H,[K,_]=hZ.useState(null),[A,z]=hZ.useState(!0),Y=qO(1000)&&A,f,O;if($[0]===Symbol.for("react.memo_cache_sentinel"))f=()=>{(async function(){let L=await fTA();_(L),z(!1)})()},O=[],$[0]=f,$[1]=O;else f=$[0],O=$[1];hZ.useEffect(f,O);let M;if($[2]!==q||$[3]!==K?.success)M=()=>{if(K?.success)q()},$[2]=q,$[3]=K?.success,$[4]=M;else M=$[4];let j;if($[5]!==q||$[6]!==K)j=[K,q],$[5]=q,$[6]=K,$[7]=j;else j=$[7];hZ.useEffect(M,j),qO(OTA,K&&!K.success?100:null);let w;if($[8]!==A||$[9]!==K||$[10]!==Y)w=A&&Y?hZ.default.createElement(p,{paddingLeft:1},hZ.default.createElement(S5,null),hZ.default.createElement(k,null,"Checking connectivity...")):!K?.success&&!A&&hZ.default.createElement(p,{flexDirection:"column",gap:1},hZ.default.createElement(k,{color:"error"},"Unable to connect to Anthropic services"),hZ.default.createElement(k,{color:"error"},K?.error),K?.sslHint?hZ.default.createElement(p,{flexDirection:"column",gap:1},hZ.default.createElement(k,null,K.sslHint),hZ.default.createElement(k,{color:"suggestion"},"See https://code.claude.com/docs/en/network-config")):hZ.default.createElement(p,{flexDirection:"column",gap:1},hZ.default.createElement(k,null,"Please check your internet connection and network settings."),hZ.default.createElement(k,null,"Note: Claude Code might not be available in your country. Check supported countries at"," ",hZ.default.createElement(k,{color:"suggestion"},"https://anthropic.com/supported-countries")))),$[8]=A,$[9]=K,$[10]=Y,$[11]=w;else w=$[11];let D;if($[12]!==w)D=hZ.default.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1},w),$[12]=w,$[13]=D;else D=$[13];return D}function OTA(){nL("preflight_endpoint"),process.exit(1)}var T39,hZ;var v39=T(()=>{w_();y$();cP();b1();Pl();K88();iH();KHH();u2();P8();T39=B(H$(),1),hZ=B(XH(),1)});var N39={};P$(N39,{ApproveApiKey:()=>WKq});function WKq(H){let $=k39.c(16),{customApiKeyTruncated:q,onDone:K}=H,_;if($[0]!==q||$[1]!==K)_=function(J){H:switch(J){case"yes":{Y8((X)=>({...X,customApiKeyResponses:{...X.customApiKeyResponses,approved:[...X.customApiKeyResponses?.approved??[],q]}})),K(!0);break H}case"no":Y8((X)=>({...X,customApiKeyResponses:{...X.customApiKeyResponses,rejected:[...X.customApiKeyResponses?.rejected??[],q]}})),K(!1)}},$[0]=q,$[1]=K,$[2]=_;else _=$[2];let A=_,z;if($[3]!==A)z=()=>A("no"),$[3]=A,$[4]=z;else z=$[4];let Y;if($[5]===Symbol.for("react.memo_cache_sentinel"))Y=CAH.default.createElement(k,{bold:!0},"ANTHROPIC_API_KEY"),$[5]=Y;else Y=$[5];let f;if($[6]!==q)f=CAH.default.createElement(k,null,Y,CAH.default.createElement(k,null,": sk-ant-...",q)),$[6]=q,$[7]=f;else f=$[7];let O;if($[8]===Symbol.for("react.memo_cache_sentinel"))O=CAH.default.createElement(k,null,"Do you want to use this API key?"),$[8]=O;else O=$[8];let M;if($[9]===Symbol.for("react.memo_cache_sentinel"))M=CAH.default.createElement(k,null,"No (",CAH.default.createElement(k,{bold:!0},"recommended"),")"),$[9]=M;else M=$[9];let j;if($[10]!==A)j=CAH.default.createElement(d9,{focus:"cancel",cancelLabel:M,onConfirm:()=>A("yes"),onCancel:()=>A("no")}),$[10]=A,$[11]=j;else j=$[11];let w;if($[12]!==z||$[13]!==f||$[14]!==j)w=CAH.default.createElement(x8,{title:"Detected a custom API key in your environment",color:"warning",onCancel:z},f,O,j),$[12]=z,$[13]=f,$[14]=j,$[15]=w;else w=$[15];return w}var k39,CAH;var ZKq=T(()=>{iH();s8();uM();BK();k39=B(H$(),1),CAH=B(XH(),1)});function lh8(){let H=E39.c(1),$;if(H[0]===Symbol.for("react.memo_cache_sentinel"))$=Hy$.createElement(k,{color:"permission"},"Press ",Hy$.createElement(k,{bold:!0},"Enter")," to continue\u2026"),H[0]=$;else $=H[0];return $}var E39,Hy$;var GKq=T(()=>{iH();E39=B(H$(),1),Hy$=B(XH(),1)});function nh8(H){let $=y39.c(7),{children:q}=H,{marker:K}=CPH.useContext(TKq),_;if($[0]!==K)_=CPH.default.createElement(k,{dimColor:!0},K),$[0]=K,$[1]=_;else _=$[1];let A;if($[2]!==q)A=CPH.default.createElement(p,{flexDirection:"column"},q),$[2]=q,$[3]=A;else A=$[3];let z;if($[4]!==_||$[5]!==A)z=CPH.default.createElement(p,{gap:1},_,A),$[4]=_,$[5]=A,$[6]=z;else z=$[6];return z}var y39,CPH,TKq;var h39=T(()=>{iH();y39=B(H$(),1),CPH=B(XH(),1),TKq=CPH.createContext({marker:""})});function I39(H){let $=R39.c(9),{children:q}=H,{marker:K}=dU.useContext(S39),_=0;for(let f of dU.default.Children.toArray(q)){if(!dU.isValidElement(f)||f.type!==nh8)continue;_++}let A=String(_).length,z;if($[0]!==q||$[1]!==A||$[2]!==K){let f;if($[4]!==A||$[5]!==K)f=(O,M)=>{if(!dU.isValidElement(O)||O.type!==nh8)return O;let j=`${String(M+1).padStart(A)}.`,w=`${K}${j}`;return dU.default.createElement(S39.Provider,{value:{marker:w}},dU.default.createElement(TKq.Provider,{value:{marker:w}},O))},$[4]=A,$[5]=K,$[6]=f;else f=$[6];z=dU.default.Children.map(q,f),$[0]=q,$[1]=A,$[2]=K,$[3]=z}else z=$[3];let Y;if($[7]!==z)Y=dU.default.createElement(p,{flexDirection:"column"},z),$[7]=z,$[8]=Y;else Y=$[8];return Y}var R39,dU,S39,ih8;var C39=T(()=>{iH();h39();R39=B(H$(),1),dU=B(XH(),1),S39=dU.createContext({marker:""});I39.Item=nh8;ih8=I39});var u39={};P$(u39,{SkippableStep:()=>x39,Onboarding:()=>MTA});function MTA({onDone:H}){let[$,q]=Z5.useState(0),[K,_]=Z5.useState(!1),[A]=Z5.useState(()=>gw()),[z,Y]=d7();Z5.useEffect(()=>{c("tengu_began_setup",{oauthEnabled:A})},[A]);function f(){if($<L.length-1){let Z=$+1;q(Z),c("tengu_onboarding_step",{oauthEnabled:A,stepId:L[Z]?.id}),xH("onboarding_step_complete")}else xH("onboarding_complete"),H()}function O(Z){Y(Z),f()}let M=tY(),j=Z5.default.createElement(p,{marginX:1},Z5.default.createElement(weH,{onThemeSelect:O,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0})),w=Z5.default.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1},Z5.default.createElement(k,{bold:!0},"Security notes:"),Z5.default.createElement(p,{flexDirection:"column",width:70},Z5.default.createElement(ih8,null,Z5.default.createElement(ih8.Item,null,Z5.default.createElement(k,null,"Claude can make mistakes"),Z5.default.createElement(k,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",Z5.default.createElement(vb,null),"running code.",Z5.default.createElement(vb,null))),Z5.default.createElement(ih8.Item,null,Z5.default.createElement(k,null,"Due to prompt injection risks, only use it with code you trust"),Z5.default.createElement(Uv,{url:"https://code.claude.com/docs/en/security"})))),Z5.default.createElement(lh8,null)),D=Z5.default.createElement(V39,{onSuccess:f}),J=Z5.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY||SX())return"";let Z=rS(process.env.ANTHROPIC_API_KEY);if(Of$(Z)==="new")return Z},[]);function X(Z){if(Z)_(!0);f()}let L=[];if(A)L.push({id:"preflight",component:D});if(L.push({id:"theme",component:j}),J)L.push({id:"api-key",component:Z5.default.createElement(WKq,{customApiKeyTruncated:J,onDone:X})});if(A)L.push({id:"oauth",component:Z5.default.createElement(x39,{skip:K,onSkip:f},Z5.default.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1},Z5.default.createElement(XyH,{onDone:f,urlOutdent:1})))});if(L.push({id:"security",component:w}),MVH())L.push({id:"terminal-setup",component:Z5.default.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1},Z5.default.createElement(k,{bold:!0},"Use Claude Code's terminal setup?"),Z5.default.createElement(p,{flexDirection:"column",width:70,gap:1},Z5.default.createElement(k,null,"For the optimal coding experience, enable the recommended settings",Z5.default.createElement(vb,null),"for your terminal:"," ",F6.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),Z5.default.createElement(d9,{confirmLabel:"Yes, use recommended settings",cancelLabel:"No, maybe later with /terminal-setup",onConfirm:()=>void r88(z).then(()=>xH("onboarding_terminal_setup")).catch(()=>mH("onboarding_terminal_setup","onboarding_terminal_setup_failed")).finally(f),onCancel:f}),Z5.default.createElement(k,{dimColor:!0},M.pending?Z5.default.createElement(Z5.default.Fragment,null,"Press ",M.keyName," again to exit"):Z5.default.createElement(O8,null,Z5.default.createElement(q$,{chord:"enter",action:"confirm"}),Z5.default.createElement(q$,{chord:"escape",action:"skip"})))))});let P=L[$],G=Z5.useCallback(()=>{if($===L.length-1)H();else f()},[$,H,f]),W=Z5.useCallback(()=>{f()},[f]);return Yq({"confirm:yes":G},{context:"Confirmation",isActive:P?.id==="security"}),Yq({"confirm:no":W},{context:"Confirmation",isActive:P?.id==="terminal-setup"}),Z5.default.createElement(p,{flexDirection:"column"},Z5.default.createElement(OPH,null),Z5.default.createElement(p,{flexDirection:"column",marginTop:1},P?.component,M.pending&&Z5.default.createElement(p,{padding:1},Z5.default.createElement(k,{dimColor:!0},"Press ",M.keyName," again to exit"))))}function x39(H){let $=b39.c(4),{skip:q,onSkip:K,children:_}=H,A,z;if($[0]!==K||$[1]!==q)A=()=>{if(q)K()},z=[q,K],$[0]=K,$[1]=q,$[2]=A,$[3]=z;else A=$[2],z=$[3];if(Z5.useEffect(A,z),q)return null;return _}var b39,Z5;var m39=T(()=>{y$();KMH();NG();iH();yq();w8();Pq();T_$();s8();m_();r$();v39();ZKq();c2$();$K();uM();R6H();Dq();DN$();GKq();rZ8();C39();b39=B(H$(),1),Z5=B(XH(),1)});function B39(H){if(H===null)return!1;if(H.statusLine)return!0;if(H.fileSuggestion)return!0;if(!H.hooks)return!1;for(let $ of Object.values(H.hooks))if($.length>0)return!0;return!1}function c39(){let H=[],$=B8("projectSettings");if(B39($))H.push(".claude/settings.json");let q=B8("localSettings");if(B39(q))H.push(".claude/settings.local.json");return H}function p39(H){return H.some(($)=>$.ruleBehavior==="allow"&&($.ruleValue.toolName===dq||$.ruleValue.toolName.startsWith(dq+"(")))}function l39(){let H=[],$=Dj$("projectSettings");if(p39($))H.push(".claude/settings.json");let q=Dj$("localSettings");if(p39(q))H.push(".claude/settings.local.json");return H}function U39(H){return!!H?.otelHeadersHelper}function n39(){let H=[],$=B8("projectSettings");if(U39($))H.push(".claude/settings.json");let q=B8("localSettings");if(U39(q))H.push(".claude/settings.local.json");return H}function F39(H){return!!H?.apiKeyHelper}function i39(){let H=[],$=B8("projectSettings");if(F39($))H.push(".claude/settings.json");let q=B8("localSettings");if(F39(q))H.push(".claude/settings.local.json");return H}function Q39(H){return!!(H?.awsAuthRefresh||H?.awsCredentialExport)}function r39(){let H=[],$=B8("projectSettings");if(Q39($))H.push(".claude/settings.json");let q=B8("localSettings");if(Q39(q))H.push(".claude/settings.local.json");return H}function g39(H){return!!H?.gcpAuthRefresh}function o39(){let H=[],$=B8("projectSettings");if(g39($))H.push(".claude/settings.json");let q=B8("localSettings");if(g39(q))H.push(".claude/settings.local.json");return H}function d39(H){if(!H?.env)return!1;return Object.keys(H.env).some(($)=>!GnH.has($.toUpperCase()))}function a39(){let H=[],$=B8("projectSettings");if(d39($))H.push(".claude/settings.json");let q=B8("localSettings");if(d39(q))H.push(".claude/settings.local.json");return H}var s39=T(()=>{P6();v_8();R9H()});var e39={};P$(e39,{TrustDialog:()=>jTA});function jTA(H){let $=t39.c(32),{onDone:q,commands:K}=H,_;if($[0]===Symbol.for("react.memo_cache_sentinel"))_=t2("project"),$[0]=_;else _=$[0];let{servers:A}=_,z;if($[1]===Symbol.for("react.memo_cache_sentinel"))z=Object.keys(A),$[1]=z;else z=$[1];let Y=z.length>0,f;if($[2]===Symbol.for("react.memo_cache_sentinel"))f=c39(),$[2]=f;else f=$[2];let M=f.length>0,j;if($[3]===Symbol.for("react.memo_cache_sentinel"))j=l39(),$[3]=j;else j=$[3];let w=j,D;if($[4]===Symbol.for("react.memo_cache_sentinel"))D=i39(),$[4]=D;else D=$[4];let X=D.length>0,L;if($[5]===Symbol.for("react.memo_cache_sentinel"))L=r39(),$[5]=L;else L=$[5];let G=L.length>0,W;if($[6]===Symbol.for("react.memo_cache_sentinel"))W=o39(),$[6]=W;else W=$[6];let V=W.length>0,v;if($[7]===Symbol.for("react.memo_cache_sentinel"))v=n39(),$[7]=v;else v=$[7];let S=v.length>0,h;if($[8]===Symbol.for("react.memo_cache_sentinel"))h=a39(),$[8]=h;else h=$[8];let I=h.length>0,b;if($[9]!==K)b=K?.some(PTA)??!1,$[9]=K,$[10]=b;else b=$[10];let x=b,R;if($[11]!==K)R=K?.some(XTA)??!1,$[11]=K,$[12]=R;else R=$[12];let m=R,Q=w.length>0||x||m,U=u_(),g,l;if($[13]!==Q)g=()=>{let qH=VKq.homedir()===x$();c("tengu_trust_dialog_shown",{isHomeDir:qH,hasMcpServers:Y,hasHooks:M,hasBashExecution:Q,hasApiKeyHelper:X,hasAwsCommands:G,hasGcpCommands:V,hasOtelHeadersHelper:S,hasDangerousEnvVars:I})},l=[Y,M,Q,X,G,V,S,I],$[13]=Q,$[14]=g,$[15]=l;else g=$[14],l=$[15];hE.useEffect(g,l);let d;if($[16]!==Q||$[17]!==q)d=function(MH){if(MH==="exit"){mH("onboarding_trust_dialog","onboarding_trust_denied"),E9(1);return}let zH=VKq.homedir()===x$();if(xH("onboarding_trust_dialog"),c("tengu_trust_dialog_accept",{isHomeDir:zH,hasMcpServers:Y,hasHooks:M,hasBashExecution:Q,hasApiKeyHelper:X,hasAwsCommands:G,hasGcpCommands:V,hasOtelHeadersHelper:S,hasDangerousEnvVars:I}),zH)JzH(!0);else vM(JTA);q()},$[16]=Q,$[17]=q,$[18]=d;else d=$[18];let r=d,t=tY(DTA),s;if($[19]===Symbol.for("react.memo_cache_sentinel"))s={context:"Confirmation"},$[19]=s;else s=$[19];if(Y6("confirm:no",wTA,s),U)return queueMicrotask(q),null;let HH,o,e;if($[20]===Symbol.for("react.memo_cache_sentinel"))HH=hE.default.createElement(k,{bold:!0},g$().cwd()),o=hE.default.createElement(k,null,"Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source project, or work from your team). If not, take a moment to review what","'","s in this folder first."),e=hE.default.createElement(k,null,"","",""),$[20]=HH,$[21]=o,$[22]=e;else HH=$[20],o=$[21],e=$[22];let wH;if($[23]===Symbol.for("react.memo_cache_sentinel"))wH=hE.default.createElement(k,{dimColor:!0},hE.default.createElement(JK,{url:"https://code.claude.com/docs/en/security"},"Security guide")),$[23]=wH;else wH=$[23];let AH;if($[24]!==r)AH=hE.default.createElement(d9,{confirmLabel:"Yes, I trust this folder",cancelLabel:"No, exit",onConfirm:()=>r("enable_all"),onCancel:()=>r("exit")}),$[24]=r,$[25]=AH;else AH=$[25];let $H;if($[26]!==t.keyName||$[27]!==t.pending)$H=hE.default.createElement(k,{dimColor:!0},t.pending?hE.default.createElement(hE.default.Fragment,null,"Press ",t.keyName," again to exit"):hE.default.createElement(O8,null,hE.default.createElement(q$,{chord:"enter",action:"confirm"}),hE.default.createElement(q$,{chord:"escape",action:"cancel"}))),$[26]=t.keyName,$[27]=t.pending,$[28]=$H;else $H=$[28];let KH;if($[29]!==AH||$[30]!==$H)KH=hE.default.createElement(K3,{color:"warning",titleColor:"warning",title:"Accessing workspace:"},hE.default.createElement(p,{flexDirection:"column",gap:1,paddingTop:1},HH,o,e,wH,AH,$H)),$[29]=AH,$[30]=$H,$[31]=KH;else KH=$[31];return KH}function wTA(){E9(0)}function DTA(){return E9(1)}function JTA(H){return{...H,hasTrustDialogAccepted:!0}}function XTA(H){return H.type==="prompt"&&(H.loadedFrom==="skills"||H.loadedFrom==="plugin")&&(H.source==="projectSettings"||H.source==="localSettings"||H.source==="plugin")&&H.allowedTools?.some(LTA)}function LTA(H){return H===dq||H.startsWith(dq+"(")}function PTA(H){return H.type==="prompt"&&H.loadedFrom==="commands_DEPRECATED"&&(H.source==="projectSettings"||H.source==="localSettings")&&H.allowedTools?.some(WTA)}function WTA(H){return H===dq||H.startsWith(dq+"(")}var t39,VKq,hE;var Hf9=T(()=>{y$();w$();NG();iH();yq();w8();kT();s8();Lq();lq();Vz();$K();uM();Dq();Xv();s39();t39=B(H$(),1),VKq=require("os"),hE=B(XH(),1)});var Kf9={};P$(Kf9,{ProTrialStartScreen:()=>ZTA});function ZTA(H){let $=$f9.c(9),{onDone:q}=H,[K,_]=qf9.useState("idle"),A;if($[0]!==q||$[1]!==K)A={"confirm:yes":()=>{if(K==="starting")return;if(K==="error"){q();return}_("starting"),c("tengu_pro_trial_start_pressed",{}),gi6().then(()=>{c("tengu_pro_trial_start_ok",{}),q()}).catch((w)=>{if(Hj(w))N(`Failed to start pro trial: ${TH(w)}`,{level:"error"});else IH(w);c("tengu_pro_trial_start_error",{}),_("error")})}},$[0]=q,$[1]=K,$[2]=A;else A=$[2];let z;if($[3]===Symbol.for("react.memo_cache_sentinel"))z={context:"Confirmation"},$[3]=z;else z=$[3];Yq(A,z);let Y;if($[4]===Symbol.for("react.memo_cache_sentinel"))Y=Qi6(),$[4]=Y;else Y=$[4];let f=Y,O;if($[5]===Symbol.for("react.memo_cache_sentinel"))O=SZ.createElement(OPH,null),$[5]=O;else O=$[5];let M;if($[6]===Symbol.for("react.memo_cache_sentinel"))M=SZ.createElement(k,null,f!==null?`Your Pro plan includes ${f} days of Claude Code.`:"Your Pro plan includes a Claude Code trial."),$[6]=M;else M=$[6];let j;if($[7]!==K)j=SZ.createElement(p,{flexDirection:"column",paddingX:1,gap:1},O,M,K==="starting"?SZ.createElement(p,null,SZ.createElement(S5,null),SZ.createElement(k,null," Starting your trial\u2026")):K==="error"?SZ.createElement(k,{color:"error"},"Couldn't start your trial. Press ",SZ.createElement(k,{bold:!0},"Enter")," to continue."):SZ.createElement(k,{color:"permission"},"Press ",SZ.createElement(k,{bold:!0},"Enter")," to start your trial")),$[7]=K,$[8]=j;else j=$[8];return j}var $f9,SZ,qf9;var _f9=T(()=>{iH();yq();y$();DH$();dH();G$();P8();DN$();cP();$f9=B(H$(),1),SZ=B(XH(),1),qf9=B(XH(),1)});var zf9={};P$(zf9,{TeamOnboardingDiscoveryStep:()=>GTA});function GTA(H){let $=Af9.c(6),{onDone:q}=H,K;if($[0]!==q)K={"confirm:yes":q},$[0]=q,$[1]=K;else K=$[1];let _;if($[2]===Symbol.for("react.memo_cache_sentinel"))_={context:"Confirmation"},$[2]=_;else _=$[2];Yq(K,_);let A;if($[3]===Symbol.for("react.memo_cache_sentinel"))A=dI.createElement(OPH,null),$[3]=A;else A=$[3];let z;if($[4]===Symbol.for("react.memo_cache_sentinel"))z=dI.createElement(k,{bold:!0},iv8.heading),$[4]=z;else z=$[4];let Y;if($[5]===Symbol.for("react.memo_cache_sentinel"))Y=dI.createElement(p,{flexDirection:"column"},A,dI.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1,marginTop:1},z,dI.createElement(p,{width:70},dI.createElement(k,null,iv8.body)),dI.createElement(lh8,null))),$[5]=Y;else Y=$[5];return Y}var Af9,dI;var Yf9=T(()=>{Ck$();iH();yq();DN$();GKq();Af9=B(H$(),1),dI=B(XH(),1)});var Of9={};P$(Of9,{BypassPermissionsModeDialog:()=>TTA});function TTA(H){let $=ff9.c(6),{onAccept:q}=H,K;if($[0]===Symbol.for("react.memo_cache_sentinel"))K=[],$[0]=K;else K=$[0];WqH.useEffect(vTA,K);let _;if($[1]!==q)_=function(M){H:switch(M){case"accept":{c("tengu_bypass_permissions_mode_dialog_accept",{}),$q("userSettings",{skipDangerousModePermissionPrompt:!0}),q();break H}case"decline":E9(1)}},$[1]=q,$[2]=_;else _=$[2];let A=_,z=VTA,Y;if($[3]===Symbol.for("react.memo_cache_sentinel"))Y=WqH.default.createElement(p,{flexDirection:"column",gap:1},WqH.default.createElement(k,null,"In Bypass Permissions mode, Claude Code will not ask for your approval before running potentially dangerous commands.",WqH.default.createElement(vb,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),WqH.default.createElement(k,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),WqH.default.createElement(JK,{url:"https://code.claude.com/docs/en/security"})),$[3]=Y;else Y=$[3];let f;if($[4]!==A)f=WqH.default.createElement(x8,{title:"WARNING: Claude Code running in Bypass Permissions mode",color:"error",onCancel:z},Y,WqH.default.createElement(d9,{cancelFirst:!0,focus:"cancel",confirmLabel:"Yes, I accept",cancelLabel:"No, exit",onConfirm:()=>A("accept"),onCancel:()=>A("decline")})),$[4]=A,$[5]=f;else f=$[5];return f}function VTA(){E9(0)}function vTA(){c("tengu_bypass_permissions_mode_dialog_shown",{})}var ff9,WqH;var Mf9=T(()=>{y$();iH();Vz();P6();uM();BK();ff9=B(H$(),1),WqH=B(XH(),1)});var wf9={};P$(wf9,{DevChannelsDialog:()=>kTA});function kTA(H){let $=jf9.c(13),{channels:q,onAccept:K}=H,_;if($[0]!==K)_=function(J){H:switch(J){case"accept":{K();break H}case"exit":E9(1)}},$[0]=K,$[1]=_;else _=$[1];let A=_,z=ETA,Y,f;if($[2]===Symbol.for("react.memo_cache_sentinel"))Y=JIH.default.createElement(k,null,"--dangerously-load-development-channels is for local channel development only. Do not use this option to run channels you have downloaded off the internet."),f=JIH.default.createElement(k,null,"Please use --channels to run a list of approved channels."),$[2]=Y,$[3]=f;else Y=$[2],f=$[3];let O;if($[4]!==q)O=q.map(NTA).join(", "),$[4]=q,$[5]=O;else O=$[5];let M;if($[6]!==O)M=JIH.default.createElement(p,{flexDirection:"column",gap:1},Y,f,JIH.default.createElement(k,{dimColor:!0},"Channels:"," ",O)),$[6]=O,$[7]=M;else M=$[7];let j;if($[8]!==A)j=JIH.default.createElement(d9,{confirmLabel:"I am using this for local development",cancelLabel:"Exit",onConfirm:()=>A("accept"),onCancel:()=>A("exit")}),$[8]=A,$[9]=j;else j=$[9];let w;if($[10]!==M||$[11]!==j)w=JIH.default.createElement(x8,{title:"WARNING: Loading development channels",color:"error",onCancel:z},M,j),$[10]=M,$[11]=j,$[12]=w;else w=$[12];return w}function NTA(H){return H.kind==="plugin"?`plugin:${H.name}@${H.marketplace}`:`server:${H.name}`}function ETA(){E9(0)}var jf9,JIH;var Df9=T(()=>{iH();Vz();uM();BK();jf9=B(H$(),1),JIH=B(XH(),1)});var Xf9={};P$(Xf9,{ClaudeInChromeOnboarding:()=>STA});function STA(H){let $=Jf9.c(21),{onDone:q}=H,[K,_]=G0.useState(!1),A,z;if($[0]===Symbol.for("react.memo_cache_sentinel"))A=()=>{c("tengu_claude_in_chrome_onboarding_shown",{}),s_H().then(_).catch(IH),Y8(RTA)},z=[],$[0]=A,$[1]=z;else A=$[0],z=$[1];G0.useEffect(A,z);let Y;if($[2]!==q)Y=(L)=>{if(L.key==="return"&&!L.ctrl&&!L.meta)L.preventDefault(),q()},$[2]=q,$[3]=Y;else Y=$[3];let f;if($[4]!==K)f=!K&&G0.default.createElement(G0.default.Fragment,null,G0.default.createElement(vb,null),G0.default.createElement(vb,null),"Requires the Chrome extension. Get started at"," ",G0.default.createElement(JK,{url:yTA})),$[4]=K,$[5]=f;else f=$[5];let O;if($[6]!==f)O=G0.default.createElement(k,null,"Claude in Chrome works with the Chrome extension to let you control your browser directly from Claude Code. You can navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests.",f),$[6]=f,$[7]=O;else O=$[7];let M;if($[8]!==K)M=K&&G0.default.createElement(G0.default.Fragment,null," ","(",G0.default.createElement(JK,{url:hTA}),")"),$[8]=K,$[9]=M;else M=$[9];let j;if($[10]!==M)j=G0.default.createElement(k,{dimColor:!0},"Site-level permissions are inherited from the Chrome extension. Manage permissions in the Chrome extension settings to control which sites Claude can browse, click, and type on",M,"."),$[10]=M,$[11]=j;else j=$[11];let w;if($[12]===Symbol.for("react.memo_cache_sentinel"))w=G0.default.createElement(k,{bold:!0,color:"chromeYellow"},"/chrome"),$[12]=w;else w=$[12];let D;if($[13]===Symbol.for("react.memo_cache_sentinel"))D=G0.default.createElement(k,{dimColor:!0},"For more info, use"," ",w," ","or visit ",G0.default.createElement(JK,{url:"https://code.claude.com/docs/en/chrome"})),$[13]=D;else D=$[13];let J;if($[14]!==Y||$[15]!==O||$[16]!==j)J=G0.default.createElement(p,{flexDirection:"column",gap:1,tabIndex:0,autoFocus:!0,onKeyDown:Y},O,j,D),$[14]=Y,$[15]=O,$[16]=j,$[17]=J;else J=$[17];let X;if($[18]!==q||$[19]!==J)X=G0.default.createElement(x8,{title:"Claude in Chrome (beta)",onCancel:q,color:"chromeYellow"},J),$[18]=q,$[19]=J,$[20]=X;else X=$[20];return X}function RTA(H){return{...H,hasCompletedClaudeInChromeOnboarding:!0}}var Jf9,G0,yTA="https://claude.ai/chrome",hTA="https://clau.de/chrome/permissions";var Lf9=T(()=>{y$();iH();YRH();s8();P8();BK();Jf9=B(H$(),1),G0=B(XH(),1)});var kKq={};P$(kKq,{upgradeKey:()=>ITA,probeBedrockModel:()=>oh8,findBedrockUpgradeCandidates:()=>CTA,checkBedrockDefaultAvailability:()=>bTA});function vKq(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function Pf9(H){let $=xJ(H);for(let q of $y$)if(xJ(cY[q].firstParty)===$)return q;return}function ITA(H){return`${H.fromKey}-to-${H.toKey}`}async function CTA(){if(Iq()!=="bedrock")return[];if(uH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let z of Object.keys(rh8)){let Y=rh8[z],f,O,M;for(let J of Y.envVarPriority){let X=process.env[J];if(!X)continue;if(X.includes("application-inference-profile"))continue;let L=Pf9(X);if(!L||vKq(L)!==z||L===Y.defaultKey)continue;f=J,O=X,M=L;break}if(!f||!O||!M)continue;let j=Y.defaultKey,w=$y$.indexOf(M),D=$y$.indexOf(j);if(w>=D)continue;H.push({tier:z,envVar:f,pinnedRaw:O,pinnedKey:M,defaultKey:j})}if(H.length===0)return[];let $;try{$=await J_$()}catch{return[]}let q=_t(wk()),K=[];for(let z of H){let Y=cY[z.defaultKey].firstParty,f=i3H($,Y,q);if(!f)continue;let O=ZM(cY[z.pinnedKey].firstParty),M=ZM(cY[z.defaultKey].firstParty);if(!O||!M)continue;K.push({tier:z.tier,envVar:z.envVar,fromKey:z.pinnedKey,fromMarketingName:O,toKey:z.defaultKey,toMarketingName:M,toBedrockId:f})}c("tengu_bedrock_upgrade_check",{stale_tiers:String(K.length)});let A=(await Promise.all(K.map(async(z)=>{let Y=await oh8(z.toBedrockId,z.tier);return c("tengu_bedrock_probe_result",{tier:z.tier,model_id:z.toBedrockId,accessible:String(Y)}),Y?z:null}))).filter((z)=>z!==null);return N(`[bedrock-upgrade] tiersWithPin=${H.length} candidates=${A.length}`),A}async function bTA(){if(Iq()!=="bedrock")return[];if(uH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let A of Object.keys(rh8)){let z=rh8[A];if(z.envVarPriority.some((f)=>{let O=process.env[f];if(!O)return!1;let M=Pf9(O);if(!M)return!0;return vKq(M)===A}))continue;H.push({tier:A,envVar:z.envVarPriority.at(-1),defaultKey:z.defaultKey})}if(H.length===0)return[];c("tengu_bedrock_default_check",{unpinned_tiers:String(H.length)});let $=null;try{$=await J_$()}catch{return[]}let q=_t(wk()),K=await Promise.all(H.map(async(A)=>{let z=cY[A.defaultKey],Y=i3H($,z.firstParty,q);if(!Y)return null;let f=await oh8(Y,A.tier);if(c("tengu_bedrock_probe_result",{tier:A.tier,model_id:Y,accessible:String(f)}),f)return null;let O=xTA(A.defaultKey,A.tier);if(!O)return null;let M=cY[O],j=i3H($,M.firstParty,q);if(!j)return null;if(!await oh8(j,A.tier))return null;let D=ZM(z.firstParty),J=ZM(M.firstParty);if(!D||!J)return null;return{tier:A.tier,envVar:A.envVar,defaultKey:A.defaultKey,defaultName:D,fallbackKey:O,fallbackName:J,fallbackBedrockId:j}})),_=[];for(let A of K)if(A!==null)_.push(A);return N(`[bedrock-fallback] unpinnedTiers=${H.length} fallbacks=${_.length}`),_}function xTA(H,$){let q=$y$.indexOf(H);for(let K=q-1;K>=0;K--){let _=$y$[K];if(vKq(_)===$)return _}return}async function oh8(H,$){try{let[{AnthropicBedrock:q},{getProxyFetchOptions:K}]=await Promise.all([Promise.resolve().then(() => (vA$(),VA$)),Promise.resolve().then(() => (yO(),RmH))]),_=$==="haiku"&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:wk(),A={awsRegion:_,maxRetries:0,timeout:8000,fetchOptions:K({url:process.env.ANTHROPIC_BEDROCK_BASE_URL||`https://bedrock-runtime.${_}.amazonaws.com`})},z;if(process.env.AWS_BEARER_TOKEN_BEDROCK)z=new q({...A,apiKey:process.env.AWS_BEARER_TOKEN_BEDROCK});else{let Y=uH(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),f=Y?null:await fQ();z=f?new q({...A,awsAccessKey:f.accessKeyId,awsSecretKey:f.secretAccessKey,awsSessionToken:f.sessionToken}):new q({...A,...Y&&{skipAuth:!0}})}return await z.messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(q){if(q?.status===429)return!0;return!1}}var $y$,rh8;var NKq=T(()=>{y$();Pq();dH();r$();M7H();Yn();mq();I4();$y$=Object.keys(cY),rh8={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Lt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Xt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Pt}}});var EKq={};P$(EKq,{ThirdPartyModelUpgradeDialog:()=>uTA});function uTA(H){let $=Wf9.c(27),{tierLabel:q,fromName:K,toName:_,toProviderId:A,onDone:z}=H,Y=`Newer ${q} model available`,f;if($[0]!==z)f=()=>z(!1),$[0]=z,$[1]=f;else f=$[1];let O;if($[2]!==K)O=ql.default.createElement(k,null,"Currently pinned: ",ql.default.createElement(k,{bold:!0},K)),$[2]=K,$[3]=O;else O=$[3];let M;if($[4]!==_)M=ql.default.createElement(k,{bold:!0},_),$[4]=_,$[5]=M;else M=$[5];let j;if($[6]!==A)j=ql.default.createElement(k,{dimColor:!0},"(",A,")"),$[6]=A,$[7]=j;else j=$[7];let w;if($[8]!==M||$[9]!==j)w=ql.default.createElement(k,null,"Latest available: ",M," ",j),$[8]=M,$[9]=j,$[10]=w;else w=$[10];let D;if($[11]!==O||$[12]!==w)D=ql.default.createElement(p,{flexDirection:"column"},O,w),$[11]=O,$[12]=w,$[13]=D;else D=$[13];let J;if($[14]===Symbol.for("react.memo_cache_sentinel"))J=ql.default.createElement(k,{dimColor:!0},"Claude Code will restart to apply."),$[14]=J;else J=$[14];let X;if($[15]!==_)X=ql.default.createElement(k,null,"Update settings to use ",_,"?"," ",J),$[15]=_,$[16]=X;else X=$[16];let L;if($[17]!==z)L=ql.default.createElement(d9,{onConfirm:()=>z(!0),onCancel:()=>z(!1)}),$[17]=z,$[18]=L;else L=$[18];let P;if($[19]!==L||$[20]!==D||$[21]!==X)P=ql.default.createElement(p,{flexDirection:"column",gap:1},D,X,L),$[19]=L,$[20]=D,$[21]=X,$[22]=P;else P=$[22];let G;if($[23]!==Y||$[24]!==P||$[25]!==f)G=ql.default.createElement(x8,{title:Y,color:"permission",onCancel:f},P),$[23]=Y,$[24]=P,$[25]=f,$[26]=G;else G=$[26];return G}var Wf9,ql;var yKq=T(()=>{iH();uM();BK();Wf9=B(H$(),1),ql=B(XH(),1)});var SKq={};P$(SKq,{vertexUpgradeKey:()=>mTA,probeVertexModel:()=>sh8,findVertexUpgradeCandidates:()=>BTA,checkVertexDefaultAvailability:()=>pTA});function hKq(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function Zf9(H){let $=xJ(H);for(let q of qy$)if(xJ(cY[q].firstParty)===$)return q;return}function mTA(H){return`${H.fromKey}-to-${H.toKey}`}async function BTA(){if(Iq()!=="vertex")return[];if(uH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let K of Object.keys(ah8)){let _=ah8[K],A,z;for(let M of _.envVarPriority){let j=process.env[M];if(!j)continue;let w=Zf9(j);if(!w||hKq(w)!==K||w===_.defaultKey)continue;A=M,z=w;break}if(!A||!z)continue;let Y=_.defaultKey,f=qy$.indexOf(z),O=qy$.indexOf(Y);if(f>=O)continue;H.push({tier:K,envVar:A,pinnedKey:z,defaultKey:Y})}if(H.length===0)return[];c("tengu_vertex_upgrade_check",{stale_tiers:String(H.length)});let q=(await Promise.all(H.map(async(K)=>{let _=cY[K.defaultKey].vertex,A=await sh8(_);if(c("tengu_vertex_probe_result",{tier:K.tier,model_id:_,accessible:String(A)}),!A)return null;let z=ZM(cY[K.pinnedKey].firstParty),Y=ZM(cY[K.defaultKey].firstParty);if(!z||!Y)return null;return{tier:K.tier,envVar:K.envVar,fromKey:K.pinnedKey,fromMarketingName:z,toKey:K.defaultKey,toMarketingName:Y,toVertexId:_}}))).filter((K)=>K!==null);return N(`[vertex-upgrade] tiersWithPin=${H.length} candidates=${q.length}`),q}async function pTA(){if(Iq()!=="vertex")return[];if(uH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let K of Object.keys(ah8)){let _=ah8[K];if(_.envVarPriority.some((z)=>{let Y=process.env[z];if(!Y)return!1;let f=Zf9(Y);if(!f)return!0;return hKq(f)===K}))continue;H.push({tier:K,envVar:_.envVarPriority.at(-1),defaultKey:_.defaultKey})}if(H.length===0)return[];c("tengu_vertex_default_check",{unpinned_tiers:String(H.length)});let $=await Promise.all(H.map(async(K)=>{let _=cY[K.defaultKey],A=await sh8(_.vertex);if(c("tengu_vertex_probe_result",{tier:K.tier,model_id:_.vertex,accessible:String(A)}),A)return null;let z=UTA(K.defaultKey,K.tier);if(!z)return null;let Y=cY[z];if(!await sh8(Y.vertex))return null;let O=ZM(_.firstParty),M=ZM(Y.firstParty);if(!O||!M)return null;return{tier:K.tier,envVar:K.envVar,defaultKey:K.defaultKey,defaultName:O,fallbackKey:z,fallbackName:M,fallbackVertexId:Y.vertex}})),q=[];for(let K of $)if(K!==null)q.push(K);return N(`[vertex-fallback] unpinnedTiers=${H.length} fallbacks=${q.length}`),q}function UTA(H,$){let q=qy$.indexOf(H);for(let K=q-1;K>=0;K--){let _=qy$[K];if(hKq(_)===$)return _}return}async function sh8(H){try{let[{AnthropicVertex:$},{getProxyFetchOptions:q}]=await Promise.all([Promise.resolve().then(() => (ia$(),na$)),Promise.resolve().then(() => (yO(),RmH))]);if(!uH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH))await h0H();let K=process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project,_=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials,A=K||_?void 0:process.env.ANTHROPIC_VERTEX_PROJECT_ID,z=await ZUH(uH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{kind:"skip"}:{kind:"default"},A),Y=kWH(H);return await new $({region:Y,googleAuth:z,maxRetries:0,timeout:8000,fetchOptions:q({url:process.env.ANTHROPIC_VERTEX_BASE_URL||CCH(Y)})}).messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch($){if($?.status===429)return!0;return!1}}var qy$,ah8;var RKq=T(()=>{y$();Pq();dH();r$();Yn();mq();I4();ra$();qy$=Object.keys(cY),ah8={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Lt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Xt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Pt}}});function FTA(){Y8((H)=>({...H,hasCompletedOnboarding:!0,lastOnboardingVersion:{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.150",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-05-23T01:22:49Z",GIT_SHA:"28d4819e0f0a51840356d175c2a710f0c83db5b4"}.VERSION}))}function _y$(H,$){return new Promise((q)=>{let K=(_)=>void q(_);H.render($(K))})}async function qS(H,$,q){return QTA(H,$,{color:"error",beforeExit:q})}async function QTA(H,$,q){let{Text:K}=await Promise.resolve().then(() => (iH(),Nb)),_=q?.color,A=q?.exitCode??1;if(H.render(_?GX.default.createElement(K,{color:_},$):GX.default.createElement(K,null,$)),H.unmount(),await q?.beforeExit?.(),A!==0){let{setBgExitCause:z}=await Promise.resolve().then(() => (Pl(),xAq));z("exit_with_message")}process.exit(A)}function SE(H,$,q){if(process.env.CLAUDE_JOB_DIR)Promise.resolve().then(() => (BT$(),Eg6)).then((K)=>K.markStartupDialogBlocked()).catch(()=>{});return _y$(H,(K)=>GX.default.createElement(ow,{onChangeAppState:q?.onChangeAppState},GX.default.createElement(aD,null,$(K))))}async function XIH(H,$){H.render($),HS8(),await H.waitUntilExit(),await $7(0)}async function Vf9(H,$,q,K,_,A){if(process.env.CODER_APIKEY){if(A&&A.length>0){dqH([...ZJ(),...A.map((j)=>({...j,dev:!0}))]);kS$(!0);}return false;}if(b7()){JzH(!0),zFH(),ZG().catch((M)=>IH(c6(M))),eJ();let{errors:O}=f8H();if(O.length===0)await LKq(H);return Xa(),setImmediate(()=>PN$()),!1}if(uH(!1)||process.env.IS_DEMO)return!1;let z=m$(),Y=!1;if(!z.hasCompletedOnboarding||(process.env.CLAUDE_CODE_TEAM_ONBOARDING==="banner"||process.env.CLAUDE_CODE_TEAM_ONBOARDING==="step")){Y=!0;let{Onboarding:O}=await Promise.resolve().then(() => (m39(),u39));await SE(H,(M)=>GX.default.createElement(O,{onDone:()=>{FTA(),M()}}),{onChangeAppState:PAH})}let f=!1;if(!uH(process.env.CLAUBBIT)){if(!u_()){f=!0;let{TrustDialog:M}=await Promise.resolve().then(() => (Hf9(),e39));await SE(H,(j)=>GX.default.createElement(M,{commands:K,onDone:j}))}if(JzH(!0),zFH(),!z.hasCompletedOnboarding){AOH();let M=Date.now();try{await tA(ZG(),gTA,Gf9),N(`[STARTUP] post-onboarding GB await ${Date.now()-M}ms`)}catch(j){if(N(`[STARTUP] post-onboarding GB await ${Date.now()-M}ms: ${j}`,{level:"warn"}),!(j instanceof Error&&j.message===Gf9))IH(c6(j))}}else ZG().catch((M)=>IH(c6(M)));eJ();let{errors:O}=f8H();if(O.length===0)await LKq(H);if(await wP6()){let M=odH(await hP(!0)),{ClaudeMdExternalIncludesDialog:j}=await Promise.resolve().then(() => (fc6(),kZ4));await SE(H,(w)=>GX.default.createElement(j,{onDone:w,isStandaloneDialog:!0,externalIncludes:M}))}}if(W39(),X39(),Xa(),f){if(!e6()&&!_1())Promise.resolve().then(() => (E28(),N28)).then((O)=>O.startMemoryWatcher())}if(setImmediate(()=>PN$()),await WnH()){let{GroveDialog:O}=await Promise.resolve().then(() => (bo6(),nu4));if(await SE(H,(j)=>GX.default.createElement(O,{showIfAlreadyViewed:!1,location:Y?"onboarding":"policy_update_modal",onDone:j}))==="escape")return c("tengu_grove_policy_exited",{}),E9(0),!1}{let{getProTrialState:O}=await Promise.resolve().then(() => (DH$(),KR4));if(O().status==="not_started"){let{ProTrialStartScreen:M}=await Promise.resolve().then(() => (_f9(),Kf9));c("tengu_pro_trial_start_screen_shown",{}),await SE(H,(j)=>GX.default.createElement(M,{onDone:j}))}}if(Y){if(!uH(process.env.CLAUBBIT))await tA(ZG(),1000,"cedar-inlet").catch(()=>{});let{resolveTeamOnboardingDiscoveryArm:O}=await Promise.resolve().then(() => (Ck$(),rv8));if(O()==="step"){let{TeamOnboardingDiscoveryStep:M}=await Promise.resolve().then(() => (Yf9(),zf9));await SE(H,(j)=>GX.default.createElement(M,{onDone:j}))}}if(process.env.ANTHROPIC_API_KEY&&!SX()&&Iq()==="firstParty"){let O=rS(process.env.ANTHROPIC_API_KEY);if(Of$(O)==="new"){let{ApproveApiKey:j}=await Promise.resolve().then(() => (ZKq(),N39));await SE(H,(w)=>GX.default.createElement(j,{customApiKeyTruncated:O,onDone:w}),{onChangeAppState:PAH})}}try{await dTA(H)}catch(O){IH(O)}try{await cTA(H)}catch(O){IH(O)}try{await lTA(H)}catch(O){IH(O)}try{await nTA(H)}catch(O){IH(O)}if(($==="bypassPermissions"||q)&&!Em()){let{BypassPermissionsModeDialog:O}=await Promise.resolve().then(() => (Mf9(),Of9));await SE(H,(M)=>GX.default.createElement(O,{onAccept:M}))}if($==="auto"&&!mC()){let{AutoModeOptInDialog:O}=await Promise.resolve().then(() => (XE8(),Y89));await SE(H,(M)=>GX.default.createElement(O,{onAccept:M,onDecline:()=>E9(1),declineExits:!0}))}if(ZJ().length>0||(A?.length??0)>0)await Lb("tengu_harbor");if(A&&A.length>0){let[{isChannelsEnabled:O},{isChannelsPolicyBlocked:M},{getSettingsForSource:j}]=await Promise.all([Promise.resolve().then(() => (F2$(),vt7)),Promise.resolve().then(() => (waH(),Nt7)),Promise.resolve().then(() => (P6(),BKH))]);if(!O()||Iq()!=="firstParty"||M(j("policySettings")))dqH([...ZJ(),...A.map((w)=>({...w,dev:!0}))]),kS$(!0);else{let{DevChannelsDialog:w}=await Promise.resolve().then(() => (Df9(),wf9));await SE(H,(D)=>GX.default.createElement(w,{channels:A,onAccept:()=>{dqH([...ZJ(),...A.map((J)=>({...J,dev:!0}))]),kS$(!0),D()}}))}}if(_&&!m$().hasCompletedClaudeInChromeOnboarding){let{ClaudeInChromeOnboarding:O}=await Promise.resolve().then(() => (Lf9(),Xf9));await SE(H,(M)=>GX.default.createElement(O,{onDone:M}))}return Y}async function eh8(H,$){let q;try{return await Promise.race([$,new Promise((K)=>{q=setTimeout((_,A)=>{N(`[3p-probe] ${A} hit ${Tf9}ms deadline; proceeding without it`),_([])},Tf9,K,H)})])}finally{clearTimeout(q)}}async function dTA(H){let{findBedrockUpgradeCandidates:$,upgradeKey:q}=await Promise.resolve().then(() => (NKq(),kKq)),K=await eh8("bedrock-upgrade",$());if(K.length===0)return;let _=m$().bedrockDeclinedUpgrades??{},A=K.filter((O)=>_[O.tier]!==q(O));if(A.length===0)return;let{updateSettingsForSource:z}=await Promise.resolve().then(() => (P6(),BKH)),{ThirdPartyModelUpgradeDialog:Y}=await Promise.resolve().then(() => (yKq(),EKq)),f=!1;for(let O of A)if(await SE(H,(j)=>GX.default.createElement(Y,{tierLabel:U8$[O.tier],fromName:O.fromMarketingName,toName:O.toMarketingName,toProviderId:O.toBedrockId,onDone:j}))){let j=O.tier==="haiku"?{ANTHROPIC_DEFAULT_HAIKU_MODEL:O.toBedrockId,...O.envVar==="ANTHROPIC_SMALL_FAST_MODEL"&&{ANTHROPIC_SMALL_FAST_MODEL:O.toBedrockId}}:{[O.envVar]:O.toBedrockId},{error:w}=z("userSettings",{env:j});if(w){c("tengu_bedrock_upgrade_save_failed",{tier:O.tier});let{Text:D}=await Promise.resolve().then(() => (iH(),Nb));await _y$(H,(J)=>{return setTimeout(J,2000),GX.default.createElement(D,{color:"error"},"Failed to save ",U8$[O.tier]," upgrade to settings.")})}else{for(let D of Object.keys(j))process.env[D]=O.toBedrockId;f=!0,c("tengu_bedrock_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else Y8((j)=>({...j,bedrockDeclinedUpgrades:{...j.bedrockDeclinedUpgrades,[O.tier]:q(O)}})),c("tengu_bedrock_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if(f)c("tengu_bedrock_upgrade_relaunch",{}),await vf9(H)}async function vf9(H){let{Text:$}=await Promise.resolve().then(() => (iH(),Nb));H.render(GX.default.createElement($,{dimColor:!0},"Restarting Claude Code to apply the new model\u2026"));let{sleep:q}=await Promise.resolve().then(() => DA$);await q(250),H.unmount();let{execRelaunch:K}=await Promise.resolve().then(() => (yZ$(),EZ$));await K()}async function cTA(H){let{checkBedrockDefaultAvailability:$}=await Promise.resolve().then(() => (NKq(),kKq)),q=await eh8("bedrock-fallback",$());if(q.length===0)return;for(let z of q){if(process.env[z.envVar]=z.fallbackBedrockId,z.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=z.fallbackBedrockId;c("tengu_bedrock_default_fallback",{tier:z.tier,default_key:z.defaultKey,fallback_key:z.fallbackKey})}let{Box:K,Text:_}=await Promise.resolve().then(() => (iH(),Nb)),A=q.map((z)=>`${U8$[z.tier]}: ${z.defaultName} not available \u2014 using ${z.fallbackName} for this session`);await _y$(H,(z)=>{return setTimeout(z,1500),GX.default.createElement(K,{flexDirection:"column"},A.map((Y)=>GX.default.createElement(_,{key:Y,color:"warning"},Y)))})}async function lTA(H){let{findVertexUpgradeCandidates:$,vertexUpgradeKey:q}=await Promise.resolve().then(() => (RKq(),SKq)),K=await eh8("vertex-upgrade",$());if(K.length===0)return;let _=m$().vertexDeclinedUpgrades??{},A=K.filter((O)=>_[O.tier]!==q(O));if(A.length===0)return;let{updateSettingsForSource:z}=await Promise.resolve().then(() => (P6(),BKH)),{ThirdPartyModelUpgradeDialog:Y}=await Promise.resolve().then(() => (yKq(),EKq)),f=!1;for(let O of A)if(await SE(H,(j)=>GX.default.createElement(Y,{tierLabel:U8$[O.tier],fromName:O.fromMarketingName,toName:O.toMarketingName,toProviderId:O.toVertexId,onDone:j}))){let j=O.tier==="haiku"?{ANTHROPIC_DEFAULT_HAIKU_MODEL:O.toVertexId,...O.envVar==="ANTHROPIC_SMALL_FAST_MODEL"&&{ANTHROPIC_SMALL_FAST_MODEL:O.toVertexId}}:{[O.envVar]:O.toVertexId},{error:w}=z("userSettings",{env:j});if(w){c("tengu_vertex_upgrade_save_failed",{tier:O.tier});let{Text:D}=await Promise.resolve().then(() => (iH(),Nb));await _y$(H,(J)=>{return setTimeout(J,2000),GX.default.createElement(D,{color:"error"},"Failed to save ",U8$[O.tier]," upgrade to settings.")})}else{for(let D of Object.keys(j))process.env[D]=O.toVertexId;f=!0,c("tengu_vertex_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else Y8((j)=>({...j,vertexDeclinedUpgrades:{...j.vertexDeclinedUpgrades,[O.tier]:q(O)}})),c("tengu_vertex_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if(f)c("tengu_vertex_upgrade_relaunch",{}),await vf9(H)}async function nTA(H){let{checkVertexDefaultAvailability:$}=await Promise.resolve().then(() => (RKq(),SKq)),q=await eh8("vertex-fallback",$());if(q.length===0)return;for(let z of q){if(process.env[z.envVar]=z.fallbackVertexId,z.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=z.fallbackVertexId;c("tengu_vertex_default_fallback",{tier:z.tier,default_key:z.defaultKey,fallback_key:z.fallbackKey})}let{Box:K,Text:_}=await Promise.resolve().then(() => (iH(),Nb)),A=q.map((z)=>`${U8$[z.tier]}: ${z.defaultName} not available \u2014 using ${z.fallbackName} for this session`);await _y$(H,(z)=>{return setTimeout(z,1500),GX.default.createElement(K,{flexDirection:"column"},A.map((Y)=>GX.default.createElement(_,{key:Y,color:"warning"},Y)))})}function kf9(H){let $=0,q=Wd(H);if(q.stdin)c("tengu_stdin_interactive",{});let K=new PKq,_=z$q();aR8(_);let A=process.env.CLAUDE_CODE_FRAME_TIMING_LOG,z=-1;if(A)try{z=th8.openSync(A,"a")}catch{}return{getFpsMetrics:()=>K.getMetrics(),stats:_,renderOptions:{...q,onFrame:(Y)=>{if(K.record(Y.durationMs),_.observe("frame_duration_ms",Y.durationMs),z>=0&&Y.phases){let f=JSON.stringify({total:Y.durationMs,...Y.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+`
12445
+ if(Iq()==="gateway")return r0A();if(Z4())return N("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if(Iq()!=="firstParty")return N("[Bootstrap] Skipped: 3P provider"),null;let H=IJ();if(!(eq()?.accessToken&&JV())&&!H)return N("[Bootstrap] Skipped: no usable OAuth or API key"),null;let q=`${SK().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await PG(async()=>{let K=eq()?.accessToken,_;if(K&&JV())_={Authorization:`Bearer ${K}`,"anthropic-beta":rZ};else if(H)_={"x-api-key":H};else return N("[Bootstrap] No auth available on retry, aborting"),null;N("[Bootstrap] Fetching");let A=await l6.get(q,{headers:{"Content-Type":"application/json","User-Agent":L3(),..._},params:{entrypoint:GxH(),model:YP(F7())},timeout:5000}),z=l0A().safeParse(A.data);if(!z.success)return N(`[Bootstrap] Response failed validation: ${z.error.message}`),$8("api_bootstrap_fetch","parse_failed"),null;return N("[Bootstrap] Fetch ok"),z.data})}catch(K){throw N(`[Bootstrap] Fetch failed: ${l6.isAxiosError(K)?K.response?.status??K.code:"unknown"}`),mH("api_bootstrap_fetch","request_failed"),K}}async function rY9(){try{let H=await n0A();if(!H)return;xH("api_bootstrap_fetch");let $=H.client_data??null,q=H.additional_model_options??[],K=H.additional_model_costs??{},_=m$(),A=iY9(_.oauthAccount,H.oauth_account),z=DM(A,_.oauthAccount);if(DM(_.clientDataCache,$)&&DM(_.additionalModelOptionsCache,q)&&DM(_.additionalModelCostsCache,K)&&z){N("[Bootstrap] Cache unchanged, skipping write");return}N("[Bootstrap] Cache updated, persisting to disk"),Y8((Y)=>({...Y,clientDataCache:$,additionalModelOptionsCache:q,additionalModelCostsCache:K,oauthAccount:iY9(Y.oauthAccount,H.oauth_account)}))}catch(H){if(Hj(H))N(`[Bootstrap] fetchBootstrapData failed: ${H}`,{level:"error"});else IH(H)}}async function r0A(){await MfH();let H=Wf();if(!H)return null;try{let $=await l6.get(`${H.url}/v1/models`,{headers:{Authorization:`Bearer ${H.jwt}`,"anthropic-version":"2023-06-01","User-Agent":L3()},params:{limit:1000},timeout:5000}),q=i0A().safeParse($.data);if(!q.success)return N(`[Bootstrap] Gateway /v1/models failed validation: ${q.error.message}`),null;let K=q.data.data.filter((_)=>fc$(_.id)===null).map((_)=>({value:_.id,label:_.display_name??_.id,description:_.description??""}));return N(`[Bootstrap] Gateway /v1/models \u2192 ${K.length} custom options`),{additional_model_options:K}}catch($){return N(`[Bootstrap] Gateway /v1/models fetch failed: ${l6.isAxiosError($)?$.response?.status??$.code:"unknown"}`),null}}var l0A,i0A;var oY9=T(()=>{w_();ml();Pq();PV();w$();b1();s8();dH();hs();G$();sBH();u2();P8();Yn();mq();I4();Lz();w8();l0A=SH(()=>H6.object({client_data:H6.record(H6.unknown()).nullish(),additional_model_options:H6.array(H6.object({model:H6.string(),name:H6.string(),description:H6.string()}).transform(({model:H,name:$,description:q})=>({value:H,label:$,description:q}))).nullish(),additional_model_costs:H6.record(H6.object({input_tokens:H6.number(),output_tokens:H6.number(),prompt_cache_write_tokens:H6.number(),prompt_cache_read_tokens:H6.number(),web_search_requests:H6.number().nullish()}).transform((H)=>({inputTokens:H.input_tokens,outputTokens:H.output_tokens,promptCacheWriteTokens:H.prompt_cache_write_tokens,promptCacheReadTokens:H.prompt_cache_read_tokens,webSearchRequests:H.web_search_requests??0.01}))).nullish(),oauth_account:H6.object({account_uuid:H6.string().nullish(),account_email:H6.string().nullish(),organization_uuid:H6.string().nullish(),organization_name:H6.string().nullish(),organization_type:H6.string().nullish(),organization_rate_limit_tier:H6.string().nullish(),user_rate_limit_tier:H6.string().nullish(),seat_tier:H6.string().nullish()}).passthrough().nullish()}));i0A=SH(()=>H6.object({data:H6.array(H6.object({id:H6.string(),display_name:H6.string().nullish(),description:H6.string().nullish()}))}))});function aY9(H=process.env){let $=[];for(let q in H)if((q.startsWith("CLAUDE_CODE_")||q.startsWith("ANTHROPIC_"))&&!o0A.has(q)&&H[q]!==void 0&&H[q]!=="")$.push(q);return $.sort()}function sY9(H){let $=Hq(),q=[];for(let K of Ve$){if(a0A.has(K))continue;let A=(UFH.includes(K)?$[K]:void 0)??H[K],z=ln[K];if(A===void 0||s0A(A,z))continue;q.push(K)}return q}function tY9(H,$){let q=[];for(let K in H)if($(K)==="cli")q.push(K);return q.sort()}function s0A(H,$){if(H===$)return!0;if(typeof H==="object"&&H!==null)return Object.keys(H).length===0;return!1}var o0A,a0A;var eY9=T(()=>{s8();oj();P6();o0A=new Set(["CLAUDE_CODE_ENTRYPOINT"]);a0A=new Set(["tipsHistory","installMethod","shiftEnterKeyBindingInstalled","hasUsedBackslashReturn","hasCompletedClaudeInChromeOnboarding","remoteDialogSeen","lspRecommendationIgnoredCount","autoUpdates","autoUpdatesProtectedForNative"])});function e0A(){let H=process.argv[1]||"",$=process.execPath||process.argv[0]||"";if(a$()==="windows")H=H.split(p8$.win32.sep).join(p8$.posix.sep),$=$.split(p8$.win32.sep).join(p8$.posix.sep);let q=[H,$],K=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return q.some((_)=>K.some((A)=>_.includes(A)))}function $TA(H){let $=`${H.name}: ${H.message}`;return HTA.some((q)=>q.test($))}function H39(){let H=new Map;if(!e0A())process.removeAllListeners("warning");let q=(K)=>{try{let _=`${K.name}: ${K.message.slice(0,50)}`,A=H.get(_)||0;if(H.has(_)||H.size<t0A)H.set(_,A+1);let z=$TA(K);if(c("tengu_node_warning",{is_internal:z?1:0,occurrence_count:A+1,classname:K.name,...!1}),uH(process.env.CLAUDE_DEBUG))N(`${z?"[Internal Warning]":"[Warning]"} ${K.toString()}`,{level:"warn"})}catch{}};return process.on("warning",q),{uninstall(){process.removeListener("warning",q)}}}var p8$,t0A=1000,HTA;var $39=T(()=>{y$();dH();r$();zK();p8$=require("path");HTA=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function qTA(){let H=process.env.CLAUDE_BG_SESSION_PERMISSION_RULES;if(!H||process.env.CLAUDE_CODE_SESSION_KIND!=="bg")return;try{let $=JSON.parse(H);return Array.isArray($.allow)&&Array.isArray($.deny)?{allow:$.allow,deny:$.deny}:void 0}catch{return}}function KTA(){if(process.env.CLAUDE_BG_MEMORY_TOGGLED_OFF==="1"&&process.env.CLAUDE_CODE_SESSION_KIND==="bg")fq$(!0)}async function K39(H){KTA();let $=await IQ6({allowedToolsCli:H.allowedTools,disallowedToolsCli:H.disallowedTools,baseToolsCli:H.baseTools,permissionMode:H.permissionMode,allowDangerouslySkipPermissions:H.allowDangerouslySkipPermissions,addDirs:H.addDirs,bgSessionPermissionRules:qTA()}),q=$.toolPermissionContext,{warnings:K,dangerousPermissions:_,overlyBroadBashPermissions:A}=$;if(H.permissionMode==="auto")q=Lc(q);return{toolPermissionContext:q,warnings:K,dangerousPermissions:_,overlyBroadBashPermissions:A}}var _39=T(()=>{w$();dH();xP()});async function A39({cwd:H,toolPermissionContext:$,applyCoordinatorFilter:q,agentsJson:K,agentSetting:_,commandsPromise:A,agentDefsPromise:z,onToolsLoaded:Y}){let f=Iv($);Y?.(),A?.catch(()=>{}),z?.catch(()=>{});let[O,M]=await Promise.all([A??rW(H),z??sR(H)]),j=[];if(K)try{let X=N7(K);if(X)j=mD$(X,"flagSettings")}catch(X){IH(X)}let w=[...M.allAgents,...j],D={...M,allAgents:w,activeAgents:zx(w)},J=jKq(D.activeAgents,_);return OF(J?.agentType),{tools:f,commands:O,agentDefinitions:D,mainThreadAgentDefinition:J,cliAgents:j}}function jKq(H,$){if(!$)return;let q=H.find((K)=>K.agentType===$)??H.find((K)=>K.agentType.endsWith(`:${$}`));if(!q)N(`Warning: agent "${$}" not found. Available agents: ${H.map((K)=>K.agentType).join(", ")}. Using default behavior.`);return q}var z39=T(()=>{w$();hY();IP();oG();dH();r$();D_();P8()});function IAH(H){switch(H.kind){case"session-start":return Ip(H.source,{sessionId:H.sessionId,agentType:H.agentType,model:H.model,forceSyncExecution:H.forceSyncExecution});case"setup":return We7(H.trigger,{forceSyncExecution:H.forceSyncExecution})}}var wKq=T(()=>{RJH()});function Qh8(){let H=Y39.c(1),$;if(H[0]===Symbol.for("react.memo_cache_sentinel"))$=DKq.default.createElement(k,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",DKq.default.createElement(JK,{url:"https://code.claude.com/docs/en/mcp"},"MCP documentation"),"."),H[0]=$;else $=H[0];return $}var Y39,DKq;var JKq=T(()=>{iH();Y39=B(H$(),1),DKq=B(XH(),1)});function O39(H){let $=f39.c(13),{serverName:q,onDone:K}=H,_;if($[0]!==K||$[1]!==q)_=function(D){c("tengu_mcp_dialog_choice",{choice:D});H:switch(D){case"yes":case"yes_all":{let X=(Gq()||{}).enabledMcpjsonServers||[];if(!X.includes(q))$q("localSettings",{enabledMcpjsonServers:[...X,q]});if(D==="yes_all")$q("localSettings",{enableAllProjectMcpServers:!0});K();break H}case"no":{let X=(Gq()||{}).disabledMcpjsonServers||[];if(!X.includes(q))$q("localSettings",{disabledMcpjsonServers:[...X,q]});K()}}},$[0]=K,$[1]=q,$[2]=_;else _=$[2];let A=_,z=`New MCP server found in .mcp.json: ${q}`,Y;if($[3]!==A)Y=()=>A("no"),$[3]=A,$[4]=Y;else Y=$[4];let f;if($[5]===Symbol.for("react.memo_cache_sentinel"))f=gh8.default.createElement(Qh8,null),$[5]=f;else f=$[5];let O;if($[6]===Symbol.for("react.memo_cache_sentinel"))O=[{label:"Use this and all future MCP servers in this project",value:"yes_all"},{label:"Use this MCP server",value:"yes"},{label:"Continue without using this MCP server",value:"no"}],$[6]=O;else O=$[6];let M;if($[7]!==A)M=gh8.default.createElement(K6,{options:O,onChange:(w)=>A(w),onCancel:()=>A("no")}),$[7]=A,$[8]=M;else M=$[8];let j;if($[9]!==z||$[10]!==Y||$[11]!==M)j=gh8.default.createElement(x8,{title:z,color:"warning",onCancel:Y},f,M),$[9]=z,$[10]=Y,$[11]=M,$[12]=j;else j=$[12];return j}var f39,gh8;var M39=T(()=>{y$();P6();Mw();BK();JKq();f39=B(H$(),1),gh8=B(XH(),1)});function w39(H){let $=j39.c(21),{serverNames:q,onDone:K}=H,_;if($[0]!==K||$[1]!==q)_=function(L){let P=Gq()||{},G=P.enabledMcpjsonServers||[],W=P.disabledMcpjsonServers||[],[Z,V]=kV8(q,(v)=>L.includes(v));if(c("tengu_mcp_multidialog_choice",{approved:Z.length,rejected:V.length}),Z.length>0){let v=AK([...G,...Z]);$q("localSettings",{enabledMcpjsonServers:v})}if(V.length>0){let v=AK([...W,...V]);$q("localSettings",{disabledMcpjsonServers:v})}K()},$[0]=K,$[1]=q,$[2]=_;else _=$[2];let A=_,z;if($[3]!==K||$[4]!==q)z=()=>{let L=(Gq()||{}).disabledMcpjsonServers||[],P=AK([...L,...q]);$q("localSettings",{disabledMcpjsonServers:P}),K()},$[3]=K,$[4]=q,$[5]=z;else z=$[5];let Y=z,f=`${q.length} new MCP servers found in .mcp.json`,O;if($[6]===Symbol.for("react.memo_cache_sentinel"))O=$l.default.createElement(Qh8,null),$[6]=O;else O=$[6];let M;if($[7]!==q)M=q.map(_TA),$[7]=q,$[8]=M;else M=$[8];let j;if($[9]!==Y||$[10]!==A||$[11]!==q||$[12]!==M)j=$l.default.createElement(QXH,{options:M,defaultValue:q,onSubmit:A,onCancel:Y,hideIndexes:!0}),$[9]=Y,$[10]=A,$[11]=q,$[12]=M,$[13]=j;else j=$[13];let w;if($[14]!==Y||$[15]!==f||$[16]!==j)w=$l.default.createElement(x8,{title:f,subtitle:"Select any you wish to enable.",color:"warning",onCancel:Y,hideInputGuide:!0},O,j),$[14]=Y,$[15]=f,$[16]=j,$[17]=w;else w=$[17];let D;if($[18]===Symbol.for("react.memo_cache_sentinel"))D=$l.default.createElement(p,{paddingX:1},$l.default.createElement(k,{dimColor:!0,italic:!0},$l.default.createElement(O8,null,$l.default.createElement(q$,{chord:"space",action:"select"}),$l.default.createElement(q$,{chord:"enter",action:"confirm"}),$l.default.createElement(o8,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})))),$[18]=D;else D=$[18];let J;if($[19]!==w)J=$l.default.createElement($l.default.Fragment,null,w,D),$[19]=w,$[20]=J;else J=$[20];return J}function _TA(H){return{label:H,value:H}}var j39,$l;var D39=T(()=>{Uo6();y$();iH();P6();h9();OV$();$K();BK();Dq();JKq();j39=B(H$(),1),$l=B(XH(),1)});async function LKq(H){let{servers:$}=t2("project"),q=Object.keys($).filter((K)=>nlH(K)==="pending");if(q.length===0)return;await ATA(q);try{await new Promise((K)=>{let _=()=>void K();if(q.length===1&&q[0]!==void 0){let A=q[0];H.render(DIH.default.createElement(ow,null,DIH.default.createElement(aD,null,DIH.default.createElement(O39,{serverName:A,onDone:_}))))}else H.render(DIH.default.createElement(ow,null,DIH.default.createElement(aD,null,DIH.default.createElement(w39,{serverNames:q,onDone:_}))))})}finally{await zTA()}}async function ATA(H){{if(!b7())return;let $=process.env.CLAUDE_JOB_DIR;if(!$)return;let q=await c7($);if(!q)return;let K=H.length,_=y8(K,"server"),A=y8(K,"needs","need");try{await xA($,{...q,state:"blocked",detail:`${K} new MCP ${_} ${A} approval`,tempo:"blocked",needs:`approve ${K} new MCP ${_} in .mcp.json (${H.join(", ")}) \u2014 attach to respond`,updatedAt:new Date().toISOString()})}catch(z){IH(z)}}}async function zTA(){{if(!b7())return;let H=process.env.CLAUDE_JOB_DIR;if(!H)return;let $=await c7(H);if(!$||$.state!=="blocked")return;try{await xA(H,{...$,state:"working",tempo:"idle",needs:void 0,block:void 0,detail:$.intent??"",updatedAt:new Date().toISOString()})}catch(q){IH(q)}}}var DIH;var J39=T(()=>{M39();D39();t3();jp();Gx();i_();P8();E6();kT();Mv();DIH=B(XH(),1)});function X39(){return}var YTA;var L39=T(()=>{s8();dH();YTA={iterm:"iTerm","iterm.app":"iTerm",ghostty:"Ghostty",kitty:"kitty",alacritty:"Alacritty",wezterm:"WezTerm",apple_terminal:"Terminal"}});class PKq{frameDurations=[];totalFrames=0;firstRenderTime;lastRenderTime;record(H){let $=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=$;if(this.lastRenderTime=$,this.totalFrames++,this.frameDurations.push(H),this.frameDurations.length>3600)this.frameDurations.splice(0,this.frameDurations.length>>1)}getMetrics(){if(this.totalFrames===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let H=this.lastRenderTime-this.firstRenderTime;if(H<=0)return;let $=this.totalFrames/(H/1000),q=this.frameDurations.slice().sort((z,Y)=>Y-z),K=Math.max(0,Math.ceil(q.length*0.01)-1),_=q[K],A=_>0?1000/_:0;return{averageFps:Math.round($*100)/100,low1PctFps:Math.round(A*100)/100}}}async function W39(){try{let H=await vYH();if(!H){N("Not in a GitHub repository, skipping path mapping update");return}let $=J6(),K=F1($)??$,_;try{_=(await P39.realpath(K)).normalize("NFC")}catch{_=K}let A=H.toLowerCase(),Y=m$().githubRepoPaths?.[A]??[];if(Y[0]===_){N(`Path ${_} already tracked for repo ${A}`);return}let f=Y.filter((M)=>M!==_),O=[_,...f];Y8((M)=>({...M,githubRepoPaths:{...M.githubRepoPaths,[A]:O}})),N(`Added ${_} to tracked paths for repo ${A}`)}catch(H){N(`Error updating repo path mapping: ${H}`)}}function dh8(H){let $=m$(),q=H.toLowerCase();return $.githubRepoPaths?.[q]??[]}async function ch8(H){let $=await Promise.all(H.map(M5));return H.filter((q,K)=>$[K])}async function Z39(H,$){try{let q=await o9$(H);if(!q)return!1;let K=s2H(q);if(!K)return!1;return K.toLowerCase()===$.toLowerCase()}catch{return!1}}function G39(H,$){let q=m$(),K=H.toLowerCase(),_=q.githubRepoPaths?.[K]??[],A=_.filter((Y)=>Y!==$);if(A.length===_.length)return;let z={...q.githubRepoPaths};if(A.length===0)delete z[K];else z[K]=A;Y8((Y)=>({...Y,githubRepoPaths:z})),N(`Removed ${$} from tracked paths for repo ${K}`)}var P39;var eE$=T(()=>{w$();s8();dH();g0();C9();Pm();f4();P39=require("fs/promises")});async function fTA(){return{success:true};try{let H=SK(),$=new URL(H.TOKEN_URL),q=[`${H.BASE_API_URL}/api/hello`,`${$.origin}/v1/oauth/hello`],K=async(z)=>{try{let Y=await l6.get(z,{headers:{"User-Agent":Bn()}});if(Y.status!==200)return{success:!1,error:`Failed to connect to ${new URL(z).hostname}: Status ${Y.status}`};return{success:!0}}catch(Y){let f=new URL(z).hostname,O=kMH(Y);return{success:!1,error:`Failed to connect to ${f}: ${Y instanceof Error?Y.code||Y.message:String(Y)}`,sslHint:O??void 0}}},A=(await Promise.all(q.map(K))).find((z)=>!z.success);if(A)c("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!A.error,isSSLError:!!A.sslHint});return A||{success:!0}}catch(H){return IH(H),c("tengu_preflight_check_failed",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${H instanceof Error?H.code||H.message:String(H)}`}}}function V39(H){let $=T39.c(14),{onSuccess:q}=H,[K,_]=hZ.useState(null),[A,z]=hZ.useState(!0),Y=qO(1000)&&A,f,O;if($[0]===Symbol.for("react.memo_cache_sentinel"))f=()=>{(async function(){let L=await fTA();_(L),z(!1)})()},O=[],$[0]=f,$[1]=O;else f=$[0],O=$[1];hZ.useEffect(f,O);let M;if($[2]!==q||$[3]!==K?.success)M=()=>{if(K?.success)q()},$[2]=q,$[3]=K?.success,$[4]=M;else M=$[4];let j;if($[5]!==q||$[6]!==K)j=[K,q],$[5]=q,$[6]=K,$[7]=j;else j=$[7];hZ.useEffect(M,j),qO(OTA,K&&!K.success?100:null);let w;if($[8]!==A||$[9]!==K||$[10]!==Y)w=A&&Y?hZ.default.createElement(p,{paddingLeft:1},hZ.default.createElement(S5,null),hZ.default.createElement(k,null,"Checking connectivity...")):!K?.success&&!A&&hZ.default.createElement(p,{flexDirection:"column",gap:1},hZ.default.createElement(k,{color:"error"},"Unable to connect to Anthropic services"),hZ.default.createElement(k,{color:"error"},K?.error),K?.sslHint?hZ.default.createElement(p,{flexDirection:"column",gap:1},hZ.default.createElement(k,null,K.sslHint),hZ.default.createElement(k,{color:"suggestion"},"See https://code.claude.com/docs/en/network-config")):hZ.default.createElement(p,{flexDirection:"column",gap:1},hZ.default.createElement(k,null,"Please check your internet connection and network settings."),hZ.default.createElement(k,null,"Note: Claude Code might not be available in your country. Check supported countries at"," ",hZ.default.createElement(k,{color:"suggestion"},"https://anthropic.com/supported-countries")))),$[8]=A,$[9]=K,$[10]=Y,$[11]=w;else w=$[11];let D;if($[12]!==w)D=hZ.default.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1},w),$[12]=w,$[13]=D;else D=$[13];return D}function OTA(){nL("preflight_endpoint"),process.exit(1)}var T39,hZ;var v39=T(()=>{w_();y$();cP();b1();Pl();K88();iH();KHH();u2();P8();T39=B(H$(),1),hZ=B(XH(),1)});var N39={};P$(N39,{ApproveApiKey:()=>WKq});function WKq(H){let $=k39.c(16),{customApiKeyTruncated:q,onDone:K}=H,_;if($[0]!==q||$[1]!==K)_=function(J){H:switch(J){case"yes":{Y8((X)=>({...X,customApiKeyResponses:{...X.customApiKeyResponses,approved:[...X.customApiKeyResponses?.approved??[],q]}})),K(!0);break H}case"no":Y8((X)=>({...X,customApiKeyResponses:{...X.customApiKeyResponses,rejected:[...X.customApiKeyResponses?.rejected??[],q]}})),K(!1)}},$[0]=q,$[1]=K,$[2]=_;else _=$[2];let A=_,z;if($[3]!==A)z=()=>A("no"),$[3]=A,$[4]=z;else z=$[4];let Y;if($[5]===Symbol.for("react.memo_cache_sentinel"))Y=CAH.default.createElement(k,{bold:!0},"ANTHROPIC_API_KEY"),$[5]=Y;else Y=$[5];let f;if($[6]!==q)f=CAH.default.createElement(k,null,Y,CAH.default.createElement(k,null,": sk-ant-...",q)),$[6]=q,$[7]=f;else f=$[7];let O;if($[8]===Symbol.for("react.memo_cache_sentinel"))O=CAH.default.createElement(k,null,"Do you want to use this API key?"),$[8]=O;else O=$[8];let M;if($[9]===Symbol.for("react.memo_cache_sentinel"))M=CAH.default.createElement(k,null,"No (",CAH.default.createElement(k,{bold:!0},"recommended"),")"),$[9]=M;else M=$[9];let j;if($[10]!==A)j=CAH.default.createElement(d9,{focus:"cancel",cancelLabel:M,onConfirm:()=>A("yes"),onCancel:()=>A("no")}),$[10]=A,$[11]=j;else j=$[11];let w;if($[12]!==z||$[13]!==f||$[14]!==j)w=CAH.default.createElement(x8,{title:"Detected a custom API key in your environment",color:"warning",onCancel:z},f,O,j),$[12]=z,$[13]=f,$[14]=j,$[15]=w;else w=$[15];return w}var k39,CAH;var ZKq=T(()=>{iH();s8();uM();BK();k39=B(H$(),1),CAH=B(XH(),1)});function lh8(){let H=E39.c(1),$;if(H[0]===Symbol.for("react.memo_cache_sentinel"))$=Hy$.createElement(k,{color:"permission"},"Press ",Hy$.createElement(k,{bold:!0},"Enter")," to continue\u2026"),H[0]=$;else $=H[0];return $}var E39,Hy$;var GKq=T(()=>{iH();E39=B(H$(),1),Hy$=B(XH(),1)});function nh8(H){let $=y39.c(7),{children:q}=H,{marker:K}=CPH.useContext(TKq),_;if($[0]!==K)_=CPH.default.createElement(k,{dimColor:!0},K),$[0]=K,$[1]=_;else _=$[1];let A;if($[2]!==q)A=CPH.default.createElement(p,{flexDirection:"column"},q),$[2]=q,$[3]=A;else A=$[3];let z;if($[4]!==_||$[5]!==A)z=CPH.default.createElement(p,{gap:1},_,A),$[4]=_,$[5]=A,$[6]=z;else z=$[6];return z}var y39,CPH,TKq;var h39=T(()=>{iH();y39=B(H$(),1),CPH=B(XH(),1),TKq=CPH.createContext({marker:""})});function I39(H){let $=R39.c(9),{children:q}=H,{marker:K}=dU.useContext(S39),_=0;for(let f of dU.default.Children.toArray(q)){if(!dU.isValidElement(f)||f.type!==nh8)continue;_++}let A=String(_).length,z;if($[0]!==q||$[1]!==A||$[2]!==K){let f;if($[4]!==A||$[5]!==K)f=(O,M)=>{if(!dU.isValidElement(O)||O.type!==nh8)return O;let j=`${String(M+1).padStart(A)}.`,w=`${K}${j}`;return dU.default.createElement(S39.Provider,{value:{marker:w}},dU.default.createElement(TKq.Provider,{value:{marker:w}},O))},$[4]=A,$[5]=K,$[6]=f;else f=$[6];z=dU.default.Children.map(q,f),$[0]=q,$[1]=A,$[2]=K,$[3]=z}else z=$[3];let Y;if($[7]!==z)Y=dU.default.createElement(p,{flexDirection:"column"},z),$[7]=z,$[8]=Y;else Y=$[8];return Y}var R39,dU,S39,ih8;var C39=T(()=>{iH();h39();R39=B(H$(),1),dU=B(XH(),1),S39=dU.createContext({marker:""});I39.Item=nh8;ih8=I39});var u39={};P$(u39,{SkippableStep:()=>x39,Onboarding:()=>MTA});function MTA({onDone:H}){let[$,q]=Z5.useState(0),[K,_]=Z5.useState(!1),[A]=Z5.useState(()=>gw()),[z,Y]=d7();Z5.useEffect(()=>{c("tengu_began_setup",{oauthEnabled:A})},[A]);function f(){if($<L.length-1){let Z=$+1;q(Z),c("tengu_onboarding_step",{oauthEnabled:A,stepId:L[Z]?.id}),xH("onboarding_step_complete")}else xH("onboarding_complete"),H()}function O(Z){Y(Z),f()}let M=tY(),j=Z5.default.createElement(p,{marginX:1},Z5.default.createElement(weH,{onThemeSelect:O,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0})),w=Z5.default.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1},Z5.default.createElement(k,{bold:!0},"Security notes:"),Z5.default.createElement(p,{flexDirection:"column",width:70},Z5.default.createElement(ih8,null,Z5.default.createElement(ih8.Item,null,Z5.default.createElement(k,null,"Claude can make mistakes"),Z5.default.createElement(k,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",Z5.default.createElement(vb,null),"running code.",Z5.default.createElement(vb,null))),Z5.default.createElement(ih8.Item,null,Z5.default.createElement(k,null,"Due to prompt injection risks, only use it with code you trust"),Z5.default.createElement(Uv,{url:"https://code.claude.com/docs/en/security"})))),Z5.default.createElement(lh8,null)),D=Z5.default.createElement(V39,{onSuccess:f}),J=Z5.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY||SX())return"";let Z=rS(process.env.ANTHROPIC_API_KEY);if(Of$(Z)==="new")return Z},[]);function X(Z){if(Z)_(!0);f()}let L=[];if(A)L.push({id:"preflight",component:D});if(L.push({id:"theme",component:j}),J)L.push({id:"api-key",component:Z5.default.createElement(WKq,{customApiKeyTruncated:J,onDone:X})});if(A)L.push({id:"oauth",component:Z5.default.createElement(x39,{skip:K,onSkip:f},Z5.default.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1},Z5.default.createElement(XyH,{onDone:f,urlOutdent:1})))});if(L.push({id:"security",component:w}),MVH())L.push({id:"terminal-setup",component:Z5.default.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1},Z5.default.createElement(k,{bold:!0},"Use Claude Code's terminal setup?"),Z5.default.createElement(p,{flexDirection:"column",width:70,gap:1},Z5.default.createElement(k,null,"For the optimal coding experience, enable the recommended settings",Z5.default.createElement(vb,null),"for your terminal:"," ",F6.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),Z5.default.createElement(d9,{confirmLabel:"Yes, use recommended settings",cancelLabel:"No, maybe later with /terminal-setup",onConfirm:()=>void r88(z).then(()=>xH("onboarding_terminal_setup")).catch(()=>mH("onboarding_terminal_setup","onboarding_terminal_setup_failed")).finally(f),onCancel:f}),Z5.default.createElement(k,{dimColor:!0},M.pending?Z5.default.createElement(Z5.default.Fragment,null,"Press ",M.keyName," again to exit"):Z5.default.createElement(O8,null,Z5.default.createElement(q$,{chord:"enter",action:"confirm"}),Z5.default.createElement(q$,{chord:"escape",action:"skip"})))))});let P=L[$],G=Z5.useCallback(()=>{if($===L.length-1)H();else f()},[$,H,f]),W=Z5.useCallback(()=>{f()},[f]);return Yq({"confirm:yes":G},{context:"Confirmation",isActive:P?.id==="security"}),Yq({"confirm:no":W},{context:"Confirmation",isActive:P?.id==="terminal-setup"}),Z5.default.createElement(p,{flexDirection:"column"},Z5.default.createElement(OPH,null),Z5.default.createElement(p,{flexDirection:"column",marginTop:1},P?.component,M.pending&&Z5.default.createElement(p,{padding:1},Z5.default.createElement(k,{dimColor:!0},"Press ",M.keyName," again to exit"))))}function x39(H){let $=b39.c(4),{skip:q,onSkip:K,children:_}=H,A,z;if($[0]!==K||$[1]!==q)A=()=>{if(q)K()},z=[q,K],$[0]=K,$[1]=q,$[2]=A,$[3]=z;else A=$[2],z=$[3];if(Z5.useEffect(A,z),q)return null;return _}var b39,Z5;var m39=T(()=>{y$();KMH();NG();iH();yq();w8();Pq();T_$();s8();m_();r$();v39();ZKq();c2$();$K();uM();R6H();Dq();DN$();GKq();rZ8();C39();b39=B(H$(),1),Z5=B(XH(),1)});function B39(H){if(H===null)return!1;if(H.statusLine)return!0;if(H.fileSuggestion)return!0;if(!H.hooks)return!1;for(let $ of Object.values(H.hooks))if($.length>0)return!0;return!1}function c39(){let H=[],$=B8("projectSettings");if(B39($))H.push(".claude/settings.json");let q=B8("localSettings");if(B39(q))H.push(".claude/settings.local.json");return H}function p39(H){return H.some(($)=>$.ruleBehavior==="allow"&&($.ruleValue.toolName===dq||$.ruleValue.toolName.startsWith(dq+"(")))}function l39(){let H=[],$=Dj$("projectSettings");if(p39($))H.push(".claude/settings.json");let q=Dj$("localSettings");if(p39(q))H.push(".claude/settings.local.json");return H}function U39(H){return!!H?.otelHeadersHelper}function n39(){let H=[],$=B8("projectSettings");if(U39($))H.push(".claude/settings.json");let q=B8("localSettings");if(U39(q))H.push(".claude/settings.local.json");return H}function F39(H){return!!H?.apiKeyHelper}function i39(){let H=[],$=B8("projectSettings");if(F39($))H.push(".claude/settings.json");let q=B8("localSettings");if(F39(q))H.push(".claude/settings.local.json");return H}function Q39(H){return!!(H?.awsAuthRefresh||H?.awsCredentialExport)}function r39(){let H=[],$=B8("projectSettings");if(Q39($))H.push(".claude/settings.json");let q=B8("localSettings");if(Q39(q))H.push(".claude/settings.local.json");return H}function g39(H){return!!H?.gcpAuthRefresh}function o39(){let H=[],$=B8("projectSettings");if(g39($))H.push(".claude/settings.json");let q=B8("localSettings");if(g39(q))H.push(".claude/settings.local.json");return H}function d39(H){if(!H?.env)return!1;return Object.keys(H.env).some(($)=>!GnH.has($.toUpperCase()))}function a39(){let H=[],$=B8("projectSettings");if(d39($))H.push(".claude/settings.json");let q=B8("localSettings");if(d39(q))H.push(".claude/settings.local.json");return H}var s39=T(()=>{P6();v_8();R9H()});var e39={};P$(e39,{TrustDialog:()=>jTA});function jTA(H){let $=t39.c(32),{onDone:q,commands:K}=H,_;if($[0]===Symbol.for("react.memo_cache_sentinel"))_=t2("project"),$[0]=_;else _=$[0];let{servers:A}=_,z;if($[1]===Symbol.for("react.memo_cache_sentinel"))z=Object.keys(A),$[1]=z;else z=$[1];let Y=z.length>0,f;if($[2]===Symbol.for("react.memo_cache_sentinel"))f=c39(),$[2]=f;else f=$[2];let M=f.length>0,j;if($[3]===Symbol.for("react.memo_cache_sentinel"))j=l39(),$[3]=j;else j=$[3];let w=j,D;if($[4]===Symbol.for("react.memo_cache_sentinel"))D=i39(),$[4]=D;else D=$[4];let X=D.length>0,L;if($[5]===Symbol.for("react.memo_cache_sentinel"))L=r39(),$[5]=L;else L=$[5];let G=L.length>0,W;if($[6]===Symbol.for("react.memo_cache_sentinel"))W=o39(),$[6]=W;else W=$[6];let V=W.length>0,v;if($[7]===Symbol.for("react.memo_cache_sentinel"))v=n39(),$[7]=v;else v=$[7];let S=v.length>0,h;if($[8]===Symbol.for("react.memo_cache_sentinel"))h=a39(),$[8]=h;else h=$[8];let I=h.length>0,b;if($[9]!==K)b=K?.some(PTA)??!1,$[9]=K,$[10]=b;else b=$[10];let x=b,R;if($[11]!==K)R=K?.some(XTA)??!1,$[11]=K,$[12]=R;else R=$[12];let m=R,Q=w.length>0||x||m,U=u_(),g,l;if($[13]!==Q)g=()=>{let qH=VKq.homedir()===x$();c("tengu_trust_dialog_shown",{isHomeDir:qH,hasMcpServers:Y,hasHooks:M,hasBashExecution:Q,hasApiKeyHelper:X,hasAwsCommands:G,hasGcpCommands:V,hasOtelHeadersHelper:S,hasDangerousEnvVars:I})},l=[Y,M,Q,X,G,V,S,I],$[13]=Q,$[14]=g,$[15]=l;else g=$[14],l=$[15];hE.useEffect(g,l);let d;if($[16]!==Q||$[17]!==q)d=function(MH){if(MH==="exit"){mH("onboarding_trust_dialog","onboarding_trust_denied"),E9(1);return}let zH=VKq.homedir()===x$();if(xH("onboarding_trust_dialog"),c("tengu_trust_dialog_accept",{isHomeDir:zH,hasMcpServers:Y,hasHooks:M,hasBashExecution:Q,hasApiKeyHelper:X,hasAwsCommands:G,hasGcpCommands:V,hasOtelHeadersHelper:S,hasDangerousEnvVars:I}),zH)JzH(!0);else vM(JTA);q()},$[16]=Q,$[17]=q,$[18]=d;else d=$[18];let r=d,t=tY(DTA),s;if($[19]===Symbol.for("react.memo_cache_sentinel"))s={context:"Confirmation"},$[19]=s;else s=$[19];if(Y6("confirm:no",wTA,s),U)return queueMicrotask(q),null;let HH,o,e;if($[20]===Symbol.for("react.memo_cache_sentinel"))HH=hE.default.createElement(k,{bold:!0},g$().cwd()),o=hE.default.createElement(k,null,"Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source project, or work from your team). If not, take a moment to review what","'","s in this folder first."),e=hE.default.createElement(k,null,"","",""),$[20]=HH,$[21]=o,$[22]=e;else HH=$[20],o=$[21],e=$[22];let wH;if($[23]===Symbol.for("react.memo_cache_sentinel"))wH=hE.default.createElement(k,{dimColor:!0},hE.default.createElement(JK,{url:"https://code.claude.com/docs/en/security"},"Security guide")),$[23]=wH;else wH=$[23];let AH;if($[24]!==r)AH=hE.default.createElement(d9,{confirmLabel:"Yes, I trust this folder",cancelLabel:"No, exit",onConfirm:()=>r("enable_all"),onCancel:()=>r("exit")}),$[24]=r,$[25]=AH;else AH=$[25];let $H;if($[26]!==t.keyName||$[27]!==t.pending)$H=hE.default.createElement(k,{dimColor:!0},t.pending?hE.default.createElement(hE.default.Fragment,null,"Press ",t.keyName," again to exit"):hE.default.createElement(O8,null,hE.default.createElement(q$,{chord:"enter",action:"confirm"}),hE.default.createElement(q$,{chord:"escape",action:"cancel"}))),$[26]=t.keyName,$[27]=t.pending,$[28]=$H;else $H=$[28];let KH;if($[29]!==AH||$[30]!==$H)KH=hE.default.createElement(K3,{color:"warning",titleColor:"warning",title:"Accessing workspace:"},hE.default.createElement(p,{flexDirection:"column",gap:1,paddingTop:1},HH,o,e,wH,AH,$H)),$[29]=AH,$[30]=$H,$[31]=KH;else KH=$[31];return KH}function wTA(){E9(0)}function DTA(){return E9(1)}function JTA(H){return{...H,hasTrustDialogAccepted:!0}}function XTA(H){return H.type==="prompt"&&(H.loadedFrom==="skills"||H.loadedFrom==="plugin")&&(H.source==="projectSettings"||H.source==="localSettings"||H.source==="plugin")&&H.allowedTools?.some(LTA)}function LTA(H){return H===dq||H.startsWith(dq+"(")}function PTA(H){return H.type==="prompt"&&H.loadedFrom==="commands_DEPRECATED"&&(H.source==="projectSettings"||H.source==="localSettings")&&H.allowedTools?.some(WTA)}function WTA(H){return H===dq||H.startsWith(dq+"(")}var t39,VKq,hE;var Hf9=T(()=>{y$();w$();NG();iH();yq();w8();kT();s8();Lq();lq();Vz();$K();uM();Dq();Xv();s39();t39=B(H$(),1),VKq=require("os"),hE=B(XH(),1)});var Kf9={};P$(Kf9,{ProTrialStartScreen:()=>ZTA});function ZTA(H){let $=$f9.c(9),{onDone:q}=H,[K,_]=qf9.useState("idle"),A;if($[0]!==q||$[1]!==K)A={"confirm:yes":()=>{if(K==="starting")return;if(K==="error"){q();return}_("starting"),c("tengu_pro_trial_start_pressed",{}),gi6().then(()=>{c("tengu_pro_trial_start_ok",{}),q()}).catch((w)=>{if(Hj(w))N(`Failed to start pro trial: ${TH(w)}`,{level:"error"});else IH(w);c("tengu_pro_trial_start_error",{}),_("error")})}},$[0]=q,$[1]=K,$[2]=A;else A=$[2];let z;if($[3]===Symbol.for("react.memo_cache_sentinel"))z={context:"Confirmation"},$[3]=z;else z=$[3];Yq(A,z);let Y;if($[4]===Symbol.for("react.memo_cache_sentinel"))Y=Qi6(),$[4]=Y;else Y=$[4];let f=Y,O;if($[5]===Symbol.for("react.memo_cache_sentinel"))O=SZ.createElement(OPH,null),$[5]=O;else O=$[5];let M;if($[6]===Symbol.for("react.memo_cache_sentinel"))M=SZ.createElement(k,null,f!==null?`Your Pro plan includes ${f} days of Claude Code.`:"Your Pro plan includes a Claude Code trial."),$[6]=M;else M=$[6];let j;if($[7]!==K)j=SZ.createElement(p,{flexDirection:"column",paddingX:1,gap:1},O,M,K==="starting"?SZ.createElement(p,null,SZ.createElement(S5,null),SZ.createElement(k,null," Starting your trial\u2026")):K==="error"?SZ.createElement(k,{color:"error"},"Couldn't start your trial. Press ",SZ.createElement(k,{bold:!0},"Enter")," to continue."):SZ.createElement(k,{color:"permission"},"Press ",SZ.createElement(k,{bold:!0},"Enter")," to start your trial")),$[7]=K,$[8]=j;else j=$[8];return j}var $f9,SZ,qf9;var _f9=T(()=>{iH();yq();y$();DH$();dH();G$();P8();DN$();cP();$f9=B(H$(),1),SZ=B(XH(),1),qf9=B(XH(),1)});var zf9={};P$(zf9,{TeamOnboardingDiscoveryStep:()=>GTA});function GTA(H){let $=Af9.c(6),{onDone:q}=H,K;if($[0]!==q)K={"confirm:yes":q},$[0]=q,$[1]=K;else K=$[1];let _;if($[2]===Symbol.for("react.memo_cache_sentinel"))_={context:"Confirmation"},$[2]=_;else _=$[2];Yq(K,_);let A;if($[3]===Symbol.for("react.memo_cache_sentinel"))A=dI.createElement(OPH,null),$[3]=A;else A=$[3];let z;if($[4]===Symbol.for("react.memo_cache_sentinel"))z=dI.createElement(k,{bold:!0},iv8.heading),$[4]=z;else z=$[4];let Y;if($[5]===Symbol.for("react.memo_cache_sentinel"))Y=dI.createElement(p,{flexDirection:"column"},A,dI.createElement(p,{flexDirection:"column",gap:1,paddingLeft:1,marginTop:1},z,dI.createElement(p,{width:70},dI.createElement(k,null,iv8.body)),dI.createElement(lh8,null))),$[5]=Y;else Y=$[5];return Y}var Af9,dI;var Yf9=T(()=>{Ck$();iH();yq();DN$();GKq();Af9=B(H$(),1),dI=B(XH(),1)});var Of9={};P$(Of9,{BypassPermissionsModeDialog:()=>TTA});function TTA(H){let $=ff9.c(6),{onAccept:q}=H,K;if($[0]===Symbol.for("react.memo_cache_sentinel"))K=[],$[0]=K;else K=$[0];WqH.useEffect(vTA,K);let _;if($[1]!==q)_=function(M){H:switch(M){case"accept":{c("tengu_bypass_permissions_mode_dialog_accept",{}),$q("userSettings",{skipDangerousModePermissionPrompt:!0}),q();break H}case"decline":E9(1)}},$[1]=q,$[2]=_;else _=$[2];let A=_,z=VTA,Y;if($[3]===Symbol.for("react.memo_cache_sentinel"))Y=WqH.default.createElement(p,{flexDirection:"column",gap:1},WqH.default.createElement(k,null,"In Bypass Permissions mode, Claude Code will not ask for your approval before running potentially dangerous commands.",WqH.default.createElement(vb,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),WqH.default.createElement(k,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),WqH.default.createElement(JK,{url:"https://code.claude.com/docs/en/security"})),$[3]=Y;else Y=$[3];let f;if($[4]!==A)f=WqH.default.createElement(x8,{title:"WARNING: Claude Code running in Bypass Permissions mode",color:"error",onCancel:z},Y,WqH.default.createElement(d9,{cancelFirst:!0,focus:"cancel",confirmLabel:"Yes, I accept",cancelLabel:"No, exit",onConfirm:()=>A("accept"),onCancel:()=>A("decline")})),$[4]=A,$[5]=f;else f=$[5];return f}function VTA(){E9(0)}function vTA(){c("tengu_bypass_permissions_mode_dialog_shown",{})}var ff9,WqH;var Mf9=T(()=>{y$();iH();Vz();P6();uM();BK();ff9=B(H$(),1),WqH=B(XH(),1)});var wf9={};P$(wf9,{DevChannelsDialog:()=>kTA});function kTA(H){let $=jf9.c(13),{channels:q,onAccept:K}=H,_;if($[0]!==K)_=function(J){H:switch(J){case"accept":{K();break H}case"exit":E9(1)}},$[0]=K,$[1]=_;else _=$[1];let A=_,z=ETA,Y,f;if($[2]===Symbol.for("react.memo_cache_sentinel"))Y=JIH.default.createElement(k,null,"--dangerously-load-development-channels is for local channel development only. Do not use this option to run channels you have downloaded off the internet."),f=JIH.default.createElement(k,null,"Please use --channels to run a list of approved channels."),$[2]=Y,$[3]=f;else Y=$[2],f=$[3];let O;if($[4]!==q)O=q.map(NTA).join(", "),$[4]=q,$[5]=O;else O=$[5];let M;if($[6]!==O)M=JIH.default.createElement(p,{flexDirection:"column",gap:1},Y,f,JIH.default.createElement(k,{dimColor:!0},"Channels:"," ",O)),$[6]=O,$[7]=M;else M=$[7];let j;if($[8]!==A)j=JIH.default.createElement(d9,{confirmLabel:"I am using this for local development",cancelLabel:"Exit",onConfirm:()=>A("accept"),onCancel:()=>A("exit")}),$[8]=A,$[9]=j;else j=$[9];let w;if($[10]!==M||$[11]!==j)w=JIH.default.createElement(x8,{title:"WARNING: Loading development channels",color:"error",onCancel:z},M,j),$[10]=M,$[11]=j,$[12]=w;else w=$[12];return w}function NTA(H){return H.kind==="plugin"?`plugin:${H.name}@${H.marketplace}`:`server:${H.name}`}function ETA(){E9(0)}var jf9,JIH;var Df9=T(()=>{iH();Vz();uM();BK();jf9=B(H$(),1),JIH=B(XH(),1)});var Xf9={};P$(Xf9,{ClaudeInChromeOnboarding:()=>STA});function STA(H){let $=Jf9.c(21),{onDone:q}=H,[K,_]=G0.useState(!1),A,z;if($[0]===Symbol.for("react.memo_cache_sentinel"))A=()=>{c("tengu_claude_in_chrome_onboarding_shown",{}),s_H().then(_).catch(IH),Y8(RTA)},z=[],$[0]=A,$[1]=z;else A=$[0],z=$[1];G0.useEffect(A,z);let Y;if($[2]!==q)Y=(L)=>{if(L.key==="return"&&!L.ctrl&&!L.meta)L.preventDefault(),q()},$[2]=q,$[3]=Y;else Y=$[3];let f;if($[4]!==K)f=!K&&G0.default.createElement(G0.default.Fragment,null,G0.default.createElement(vb,null),G0.default.createElement(vb,null),"Requires the Chrome extension. Get started at"," ",G0.default.createElement(JK,{url:yTA})),$[4]=K,$[5]=f;else f=$[5];let O;if($[6]!==f)O=G0.default.createElement(k,null,"Claude in Chrome works with the Chrome extension to let you control your browser directly from Claude Code. You can navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests.",f),$[6]=f,$[7]=O;else O=$[7];let M;if($[8]!==K)M=K&&G0.default.createElement(G0.default.Fragment,null," ","(",G0.default.createElement(JK,{url:hTA}),")"),$[8]=K,$[9]=M;else M=$[9];let j;if($[10]!==M)j=G0.default.createElement(k,{dimColor:!0},"Site-level permissions are inherited from the Chrome extension. Manage permissions in the Chrome extension settings to control which sites Claude can browse, click, and type on",M,"."),$[10]=M,$[11]=j;else j=$[11];let w;if($[12]===Symbol.for("react.memo_cache_sentinel"))w=G0.default.createElement(k,{bold:!0,color:"chromeYellow"},"/chrome"),$[12]=w;else w=$[12];let D;if($[13]===Symbol.for("react.memo_cache_sentinel"))D=G0.default.createElement(k,{dimColor:!0},"For more info, use"," ",w," ","or visit ",G0.default.createElement(JK,{url:"https://code.claude.com/docs/en/chrome"})),$[13]=D;else D=$[13];let J;if($[14]!==Y||$[15]!==O||$[16]!==j)J=G0.default.createElement(p,{flexDirection:"column",gap:1,tabIndex:0,autoFocus:!0,onKeyDown:Y},O,j,D),$[14]=Y,$[15]=O,$[16]=j,$[17]=J;else J=$[17];let X;if($[18]!==q||$[19]!==J)X=G0.default.createElement(x8,{title:"Claude in Chrome (beta)",onCancel:q,color:"chromeYellow"},J),$[18]=q,$[19]=J,$[20]=X;else X=$[20];return X}function RTA(H){return{...H,hasCompletedClaudeInChromeOnboarding:!0}}var Jf9,G0,yTA="https://claude.ai/chrome",hTA="https://clau.de/chrome/permissions";var Lf9=T(()=>{y$();iH();YRH();s8();P8();BK();Jf9=B(H$(),1),G0=B(XH(),1)});var kKq={};P$(kKq,{upgradeKey:()=>ITA,probeBedrockModel:()=>oh8,findBedrockUpgradeCandidates:()=>CTA,checkBedrockDefaultAvailability:()=>bTA});function vKq(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function Pf9(H){let $=xJ(H);for(let q of $y$)if(xJ(cY[q].firstParty)===$)return q;return}function ITA(H){return`${H.fromKey}-to-${H.toKey}`}async function CTA(){if(Iq()!=="bedrock")return[];if(uH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let z of Object.keys(rh8)){let Y=rh8[z],f,O,M;for(let J of Y.envVarPriority){let X=process.env[J];if(!X)continue;if(X.includes("application-inference-profile"))continue;let L=Pf9(X);if(!L||vKq(L)!==z||L===Y.defaultKey)continue;f=J,O=X,M=L;break}if(!f||!O||!M)continue;let j=Y.defaultKey,w=$y$.indexOf(M),D=$y$.indexOf(j);if(w>=D)continue;H.push({tier:z,envVar:f,pinnedRaw:O,pinnedKey:M,defaultKey:j})}if(H.length===0)return[];let $;try{$=await J_$()}catch{return[]}let q=_t(wk()),K=[];for(let z of H){let Y=cY[z.defaultKey].firstParty,f=i3H($,Y,q);if(!f)continue;let O=ZM(cY[z.pinnedKey].firstParty),M=ZM(cY[z.defaultKey].firstParty);if(!O||!M)continue;K.push({tier:z.tier,envVar:z.envVar,fromKey:z.pinnedKey,fromMarketingName:O,toKey:z.defaultKey,toMarketingName:M,toBedrockId:f})}c("tengu_bedrock_upgrade_check",{stale_tiers:String(K.length)});let A=(await Promise.all(K.map(async(z)=>{let Y=await oh8(z.toBedrockId,z.tier);return c("tengu_bedrock_probe_result",{tier:z.tier,model_id:z.toBedrockId,accessible:String(Y)}),Y?z:null}))).filter((z)=>z!==null);return N(`[bedrock-upgrade] tiersWithPin=${H.length} candidates=${A.length}`),A}async function bTA(){if(Iq()!=="bedrock")return[];if(uH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let A of Object.keys(rh8)){let z=rh8[A];if(z.envVarPriority.some((f)=>{let O=process.env[f];if(!O)return!1;let M=Pf9(O);if(!M)return!0;return vKq(M)===A}))continue;H.push({tier:A,envVar:z.envVarPriority.at(-1),defaultKey:z.defaultKey})}if(H.length===0)return[];c("tengu_bedrock_default_check",{unpinned_tiers:String(H.length)});let $=null;try{$=await J_$()}catch{return[]}let q=_t(wk()),K=await Promise.all(H.map(async(A)=>{let z=cY[A.defaultKey],Y=i3H($,z.firstParty,q);if(!Y)return null;let f=await oh8(Y,A.tier);if(c("tengu_bedrock_probe_result",{tier:A.tier,model_id:Y,accessible:String(f)}),f)return null;let O=xTA(A.defaultKey,A.tier);if(!O)return null;let M=cY[O],j=i3H($,M.firstParty,q);if(!j)return null;if(!await oh8(j,A.tier))return null;let D=ZM(z.firstParty),J=ZM(M.firstParty);if(!D||!J)return null;return{tier:A.tier,envVar:A.envVar,defaultKey:A.defaultKey,defaultName:D,fallbackKey:O,fallbackName:J,fallbackBedrockId:j}})),_=[];for(let A of K)if(A!==null)_.push(A);return N(`[bedrock-fallback] unpinnedTiers=${H.length} fallbacks=${_.length}`),_}function xTA(H,$){let q=$y$.indexOf(H);for(let K=q-1;K>=0;K--){let _=$y$[K];if(vKq(_)===$)return _}return}async function oh8(H,$){try{let[{AnthropicBedrock:q},{getProxyFetchOptions:K}]=await Promise.all([Promise.resolve().then(() => (vA$(),VA$)),Promise.resolve().then(() => (yO(),RmH))]),_=$==="haiku"&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:wk(),A={awsRegion:_,maxRetries:0,timeout:8000,fetchOptions:K({url:process.env.ANTHROPIC_BEDROCK_BASE_URL||`https://bedrock-runtime.${_}.amazonaws.com`})},z;if(process.env.AWS_BEARER_TOKEN_BEDROCK)z=new q({...A,apiKey:process.env.AWS_BEARER_TOKEN_BEDROCK});else{let Y=uH(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),f=Y?null:await fQ();z=f?new q({...A,awsAccessKey:f.accessKeyId,awsSecretKey:f.secretAccessKey,awsSessionToken:f.sessionToken}):new q({...A,...Y&&{skipAuth:!0}})}return await z.messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(q){if(q?.status===429)return!0;return!1}}var $y$,rh8;var NKq=T(()=>{y$();Pq();dH();r$();M7H();Yn();mq();I4();$y$=Object.keys(cY),rh8={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Lt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Xt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Pt}}});var EKq={};P$(EKq,{ThirdPartyModelUpgradeDialog:()=>uTA});function uTA(H){let $=Wf9.c(27),{tierLabel:q,fromName:K,toName:_,toProviderId:A,onDone:z}=H,Y=`Newer ${q} model available`,f;if($[0]!==z)f=()=>z(!1),$[0]=z,$[1]=f;else f=$[1];let O;if($[2]!==K)O=ql.default.createElement(k,null,"Currently pinned: ",ql.default.createElement(k,{bold:!0},K)),$[2]=K,$[3]=O;else O=$[3];let M;if($[4]!==_)M=ql.default.createElement(k,{bold:!0},_),$[4]=_,$[5]=M;else M=$[5];let j;if($[6]!==A)j=ql.default.createElement(k,{dimColor:!0},"(",A,")"),$[6]=A,$[7]=j;else j=$[7];let w;if($[8]!==M||$[9]!==j)w=ql.default.createElement(k,null,"Latest available: ",M," ",j),$[8]=M,$[9]=j,$[10]=w;else w=$[10];let D;if($[11]!==O||$[12]!==w)D=ql.default.createElement(p,{flexDirection:"column"},O,w),$[11]=O,$[12]=w,$[13]=D;else D=$[13];let J;if($[14]===Symbol.for("react.memo_cache_sentinel"))J=ql.default.createElement(k,{dimColor:!0},"Claude Code will restart to apply."),$[14]=J;else J=$[14];let X;if($[15]!==_)X=ql.default.createElement(k,null,"Update settings to use ",_,"?"," ",J),$[15]=_,$[16]=X;else X=$[16];let L;if($[17]!==z)L=ql.default.createElement(d9,{onConfirm:()=>z(!0),onCancel:()=>z(!1)}),$[17]=z,$[18]=L;else L=$[18];let P;if($[19]!==L||$[20]!==D||$[21]!==X)P=ql.default.createElement(p,{flexDirection:"column",gap:1},D,X,L),$[19]=L,$[20]=D,$[21]=X,$[22]=P;else P=$[22];let G;if($[23]!==Y||$[24]!==P||$[25]!==f)G=ql.default.createElement(x8,{title:Y,color:"permission",onCancel:f},P),$[23]=Y,$[24]=P,$[25]=f,$[26]=G;else G=$[26];return G}var Wf9,ql;var yKq=T(()=>{iH();uM();BK();Wf9=B(H$(),1),ql=B(XH(),1)});var SKq={};P$(SKq,{vertexUpgradeKey:()=>mTA,probeVertexModel:()=>sh8,findVertexUpgradeCandidates:()=>BTA,checkVertexDefaultAvailability:()=>pTA});function hKq(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function Zf9(H){let $=xJ(H);for(let q of qy$)if(xJ(cY[q].firstParty)===$)return q;return}function mTA(H){return`${H.fromKey}-to-${H.toKey}`}async function BTA(){if(Iq()!=="vertex")return[];if(uH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let K of Object.keys(ah8)){let _=ah8[K],A,z;for(let M of _.envVarPriority){let j=process.env[M];if(!j)continue;let w=Zf9(j);if(!w||hKq(w)!==K||w===_.defaultKey)continue;A=M,z=w;break}if(!A||!z)continue;let Y=_.defaultKey,f=qy$.indexOf(z),O=qy$.indexOf(Y);if(f>=O)continue;H.push({tier:K,envVar:A,pinnedKey:z,defaultKey:Y})}if(H.length===0)return[];c("tengu_vertex_upgrade_check",{stale_tiers:String(H.length)});let q=(await Promise.all(H.map(async(K)=>{let _=cY[K.defaultKey].vertex,A=await sh8(_);if(c("tengu_vertex_probe_result",{tier:K.tier,model_id:_,accessible:String(A)}),!A)return null;let z=ZM(cY[K.pinnedKey].firstParty),Y=ZM(cY[K.defaultKey].firstParty);if(!z||!Y)return null;return{tier:K.tier,envVar:K.envVar,fromKey:K.pinnedKey,fromMarketingName:z,toKey:K.defaultKey,toMarketingName:Y,toVertexId:_}}))).filter((K)=>K!==null);return N(`[vertex-upgrade] tiersWithPin=${H.length} candidates=${q.length}`),q}async function pTA(){if(Iq()!=="vertex")return[];if(uH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let K of Object.keys(ah8)){let _=ah8[K];if(_.envVarPriority.some((z)=>{let Y=process.env[z];if(!Y)return!1;let f=Zf9(Y);if(!f)return!0;return hKq(f)===K}))continue;H.push({tier:K,envVar:_.envVarPriority.at(-1),defaultKey:_.defaultKey})}if(H.length===0)return[];c("tengu_vertex_default_check",{unpinned_tiers:String(H.length)});let $=await Promise.all(H.map(async(K)=>{let _=cY[K.defaultKey],A=await sh8(_.vertex);if(c("tengu_vertex_probe_result",{tier:K.tier,model_id:_.vertex,accessible:String(A)}),A)return null;let z=UTA(K.defaultKey,K.tier);if(!z)return null;let Y=cY[z];if(!await sh8(Y.vertex))return null;let O=ZM(_.firstParty),M=ZM(Y.firstParty);if(!O||!M)return null;return{tier:K.tier,envVar:K.envVar,defaultKey:K.defaultKey,defaultName:O,fallbackKey:z,fallbackName:M,fallbackVertexId:Y.vertex}})),q=[];for(let K of $)if(K!==null)q.push(K);return N(`[vertex-fallback] unpinnedTiers=${H.length} fallbacks=${q.length}`),q}function UTA(H,$){let q=qy$.indexOf(H);for(let K=q-1;K>=0;K--){let _=qy$[K];if(hKq(_)===$)return _}return}async function sh8(H){try{let[{AnthropicVertex:$},{getProxyFetchOptions:q}]=await Promise.all([Promise.resolve().then(() => (ia$(),na$)),Promise.resolve().then(() => (yO(),RmH))]);if(!uH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH))await h0H();let K=process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project,_=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials,A=K||_?void 0:process.env.ANTHROPIC_VERTEX_PROJECT_ID,z=await ZUH(uH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{kind:"skip"}:{kind:"default"},A),Y=kWH(H);return await new $({region:Y,googleAuth:z,maxRetries:0,timeout:8000,fetchOptions:q({url:process.env.ANTHROPIC_VERTEX_BASE_URL||CCH(Y)})}).messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch($){if($?.status===429)return!0;return!1}}var qy$,ah8;var RKq=T(()=>{y$();Pq();dH();r$();Yn();mq();I4();ra$();qy$=Object.keys(cY),ah8={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Lt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Xt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Pt}}});function FTA(){Y8((H)=>({...H,hasCompletedOnboarding:!0,lastOnboardingVersion:{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.150",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-05-23T01:22:49Z",GIT_SHA:"28d4819e0f0a51840356d175c2a710f0c83db5b4"}.VERSION}))}function _y$(H,$){return new Promise((q)=>{let K=(_)=>void q(_);H.render($(K))})}async function qS(H,$,q){return QTA(H,$,{color:"error",beforeExit:q})}async function QTA(H,$,q){let{Text:K}=await Promise.resolve().then(() => (iH(),Nb)),_=q?.color,A=q?.exitCode??1;if(H.render(_?GX.default.createElement(K,{color:_},$):GX.default.createElement(K,null,$)),H.unmount(),await q?.beforeExit?.(),A!==0){let{setBgExitCause:z}=await Promise.resolve().then(() => (Pl(),xAq));z("exit_with_message")}process.exit(A)}function SE(H,$,q){if(process.env.CLAUDE_JOB_DIR)Promise.resolve().then(() => (BT$(),Eg6)).then((K)=>K.markStartupDialogBlocked()).catch(()=>{});return _y$(H,(K)=>GX.default.createElement(ow,{onChangeAppState:q?.onChangeAppState},GX.default.createElement(aD,null,$(K))))}async function XIH(H,$){H.render($),HS8(),await H.waitUntilExit(),await $7(0)}async function Vf9(H,$,q,K,_,A){if(process.env.CODER_APIKEY){return false;}if(b7()){JzH(!0),zFH(),ZG().catch((M)=>IH(c6(M))),eJ();let{errors:O}=f8H();if(O.length===0)await LKq(H);return Xa(),setImmediate(()=>PN$()),!1}if(uH(!1)||process.env.IS_DEMO)return!1;let z=m$(),Y=!1;if(!z.hasCompletedOnboarding||(process.env.CLAUDE_CODE_TEAM_ONBOARDING==="banner"||process.env.CLAUDE_CODE_TEAM_ONBOARDING==="step")){Y=!0;let{Onboarding:O}=await Promise.resolve().then(() => (m39(),u39));await SE(H,(M)=>GX.default.createElement(O,{onDone:()=>{FTA(),M()}}),{onChangeAppState:PAH})}let f=!1;if(!uH(process.env.CLAUBBIT)){if(!u_()){f=!0;let{TrustDialog:M}=await Promise.resolve().then(() => (Hf9(),e39));await SE(H,(j)=>GX.default.createElement(M,{commands:K,onDone:j}))}if(JzH(!0),zFH(),!z.hasCompletedOnboarding){AOH();let M=Date.now();try{await tA(ZG(),gTA,Gf9),N(`[STARTUP] post-onboarding GB await ${Date.now()-M}ms`)}catch(j){if(N(`[STARTUP] post-onboarding GB await ${Date.now()-M}ms: ${j}`,{level:"warn"}),!(j instanceof Error&&j.message===Gf9))IH(c6(j))}}else ZG().catch((M)=>IH(c6(M)));eJ();let{errors:O}=f8H();if(O.length===0)await LKq(H);if(await wP6()){let M=odH(await hP(!0)),{ClaudeMdExternalIncludesDialog:j}=await Promise.resolve().then(() => (fc6(),kZ4));await SE(H,(w)=>GX.default.createElement(j,{onDone:w,isStandaloneDialog:!0,externalIncludes:M}))}}if(W39(),X39(),Xa(),f){if(!e6()&&!_1())Promise.resolve().then(() => (E28(),N28)).then((O)=>O.startMemoryWatcher())}if(setImmediate(()=>PN$()),await WnH()){let{GroveDialog:O}=await Promise.resolve().then(() => (bo6(),nu4));if(await SE(H,(j)=>GX.default.createElement(O,{showIfAlreadyViewed:!1,location:Y?"onboarding":"policy_update_modal",onDone:j}))==="escape")return c("tengu_grove_policy_exited",{}),E9(0),!1}{let{getProTrialState:O}=await Promise.resolve().then(() => (DH$(),KR4));if(O().status==="not_started"){let{ProTrialStartScreen:M}=await Promise.resolve().then(() => (_f9(),Kf9));c("tengu_pro_trial_start_screen_shown",{}),await SE(H,(j)=>GX.default.createElement(M,{onDone:j}))}}if(Y){if(!uH(process.env.CLAUBBIT))await tA(ZG(),1000,"cedar-inlet").catch(()=>{});let{resolveTeamOnboardingDiscoveryArm:O}=await Promise.resolve().then(() => (Ck$(),rv8));if(O()==="step"){let{TeamOnboardingDiscoveryStep:M}=await Promise.resolve().then(() => (Yf9(),zf9));await SE(H,(j)=>GX.default.createElement(M,{onDone:j}))}}if(process.env.ANTHROPIC_API_KEY&&!SX()&&Iq()==="firstParty"){let O=rS(process.env.ANTHROPIC_API_KEY);if(Of$(O)==="new"){let{ApproveApiKey:j}=await Promise.resolve().then(() => (ZKq(),N39));await SE(H,(w)=>GX.default.createElement(j,{customApiKeyTruncated:O,onDone:w}),{onChangeAppState:PAH})}}try{await dTA(H)}catch(O){IH(O)}try{await cTA(H)}catch(O){IH(O)}try{await lTA(H)}catch(O){IH(O)}try{await nTA(H)}catch(O){IH(O)}if(($==="bypassPermissions"||q)&&!Em()){let{BypassPermissionsModeDialog:O}=await Promise.resolve().then(() => (Mf9(),Of9));await SE(H,(M)=>GX.default.createElement(O,{onAccept:M}))}if($==="auto"&&!mC()){let{AutoModeOptInDialog:O}=await Promise.resolve().then(() => (XE8(),Y89));await SE(H,(M)=>GX.default.createElement(O,{onAccept:M,onDecline:()=>E9(1),declineExits:!0}))}if(ZJ().length>0||(A?.length??0)>0)await Lb("tengu_harbor");if(A&&A.length>0){let[{isChannelsEnabled:O},{isChannelsPolicyBlocked:M},{getSettingsForSource:j}]=await Promise.all([Promise.resolve().then(() => (F2$(),vt7)),Promise.resolve().then(() => (waH(),Nt7)),Promise.resolve().then(() => (P6(),BKH))]);if(!O()||Iq()!=="firstParty"||M(j("policySettings")))dqH([...ZJ(),...A.map((w)=>({...w,dev:!0}))]),kS$(!0);else{let{DevChannelsDialog:w}=await Promise.resolve().then(() => (Df9(),wf9));await SE(H,(D)=>GX.default.createElement(w,{channels:A,onAccept:()=>{dqH([...ZJ(),...A.map((J)=>({...J,dev:!0}))]),kS$(!0),D()}}))}}if(_&&!m$().hasCompletedClaudeInChromeOnboarding){let{ClaudeInChromeOnboarding:O}=await Promise.resolve().then(() => (Lf9(),Xf9));await SE(H,(M)=>GX.default.createElement(O,{onDone:M}))}return Y}async function eh8(H,$){let q;try{return await Promise.race([$,new Promise((K)=>{q=setTimeout((_,A)=>{N(`[3p-probe] ${A} hit ${Tf9}ms deadline; proceeding without it`),_([])},Tf9,K,H)})])}finally{clearTimeout(q)}}async function dTA(H){let{findBedrockUpgradeCandidates:$,upgradeKey:q}=await Promise.resolve().then(() => (NKq(),kKq)),K=await eh8("bedrock-upgrade",$());if(K.length===0)return;let _=m$().bedrockDeclinedUpgrades??{},A=K.filter((O)=>_[O.tier]!==q(O));if(A.length===0)return;let{updateSettingsForSource:z}=await Promise.resolve().then(() => (P6(),BKH)),{ThirdPartyModelUpgradeDialog:Y}=await Promise.resolve().then(() => (yKq(),EKq)),f=!1;for(let O of A)if(await SE(H,(j)=>GX.default.createElement(Y,{tierLabel:U8$[O.tier],fromName:O.fromMarketingName,toName:O.toMarketingName,toProviderId:O.toBedrockId,onDone:j}))){let j=O.tier==="haiku"?{ANTHROPIC_DEFAULT_HAIKU_MODEL:O.toBedrockId,...O.envVar==="ANTHROPIC_SMALL_FAST_MODEL"&&{ANTHROPIC_SMALL_FAST_MODEL:O.toBedrockId}}:{[O.envVar]:O.toBedrockId},{error:w}=z("userSettings",{env:j});if(w){c("tengu_bedrock_upgrade_save_failed",{tier:O.tier});let{Text:D}=await Promise.resolve().then(() => (iH(),Nb));await _y$(H,(J)=>{return setTimeout(J,2000),GX.default.createElement(D,{color:"error"},"Failed to save ",U8$[O.tier]," upgrade to settings.")})}else{for(let D of Object.keys(j))process.env[D]=O.toBedrockId;f=!0,c("tengu_bedrock_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else Y8((j)=>({...j,bedrockDeclinedUpgrades:{...j.bedrockDeclinedUpgrades,[O.tier]:q(O)}})),c("tengu_bedrock_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if(f)c("tengu_bedrock_upgrade_relaunch",{}),await vf9(H)}async function vf9(H){let{Text:$}=await Promise.resolve().then(() => (iH(),Nb));H.render(GX.default.createElement($,{dimColor:!0},"Restarting Claude Code to apply the new model\u2026"));let{sleep:q}=await Promise.resolve().then(() => DA$);await q(250),H.unmount();let{execRelaunch:K}=await Promise.resolve().then(() => (yZ$(),EZ$));await K()}async function cTA(H){let{checkBedrockDefaultAvailability:$}=await Promise.resolve().then(() => (NKq(),kKq)),q=await eh8("bedrock-fallback",$());if(q.length===0)return;for(let z of q){if(process.env[z.envVar]=z.fallbackBedrockId,z.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=z.fallbackBedrockId;c("tengu_bedrock_default_fallback",{tier:z.tier,default_key:z.defaultKey,fallback_key:z.fallbackKey})}let{Box:K,Text:_}=await Promise.resolve().then(() => (iH(),Nb)),A=q.map((z)=>`${U8$[z.tier]}: ${z.defaultName} not available \u2014 using ${z.fallbackName} for this session`);await _y$(H,(z)=>{return setTimeout(z,1500),GX.default.createElement(K,{flexDirection:"column"},A.map((Y)=>GX.default.createElement(_,{key:Y,color:"warning"},Y)))})}async function lTA(H){let{findVertexUpgradeCandidates:$,vertexUpgradeKey:q}=await Promise.resolve().then(() => (RKq(),SKq)),K=await eh8("vertex-upgrade",$());if(K.length===0)return;let _=m$().vertexDeclinedUpgrades??{},A=K.filter((O)=>_[O.tier]!==q(O));if(A.length===0)return;let{updateSettingsForSource:z}=await Promise.resolve().then(() => (P6(),BKH)),{ThirdPartyModelUpgradeDialog:Y}=await Promise.resolve().then(() => (yKq(),EKq)),f=!1;for(let O of A)if(await SE(H,(j)=>GX.default.createElement(Y,{tierLabel:U8$[O.tier],fromName:O.fromMarketingName,toName:O.toMarketingName,toProviderId:O.toVertexId,onDone:j}))){let j=O.tier==="haiku"?{ANTHROPIC_DEFAULT_HAIKU_MODEL:O.toVertexId,...O.envVar==="ANTHROPIC_SMALL_FAST_MODEL"&&{ANTHROPIC_SMALL_FAST_MODEL:O.toVertexId}}:{[O.envVar]:O.toVertexId},{error:w}=z("userSettings",{env:j});if(w){c("tengu_vertex_upgrade_save_failed",{tier:O.tier});let{Text:D}=await Promise.resolve().then(() => (iH(),Nb));await _y$(H,(J)=>{return setTimeout(J,2000),GX.default.createElement(D,{color:"error"},"Failed to save ",U8$[O.tier]," upgrade to settings.")})}else{for(let D of Object.keys(j))process.env[D]=O.toVertexId;f=!0,c("tengu_vertex_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else Y8((j)=>({...j,vertexDeclinedUpgrades:{...j.vertexDeclinedUpgrades,[O.tier]:q(O)}})),c("tengu_vertex_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if(f)c("tengu_vertex_upgrade_relaunch",{}),await vf9(H)}async function nTA(H){let{checkVertexDefaultAvailability:$}=await Promise.resolve().then(() => (RKq(),SKq)),q=await eh8("vertex-fallback",$());if(q.length===0)return;for(let z of q){if(process.env[z.envVar]=z.fallbackVertexId,z.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=z.fallbackVertexId;c("tengu_vertex_default_fallback",{tier:z.tier,default_key:z.defaultKey,fallback_key:z.fallbackKey})}let{Box:K,Text:_}=await Promise.resolve().then(() => (iH(),Nb)),A=q.map((z)=>`${U8$[z.tier]}: ${z.defaultName} not available \u2014 using ${z.fallbackName} for this session`);await _y$(H,(z)=>{return setTimeout(z,1500),GX.default.createElement(K,{flexDirection:"column"},A.map((Y)=>GX.default.createElement(_,{key:Y,color:"warning"},Y)))})}function kf9(H){let $=0,q=Wd(H);if(q.stdin)c("tengu_stdin_interactive",{});let K=new PKq,_=z$q();aR8(_);let A=process.env.CLAUDE_CODE_FRAME_TIMING_LOG,z=-1;if(A)try{z=th8.openSync(A,"a")}catch{}return{getFpsMetrics:()=>K.getMetrics(),stats:_,renderOptions:{...q,onFrame:(Y)=>{if(K.record(Y.durationMs),_.observe("frame_duration_ms",Y.durationMs),z>=0&&Y.phases){let f=JSON.stringify({total:Y.durationMs,...Y.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+`
12446
12446
  `;th8.writeSync(z,f)}if(Kg())return;for(let f of Y.flickers){if(f.reason==="resize")continue;let O=Date.now();if(O-$<1000)c("tengu_flicker",{desiredHeight:f.desiredHeight,actualHeight:f.availableHeight,reason:f.reason});$=O}}}}}var th8,GX,gTA=2000,Gf9="GB post-onboarding init",U8$,Tf9=20000;var IKq=T(()=>{y$();Vz();w$();Y$q();ob();K$q();$N();jp();$S8();q6();ZnH();J39();Gx();c$$();T_$();BW();i_();s8();dH();L39();r$();G$();eE$();P8();F$$();I4();YNH();SP$();P6();pn();th8=require("fs"),GX=B(XH(),1);U8$={sonnet:"Sonnet",opus:"Opus",haiku:"Haiku"}});var Ef9={};P$(Ef9,{InvalidSettingsDialog:()=>iTA});function iTA(H){let $=Nf9.c(21),{settingsErrors:q,onContinue:K,onFix:_,onExit:A}=H,z;if($[0]!==K||$[1]!==A||$[2]!==_)z=function(Z){if(Z==="exit")A();else if(Z==="fix")_();else K()},$[0]=K,$[1]=A,$[2]=_,$[3]=z;else z=$[3];let Y=z,f;if($[4]!==q)f=q.some(rTA),$[4]=q,$[5]=f;else f=$[5];let O=f,M;if($[6]!==O)M=O?[{label:"Fix with Claude",value:"fix"},{label:"Exit and fix manually",value:"exit"},{label:"Continue without these settings",value:"continue"}]:[{label:"Continue",value:"continue"},{label:"Fix with Claude",value:"fix"},{label:"Exit and fix manually",value:"exit"}],$[6]=O,$[7]=M;else M=$[7];let j=M,w=O?"Settings Error":"Settings Warning",D=O?A:K,J;if($[8]!==q)J=Ay$.default.createElement(pG8,{errors:q}),$[8]=q,$[9]=J;else J=$[9];let X=O?"Files with errors are skipped entirely, not just the invalid settings.":"The values listed above were skipped; the rest of the file is in effect.",L;if($[10]!==X)L=Ay$.default.createElement(k,{dimColor:!0},X),$[10]=X,$[11]=L;else L=$[11];let P;if($[12]!==Y||$[13]!==j)P=Ay$.default.createElement(K6,{options:j,onChange:Y}),$[12]=Y,$[13]=j,$[14]=P;else P=$[14];let G;if($[15]!==w||$[16]!==D||$[17]!==J||$[18]!==L||$[19]!==P)G=Ay$.default.createElement(x8,{title:w,onCancel:D,color:"warning"},J,L,P),$[15]=w,$[16]=D,$[17]=J,$[18]=L,$[19]=P,$[20]=G;else G=$[20];return G}function rTA(H){return H.severity!=="warning"}var Nf9,Ay$;var yf9=T(()=>{iH();Mw();BK();Ml6();Nf9=B(H$(),1),Ay$=B(XH(),1)});var Sf9={};P$(Sf9,{TeleportRepoMismatchDialog:()=>oTA});function oTA(H){let $=hf9.c(18),{targetRepo:q,initialPaths:K,onSelectPath:_,onCancel:A}=H,[z,Y]=RZ.useState(K),[f,O]=RZ.useState(null),[M,j]=RZ.useState(!1),w;if($[0]!==z||$[1]!==A||$[2]!==_||$[3]!==q)w=async(G)=>{if(G==="cancel"){A();return}if(j(!0),O(null),await Z39(G,q)){_(G);return}G39(q,G);let Z=z.filter((V)=>V!==G);Y(Z),j(!1),O(`${l5(G)} no longer contains the correct repository. Select another path.`)},$[0]=z,$[1]=A,$[2]=_,$[3]=q,$[4]=w;else w=$[4];let D=w,J;if($[5]!==z){let G;if($[7]===Symbol.for("react.memo_cache_sentinel"))G={label:"Cancel",value:"cancel"},$[7]=G;else G=$[7];J=[...z.map(aTA),G],$[5]=z,$[6]=J}else J=$[6];let X=J,L;if($[8]!==z.length||$[9]!==f||$[10]!==D||$[11]!==X||$[12]!==q||$[13]!==M)L=z.length>0?RZ.default.createElement(RZ.default.Fragment,null,RZ.default.createElement(p,{flexDirection:"column",gap:1},RZ.default.createElement(t7,{error:f}),RZ.default.createElement(k,null,"Open Claude Code in ",RZ.default.createElement(k,{bold:!0},q),":")),M?RZ.default.createElement(p,null,RZ.default.createElement(S5,null),RZ.default.createElement(k,null," Validating repository\u2026")):RZ.default.createElement(K6,{options:X,onChange:(G)=>void D(G)})):RZ.default.createElement(p,{flexDirection:"column",gap:1},RZ.default.createElement(t7,{error:f}),RZ.default.createElement(k,{dimColor:!0},"Run claude --teleport from a checkout of ",q)),$[8]=z.length,$[9]=f,$[10]=D,$[11]=X,$[12]=q,$[13]=M,$[14]=L;else L=$[14];let P;if($[15]!==A||$[16]!==L)P=RZ.default.createElement(x8,{title:"Teleport to Repo",onCancel:A,color:"background"},L),$[15]=A,$[16]=L,$[17]=P;else P=$[17];return P}function aTA(H){return{label:RZ.default.createElement(k,null,"Use ",RZ.default.createElement(k,{bold:!0},l5(H))),value:H}}var hf9,RZ;var Rf9=T(()=>{iH();C9();eE$();Mw();BK();Ef();cP();hf9=B(H$(),1),RZ=B(XH(),1)});function F8$(H,$,q){if(!$||q?.strictMcpConfig||W1H())return H;let K=AZ6($);if(Object.keys(K).length===0)return H;let{allowed:_,blocked:A}=j$H(K);if(A.length>0)q?.onBlocked?.(A);return{..._,...H}}var CKq=T(()=>{kT();IP()});var uf9={};P$(uf9,{parsePrIdentifier:()=>bf9,ResumeConversation:()=>sTA,LiveBgMessage:()=>xf9});function bf9(H){let $=parseInt(H,10);if(!isNaN($)&&$>0)return $;let q=H.match(/(?:https?:\/\/)?[^/\s]+\/[^\s]+?\/(?:pull|pull-requests|-\/merge_requests)\/(\d+)/);if(q?.[1])return parseInt(q[1],10);return null}function sTA({commands:H,worktreePaths:$,initialTools:q,mcpClients:K,dynamicMcpConfig:_,debug:A,mainThreadAgentDefinition:z,autoConnectIdeFlag:Y,strictMcpConfig:f=!1,systemPrompt:O,appendSystemPrompt:M,initialSearchQuery:j,disableSlashCommands:w=!1,forkSession:D,filterByPr:J,thinkingConfig:X,onTurnComplete:L}){let{rows:P}=z6(),G=X$((YH)=>YH.agentDefinitions),W=X$((YH)=>YH.standaloneAgentContext),Z=X$((YH)=>YH.mainLoopModel),V=Mq(),[v,E]=fA.useState([]),[S,h]=fA.useState(!0),[C,I]=fA.useState(!1),[b,x]=fA.useState(!1),[R,m]=fA.useState(null),[Q,U]=fA.useState(null),[g,l]=fA.useState(null),d=fA.useRef(null),[r,t]=fA.useState(0),s=fA.useRef(0),HH=fA.useRef(0),o=fA.useMemo(()=>{let YH=v.filter((OH)=>!OH.isSidechain);if(J!==void 0){if(J===!0)YH=YH.filter((OH)=>OH.prNumber!==void 0);else if(typeof J==="number")YH=YH.filter((OH)=>OH.prNumber===J);else if(typeof J==="string"){let OH=bf9(J);if(OH!==null)YH=YH.filter((fH)=>fH.prNumber===OH)}}return YH},[v,J]),e=Q_H(),wH=fA.useMemo(()=>uH(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]);oOH(R||wH?null:"claude \xB7 resume"),fA.useEffect(()=>{_N$($).then((YH)=>{d.current=YH,s.current=YH.logs.length,E(YH.logs),h(!1),xH("screen_resume_conversation")}).catch((YH)=>{mH("screen_resume_conversation","resume_conversation_load_failed"),IH(YH),h(!1)})},[$]);let AH=fA.useRef(!1),$H=fA.useCallback((YH)=>{if(AH.current)return;let OH=d.current;if(!OH||OH.nextIndex>=OH.allStatLogs.length)return;AH.current=!0;let fH=!1;TRH(OH.allStatLogs,OH.nextIndex,YH).then((WH)=>{if(d.current!==OH)return;if(OH.nextIndex=WH.nextIndex,WH.logs.length>0){let JH=s.current;WH.logs.forEach((VH,DH)=>{VH.value=JH+DH}),E((VH)=>VH.concat(WH.logs)),s.current+=WH.logs.length}else if(OH.nextIndex<OH.allStatLogs.length)fH=!0}).finally(()=>{if(AH.current=!1,fH)$H(YH)})},[]),KH=fA.useCallback((YH)=>{h(!0);let OH=++HH.current,fH=d.current;d.current=null,t((JH)=>JH+1),(YH?Ck8():_N$($)).then((JH)=>{if(HH.current!==OH)return;d.current=JH,s.current=JH.logs.length,E(JH.logs)}).catch((JH)=>{if(HH.current!==OH)return;if(fH!==null)d.current=fH;E((VH)=>VH.slice()),IH(JH)}).finally(()=>{if(HH.current!==OH)return;h(!1)})},[$]),qH=fA.useCallback(()=>{let YH=!b;x(YH),KH(YH)},[b,KH]);function MH(){process.exit(1)}async function zH(YH){I(!0);let OH=performance.now(),fH=UT8(YH,b,$);if(fH.isCrossProject){if(!fH.isSameRepoWorktree){let VH=await KT(fH.command);if(VH)process.stdout.write(VH);l(fH.command);return}}if(!D){let VH=bY(YH);if(VH&&await y5H(VH)){U({sessionId:VH,projectPath:YH.projectPath});return}}let WH=!1,JH="load_error";try{let VH=await R8H(YH,void 0);if(!VH)throw c("tengu_session_resumed",{entrypoint:"picker",success:!1,failure_reason:"not_found_picker"}),WH=!0,Error("Failed to load conversation");if(JH="processing_error",VH.sessionId&&!D)b0(uW(VH.sessionId),YH.fullPath?Cf9.dirname(YH.fullPath):null),await TE$(),await Gc(),w18(VH.sessionId);else if(D&&VH.contentReplacements?.length)await OSH(VH.contentReplacements);let{agentDefinition:DH}=KIH(VH.agentSetting,z,G);V((UH)=>({...UH,agent:DH?.agentType}));let ZH=NE$(VH.messages,Z);if(ZH)zW(ZH),V((UH)=>UH.mainLoopModel===ZH?UH:{...UH,mainLoopModel:ZH});let RH=kE$(VH.agentName,VH.agentColor),hH=W?{...RH,...W}:RH;if(hH)V((UH)=>({...UH,standaloneAgentContext:hH}));if(LQ(hH?.name),t6H(D?{...VH,worktreeSession:void 0,bridgeSessionId:void 0,bridgeLastSeq:void 0}:VH),!D&&VH.bridgeSessionId)V((UH)=>UH.replBridgeEnabled&&!UH.replBridgeOutboundOnly?UH:{...UH,replBridgeEnabled:!0,replBridgeOutboundOnly:!1});if(!D){if(EE$(VH.worktreeSession),VH.sessionId)s6H()}c("tengu_session_resumed",{entrypoint:"picker",success:!0,resume_duration_ms:Math.round(performance.now()-OH)}),E([]),m({messages:VH.messages,fileHistorySnapshots:VH.fileHistorySnapshots,contentReplacements:VH.contentReplacements,agentName:VH.agentName,agentColor:VH.agentColor==="default"?void 0:VH.agentColor,mainThreadAgentDefinition:DH})}catch(VH){if(!WH)c("tengu_session_resumed",{entrypoint:"picker",success:!1,failure_reason:JH,error_name:c6(VH).name});throw IH(VH),VH}}if(Q)return fA.default.createElement(xf9,{...Q});if(g)return fA.default.createElement(tTA,{command:g});if(R)return fA.default.createElement(fKq,{debug:A,commands:H,initialTools:q,initialMessages:R.messages,initialFileHistorySnapshots:R.fileHistorySnapshots,initialContentReplacements:R.contentReplacements,initialAgentName:R.agentName,initialAgentColor:R.agentColor,mcpClients:K,dynamicMcpConfig:F8$(_??{},R.mainThreadAgentDefinition,{strictMcpConfig:f}),strictMcpConfig:f,systemPrompt:O,appendSystemPrompt:M,mainThreadAgentDefinition:R.mainThreadAgentDefinition,autoConnectIdeFlag:Y,disableSlashCommands:w,thinkingConfig:X,onTurnComplete:L});if(S&&(v.length===0||o.length===0))return fA.default.createElement(E1,{message:"Loading conversations\u2026"});if(C)return fA.default.createElement(E1,{message:"Resuming conversation\u2026"});return fA.default.createElement(CT8,{logs:o,maxHeight:P,onCancel:MH,onSelect:zH,onLogsChanged:e?()=>KH(b):void 0,onLoadMore:$H,initialSearchQuery:j,isLoading:S,reloadGeneration:r,showAllProjects:b,onToggleAllProjects:qH,onAgenticSearch:pT8})}function tTA(H){let $=bKq.c(8),{command:q}=H,K;if($[0]===Symbol.for("react.memo_cache_sentinel"))K=[],$[0]=K;else K=$[0];qO(eTA,100,K);let _;if($[1]===Symbol.for("react.memo_cache_sentinel"))_=fA.default.createElement(k,null,"This conversation is from a different directory."),$[1]=_;else _=$[1];let A;if($[2]===Symbol.for("react.memo_cache_sentinel"))A=fA.default.createElement(k,null,"To resume, run:"),$[2]=A;else A=$[2];let z;if($[3]!==q)z=fA.default.createElement(p,{flexDirection:"column"},A,fA.default.createElement(k,null," ",q)),$[3]=q,$[4]=z;else z=$[4];let Y;if($[5]===Symbol.for("react.memo_cache_sentinel"))Y=fA.default.createElement(k,{dimColor:!0},"(Command copied to clipboard)"),$[5]=Y;else Y=$[5];let f;if($[6]!==z)f=fA.default.createElement(p,{flexDirection:"column",gap:1},_,z,Y),$[6]=z,$[7]=f;else f=$[7];return f}function eTA(){process.exit(0)}function xf9(H){let $=bKq.c(11),{sessionId:q,projectPath:K}=H,_;if($[0]===Symbol.for("react.memo_cache_sentinel"))_=[],$[0]=_;else _=$[0];qO(HVA,100,_);let A;if($[1]!==K)A=K&&K!==J6()?`cd ${L4([K])} ${kr6()} `:"",$[1]=K,$[2]=A;else A=$[2];let z=A,Y;if($[3]===Symbol.for("react.memo_cache_sentinel"))Y=fA.default.createElement(k,null,"That session is still running as a background agent."),$[3]=Y;else Y=$[3];let f;if($[4]===Symbol.for("react.memo_cache_sentinel"))f=fA.default.createElement(k,null,"Open ",fA.default.createElement(k,{bold:!0},"claude agents")," to attach to it, or run:"),$[4]=f;else f=$[4];let O;if($[5]!==z||$[6]!==q)O=fA.default.createElement(p,{flexDirection:"column"},f,fA.default.createElement(k,null," ",z,"claude --resume ",q," --fork-session")),$[5]=z,$[6]=q,$[7]=O;else O=$[7];let M;if($[8]===Symbol.for("react.memo_cache_sentinel"))M=fA.default.createElement(k,{dimColor:!0},"to branch off a copy."),$[8]=M;else M=$[8];let j;if($[9]!==O)j=fA.default.createElement(p,{flexDirection:"column",gap:1},Y,O,M),$[9]=O,$[10]=j;else j=$[10];return j}function HVA(){process.exit(0)}var bKq,Cf9,fA;var mf9=T(()=>{UK();w$();AJ();Tr6();tR();q88();NM();iH();w8();y$();Kq();mW();vr6();CKq();VE$();i_();h5H();Nr6();r$();G$();P8();p6();yE$();p4();OKq();bKq=B(H$(),1),Cf9=require("path"),fA=B(XH(),1)});async function Bf9(H,$){let{InvalidSettingsDialog:q}=await Promise.resolve().then(() => (yf9(),Ef9));return SE(H,(K)=>LIH.default.createElement(q,{settingsErrors:$.settingsErrors,onContinue:()=>K(void 0),onFix:()=>K("fix"),onExit:$.onExit}))}async function pf9(H){let{TeleportResumeWrapper:$}=await Promise.resolve().then(() => (wo6(),Jx4));return SE(H,(q)=>LIH.default.createElement($,{onComplete:q,onCancel:()=>q(null),source:"cliArg"}))}async function Uf9(H,$){let{TeleportRepoMismatchDialog:q}=await Promise.resolve().then(() => (Rf9(),Sf9));return SE(H,(K)=>LIH.default.createElement(q,{targetRepo:$.targetRepo,initialPaths:$.initialPaths,onSelectPath:K,onCancel:()=>K(null)}))}async function Ff9(H,$,q,K){let[_,{ResumeConversation:A},{App:z}]=await Promise.all([q,Promise.resolve().then(() => (mf9(),uf9)),Promise.resolve().then(() => (O$q(),f$q))]);await XIH(H,LIH.default.createElement(z,{getFpsMetrics:$.getFpsMetrics,stats:$.stats,initialState:$.initialState},LIH.default.createElement(aD,null,LIH.default.createElement(A,{...K,worktreePaths:_}))))}var LIH;var Qf9=T(()=>{IKq();jp();LIH=B(XH(),1)});function gf9(){}function qVA(H){return`# Batch: Parallel Work Orchestration
12447
12447
 
12448
12448
  You are orchestrating a large, parallelizable change across this codebase.
@@ -23926,7 +23926,7 @@ Error: sandbox required but unavailable: ${X}
23926
23926
  `),N("runHeadless: no result message returned from query",{level:"error"}),E9(1);return}switch(Q.subtype){case"success":q7(Q.result.endsWith(`
23927
23927
  `)?Q.result:Q.result+`
23928
23928
  `);break;case"error_during_execution":q7("Execution error");break;case"error_max_turns":q7(`Error: Reached max turns (${f.maxTurns})`);break;case"error_max_budget_usd":q7(`Error: Exceeded USD budget (${f.maxBudgetUsd})`);break;case"error_max_structured_output_retries":q7("Error: Failed to provide valid structured output after maximum retries")}}if(Og6(),Xe$())await bNA.drainPendingExtraction();await se6();let l=J instanceof jy$&&J.permanentCloseCode!==void 0;if(w&&Q?.type!=="result"){let d;if(l)d="transport closed permanently";else if(U===0)d="zero messages drained \u2014 input stream ended before any output";else if(!g)d="input stream ended before system/init was emitted";else d="input stream ended without a result message";process.stderr.write(`SDKStartup: exiting without result: ${d} (last_phase=${j}, drained=${U}, exit=${l?1:0})
23929
- `)}E9(Q?.type==="result"&&Q?.is_error||l?1:0)}function BJ9(H,$,q,K,_,A,z,Y,f,O,M,j,w,D){let J=!1,X,L=!1,P=D,G,W=!1,Z=!1,V=(V$)=>V$.agentId===void 0,v=null,E,S=U4(500),h=H.outbound;if(j.outputFormat==="stream-json"&&j.sessionMirror)Le6((V$,k$)=>{H.write({type:"transcript_mirror",filePath:V$,entries:k$})});let C=()=>{if(V8("info","shutdown_signal",{signal:"SIGINT"}),E&&!E.signal.aborted)E.abort();S.abort(),$7(0)};process.on("SIGINT",C),aK(async()=>{if(X&&!E?.signal.aborted&&!L)c("tengu_sdk_result",{subtype:"terminated",is_error:!0,duration_ms:Date.now()-X,run_phase:G??"init",exit_code:process.exitCode}),L=!0,X=void 0;let V$={};for(let k$ of iL8(Y()))if(BM(k$))V$[k$.type]=(V$[k$.type]??0)+1;V8("info","run_state_at_shutdown",{run_active:J,run_phase:G,worker_status:H.sessionState.getState(),internal_events_pending:H.internalEventsPending,bg_tasks:V$})}),H.sessionState.onPermissionModeChanged=(V$)=>{if(V$==="default"||V$==="acceptEdits"||V$==="bypassPermissions"||V$==="plan"||V$==="auto"||V$==="dontAsk")h.enqueue({type:"system",subtype:"status",status:null,permissionMode:V$,uuid:DJ.randomUUID(),session_id:R$()})};let I=new Set,b={abortController:null,inflightPromise:null,lastEmitted:null,pendingSuggestion:null,pendingLastEmittedEntry:null},x;if(j.enableAuthStatus)x=o0.getInstance().subscribe((k$)=>{h.enqueue({type:"auth_status",isAuthenticating:k$.isAuthenticating,output:k$.output,error:k$.error,uuid:DJ.randomUUID(),session_id:R$()})});let R=(V$)=>{let k$=bb4(V$);if(k$)h.enqueue({type:"rate_limit_event",rate_limit_info:k$,uuid:DJ.randomUUID(),session_id:R$()})};VMH.add(R);let m=_;function Q(V$,k$){let _H=0,GH=0,NH=0,vH=new Set(k$.filter((kH)=>kH.mcpInfo&&!kH.name.startsWith("mcp__")).map((kH)=>kH.name));for(let kH=V$;kH<m.length;kH++){let EH=m[kH];if(EH?.type!=="assistant")continue;for(let tH of EH.message.content){if(tH.type!=="tool_use")continue;if(_H++,tH.name.startsWith("mcp__")||vH.has(tH.name))GH++;else if(tH.name===h3)NH++}}return{tool_use_count:_H,mcp_tool_calls:GH,toolsearch_calls:NH,builtin_tool_calls:_H-GH-NH}}let U=msH(_,c8$.cwd(),cB);Yz6("messages",()=>({entries:m.length})),Yz6("file_state_cache",()=>({entries:U.size,bytes:U.calculatedSize}));let g=new Map,l=_XH(KN$()??wG$(_,K),P6H),d=ib(cB),r=process.env.CLAUDE_CODE_RESUME_INTERRUPTED_TURN;if(w&&w.kind!=="none"&&r)N(`[print.ts] Auto-resuming interrupted turn (kind: ${w.kind})`),i2$(m,w.message),SM({mode:"prompt",value:w.message.message.content,uuid:DJ.randomUUID()});let s=DeH().map((V$)=>{let k$=V$.value===null?"default":V$.value,_H=k$==="default"?gX():n7(k$),GH=SW(_H),NH=k18(_H),vH=pw(V$.value),kH=vUH(_H);return{value:k$,displayName:V$.label,description:V$.description,...GH&&{supportsEffort:!0,supportedEffortLevels:UV.filter((EH)=>{if(EH==="ultra")return!1;if(EH==="max"&&!TgH(_H))return!1;if(EH==="xhigh"&&!XM$(_H))return!1;return!0})},...NH&&{supportsAdaptiveThinking:!0},...vH&&{supportsFastMode:!0},...kH&&{supportsAutoMode:!0}}}),HH=j.userSpecifiedModel,o=j.thinkingConfig&&j.thinkingConfig.type!=="disabled"?j.thinkingConfig.display:void 0,e=j.thinkingConfig;function wH(V$,k$){let _H=mJ4(V$,aC(k$));m.push(..._H);for(let GH of _H)if(typeof GH.message.content==="string"&&GH.message.content.includes(`<${jW}>`))h.enqueue({type:"user",message:GH.message,session_id:R$(),parent_tool_use_id:null,uuid:GH.uuid,timestamp:GH.timestamp,isReplay:!0})}let AH=[],$H=[],KH=new WeakSet;function qH(V$){for(let k$ of V$){if(k$.type!=="connected"||KH.has(k$.client))continue;if(k$.config.type==="sdk")continue;let _H=k$.name;try{k$.client.setRequestHandler(XKH,async(GH,NH)=>{M8(_H,`Elicitation request received in print mode: ${CH(GH)}`);let vH=GH.params.mode==="url"?"url":"form";c("tengu_mcp_elicitation_shown",{mode:vH});let kH=await m0$(_H,GH.params,NH.signal);if(kH)return M8(_H,`Elicitation resolved by hook: ${CH(kH)}`),c("tengu_mcp_elicitation_response",{mode:vH,action:kH.action}),kH;let EH="url"in GH.params?GH.params.url:void 0,tH="requestedSchema"in GH.params?GH.params.requestedSchema:void 0,oH="elicitationId"in GH.params?GH.params.elicitationId:void 0,W$=CJ9(GH.params._meta),N$=await H.handleElicitation(_H,GH.params.message,tH,NH.signal,vH,EH,oH,W$),Z8=await B0$(_H,N$,NH.signal,vH,oH);return c("tengu_mcp_elicitation_response",{mode:vH,action:Z8.action}),Z8}),k$.client.setNotificationHandler(J4$,(GH)=>{let{elicitationId:NH}=GH.params;M8(_H,`Elicitation completion notification: ${NH}`),Ud({message:`MCP server "${_H}" confirmed elicitation ${NH} complete`,notificationType:"elicitation_complete"}),h.enqueue({type:"system",subtype:"elicitation_complete",mcp_server_name:_H,elicitation_id:NH,uuid:DJ.randomUUID(),session_id:R$()})}),KH.add(k$.client)}catch{}}}let MH=Y().mcp.clients;qH(MH),O(()=>{let V$=Y().mcp.clients;if(V$===MH)return;MH=V$,qH(V$)});async function zH(){let V$=new Set(Object.keys(z)),k$=new Set(AH.map((EH)=>EH.name)),_H=Array.from(V$).some((EH)=>!k$.has(EH)),GH=Array.from(k$).some((EH)=>!V$.has(EH)),NH=AH.some((EH)=>EH.type==="pending"),vH=AH.some((EH)=>EH.type==="failed");if(_H||GH||NH||vH){for(let oH of AH)if(!V$.has(oH.name)){if(oH.type==="connected")await oH.cleanup()}let EH=await Vj4(z,(oH,W$)=>H.sendMcpMessage(oH,W$));AH=EH.clients,$H=EH.tools;let tH=AK([...k$,...V$]);f((oH)=>({...oH,mcp:{...oH.mcp,tools:[...oH.mcp.tools.filter((W$)=>!tH.some((N$)=>W$.name.startsWith(km(N$)))),...$H]}})),a$7(AH),WJ9(AH)}}zH();let YH={clients:[],tools:[],configs:{},policyRules:new Set},OH=uH(process.env.CLAUDE_CODE_REMOTE)?Object.fromEntries(Y().mcp.clients.filter((V$)=>V$.config.scope==="dynamic"&&!("pluginSource"in V$.config)&&n06(V$.config)).map((V$)=>[V$.name,V$.config])):{};kCH(()=>[...Y().mcp.clients,...AH,...YH.clients]);let fH=q,WH=M,JH,VH=(V$)=>{let k$=sd(V$.toolPermissionContext,V$.mcp.tools,{skillTools:V$.skillTools}),_H=$X(UH$([...K,...$H,...YH.tools],k$,V$.toolPermissionContext.mode),"name"),GH=WS();if(JH=void 0,GH){let vH=WH.find((kH)=>kH.agentType===GH);if(vH){let kH=Nr(vH,_H,!1,!0);_H=kH.resolvedTools,JH=kH.allowedAgentTypes}}if(j.permissionPromptToolName)_H=_H.filter((vH)=>!Z1(vH,j.permissionPromptToolName));let NH=LS$();if(NH&&!j.jsonSchema){let vH=WdH(NH);if("tool"in vH)_H=[..._H,vH.tool]}return _H},DH=uH(process.env.CLAUDE_CODE_REMOTE)?process.env.CLAUDE_CODE_SYSTEM_PROMPT_GB_FEATURE:void 0,ZH=()=>{if(!DH)return j.systemPrompt;let V$=v$(DH,"");return typeof V$==="string"&&V$.length>0?V$:j.systemPrompt},RH=null,hH=0;function UH(){if(!RH)return;let V$=Math.min(hH,m.length),k$=m.slice(V$).filter((_H)=>_H.type==="user"||_H.type==="assistant");if(hH=m.length,k$.length>0)RH.writeMessages(k$)}let FH=Promise.resolve({response:{added:[],removed:[],errors:{}},sdkServersChanged:!1});function BH(V$,{authoritative:k$,caller:_H}){let GH=async()=>{let NH=new Set(AH.map((tH)=>tH.name)),vH={...YH,configs:{...OH,...YH.configs}},kH=V$;if(!k$&&Object.keys(OH).length>0){let tH={};for(let[oH,W$]of Object.entries(OH)){if(oH in V$)continue;let{scope:N$,...Z8}=W$;if(n06(Z8))tH[oH]=Z8}kH={...tH,...V$}}let EH=await dJ9(kH,{configs:z,clients:AH,tools:$H},vH,f,Y,_H);if(k$){let tH=new Set(Object.keys(EH.newDynamicState.configs));OH=Object.fromEntries(Object.entries(V$).filter(([oH])=>tH.has(oH)).map(([oH,W$])=>[oH,{...W$,scope:"dynamic"}]))}for(let tH of Object.keys(z))delete z[tH];if(Object.assign(z,EH.newSdkState.configs),AH=EH.newSdkState.clients,$H=EH.newSdkState.tools,YH=EH.newDynamicState,EH.sdkServersChanged){let tH=new Set(AH.map((W$)=>W$.name)),oH=AK([...NH,...tH]);f((W$)=>({...W$,mcp:{...W$.mcp,tools:[...W$.mcp.tools.filter((N$)=>!oH.some((Z8)=>N$.name.startsWith(km(Z8)))),...$H]}}))}return{response:EH.response,sdkServersChanged:EH.sdkServersChanged}};return FH=FH.then(GH,GH),FH}function aH(){let V$=Y(),k$=V$.mcp.clients,_H=$X([...V$.mcp.tools,...YH.tools],"name"),GH=new Set([...k$.map((NH)=>NH.name),...AH.map((NH)=>NH.name)]);return[...k$,...AH,...YH.clients.filter((NH)=>!GH.has(NH.name))].map((NH)=>{let vH;if(NH.config.type==="sse"||NH.config.type==="http")vH={type:NH.config.type,url:NH.config.url,headers:NH.config.headers,oauth:NH.config.oauth};else if(NH.config.type==="claudeai-proxy")vH={type:"claudeai-proxy",url:NH.config.url,id:NH.config.id};else if(NH.config.type==="stdio"||NH.config.type===void 0)vH={type:"stdio",command:NH.config.command,args:NH.config.args};let kH=NH.type==="connected"?M$H(_H,NH.name).map((tH)=>({name:tH.mcpInfo?.toolName??tH.name,annotations:{readOnly:tH.isReadOnly({})||void 0,destructive:tH.isDestructive?.({})||void 0,openWorld:tH.isOpenWorld?.({})||void 0}})):void 0,EH;if(NH.type==="connected"&&NH.capabilities.experimental){let tH={...NH.capabilities.experimental};if(tH["claude/channel"]&&(false))delete tH["claude/channel"];if(Object.keys(tH).length>0)EH={experimental:tH}}return{name:NH.name,status:NH.type,serverInfo:NH.type==="connected"?NH.serverInfo:void 0,error:NH.type==="failed"?NH.error:void 0,config:vH,scope:NH.config.scope,tools:kH,capabilities:EH}})}async function Y$(V$){try{await Promise.all([Promise.resolve(),YuH("headless_managed_settings_wait",()=>x_8())])}catch(_H){IH(_H)}let k$=!1;try{let _H=new Set(Object.keys((await w$H()).servers));if(k$=await VJ9(V$),k$){let GH=performance.now();if(await A$(_H,"plugin_install_diff"),uH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))GE("plugin_mcp_reconcile_ms",performance.now()-GH)}}catch(_H){N(`Headless plugin install / MCP reconcile failed: ${TH(_H)}`,{level:"error"})}return k$}let QH=null,bH=performance.now(),eH=tEH()?QD9():null,f$=null,j$;if(!_1())if(uH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))j$=j.outputFormat==="stream-json"?(V$)=>void H.write({type:"system",subtype:"plugin_install",status:V$.status,name:"name"in V$?V$.name:void 0,error:"error"in V$?V$.error:void 0,uuid:DJ.randomUUID(),session_id:R$()}):void 0,j$?.({status:"started"}),QH=Y$((V$)=>j$?.(V$));else f$=bJ9(Y$);let lH=Y().mcp.clients.length,u$=L7q(Y),o$=XJ9(()=>!J);async function cH(){let{agentDefinitions:V$}=await dLH(f);fH=WRH(await rW(c8$.cwd()));let k$=WH.filter((_H)=>_H.source==="flagSettings");WH=[...V$.allAgents,...k$]}async function A$(V$,k$){let{servers:_H}=await w$H(),GH={};for(let[kH,EH]of Object.entries(_H)){if(V$?.has(kH)&&!(kH in YH.configs))continue;let tH=EH.type;if(tH===void 0||tH==="stdio"||tH==="sse"||tH==="http"||tH==="sdk")GH[kH]=EH}for(let[kH,EH]of Object.entries(z))if(EH.type==="sdk"&&!(kH in GH))GH[kH]=EH;let{response:NH,sdkServersChanged:vH}=await BH(GH,{authoritative:!1,caller:k$});if(vH)zH();N(`Headless MCP refresh: added=${NH.added.length}, removed=${NH.removed.length}`)}let T$=V8$.subscribe(()=>{So(),rW(c8$.cwd()).then((V$)=>{fH=WRH(V$)})});C9H(()=>{if(E&&f87("now").length>0)E.abort("interrupt")});let B$=async()=>{if(J)return;J=!0,G=void 0,H.sessionState.notifyStateChanged("running"),H.resetStallWatchdog(),o$.stop(),iP("run_entry"),GE("first_message_read_ms",performance.now()),QU4();try{if(await zH(),iP("after_updateSdkMcp"),eH){let _H=pD9()-(performance.now()-bH),GH=r8(Math.max(0,_H)).then(()=>"timeout");if(await Promise.race([eH,GH])==="timeout")c("tengu_skills_sync_wait_timeout",{}),A7q()}if(QH){let _H=performance.now(),GH=parseInt(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS||"",10);if(GH>0){let vH=r8(GH).then(()=>"timeout");if(await Promise.race([QH,vH])==="timeout")N(`CLAUDE_CODE_SYNC_PLUGIN_INSTALL: plugin installation timed out after ${GH}ms`,{level:"error"}),c("tengu_sync_plugin_install_timeout",{timeout_ms:GH})}else await QH;GE("plugin_install_ms",performance.now()-_H),QH=null;try{await cH()}catch(vH){IH(vH)}let{setupPluginHookHotReload:NH}=await Promise.resolve().then(() => (PyH(),oC6));NH()}}finally{j$?.({status:"completed"}),j$=void 0}if(uH(process.env.CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH)&&f$?.needsRefresh){f$.needsRefresh=!1;try{await cH()}catch(_H){IH(_H)}}let k$=pNA(h,uH(process.env.CLAUDE_CODE_REMOTE));try{let _H,GH=!1,NH=!0,vH=(tH)=>V(tH)&&tH.mode==="orphaned-permission",kH=()=>{let tH=XdH(vH);if(tH)return N(`drainCommandQueue: prioritizing orphaned-permission for toolUseID=${tH.orphanedPermission?.permissionResult?.toolUseID??"<unknown>"}`),tH;return XdH(V)},EH=async()=>{while(_H=kH()){if(_H.mode!=="prompt"&&_H.mode!=="orphaned-permission"&&_H.mode!=="task-notification")throw Error("only prompt commands are supported in streaming mode");let tH=[_H];if(_H.mode==="prompt"){while(uJ9(_H,KvH(V)))tH.push(XdH(V));if(tH.length>1)_H={..._H,value:xJ9(tH.map((e$)=>e$.value)),uuid:tH.findLast((e$)=>e$.uuid)?.uuid??_H.uuid,fileAttachments:tH.flatMap((e$)=>e$.fileAttachments??[]),clientPlatform:tH.find((e$)=>e$.clientPlatform)?.clientPlatform??_H.clientPlatform}}let oH=tH.map((e$)=>e$.uuid).filter((e$)=>e$!==void 0);if(j.replayUserMessages&&tH.length>1){for(let e$ of tH)if(e$.uuid&&e$.uuid!==_H.uuid)h.enqueue({type:"user",message:{role:"user",content:e$.value},session_id:R$(),parent_tool_use_id:null,uuid:e$.uuid,isReplay:!0,...e$.fileAttachments?.length&&{file_attachments:e$.fileAttachments},...e$.origin&&{origin:e$.origin}})}if(NH){NH=!1,iP("before_mcp_prewait");let e$=performance.now();if(Y().mcp.clients.length>lH)await L7q(Y,void 0,lH>0);else await u$;GE("mcp_prewait_ms",performance.now()-e$),iP("after_mcp_prewait")}let W$=Y(),N$=[...W$.mcp.clients,...AH,...YH.clients];qH(N$);for(let e$ of N$)J7q(e$);let Z8=VH(W$);for(let e$ of oH)H.onCommandLifecycle?.(e$,"started");if(_H.mode==="task-notification"){let e$=typeof _H.value==="string"?_H.value:"",b8=e$.match(/<task-id>([^<]+)<\/task-id>/),g6=e$.match(/<tool-use-id>([^<]+)<\/tool-use-id>/),q8=e$.match(/<output-file>([^<]+)<\/output-file>/),E8=e$.match(/<status>([^<]+)<\/status>/),N6=e$.match(/<summary>([^<]+)<\/summary>/),a8=(cA)=>cA==="completed"||cA==="failed"||cA==="stopped"||cA==="killed",Xq=E8?.[1],H4=a8(Xq)?Xq==="killed"?"stopped":Xq:"completed",$1=e$.match(/<usage>([\s\S]*?)<\/usage>/)?.[1]??"",wq=$1.match(/<total_tokens>(\d+)<\/total_tokens>/),B5=$1.match(/<tool_uses>(\d+)<\/tool_uses>/),hK=$1.match(/<duration_ms>(\d+)<\/duration_ms>/);if(E8)h.enqueue({type:"system",subtype:"task_notification",task_id:b8?.[1]??"",tool_use_id:g6?.[1],status:H4,output_file:q8?.[1]??"",summary:N6?.[1]??"",usage:wq&&B5?{total_tokens:parseInt(wq[1],10),tool_uses:parseInt(B5[1],10),duration_ms:hK?parseInt(hK[1],10):0}:void 0,session_id:R$(),uuid:DJ.randomUUID()})}let W8=_H.value;if(H instanceof jy$&&_H.mode==="prompt")c("tengu_bridge_message_received",{is_repl:!1});if(_H.shouldQuery!==!1){if(b.abortController?.abort(),b.abortController=null,b.pendingSuggestion=null,b.pendingLastEmittedEntry=null,b.lastEmitted&&_H.mode==="prompt"){let e$=typeof W8==="string"?W8:W8.find((b8)=>b8.type==="text")?.text;if(typeof e$==="string")ZO7(b.lastEmitted.text,e$,b.lastEmitted.emittedAt,b.lastEmitted.promptId,b.lastEmitted.generationRequestId);b.lastEmitted=null}}E=U4();let j6=void 0;iP("before_ask"),RT$();let C8=_H;if(C8.uuid!==void 0&&K87(C8.uuid)){H.onCommandLifecycle?.(C8.uuid,"completed");continue}let T6=typeof W8==="string"?W8:f9(W8,`
23929
+ `)}E9(Q?.type==="result"&&Q?.is_error||l?1:0)}function BJ9(H,$,q,K,_,A,z,Y,f,O,M,j,w,D){let J=!1,X,L=!1,P=D,G,W=!1,Z=!1,V=(V$)=>V$.agentId===void 0,v=null,E,S=U4(500),h=H.outbound;if(j.outputFormat==="stream-json"&&j.sessionMirror)Le6((V$,k$)=>{H.write({type:"transcript_mirror",filePath:V$,entries:k$})});let C=()=>{if(V8("info","shutdown_signal",{signal:"SIGINT"}),E&&!E.signal.aborted)E.abort();S.abort(),$7(0)};process.on("SIGINT",C),aK(async()=>{if(X&&!E?.signal.aborted&&!L)c("tengu_sdk_result",{subtype:"terminated",is_error:!0,duration_ms:Date.now()-X,run_phase:G??"init",exit_code:process.exitCode}),L=!0,X=void 0;let V$={};for(let k$ of iL8(Y()))if(BM(k$))V$[k$.type]=(V$[k$.type]??0)+1;V8("info","run_state_at_shutdown",{run_active:J,run_phase:G,worker_status:H.sessionState.getState(),internal_events_pending:H.internalEventsPending,bg_tasks:V$})}),H.sessionState.onPermissionModeChanged=(V$)=>{if(V$==="default"||V$==="acceptEdits"||V$==="bypassPermissions"||V$==="plan"||V$==="auto"||V$==="dontAsk")h.enqueue({type:"system",subtype:"status",status:null,permissionMode:V$,uuid:DJ.randomUUID(),session_id:R$()})};let I=new Set,b={abortController:null,inflightPromise:null,lastEmitted:null,pendingSuggestion:null,pendingLastEmittedEntry:null},x;if(j.enableAuthStatus)x=o0.getInstance().subscribe((k$)=>{h.enqueue({type:"auth_status",isAuthenticating:k$.isAuthenticating,output:k$.output,error:k$.error,uuid:DJ.randomUUID(),session_id:R$()})});let R=(V$)=>{let k$=bb4(V$);if(k$)h.enqueue({type:"rate_limit_event",rate_limit_info:k$,uuid:DJ.randomUUID(),session_id:R$()})};VMH.add(R);let m=_;function Q(V$,k$){let _H=0,GH=0,NH=0,vH=new Set(k$.filter((kH)=>kH.mcpInfo&&!kH.name.startsWith("mcp__")).map((kH)=>kH.name));for(let kH=V$;kH<m.length;kH++){let EH=m[kH];if(EH?.type!=="assistant")continue;for(let tH of EH.message.content){if(tH.type!=="tool_use")continue;if(_H++,tH.name.startsWith("mcp__")||vH.has(tH.name))GH++;else if(tH.name===h3)NH++}}return{tool_use_count:_H,mcp_tool_calls:GH,toolsearch_calls:NH,builtin_tool_calls:_H-GH-NH}}let U=msH(_,c8$.cwd(),cB);Yz6("messages",()=>({entries:m.length})),Yz6("file_state_cache",()=>({entries:U.size,bytes:U.calculatedSize}));let g=new Map,l=_XH(KN$()??wG$(_,K),P6H),d=ib(cB),r=process.env.CLAUDE_CODE_RESUME_INTERRUPTED_TURN;if(w&&w.kind!=="none"&&r)N(`[print.ts] Auto-resuming interrupted turn (kind: ${w.kind})`),i2$(m,w.message),SM({mode:"prompt",value:w.message.message.content,uuid:DJ.randomUUID()});let s=DeH().map((V$)=>{let k$=V$.value===null?"default":V$.value,_H=k$==="default"?gX():n7(k$),GH=SW(_H),NH=k18(_H),vH=pw(V$.value),kH=vUH(_H);return{value:k$,displayName:V$.label,description:V$.description,...GH&&{supportsEffort:!0,supportedEffortLevels:UV.filter((EH)=>{if(EH==="ultra")return!1;if(EH==="max"&&!TgH(_H))return!1;if(EH==="xhigh"&&!XM$(_H))return!1;return!0})},...NH&&{supportsAdaptiveThinking:!0},...vH&&{supportsFastMode:!0},...kH&&{supportsAutoMode:!0}}}),HH=j.userSpecifiedModel,o=j.thinkingConfig&&j.thinkingConfig.type!=="disabled"?j.thinkingConfig.display:void 0,e=j.thinkingConfig;function wH(V$,k$){let _H=mJ4(V$,aC(k$));m.push(..._H);for(let GH of _H)if(typeof GH.message.content==="string"&&GH.message.content.includes(`<${jW}>`))h.enqueue({type:"user",message:GH.message,session_id:R$(),parent_tool_use_id:null,uuid:GH.uuid,timestamp:GH.timestamp,isReplay:!0})}let AH=[],$H=[],KH=new WeakSet;function qH(V$){for(let k$ of V$){if(k$.type!=="connected"||KH.has(k$.client))continue;if(k$.config.type==="sdk")continue;let _H=k$.name;try{k$.client.setRequestHandler(XKH,async(GH,NH)=>{M8(_H,`Elicitation request received in print mode: ${CH(GH)}`);let vH=GH.params.mode==="url"?"url":"form";c("tengu_mcp_elicitation_shown",{mode:vH});let kH=await m0$(_H,GH.params,NH.signal);if(kH)return M8(_H,`Elicitation resolved by hook: ${CH(kH)}`),c("tengu_mcp_elicitation_response",{mode:vH,action:kH.action}),kH;let EH="url"in GH.params?GH.params.url:void 0,tH="requestedSchema"in GH.params?GH.params.requestedSchema:void 0,oH="elicitationId"in GH.params?GH.params.elicitationId:void 0,W$=CJ9(GH.params._meta),N$=await H.handleElicitation(_H,GH.params.message,tH,NH.signal,vH,EH,oH,W$),Z8=await B0$(_H,N$,NH.signal,vH,oH);return c("tengu_mcp_elicitation_response",{mode:vH,action:Z8.action}),Z8}),k$.client.setNotificationHandler(J4$,(GH)=>{let{elicitationId:NH}=GH.params;M8(_H,`Elicitation completion notification: ${NH}`),Ud({message:`MCP server "${_H}" confirmed elicitation ${NH} complete`,notificationType:"elicitation_complete"}),h.enqueue({type:"system",subtype:"elicitation_complete",mcp_server_name:_H,elicitation_id:NH,uuid:DJ.randomUUID(),session_id:R$()})}),KH.add(k$.client)}catch{}}}let MH=Y().mcp.clients;qH(MH),O(()=>{let V$=Y().mcp.clients;if(V$===MH)return;MH=V$,qH(V$)});async function zH(){let V$=new Set(Object.keys(z)),k$=new Set(AH.map((EH)=>EH.name)),_H=Array.from(V$).some((EH)=>!k$.has(EH)),GH=Array.from(k$).some((EH)=>!V$.has(EH)),NH=AH.some((EH)=>EH.type==="pending"),vH=AH.some((EH)=>EH.type==="failed");if(_H||GH||NH||vH){for(let oH of AH)if(!V$.has(oH.name)){if(oH.type==="connected")await oH.cleanup()}let EH=await Vj4(z,(oH,W$)=>H.sendMcpMessage(oH,W$));AH=EH.clients,$H=EH.tools;let tH=AK([...k$,...V$]);f((oH)=>({...oH,mcp:{...oH.mcp,tools:[...oH.mcp.tools.filter((W$)=>!tH.some((N$)=>W$.name.startsWith(km(N$)))),...$H]}})),a$7(AH),WJ9(AH)}}zH();let YH={clients:[],tools:[],configs:{},policyRules:new Set},OH=uH(process.env.CLAUDE_CODE_REMOTE)?Object.fromEntries(Y().mcp.clients.filter((V$)=>V$.config.scope==="dynamic"&&!("pluginSource"in V$.config)&&n06(V$.config)).map((V$)=>[V$.name,V$.config])):{};kCH(()=>[...Y().mcp.clients,...AH,...YH.clients]);let fH=q,WH=M,JH,VH=(V$)=>{let k$=sd(V$.toolPermissionContext,V$.mcp.tools,{skillTools:V$.skillTools}),_H=$X(UH$([...K,...$H,...YH.tools],k$,V$.toolPermissionContext.mode),"name"),GH=WS();if(JH=void 0,GH){let vH=WH.find((kH)=>kH.agentType===GH);if(vH){let kH=Nr(vH,_H,!1,!0);_H=kH.resolvedTools,JH=kH.allowedAgentTypes}}if(j.permissionPromptToolName)_H=_H.filter((vH)=>!Z1(vH,j.permissionPromptToolName));let NH=LS$();if(NH&&!j.jsonSchema){let vH=WdH(NH);if("tool"in vH)_H=[..._H,vH.tool]}return _H},DH=uH(process.env.CLAUDE_CODE_REMOTE)?process.env.CLAUDE_CODE_SYSTEM_PROMPT_GB_FEATURE:void 0,ZH=()=>{if(!DH)return j.systemPrompt;let V$=v$(DH,"");return typeof V$==="string"&&V$.length>0?V$:j.systemPrompt},RH=null,hH=0;function UH(){if(!RH)return;let V$=Math.min(hH,m.length),k$=m.slice(V$).filter((_H)=>_H.type==="user"||_H.type==="assistant");if(hH=m.length,k$.length>0)RH.writeMessages(k$)}let FH=Promise.resolve({response:{added:[],removed:[],errors:{}},sdkServersChanged:!1});function BH(V$,{authoritative:k$,caller:_H}){let GH=async()=>{let NH=new Set(AH.map((tH)=>tH.name)),vH={...YH,configs:{...OH,...YH.configs}},kH=V$;if(!k$&&Object.keys(OH).length>0){let tH={};for(let[oH,W$]of Object.entries(OH)){if(oH in V$)continue;let{scope:N$,...Z8}=W$;if(n06(Z8))tH[oH]=Z8}kH={...tH,...V$}}let EH=await dJ9(kH,{configs:z,clients:AH,tools:$H},vH,f,Y,_H);if(k$){let tH=new Set(Object.keys(EH.newDynamicState.configs));OH=Object.fromEntries(Object.entries(V$).filter(([oH])=>tH.has(oH)).map(([oH,W$])=>[oH,{...W$,scope:"dynamic"}]))}for(let tH of Object.keys(z))delete z[tH];if(Object.assign(z,EH.newSdkState.configs),AH=EH.newSdkState.clients,$H=EH.newSdkState.tools,YH=EH.newDynamicState,EH.sdkServersChanged){let tH=new Set(AH.map((W$)=>W$.name)),oH=AK([...NH,...tH]);f((W$)=>({...W$,mcp:{...W$.mcp,tools:[...W$.mcp.tools.filter((N$)=>!oH.some((Z8)=>N$.name.startsWith(km(Z8)))),...$H]}}))}return{response:EH.response,sdkServersChanged:EH.sdkServersChanged}};return FH=FH.then(GH,GH),FH}function aH(){let V$=Y(),k$=V$.mcp.clients,_H=$X([...V$.mcp.tools,...YH.tools],"name"),GH=new Set([...k$.map((NH)=>NH.name),...AH.map((NH)=>NH.name)]);return[...k$,...AH,...YH.clients.filter((NH)=>!GH.has(NH.name))].map((NH)=>{let vH;if(NH.config.type==="sse"||NH.config.type==="http")vH={type:NH.config.type,url:NH.config.url,headers:NH.config.headers,oauth:NH.config.oauth};else if(NH.config.type==="claudeai-proxy")vH={type:"claudeai-proxy",url:NH.config.url,id:NH.config.id};else if(NH.config.type==="stdio"||NH.config.type===void 0)vH={type:"stdio",command:NH.config.command,args:NH.config.args};let kH=NH.type==="connected"?M$H(_H,NH.name).map((tH)=>({name:tH.mcpInfo?.toolName??tH.name,annotations:{readOnly:tH.isReadOnly({})||void 0,destructive:tH.isDestructive?.({})||void 0,openWorld:tH.isOpenWorld?.({})||void 0}})):void 0,EH;if(NH.type==="connected"&&NH.capabilities.experimental){let tH={...NH.capabilities.experimental};if(tH["claude/channel"]&&(!OyH()||!GC6(NH.config.pluginSource)))delete tH["claude/channel"];if(Object.keys(tH).length>0)EH={experimental:tH}}return{name:NH.name,status:NH.type,serverInfo:NH.type==="connected"?NH.serverInfo:void 0,error:NH.type==="failed"?NH.error:void 0,config:vH,scope:NH.config.scope,tools:kH,capabilities:EH}})}async function Y$(V$){try{await Promise.all([Promise.resolve(),YuH("headless_managed_settings_wait",()=>x_8())])}catch(_H){IH(_H)}let k$=!1;try{let _H=new Set(Object.keys((await w$H()).servers));if(k$=await VJ9(V$),k$){let GH=performance.now();if(await A$(_H,"plugin_install_diff"),uH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))GE("plugin_mcp_reconcile_ms",performance.now()-GH)}}catch(_H){N(`Headless plugin install / MCP reconcile failed: ${TH(_H)}`,{level:"error"})}return k$}let QH=null,bH=performance.now(),eH=tEH()?QD9():null,f$=null,j$;if(!_1())if(uH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))j$=j.outputFormat==="stream-json"?(V$)=>void H.write({type:"system",subtype:"plugin_install",status:V$.status,name:"name"in V$?V$.name:void 0,error:"error"in V$?V$.error:void 0,uuid:DJ.randomUUID(),session_id:R$()}):void 0,j$?.({status:"started"}),QH=Y$((V$)=>j$?.(V$));else f$=bJ9(Y$);let lH=Y().mcp.clients.length,u$=L7q(Y),o$=XJ9(()=>!J);async function cH(){let{agentDefinitions:V$}=await dLH(f);fH=WRH(await rW(c8$.cwd()));let k$=WH.filter((_H)=>_H.source==="flagSettings");WH=[...V$.allAgents,...k$]}async function A$(V$,k$){let{servers:_H}=await w$H(),GH={};for(let[kH,EH]of Object.entries(_H)){if(V$?.has(kH)&&!(kH in YH.configs))continue;let tH=EH.type;if(tH===void 0||tH==="stdio"||tH==="sse"||tH==="http"||tH==="sdk")GH[kH]=EH}for(let[kH,EH]of Object.entries(z))if(EH.type==="sdk"&&!(kH in GH))GH[kH]=EH;let{response:NH,sdkServersChanged:vH}=await BH(GH,{authoritative:!1,caller:k$});if(vH)zH();N(`Headless MCP refresh: added=${NH.added.length}, removed=${NH.removed.length}`)}let T$=V8$.subscribe(()=>{So(),rW(c8$.cwd()).then((V$)=>{fH=WRH(V$)})});C9H(()=>{if(E&&f87("now").length>0)E.abort("interrupt")});let B$=async()=>{if(J)return;J=!0,G=void 0,H.sessionState.notifyStateChanged("running"),H.resetStallWatchdog(),o$.stop(),iP("run_entry"),GE("first_message_read_ms",performance.now()),QU4();try{if(await zH(),iP("after_updateSdkMcp"),eH){let _H=pD9()-(performance.now()-bH),GH=r8(Math.max(0,_H)).then(()=>"timeout");if(await Promise.race([eH,GH])==="timeout")c("tengu_skills_sync_wait_timeout",{}),A7q()}if(QH){let _H=performance.now(),GH=parseInt(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS||"",10);if(GH>0){let vH=r8(GH).then(()=>"timeout");if(await Promise.race([QH,vH])==="timeout")N(`CLAUDE_CODE_SYNC_PLUGIN_INSTALL: plugin installation timed out after ${GH}ms`,{level:"error"}),c("tengu_sync_plugin_install_timeout",{timeout_ms:GH})}else await QH;GE("plugin_install_ms",performance.now()-_H),QH=null;try{await cH()}catch(vH){IH(vH)}let{setupPluginHookHotReload:NH}=await Promise.resolve().then(() => (PyH(),oC6));NH()}}finally{j$?.({status:"completed"}),j$=void 0}if(uH(process.env.CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH)&&f$?.needsRefresh){f$.needsRefresh=!1;try{await cH()}catch(_H){IH(_H)}}let k$=pNA(h,uH(process.env.CLAUDE_CODE_REMOTE));try{let _H,GH=!1,NH=!0,vH=(tH)=>V(tH)&&tH.mode==="orphaned-permission",kH=()=>{let tH=XdH(vH);if(tH)return N(`drainCommandQueue: prioritizing orphaned-permission for toolUseID=${tH.orphanedPermission?.permissionResult?.toolUseID??"<unknown>"}`),tH;return XdH(V)},EH=async()=>{while(_H=kH()){if(_H.mode!=="prompt"&&_H.mode!=="orphaned-permission"&&_H.mode!=="task-notification")throw Error("only prompt commands are supported in streaming mode");let tH=[_H];if(_H.mode==="prompt"){while(uJ9(_H,KvH(V)))tH.push(XdH(V));if(tH.length>1)_H={..._H,value:xJ9(tH.map((e$)=>e$.value)),uuid:tH.findLast((e$)=>e$.uuid)?.uuid??_H.uuid,fileAttachments:tH.flatMap((e$)=>e$.fileAttachments??[]),clientPlatform:tH.find((e$)=>e$.clientPlatform)?.clientPlatform??_H.clientPlatform}}let oH=tH.map((e$)=>e$.uuid).filter((e$)=>e$!==void 0);if(j.replayUserMessages&&tH.length>1){for(let e$ of tH)if(e$.uuid&&e$.uuid!==_H.uuid)h.enqueue({type:"user",message:{role:"user",content:e$.value},session_id:R$(),parent_tool_use_id:null,uuid:e$.uuid,isReplay:!0,...e$.fileAttachments?.length&&{file_attachments:e$.fileAttachments},...e$.origin&&{origin:e$.origin}})}if(NH){NH=!1,iP("before_mcp_prewait");let e$=performance.now();if(Y().mcp.clients.length>lH)await L7q(Y,void 0,lH>0);else await u$;GE("mcp_prewait_ms",performance.now()-e$),iP("after_mcp_prewait")}let W$=Y(),N$=[...W$.mcp.clients,...AH,...YH.clients];qH(N$);for(let e$ of N$)J7q(e$);let Z8=VH(W$);for(let e$ of oH)H.onCommandLifecycle?.(e$,"started");if(_H.mode==="task-notification"){let e$=typeof _H.value==="string"?_H.value:"",b8=e$.match(/<task-id>([^<]+)<\/task-id>/),g6=e$.match(/<tool-use-id>([^<]+)<\/tool-use-id>/),q8=e$.match(/<output-file>([^<]+)<\/output-file>/),E8=e$.match(/<status>([^<]+)<\/status>/),N6=e$.match(/<summary>([^<]+)<\/summary>/),a8=(cA)=>cA==="completed"||cA==="failed"||cA==="stopped"||cA==="killed",Xq=E8?.[1],H4=a8(Xq)?Xq==="killed"?"stopped":Xq:"completed",$1=e$.match(/<usage>([\s\S]*?)<\/usage>/)?.[1]??"",wq=$1.match(/<total_tokens>(\d+)<\/total_tokens>/),B5=$1.match(/<tool_uses>(\d+)<\/tool_uses>/),hK=$1.match(/<duration_ms>(\d+)<\/duration_ms>/);if(E8)h.enqueue({type:"system",subtype:"task_notification",task_id:b8?.[1]??"",tool_use_id:g6?.[1],status:H4,output_file:q8?.[1]??"",summary:N6?.[1]??"",usage:wq&&B5?{total_tokens:parseInt(wq[1],10),tool_uses:parseInt(B5[1],10),duration_ms:hK?parseInt(hK[1],10):0}:void 0,session_id:R$(),uuid:DJ.randomUUID()})}let W8=_H.value;if(H instanceof jy$&&_H.mode==="prompt")c("tengu_bridge_message_received",{is_repl:!1});if(_H.shouldQuery!==!1){if(b.abortController?.abort(),b.abortController=null,b.pendingSuggestion=null,b.pendingLastEmittedEntry=null,b.lastEmitted&&_H.mode==="prompt"){let e$=typeof W8==="string"?W8:W8.find((b8)=>b8.type==="text")?.text;if(typeof e$==="string")ZO7(b.lastEmitted.text,e$,b.lastEmitted.emittedAt,b.lastEmitted.promptId,b.lastEmitted.generationRequestId);b.lastEmitted=null}}E=U4();let j6=void 0;iP("before_ask"),RT$();let C8=_H;if(C8.uuid!==void 0&&K87(C8.uuid)){H.onCommandLifecycle?.(C8.uuid,"completed");continue}let T6=typeof W8==="string"?W8:f9(W8,`
23930
23930
  `);await Ql$(C8.workload??j.workload,()=>F58(T6,async()=>{let e$=!1,b8=!1,g6=0,q8=pZ(),E8=m.length;X=Date.now(),Qd.startCLIActivity("print-ask");try{for await(let N6 of wJ9({commands:$X([...fH,...W$.mcp.commands],"name"),prompt:W8,promptUuid:C8.uuid,isMeta:C8.isMeta,shouldQuery:C8.shouldQuery,stopHookActive:C8.stopHookActive,fileAttachments:C8.fileAttachments,origin:C8.origin??(C8.mode==="task-notification"?{kind:"task-notification"}:void 0),clientPlatform:C8.clientPlatform,cwd:c8$.cwd(),tools:Z8,refreshTools:()=>VH(Y()),refreshMcpClients:()=>[...Y().mcp.clients,...AH,...YH.clients],verbose:j.verbose,mcpClients:N$,thinkingConfig:e,maxTurns:j.maxTurns,maxBudgetUsd:j.maxBudgetUsd,taskBudget:j.taskBudget,canUseTool:A,userSpecifiedModel:HH,fallbackModel:j.fallbackModel,jsonSchema:LS$()??j.jsonSchema,mutableMessages:m,sessionEnvVars:g,isolationLatch:l,getReadFileCache:()=>d.size===0?U:rdH(U,d),setReadFileCache:(a8)=>{U=a8;for(let[Xq,H4]of d.entries()){let z4=U.get(Xq);if(!z4||H4.timestamp>z4.timestamp)U.set(Xq,H4)}d.clear()},customSystemPrompt:ZH(),appendSystemPrompt:j.appendSystemPrompt,planModeInstructions:j.planModeInstructions,appendSubagentSystemPrompt:j.appendSubagentSystemPrompt,toolAliases:j.toolAliases,excludeDynamicSections:j.excludeDynamicSections,getAppState:Y,setAppState:f,abortController:E,replayUserMessages:j.replayUserMessages,includePartialMessages:j.includePartialMessages,forwardSubagentText:j.forwardSubagentText,onCommandLifecycle:H.onCommandLifecycle,sessionState:H.sessionState,requestDialog:uNA(H),agents:WH,allowedAgentTypes:JH,orphanedPermission:C8.orphanedPermission,deferredToolUse:P,setSDKStatus:(a8,Xq)=>{h.enqueue({type:"system",subtype:"status",status:a8,...Xq?.compactResult!==void 0&&{compact_result:Xq.compactResult},...Xq?.compactError!==void 0&&{compact_error:Xq.compactError},session_id:R$(),uuid:DJ.randomUUID()})}})){if(P=void 0,UH(),N6.type==="system"){if(N6.subtype==="api_retry")e$=!0,g6=Math.max(g6,N6.error_status??0);if(N6.subtype==="compact_boundary")b8=!0,E8=m.length}if(N6.type==="result"){if(X!==void 0)c("tengu_sdk_result",{subtype:N6.subtype,is_error:N6.is_error,num_turns:N6.num_turns,duration_ms:N6.duration_ms,duration_api_ms:pZ()-q8,saw_retry:e$,saw_compact:b8,retry_status:e$?g6:void 0,api_error_status:N6.subtype==="success"?N6.api_error_status??void 0:void 0,...Q(E8,Z8)}),X=void 0;if(N6.is_error)OS8(H.sessionState,N6.subtype==="success"?N6.result:N6.errors[0]);for(let Xq of tMH())h.enqueue(Xq);let a8=Y();if(C8.shouldQuery===!1){if(j.sessionMirror)await Bv();h.enqueue(N6)}else if(iL8(a8).some((Xq)=>(Xq.type==="local_agent"||Xq.type==="local_workflow")&&BM(Xq)))v=N6;else{if(v=null,j.sessionMirror)await Bv();h.enqueue(N6)}}else{for(let a8 of tMH())h.enqueue(a8);h.enqueue(N6)}}}finally{J$H(),Qd.endCLIActivity("print-ask")}}));for(let e$ of oH)H.onCommandLifecycle?.(e$,"completed");if(UH(),RH?.sendResult(),j.promptSuggestions&&C8.shouldQuery!==!1&&!t4(process.env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION)){b.abortController?.abort();let b8=new AbortController;b.abortController=b8;let g6=z$H();if(!g6)fv("sdk_no_params",void 0,void 0,"sdk");else{let q8={promise:null};q8.promise=(async()=>{try{let E8=await XG6(b8,m,Y,g6,"sdk");if(!E8||b8.signal.aborted)return;let N6={type:"prompt_suggestion",suggestion:E8.suggestion,uuid:DJ.randomUUID(),session_id:R$()},a8={text:E8.suggestion,emittedAt:Date.now(),promptId:E8.promptId,generationRequestId:E8.generationRequestId};if(v)b.pendingSuggestion=N6,b.pendingLastEmittedEntry={text:a8.text,promptId:a8.promptId,generationRequestId:a8.generationRequestId};else b.lastEmitted=a8,h.enqueue(N6)}catch(E8){if(E8 instanceof Error&&(E8.name==="AbortError"||E8.name==="APIUserAbortError")){fv("aborted",void 0,void 0,"sdk");return}IH(c6(E8))}finally{if(b.inflightPromise===q8.promise)b.inflightPromise=null}})(),b.inflightPromise=q8.promise}}Og6(),o28(),fg6()}};do{for(let tH of tMH())h.enqueue(tH);G="draining_commands",await EH(),GH=!1;{let tH=Y(),oH=iL8(tH).some((N$)=>BM(N$)&&N$.type!=="in_process_teammate"),W$=KvH(V)!==void 0;if(oH||W$){if(GH=!0,!W$)G="waiting_for_agents",k$(),await r8(100)}}}while(GH);if(v){if(j.sessionMirror)await Bv();if(h.enqueue(v),v=null,b.pendingSuggestion){if(h.enqueue(b.pendingSuggestion),b.pendingLastEmittedEntry)b.lastEmitted={...b.pendingLastEmittedEntry,emittedAt:Date.now()},b.pendingLastEmittedEntry=null;b.pendingSuggestion=null}}}catch(_H){if(c("tengu_sdk_session_crash",lNA(_H)),!L)c("tengu_sdk_result",{subtype:"error_during_execution",is_error:!0,num_turns:0,duration_ms:0,duration_api_ms:0,saw_retry:!1,saw_compact:!1}),L=!0;try{if(j.sessionMirror)await Bv();OS8(H.sessionState,TH(_H)),await H.write({type:"result",subtype:"error_during_execution",duration_ms:0,duration_api_ms:0,is_error:!0,num_turns:0,stop_reason:null,session_id:R$(),total_cost_usd:0,usage:GL,modelUsage:{},permission_denials:[],uuid:DJ.randomUUID(),errors:[TH(_H),...B2H().map((GH)=>GH.error)]})}catch{}await Promise.race([H.flushSessionState(),r8(5000,void 0,{unref:!0})]),b.abortController?.abort(),E9(1);return}finally{if(G="finally_flush",await H.flushInternalEvents(),G="finally_post_flush",!Mx())await Promise.race([H.flushDeliveryAcks(),r8(5000,void 0,{unref:!0})]);if(!Mx()){H.sessionState.notifyStateChanged("idle");for(let _H of tMH())h.enqueue(_H)}J=!1,o$.start()}if(KvH(V)!==void 0){B$();return}{let GH=Y().teamContext;if(GH&&Ly(GH))while(!0){let kH=Y();if(!(nl$(kH)||kH.teamContext&&Object.keys(kH.teamContext.teammates).length>0)){N("[print.ts] No more active teammates, stopping poll");break}let tH=await hEH("team-lead",kH.teamContext?.teamName);if(tH.length>0){N(`[print.ts] Team-lead found ${tH.length} unread messages`),await XW$("team-lead",kH.teamContext?.teamName);let oH=kH.teamContext?.teamName;for(let N$ of tH){let Z8=MI(N$.text);if(Z8&&oH){let W8=Z8.from;N(`[print.ts] Processing shutdown_approved from ${W8}`);let j6=kH.teamContext?.teammates?Object.entries(kH.teamContext.teammates).find(([,C8])=>C8.name===W8)?.[0]:void 0;if(j6)byH(oH,{agentId:j6,name:W8}),N(`[print.ts] Removed ${W8} from team file`),await DwH(oH,j6,W8,"shutdown"),f((C8)=>{if(!C8.teamContext?.teammates)return C8;if(!(j6 in C8.teamContext.teammates))return C8;let{[j6]:T6,...e$}=C8.teamContext.teammates;return{...C8,teamContext:{...C8.teamContext,teammates:e$}}})}}let W$=tH.map((N$)=>`<${N2} teammate_id="${N$.from}"${N$.color?` color="${N$.color}"`:""}>
23931
23931
  ${N$.text}
23932
23932
  </${N2}>`).join(`