makecoder 4.0.70 → 4.0.72
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/darwin-x64/cc.js
CHANGED
|
@@ -23,13 +23,13 @@ var WPK=Object.create;var{getPrototypeOf:GPK,defineProperty:_2H,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.72' + '&session_id=' + S6() + (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.72');
|
|
33
33
|
payload.headers.values.set('X-Coder-Platform', process.platform);
|
|
34
34
|
payload.headers.values.set('X-Coder-Arch', process.arch);
|
|
35
35
|
|
|
@@ -2790,7 +2790,7 @@ To complete your request, I need to fetch content from the redirected URL. Pleas
|
|
|
2790
2790
|
|
|
2791
2791
|
[Binary content (${z}, ${j1(D??f)}) also saved to ${Y}]`;return{data:{bytes:f,code:$,codeText:O,result:j,durationMs:Date.now()-K,url:H}}},mapToolResultToToolResultBlockParam({result:H},_){return{tool_use_id:_,type:"tool_result",content:H}}})});async function EC_(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 Etq=E(()=>{k6()});function Ztq(H,_,A,q){let K=q==="single",L=TDH({filePath:H,oldContent:_,newContent:A,singleHunk:K});if(L.length===0)return[];if(K&&L.length>1)RH(Error(`Unexpected number of hunks: ${L.length}. Expected 1 hunk.`));return GOq(L)}async function Vtq(H,_,A,q){let K=!1,L=P9(H),M="";try{M=oX(L)}catch(O){if(!j8(O))throw O}async function f(){if(K)return;K=!0;try{await ZC_(q,$)}catch(O){N(`Failed to close diff tab in IDE: ${O instanceof Error?O.message:String(O)}`,{level:"error"})}process.off("beforeExit",f),A.abortController.signal.removeEventListener("abort",f)}A.abortController.signal.addEventListener("abort",f),process.on("beforeExit",f);let $=Yx(A.options.mcpClients);try{let{updatedFile:O}=Mj6({filePath:L,fileContents:M,edits:_});if(!$||$.type!=="connected")throw Error("IDE client not available");let z=L,Y=$.config.ideRunningInWindows===!0;if(a6()==="wsl"&&Y&&process.env.WSL_DISTRO_NAME)z=await new qlH(process.env.WSL_DISTRO_NAME).toIDEPath(L);let D=await Gr("openDiff",{old_file_path:z,new_file_path:z,new_file_contents:O,tab_name:q},$),w=Array.isArray(D)?D:[D];if(GzL(w))return f(),{oldContent:M,newContent:w[1].text};else if(PzL(w))return f(),{oldContent:M,newContent:O};else if(WzL(w))return f(),{oldContent:M,newContent:M};throw Error("Not accepted")}catch(O){throw N(`Failed to show diff in IDE: ${O instanceof Error?O.message:String(O)}`,{level:"error"}),f(),O}}async function ZC_(H,_){try{if(!_||_.type!=="connected")throw Error("IDE client not available");await Gr("close_tab",{tab_name:H},_),bH("ide_close_diff_tab")}catch(A){N(`Failed to close diff tab in IDE: ${A instanceof Error?A.message:String(A)}`,{level:"error"}),_8("ide_close_diff_tab","ide_close_diff_tab_failed")}}function PzL(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 WzL(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 GzL(H){return Array.isArray(H)&&H[0]?.type==="text"&&H[0].text==="FILE_SAVED"&&typeof H[1].text==="string"}var bw8;var vtq=E(()=>{k6();WM();tI();P4();D8();ZDH();s8();dH();M6H();T6();iw();h0_();P8();M9();bw8=p(JH(),1)});function TzL(H,_){if(H===Lj){let A=Lj.inputSchema.parse(_);return{filePath:A.file_path,edits:[{old_string:A.old_string,new_string:A.new_string,replace_all:A.replace_all||!1}]}}if(H===qw){let A=qw.inputSchema.parse(_),q="";try{q=oX(A.file_path)}catch(K){if(!j8(K))throw K}return{filePath:A.file_path,edits:[{old_string:q,new_string:A.content,replace_all:!1}]}}return null}function EzL(H,_,A){let q=A[0];if(!q)return _;if(H===Lj)return{..._,old_string:q.old_string,new_string:q.new_string,replace_all:q.replace_all||!1};if(H===qw)return{..._,content:q.new_string};return _}function ktq(H,_,A){if(H!==Lj&&H!==qw)return null;let q=A.options.mcpClients;if(!cw6(q))return null;if(m6().diffTool!=="auto")return null;let K=TzL(H,_);if(K===null)return null;if(K.filePath.endsWith(".ipynb"))return null;let L=Yx(q);if(!L)return null;return{ideName:lw6(q)??"IDE",ideClient:L,filePath:K.filePath,edits:K.edits}}function ytq(H){let{ctx:_,tool:A,input:q,permissionResult:K,permissionPromptStartTimeMs:L,eligibility:M,claim:f,notifyBridge:$,dismissAndTeardown:O,resolveOnce:z}=H,{filePath:Y,edits:D,ideName:w,ideClient:j}=M,J=Ntq.randomUUID().slice(0,6),X=`\u273B [Claude Code] ${Itq.basename(Y)} (${J}) \u29C9`,P=!1;function T(){if(P)return;P=!0,ZC_(X,j).catch((G)=>{N(`closeTabInIDE failed: ${G}`,{level:"error"})})}let W={ideName:w,toolName:rq(A.name),editCount:D.length};return c("tengu_ext_will_show_diff",{}),Vtq(Y,D,_.toolUseContext,X).then(({oldContent:G,newContent:Z})=>{let V=Ztq(Y,G,Z,"single"),h={...W,isNewFile:G===""};if(V.length===0){if(!f())return;T(),c("tengu_ext_diff_rejected",h),bH("ide_diff_view"),$({behavior:"deny",message:"User denied via IDE"}),O(),_.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:L}),z(_.cancelAndAbort(void 0));return}if(!f())return;T();let y=EzL(A,q,V);c("tengu_ext_diff_accepted",h),bH("ide_diff_view"),$({behavior:"allow",updatedInput:y,updatedPermissions:[]}),O(),_.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:L}),z(_.handleUserAllow(y,[],void 0,L,void 0,K.decisionReason))}).catch((G)=>{if(_.toolUseContext.abortController.signal.aborted)return;N(`IDE diff view failed: ${G instanceof Error?G.message:String(G)}`,{level:"error"}),_8("ide_diff_view","ide_diff_view_failed")}),{closeTab:T}}var Ntq,Itq;var htq=E(()=>{vtq();D8();k6();WM();GjH();N8H();s8();dH();T6();tI();iw();Ntq=require("crypto"),Itq=require("path")});function xw8(H){let _=!1,A=!1;return{resolve(q){if(A)return;A=!0,_=!0,H(q)},isResolved(){return _},claim(){if(_)return!1;return _=!0,!0}}}function Rtq(H,_,A,q,K,L,M){let f=q.message.id,$={tool:H,input:_,toolUseContext:A,assistantMessage:q,messageId:f,toolUseID:K,setClassifierApprovals:M,logDecision(O,z){a48({tool:H,input:z?.input??_,toolUseContext:A,messageId:f,toolUseID:K},O,z?.permissionPromptStartTimeMs)},logCancelled(){c("tengu_tool_use_cancelled",{messageID:f,toolName:rq(H.name)})},persistPermissions(O){if(O.length===0)return!1;return db(O),L(GN(S_(A),O)),O.some((z)=>OJ_(z.destination))},resolveIfAborted(O){if(!A.abortController.signal.aborted)return!1;return this.logCancelled(),O(this.cancelAndAbort(void 0,!0)),!0},cancelAndAbort(O,z,Y){let D=!!A.agentId,w=O?`${D?UW6:MaH}${O}`:D?S8H:MkH,j=D?w:LaH(w);if(z||!O&&!Y?.length&&!D)N(`Aborting: tool=${H.name} isAbort=${z} hasFeedback=${!!O} isSubagent=${D}`),A.abortController.abort();return{behavior:"ask",message:j,contentBlocks:Y}},...{},async runHooks(O,z,Y,D){for await(let w of k7H(H.name,K,_,A,O,z,A.abortController.signal))if(w.permissionRequestResult){let j=w.permissionRequestResult;if(j.behavior==="allow"){let J=j.updatedInput??Y??_;if(j.updatedInput){let X=KaH(await kjH(H,J,A),H.name);if(X?.behavior==="deny")return this.logDecision({decision:"reject",source:"config"},{input:J,permissionPromptStartTimeMs:D}),X;if(X?.behavior==="ask")return{reprompted:X,finalInput:J}}return this.handleHookAllow(J,j.updatedPermissions??[],D)}else if(j.behavior==="deny"){if(this.logDecision({decision:"reject",source:{type:"hook"}},{permissionPromptStartTimeMs:D}),j.interrupt)N(`Hook interrupt: tool=${H.name} hookMessage=${j.message}`),A.abortController.abort();return this.buildDeny(j.message||"Permission denied by hook",{type:"hook",hookName:"PermissionRequest",reason:j.message})}}return null},buildAllow(O,z){return{behavior:"allow",updatedInput:O,userModified:z?.userModified??!1,...z?.decisionReason&&{decisionReason:z.decisionReason},...z?.acceptFeedback&&{acceptFeedback:z.acceptFeedback},...z?.contentBlocks&&z.contentBlocks.length>0&&{contentBlocks:z.contentBlocks}}},buildDeny(O,z){return{behavior:"deny",message:O,decisionReason:z}},handleUserAllow(O,z,Y,D,w,j){let J=this.persistPermissions(z);this.logDecision({decision:"accept",source:{type:"user",permanent:J}},{input:O,permissionPromptStartTimeMs:D});let X=H.inputsEquivalent?!H.inputsEquivalent(_,O):!1,P=Y?.trim();return this.buildAllow(O,{userModified:X,decisionReason:j,acceptFeedback:P||void 0,contentBlocks:w})},handleHookAllow(O,z,Y){let D=this.persistPermissions(z);return this.logDecision({decision:"accept",source:{type:"hook",permanent:D}},{input:O,permissionPromptStartTimeMs:Y}),this.buildAllow(O,{decisionReason:{type:"hook",hookName:"PermissionRequest"}})}};return Object.freeze($)}function Ctq(H){let _=H.input;if(H.tool.name===EM){let L=Array.isArray(_?.questions)?_.questions:[],M=[],f="";for(let z of L){let Y=z;if(typeof Y?.question!=="string")continue;f||=Y.question;let D=Array.isArray(Y.options)?Y.options.flatMap((w)=>{let j=w;return typeof j?.label==="string"?[{label:j.label,description:typeof j.description==="string"?j.description:""}]:[]}):[];if(D.length>0)M.push({question:Y.question,options:D})}let $=M[0]?.options.map((z)=>z.label).join(" \xB7 ");return{text:f?`answer: ${Stq(f)}${$?` (${$})`:""}`:"answer question",questions:M.length>0?M:void 0}}if(H.tool.name===v2)return{text:"approve plan"};let A=H.tool.userFacingName(H.input).trim(),q=typeof _?.command==="string"?_.command:typeof _?.file_path==="string"?_.file_path:typeof _?.url==="string"?_.url:"",K=A||H.tool.name;return{text:q&&!K.includes(q)?`approve ${K}: ${Stq(q)}`:`approve ${K}`}}function Stq(H){let _=H.replace(/\s+/g," ").trim();return _.length>120?_.slice(0,119)+"\u2026":_}var uw8=E(()=>{k6();WM();dS();DV();hK();dH();KL();U_();IP();mz();s48()});var ZzL,Yo;var mw8=E(()=>{l$();ZzL=["sandbox","permission","worker-sandbox","elicitation"],Yo=(()=>{let H=Vq(),_={sandbox:null,permission:null,"worker-sandbox":null,elicitation:null},A=null;function q(){let K=null;for(let L of ZzL){let M=_[L];if(M){K=M;break}}if(K?.text===A?.text)return;A=K,H.emit(K)}return{subscribe:H.subscribe,emit(K,L="permission"){let M=K===null?null:typeof K==="string"?{text:K}:K;if(_[L]?.text===M?.text)return;_[L]=M,q()}}})()});var btq={};P6(btq,{isChannelsEnabled:()=>fkH,isChannelAllowlisted:()=>VC_,getChannelAllowlist:()=>pw8});function pw8(){let H=V6("tengu_harbor_ledger",[]),_=VzL().safeParse(H);return _.success?_.data:[]}function fkH(){return V6("tengu_harbor",!1)}function VC_(H){if(!H)return!1;let{name:_,marketplace:A}=BA(H);if(!A)return!1;return pw8().some((q)=>q.plugin===_&&q.marketplace===A)}var VzL;var BW6=E(()=>{R_();XY();A_();VzL=hH(()=>k.array(k.object({marketplace:k.string(),plugin:k.string()})))});var utq={};P6(utq,{wrapChannelMessage:()=>$aH,isChannelsPolicyBlocked:()=>Fw8,getEffectiveChannelAllowlist:()=>Bw8,gateChannelServer:()=>OaH,findChannelEntry:()=>yjH,ChannelPermissionNotificationSchema:()=>vC_,ChannelMessageNotificationSchema:()=>faH,CHANNEL_PERMISSION_REQUEST_METHOD:()=>NC_,CHANNEL_PERMISSION_METHOD:()=>Uw8});function $aH(H,_,A){let q=Object.entries(A??{}),[K,L]=vzL(q,([f])=>xtq.test(f));if(L.length>0)N(`[channel] ${H}: dropped ${L.length} meta key(s) that don't match ${xtq.source}: ${L.map(([f])=>f).join(", ")}`,{level:"warn"});let M=K.map(([f,$])=>` ${f}="${J5($)}"`).join("");return`<${UxH} source="${J5(H)}"${M}>
|
|
2792
2792
|
${_}
|
|
2793
|
-
</${UxH}>`}function vzL(H,_){let A=[],q=[];for(let K of H)(_(K)?A:q).push(K);return[A,q]}function Bw8(H){if(H)return{entries:H,source:"org"};return{entries:pw8(),source:"ledger"}}function Fw8(H){if(EA()){let _=O1();return(_==="team"||_==="enterprise")&&H?.channelsEnabled!==!0}return H!==null&&H.channelsEnabled!==!0}function yjH(H,_){let A=H.split(":");return _.find((q)=>q.kind==="server"?H===q.name:A[0]==="plugin"&&A[1]===q.name)}function OaH(H,_,A){if(false)return{action:"skip",kind:"capability",reason:"server did not declare claude/channel capability"};if(RA()!=="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 q=p8("policySettings");if(Fw8(q))return{action:"skip",kind:"policy",reason:"channels not enabled by org policy (set channelsEnabled: true in managed settings)"};let K=yjH(H,Tj());if(!K)return{action:"skip",kind:"session",reason:`server ${H} not in --channels list for this session`};if(K.kind==="plugin"){let L=A?BA(A).marketplace:void 0;if(false&&L!==K.marketplace)return{action:"skip",kind:"marketplace",reason:`you asked for plugin:${K.name}@${K.marketplace} but the installed ${K.name} plugin is from ${L??"an unknown source"}`};if(!K.dev){let{entries:M,source:f}=Bw8(q?.allowedChannelPlugins);if(!M.some(($)=>$.plugin===K.name&&$.marketplace===K.marketplace))return{action:"skip",kind:"allowlist",reason:f==="org"?`plugin ${K.name}@${K.marketplace} is not on your org's approved channels list (set allowedChannelPlugins in managed settings)`:`plugin ${K.name}@${K.marketplace} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`}}}else if(!K.dev)return{action:"skip",kind:"allowlist",reason:`server ${K.name} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`};return{action:"register"}}var faH,Uw8="notifications/claude/channel/permission",vC_,NC_="notifications/claude/channel/permission_request",xtq;var zaH=E(()=>{R_();D6();RL();PA();dH();R1();XY();P_();rk();BW6();faH=hH(()=>k.object({method:k.literal("notifications/claude/channel"),params:k.object({content:k.string(),meta:k.record(k.string(),k.string()).optional()})})),vC_=hH(()=>k.object({method:k.literal(Uw8),params:k.object({request_id:k.string(),behavior:k.enum(["allow","deny"])})})),xtq=/^[a-zA-Z_][a-zA-Z0-9_]*$/});function ptq(){return true}function mtq(H){let _=2166136261;for(let q=0;q<H.length;q++)_^=H.charCodeAt(q),_=Math.imul(_,16777619);_=_>>>0;let A="";for(let q=0;q<5;q++)A+=NzL[_%25],_=Math.floor(_/25);return A}function Utq(H){let _=mtq(H);for(let A=0;A<10;A++){if(!IzL.some((q)=>_.includes(q)))return _;_=mtq(`${H}:${A}`)}return _}function Btq(H){try{let _=CH(H);return _.length>200?_.slice(0,200)+"\u2026":_}catch{return"(unserializable)"}}function Ftq(H,_){return H.filter((A)=>A.type==="connected"&&_(A.name)&&A.capabilities?.experimental?.["claude/channel"]!==void 0&&A.capabilities?.experimental?.["claude/channel/permission"]!==void 0)}function gtq(){let H=new Map;return{onResponse(_,A){let q=_.toLowerCase();return H.set(q,A),()=>{H.delete(q)}},resolve(_,A,q){let K=_.toLowerCase(),L=H.get(K);if(!L)return!1;return H.delete(K),L({behavior:A,fromServer:q}),!0}}}var NzL="abcdefghijkmnopqrstuvwxyz",IzL;var IC_=E(()=>{s6();A_();IzL=["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 dtq(H){let{ctx:_,description:A,result:q,displayInput:K,permissionPromptStartTimeMs:L,awaitAutomatedChecksBeforeDialog:M,bridgeCallbacks:f,channelCallbacks:$,claim:O,isResolved:z,onWin:Y,onReprompt:D}=H,{setClassifierApprovals:w}=_,j=f?Qtq.randomUUID():void 0,J,X;function P(T){if(f&&j){if(T)f.sendResponse(j,T);f.cancelRequest(j)}J?.(),X?.()}if(f&&j){f.sendRequest(j,_.tool.name,K,_.toolUseID,A,q.suggestions,q.blockedPath);let T=_.toolUseContext.abortController.signal;J=f.onResponse(j,(W)=>{if(!O())return;if(bH("permission_bridge_relay"),J)T.removeEventListener("abort",J);if(HjH(w,_.toolUseID),X?.(),W.behavior==="allow"){if(W.updatedPermissions?.length)_.persistPermissions(W.updatedPermissions);_.logDecision({decision:"accept",source:{type:"user",permanent:!!W.updatedPermissions?.length}},{permissionPromptStartTimeMs:L}),Y(_.buildAllow(W.updatedInput??K))}else _.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!W.message}},{permissionPromptStartTimeMs:L}),Y(_.cancelAndAbort(W.message))}),T.addEventListener("abort",J,{once:!0})}if($&&!_.tool.requiresUserInteraction?.()){let T=Utq(_.toolUseID),W=Tj(),G=Ftq(_.toolUseContext.getMcp().clients,(Z)=>yjH(Z,W)!==void 0);if(G.length>0){let Z={request_id:T,tool_name:_.tool.name,description:A,input_preview:Btq(K)};for(let h of G){if(h.type!=="connected")continue;h.client.notification({method:NC_,params:Z}).catch((y)=>{uH("permission_channel_relay","permission_channel_relay_send_failed"),N(`Channel permission_request failed for ${h.name}: ${EH(y)}`,{level:"error"})})}let V=_.toolUseContext.abortController.signal,I=$.onResponse(T,(h)=>{if(!O())return;if(bH("permission_channel_relay"),X?.(),HjH(w,_.toolUseID),f&&j)f.cancelRequest(j);if(J?.(),h.behavior==="allow")_.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:L}),Y(_.buildAllow(K));else _.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:L}),Y(_.cancelAndAbort(`Denied via channel ${h.fromServer}`))});X=()=>{I(),V.removeEventListener("abort",X)},V.addEventListener("abort",X,{once:!0})}}if(!M)(async()=>{if(z())return;let T=await _.runHooks(S_(_.toolUseContext).mode,q.suggestions,q.updatedInput,L);if(T&&"reprompted"in T){if(z())return;if(HjH(w,_.toolUseID),f&&j)f.cancelRequest(j),j=void 0;J?.(),X?.(),D(T.finalInput,T.reprompted.decisionReason,T.reprompted);return}if(!T||!O())return;if(f&&j)f.cancelRequest(j);J?.(),X?.(),Y(T)})();return{notifyBridgeAndTeardown:P}}var Qtq;var ctq=E(()=>{D6();D8();zaH();IC_();hK();dH();T6();Qtq=require("crypto")});var cw8={};P6(cw8,{updateWorkflowProgressBatch:()=>yC_,skipWorkflowAgent:()=>CC_,retryWorkflowAgent:()=>bC_,registerWorkflowTask:()=>kC_,pauseWorkflowTask:()=>SC_,killWorkflowTask:()=>FW6,failWorkflowTask:()=>Qw8,enqueueWorkflowNotification:()=>dw8,completeWorkflowTask:()=>hC_,buildResumePrompt:()=>RC_,LocalWorkflowTask:()=>kzL});function kC_({taskId:H,script:_,scriptPath:A,args:q,summary:K,workflowName:L,phases:M,defaultModel:f,workflowRunId:$,taskRegistry:O,toolUseId:z}){YaH(H);let Y=B1(0),D={...lP(H,"local_workflow",K??"Workflow",z),type:"local_workflow",status:"running",script:_,scriptPath:A,args:q,prompt:_,summary:K,workflowName:L,phases:M,defaultModel:f,workflowRunId:$,workflowProgress:[],progressVersion:0,agentCount:0,totalTokens:0,totalToolCalls:0,logs:[],abortController:Y,agentControllers:new Map};return O.register(D),D}function yC_(H,_,A){if(_.length===0)return;A.update(H,(q)=>{if(q.status!=="running")return q;let K=[...q.workflowProgress],L=new Map;for(let z=0;z<K.length;z++){let Y=K[z];if(Y.type==="workflow_agent"||Y.type==="workflow_phase")L.set(`${Y.type}:${Y.index}`,z)}let M=q.agentCount,f=!1;for(let z of _)if(z.type==="workflow_agent"||z.type==="workflow_phase"){let Y=`${z.type}:${z.index}`,D=L.get(Y);if(D!==void 0)K[D]=z;else L.set(Y,K.length),K.push(z);if(z.type==="workflow_agent"&&z.state==="start")M=Math.max(M,z.index)}else K.push(z),f=!0;if(f&&K.length>ltq*2){let z=K.length-ltq,Y=[];for(let D=0;D<K.length;D++){let w=K[D];if(z>0&&w.type==="workflow_log"){z--;continue}Y.push(w)}K=Y}let $=0,O=0;for(let z of K)if(z.type==="workflow_agent"){if(z.tokens)$+=z.tokens;if(z.toolCalls)O+=z.toolCalls}return{...q,workflowProgress:K,progressVersion:q.progressVersion+_.length,agentCount:M,totalTokens:$,totalToolCalls:O}})}function gw8(H,_,A,q){let K=null;return _.update(H,(L)=>{if(L.status!=="running")return L;return K=L,L.abortController?.abort(),{...L,...q,status:A,endTime:Date.now(),abortController:void 0,agentControllers:void 0}}),K}function hC_(H,_,A,q,K){let L=gw8(H,K,"completed",{result:_,agentCount:A,logs:q});if(L)ntq.writeFile(L.outputFile,CH({summary:L.summary,agentCount:A,logs:q,result:_},null,2)).catch((M)=>N(`Failed to write workflow output for ${H}: ${M instanceof Error?M.message:M}`)),bH("task_local_workflow")}function Qw8(H,_,A,q,K){let L=gw8(H,K,"failed",{error:_,agentCount:A,logs:q});if(fO(H),L)uH("task_local_workflow","task_local_workflow_failed")}function SC_(H,_){return gw8(H,_,"paused",{notified:!0})!==null}function RC_(H){let _=H.args!==void 0?`, args: ${CH(H.args)}`:"";return`Resume the paused workflow by calling: Workflow({scriptPath: '${H.scriptPath}', resumeFromRunId: '${H.workflowRunId}'${_}}) \u2014 completed agents return cached results.`}function FW6(H,_){let A=gw8(H,_,"killed",{notified:!0});if(A)fO(H),UO(H,"stopped",{toolUseId:A.toolUseId,summary:A.description});return A!==null}function itq(H,_,A,q){let K=!1;if(q.update(H,(L)=>{if(L.status!=="running")return L;let M=L.agentControllers?.get(_);if(M&&!M.signal.aborted)M.abort(A),K=!0;return L}),K)bH(A==="user-skip"?"task_local_workflow_skip_agent":"task_local_workflow_retry_agent");return K}function CC_(H,_,A){return itq(H,_,"user-skip",A)}function bC_(H,_,A){return itq(H,_,"user-retry",A)}function dw8({taskId:H,summary:_,status:A,result:q,failures:K,error:L,agentCount:M,totalTokens:f,totalToolCalls:$,durationMs:O,taskRegistry:z,toolUseId:Y,transcriptDir:D,scriptPath:w,workflowRunId:j,args:J}){let X=!1;if(z.update(H,(C)=>{if(C.notified)return C;return X=!0,{...C,notified:!0}}),!X)return;z.abortSpeculation();let P=_??"Workflow",T=A==="completed"?`Workflow "${P}" completed`:A==="failed"?`Workflow "${P}" failed: ${L||"Unknown error"}`:`Workflow "${P}" was stopped`,W="";if(A==="failed"||A==="killed"){let C=[];if(w&&j){let R=J!==void 0?`, args: ${CH(J)}`:"";C.push(`To resume after editing the script, call: Workflow({scriptPath: '${w}', resumeFromRunId: '${j}'${R}})`)}if(D)C.push(`Agent transcripts: ${D}`);if(C.length>0)W=`
|
|
2793
|
+
</${UxH}>`}function vzL(H,_){let A=[],q=[];for(let K of H)(_(K)?A:q).push(K);return[A,q]}function Bw8(H){if(H)return{entries:H,source:"org"};return{entries:pw8(),source:"ledger"}}function Fw8(H){if(EA()){let _=O1();return(_==="team"||_==="enterprise")&&H?.channelsEnabled!==!0}return H!==null&&H.channelsEnabled!==!0}function yjH(H,_){let A=H.split(":");return _.find((q)=>q.kind==="server"?H===q.name:A[0]==="plugin"&&A[1]===q.name)}function OaH(H,_,A){if(!_?.experimental?.["claude/channel"])return{action:"skip",kind:"capability",reason:"server did not declare claude/channel capability"};if(RA()!=="firstParty")return{action:"skip",kind:"provider",reason:"channels are not available on third-party providers"};if(!fkH())return{action:"skip",kind:"disabled",reason:"channels feature is not currently available"};let q=p8("policySettings");if(Fw8(q))return{action:"skip",kind:"policy",reason:"channels not enabled by org policy (set channelsEnabled: true in managed settings)"};let K=yjH(H,Tj());if(!K)return{action:"skip",kind:"session",reason:`server ${H} not in --channels list for this session`};if(K.kind==="plugin"){let L=A?BA(A).marketplace:void 0;if(L!==K.marketplace)return{action:"skip",kind:"marketplace",reason:`you asked for plugin:${K.name}@${K.marketplace} but the installed ${K.name} plugin is from ${L??"an unknown source"}`};if(!K.dev){let{entries:M,source:f}=Bw8(q?.allowedChannelPlugins);if(!M.some(($)=>$.plugin===K.name&&$.marketplace===K.marketplace))return{action:"skip",kind:"allowlist",reason:f==="org"?`plugin ${K.name}@${K.marketplace} is not on your org's approved channels list (set allowedChannelPlugins in managed settings)`:`plugin ${K.name}@${K.marketplace} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`}}}else if(!K.dev)return{action:"skip",kind:"allowlist",reason:`server ${K.name} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`};return{action:"register"}}var faH,Uw8="notifications/claude/channel/permission",vC_,NC_="notifications/claude/channel/permission_request",xtq;var zaH=E(()=>{R_();D6();RL();PA();dH();R1();XY();P_();rk();BW6();faH=hH(()=>k.object({method:k.literal("notifications/claude/channel"),params:k.object({content:k.string(),meta:k.record(k.string(),k.string()).optional()})})),vC_=hH(()=>k.object({method:k.literal(Uw8),params:k.object({request_id:k.string(),behavior:k.enum(["allow","deny"])})})),xtq=/^[a-zA-Z_][a-zA-Z0-9_]*$/});function ptq(){return V6("tengu_harbor_permissions",!1)}function mtq(H){let _=2166136261;for(let q=0;q<H.length;q++)_^=H.charCodeAt(q),_=Math.imul(_,16777619);_=_>>>0;let A="";for(let q=0;q<5;q++)A+=NzL[_%25],_=Math.floor(_/25);return A}function Utq(H){let _=mtq(H);for(let A=0;A<10;A++){if(!IzL.some((q)=>_.includes(q)))return _;_=mtq(`${H}:${A}`)}return _}function Btq(H){try{let _=CH(H);return _.length>200?_.slice(0,200)+"\u2026":_}catch{return"(unserializable)"}}function Ftq(H,_){return H.filter((A)=>A.type==="connected"&&_(A.name)&&A.capabilities?.experimental?.["claude/channel"]!==void 0&&A.capabilities?.experimental?.["claude/channel/permission"]!==void 0)}function gtq(){let H=new Map;return{onResponse(_,A){let q=_.toLowerCase();return H.set(q,A),()=>{H.delete(q)}},resolve(_,A,q){let K=_.toLowerCase(),L=H.get(K);if(!L)return!1;return H.delete(K),L({behavior:A,fromServer:q}),!0}}}var NzL="abcdefghijkmnopqrstuvwxyz",IzL;var IC_=E(()=>{s6();A_();IzL=["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 dtq(H){let{ctx:_,description:A,result:q,displayInput:K,permissionPromptStartTimeMs:L,awaitAutomatedChecksBeforeDialog:M,bridgeCallbacks:f,channelCallbacks:$,claim:O,isResolved:z,onWin:Y,onReprompt:D}=H,{setClassifierApprovals:w}=_,j=f?Qtq.randomUUID():void 0,J,X;function P(T){if(f&&j){if(T)f.sendResponse(j,T);f.cancelRequest(j)}J?.(),X?.()}if(f&&j){f.sendRequest(j,_.tool.name,K,_.toolUseID,A,q.suggestions,q.blockedPath);let T=_.toolUseContext.abortController.signal;J=f.onResponse(j,(W)=>{if(!O())return;if(bH("permission_bridge_relay"),J)T.removeEventListener("abort",J);if(HjH(w,_.toolUseID),X?.(),W.behavior==="allow"){if(W.updatedPermissions?.length)_.persistPermissions(W.updatedPermissions);_.logDecision({decision:"accept",source:{type:"user",permanent:!!W.updatedPermissions?.length}},{permissionPromptStartTimeMs:L}),Y(_.buildAllow(W.updatedInput??K))}else _.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!!W.message}},{permissionPromptStartTimeMs:L}),Y(_.cancelAndAbort(W.message))}),T.addEventListener("abort",J,{once:!0})}if($&&!_.tool.requiresUserInteraction?.()){let T=Utq(_.toolUseID),W=Tj(),G=Ftq(_.toolUseContext.getMcp().clients,(Z)=>yjH(Z,W)!==void 0);if(G.length>0){let Z={request_id:T,tool_name:_.tool.name,description:A,input_preview:Btq(K)};for(let h of G){if(h.type!=="connected")continue;h.client.notification({method:NC_,params:Z}).catch((y)=>{uH("permission_channel_relay","permission_channel_relay_send_failed"),N(`Channel permission_request failed for ${h.name}: ${EH(y)}`,{level:"error"})})}let V=_.toolUseContext.abortController.signal,I=$.onResponse(T,(h)=>{if(!O())return;if(bH("permission_channel_relay"),X?.(),HjH(w,_.toolUseID),f&&j)f.cancelRequest(j);if(J?.(),h.behavior==="allow")_.logDecision({decision:"accept",source:{type:"user",permanent:!1}},{permissionPromptStartTimeMs:L}),Y(_.buildAllow(K));else _.logDecision({decision:"reject",source:{type:"user_reject",hasFeedback:!1}},{permissionPromptStartTimeMs:L}),Y(_.cancelAndAbort(`Denied via channel ${h.fromServer}`))});X=()=>{I(),V.removeEventListener("abort",X)},V.addEventListener("abort",X,{once:!0})}}if(!M)(async()=>{if(z())return;let T=await _.runHooks(S_(_.toolUseContext).mode,q.suggestions,q.updatedInput,L);if(T&&"reprompted"in T){if(z())return;if(HjH(w,_.toolUseID),f&&j)f.cancelRequest(j),j=void 0;J?.(),X?.(),D(T.finalInput,T.reprompted.decisionReason,T.reprompted);return}if(!T||!O())return;if(f&&j)f.cancelRequest(j);J?.(),X?.(),Y(T)})();return{notifyBridgeAndTeardown:P}}var Qtq;var ctq=E(()=>{D6();D8();zaH();IC_();hK();dH();T6();Qtq=require("crypto")});var cw8={};P6(cw8,{updateWorkflowProgressBatch:()=>yC_,skipWorkflowAgent:()=>CC_,retryWorkflowAgent:()=>bC_,registerWorkflowTask:()=>kC_,pauseWorkflowTask:()=>SC_,killWorkflowTask:()=>FW6,failWorkflowTask:()=>Qw8,enqueueWorkflowNotification:()=>dw8,completeWorkflowTask:()=>hC_,buildResumePrompt:()=>RC_,LocalWorkflowTask:()=>kzL});function kC_({taskId:H,script:_,scriptPath:A,args:q,summary:K,workflowName:L,phases:M,defaultModel:f,workflowRunId:$,taskRegistry:O,toolUseId:z}){YaH(H);let Y=B1(0),D={...lP(H,"local_workflow",K??"Workflow",z),type:"local_workflow",status:"running",script:_,scriptPath:A,args:q,prompt:_,summary:K,workflowName:L,phases:M,defaultModel:f,workflowRunId:$,workflowProgress:[],progressVersion:0,agentCount:0,totalTokens:0,totalToolCalls:0,logs:[],abortController:Y,agentControllers:new Map};return O.register(D),D}function yC_(H,_,A){if(_.length===0)return;A.update(H,(q)=>{if(q.status!=="running")return q;let K=[...q.workflowProgress],L=new Map;for(let z=0;z<K.length;z++){let Y=K[z];if(Y.type==="workflow_agent"||Y.type==="workflow_phase")L.set(`${Y.type}:${Y.index}`,z)}let M=q.agentCount,f=!1;for(let z of _)if(z.type==="workflow_agent"||z.type==="workflow_phase"){let Y=`${z.type}:${z.index}`,D=L.get(Y);if(D!==void 0)K[D]=z;else L.set(Y,K.length),K.push(z);if(z.type==="workflow_agent"&&z.state==="start")M=Math.max(M,z.index)}else K.push(z),f=!0;if(f&&K.length>ltq*2){let z=K.length-ltq,Y=[];for(let D=0;D<K.length;D++){let w=K[D];if(z>0&&w.type==="workflow_log"){z--;continue}Y.push(w)}K=Y}let $=0,O=0;for(let z of K)if(z.type==="workflow_agent"){if(z.tokens)$+=z.tokens;if(z.toolCalls)O+=z.toolCalls}return{...q,workflowProgress:K,progressVersion:q.progressVersion+_.length,agentCount:M,totalTokens:$,totalToolCalls:O}})}function gw8(H,_,A,q){let K=null;return _.update(H,(L)=>{if(L.status!=="running")return L;return K=L,L.abortController?.abort(),{...L,...q,status:A,endTime:Date.now(),abortController:void 0,agentControllers:void 0}}),K}function hC_(H,_,A,q,K){let L=gw8(H,K,"completed",{result:_,agentCount:A,logs:q});if(L)ntq.writeFile(L.outputFile,CH({summary:L.summary,agentCount:A,logs:q,result:_},null,2)).catch((M)=>N(`Failed to write workflow output for ${H}: ${M instanceof Error?M.message:M}`)),bH("task_local_workflow")}function Qw8(H,_,A,q,K){let L=gw8(H,K,"failed",{error:_,agentCount:A,logs:q});if(fO(H),L)uH("task_local_workflow","task_local_workflow_failed")}function SC_(H,_){return gw8(H,_,"paused",{notified:!0})!==null}function RC_(H){let _=H.args!==void 0?`, args: ${CH(H.args)}`:"";return`Resume the paused workflow by calling: Workflow({scriptPath: '${H.scriptPath}', resumeFromRunId: '${H.workflowRunId}'${_}}) \u2014 completed agents return cached results.`}function FW6(H,_){let A=gw8(H,_,"killed",{notified:!0});if(A)fO(H),UO(H,"stopped",{toolUseId:A.toolUseId,summary:A.description});return A!==null}function itq(H,_,A,q){let K=!1;if(q.update(H,(L)=>{if(L.status!=="running")return L;let M=L.agentControllers?.get(_);if(M&&!M.signal.aborted)M.abort(A),K=!0;return L}),K)bH(A==="user-skip"?"task_local_workflow_skip_agent":"task_local_workflow_retry_agent");return K}function CC_(H,_,A){return itq(H,_,"user-skip",A)}function bC_(H,_,A){return itq(H,_,"user-retry",A)}function dw8({taskId:H,summary:_,status:A,result:q,failures:K,error:L,agentCount:M,totalTokens:f,totalToolCalls:$,durationMs:O,taskRegistry:z,toolUseId:Y,transcriptDir:D,scriptPath:w,workflowRunId:j,args:J}){let X=!1;if(z.update(H,(C)=>{if(C.notified)return C;return X=!0,{...C,notified:!0}}),!X)return;z.abortSpeculation();let P=_??"Workflow",T=A==="completed"?`Workflow "${P}" completed`:A==="failed"?`Workflow "${P}" failed: ${L||"Unknown error"}`:`Workflow "${P}" was stopped`,W="";if(A==="failed"||A==="killed"){let C=[];if(w&&j){let R=J!==void 0?`, args: ${CH(J)}`:"";C.push(`To resume after editing the script, call: Workflow({scriptPath: '${w}', resumeFromRunId: '${j}'${R}})`)}if(D)C.push(`Agent transcripts: ${D}`);if(C.length>0)W=`
|
|
2794
2794
|
<recovery>${C.join(`
|
|
2795
2795
|
`)}</recovery>`}let G=L3(H),Z=Y?`
|
|
2796
2796
|
<${fZ}>${Y}</${fZ}>`:"",V="";if(A==="completed"&&q!==void 0){let C=_5(CH(q)),R=8000;if(C.length>8000)V=`
|
|
@@ -12445,7 +12445,7 @@ try {
|
|
|
12445
12445
|
}
|
|
12446
12446
|
}
|
|
12447
12447
|
} catch(_e) {}
|
|
12448
|
-
if(RA()==="gateway")return zE5();if(G1())return N("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if(RA()!=="firstParty")return N("[Bootstrap] Skipped: 3P provider"),null;let H=Rj();if(!(eA()?.accessToken&&XZ())&&!H)return N("[Bootstrap] Skipped: no usable OAuth or API key"),null;let A=`${h9().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await WG(async()=>{let q=eA()?.accessToken,K;if(q&&XZ())K={Authorization:`Bearer ${q}`,"anthropic-beta":o0};else if(H)K={"x-api-key":H};else return N("[Bootstrap] No auth available on retry, aborting"),null;N("[Bootstrap] Fetching");let L=await l_.get(A,{headers:{"Content-Type":"application/json","User-Agent":P3(),...K},params:{entrypoint:WxH(),model:OP(Fq())},timeout:5000}),M=fE5().safeParse(L.data);if(!M.success)return N(`[Bootstrap] Response failed validation: ${M.error.message}`),_8("api_bootstrap_fetch","parse_failed"),null;return N("[Bootstrap] Fetch ok"),M.data})}catch(q){throw N(`[Bootstrap] Fetch failed: ${l_.isAxiosError(q)?q.response?.status??q.code:"unknown"}`),uH("api_bootstrap_fetch","request_failed"),q}}async function K3K(){try{let H=await $E5();if(!H)return;bH("api_bootstrap_fetch");let _=H.client_data??null,A=H.additional_model_options??[],q=H.additional_model_costs??{},K=m6(),L=q3K(K.oauthAccount,H.oauth_account),M=wz(L,K.oauthAccount);if(wz(K.clientDataCache,_)&&wz(K.additionalModelOptionsCache,A)&&wz(K.additionalModelCostsCache,q)&&M){N("[Bootstrap] Cache unchanged, skipping write");return}N("[Bootstrap] Cache updated, persisting to disk"),f8((f)=>({...f,clientDataCache:_,additionalModelOptionsCache:A,additionalModelCostsCache:q,oauthAccount:q3K(f.oauthAccount,H.oauth_account)}))}catch(H){if(HY(H))N(`[Bootstrap] fetchBootstrapData failed: ${H}`,{level:"error"});else RH(H)}}async function zE5(){await Y$H();let H=G$();if(!H)return null;try{let _=await l_.get(`${H.url}/v1/models`,{headers:{Authorization:`Bearer ${H.jwt}`,"anthropic-version":"2023-06-01","User-Agent":P3()},params:{limit:1000},timeout:5000}),A=OE5().safeParse(_.data);if(!A.success)return N(`[Bootstrap] Gateway /v1/models failed validation: ${A.error.message}`),null;let q=A.data.data.filter((K)=>$c6(K.id)===null).map((K)=>({value:K.id,label:K.display_name??K.id,description:K.description??""}));return N(`[Bootstrap] Gateway /v1/models \u2192 ${q.length} custom options`),{additional_model_options:q}}catch(_){return N(`[Bootstrap] Gateway /v1/models fetch failed: ${l_.isAxiosError(_)?_.response?.status??_.code:"unknown"}`),null}}var fE5,OE5;var L3K=E(()=>{DL();Bl();PA();TZ();D6();b4();s8();dH();Cs();T6();opH();mW();P8();zn();mA();R1();XM();D8();fE5=hH(()=>H_.object({client_data:H_.record(H_.unknown()).nullish(),additional_model_options:H_.array(H_.object({model:H_.string(),name:H_.string(),description:H_.string()}).transform(({model:H,name:_,description:A})=>({value:H,label:_,description:A}))).nullish(),additional_model_costs:H_.record(H_.object({input_tokens:H_.number(),output_tokens:H_.number(),prompt_cache_write_tokens:H_.number(),prompt_cache_read_tokens:H_.number(),web_search_requests:H_.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:H_.object({account_uuid:H_.string().nullish(),account_email:H_.string().nullish(),organization_uuid:H_.string().nullish(),organization_name:H_.string().nullish(),organization_type:H_.string().nullish(),organization_rate_limit_tier:H_.string().nullish(),user_rate_limit_tier:H_.string().nullish(),seat_tier:H_.string().nullish()}).passthrough().nullish()}));OE5=hH(()=>H_.object({data:H_.array(H_.object({id:H_.string(),display_name:H_.string().nullish(),description:H_.string().nullish()}))}))});function M3K(H=process.env){let _=[];for(let A in H)if((A.startsWith("CLAUDE_CODE_")||A.startsWith("ANTHROPIC_"))&&!YE5.has(A)&&H[A]!==void 0&&H[A]!=="")_.push(A);return _.sort()}function f3K(H){let _=HA(),A=[];for(let q of Ne6){if(DE5.has(q))continue;let L=(mFH.includes(q)?_[q]:void 0)??H[q],M=on[q];if(L===void 0||wE5(L,M))continue;A.push(q)}return A}function $3K(H,_){let A=[];for(let q in H)if(_(q)==="cli")A.push(q);return A.sort()}function wE5(H,_){if(H===_)return!0;if(typeof H==="object"&&H!==null)return Object.keys(H).length===0;return!1}var YE5,DE5;var O3K=E(()=>{s8();oY();P_();YE5=new Set(["CLAUDE_CODE_ENTRYPOINT"]);DE5=new Set(["tipsHistory","installMethod","shiftEnterKeyBindingInstalled","hasUsedBackslashReturn","hasCompletedClaudeInChromeOnboarding","remoteDialogSeen","lspRecommendationIgnoredCount","autoUpdates","autoUpdatesProtectedForNative"])});function JE5(){let H=process.argv[1]||"",_=process.execPath||process.argv[0]||"";if(a6()==="windows")H=H.split(U86.win32.sep).join(U86.posix.sep),_=_.split(U86.win32.sep).join(U86.posix.sep);let A=[H,_],q=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return A.some((K)=>q.some((L)=>K.includes(L)))}function PE5(H){let _=`${H.name}: ${H.message}`;return XE5.some((A)=>A.test(_))}function z3K(){let H=new Map;if(!JE5())process.removeAllListeners("warning");let A=(q)=>{try{let K=`${q.name}: ${q.message.slice(0,50)}`,L=H.get(K)||0;if(H.has(K)||H.size<jE5)H.set(K,L+1);let M=PE5(q);if(c("tengu_node_warning",{is_internal:M?1:0,occurrence_count:L+1,classname:q.name,...!1}),mH(process.env.CLAUDE_DEBUG))N(`${M?"[Internal Warning]":"[Warning]"} ${q.toString()}`,{level:"warn"})}catch{}};return process.on("warning",A),{uninstall(){process.removeListener("warning",A)}}}var U86,jE5=1000,XE5;var Y3K=E(()=>{k6();dH();r6();M9();U86=require("path");XE5=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function WE5(){let H=process.env.CLAUDE_BG_SESSION_PERMISSION_RULES;if(!H||process.env.CLAUDE_CODE_SESSION_KIND!=="bg")return;try{let _=JSON.parse(H);return Array.isArray(_.allow)&&Array.isArray(_.deny)?{allow:_.allow,deny:_.deny}:void 0}catch{return}}function GE5(){if(process.env.CLAUDE_BG_MEMORY_TOGGLED_OFF==="1"&&process.env.CLAUDE_CODE_SESSION_KIND==="bg")$A6(!0)}async function w3K(H){GE5();let _=await xg_({allowedToolsCli:H.allowedTools,disallowedToolsCli:H.disallowedTools,baseToolsCli:H.baseTools,permissionMode:H.permissionMode,allowDangerouslySkipPermissions:H.allowDangerouslySkipPermissions,addDirs:H.addDirs,bgSessionPermissionRules:WE5()}),A=_.toolPermissionContext,{warnings:q,dangerousPermissions:K,overlyBroadBashPermissions:L}=_;if(H.permissionMode==="auto")A=Gc(A);return{toolPermissionContext:A,warnings:q,dangerousPermissions:K,overlyBroadBashPermissions:L}}var j3K=E(()=>{D6();dH();mP()});async function J3K({cwd:H,toolPermissionContext:_,applyCoordinatorFilter:A,agentsJson:q,agentSetting:K,commandsPromise:L,agentDefsPromise:M,onToolsLoaded:f}){let $=xV(_);f?.(),L?.catch(()=>{}),M?.catch(()=>{});let[O,z]=await Promise.all([L??a2(H),M??_R(H)]),Y=[];if(q)try{let J=Nq(q);if(J)Y=uw6(J,"flagSettings")}catch(J){RH(J)}let D=[...z.allAgents,...Y],w={...z,allAgents:D,activeAgents:zx(D)},j=z9A(w.activeAgents,K);return DF(j?.agentType),{tools:$,commands:O,agentDefinitions:w,mainThreadAgentDefinition:j,cliAgents:Y}}function z9A(H,_){if(!_)return;let A=H.find((q)=>q.agentType===_)??H.find((q)=>q.agentType.endsWith(`:${_}`));if(!A)N(`Warning: agent "${_}" not found. Available agents: ${H.map((q)=>q.agentType).join(", ")}. Using default behavior.`);return A}var X3K=E(()=>{D6();kf();bP();aG();dH();r6();wL();P8()});function C5H(H){switch(H.kind){case"session-start":return xU(H.source,{sessionId:H.sessionId,agentType:H.agentType,model:H.model,forceSyncExecution:H.forceSyncExecution});case"setup":return yeq(H.trigger,{forceSyncExecution:H.forceSyncExecution})}}var Y9A=E(()=>{SjH()});function ny8(){let H=P3K.c(1),_;if(H[0]===Symbol.for("react.memo_cache_sentinel"))_=D9A.default.createElement(v,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",D9A.default.createElement(j9,{url:"https://code.claude.com/docs/en/mcp"},"MCP documentation"),"."),H[0]=_;else _=H[0];return _}var P3K,D9A;var w9A=E(()=>{iH();P3K=p(H6(),1),D9A=p(JH(),1)});function G3K(H){let _=W3K.c(13),{serverName:A,onDone:q}=H,K;if(_[0]!==q||_[1]!==A)K=function(w){c("tengu_mcp_dialog_choice",{choice:w});H:switch(w){case"yes":case"yes_all":{let J=(TA()||{}).enabledMcpjsonServers||[];if(!J.includes(A))_A("localSettings",{enabledMcpjsonServers:[...J,A]});if(w==="yes_all")_A("localSettings",{enableAllProjectMcpServers:!0});q();break H}case"no":{let J=(TA()||{}).disabledMcpjsonServers||[];if(!J.includes(A))_A("localSettings",{disabledMcpjsonServers:[...J,A]});q()}}},_[0]=q,_[1]=A,_[2]=K;else K=_[2];let L=K,M=`New MCP server found in .mcp.json: ${A}`,f;if(_[3]!==L)f=()=>L("no"),_[3]=L,_[4]=f;else f=_[4];let $;if(_[5]===Symbol.for("react.memo_cache_sentinel"))$=iy8.default.createElement(ny8,null),_[5]=$;else $=_[5];let O;if(_[6]===Symbol.for("react.memo_cache_sentinel"))O=[{label:"Use this and all future MCP servers in this project",value:"yes_all"},{label:"Use this MCP server",value:"yes"},{label:"Continue without using this MCP server",value:"no"}],_[6]=O;else O=_[6];let z;if(_[7]!==L)z=iy8.default.createElement(q_,{options:O,onChange:(D)=>L(D),onCancel:()=>L("no")}),_[7]=L,_[8]=z;else z=_[8];let Y;if(_[9]!==M||_[10]!==f||_[11]!==z)Y=iy8.default.createElement(x8,{title:M,color:"warning",onCancel:f},$,z),_[9]=M,_[10]=f,_[11]=z,_[12]=Y;else Y=_[12];return Y}var W3K,iy8;var T3K=E(()=>{k6();P_();zD();p9();w9A();W3K=p(H6(),1),iy8=p(JH(),1)});function Z3K(H){let _=E3K.c(21),{serverNames:A,onDone:q}=H,K;if(_[0]!==q||_[1]!==A)K=function(X){let P=TA()||{},T=P.enabledMcpjsonServers||[],W=P.disabledMcpjsonServers||[],[G,Z]=SZ8(A,(V)=>X.includes(V));if(c("tengu_mcp_multidialog_choice",{approved:G.length,rejected:Z.length}),G.length>0){let V=L9([...T,...G]);_A("localSettings",{enabledMcpjsonServers:V})}if(Z.length>0){let V=L9([...W,...Z]);_A("localSettings",{disabledMcpjsonServers:V})}q()},_[0]=q,_[1]=A,_[2]=K;else K=_[2];let L=K,M;if(_[3]!==q||_[4]!==A)M=()=>{let X=(TA()||{}).disabledMcpjsonServers||[],P=L9([...X,...A]);_A("localSettings",{disabledMcpjsonServers:P}),q()},_[3]=q,_[4]=A,_[5]=M;else M=_[5];let f=M,$=`${A.length} new MCP servers found in .mcp.json`,O;if(_[6]===Symbol.for("react.memo_cache_sentinel"))O=Kl.default.createElement(ny8,null),_[6]=O;else O=_[6];let z;if(_[7]!==A)z=A.map(TE5),_[7]=A,_[8]=z;else z=_[8];let Y;if(_[9]!==f||_[10]!==L||_[11]!==A||_[12]!==z)Y=Kl.default.createElement(gJH,{options:z,defaultValue:A,onSubmit:L,onCancel:f,hideIndexes:!0}),_[9]=f,_[10]=L,_[11]=A,_[12]=z,_[13]=Y;else Y=_[13];let D;if(_[14]!==f||_[15]!==$||_[16]!==Y)D=Kl.default.createElement(x8,{title:$,subtitle:"Select any you wish to enable.",color:"warning",onCancel:f,hideInputGuide:!0},O,Y),_[14]=f,_[15]=$,_[16]=Y,_[17]=D;else D=_[17];let w;if(_[18]===Symbol.for("react.memo_cache_sentinel"))w=Kl.default.createElement(U,{paddingX:1},Kl.default.createElement(v,{dimColor:!0,italic:!0},Kl.default.createElement(O8,null,Kl.default.createElement(A6,{chord:"space",action:"select"}),Kl.default.createElement(A6,{chord:"enter",action:"confirm"}),Kl.default.createElement(o8,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})))),_[18]=w;else w=_[18];let j;if(_[19]!==D)j=Kl.default.createElement(Kl.default.Fragment,null,D,w),_[19]=D,_[20]=j;else j=_[20];return j}function TE5(H){return{label:H,value:H}}var E3K,Kl;var V3K=E(()=>{Qo_();k6();iH();P_();yK();$Z6();_9();p9();wA();w9A();E3K=p(H6(),1),Kl=p(JH(),1)});async function J9A(H){let{servers:_}=eW("project"),A=Object.keys(_).filter((q)=>clH(q)==="pending");if(A.length===0)return;await EE5(A);try{await new Promise((q)=>{let K=()=>void q();if(A.length===1&&A[0]!==void 0){let L=A[0];H.render(YRH.default.createElement(aD,null,YRH.default.createElement(sw,null,YRH.default.createElement(G3K,{serverName:L,onDone:K}))))}else H.render(YRH.default.createElement(aD,null,YRH.default.createElement(sw,null,YRH.default.createElement(Z3K,{serverNames:A,onDone:K}))))})}finally{await ZE5()}}async function EE5(H){{if(!bq())return;let _=process.env.CLAUDE_JOB_DIR;if(!_)return;let A=await cq(_);if(!A)return;let q=H.length,K=k8(q,"server"),L=k8(q,"needs","need");try{await x5(_,{...A,state:"blocked",detail:`${q} new MCP ${K} ${L} approval`,tempo:"blocked",needs:`approve ${q} new MCP ${K} in .mcp.json (${H.join(", ")}) \u2014 attach to respond`,updatedAt:new Date().toISOString()})}catch(M){RH(M)}}}async function ZE5(){{if(!bq())return;let H=process.env.CLAUDE_JOB_DIR;if(!H)return;let _=await cq(H);if(!_||_.state!=="blocked")return;try{await x5(H,{..._,state:"working",tempo:"idle",needs:void 0,block:void 0,detail:_.intent??"",updatedAt:new Date().toISOString()})}catch(A){RH(A)}}}var YRH;var v3K=E(()=>{T3K();V3K();e3();jU();vx();iL();P8();I_();IE();wV();YRH=p(JH(),1)});function N3K(){let H=process.env.TERM_PROGRAM;if(!H)return;let _=VE5[H.toLowerCase()];if(!_)return;if(m6().deepLinkTerminal===_)return;f8((q)=>({...q,deepLinkTerminal:_})),N(`Stored deep link terminal preference: ${_}`)}var VE5;var I3K=E(()=>{s8();dH();VE5={iterm:"iTerm","iterm.app":"iTerm",ghostty:"Ghostty",kitty:"kitty",alacritty:"Alacritty",wezterm:"WezTerm",apple_terminal:"Terminal"}});class X9A{frameDurations=[];totalFrames=0;firstRenderTime;lastRenderTime;record(H){let _=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=_;if(this.lastRenderTime=_,this.totalFrames++,this.frameDurations.push(H),this.frameDurations.length>3600)this.frameDurations.splice(0,this.frameDurations.length>>1)}getMetrics(){if(this.totalFrames===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let H=this.lastRenderTime-this.firstRenderTime;if(H<=0)return;let _=this.totalFrames/(H/1000),A=this.frameDurations.slice().sort((M,f)=>f-M),q=Math.max(0,Math.ceil(A.length*0.01)-1),K=A[q],L=K>0?1000/K:0;return{averageFps:Math.round(_*100)/100,low1PctFps:Math.round(L*100)/100}}}async function y3K(){try{let H=await vfH();if(!H){N("Not in a GitHub repository, skipping path mapping update");return}let _=j_(),q=F4(_)??_,K;try{K=(await k3K.realpath(q)).normalize("NFC")}catch{K=q}let L=H.toLowerCase(),f=m6().githubRepoPaths?.[L]??[];if(f[0]===K){N(`Path ${K} already tracked for repo ${L}`);return}let $=f.filter((z)=>z!==K),O=[K,...$];f8((z)=>({...z,githubRepoPaths:{...z.githubRepoPaths,[L]:O}})),N(`Added ${K} to tracked paths for repo ${L}`)}catch(H){N(`Error updating repo path mapping: ${H}`)}}function ry8(H){let _=m6(),A=H.toLowerCase();return _.githubRepoPaths?.[A]??[]}async function oy8(H){let _=await Promise.all(H.map(z7));return H.filter((A,q)=>_[q])}async function h3K(H,_){try{let A=await oK6(H);if(!A)return!1;let q=rWH(A);if(!q)return!1;return q.toLowerCase()===_.toLowerCase()}catch{return!1}}function S3K(H,_){let A=m6(),q=H.toLowerCase(),K=A.githubRepoPaths?.[q]??[],L=K.filter((f)=>f!==_);if(L.length===K.length)return;let M={...A.githubRepoPaths};if(L.length===0)delete M[q];else M[q]=L;f8((f)=>({...f,githubRepoPaths:M})),N(`Removed ${_} from tracked paths for repo ${q}`)}var k3K;var eI6=E(()=>{D6();s8();dH();dT();CK();Em();$1();k3K=require("fs/promises")});async function vE5(){return{success:true};try{let H=h9(),_=new URL(H.TOKEN_URL),A=[`${H.BASE_API_URL}/api/hello`,`${_.origin}/v1/oauth/hello`],q=async(M)=>{try{let f=await l_.get(M,{headers:{"User-Agent":Fn()}});if(f.status!==200)return{success:!1,error:`Failed to connect to ${new URL(M).hostname}: Status ${f.status}`};return{success:!0}}catch(f){let $=new URL(M).hostname,O=vzH(f);return{success:!1,error:`Failed to connect to ${$}: ${f instanceof Error?f.code||f.message:String(f)}`,sslHint:O??void 0}}},L=(await Promise.all(A.map(q))).find((M)=>!M.success);if(L)c("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!L.error,isSSLError:!!L.sslHint});return L||{success:!0}}catch(H){return RH(H),c("tengu_preflight_check_failed",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${H instanceof Error?H.code||H.message:String(H)}`}}}function C3K(H){let _=R3K.c(14),{onSuccess:A}=H,[q,K]=h0.useState(null),[L,M]=h0.useState(!0),f=AO(1000)&&L,$,O;if(_[0]===Symbol.for("react.memo_cache_sentinel"))$=()=>{(async function(){let X=await vE5();K(X),M(!1)})()},O=[],_[0]=$,_[1]=O;else $=_[0],O=_[1];h0.useEffect($,O);let z;if(_[2]!==A||_[3]!==q?.success)z=()=>{if(q?.success)A()},_[2]=A,_[3]=q?.success,_[4]=z;else z=_[4];let Y;if(_[5]!==A||_[6]!==q)Y=[q,A],_[5]=A,_[6]=q,_[7]=Y;else Y=_[7];h0.useEffect(z,Y),AO(NE5,q&&!q.success?100:null);let D;if(_[8]!==L||_[9]!==q||_[10]!==f)D=L&&f?h0.default.createElement(U,{paddingLeft:1},h0.default.createElement(h7,null),h0.default.createElement(v,null,"Checking connectivity...")):!q?.success&&!L&&h0.default.createElement(U,{flexDirection:"column",gap:1},h0.default.createElement(v,{color:"error"},"Unable to connect to Anthropic services"),h0.default.createElement(v,{color:"error"},q?.error),q?.sslHint?h0.default.createElement(U,{flexDirection:"column",gap:1},h0.default.createElement(v,null,q.sslHint),h0.default.createElement(v,{color:"suggestion"},"See https://code.claude.com/docs/en/network-config")):h0.default.createElement(U,{flexDirection:"column",gap:1},h0.default.createElement(v,null,"Please check your internet connection and network settings."),h0.default.createElement(v,null,"Note: Claude Code might not be available in your country. Check supported countries at"," ",h0.default.createElement(v,{color:"suggestion"},"https://anthropic.com/supported-countries")))),_[8]=L,_[9]=q,_[10]=f,_[11]=D;else D=_[11];let w;if(_[12]!==D)w=h0.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},D),_[12]=D,_[13]=w;else w=_[13];return w}function NE5(){nX("preflight_endpoint"),process.exit(1)}var R3K,h0;var b3K=E(()=>{DL();k6();nP();b4();Tl();M88();iH();LHH();mW();P8();R3K=p(H6(),1),h0=p(JH(),1)});var u3K={};P6(u3K,{ApproveApiKey:()=>P9A});function P9A(H){let _=x3K.c(16),{customApiKeyTruncated:A,onDone:q}=H,K;if(_[0]!==A||_[1]!==q)K=function(j){H:switch(j){case"yes":{f8((J)=>({...J,customApiKeyResponses:{...J.customApiKeyResponses,approved:[...J.customApiKeyResponses?.approved??[],A]}})),q(!0);break H}case"no":f8((J)=>({...J,customApiKeyResponses:{...J.customApiKeyResponses,rejected:[...J.customApiKeyResponses?.rejected??[],A]}})),q(!1)}},_[0]=A,_[1]=q,_[2]=K;else K=_[2];let L=K,M;if(_[3]!==L)M=()=>L("no"),_[3]=L,_[4]=M;else M=_[4];let f;if(_[5]===Symbol.for("react.memo_cache_sentinel"))f=b5H.default.createElement(v,{bold:!0},"ANTHROPIC_API_KEY"),_[5]=f;else f=_[5];let $;if(_[6]!==A)$=b5H.default.createElement(v,null,f,b5H.default.createElement(v,null,": sk-ant-...",A)),_[6]=A,_[7]=$;else $=_[7];let O;if(_[8]===Symbol.for("react.memo_cache_sentinel"))O=b5H.default.createElement(v,null,"Do you want to use this API key?"),_[8]=O;else O=_[8];let z;if(_[9]===Symbol.for("react.memo_cache_sentinel"))z=b5H.default.createElement(v,null,"No (",b5H.default.createElement(v,{bold:!0},"recommended"),")"),_[9]=z;else z=_[9];let Y;if(_[10]!==L)Y=b5H.default.createElement(dK,{focus:"cancel",cancelLabel:z,onConfirm:()=>L("yes"),onCancel:()=>L("no")}),_[10]=L,_[11]=Y;else Y=_[11];let D;if(_[12]!==M||_[13]!==$||_[14]!==Y)D=b5H.default.createElement(x8,{title:"Detected a custom API key in your environment",color:"warning",onCancel:M},$,O,Y),_[12]=M,_[13]=$,_[14]=Y,_[15]=D;else D=_[15];return D}var x3K,b5H;var W9A=E(()=>{iH();s8();uz();p9();x3K=p(H6(),1),b5H=p(JH(),1)});function ay8(){let H=m3K.c(1),_;if(H[0]===Symbol.for("react.memo_cache_sentinel"))_=Hk6.createElement(v,{color:"permission"},"Press ",Hk6.createElement(v,{bold:!0},"Enter")," to continue\u2026"),H[0]=_;else _=H[0];return _}var m3K,Hk6;var G9A=E(()=>{iH();m3K=p(H6(),1),Hk6=p(JH(),1)});function sy8(H){let _=p3K.c(7),{children:A}=H,{marker:q}=RPH.useContext(T9A),K;if(_[0]!==q)K=RPH.default.createElement(v,{dimColor:!0},q),_[0]=q,_[1]=K;else K=_[1];let L;if(_[2]!==A)L=RPH.default.createElement(U,{flexDirection:"column"},A),_[2]=A,_[3]=L;else L=_[3];let M;if(_[4]!==K||_[5]!==L)M=RPH.default.createElement(U,{gap:1},K,L),_[4]=K,_[5]=L,_[6]=M;else M=_[6];return M}var p3K,RPH,T9A;var U3K=E(()=>{iH();p3K=p(H6(),1),RPH=p(JH(),1),T9A=RPH.createContext({marker:""})});function g3K(H){let _=F3K.c(9),{children:A}=H,{marker:q}=nB.useContext(B3K),K=0;for(let $ of nB.default.Children.toArray(A)){if(!nB.isValidElement($)||$.type!==sy8)continue;K++}let L=String(K).length,M;if(_[0]!==A||_[1]!==L||_[2]!==q){let $;if(_[4]!==L||_[5]!==q)$=(O,z)=>{if(!nB.isValidElement(O)||O.type!==sy8)return O;let Y=`${String(z+1).padStart(L)}.`,D=`${q}${Y}`;return nB.default.createElement(B3K.Provider,{value:{marker:D}},nB.default.createElement(T9A.Provider,{value:{marker:D}},O))},_[4]=L,_[5]=q,_[6]=$;else $=_[6];M=nB.default.Children.map(A,$),_[0]=A,_[1]=L,_[2]=q,_[3]=M}else M=_[3];let f;if(_[7]!==M)f=nB.default.createElement(U,{flexDirection:"column"},M),_[7]=M,_[8]=f;else f=_[8];return f}var F3K,nB,B3K,ty8;var Q3K=E(()=>{iH();U3K();F3K=p(H6(),1),nB=p(JH(),1),B3K=nB.createContext({marker:""});g3K.Item=sy8;ty8=g3K});var l3K={};P6(l3K,{SkippableStep:()=>c3K,Onboarding:()=>IE5});function IE5({onDone:H}){let[_,A]=G7.useState(0),[q,K]=G7.useState(!1),[L]=G7.useState(()=>dD()),[M,f]=dq();G7.useEffect(()=>{c("tengu_began_setup",{oauthEnabled:L})},[L]);function $(){if(_<X.length-1){let G=_+1;A(G),c("tengu_onboarding_step",{oauthEnabled:L,stepId:X[G]?.id}),bH("onboarding_step_complete")}else bH("onboarding_complete"),H()}function O(G){f(G),$()}let z=ef(),Y=G7.default.createElement(U,{marginX:1},G7.default.createElement(zeH,{onThemeSelect:O,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0})),D=G7.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},G7.default.createElement(v,{bold:!0},"Security notes:"),G7.default.createElement(U,{flexDirection:"column",width:70},G7.default.createElement(ty8,null,G7.default.createElement(ty8.Item,null,G7.default.createElement(v,null,"Claude can make mistakes"),G7.default.createElement(v,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",G7.default.createElement(kb,null),"running code.",G7.default.createElement(kb,null))),G7.default.createElement(ty8.Item,null,G7.default.createElement(v,null,"Due to prompt injection risks, only use it with code you trust"),G7.default.createElement(QV,{url:"https://code.claude.com/docs/en/security"})))),G7.default.createElement(ay8,null)),w=G7.default.createElement(C3K,{onSuccess:$}),j=G7.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY||hJ())return"";let G=th(process.env.ANTHROPIC_API_KEY);if($$6(G)==="new")return G},[]);function J(G){if(G)K(!0);$()}let X=[];if(L)X.push({id:"preflight",component:w});if(X.push({id:"theme",component:Y}),j)X.push({id:"api-key",component:G7.default.createElement(P9A,{customApiKeyTruncated:j,onDone:J})});if(L)X.push({id:"oauth",component:G7.default.createElement(c3K,{skip:q,onSkip:$},G7.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},G7.default.createElement(wkH,{onDone:$,urlOutdent:1})))});if(X.push({id:"security",component:D}),OZH())X.push({id:"terminal-setup",component:G7.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},G7.default.createElement(v,{bold:!0},"Use Claude Code's terminal setup?"),G7.default.createElement(U,{flexDirection:"column",width:70,gap:1},G7.default.createElement(v,null,"For the optimal coding experience, enable the recommended settings",G7.default.createElement(kb,null),"for your terminal:"," ",F_.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),G7.default.createElement(dK,{confirmLabel:"Yes, use recommended settings",cancelLabel:"No, maybe later with /terminal-setup",onConfirm:()=>void __8(M).then(()=>bH("onboarding_terminal_setup")).catch(()=>uH("onboarding_terminal_setup","onboarding_terminal_setup_failed")).finally($),onCancel:$}),G7.default.createElement(v,{dimColor:!0},z.pending?G7.default.createElement(G7.default.Fragment,null,"Press ",z.keyName," again to exit"):G7.default.createElement(O8,null,G7.default.createElement(A6,{chord:"enter",action:"confirm"}),G7.default.createElement(A6,{chord:"escape",action:"skip"})))))});let P=X[_],T=G7.useCallback(()=>{if(_===X.length-1)H();else $()},[_,H,$]),W=G7.useCallback(()=>{$()},[$]);return fA({"confirm:yes":T},{context:"Confirmation",isActive:P?.id==="security"}),fA({"confirm:no":W},{context:"Confirmation",isActive:P?.id==="terminal-setup"}),G7.default.createElement(U,{flexDirection:"column"},G7.default.createElement($PH,null),G7.default.createElement(U,{flexDirection:"column",marginTop:1},P?.component,z.pending&&G7.default.createElement(U,{padding:1},G7.default.createElement(v,{dimColor:!0},"Press ",z.keyName," again to exit"))))}function c3K(H){let _=d3K.c(4),{skip:A,onSkip:q,children:K}=H,L,M;if(_[0]!==q||_[1]!==A)L=()=>{if(A)q()},M=[A,q],_[0]=q,_[1]=A,_[2]=L,_[3]=M;else L=_[2],M=_[3];if(G7.useEffect(L,M),A)return null;return K}var d3K,G7;var n3K=E(()=>{k6();qzH();IG();iH();kA();D8();PA();EL6();s8();mL();r6();b3K();W9A();dW6();_9();uz();C_H();wA();wN6();G9A();HG8();Q3K();d3K=p(H6(),1),G7=p(JH(),1)});function i3K(H){if(H===null)return!1;if(H.statusLine)return!0;if(H.fileSuggestion)return!0;if(!H.hooks)return!1;for(let _ of Object.values(H.hooks))if(_.length>0)return!0;return!1}function H$K(){let H=[],_=p8("projectSettings");if(i3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(i3K(A))H.push(".claude/settings.local.json");return H}function r3K(H){return H.some((_)=>_.ruleBehavior==="allow"&&(_.ruleValue.toolName===dA||_.ruleValue.toolName.startsWith(dA+"(")))}function _$K(){let H=[],_=DY6("projectSettings");if(r3K(_))H.push(".claude/settings.json");let A=DY6("localSettings");if(r3K(A))H.push(".claude/settings.local.json");return H}function o3K(H){return!!H?.otelHeadersHelper}function A$K(){let H=[],_=p8("projectSettings");if(o3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(o3K(A))H.push(".claude/settings.local.json");return H}function a3K(H){return!!H?.apiKeyHelper}function q$K(){let H=[],_=p8("projectSettings");if(a3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(a3K(A))H.push(".claude/settings.local.json");return H}function s3K(H){return!!(H?.awsAuthRefresh||H?.awsCredentialExport)}function K$K(){let H=[],_=p8("projectSettings");if(s3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(s3K(A))H.push(".claude/settings.local.json");return H}function t3K(H){return!!H?.gcpAuthRefresh}function L$K(){let H=[],_=p8("projectSettings");if(t3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(t3K(A))H.push(".claude/settings.local.json");return H}function e3K(H){if(!H?.env)return!1;return Object.keys(H.env).some((_)=>!WnH.has(_.toUpperCase()))}function M$K(){let H=[],_=p8("projectSettings");if(e3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(e3K(A))H.push(".claude/settings.local.json");return H}var f$K=E(()=>{P_();hL8();bKH()});var O$K={};P6(O$K,{TrustDialog:()=>kE5});function kE5(H){let _=$$K.c(32),{onDone:A,commands:q}=H,K;if(_[0]===Symbol.for("react.memo_cache_sentinel"))K=eW("project"),_[0]=K;else K=_[0];let{servers:L}=K,M;if(_[1]===Symbol.for("react.memo_cache_sentinel"))M=Object.keys(L),_[1]=M;else M=_[1];let f=M.length>0,$;if(_[2]===Symbol.for("react.memo_cache_sentinel"))$=H$K(),_[2]=$;else $=_[2];let z=$.length>0,Y;if(_[3]===Symbol.for("react.memo_cache_sentinel"))Y=_$K(),_[3]=Y;else Y=_[3];let D=Y,w;if(_[4]===Symbol.for("react.memo_cache_sentinel"))w=q$K(),_[4]=w;else w=_[4];let J=w.length>0,X;if(_[5]===Symbol.for("react.memo_cache_sentinel"))X=K$K(),_[5]=X;else X=_[5];let T=X.length>0,W;if(_[6]===Symbol.for("react.memo_cache_sentinel"))W=L$K(),_[6]=W;else W=_[6];let Z=W.length>0,V;if(_[7]===Symbol.for("react.memo_cache_sentinel"))V=A$K(),_[7]=V;else V=_[7];let h=V.length>0,y;if(_[8]===Symbol.for("react.memo_cache_sentinel"))y=M$K(),_[8]=y;else y=_[8];let R=y.length>0,b;if(_[9]!==q)b=q?.some(bE5)??!1,_[9]=q,_[10]=b;else b=_[10];let x=b,S;if(_[11]!==q)S=q?.some(RE5)??!1,_[11]=q,_[12]=S;else S=_[12];let m=S,g=D.length>0||x||m,B=uL(),Q,l;if(_[13]!==g)Q=()=>{let AH=E9A.homedir()===x6();c("tengu_trust_dialog_shown",{isHomeDir:AH,hasMcpServers:f,hasHooks:z,hasBashExecution:g,hasApiKeyHelper:J,hasAwsCommands:T,hasGcpCommands:Z,hasOtelHeadersHelper:h,hasDangerousEnvVars:R})},l=[f,z,g,J,T,Z,h,R],_[13]=g,_[14]=Q,_[15]=l;else Q=_[14],l=_[15];RI.useEffect(Q,l);let d;if(_[16]!==g||_[17]!==A)d=function(zH){if(zH==="exit"){uH("onboarding_trust_dialog","onboarding_trust_denied"),IK(1);return}let MH=E9A.homedir()===x6();if(bH("onboarding_trust_dialog"),c("tengu_trust_dialog_accept",{isHomeDir:MH,hasMcpServers:f,hasHooks:z,hasBashExecution:g,hasApiKeyHelper:J,hasAwsCommands:T,hasGcpCommands:Z,hasOtelHeadersHelper:h,hasDangerousEnvVars:R}),MH)JMH(!0);else Vz(SE5);A()},_[16]=g,_[17]=A,_[18]=d;else d=_[18];let r=d,t=ef(hE5),s;if(_[19]===Symbol.for("react.memo_cache_sentinel"))s={context:"Confirmation"},_[19]=s;else s=_[19];if(f_("confirm:no",yE5,s),B)return queueMicrotask(A),null;let HH,o,e;if(_[20]===Symbol.for("react.memo_cache_sentinel"))HH=RI.default.createElement(v,{bold:!0},Q6().cwd()),o=RI.default.createElement(v,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=RI.default.createElement(v,null,"","",""),_[20]=HH,_[21]=o,_[22]=e;else HH=_[20],o=_[21],e=_[22];let DH;if(_[23]===Symbol.for("react.memo_cache_sentinel"))DH=RI.default.createElement(v,{dimColor:!0},RI.default.createElement(j9,{url:"https://code.claude.com/docs/en/security"},"Security guide")),_[23]=DH;else DH=_[23];let LH;if(_[24]!==r)LH=RI.default.createElement(dK,{confirmLabel:"Yes, I trust this folder",cancelLabel:"No, exit",onConfirm:()=>r("enable_all"),onCancel:()=>r("exit")}),_[24]=r,_[25]=LH;else LH=_[25];let _H;if(_[26]!==t.keyName||_[27]!==t.pending)_H=RI.default.createElement(v,{dimColor:!0},t.pending?RI.default.createElement(RI.default.Fragment,null,"Press ",t.keyName," again to exit"):RI.default.createElement(O8,null,RI.default.createElement(A6,{chord:"enter",action:"confirm"}),RI.default.createElement(A6,{chord:"escape",action:"cancel"}))),_[26]=t.keyName,_[27]=t.pending,_[28]=_H;else _H=_[28];let qH;if(_[29]!==LH||_[30]!==_H)qH=RI.default.createElement(K3,{color:"warning",titleColor:"warning",title:"Accessing workspace:"},RI.default.createElement(U,{flexDirection:"column",gap:1,paddingTop:1},HH,o,e,DH,LH,_H)),_[29]=LH,_[30]=_H,_[31]=qH;else qH=_[31];return qH}function yE5(){IK(0)}function hE5(){return IK(1)}function SE5(H){return{...H,hasTrustDialogAccepted:!0}}function RE5(H){return H.type==="prompt"&&(H.loadedFrom==="skills"||H.loadedFrom==="plugin")&&(H.source==="projectSettings"||H.source==="localSettings"||H.source==="plugin")&&H.allowedTools?.some(CE5)}function CE5(H){return H===dA||H.startsWith(dA+"(")}function bE5(H){return H.type==="prompt"&&H.loadedFrom==="commands_DEPRECATED"&&(H.source==="projectSettings"||H.source==="localSettings")&&H.allowedTools?.some(xE5)}function xE5(H){return H===dA||H.startsWith(dA+"(")}var $$K,E9A,RI;var z$K=E(()=>{k6();D6();IG();iH();kA();D8();IE();s8();XA();lA();ZM();_9();uz();wA();WV();f$K();$$K=p(H6(),1),E9A=require("os"),RI=p(JH(),1)});var w$K={};P6(w$K,{ProTrialStartScreen:()=>uE5});function uE5(H){let _=Y$K.c(9),{onDone:A}=H,[q,K]=D$K.useState("idle"),L;if(_[0]!==A||_[1]!==q)L={"confirm:yes":()=>{if(q==="starting")return;if(q==="error"){A();return}K("starting"),c("tengu_pro_trial_start_pressed",{}),li_().then(()=>{c("tengu_pro_trial_start_ok",{}),A()}).catch((D)=>{if(HY(D))N(`Failed to start pro trial: ${EH(D)}`,{level:"error"});else RH(D);c("tengu_pro_trial_start_error",{}),K("error")})}},_[0]=A,_[1]=q,_[2]=L;else L=_[2];let M;if(_[3]===Symbol.for("react.memo_cache_sentinel"))M={context:"Confirmation"},_[3]=M;else M=_[3];fA(L,M);let f;if(_[4]===Symbol.for("react.memo_cache_sentinel"))f=ci_(),_[4]=f;else f=_[4];let $=f,O;if(_[5]===Symbol.for("react.memo_cache_sentinel"))O=S0.createElement($PH,null),_[5]=O;else O=_[5];let z;if(_[6]===Symbol.for("react.memo_cache_sentinel"))z=S0.createElement(v,null,$!==null?`Your Pro plan includes ${$} days of Claude Code.`:"Your Pro plan includes a Claude Code trial."),_[6]=z;else z=_[6];let Y;if(_[7]!==q)Y=S0.createElement(U,{flexDirection:"column",paddingX:1,gap:1},O,z,q==="starting"?S0.createElement(U,null,S0.createElement(h7,null),S0.createElement(v,null," Starting your trial\u2026")):q==="error"?S0.createElement(v,{color:"error"},"Couldn't start your trial. Press ",S0.createElement(v,{bold:!0},"Enter")," to continue."):S0.createElement(v,{color:"permission"},"Press ",S0.createElement(v,{bold:!0},"Enter")," to start your trial")),_[7]=q,_[8]=Y;else Y=_[8];return Y}var Y$K,S0,D$K;var j$K=E(()=>{iH();kA();k6();DH6();dH();T6();P8();wN6();nP();Y$K=p(H6(),1),S0=p(JH(),1),D$K=p(JH(),1)});var X$K={};P6(X$K,{TeamOnboardingDiscoveryStep:()=>mE5});function mE5(H){let _=J$K.c(6),{onDone:A}=H,q;if(_[0]!==A)q={"confirm:yes":A},_[0]=A,_[1]=q;else q=_[1];let K;if(_[2]===Symbol.for("react.memo_cache_sentinel"))K={context:"Confirmation"},_[2]=K;else K=_[2];fA(q,K);let L;if(_[3]===Symbol.for("react.memo_cache_sentinel"))L=iR.createElement($PH,null),_[3]=L;else L=_[3];let M;if(_[4]===Symbol.for("react.memo_cache_sentinel"))M=iR.createElement(v,{bold:!0},tV8.heading),_[4]=M;else M=_[4];let f;if(_[5]===Symbol.for("react.memo_cache_sentinel"))f=iR.createElement(U,{flexDirection:"column"},L,iR.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1,marginTop:1},M,iR.createElement(U,{width:70},iR.createElement(v,null,tV8.body)),iR.createElement(ay8,null))),_[5]=f;else f=_[5];return f}var J$K,iR;var P$K=E(()=>{Cv6();iH();kA();wN6();G9A();J$K=p(H6(),1),iR=p(JH(),1)});var G$K={};P6(G$K,{BypassPermissionsModeDialog:()=>pE5});function pE5(H){let _=W$K.c(6),{onAccept:A}=H,q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=[],_[0]=q;else q=_[0];TAH.useEffect(BE5,q);let K;if(_[1]!==A)K=function(z){H:switch(z){case"accept":{c("tengu_bypass_permissions_mode_dialog_accept",{}),_A("userSettings",{skipDangerousModePermissionPrompt:!0}),A();break H}case"decline":IK(1)}},_[1]=A,_[2]=K;else K=_[2];let L=K,M=UE5,f;if(_[3]===Symbol.for("react.memo_cache_sentinel"))f=TAH.default.createElement(U,{flexDirection:"column",gap:1},TAH.default.createElement(v,null,"In Bypass Permissions mode, Claude Code will not ask for your approval before running potentially dangerous commands.",TAH.default.createElement(kb,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),TAH.default.createElement(v,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),TAH.default.createElement(j9,{url:"https://code.claude.com/docs/en/security"})),_[3]=f;else f=_[3];let $;if(_[4]!==L)$=TAH.default.createElement(x8,{title:"WARNING: Claude Code running in Bypass Permissions mode",color:"error",onCancel:M},f,TAH.default.createElement(dK,{cancelFirst:!0,focus:"cancel",confirmLabel:"Yes, I accept",cancelLabel:"No, exit",onConfirm:()=>L("accept"),onCancel:()=>L("decline")})),_[4]=L,_[5]=$;else $=_[5];return $}function UE5(){IK(0)}function BE5(){c("tengu_bypass_permissions_mode_dialog_shown",{})}var W$K,TAH;var T$K=E(()=>{k6();iH();ZM();P_();uz();p9();W$K=p(H6(),1),TAH=p(JH(),1)});var Z$K={};P6(Z$K,{DevChannelsDialog:()=>FE5});function FE5(H){let _=E$K.c(13),{channels:A,onAccept:q}=H,K;if(_[0]!==q)K=function(j){H:switch(j){case"accept":{q();break H}case"exit":IK(1)}},_[0]=q,_[1]=K;else K=_[1];let L=K,M=QE5,f,$;if(_[2]===Symbol.for("react.memo_cache_sentinel"))f=DRH.default.createElement(v,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."),$=DRH.default.createElement(v,null,"Please use --channels to run a list of approved channels."),_[2]=f,_[3]=$;else f=_[2],$=_[3];let O;if(_[4]!==A)O=A.map(gE5).join(", "),_[4]=A,_[5]=O;else O=_[5];let z;if(_[6]!==O)z=DRH.default.createElement(U,{flexDirection:"column",gap:1},f,$,DRH.default.createElement(v,{dimColor:!0},"Channels:"," ",O)),_[6]=O,_[7]=z;else z=_[7];let Y;if(_[8]!==L)Y=DRH.default.createElement(dK,{confirmLabel:"I am using this for local development",cancelLabel:"Exit",onConfirm:()=>L("accept"),onCancel:()=>L("exit")}),_[8]=L,_[9]=Y;else Y=_[9];let D;if(_[10]!==z||_[11]!==Y)D=DRH.default.createElement(x8,{title:"WARNING: Loading development channels",color:"error",onCancel:M},z,Y),_[10]=z,_[11]=Y,_[12]=D;else D=_[12];return D}function gE5(H){return H.kind==="plugin"?`plugin:${H.name}@${H.marketplace}`:`server:${H.name}`}function QE5(){IK(0)}var E$K,DRH;var V$K=E(()=>{iH();ZM();uz();p9();E$K=p(H6(),1),DRH=p(JH(),1)});var N$K={};P6(N$K,{ClaudeInChromeOnboarding:()=>lE5});function lE5(H){let _=v$K.c(21),{onDone:A}=H,[q,K]=ET.useState(!1),L,M;if(_[0]===Symbol.for("react.memo_cache_sentinel"))L=()=>{c("tengu_claude_in_chrome_onboarding_shown",{}),eLH().then(K).catch(RH),f8(nE5)},M=[],_[0]=L,_[1]=M;else L=_[0],M=_[1];ET.useEffect(L,M);let f;if(_[2]!==A)f=(X)=>{if(X.key==="return"&&!X.ctrl&&!X.meta)X.preventDefault(),A()},_[2]=A,_[3]=f;else f=_[3];let $;if(_[4]!==q)$=!q&&ET.default.createElement(ET.default.Fragment,null,ET.default.createElement(kb,null),ET.default.createElement(kb,null),"Requires the Chrome extension. Get started at"," ",ET.default.createElement(j9,{url:dE5})),_[4]=q,_[5]=$;else $=_[5];let O;if(_[6]!==$)O=ET.default.createElement(v,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.",$),_[6]=$,_[7]=O;else O=_[7];let z;if(_[8]!==q)z=q&&ET.default.createElement(ET.default.Fragment,null," ","(",ET.default.createElement(j9,{url:cE5}),")"),_[8]=q,_[9]=z;else z=_[9];let Y;if(_[10]!==z)Y=ET.default.createElement(v,{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",z,"."),_[10]=z,_[11]=Y;else Y=_[11];let D;if(_[12]===Symbol.for("react.memo_cache_sentinel"))D=ET.default.createElement(v,{bold:!0,color:"chromeYellow"},"/chrome"),_[12]=D;else D=_[12];let w;if(_[13]===Symbol.for("react.memo_cache_sentinel"))w=ET.default.createElement(v,{dimColor:!0},"For more info, use"," ",D," ","or visit ",ET.default.createElement(j9,{url:"https://code.claude.com/docs/en/chrome"})),_[13]=w;else w=_[13];let j;if(_[14]!==f||_[15]!==O||_[16]!==Y)j=ET.default.createElement(U,{flexDirection:"column",gap:1,tabIndex:0,autoFocus:!0,onKeyDown:f},O,Y,w),_[14]=f,_[15]=O,_[16]=Y,_[17]=j;else j=_[17];let J;if(_[18]!==A||_[19]!==j)J=ET.default.createElement(x8,{title:"Claude in Chrome (beta)",onCancel:A,color:"chromeYellow"},j),_[18]=A,_[19]=j,_[20]=J;else J=_[20];return J}function nE5(H){return{...H,hasCompletedClaudeInChromeOnboarding:!0}}var v$K,ET,dE5="https://claude.ai/chrome",cE5="https://clau.de/chrome/permissions";var I$K=E(()=>{k6();iH();LSH();s8();P8();p9();v$K=p(H6(),1),ET=p(JH(),1)});var V9A={};P6(V9A,{upgradeKey:()=>iE5,probeBedrockModel:()=>Hh8,findBedrockUpgradeCandidates:()=>rE5,checkBedrockDefaultAvailability:()=>oE5});function Z9A(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function k$K(H){let _=xj(H);for(let A of _k6)if(xj(df[A].firstParty)===_)return A;return}function iE5(H){return`${H.fromKey}-to-${H.toKey}`}async function rE5(){if(RA()!=="bedrock")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let M of Object.keys(ey8)){let f=ey8[M],$,O,z;for(let j of f.envVarPriority){let J=process.env[j];if(!J)continue;if(J.includes("application-inference-profile"))continue;let X=k$K(J);if(!X||Z9A(X)!==M||X===f.defaultKey)continue;$=j,O=J,z=X;break}if(!$||!O||!z)continue;let Y=f.defaultKey,D=_k6.indexOf(z),w=_k6.indexOf(Y);if(D>=w)continue;H.push({tier:M,envVar:$,pinnedRaw:O,pinnedKey:z,defaultKey:Y})}if(H.length===0)return[];let _;try{_=await jL6()}catch{return[]}let A=Ot(Jv()),q=[];for(let M of H){let f=df[M.defaultKey].firstParty,$=r3H(_,f,A);if(!$)continue;let O=Gz(df[M.pinnedKey].firstParty),z=Gz(df[M.defaultKey].firstParty);if(!O||!z)continue;q.push({tier:M.tier,envVar:M.envVar,fromKey:M.pinnedKey,fromMarketingName:O,toKey:M.defaultKey,toMarketingName:z,toBedrockId:$})}c("tengu_bedrock_upgrade_check",{stale_tiers:String(q.length)});let L=(await Promise.all(q.map(async(M)=>{let f=await Hh8(M.toBedrockId,M.tier);return c("tengu_bedrock_probe_result",{tier:M.tier,model_id:M.toBedrockId,accessible:String(f)}),f?M:null}))).filter((M)=>M!==null);return N(`[bedrock-upgrade] tiersWithPin=${H.length} candidates=${L.length}`),L}async function oE5(){if(RA()!=="bedrock")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let L of Object.keys(ey8)){let M=ey8[L];if(M.envVarPriority.some(($)=>{let O=process.env[$];if(!O)return!1;let z=k$K(O);if(!z)return!0;return Z9A(z)===L}))continue;H.push({tier:L,envVar:M.envVarPriority.at(-1),defaultKey:M.defaultKey})}if(H.length===0)return[];c("tengu_bedrock_default_check",{unpinned_tiers:String(H.length)});let _=null;try{_=await jL6()}catch{return[]}let A=Ot(Jv()),q=await Promise.all(H.map(async(L)=>{let M=df[L.defaultKey],f=r3H(_,M.firstParty,A);if(!f)return null;let $=await Hh8(f,L.tier);if(c("tengu_bedrock_probe_result",{tier:L.tier,model_id:f,accessible:String($)}),$)return null;let O=aE5(L.defaultKey,L.tier);if(!O)return null;let z=df[O],Y=r3H(_,z.firstParty,A);if(!Y)return null;if(!await Hh8(Y,L.tier))return null;let w=Gz(M.firstParty),j=Gz(z.firstParty);if(!w||!j)return null;return{tier:L.tier,envVar:L.envVar,defaultKey:L.defaultKey,defaultName:w,fallbackKey:O,fallbackName:j,fallbackBedrockId:Y}})),K=[];for(let L of q)if(L!==null)K.push(L);return N(`[bedrock-fallback] unpinnedTiers=${H.length} fallbacks=${K.length}`),K}function aE5(H,_){let A=_k6.indexOf(H);for(let q=A-1;q>=0;q--){let K=_k6[q];if(Z9A(K)===_)return K}return}async function Hh8(H,_){try{let[{AnthropicBedrock:A},{getProxyFetchOptions:q}]=await Promise.all([Promise.resolve().then(() => (Z56(),E56)),Promise.resolve().then(() => (kO(),hmH))]),K=_==="haiku"&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:Jv(),L={awsRegion:K,maxRetries:0,timeout:8000,fetchOptions:q({url:process.env.ANTHROPIC_BEDROCK_BASE_URL||`https://bedrock-runtime.${K}.amazonaws.com`})},M;if(process.env.AWS_BEARER_TOKEN_BEDROCK)M=new A({...L,apiKey:process.env.AWS_BEARER_TOKEN_BEDROCK});else{let f=mH(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),$=f?null:await Yg();M=$?new A({...L,awsAccessKey:$.accessKeyId,awsSecretKey:$.secretAccessKey,awsSessionToken:$.sessionToken}):new A({...L,...f&&{skipAuth:!0}})}return await M.messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(A){if(A?.status===429)return!0;return!1}}var _k6,ey8;var v9A=E(()=>{k6();PA();dH();r6();DqH();zn();mA();R1();_k6=Object.keys(df),ey8={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Tt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Gt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Et}}});var N9A={};P6(N9A,{ThirdPartyModelUpgradeDialog:()=>sE5});function sE5(H){let _=y$K.c(27),{tierLabel:A,fromName:q,toName:K,toProviderId:L,onDone:M}=H,f=`Newer ${A} model available`,$;if(_[0]!==M)$=()=>M(!1),_[0]=M,_[1]=$;else $=_[1];let O;if(_[2]!==q)O=Ll.default.createElement(v,null,"Currently pinned: ",Ll.default.createElement(v,{bold:!0},q)),_[2]=q,_[3]=O;else O=_[3];let z;if(_[4]!==K)z=Ll.default.createElement(v,{bold:!0},K),_[4]=K,_[5]=z;else z=_[5];let Y;if(_[6]!==L)Y=Ll.default.createElement(v,{dimColor:!0},"(",L,")"),_[6]=L,_[7]=Y;else Y=_[7];let D;if(_[8]!==z||_[9]!==Y)D=Ll.default.createElement(v,null,"Latest available: ",z," ",Y),_[8]=z,_[9]=Y,_[10]=D;else D=_[10];let w;if(_[11]!==O||_[12]!==D)w=Ll.default.createElement(U,{flexDirection:"column"},O,D),_[11]=O,_[12]=D,_[13]=w;else w=_[13];let j;if(_[14]===Symbol.for("react.memo_cache_sentinel"))j=Ll.default.createElement(v,{dimColor:!0},"Claude Code will restart to apply."),_[14]=j;else j=_[14];let J;if(_[15]!==K)J=Ll.default.createElement(v,null,"Update settings to use ",K,"?"," ",j),_[15]=K,_[16]=J;else J=_[16];let X;if(_[17]!==M)X=Ll.default.createElement(dK,{onConfirm:()=>M(!0),onCancel:()=>M(!1)}),_[17]=M,_[18]=X;else X=_[18];let P;if(_[19]!==X||_[20]!==w||_[21]!==J)P=Ll.default.createElement(U,{flexDirection:"column",gap:1},w,J,X),_[19]=X,_[20]=w,_[21]=J,_[22]=P;else P=_[22];let T;if(_[23]!==f||_[24]!==P||_[25]!==$)T=Ll.default.createElement(x8,{title:f,color:"permission",onCancel:$},P),_[23]=f,_[24]=P,_[25]=$,_[26]=T;else T=_[26];return T}var y$K,Ll;var I9A=E(()=>{iH();uz();p9();y$K=p(H6(),1),Ll=p(JH(),1)});var y9A={};P6(y9A,{vertexUpgradeKey:()=>tE5,probeVertexModel:()=>Ah8,findVertexUpgradeCandidates:()=>eE5,checkVertexDefaultAvailability:()=>HZ5});function k9A(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function h$K(H){let _=xj(H);for(let A of Ak6)if(xj(df[A].firstParty)===_)return A;return}function tE5(H){return`${H.fromKey}-to-${H.toKey}`}async function eE5(){if(RA()!=="vertex")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let q of Object.keys(_h8)){let K=_h8[q],L,M;for(let z of K.envVarPriority){let Y=process.env[z];if(!Y)continue;let D=h$K(Y);if(!D||k9A(D)!==q||D===K.defaultKey)continue;L=z,M=D;break}if(!L||!M)continue;let f=K.defaultKey,$=Ak6.indexOf(M),O=Ak6.indexOf(f);if($>=O)continue;H.push({tier:q,envVar:L,pinnedKey:M,defaultKey:f})}if(H.length===0)return[];c("tengu_vertex_upgrade_check",{stale_tiers:String(H.length)});let A=(await Promise.all(H.map(async(q)=>{let K=df[q.defaultKey].vertex,L=await Ah8(K);if(c("tengu_vertex_probe_result",{tier:q.tier,model_id:K,accessible:String(L)}),!L)return null;let M=Gz(df[q.pinnedKey].firstParty),f=Gz(df[q.defaultKey].firstParty);if(!M||!f)return null;return{tier:q.tier,envVar:q.envVar,fromKey:q.pinnedKey,fromMarketingName:M,toKey:q.defaultKey,toMarketingName:f,toVertexId:K}}))).filter((q)=>q!==null);return N(`[vertex-upgrade] tiersWithPin=${H.length} candidates=${A.length}`),A}async function HZ5(){if(RA()!=="vertex")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let q of Object.keys(_h8)){let K=_h8[q];if(K.envVarPriority.some((M)=>{let f=process.env[M];if(!f)return!1;let $=h$K(f);if(!$)return!0;return k9A($)===q}))continue;H.push({tier:q,envVar:K.envVarPriority.at(-1),defaultKey:K.defaultKey})}if(H.length===0)return[];c("tengu_vertex_default_check",{unpinned_tiers:String(H.length)});let _=await Promise.all(H.map(async(q)=>{let K=df[q.defaultKey],L=await Ah8(K.vertex);if(c("tengu_vertex_probe_result",{tier:q.tier,model_id:K.vertex,accessible:String(L)}),L)return null;let M=_Z5(q.defaultKey,q.tier);if(!M)return null;let f=df[M];if(!await Ah8(f.vertex))return null;let O=Gz(K.firstParty),z=Gz(f.firstParty);if(!O||!z)return null;return{tier:q.tier,envVar:q.envVar,defaultKey:q.defaultKey,defaultName:O,fallbackKey:M,fallbackName:z,fallbackVertexId:f.vertex}})),A=[];for(let q of _)if(q!==null)A.push(q);return N(`[vertex-fallback] unpinnedTiers=${H.length} fallbacks=${A.length}`),A}function _Z5(H,_){let A=Ak6.indexOf(H);for(let q=A-1;q>=0;q--){let K=Ak6[q];if(k9A(K)===_)return K}return}async function Ah8(H){try{let[{AnthropicVertex:_},{getProxyFetchOptions:A}]=await Promise.all([Promise.resolve().then(() => (oa6(),ra6)),Promise.resolve().then(() => (kO(),hmH))]);if(!mH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH))await ITH();let q=process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project,K=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials,L=q||K?void 0:process.env.ANTHROPIC_VERTEX_PROJECT_ID,M=await PBH(mH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{kind:"skip"}:{kind:"default"},L),f=V2H(H);return await new _({region:f,googleAuth:M,maxRetries:0,timeout:8000,fetchOptions:A({url:process.env.ANTHROPIC_VERTEX_BASE_URL||SCH(f)})}).messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(_){if(_?.status===429)return!0;return!1}}var Ak6,_h8;var h9A=E(()=>{k6();PA();dH();r6();zn();mA();R1();aa6();Ak6=Object.keys(df),_h8={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Tt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Gt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Et}}});function AZ5(){f8((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 Kk6(H,_){return new Promise((A)=>{let q=(K)=>void A(K);H.render(_(q))})}async function Mh(H,_,A){return qZ5(H,_,{color:"error",beforeExit:A})}async function qZ5(H,_,A){let{Text:q}=await Promise.resolve().then(() => (iH(),hb)),K=A?.color,L=A?.exitCode??1;if(H.render(K?TJ.default.createElement(q,{color:K},_):TJ.default.createElement(q,null,_)),H.unmount(),await A?.beforeExit?.(),L!==0){let{setBgExitCause:M}=await Promise.resolve().then(() => (Tl(),U5A));M("exit_with_message")}process.exit(L)}function CI(H,_,A){if(process.env.CLAUDE_JOB_DIR)Promise.resolve().then(() => (mE6(),hQ_)).then((q)=>q.markStartupDialogBlocked()).catch(()=>{});return Kk6(H,(q)=>TJ.default.createElement(aD,{onChangeAppState:A?.onChangeAppState},TJ.default.createElement(sw,null,_(q))))}async function wRH(H,_){H.render(_),Lh8(),await H.waitUntilExit(),await _q(0)}async function C$K(H,_,A,q,K,L){if(process.env.CODER_APIKEY){if(L&&L.length>0){lAH([...Tj(),...L.map((j)=>({...j,dev:!0}))]);vh6(!0);}return false;}if(bq()){JMH(!0),qFH(),TG().catch((z)=>RH(c_(z))),ej();let{errors:O}=z8H();if(O.length===0)await J9A(H);return Ga(),setImmediate(()=>PN6()),!1}if(mH(!1)||process.env.IS_DEMO)return!1;let M=m6(),f=!1;if(!M.hasCompletedOnboarding||(process.env.CLAUDE_CODE_TEAM_ONBOARDING==="banner"||process.env.CLAUDE_CODE_TEAM_ONBOARDING==="step")){f=!0;let{Onboarding:O}=await Promise.resolve().then(() => (n3K(),l3K));await CI(H,(z)=>TJ.default.createElement(O,{onDone:()=>{AZ5(),z()}}),{onChangeAppState:W5H})}let $=!1;if(!mH(process.env.CLAUBBIT)){if(!uL()){$=!0;let{TrustDialog:z}=await Promise.resolve().then(() => (z$K(),O$K));await CI(H,(Y)=>TJ.default.createElement(z,{commands:q,onDone:Y}))}if(JMH(!0),qFH(),!M.hasCompletedOnboarding){MOH();let z=Date.now();try{await t5(TG(),KZ5,S$K),N(`[STARTUP] post-onboarding GB await ${Date.now()-z}ms`)}catch(Y){if(N(`[STARTUP] post-onboarding GB await ${Date.now()-z}ms: ${Y}`,{level:"warn"}),!(Y instanceof Error&&Y.message===S$K))RH(c_(Y))}}else TG().catch((z)=>RH(c_(z)));ej();let{errors:O}=z8H();if(O.length===0)await J9A(H);if(await JP_()){let z=idH(await SP(!0)),{ClaudeMdExternalIncludesDialog:Y}=await Promise.resolve().then(() => (Dc_(),b01));await CI(H,(D)=>TJ.default.createElement(Y,{onDone:D,isStandaloneDialog:!0,externalIncludes:z}))}}if(y3K(),N3K(),Ga(),$){if(!e_()&&!K4())Promise.resolve().then(() => (CW8(),RW8)).then((O)=>O.startMemoryWatcher())}if(setImmediate(()=>PN6()),await XnH()){let{GroveDialog:O}=await Promise.resolve().then(() => (mo_(),qm1));if(await CI(H,(Y)=>TJ.default.createElement(O,{showIfAlreadyViewed:!1,location:f?"onboarding":"policy_update_modal",onDone:Y}))==="escape")return c("tengu_grove_policy_exited",{}),IK(0),!1}{let{getProTrialState:O}=await Promise.resolve().then(() => (DH6(),jS1));if(O().status==="not_started"){let{ProTrialStartScreen:z}=await Promise.resolve().then(() => (j$K(),w$K));c("tengu_pro_trial_start_screen_shown",{}),await CI(H,(Y)=>TJ.default.createElement(z,{onDone:Y}))}}if(f){if(!mH(process.env.CLAUBBIT))await t5(TG(),1000,"cedar-inlet").catch(()=>{});let{resolveTeamOnboardingDiscoveryArm:O}=await Promise.resolve().then(() => (Cv6(),eV8));if(O()==="step"){let{TeamOnboardingDiscoveryStep:z}=await Promise.resolve().then(() => (P$K(),X$K));await CI(H,(Y)=>TJ.default.createElement(z,{onDone:Y}))}}if(process.env.ANTHROPIC_API_KEY&&!hJ()&&RA()==="firstParty"){let O=th(process.env.ANTHROPIC_API_KEY);if($$6(O)==="new"){let{ApproveApiKey:Y}=await Promise.resolve().then(() => (W9A(),u3K));await CI(H,(D)=>TJ.default.createElement(Y,{customApiKeyTruncated:O,onDone:D}),{onChangeAppState:W5H})}}try{await LZ5(H)}catch(O){RH(O)}try{await MZ5(H)}catch(O){RH(O)}try{await fZ5(H)}catch(O){RH(O)}try{await $Z5(H)}catch(O){RH(O)}if((_==="bypassPermissions"||A)&&!Sm()){let{BypassPermissionsModeDialog:O}=await Promise.resolve().then(() => (T$K(),G$K));await CI(H,(z)=>TJ.default.createElement(O,{onAccept:z}))}if(_==="auto"&&!FC()){let{AutoModeOptInDialog:O}=await Promise.resolve().then(() => (TI8(),P8K));await CI(H,(z)=>TJ.default.createElement(O,{onAccept:z,onDecline:()=>IK(1),declineExits:!0}))}if(Tj().length>0||(L?.length??0)>0)await Tb("tengu_harbor");if(L&&L.length>0){let[{isChannelsEnabled:O},{isChannelsPolicyBlocked:z},{getSettingsForSource:Y}]=await Promise.all([Promise.resolve().then(() => (BW6(),btq)),Promise.resolve().then(() => (zaH(),utq)),Promise.resolve().then(() => (P_(),B9H))]);if(!O()||RA()!=="firstParty"||z(Y("policySettings")))lAH([...Tj(),...L.map((D)=>({...D,dev:!0}))]),vh6(!0);else{let{DevChannelsDialog:D}=await Promise.resolve().then(() => (V$K(),Z$K));await CI(H,(w)=>TJ.default.createElement(D,{channels:L,onAccept:()=>{lAH([...Tj(),...L.map((j)=>({...j,dev:!0}))]),vh6(!0),w()}}))}}if(K&&!m6().hasCompletedClaudeInChromeOnboarding){let{ClaudeInChromeOnboarding:O}=await Promise.resolve().then(() => (I$K(),N$K));await CI(H,(z)=>TJ.default.createElement(O,{onDone:z}))}return f}async function Kh8(H,_){let A;try{return await Promise.race([_,new Promise((q)=>{A=setTimeout((K,L)=>{N(`[3p-probe] ${L} hit ${R$K}ms deadline; proceeding without it`),K([])},R$K,q,H)})])}finally{clearTimeout(A)}}async function LZ5(H){let{findBedrockUpgradeCandidates:_,upgradeKey:A}=await Promise.resolve().then(() => (v9A(),V9A)),q=await Kh8("bedrock-upgrade",_());if(q.length===0)return;let K=m6().bedrockDeclinedUpgrades??{},L=q.filter((O)=>K[O.tier]!==A(O));if(L.length===0)return;let{updateSettingsForSource:M}=await Promise.resolve().then(() => (P_(),B9H)),{ThirdPartyModelUpgradeDialog:f}=await Promise.resolve().then(() => (I9A(),N9A)),$=!1;for(let O of L)if(await CI(H,(Y)=>TJ.default.createElement(f,{tierLabel:B86[O.tier],fromName:O.fromMarketingName,toName:O.toMarketingName,toProviderId:O.toBedrockId,onDone:Y}))){let Y=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:D}=M("userSettings",{env:Y});if(D){c("tengu_bedrock_upgrade_save_failed",{tier:O.tier});let{Text:w}=await Promise.resolve().then(() => (iH(),hb));await Kk6(H,(j)=>{return setTimeout(j,2000),TJ.default.createElement(w,{color:"error"},"Failed to save ",B86[O.tier]," upgrade to settings.")})}else{for(let w of Object.keys(Y))process.env[w]=O.toBedrockId;$=!0,c("tengu_bedrock_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else f8((Y)=>({...Y,bedrockDeclinedUpgrades:{...Y.bedrockDeclinedUpgrades,[O.tier]:A(O)}})),c("tengu_bedrock_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if($)c("tengu_bedrock_upgrade_relaunch",{}),await b$K(H)}async function b$K(H){let{Text:_}=await Promise.resolve().then(() => (iH(),hb));H.render(TJ.default.createElement(_,{dimColor:!0},"Restarting Claude Code to apply the new model\u2026"));let{sleep:A}=await Promise.resolve().then(() => D56);await A(250),H.unmount();let{execRelaunch:q}=await Promise.resolve().then(() => (I06(),N06));await q()}async function MZ5(H){let{checkBedrockDefaultAvailability:_}=await Promise.resolve().then(() => (v9A(),V9A)),A=await Kh8("bedrock-fallback",_());if(A.length===0)return;for(let M of A){if(process.env[M.envVar]=M.fallbackBedrockId,M.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=M.fallbackBedrockId;c("tengu_bedrock_default_fallback",{tier:M.tier,default_key:M.defaultKey,fallback_key:M.fallbackKey})}let{Box:q,Text:K}=await Promise.resolve().then(() => (iH(),hb)),L=A.map((M)=>`${B86[M.tier]}: ${M.defaultName} not available \u2014 using ${M.fallbackName} for this session`);await Kk6(H,(M)=>{return setTimeout(M,1500),TJ.default.createElement(q,{flexDirection:"column"},L.map((f)=>TJ.default.createElement(K,{key:f,color:"warning"},f)))})}async function fZ5(H){let{findVertexUpgradeCandidates:_,vertexUpgradeKey:A}=await Promise.resolve().then(() => (h9A(),y9A)),q=await Kh8("vertex-upgrade",_());if(q.length===0)return;let K=m6().vertexDeclinedUpgrades??{},L=q.filter((O)=>K[O.tier]!==A(O));if(L.length===0)return;let{updateSettingsForSource:M}=await Promise.resolve().then(() => (P_(),B9H)),{ThirdPartyModelUpgradeDialog:f}=await Promise.resolve().then(() => (I9A(),N9A)),$=!1;for(let O of L)if(await CI(H,(Y)=>TJ.default.createElement(f,{tierLabel:B86[O.tier],fromName:O.fromMarketingName,toName:O.toMarketingName,toProviderId:O.toVertexId,onDone:Y}))){let Y=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:D}=M("userSettings",{env:Y});if(D){c("tengu_vertex_upgrade_save_failed",{tier:O.tier});let{Text:w}=await Promise.resolve().then(() => (iH(),hb));await Kk6(H,(j)=>{return setTimeout(j,2000),TJ.default.createElement(w,{color:"error"},"Failed to save ",B86[O.tier]," upgrade to settings.")})}else{for(let w of Object.keys(Y))process.env[w]=O.toVertexId;$=!0,c("tengu_vertex_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else f8((Y)=>({...Y,vertexDeclinedUpgrades:{...Y.vertexDeclinedUpgrades,[O.tier]:A(O)}})),c("tengu_vertex_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if($)c("tengu_vertex_upgrade_relaunch",{}),await b$K(H)}async function $Z5(H){let{checkVertexDefaultAvailability:_}=await Promise.resolve().then(() => (h9A(),y9A)),A=await Kh8("vertex-fallback",_());if(A.length===0)return;for(let M of A){if(process.env[M.envVar]=M.fallbackVertexId,M.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=M.fallbackVertexId;c("tengu_vertex_default_fallback",{tier:M.tier,default_key:M.defaultKey,fallback_key:M.fallbackKey})}let{Box:q,Text:K}=await Promise.resolve().then(() => (iH(),hb)),L=A.map((M)=>`${B86[M.tier]}: ${M.defaultName} not available \u2014 using ${M.fallbackName} for this session`);await Kk6(H,(M)=>{return setTimeout(M,1500),TJ.default.createElement(q,{flexDirection:"column"},L.map((f)=>TJ.default.createElement(K,{key:f,color:"warning"},f)))})}function x$K(H){let _=0,A=Ed(H);if(A.stdin)c("tengu_stdin_interactive",{});let q=new X9A,K=L6A();_R8(K);let L=process.env.CLAUDE_CODE_FRAME_TIMING_LOG,M=-1;if(L)try{M=qh8.openSync(L,"a")}catch{}return{getFpsMetrics:()=>q.getMetrics(),stats:K,renderOptions:{...A,onFrame:(f)=>{if(q.record(f.durationMs),K.observe("frame_duration_ms",f.durationMs),M>=0&&f.phases){let $=JSON.stringify({total:f.durationMs,...f.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+`
|
|
12448
|
+
if(RA()==="gateway")return zE5();if(G1())return N("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if(RA()!=="firstParty")return N("[Bootstrap] Skipped: 3P provider"),null;let H=Rj();if(!(eA()?.accessToken&&XZ())&&!H)return N("[Bootstrap] Skipped: no usable OAuth or API key"),null;let A=`${h9().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await WG(async()=>{let q=eA()?.accessToken,K;if(q&&XZ())K={Authorization:`Bearer ${q}`,"anthropic-beta":o0};else if(H)K={"x-api-key":H};else return N("[Bootstrap] No auth available on retry, aborting"),null;N("[Bootstrap] Fetching");let L=await l_.get(A,{headers:{"Content-Type":"application/json","User-Agent":P3(),...K},params:{entrypoint:WxH(),model:OP(Fq())},timeout:5000}),M=fE5().safeParse(L.data);if(!M.success)return N(`[Bootstrap] Response failed validation: ${M.error.message}`),_8("api_bootstrap_fetch","parse_failed"),null;return N("[Bootstrap] Fetch ok"),M.data})}catch(q){throw N(`[Bootstrap] Fetch failed: ${l_.isAxiosError(q)?q.response?.status??q.code:"unknown"}`),uH("api_bootstrap_fetch","request_failed"),q}}async function K3K(){try{let H=await $E5();if(!H)return;bH("api_bootstrap_fetch");let _=H.client_data??null,A=H.additional_model_options??[],q=H.additional_model_costs??{},K=m6(),L=q3K(K.oauthAccount,H.oauth_account),M=wz(L,K.oauthAccount);if(wz(K.clientDataCache,_)&&wz(K.additionalModelOptionsCache,A)&&wz(K.additionalModelCostsCache,q)&&M){N("[Bootstrap] Cache unchanged, skipping write");return}N("[Bootstrap] Cache updated, persisting to disk"),f8((f)=>({...f,clientDataCache:_,additionalModelOptionsCache:A,additionalModelCostsCache:q,oauthAccount:q3K(f.oauthAccount,H.oauth_account)}))}catch(H){if(HY(H))N(`[Bootstrap] fetchBootstrapData failed: ${H}`,{level:"error"});else RH(H)}}async function zE5(){await Y$H();let H=G$();if(!H)return null;try{let _=await l_.get(`${H.url}/v1/models`,{headers:{Authorization:`Bearer ${H.jwt}`,"anthropic-version":"2023-06-01","User-Agent":P3()},params:{limit:1000},timeout:5000}),A=OE5().safeParse(_.data);if(!A.success)return N(`[Bootstrap] Gateway /v1/models failed validation: ${A.error.message}`),null;let q=A.data.data.filter((K)=>$c6(K.id)===null).map((K)=>({value:K.id,label:K.display_name??K.id,description:K.description??""}));return N(`[Bootstrap] Gateway /v1/models \u2192 ${q.length} custom options`),{additional_model_options:q}}catch(_){return N(`[Bootstrap] Gateway /v1/models fetch failed: ${l_.isAxiosError(_)?_.response?.status??_.code:"unknown"}`),null}}var fE5,OE5;var L3K=E(()=>{DL();Bl();PA();TZ();D6();b4();s8();dH();Cs();T6();opH();mW();P8();zn();mA();R1();XM();D8();fE5=hH(()=>H_.object({client_data:H_.record(H_.unknown()).nullish(),additional_model_options:H_.array(H_.object({model:H_.string(),name:H_.string(),description:H_.string()}).transform(({model:H,name:_,description:A})=>({value:H,label:_,description:A}))).nullish(),additional_model_costs:H_.record(H_.object({input_tokens:H_.number(),output_tokens:H_.number(),prompt_cache_write_tokens:H_.number(),prompt_cache_read_tokens:H_.number(),web_search_requests:H_.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:H_.object({account_uuid:H_.string().nullish(),account_email:H_.string().nullish(),organization_uuid:H_.string().nullish(),organization_name:H_.string().nullish(),organization_type:H_.string().nullish(),organization_rate_limit_tier:H_.string().nullish(),user_rate_limit_tier:H_.string().nullish(),seat_tier:H_.string().nullish()}).passthrough().nullish()}));OE5=hH(()=>H_.object({data:H_.array(H_.object({id:H_.string(),display_name:H_.string().nullish(),description:H_.string().nullish()}))}))});function M3K(H=process.env){let _=[];for(let A in H)if((A.startsWith("CLAUDE_CODE_")||A.startsWith("ANTHROPIC_"))&&!YE5.has(A)&&H[A]!==void 0&&H[A]!=="")_.push(A);return _.sort()}function f3K(H){let _=HA(),A=[];for(let q of Ne6){if(DE5.has(q))continue;let L=(mFH.includes(q)?_[q]:void 0)??H[q],M=on[q];if(L===void 0||wE5(L,M))continue;A.push(q)}return A}function $3K(H,_){let A=[];for(let q in H)if(_(q)==="cli")A.push(q);return A.sort()}function wE5(H,_){if(H===_)return!0;if(typeof H==="object"&&H!==null)return Object.keys(H).length===0;return!1}var YE5,DE5;var O3K=E(()=>{s8();oY();P_();YE5=new Set(["CLAUDE_CODE_ENTRYPOINT"]);DE5=new Set(["tipsHistory","installMethod","shiftEnterKeyBindingInstalled","hasUsedBackslashReturn","hasCompletedClaudeInChromeOnboarding","remoteDialogSeen","lspRecommendationIgnoredCount","autoUpdates","autoUpdatesProtectedForNative"])});function JE5(){let H=process.argv[1]||"",_=process.execPath||process.argv[0]||"";if(a6()==="windows")H=H.split(U86.win32.sep).join(U86.posix.sep),_=_.split(U86.win32.sep).join(U86.posix.sep);let A=[H,_],q=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return A.some((K)=>q.some((L)=>K.includes(L)))}function PE5(H){let _=`${H.name}: ${H.message}`;return XE5.some((A)=>A.test(_))}function z3K(){let H=new Map;if(!JE5())process.removeAllListeners("warning");let A=(q)=>{try{let K=`${q.name}: ${q.message.slice(0,50)}`,L=H.get(K)||0;if(H.has(K)||H.size<jE5)H.set(K,L+1);let M=PE5(q);if(c("tengu_node_warning",{is_internal:M?1:0,occurrence_count:L+1,classname:q.name,...!1}),mH(process.env.CLAUDE_DEBUG))N(`${M?"[Internal Warning]":"[Warning]"} ${q.toString()}`,{level:"warn"})}catch{}};return process.on("warning",A),{uninstall(){process.removeListener("warning",A)}}}var U86,jE5=1000,XE5;var Y3K=E(()=>{k6();dH();r6();M9();U86=require("path");XE5=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function WE5(){let H=process.env.CLAUDE_BG_SESSION_PERMISSION_RULES;if(!H||process.env.CLAUDE_CODE_SESSION_KIND!=="bg")return;try{let _=JSON.parse(H);return Array.isArray(_.allow)&&Array.isArray(_.deny)?{allow:_.allow,deny:_.deny}:void 0}catch{return}}function GE5(){if(process.env.CLAUDE_BG_MEMORY_TOGGLED_OFF==="1"&&process.env.CLAUDE_CODE_SESSION_KIND==="bg")$A6(!0)}async function w3K(H){GE5();let _=await xg_({allowedToolsCli:H.allowedTools,disallowedToolsCli:H.disallowedTools,baseToolsCli:H.baseTools,permissionMode:H.permissionMode,allowDangerouslySkipPermissions:H.allowDangerouslySkipPermissions,addDirs:H.addDirs,bgSessionPermissionRules:WE5()}),A=_.toolPermissionContext,{warnings:q,dangerousPermissions:K,overlyBroadBashPermissions:L}=_;if(H.permissionMode==="auto")A=Gc(A);return{toolPermissionContext:A,warnings:q,dangerousPermissions:K,overlyBroadBashPermissions:L}}var j3K=E(()=>{D6();dH();mP()});async function J3K({cwd:H,toolPermissionContext:_,applyCoordinatorFilter:A,agentsJson:q,agentSetting:K,commandsPromise:L,agentDefsPromise:M,onToolsLoaded:f}){let $=xV(_);f?.(),L?.catch(()=>{}),M?.catch(()=>{});let[O,z]=await Promise.all([L??a2(H),M??_R(H)]),Y=[];if(q)try{let J=Nq(q);if(J)Y=uw6(J,"flagSettings")}catch(J){RH(J)}let D=[...z.allAgents,...Y],w={...z,allAgents:D,activeAgents:zx(D)},j=z9A(w.activeAgents,K);return DF(j?.agentType),{tools:$,commands:O,agentDefinitions:w,mainThreadAgentDefinition:j,cliAgents:Y}}function z9A(H,_){if(!_)return;let A=H.find((q)=>q.agentType===_)??H.find((q)=>q.agentType.endsWith(`:${_}`));if(!A)N(`Warning: agent "${_}" not found. Available agents: ${H.map((q)=>q.agentType).join(", ")}. Using default behavior.`);return A}var X3K=E(()=>{D6();kf();bP();aG();dH();r6();wL();P8()});function C5H(H){switch(H.kind){case"session-start":return xU(H.source,{sessionId:H.sessionId,agentType:H.agentType,model:H.model,forceSyncExecution:H.forceSyncExecution});case"setup":return yeq(H.trigger,{forceSyncExecution:H.forceSyncExecution})}}var Y9A=E(()=>{SjH()});function ny8(){let H=P3K.c(1),_;if(H[0]===Symbol.for("react.memo_cache_sentinel"))_=D9A.default.createElement(v,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",D9A.default.createElement(j9,{url:"https://code.claude.com/docs/en/mcp"},"MCP documentation"),"."),H[0]=_;else _=H[0];return _}var P3K,D9A;var w9A=E(()=>{iH();P3K=p(H6(),1),D9A=p(JH(),1)});function G3K(H){let _=W3K.c(13),{serverName:A,onDone:q}=H,K;if(_[0]!==q||_[1]!==A)K=function(w){c("tengu_mcp_dialog_choice",{choice:w});H:switch(w){case"yes":case"yes_all":{let J=(TA()||{}).enabledMcpjsonServers||[];if(!J.includes(A))_A("localSettings",{enabledMcpjsonServers:[...J,A]});if(w==="yes_all")_A("localSettings",{enableAllProjectMcpServers:!0});q();break H}case"no":{let J=(TA()||{}).disabledMcpjsonServers||[];if(!J.includes(A))_A("localSettings",{disabledMcpjsonServers:[...J,A]});q()}}},_[0]=q,_[1]=A,_[2]=K;else K=_[2];let L=K,M=`New MCP server found in .mcp.json: ${A}`,f;if(_[3]!==L)f=()=>L("no"),_[3]=L,_[4]=f;else f=_[4];let $;if(_[5]===Symbol.for("react.memo_cache_sentinel"))$=iy8.default.createElement(ny8,null),_[5]=$;else $=_[5];let O;if(_[6]===Symbol.for("react.memo_cache_sentinel"))O=[{label:"Use this and all future MCP servers in this project",value:"yes_all"},{label:"Use this MCP server",value:"yes"},{label:"Continue without using this MCP server",value:"no"}],_[6]=O;else O=_[6];let z;if(_[7]!==L)z=iy8.default.createElement(q_,{options:O,onChange:(D)=>L(D),onCancel:()=>L("no")}),_[7]=L,_[8]=z;else z=_[8];let Y;if(_[9]!==M||_[10]!==f||_[11]!==z)Y=iy8.default.createElement(x8,{title:M,color:"warning",onCancel:f},$,z),_[9]=M,_[10]=f,_[11]=z,_[12]=Y;else Y=_[12];return Y}var W3K,iy8;var T3K=E(()=>{k6();P_();zD();p9();w9A();W3K=p(H6(),1),iy8=p(JH(),1)});function Z3K(H){let _=E3K.c(21),{serverNames:A,onDone:q}=H,K;if(_[0]!==q||_[1]!==A)K=function(X){let P=TA()||{},T=P.enabledMcpjsonServers||[],W=P.disabledMcpjsonServers||[],[G,Z]=SZ8(A,(V)=>X.includes(V));if(c("tengu_mcp_multidialog_choice",{approved:G.length,rejected:Z.length}),G.length>0){let V=L9([...T,...G]);_A("localSettings",{enabledMcpjsonServers:V})}if(Z.length>0){let V=L9([...W,...Z]);_A("localSettings",{disabledMcpjsonServers:V})}q()},_[0]=q,_[1]=A,_[2]=K;else K=_[2];let L=K,M;if(_[3]!==q||_[4]!==A)M=()=>{let X=(TA()||{}).disabledMcpjsonServers||[],P=L9([...X,...A]);_A("localSettings",{disabledMcpjsonServers:P}),q()},_[3]=q,_[4]=A,_[5]=M;else M=_[5];let f=M,$=`${A.length} new MCP servers found in .mcp.json`,O;if(_[6]===Symbol.for("react.memo_cache_sentinel"))O=Kl.default.createElement(ny8,null),_[6]=O;else O=_[6];let z;if(_[7]!==A)z=A.map(TE5),_[7]=A,_[8]=z;else z=_[8];let Y;if(_[9]!==f||_[10]!==L||_[11]!==A||_[12]!==z)Y=Kl.default.createElement(gJH,{options:z,defaultValue:A,onSubmit:L,onCancel:f,hideIndexes:!0}),_[9]=f,_[10]=L,_[11]=A,_[12]=z,_[13]=Y;else Y=_[13];let D;if(_[14]!==f||_[15]!==$||_[16]!==Y)D=Kl.default.createElement(x8,{title:$,subtitle:"Select any you wish to enable.",color:"warning",onCancel:f,hideInputGuide:!0},O,Y),_[14]=f,_[15]=$,_[16]=Y,_[17]=D;else D=_[17];let w;if(_[18]===Symbol.for("react.memo_cache_sentinel"))w=Kl.default.createElement(U,{paddingX:1},Kl.default.createElement(v,{dimColor:!0,italic:!0},Kl.default.createElement(O8,null,Kl.default.createElement(A6,{chord:"space",action:"select"}),Kl.default.createElement(A6,{chord:"enter",action:"confirm"}),Kl.default.createElement(o8,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})))),_[18]=w;else w=_[18];let j;if(_[19]!==D)j=Kl.default.createElement(Kl.default.Fragment,null,D,w),_[19]=D,_[20]=j;else j=_[20];return j}function TE5(H){return{label:H,value:H}}var E3K,Kl;var V3K=E(()=>{Qo_();k6();iH();P_();yK();$Z6();_9();p9();wA();w9A();E3K=p(H6(),1),Kl=p(JH(),1)});async function J9A(H){let{servers:_}=eW("project"),A=Object.keys(_).filter((q)=>clH(q)==="pending");if(A.length===0)return;await EE5(A);try{await new Promise((q)=>{let K=()=>void q();if(A.length===1&&A[0]!==void 0){let L=A[0];H.render(YRH.default.createElement(aD,null,YRH.default.createElement(sw,null,YRH.default.createElement(G3K,{serverName:L,onDone:K}))))}else H.render(YRH.default.createElement(aD,null,YRH.default.createElement(sw,null,YRH.default.createElement(Z3K,{serverNames:A,onDone:K}))))})}finally{await ZE5()}}async function EE5(H){{if(!bq())return;let _=process.env.CLAUDE_JOB_DIR;if(!_)return;let A=await cq(_);if(!A)return;let q=H.length,K=k8(q,"server"),L=k8(q,"needs","need");try{await x5(_,{...A,state:"blocked",detail:`${q} new MCP ${K} ${L} approval`,tempo:"blocked",needs:`approve ${q} new MCP ${K} in .mcp.json (${H.join(", ")}) \u2014 attach to respond`,updatedAt:new Date().toISOString()})}catch(M){RH(M)}}}async function ZE5(){{if(!bq())return;let H=process.env.CLAUDE_JOB_DIR;if(!H)return;let _=await cq(H);if(!_||_.state!=="blocked")return;try{await x5(H,{..._,state:"working",tempo:"idle",needs:void 0,block:void 0,detail:_.intent??"",updatedAt:new Date().toISOString()})}catch(A){RH(A)}}}var YRH;var v3K=E(()=>{T3K();V3K();e3();jU();vx();iL();P8();I_();IE();wV();YRH=p(JH(),1)});function N3K(){let H=process.env.TERM_PROGRAM;if(!H)return;let _=VE5[H.toLowerCase()];if(!_)return;if(m6().deepLinkTerminal===_)return;f8((q)=>({...q,deepLinkTerminal:_})),N(`Stored deep link terminal preference: ${_}`)}var VE5;var I3K=E(()=>{s8();dH();VE5={iterm:"iTerm","iterm.app":"iTerm",ghostty:"Ghostty",kitty:"kitty",alacritty:"Alacritty",wezterm:"WezTerm",apple_terminal:"Terminal"}});class X9A{frameDurations=[];totalFrames=0;firstRenderTime;lastRenderTime;record(H){let _=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=_;if(this.lastRenderTime=_,this.totalFrames++,this.frameDurations.push(H),this.frameDurations.length>3600)this.frameDurations.splice(0,this.frameDurations.length>>1)}getMetrics(){if(this.totalFrames===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let H=this.lastRenderTime-this.firstRenderTime;if(H<=0)return;let _=this.totalFrames/(H/1000),A=this.frameDurations.slice().sort((M,f)=>f-M),q=Math.max(0,Math.ceil(A.length*0.01)-1),K=A[q],L=K>0?1000/K:0;return{averageFps:Math.round(_*100)/100,low1PctFps:Math.round(L*100)/100}}}async function y3K(){try{let H=await vfH();if(!H){N("Not in a GitHub repository, skipping path mapping update");return}let _=j_(),q=F4(_)??_,K;try{K=(await k3K.realpath(q)).normalize("NFC")}catch{K=q}let L=H.toLowerCase(),f=m6().githubRepoPaths?.[L]??[];if(f[0]===K){N(`Path ${K} already tracked for repo ${L}`);return}let $=f.filter((z)=>z!==K),O=[K,...$];f8((z)=>({...z,githubRepoPaths:{...z.githubRepoPaths,[L]:O}})),N(`Added ${K} to tracked paths for repo ${L}`)}catch(H){N(`Error updating repo path mapping: ${H}`)}}function ry8(H){let _=m6(),A=H.toLowerCase();return _.githubRepoPaths?.[A]??[]}async function oy8(H){let _=await Promise.all(H.map(z7));return H.filter((A,q)=>_[q])}async function h3K(H,_){try{let A=await oK6(H);if(!A)return!1;let q=rWH(A);if(!q)return!1;return q.toLowerCase()===_.toLowerCase()}catch{return!1}}function S3K(H,_){let A=m6(),q=H.toLowerCase(),K=A.githubRepoPaths?.[q]??[],L=K.filter((f)=>f!==_);if(L.length===K.length)return;let M={...A.githubRepoPaths};if(L.length===0)delete M[q];else M[q]=L;f8((f)=>({...f,githubRepoPaths:M})),N(`Removed ${_} from tracked paths for repo ${q}`)}var k3K;var eI6=E(()=>{D6();s8();dH();dT();CK();Em();$1();k3K=require("fs/promises")});async function vE5(){return{success:true};try{let H=h9(),_=new URL(H.TOKEN_URL),A=[`${H.BASE_API_URL}/api/hello`,`${_.origin}/v1/oauth/hello`],q=async(M)=>{try{let f=await l_.get(M,{headers:{"User-Agent":Fn()}});if(f.status!==200)return{success:!1,error:`Failed to connect to ${new URL(M).hostname}: Status ${f.status}`};return{success:!0}}catch(f){let $=new URL(M).hostname,O=vzH(f);return{success:!1,error:`Failed to connect to ${$}: ${f instanceof Error?f.code||f.message:String(f)}`,sslHint:O??void 0}}},L=(await Promise.all(A.map(q))).find((M)=>!M.success);if(L)c("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!L.error,isSSLError:!!L.sslHint});return L||{success:!0}}catch(H){return RH(H),c("tengu_preflight_check_failed",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${H instanceof Error?H.code||H.message:String(H)}`}}}function C3K(H){let _=R3K.c(14),{onSuccess:A}=H,[q,K]=h0.useState(null),[L,M]=h0.useState(!0),f=AO(1000)&&L,$,O;if(_[0]===Symbol.for("react.memo_cache_sentinel"))$=()=>{(async function(){let X=await vE5();K(X),M(!1)})()},O=[],_[0]=$,_[1]=O;else $=_[0],O=_[1];h0.useEffect($,O);let z;if(_[2]!==A||_[3]!==q?.success)z=()=>{if(q?.success)A()},_[2]=A,_[3]=q?.success,_[4]=z;else z=_[4];let Y;if(_[5]!==A||_[6]!==q)Y=[q,A],_[5]=A,_[6]=q,_[7]=Y;else Y=_[7];h0.useEffect(z,Y),AO(NE5,q&&!q.success?100:null);let D;if(_[8]!==L||_[9]!==q||_[10]!==f)D=L&&f?h0.default.createElement(U,{paddingLeft:1},h0.default.createElement(h7,null),h0.default.createElement(v,null,"Checking connectivity...")):!q?.success&&!L&&h0.default.createElement(U,{flexDirection:"column",gap:1},h0.default.createElement(v,{color:"error"},"Unable to connect to Anthropic services"),h0.default.createElement(v,{color:"error"},q?.error),q?.sslHint?h0.default.createElement(U,{flexDirection:"column",gap:1},h0.default.createElement(v,null,q.sslHint),h0.default.createElement(v,{color:"suggestion"},"See https://code.claude.com/docs/en/network-config")):h0.default.createElement(U,{flexDirection:"column",gap:1},h0.default.createElement(v,null,"Please check your internet connection and network settings."),h0.default.createElement(v,null,"Note: Claude Code might not be available in your country. Check supported countries at"," ",h0.default.createElement(v,{color:"suggestion"},"https://anthropic.com/supported-countries")))),_[8]=L,_[9]=q,_[10]=f,_[11]=D;else D=_[11];let w;if(_[12]!==D)w=h0.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},D),_[12]=D,_[13]=w;else w=_[13];return w}function NE5(){nX("preflight_endpoint"),process.exit(1)}var R3K,h0;var b3K=E(()=>{DL();k6();nP();b4();Tl();M88();iH();LHH();mW();P8();R3K=p(H6(),1),h0=p(JH(),1)});var u3K={};P6(u3K,{ApproveApiKey:()=>P9A});function P9A(H){let _=x3K.c(16),{customApiKeyTruncated:A,onDone:q}=H,K;if(_[0]!==A||_[1]!==q)K=function(j){H:switch(j){case"yes":{f8((J)=>({...J,customApiKeyResponses:{...J.customApiKeyResponses,approved:[...J.customApiKeyResponses?.approved??[],A]}})),q(!0);break H}case"no":f8((J)=>({...J,customApiKeyResponses:{...J.customApiKeyResponses,rejected:[...J.customApiKeyResponses?.rejected??[],A]}})),q(!1)}},_[0]=A,_[1]=q,_[2]=K;else K=_[2];let L=K,M;if(_[3]!==L)M=()=>L("no"),_[3]=L,_[4]=M;else M=_[4];let f;if(_[5]===Symbol.for("react.memo_cache_sentinel"))f=b5H.default.createElement(v,{bold:!0},"ANTHROPIC_API_KEY"),_[5]=f;else f=_[5];let $;if(_[6]!==A)$=b5H.default.createElement(v,null,f,b5H.default.createElement(v,null,": sk-ant-...",A)),_[6]=A,_[7]=$;else $=_[7];let O;if(_[8]===Symbol.for("react.memo_cache_sentinel"))O=b5H.default.createElement(v,null,"Do you want to use this API key?"),_[8]=O;else O=_[8];let z;if(_[9]===Symbol.for("react.memo_cache_sentinel"))z=b5H.default.createElement(v,null,"No (",b5H.default.createElement(v,{bold:!0},"recommended"),")"),_[9]=z;else z=_[9];let Y;if(_[10]!==L)Y=b5H.default.createElement(dK,{focus:"cancel",cancelLabel:z,onConfirm:()=>L("yes"),onCancel:()=>L("no")}),_[10]=L,_[11]=Y;else Y=_[11];let D;if(_[12]!==M||_[13]!==$||_[14]!==Y)D=b5H.default.createElement(x8,{title:"Detected a custom API key in your environment",color:"warning",onCancel:M},$,O,Y),_[12]=M,_[13]=$,_[14]=Y,_[15]=D;else D=_[15];return D}var x3K,b5H;var W9A=E(()=>{iH();s8();uz();p9();x3K=p(H6(),1),b5H=p(JH(),1)});function ay8(){let H=m3K.c(1),_;if(H[0]===Symbol.for("react.memo_cache_sentinel"))_=Hk6.createElement(v,{color:"permission"},"Press ",Hk6.createElement(v,{bold:!0},"Enter")," to continue\u2026"),H[0]=_;else _=H[0];return _}var m3K,Hk6;var G9A=E(()=>{iH();m3K=p(H6(),1),Hk6=p(JH(),1)});function sy8(H){let _=p3K.c(7),{children:A}=H,{marker:q}=RPH.useContext(T9A),K;if(_[0]!==q)K=RPH.default.createElement(v,{dimColor:!0},q),_[0]=q,_[1]=K;else K=_[1];let L;if(_[2]!==A)L=RPH.default.createElement(U,{flexDirection:"column"},A),_[2]=A,_[3]=L;else L=_[3];let M;if(_[4]!==K||_[5]!==L)M=RPH.default.createElement(U,{gap:1},K,L),_[4]=K,_[5]=L,_[6]=M;else M=_[6];return M}var p3K,RPH,T9A;var U3K=E(()=>{iH();p3K=p(H6(),1),RPH=p(JH(),1),T9A=RPH.createContext({marker:""})});function g3K(H){let _=F3K.c(9),{children:A}=H,{marker:q}=nB.useContext(B3K),K=0;for(let $ of nB.default.Children.toArray(A)){if(!nB.isValidElement($)||$.type!==sy8)continue;K++}let L=String(K).length,M;if(_[0]!==A||_[1]!==L||_[2]!==q){let $;if(_[4]!==L||_[5]!==q)$=(O,z)=>{if(!nB.isValidElement(O)||O.type!==sy8)return O;let Y=`${String(z+1).padStart(L)}.`,D=`${q}${Y}`;return nB.default.createElement(B3K.Provider,{value:{marker:D}},nB.default.createElement(T9A.Provider,{value:{marker:D}},O))},_[4]=L,_[5]=q,_[6]=$;else $=_[6];M=nB.default.Children.map(A,$),_[0]=A,_[1]=L,_[2]=q,_[3]=M}else M=_[3];let f;if(_[7]!==M)f=nB.default.createElement(U,{flexDirection:"column"},M),_[7]=M,_[8]=f;else f=_[8];return f}var F3K,nB,B3K,ty8;var Q3K=E(()=>{iH();U3K();F3K=p(H6(),1),nB=p(JH(),1),B3K=nB.createContext({marker:""});g3K.Item=sy8;ty8=g3K});var l3K={};P6(l3K,{SkippableStep:()=>c3K,Onboarding:()=>IE5});function IE5({onDone:H}){let[_,A]=G7.useState(0),[q,K]=G7.useState(!1),[L]=G7.useState(()=>dD()),[M,f]=dq();G7.useEffect(()=>{c("tengu_began_setup",{oauthEnabled:L})},[L]);function $(){if(_<X.length-1){let G=_+1;A(G),c("tengu_onboarding_step",{oauthEnabled:L,stepId:X[G]?.id}),bH("onboarding_step_complete")}else bH("onboarding_complete"),H()}function O(G){f(G),$()}let z=ef(),Y=G7.default.createElement(U,{marginX:1},G7.default.createElement(zeH,{onThemeSelect:O,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0})),D=G7.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},G7.default.createElement(v,{bold:!0},"Security notes:"),G7.default.createElement(U,{flexDirection:"column",width:70},G7.default.createElement(ty8,null,G7.default.createElement(ty8.Item,null,G7.default.createElement(v,null,"Claude can make mistakes"),G7.default.createElement(v,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",G7.default.createElement(kb,null),"running code.",G7.default.createElement(kb,null))),G7.default.createElement(ty8.Item,null,G7.default.createElement(v,null,"Due to prompt injection risks, only use it with code you trust"),G7.default.createElement(QV,{url:"https://code.claude.com/docs/en/security"})))),G7.default.createElement(ay8,null)),w=G7.default.createElement(C3K,{onSuccess:$}),j=G7.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY||hJ())return"";let G=th(process.env.ANTHROPIC_API_KEY);if($$6(G)==="new")return G},[]);function J(G){if(G)K(!0);$()}let X=[];if(L)X.push({id:"preflight",component:w});if(X.push({id:"theme",component:Y}),j)X.push({id:"api-key",component:G7.default.createElement(P9A,{customApiKeyTruncated:j,onDone:J})});if(L)X.push({id:"oauth",component:G7.default.createElement(c3K,{skip:q,onSkip:$},G7.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},G7.default.createElement(wkH,{onDone:$,urlOutdent:1})))});if(X.push({id:"security",component:D}),OZH())X.push({id:"terminal-setup",component:G7.default.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1},G7.default.createElement(v,{bold:!0},"Use Claude Code's terminal setup?"),G7.default.createElement(U,{flexDirection:"column",width:70,gap:1},G7.default.createElement(v,null,"For the optimal coding experience, enable the recommended settings",G7.default.createElement(kb,null),"for your terminal:"," ",F_.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),G7.default.createElement(dK,{confirmLabel:"Yes, use recommended settings",cancelLabel:"No, maybe later with /terminal-setup",onConfirm:()=>void __8(M).then(()=>bH("onboarding_terminal_setup")).catch(()=>uH("onboarding_terminal_setup","onboarding_terminal_setup_failed")).finally($),onCancel:$}),G7.default.createElement(v,{dimColor:!0},z.pending?G7.default.createElement(G7.default.Fragment,null,"Press ",z.keyName," again to exit"):G7.default.createElement(O8,null,G7.default.createElement(A6,{chord:"enter",action:"confirm"}),G7.default.createElement(A6,{chord:"escape",action:"skip"})))))});let P=X[_],T=G7.useCallback(()=>{if(_===X.length-1)H();else $()},[_,H,$]),W=G7.useCallback(()=>{$()},[$]);return fA({"confirm:yes":T},{context:"Confirmation",isActive:P?.id==="security"}),fA({"confirm:no":W},{context:"Confirmation",isActive:P?.id==="terminal-setup"}),G7.default.createElement(U,{flexDirection:"column"},G7.default.createElement($PH,null),G7.default.createElement(U,{flexDirection:"column",marginTop:1},P?.component,z.pending&&G7.default.createElement(U,{padding:1},G7.default.createElement(v,{dimColor:!0},"Press ",z.keyName," again to exit"))))}function c3K(H){let _=d3K.c(4),{skip:A,onSkip:q,children:K}=H,L,M;if(_[0]!==q||_[1]!==A)L=()=>{if(A)q()},M=[A,q],_[0]=q,_[1]=A,_[2]=L,_[3]=M;else L=_[2],M=_[3];if(G7.useEffect(L,M),A)return null;return K}var d3K,G7;var n3K=E(()=>{k6();qzH();IG();iH();kA();D8();PA();EL6();s8();mL();r6();b3K();W9A();dW6();_9();uz();C_H();wA();wN6();G9A();HG8();Q3K();d3K=p(H6(),1),G7=p(JH(),1)});function i3K(H){if(H===null)return!1;if(H.statusLine)return!0;if(H.fileSuggestion)return!0;if(!H.hooks)return!1;for(let _ of Object.values(H.hooks))if(_.length>0)return!0;return!1}function H$K(){let H=[],_=p8("projectSettings");if(i3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(i3K(A))H.push(".claude/settings.local.json");return H}function r3K(H){return H.some((_)=>_.ruleBehavior==="allow"&&(_.ruleValue.toolName===dA||_.ruleValue.toolName.startsWith(dA+"(")))}function _$K(){let H=[],_=DY6("projectSettings");if(r3K(_))H.push(".claude/settings.json");let A=DY6("localSettings");if(r3K(A))H.push(".claude/settings.local.json");return H}function o3K(H){return!!H?.otelHeadersHelper}function A$K(){let H=[],_=p8("projectSettings");if(o3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(o3K(A))H.push(".claude/settings.local.json");return H}function a3K(H){return!!H?.apiKeyHelper}function q$K(){let H=[],_=p8("projectSettings");if(a3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(a3K(A))H.push(".claude/settings.local.json");return H}function s3K(H){return!!(H?.awsAuthRefresh||H?.awsCredentialExport)}function K$K(){let H=[],_=p8("projectSettings");if(s3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(s3K(A))H.push(".claude/settings.local.json");return H}function t3K(H){return!!H?.gcpAuthRefresh}function L$K(){let H=[],_=p8("projectSettings");if(t3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(t3K(A))H.push(".claude/settings.local.json");return H}function e3K(H){if(!H?.env)return!1;return Object.keys(H.env).some((_)=>!WnH.has(_.toUpperCase()))}function M$K(){let H=[],_=p8("projectSettings");if(e3K(_))H.push(".claude/settings.json");let A=p8("localSettings");if(e3K(A))H.push(".claude/settings.local.json");return H}var f$K=E(()=>{P_();hL8();bKH()});var O$K={};P6(O$K,{TrustDialog:()=>kE5});function kE5(H){let _=$$K.c(32),{onDone:A,commands:q}=H,K;if(_[0]===Symbol.for("react.memo_cache_sentinel"))K=eW("project"),_[0]=K;else K=_[0];let{servers:L}=K,M;if(_[1]===Symbol.for("react.memo_cache_sentinel"))M=Object.keys(L),_[1]=M;else M=_[1];let f=M.length>0,$;if(_[2]===Symbol.for("react.memo_cache_sentinel"))$=H$K(),_[2]=$;else $=_[2];let z=$.length>0,Y;if(_[3]===Symbol.for("react.memo_cache_sentinel"))Y=_$K(),_[3]=Y;else Y=_[3];let D=Y,w;if(_[4]===Symbol.for("react.memo_cache_sentinel"))w=q$K(),_[4]=w;else w=_[4];let J=w.length>0,X;if(_[5]===Symbol.for("react.memo_cache_sentinel"))X=K$K(),_[5]=X;else X=_[5];let T=X.length>0,W;if(_[6]===Symbol.for("react.memo_cache_sentinel"))W=L$K(),_[6]=W;else W=_[6];let Z=W.length>0,V;if(_[7]===Symbol.for("react.memo_cache_sentinel"))V=A$K(),_[7]=V;else V=_[7];let h=V.length>0,y;if(_[8]===Symbol.for("react.memo_cache_sentinel"))y=M$K(),_[8]=y;else y=_[8];let R=y.length>0,b;if(_[9]!==q)b=q?.some(bE5)??!1,_[9]=q,_[10]=b;else b=_[10];let x=b,S;if(_[11]!==q)S=q?.some(RE5)??!1,_[11]=q,_[12]=S;else S=_[12];let m=S,g=D.length>0||x||m,B=uL(),Q,l;if(_[13]!==g)Q=()=>{let AH=E9A.homedir()===x6();c("tengu_trust_dialog_shown",{isHomeDir:AH,hasMcpServers:f,hasHooks:z,hasBashExecution:g,hasApiKeyHelper:J,hasAwsCommands:T,hasGcpCommands:Z,hasOtelHeadersHelper:h,hasDangerousEnvVars:R})},l=[f,z,g,J,T,Z,h,R],_[13]=g,_[14]=Q,_[15]=l;else Q=_[14],l=_[15];RI.useEffect(Q,l);let d;if(_[16]!==g||_[17]!==A)d=function(zH){if(zH==="exit"){uH("onboarding_trust_dialog","onboarding_trust_denied"),IK(1);return}let MH=E9A.homedir()===x6();if(bH("onboarding_trust_dialog"),c("tengu_trust_dialog_accept",{isHomeDir:MH,hasMcpServers:f,hasHooks:z,hasBashExecution:g,hasApiKeyHelper:J,hasAwsCommands:T,hasGcpCommands:Z,hasOtelHeadersHelper:h,hasDangerousEnvVars:R}),MH)JMH(!0);else Vz(SE5);A()},_[16]=g,_[17]=A,_[18]=d;else d=_[18];let r=d,t=ef(hE5),s;if(_[19]===Symbol.for("react.memo_cache_sentinel"))s={context:"Confirmation"},_[19]=s;else s=_[19];if(f_("confirm:no",yE5,s),B)return queueMicrotask(A),null;let HH,o,e;if(_[20]===Symbol.for("react.memo_cache_sentinel"))HH=RI.default.createElement(v,{bold:!0},Q6().cwd()),o=RI.default.createElement(v,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=RI.default.createElement(v,null,"","",""),_[20]=HH,_[21]=o,_[22]=e;else HH=_[20],o=_[21],e=_[22];let DH;if(_[23]===Symbol.for("react.memo_cache_sentinel"))DH=RI.default.createElement(v,{dimColor:!0},RI.default.createElement(j9,{url:"https://code.claude.com/docs/en/security"},"Security guide")),_[23]=DH;else DH=_[23];let LH;if(_[24]!==r)LH=RI.default.createElement(dK,{confirmLabel:"Yes, I trust this folder",cancelLabel:"No, exit",onConfirm:()=>r("enable_all"),onCancel:()=>r("exit")}),_[24]=r,_[25]=LH;else LH=_[25];let _H;if(_[26]!==t.keyName||_[27]!==t.pending)_H=RI.default.createElement(v,{dimColor:!0},t.pending?RI.default.createElement(RI.default.Fragment,null,"Press ",t.keyName," again to exit"):RI.default.createElement(O8,null,RI.default.createElement(A6,{chord:"enter",action:"confirm"}),RI.default.createElement(A6,{chord:"escape",action:"cancel"}))),_[26]=t.keyName,_[27]=t.pending,_[28]=_H;else _H=_[28];let qH;if(_[29]!==LH||_[30]!==_H)qH=RI.default.createElement(K3,{color:"warning",titleColor:"warning",title:"Accessing workspace:"},RI.default.createElement(U,{flexDirection:"column",gap:1,paddingTop:1},HH,o,e,DH,LH,_H)),_[29]=LH,_[30]=_H,_[31]=qH;else qH=_[31];return qH}function yE5(){IK(0)}function hE5(){return IK(1)}function SE5(H){return{...H,hasTrustDialogAccepted:!0}}function RE5(H){return H.type==="prompt"&&(H.loadedFrom==="skills"||H.loadedFrom==="plugin")&&(H.source==="projectSettings"||H.source==="localSettings"||H.source==="plugin")&&H.allowedTools?.some(CE5)}function CE5(H){return H===dA||H.startsWith(dA+"(")}function bE5(H){return H.type==="prompt"&&H.loadedFrom==="commands_DEPRECATED"&&(H.source==="projectSettings"||H.source==="localSettings")&&H.allowedTools?.some(xE5)}function xE5(H){return H===dA||H.startsWith(dA+"(")}var $$K,E9A,RI;var z$K=E(()=>{k6();D6();IG();iH();kA();D8();IE();s8();XA();lA();ZM();_9();uz();wA();WV();f$K();$$K=p(H6(),1),E9A=require("os"),RI=p(JH(),1)});var w$K={};P6(w$K,{ProTrialStartScreen:()=>uE5});function uE5(H){let _=Y$K.c(9),{onDone:A}=H,[q,K]=D$K.useState("idle"),L;if(_[0]!==A||_[1]!==q)L={"confirm:yes":()=>{if(q==="starting")return;if(q==="error"){A();return}K("starting"),c("tengu_pro_trial_start_pressed",{}),li_().then(()=>{c("tengu_pro_trial_start_ok",{}),A()}).catch((D)=>{if(HY(D))N(`Failed to start pro trial: ${EH(D)}`,{level:"error"});else RH(D);c("tengu_pro_trial_start_error",{}),K("error")})}},_[0]=A,_[1]=q,_[2]=L;else L=_[2];let M;if(_[3]===Symbol.for("react.memo_cache_sentinel"))M={context:"Confirmation"},_[3]=M;else M=_[3];fA(L,M);let f;if(_[4]===Symbol.for("react.memo_cache_sentinel"))f=ci_(),_[4]=f;else f=_[4];let $=f,O;if(_[5]===Symbol.for("react.memo_cache_sentinel"))O=S0.createElement($PH,null),_[5]=O;else O=_[5];let z;if(_[6]===Symbol.for("react.memo_cache_sentinel"))z=S0.createElement(v,null,$!==null?`Your Pro plan includes ${$} days of Claude Code.`:"Your Pro plan includes a Claude Code trial."),_[6]=z;else z=_[6];let Y;if(_[7]!==q)Y=S0.createElement(U,{flexDirection:"column",paddingX:1,gap:1},O,z,q==="starting"?S0.createElement(U,null,S0.createElement(h7,null),S0.createElement(v,null," Starting your trial\u2026")):q==="error"?S0.createElement(v,{color:"error"},"Couldn't start your trial. Press ",S0.createElement(v,{bold:!0},"Enter")," to continue."):S0.createElement(v,{color:"permission"},"Press ",S0.createElement(v,{bold:!0},"Enter")," to start your trial")),_[7]=q,_[8]=Y;else Y=_[8];return Y}var Y$K,S0,D$K;var j$K=E(()=>{iH();kA();k6();DH6();dH();T6();P8();wN6();nP();Y$K=p(H6(),1),S0=p(JH(),1),D$K=p(JH(),1)});var X$K={};P6(X$K,{TeamOnboardingDiscoveryStep:()=>mE5});function mE5(H){let _=J$K.c(6),{onDone:A}=H,q;if(_[0]!==A)q={"confirm:yes":A},_[0]=A,_[1]=q;else q=_[1];let K;if(_[2]===Symbol.for("react.memo_cache_sentinel"))K={context:"Confirmation"},_[2]=K;else K=_[2];fA(q,K);let L;if(_[3]===Symbol.for("react.memo_cache_sentinel"))L=iR.createElement($PH,null),_[3]=L;else L=_[3];let M;if(_[4]===Symbol.for("react.memo_cache_sentinel"))M=iR.createElement(v,{bold:!0},tV8.heading),_[4]=M;else M=_[4];let f;if(_[5]===Symbol.for("react.memo_cache_sentinel"))f=iR.createElement(U,{flexDirection:"column"},L,iR.createElement(U,{flexDirection:"column",gap:1,paddingLeft:1,marginTop:1},M,iR.createElement(U,{width:70},iR.createElement(v,null,tV8.body)),iR.createElement(ay8,null))),_[5]=f;else f=_[5];return f}var J$K,iR;var P$K=E(()=>{Cv6();iH();kA();wN6();G9A();J$K=p(H6(),1),iR=p(JH(),1)});var G$K={};P6(G$K,{BypassPermissionsModeDialog:()=>pE5});function pE5(H){let _=W$K.c(6),{onAccept:A}=H,q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=[],_[0]=q;else q=_[0];TAH.useEffect(BE5,q);let K;if(_[1]!==A)K=function(z){H:switch(z){case"accept":{c("tengu_bypass_permissions_mode_dialog_accept",{}),_A("userSettings",{skipDangerousModePermissionPrompt:!0}),A();break H}case"decline":IK(1)}},_[1]=A,_[2]=K;else K=_[2];let L=K,M=UE5,f;if(_[3]===Symbol.for("react.memo_cache_sentinel"))f=TAH.default.createElement(U,{flexDirection:"column",gap:1},TAH.default.createElement(v,null,"In Bypass Permissions mode, Claude Code will not ask for your approval before running potentially dangerous commands.",TAH.default.createElement(kb,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),TAH.default.createElement(v,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),TAH.default.createElement(j9,{url:"https://code.claude.com/docs/en/security"})),_[3]=f;else f=_[3];let $;if(_[4]!==L)$=TAH.default.createElement(x8,{title:"WARNING: Claude Code running in Bypass Permissions mode",color:"error",onCancel:M},f,TAH.default.createElement(dK,{cancelFirst:!0,focus:"cancel",confirmLabel:"Yes, I accept",cancelLabel:"No, exit",onConfirm:()=>L("accept"),onCancel:()=>L("decline")})),_[4]=L,_[5]=$;else $=_[5];return $}function UE5(){IK(0)}function BE5(){c("tengu_bypass_permissions_mode_dialog_shown",{})}var W$K,TAH;var T$K=E(()=>{k6();iH();ZM();P_();uz();p9();W$K=p(H6(),1),TAH=p(JH(),1)});var Z$K={};P6(Z$K,{DevChannelsDialog:()=>FE5});function FE5(H){let _=E$K.c(13),{channels:A,onAccept:q}=H,K;if(_[0]!==q)K=function(j){H:switch(j){case"accept":{q();break H}case"exit":IK(1)}},_[0]=q,_[1]=K;else K=_[1];let L=K,M=QE5,f,$;if(_[2]===Symbol.for("react.memo_cache_sentinel"))f=DRH.default.createElement(v,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."),$=DRH.default.createElement(v,null,"Please use --channels to run a list of approved channels."),_[2]=f,_[3]=$;else f=_[2],$=_[3];let O;if(_[4]!==A)O=A.map(gE5).join(", "),_[4]=A,_[5]=O;else O=_[5];let z;if(_[6]!==O)z=DRH.default.createElement(U,{flexDirection:"column",gap:1},f,$,DRH.default.createElement(v,{dimColor:!0},"Channels:"," ",O)),_[6]=O,_[7]=z;else z=_[7];let Y;if(_[8]!==L)Y=DRH.default.createElement(dK,{confirmLabel:"I am using this for local development",cancelLabel:"Exit",onConfirm:()=>L("accept"),onCancel:()=>L("exit")}),_[8]=L,_[9]=Y;else Y=_[9];let D;if(_[10]!==z||_[11]!==Y)D=DRH.default.createElement(x8,{title:"WARNING: Loading development channels",color:"error",onCancel:M},z,Y),_[10]=z,_[11]=Y,_[12]=D;else D=_[12];return D}function gE5(H){return H.kind==="plugin"?`plugin:${H.name}@${H.marketplace}`:`server:${H.name}`}function QE5(){IK(0)}var E$K,DRH;var V$K=E(()=>{iH();ZM();uz();p9();E$K=p(H6(),1),DRH=p(JH(),1)});var N$K={};P6(N$K,{ClaudeInChromeOnboarding:()=>lE5});function lE5(H){let _=v$K.c(21),{onDone:A}=H,[q,K]=ET.useState(!1),L,M;if(_[0]===Symbol.for("react.memo_cache_sentinel"))L=()=>{c("tengu_claude_in_chrome_onboarding_shown",{}),eLH().then(K).catch(RH),f8(nE5)},M=[],_[0]=L,_[1]=M;else L=_[0],M=_[1];ET.useEffect(L,M);let f;if(_[2]!==A)f=(X)=>{if(X.key==="return"&&!X.ctrl&&!X.meta)X.preventDefault(),A()},_[2]=A,_[3]=f;else f=_[3];let $;if(_[4]!==q)$=!q&&ET.default.createElement(ET.default.Fragment,null,ET.default.createElement(kb,null),ET.default.createElement(kb,null),"Requires the Chrome extension. Get started at"," ",ET.default.createElement(j9,{url:dE5})),_[4]=q,_[5]=$;else $=_[5];let O;if(_[6]!==$)O=ET.default.createElement(v,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.",$),_[6]=$,_[7]=O;else O=_[7];let z;if(_[8]!==q)z=q&&ET.default.createElement(ET.default.Fragment,null," ","(",ET.default.createElement(j9,{url:cE5}),")"),_[8]=q,_[9]=z;else z=_[9];let Y;if(_[10]!==z)Y=ET.default.createElement(v,{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",z,"."),_[10]=z,_[11]=Y;else Y=_[11];let D;if(_[12]===Symbol.for("react.memo_cache_sentinel"))D=ET.default.createElement(v,{bold:!0,color:"chromeYellow"},"/chrome"),_[12]=D;else D=_[12];let w;if(_[13]===Symbol.for("react.memo_cache_sentinel"))w=ET.default.createElement(v,{dimColor:!0},"For more info, use"," ",D," ","or visit ",ET.default.createElement(j9,{url:"https://code.claude.com/docs/en/chrome"})),_[13]=w;else w=_[13];let j;if(_[14]!==f||_[15]!==O||_[16]!==Y)j=ET.default.createElement(U,{flexDirection:"column",gap:1,tabIndex:0,autoFocus:!0,onKeyDown:f},O,Y,w),_[14]=f,_[15]=O,_[16]=Y,_[17]=j;else j=_[17];let J;if(_[18]!==A||_[19]!==j)J=ET.default.createElement(x8,{title:"Claude in Chrome (beta)",onCancel:A,color:"chromeYellow"},j),_[18]=A,_[19]=j,_[20]=J;else J=_[20];return J}function nE5(H){return{...H,hasCompletedClaudeInChromeOnboarding:!0}}var v$K,ET,dE5="https://claude.ai/chrome",cE5="https://clau.de/chrome/permissions";var I$K=E(()=>{k6();iH();LSH();s8();P8();p9();v$K=p(H6(),1),ET=p(JH(),1)});var V9A={};P6(V9A,{upgradeKey:()=>iE5,probeBedrockModel:()=>Hh8,findBedrockUpgradeCandidates:()=>rE5,checkBedrockDefaultAvailability:()=>oE5});function Z9A(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function k$K(H){let _=xj(H);for(let A of _k6)if(xj(df[A].firstParty)===_)return A;return}function iE5(H){return`${H.fromKey}-to-${H.toKey}`}async function rE5(){if(RA()!=="bedrock")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let M of Object.keys(ey8)){let f=ey8[M],$,O,z;for(let j of f.envVarPriority){let J=process.env[j];if(!J)continue;if(J.includes("application-inference-profile"))continue;let X=k$K(J);if(!X||Z9A(X)!==M||X===f.defaultKey)continue;$=j,O=J,z=X;break}if(!$||!O||!z)continue;let Y=f.defaultKey,D=_k6.indexOf(z),w=_k6.indexOf(Y);if(D>=w)continue;H.push({tier:M,envVar:$,pinnedRaw:O,pinnedKey:z,defaultKey:Y})}if(H.length===0)return[];let _;try{_=await jL6()}catch{return[]}let A=Ot(Jv()),q=[];for(let M of H){let f=df[M.defaultKey].firstParty,$=r3H(_,f,A);if(!$)continue;let O=Gz(df[M.pinnedKey].firstParty),z=Gz(df[M.defaultKey].firstParty);if(!O||!z)continue;q.push({tier:M.tier,envVar:M.envVar,fromKey:M.pinnedKey,fromMarketingName:O,toKey:M.defaultKey,toMarketingName:z,toBedrockId:$})}c("tengu_bedrock_upgrade_check",{stale_tiers:String(q.length)});let L=(await Promise.all(q.map(async(M)=>{let f=await Hh8(M.toBedrockId,M.tier);return c("tengu_bedrock_probe_result",{tier:M.tier,model_id:M.toBedrockId,accessible:String(f)}),f?M:null}))).filter((M)=>M!==null);return N(`[bedrock-upgrade] tiersWithPin=${H.length} candidates=${L.length}`),L}async function oE5(){if(RA()!=="bedrock")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let L of Object.keys(ey8)){let M=ey8[L];if(M.envVarPriority.some(($)=>{let O=process.env[$];if(!O)return!1;let z=k$K(O);if(!z)return!0;return Z9A(z)===L}))continue;H.push({tier:L,envVar:M.envVarPriority.at(-1),defaultKey:M.defaultKey})}if(H.length===0)return[];c("tengu_bedrock_default_check",{unpinned_tiers:String(H.length)});let _=null;try{_=await jL6()}catch{return[]}let A=Ot(Jv()),q=await Promise.all(H.map(async(L)=>{let M=df[L.defaultKey],f=r3H(_,M.firstParty,A);if(!f)return null;let $=await Hh8(f,L.tier);if(c("tengu_bedrock_probe_result",{tier:L.tier,model_id:f,accessible:String($)}),$)return null;let O=aE5(L.defaultKey,L.tier);if(!O)return null;let z=df[O],Y=r3H(_,z.firstParty,A);if(!Y)return null;if(!await Hh8(Y,L.tier))return null;let w=Gz(M.firstParty),j=Gz(z.firstParty);if(!w||!j)return null;return{tier:L.tier,envVar:L.envVar,defaultKey:L.defaultKey,defaultName:w,fallbackKey:O,fallbackName:j,fallbackBedrockId:Y}})),K=[];for(let L of q)if(L!==null)K.push(L);return N(`[bedrock-fallback] unpinnedTiers=${H.length} fallbacks=${K.length}`),K}function aE5(H,_){let A=_k6.indexOf(H);for(let q=A-1;q>=0;q--){let K=_k6[q];if(Z9A(K)===_)return K}return}async function Hh8(H,_){try{let[{AnthropicBedrock:A},{getProxyFetchOptions:q}]=await Promise.all([Promise.resolve().then(() => (Z56(),E56)),Promise.resolve().then(() => (kO(),hmH))]),K=_==="haiku"&&process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION?process.env.ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION:Jv(),L={awsRegion:K,maxRetries:0,timeout:8000,fetchOptions:q({url:process.env.ANTHROPIC_BEDROCK_BASE_URL||`https://bedrock-runtime.${K}.amazonaws.com`})},M;if(process.env.AWS_BEARER_TOKEN_BEDROCK)M=new A({...L,apiKey:process.env.AWS_BEARER_TOKEN_BEDROCK});else{let f=mH(process.env.CLAUDE_CODE_SKIP_BEDROCK_AUTH),$=f?null:await Yg();M=$?new A({...L,awsAccessKey:$.accessKeyId,awsSecretKey:$.secretAccessKey,awsSessionToken:$.sessionToken}):new A({...L,...f&&{skipAuth:!0}})}return await M.messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(A){if(A?.status===429)return!0;return!1}}var _k6,ey8;var v9A=E(()=>{k6();PA();dH();r6();DqH();zn();mA();R1();_k6=Object.keys(df),ey8={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Tt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Gt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Et}}});var N9A={};P6(N9A,{ThirdPartyModelUpgradeDialog:()=>sE5});function sE5(H){let _=y$K.c(27),{tierLabel:A,fromName:q,toName:K,toProviderId:L,onDone:M}=H,f=`Newer ${A} model available`,$;if(_[0]!==M)$=()=>M(!1),_[0]=M,_[1]=$;else $=_[1];let O;if(_[2]!==q)O=Ll.default.createElement(v,null,"Currently pinned: ",Ll.default.createElement(v,{bold:!0},q)),_[2]=q,_[3]=O;else O=_[3];let z;if(_[4]!==K)z=Ll.default.createElement(v,{bold:!0},K),_[4]=K,_[5]=z;else z=_[5];let Y;if(_[6]!==L)Y=Ll.default.createElement(v,{dimColor:!0},"(",L,")"),_[6]=L,_[7]=Y;else Y=_[7];let D;if(_[8]!==z||_[9]!==Y)D=Ll.default.createElement(v,null,"Latest available: ",z," ",Y),_[8]=z,_[9]=Y,_[10]=D;else D=_[10];let w;if(_[11]!==O||_[12]!==D)w=Ll.default.createElement(U,{flexDirection:"column"},O,D),_[11]=O,_[12]=D,_[13]=w;else w=_[13];let j;if(_[14]===Symbol.for("react.memo_cache_sentinel"))j=Ll.default.createElement(v,{dimColor:!0},"Claude Code will restart to apply."),_[14]=j;else j=_[14];let J;if(_[15]!==K)J=Ll.default.createElement(v,null,"Update settings to use ",K,"?"," ",j),_[15]=K,_[16]=J;else J=_[16];let X;if(_[17]!==M)X=Ll.default.createElement(dK,{onConfirm:()=>M(!0),onCancel:()=>M(!1)}),_[17]=M,_[18]=X;else X=_[18];let P;if(_[19]!==X||_[20]!==w||_[21]!==J)P=Ll.default.createElement(U,{flexDirection:"column",gap:1},w,J,X),_[19]=X,_[20]=w,_[21]=J,_[22]=P;else P=_[22];let T;if(_[23]!==f||_[24]!==P||_[25]!==$)T=Ll.default.createElement(x8,{title:f,color:"permission",onCancel:$},P),_[23]=f,_[24]=P,_[25]=$,_[26]=T;else T=_[26];return T}var y$K,Ll;var I9A=E(()=>{iH();uz();p9();y$K=p(H6(),1),Ll=p(JH(),1)});var y9A={};P6(y9A,{vertexUpgradeKey:()=>tE5,probeVertexModel:()=>Ah8,findVertexUpgradeCandidates:()=>eE5,checkVertexDefaultAvailability:()=>HZ5});function k9A(H){if(H.startsWith("sonnet"))return"sonnet";if(H.startsWith("opus"))return"opus";if(H.startsWith("haiku"))return"haiku";return}function h$K(H){let _=xj(H);for(let A of Ak6)if(xj(df[A].firstParty)===_)return A;return}function tE5(H){return`${H.fromKey}-to-${H.toKey}`}async function eE5(){if(RA()!=="vertex")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let q of Object.keys(_h8)){let K=_h8[q],L,M;for(let z of K.envVarPriority){let Y=process.env[z];if(!Y)continue;let D=h$K(Y);if(!D||k9A(D)!==q||D===K.defaultKey)continue;L=z,M=D;break}if(!L||!M)continue;let f=K.defaultKey,$=Ak6.indexOf(M),O=Ak6.indexOf(f);if($>=O)continue;H.push({tier:q,envVar:L,pinnedKey:M,defaultKey:f})}if(H.length===0)return[];c("tengu_vertex_upgrade_check",{stale_tiers:String(H.length)});let A=(await Promise.all(H.map(async(q)=>{let K=df[q.defaultKey].vertex,L=await Ah8(K);if(c("tengu_vertex_probe_result",{tier:q.tier,model_id:K,accessible:String(L)}),!L)return null;let M=Gz(df[q.pinnedKey].firstParty),f=Gz(df[q.defaultKey].firstParty);if(!M||!f)return null;return{tier:q.tier,envVar:q.envVar,fromKey:q.pinnedKey,fromMarketingName:M,toKey:q.defaultKey,toMarketingName:f,toVertexId:K}}))).filter((q)=>q!==null);return N(`[vertex-upgrade] tiersWithPin=${H.length} candidates=${A.length}`),A}async function HZ5(){if(RA()!=="vertex")return[];if(mH(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return[];let H=[];for(let q of Object.keys(_h8)){let K=_h8[q];if(K.envVarPriority.some((M)=>{let f=process.env[M];if(!f)return!1;let $=h$K(f);if(!$)return!0;return k9A($)===q}))continue;H.push({tier:q,envVar:K.envVarPriority.at(-1),defaultKey:K.defaultKey})}if(H.length===0)return[];c("tengu_vertex_default_check",{unpinned_tiers:String(H.length)});let _=await Promise.all(H.map(async(q)=>{let K=df[q.defaultKey],L=await Ah8(K.vertex);if(c("tengu_vertex_probe_result",{tier:q.tier,model_id:K.vertex,accessible:String(L)}),L)return null;let M=_Z5(q.defaultKey,q.tier);if(!M)return null;let f=df[M];if(!await Ah8(f.vertex))return null;let O=Gz(K.firstParty),z=Gz(f.firstParty);if(!O||!z)return null;return{tier:q.tier,envVar:q.envVar,defaultKey:q.defaultKey,defaultName:O,fallbackKey:M,fallbackName:z,fallbackVertexId:f.vertex}})),A=[];for(let q of _)if(q!==null)A.push(q);return N(`[vertex-fallback] unpinnedTiers=${H.length} fallbacks=${A.length}`),A}function _Z5(H,_){let A=Ak6.indexOf(H);for(let q=A-1;q>=0;q--){let K=Ak6[q];if(k9A(K)===_)return K}return}async function Ah8(H){try{let[{AnthropicVertex:_},{getProxyFetchOptions:A}]=await Promise.all([Promise.resolve().then(() => (oa6(),ra6)),Promise.resolve().then(() => (kO(),hmH))]);if(!mH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH))await ITH();let q=process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project,K=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials,L=q||K?void 0:process.env.ANTHROPIC_VERTEX_PROJECT_ID,M=await PBH(mH(process.env.CLAUDE_CODE_SKIP_VERTEX_AUTH)?{kind:"skip"}:{kind:"default"},L),f=V2H(H);return await new _({region:f,googleAuth:M,maxRetries:0,timeout:8000,fetchOptions:A({url:process.env.ANTHROPIC_VERTEX_BASE_URL||SCH(f)})}).messages.create({model:H,max_tokens:1,messages:[{role:"user",content:"."}]}),!0}catch(_){if(_?.status===429)return!0;return!1}}var Ak6,_h8;var h9A=E(()=>{k6();PA();dH();r6();zn();mA();R1();aa6();Ak6=Object.keys(df),_h8={sonnet:{envVarPriority:["ANTHROPIC_DEFAULT_SONNET_MODEL"],defaultKey:Tt},opus:{envVarPriority:["ANTHROPIC_DEFAULT_OPUS_MODEL"],defaultKey:Gt},haiku:{envVarPriority:["ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL"],defaultKey:Et}}});function AZ5(){f8((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 Kk6(H,_){return new Promise((A)=>{let q=(K)=>void A(K);H.render(_(q))})}async function Mh(H,_,A){return qZ5(H,_,{color:"error",beforeExit:A})}async function qZ5(H,_,A){let{Text:q}=await Promise.resolve().then(() => (iH(),hb)),K=A?.color,L=A?.exitCode??1;if(H.render(K?TJ.default.createElement(q,{color:K},_):TJ.default.createElement(q,null,_)),H.unmount(),await A?.beforeExit?.(),L!==0){let{setBgExitCause:M}=await Promise.resolve().then(() => (Tl(),U5A));M("exit_with_message")}process.exit(L)}function CI(H,_,A){if(process.env.CLAUDE_JOB_DIR)Promise.resolve().then(() => (mE6(),hQ_)).then((q)=>q.markStartupDialogBlocked()).catch(()=>{});return Kk6(H,(q)=>TJ.default.createElement(aD,{onChangeAppState:A?.onChangeAppState},TJ.default.createElement(sw,null,_(q))))}async function wRH(H,_){H.render(_),Lh8(),await H.waitUntilExit(),await _q(0)}async function C$K(H,_,A,q,K,L){if(process.env.CODER_APIKEY){return false;}if(bq()){JMH(!0),qFH(),TG().catch((z)=>RH(c_(z))),ej();let{errors:O}=z8H();if(O.length===0)await J9A(H);return Ga(),setImmediate(()=>PN6()),!1}if(mH(!1)||process.env.IS_DEMO)return!1;let M=m6(),f=!1;if(!M.hasCompletedOnboarding||(process.env.CLAUDE_CODE_TEAM_ONBOARDING==="banner"||process.env.CLAUDE_CODE_TEAM_ONBOARDING==="step")){f=!0;let{Onboarding:O}=await Promise.resolve().then(() => (n3K(),l3K));await CI(H,(z)=>TJ.default.createElement(O,{onDone:()=>{AZ5(),z()}}),{onChangeAppState:W5H})}let $=!1;if(!mH(process.env.CLAUBBIT)){if(!uL()){$=!0;let{TrustDialog:z}=await Promise.resolve().then(() => (z$K(),O$K));await CI(H,(Y)=>TJ.default.createElement(z,{commands:q,onDone:Y}))}if(JMH(!0),qFH(),!M.hasCompletedOnboarding){MOH();let z=Date.now();try{await t5(TG(),KZ5,S$K),N(`[STARTUP] post-onboarding GB await ${Date.now()-z}ms`)}catch(Y){if(N(`[STARTUP] post-onboarding GB await ${Date.now()-z}ms: ${Y}`,{level:"warn"}),!(Y instanceof Error&&Y.message===S$K))RH(c_(Y))}}else TG().catch((z)=>RH(c_(z)));ej();let{errors:O}=z8H();if(O.length===0)await J9A(H);if(await JP_()){let z=idH(await SP(!0)),{ClaudeMdExternalIncludesDialog:Y}=await Promise.resolve().then(() => (Dc_(),b01));await CI(H,(D)=>TJ.default.createElement(Y,{onDone:D,isStandaloneDialog:!0,externalIncludes:z}))}}if(y3K(),N3K(),Ga(),$){if(!e_()&&!K4())Promise.resolve().then(() => (CW8(),RW8)).then((O)=>O.startMemoryWatcher())}if(setImmediate(()=>PN6()),await XnH()){let{GroveDialog:O}=await Promise.resolve().then(() => (mo_(),qm1));if(await CI(H,(Y)=>TJ.default.createElement(O,{showIfAlreadyViewed:!1,location:f?"onboarding":"policy_update_modal",onDone:Y}))==="escape")return c("tengu_grove_policy_exited",{}),IK(0),!1}{let{getProTrialState:O}=await Promise.resolve().then(() => (DH6(),jS1));if(O().status==="not_started"){let{ProTrialStartScreen:z}=await Promise.resolve().then(() => (j$K(),w$K));c("tengu_pro_trial_start_screen_shown",{}),await CI(H,(Y)=>TJ.default.createElement(z,{onDone:Y}))}}if(f){if(!mH(process.env.CLAUBBIT))await t5(TG(),1000,"cedar-inlet").catch(()=>{});let{resolveTeamOnboardingDiscoveryArm:O}=await Promise.resolve().then(() => (Cv6(),eV8));if(O()==="step"){let{TeamOnboardingDiscoveryStep:z}=await Promise.resolve().then(() => (P$K(),X$K));await CI(H,(Y)=>TJ.default.createElement(z,{onDone:Y}))}}if(process.env.ANTHROPIC_API_KEY&&!hJ()&&RA()==="firstParty"){let O=th(process.env.ANTHROPIC_API_KEY);if($$6(O)==="new"){let{ApproveApiKey:Y}=await Promise.resolve().then(() => (W9A(),u3K));await CI(H,(D)=>TJ.default.createElement(Y,{customApiKeyTruncated:O,onDone:D}),{onChangeAppState:W5H})}}try{await LZ5(H)}catch(O){RH(O)}try{await MZ5(H)}catch(O){RH(O)}try{await fZ5(H)}catch(O){RH(O)}try{await $Z5(H)}catch(O){RH(O)}if((_==="bypassPermissions"||A)&&!Sm()){let{BypassPermissionsModeDialog:O}=await Promise.resolve().then(() => (T$K(),G$K));await CI(H,(z)=>TJ.default.createElement(O,{onAccept:z}))}if(_==="auto"&&!FC()){let{AutoModeOptInDialog:O}=await Promise.resolve().then(() => (TI8(),P8K));await CI(H,(z)=>TJ.default.createElement(O,{onAccept:z,onDecline:()=>IK(1),declineExits:!0}))}if(Tj().length>0||(L?.length??0)>0)await Tb("tengu_harbor");if(L&&L.length>0){let[{isChannelsEnabled:O},{isChannelsPolicyBlocked:z},{getSettingsForSource:Y}]=await Promise.all([Promise.resolve().then(() => (BW6(),btq)),Promise.resolve().then(() => (zaH(),utq)),Promise.resolve().then(() => (P_(),B9H))]);if(!O()||RA()!=="firstParty"||z(Y("policySettings")))lAH([...Tj(),...L.map((D)=>({...D,dev:!0}))]),vh6(!0);else{let{DevChannelsDialog:D}=await Promise.resolve().then(() => (V$K(),Z$K));await CI(H,(w)=>TJ.default.createElement(D,{channels:L,onAccept:()=>{lAH([...Tj(),...L.map((j)=>({...j,dev:!0}))]),vh6(!0),w()}}))}}if(K&&!m6().hasCompletedClaudeInChromeOnboarding){let{ClaudeInChromeOnboarding:O}=await Promise.resolve().then(() => (I$K(),N$K));await CI(H,(z)=>TJ.default.createElement(O,{onDone:z}))}return f}async function Kh8(H,_){let A;try{return await Promise.race([_,new Promise((q)=>{A=setTimeout((K,L)=>{N(`[3p-probe] ${L} hit ${R$K}ms deadline; proceeding without it`),K([])},R$K,q,H)})])}finally{clearTimeout(A)}}async function LZ5(H){let{findBedrockUpgradeCandidates:_,upgradeKey:A}=await Promise.resolve().then(() => (v9A(),V9A)),q=await Kh8("bedrock-upgrade",_());if(q.length===0)return;let K=m6().bedrockDeclinedUpgrades??{},L=q.filter((O)=>K[O.tier]!==A(O));if(L.length===0)return;let{updateSettingsForSource:M}=await Promise.resolve().then(() => (P_(),B9H)),{ThirdPartyModelUpgradeDialog:f}=await Promise.resolve().then(() => (I9A(),N9A)),$=!1;for(let O of L)if(await CI(H,(Y)=>TJ.default.createElement(f,{tierLabel:B86[O.tier],fromName:O.fromMarketingName,toName:O.toMarketingName,toProviderId:O.toBedrockId,onDone:Y}))){let Y=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:D}=M("userSettings",{env:Y});if(D){c("tengu_bedrock_upgrade_save_failed",{tier:O.tier});let{Text:w}=await Promise.resolve().then(() => (iH(),hb));await Kk6(H,(j)=>{return setTimeout(j,2000),TJ.default.createElement(w,{color:"error"},"Failed to save ",B86[O.tier]," upgrade to settings.")})}else{for(let w of Object.keys(Y))process.env[w]=O.toBedrockId;$=!0,c("tengu_bedrock_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else f8((Y)=>({...Y,bedrockDeclinedUpgrades:{...Y.bedrockDeclinedUpgrades,[O.tier]:A(O)}})),c("tengu_bedrock_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if($)c("tengu_bedrock_upgrade_relaunch",{}),await b$K(H)}async function b$K(H){let{Text:_}=await Promise.resolve().then(() => (iH(),hb));H.render(TJ.default.createElement(_,{dimColor:!0},"Restarting Claude Code to apply the new model\u2026"));let{sleep:A}=await Promise.resolve().then(() => D56);await A(250),H.unmount();let{execRelaunch:q}=await Promise.resolve().then(() => (I06(),N06));await q()}async function MZ5(H){let{checkBedrockDefaultAvailability:_}=await Promise.resolve().then(() => (v9A(),V9A)),A=await Kh8("bedrock-fallback",_());if(A.length===0)return;for(let M of A){if(process.env[M.envVar]=M.fallbackBedrockId,M.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=M.fallbackBedrockId;c("tengu_bedrock_default_fallback",{tier:M.tier,default_key:M.defaultKey,fallback_key:M.fallbackKey})}let{Box:q,Text:K}=await Promise.resolve().then(() => (iH(),hb)),L=A.map((M)=>`${B86[M.tier]}: ${M.defaultName} not available \u2014 using ${M.fallbackName} for this session`);await Kk6(H,(M)=>{return setTimeout(M,1500),TJ.default.createElement(q,{flexDirection:"column"},L.map((f)=>TJ.default.createElement(K,{key:f,color:"warning"},f)))})}async function fZ5(H){let{findVertexUpgradeCandidates:_,vertexUpgradeKey:A}=await Promise.resolve().then(() => (h9A(),y9A)),q=await Kh8("vertex-upgrade",_());if(q.length===0)return;let K=m6().vertexDeclinedUpgrades??{},L=q.filter((O)=>K[O.tier]!==A(O));if(L.length===0)return;let{updateSettingsForSource:M}=await Promise.resolve().then(() => (P_(),B9H)),{ThirdPartyModelUpgradeDialog:f}=await Promise.resolve().then(() => (I9A(),N9A)),$=!1;for(let O of L)if(await CI(H,(Y)=>TJ.default.createElement(f,{tierLabel:B86[O.tier],fromName:O.fromMarketingName,toName:O.toMarketingName,toProviderId:O.toVertexId,onDone:Y}))){let Y=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:D}=M("userSettings",{env:Y});if(D){c("tengu_vertex_upgrade_save_failed",{tier:O.tier});let{Text:w}=await Promise.resolve().then(() => (iH(),hb));await Kk6(H,(j)=>{return setTimeout(j,2000),TJ.default.createElement(w,{color:"error"},"Failed to save ",B86[O.tier]," upgrade to settings.")})}else{for(let w of Object.keys(Y))process.env[w]=O.toVertexId;$=!0,c("tengu_vertex_upgrade_accepted",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey})}}else f8((Y)=>({...Y,vertexDeclinedUpgrades:{...Y.vertexDeclinedUpgrades,[O.tier]:A(O)}})),c("tengu_vertex_upgrade_declined",{tier:O.tier,from_key:O.fromKey,to_key:O.toKey});if($)c("tengu_vertex_upgrade_relaunch",{}),await b$K(H)}async function $Z5(H){let{checkVertexDefaultAvailability:_}=await Promise.resolve().then(() => (h9A(),y9A)),A=await Kh8("vertex-fallback",_());if(A.length===0)return;for(let M of A){if(process.env[M.envVar]=M.fallbackVertexId,M.tier==="haiku")process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL=M.fallbackVertexId;c("tengu_vertex_default_fallback",{tier:M.tier,default_key:M.defaultKey,fallback_key:M.fallbackKey})}let{Box:q,Text:K}=await Promise.resolve().then(() => (iH(),hb)),L=A.map((M)=>`${B86[M.tier]}: ${M.defaultName} not available \u2014 using ${M.fallbackName} for this session`);await Kk6(H,(M)=>{return setTimeout(M,1500),TJ.default.createElement(q,{flexDirection:"column"},L.map((f)=>TJ.default.createElement(K,{key:f,color:"warning"},f)))})}function x$K(H){let _=0,A=Ed(H);if(A.stdin)c("tengu_stdin_interactive",{});let q=new X9A,K=L6A();_R8(K);let L=process.env.CLAUDE_CODE_FRAME_TIMING_LOG,M=-1;if(L)try{M=qh8.openSync(L,"a")}catch{}return{getFpsMetrics:()=>q.getMetrics(),stats:K,renderOptions:{...A,onFrame:(f)=>{if(q.record(f.durationMs),K.observe("frame_duration_ms",f.durationMs),M>=0&&f.phases){let $=JSON.stringify({total:f.durationMs,...f.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})+`
|
|
12449
12449
|
`;qh8.writeSync(M,$)}if(MQ())return;for(let $ of f.flickers){if($.reason==="resize")continue;let O=Date.now();if(O-_<1000)c("tengu_flicker",{desiredHeight:$.desiredHeight,actualHeight:$.availableHeight,reason:$.reason});_=O}}}}}var qh8,TJ,KZ5=2000,S$K="GB post-onboarding init",B86,R$K=20000;var S9A=E(()=>{k6();ZM();D6();M6A();eb();A6A();LN();jU();Mh8();A_();PnH();v3K();vx();c66();EL6();B2();iL();s8();dH();I3K();r6();T6();eI6();P8();F66();R1();LNH();yP6();P_();gn();qh8=require("fs"),TJ=p(JH(),1);B86={sonnet:"Sonnet",opus:"Opus",haiku:"Haiku"}});var m$K={};P6(m$K,{InvalidSettingsDialog:()=>OZ5});function OZ5(H){let _=u$K.c(21),{settingsErrors:A,onContinue:q,onFix:K,onExit:L}=H,M;if(_[0]!==q||_[1]!==L||_[2]!==K)M=function(G){if(G==="exit")L();else if(G==="fix")K();else q()},_[0]=q,_[1]=L,_[2]=K,_[3]=M;else M=_[3];let f=M,$;if(_[4]!==A)$=A.some(zZ5),_[4]=A,_[5]=$;else $=_[5];let O=$,z;if(_[6]!==O)z=O?[{label:"Fix with Claude",value:"fix"},{label:"Exit and fix manually",value:"exit"},{label:"Continue without these settings",value:"continue"}]:[{label:"Continue",value:"continue"},{label:"Fix with Claude",value:"fix"},{label:"Exit and fix manually",value:"exit"}],_[6]=O,_[7]=z;else z=_[7];let Y=z,D=O?"Settings Error":"Settings Warning",w=O?L:q,j;if(_[8]!==A)j=Lk6.default.createElement(cG8,{errors:A}),_[8]=A,_[9]=j;else j=_[9];let J=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(_[10]!==J)X=Lk6.default.createElement(v,{dimColor:!0},J),_[10]=J,_[11]=X;else X=_[11];let P;if(_[12]!==f||_[13]!==Y)P=Lk6.default.createElement(q_,{options:Y,onChange:f}),_[12]=f,_[13]=Y,_[14]=P;else P=_[14];let T;if(_[15]!==D||_[16]!==w||_[17]!==j||_[18]!==X||_[19]!==P)T=Lk6.default.createElement(x8,{title:D,onCancel:w,color:"warning"},j,X,P),_[15]=D,_[16]=w,_[17]=j,_[18]=X,_[19]=P,_[20]=T;else T=_[20];return T}function zZ5(H){return H.severity!=="warning"}var u$K,Lk6;var p$K=E(()=>{iH();zD();p9();wl_();u$K=p(H6(),1),Lk6=p(JH(),1)});var B$K={};P6(B$K,{TeleportRepoMismatchDialog:()=>YZ5});function YZ5(H){let _=U$K.c(18),{targetRepo:A,initialPaths:q,onSelectPath:K,onCancel:L}=H,[M,f]=R0.useState(q),[$,O]=R0.useState(null),[z,Y]=R0.useState(!1),D;if(_[0]!==M||_[1]!==L||_[2]!==K||_[3]!==A)D=async(T)=>{if(T==="cancel"){L();return}if(Y(!0),O(null),await h3K(T,A)){K(T);return}S3K(A,T);let G=M.filter((Z)=>Z!==T);f(G),Y(!1),O(`${l7(T)} no longer contains the correct repository. Select another path.`)},_[0]=M,_[1]=L,_[2]=K,_[3]=A,_[4]=D;else D=_[4];let w=D,j;if(_[5]!==M){let T;if(_[7]===Symbol.for("react.memo_cache_sentinel"))T={label:"Cancel",value:"cancel"},_[7]=T;else T=_[7];j=[...M.map(DZ5),T],_[5]=M,_[6]=j}else j=_[6];let J=j,X;if(_[8]!==M.length||_[9]!==$||_[10]!==w||_[11]!==J||_[12]!==A||_[13]!==z)X=M.length>0?R0.default.createElement(R0.default.Fragment,null,R0.default.createElement(U,{flexDirection:"column",gap:1},R0.default.createElement(tq,{error:$}),R0.default.createElement(v,null,"Open Claude Code in ",R0.default.createElement(v,{bold:!0},A),":")),z?R0.default.createElement(U,null,R0.default.createElement(h7,null),R0.default.createElement(v,null," Validating repository\u2026")):R0.default.createElement(q_,{options:J,onChange:(T)=>void w(T)})):R0.default.createElement(U,{flexDirection:"column",gap:1},R0.default.createElement(tq,{error:$}),R0.default.createElement(v,{dimColor:!0},"Run claude --teleport from a checkout of ",A)),_[8]=M.length,_[9]=$,_[10]=w,_[11]=J,_[12]=A,_[13]=z,_[14]=X;else X=_[14];let P;if(_[15]!==L||_[16]!==X)P=R0.default.createElement(x8,{title:"Teleport to Repo",onCancel:L,color:"background"},X),_[15]=L,_[16]=X,_[17]=P;else P=_[17];return P}function DZ5(H){return{label:R0.default.createElement(v,null,"Use ",R0.default.createElement(v,{bold:!0},l7(H))),value:H}}var U$K,R0;var F$K=E(()=>{iH();CK();eI6();zD();p9();k$();nP();U$K=p(H6(),1),R0=p(JH(),1)});function F86(H,_,A){if(!_||A?.strictMcpConfig||E4H())return H;let q=$0_(_);if(Object.keys(q).length===0)return H;let{allowed:K,blocked:L}=w6H(q);if(L.length>0)A?.onBlocked?.(L);return{...K,...H}}var R9A=E(()=>{IE();bP()});var l$K={};P6(l$K,{parsePrIdentifier:()=>d$K,ResumeConversation:()=>wZ5,LiveBgMessage:()=>c$K});function d$K(H){let _=parseInt(H,10);if(!isNaN(_)&&_>0)return _;let A=H.match(/(?:https?:\/\/)?[^/\s]+\/[^\s]+?\/(?:pull|pull-requests|-\/merge_requests)\/(\d+)/);if(A?.[1])return parseInt(A[1],10);return null}function wZ5({commands:H,worktreePaths:_,initialTools:A,mcpClients:q,dynamicMcpConfig:K,debug:L,mainThreadAgentDefinition:M,autoConnectIdeFlag:f,strictMcpConfig:$=!1,systemPrompt:O,appendSystemPrompt:z,initialSearchQuery:Y,disableSlashCommands:D=!1,forkSession:w,filterByPr:j,thinkingConfig:J,onTurnComplete:X}){let{rows:P}=M_(),T=J6((fH)=>fH.agentDefinitions),W=J6((fH)=>fH.standaloneAgentContext),G=J6((fH)=>fH.mainLoopModel),Z=zA(),[V,I]=O5.useState([]),[h,y]=O5.useState(!0),[C,R]=O5.useState(!1),[b,x]=O5.useState(!1),[S,m]=O5.useState(null),[g,B]=O5.useState(null),[Q,l]=O5.useState(null),d=O5.useRef(null),[r,t]=O5.useState(0),s=O5.useRef(0),HH=O5.useRef(0),o=O5.useMemo(()=>{let fH=V.filter((OH)=>!OH.isSidechain);if(j!==void 0){if(j===!0)fH=fH.filter((OH)=>OH.prNumber!==void 0);else if(typeof j==="number")fH=fH.filter((OH)=>OH.prNumber===j);else if(typeof j==="string"){let OH=d$K(j);if(OH!==null)fH=fH.filter(($H)=>$H.prNumber===OH)}}return fH},[V,j]),e=dLH(),DH=O5.useMemo(()=>mH(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE),[]);aOH(S||DH?null:"claude \xB7 resume"),O5.useEffect(()=>{KN6(_).then((fH)=>{d.current=fH,s.current=fH.logs.length,I(fH.logs),y(!1),bH("screen_resume_conversation")}).catch((fH)=>{uH("screen_resume_conversation","resume_conversation_load_failed"),RH(fH),y(!1)})},[_]);let LH=O5.useRef(!1),_H=O5.useCallback((fH)=>{if(LH.current)return;let OH=d.current;if(!OH||OH.nextIndex>=OH.allStatLogs.length)return;LH.current=!0;let $H=!1;GSH(OH.allStatLogs,OH.nextIndex,fH).then((WH)=>{if(d.current!==OH)return;if(OH.nextIndex=WH.nextIndex,WH.logs.length>0){let jH=s.current;WH.logs.forEach((ZH,wH)=>{ZH.value=jH+wH}),I((ZH)=>ZH.concat(WH.logs)),s.current+=WH.logs.length}else if(OH.nextIndex<OH.allStatLogs.length)$H=!0}).finally(()=>{if(LH.current=!1,$H)_H(fH)})},[]),qH=O5.useCallback((fH)=>{y(!0);let OH=++HH.current,$H=d.current;d.current=null,t((jH)=>jH+1),(fH?pv8():KN6(_)).then((jH)=>{if(HH.current!==OH)return;d.current=jH,s.current=jH.logs.length,I(jH.logs)}).catch((jH)=>{if(HH.current!==OH)return;if($H!==null)d.current=$H;I((ZH)=>ZH.slice()),RH(jH)}).finally(()=>{if(HH.current!==OH)return;y(!1)})},[_]),AH=O5.useCallback(()=>{let fH=!b;x(fH),qH(fH)},[b,qH]);function zH(){process.exit(1)}async function MH(fH){R(!0);let OH=performance.now(),$H=lE8(fH,b,_);if($H.isCrossProject){if(!$H.isSameRepoWorktree){let ZH=await KE($H.command);if(ZH)process.stdout.write(ZH);l($H.command);return}}if(!w){let ZH=Cf(fH);if(ZH&&await S7H(ZH)){B({sessionId:ZH,projectPath:fH.projectPath});return}}let WH=!1,jH="load_error";try{let ZH=await C8H(fH,void 0);if(!ZH)throw c("tengu_session_resumed",{entrypoint:"picker",success:!1,failure_reason:"not_found_picker"}),WH=!0,Error("Failed to load conversation");if(jH="processing_error",ZH.sessionId&&!w)xT(p2(ZH.sessionId),fH.fullPath?Q$K.dirname(fH.fullPath):null),await EI6(),await Vc(),W48(ZH.sessionId);else if(w&&ZH.contentReplacements?.length)await fhH(ZH.contentReplacements);let{agentDefinition:wH}=_RH(ZH.agentSetting,M,T);Z((BH)=>({...BH,agent:wH?.agentType}));let GH=NI6(ZH.messages,G);if(GH)$2(GH),Z((BH)=>BH.mainLoopModel===GH?BH:{...BH,mainLoopModel:GH});let SH=vI6(ZH.agentName,ZH.agentColor),yH=W?{...SH,...W}:SH;if(yH)Z((BH)=>({...BH,standaloneAgentContext:yH}));if(Gg(yH?.name),HAH(w?{...ZH,worktreeSession:void 0,bridgeSessionId:void 0,bridgeLastSeq:void 0}:ZH),!w&&ZH.bridgeSessionId)Z((BH)=>BH.replBridgeEnabled&&!BH.replBridgeOutboundOnly?BH:{...BH,replBridgeEnabled:!0,replBridgeOutboundOnly:!1});if(!w){if(II6(ZH.worktreeSession),ZH.sessionId)e_H()}c("tengu_session_resumed",{entrypoint:"picker",success:!0,resume_duration_ms:Math.round(performance.now()-OH)}),I([]),m({messages:ZH.messages,fileHistorySnapshots:ZH.fileHistorySnapshots,contentReplacements:ZH.contentReplacements,agentName:ZH.agentName,agentColor:ZH.agentColor==="default"?void 0:ZH.agentColor,mainThreadAgentDefinition:wH})}catch(ZH){if(!WH)c("tengu_session_resumed",{entrypoint:"picker",success:!1,failure_reason:jH,error_name:c_(ZH).name});throw RH(ZH),ZH}}if(g)return O5.default.createElement(c$K,{...g});if(Q)return O5.default.createElement(jZ5,{command:Q});if(S)return O5.default.createElement(f9A,{debug:L,commands:H,initialTools:A,initialMessages:S.messages,initialFileHistorySnapshots:S.fileHistorySnapshots,initialContentReplacements:S.contentReplacements,initialAgentName:S.agentName,initialAgentColor:S.agentColor,mcpClients:q,dynamicMcpConfig:F86(K??{},S.mainThreadAgentDefinition,{strictMcpConfig:$}),strictMcpConfig:$,systemPrompt:O,appendSystemPrompt:z,mainThreadAgentDefinition:S.mainThreadAgentDefinition,autoConnectIdeFlag:f,disableSlashCommands:D,thinkingConfig:J,onTurnComplete:X});if(h&&(V.length===0||o.length===0))return O5.default.createElement(I4,{message:"Loading conversations\u2026"});if(C)return O5.default.createElement(I4,{message:"Resuming conversation\u2026"});return O5.default.createElement(UE8,{logs:o,maxHeight:P,onCancel:zH,onSelect:MH,onLogsChanged:e?()=>qH(b):void 0,onLoadMore:_H,initialSearchQuery:Y,isLoading:h,reloadGeneration:r,showAllProjects:b,onToggleAllProjects:AH,onAgenticSearch:cE8})}function jZ5(H){let _=C9A.c(8),{command:A}=H,q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=[],_[0]=q;else q=_[0];AO(JZ5,100,q);let K;if(_[1]===Symbol.for("react.memo_cache_sentinel"))K=O5.default.createElement(v,null,"This conversation is from a different directory."),_[1]=K;else K=_[1];let L;if(_[2]===Symbol.for("react.memo_cache_sentinel"))L=O5.default.createElement(v,null,"To resume, run:"),_[2]=L;else L=_[2];let M;if(_[3]!==A)M=O5.default.createElement(U,{flexDirection:"column"},L,O5.default.createElement(v,null," ",A)),_[3]=A,_[4]=M;else M=_[4];let f;if(_[5]===Symbol.for("react.memo_cache_sentinel"))f=O5.default.createElement(v,{dimColor:!0},"(Command copied to clipboard)"),_[5]=f;else f=_[5];let $;if(_[6]!==M)$=O5.default.createElement(U,{flexDirection:"column",gap:1},K,M,f),_[6]=M,_[7]=$;else $=_[7];return $}function JZ5(){process.exit(0)}function c$K(H){let _=C9A.c(11),{sessionId:A,projectPath:q}=H,K;if(_[0]===Symbol.for("react.memo_cache_sentinel"))K=[],_[0]=K;else K=_[0];AO(XZ5,100,K);let L;if(_[1]!==q)L=q&&q!==j_()?`cd ${X1([q])} ${kr_()} `:"",_[1]=q,_[2]=L;else L=_[2];let M=L,f;if(_[3]===Symbol.for("react.memo_cache_sentinel"))f=O5.default.createElement(v,null,"That session is still running as a background agent."),_[3]=f;else f=_[3];let $;if(_[4]===Symbol.for("react.memo_cache_sentinel"))$=O5.default.createElement(v,null,"Open ",O5.default.createElement(v,{bold:!0},"claude agents")," to attach to it, or run:"),_[4]=$;else $=_[4];let O;if(_[5]!==M||_[6]!==A)O=O5.default.createElement(U,{flexDirection:"column"},$,O5.default.createElement(v,null," ",M,"claude --resume ",A," --fork-session")),_[5]=M,_[6]=A,_[7]=O;else O=_[7];let z;if(_[8]===Symbol.for("react.memo_cache_sentinel"))z=O5.default.createElement(v,{dimColor:!0},"to branch off a copy."),_[8]=z;else z=_[8];let Y;if(_[9]!==O)Y=O5.default.createElement(U,{flexDirection:"column",gap:1},f,O,z),_[9]=O,_[10]=Y;else Y=_[10];return Y}function XZ5(){process.exit(0)}var C9A,Q$K,O5;var n$K=E(()=>{B9();D6();Mj();vr_();AR();L88();Nz();iH();D8();k6();qA();U2();Ir_();R9A();ZI6();iL();R7H();yr_();r6();T6();P8();U_();kI6();U1();$9A();C9A=p(H6(),1),Q$K=require("path"),O5=p(JH(),1)});async function i$K(H,_){let{InvalidSettingsDialog:A}=await Promise.resolve().then(() => (p$K(),m$K));return CI(H,(q)=>jRH.default.createElement(A,{settingsErrors:_.settingsErrors,onContinue:()=>q(void 0),onFix:()=>q("fix"),onExit:_.onExit}))}async function r$K(H){let{TeleportResumeWrapper:_}=await Promise.resolve().then(() => (Jo_(),Nx1));return CI(H,(A)=>jRH.default.createElement(_,{onComplete:A,onCancel:()=>A(null),source:"cliArg"}))}async function o$K(H,_){let{TeleportRepoMismatchDialog:A}=await Promise.resolve().then(() => (F$K(),B$K));return CI(H,(q)=>jRH.default.createElement(A,{targetRepo:_.targetRepo,initialPaths:_.initialPaths,onSelectPath:q,onCancel:()=>q(null)}))}async function a$K(H,_,A,q){let[K,{ResumeConversation:L},{App:M}]=await Promise.all([A,Promise.resolve().then(() => (n$K(),l$K)),Promise.resolve().then(() => ($6A(),f6A))]);await wRH(H,jRH.default.createElement(M,{getFpsMetrics:_.getFpsMetrics,stats:_.stats,initialState:_.initialState},jRH.default.createElement(sw,null,jRH.default.createElement(L,{...q,worktreePaths:K}))))}var jRH;var s$K=E(()=>{S9A();jU();jRH=p(JH(),1)});function t$K(){}function WZ5(H){return`# Batch: Parallel Work Orchestration
|
|
12450
12450
|
|
|
12451
12451
|
You are orchestrating a large, parallelizable change across this codebase.
|
|
@@ -23929,7 +23929,7 @@ Error: sandbox required but unavailable: ${J}
|
|
|
23929
23929
|
`),N("runHeadless: no result message returned from query",{level:"error"}),IK(1);return}switch(g.subtype){case"success":Aq(g.result.endsWith(`
|
|
23930
23930
|
`)?g.result:g.result+`
|
|
23931
23931
|
`);break;case"error_during_execution":Aq("Execution error");break;case"error_max_turns":Aq(`Error: Reached max turns (${$.maxTurns})`);break;case"error_max_budget_usd":Aq(`Error: Exceeded USD budget (${$.maxBudgetUsd})`);break;case"error_max_structured_output_retries":Aq("Error: Failed to provide valid structured output after maximum retries")}}if(DQ_(),We6())await oN5.drainPendingExtraction();await ae_();let l=j instanceof Yk6&&j.permanentCloseCode!==void 0;if(D&&g?.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(!Q)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=${Y}, drained=${B}, exit=${l?1:0})
|
|
23932
|
-
`)}IK(g?.type==="result"&&g?.is_error||l?1:0)}function ljK(H,_,A,q,K,L,M,f,$,O,z,Y,D,w){let j=!1,J,X=!1,P=w,T,W=!1,G=!1,Z=(Z6)=>Z6.agentId===void 0,V=null,I,h=B1(500),y=H.outbound;if(Y.outputFormat==="stream-json"&&Y.sessionMirror)Je_((Z6,v6)=>{H.write({type:"transcript_mirror",filePath:Z6,entries:v6})});let C=()=>{if(V8("info","shutdown_signal",{signal:"SIGINT"}),I&&!I.signal.aborted)I.abort();h.abort(),_q(0)};process.on("SIGINT",C),a9(async()=>{if(J&&!I?.signal.aborted&&!X)c("tengu_sdk_result",{subtype:"terminated",is_error:!0,duration_ms:Date.now()-J,run_phase:T??"init",exit_code:process.exitCode}),X=!0,J=void 0;let Z6={};for(let v6 of eX8(f()))if(pz(v6))Z6[v6.type]=(Z6[v6.type]??0)+1;V8("info","run_state_at_shutdown",{run_active:j,run_phase:T,worker_status:H.sessionState.getState(),internal_events_pending:H.internalEventsPending,bg_tasks:Z6})}),H.sessionState.onPermissionModeChanged=(Z6)=>{if(Z6==="default"||Z6==="acceptEdits"||Z6==="bypassPermissions"||Z6==="plan"||Z6==="auto"||Z6==="dontAsk")y.enqueue({type:"system",subtype:"status",status:null,permissionMode:Z6,uuid:jj.randomUUID(),session_id:S6()})};let R=new Set,b={abortController:null,inflightPromise:null,lastEmitted:null,pendingSuggestion:null,pendingLastEmittedEntry:null},x;if(Y.enableAuthStatus)x=aT.getInstance().subscribe((v6)=>{y.enqueue({type:"auth_status",isAuthenticating:v6.isAuthenticating,output:v6.output,error:v6.error,uuid:jj.randomUUID(),session_id:S6()})});let S=(Z6)=>{let v6=cb1(Z6);if(v6)y.enqueue({type:"rate_limit_event",rate_limit_info:v6,uuid:jj.randomUUID(),session_id:S6()})};ZzH.add(S);let m=K;function g(Z6,v6){let KH=0,TH=0,NH=0,VH=new Set(v6.filter((vH)=>vH.mcpInfo&&!vH.name.startsWith("mcp__")).map((vH)=>vH.name));for(let vH=Z6;vH<m.length;vH++){let IH=m[vH];if(IH?.type!=="assistant")continue;for(let tH of IH.message.content){if(tH.type!=="tool_use")continue;if(KH++,tH.name.startsWith("mcp__")||VH.has(tH.name))TH++;else if(tH.name===h3)NH++}}return{tool_use_count:KH,mcp_tool_calls:TH,toolsearch_calls:NH,builtin_tool_calls:KH-TH-NH}}let B=xsH(K,c86.cwd(),ip);jM_("messages",()=>({entries:m.length})),jM_("file_state_cache",()=>({entries:B.size,bytes:B.calculatedSize}));let Q=new Map,l=KJH(qN6()??YG6(K,q),G_H),d=sb(ip),r=process.env.CLAUDE_CODE_RESUME_INTERRUPTED_TURN;if(D&&D.kind!=="none"&&r)N(`[print.ts] Auto-resuming interrupted turn (kind: ${D.kind})`),nW6(m,D.message),hz({mode:"prompt",value:D.message.message.content,uuid:jj.randomUUID()});let s=YeH().map((Z6)=>{let v6=Z6.value===null?"default":Z6.value,KH=v6==="default"?QJ():nq(v6),TH=R2(KH),NH=S48(KH),VH=BD(Z6.value),vH=EBH(KH);return{value:v6,displayName:Z6.label,description:Z6.description,...TH&&{supportsEffort:!0,supportedEffortLevels:QZ.filter((IH)=>{if(IH==="ultra")return!1;if(IH==="max"&&!WQH(KH))return!1;if(IH==="xhigh"&&!jz6(KH))return!1;return!0})},...NH&&{supportsAdaptiveThinking:!0},...VH&&{supportsFastMode:!0},...vH&&{supportsAutoMode:!0}}}),HH=Y.userSpecifiedModel,o=Y.thinkingConfig&&Y.thinkingConfig.type!=="disabled"?Y.thinkingConfig.display:void 0,e=Y.thinkingConfig;function DH(Z6,v6){let KH=nj1(Z6,Hb(v6));m.push(...KH);for(let TH of KH)if(typeof TH.message.content==="string"&&TH.message.content.includes(`<${w2}>`))y.enqueue({type:"user",message:TH.message,session_id:S6(),parent_tool_use_id:null,uuid:TH.uuid,timestamp:TH.timestamp,isReplay:!0})}let LH=[],_H=[],qH=new WeakSet;function AH(Z6){for(let v6 of Z6){if(v6.type!=="connected"||qH.has(v6.client))continue;if(v6.config.type==="sdk")continue;let KH=v6.name;try{v6.client.setRequestHandler(P9H,async(TH,NH)=>{z8(KH,`Elicitation request received in print mode: ${CH(TH)}`);let VH=TH.params.mode==="url"?"url":"form";c("tengu_mcp_elicitation_shown",{mode:VH});let vH=await uT6(KH,TH.params,NH.signal);if(vH)return z8(KH,`Elicitation resolved by hook: ${CH(vH)}`),c("tengu_mcp_elicitation_response",{mode:VH,action:vH.action}),vH;let IH="url"in TH.params?TH.params.url:void 0,tH="requestedSchema"in TH.params?TH.params.requestedSchema:void 0,oH="elicitationId"in TH.params?TH.params.elicitationId:void 0,W6=FjK(TH.params._meta),N6=await H.handleElicitation(KH,TH.params.message,tH,NH.signal,VH,IH,oH,W6),G8=await mT6(KH,N6,NH.signal,VH,oH);return c("tengu_mcp_elicitation_response",{mode:VH,action:G8.action}),G8}),v6.client.setNotificationHandler(j16,(TH)=>{let{elicitationId:NH}=TH.params;z8(KH,`Elicitation completion notification: ${NH}`),Qd({message:`MCP server "${KH}" confirmed elicitation ${NH} complete`,notificationType:"elicitation_complete"}),y.enqueue({type:"system",subtype:"elicitation_complete",mcp_server_name:KH,elicitation_id:NH,uuid:jj.randomUUID(),session_id:S6()})}),qH.add(v6.client)}catch{}}}let zH=f().mcp.clients;AH(zH),O(()=>{let Z6=f().mcp.clients;if(Z6===zH)return;zH=Z6,AH(Z6)});async function MH(){let Z6=new Set(Object.keys(M)),v6=new Set(LH.map((IH)=>IH.name)),KH=Array.from(Z6).some((IH)=>!v6.has(IH)),TH=Array.from(v6).some((IH)=>!Z6.has(IH)),NH=LH.some((IH)=>IH.type==="pending"),VH=LH.some((IH)=>IH.type==="failed");if(KH||TH||NH||VH){for(let oH of LH)if(!Z6.has(oH.name)){if(oH.type==="connected")await oH.cleanup()}let IH=await CY1(M,(oH,W6)=>H.sendMcpMessage(oH,W6));LH=IH.clients,_H=IH.tools;let tH=L9([...v6,...Z6]);$((oH)=>({...oH,mcp:{...oH.mcp,tools:[...oH.mcp.tools.filter((W6)=>!tH.some((N6)=>W6.name.startsWith(ym(N6)))),..._H]}})),L8q(LH),IjK(LH)}}MH();let fH={clients:[],tools:[],configs:{},policyRules:new Set},OH=mH(process.env.CLAUDE_CODE_REMOTE)?Object.fromEntries(f().mcp.clients.filter((Z6)=>Z6.config.scope==="dynamic"&&!("pluginSource"in Z6.config)&&oT_(Z6.config)).map((Z6)=>[Z6.name,Z6.config])):{};ZCH(()=>[...f().mcp.clients,...LH,...fH.clients]);let $H=A,WH=z,jH,ZH=(Z6)=>{let v6=Hc(Z6.toolPermissionContext,Z6.mcp.tools,{skillTools:Z6.skillTools}),KH=_J(UH6([...q,..._H,...fH.tools],v6,Z6.toolPermissionContext.mode),"name"),TH=Zh();if(jH=void 0,TH){let VH=WH.find((vH)=>vH.agentType===TH);if(VH){let vH=hr(VH,KH,!1,!0);KH=vH.resolvedTools,jH=vH.allowedAgentTypes}}if(Y.permissionPromptToolName)KH=KH.filter((VH)=>!G4(VH,Y.permissionPromptToolName));let NH=Xh6();if(NH&&!Y.jsonSchema){let VH=XdH(NH);if("tool"in VH)KH=[...KH,VH.tool]}return KH},wH=mH(process.env.CLAUDE_CODE_REMOTE)?process.env.CLAUDE_CODE_SYSTEM_PROMPT_GB_FEATURE:void 0,GH=()=>{if(!wH)return Y.systemPrompt;let Z6=V6(wH,"");return typeof Z6==="string"&&Z6.length>0?Z6:Y.systemPrompt},SH=null,yH=0;function BH(){if(!SH)return;let Z6=Math.min(yH,m.length),v6=m.slice(Z6).filter((KH)=>KH.type==="user"||KH.type==="assistant");if(yH=m.length,v6.length>0)SH.writeMessages(v6)}let FH=Promise.resolve({response:{added:[],removed:[],errors:{}},sdkServersChanged:!1});function pH(Z6,{authoritative:v6,caller:KH}){let TH=async()=>{let NH=new Set(LH.map((tH)=>tH.name)),VH={...fH,configs:{...OH,...fH.configs}},vH=Z6;if(!v6&&Object.keys(OH).length>0){let tH={};for(let[oH,W6]of Object.entries(OH)){if(oH in Z6)continue;let{scope:N6,...G8}=W6;if(oT_(G8))tH[oH]=G8}vH={...tH,...Z6}}let IH=await sjK(vH,{configs:M,clients:LH,tools:_H},VH,$,f,KH);if(v6){let tH=new Set(Object.keys(IH.newDynamicState.configs));OH=Object.fromEntries(Object.entries(Z6).filter(([oH])=>tH.has(oH)).map(([oH,W6])=>[oH,{...W6,scope:"dynamic"}]))}for(let tH of Object.keys(M))delete M[tH];if(Object.assign(M,IH.newSdkState.configs),LH=IH.newSdkState.clients,_H=IH.newSdkState.tools,fH=IH.newDynamicState,IH.sdkServersChanged){let tH=new Set(LH.map((W6)=>W6.name)),oH=L9([...NH,...tH]);$((W6)=>({...W6,mcp:{...W6.mcp,tools:[...W6.mcp.tools.filter((N6)=>!oH.some((G8)=>N6.name.startsWith(ym(G8)))),..._H]}}))}return{response:IH.response,sdkServersChanged:IH.sdkServersChanged}};return FH=FH.then(TH,TH),FH}function aH(){let Z6=f(),v6=Z6.mcp.clients,KH=_J([...Z6.mcp.tools,...fH.tools],"name"),TH=new Set([...v6.map((NH)=>NH.name),...LH.map((NH)=>NH.name)]);return[...v6,...LH,...fH.clients.filter((NH)=>!TH.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 vH=NH.type==="connected"?D6H(KH,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,IH;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)IH={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:vH,capabilities:IH}})}async function f6(Z6){try{await Promise.all([Promise.resolve(),MuH("headless_managed_settings_wait",()=>FL8())])}catch(KH){RH(KH)}let v6=!1;try{let KH=new Set(Object.keys((await j6H()).servers));if(v6=await SjK(Z6),v6){let TH=performance.now();if(await L6(KH,"plugin_install_diff"),mH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))VI("plugin_mcp_reconcile_ms",performance.now()-TH)}}catch(KH){N(`Headless plugin install / MCP reconcile failed: ${EH(KH)}`,{level:"error"})}return v6}let gH=null,xH=performance.now(),eH=aIH()?owK():null,$6=null,Y6;if(!K4())if(mH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))Y6=Y.outputFormat==="stream-json"?(Z6)=>void H.write({type:"system",subtype:"plugin_install",status:Z6.status,name:"name"in Z6?Z6.name:void 0,error:"error"in Z6?Z6.error:void 0,uuid:jj.randomUUID(),session_id:S6()}):void 0,Y6?.({status:"started"}),gH=f6((Z6)=>Y6?.(Z6));else $6=gjK(f6);let lH=f().mcp.clients.length,u6=PqA(f),o6=VjK(()=>!j);async function cH(){let{agentDefinitions:Z6}=await dXH($);$H=XSH(await a2(c86.cwd()));let v6=WH.filter((KH)=>KH.source==="flagSettings");WH=[...Z6.allAgents,...v6]}async function L6(Z6,v6){let{servers:KH}=await j6H(),TH={};for(let[vH,IH]of Object.entries(KH)){if(Z6?.has(vH)&&!(vH in fH.configs))continue;let tH=IH.type;if(tH===void 0||tH==="stdio"||tH==="sse"||tH==="http"||tH==="sdk")TH[vH]=IH}for(let[vH,IH]of Object.entries(M))if(IH.type==="sdk"&&!(vH in TH))TH[vH]=IH;let{response:NH,sdkServersChanged:VH}=await pH(TH,{authoritative:!1,caller:v6});if(VH)MH();N(`Headless MCP refresh: added=${NH.added.length}, removed=${NH.removed.length}`)}let E6=Z86.subscribe(()=>{bo(),a2(c86.cwd()).then((Z6)=>{$H=XSH(Z6)})});uKH(()=>{if(I&&P8q("now").length>0)I.abort("interrupt")});let p6=async()=>{if(j)return;j=!0,T=void 0,H.sessionState.notifyStateChanged("running"),H.resetStallWatchdog(),o6.stop(),oP("run_entry"),VI("first_message_read_ms",performance.now()),tB1();try{if(await MH(),oP("after_updateSdkMcp"),eH){let KH=nwK()-(performance.now()-xH),TH=r8(Math.max(0,KH)).then(()=>"timeout");if(await Promise.race([eH,TH])==="timeout")c("tengu_skills_sync_wait_timeout",{}),MqA()}if(gH){let KH=performance.now(),TH=parseInt(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS||"",10);if(TH>0){let VH=r8(TH).then(()=>"timeout");if(await Promise.race([gH,VH])==="timeout")N(`CLAUDE_CODE_SYNC_PLUGIN_INSTALL: plugin installation timed out after ${TH}ms`,{level:"error"}),c("tengu_sync_plugin_install_timeout",{timeout_ms:TH})}else await gH;VI("plugin_install_ms",performance.now()-KH),gH=null;try{await cH()}catch(VH){RH(VH)}let{setupPluginHookHotReload:NH}=await Promise.resolve().then(() => (JkH(),tC_));NH()}}finally{Y6?.({status:"completed"}),Y6=void 0}if(mH(process.env.CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH)&&$6?.needsRefresh){$6.needsRefresh=!1;try{await cH()}catch(KH){RH(KH)}}let v6=HI5(y,mH(process.env.CLAUDE_CODE_REMOTE));try{let KH,TH=!1,NH=!0,VH=(tH)=>Z(tH)&&tH.mode==="orphaned-permission",vH=()=>{let tH=wdH(VH);if(tH)return N(`drainCommandQueue: prioritizing orphaned-permission for toolUseID=${tH.orphanedPermission?.permissionResult?.toolUseID??"<unknown>"}`),tH;return wdH(Z)},IH=async()=>{while(KH=vH()){if(KH.mode!=="prompt"&&KH.mode!=="orphaned-permission"&&KH.mode!=="task-notification")throw Error("only prompt commands are supported in streaming mode");let tH=[KH];if(KH.mode==="prompt"){while(djK(KH,_VH(Z)))tH.push(wdH(Z));if(tH.length>1)KH={...KH,value:QjK(tH.map((e6)=>e6.value)),uuid:tH.findLast((e6)=>e6.uuid)?.uuid??KH.uuid,fileAttachments:tH.flatMap((e6)=>e6.fileAttachments??[]),clientPlatform:tH.find((e6)=>e6.clientPlatform)?.clientPlatform??KH.clientPlatform}}let oH=tH.map((e6)=>e6.uuid).filter((e6)=>e6!==void 0);if(Y.replayUserMessages&&tH.length>1){for(let e6 of tH)if(e6.uuid&&e6.uuid!==KH.uuid)y.enqueue({type:"user",message:{role:"user",content:e6.value},session_id:S6(),parent_tool_use_id:null,uuid:e6.uuid,isReplay:!0,...e6.fileAttachments?.length&&{file_attachments:e6.fileAttachments},...e6.origin&&{origin:e6.origin}})}if(NH){NH=!1,oP("before_mcp_prewait");let e6=performance.now();if(f().mcp.clients.length>lH)await PqA(f,void 0,lH>0);else await u6;VI("mcp_prewait_ms",performance.now()-e6),oP("after_mcp_prewait")}let W6=f(),N6=[...W6.mcp.clients,...LH,...fH.clients];AH(N6);for(let e6 of N6)JqA(e6);let G8=ZH(W6);for(let e6 of oH)H.onCommandLifecycle?.(e6,"started");if(KH.mode==="task-notification"){let e6=typeof KH.value==="string"?KH.value:"",b8=e6.match(/<task-id>([^<]+)<\/task-id>/),Q_=e6.match(/<tool-use-id>([^<]+)<\/tool-use-id>/),A8=e6.match(/<output-file>([^<]+)<\/output-file>/),I8=e6.match(/<status>([^<]+)<\/status>/),N_=e6.match(/<summary>([^<]+)<\/summary>/),a8=(c5)=>c5==="completed"||c5==="failed"||c5==="stopped"||c5==="killed",JA=I8?.[1],H1=a8(JA)?JA==="killed"?"stopped":JA:"completed",_4=e6.match(/<usage>([\s\S]*?)<\/usage>/)?.[1]??"",DA=_4.match(/<total_tokens>(\d+)<\/total_tokens>/),p7=_4.match(/<tool_uses>(\d+)<\/tool_uses>/),y9=_4.match(/<duration_ms>(\d+)<\/duration_ms>/);if(I8)y.enqueue({type:"system",subtype:"task_notification",task_id:b8?.[1]??"",tool_use_id:Q_?.[1],status:H1,output_file:A8?.[1]??"",summary:N_?.[1]??"",usage:DA&&p7?{total_tokens:parseInt(DA[1],10),tool_uses:parseInt(p7[1],10),duration_ms:y9?parseInt(y9[1],10):0}:void 0,session_id:S6(),uuid:jj.randomUUID()})}let W8=KH.value;if(H instanceof Yk6&&KH.mode==="prompt")c("tengu_bridge_message_received",{is_repl:!1});if(KH.shouldQuery!==!1){if(b.abortController?.abort(),b.abortController=null,b.pendingSuggestion=null,b.pendingLastEmittedEntry=null,b.lastEmitted&&KH.mode==="prompt"){let e6=typeof W8==="string"?W8:W8.find((b8)=>b8.type==="text")?.text;if(typeof e6==="string")yOq(b.lastEmitted.text,e6,b.lastEmitted.emittedAt,b.lastEmitted.promptId,b.lastEmitted.generationRequestId);b.lastEmitted=null}}I=B1();let Y_=void 0;oP("before_ask"),hE6();let C8=KH;if(C8.uuid!==void 0&&D8q(C8.uuid)){H.onCommandLifecycle?.(C8.uuid,"completed");continue}let E_=typeof W8==="string"?W8:$K(W8,`
|
|
23932
|
+
`)}IK(g?.type==="result"&&g?.is_error||l?1:0)}function ljK(H,_,A,q,K,L,M,f,$,O,z,Y,D,w){let j=!1,J,X=!1,P=w,T,W=!1,G=!1,Z=(Z6)=>Z6.agentId===void 0,V=null,I,h=B1(500),y=H.outbound;if(Y.outputFormat==="stream-json"&&Y.sessionMirror)Je_((Z6,v6)=>{H.write({type:"transcript_mirror",filePath:Z6,entries:v6})});let C=()=>{if(V8("info","shutdown_signal",{signal:"SIGINT"}),I&&!I.signal.aborted)I.abort();h.abort(),_q(0)};process.on("SIGINT",C),a9(async()=>{if(J&&!I?.signal.aborted&&!X)c("tengu_sdk_result",{subtype:"terminated",is_error:!0,duration_ms:Date.now()-J,run_phase:T??"init",exit_code:process.exitCode}),X=!0,J=void 0;let Z6={};for(let v6 of eX8(f()))if(pz(v6))Z6[v6.type]=(Z6[v6.type]??0)+1;V8("info","run_state_at_shutdown",{run_active:j,run_phase:T,worker_status:H.sessionState.getState(),internal_events_pending:H.internalEventsPending,bg_tasks:Z6})}),H.sessionState.onPermissionModeChanged=(Z6)=>{if(Z6==="default"||Z6==="acceptEdits"||Z6==="bypassPermissions"||Z6==="plan"||Z6==="auto"||Z6==="dontAsk")y.enqueue({type:"system",subtype:"status",status:null,permissionMode:Z6,uuid:jj.randomUUID(),session_id:S6()})};let R=new Set,b={abortController:null,inflightPromise:null,lastEmitted:null,pendingSuggestion:null,pendingLastEmittedEntry:null},x;if(Y.enableAuthStatus)x=aT.getInstance().subscribe((v6)=>{y.enqueue({type:"auth_status",isAuthenticating:v6.isAuthenticating,output:v6.output,error:v6.error,uuid:jj.randomUUID(),session_id:S6()})});let S=(Z6)=>{let v6=cb1(Z6);if(v6)y.enqueue({type:"rate_limit_event",rate_limit_info:v6,uuid:jj.randomUUID(),session_id:S6()})};ZzH.add(S);let m=K;function g(Z6,v6){let KH=0,TH=0,NH=0,VH=new Set(v6.filter((vH)=>vH.mcpInfo&&!vH.name.startsWith("mcp__")).map((vH)=>vH.name));for(let vH=Z6;vH<m.length;vH++){let IH=m[vH];if(IH?.type!=="assistant")continue;for(let tH of IH.message.content){if(tH.type!=="tool_use")continue;if(KH++,tH.name.startsWith("mcp__")||VH.has(tH.name))TH++;else if(tH.name===h3)NH++}}return{tool_use_count:KH,mcp_tool_calls:TH,toolsearch_calls:NH,builtin_tool_calls:KH-TH-NH}}let B=xsH(K,c86.cwd(),ip);jM_("messages",()=>({entries:m.length})),jM_("file_state_cache",()=>({entries:B.size,bytes:B.calculatedSize}));let Q=new Map,l=KJH(qN6()??YG6(K,q),G_H),d=sb(ip),r=process.env.CLAUDE_CODE_RESUME_INTERRUPTED_TURN;if(D&&D.kind!=="none"&&r)N(`[print.ts] Auto-resuming interrupted turn (kind: ${D.kind})`),nW6(m,D.message),hz({mode:"prompt",value:D.message.message.content,uuid:jj.randomUUID()});let s=YeH().map((Z6)=>{let v6=Z6.value===null?"default":Z6.value,KH=v6==="default"?QJ():nq(v6),TH=R2(KH),NH=S48(KH),VH=BD(Z6.value),vH=EBH(KH);return{value:v6,displayName:Z6.label,description:Z6.description,...TH&&{supportsEffort:!0,supportedEffortLevels:QZ.filter((IH)=>{if(IH==="ultra")return!1;if(IH==="max"&&!WQH(KH))return!1;if(IH==="xhigh"&&!jz6(KH))return!1;return!0})},...NH&&{supportsAdaptiveThinking:!0},...VH&&{supportsFastMode:!0},...vH&&{supportsAutoMode:!0}}}),HH=Y.userSpecifiedModel,o=Y.thinkingConfig&&Y.thinkingConfig.type!=="disabled"?Y.thinkingConfig.display:void 0,e=Y.thinkingConfig;function DH(Z6,v6){let KH=nj1(Z6,Hb(v6));m.push(...KH);for(let TH of KH)if(typeof TH.message.content==="string"&&TH.message.content.includes(`<${w2}>`))y.enqueue({type:"user",message:TH.message,session_id:S6(),parent_tool_use_id:null,uuid:TH.uuid,timestamp:TH.timestamp,isReplay:!0})}let LH=[],_H=[],qH=new WeakSet;function AH(Z6){for(let v6 of Z6){if(v6.type!=="connected"||qH.has(v6.client))continue;if(v6.config.type==="sdk")continue;let KH=v6.name;try{v6.client.setRequestHandler(P9H,async(TH,NH)=>{z8(KH,`Elicitation request received in print mode: ${CH(TH)}`);let VH=TH.params.mode==="url"?"url":"form";c("tengu_mcp_elicitation_shown",{mode:VH});let vH=await uT6(KH,TH.params,NH.signal);if(vH)return z8(KH,`Elicitation resolved by hook: ${CH(vH)}`),c("tengu_mcp_elicitation_response",{mode:VH,action:vH.action}),vH;let IH="url"in TH.params?TH.params.url:void 0,tH="requestedSchema"in TH.params?TH.params.requestedSchema:void 0,oH="elicitationId"in TH.params?TH.params.elicitationId:void 0,W6=FjK(TH.params._meta),N6=await H.handleElicitation(KH,TH.params.message,tH,NH.signal,VH,IH,oH,W6),G8=await mT6(KH,N6,NH.signal,VH,oH);return c("tengu_mcp_elicitation_response",{mode:VH,action:G8.action}),G8}),v6.client.setNotificationHandler(j16,(TH)=>{let{elicitationId:NH}=TH.params;z8(KH,`Elicitation completion notification: ${NH}`),Qd({message:`MCP server "${KH}" confirmed elicitation ${NH} complete`,notificationType:"elicitation_complete"}),y.enqueue({type:"system",subtype:"elicitation_complete",mcp_server_name:KH,elicitation_id:NH,uuid:jj.randomUUID(),session_id:S6()})}),qH.add(v6.client)}catch{}}}let zH=f().mcp.clients;AH(zH),O(()=>{let Z6=f().mcp.clients;if(Z6===zH)return;zH=Z6,AH(Z6)});async function MH(){let Z6=new Set(Object.keys(M)),v6=new Set(LH.map((IH)=>IH.name)),KH=Array.from(Z6).some((IH)=>!v6.has(IH)),TH=Array.from(v6).some((IH)=>!Z6.has(IH)),NH=LH.some((IH)=>IH.type==="pending"),VH=LH.some((IH)=>IH.type==="failed");if(KH||TH||NH||VH){for(let oH of LH)if(!Z6.has(oH.name)){if(oH.type==="connected")await oH.cleanup()}let IH=await CY1(M,(oH,W6)=>H.sendMcpMessage(oH,W6));LH=IH.clients,_H=IH.tools;let tH=L9([...v6,...Z6]);$((oH)=>({...oH,mcp:{...oH.mcp,tools:[...oH.mcp.tools.filter((W6)=>!tH.some((N6)=>W6.name.startsWith(ym(N6)))),..._H]}})),L8q(LH),IjK(LH)}}MH();let fH={clients:[],tools:[],configs:{},policyRules:new Set},OH=mH(process.env.CLAUDE_CODE_REMOTE)?Object.fromEntries(f().mcp.clients.filter((Z6)=>Z6.config.scope==="dynamic"&&!("pluginSource"in Z6.config)&&oT_(Z6.config)).map((Z6)=>[Z6.name,Z6.config])):{};ZCH(()=>[...f().mcp.clients,...LH,...fH.clients]);let $H=A,WH=z,jH,ZH=(Z6)=>{let v6=Hc(Z6.toolPermissionContext,Z6.mcp.tools,{skillTools:Z6.skillTools}),KH=_J(UH6([...q,..._H,...fH.tools],v6,Z6.toolPermissionContext.mode),"name"),TH=Zh();if(jH=void 0,TH){let VH=WH.find((vH)=>vH.agentType===TH);if(VH){let vH=hr(VH,KH,!1,!0);KH=vH.resolvedTools,jH=vH.allowedAgentTypes}}if(Y.permissionPromptToolName)KH=KH.filter((VH)=>!G4(VH,Y.permissionPromptToolName));let NH=Xh6();if(NH&&!Y.jsonSchema){let VH=XdH(NH);if("tool"in VH)KH=[...KH,VH.tool]}return KH},wH=mH(process.env.CLAUDE_CODE_REMOTE)?process.env.CLAUDE_CODE_SYSTEM_PROMPT_GB_FEATURE:void 0,GH=()=>{if(!wH)return Y.systemPrompt;let Z6=V6(wH,"");return typeof Z6==="string"&&Z6.length>0?Z6:Y.systemPrompt},SH=null,yH=0;function BH(){if(!SH)return;let Z6=Math.min(yH,m.length),v6=m.slice(Z6).filter((KH)=>KH.type==="user"||KH.type==="assistant");if(yH=m.length,v6.length>0)SH.writeMessages(v6)}let FH=Promise.resolve({response:{added:[],removed:[],errors:{}},sdkServersChanged:!1});function pH(Z6,{authoritative:v6,caller:KH}){let TH=async()=>{let NH=new Set(LH.map((tH)=>tH.name)),VH={...fH,configs:{...OH,...fH.configs}},vH=Z6;if(!v6&&Object.keys(OH).length>0){let tH={};for(let[oH,W6]of Object.entries(OH)){if(oH in Z6)continue;let{scope:N6,...G8}=W6;if(oT_(G8))tH[oH]=G8}vH={...tH,...Z6}}let IH=await sjK(vH,{configs:M,clients:LH,tools:_H},VH,$,f,KH);if(v6){let tH=new Set(Object.keys(IH.newDynamicState.configs));OH=Object.fromEntries(Object.entries(Z6).filter(([oH])=>tH.has(oH)).map(([oH,W6])=>[oH,{...W6,scope:"dynamic"}]))}for(let tH of Object.keys(M))delete M[tH];if(Object.assign(M,IH.newSdkState.configs),LH=IH.newSdkState.clients,_H=IH.newSdkState.tools,fH=IH.newDynamicState,IH.sdkServersChanged){let tH=new Set(LH.map((W6)=>W6.name)),oH=L9([...NH,...tH]);$((W6)=>({...W6,mcp:{...W6.mcp,tools:[...W6.mcp.tools.filter((N6)=>!oH.some((G8)=>N6.name.startsWith(ym(G8)))),..._H]}}))}return{response:IH.response,sdkServersChanged:IH.sdkServersChanged}};return FH=FH.then(TH,TH),FH}function aH(){let Z6=f(),v6=Z6.mcp.clients,KH=_J([...Z6.mcp.tools,...fH.tools],"name"),TH=new Set([...v6.map((NH)=>NH.name),...LH.map((NH)=>NH.name)]);return[...v6,...LH,...fH.clients.filter((NH)=>!TH.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 vH=NH.type==="connected"?D6H(KH,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,IH;if(NH.type==="connected"&&NH.capabilities.experimental){let tH={...NH.capabilities.experimental};if(tH["claude/channel"]&&(!fkH()||!VC_(NH.config.pluginSource)))delete tH["claude/channel"];if(Object.keys(tH).length>0)IH={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:vH,capabilities:IH}})}async function f6(Z6){try{await Promise.all([Promise.resolve(),MuH("headless_managed_settings_wait",()=>FL8())])}catch(KH){RH(KH)}let v6=!1;try{let KH=new Set(Object.keys((await j6H()).servers));if(v6=await SjK(Z6),v6){let TH=performance.now();if(await L6(KH,"plugin_install_diff"),mH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))VI("plugin_mcp_reconcile_ms",performance.now()-TH)}}catch(KH){N(`Headless plugin install / MCP reconcile failed: ${EH(KH)}`,{level:"error"})}return v6}let gH=null,xH=performance.now(),eH=aIH()?owK():null,$6=null,Y6;if(!K4())if(mH(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))Y6=Y.outputFormat==="stream-json"?(Z6)=>void H.write({type:"system",subtype:"plugin_install",status:Z6.status,name:"name"in Z6?Z6.name:void 0,error:"error"in Z6?Z6.error:void 0,uuid:jj.randomUUID(),session_id:S6()}):void 0,Y6?.({status:"started"}),gH=f6((Z6)=>Y6?.(Z6));else $6=gjK(f6);let lH=f().mcp.clients.length,u6=PqA(f),o6=VjK(()=>!j);async function cH(){let{agentDefinitions:Z6}=await dXH($);$H=XSH(await a2(c86.cwd()));let v6=WH.filter((KH)=>KH.source==="flagSettings");WH=[...Z6.allAgents,...v6]}async function L6(Z6,v6){let{servers:KH}=await j6H(),TH={};for(let[vH,IH]of Object.entries(KH)){if(Z6?.has(vH)&&!(vH in fH.configs))continue;let tH=IH.type;if(tH===void 0||tH==="stdio"||tH==="sse"||tH==="http"||tH==="sdk")TH[vH]=IH}for(let[vH,IH]of Object.entries(M))if(IH.type==="sdk"&&!(vH in TH))TH[vH]=IH;let{response:NH,sdkServersChanged:VH}=await pH(TH,{authoritative:!1,caller:v6});if(VH)MH();N(`Headless MCP refresh: added=${NH.added.length}, removed=${NH.removed.length}`)}let E6=Z86.subscribe(()=>{bo(),a2(c86.cwd()).then((Z6)=>{$H=XSH(Z6)})});uKH(()=>{if(I&&P8q("now").length>0)I.abort("interrupt")});let p6=async()=>{if(j)return;j=!0,T=void 0,H.sessionState.notifyStateChanged("running"),H.resetStallWatchdog(),o6.stop(),oP("run_entry"),VI("first_message_read_ms",performance.now()),tB1();try{if(await MH(),oP("after_updateSdkMcp"),eH){let KH=nwK()-(performance.now()-xH),TH=r8(Math.max(0,KH)).then(()=>"timeout");if(await Promise.race([eH,TH])==="timeout")c("tengu_skills_sync_wait_timeout",{}),MqA()}if(gH){let KH=performance.now(),TH=parseInt(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS||"",10);if(TH>0){let VH=r8(TH).then(()=>"timeout");if(await Promise.race([gH,VH])==="timeout")N(`CLAUDE_CODE_SYNC_PLUGIN_INSTALL: plugin installation timed out after ${TH}ms`,{level:"error"}),c("tengu_sync_plugin_install_timeout",{timeout_ms:TH})}else await gH;VI("plugin_install_ms",performance.now()-KH),gH=null;try{await cH()}catch(VH){RH(VH)}let{setupPluginHookHotReload:NH}=await Promise.resolve().then(() => (JkH(),tC_));NH()}}finally{Y6?.({status:"completed"}),Y6=void 0}if(mH(process.env.CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH)&&$6?.needsRefresh){$6.needsRefresh=!1;try{await cH()}catch(KH){RH(KH)}}let v6=HI5(y,mH(process.env.CLAUDE_CODE_REMOTE));try{let KH,TH=!1,NH=!0,VH=(tH)=>Z(tH)&&tH.mode==="orphaned-permission",vH=()=>{let tH=wdH(VH);if(tH)return N(`drainCommandQueue: prioritizing orphaned-permission for toolUseID=${tH.orphanedPermission?.permissionResult?.toolUseID??"<unknown>"}`),tH;return wdH(Z)},IH=async()=>{while(KH=vH()){if(KH.mode!=="prompt"&&KH.mode!=="orphaned-permission"&&KH.mode!=="task-notification")throw Error("only prompt commands are supported in streaming mode");let tH=[KH];if(KH.mode==="prompt"){while(djK(KH,_VH(Z)))tH.push(wdH(Z));if(tH.length>1)KH={...KH,value:QjK(tH.map((e6)=>e6.value)),uuid:tH.findLast((e6)=>e6.uuid)?.uuid??KH.uuid,fileAttachments:tH.flatMap((e6)=>e6.fileAttachments??[]),clientPlatform:tH.find((e6)=>e6.clientPlatform)?.clientPlatform??KH.clientPlatform}}let oH=tH.map((e6)=>e6.uuid).filter((e6)=>e6!==void 0);if(Y.replayUserMessages&&tH.length>1){for(let e6 of tH)if(e6.uuid&&e6.uuid!==KH.uuid)y.enqueue({type:"user",message:{role:"user",content:e6.value},session_id:S6(),parent_tool_use_id:null,uuid:e6.uuid,isReplay:!0,...e6.fileAttachments?.length&&{file_attachments:e6.fileAttachments},...e6.origin&&{origin:e6.origin}})}if(NH){NH=!1,oP("before_mcp_prewait");let e6=performance.now();if(f().mcp.clients.length>lH)await PqA(f,void 0,lH>0);else await u6;VI("mcp_prewait_ms",performance.now()-e6),oP("after_mcp_prewait")}let W6=f(),N6=[...W6.mcp.clients,...LH,...fH.clients];AH(N6);for(let e6 of N6)JqA(e6);let G8=ZH(W6);for(let e6 of oH)H.onCommandLifecycle?.(e6,"started");if(KH.mode==="task-notification"){let e6=typeof KH.value==="string"?KH.value:"",b8=e6.match(/<task-id>([^<]+)<\/task-id>/),Q_=e6.match(/<tool-use-id>([^<]+)<\/tool-use-id>/),A8=e6.match(/<output-file>([^<]+)<\/output-file>/),I8=e6.match(/<status>([^<]+)<\/status>/),N_=e6.match(/<summary>([^<]+)<\/summary>/),a8=(c5)=>c5==="completed"||c5==="failed"||c5==="stopped"||c5==="killed",JA=I8?.[1],H1=a8(JA)?JA==="killed"?"stopped":JA:"completed",_4=e6.match(/<usage>([\s\S]*?)<\/usage>/)?.[1]??"",DA=_4.match(/<total_tokens>(\d+)<\/total_tokens>/),p7=_4.match(/<tool_uses>(\d+)<\/tool_uses>/),y9=_4.match(/<duration_ms>(\d+)<\/duration_ms>/);if(I8)y.enqueue({type:"system",subtype:"task_notification",task_id:b8?.[1]??"",tool_use_id:Q_?.[1],status:H1,output_file:A8?.[1]??"",summary:N_?.[1]??"",usage:DA&&p7?{total_tokens:parseInt(DA[1],10),tool_uses:parseInt(p7[1],10),duration_ms:y9?parseInt(y9[1],10):0}:void 0,session_id:S6(),uuid:jj.randomUUID()})}let W8=KH.value;if(H instanceof Yk6&&KH.mode==="prompt")c("tengu_bridge_message_received",{is_repl:!1});if(KH.shouldQuery!==!1){if(b.abortController?.abort(),b.abortController=null,b.pendingSuggestion=null,b.pendingLastEmittedEntry=null,b.lastEmitted&&KH.mode==="prompt"){let e6=typeof W8==="string"?W8:W8.find((b8)=>b8.type==="text")?.text;if(typeof e6==="string")yOq(b.lastEmitted.text,e6,b.lastEmitted.emittedAt,b.lastEmitted.promptId,b.lastEmitted.generationRequestId);b.lastEmitted=null}}I=B1();let Y_=void 0;oP("before_ask"),hE6();let C8=KH;if(C8.uuid!==void 0&&D8q(C8.uuid)){H.onCommandLifecycle?.(C8.uuid,"completed");continue}let E_=typeof W8==="string"?W8:$K(W8,`
|
|
23933
23933
|
`);await Ql6(C8.workload??Y.workload,()=>n78(E_,async()=>{let e6=!1,b8=!1,Q_=0,A8=B0(),I8=m.length;J=Date.now(),cd.startCLIActivity("print-ask");try{for await(let N_ of TjK({commands:_J([...$H,...W6.mcp.commands],"name"),prompt:W8,promptUuid:C8.uuid,isMeta:C8.isMeta,shouldQuery:C8.shouldQuery,stopHookActive:C8.stopHookActive,fileAttachments:C8.fileAttachments,origin:C8.origin??(C8.mode==="task-notification"?{kind:"task-notification"}:void 0),clientPlatform:C8.clientPlatform,cwd:c86.cwd(),tools:G8,refreshTools:()=>ZH(f()),refreshMcpClients:()=>[...f().mcp.clients,...LH,...fH.clients],verbose:Y.verbose,mcpClients:N6,thinkingConfig:e,maxTurns:Y.maxTurns,maxBudgetUsd:Y.maxBudgetUsd,taskBudget:Y.taskBudget,canUseTool:L,userSpecifiedModel:HH,fallbackModel:Y.fallbackModel,jsonSchema:Xh6()??Y.jsonSchema,mutableMessages:m,sessionEnvVars:Q,isolationLatch:l,getReadFileCache:()=>d.size===0?B:ndH(B,d),setReadFileCache:(a8)=>{B=a8;for(let[JA,H1]of d.entries()){let M1=B.get(JA);if(!M1||H1.timestamp>M1.timestamp)B.set(JA,H1)}d.clear()},customSystemPrompt:GH(),appendSystemPrompt:Y.appendSystemPrompt,planModeInstructions:Y.planModeInstructions,appendSubagentSystemPrompt:Y.appendSubagentSystemPrompt,toolAliases:Y.toolAliases,excludeDynamicSections:Y.excludeDynamicSections,getAppState:f,setAppState:$,abortController:I,replayUserMessages:Y.replayUserMessages,includePartialMessages:Y.includePartialMessages,forwardSubagentText:Y.forwardSubagentText,onCommandLifecycle:H.onCommandLifecycle,sessionState:H.sessionState,requestDialog:sN5(H),agents:WH,allowedAgentTypes:jH,orphanedPermission:C8.orphanedPermission,deferredToolUse:P,setSDKStatus:(a8,JA)=>{y.enqueue({type:"system",subtype:"status",status:a8,...JA?.compactResult!==void 0&&{compact_result:JA.compactResult},...JA?.compactError!==void 0&&{compact_error:JA.compactError},session_id:S6(),uuid:jj.randomUUID()})}})){if(P=void 0,BH(),N_.type==="system"){if(N_.subtype==="api_retry")e6=!0,Q_=Math.max(Q_,N_.error_status??0);if(N_.subtype==="compact_boundary")b8=!0,I8=m.length}if(N_.type==="result"){if(J!==void 0)c("tengu_sdk_result",{subtype:N_.subtype,is_error:N_.is_error,num_turns:N_.num_turns,duration_ms:N_.duration_ms,duration_api_ms:B0()-A8,saw_retry:e6,saw_compact:b8,retry_status:e6?Q_:void 0,api_error_status:N_.subtype==="success"?N_.api_error_status??void 0:void 0,...g(I8,G8)}),J=void 0;if(N_.is_error)jh8(H.sessionState,N_.subtype==="success"?N_.result:N_.errors[0]);for(let JA of tzH())y.enqueue(JA);let a8=f();if(C8.shouldQuery===!1){if(Y.sessionMirror)await FV();y.enqueue(N_)}else if(eX8(a8).some((JA)=>(JA.type==="local_agent"||JA.type==="local_workflow")&&pz(JA)))V=N_;else{if(V=null,Y.sessionMirror)await FV();y.enqueue(N_)}}else{for(let a8 of tzH())y.enqueue(a8);y.enqueue(N_)}}}finally{X6H(),cd.endCLIActivity("print-ask")}}));for(let e6 of oH)H.onCommandLifecycle?.(e6,"completed");if(BH(),SH?.sendResult(),Y.promptSuggestions&&C8.shouldQuery!==!1&&!t1(process.env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION)){b.abortController?.abort();let b8=new AbortController;b.abortController=b8;let Q_=$6H();if(!Q_)YV("sdk_no_params",void 0,void 0,"sdk");else{let A8={promise:null};A8.promise=(async()=>{try{let I8=await WG_(b8,m,f,Q_,"sdk");if(!I8||b8.signal.aborted)return;let N_={type:"prompt_suggestion",suggestion:I8.suggestion,uuid:jj.randomUUID(),session_id:S6()},a8={text:I8.suggestion,emittedAt:Date.now(),promptId:I8.promptId,generationRequestId:I8.generationRequestId};if(V)b.pendingSuggestion=N_,b.pendingLastEmittedEntry={text:a8.text,promptId:a8.promptId,generationRequestId:a8.generationRequestId};else b.lastEmitted=a8,y.enqueue(N_)}catch(I8){if(I8 instanceof Error&&(I8.name==="AbortError"||I8.name==="APIUserAbortError")){YV("aborted",void 0,void 0,"sdk");return}RH(c_(I8))}finally{if(b.inflightPromise===A8.promise)b.inflightPromise=null}})(),b.inflightPromise=A8.promise}}DQ_(),_08(),YQ_()}};do{for(let tH of tzH())y.enqueue(tH);T="draining_commands",await IH(),TH=!1;{let tH=f(),oH=eX8(tH).some((N6)=>pz(N6)&&N6.type!=="in_process_teammate"),W6=_VH(Z)!==void 0;if(oH||W6){if(TH=!0,!W6)T="waiting_for_agents",v6(),await r8(100)}}}while(TH);if(V){if(Y.sessionMirror)await FV();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(KH){if(c("tengu_sdk_session_crash",fI5(KH)),!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(Y.sessionMirror)await FV();jh8(H.sessionState,EH(KH)),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:S6(),total_cost_usd:0,usage:TX,modelUsage:{},permission_denials:[],uuid:jj.randomUUID(),errors:[EH(KH),...mWH().map((TH)=>TH.error)]})}catch{}await Promise.race([H.flushSessionState(),r8(5000,void 0,{unref:!0})]),b.abortController?.abort(),IK(1);return}finally{if(T="finally_flush",await H.flushInternalEvents(),T="finally_post_flush",!jx())await Promise.race([H.flushDeliveryAcks(),r8(5000,void 0,{unref:!0})]);if(!jx()){H.sessionState.notifyStateChanged("idle");for(let KH of tzH())y.enqueue(KH)}j=!1,o6.start()}if(_VH(Z)!==void 0){p6();return}{let TH=f().teamContext;if(TH&&Tk(TH))while(!0){let vH=f();if(!(il6(vH)||vH.teamContext&&Object.keys(vH.teamContext.teammates).length>0)){N("[print.ts] No more active teammates, stopping poll");break}let tH=await IIH("team-lead",vH.teamContext?.teamName);if(tH.length>0){N(`[print.ts] Team-lead found ${tH.length} unread messages`),await j26("team-lead",vH.teamContext?.teamName);let oH=vH.teamContext?.teamName;for(let N6 of tH){let G8=jR(N6.text);if(G8&&oH){let W8=G8.from;N(`[print.ts] Processing shutdown_approved from ${W8}`);let Y_=vH.teamContext?.teammates?Object.entries(vH.teamContext.teammates).find(([,C8])=>C8.name===W8)?.[0]:void 0;if(Y_)RkH(oH,{agentId:Y_,name:W8}),N(`[print.ts] Removed ${W8} from team file`),await wDH(oH,Y_,W8,"shutdown"),$((C8)=>{if(!C8.teamContext?.teammates)return C8;if(!(Y_ in C8.teamContext.teammates))return C8;let{[Y_]:E_,...e6}=C8.teamContext.teammates;return{...C8,teamContext:{...C8.teamContext,teammates:e6}}})}}let W6=tH.map((N6)=>`<${kW} teammate_id="${N6.from}"${N6.color?` color="${N6.color}"`:""}>
|
|
23934
23934
|
${N6.text}
|
|
23935
23935
|
</${kW}>`).join(`
|