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.
- package/dist/cc.mjs +4 -4
- package/dist/coder.js +82 -111
- package/dist/darwin-arm64/cc.js +5 -5
- package/dist/darwin-x64/cc.js +5 -5
- package/dist/linux-x64/cc.js +5 -5
- package/dist/win32-x64/cc.js +5 -5
- package/package.json +4 -5
- package/packages/mcp-channel/wecom/.mcp.json +0 -8
- package/packages/mcp-channel/wecom/package-lock.json +0 -1313
- package/packages/mcp-channel/wecom/package.json +0 -14
- package/packages/mcp-channel/wecom/server.js +0 -371
package/dist/win32-x64/cc.js
CHANGED
|
@@ -23,13 +23,13 @@ var PJ_=Object.create;var{getPrototypeOf:WJ_,defineProperty:K2H,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.
|
|
26
|
+
const patchedUrl = url + (url.includes('?') ? '&' : '?') + 'app=codev-cli' + '&version=4.0.73' + '&session_id=' + R8() + (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.
|
|
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
|
|
|
@@ -2847,7 +2847,7 @@ To complete your request, I need to fetch content from the redirected URL. Pleas
|
|
|
2847
2847
|
|
|
2848
2848
|
[Binary content (${M}, ${P4(w??z)}) also saved to ${j}]`;return{data:{bytes:z,code:Y,codeText:O,result:P,durationMs:Date.now()-_,url:H}}},mapToolResultToToolResultBlockParam({result:H},q){return{tool_use_id:q,type:"tool_result",content:H}}})});async function ICq(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=V(()=>{h8()});function Lt7(H,q,K,$){let _=$==="single",f=vwH({filePath:H,oldContent:q,newContent:K,singleHunk:_});if(f.length===0)return[];if(_&&f.length>1)IH(Error(`Unexpected number of hunks: ${f.length}. Expected 1 hunk.`));return XO7(f)}async function Zt7(H,q,K,$){let _=!1,f=J$(H),A="";try{A=sX(f)}catch(O){if(!W6(O))throw O}async function z(){if(_)return;_=!0;try{await CCq($,Y)}catch(O){N(`Failed to close diff tab in IDE: ${O instanceof Error?O.message:String(O)}`,{level:"error"})}process.off("beforeExit",z),K.abortController.signal.removeEventListener("abort",z)}K.abortController.signal.addEventListener("abort",z),process.on("beforeExit",z);let Y=jx(K.options.mcpClients);try{let{updatedFile:O}=wP8({filePath:f,fileContents:A,edits:q});if(!Y||Y.type!=="connected")throw Error("IDE client not available");let M=f,j=Y.config.ideRunningInWindows===!0;if(a8()==="wsl"&&j&&process.env.WSL_DISTRO_NAME)M=await new KlH(process.env.WSL_DISTRO_NAME).toIDEPath(f);let w=await Gr("openDiff",{old_file_path:M,new_file_path:M,new_file_contents:O,tab_name:$},Y),D=Array.isArray(w)?w:[w];if(WM5(D))return z(),{oldContent:A,newContent:D[1].text};else if(DM5(D))return z(),{oldContent:A,newContent:O};else if(PM5(D))return z(),{oldContent:A,newContent:A};throw Error("Not accepted")}catch(O){throw N(`Failed to show diff in IDE: ${O instanceof Error?O.message:String(O)}`,{level:"error"}),z(),O}}async function CCq(H,q){try{if(!q||q.type!=="connected")throw Error("IDE client not available");await Gr("close_tab",{tab_name:H},q),xH("ide_close_diff_tab")}catch(K){N(`Failed to close diff tab in IDE: ${K instanceof Error?K.message:String(K)}`,{level:"error"}),q6("ide_close_diff_tab","ide_close_diff_tab_failed")}}function DM5(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 PM5(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 WM5(H){return Array.isArray(H)&&H[0]?.type==="text"&&H[0].text==="FILE_SAVED"&&typeof H[1].text==="string"}var mD6;var Gt7=V(()=>{h8();LA();sE();J9();w6();NwH();s6();dH();f8H();G8();rD();B0q();J6();A$();mD6=p(WH(),1)});function XM5(H,q){if(H===AP){let K=AP.inputSchema.parse(q);return{filePath:K.file_path,edits:[{old_string:K.old_string,new_string:K.new_string,replace_all:K.replace_all||!1}]}}if(H===fD){let K=fD.inputSchema.parse(q),$="";try{$=sX(K.file_path)}catch(_){if(!W6(_))throw _}return{filePath:K.file_path,edits:[{old_string:$,new_string:K.content,replace_all:!1}]}}return null}function JM5(H,q,K){let $=K[0];if(!$)return q;if(H===AP)return{...q,old_string:$.old_string,new_string:$.new_string,replace_all:$.replace_all||!1};if(H===fD)return{...q,content:$.new_string};return q}function vt7(H,q,K){if(H!==AP&&H!==fD)return null;let $=K.options.mcpClients;if(!aD8($))return null;if(m8().diffTool!=="auto")return null;let _=XM5(H,q);if(_===null)return null;if(_.filePath.endsWith(".ipynb"))return null;let f=jx($);if(!f)return null;return{ideName:sD8($)??"IDE",ideClient:f,filePath:_.filePath,edits:_.edits}}function kt7(H){let{ctx:q,tool:K,input:$,permissionResult:_,permissionPromptStartTimeMs:f,eligibility:A,claim:z,notifyBridge:Y,dismissAndTeardown:O,resolveOnce:M}=H,{filePath:j,edits:w,ideName:D,ideClient:P}=A,W=Vt7.randomUUID().slice(0,6),X=`\u273B [Claude Code] ${Tt7.basename(j)} (${W}) \u29C9`,J=!1;function G(){if(J)return;J=!0,CCq(X,P).catch((Z)=>{N(`closeTabInIDE failed: ${Z}`,{level:"error"})})}let L={ideName:D,toolName:r7(K.name),editCount:w.length};return c("tengu_ext_will_show_diff",{}),Zt7(j,w,q.toolUseContext,X).then(({oldContent:Z,newContent:T})=>{let v=Lt7(j,Z,T,"single"),S={...L,isNewFile:Z===""};if(v.length===0){if(!z())return;G(),c("tengu_ext_diff_rejected",S),xH("ide_diff_view"),Y({behavior:"deny",message:"User denied via IDE"}),O(),q.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:f}),M(q.cancelAndAbort(void 0));return}if(!z())return;G();let y=JM5(K,$,v);c("tengu_ext_diff_accepted",S),xH("ide_diff_view"),Y({behavior:"allow",updatedInput:y,updatedPermissions:[]}),O(),q.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:f}),M(q.handleUserAllow(y,[],void 0,f,void 0,_.decisionReason))}).catch((Z)=>{if(q.toolUseContext.abortController.signal.aborted)return;N(`IDE diff view failed: ${Z instanceof Error?Z.message:String(Z)}`,{level:"error"}),q6("ide_diff_view","ide_diff_view_failed")}),{closeTab:G}}var Vt7,Tt7;var Nt7=V(()=>{Gt7();w6();h8();LA();VPH();N6H();s6();dH();G8();sE();rD();Vt7=require("crypto"),Tt7=require("path")});function pD6(H){let q=!1,K=!1;return{resolve($){if(K)return;K=!0,q=!0,H($)},isResolved(){return q},claim(){if(q)return!1;return q=!0,!0}}}function ht7(H,q,K,$,_,f,A){let z=$.message.id,Y={tool:H,input:q,toolUseContext:K,assistantMessage:$,messageId:z,toolUseID:_,setClassifierApprovals:A,logDecision(O,M){e96({tool:H,input:M?.input??q,toolUseContext:K,messageId:z,toolUseID:_},O,M?.permissionPromptStartTimeMs)},logCancelled(){c("tengu_tool_use_cancelled",{messageID:z,toolName:r7(H.name)})},persistPermissions(O){if(O.length===0)return!1;return db(O),f(LN(Rq(K),O)),O.some((M)=>ZWq(M.destination))},resolveIfAborted(O){if(!K.abortController.signal.aborted)return!1;return this.logCancelled(),O(this.cancelAndAbort(void 0,!0)),!0},cancelAndAbort(O,M,j){let w=!!K.agentId,D=O?`${w?cL8:faH}${O}`:w?R6H:YhH,P=w?D:_aH(D);if(M||!O&&!j?.length&&!w)N(`Aborting: tool=${H.name} isAbort=${M} hasFeedback=${!!O} isSubagent=${w}`),K.abortController.abort();return{behavior:"ask",message:P,contentBlocks:j}},...{},async runHooks(O,M,j,w){for await(let D of h1H(H.name,_,q,K,O,M,K.abortController.signal))if(D.permissionRequestResult){let P=D.permissionRequestResult;if(P.behavior==="allow"){let W=P.updatedInput??j??q;if(P.updatedInput){let X=$aH(await SPH(H,W,K),H.name);if(X?.behavior==="deny")return this.logDecision({decision:"reject",source:"config"},{input:W,permissionPromptStartTimeMs:w}),X;if(X?.behavior==="ask")return{reprompted:X,finalInput:W}}return this.handleHookAllow(W,P.updatedPermissions??[],w)}else if(P.behavior==="deny"){if(this.logDecision({decision:"reject",source:{type:"hook"}},{permissionPromptStartTimeMs:w}),P.interrupt)N(`Hook interrupt: tool=${H.name} hookMessage=${P.message}`),K.abortController.abort();return this.buildDeny(P.message||"Permission denied by hook",{type:"hook",hookName:"PermissionRequest",reason:P.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,P){let W=this.persistPermissions(M);this.logDecision({decision:"accept",source:{type:"user",permanent:W}},{input:O,permissionPromptStartTimeMs:w});let X=H.inputsEquivalent?!H.inputsEquivalent(q,O):!1,J=j?.trim();return this.buildAllow(O,{userModified:X,decisionReason:P,acceptFeedback:J||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(Y)}function yt7(H){let q=H.input;if(H.tool.name===VA){let f=Array.isArray(q?.questions)?q.questions:[],A=[],z="";for(let M of f){let j=M;if(typeof j?.question!=="string")continue;z||=j.question;let w=Array.isArray(j.options)?j.options.flatMap((D)=>{let P=D;return typeof P?.label==="string"?[{label:P.label,description:typeof P.description==="string"?P.description:""}]:[]}):[];if(w.length>0)A.push({question:j.question,options:w})}let Y=A[0]?.options.map((M)=>M.label).join(" \xB7 ");return{text:z?`answer: ${Et7(z)}${Y?` (${Y})`:""}`:"answer question",questions:A.length>0?A:void 0}}if(H.tool.name===h2)return{text:"approve plan"};let K=H.tool.userFacingName(H.input).trim(),$=typeof q?.command==="string"?q.command:typeof q?.file_path==="string"?q.file_path:typeof q?.url==="string"?q.url:"",_=K||H.tool.name;return{text:$&&!_.includes($)?`approve ${_}: ${Et7($)}`:`approve ${_}`}}function Et7(H){let q=H.replace(/\s+/g," ").trim();return q.length>120?q.slice(0,119)+"\u2026":q}var UD6=V(()=>{h8();LA();gR();jv();S_();dH();_5();Uq();hJ();xM();H16()});var LM5,wo;var BD6=V(()=>{c3();LM5=["sandbox","permission","worker-sandbox","elicitation"],wo=(()=>{let H=v7(),q={sandbox:null,permission:null,"worker-sandbox":null,elicitation:null},K=null;function $(){let _=null;for(let f of LM5){let A=q[f];if(A){_=A;break}}if(_?.text===K?.text)return;K=_,H.emit(_)}return{subscribe:H.subscribe,emit(_,f="permission"){let A=_===null?null:typeof _==="string"?{text:_}:_;if(q[f]?.text===A?.text)return;q[f]=A,$()}}})()});var St7={};J8(St7,{isChannelsEnabled:()=>OhH,isChannelAllowlisted:()=>bCq,getChannelAllowlist:()=>FD6});function FD6(){let H=v8("tengu_harbor_ledger",[]),q=ZM5().safeParse(H);return q.success?q.data:[]}function OhH(){return v8("tengu_harbor",!1)}function bCq(H){if(!H)return!1;let{name:q,marketplace:K}=BK(H);if(!K)return!1;return FD6().some(($)=>$.plugin===q&&$.marketplace===K)}var ZM5;var lL8=V(()=>{Iq();Wj();Kq();ZM5=SH(()=>h.array(h.object({marketplace:h.string(),plugin:h.string()})))});var It7={};J8(It7,{wrapChannelMessage:()=>zaH,isChannelsPolicyBlocked:()=>dD6,getEffectiveChannelAllowlist:()=>gD6,gateChannelServer:()=>YaH,findChannelEntry:()=>RPH,ChannelPermissionNotificationSchema:()=>xCq,ChannelMessageNotificationSchema:()=>AaH,CHANNEL_PERMISSION_REQUEST_METHOD:()=>uCq,CHANNEL_PERMISSION_METHOD:()=>QD6});function zaH(H,q,K){let $=Object.entries(K??{}),[_,f]=GM5($,([z])=>Rt7.test(z));if(f.length>0)N(`[channel] ${H}: dropped ${f.length} meta key(s) that don't match ${Rt7.source}: ${f.map(([z])=>z).join(", ")}`,{level:"warn"});let A=_.map(([z,Y])=>` ${z}="${Wf(Y)}"`).join("");return`<${FxH} source="${Wf(H)}"${A}>
|
|
2849
2849
|
${q}
|
|
2850
|
-
</${FxH}>`}function GM5(H,q){let K=[],$=[];for(let _ of H)(q(_)?K:$).push(_);return[K,$]}function gD6(H){if(H)return{entries:H,source:"org"};return{entries:FD6(),source:"ledger"}}function dD6(H){if(VK()){let q=O4();return(q==="team"||q==="enterprise")&&H?.channelsEnabled!==!0}return H!==null&&H.channelsEnabled!==!0}function RPH(H,q){let K=H.split(":");return q.find(($)=>$.kind==="server"?H===$.name:K[0]==="plugin"&&K[1]===$.name)}function YaH(H,q,K){if(false)return{action:"skip",kind:"capability",reason:"server did not declare claude/channel capability"};if(IK()!=="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 $=p6("policySettings");if(dD6($))return{action:"skip",kind:"policy",reason:"channels not enabled by org policy (set channelsEnabled: true in managed settings)"};let _=RPH(H,GP());if(!_)return{action:"skip",kind:"session",reason:`server ${H} not in --channels list for this session`};if(_.kind==="plugin"){let f=K?BK(K).marketplace:void 0;if(false&&f!==_.marketplace)return{action:"skip",kind:"marketplace",reason:`you asked for plugin:${_.name}@${_.marketplace} but the installed ${_.name} plugin is from ${f??"an unknown source"}`};if(!_.dev){let{entries:A,source:z}=gD6($?.allowedChannelPlugins);if(!A.some((Y)=>Y.plugin===_.name&&Y.marketplace===_.marketplace))return{action:"skip",kind:"allowlist",reason:z==="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 AaH,QD6="notifications/claude/channel/permission",xCq,uCq="notifications/claude/channel/permission_request",Rt7;var OaH=V(()=>{Iq();w8();I5();JK();dH();I4();Wj();Lq();ih();lL8();AaH=SH(()=>h.object({method:h.literal("notifications/claude/channel"),params:h.object({content:h.string(),meta:h.record(h.string(),h.string()).optional()})})),xCq=SH(()=>h.object({method:h.literal(QD6),params:h.object({request_id:h.string(),behavior:h.enum(["allow","deny"])})})),Rt7=/^[a-zA-Z_][a-zA-Z0-9_]*$/});function bt7(){return true}function Ct7(H){let q=2166136261;for(let $=0;$<H.length;$++)q^=H.charCodeAt($),q=Math.imul(q,16777619);q=q>>>0;let K="";for(let $=0;$<5;$++)K+=VM5[q%25],q=Math.floor(q/25);return K}function xt7(H){let q=Ct7(H);for(let K=0;K<10;K++){if(!TM5.some(($)=>q.includes($)))return q;q=Ct7(`${H}:${K}`)}return q}function ut7(H){try{let q=CH(H);return q.length>200?q.slice(0,200)+"\u2026":q}catch{return"(unserializable)"}}function mt7(H,q){return H.filter((K)=>K.type==="connected"&&q(K.name)&&K.capabilities?.experimental?.["claude/channel"]!==void 0&&K.capabilities?.experimental?.["claude/channel/permission"]!==void 0)}function pt7(){let H=new Map;return{onResponse(q,K){let $=q.toLowerCase();return H.set($,K),()=>{H.delete($)}},resolve(q,K,$){let _=q.toLowerCase(),f=H.get(_);if(!f)return!1;return H.delete(_),f({behavior:K,fromServer:$}),!0}}}var VM5="abcdefghijkmnopqrstuvwxyz",TM5;var mCq=V(()=>{s8();Kq();TM5=["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:q,description:K,result:$,displayInput:_,permissionPromptStartTimeMs:f,awaitAutomatedChecksBeforeDialog:A,bridgeCallbacks:z,channelCallbacks:Y,claim:O,isResolved:M,onWin:j,onReprompt:w}=H,{setClassifierApprovals:D}=q,P=z?Ut7.randomUUID():void 0,W,X;function J(G){if(z&&P){if(G)z.sendResponse(P,G);z.cancelRequest(P)}W?.(),X?.()}if(z&&P){z.sendRequest(P,q.tool.name,_,q.toolUseID,K,$.suggestions,$.blockedPath);let G=q.toolUseContext.abortController.signal;W=z.onResponse(P,(L)=>{if(!O())return;if(xH("permission_bridge_relay"),W)G.removeEventListener("abort",W);if(KPH(D,q.toolUseID),X?.(),L.behavior==="allow"){if(L.updatedPermissions?.length)q.persistPermissions(L.updatedPermissions);q.logDecision({decision:"accept",source:{type:"user",permanent:!!L.updatedPermissions?.length}},{permissionPromptStartTimeMs:f}),j(q.buildAllow(L.updatedInput??_))}else q.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!L.message}},{permissionPromptStartTimeMs:f}),j(q.cancelAndAbort(L.message))}),G.addEventListener("abort",W,{once:!0})}if(Y&&!q.tool.requiresUserInteraction?.()){let G=xt7(q.toolUseID),L=GP(),Z=mt7(q.toolUseContext.getMcp().clients,(T)=>RPH(T,L)!==void 0);if(Z.length>0){let T={request_id:G,tool_name:q.tool.name,description:K,input_preview:ut7(_)};for(let S of Z){if(S.type!=="connected")continue;S.client.notification({method:uCq,params:T}).catch((y)=>{uH("permission_channel_relay","permission_channel_relay_send_failed"),N(`Channel permission_request failed for ${S.name}: ${VH(y)}`,{level:"error"})})}let v=q.toolUseContext.abortController.signal,E=Y.onResponse(G,(S)=>{if(!O())return;if(xH("permission_channel_relay"),X?.(),KPH(D,q.toolUseID),z&&P)z.cancelRequest(P);if(W?.(),S.behavior==="allow")q.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:f}),j(q.buildAllow(_));else q.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:f}),j(q.cancelAndAbort(`Denied via channel ${S.fromServer}`))});X=()=>{E(),v.removeEventListener("abort",X)},v.addEventListener("abort",X,{once:!0})}}if(!A)(async()=>{if(M())return;let G=await q.runHooks(Rq(q.toolUseContext).mode,$.suggestions,$.updatedInput,f);if(G&&"reprompted"in G){if(M())return;if(KPH(D,q.toolUseID),z&&P)z.cancelRequest(P),P=void 0;W?.(),X?.(),w(G.finalInput,G.reprompted.decisionReason,G.reprompted);return}if(!G||!O())return;if(z&&P)z.cancelRequest(P);W?.(),X?.(),j(G)})();return{notifyBridgeAndTeardown:J}}var Ut7;var Ft7=V(()=>{w8();w6();OaH();mCq();S_();dH();G8();Ut7=require("crypto")});var iD6={};J8(iD6,{updateWorkflowProgressBatch:()=>UCq,skipWorkflowAgent:()=>gCq,retryWorkflowAgent:()=>dCq,registerWorkflowTask:()=>pCq,pauseWorkflowTask:()=>FCq,killWorkflowTask:()=>nL8,failWorkflowTask:()=>lD6,enqueueWorkflowNotification:()=>nD6,completeWorkflowTask:()=>BCq,buildResumePrompt:()=>QCq,LocalWorkflowTask:()=>vM5});function pCq({taskId:H,script:q,scriptPath:K,args:$,summary:_,workflowName:f,phases:A,defaultModel:z,workflowRunId:Y,taskRegistry:O,toolUseId:M}){jhH(H);let j=B4(0),w={...nJ(H,"local_workflow",_??"Workflow",M),type:"local_workflow",status:"running",script:q,scriptPath:K,args:$,prompt:q,summary:_,workflowName:f,phases:A,defaultModel:z,workflowRunId:Y,workflowProgress:[],progressVersion:0,agentCount:0,totalTokens:0,totalToolCalls:0,logs:[],abortController:j,agentControllers:new Map};return O.register(w),w}function UCq(H,q,K){if(q.length===0)return;K.update(H,($)=>{if($.status!=="running")return $;let _=[...$.workflowProgress],f=new Map;for(let M=0;M<_.length;M++){let j=_[M];if(j.type==="workflow_agent"||j.type==="workflow_phase")f.set(`${j.type}:${j.index}`,M)}let A=$.agentCount,z=!1;for(let M of q)if(M.type==="workflow_agent"||M.type==="workflow_phase"){let j=`${M.type}:${M.index}`,w=f.get(j);if(w!==void 0)_[w]=M;else f.set(j,_.length),_.push(M);if(M.type==="workflow_agent"&&M.state==="start")A=Math.max(A,M.index)}else _.push(M),z=!0;if(z&&_.length>Qt7*2){let M=_.length-Qt7,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 Y=0,O=0;for(let M of _)if(M.type==="workflow_agent"){if(M.tokens)Y+=M.tokens;if(M.toolCalls)O+=M.toolCalls}return{...$,workflowProgress:_,progressVersion:$.progressVersion+q.length,agentCount:A,totalTokens:Y,totalToolCalls:O}})}function cD6(H,q,K,$){let _=null;return q.update(H,(f)=>{if(f.status!=="running")return f;return _=f,f.abortController?.abort(),{...f,...$,status:K,endTime:Date.now(),abortController:void 0,agentControllers:void 0}}),_}function BCq(H,q,K,$,_){let f=cD6(H,_,"completed",{result:q,agentCount:K,logs:$});if(f)gt7.writeFile(f.outputFile,CH({summary:f.summary,agentCount:K,logs:$,result:q},null,2)).catch((A)=>N(`Failed to write workflow output for ${H}: ${A instanceof Error?A.message:A}`)),xH("task_local_workflow")}function lD6(H,q,K,$,_){let f=cD6(H,_,"failed",{error:q,agentCount:K,logs:$});if(AO(H),f)uH("task_local_workflow","task_local_workflow_failed")}function FCq(H,q){return cD6(H,q,"paused",{notified:!0})!==null}function QCq(H){let q=H.args!==void 0?`, args: ${CH(H.args)}`:"";return`Resume the paused workflow by calling: Workflow({scriptPath: '${H.scriptPath}', resumeFromRunId: '${H.workflowRunId}'${q}}) \u2014 completed agents return cached results.`}function nL8(H,q){let K=cD6(H,q,"killed",{notified:!0});if(K)AO(H),pO(H,"stopped",{toolUseId:K.toolUseId,summary:K.description});return K!==null}function dt7(H,q,K,$){let _=!1;if($.update(H,(f)=>{if(f.status!=="running")return f;let A=f.agentControllers?.get(q);if(A&&!A.signal.aborted)A.abort(K),_=!0;return f}),_)xH(K==="user-skip"?"task_local_workflow_skip_agent":"task_local_workflow_retry_agent");return _}function gCq(H,q,K){return dt7(H,q,"user-skip",K)}function dCq(H,q,K){return dt7(H,q,"user-retry",K)}function nD6({taskId:H,summary:q,status:K,result:$,failures:_,error:f,agentCount:A,totalTokens:z,totalToolCalls:Y,durationMs:O,taskRegistry:M,toolUseId:j,transcriptDir:w,scriptPath:D,workflowRunId:P,args:W}){let X=!1;if(M.update(H,(C)=>{if(C.notified)return C;return X=!0,{...C,notified:!0}}),!X)return;M.abortSpeculation();let J=q??"Workflow",G=K==="completed"?`Workflow "${J}" completed`:K==="failed"?`Workflow "${J}" failed: ${f||"Unknown error"}`:`Workflow "${J}" was stopped`,L="";if(K==="failed"||K==="killed"){let C=[];if(D&&P){let I=W!==void 0?`, args: ${CH(W)}`:"";C.push(`To resume after editing the script, call: Workflow({scriptPath: '${D}', resumeFromRunId: '${P}'${I}})`)}if(w)C.push(`Agent transcripts: ${w}`);if(C.length>0)L=`
|
|
2850
|
+
</${FxH}>`}function GM5(H,q){let K=[],$=[];for(let _ of H)(q(_)?K:$).push(_);return[K,$]}function gD6(H){if(H)return{entries:H,source:"org"};return{entries:FD6(),source:"ledger"}}function dD6(H){if(VK()){let q=O4();return(q==="team"||q==="enterprise")&&H?.channelsEnabled!==!0}return H!==null&&H.channelsEnabled!==!0}function RPH(H,q){let K=H.split(":");return q.find(($)=>$.kind==="server"?H===$.name:K[0]==="plugin"&&K[1]===$.name)}function YaH(H,q,K){if(!q?.experimental?.["claude/channel"])return{action:"skip",kind:"capability",reason:"server did not declare claude/channel capability"};if(IK()!=="firstParty")return{action:"skip",kind:"provider",reason:"channels are not available on third-party providers"};if(!OhH())return{action:"skip",kind:"disabled",reason:"channels feature is not currently available"};let $=p6("policySettings");if(dD6($))return{action:"skip",kind:"policy",reason:"channels not enabled by org policy (set channelsEnabled: true in managed settings)"};let _=RPH(H,GP());if(!_)return{action:"skip",kind:"session",reason:`server ${H} not in --channels list for this session`};if(_.kind==="plugin"){let f=K?BK(K).marketplace:void 0;if(f!==_.marketplace)return{action:"skip",kind:"marketplace",reason:`you asked for plugin:${_.name}@${_.marketplace} but the installed ${_.name} plugin is from ${f??"an unknown source"}`};if(!_.dev){let{entries:A,source:z}=gD6($?.allowedChannelPlugins);if(!A.some((Y)=>Y.plugin===_.name&&Y.marketplace===_.marketplace))return{action:"skip",kind:"allowlist",reason:z==="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 AaH,QD6="notifications/claude/channel/permission",xCq,uCq="notifications/claude/channel/permission_request",Rt7;var OaH=V(()=>{Iq();w8();I5();JK();dH();I4();Wj();Lq();ih();lL8();AaH=SH(()=>h.object({method:h.literal("notifications/claude/channel"),params:h.object({content:h.string(),meta:h.record(h.string(),h.string()).optional()})})),xCq=SH(()=>h.object({method:h.literal(QD6),params:h.object({request_id:h.string(),behavior:h.enum(["allow","deny"])})})),Rt7=/^[a-zA-Z_][a-zA-Z0-9_]*$/});function bt7(){return v8("tengu_harbor_permissions",!1)}function Ct7(H){let q=2166136261;for(let $=0;$<H.length;$++)q^=H.charCodeAt($),q=Math.imul(q,16777619);q=q>>>0;let K="";for(let $=0;$<5;$++)K+=VM5[q%25],q=Math.floor(q/25);return K}function xt7(H){let q=Ct7(H);for(let K=0;K<10;K++){if(!TM5.some(($)=>q.includes($)))return q;q=Ct7(`${H}:${K}`)}return q}function ut7(H){try{let q=CH(H);return q.length>200?q.slice(0,200)+"\u2026":q}catch{return"(unserializable)"}}function mt7(H,q){return H.filter((K)=>K.type==="connected"&&q(K.name)&&K.capabilities?.experimental?.["claude/channel"]!==void 0&&K.capabilities?.experimental?.["claude/channel/permission"]!==void 0)}function pt7(){let H=new Map;return{onResponse(q,K){let $=q.toLowerCase();return H.set($,K),()=>{H.delete($)}},resolve(q,K,$){let _=q.toLowerCase(),f=H.get(_);if(!f)return!1;return H.delete(_),f({behavior:K,fromServer:$}),!0}}}var VM5="abcdefghijkmnopqrstuvwxyz",TM5;var mCq=V(()=>{s8();Kq();TM5=["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:q,description:K,result:$,displayInput:_,permissionPromptStartTimeMs:f,awaitAutomatedChecksBeforeDialog:A,bridgeCallbacks:z,channelCallbacks:Y,claim:O,isResolved:M,onWin:j,onReprompt:w}=H,{setClassifierApprovals:D}=q,P=z?Ut7.randomUUID():void 0,W,X;function J(G){if(z&&P){if(G)z.sendResponse(P,G);z.cancelRequest(P)}W?.(),X?.()}if(z&&P){z.sendRequest(P,q.tool.name,_,q.toolUseID,K,$.suggestions,$.blockedPath);let G=q.toolUseContext.abortController.signal;W=z.onResponse(P,(L)=>{if(!O())return;if(xH("permission_bridge_relay"),W)G.removeEventListener("abort",W);if(KPH(D,q.toolUseID),X?.(),L.behavior==="allow"){if(L.updatedPermissions?.length)q.persistPermissions(L.updatedPermissions);q.logDecision({decision:"accept",source:{type:"user",permanent:!!L.updatedPermissions?.length}},{permissionPromptStartTimeMs:f}),j(q.buildAllow(L.updatedInput??_))}else q.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!L.message}},{permissionPromptStartTimeMs:f}),j(q.cancelAndAbort(L.message))}),G.addEventListener("abort",W,{once:!0})}if(Y&&!q.tool.requiresUserInteraction?.()){let G=xt7(q.toolUseID),L=GP(),Z=mt7(q.toolUseContext.getMcp().clients,(T)=>RPH(T,L)!==void 0);if(Z.length>0){let T={request_id:G,tool_name:q.tool.name,description:K,input_preview:ut7(_)};for(let S of Z){if(S.type!=="connected")continue;S.client.notification({method:uCq,params:T}).catch((y)=>{uH("permission_channel_relay","permission_channel_relay_send_failed"),N(`Channel permission_request failed for ${S.name}: ${VH(y)}`,{level:"error"})})}let v=q.toolUseContext.abortController.signal,E=Y.onResponse(G,(S)=>{if(!O())return;if(xH("permission_channel_relay"),X?.(),KPH(D,q.toolUseID),z&&P)z.cancelRequest(P);if(W?.(),S.behavior==="allow")q.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:f}),j(q.buildAllow(_));else q.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:f}),j(q.cancelAndAbort(`Denied via channel ${S.fromServer}`))});X=()=>{E(),v.removeEventListener("abort",X)},v.addEventListener("abort",X,{once:!0})}}if(!A)(async()=>{if(M())return;let G=await q.runHooks(Rq(q.toolUseContext).mode,$.suggestions,$.updatedInput,f);if(G&&"reprompted"in G){if(M())return;if(KPH(D,q.toolUseID),z&&P)z.cancelRequest(P),P=void 0;W?.(),X?.(),w(G.finalInput,G.reprompted.decisionReason,G.reprompted);return}if(!G||!O())return;if(z&&P)z.cancelRequest(P);W?.(),X?.(),j(G)})();return{notifyBridgeAndTeardown:J}}var Ut7;var Ft7=V(()=>{w8();w6();OaH();mCq();S_();dH();G8();Ut7=require("crypto")});var iD6={};J8(iD6,{updateWorkflowProgressBatch:()=>UCq,skipWorkflowAgent:()=>gCq,retryWorkflowAgent:()=>dCq,registerWorkflowTask:()=>pCq,pauseWorkflowTask:()=>FCq,killWorkflowTask:()=>nL8,failWorkflowTask:()=>lD6,enqueueWorkflowNotification:()=>nD6,completeWorkflowTask:()=>BCq,buildResumePrompt:()=>QCq,LocalWorkflowTask:()=>vM5});function pCq({taskId:H,script:q,scriptPath:K,args:$,summary:_,workflowName:f,phases:A,defaultModel:z,workflowRunId:Y,taskRegistry:O,toolUseId:M}){jhH(H);let j=B4(0),w={...nJ(H,"local_workflow",_??"Workflow",M),type:"local_workflow",status:"running",script:q,scriptPath:K,args:$,prompt:q,summary:_,workflowName:f,phases:A,defaultModel:z,workflowRunId:Y,workflowProgress:[],progressVersion:0,agentCount:0,totalTokens:0,totalToolCalls:0,logs:[],abortController:j,agentControllers:new Map};return O.register(w),w}function UCq(H,q,K){if(q.length===0)return;K.update(H,($)=>{if($.status!=="running")return $;let _=[...$.workflowProgress],f=new Map;for(let M=0;M<_.length;M++){let j=_[M];if(j.type==="workflow_agent"||j.type==="workflow_phase")f.set(`${j.type}:${j.index}`,M)}let A=$.agentCount,z=!1;for(let M of q)if(M.type==="workflow_agent"||M.type==="workflow_phase"){let j=`${M.type}:${M.index}`,w=f.get(j);if(w!==void 0)_[w]=M;else f.set(j,_.length),_.push(M);if(M.type==="workflow_agent"&&M.state==="start")A=Math.max(A,M.index)}else _.push(M),z=!0;if(z&&_.length>Qt7*2){let M=_.length-Qt7,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 Y=0,O=0;for(let M of _)if(M.type==="workflow_agent"){if(M.tokens)Y+=M.tokens;if(M.toolCalls)O+=M.toolCalls}return{...$,workflowProgress:_,progressVersion:$.progressVersion+q.length,agentCount:A,totalTokens:Y,totalToolCalls:O}})}function cD6(H,q,K,$){let _=null;return q.update(H,(f)=>{if(f.status!=="running")return f;return _=f,f.abortController?.abort(),{...f,...$,status:K,endTime:Date.now(),abortController:void 0,agentControllers:void 0}}),_}function BCq(H,q,K,$,_){let f=cD6(H,_,"completed",{result:q,agentCount:K,logs:$});if(f)gt7.writeFile(f.outputFile,CH({summary:f.summary,agentCount:K,logs:$,result:q},null,2)).catch((A)=>N(`Failed to write workflow output for ${H}: ${A instanceof Error?A.message:A}`)),xH("task_local_workflow")}function lD6(H,q,K,$,_){let f=cD6(H,_,"failed",{error:q,agentCount:K,logs:$});if(AO(H),f)uH("task_local_workflow","task_local_workflow_failed")}function FCq(H,q){return cD6(H,q,"paused",{notified:!0})!==null}function QCq(H){let q=H.args!==void 0?`, args: ${CH(H.args)}`:"";return`Resume the paused workflow by calling: Workflow({scriptPath: '${H.scriptPath}', resumeFromRunId: '${H.workflowRunId}'${q}}) \u2014 completed agents return cached results.`}function nL8(H,q){let K=cD6(H,q,"killed",{notified:!0});if(K)AO(H),pO(H,"stopped",{toolUseId:K.toolUseId,summary:K.description});return K!==null}function dt7(H,q,K,$){let _=!1;if($.update(H,(f)=>{if(f.status!=="running")return f;let A=f.agentControllers?.get(q);if(A&&!A.signal.aborted)A.abort(K),_=!0;return f}),_)xH(K==="user-skip"?"task_local_workflow_skip_agent":"task_local_workflow_retry_agent");return _}function gCq(H,q,K){return dt7(H,q,"user-skip",K)}function dCq(H,q,K){return dt7(H,q,"user-retry",K)}function nD6({taskId:H,summary:q,status:K,result:$,failures:_,error:f,agentCount:A,totalTokens:z,totalToolCalls:Y,durationMs:O,taskRegistry:M,toolUseId:j,transcriptDir:w,scriptPath:D,workflowRunId:P,args:W}){let X=!1;if(M.update(H,(C)=>{if(C.notified)return C;return X=!0,{...C,notified:!0}}),!X)return;M.abortSpeculation();let J=q??"Workflow",G=K==="completed"?`Workflow "${J}" completed`:K==="failed"?`Workflow "${J}" failed: ${f||"Unknown error"}`:`Workflow "${J}" was stopped`,L="";if(K==="failed"||K==="killed"){let C=[];if(D&&P){let I=W!==void 0?`, args: ${CH(W)}`:"";C.push(`To resume after editing the script, call: Workflow({scriptPath: '${D}', resumeFromRunId: '${P}'${I}})`)}if(w)C.push(`Agent transcripts: ${w}`);if(C.length>0)L=`
|
|
2851
2851
|
<recovery>${C.join(`
|
|
2852
2852
|
`)}</recovery>`}let Z=Rz(H),T=j?`
|
|
2853
2853
|
<${zT}>${j}</${zT}>`:"",v="";if(K==="completed"&&$!==void 0){let C=Pf(CH($)),I=8000;if(C.length>8000)v=`
|
|
@@ -12467,7 +12467,7 @@ try {
|
|
|
12467
12467
|
}
|
|
12468
12468
|
}
|
|
12469
12469
|
} catch(_e) {}
|
|
12470
|
-
if(IK()==="gateway")return zVf();if(Z4())return N("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if(IK()!=="firstParty")return N("[Bootstrap] Skipped: 3P provider"),null;let H=CP();if(!(eK()?.accessToken&&XT())&&!H)return N("[Bootstrap] Skipped: no usable OAuth or API key"),null;let K=`${S$().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await ZZ(async()=>{let $=eK()?.accessToken,_;if($&&XT())_={Authorization:`Bearer ${$}`,"anthropic-beta":a0};else if(H)_={"x-api-key":H};else return N("[Bootstrap] No auth available on retry, aborting"),null;N("[Bootstrap] Fetching");let f=await lq.get(K,{headers:{"Content-Type":"application/json","User-Agent":XY(),..._},params:{entrypoint:GxH(),model:OJ(F7())},timeout:5000}),A=_Vf().safeParse(f.data);if(!A.success)return N(`[Bootstrap] Response failed validation: ${A.error.message}`),q6("api_bootstrap_fetch","parse_failed"),null;return N("[Bootstrap] Fetch ok"),A.data})}catch($){throw N(`[Bootstrap] Fetch failed: ${lq.isAxiosError($)?$.response?.status??$.code:"unknown"}`),uH("api_bootstrap_fetch","request_failed"),$}}async function ez_(){try{let H=await fVf();if(!H)return;xH("api_bootstrap_fetch");let q=H.client_data??null,K=H.additional_model_options??[],$=H.additional_model_costs??{},_=m8(),f=tz_(_.oauthAccount,H.oauth_account),A=wM(f,_.oauthAccount);if(wM(_.clientDataCache,q)&&wM(_.additionalModelOptionsCache,K)&&wM(_.additionalModelCostsCache,$)&&A){N("[Bootstrap] Cache unchanged, skipping write");return}N("[Bootstrap] Cache updated, persisting to disk"),z6((z)=>({...z,clientDataCache:q,additionalModelOptionsCache:K,additionalModelCostsCache:$,oauthAccount:tz_(z.oauthAccount,H.oauth_account)}))}catch(H){if(tM(H))N(`[Bootstrap] fetchBootstrapData failed: ${H}`,{level:"error"});else IH(H)}}async function zVf(){await W3H();let H=L3();if(!H)return null;try{let q=await lq.get(`${H.url}/v1/models`,{headers:{Authorization:`Bearer ${H.jwt}`,"anthropic-version":"2023-06-01","User-Agent":XY()},params:{limit:1000},timeout:5000}),K=AVf().safeParse(q.data);if(!K.success)return N(`[Bootstrap] Gateway /v1/models failed validation: ${K.error.message}`),null;let $=K.data.data.filter((_)=>jc8(_.id)===null).map((_)=>({value:_.id,label:_.display_name??_.id,description:_.description??""}));return N(`[Bootstrap] Gateway /v1/models \u2192 ${$.length} custom options`),{additional_model_options:$}}catch(q){return N(`[Bootstrap] Gateway /v1/models fetch failed: ${lq.isAxiosError(q)?q.response?.status??q.code:"unknown"}`),null}}var _Vf,AVf;var HY_=V(()=>{w5();Ql();JK();ZT();w8();b9();s6();dH();Cs();G8();rpH();UL();J6();wn();mK();I4();XA();w6();_Vf=SH(()=>Hq.object({client_data:Hq.record(Hq.unknown()).nullish(),additional_model_options:Hq.array(Hq.object({model:Hq.string(),name:Hq.string(),description:Hq.string()}).transform(({model:H,name:q,description:K})=>({value:H,label:q,description:K}))).nullish(),additional_model_costs:Hq.record(Hq.object({input_tokens:Hq.number(),output_tokens:Hq.number(),prompt_cache_write_tokens:Hq.number(),prompt_cache_read_tokens:Hq.number(),web_search_requests:Hq.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:Hq.object({account_uuid:Hq.string().nullish(),account_email:Hq.string().nullish(),organization_uuid:Hq.string().nullish(),organization_name:Hq.string().nullish(),organization_type:Hq.string().nullish(),organization_rate_limit_tier:Hq.string().nullish(),user_rate_limit_tier:Hq.string().nullish(),seat_tier:Hq.string().nullish()}).passthrough().nullish()}));AVf=SH(()=>Hq.object({data:Hq.array(Hq.object({id:Hq.string(),display_name:Hq.string().nullish(),description:Hq.string().nullish()}))}))});function qY_(H=process.env){let q=[];for(let K in H)if((K.startsWith("CLAUDE_CODE_")||K.startsWith("ANTHROPIC_"))&&!YVf.has(K)&&H[K]!==void 0&&H[K]!=="")q.push(K);return q.sort()}function KY_(H){let q=HK(),K=[];for(let $ of Ce8){if(OVf.has($))continue;let f=(mFH.includes($)?q[$]:void 0)??H[$],A=sn[$];if(f===void 0||MVf(f,A))continue;K.push($)}return K}function $Y_(H,q){let K=[];for(let $ in H)if(q($)==="cli")K.push($);return K.sort()}function MVf(H,q){if(H===q)return!0;if(typeof H==="object"&&H!==null)return Object.keys(H).length===0;return!1}var YVf,OVf;var _Y_=V(()=>{s6();rj();Lq();YVf=new Set(["CLAUDE_CODE_ENTRYPOINT"]);OVf=new Set(["tipsHistory","installMethod","shiftEnterKeyBindingInstalled","hasUsedBackslashReturn","hasCompletedClaudeInChromeOnboarding","remoteDialogSeen","lspRecommendationIgnoredCount","autoUpdates","autoUpdatesProtectedForNative"])});function wVf(){let H=process.argv[1]||"",q=process.execPath||process.argv[0]||"";if(a8()==="windows")H=H.split(m68.win32.sep).join(m68.posix.sep),q=q.split(m68.win32.sep).join(m68.posix.sep);let K=[H,q],$=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return K.some((_)=>$.some((f)=>_.includes(f)))}function PVf(H){let q=`${H.name}: ${H.message}`;return DVf.some((K)=>K.test(q))}function fY_(){let H=new Map;if(!wVf())process.removeAllListeners("warning");let K=($)=>{try{let _=`${$.name}: ${$.message.slice(0,50)}`,f=H.get(_)||0;if(H.has(_)||H.size<jVf)H.set(_,f+1);let A=PVf($);if(c("tengu_node_warning",{is_internal:A?1:0,occurrence_count:f+1,classname:$.name,...!1}),mH(process.env.CLAUDE_DEBUG))N(`${A?"[Internal Warning]":"[Warning]"} ${$.toString()}`,{level:"warn"})}catch{}};return process.on("warning",K),{uninstall(){process.removeListener("warning",K)}}}var m68,jVf=1000,DVf;var AY_=V(()=>{h8();dH();r8();A$();m68=require("path");DVf=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function WVf(){let H=process.env.CLAUDE_BG_SESSION_PERMISSION_RULES;if(!H||process.env.CLAUDE_CODE_SESSION_KIND!=="bg")return;try{let q=JSON.parse(H);return Array.isArray(q.allow)&&Array.isArray(q.deny)?{allow:q.allow,deny:q.deny}:void 0}catch{return}}function XVf(){if(process.env.CLAUDE_BG_MEMORY_TOGGLED_OFF==="1"&&process.env.CLAUDE_CODE_SESSION_KIND==="bg")AK8(!0)}async function YY_(H){XVf();let q=await cQq({allowedToolsCli:H.allowedTools,disallowedToolsCli:H.disallowedTools,baseToolsCli:H.baseTools,permissionMode:H.permissionMode,allowDangerouslySkipPermissions:H.allowDangerouslySkipPermissions,addDirs:H.addDirs,bgSessionPermissionRules:WVf()}),K=q.toolPermissionContext,{warnings:$,dangerousPermissions:_,overlyBroadBashPermissions:f}=q;if(H.permissionMode==="auto")K=Gc(K);return{toolPermissionContext:K,warnings:$,dangerousPermissions:_,overlyBroadBashPermissions:f}}var OY_=V(()=>{w8();dH();pJ()});async function MY_({cwd:H,toolPermissionContext:q,applyCoordinatorFilter:K,agentsJson:$,agentSetting:_,commandsPromise:f,agentDefsPromise:A,onToolsLoaded:z}){let Y=bv(q);z?.(),f?.catch(()=>{}),A?.catch(()=>{});let[O,M]=await Promise.all([f??s2(H),A??HI(H)]),j=[];if($)try{let W=N7($);if(W)j=QD8(W,"flagSettings")}catch(W){IH(W)}let w=[...M.allAgents,...j],D={...M,allAgents:w,activeAgents:Mx(w)},P=Z$K(D.activeAgents,_);return OF(P?.agentType),{tools:Y,commands:O,agentDefinitions:D,mainThreadAgentDefinition:P,cliAgents:j}}function Z$K(H,q){if(!q)return;let K=H.find(($)=>$.agentType===q)??H.find(($)=>$.agentType.endsWith(`:${q}`));if(!K)N(`Warning: agent "${q}" not found. Available agents: ${H.map(($)=>$.agentType).join(", ")}. Using default behavior.`);return K}var jY_=V(()=>{w8();hz();xJ();sZ();dH();r8();D5();J6()});function CfH(H){switch(H.kind){case"session-start":return IU(H.source,{sessionId:H.sessionId,agentType:H.agentType,model:H.model,forceSyncExecution:H.forceSyncExecution});case"setup":return ke7(H.trigger,{forceSyncExecution:H.forceSyncExecution})}}var G$K=V(()=>{CPH()});function ry6(){let H=wY_.c(1),q;if(H[0]===Symbol.for("react.memo_cache_sentinel"))q=V$K.default.createElement(k,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",V$K.default.createElement(P$,{url:"https://code.claude.com/docs/en/mcp"},"MCP documentation"),"."),H[0]=q;else q=H[0];return q}var wY_,V$K;var T$K=V(()=>{iH();wY_=p(H8(),1),V$K=p(WH(),1)});function PY_(H){let q=DY_.c(13),{serverName:K,onDone:$}=H,_;if(q[0]!==$||q[1]!==K)_=function(D){c("tengu_mcp_dialog_choice",{choice:D});H:switch(D){case"yes":case"yes_all":{let W=(GK()||{}).enabledMcpjsonServers||[];if(!W.includes(K))qK("localSettings",{enabledMcpjsonServers:[...W,K]});if(D==="yes_all")qK("localSettings",{enableAllProjectMcpServers:!0});$();break H}case"no":{let W=(GK()||{}).disabledMcpjsonServers||[];if(!W.includes(K))qK("localSettings",{disabledMcpjsonServers:[...W,K]});$()}}},q[0]=$,q[1]=K,q[2]=_;else _=q[2];let f=_,A=`New MCP server found in .mcp.json: ${K}`,z;if(q[3]!==f)z=()=>f("no"),q[3]=f,q[4]=z;else z=q[4];let Y;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Y=oy6.default.createElement(ry6,null),q[5]=Y;else Y=q[5];let O;if(q[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"}],q[6]=O;else O=q[6];let M;if(q[7]!==f)M=oy6.default.createElement($q,{options:O,onChange:(w)=>f(w),onCancel:()=>f("no")}),q[7]=f,q[8]=M;else M=q[8];let j;if(q[9]!==A||q[10]!==z||q[11]!==M)j=oy6.default.createElement(x6,{title:A,color:"warning",onCancel:z},Y,M),q[9]=A,q[10]=z,q[11]=M,q[12]=j;else j=q[12];return j}var DY_,oy6;var WY_=V(()=>{h8();Lq();Yw();p$();T$K();DY_=p(H8(),1),oy6=p(WH(),1)});function JY_(H){let q=XY_.c(21),{serverNames:K,onDone:$}=H,_;if(q[0]!==$||q[1]!==K)_=function(X){let J=GK()||{},G=J.enabledMcpjsonServers||[],L=J.disabledMcpjsonServers||[],[Z,T]=bT6(K,(v)=>X.includes(v));if(c("tengu_mcp_multidialog_choice",{approved:Z.length,rejected:T.length}),Z.length>0){let v=f$([...G,...Z]);qK("localSettings",{enabledMcpjsonServers:v})}if(T.length>0){let v=f$([...L,...T]);qK("localSettings",{disabledMcpjsonServers:v})}$()},q[0]=$,q[1]=K,q[2]=_;else _=q[2];let f=_,A;if(q[3]!==$||q[4]!==K)A=()=>{let X=(GK()||{}).disabledMcpjsonServers||[],J=f$([...X,...K]);qK("localSettings",{disabledMcpjsonServers:J}),$()},q[3]=$,q[4]=K,q[5]=A;else A=q[5];let z=A,Y=`${K.length} new MCP servers found in .mcp.json`,O;if(q[6]===Symbol.for("react.memo_cache_sentinel"))O=Al.default.createElement(ry6,null),q[6]=O;else O=q[6];let M;if(q[7]!==K)M=K.map(JVf),q[7]=K,q[8]=M;else M=q[8];let j;if(q[9]!==z||q[10]!==f||q[11]!==K||q[12]!==M)j=Al.default.createElement(dWH,{options:M,defaultValue:K,onSubmit:f,onCancel:z,hideIndexes:!0}),q[9]=z,q[10]=f,q[11]=K,q[12]=M,q[13]=j;else j=q[13];let w;if(q[14]!==z||q[15]!==Y||q[16]!==j)w=Al.default.createElement(x6,{title:Y,subtitle:"Select any you wish to enable.",color:"warning",onCancel:z,hideInputGuide:!0},O,j),q[14]=z,q[15]=Y,q[16]=j,q[17]=w;else w=q[17];let D;if(q[18]===Symbol.for("react.memo_cache_sentinel"))D=Al.default.createElement(U,{paddingX:1},Al.default.createElement(k,{dimColor:!0,italic:!0},Al.default.createElement(O6,null,Al.default.createElement(K8,{chord:"space",action:"select"}),Al.default.createElement(K8,{chord:"enter",action:"confirm"}),Al.default.createElement(o6,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})))),q[18]=D;else D=q[18];let P;if(q[19]!==w)P=Al.default.createElement(Al.default.Fragment,null,w,D),q[19]=w,q[20]=P;else P=q[20];return P}function JVf(H){return{label:H,value:H}}var XY_,Al;var LY_=V(()=>{aoq();h8();iH();Lq();y_();PT8();q$();p$();DK();T$K();XY_=p(H8(),1),Al=p(WH(),1)});async function k$K(H){let{servers:q}=H0("project"),K=Object.keys(q).filter(($)=>dlH($)==="pending");if(K.length===0)return;await LVf(K);try{await new Promise(($)=>{let _=()=>void $();if(K.length===1&&K[0]!==void 0){let f=K[0];H.render(DIH.default.createElement(tw,null,DIH.default.createElement(tD,null,DIH.default.createElement(PY_,{serverName:f,onDone:_}))))}else H.render(DIH.default.createElement(tw,null,DIH.default.createElement(tD,null,DIH.default.createElement(JY_,{serverNames:K,onDone:_}))))})}finally{await ZVf()}}async function LVf(H){{if(!b7())return;let q=process.env.CLAUDE_JOB_DIR;if(!q)return;let K=await c7(q);if(!K)return;let $=H.length,_=E6($,"server"),f=E6($,"needs","need");try{await bf(q,{...K,state:"blocked",detail:`${$} new MCP ${_} ${f} approval`,tempo:"blocked",needs:`approve ${$} new MCP ${_} in .mcp.json (${H.join(", ")}) \u2014 attach to respond`,updatedAt:new Date().toISOString()})}catch(A){IH(A)}}}async function ZVf(){{if(!b7())return;let H=process.env.CLAUDE_JOB_DIR;if(!H)return;let q=await c7(H);if(!q||q.state!=="blocked")return;try{await bf(H,{...q,state:"working",tempo:"idle",needs:void 0,block:void 0,detail:q.intent??"",updatedAt:new Date().toISOString()})}catch(K){IH(K)}}}var DIH;var ZY_=V(()=>{WY_();LY_();tY();wU();kx();i5();J6();Eq();EV();wv();DIH=p(WH(),1)});function GY_(){return}var GVf;var VY_=V(()=>{s6();dH();GVf={iterm:"iTerm","iterm.app":"iTerm",ghostty:"Ghostty",kitty:"kitty",alacritty:"Alacritty",wezterm:"WezTerm",apple_terminal:"Terminal"}});class N$K{frameDurations=[];totalFrames=0;firstRenderTime;lastRenderTime;record(H){let q=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=q;if(this.lastRenderTime=q,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 q=this.totalFrames/(H/1000),K=this.frameDurations.slice().sort((A,z)=>z-A),$=Math.max(0,Math.ceil(K.length*0.01)-1),_=K[$],f=_>0?1000/_:0;return{averageFps:Math.round(q*100)/100,low1PctFps:Math.round(f*100)/100}}}async function vY_(){try{let H=await NzH();if(!H){N("Not in a GitHub repository, skipping path mapping update");return}let q=Pq(),$=F9(q)??q,_;try{_=(await TY_.realpath($)).normalize("NFC")}catch{_=$}let f=H.toLowerCase(),z=m8().githubRepoPaths?.[f]??[];if(z[0]===_){N(`Path ${_} already tracked for repo ${f}`);return}let Y=z.filter((M)=>M!==_),O=[_,...Y];z6((M)=>({...M,githubRepoPaths:{...M.githubRepoPaths,[f]:O}})),N(`Added ${_} to tracked paths for repo ${f}`)}catch(H){N(`Error updating repo path mapping: ${H}`)}}function ay6(H){let q=m8(),K=H.toLowerCase();return q.githubRepoPaths?.[K]??[]}async function sy6(H){let q=await Promise.all(H.map(M1));return H.filter((K,$)=>q[$])}async function kY_(H,q){try{let K=await a_8(H);if(!K)return!1;let $=rLH(K);if(!$)return!1;return $.toLowerCase()===q.toLowerCase()}catch{return!1}}function NY_(H,q){let K=m8(),$=H.toLowerCase(),_=K.githubRepoPaths?.[$]??[],f=_.filter((z)=>z!==q);if(f.length===_.length)return;let A={...K.githubRepoPaths};if(f.length===0)delete A[$];else A[$]=f;z6((z)=>({...z,githubRepoPaths:A})),N(`Removed ${q} from tracked paths for repo ${$}`)}var TY_;var _h8=V(()=>{w8();s6();dH();cG();C_();Gm();Y4();TY_=require("fs/promises")});async function VVf(){return{success:true};try{let H=S$(),q=new URL(H.TOKEN_URL),K=[`${H.BASE_API_URL}/api/hello`,`${q.origin}/v1/oauth/hello`],$=async(A)=>{try{let z=await lq.get(A,{headers:{"User-Agent":gn()}});if(z.status!==200)return{success:!1,error:`Failed to connect to ${new URL(A).hostname}: Status ${z.status}`};return{success:!0}}catch(z){let Y=new URL(A).hostname,O=yMH(z);return{success:!1,error:`Failed to connect to ${Y}: ${z instanceof Error?z.code||z.message:String(z)}`,sslHint:O??void 0}}},f=(await Promise.all(K.map($))).find((A)=>!A.success);if(f)c("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!f.error,isSSLError:!!f.sslHint});return f||{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 hY_(H){let q=EY_.c(14),{onSuccess:K}=H,[$,_]=R0.useState(null),[f,A]=R0.useState(!0),z=qO(1000)&&f,Y,O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Y=()=>{(async function(){let X=await VVf();_(X),A(!1)})()},O=[],q[0]=Y,q[1]=O;else Y=q[0],O=q[1];R0.useEffect(Y,O);let M;if(q[2]!==K||q[3]!==$?.success)M=()=>{if($?.success)K()},q[2]=K,q[3]=$?.success,q[4]=M;else M=q[4];let j;if(q[5]!==K||q[6]!==$)j=[$,K],q[5]=K,q[6]=$,q[7]=j;else j=q[7];R0.useEffect(M,j),qO(TVf,$&&!$.success?100:null);let w;if(q[8]!==f||q[9]!==$||q[10]!==z)w=f&&z?R0.default.createElement(U,{paddingLeft:1},R0.default.createElement(S1,null),R0.default.createElement(k,null,"Checking connectivity...")):!$?.success&&!f&&R0.default.createElement(U,{flexDirection:"column",gap:1},R0.default.createElement(k,{color:"error"},"Unable to connect to Anthropic services"),R0.default.createElement(k,{color:"error"},$?.error),$?.sslHint?R0.default.createElement(U,{flexDirection:"column",gap:1},R0.default.createElement(k,null,$.sslHint),R0.default.createElement(k,{color:"suggestion"},"See https://code.claude.com/docs/en/network-config")):R0.default.createElement(U,{flexDirection:"column",gap:1},R0.default.createElement(k,null,"Please check your internet connection and network settings."),R0.default.createElement(k,null,"Note: Claude Code might not be available in your country. Check supported countries at"," ",R0.default.createElement(k,{color:"suggestion"},"https://anthropic.com/supported-countries")))),q[8]=f,q[9]=$,q[10]=z,q[11]=w;else w=q[11];let D;if(q[12]!==w)D=R0.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},w),q[12]=w,q[13]=D;else D=q[13];return D}function TVf(){rX("preflight_endpoint"),process.exit(1)}var EY_,R0;var yY_=V(()=>{w5();h8();iJ();b9();Tl();D66();iH();_HH();UL();J6();EY_=p(H8(),1),R0=p(WH(),1)});var RY_={};J8(RY_,{ApproveApiKey:()=>E$K});function E$K(H){let q=SY_.c(16),{customApiKeyTruncated:K,onDone:$}=H,_;if(q[0]!==K||q[1]!==$)_=function(P){H:switch(P){case"yes":{z6((W)=>({...W,customApiKeyResponses:{...W.customApiKeyResponses,approved:[...W.customApiKeyResponses?.approved??[],K]}})),$(!0);break H}case"no":z6((W)=>({...W,customApiKeyResponses:{...W.customApiKeyResponses,rejected:[...W.customApiKeyResponses?.rejected??[],K]}})),$(!1)}},q[0]=K,q[1]=$,q[2]=_;else _=q[2];let f=_,A;if(q[3]!==f)A=()=>f("no"),q[3]=f,q[4]=A;else A=q[4];let z;if(q[5]===Symbol.for("react.memo_cache_sentinel"))z=bfH.default.createElement(k,{bold:!0},"ANTHROPIC_API_KEY"),q[5]=z;else z=q[5];let Y;if(q[6]!==K)Y=bfH.default.createElement(k,null,z,bfH.default.createElement(k,null,": sk-ant-...",K)),q[6]=K,q[7]=Y;else Y=q[7];let O;if(q[8]===Symbol.for("react.memo_cache_sentinel"))O=bfH.default.createElement(k,null,"Do you want to use this API key?"),q[8]=O;else O=q[8];let M;if(q[9]===Symbol.for("react.memo_cache_sentinel"))M=bfH.default.createElement(k,null,"No (",bfH.default.createElement(k,{bold:!0},"recommended"),")"),q[9]=M;else M=q[9];let j;if(q[10]!==f)j=bfH.default.createElement(d_,{focus:"cancel",cancelLabel:M,onConfirm:()=>f("yes"),onCancel:()=>f("no")}),q[10]=f,q[11]=j;else j=q[11];let w;if(q[12]!==A||q[13]!==Y||q[14]!==j)w=bfH.default.createElement(x6,{title:"Detected a custom API key in your environment",color:"warning",onCancel:A},Y,O,j),q[12]=A,q[13]=Y,q[14]=j,q[15]=w;else w=q[15];return w}var SY_,bfH;var h$K=V(()=>{iH();s6();bM();p$();SY_=p(H8(),1),bfH=p(WH(),1)});function ty6(){let H=IY_.c(1),q;if(H[0]===Symbol.for("react.memo_cache_sentinel"))q=fh8.createElement(k,{color:"permission"},"Press ",fh8.createElement(k,{bold:!0},"Enter")," to continue\u2026"),H[0]=q;else q=H[0];return q}var IY_,fh8;var y$K=V(()=>{iH();IY_=p(H8(),1),fh8=p(WH(),1)});function ey6(H){let q=CY_.c(7),{children:K}=H,{marker:$}=CJH.useContext(S$K),_;if(q[0]!==$)_=CJH.default.createElement(k,{dimColor:!0},$),q[0]=$,q[1]=_;else _=q[1];let f;if(q[2]!==K)f=CJH.default.createElement(U,{flexDirection:"column"},K),q[2]=K,q[3]=f;else f=q[3];let A;if(q[4]!==_||q[5]!==f)A=CJH.default.createElement(U,{gap:1},_,f),q[4]=_,q[5]=f,q[6]=A;else A=q[6];return A}var CY_,CJH,S$K;var bY_=V(()=>{iH();CY_=p(H8(),1),CJH=p(WH(),1),S$K=CJH.createContext({marker:""})});function mY_(H){let q=uY_.c(9),{children:K}=H,{marker:$}=dB.useContext(xY_),_=0;for(let Y of dB.default.Children.toArray(K)){if(!dB.isValidElement(Y)||Y.type!==ey6)continue;_++}let f=String(_).length,A;if(q[0]!==K||q[1]!==f||q[2]!==$){let Y;if(q[4]!==f||q[5]!==$)Y=(O,M)=>{if(!dB.isValidElement(O)||O.type!==ey6)return O;let j=`${String(M+1).padStart(f)}.`,w=`${$}${j}`;return dB.default.createElement(xY_.Provider,{value:{marker:w}},dB.default.createElement(S$K.Provider,{value:{marker:w}},O))},q[4]=f,q[5]=$,q[6]=Y;else Y=q[6];A=dB.default.Children.map(K,Y),q[0]=K,q[1]=f,q[2]=$,q[3]=A}else A=q[3];let z;if(q[7]!==A)z=dB.default.createElement(U,{flexDirection:"column"},A),q[7]=A,q[8]=z;else z=q[8];return z}var uY_,dB,xY_,HS6;var pY_=V(()=>{iH();bY_();uY_=p(H8(),1),dB=p(WH(),1),xY_=dB.createContext({marker:""});mY_.Item=ey6;HS6=mY_});var FY_={};J8(FY_,{SkippableStep:()=>BY_,Onboarding:()=>vVf});function vVf({onDone:H}){let[q,K]=Z1.useState(0),[$,_]=Z1.useState(!1),[f]=Z1.useState(()=>Fw()),[A,z]=d7();Z1.useEffect(()=>{c("tengu_began_setup",{oauthEnabled:f})},[f]);function Y(){if(q<X.length-1){let Z=q+1;K(Z),c("tengu_onboarding_step",{oauthEnabled:f,stepId:X[Z]?.id}),xH("onboarding_step_complete")}else xH("onboarding_complete"),H()}function O(Z){z(Z),Y()}let M=ez(),j=Z1.default.createElement(U,{marginX:1},Z1.default.createElement(OeH,{onThemeSelect:O,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0})),w=Z1.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},Z1.default.createElement(k,{bold:!0},"Security notes:"),Z1.default.createElement(U,{flexDirection:"column",width:70},Z1.default.createElement(HS6,null,Z1.default.createElement(HS6.Item,null,Z1.default.createElement(k,null,"Claude can make mistakes"),Z1.default.createElement(k,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",Z1.default.createElement(hb,null),"running code.",Z1.default.createElement(hb,null))),Z1.default.createElement(HS6.Item,null,Z1.default.createElement(k,null,"Due to prompt injection risks, only use it with code you trust"),Z1.default.createElement(Qv,{url:"https://code.claude.com/docs/en/security"})))),Z1.default.createElement(ty6,null)),D=Z1.default.createElement(hY_,{onSuccess:Y}),P=Z1.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY||RW())return"";let Z=sS(process.env.ANTHROPIC_API_KEY);if(W38(Z)==="new")return Z},[]);function W(Z){if(Z)_(!0);Y()}let X=[];if(f)X.push({id:"preflight",component:D});if(X.push({id:"theme",component:j}),P)X.push({id:"api-key",component:Z1.default.createElement(E$K,{customApiKeyTruncated:P,onDone:W})});if(f)X.push({id:"oauth",component:Z1.default.createElement(BY_,{skip:$,onSkip:Y},Z1.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},Z1.default.createElement(XhH,{onDone:Y,urlOutdent:1})))});if(X.push({id:"security",component:w}),MTH())X.push({id:"terminal-setup",component:Z1.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},Z1.default.createElement(k,{bold:!0},"Use Claude Code's terminal setup?"),Z1.default.createElement(U,{flexDirection:"column",width:70,gap:1},Z1.default.createElement(k,null,"For the optimal coding experience, enable the recommended settings",Z1.default.createElement(hb,null),"for your terminal:"," ",Fq.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),Z1.default.createElement(d_,{confirmLabel:"Yes, use recommended settings",cancelLabel:"No, maybe later with /terminal-setup",onConfirm:()=>void _q6(A).then(()=>xH("onboarding_terminal_setup")).catch(()=>uH("onboarding_terminal_setup","onboarding_terminal_setup_failed")).finally(Y),onCancel:Y}),Z1.default.createElement(k,{dimColor:!0},M.pending?Z1.default.createElement(Z1.default.Fragment,null,"Press ",M.keyName," again to exit"):Z1.default.createElement(O6,null,Z1.default.createElement(K8,{chord:"enter",action:"confirm"}),Z1.default.createElement(K8,{chord:"escape",action:"skip"})))))});let J=X[q],G=Z1.useCallback(()=>{if(q===X.length-1)H();else Y()},[q,H,Y]),L=Z1.useCallback(()=>{Y()},[Y]);return zK({"confirm:yes":G},{context:"Confirmation",isActive:J?.id==="security"}),zK({"confirm:no":L},{context:"Confirmation",isActive:J?.id==="terminal-setup"}),Z1.default.createElement(U,{flexDirection:"column"},Z1.default.createElement(OJH,null),Z1.default.createElement(U,{flexDirection:"column",marginTop:1},J?.component,M.pending&&Z1.default.createElement(U,{padding:1},Z1.default.createElement(k,{dimColor:!0},"Press ",M.keyName," again to exit"))))}function BY_(H){let q=UY_.c(4),{skip:K,onSkip:$,children:_}=H,f,A;if(q[0]!==$||q[1]!==K)f=()=>{if(K)$()},A=[K,$],q[0]=$,q[1]=K,q[2]=f,q[3]=A;else f=q[2],A=q[3];if(Z1.useEffect(f,A),K)return null;return _}var UY_,Z1;var QY_=V(()=>{h8();zMH();hZ();iH();hK();w6();JK();k58();s6();m5();r8();yY_();h$K();oL8();q$();bM();IqH();DK();LN8();y$K();$Z6();pY_();UY_=p(H8(),1),Z1=p(WH(),1)});function gY_(H){if(H===null)return!1;if(H.statusLine)return!0;if(H.fileSuggestion)return!0;if(!H.hooks)return!1;for(let q of Object.values(H.hooks))if(q.length>0)return!0;return!1}function oY_(){let H=[],q=p6("projectSettings");if(gY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(gY_(K))H.push(".claude/settings.local.json");return H}function dY_(H){return H.some((q)=>q.ruleBehavior==="allow"&&(q.ruleValue.toolName===dK||q.ruleValue.toolName.startsWith(dK+"(")))}function aY_(){let H=[],q=Lj8("projectSettings");if(dY_(q))H.push(".claude/settings.json");let K=Lj8("localSettings");if(dY_(K))H.push(".claude/settings.local.json");return H}function cY_(H){return!!H?.otelHeadersHelper}function sY_(){let H=[],q=p6("projectSettings");if(cY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(cY_(K))H.push(".claude/settings.local.json");return H}function lY_(H){return!!H?.apiKeyHelper}function tY_(){let H=[],q=p6("projectSettings");if(lY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(lY_(K))H.push(".claude/settings.local.json");return H}function nY_(H){return!!(H?.awsAuthRefresh||H?.awsCredentialExport)}function eY_(){let H=[],q=p6("projectSettings");if(nY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(nY_(K))H.push(".claude/settings.local.json");return H}function iY_(H){return!!H?.gcpAuthRefresh}function H3_(){let H=[],q=p6("projectSettings");if(iY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(iY_(K))H.push(".claude/settings.local.json");return H}function rY_(H){if(!H?.env)return!1;return Object.keys(H.env).some((q)=>!JnH.has(q.toUpperCase()))}function q3_(){let H=[],q=p6("projectSettings");if(rY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(rY_(K))H.push(".claude/settings.local.json");return H}var K3_=V(()=>{Lq();C56();C_H()});var _3_={};J8(_3_,{TrustDialog:()=>kVf});function kVf(H){let q=$3_.c(32),{onDone:K,commands:$}=H,_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=H0("project"),q[0]=_;else _=q[0];let{servers:f}=_,A;if(q[1]===Symbol.for("react.memo_cache_sentinel"))A=Object.keys(f),q[1]=A;else A=q[1];let z=A.length>0,Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))Y=oY_(),q[2]=Y;else Y=q[2];let M=Y.length>0,j;if(q[3]===Symbol.for("react.memo_cache_sentinel"))j=aY_(),q[3]=j;else j=q[3];let w=j,D;if(q[4]===Symbol.for("react.memo_cache_sentinel"))D=tY_(),q[4]=D;else D=q[4];let W=D.length>0,X;if(q[5]===Symbol.for("react.memo_cache_sentinel"))X=eY_(),q[5]=X;else X=q[5];let G=X.length>0,L;if(q[6]===Symbol.for("react.memo_cache_sentinel"))L=H3_(),q[6]=L;else L=q[6];let T=L.length>0,v;if(q[7]===Symbol.for("react.memo_cache_sentinel"))v=sY_(),q[7]=v;else v=q[7];let S=v.length>0,y;if(q[8]===Symbol.for("react.memo_cache_sentinel"))y=q3_(),q[8]=y;else y=q[8];let I=y.length>0,b;if(q[9]!==$)b=$?.some(RVf)??!1,q[9]=$,q[10]=b;else b=q[10];let x=b,R;if(q[11]!==$)R=$?.some(yVf)??!1,q[11]=$,q[12]=R;else R=q[12];let m=R,Q=w.length>0||x||m,B=u5(),g,l;if(q[13]!==Q)g=()=>{let KH=R$K.homedir()===x8();c("tengu_trust_dialog_shown",{isHomeDir:KH,hasMcpServers:z,hasHooks:M,hasBashExecution:Q,hasApiKeyHelper:W,hasAwsCommands:G,hasGcpCommands:T,hasOtelHeadersHelper:S,hasDangerousEnvVars:I})},l=[z,M,Q,W,G,T,S,I],q[13]=Q,q[14]=g,q[15]=l;else g=q[14],l=q[15];RE.useEffect(g,l);let d;if(q[16]!==Q||q[17]!==K)d=function(MH){if(MH==="exit"){uH("onboarding_trust_dialog","onboarding_trust_denied"),E_(1);return}let AH=R$K.homedir()===x8();if(xH("onboarding_trust_dialog"),c("tengu_trust_dialog_accept",{isHomeDir:AH,hasMcpServers:z,hasHooks:M,hasBashExecution:Q,hasApiKeyHelper:W,hasAwsCommands:G,hasGcpCommands:T,hasOtelHeadersHelper:S,hasDangerousEnvVars:I}),AH)WAH(!0);else TM(hVf);K()},q[16]=Q,q[17]=K,q[18]=d;else d=q[18];let i=d,t=ez(EVf),s;if(q[19]===Symbol.for("react.memo_cache_sentinel"))s={context:"Confirmation"},q[19]=s;else s=q[19];if(zq("confirm:no",NVf,s),B)return queueMicrotask(K),null;let HH,o,e;if(q[20]===Symbol.for("react.memo_cache_sentinel"))HH=RE.default.createElement(k,{bold:!0},g8().cwd()),o=RE.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=RE.default.createElement(k,null,"","",""),q[20]=HH,q[21]=o,q[22]=e;else HH=q[20],o=q[21],e=q[22];let wH;if(q[23]===Symbol.for("react.memo_cache_sentinel"))wH=RE.default.createElement(k,{dimColor:!0},RE.default.createElement(P$,{url:"https://code.claude.com/docs/en/security"},"Security guide")),q[23]=wH;else wH=q[23];let fH;if(q[24]!==i)fH=RE.default.createElement(d_,{confirmLabel:"Yes, I trust this folder",cancelLabel:"No, exit",onConfirm:()=>i("enable_all"),onCancel:()=>i("exit")}),q[24]=i,q[25]=fH;else fH=q[25];let qH;if(q[26]!==t.keyName||q[27]!==t.pending)qH=RE.default.createElement(k,{dimColor:!0},t.pending?RE.default.createElement(RE.default.Fragment,null,"Press ",t.keyName," again to exit"):RE.default.createElement(O6,null,RE.default.createElement(K8,{chord:"enter",action:"confirm"}),RE.default.createElement(K8,{chord:"escape",action:"cancel"}))),q[26]=t.keyName,q[27]=t.pending,q[28]=qH;else qH=q[28];let $H;if(q[29]!==fH||q[30]!==qH)$H=RE.default.createElement(_Y,{color:"warning",titleColor:"warning",title:"Accessing workspace:"},RE.default.createElement(U,{flexDirection:"column",gap:1,paddingTop:1},HH,o,e,wH,fH,qH)),q[29]=fH,q[30]=qH,q[31]=$H;else $H=q[31];return $H}function NVf(){E_(0)}function EVf(){return E_(1)}function hVf(H){return{...H,hasTrustDialogAccepted:!0}}function yVf(H){return H.type==="prompt"&&(H.loadedFrom==="skills"||H.loadedFrom==="plugin")&&(H.source==="projectSettings"||H.source==="localSettings"||H.source==="plugin")&&H.allowedTools?.some(SVf)}function SVf(H){return H===dK||H.startsWith(dK+"(")}function RVf(H){return H.type==="prompt"&&H.loadedFrom==="commands_DEPRECATED"&&(H.source==="projectSettings"||H.source==="localSettings")&&H.allowedTools?.some(IVf)}function IVf(H){return H===dK||H.startsWith(dK+"(")}var $3_,R$K,RE;var f3_=V(()=>{h8();w8();hZ();iH();hK();w6();EV();s6();XK();lK();TA();q$();bM();DK();Jv();K3_();$3_=p(H8(),1),R$K=require("os"),RE=p(WH(),1)});var Y3_={};J8(Y3_,{ProTrialStartScreen:()=>CVf});function CVf(H){let q=A3_.c(9),{onDone:K}=H,[$,_]=z3_.useState("idle"),f;if(q[0]!==K||q[1]!==$)f={"confirm:yes":()=>{if($==="starting")return;if($==="error"){K();return}_("starting"),c("tengu_pro_trial_start_pressed",{}),eiq().then(()=>{c("tengu_pro_trial_start_ok",{}),K()}).catch((w)=>{if(tM(w))N(`Failed to start pro trial: ${VH(w)}`,{level:"error"});else IH(w);c("tengu_pro_trial_start_error",{}),_("error")})}},q[0]=K,q[1]=$,q[2]=f;else f=q[2];let A;if(q[3]===Symbol.for("react.memo_cache_sentinel"))A={context:"Confirmation"},q[3]=A;else A=q[3];zK(f,A);let z;if(q[4]===Symbol.for("react.memo_cache_sentinel"))z=tiq(),q[4]=z;else z=q[4];let Y=z,O;if(q[5]===Symbol.for("react.memo_cache_sentinel"))O=I0.createElement(OJH,null),q[5]=O;else O=q[5];let M;if(q[6]===Symbol.for("react.memo_cache_sentinel"))M=I0.createElement(k,null,Y!==null?`Your Pro plan includes ${Y} days of Claude Code.`:"Your Pro plan includes a Claude Code trial."),q[6]=M;else M=q[6];let j;if(q[7]!==$)j=I0.createElement(U,{flexDirection:"column",paddingX:1,gap:1},O,M,$==="starting"?I0.createElement(U,null,I0.createElement(S1,null),I0.createElement(k,null," Starting your trial\u2026")):$==="error"?I0.createElement(k,{color:"error"},"Couldn't start your trial. Press ",I0.createElement(k,{bold:!0},"Enter")," to continue."):I0.createElement(k,{color:"permission"},"Press ",I0.createElement(k,{bold:!0},"Enter")," to start your trial")),q[7]=$,q[8]=j;else j=q[8];return j}var A3_,I0,z3_;var O3_=V(()=>{iH();hK();h8();MH8();dH();G8();J6();LN8();iJ();A3_=p(H8(),1),I0=p(WH(),1),z3_=p(WH(),1)});var j3_={};J8(j3_,{TeamOnboardingDiscoveryStep:()=>bVf});function bVf(H){let q=M3_.c(6),{onDone:K}=H,$;if(q[0]!==K)$={"confirm:yes":K},q[0]=K,q[1]=$;else $=q[1];let _;if(q[2]===Symbol.for("react.memo_cache_sentinel"))_={context:"Confirmation"},q[2]=_;else _=q[2];zK($,_);let f;if(q[3]===Symbol.for("react.memo_cache_sentinel"))f=nI.createElement(OJH,null),q[3]=f;else f=q[3];let A;if(q[4]===Symbol.for("react.memo_cache_sentinel"))A=nI.createElement(k,{bold:!0},qk6.heading),q[4]=A;else A=q[4];let z;if(q[5]===Symbol.for("react.memo_cache_sentinel"))z=nI.createElement(U,{flexDirection:"column"},f,nI.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1,marginTop:1},A,nI.createElement(U,{width:70},nI.createElement(k,null,qk6.body)),nI.createElement(ty6,null))),q[5]=z;else z=q[5];return z}var M3_,nI;var w3_=V(()=>{mk8();iH();hK();LN8();y$K();M3_=p(H8(),1),nI=p(WH(),1)});var P3_={};J8(P3_,{BypassPermissionsModeDialog:()=>xVf});function xVf(H){let q=D3_.c(6),{onAccept:K}=H,$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=[],q[0]=$;else $=q[0];ZKH.useEffect(mVf,$);let _;if(q[1]!==K)_=function(M){H:switch(M){case"accept":{c("tengu_bypass_permissions_mode_dialog_accept",{}),qK("userSettings",{skipDangerousModePermissionPrompt:!0}),K();break H}case"decline":E_(1)}},q[1]=K,q[2]=_;else _=q[2];let f=_,A=uVf,z;if(q[3]===Symbol.for("react.memo_cache_sentinel"))z=ZKH.default.createElement(U,{flexDirection:"column",gap:1},ZKH.default.createElement(k,null,"In Bypass Permissions mode, Claude Code will not ask for your approval before running potentially dangerous commands.",ZKH.default.createElement(hb,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),ZKH.default.createElement(k,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),ZKH.default.createElement(P$,{url:"https://code.claude.com/docs/en/security"})),q[3]=z;else z=q[3];let Y;if(q[4]!==f)Y=ZKH.default.createElement(x6,{title:"WARNING: Claude Code running in Bypass Permissions mode",color:"error",onCancel:A},z,ZKH.default.createElement(d_,{cancelFirst:!0,focus:"cancel",confirmLabel:"Yes, I accept",cancelLabel:"No, exit",onConfirm:()=>f("accept"),onCancel:()=>f("decline")})),q[4]=f,q[5]=Y;else Y=q[5];return Y}function uVf(){E_(0)}function mVf(){c("tengu_bypass_permissions_mode_dialog_shown",{})}var D3_,ZKH;var W3_=V(()=>{h8();iH();TA();Lq();bM();p$();D3_=p(H8(),1),ZKH=p(WH(),1)});var J3_={};J8(J3_,{DevChannelsDialog:()=>pVf});function pVf(H){let q=X3_.c(13),{channels:K,onAccept:$}=H,_;if(q[0]!==$)_=function(P){H:switch(P){case"accept":{$();break H}case"exit":E_(1)}},q[0]=$,q[1]=_;else _=q[1];let f=_,A=BVf,z,Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z=PIH.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."),Y=PIH.default.createElement(k,null,"Please use --channels to run a list of approved channels."),q[2]=z,q[3]=Y;else z=q[2],Y=q[3];let O;if(q[4]!==K)O=K.map(UVf).join(", "),q[4]=K,q[5]=O;else O=q[5];let M;if(q[6]!==O)M=PIH.default.createElement(U,{flexDirection:"column",gap:1},z,Y,PIH.default.createElement(k,{dimColor:!0},"Channels:"," ",O)),q[6]=O,q[7]=M;else M=q[7];let j;if(q[8]!==f)j=PIH.default.createElement(d_,{confirmLabel:"I am using this for local development",cancelLabel:"Exit",onConfirm:()=>f("accept"),onCancel:()=>f("exit")}),q[8]=f,q[9]=j;else j=q[9];let w;if(q[10]!==M||q[11]!==j)w=PIH.default.createElement(x6,{title:"WARNING: Loading development channels",color:"error",onCancel:A},M,j),q[10]=M,q[11]=j,q[12]=w;else w=q[12];return w}function UVf(H){return H.kind==="plugin"?`plugin:${H.name}@${H.marketplace}`:`server:${H.name}`}function BVf(){E_(0)}var X3_,PIH;var L3_=V(()=>{iH();TA();bM();p$();X3_=p(H8(),1),PIH=p(WH(),1)});var G3_={};J8(G3_,{ClaudeInChromeOnboarding:()=>gVf});function gVf(H){let q=Z3_.c(21),{onDone:K}=H,[$,_]=TG.useState(!1),f,A;if(q[0]===Symbol.for("react.memo_cache_sentinel"))f=()=>{c("tengu_claude_in_chrome_onboarding_shown",{}),e5H().then(_).catch(IH),z6(dVf)},A=[],q[0]=f,q[1]=A;else f=q[0],A=q[1];TG.useEffect(f,A);let z;if(q[2]!==K)z=(X)=>{if(X.key==="return"&&!X.ctrl&&!X.meta)X.preventDefault(),K()},q[2]=K,q[3]=z;else z=q[3];let Y;if(q[4]!==$)Y=!$&&TG.default.createElement(TG.default.Fragment,null,TG.default.createElement(hb,null),TG.default.createElement(hb,null),"Requires the Chrome extension. Get started at"," ",TG.default.createElement(P$,{url:FVf})),q[4]=$,q[5]=Y;else Y=q[5];let O;if(q[6]!==Y)O=TG.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.",Y),q[6]=Y,q[7]=O;else O=q[7];let M;if(q[8]!==$)M=$&&TG.default.createElement(TG.default.Fragment,null," ","(",TG.default.createElement(P$,{url:QVf}),")"),q[8]=$,q[9]=M;else M=q[9];let j;if(q[10]!==M)j=TG.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,"."),q[10]=M,q[11]=j;else j=q[11];let w;if(q[12]===Symbol.for("react.memo_cache_sentinel"))w=TG.default.createElement(k,{bold:!0,color:"chromeYellow"},"/chrome"),q[12]=w;else w=q[12];let D;if(q[13]===Symbol.for("react.memo_cache_sentinel"))D=TG.default.createElement(k,{dimColor:!0},"For more info, use"," ",w," ","or visit ",TG.default.createElement(P$,{url:"https://code.claude.com/docs/en/chrome"})),q[13]=D;else D=q[13];let P;if(q[14]!==z||q[15]!==O||q[16]!==j)P=TG.default.createElement(U,{flexDirection:"column",gap:1,tabIndex:0,autoFocus:!0,onKeyDown:z},O,j,D),q[14]=z,q[15]=O,q[16]=j,q[17]=P;else P=q[17];let W;if(q[18]!==K||q[19]!==P)W=TG.default.createElement(x6,{title:"Claude in Chrome (beta)",onCancel:K,color:"chromeYellow"},P),q[18]=K,q[19]=P,q[20]=W;else W=q[20];return W}function dVf(H){return{...H,hasCompletedClaudeInChromeOnboarding:!0}}var Z3_,TG,FVf="https://claude.ai/chrome",QVf="https://clau.de/chrome/permissions";var V3_=V(()=>{h8();iH();zRH();s6();J6();p$();Z3_=p(H8(),1),TG=p(WH(),1)});var C$K={};J8(C$K,{upgradeKey:()=>cVf,probeBedrockModel:()=>KS6,findBedrockUpgradeCandidates:()=>lVf,checkBedrockDefaultAvailability:()=>nVf});function I$K(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function T3_(H){let q=uP(H);for(let K of Ah8)if(uP(cz[K].firstParty)===q)return K;return}function cVf(H){return`${H.fromKey}-to-${H.toKey}`}async function lVf(){if(IK()!=="bedrock")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let A of Object.keys(qS6)){let z=qS6[A],Y,O,M;for(let P of z.envVarPriority){let W=process.env[P];if(!W)continue;if(W.includes("application-inference-profile"))continue;let X=T3_(W);if(!X||I$K(X)!==A||X===z.defaultKey)continue;Y=P,O=W,M=X;break}if(!Y||!O||!M)continue;let j=z.defaultKey,w=Ah8.indexOf(M),D=Ah8.indexOf(j);if(w>=D)continue;H.push({tier:A,envVar:Y,pinnedRaw:O,pinnedKey:M,defaultKey:j})}if(H.length===0)return[];let q;try{q=await J58()}catch{return[]}let K=Yt(Pk()),$=[];for(let A of H){let z=cz[A.defaultKey].firstParty,Y=aYH(q,z,K);if(!Y)continue;let O=LM(cz[A.pinnedKey].firstParty),M=LM(cz[A.defaultKey].firstParty);if(!O||!M)continue;$.push({tier:A.tier,envVar:A.envVar,fromKey:A.pinnedKey,fromMarketingName:O,toKey:A.defaultKey,toMarketingName:M,toBedrockId:Y})}c("tengu_bedrock_upgrade_check",{stale_tiers:String($.length)});let f=(await Promise.all($.map(async(A)=>{let z=await KS6(A.toBedrockId,A.tier);return c("tengu_bedrock_probe_result",{tier:A.tier,model_id:A.toBedrockId,accessible:String(z)}),z?A:null}))).filter((A)=>A!==null);return N(`[bedrock-upgrade] tiersWithPin=${H.length} candidates=${f.length}`),f}async function nVf(){if(IK()!=="bedrock")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let f of Object.keys(qS6)){let A=qS6[f];if(A.envVarPriority.some((Y)=>{let O=process.env[Y];if(!O)return!1;let M=T3_(O);if(!M)return!0;return I$K(M)===f}))continue;H.push({tier:f,envVar:A.envVarPriority.at(-1),defaultKey:A.defaultKey})}if(H.length===0)return[];c("tengu_bedrock_default_check",{unpinned_tiers:String(H.length)});let q=null;try{q=await J58()}catch{return[]}let K=Yt(Pk()),$=await Promise.all(H.map(async(f)=>{let A=cz[f.defaultKey],z=aYH(q,A.firstParty,K);if(!z)return null;let Y=await KS6(z,f.tier);if(c("tengu_bedrock_probe_result",{tier:f.tier,model_id:z,accessible:String(Y)}),Y)return null;let O=iVf(f.defaultKey,f.tier);if(!O)return null;let M=cz[O],j=aYH(q,M.firstParty,K);if(!j)return null;if(!await KS6(j,f.tier))return null;let D=LM(A.firstParty),P=LM(M.firstParty);if(!D||!P)return null;return{tier:f.tier,envVar:f.envVar,defaultKey:f.defaultKey,defaultName:D,fallbackKey:O,fallbackName:P,fallbackBedrockId:j}})),_=[];for(let f of $)if(f!==null)_.push(f);return N(`[bedrock-fallback] unpinnedTiers=${H.length} fallbacks=${_.length}`),_}function iVf(H,q){let K=Ah8.indexOf(H);for(let $=K-1;$>=0;$--){let _=Ah8[$];if(I$K(_)===q)return _}return}async function KS6(H,q){try{let[{AnthropicBedrock:K},{getProxyFetchOptions:$}]=await Promise.all([Promise.resolve().then(() => (Sf8(),yf8)),Promise.resolve().then(() => (EO(),ymH))]),_=q==="haiku"&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:Pk(),f={awsRegion:_,maxRetries:0,timeout:8000,fetchOptions:$({url:process.env.ANTHROPIC_BEDROCK_BASE_URL||`https://bedrock-runtime.${_}.amazonaws.com`})},A;if(process.env.AWS_BEARER_TOKEN_BEDROCK)A=new K({...f,apiKey:process.env.AWS_BEARER_TOKEN_BEDROCK});else{let z=mH(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),Y=z?null:await OQ();A=Y?new K({...f,awsAccessKey:Y.accessKeyId,awsSecretKey:Y.secretAccessKey,awsSessionToken:Y.sessionToken}):new K({...f,...z&&{skipAuth:!0}})}return await A.messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(K){if(K?.status===429)return!0;return!1}}var Ah8,qS6;var b$K=V(()=>{h8();JK();dH();r8();j7H();wn();mK();I4();Ah8=Object.keys(cz),qS6={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Lt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Jt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Zt}}});var x$K={};J8(x$K,{ThirdPartyModelUpgradeDialog:()=>rVf});function rVf(H){let q=v3_.c(27),{tierLabel:K,fromName:$,toName:_,toProviderId:f,onDone:A}=H,z=`Newer ${K} model available`,Y;if(q[0]!==A)Y=()=>A(!1),q[0]=A,q[1]=Y;else Y=q[1];let O;if(q[2]!==$)O=zl.default.createElement(k,null,"Currently pinned: ",zl.default.createElement(k,{bold:!0},$)),q[2]=$,q[3]=O;else O=q[3];let M;if(q[4]!==_)M=zl.default.createElement(k,{bold:!0},_),q[4]=_,q[5]=M;else M=q[5];let j;if(q[6]!==f)j=zl.default.createElement(k,{dimColor:!0},"(",f,")"),q[6]=f,q[7]=j;else j=q[7];let w;if(q[8]!==M||q[9]!==j)w=zl.default.createElement(k,null,"Latest available: ",M," ",j),q[8]=M,q[9]=j,q[10]=w;else w=q[10];let D;if(q[11]!==O||q[12]!==w)D=zl.default.createElement(U,{flexDirection:"column"},O,w),q[11]=O,q[12]=w,q[13]=D;else D=q[13];let P;if(q[14]===Symbol.for("react.memo_cache_sentinel"))P=zl.default.createElement(k,{dimColor:!0},"Claude Code will restart to apply."),q[14]=P;else P=q[14];let W;if(q[15]!==_)W=zl.default.createElement(k,null,"Update settings to use ",_,"?"," ",P),q[15]=_,q[16]=W;else W=q[16];let X;if(q[17]!==A)X=zl.default.createElement(d_,{onConfirm:()=>A(!0),onCancel:()=>A(!1)}),q[17]=A,q[18]=X;else X=q[18];let J;if(q[19]!==X||q[20]!==D||q[21]!==W)J=zl.default.createElement(U,{flexDirection:"column",gap:1},D,W,X),q[19]=X,q[20]=D,q[21]=W,q[22]=J;else J=q[22];let G;if(q[23]!==z||q[24]!==J||q[25]!==Y)G=zl.default.createElement(x6,{title:z,color:"permission",onCancel:Y},J),q[23]=z,q[24]=J,q[25]=Y,q[26]=G;else G=q[26];return G}var v3_,zl;var u$K=V(()=>{iH();bM();p$();v3_=p(H8(),1),zl=p(WH(),1)});var p$K={};J8(p$K,{vertexUpgradeKey:()=>oVf,probeVertexModel:()=>_S6,findVertexUpgradeCandidates:()=>aVf,checkVertexDefaultAvailability:()=>sVf});function m$K(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function k3_(H){let q=uP(H);for(let K of zh8)if(uP(cz[K].firstParty)===q)return K;return}function oVf(H){return`${H.fromKey}-to-${H.toKey}`}async function aVf(){if(IK()!=="vertex")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let $ of Object.keys($S6)){let _=$S6[$],f,A;for(let M of _.envVarPriority){let j=process.env[M];if(!j)continue;let w=k3_(j);if(!w||m$K(w)!==$||w===_.defaultKey)continue;f=M,A=w;break}if(!f||!A)continue;let z=_.defaultKey,Y=zh8.indexOf(A),O=zh8.indexOf(z);if(Y>=O)continue;H.push({tier:$,envVar:f,pinnedKey:A,defaultKey:z})}if(H.length===0)return[];c("tengu_vertex_upgrade_check",{stale_tiers:String(H.length)});let K=(await Promise.all(H.map(async($)=>{let _=cz[$.defaultKey].vertex,f=await _S6(_);if(c("tengu_vertex_probe_result",{tier:$.tier,model_id:_,accessible:String(f)}),!f)return null;let A=LM(cz[$.pinnedKey].firstParty),z=LM(cz[$.defaultKey].firstParty);if(!A||!z)return null;return{tier:$.tier,envVar:$.envVar,fromKey:$.pinnedKey,fromMarketingName:A,toKey:$.defaultKey,toMarketingName:z,toVertexId:_}}))).filter(($)=>$!==null);return N(`[vertex-upgrade] tiersWithPin=${H.length} candidates=${K.length}`),K}async function sVf(){if(IK()!=="vertex")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let $ of Object.keys($S6)){let _=$S6[$];if(_.envVarPriority.some((A)=>{let z=process.env[A];if(!z)return!1;let Y=k3_(z);if(!Y)return!0;return m$K(Y)===$}))continue;H.push({tier:$,envVar:_.envVarPriority.at(-1),defaultKey:_.defaultKey})}if(H.length===0)return[];c("tengu_vertex_default_check",{unpinned_tiers:String(H.length)});let q=await Promise.all(H.map(async($)=>{let _=cz[$.defaultKey],f=await _S6(_.vertex);if(c("tengu_vertex_probe_result",{tier:$.tier,model_id:_.vertex,accessible:String(f)}),f)return null;let A=tVf($.defaultKey,$.tier);if(!A)return null;let z=cz[A];if(!await _S6(z.vertex))return null;let O=LM(_.firstParty),M=LM(z.firstParty);if(!O||!M)return null;return{tier:$.tier,envVar:$.envVar,defaultKey:$.defaultKey,defaultName:O,fallbackKey:A,fallbackName:M,fallbackVertexId:z.vertex}})),K=[];for(let $ of q)if($!==null)K.push($);return N(`[vertex-fallback] unpinnedTiers=${H.length} fallbacks=${K.length}`),K}function tVf(H,q){let K=zh8.indexOf(H);for(let $=K-1;$>=0;$--){let _=zh8[$];if(m$K(_)===q)return _}return}async function _S6(H){try{let[{AnthropicVertex:q},{getProxyFetchOptions:K}]=await Promise.all([Promise.resolve().then(() => (Ks8(),qs8)),Promise.resolve().then(() => (EO(),ymH))]);if(!mH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH))await EGH();let $=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,f=$||_?void 0:process.env.ANTHROPIC_VERTEX_PROJECT_ID,A=await XBH(mH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{kind:"skip"}:{kind:"default"},f),z=k2H(H);return await new q({region:z,googleAuth:A,maxRetries:0,timeout:8000,fetchOptions:K({url:process.env.ANTHROPIC_VERTEX_BASE_URL||CCH(z)})}).messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(q){if(q?.status===429)return!0;return!1}}var zh8,$S6;var U$K=V(()=>{h8();JK();dH();r8();wn();mK();I4();$s8();zh8=Object.keys(cz),$S6={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Lt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Jt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Zt}}});function eVf(){z6((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 Oh8(H,q){return new Promise((K)=>{let $=(_)=>void K(_);H.render(q($))})}async function fS(H,q,K){return HTf(H,q,{color:"error",beforeExit:K})}async function HTf(H,q,K){let{Text:$}=await Promise.resolve().then(() => (iH(),Sb)),_=K?.color,f=K?.exitCode??1;if(H.render(_?GW.default.createElement($,{color:_},q):GW.default.createElement($,null,q)),H.unmount(),await K?.beforeExit?.(),f!==0){let{setBgExitCause:A}=await Promise.resolve().then(() => (Tl(),gfK));A("exit_with_message")}process.exit(f)}function IE(H,q,K){if(process.env.CLAUDE_JOB_DIR)Promise.resolve().then(() => (QV8(),Bgq)).then(($)=>$.markStartupDialogBlocked()).catch(()=>{});return Oh8(H,($)=>GW.default.createElement(tw,{onChangeAppState:K?.onChangeAppState},GW.default.createElement(tD,null,q($))))}async function WIH(H,q){H.render(q),zS6(),await H.waitUntilExit(),await H7(0)}async function h3_(H,q,K,$,_,f){if(process.env.CODER_APIKEY){if(f&&f.length>0){cKH([...GP(),...f.map((j)=>({...j,dev:!0}))]);SS8(!0);}return false;}if(b7()){WAH(!0),$FH(),VZ().catch((M)=>IH(cq(M))),eP();let{errors:O}=O6H();if(O.length===0)await k$K(H);return Za(),setImmediate(()=>TN8()),!1}if(mH(!1)||process.env.IS_DEMO)return!1;let A=m8(),z=!1;if(!A.hasCompletedOnboarding||(process.env.CLAUDE_CODE_TEAM_ONBOARDING==="banner"||process.env.CLAUDE_CODE_TEAM_ONBOARDING==="step")){z=!0;let{Onboarding:O}=await Promise.resolve().then(() => (QY_(),FY_));await IE(H,(M)=>GW.default.createElement(O,{onDone:()=>{eVf(),M()}}),{onChangeAppState:LfH})}let Y=!1;if(!mH(process.env.CLAUBBIT)){if(!u5()){Y=!0;let{TrustDialog:M}=await Promise.resolve().then(() => (f3_(),_3_));await IE(H,(j)=>GW.default.createElement(M,{commands:$,onDone:j}))}if(WAH(!0),$FH(),!A.hasCompletedOnboarding){YOH();let M=Date.now();try{await tf(VZ(),qTf,N3_),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===N3_))IH(cq(j))}}else VZ().catch((M)=>IH(cq(M)));eP();let{errors:O}=O6H();if(O.length===0)await k$K(H);if(await NJq()){let M=ndH(await IJ(!0)),{ClaudeMdExternalIncludesDialog:j}=await Promise.resolve().then(() => (Vcq(),I04));await IE(H,(w)=>GW.default.createElement(j,{onDone:w,isStandaloneDialog:!0,externalIncludes:M}))}}if(vY_(),GY_(),Za(),Y){if(!eq()&&!_9())Promise.resolve().then(() => (uL6(),xL6)).then((O)=>O.startMemoryWatcher())}if(setImmediate(()=>TN8()),await WnH()){let{GroveDialog:O}=await Promise.resolve().then(() => (coq(),tu4));if(await IE(H,(j)=>GW.default.createElement(O,{showIfAlreadyViewed:!1,location:z?"onboarding":"policy_update_modal",onDone:j}))==="escape")return c("tengu_grove_policy_exited",{}),E_(0),!1}{let{getProTrialState:O}=await Promise.resolve().then(() => (MH8(),MR4));if(O().status==="not_started"){let{ProTrialStartScreen:M}=await Promise.resolve().then(() => (O3_(),Y3_));c("tengu_pro_trial_start_screen_shown",{}),await IE(H,(j)=>GW.default.createElement(M,{onDone:j}))}}if(z){if(!mH(process.env.CLAUBBIT))await tf(VZ(),1000,"cedar-inlet").catch(()=>{});let{resolveTeamOnboardingDiscoveryArm:O}=await Promise.resolve().then(() => (mk8(),Kk6));if(O()==="step"){let{TeamOnboardingDiscoveryStep:M}=await Promise.resolve().then(() => (w3_(),j3_));await IE(H,(j)=>GW.default.createElement(M,{onDone:j}))}}if(process.env.ANTHROPIC_API_KEY&&!RW()&&IK()==="firstParty"){let O=sS(process.env.ANTHROPIC_API_KEY);if(W38(O)==="new"){let{ApproveApiKey:j}=await Promise.resolve().then(() => (h$K(),RY_));await IE(H,(w)=>GW.default.createElement(j,{customApiKeyTruncated:O,onDone:w}),{onChangeAppState:LfH})}}try{await KTf(H)}catch(O){IH(O)}try{await $Tf(H)}catch(O){IH(O)}try{await _Tf(H)}catch(O){IH(O)}try{await fTf(H)}catch(O){IH(O)}if((q==="bypassPermissions"||K)&&!Sm()){let{BypassPermissionsModeDialog:O}=await Promise.resolve().then(() => (W3_(),P3_));await IE(H,(M)=>GW.default.createElement(O,{onAccept:M}))}if(q==="auto"&&!FC()){let{AutoModeOptInDialog:O}=await Promise.resolve().then(() => (TE6(),w6_));await IE(H,(M)=>GW.default.createElement(O,{onAccept:M,onDecline:()=>E_(1),declineExits:!0}))}if(GP().length>0||(f?.length??0)>0)await Gb("tengu_harbor");if(f&&f.length>0){let[{isChannelsEnabled:O},{isChannelsPolicyBlocked:M},{getSettingsForSource:j}]=await Promise.all([Promise.resolve().then(() => (lL8(),St7)),Promise.resolve().then(() => (OaH(),It7)),Promise.resolve().then(() => (Lq(),U$H))]);if(!O()||IK()!=="firstParty"||M(j("policySettings")))cKH([...GP(),...f.map((w)=>({...w,dev:!0}))]),SS8(!0);else{let{DevChannelsDialog:w}=await Promise.resolve().then(() => (L3_(),J3_));await IE(H,(D)=>GW.default.createElement(w,{channels:f,onAccept:()=>{cKH([...GP(),...f.map((P)=>({...P,dev:!0}))]),SS8(!0),D()}}))}}if(_&&!m8().hasCompletedClaudeInChromeOnboarding){let{ClaudeInChromeOnboarding:O}=await Promise.resolve().then(() => (V3_(),G3_));await IE(H,(M)=>GW.default.createElement(O,{onDone:M}))}return z}async function AS6(H,q){let K;try{return await Promise.race([q,new Promise(($)=>{K=setTimeout((_,f)=>{N(`[3p-probe] ${f} hit ${E3_}ms deadline; proceeding without it`),_([])},E3_,$,H)})])}finally{clearTimeout(K)}}async function KTf(H){let{findBedrockUpgradeCandidates:q,upgradeKey:K}=await Promise.resolve().then(() => (b$K(),C$K)),$=await AS6("bedrock-upgrade",q());if($.length===0)return;let _=m8().bedrockDeclinedUpgrades??{},f=$.filter((O)=>_[O.tier]!==K(O));if(f.length===0)return;let{updateSettingsForSource:A}=await Promise.resolve().then(() => (Lq(),U$H)),{ThirdPartyModelUpgradeDialog:z}=await Promise.resolve().then(() => (u$K(),x$K)),Y=!1;for(let O of f)if(await IE(H,(j)=>GW.default.createElement(z,{tierLabel:p68[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}=A("userSettings",{env:j});if(w){c("tengu_bedrock_upgrade_save_failed",{tier:O.tier});let{Text:D}=await Promise.resolve().then(() => (iH(),Sb));await Oh8(H,(P)=>{return setTimeout(P,2000),GW.default.createElement(D,{color:"error"},"Failed to save ",p68[O.tier]," upgrade to settings.")})}else{for(let D of Object.keys(j))process.env[D]=O.toBedrockId;Y=!0,c("tengu_bedrock_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else z6((j)=>({...j,bedrockDeclinedUpgrades:{...j.bedrockDeclinedUpgrades,[O.tier]:K(O)}})),c("tengu_bedrock_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if(Y)c("tengu_bedrock_upgrade_relaunch",{}),await y3_(H)}async function y3_(H){let{Text:q}=await Promise.resolve().then(() => (iH(),Sb));H.render(GW.default.createElement(q,{dimColor:!0},"Restarting Claude Code to apply the new model\u2026"));let{sleep:K}=await Promise.resolve().then(() => Zf8);await K(250),H.unmount();let{execRelaunch:$}=await Promise.resolve().then(() => (I08(),R08));await $()}async function $Tf(H){let{checkBedrockDefaultAvailability:q}=await Promise.resolve().then(() => (b$K(),C$K)),K=await AS6("bedrock-fallback",q());if(K.length===0)return;for(let A of K){if(process.env[A.envVar]=A.fallbackBedrockId,A.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=A.fallbackBedrockId;c("tengu_bedrock_default_fallback",{tier:A.tier,default_key:A.defaultKey,fallback_key:A.fallbackKey})}let{Box:$,Text:_}=await Promise.resolve().then(() => (iH(),Sb)),f=K.map((A)=>`${p68[A.tier]}: ${A.defaultName} not available \u2014 using ${A.fallbackName} for this session`);await Oh8(H,(A)=>{return setTimeout(A,1500),GW.default.createElement($,{flexDirection:"column"},f.map((z)=>GW.default.createElement(_,{key:z,color:"warning"},z)))})}async function _Tf(H){let{findVertexUpgradeCandidates:q,vertexUpgradeKey:K}=await Promise.resolve().then(() => (U$K(),p$K)),$=await AS6("vertex-upgrade",q());if($.length===0)return;let _=m8().vertexDeclinedUpgrades??{},f=$.filter((O)=>_[O.tier]!==K(O));if(f.length===0)return;let{updateSettingsForSource:A}=await Promise.resolve().then(() => (Lq(),U$H)),{ThirdPartyModelUpgradeDialog:z}=await Promise.resolve().then(() => (u$K(),x$K)),Y=!1;for(let O of f)if(await IE(H,(j)=>GW.default.createElement(z,{tierLabel:p68[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}=A("userSettings",{env:j});if(w){c("tengu_vertex_upgrade_save_failed",{tier:O.tier});let{Text:D}=await Promise.resolve().then(() => (iH(),Sb));await Oh8(H,(P)=>{return setTimeout(P,2000),GW.default.createElement(D,{color:"error"},"Failed to save ",p68[O.tier]," upgrade to settings.")})}else{for(let D of Object.keys(j))process.env[D]=O.toVertexId;Y=!0,c("tengu_vertex_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else z6((j)=>({...j,vertexDeclinedUpgrades:{...j.vertexDeclinedUpgrades,[O.tier]:K(O)}})),c("tengu_vertex_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if(Y)c("tengu_vertex_upgrade_relaunch",{}),await y3_(H)}async function fTf(H){let{checkVertexDefaultAvailability:q}=await Promise.resolve().then(() => (U$K(),p$K)),K=await AS6("vertex-fallback",q());if(K.length===0)return;for(let A of K){if(process.env[A.envVar]=A.fallbackVertexId,A.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=A.fallbackVertexId;c("tengu_vertex_default_fallback",{tier:A.tier,default_key:A.defaultKey,fallback_key:A.fallbackKey})}let{Box:$,Text:_}=await Promise.resolve().then(() => (iH(),Sb)),f=K.map((A)=>`${p68[A.tier]}: ${A.defaultName} not available \u2014 using ${A.fallbackName} for this session`);await Oh8(H,(A)=>{return setTimeout(A,1500),GW.default.createElement($,{flexDirection:"column"},f.map((z)=>GW.default.createElement(_,{key:z,color:"warning"},z)))})}function S3_(H){let q=0,K=Td(H);if(K.stdin)c("tengu_stdin_interactive",{});let $=new N$K,_=P8K();$I6(_);let f=process.env.CLAUDE_CODE_FRAME_TIMING_LOG,A=-1;if(f)try{A=fS6.openSync(f,"a")}catch{}return{getFpsMetrics:()=>$.getMetrics(),stats:_,renderOptions:{...K,onFrame:(z)=>{if($.record(z.durationMs),_.observe("frame_duration_ms",z.durationMs),A>=0&&z.phases){let Y=JSON.stringify({total:z.durationMs,...z.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+`
|
|
12470
|
+
if(IK()==="gateway")return zVf();if(Z4())return N("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if(IK()!=="firstParty")return N("[Bootstrap] Skipped: 3P provider"),null;let H=CP();if(!(eK()?.accessToken&&XT())&&!H)return N("[Bootstrap] Skipped: no usable OAuth or API key"),null;let K=`${S$().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await ZZ(async()=>{let $=eK()?.accessToken,_;if($&&XT())_={Authorization:`Bearer ${$}`,"anthropic-beta":a0};else if(H)_={"x-api-key":H};else return N("[Bootstrap] No auth available on retry, aborting"),null;N("[Bootstrap] Fetching");let f=await lq.get(K,{headers:{"Content-Type":"application/json","User-Agent":XY(),..._},params:{entrypoint:GxH(),model:OJ(F7())},timeout:5000}),A=_Vf().safeParse(f.data);if(!A.success)return N(`[Bootstrap] Response failed validation: ${A.error.message}`),q6("api_bootstrap_fetch","parse_failed"),null;return N("[Bootstrap] Fetch ok"),A.data})}catch($){throw N(`[Bootstrap] Fetch failed: ${lq.isAxiosError($)?$.response?.status??$.code:"unknown"}`),uH("api_bootstrap_fetch","request_failed"),$}}async function ez_(){try{let H=await fVf();if(!H)return;xH("api_bootstrap_fetch");let q=H.client_data??null,K=H.additional_model_options??[],$=H.additional_model_costs??{},_=m8(),f=tz_(_.oauthAccount,H.oauth_account),A=wM(f,_.oauthAccount);if(wM(_.clientDataCache,q)&&wM(_.additionalModelOptionsCache,K)&&wM(_.additionalModelCostsCache,$)&&A){N("[Bootstrap] Cache unchanged, skipping write");return}N("[Bootstrap] Cache updated, persisting to disk"),z6((z)=>({...z,clientDataCache:q,additionalModelOptionsCache:K,additionalModelCostsCache:$,oauthAccount:tz_(z.oauthAccount,H.oauth_account)}))}catch(H){if(tM(H))N(`[Bootstrap] fetchBootstrapData failed: ${H}`,{level:"error"});else IH(H)}}async function zVf(){await W3H();let H=L3();if(!H)return null;try{let q=await lq.get(`${H.url}/v1/models`,{headers:{Authorization:`Bearer ${H.jwt}`,"anthropic-version":"2023-06-01","User-Agent":XY()},params:{limit:1000},timeout:5000}),K=AVf().safeParse(q.data);if(!K.success)return N(`[Bootstrap] Gateway /v1/models failed validation: ${K.error.message}`),null;let $=K.data.data.filter((_)=>jc8(_.id)===null).map((_)=>({value:_.id,label:_.display_name??_.id,description:_.description??""}));return N(`[Bootstrap] Gateway /v1/models \u2192 ${$.length} custom options`),{additional_model_options:$}}catch(q){return N(`[Bootstrap] Gateway /v1/models fetch failed: ${lq.isAxiosError(q)?q.response?.status??q.code:"unknown"}`),null}}var _Vf,AVf;var HY_=V(()=>{w5();Ql();JK();ZT();w8();b9();s6();dH();Cs();G8();rpH();UL();J6();wn();mK();I4();XA();w6();_Vf=SH(()=>Hq.object({client_data:Hq.record(Hq.unknown()).nullish(),additional_model_options:Hq.array(Hq.object({model:Hq.string(),name:Hq.string(),description:Hq.string()}).transform(({model:H,name:q,description:K})=>({value:H,label:q,description:K}))).nullish(),additional_model_costs:Hq.record(Hq.object({input_tokens:Hq.number(),output_tokens:Hq.number(),prompt_cache_write_tokens:Hq.number(),prompt_cache_read_tokens:Hq.number(),web_search_requests:Hq.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:Hq.object({account_uuid:Hq.string().nullish(),account_email:Hq.string().nullish(),organization_uuid:Hq.string().nullish(),organization_name:Hq.string().nullish(),organization_type:Hq.string().nullish(),organization_rate_limit_tier:Hq.string().nullish(),user_rate_limit_tier:Hq.string().nullish(),seat_tier:Hq.string().nullish()}).passthrough().nullish()}));AVf=SH(()=>Hq.object({data:Hq.array(Hq.object({id:Hq.string(),display_name:Hq.string().nullish(),description:Hq.string().nullish()}))}))});function qY_(H=process.env){let q=[];for(let K in H)if((K.startsWith("CLAUDE_CODE_")||K.startsWith("ANTHROPIC_"))&&!YVf.has(K)&&H[K]!==void 0&&H[K]!=="")q.push(K);return q.sort()}function KY_(H){let q=HK(),K=[];for(let $ of Ce8){if(OVf.has($))continue;let f=(mFH.includes($)?q[$]:void 0)??H[$],A=sn[$];if(f===void 0||MVf(f,A))continue;K.push($)}return K}function $Y_(H,q){let K=[];for(let $ in H)if(q($)==="cli")K.push($);return K.sort()}function MVf(H,q){if(H===q)return!0;if(typeof H==="object"&&H!==null)return Object.keys(H).length===0;return!1}var YVf,OVf;var _Y_=V(()=>{s6();rj();Lq();YVf=new Set(["CLAUDE_CODE_ENTRYPOINT"]);OVf=new Set(["tipsHistory","installMethod","shiftEnterKeyBindingInstalled","hasUsedBackslashReturn","hasCompletedClaudeInChromeOnboarding","remoteDialogSeen","lspRecommendationIgnoredCount","autoUpdates","autoUpdatesProtectedForNative"])});function wVf(){let H=process.argv[1]||"",q=process.execPath||process.argv[0]||"";if(a8()==="windows")H=H.split(m68.win32.sep).join(m68.posix.sep),q=q.split(m68.win32.sep).join(m68.posix.sep);let K=[H,q],$=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return K.some((_)=>$.some((f)=>_.includes(f)))}function PVf(H){let q=`${H.name}: ${H.message}`;return DVf.some((K)=>K.test(q))}function fY_(){let H=new Map;if(!wVf())process.removeAllListeners("warning");let K=($)=>{try{let _=`${$.name}: ${$.message.slice(0,50)}`,f=H.get(_)||0;if(H.has(_)||H.size<jVf)H.set(_,f+1);let A=PVf($);if(c("tengu_node_warning",{is_internal:A?1:0,occurrence_count:f+1,classname:$.name,...!1}),mH(process.env.CLAUDE_DEBUG))N(`${A?"[Internal Warning]":"[Warning]"} ${$.toString()}`,{level:"warn"})}catch{}};return process.on("warning",K),{uninstall(){process.removeListener("warning",K)}}}var m68,jVf=1000,DVf;var AY_=V(()=>{h8();dH();r8();A$();m68=require("path");DVf=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function WVf(){let H=process.env.CLAUDE_BG_SESSION_PERMISSION_RULES;if(!H||process.env.CLAUDE_CODE_SESSION_KIND!=="bg")return;try{let q=JSON.parse(H);return Array.isArray(q.allow)&&Array.isArray(q.deny)?{allow:q.allow,deny:q.deny}:void 0}catch{return}}function XVf(){if(process.env.CLAUDE_BG_MEMORY_TOGGLED_OFF==="1"&&process.env.CLAUDE_CODE_SESSION_KIND==="bg")AK8(!0)}async function YY_(H){XVf();let q=await cQq({allowedToolsCli:H.allowedTools,disallowedToolsCli:H.disallowedTools,baseToolsCli:H.baseTools,permissionMode:H.permissionMode,allowDangerouslySkipPermissions:H.allowDangerouslySkipPermissions,addDirs:H.addDirs,bgSessionPermissionRules:WVf()}),K=q.toolPermissionContext,{warnings:$,dangerousPermissions:_,overlyBroadBashPermissions:f}=q;if(H.permissionMode==="auto")K=Gc(K);return{toolPermissionContext:K,warnings:$,dangerousPermissions:_,overlyBroadBashPermissions:f}}var OY_=V(()=>{w8();dH();pJ()});async function MY_({cwd:H,toolPermissionContext:q,applyCoordinatorFilter:K,agentsJson:$,agentSetting:_,commandsPromise:f,agentDefsPromise:A,onToolsLoaded:z}){let Y=bv(q);z?.(),f?.catch(()=>{}),A?.catch(()=>{});let[O,M]=await Promise.all([f??s2(H),A??HI(H)]),j=[];if($)try{let W=N7($);if(W)j=QD8(W,"flagSettings")}catch(W){IH(W)}let w=[...M.allAgents,...j],D={...M,allAgents:w,activeAgents:Mx(w)},P=Z$K(D.activeAgents,_);return OF(P?.agentType),{tools:Y,commands:O,agentDefinitions:D,mainThreadAgentDefinition:P,cliAgents:j}}function Z$K(H,q){if(!q)return;let K=H.find(($)=>$.agentType===q)??H.find(($)=>$.agentType.endsWith(`:${q}`));if(!K)N(`Warning: agent "${q}" not found. Available agents: ${H.map(($)=>$.agentType).join(", ")}. Using default behavior.`);return K}var jY_=V(()=>{w8();hz();xJ();sZ();dH();r8();D5();J6()});function CfH(H){switch(H.kind){case"session-start":return IU(H.source,{sessionId:H.sessionId,agentType:H.agentType,model:H.model,forceSyncExecution:H.forceSyncExecution});case"setup":return ke7(H.trigger,{forceSyncExecution:H.forceSyncExecution})}}var G$K=V(()=>{CPH()});function ry6(){let H=wY_.c(1),q;if(H[0]===Symbol.for("react.memo_cache_sentinel"))q=V$K.default.createElement(k,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",V$K.default.createElement(P$,{url:"https://code.claude.com/docs/en/mcp"},"MCP documentation"),"."),H[0]=q;else q=H[0];return q}var wY_,V$K;var T$K=V(()=>{iH();wY_=p(H8(),1),V$K=p(WH(),1)});function PY_(H){let q=DY_.c(13),{serverName:K,onDone:$}=H,_;if(q[0]!==$||q[1]!==K)_=function(D){c("tengu_mcp_dialog_choice",{choice:D});H:switch(D){case"yes":case"yes_all":{let W=(GK()||{}).enabledMcpjsonServers||[];if(!W.includes(K))qK("localSettings",{enabledMcpjsonServers:[...W,K]});if(D==="yes_all")qK("localSettings",{enableAllProjectMcpServers:!0});$();break H}case"no":{let W=(GK()||{}).disabledMcpjsonServers||[];if(!W.includes(K))qK("localSettings",{disabledMcpjsonServers:[...W,K]});$()}}},q[0]=$,q[1]=K,q[2]=_;else _=q[2];let f=_,A=`New MCP server found in .mcp.json: ${K}`,z;if(q[3]!==f)z=()=>f("no"),q[3]=f,q[4]=z;else z=q[4];let Y;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Y=oy6.default.createElement(ry6,null),q[5]=Y;else Y=q[5];let O;if(q[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"}],q[6]=O;else O=q[6];let M;if(q[7]!==f)M=oy6.default.createElement($q,{options:O,onChange:(w)=>f(w),onCancel:()=>f("no")}),q[7]=f,q[8]=M;else M=q[8];let j;if(q[9]!==A||q[10]!==z||q[11]!==M)j=oy6.default.createElement(x6,{title:A,color:"warning",onCancel:z},Y,M),q[9]=A,q[10]=z,q[11]=M,q[12]=j;else j=q[12];return j}var DY_,oy6;var WY_=V(()=>{h8();Lq();Yw();p$();T$K();DY_=p(H8(),1),oy6=p(WH(),1)});function JY_(H){let q=XY_.c(21),{serverNames:K,onDone:$}=H,_;if(q[0]!==$||q[1]!==K)_=function(X){let J=GK()||{},G=J.enabledMcpjsonServers||[],L=J.disabledMcpjsonServers||[],[Z,T]=bT6(K,(v)=>X.includes(v));if(c("tengu_mcp_multidialog_choice",{approved:Z.length,rejected:T.length}),Z.length>0){let v=f$([...G,...Z]);qK("localSettings",{enabledMcpjsonServers:v})}if(T.length>0){let v=f$([...L,...T]);qK("localSettings",{disabledMcpjsonServers:v})}$()},q[0]=$,q[1]=K,q[2]=_;else _=q[2];let f=_,A;if(q[3]!==$||q[4]!==K)A=()=>{let X=(GK()||{}).disabledMcpjsonServers||[],J=f$([...X,...K]);qK("localSettings",{disabledMcpjsonServers:J}),$()},q[3]=$,q[4]=K,q[5]=A;else A=q[5];let z=A,Y=`${K.length} new MCP servers found in .mcp.json`,O;if(q[6]===Symbol.for("react.memo_cache_sentinel"))O=Al.default.createElement(ry6,null),q[6]=O;else O=q[6];let M;if(q[7]!==K)M=K.map(JVf),q[7]=K,q[8]=M;else M=q[8];let j;if(q[9]!==z||q[10]!==f||q[11]!==K||q[12]!==M)j=Al.default.createElement(dWH,{options:M,defaultValue:K,onSubmit:f,onCancel:z,hideIndexes:!0}),q[9]=z,q[10]=f,q[11]=K,q[12]=M,q[13]=j;else j=q[13];let w;if(q[14]!==z||q[15]!==Y||q[16]!==j)w=Al.default.createElement(x6,{title:Y,subtitle:"Select any you wish to enable.",color:"warning",onCancel:z,hideInputGuide:!0},O,j),q[14]=z,q[15]=Y,q[16]=j,q[17]=w;else w=q[17];let D;if(q[18]===Symbol.for("react.memo_cache_sentinel"))D=Al.default.createElement(U,{paddingX:1},Al.default.createElement(k,{dimColor:!0,italic:!0},Al.default.createElement(O6,null,Al.default.createElement(K8,{chord:"space",action:"select"}),Al.default.createElement(K8,{chord:"enter",action:"confirm"}),Al.default.createElement(o6,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})))),q[18]=D;else D=q[18];let P;if(q[19]!==w)P=Al.default.createElement(Al.default.Fragment,null,w,D),q[19]=w,q[20]=P;else P=q[20];return P}function JVf(H){return{label:H,value:H}}var XY_,Al;var LY_=V(()=>{aoq();h8();iH();Lq();y_();PT8();q$();p$();DK();T$K();XY_=p(H8(),1),Al=p(WH(),1)});async function k$K(H){let{servers:q}=H0("project"),K=Object.keys(q).filter(($)=>dlH($)==="pending");if(K.length===0)return;await LVf(K);try{await new Promise(($)=>{let _=()=>void $();if(K.length===1&&K[0]!==void 0){let f=K[0];H.render(DIH.default.createElement(tw,null,DIH.default.createElement(tD,null,DIH.default.createElement(PY_,{serverName:f,onDone:_}))))}else H.render(DIH.default.createElement(tw,null,DIH.default.createElement(tD,null,DIH.default.createElement(JY_,{serverNames:K,onDone:_}))))})}finally{await ZVf()}}async function LVf(H){{if(!b7())return;let q=process.env.CLAUDE_JOB_DIR;if(!q)return;let K=await c7(q);if(!K)return;let $=H.length,_=E6($,"server"),f=E6($,"needs","need");try{await bf(q,{...K,state:"blocked",detail:`${$} new MCP ${_} ${f} approval`,tempo:"blocked",needs:`approve ${$} new MCP ${_} in .mcp.json (${H.join(", ")}) \u2014 attach to respond`,updatedAt:new Date().toISOString()})}catch(A){IH(A)}}}async function ZVf(){{if(!b7())return;let H=process.env.CLAUDE_JOB_DIR;if(!H)return;let q=await c7(H);if(!q||q.state!=="blocked")return;try{await bf(H,{...q,state:"working",tempo:"idle",needs:void 0,block:void 0,detail:q.intent??"",updatedAt:new Date().toISOString()})}catch(K){IH(K)}}}var DIH;var ZY_=V(()=>{WY_();LY_();tY();wU();kx();i5();J6();Eq();EV();wv();DIH=p(WH(),1)});function GY_(){return}var GVf;var VY_=V(()=>{s6();dH();GVf={iterm:"iTerm","iterm.app":"iTerm",ghostty:"Ghostty",kitty:"kitty",alacritty:"Alacritty",wezterm:"WezTerm",apple_terminal:"Terminal"}});class N$K{frameDurations=[];totalFrames=0;firstRenderTime;lastRenderTime;record(H){let q=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=q;if(this.lastRenderTime=q,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 q=this.totalFrames/(H/1000),K=this.frameDurations.slice().sort((A,z)=>z-A),$=Math.max(0,Math.ceil(K.length*0.01)-1),_=K[$],f=_>0?1000/_:0;return{averageFps:Math.round(q*100)/100,low1PctFps:Math.round(f*100)/100}}}async function vY_(){try{let H=await NzH();if(!H){N("Not in a GitHub repository, skipping path mapping update");return}let q=Pq(),$=F9(q)??q,_;try{_=(await TY_.realpath($)).normalize("NFC")}catch{_=$}let f=H.toLowerCase(),z=m8().githubRepoPaths?.[f]??[];if(z[0]===_){N(`Path ${_} already tracked for repo ${f}`);return}let Y=z.filter((M)=>M!==_),O=[_,...Y];z6((M)=>({...M,githubRepoPaths:{...M.githubRepoPaths,[f]:O}})),N(`Added ${_} to tracked paths for repo ${f}`)}catch(H){N(`Error updating repo path mapping: ${H}`)}}function ay6(H){let q=m8(),K=H.toLowerCase();return q.githubRepoPaths?.[K]??[]}async function sy6(H){let q=await Promise.all(H.map(M1));return H.filter((K,$)=>q[$])}async function kY_(H,q){try{let K=await a_8(H);if(!K)return!1;let $=rLH(K);if(!$)return!1;return $.toLowerCase()===q.toLowerCase()}catch{return!1}}function NY_(H,q){let K=m8(),$=H.toLowerCase(),_=K.githubRepoPaths?.[$]??[],f=_.filter((z)=>z!==q);if(f.length===_.length)return;let A={...K.githubRepoPaths};if(f.length===0)delete A[$];else A[$]=f;z6((z)=>({...z,githubRepoPaths:A})),N(`Removed ${q} from tracked paths for repo ${$}`)}var TY_;var _h8=V(()=>{w8();s6();dH();cG();C_();Gm();Y4();TY_=require("fs/promises")});async function VVf(){return{success:true};try{let H=S$(),q=new URL(H.TOKEN_URL),K=[`${H.BASE_API_URL}/api/hello`,`${q.origin}/v1/oauth/hello`],$=async(A)=>{try{let z=await lq.get(A,{headers:{"User-Agent":gn()}});if(z.status!==200)return{success:!1,error:`Failed to connect to ${new URL(A).hostname}: Status ${z.status}`};return{success:!0}}catch(z){let Y=new URL(A).hostname,O=yMH(z);return{success:!1,error:`Failed to connect to ${Y}: ${z instanceof Error?z.code||z.message:String(z)}`,sslHint:O??void 0}}},f=(await Promise.all(K.map($))).find((A)=>!A.success);if(f)c("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!f.error,isSSLError:!!f.sslHint});return f||{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 hY_(H){let q=EY_.c(14),{onSuccess:K}=H,[$,_]=R0.useState(null),[f,A]=R0.useState(!0),z=qO(1000)&&f,Y,O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Y=()=>{(async function(){let X=await VVf();_(X),A(!1)})()},O=[],q[0]=Y,q[1]=O;else Y=q[0],O=q[1];R0.useEffect(Y,O);let M;if(q[2]!==K||q[3]!==$?.success)M=()=>{if($?.success)K()},q[2]=K,q[3]=$?.success,q[4]=M;else M=q[4];let j;if(q[5]!==K||q[6]!==$)j=[$,K],q[5]=K,q[6]=$,q[7]=j;else j=q[7];R0.useEffect(M,j),qO(TVf,$&&!$.success?100:null);let w;if(q[8]!==f||q[9]!==$||q[10]!==z)w=f&&z?R0.default.createElement(U,{paddingLeft:1},R0.default.createElement(S1,null),R0.default.createElement(k,null,"Checking connectivity...")):!$?.success&&!f&&R0.default.createElement(U,{flexDirection:"column",gap:1},R0.default.createElement(k,{color:"error"},"Unable to connect to Anthropic services"),R0.default.createElement(k,{color:"error"},$?.error),$?.sslHint?R0.default.createElement(U,{flexDirection:"column",gap:1},R0.default.createElement(k,null,$.sslHint),R0.default.createElement(k,{color:"suggestion"},"See https://code.claude.com/docs/en/network-config")):R0.default.createElement(U,{flexDirection:"column",gap:1},R0.default.createElement(k,null,"Please check your internet connection and network settings."),R0.default.createElement(k,null,"Note: Claude Code might not be available in your country. Check supported countries at"," ",R0.default.createElement(k,{color:"suggestion"},"https://anthropic.com/supported-countries")))),q[8]=f,q[9]=$,q[10]=z,q[11]=w;else w=q[11];let D;if(q[12]!==w)D=R0.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},w),q[12]=w,q[13]=D;else D=q[13];return D}function TVf(){rX("preflight_endpoint"),process.exit(1)}var EY_,R0;var yY_=V(()=>{w5();h8();iJ();b9();Tl();D66();iH();_HH();UL();J6();EY_=p(H8(),1),R0=p(WH(),1)});var RY_={};J8(RY_,{ApproveApiKey:()=>E$K});function E$K(H){let q=SY_.c(16),{customApiKeyTruncated:K,onDone:$}=H,_;if(q[0]!==K||q[1]!==$)_=function(P){H:switch(P){case"yes":{z6((W)=>({...W,customApiKeyResponses:{...W.customApiKeyResponses,approved:[...W.customApiKeyResponses?.approved??[],K]}})),$(!0);break H}case"no":z6((W)=>({...W,customApiKeyResponses:{...W.customApiKeyResponses,rejected:[...W.customApiKeyResponses?.rejected??[],K]}})),$(!1)}},q[0]=K,q[1]=$,q[2]=_;else _=q[2];let f=_,A;if(q[3]!==f)A=()=>f("no"),q[3]=f,q[4]=A;else A=q[4];let z;if(q[5]===Symbol.for("react.memo_cache_sentinel"))z=bfH.default.createElement(k,{bold:!0},"ANTHROPIC_API_KEY"),q[5]=z;else z=q[5];let Y;if(q[6]!==K)Y=bfH.default.createElement(k,null,z,bfH.default.createElement(k,null,": sk-ant-...",K)),q[6]=K,q[7]=Y;else Y=q[7];let O;if(q[8]===Symbol.for("react.memo_cache_sentinel"))O=bfH.default.createElement(k,null,"Do you want to use this API key?"),q[8]=O;else O=q[8];let M;if(q[9]===Symbol.for("react.memo_cache_sentinel"))M=bfH.default.createElement(k,null,"No (",bfH.default.createElement(k,{bold:!0},"recommended"),")"),q[9]=M;else M=q[9];let j;if(q[10]!==f)j=bfH.default.createElement(d_,{focus:"cancel",cancelLabel:M,onConfirm:()=>f("yes"),onCancel:()=>f("no")}),q[10]=f,q[11]=j;else j=q[11];let w;if(q[12]!==A||q[13]!==Y||q[14]!==j)w=bfH.default.createElement(x6,{title:"Detected a custom API key in your environment",color:"warning",onCancel:A},Y,O,j),q[12]=A,q[13]=Y,q[14]=j,q[15]=w;else w=q[15];return w}var SY_,bfH;var h$K=V(()=>{iH();s6();bM();p$();SY_=p(H8(),1),bfH=p(WH(),1)});function ty6(){let H=IY_.c(1),q;if(H[0]===Symbol.for("react.memo_cache_sentinel"))q=fh8.createElement(k,{color:"permission"},"Press ",fh8.createElement(k,{bold:!0},"Enter")," to continue\u2026"),H[0]=q;else q=H[0];return q}var IY_,fh8;var y$K=V(()=>{iH();IY_=p(H8(),1),fh8=p(WH(),1)});function ey6(H){let q=CY_.c(7),{children:K}=H,{marker:$}=CJH.useContext(S$K),_;if(q[0]!==$)_=CJH.default.createElement(k,{dimColor:!0},$),q[0]=$,q[1]=_;else _=q[1];let f;if(q[2]!==K)f=CJH.default.createElement(U,{flexDirection:"column"},K),q[2]=K,q[3]=f;else f=q[3];let A;if(q[4]!==_||q[5]!==f)A=CJH.default.createElement(U,{gap:1},_,f),q[4]=_,q[5]=f,q[6]=A;else A=q[6];return A}var CY_,CJH,S$K;var bY_=V(()=>{iH();CY_=p(H8(),1),CJH=p(WH(),1),S$K=CJH.createContext({marker:""})});function mY_(H){let q=uY_.c(9),{children:K}=H,{marker:$}=dB.useContext(xY_),_=0;for(let Y of dB.default.Children.toArray(K)){if(!dB.isValidElement(Y)||Y.type!==ey6)continue;_++}let f=String(_).length,A;if(q[0]!==K||q[1]!==f||q[2]!==$){let Y;if(q[4]!==f||q[5]!==$)Y=(O,M)=>{if(!dB.isValidElement(O)||O.type!==ey6)return O;let j=`${String(M+1).padStart(f)}.`,w=`${$}${j}`;return dB.default.createElement(xY_.Provider,{value:{marker:w}},dB.default.createElement(S$K.Provider,{value:{marker:w}},O))},q[4]=f,q[5]=$,q[6]=Y;else Y=q[6];A=dB.default.Children.map(K,Y),q[0]=K,q[1]=f,q[2]=$,q[3]=A}else A=q[3];let z;if(q[7]!==A)z=dB.default.createElement(U,{flexDirection:"column"},A),q[7]=A,q[8]=z;else z=q[8];return z}var uY_,dB,xY_,HS6;var pY_=V(()=>{iH();bY_();uY_=p(H8(),1),dB=p(WH(),1),xY_=dB.createContext({marker:""});mY_.Item=ey6;HS6=mY_});var FY_={};J8(FY_,{SkippableStep:()=>BY_,Onboarding:()=>vVf});function vVf({onDone:H}){let[q,K]=Z1.useState(0),[$,_]=Z1.useState(!1),[f]=Z1.useState(()=>Fw()),[A,z]=d7();Z1.useEffect(()=>{c("tengu_began_setup",{oauthEnabled:f})},[f]);function Y(){if(q<X.length-1){let Z=q+1;K(Z),c("tengu_onboarding_step",{oauthEnabled:f,stepId:X[Z]?.id}),xH("onboarding_step_complete")}else xH("onboarding_complete"),H()}function O(Z){z(Z),Y()}let M=ez(),j=Z1.default.createElement(U,{marginX:1},Z1.default.createElement(OeH,{onThemeSelect:O,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0})),w=Z1.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},Z1.default.createElement(k,{bold:!0},"Security notes:"),Z1.default.createElement(U,{flexDirection:"column",width:70},Z1.default.createElement(HS6,null,Z1.default.createElement(HS6.Item,null,Z1.default.createElement(k,null,"Claude can make mistakes"),Z1.default.createElement(k,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",Z1.default.createElement(hb,null),"running code.",Z1.default.createElement(hb,null))),Z1.default.createElement(HS6.Item,null,Z1.default.createElement(k,null,"Due to prompt injection risks, only use it with code you trust"),Z1.default.createElement(Qv,{url:"https://code.claude.com/docs/en/security"})))),Z1.default.createElement(ty6,null)),D=Z1.default.createElement(hY_,{onSuccess:Y}),P=Z1.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY||RW())return"";let Z=sS(process.env.ANTHROPIC_API_KEY);if(W38(Z)==="new")return Z},[]);function W(Z){if(Z)_(!0);Y()}let X=[];if(f)X.push({id:"preflight",component:D});if(X.push({id:"theme",component:j}),P)X.push({id:"api-key",component:Z1.default.createElement(E$K,{customApiKeyTruncated:P,onDone:W})});if(f)X.push({id:"oauth",component:Z1.default.createElement(BY_,{skip:$,onSkip:Y},Z1.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},Z1.default.createElement(XhH,{onDone:Y,urlOutdent:1})))});if(X.push({id:"security",component:w}),MTH())X.push({id:"terminal-setup",component:Z1.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},Z1.default.createElement(k,{bold:!0},"Use Claude Code's terminal setup?"),Z1.default.createElement(U,{flexDirection:"column",width:70,gap:1},Z1.default.createElement(k,null,"For the optimal coding experience, enable the recommended settings",Z1.default.createElement(hb,null),"for your terminal:"," ",Fq.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),Z1.default.createElement(d_,{confirmLabel:"Yes, use recommended settings",cancelLabel:"No, maybe later with /terminal-setup",onConfirm:()=>void _q6(A).then(()=>xH("onboarding_terminal_setup")).catch(()=>uH("onboarding_terminal_setup","onboarding_terminal_setup_failed")).finally(Y),onCancel:Y}),Z1.default.createElement(k,{dimColor:!0},M.pending?Z1.default.createElement(Z1.default.Fragment,null,"Press ",M.keyName," again to exit"):Z1.default.createElement(O6,null,Z1.default.createElement(K8,{chord:"enter",action:"confirm"}),Z1.default.createElement(K8,{chord:"escape",action:"skip"})))))});let J=X[q],G=Z1.useCallback(()=>{if(q===X.length-1)H();else Y()},[q,H,Y]),L=Z1.useCallback(()=>{Y()},[Y]);return zK({"confirm:yes":G},{context:"Confirmation",isActive:J?.id==="security"}),zK({"confirm:no":L},{context:"Confirmation",isActive:J?.id==="terminal-setup"}),Z1.default.createElement(U,{flexDirection:"column"},Z1.default.createElement(OJH,null),Z1.default.createElement(U,{flexDirection:"column",marginTop:1},J?.component,M.pending&&Z1.default.createElement(U,{padding:1},Z1.default.createElement(k,{dimColor:!0},"Press ",M.keyName," again to exit"))))}function BY_(H){let q=UY_.c(4),{skip:K,onSkip:$,children:_}=H,f,A;if(q[0]!==$||q[1]!==K)f=()=>{if(K)$()},A=[K,$],q[0]=$,q[1]=K,q[2]=f,q[3]=A;else f=q[2],A=q[3];if(Z1.useEffect(f,A),K)return null;return _}var UY_,Z1;var QY_=V(()=>{h8();zMH();hZ();iH();hK();w6();JK();k58();s6();m5();r8();yY_();h$K();oL8();q$();bM();IqH();DK();LN8();y$K();$Z6();pY_();UY_=p(H8(),1),Z1=p(WH(),1)});function gY_(H){if(H===null)return!1;if(H.statusLine)return!0;if(H.fileSuggestion)return!0;if(!H.hooks)return!1;for(let q of Object.values(H.hooks))if(q.length>0)return!0;return!1}function oY_(){let H=[],q=p6("projectSettings");if(gY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(gY_(K))H.push(".claude/settings.local.json");return H}function dY_(H){return H.some((q)=>q.ruleBehavior==="allow"&&(q.ruleValue.toolName===dK||q.ruleValue.toolName.startsWith(dK+"(")))}function aY_(){let H=[],q=Lj8("projectSettings");if(dY_(q))H.push(".claude/settings.json");let K=Lj8("localSettings");if(dY_(K))H.push(".claude/settings.local.json");return H}function cY_(H){return!!H?.otelHeadersHelper}function sY_(){let H=[],q=p6("projectSettings");if(cY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(cY_(K))H.push(".claude/settings.local.json");return H}function lY_(H){return!!H?.apiKeyHelper}function tY_(){let H=[],q=p6("projectSettings");if(lY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(lY_(K))H.push(".claude/settings.local.json");return H}function nY_(H){return!!(H?.awsAuthRefresh||H?.awsCredentialExport)}function eY_(){let H=[],q=p6("projectSettings");if(nY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(nY_(K))H.push(".claude/settings.local.json");return H}function iY_(H){return!!H?.gcpAuthRefresh}function H3_(){let H=[],q=p6("projectSettings");if(iY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(iY_(K))H.push(".claude/settings.local.json");return H}function rY_(H){if(!H?.env)return!1;return Object.keys(H.env).some((q)=>!JnH.has(q.toUpperCase()))}function q3_(){let H=[],q=p6("projectSettings");if(rY_(q))H.push(".claude/settings.json");let K=p6("localSettings");if(rY_(K))H.push(".claude/settings.local.json");return H}var K3_=V(()=>{Lq();C56();C_H()});var _3_={};J8(_3_,{TrustDialog:()=>kVf});function kVf(H){let q=$3_.c(32),{onDone:K,commands:$}=H,_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=H0("project"),q[0]=_;else _=q[0];let{servers:f}=_,A;if(q[1]===Symbol.for("react.memo_cache_sentinel"))A=Object.keys(f),q[1]=A;else A=q[1];let z=A.length>0,Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))Y=oY_(),q[2]=Y;else Y=q[2];let M=Y.length>0,j;if(q[3]===Symbol.for("react.memo_cache_sentinel"))j=aY_(),q[3]=j;else j=q[3];let w=j,D;if(q[4]===Symbol.for("react.memo_cache_sentinel"))D=tY_(),q[4]=D;else D=q[4];let W=D.length>0,X;if(q[5]===Symbol.for("react.memo_cache_sentinel"))X=eY_(),q[5]=X;else X=q[5];let G=X.length>0,L;if(q[6]===Symbol.for("react.memo_cache_sentinel"))L=H3_(),q[6]=L;else L=q[6];let T=L.length>0,v;if(q[7]===Symbol.for("react.memo_cache_sentinel"))v=sY_(),q[7]=v;else v=q[7];let S=v.length>0,y;if(q[8]===Symbol.for("react.memo_cache_sentinel"))y=q3_(),q[8]=y;else y=q[8];let I=y.length>0,b;if(q[9]!==$)b=$?.some(RVf)??!1,q[9]=$,q[10]=b;else b=q[10];let x=b,R;if(q[11]!==$)R=$?.some(yVf)??!1,q[11]=$,q[12]=R;else R=q[12];let m=R,Q=w.length>0||x||m,B=u5(),g,l;if(q[13]!==Q)g=()=>{let KH=R$K.homedir()===x8();c("tengu_trust_dialog_shown",{isHomeDir:KH,hasMcpServers:z,hasHooks:M,hasBashExecution:Q,hasApiKeyHelper:W,hasAwsCommands:G,hasGcpCommands:T,hasOtelHeadersHelper:S,hasDangerousEnvVars:I})},l=[z,M,Q,W,G,T,S,I],q[13]=Q,q[14]=g,q[15]=l;else g=q[14],l=q[15];RE.useEffect(g,l);let d;if(q[16]!==Q||q[17]!==K)d=function(MH){if(MH==="exit"){uH("onboarding_trust_dialog","onboarding_trust_denied"),E_(1);return}let AH=R$K.homedir()===x8();if(xH("onboarding_trust_dialog"),c("tengu_trust_dialog_accept",{isHomeDir:AH,hasMcpServers:z,hasHooks:M,hasBashExecution:Q,hasApiKeyHelper:W,hasAwsCommands:G,hasGcpCommands:T,hasOtelHeadersHelper:S,hasDangerousEnvVars:I}),AH)WAH(!0);else TM(hVf);K()},q[16]=Q,q[17]=K,q[18]=d;else d=q[18];let i=d,t=ez(EVf),s;if(q[19]===Symbol.for("react.memo_cache_sentinel"))s={context:"Confirmation"},q[19]=s;else s=q[19];if(zq("confirm:no",NVf,s),B)return queueMicrotask(K),null;let HH,o,e;if(q[20]===Symbol.for("react.memo_cache_sentinel"))HH=RE.default.createElement(k,{bold:!0},g8().cwd()),o=RE.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=RE.default.createElement(k,null,"","",""),q[20]=HH,q[21]=o,q[22]=e;else HH=q[20],o=q[21],e=q[22];let wH;if(q[23]===Symbol.for("react.memo_cache_sentinel"))wH=RE.default.createElement(k,{dimColor:!0},RE.default.createElement(P$,{url:"https://code.claude.com/docs/en/security"},"Security guide")),q[23]=wH;else wH=q[23];let fH;if(q[24]!==i)fH=RE.default.createElement(d_,{confirmLabel:"Yes, I trust this folder",cancelLabel:"No, exit",onConfirm:()=>i("enable_all"),onCancel:()=>i("exit")}),q[24]=i,q[25]=fH;else fH=q[25];let qH;if(q[26]!==t.keyName||q[27]!==t.pending)qH=RE.default.createElement(k,{dimColor:!0},t.pending?RE.default.createElement(RE.default.Fragment,null,"Press ",t.keyName," again to exit"):RE.default.createElement(O6,null,RE.default.createElement(K8,{chord:"enter",action:"confirm"}),RE.default.createElement(K8,{chord:"escape",action:"cancel"}))),q[26]=t.keyName,q[27]=t.pending,q[28]=qH;else qH=q[28];let $H;if(q[29]!==fH||q[30]!==qH)$H=RE.default.createElement(_Y,{color:"warning",titleColor:"warning",title:"Accessing workspace:"},RE.default.createElement(U,{flexDirection:"column",gap:1,paddingTop:1},HH,o,e,wH,fH,qH)),q[29]=fH,q[30]=qH,q[31]=$H;else $H=q[31];return $H}function NVf(){E_(0)}function EVf(){return E_(1)}function hVf(H){return{...H,hasTrustDialogAccepted:!0}}function yVf(H){return H.type==="prompt"&&(H.loadedFrom==="skills"||H.loadedFrom==="plugin")&&(H.source==="projectSettings"||H.source==="localSettings"||H.source==="plugin")&&H.allowedTools?.some(SVf)}function SVf(H){return H===dK||H.startsWith(dK+"(")}function RVf(H){return H.type==="prompt"&&H.loadedFrom==="commands_DEPRECATED"&&(H.source==="projectSettings"||H.source==="localSettings")&&H.allowedTools?.some(IVf)}function IVf(H){return H===dK||H.startsWith(dK+"(")}var $3_,R$K,RE;var f3_=V(()=>{h8();w8();hZ();iH();hK();w6();EV();s6();XK();lK();TA();q$();bM();DK();Jv();K3_();$3_=p(H8(),1),R$K=require("os"),RE=p(WH(),1)});var Y3_={};J8(Y3_,{ProTrialStartScreen:()=>CVf});function CVf(H){let q=A3_.c(9),{onDone:K}=H,[$,_]=z3_.useState("idle"),f;if(q[0]!==K||q[1]!==$)f={"confirm:yes":()=>{if($==="starting")return;if($==="error"){K();return}_("starting"),c("tengu_pro_trial_start_pressed",{}),eiq().then(()=>{c("tengu_pro_trial_start_ok",{}),K()}).catch((w)=>{if(tM(w))N(`Failed to start pro trial: ${VH(w)}`,{level:"error"});else IH(w);c("tengu_pro_trial_start_error",{}),_("error")})}},q[0]=K,q[1]=$,q[2]=f;else f=q[2];let A;if(q[3]===Symbol.for("react.memo_cache_sentinel"))A={context:"Confirmation"},q[3]=A;else A=q[3];zK(f,A);let z;if(q[4]===Symbol.for("react.memo_cache_sentinel"))z=tiq(),q[4]=z;else z=q[4];let Y=z,O;if(q[5]===Symbol.for("react.memo_cache_sentinel"))O=I0.createElement(OJH,null),q[5]=O;else O=q[5];let M;if(q[6]===Symbol.for("react.memo_cache_sentinel"))M=I0.createElement(k,null,Y!==null?`Your Pro plan includes ${Y} days of Claude Code.`:"Your Pro plan includes a Claude Code trial."),q[6]=M;else M=q[6];let j;if(q[7]!==$)j=I0.createElement(U,{flexDirection:"column",paddingX:1,gap:1},O,M,$==="starting"?I0.createElement(U,null,I0.createElement(S1,null),I0.createElement(k,null," Starting your trial\u2026")):$==="error"?I0.createElement(k,{color:"error"},"Couldn't start your trial. Press ",I0.createElement(k,{bold:!0},"Enter")," to continue."):I0.createElement(k,{color:"permission"},"Press ",I0.createElement(k,{bold:!0},"Enter")," to start your trial")),q[7]=$,q[8]=j;else j=q[8];return j}var A3_,I0,z3_;var O3_=V(()=>{iH();hK();h8();MH8();dH();G8();J6();LN8();iJ();A3_=p(H8(),1),I0=p(WH(),1),z3_=p(WH(),1)});var j3_={};J8(j3_,{TeamOnboardingDiscoveryStep:()=>bVf});function bVf(H){let q=M3_.c(6),{onDone:K}=H,$;if(q[0]!==K)$={"confirm:yes":K},q[0]=K,q[1]=$;else $=q[1];let _;if(q[2]===Symbol.for("react.memo_cache_sentinel"))_={context:"Confirmation"},q[2]=_;else _=q[2];zK($,_);let f;if(q[3]===Symbol.for("react.memo_cache_sentinel"))f=nI.createElement(OJH,null),q[3]=f;else f=q[3];let A;if(q[4]===Symbol.for("react.memo_cache_sentinel"))A=nI.createElement(k,{bold:!0},qk6.heading),q[4]=A;else A=q[4];let z;if(q[5]===Symbol.for("react.memo_cache_sentinel"))z=nI.createElement(U,{flexDirection:"column"},f,nI.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1,marginTop:1},A,nI.createElement(U,{width:70},nI.createElement(k,null,qk6.body)),nI.createElement(ty6,null))),q[5]=z;else z=q[5];return z}var M3_,nI;var w3_=V(()=>{mk8();iH();hK();LN8();y$K();M3_=p(H8(),1),nI=p(WH(),1)});var P3_={};J8(P3_,{BypassPermissionsModeDialog:()=>xVf});function xVf(H){let q=D3_.c(6),{onAccept:K}=H,$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=[],q[0]=$;else $=q[0];ZKH.useEffect(mVf,$);let _;if(q[1]!==K)_=function(M){H:switch(M){case"accept":{c("tengu_bypass_permissions_mode_dialog_accept",{}),qK("userSettings",{skipDangerousModePermissionPrompt:!0}),K();break H}case"decline":E_(1)}},q[1]=K,q[2]=_;else _=q[2];let f=_,A=uVf,z;if(q[3]===Symbol.for("react.memo_cache_sentinel"))z=ZKH.default.createElement(U,{flexDirection:"column",gap:1},ZKH.default.createElement(k,null,"In Bypass Permissions mode, Claude Code will not ask for your approval before running potentially dangerous commands.",ZKH.default.createElement(hb,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),ZKH.default.createElement(k,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),ZKH.default.createElement(P$,{url:"https://code.claude.com/docs/en/security"})),q[3]=z;else z=q[3];let Y;if(q[4]!==f)Y=ZKH.default.createElement(x6,{title:"WARNING: Claude Code running in Bypass Permissions mode",color:"error",onCancel:A},z,ZKH.default.createElement(d_,{cancelFirst:!0,focus:"cancel",confirmLabel:"Yes, I accept",cancelLabel:"No, exit",onConfirm:()=>f("accept"),onCancel:()=>f("decline")})),q[4]=f,q[5]=Y;else Y=q[5];return Y}function uVf(){E_(0)}function mVf(){c("tengu_bypass_permissions_mode_dialog_shown",{})}var D3_,ZKH;var W3_=V(()=>{h8();iH();TA();Lq();bM();p$();D3_=p(H8(),1),ZKH=p(WH(),1)});var J3_={};J8(J3_,{DevChannelsDialog:()=>pVf});function pVf(H){let q=X3_.c(13),{channels:K,onAccept:$}=H,_;if(q[0]!==$)_=function(P){H:switch(P){case"accept":{$();break H}case"exit":E_(1)}},q[0]=$,q[1]=_;else _=q[1];let f=_,A=BVf,z,Y;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z=PIH.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."),Y=PIH.default.createElement(k,null,"Please use --channels to run a list of approved channels."),q[2]=z,q[3]=Y;else z=q[2],Y=q[3];let O;if(q[4]!==K)O=K.map(UVf).join(", "),q[4]=K,q[5]=O;else O=q[5];let M;if(q[6]!==O)M=PIH.default.createElement(U,{flexDirection:"column",gap:1},z,Y,PIH.default.createElement(k,{dimColor:!0},"Channels:"," ",O)),q[6]=O,q[7]=M;else M=q[7];let j;if(q[8]!==f)j=PIH.default.createElement(d_,{confirmLabel:"I am using this for local development",cancelLabel:"Exit",onConfirm:()=>f("accept"),onCancel:()=>f("exit")}),q[8]=f,q[9]=j;else j=q[9];let w;if(q[10]!==M||q[11]!==j)w=PIH.default.createElement(x6,{title:"WARNING: Loading development channels",color:"error",onCancel:A},M,j),q[10]=M,q[11]=j,q[12]=w;else w=q[12];return w}function UVf(H){return H.kind==="plugin"?`plugin:${H.name}@${H.marketplace}`:`server:${H.name}`}function BVf(){E_(0)}var X3_,PIH;var L3_=V(()=>{iH();TA();bM();p$();X3_=p(H8(),1),PIH=p(WH(),1)});var G3_={};J8(G3_,{ClaudeInChromeOnboarding:()=>gVf});function gVf(H){let q=Z3_.c(21),{onDone:K}=H,[$,_]=TG.useState(!1),f,A;if(q[0]===Symbol.for("react.memo_cache_sentinel"))f=()=>{c("tengu_claude_in_chrome_onboarding_shown",{}),e5H().then(_).catch(IH),z6(dVf)},A=[],q[0]=f,q[1]=A;else f=q[0],A=q[1];TG.useEffect(f,A);let z;if(q[2]!==K)z=(X)=>{if(X.key==="return"&&!X.ctrl&&!X.meta)X.preventDefault(),K()},q[2]=K,q[3]=z;else z=q[3];let Y;if(q[4]!==$)Y=!$&&TG.default.createElement(TG.default.Fragment,null,TG.default.createElement(hb,null),TG.default.createElement(hb,null),"Requires the Chrome extension. Get started at"," ",TG.default.createElement(P$,{url:FVf})),q[4]=$,q[5]=Y;else Y=q[5];let O;if(q[6]!==Y)O=TG.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.",Y),q[6]=Y,q[7]=O;else O=q[7];let M;if(q[8]!==$)M=$&&TG.default.createElement(TG.default.Fragment,null," ","(",TG.default.createElement(P$,{url:QVf}),")"),q[8]=$,q[9]=M;else M=q[9];let j;if(q[10]!==M)j=TG.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,"."),q[10]=M,q[11]=j;else j=q[11];let w;if(q[12]===Symbol.for("react.memo_cache_sentinel"))w=TG.default.createElement(k,{bold:!0,color:"chromeYellow"},"/chrome"),q[12]=w;else w=q[12];let D;if(q[13]===Symbol.for("react.memo_cache_sentinel"))D=TG.default.createElement(k,{dimColor:!0},"For more info, use"," ",w," ","or visit ",TG.default.createElement(P$,{url:"https://code.claude.com/docs/en/chrome"})),q[13]=D;else D=q[13];let P;if(q[14]!==z||q[15]!==O||q[16]!==j)P=TG.default.createElement(U,{flexDirection:"column",gap:1,tabIndex:0,autoFocus:!0,onKeyDown:z},O,j,D),q[14]=z,q[15]=O,q[16]=j,q[17]=P;else P=q[17];let W;if(q[18]!==K||q[19]!==P)W=TG.default.createElement(x6,{title:"Claude in Chrome (beta)",onCancel:K,color:"chromeYellow"},P),q[18]=K,q[19]=P,q[20]=W;else W=q[20];return W}function dVf(H){return{...H,hasCompletedClaudeInChromeOnboarding:!0}}var Z3_,TG,FVf="https://claude.ai/chrome",QVf="https://clau.de/chrome/permissions";var V3_=V(()=>{h8();iH();zRH();s6();J6();p$();Z3_=p(H8(),1),TG=p(WH(),1)});var C$K={};J8(C$K,{upgradeKey:()=>cVf,probeBedrockModel:()=>KS6,findBedrockUpgradeCandidates:()=>lVf,checkBedrockDefaultAvailability:()=>nVf});function I$K(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function T3_(H){let q=uP(H);for(let K of Ah8)if(uP(cz[K].firstParty)===q)return K;return}function cVf(H){return`${H.fromKey}-to-${H.toKey}`}async function lVf(){if(IK()!=="bedrock")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let A of Object.keys(qS6)){let z=qS6[A],Y,O,M;for(let P of z.envVarPriority){let W=process.env[P];if(!W)continue;if(W.includes("application-inference-profile"))continue;let X=T3_(W);if(!X||I$K(X)!==A||X===z.defaultKey)continue;Y=P,O=W,M=X;break}if(!Y||!O||!M)continue;let j=z.defaultKey,w=Ah8.indexOf(M),D=Ah8.indexOf(j);if(w>=D)continue;H.push({tier:A,envVar:Y,pinnedRaw:O,pinnedKey:M,defaultKey:j})}if(H.length===0)return[];let q;try{q=await J58()}catch{return[]}let K=Yt(Pk()),$=[];for(let A of H){let z=cz[A.defaultKey].firstParty,Y=aYH(q,z,K);if(!Y)continue;let O=LM(cz[A.pinnedKey].firstParty),M=LM(cz[A.defaultKey].firstParty);if(!O||!M)continue;$.push({tier:A.tier,envVar:A.envVar,fromKey:A.pinnedKey,fromMarketingName:O,toKey:A.defaultKey,toMarketingName:M,toBedrockId:Y})}c("tengu_bedrock_upgrade_check",{stale_tiers:String($.length)});let f=(await Promise.all($.map(async(A)=>{let z=await KS6(A.toBedrockId,A.tier);return c("tengu_bedrock_probe_result",{tier:A.tier,model_id:A.toBedrockId,accessible:String(z)}),z?A:null}))).filter((A)=>A!==null);return N(`[bedrock-upgrade] tiersWithPin=${H.length} candidates=${f.length}`),f}async function nVf(){if(IK()!=="bedrock")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let f of Object.keys(qS6)){let A=qS6[f];if(A.envVarPriority.some((Y)=>{let O=process.env[Y];if(!O)return!1;let M=T3_(O);if(!M)return!0;return I$K(M)===f}))continue;H.push({tier:f,envVar:A.envVarPriority.at(-1),defaultKey:A.defaultKey})}if(H.length===0)return[];c("tengu_bedrock_default_check",{unpinned_tiers:String(H.length)});let q=null;try{q=await J58()}catch{return[]}let K=Yt(Pk()),$=await Promise.all(H.map(async(f)=>{let A=cz[f.defaultKey],z=aYH(q,A.firstParty,K);if(!z)return null;let Y=await KS6(z,f.tier);if(c("tengu_bedrock_probe_result",{tier:f.tier,model_id:z,accessible:String(Y)}),Y)return null;let O=iVf(f.defaultKey,f.tier);if(!O)return null;let M=cz[O],j=aYH(q,M.firstParty,K);if(!j)return null;if(!await KS6(j,f.tier))return null;let D=LM(A.firstParty),P=LM(M.firstParty);if(!D||!P)return null;return{tier:f.tier,envVar:f.envVar,defaultKey:f.defaultKey,defaultName:D,fallbackKey:O,fallbackName:P,fallbackBedrockId:j}})),_=[];for(let f of $)if(f!==null)_.push(f);return N(`[bedrock-fallback] unpinnedTiers=${H.length} fallbacks=${_.length}`),_}function iVf(H,q){let K=Ah8.indexOf(H);for(let $=K-1;$>=0;$--){let _=Ah8[$];if(I$K(_)===q)return _}return}async function KS6(H,q){try{let[{AnthropicBedrock:K},{getProxyFetchOptions:$}]=await Promise.all([Promise.resolve().then(() => (Sf8(),yf8)),Promise.resolve().then(() => (EO(),ymH))]),_=q==="haiku"&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:Pk(),f={awsRegion:_,maxRetries:0,timeout:8000,fetchOptions:$({url:process.env.ANTHROPIC_BEDROCK_BASE_URL||`https://bedrock-runtime.${_}.amazonaws.com`})},A;if(process.env.AWS_BEARER_TOKEN_BEDROCK)A=new K({...f,apiKey:process.env.AWS_BEARER_TOKEN_BEDROCK});else{let z=mH(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),Y=z?null:await OQ();A=Y?new K({...f,awsAccessKey:Y.accessKeyId,awsSecretKey:Y.secretAccessKey,awsSessionToken:Y.sessionToken}):new K({...f,...z&&{skipAuth:!0}})}return await A.messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(K){if(K?.status===429)return!0;return!1}}var Ah8,qS6;var b$K=V(()=>{h8();JK();dH();r8();j7H();wn();mK();I4();Ah8=Object.keys(cz),qS6={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Lt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Jt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Zt}}});var x$K={};J8(x$K,{ThirdPartyModelUpgradeDialog:()=>rVf});function rVf(H){let q=v3_.c(27),{tierLabel:K,fromName:$,toName:_,toProviderId:f,onDone:A}=H,z=`Newer ${K} model available`,Y;if(q[0]!==A)Y=()=>A(!1),q[0]=A,q[1]=Y;else Y=q[1];let O;if(q[2]!==$)O=zl.default.createElement(k,null,"Currently pinned: ",zl.default.createElement(k,{bold:!0},$)),q[2]=$,q[3]=O;else O=q[3];let M;if(q[4]!==_)M=zl.default.createElement(k,{bold:!0},_),q[4]=_,q[5]=M;else M=q[5];let j;if(q[6]!==f)j=zl.default.createElement(k,{dimColor:!0},"(",f,")"),q[6]=f,q[7]=j;else j=q[7];let w;if(q[8]!==M||q[9]!==j)w=zl.default.createElement(k,null,"Latest available: ",M," ",j),q[8]=M,q[9]=j,q[10]=w;else w=q[10];let D;if(q[11]!==O||q[12]!==w)D=zl.default.createElement(U,{flexDirection:"column"},O,w),q[11]=O,q[12]=w,q[13]=D;else D=q[13];let P;if(q[14]===Symbol.for("react.memo_cache_sentinel"))P=zl.default.createElement(k,{dimColor:!0},"Claude Code will restart to apply."),q[14]=P;else P=q[14];let W;if(q[15]!==_)W=zl.default.createElement(k,null,"Update settings to use ",_,"?"," ",P),q[15]=_,q[16]=W;else W=q[16];let X;if(q[17]!==A)X=zl.default.createElement(d_,{onConfirm:()=>A(!0),onCancel:()=>A(!1)}),q[17]=A,q[18]=X;else X=q[18];let J;if(q[19]!==X||q[20]!==D||q[21]!==W)J=zl.default.createElement(U,{flexDirection:"column",gap:1},D,W,X),q[19]=X,q[20]=D,q[21]=W,q[22]=J;else J=q[22];let G;if(q[23]!==z||q[24]!==J||q[25]!==Y)G=zl.default.createElement(x6,{title:z,color:"permission",onCancel:Y},J),q[23]=z,q[24]=J,q[25]=Y,q[26]=G;else G=q[26];return G}var v3_,zl;var u$K=V(()=>{iH();bM();p$();v3_=p(H8(),1),zl=p(WH(),1)});var p$K={};J8(p$K,{vertexUpgradeKey:()=>oVf,probeVertexModel:()=>_S6,findVertexUpgradeCandidates:()=>aVf,checkVertexDefaultAvailability:()=>sVf});function m$K(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function k3_(H){let q=uP(H);for(let K of zh8)if(uP(cz[K].firstParty)===q)return K;return}function oVf(H){return`${H.fromKey}-to-${H.toKey}`}async function aVf(){if(IK()!=="vertex")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let $ of Object.keys($S6)){let _=$S6[$],f,A;for(let M of _.envVarPriority){let j=process.env[M];if(!j)continue;let w=k3_(j);if(!w||m$K(w)!==$||w===_.defaultKey)continue;f=M,A=w;break}if(!f||!A)continue;let z=_.defaultKey,Y=zh8.indexOf(A),O=zh8.indexOf(z);if(Y>=O)continue;H.push({tier:$,envVar:f,pinnedKey:A,defaultKey:z})}if(H.length===0)return[];c("tengu_vertex_upgrade_check",{stale_tiers:String(H.length)});let K=(await Promise.all(H.map(async($)=>{let _=cz[$.defaultKey].vertex,f=await _S6(_);if(c("tengu_vertex_probe_result",{tier:$.tier,model_id:_,accessible:String(f)}),!f)return null;let A=LM(cz[$.pinnedKey].firstParty),z=LM(cz[$.defaultKey].firstParty);if(!A||!z)return null;return{tier:$.tier,envVar:$.envVar,fromKey:$.pinnedKey,fromMarketingName:A,toKey:$.defaultKey,toMarketingName:z,toVertexId:_}}))).filter(($)=>$!==null);return N(`[vertex-upgrade] tiersWithPin=${H.length} candidates=${K.length}`),K}async function sVf(){if(IK()!=="vertex")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let $ of Object.keys($S6)){let _=$S6[$];if(_.envVarPriority.some((A)=>{let z=process.env[A];if(!z)return!1;let Y=k3_(z);if(!Y)return!0;return m$K(Y)===$}))continue;H.push({tier:$,envVar:_.envVarPriority.at(-1),defaultKey:_.defaultKey})}if(H.length===0)return[];c("tengu_vertex_default_check",{unpinned_tiers:String(H.length)});let q=await Promise.all(H.map(async($)=>{let _=cz[$.defaultKey],f=await _S6(_.vertex);if(c("tengu_vertex_probe_result",{tier:$.tier,model_id:_.vertex,accessible:String(f)}),f)return null;let A=tVf($.defaultKey,$.tier);if(!A)return null;let z=cz[A];if(!await _S6(z.vertex))return null;let O=LM(_.firstParty),M=LM(z.firstParty);if(!O||!M)return null;return{tier:$.tier,envVar:$.envVar,defaultKey:$.defaultKey,defaultName:O,fallbackKey:A,fallbackName:M,fallbackVertexId:z.vertex}})),K=[];for(let $ of q)if($!==null)K.push($);return N(`[vertex-fallback] unpinnedTiers=${H.length} fallbacks=${K.length}`),K}function tVf(H,q){let K=zh8.indexOf(H);for(let $=K-1;$>=0;$--){let _=zh8[$];if(m$K(_)===q)return _}return}async function _S6(H){try{let[{AnthropicVertex:q},{getProxyFetchOptions:K}]=await Promise.all([Promise.resolve().then(() => (Ks8(),qs8)),Promise.resolve().then(() => (EO(),ymH))]);if(!mH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH))await EGH();let $=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,f=$||_?void 0:process.env.ANTHROPIC_VERTEX_PROJECT_ID,A=await XBH(mH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{kind:"skip"}:{kind:"default"},f),z=k2H(H);return await new q({region:z,googleAuth:A,maxRetries:0,timeout:8000,fetchOptions:K({url:process.env.ANTHROPIC_VERTEX_BASE_URL||CCH(z)})}).messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(q){if(q?.status===429)return!0;return!1}}var zh8,$S6;var U$K=V(()=>{h8();JK();dH();r8();wn();mK();I4();$s8();zh8=Object.keys(cz),$S6={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Lt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Jt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Zt}}});function eVf(){z6((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 Oh8(H,q){return new Promise((K)=>{let $=(_)=>void K(_);H.render(q($))})}async function fS(H,q,K){return HTf(H,q,{color:"error",beforeExit:K})}async function HTf(H,q,K){let{Text:$}=await Promise.resolve().then(() => (iH(),Sb)),_=K?.color,f=K?.exitCode??1;if(H.render(_?GW.default.createElement($,{color:_},q):GW.default.createElement($,null,q)),H.unmount(),await K?.beforeExit?.(),f!==0){let{setBgExitCause:A}=await Promise.resolve().then(() => (Tl(),gfK));A("exit_with_message")}process.exit(f)}function IE(H,q,K){if(process.env.CLAUDE_JOB_DIR)Promise.resolve().then(() => (QV8(),Bgq)).then(($)=>$.markStartupDialogBlocked()).catch(()=>{});return Oh8(H,($)=>GW.default.createElement(tw,{onChangeAppState:K?.onChangeAppState},GW.default.createElement(tD,null,q($))))}async function WIH(H,q){H.render(q),zS6(),await H.waitUntilExit(),await H7(0)}async function h3_(H,q,K,$,_,f){if(process.env.CODER_APIKEY){return false;}if(b7()){WAH(!0),$FH(),VZ().catch((M)=>IH(cq(M))),eP();let{errors:O}=O6H();if(O.length===0)await k$K(H);return Za(),setImmediate(()=>TN8()),!1}if(mH(!1)||process.env.IS_DEMO)return!1;let A=m8(),z=!1;if(!A.hasCompletedOnboarding||(process.env.CLAUDE_CODE_TEAM_ONBOARDING==="banner"||process.env.CLAUDE_CODE_TEAM_ONBOARDING==="step")){z=!0;let{Onboarding:O}=await Promise.resolve().then(() => (QY_(),FY_));await IE(H,(M)=>GW.default.createElement(O,{onDone:()=>{eVf(),M()}}),{onChangeAppState:LfH})}let Y=!1;if(!mH(process.env.CLAUBBIT)){if(!u5()){Y=!0;let{TrustDialog:M}=await Promise.resolve().then(() => (f3_(),_3_));await IE(H,(j)=>GW.default.createElement(M,{commands:$,onDone:j}))}if(WAH(!0),$FH(),!A.hasCompletedOnboarding){YOH();let M=Date.now();try{await tf(VZ(),qTf,N3_),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===N3_))IH(cq(j))}}else VZ().catch((M)=>IH(cq(M)));eP();let{errors:O}=O6H();if(O.length===0)await k$K(H);if(await NJq()){let M=ndH(await IJ(!0)),{ClaudeMdExternalIncludesDialog:j}=await Promise.resolve().then(() => (Vcq(),I04));await IE(H,(w)=>GW.default.createElement(j,{onDone:w,isStandaloneDialog:!0,externalIncludes:M}))}}if(vY_(),GY_(),Za(),Y){if(!eq()&&!_9())Promise.resolve().then(() => (uL6(),xL6)).then((O)=>O.startMemoryWatcher())}if(setImmediate(()=>TN8()),await WnH()){let{GroveDialog:O}=await Promise.resolve().then(() => (coq(),tu4));if(await IE(H,(j)=>GW.default.createElement(O,{showIfAlreadyViewed:!1,location:z?"onboarding":"policy_update_modal",onDone:j}))==="escape")return c("tengu_grove_policy_exited",{}),E_(0),!1}{let{getProTrialState:O}=await Promise.resolve().then(() => (MH8(),MR4));if(O().status==="not_started"){let{ProTrialStartScreen:M}=await Promise.resolve().then(() => (O3_(),Y3_));c("tengu_pro_trial_start_screen_shown",{}),await IE(H,(j)=>GW.default.createElement(M,{onDone:j}))}}if(z){if(!mH(process.env.CLAUBBIT))await tf(VZ(),1000,"cedar-inlet").catch(()=>{});let{resolveTeamOnboardingDiscoveryArm:O}=await Promise.resolve().then(() => (mk8(),Kk6));if(O()==="step"){let{TeamOnboardingDiscoveryStep:M}=await Promise.resolve().then(() => (w3_(),j3_));await IE(H,(j)=>GW.default.createElement(M,{onDone:j}))}}if(process.env.ANTHROPIC_API_KEY&&!RW()&&IK()==="firstParty"){let O=sS(process.env.ANTHROPIC_API_KEY);if(W38(O)==="new"){let{ApproveApiKey:j}=await Promise.resolve().then(() => (h$K(),RY_));await IE(H,(w)=>GW.default.createElement(j,{customApiKeyTruncated:O,onDone:w}),{onChangeAppState:LfH})}}try{await KTf(H)}catch(O){IH(O)}try{await $Tf(H)}catch(O){IH(O)}try{await _Tf(H)}catch(O){IH(O)}try{await fTf(H)}catch(O){IH(O)}if((q==="bypassPermissions"||K)&&!Sm()){let{BypassPermissionsModeDialog:O}=await Promise.resolve().then(() => (W3_(),P3_));await IE(H,(M)=>GW.default.createElement(O,{onAccept:M}))}if(q==="auto"&&!FC()){let{AutoModeOptInDialog:O}=await Promise.resolve().then(() => (TE6(),w6_));await IE(H,(M)=>GW.default.createElement(O,{onAccept:M,onDecline:()=>E_(1),declineExits:!0}))}if(GP().length>0||(f?.length??0)>0)await Gb("tengu_harbor");if(f&&f.length>0){let[{isChannelsEnabled:O},{isChannelsPolicyBlocked:M},{getSettingsForSource:j}]=await Promise.all([Promise.resolve().then(() => (lL8(),St7)),Promise.resolve().then(() => (OaH(),It7)),Promise.resolve().then(() => (Lq(),U$H))]);if(!O()||IK()!=="firstParty"||M(j("policySettings")))cKH([...GP(),...f.map((w)=>({...w,dev:!0}))]),SS8(!0);else{let{DevChannelsDialog:w}=await Promise.resolve().then(() => (L3_(),J3_));await IE(H,(D)=>GW.default.createElement(w,{channels:f,onAccept:()=>{cKH([...GP(),...f.map((P)=>({...P,dev:!0}))]),SS8(!0),D()}}))}}if(_&&!m8().hasCompletedClaudeInChromeOnboarding){let{ClaudeInChromeOnboarding:O}=await Promise.resolve().then(() => (V3_(),G3_));await IE(H,(M)=>GW.default.createElement(O,{onDone:M}))}return z}async function AS6(H,q){let K;try{return await Promise.race([q,new Promise(($)=>{K=setTimeout((_,f)=>{N(`[3p-probe] ${f} hit ${E3_}ms deadline; proceeding without it`),_([])},E3_,$,H)})])}finally{clearTimeout(K)}}async function KTf(H){let{findBedrockUpgradeCandidates:q,upgradeKey:K}=await Promise.resolve().then(() => (b$K(),C$K)),$=await AS6("bedrock-upgrade",q());if($.length===0)return;let _=m8().bedrockDeclinedUpgrades??{},f=$.filter((O)=>_[O.tier]!==K(O));if(f.length===0)return;let{updateSettingsForSource:A}=await Promise.resolve().then(() => (Lq(),U$H)),{ThirdPartyModelUpgradeDialog:z}=await Promise.resolve().then(() => (u$K(),x$K)),Y=!1;for(let O of f)if(await IE(H,(j)=>GW.default.createElement(z,{tierLabel:p68[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}=A("userSettings",{env:j});if(w){c("tengu_bedrock_upgrade_save_failed",{tier:O.tier});let{Text:D}=await Promise.resolve().then(() => (iH(),Sb));await Oh8(H,(P)=>{return setTimeout(P,2000),GW.default.createElement(D,{color:"error"},"Failed to save ",p68[O.tier]," upgrade to settings.")})}else{for(let D of Object.keys(j))process.env[D]=O.toBedrockId;Y=!0,c("tengu_bedrock_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else z6((j)=>({...j,bedrockDeclinedUpgrades:{...j.bedrockDeclinedUpgrades,[O.tier]:K(O)}})),c("tengu_bedrock_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if(Y)c("tengu_bedrock_upgrade_relaunch",{}),await y3_(H)}async function y3_(H){let{Text:q}=await Promise.resolve().then(() => (iH(),Sb));H.render(GW.default.createElement(q,{dimColor:!0},"Restarting Claude Code to apply the new model\u2026"));let{sleep:K}=await Promise.resolve().then(() => Zf8);await K(250),H.unmount();let{execRelaunch:$}=await Promise.resolve().then(() => (I08(),R08));await $()}async function $Tf(H){let{checkBedrockDefaultAvailability:q}=await Promise.resolve().then(() => (b$K(),C$K)),K=await AS6("bedrock-fallback",q());if(K.length===0)return;for(let A of K){if(process.env[A.envVar]=A.fallbackBedrockId,A.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=A.fallbackBedrockId;c("tengu_bedrock_default_fallback",{tier:A.tier,default_key:A.defaultKey,fallback_key:A.fallbackKey})}let{Box:$,Text:_}=await Promise.resolve().then(() => (iH(),Sb)),f=K.map((A)=>`${p68[A.tier]}: ${A.defaultName} not available \u2014 using ${A.fallbackName} for this session`);await Oh8(H,(A)=>{return setTimeout(A,1500),GW.default.createElement($,{flexDirection:"column"},f.map((z)=>GW.default.createElement(_,{key:z,color:"warning"},z)))})}async function _Tf(H){let{findVertexUpgradeCandidates:q,vertexUpgradeKey:K}=await Promise.resolve().then(() => (U$K(),p$K)),$=await AS6("vertex-upgrade",q());if($.length===0)return;let _=m8().vertexDeclinedUpgrades??{},f=$.filter((O)=>_[O.tier]!==K(O));if(f.length===0)return;let{updateSettingsForSource:A}=await Promise.resolve().then(() => (Lq(),U$H)),{ThirdPartyModelUpgradeDialog:z}=await Promise.resolve().then(() => (u$K(),x$K)),Y=!1;for(let O of f)if(await IE(H,(j)=>GW.default.createElement(z,{tierLabel:p68[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}=A("userSettings",{env:j});if(w){c("tengu_vertex_upgrade_save_failed",{tier:O.tier});let{Text:D}=await Promise.resolve().then(() => (iH(),Sb));await Oh8(H,(P)=>{return setTimeout(P,2000),GW.default.createElement(D,{color:"error"},"Failed to save ",p68[O.tier]," upgrade to settings.")})}else{for(let D of Object.keys(j))process.env[D]=O.toVertexId;Y=!0,c("tengu_vertex_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else z6((j)=>({...j,vertexDeclinedUpgrades:{...j.vertexDeclinedUpgrades,[O.tier]:K(O)}})),c("tengu_vertex_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if(Y)c("tengu_vertex_upgrade_relaunch",{}),await y3_(H)}async function fTf(H){let{checkVertexDefaultAvailability:q}=await Promise.resolve().then(() => (U$K(),p$K)),K=await AS6("vertex-fallback",q());if(K.length===0)return;for(let A of K){if(process.env[A.envVar]=A.fallbackVertexId,A.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=A.fallbackVertexId;c("tengu_vertex_default_fallback",{tier:A.tier,default_key:A.defaultKey,fallback_key:A.fallbackKey})}let{Box:$,Text:_}=await Promise.resolve().then(() => (iH(),Sb)),f=K.map((A)=>`${p68[A.tier]}: ${A.defaultName} not available \u2014 using ${A.fallbackName} for this session`);await Oh8(H,(A)=>{return setTimeout(A,1500),GW.default.createElement($,{flexDirection:"column"},f.map((z)=>GW.default.createElement(_,{key:z,color:"warning"},z)))})}function S3_(H){let q=0,K=Td(H);if(K.stdin)c("tengu_stdin_interactive",{});let $=new N$K,_=P8K();$I6(_);let f=process.env.CLAUDE_CODE_FRAME_TIMING_LOG,A=-1;if(f)try{A=fS6.openSync(f,"a")}catch{}return{getFpsMetrics:()=>$.getMetrics(),stats:_,renderOptions:{...K,onFrame:(z)=>{if($.record(z.durationMs),_.observe("frame_duration_ms",z.durationMs),A>=0&&z.phases){let Y=JSON.stringify({total:z.durationMs,...z.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+`
|
|
12471
12471
|
`;fS6.writeSync(A,Y)}if(Ag())return;for(let Y of z.flickers){if(Y.reason==="resize")continue;let O=Date.now();if(O-q<1000)c("tengu_flicker",{desiredHeight:Y.desiredHeight,actualHeight:Y.availableHeight,reason:Y.reason});q=O}}}}}var fS6,GW,qTf=2000,N3_="GB post-onboarding init",p68,E3_=20000;var B$K=V(()=>{h8();TA();w8();W8K();eb();j8K();$N();wU();YS6();Kq();XnH();ZY_();kx();g88();k58();g2();i5();s6();dH();VY_();r8();G8();_h8();J6();U88();I4();zNH();xJ8();Lq();dn();fS6=require("fs"),GW=p(WH(),1);p68={sonnet:"Sonnet",opus:"Opus",haiku:"Haiku"}});var I3_={};J8(I3_,{InvalidSettingsDialog:()=>ATf});function ATf(H){let q=R3_.c(21),{settingsErrors:K,onContinue:$,onFix:_,onExit:f}=H,A;if(q[0]!==$||q[1]!==f||q[2]!==_)A=function(Z){if(Z==="exit")f();else if(Z==="fix")_();else $()},q[0]=$,q[1]=f,q[2]=_,q[3]=A;else A=q[3];let z=A,Y;if(q[4]!==K)Y=K.some(zTf),q[4]=K,q[5]=Y;else Y=q[5];let O=Y,M;if(q[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"}],q[6]=O,q[7]=M;else M=q[7];let j=M,w=O?"Settings Error":"Settings Warning",D=O?f:$,P;if(q[8]!==K)P=Mh8.default.createElement(iZ6,{errors:K}),q[8]=K,q[9]=P;else P=q[9];let W=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.",X;if(q[10]!==W)X=Mh8.default.createElement(k,{dimColor:!0},W),q[10]=W,q[11]=X;else X=q[11];let J;if(q[12]!==z||q[13]!==j)J=Mh8.default.createElement($q,{options:j,onChange:z}),q[12]=z,q[13]=j,q[14]=J;else J=q[14];let G;if(q[15]!==w||q[16]!==D||q[17]!==P||q[18]!==X||q[19]!==J)G=Mh8.default.createElement(x6,{title:w,onCancel:D,color:"warning"},P,X,J),q[15]=w,q[16]=D,q[17]=P,q[18]=X,q[19]=J,q[20]=G;else G=q[20];return G}function zTf(H){return H.severity!=="warning"}var R3_,Mh8;var C3_=V(()=>{iH();Yw();p$();Vlq();R3_=p(H8(),1),Mh8=p(WH(),1)});var x3_={};J8(x3_,{TeleportRepoMismatchDialog:()=>YTf});function YTf(H){let q=b3_.c(18),{targetRepo:K,initialPaths:$,onSelectPath:_,onCancel:f}=H,[A,z]=C0.useState($),[Y,O]=C0.useState(null),[M,j]=C0.useState(!1),w;if(q[0]!==A||q[1]!==f||q[2]!==_||q[3]!==K)w=async(G)=>{if(G==="cancel"){f();return}if(j(!0),O(null),await kY_(G,K)){_(G);return}NY_(K,G);let Z=A.filter((T)=>T!==G);z(Z),j(!1),O(`${l1(G)} no longer contains the correct repository. Select another path.`)},q[0]=A,q[1]=f,q[2]=_,q[3]=K,q[4]=w;else w=q[4];let D=w,P;if(q[5]!==A){let G;if(q[7]===Symbol.for("react.memo_cache_sentinel"))G={label:"Cancel",value:"cancel"},q[7]=G;else G=q[7];P=[...A.map(OTf),G],q[5]=A,q[6]=P}else P=q[6];let W=P,X;if(q[8]!==A.length||q[9]!==Y||q[10]!==D||q[11]!==W||q[12]!==K||q[13]!==M)X=A.length>0?C0.default.createElement(C0.default.Fragment,null,C0.default.createElement(U,{flexDirection:"column",gap:1},C0.default.createElement(t7,{error:Y}),C0.default.createElement(k,null,"Open Claude Code in ",C0.default.createElement(k,{bold:!0},K),":")),M?C0.default.createElement(U,null,C0.default.createElement(S1,null),C0.default.createElement(k,null," Validating repository\u2026")):C0.default.createElement($q,{options:W,onChange:(G)=>void D(G)})):C0.default.createElement(U,{flexDirection:"column",gap:1},C0.default.createElement(t7,{error:Y}),C0.default.createElement(k,{dimColor:!0},"Run claude --teleport from a checkout of ",K)),q[8]=A.length,q[9]=Y,q[10]=D,q[11]=W,q[12]=K,q[13]=M,q[14]=X;else X=q[14];let J;if(q[15]!==f||q[16]!==X)J=C0.default.createElement(x6,{title:"Teleport to Repo",onCancel:f,color:"background"},X),q[15]=f,q[16]=X,q[17]=J;else J=q[17];return J}function OTf(H){return{label:C0.default.createElement(k,null,"Use ",C0.default.createElement(k,{bold:!0},l1(H))),value:H}}var b3_,C0;var u3_=V(()=>{iH();C_();_h8();Yw();p$();E3();iJ();b3_=p(H8(),1),C0=p(WH(),1)});function U68(H,q,K){if(!q||K?.strictMcpConfig||G9H())return H;let $=L0q(q);if(Object.keys($).length===0)return H;let{allowed:_,blocked:f}=w8H($);if(f.length>0)K?.onBlocked?.(f);return{..._,...H}}var F$K=V(()=>{EV();xJ()});var F3_={};J8(F3_,{parsePrIdentifier:()=>U3_,ResumeConversation:()=>MTf,LiveBgMessage:()=>B3_});function U3_(H){let q=parseInt(H,10);if(!isNaN(q)&&q>0)return q;let K=H.match(/(?:https?:\/\/)?[^/\s]+\/[^\s]+?\/(?:pull|pull-requests|-\/merge_requests)\/(\d+)/);if(K?.[1])return parseInt(K[1],10);return null}function MTf({commands:H,worktreePaths:q,initialTools:K,mcpClients:$,dynamicMcpConfig:_,debug:f,mainThreadAgentDefinition:A,autoConnectIdeFlag:z,strictMcpConfig:Y=!1,systemPrompt:O,appendSystemPrompt:M,initialSearchQuery:j,disableSlashCommands:w=!1,forkSession:D,filterByPr:P,thinkingConfig:W,onTurnComplete:X}){let{rows:J}=Aq(),G=W8((zH)=>zH.agentDefinitions),L=W8((zH)=>zH.standaloneAgentContext),Z=W8((zH)=>zH.mainLoopModel),T=MK(),[v,E]=Yf.useState([]),[S,y]=Yf.useState(!0),[C,I]=Yf.useState(!1),[b,x]=Yf.useState(!1),[R,m]=Yf.useState(null),[Q,B]=Yf.useState(null),[g,l]=Yf.useState(null),d=Yf.useRef(null),[i,t]=Yf.useState(0),s=Yf.useRef(0),HH=Yf.useRef(0),o=Yf.useMemo(()=>{let zH=v.filter((OH)=>!OH.isSidechain);if(P!==void 0){if(P===!0)zH=zH.filter((OH)=>OH.prNumber!==void 0);else if(typeof P==="number")zH=zH.filter((OH)=>OH.prNumber===P);else if(typeof P==="string"){let OH=U3_(P);if(OH!==null)zH=zH.filter((YH)=>YH.prNumber===OH)}}return zH},[v,P]),e=d5H(),wH=Yf.useMemo(()=>mH(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]);eOH(R||wH?null:"claude \xB7 resume"),Yf.useEffect(()=>{YN8(q).then((zH)=>{d.current=zH,s.current=zH.logs.length,E(zH.logs),y(!1),xH("screen_resume_conversation")}).catch((zH)=>{uH("screen_resume_conversation","resume_conversation_load_failed"),IH(zH),y(!1)})},[q]);let fH=Yf.useRef(!1),qH=Yf.useCallback((zH)=>{if(fH.current)return;let OH=d.current;if(!OH||OH.nextIndex>=OH.allStatLogs.length)return;fH.current=!0;let YH=!1;VRH(OH.allStatLogs,OH.nextIndex,zH).then((LH)=>{if(d.current!==OH)return;if(OH.nextIndex=LH.nextIndex,LH.logs.length>0){let PH=s.current;LH.logs.forEach((TH,DH)=>{TH.value=PH+DH}),E((TH)=>TH.concat(LH.logs)),s.current+=LH.logs.length}else if(OH.nextIndex<OH.allStatLogs.length)YH=!0}).finally(()=>{if(fH.current=!1,YH)qH(zH)})},[]),$H=Yf.useCallback((zH)=>{y(!0);let OH=++HH.current,YH=d.current;d.current=null,t((PH)=>PH+1),(zH?Fk6():YN8(q)).then((PH)=>{if(HH.current!==OH)return;d.current=PH,s.current=PH.logs.length,E(PH.logs)}).catch((PH)=>{if(HH.current!==OH)return;if(YH!==null)d.current=YH;E((TH)=>TH.slice()),IH(PH)}).finally(()=>{if(HH.current!==OH)return;y(!1)})},[q]),KH=Yf.useCallback(()=>{let zH=!b;x(zH),$H(zH)},[b,$H]);function MH(){process.exit(1)}async function AH(zH){I(!0);let OH=performance.now(),YH=rV6(zH,b,q);if(YH.isCrossProject){if(!YH.isSameRepoWorktree){let TH=await fV(YH.command);if(TH)process.stdout.write(TH);l(YH.command);return}}if(!D){let TH=bz(zH);if(TH&&await R1H(TH)){B({sessionId:TH,projectPath:zH.projectPath});return}}let LH=!1,PH="load_error";try{let TH=await C6H(zH,void 0);if(!TH)throw c("tengu_session_resumed",{entrypoint:"picker",success:!1,failure_reason:"not_found_picker"}),LH=!0,Error("Failed to load conversation");if(PH="processing_error",TH.sessionId&&!D)uG(F2(TH.sessionId),zH.fullPath?p3_.dirname(zH.fullPath):null),await EE8(),await kc(),V96(TH.sessionId);else if(D&&TH.contentReplacements?.length)await MSH(TH.contentReplacements);let{agentDefinition:DH}=$IH(TH.agentSetting,A,G);T((BH)=>({...BH,agent:DH?.agentType}));let ZH=RE8(TH.messages,Z);if(ZH)O2(ZH),T((BH)=>BH.mainLoopModel===ZH?BH:{...BH,mainLoopModel:ZH});let RH=SE8(TH.agentName,TH.agentColor),yH=L?{...RH,...L}:RH;if(yH)T((BH)=>({...BH,standaloneAgentContext:yH}));if(LQ(yH?.name),eqH(D?{...TH,worktreeSession:void 0,bridgeSessionId:void 0,bridgeLastSeq:void 0}:TH),!D&&TH.bridgeSessionId)T((BH)=>BH.replBridgeEnabled&&!BH.replBridgeOutboundOnly?BH:{...BH,replBridgeEnabled:!0,replBridgeOutboundOnly:!1});if(!D){if(IE8(TH.worktreeSession),TH.sessionId)tqH()}c("tengu_session_resumed",{entrypoint:"picker",success:!0,resume_duration_ms:Math.round(performance.now()-OH)}),E([]),m({messages:TH.messages,fileHistorySnapshots:TH.fileHistorySnapshots,contentReplacements:TH.contentReplacements,agentName:TH.agentName,agentColor:TH.agentColor==="default"?void 0:TH.agentColor,mainThreadAgentDefinition:DH})}catch(TH){if(!LH)c("tengu_session_resumed",{entrypoint:"picker",success:!1,failure_reason:PH,error_name:cq(TH).name});throw IH(TH),TH}}if(Q)return Yf.default.createElement(B3_,{...Q});if(g)return Yf.default.createElement(jTf,{command:g});if(R)return Yf.default.createElement(X$K,{debug:f,commands:H,initialTools:K,initialMessages:R.messages,initialFileHistorySnapshots:R.fileHistorySnapshots,initialContentReplacements:R.contentReplacements,initialAgentName:R.agentName,initialAgentColor:R.agentColor,mcpClients:$,dynamicMcpConfig:U68(_??{},R.mainThreadAgentDefinition,{strictMcpConfig:Y}),strictMcpConfig:Y,systemPrompt:O,appendSystemPrompt:M,mainThreadAgentDefinition:R.mainThreadAgentDefinition,autoConnectIdeFlag:z,disableSlashCommands:w,thinkingConfig:W,onTurnComplete:X});if(S&&(v.length===0||o.length===0))return Yf.default.createElement(E9,{message:"Loading conversations\u2026"});if(C)return Yf.default.createElement(E9,{message:"Resuming conversation\u2026"});return Yf.default.createElement(QV6,{logs:o,maxHeight:J,onCancel:MH,onSelect:AH,onLogsChanged:e?()=>$H(b):void 0,onLoadMore:qH,initialSearchQuery:j,isLoading:S,reloadGeneration:i,showAllProjects:b,onToggleAllProjects:KH,onAgenticSearch:iV6})}function jTf(H){let q=Q$K.c(8),{command:K}=H,$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=[],q[0]=$;else $=q[0];qO(wTf,100,$);let _;if(q[1]===Symbol.for("react.memo_cache_sentinel"))_=Yf.default.createElement(k,null,"This conversation is from a different directory."),q[1]=_;else _=q[1];let f;if(q[2]===Symbol.for("react.memo_cache_sentinel"))f=Yf.default.createElement(k,null,"To resume, run:"),q[2]=f;else f=q[2];let A;if(q[3]!==K)A=Yf.default.createElement(U,{flexDirection:"column"},f,Yf.default.createElement(k,null," ",K)),q[3]=K,q[4]=A;else A=q[4];let z;if(q[5]===Symbol.for("react.memo_cache_sentinel"))z=Yf.default.createElement(k,{dimColor:!0},"(Command copied to clipboard)"),q[5]=z;else z=q[5];let Y;if(q[6]!==A)Y=Yf.default.createElement(U,{flexDirection:"column",gap:1},_,A,z),q[6]=A,q[7]=Y;else Y=q[7];return Y}function wTf(){process.exit(0)}function B3_(H){let q=Q$K.c(11),{sessionId:K,projectPath:$}=H,_;if(q[0]===Symbol.for("react.memo_cache_sentinel"))_=[],q[0]=_;else _=q[0];qO(DTf,100,_);let f;if(q[1]!==$)f=$&&$!==Pq()?`cd ${X4([$])} ${urq()} `:"",q[1]=$,q[2]=f;else f=q[2];let A=f,z;if(q[3]===Symbol.for("react.memo_cache_sentinel"))z=Yf.default.createElement(k,null,"That session is still running as a background agent."),q[3]=z;else z=q[3];let Y;if(q[4]===Symbol.for("react.memo_cache_sentinel"))Y=Yf.default.createElement(k,null,"Open ",Yf.default.createElement(k,{bold:!0},"claude agents")," to attach to it, or run:"),q[4]=Y;else Y=q[4];let O;if(q[5]!==A||q[6]!==K)O=Yf.default.createElement(U,{flexDirection:"column"},Y,Yf.default.createElement(k,null," ",A,"claude --resume ",K," --fork-session")),q[5]=A,q[6]=K,q[7]=O;else O=q[7];let M;if(q[8]===Symbol.for("react.memo_cache_sentinel"))M=Yf.default.createElement(k,{dimColor:!0},"to branch off a copy."),q[8]=M;else M=q[8];let j;if(q[9]!==O)j=Yf.default.createElement(U,{flexDirection:"column",gap:1},z,O,M),q[9]=O,q[10]=j;else j=q[10];return j}function DTf(){process.exit(0)}var Q$K,p3_,Yf;var Q3_=V(()=>{B$();w8();zP();Crq();qI();w66();vM();iH();w6();h8();$K();Q2();xrq();F$K();hE8();i5();I1H();mrq();r8();G8();J6();Uq();CE8();U4();J$K();Q$K=p(H8(),1),p3_=require("path"),Yf=p(WH(),1)});async function g3_(H,q){let{InvalidSettingsDialog:K}=await Promise.resolve().then(() => (C3_(),I3_));return IE(H,($)=>XIH.default.createElement(K,{settingsErrors:q.settingsErrors,onContinue:()=>$(void 0),onFix:()=>$("fix"),onExit:q.onExit}))}async function d3_(H){let{TeleportResumeWrapper:q}=await Promise.resolve().then(() => (voq(),Vx4));return IE(H,(K)=>XIH.default.createElement(q,{onComplete:K,onCancel:()=>K(null),source:"cliArg"}))}async function c3_(H,q){let{TeleportRepoMismatchDialog:K}=await Promise.resolve().then(() => (u3_(),x3_));return IE(H,($)=>XIH.default.createElement(K,{targetRepo:q.targetRepo,initialPaths:q.initialPaths,onSelectPath:$,onCancel:()=>$(null)}))}async function l3_(H,q,K,$){let[_,{ResumeConversation:f},{App:A}]=await Promise.all([K,Promise.resolve().then(() => (Q3_(),F3_)),Promise.resolve().then(() => (J8K(),X8K))]);await WIH(H,XIH.default.createElement(A,{getFpsMetrics:q.getFpsMetrics,stats:q.stats,initialState:q.initialState},XIH.default.createElement(tD,null,XIH.default.createElement(f,{...$,worktreePaths:_}))))}var XIH;var n3_=V(()=>{B$K();wU();XIH=p(WH(),1)});function i3_(){}function WTf(H){return`# Batch: Parallel Work Orchestration
|
|
12472
12472
|
|
|
12473
12473
|
You are orchestrating a large, parallelizable change across this codebase.
|
|
@@ -23951,7 +23951,7 @@ Error: sandbox required but unavailable: ${W}
|
|
|
23951
23951
|
`),N("runHeadless: no result message returned from query",{level:"error"}),E_(1);return}switch(Q.subtype){case"success":K7(Q.result.endsWith(`
|
|
23952
23952
|
`)?Q.result:Q.result+`
|
|
23953
23953
|
`);break;case"error_during_execution":K7("Execution error");break;case"error_max_turns":K7(`Error: Reached max turns (${Y.maxTurns})`);break;case"error_max_budget_usd":K7(`Error: Exceeded USD budget (${Y.maxBudgetUsd})`);break;case"error_max_structured_output_retries":K7("Error: Failed to provide valid structured output after maximum retries")}}if(Tgq(),Ne8())await nNf.drainPendingExtraction();await fHK();let l=P instanceof Xh8&&P.permanentCloseCode!==void 0;if(w&&Q?.type!=="result"){let d;if(l)d="transport closed permanently";else if(B===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=${B}, exit=${l?1:0})
|
|
23954
|
-
`)}E_(Q?.type==="result"&&Q?.is_error||l?1:0)}function gP_(H,q,K,$,_,f,A,z,Y,O,M,j,w,D){let P=!1,W,X=!1,J=D,G,L=!1,Z=!1,T=(T8)=>T8.agentId===void 0,v=null,E,S=B4(500),y=H.outbound;if(j.outputFormat==="stream-json"&&j.sessionMirror)Teq((T8,k8)=>{H.write({type:"transcript_mirror",filePath:T8,entries:k8})});let C=()=>{if(T6("info","shutdown_signal",{signal:"SIGINT"}),E&&!E.signal.aborted)E.abort();S.abort(),H7(0)};process.on("SIGINT",C),a$(async()=>{if(W&&!E?.signal.aborted&&!X)c("tengu_sdk_result",{subtype:"terminated",is_error:!0,duration_ms:Date.now()-W,run_phase:G??"init",exit_code:process.exitCode}),X=!0,W=void 0;let T8={};for(let k8 of KJ6(z()))if(uM(k8))T8[k8.type]=(T8[k8.type]??0)+1;T6("info","run_state_at_shutdown",{run_active:P,run_phase:G,worker_status:H.sessionState.getState(),internal_events_pending:H.internalEventsPending,bg_tasks:T8})}),H.sessionState.onPermissionModeChanged=(T8)=>{if(T8==="default"||T8==="acceptEdits"||T8==="bypassPermissions"||T8==="plan"||T8==="auto"||T8==="dontAsk")y.enqueue({type:"system",subtype:"status",status:null,permissionMode:T8,uuid:WP.randomUUID(),session_id:R8()})};let I=new Set,b={abortController:null,inflightPromise:null,lastEmitted:null,pendingSuggestion:null,pendingLastEmittedEntry:null},x;if(j.enableAuthStatus)x=sG.getInstance().subscribe((k8)=>{y.enqueue({type:"auth_status",isAuthenticating:k8.isAuthenticating,output:k8.output,error:k8.error,uuid:WP.randomUUID(),session_id:R8()})});let R=(T8)=>{let k8=Fb4(T8);if(k8)y.enqueue({type:"rate_limit_event",rate_limit_info:k8,uuid:WP.randomUUID(),session_id:R8()})};EMH.add(R);let m=_;function Q(T8,k8){let _H=0,GH=0,NH=0,vH=new Set(k8.filter((kH)=>kH.mcpInfo&&!kH.name.startsWith("mcp__")).map((kH)=>kH.name));for(let kH=T8;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===yY)NH++}}return{tool_use_count:_H,mcp_tool_calls:GH,toolsearch_calls:NH,builtin_tool_calls:_H-GH-NH}}let B=bsH(_,g68.cwd(),np);TAq("messages",()=>({entries:m.length})),TAq("file_state_cache",()=>({entries:B.size,bytes:B.calculatedSize}));let g=new Map,l=AWH(zN8()??XZ8(_,$),ZqH),d=sb(np),i=process.env.CLAUDE_CODE_RESUME_INTERRUPTED_TURN;if(w&&w.kind!=="none"&&i)N(`[print.ts] Auto-resuming interrupted turn (kind: ${w.kind})`),tL8(m,w.message),hM({mode:"prompt",value:w.message.message.content,uuid:WP.randomUUID()});let s=MeH().map((T8)=>{let k8=T8.value===null?"default":T8.value,_H=k8==="default"?dW():n7(k8),GH=x2(_H),NH=b96(_H),vH=mw(T8.value),kH=GBH(_H);return{value:k8,displayName:T8.label,description:T8.description,...GH&&{supportsEffort:!0,supportedEffortLevels:QT.filter((EH)=>{if(EH==="ultra")return!1;if(EH==="max"&&!JgH(_H))return!1;if(EH==="xhigh"&&!GM8(_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(T8,k8){let _H=gP4(T8,Hb(k8));m.push(..._H);for(let GH of _H)if(typeof GH.message.content==="string"&&GH.message.content.includes(`<${P2}>`))y.enqueue({type:"user",message:GH.message,session_id:R8(),parent_tool_use_id:null,uuid:GH.uuid,timestamp:GH.timestamp,isReplay:!0})}let fH=[],qH=[],$H=new WeakSet;function KH(T8){for(let k8 of T8){if(k8.type!=="connected"||$H.has(k8.client))continue;if(k8.config.type==="sdk")continue;let _H=k8.name;try{k8.client.setRequestHandler(X$H,async(GH,NH)=>{M6(_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 FG8(_H,GH.params,NH.signal);if(kH)return M6(_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,L8=pP_(GH.params._meta),N8=await H.handleElicitation(_H,GH.params.message,tH,NH.signal,vH,EH,oH,L8),Z6=await QG8(_H,N8,NH.signal,vH,oH);return c("tengu_mcp_elicitation_response",{mode:vH,action:Z6.action}),Z6}),k8.client.setNotificationHandler(w48,(GH)=>{let{elicitationId:NH}=GH.params;M6(_H,`Elicitation completion notification: ${NH}`),dd({message:`MCP server "${_H}" confirmed elicitation ${NH} complete`,notificationType:"elicitation_complete"}),y.enqueue({type:"system",subtype:"elicitation_complete",mcp_server_name:_H,elicitation_id:NH,uuid:WP.randomUUID(),session_id:R8()})}),$H.add(k8.client)}catch{}}}let MH=z().mcp.clients;KH(MH),O(()=>{let T8=z().mcp.clients;if(T8===MH)return;MH=T8,KH(T8)});async function AH(){let T8=new Set(Object.keys(A)),k8=new Set(fH.map((EH)=>EH.name)),_H=Array.from(T8).some((EH)=>!k8.has(EH)),GH=Array.from(k8).some((EH)=>!T8.has(EH)),NH=fH.some((EH)=>EH.type==="pending"),vH=fH.some((EH)=>EH.type==="failed");if(_H||GH||NH||vH){for(let oH of fH)if(!T8.has(oH.name)){if(oH.type==="connected")await oH.cleanup()}let EH=await yj4(A,(oH,L8)=>H.sendMcpMessage(oH,L8));fH=EH.clients,qH=EH.tools;let tH=f$([...k8,...T8]);Y((oH)=>({...oH,mcp:{...oH.mcp,tools:[...oH.mcp.tools.filter((L8)=>!tH.some((N8)=>L8.name.startsWith(hm(N8)))),...qH]}})),e87(fH),vP_(fH)}}AH();let zH={clients:[],tools:[],configs:{},policyRules:new Set},OH=mH(process.env.CLAUDE_CODE_REMOTE)?Object.fromEntries(z().mcp.clients.filter((T8)=>T8.config.scope==="dynamic"&&!("pluginSource"in T8.config)&&fVq(T8.config)).map((T8)=>[T8.name,T8.config])):{};kCH(()=>[...z().mcp.clients,...fH,...zH.clients]);let YH=K,LH=M,PH,TH=(T8)=>{let k8=qc(T8.toolPermissionContext,T8.mcp.tools,{skillTools:T8.skillTools}),_H=qW(mH8([...$,...qH,...zH.tools],k8,T8.toolPermissionContext.mode),"name"),GH=VS();if(PH=void 0,GH){let vH=LH.find((kH)=>kH.agentType===GH);if(vH){let kH=Rr(vH,_H,!1,!0);_H=kH.resolvedTools,PH=kH.allowedAgentTypes}}if(j.permissionPromptToolName)_H=_H.filter((vH)=>!Z9(vH,j.permissionPromptToolName));let NH=VS8();if(NH&&!j.jsonSchema){let vH=WdH(NH);if("tool"in vH)_H=[..._H,vH.tool]}return _H},DH=mH(process.env.CLAUDE_CODE_REMOTE)?process.env.CLAUDE_CODE_SYSTEM_PROMPT_GB_FEATURE:void 0,ZH=()=>{if(!DH)return j.systemPrompt;let T8=v8(DH,"");return typeof T8==="string"&&T8.length>0?T8:j.systemPrompt},RH=null,yH=0;function BH(){if(!RH)return;let T8=Math.min(yH,m.length),k8=m.slice(T8).filter((_H)=>_H.type==="user"||_H.type==="assistant");if(yH=m.length,k8.length>0)RH.writeMessages(k8)}let FH=Promise.resolve({response:{added:[],removed:[],errors:{}},sdkServersChanged:!1});function pH(T8,{authoritative:k8,caller:_H}){let GH=async()=>{let NH=new Set(fH.map((tH)=>tH.name)),vH={...zH,configs:{...OH,...zH.configs}},kH=T8;if(!k8&&Object.keys(OH).length>0){let tH={};for(let[oH,L8]of Object.entries(OH)){if(oH in T8)continue;let{scope:N8,...Z6}=L8;if(fVq(Z6))tH[oH]=Z6}kH={...tH,...T8}}let EH=await rP_(kH,{configs:A,clients:fH,tools:qH},vH,Y,z,_H);if(k8){let tH=new Set(Object.keys(EH.newDynamicState.configs));OH=Object.fromEntries(Object.entries(T8).filter(([oH])=>tH.has(oH)).map(([oH,L8])=>[oH,{...L8,scope:"dynamic"}]))}for(let tH of Object.keys(A))delete A[tH];if(Object.assign(A,EH.newSdkState.configs),fH=EH.newSdkState.clients,qH=EH.newSdkState.tools,zH=EH.newDynamicState,EH.sdkServersChanged){let tH=new Set(fH.map((L8)=>L8.name)),oH=f$([...NH,...tH]);Y((L8)=>({...L8,mcp:{...L8.mcp,tools:[...L8.mcp.tools.filter((N8)=>!oH.some((Z6)=>N8.name.startsWith(hm(Z6)))),...qH]}}))}return{response:EH.response,sdkServersChanged:EH.sdkServersChanged}};return FH=FH.then(GH,GH),FH}function aH(){let T8=z(),k8=T8.mcp.clients,_H=qW([...T8.mcp.tools,...zH.tools],"name"),GH=new Set([...k8.map((NH)=>NH.name),...fH.map((NH)=>NH.name)]);return[...k8,...fH,...zH.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"?j8H(_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 z8(T8){try{await Promise.all([Promise.resolve(),AuH("headless_managed_settings_wait",()=>d56())])}catch(_H){IH(_H)}let k8=!1;try{let _H=new Set(Object.keys((await D8H()).servers));if(k8=await hP_(T8),k8){let GH=performance.now();if(await f8(_H,"plugin_install_diff"),mH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))TE("plugin_mcp_reconcile_ms",performance.now()-GH)}}catch(_H){N(`Headless plugin install / MCP reconcile failed: ${VH(_H)}`,{level:"error"})}return k8}let QH=null,bH=performance.now(),eH=tEH()?nD_():null,Y8=null,j8;if(!_9())if(mH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))j8=j.outputFormat==="stream-json"?(T8)=>void H.write({type:"system",subtype:"plugin_install",status:T8.status,name:"name"in T8?T8.name:void 0,error:"error"in T8?T8.error:void 0,uuid:WP.randomUUID(),session_id:R8()}):void 0,j8?.({status:"started"}),QH=z8((T8)=>j8?.(T8));else Y8=UP_(z8);let lH=z().mcp.clients.length,u8=k7K(z),o8=GP_(()=>!P);async function cH(){let{agentDefinitions:T8}=await lXH(Y);YH=LRH(await s2(g68.cwd()));let k8=LH.filter((_H)=>_H.source==="flagSettings");LH=[...T8.allAgents,...k8]}async function f8(T8,k8){let{servers:_H}=await D8H(),GH={};for(let[kH,EH]of Object.entries(_H)){if(T8?.has(kH)&&!(kH in zH.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(A))if(EH.type==="sdk"&&!(kH in GH))GH[kH]=EH;let{response:NH,sdkServersChanged:vH}=await pH(GH,{authoritative:!1,caller:k8});if(vH)AH();N(`Headless MCP refresh: added=${NH.added.length}, removed=${NH.removed.length}`)}let V8=G68.subscribe(()=>{xo(),s2(g68.cwd()).then((T8)=>{YH=LRH(T8)})});x_H(()=>{if(E&&j67("now").length>0)E.abort("interrupt")});let p8=async()=>{if(P)return;P=!0,G=void 0,H.sessionState.notifyStateChanged("running"),H.resetStallWatchdog(),o8.stop(),aJ("run_entry"),TE("first_message_read_ms",performance.now()),iB4();try{if(await AH(),aJ("after_updateSdkMcp"),eH){let _H=dD_()-(performance.now()-bH),GH=r6(Math.max(0,_H)).then(()=>"timeout");if(await Promise.race([eH,GH])==="timeout")c("tengu_skills_sync_wait_timeout",{}),D7K()}if(QH){let _H=performance.now(),GH=parseInt(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS||"",10);if(GH>0){let vH=r6(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;TE("plugin_install_ms",performance.now()-_H),QH=null;try{await cH()}catch(vH){IH(vH)}let{setupPluginHookHotReload:NH}=await Promise.resolve().then(() => (LhH(),Ybq));NH()}}finally{j8?.({status:"completed"}),j8=void 0}if(mH(process.env.CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH)&&Y8?.needsRefresh){Y8.needsRefresh=!1;try{await cH()}catch(_H){IH(_H)}}let k8=sNf(y,mH(process.env.CLAUDE_CODE_REMOTE));try{let _H,GH=!1,NH=!0,vH=(tH)=>T(tH)&&tH.mode==="orphaned-permission",kH=()=>{let tH=wdH(vH);if(tH)return N(`drainCommandQueue: prioritizing orphaned-permission for toolUseID=${tH.orphanedPermission?.permissionResult?.toolUseID??"<unknown>"}`),tH;return wdH(T)},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(FP_(_H,KvH(T)))tH.push(wdH(T));if(tH.length>1)_H={..._H,value:BP_(tH.map((e8)=>e8.value)),uuid:tH.findLast((e8)=>e8.uuid)?.uuid??_H.uuid,fileAttachments:tH.flatMap((e8)=>e8.fileAttachments??[]),clientPlatform:tH.find((e8)=>e8.clientPlatform)?.clientPlatform??_H.clientPlatform}}let oH=tH.map((e8)=>e8.uuid).filter((e8)=>e8!==void 0);if(j.replayUserMessages&&tH.length>1){for(let e8 of tH)if(e8.uuid&&e8.uuid!==_H.uuid)y.enqueue({type:"user",message:{role:"user",content:e8.value},session_id:R8(),parent_tool_use_id:null,uuid:e8.uuid,isReplay:!0,...e8.fileAttachments?.length&&{file_attachments:e8.fileAttachments},...e8.origin&&{origin:e8.origin}})}if(NH){NH=!1,aJ("before_mcp_prewait");let e8=performance.now();if(z().mcp.clients.length>lH)await k7K(z,void 0,lH>0);else await u8;TE("mcp_prewait_ms",performance.now()-e8),aJ("after_mcp_prewait")}let L8=z(),N8=[...L8.mcp.clients,...fH,...zH.clients];KH(N8);for(let e8 of N8)T7K(e8);let Z6=TH(L8);for(let e8 of oH)H.onCommandLifecycle?.(e8,"started");if(_H.mode==="task-notification"){let e8=typeof _H.value==="string"?_H.value:"",b6=e8.match(/<task-id>([^<]+)<\/task-id>/),gq=e8.match(/<tool-use-id>([^<]+)<\/tool-use-id>/),K6=e8.match(/<output-file>([^<]+)<\/output-file>/),N6=e8.match(/<status>([^<]+)<\/status>/),Nq=e8.match(/<summary>([^<]+)<\/summary>/),a6=(df)=>df==="completed"||df==="failed"||df==="stopped"||df==="killed",WK=N6?.[1],H4=a6(WK)?WK==="killed"?"stopped":WK:"completed",q9=e8.match(/<usage>([\s\S]*?)<\/usage>/)?.[1]??"",wK=q9.match(/<total_tokens>(\d+)<\/total_tokens>/),p1=q9.match(/<tool_uses>(\d+)<\/tool_uses>/),y$=q9.match(/<duration_ms>(\d+)<\/duration_ms>/);if(N6)y.enqueue({type:"system",subtype:"task_notification",task_id:b6?.[1]??"",tool_use_id:gq?.[1],status:H4,output_file:K6?.[1]??"",summary:Nq?.[1]??"",usage:wK&&p1?{total_tokens:parseInt(wK[1],10),tool_uses:parseInt(p1[1],10),duration_ms:y$?parseInt(y$[1],10):0}:void 0,session_id:R8(),uuid:WP.randomUUID()})}let L6=_H.value;if(H instanceof Xh8&&_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 e8=typeof L6==="string"?L6:L6.find((b6)=>b6.type==="text")?.text;if(typeof e8==="string")NO7(b.lastEmitted.text,e8,b.lastEmitted.emittedAt,b.lastEmitted.promptId,b.lastEmitted.generationRequestId);b.lastEmitted=null}}E=B4();let jq=void 0;aJ("before_ask"),xV8();let C6=_H;if(C6.uuid!==void 0&&A67(C6.uuid)){H.onCommandLifecycle?.(C6.uuid,"completed");continue}let Vq=typeof L6==="string"?L6:Y_(L6,`
|
|
23954
|
+
`)}E_(Q?.type==="result"&&Q?.is_error||l?1:0)}function gP_(H,q,K,$,_,f,A,z,Y,O,M,j,w,D){let P=!1,W,X=!1,J=D,G,L=!1,Z=!1,T=(T8)=>T8.agentId===void 0,v=null,E,S=B4(500),y=H.outbound;if(j.outputFormat==="stream-json"&&j.sessionMirror)Teq((T8,k8)=>{H.write({type:"transcript_mirror",filePath:T8,entries:k8})});let C=()=>{if(T6("info","shutdown_signal",{signal:"SIGINT"}),E&&!E.signal.aborted)E.abort();S.abort(),H7(0)};process.on("SIGINT",C),a$(async()=>{if(W&&!E?.signal.aborted&&!X)c("tengu_sdk_result",{subtype:"terminated",is_error:!0,duration_ms:Date.now()-W,run_phase:G??"init",exit_code:process.exitCode}),X=!0,W=void 0;let T8={};for(let k8 of KJ6(z()))if(uM(k8))T8[k8.type]=(T8[k8.type]??0)+1;T6("info","run_state_at_shutdown",{run_active:P,run_phase:G,worker_status:H.sessionState.getState(),internal_events_pending:H.internalEventsPending,bg_tasks:T8})}),H.sessionState.onPermissionModeChanged=(T8)=>{if(T8==="default"||T8==="acceptEdits"||T8==="bypassPermissions"||T8==="plan"||T8==="auto"||T8==="dontAsk")y.enqueue({type:"system",subtype:"status",status:null,permissionMode:T8,uuid:WP.randomUUID(),session_id:R8()})};let I=new Set,b={abortController:null,inflightPromise:null,lastEmitted:null,pendingSuggestion:null,pendingLastEmittedEntry:null},x;if(j.enableAuthStatus)x=sG.getInstance().subscribe((k8)=>{y.enqueue({type:"auth_status",isAuthenticating:k8.isAuthenticating,output:k8.output,error:k8.error,uuid:WP.randomUUID(),session_id:R8()})});let R=(T8)=>{let k8=Fb4(T8);if(k8)y.enqueue({type:"rate_limit_event",rate_limit_info:k8,uuid:WP.randomUUID(),session_id:R8()})};EMH.add(R);let m=_;function Q(T8,k8){let _H=0,GH=0,NH=0,vH=new Set(k8.filter((kH)=>kH.mcpInfo&&!kH.name.startsWith("mcp__")).map((kH)=>kH.name));for(let kH=T8;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===yY)NH++}}return{tool_use_count:_H,mcp_tool_calls:GH,toolsearch_calls:NH,builtin_tool_calls:_H-GH-NH}}let B=bsH(_,g68.cwd(),np);TAq("messages",()=>({entries:m.length})),TAq("file_state_cache",()=>({entries:B.size,bytes:B.calculatedSize}));let g=new Map,l=AWH(zN8()??XZ8(_,$),ZqH),d=sb(np),i=process.env.CLAUDE_CODE_RESUME_INTERRUPTED_TURN;if(w&&w.kind!=="none"&&i)N(`[print.ts] Auto-resuming interrupted turn (kind: ${w.kind})`),tL8(m,w.message),hM({mode:"prompt",value:w.message.message.content,uuid:WP.randomUUID()});let s=MeH().map((T8)=>{let k8=T8.value===null?"default":T8.value,_H=k8==="default"?dW():n7(k8),GH=x2(_H),NH=b96(_H),vH=mw(T8.value),kH=GBH(_H);return{value:k8,displayName:T8.label,description:T8.description,...GH&&{supportsEffort:!0,supportedEffortLevels:QT.filter((EH)=>{if(EH==="ultra")return!1;if(EH==="max"&&!JgH(_H))return!1;if(EH==="xhigh"&&!GM8(_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(T8,k8){let _H=gP4(T8,Hb(k8));m.push(..._H);for(let GH of _H)if(typeof GH.message.content==="string"&&GH.message.content.includes(`<${P2}>`))y.enqueue({type:"user",message:GH.message,session_id:R8(),parent_tool_use_id:null,uuid:GH.uuid,timestamp:GH.timestamp,isReplay:!0})}let fH=[],qH=[],$H=new WeakSet;function KH(T8){for(let k8 of T8){if(k8.type!=="connected"||$H.has(k8.client))continue;if(k8.config.type==="sdk")continue;let _H=k8.name;try{k8.client.setRequestHandler(X$H,async(GH,NH)=>{M6(_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 FG8(_H,GH.params,NH.signal);if(kH)return M6(_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,L8=pP_(GH.params._meta),N8=await H.handleElicitation(_H,GH.params.message,tH,NH.signal,vH,EH,oH,L8),Z6=await QG8(_H,N8,NH.signal,vH,oH);return c("tengu_mcp_elicitation_response",{mode:vH,action:Z6.action}),Z6}),k8.client.setNotificationHandler(w48,(GH)=>{let{elicitationId:NH}=GH.params;M6(_H,`Elicitation completion notification: ${NH}`),dd({message:`MCP server "${_H}" confirmed elicitation ${NH} complete`,notificationType:"elicitation_complete"}),y.enqueue({type:"system",subtype:"elicitation_complete",mcp_server_name:_H,elicitation_id:NH,uuid:WP.randomUUID(),session_id:R8()})}),$H.add(k8.client)}catch{}}}let MH=z().mcp.clients;KH(MH),O(()=>{let T8=z().mcp.clients;if(T8===MH)return;MH=T8,KH(T8)});async function AH(){let T8=new Set(Object.keys(A)),k8=new Set(fH.map((EH)=>EH.name)),_H=Array.from(T8).some((EH)=>!k8.has(EH)),GH=Array.from(k8).some((EH)=>!T8.has(EH)),NH=fH.some((EH)=>EH.type==="pending"),vH=fH.some((EH)=>EH.type==="failed");if(_H||GH||NH||vH){for(let oH of fH)if(!T8.has(oH.name)){if(oH.type==="connected")await oH.cleanup()}let EH=await yj4(A,(oH,L8)=>H.sendMcpMessage(oH,L8));fH=EH.clients,qH=EH.tools;let tH=f$([...k8,...T8]);Y((oH)=>({...oH,mcp:{...oH.mcp,tools:[...oH.mcp.tools.filter((L8)=>!tH.some((N8)=>L8.name.startsWith(hm(N8)))),...qH]}})),e87(fH),vP_(fH)}}AH();let zH={clients:[],tools:[],configs:{},policyRules:new Set},OH=mH(process.env.CLAUDE_CODE_REMOTE)?Object.fromEntries(z().mcp.clients.filter((T8)=>T8.config.scope==="dynamic"&&!("pluginSource"in T8.config)&&fVq(T8.config)).map((T8)=>[T8.name,T8.config])):{};kCH(()=>[...z().mcp.clients,...fH,...zH.clients]);let YH=K,LH=M,PH,TH=(T8)=>{let k8=qc(T8.toolPermissionContext,T8.mcp.tools,{skillTools:T8.skillTools}),_H=qW(mH8([...$,...qH,...zH.tools],k8,T8.toolPermissionContext.mode),"name"),GH=VS();if(PH=void 0,GH){let vH=LH.find((kH)=>kH.agentType===GH);if(vH){let kH=Rr(vH,_H,!1,!0);_H=kH.resolvedTools,PH=kH.allowedAgentTypes}}if(j.permissionPromptToolName)_H=_H.filter((vH)=>!Z9(vH,j.permissionPromptToolName));let NH=VS8();if(NH&&!j.jsonSchema){let vH=WdH(NH);if("tool"in vH)_H=[..._H,vH.tool]}return _H},DH=mH(process.env.CLAUDE_CODE_REMOTE)?process.env.CLAUDE_CODE_SYSTEM_PROMPT_GB_FEATURE:void 0,ZH=()=>{if(!DH)return j.systemPrompt;let T8=v8(DH,"");return typeof T8==="string"&&T8.length>0?T8:j.systemPrompt},RH=null,yH=0;function BH(){if(!RH)return;let T8=Math.min(yH,m.length),k8=m.slice(T8).filter((_H)=>_H.type==="user"||_H.type==="assistant");if(yH=m.length,k8.length>0)RH.writeMessages(k8)}let FH=Promise.resolve({response:{added:[],removed:[],errors:{}},sdkServersChanged:!1});function pH(T8,{authoritative:k8,caller:_H}){let GH=async()=>{let NH=new Set(fH.map((tH)=>tH.name)),vH={...zH,configs:{...OH,...zH.configs}},kH=T8;if(!k8&&Object.keys(OH).length>0){let tH={};for(let[oH,L8]of Object.entries(OH)){if(oH in T8)continue;let{scope:N8,...Z6}=L8;if(fVq(Z6))tH[oH]=Z6}kH={...tH,...T8}}let EH=await rP_(kH,{configs:A,clients:fH,tools:qH},vH,Y,z,_H);if(k8){let tH=new Set(Object.keys(EH.newDynamicState.configs));OH=Object.fromEntries(Object.entries(T8).filter(([oH])=>tH.has(oH)).map(([oH,L8])=>[oH,{...L8,scope:"dynamic"}]))}for(let tH of Object.keys(A))delete A[tH];if(Object.assign(A,EH.newSdkState.configs),fH=EH.newSdkState.clients,qH=EH.newSdkState.tools,zH=EH.newDynamicState,EH.sdkServersChanged){let tH=new Set(fH.map((L8)=>L8.name)),oH=f$([...NH,...tH]);Y((L8)=>({...L8,mcp:{...L8.mcp,tools:[...L8.mcp.tools.filter((N8)=>!oH.some((Z6)=>N8.name.startsWith(hm(Z6)))),...qH]}}))}return{response:EH.response,sdkServersChanged:EH.sdkServersChanged}};return FH=FH.then(GH,GH),FH}function aH(){let T8=z(),k8=T8.mcp.clients,_H=qW([...T8.mcp.tools,...zH.tools],"name"),GH=new Set([...k8.map((NH)=>NH.name),...fH.map((NH)=>NH.name)]);return[...k8,...fH,...zH.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"?j8H(_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"]&&(!OhH()||!bCq(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 z8(T8){try{await Promise.all([Promise.resolve(),AuH("headless_managed_settings_wait",()=>d56())])}catch(_H){IH(_H)}let k8=!1;try{let _H=new Set(Object.keys((await D8H()).servers));if(k8=await hP_(T8),k8){let GH=performance.now();if(await f8(_H,"plugin_install_diff"),mH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))TE("plugin_mcp_reconcile_ms",performance.now()-GH)}}catch(_H){N(`Headless plugin install / MCP reconcile failed: ${VH(_H)}`,{level:"error"})}return k8}let QH=null,bH=performance.now(),eH=tEH()?nD_():null,Y8=null,j8;if(!_9())if(mH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))j8=j.outputFormat==="stream-json"?(T8)=>void H.write({type:"system",subtype:"plugin_install",status:T8.status,name:"name"in T8?T8.name:void 0,error:"error"in T8?T8.error:void 0,uuid:WP.randomUUID(),session_id:R8()}):void 0,j8?.({status:"started"}),QH=z8((T8)=>j8?.(T8));else Y8=UP_(z8);let lH=z().mcp.clients.length,u8=k7K(z),o8=GP_(()=>!P);async function cH(){let{agentDefinitions:T8}=await lXH(Y);YH=LRH(await s2(g68.cwd()));let k8=LH.filter((_H)=>_H.source==="flagSettings");LH=[...T8.allAgents,...k8]}async function f8(T8,k8){let{servers:_H}=await D8H(),GH={};for(let[kH,EH]of Object.entries(_H)){if(T8?.has(kH)&&!(kH in zH.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(A))if(EH.type==="sdk"&&!(kH in GH))GH[kH]=EH;let{response:NH,sdkServersChanged:vH}=await pH(GH,{authoritative:!1,caller:k8});if(vH)AH();N(`Headless MCP refresh: added=${NH.added.length}, removed=${NH.removed.length}`)}let V8=G68.subscribe(()=>{xo(),s2(g68.cwd()).then((T8)=>{YH=LRH(T8)})});x_H(()=>{if(E&&j67("now").length>0)E.abort("interrupt")});let p8=async()=>{if(P)return;P=!0,G=void 0,H.sessionState.notifyStateChanged("running"),H.resetStallWatchdog(),o8.stop(),aJ("run_entry"),TE("first_message_read_ms",performance.now()),iB4();try{if(await AH(),aJ("after_updateSdkMcp"),eH){let _H=dD_()-(performance.now()-bH),GH=r6(Math.max(0,_H)).then(()=>"timeout");if(await Promise.race([eH,GH])==="timeout")c("tengu_skills_sync_wait_timeout",{}),D7K()}if(QH){let _H=performance.now(),GH=parseInt(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS||"",10);if(GH>0){let vH=r6(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;TE("plugin_install_ms",performance.now()-_H),QH=null;try{await cH()}catch(vH){IH(vH)}let{setupPluginHookHotReload:NH}=await Promise.resolve().then(() => (LhH(),Ybq));NH()}}finally{j8?.({status:"completed"}),j8=void 0}if(mH(process.env.CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH)&&Y8?.needsRefresh){Y8.needsRefresh=!1;try{await cH()}catch(_H){IH(_H)}}let k8=sNf(y,mH(process.env.CLAUDE_CODE_REMOTE));try{let _H,GH=!1,NH=!0,vH=(tH)=>T(tH)&&tH.mode==="orphaned-permission",kH=()=>{let tH=wdH(vH);if(tH)return N(`drainCommandQueue: prioritizing orphaned-permission for toolUseID=${tH.orphanedPermission?.permissionResult?.toolUseID??"<unknown>"}`),tH;return wdH(T)},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(FP_(_H,KvH(T)))tH.push(wdH(T));if(tH.length>1)_H={..._H,value:BP_(tH.map((e8)=>e8.value)),uuid:tH.findLast((e8)=>e8.uuid)?.uuid??_H.uuid,fileAttachments:tH.flatMap((e8)=>e8.fileAttachments??[]),clientPlatform:tH.find((e8)=>e8.clientPlatform)?.clientPlatform??_H.clientPlatform}}let oH=tH.map((e8)=>e8.uuid).filter((e8)=>e8!==void 0);if(j.replayUserMessages&&tH.length>1){for(let e8 of tH)if(e8.uuid&&e8.uuid!==_H.uuid)y.enqueue({type:"user",message:{role:"user",content:e8.value},session_id:R8(),parent_tool_use_id:null,uuid:e8.uuid,isReplay:!0,...e8.fileAttachments?.length&&{file_attachments:e8.fileAttachments},...e8.origin&&{origin:e8.origin}})}if(NH){NH=!1,aJ("before_mcp_prewait");let e8=performance.now();if(z().mcp.clients.length>lH)await k7K(z,void 0,lH>0);else await u8;TE("mcp_prewait_ms",performance.now()-e8),aJ("after_mcp_prewait")}let L8=z(),N8=[...L8.mcp.clients,...fH,...zH.clients];KH(N8);for(let e8 of N8)T7K(e8);let Z6=TH(L8);for(let e8 of oH)H.onCommandLifecycle?.(e8,"started");if(_H.mode==="task-notification"){let e8=typeof _H.value==="string"?_H.value:"",b6=e8.match(/<task-id>([^<]+)<\/task-id>/),gq=e8.match(/<tool-use-id>([^<]+)<\/tool-use-id>/),K6=e8.match(/<output-file>([^<]+)<\/output-file>/),N6=e8.match(/<status>([^<]+)<\/status>/),Nq=e8.match(/<summary>([^<]+)<\/summary>/),a6=(df)=>df==="completed"||df==="failed"||df==="stopped"||df==="killed",WK=N6?.[1],H4=a6(WK)?WK==="killed"?"stopped":WK:"completed",q9=e8.match(/<usage>([\s\S]*?)<\/usage>/)?.[1]??"",wK=q9.match(/<total_tokens>(\d+)<\/total_tokens>/),p1=q9.match(/<tool_uses>(\d+)<\/tool_uses>/),y$=q9.match(/<duration_ms>(\d+)<\/duration_ms>/);if(N6)y.enqueue({type:"system",subtype:"task_notification",task_id:b6?.[1]??"",tool_use_id:gq?.[1],status:H4,output_file:K6?.[1]??"",summary:Nq?.[1]??"",usage:wK&&p1?{total_tokens:parseInt(wK[1],10),tool_uses:parseInt(p1[1],10),duration_ms:y$?parseInt(y$[1],10):0}:void 0,session_id:R8(),uuid:WP.randomUUID()})}let L6=_H.value;if(H instanceof Xh8&&_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 e8=typeof L6==="string"?L6:L6.find((b6)=>b6.type==="text")?.text;if(typeof e8==="string")NO7(b.lastEmitted.text,e8,b.lastEmitted.emittedAt,b.lastEmitted.promptId,b.lastEmitted.generationRequestId);b.lastEmitted=null}}E=B4();let jq=void 0;aJ("before_ask"),xV8();let C6=_H;if(C6.uuid!==void 0&&A67(C6.uuid)){H.onCommandLifecycle?.(C6.uuid,"completed");continue}let Vq=typeof L6==="string"?L6:Y_(L6,`
|
|
23955
23955
|
`);await cl8(C6.workload??j.workload,()=>o16(Vq,async()=>{let e8=!1,b6=!1,gq=0,K6=F0(),N6=m.length;W=Date.now(),ld.startCLIActivity("print-ask");try{for await(let Nq of JP_({commands:qW([...YH,...L8.mcp.commands],"name"),prompt:L6,promptUuid:C6.uuid,isMeta:C6.isMeta,shouldQuery:C6.shouldQuery,stopHookActive:C6.stopHookActive,fileAttachments:C6.fileAttachments,origin:C6.origin??(C6.mode==="task-notification"?{kind:"task-notification"}:void 0),clientPlatform:C6.clientPlatform,cwd:g68.cwd(),tools:Z6,refreshTools:()=>TH(z()),refreshMcpClients:()=>[...z().mcp.clients,...fH,...zH.clients],verbose:j.verbose,mcpClients:N8,thinkingConfig:e,maxTurns:j.maxTurns,maxBudgetUsd:j.maxBudgetUsd,taskBudget:j.taskBudget,canUseTool:f,userSpecifiedModel:HH,fallbackModel:j.fallbackModel,jsonSchema:VS8()??j.jsonSchema,mutableMessages:m,sessionEnvVars:g,isolationLatch:l,getReadFileCache:()=>d.size===0?B:ldH(B,d),setReadFileCache:(a6)=>{B=a6;for(let[WK,H4]of d.entries()){let A4=B.get(WK);if(!A4||H4.timestamp>A4.timestamp)B.set(WK,H4)}d.clear()},customSystemPrompt:ZH(),appendSystemPrompt:j.appendSystemPrompt,planModeInstructions:j.planModeInstructions,appendSubagentSystemPrompt:j.appendSubagentSystemPrompt,toolAliases:j.toolAliases,excludeDynamicSections:j.excludeDynamicSections,getAppState:z,setAppState:Y,abortController:E,replayUserMessages:j.replayUserMessages,includePartialMessages:j.includePartialMessages,forwardSubagentText:j.forwardSubagentText,onCommandLifecycle:H.onCommandLifecycle,sessionState:H.sessionState,requestDialog:rNf(H),agents:LH,allowedAgentTypes:PH,orphanedPermission:C6.orphanedPermission,deferredToolUse:J,setSDKStatus:(a6,WK)=>{y.enqueue({type:"system",subtype:"status",status:a6,...WK?.compactResult!==void 0&&{compact_result:WK.compactResult},...WK?.compactError!==void 0&&{compact_error:WK.compactError},session_id:R8(),uuid:WP.randomUUID()})}})){if(J=void 0,BH(),Nq.type==="system"){if(Nq.subtype==="api_retry")e8=!0,gq=Math.max(gq,Nq.error_status??0);if(Nq.subtype==="compact_boundary")b6=!0,N6=m.length}if(Nq.type==="result"){if(W!==void 0)c("tengu_sdk_result",{subtype:Nq.subtype,is_error:Nq.is_error,num_turns:Nq.num_turns,duration_ms:Nq.duration_ms,duration_api_ms:F0()-K6,saw_retry:e8,saw_compact:b6,retry_status:e8?gq:void 0,api_error_status:Nq.subtype==="success"?Nq.api_error_status??void 0:void 0,...Q(N6,Z6)}),W=void 0;if(Nq.is_error)XS6(H.sessionState,Nq.subtype==="success"?Nq.result:Nq.errors[0]);for(let WK of KjH())y.enqueue(WK);let a6=z();if(C6.shouldQuery===!1){if(j.sessionMirror)await Bv();y.enqueue(Nq)}else if(KJ6(a6).some((WK)=>(WK.type==="local_agent"||WK.type==="local_workflow")&&uM(WK)))v=Nq;else{if(v=null,j.sessionMirror)await Bv();y.enqueue(Nq)}}else{for(let a6 of KjH())y.enqueue(a6);y.enqueue(Nq)}}}finally{W8H(),ld.endCLIActivity("print-ask")}}));for(let e8 of oH)H.onCommandLifecycle?.(e8,"completed");if(BH(),RH?.sendResult(),j.promptSuggestions&&C6.shouldQuery!==!1&&!t4(process.env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION)){b.abortController?.abort();let b6=new AbortController;b.abortController=b6;let gq=z8H();if(!gq)Mv("sdk_no_params",void 0,void 0,"sdk");else{let K6={promise:null};K6.promise=(async()=>{try{let N6=await yZq(b6,m,z,gq,"sdk");if(!N6||b6.signal.aborted)return;let Nq={type:"prompt_suggestion",suggestion:N6.suggestion,uuid:WP.randomUUID(),session_id:R8()},a6={text:N6.suggestion,emittedAt:Date.now(),promptId:N6.promptId,generationRequestId:N6.generationRequestId};if(v)b.pendingSuggestion=Nq,b.pendingLastEmittedEntry={text:a6.text,promptId:a6.promptId,generationRequestId:a6.generationRequestId};else b.lastEmitted=a6,y.enqueue(Nq)}catch(N6){if(N6 instanceof Error&&(N6.name==="AbortError"||N6.name==="APIUserAbortError")){Mv("aborted",void 0,void 0,"sdk");return}IH(cq(N6))}finally{if(b.inflightPromise===K6.promise)b.inflightPromise=null}})(),b.inflightPromise=K6.promise}}Tgq(),_06(),Vgq()}};do{for(let tH of KjH())y.enqueue(tH);G="draining_commands",await EH(),GH=!1;{let tH=z(),oH=KJ6(tH).some((N8)=>uM(N8)&&N8.type!=="in_process_teammate"),L8=KvH(T)!==void 0;if(oH||L8){if(GH=!0,!L8)G="waiting_for_agents",k8(),await r6(100)}}}while(GH);if(v){if(j.sessionMirror)await Bv();if(y.enqueue(v),v=null,b.pendingSuggestion){if(y.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",_Ef(_H)),!X)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}),X=!0;try{if(j.sessionMirror)await Bv();XS6(H.sessionState,VH(_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:R8(),total_cost_usd:0,usage:TX,modelUsage:{},permission_denials:[],uuid:WP.randomUUID(),errors:[VH(_H),...pLH().map((GH)=>GH.error)]})}catch{}await Promise.race([H.flushSessionState(),r6(5000,void 0,{unref:!0})]),b.abortController?.abort(),E_(1);return}finally{if(G="finally_flush",await H.flushInternalEvents(),G="finally_post_flush",!Px())await Promise.race([H.flushDeliveryAcks(),r6(5000,void 0,{unref:!0})]);if(!Px()){H.sessionState.notifyStateChanged("idle");for(let _H of KjH())y.enqueue(_H)}P=!1,o8.start()}if(KvH(T)!==void 0){p8();return}{let GH=z().teamContext;if(GH&&Zh(GH))while(!0){let kH=z();if(!(ol8(kH)||kH.teamContext&&Object.keys(kH.teamContext.teammates).length>0)){N("[print.ts] No more active teammates, stopping poll");break}let tH=await yEH("team-lead",kH.teamContext?.teamName);if(tH.length>0){N(`[print.ts] Team-lead found ${tH.length} unread messages`),await G28("team-lead",kH.teamContext?.teamName);let oH=kH.teamContext?.teamName;for(let N8 of tH){let Z6=DI(N8.text);if(Z6&&oH){let L6=Z6.from;N(`[print.ts] Processing shutdown_approved from ${L6}`);let jq=kH.teamContext?.teammates?Object.entries(kH.teamContext.teammates).find(([,C6])=>C6.name===L6)?.[0]:void 0;if(jq)xhH(oH,{agentId:jq,name:L6}),N(`[print.ts] Removed ${L6} from team file`),await JwH(oH,jq,L6,"shutdown"),Y((C6)=>{if(!C6.teamContext?.teammates)return C6;if(!(jq in C6.teamContext.teammates))return C6;let{[jq]:Vq,...e8}=C6.teamContext.teammates;return{...C6,teamContext:{...C6.teamContext,teammates:e8}}})}}let L8=tH.map((N8)=>`<${yL} teammate_id="${N8.from}"${N8.color?` color="${N8.color}"`:""}>
|
|
23956
23956
|
${N8.text}
|
|
23957
23957
|
</${yL}>`).join(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "makecoder",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.73",
|
|
4
4
|
"description": "MakeCoder: Unified AI agent CLI tool integrating Claude Code, Codex and Gemini CLI",
|
|
5
5
|
"main": "./dist/coder.js",
|
|
6
6
|
"bin": {
|
|
@@ -43,12 +43,11 @@
|
|
|
43
43
|
},
|
|
44
44
|
"files": [
|
|
45
45
|
"dist",
|
|
46
|
-
"packages",
|
|
47
46
|
"scripts/postinstall.js"
|
|
48
47
|
],
|
|
49
48
|
"optionalDependencies": {
|
|
50
|
-
"makecoder-codex-darwin-arm64": "4.0.
|
|
51
|
-
"makecoder-codex-linux-x64": "4.0.
|
|
52
|
-
"makecoder-codex-win32-x64": "4.0.
|
|
49
|
+
"makecoder-codex-darwin-arm64": "4.0.73",
|
|
50
|
+
"makecoder-codex-linux-x64": "4.0.73",
|
|
51
|
+
"makecoder-codex-win32-x64": "4.0.73"
|
|
53
52
|
}
|
|
54
53
|
}
|