MCPcopy Create free account
hub / github.com/ChinaSiro/claude-code-sourcemap / _aY

Function _aY

package/cli.js:16417–16439  ·  view source on GitHub ↗
(q,K,_,z,Y,$,A,O)

Source from the content-addressed store, hash-verified

16415`),N(`streamJsonStdoutGuard diverted non-JSON stdout line: ${O.slice(0,200)}`)}let A=typeof K==="function"?K:_;if(A)queueMicrotask(()=>A());return $},pq(async()=>{if(ad.length>0){if(GM6&&V75(ad))GM6(ad+`
16416`);else process.stderr.write(`${k75} ${ad}
16417`);ad=""}if(GM6)process.stdout.write=GM6,GM6=null;dA7=!1})}var k75="[stdout-guard]",dA7=!1,ad="",GM6=null;var y75=y(()=>{c9();_8()});async function cA7({tools:q,mainLoopModel:K,additionalWorkingDirectories:_,mcpClients:z,customSystemPrompt:Y}){let[$,A,O]=await Promise.all([Y!==void 0?Promise.resolve([]):QP(q,K,_,z),bO(),Y!==void 0?Promise.resolve({}):tw()]);return{defaultSystemPrompt:$,userContext:A,systemContext:O}}async function E75({tools:q,commands:K,mcpClients:_,messages:z,readFileState:Y,getAppState:$,setAppState:A,customSystemPrompt:O,appendSystemPrompt:w,thinkingConfig:j,agents:H}){let J=D5(),M=$(),{defaultSystemPrompt:X,userContext:P,systemContext:W}=await cA7({tools:q,mainLoopModel:J,additionalWorkingDirectories:Array.from(M.toolPermissionContext.additionalWorkingDirectories.keys()),mcpClients:_,customSystemPrompt:O}),D=iK([...O!==void 0?[O]:X,...w?[w]:[]]),f=z.at(-1),G=f?.type==="assistant"&&f.message.stop_reason===null?z.slice(0,-1):z,Z={options:{commands:K,debug:!1,mainLoopModel:J,tools:q,verbose:!1,thinkingConfig:j??(j76()!==!1?{type:"adaptive"}:{type:"disabled"}),mcpClients:_,mcpResources:{},isNonInteractiveSession:!0,agentDefinitions:{activeAgents:H,allAgents:[]},customSystemPrompt:O,appendSystemPrompt:w},abortController:P3(),readFileState:Y,getAppState:$,setAppState:A,messages:G,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:()=>{},updateAttributionState:()=>{}};return{systemPrompt:D,userContext:P,systemContext:W,toolUseContext:Z,forkContextMessages:G}}var lA7=y(()=>{rL();jN();B2();aq();WL()});import{randomUUID as TM6}from"crypto";class R75{config;mutableMessages;abortController;permissionDenials;totalUsage;hasHandledOrphanedPermission=!1;readFileState;discoveredSkillNames=new Set;loadedNestedMemoryPaths=new Set;constructor(q){this.config=q,this.mutableMessages=q.initialMessages??[],this.abortController=q.abortController??P3(),this.permissionDenials=[],this.readFileState=q.readFileCache,this.totalUsage=n0}async*submitMessage(q,K){let{cwd:_,commands:z,tools:Y,mcpClients:$,verbose:A=!1,thinkingConfig:O,maxTurns:w,maxBudgetUsd:j,taskBudget:H,canUseTool:J,customSystemPrompt:M,appendSystemPrompt:X,userSpecifiedModel:P,fallbackModel:W,jsonSchema:D,getAppState:f,setAppState:G,replayUserMessages:Z=!1,includePartialMessages:T=!1,agents:v=[],setSDKStatus:V,orphanedPermission:E}=this.config;this.discoveredSkillNames.clear(),QO(_);let S=!ey(),R=Date.now(),x=async(C6,l6,S6,E6,R6,h6)=>{let x6=await J(C6,l6,S6,E6,R6,h6);if(x6.behavior!=="allow")this.permissionDenials.push({tool_name:Xz7(C6.name),tool_use_id:R6,tool_input:l6});return x6},I=f(),B=P?A5(P):D5(),p=O?O:j76()!==!1?{type:"adaptive"}:{type:"disabled"};HM("before_getSystemPrompt");let C=typeof M==="string"?M:void 0,{defaultSystemPrompt:g,userContext:F,systemContext:U}=await cA7({tools:Y,mainLoopModel:B,additionalWorkingDirectories:Array.from(I.toolPermissionContext.additionalWorkingDirectories.keys()),mcpClients:$,customSystemPrompt:C});HM("after_getSystemPrompt");let c={...F,...loY($,Sd()?n56():void 0)},K6=C!==void 0&&Gf8()?await GQ8():null,t=iK([...C!==void 0?[C]:g,...K6?[K6]:[],...X?[X]:[]]),q6=Y.some((C6)=>g_(C6,MD));if(D&&q6)EQ8(G,N8());let e={messages:this.mutableMessages,setMessages:(C6)=>{this.mutableMessages=C6(this.mutableMessages)},onChangeAPIKey:()=>{},handleElicitation:this.config.handleElicitation,options:{commands:z,debug:!1,tools:Y,verbose:A,mainLoopModel:B,thinkingConfig:p,mcpClients:$,mcpResources:{},ideInstallationStatus:null,isNonInteractiveSession:!0,customSystemPrompt:M,appendSystemPrompt:X,agentDefinitions:{activeAgents:v,allAgents:[]},theme:OF(j8().theme),maxBudgetUsd:j},getAppState:f,setAppState:G,abortController:this.abortController,readFileState:this.readFileState,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:this.loadedNestedMemoryPaths,dynamicSkillDirTriggers:new Set,discoveredSkillNames:this.discoveredSkillNames,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:(C6)=>{G((l6)=>{let S6=C6(l6.fileHistory);if(S6===l6.fileHistory)return l6;return{...l6,fileHistory:S6}})},updateAttributionState:(C6)=>{G((l6)=>{let S6=C6(l6.attribution);if(S6===l6.attribution)return l6;return{...l6,attribution:S6}})},setSDKStatus:V};if(E&&!this.hasHandledOrphanedPermission){this.hasHandledOrphanedPermission=!0;for await(let C6 of Ey4(E,Y,this.mutableMessages,e))yield C6}let{messages:i,shouldQuery:$6,allowedTools:M6,model:j6,resultText:G6}=await kc8({input:q,mode:"prompt",setToolJSX:()=>{},context:{...e,messages:this.mutableMessages},messages:this.mutableMessages,uuid:K?.uuid,isMeta:K?.isMeta,querySource:"sdk"});this.mutableMessages.push(...i);let w6=[...this.mutableMessages];if(S&&i.length>0){let C6=fN(w6);if(f9());else if(await C6,i6(process.env.CLAUDE_CODE_EAGER_FLUSH)||i6(process.env.CLAUDE_CODE_IS_COWORK))await Hd()}let o=i.filter((C6)=>C6.type==="user"&&!C6.isMeta&&!C6.toolUseResult&&L75().selectableUserMessagesFilter(C6)||C6.type==="system"&&C6.subtype==="compact_boundary"),s=Z?o:[];G((C6)=>({...C6,toolPermissionContext:{...C6.toolPermissionContext,alwaysAllowRules:{...C6.toolPermissionContext.alwaysAllowRules,command:M6}}}));let a=j6??B;e={messages:w6,setMessages:()=>{},onChangeAPIKey:()=>{},handleElicitation:this.config.handleElicitation,options:{commands:z,debug:!1,tools:Y,verbose:A,mainLoopModel:a,thinkingConfig:p,mcpClients:$,mcpResources:{},ideInstallationStatus:null,isNonInteractiveSession:!0,customSystemPrompt:M,appendSystemPrompt:X,theme:OF(j8().theme),agentDefinitions:{activeAgents:v,allAgents:[]},maxBudgetUsd:j},getAppState:f,setAppState:G,abortController:this.abortController,readFileState:this.readFileState,nestedMemoryAttachmentTriggers:new Set,loadedNestedMemoryPaths:this.loadedNestedMemoryPaths,dynamicSkillDirTriggers:new Set,discoveredSkillNames:this.discoveredSkillNames,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:e.updateFileHistoryState,updateAttributionState:e.updateAttributionState,setSDKStatus:V},HM("before_skills_plugins");let[n,{enabled:l}]=await Promise.all([EO6(Z8()),ZJ()]);if(HM("after_skills_plugins"),yield eQ8({tools:Y,mcpClients:$,model:a,permissionMode:I.toolPermissionContext.mode,commands:z,agents:v,skills:n,plugins:l,fastMode:I.fastMode}),HM("system_message_yielded"),!$6){for(let C6 of i){if(C6.type==="user"&&typeof C6.message.content==="string"&&(C6.message.content.includes(`<${bZ}>`)||C6.message.content.includes(`<${__6}>`)||C6.isCompactSummary))yield{type:"user",message:{...C6.message,content:VY(C6.message.content)},session_id:N8(),parent_tool_use_id:null,uuid:C6.uuid,timestamp:C6.timestamp,isReplay:!C6.isCompactSummary,isSynthetic:C6.isMeta||C6.isVisibleInTranscriptOnly};if(C6.type==="system"&&C6.subtype==="local_command"&&typeof C6.content==="string"&&(C6.content.includes(`<${bZ}>`)||C6.content.includes(`<${__6}>`)))yield e57(C6.content,C6.uuid);if(C6.type==="system"&&C6.subtype==="compact_boundary")yield{type:"system",subtype:"compact_boundary",session_id:N8(),uuid:C6.uuid,compact_metadata:MU8(C6.compactMetadata)}}if(S){if(await fN(w6),i6(process.env.CLAUDE_CODE_EAGER_FLUSH)||i6(process.env.CLAUDE_CODE_IS_COWORK))await Hd()}yield{type:"result",subtype:"success",is_error:!1,duration_ms:Date.now()-R,duration_api_ms:ay(),num_turns:w6.length-1,result:G6??"",stop_reason:null,session_id:N8(),total_cost_usd:fW(),usage:this.totalUsage,modelUsage:Nx(),permission_denials:this.permissionDenials,fast_mode_state:II(a,I.fastMode),uuid:TM6()};return}if(e$()&&S)i.filter(L75().selectableUserMessagesFilter).forEach((C6)=>{aE6((l6)=>{G((S6)=>({...S6,fileHistory:l6(S6.fileHistory)}))},C6.uuid)});let A6=n0,J6=1,X6=!1,f6,N6=null,Z6=A_6().at(-1),V6=D?H77(this.mutableMessages,MD):0;for await(let C6 of Db({messages:w6,systemPrompt:t,userContext:c,systemContext:U,canUseTool:x,toolUseContext:e,fallbackModel:W,querySource:"sdk",maxTurns:w,taskBudget:H})){if(C6.type==="assistant"||C6.type==="user"||C6.type==="system"&&C6.subtype==="compact_boundary"){if(S&&C6.type==="system"&&C6.subtype==="compact_boundary"){let l6=C6.compactMetadata?.preservedSegment?.tailUuid;if(l6){let S6=this.mutableMessages.findLastIndex((E6)=>E6.uuid===l6);if(S6!==-1)await fN(this.mutableMessages.slice(0,S6+1))}}if(w6.push(C6),S)if(C6.type==="assistant")fN(w6);else await fN(w6);if(!X6&&s.length>0){X6=!0;for(let l6 of s)if(l6.type==="user")yield{type:"user",message:l6.message,session_id:N8(),parent_tool_use_id:null,uuid:l6.uuid,timestamp:l6.timestamp,isReplay:!0}}}if(C6.type==="user")J6++;switch(C6.type){case"tombstone":break;case"assistant":if(C6.message.stop_reason!=null)N6=C6.message.stop_reason;this.mutableMessages.push(C6),yield*IN8(C6);break;case"progress":if(this.mutableMessages.push(C6),S)w6.push(C6),fN(w6);yield*IN8(C6);break;case"user":this.mutableMessages.push(C6),yield*IN8(C6);break;case"stream_event":if(C6.event.type==="message_start")A6=n0,A6=iK6(A6,C6.event.message.usage);if(C6.event.type==="message_delta"){if(A6=iK6(A6,C6.event.usage),C6.event.delta.stop_reason!=null)N6=C6.event.delta.stop_reason}if(C6.event.type==="message_stop")this.totalUsage=Ep8(this.totalUsage,A6);if(T)yield{type:"stream_event",event:C6.event,session_id:N8(),parent_tool_use_id:null,uuid:TM6()};break;case"attachment":if(this.mutableMessages.push(C6),S)w6.push(C6),fN(w6);if(C6.attachment.type==="structured_output")f6=C6.attachment.data;else if(C6.attachment.type==="max_turns_reached"){if(S){if(i6(process.env.CLAUDE_CODE_EAGER_FLUSH)||i6(process.env.CLAUDE_CODE_IS_COWORK))await Hd()}yield{type:"result",subtype:"error_max_turns",duration_ms:Date.now()-R,duration_api_ms:ay(),is_error:!0,num_turns:C6.attachment.turnCount,stop_reason:N6,session_id:N8(),total_cost_usd:fW(),usage:this.totalUsage,modelUsage:Nx(),permission_denials:this.permissionDenials,fast_mode_state:II(a,I.fastMode),uuid:TM6(),errors:[`Reached maximum number of turns (${C6.attachment.maxTurns})`]};return}else if(Z&&C6.attachment.type==="queued_command")yield{type:"user",message:{role:"user",content:C6.attachment.prompt},session_id:N8(),parent_tool_use_id:null,uuid:C6.attachment.source_uuid||C6.uuid,timestamp:C6.timestamp,isReplay:!0};break;case"stream_request_start":break;case"system":{let l6=this.config.snipReplay?.(C6,this.mutableMessages);if(l6!==void 0){if(l6.executed)this.mutableMessages.length=0,this.mutableMessages.push(...l6.messages);break}if(this.mutableMessages.push(C6),C6.subtype==="compact_boundary"&&C6.compactMetadata){let S6=this.mutableMessages.length-1;if(S6>0)this.mutableMessages.splice(0,S6);let E6=w6.length-1;if(E6>0)w6.splice(0,E6);yield{type:"system",subtype:"compact_boundary",session_id:N8(),uuid:C6.uuid,compact_metadata:MU8(C6.compactMetadata)}}if(C6.subtype==="api_error")yield{type:"system",subtype:"api_retry",attempt:C6.retryAttempt,max_retries:C6.maxRetries,retry_delay_ms:C6.retryInMs,error_status:C6.error.status??null,error:wZK(C6.error),session_id:N8(),uuid:C6.uuid};break}case"tool_use_summary":yield{type:"tool_use_summary",summary:C6.summary,preceding_tool_use_ids:C6.precedingToolUseIds,session_id:N8(),uuid:C6.uuid};break}if(j!==void 0&&fW()>=j){if(S){if(i6(process.env.CLAUDE_CODE_EAGER_FLUSH)||i6(process.env.CLAUDE_CODE_IS_COWORK))await Hd()}yield{type:"result",subtype:"error_max_budget_usd",duration_ms:Date.now()-R,duration_api_ms:ay(),is_error:!0,num_turns:J6,stop_reason:N6,session_id:N8(),total_cost_usd:fW(),usage:this.totalUsage,modelUsage:Nx(),permission_denials:this.permissionDenials,fast_mode_state:II(a,I.fastMode),uuid:TM6(),errors:[`Reached maximum budget ($${j})`]};return}if(C6.type==="user"&&D){let S6=H77(this.mutableMessages,MD)-V6,E6=parseInt(process.env.MAX_STRUCTURED_OUTPUT_RETRIES||"5",10);if(S6>=E6){if(S){if(i6(process.env.CLAUDE_CODE_EAGER_FLUSH)||i6(process.env.CLAUDE_CODE_IS_COWORK))await Hd()}yield{type:"result",subtype:"error_max_structured_output_retries",duration_ms:Date.now()-R,duration_api_ms:ay(),is_error:!0,num_turns:J6,stop_reason:N6,session_id:N8(),total_cost_usd:fW(),usage:this.totalUsage,modelUsage:Nx(),permission_denials:this.permissionDenials,fast_mode_state:II(a,I.fastMode),uuid:TM6(),errors:[`Failed to provide valid structured output after ${E6} attempts`]};return}}}let y6=w6.findLast((C6)=>C6.type==="assistant"||C6.type==="user"),T6=y6?.type??"undefined",n6=y6?.type==="assistant"?tS(y6.message.content)?.type??"none":"n/a";if(S){if(i6(process.env.CLAUDE_CODE_EAGER_FLUSH)||i6(process.env.CLAUDE_CODE_IS_COWORK))await Hd()}if(!yy4(y6,N6)){yield{type:"result",subtype:"error_during_execution",duration_ms:Date.now()-R,duration_api_ms:ay(),is_error:!0,num_turns:J6,stop_reason:N6,session_id:N8(),total_cost_usd:fW(),usage:this.totalUsage,modelUsage:Nx(),permission_denials:this.permissionDenials,fast_mode_state:II(a,I.fastMode),uuid:TM6(),errors:(()=>{let C6=A_6(),l6=Z6?C6.lastIndexOf(Z6)+1:0;return[`[ede_diagnostic] result_type=${T6} last_content_type=${n6} stop_reason=${N6}`,...C6.slice(l6).map((S6)=>S6.error)]})()};return}let o6="",I6=!1;if(y6.type==="assistant"){let C6=tS(y6.message.content);if(C6?.type==="text"&&!i76.has(C6.text))o6=C6.text;I6=Boolean(y6.isApiErrorMessage)}yield{type:"result",subtype:"success",is_error:I6,duration_ms:Date.now()-R,duration_api_ms:ay(),num_turns:J6,result:o6,stop_reason:N6,session_id:N8(),total_cost_usd:fW(),usage:this.totalUsage,modelUsage:Nx(),permission_denials:this.permissionDenials,structured_output:f6,fast_mode_state:II(a,I.fastMode),uuid:TM6()}}interrupt(){this.abortController.abort()}getMessages(){return this.mutableMessages}getReadFileState(){return this.readFileState}getSessionId(){return N8()}setModel(q){this.config.userSpecifiedModel=q}}async function*h75({commands:q,prompt:K,promptUuid:_,isMeta:z,cwd:Y,tools:$,mcpClients:A,verbose:O=!1,thinkingConfig:w,maxTurns:j,maxBudgetUsd:H,taskBudget:J,canUseTool:M,mutableMessages:X=[],getReadFileCache:P,setReadFileCache:W,customSystemPrompt:D,appendSystemPrompt:f,userSpecifiedModel:G,fallbackModel:Z,jsonSchema:T,getAppState:v,setAppState:V,abortController:E,replayUserMessages:S=!1,includePartialMessages:R=!1,handleElicitation:x,agents:I=[],setSDKStatus:B,orphanedPermission:p}){let C=new R75({cwd:Y,tools:$,commands:q,mcpClients:A,agents:I,canUseTool:M,getAppState:v,setAppState:V,initialMessages:X,readFileCache:gu(P()),customSystemPrompt:D,appendSystemPrompt:f,userSpecifiedModel:G,fallbackModel:Z,thinkingConfig:w,maxTurns:j,maxBudgetUsd:H,taskBudget:J,jsonSchema:T,verbose:O,handleElicitation:x,replayUserMessages:S,includePartialMessages:R,setSDKStatus:B,abortController:E,orphanedPermission:p,...{}});try{yield*C.submitMessage(K,{uuid:_,isMeta:z})}finally{W(C.getReadFileState())}}var L75=()=>(Md8(),Eq(IQK)),loY=()=>({});var S75=y(()=>{cl6();v8();ew();J18();CT();yA();RY();Tb();n76();rw();Tj6();SC();Bq();GU();B2();V1();I7();m8();xf();oN();NG();mr6();LQ8();E8();i1();aq();bj();b$7();lA7();tN();_K();WL();yS6();Pz7();Tz();To6()});var C75=y(()=>{k8();hx8();I7();y8();E8();nC();or1()});function b75(q){let K=process.env.CLAUDE_CODE_EXIT_AFTER_STOP_DELAY,_=K?parseInt(K,10):null,z=_&&!isNaN(_)&&_>0,Y=null,$=0;return{start(){if(Y)clearTimeout(Y),Y=null;if(z)$=Date.now(),Y=setTimeout(()=>{let A=Date.now()-$;if(q()&&A>=_)N(`Exiting after ${_}ms of idle time`),eK()},_)},stop(){if(Y)clearTimeout(Y),Y=null}}}var x75=y(()=>{_8();RA()});import{randomUUID as I75}from"crypto";function u75(q){if(q.toLowerCase().endsWith(".jsonl"))return{sessionId:I75(),ingressUrl:null,isUrl:!1,jsonlFile:q,isJsonlFile:!0};if(BL(q))return{sessionId:q,ingressUrl:null,isUrl:!1,jsonlFile:null,isJsonlFile:!1};try{let K=new URL(q);return{sessionId:I75(),ingressUrl:K.href,isUrl:!0,jsonlFile:null,isJsonlFile:!1}}catch{}return null}var m75=y(()=>{jm()});import{readFile as p75}from"fs/promises";import{join as nA7}from"path";async function noY(){try{let q=await p75(y17(),"utf-8"),K=OD6().safeParse(r8(q));if(!K.success)return N(`Invalid known_marketplaces.json in zip cache: ${K.error.message}`,{level:"error"}),{};return K.data}catch{return{}}}async function ioY(q){await JB8(y17(),g6(q,null,2))}async function roY(q,K){let _=R18();if(!_)return;let z=await ooY(K);if(z!==null){let Y=xfK(q);await JB8(nA7(_,Y),z)}}async function ooY(q){let K=[nA7(q,".claude-plugin","marketplace.json"),nA7(q,"marketplace.json"),q];for(let _ of K)try{return await p75(_,"utf-8")}catch{}return null}async function B75(){let q=await eK6();for(let[z,Y]of Object.entries(q)){if(!Y.installLocation)continue;try{await roY(z,Y.installLocation)}catch($){N(`Failed to save marketplace JSON for ${z}: ${$}`)}}let _={...await noY(),...q};await ioY(_)}var g75=y(()=>{_8();l8();Nw();BZ();Oh6()});async function F75(){let q=Sb();N(`installPluginsForHeadless: starting${q?" (zip cache mode)":""}`);let K=await GB8();if(K)zd(),Yk("headlessPluginInstall: seed marketplaces registered");if(q)await X8().mkdir(hfK()),await X8().mkdir(SfK());let _=Object.keys(tK6()).length,z={marketplaces_installed:0,delisted_count:0},Y=K;try{if(_===0)N("installPluginsForHeadless: no marketplaces declared");else{let A=await mW6("headless_marketplace_reconcile",()=>rc8({skip:q?(w,j)=>!IfK(j):void 0,onProgress:(w)=>{if(w.type==="installed")N(`installPluginsForHeadless: installed marketplace ${w.name}`);else if(w.type==="failed")N(`installPluginsForHeadless: failed to install marketplace ${w.name}: ${w.error}`)}}),(w)=>({installed_count:w.installed.length,updated_count:w.updated.length,failed_count:w.failed.length,skipped_count:w.skipped.length}));if(A.skipped.length>0)N(`installPluginsForHeadless: skipped ${A.skipped.length} marketplace(s) unsupported by zip cache: ${A.skipped.join(", ")}`);let O=A.installed.length+A.updated.length;if(O>0)zd(),Yk("headlessPluginInstall: marketplaces reconciled"),Y=!0;z.marketplaces_installed=O}if(q)await B75();let $=await Lc8();if(z.delisted_count=$.length,$.length>0)Y=!0;if(Y)Yk("headlessPluginInstall: plugins changed");if(q)pq(CfK);return Y}catch($){return H6($),!1}finally{d("tengu_headless_plugin_install",z)}}var U75=y(()=>{k8();c9();_8();oY();e7();E8();Nw();p$7();bj();zA7();Oh6();g75()});var _q5={};T8(_q5,{runHeadless:()=>_aY,removeInterruptedMessage:()=>t75,reconcileMcpServers:()=>Kq5,joinPromptValues:()=>i75,handleOrphanedPermissionResponse:()=>e75,handleMcpSetServers:()=>qq5,getCanUseToolFn:()=>a75,createCanUseToolWithPermissionPrompt:()=>o75,canBatchWith:()=>r75});import{readFile as aoY,stat as soY}from"fs/promises";import{dirname as Q75}from"path";import{cwd as GK8}from"process";import{randomUUID as wW}from"crypto";function qaY(q){if(Vl8.has(q))return!1;if(Vl8.add(q),vl8.push(q),vl8.length>n75){let K=vl8.splice(0,vl8.length-n75);for(let _ of K)Vl8.delete(_)}return!0}function KaY(q){return typeof q==="string"?[{type:"text",text:q}]:q}function i75(q){if(q.length===1)return q[0];if(q.every((K)=>typeof K==="string"))return q.join(`
16418`);return q.flatMap(KaY)}function r75(q,K){return K!==void 0&&K.mode==="prompt"&&K.workload===q.workload&&K.isMeta===q.isMeta}async function _aY(q,K,_,z,Y,$,A,O){if(WX.subscribe((x)=>{if(mB8(x,_),BK())_((I)=>{let B=I.settings,p=B.fastMode===!0&&!B.fastModePerSessionOptIn;return{...I,fastMode:p}})}),typeof Bun<"u")setInterval(Bun.gc,1000).unref();if(qu1(),HM("runHeadless_entry"),await cN6())await Bx4();if(HM("after_grove_check"),Xi(),O.resumeSessionAt&&!O.resume){process.stderr.write(`Error: --resume-session-at requires --resume
16419`),eK(1);return}if(O.rewindFiles&&!O.resume){process.stderr.write(`Error: --rewind-files requires --resume
16420`),eK(1);return}if(O.rewindFiles&&q){process.stderr.write(`Error: --rewind-files is a standalone operation and cannot be used with a prompt
16421`),eK(1);return}let w=waY(q,O);if(O.outputFormat==="stream-json")N75();let j=M7.getSandboxUnavailableReason();if(j){if(M7.isSandboxRequired()){process.stderr.write(`
16422Error: sandbox required but unavailable: ${j}
16423`+` sandbox.failIfUnavailable is set — refusing to start without a working sandbox.
16424
16425`),eK(1);return}process.stderr.write(`
16426⚠ Sandbox disabled: ${j}
16427 Commands will run WITHOUT sandboxing. Network and filesystem restrictions will NOT be enforced.
16428
16429`)}else if(M7.isSandboxingEnabled())try{await M7.initialize(w.createSandboxAskCallback())}catch(x){process.stderr.write(`
16430❌ Sandbox Error: ${d6(x)}
16431`),eK(1,"other");return}if(O.outputFormat==="stream-json"&&O.verbose)YfK((x)=>{let I=(()=>{switch(x.type){case"started":return{type:"system",subtype:"hook_started",hook_id:x.hookId,hook_name:x.hookName,hook_event:x.hookEvent,uuid:wW(),session_id:N8()};case"progress":return{type:"system",subtype:"hook_progress",hook_id:x.hookId,hook_name:x.hookName,hook_event:x.hookEvent,stdout:x.stdout,stderr:x.stderr,output:x.output,uuid:wW(),session_id:N8()};case"response":return{type:"system",subtype:"hook_response",hook_id:x.hookId,hook_name:x.hookName,hook_event:x.hookEvent,output:x.output,stdout:x.stdout,stderr:x.stderr,exit_code:x.exitCode,outcome:x.outcome,uuid:wW(),session_id:N8()}}})();w.write(I)});if(O.setupTrigger)await yx8(O.setupTrigger);HM("before_loadInitialMessages");let H=K(),{messages:J,turnInterruptionState:M,agentSetting:X}=await OaY(_,{continue:O.continue,teleport:O.teleport,resume:O.resume,resumeSessionAt:O.resumeSessionAt,forkSession:O.forkSession,outputFormat:O.outputFormat,sessionStartHooksPromise:O.sessionStartHooksPromise,restoredWorkerState:w.restoredWorkerState}),P=n5K();if(P)w.prependUserMessage(P);if(!O.agent&&!qB()&&X){let{agentDefinition:x}=OM6(X,void 0,{activeAgents:A,allAgents:A});if(x){if(_((I)=>({...I,agent:x.agentType})),!O.systemPrompt&&!I2(x)){let I=x.getSystemPrompt();if(I)O.systemPrompt=I}uq8(x.agentType)}}if(J.length===0&&process.exitCode!==void 0)return;if(O.rewindFiles){let x=J.find((p)=>p.uuid===O.rewindFiles);if(!x||x.type!=="user"){process.stderr.write(`Error: --rewind-files requires a user message UUID, but ${O.rewindFiles} is not a user message in this session
16432`),eK(1);return}let I=K(),B=await s75(O.rewindFiles,I,_,!1);if(!B.canRewind){process.stderr.write(`Error: ${B.error||"Unexpected error"}
16433`),eK(1);return}process.stdout.write(`Files rewound to state at message ${O.rewindFiles}
16434`),eK(0);return}let W=typeof O.resume==="string"&&(Boolean(BL(O.resume))||O.resume.endsWith(".jsonl")),D=Boolean(O.sdkUrl);if(!q&&!W&&!D){process.stderr.write(`Error: Input must be provided either through stdin or as a prompt argument when using --print
16435`),eK(1);return}if(O.outputFormat==="stream-json"&&!O.verbose){process.stderr.write(`Error: When using --print, --output-format=stream-json requires --verbose
16436`),eK(1);return}let f=uR6(H.mcp.tools,H.toolPermissionContext),G=[...Y,...f],Z=O.sdkUrl?"stdio":O.permissionPromptToolName,v=a75(Z,w,()=>K().mcp.tools,(x)=>{sS6("requires_action",x)});if(O.permissionPromptToolName)G=G.filter((x)=>!g_(x,O.permissionPromptToolName));Wo8(),HM("after_loadInitialMessages"),await zJ8(),HM("after_modelStrings");let V=O.outputFormat==="json"&&O.verbose,E=[],S,R=null;HM("before_runHeadlessStreaming");for await(let x of zaY(w,H.mcp.clients,[...z,...H.mcp.commands],G,J,v,$,K,_,A,O,M)){if(R){let I=R(x);if(I)await w.write(I)}else if(O.outputFormat==="stream-json"&&O.verbose)await w.write(x);if(x.type!=="control_response"&&x.type!=="control_request"&&x.type!=="control_cancel_request"&&!(x.type==="system"&&(x.subtype==="session_state_changed"||x.subtype==="task_notification"||x.subtype==="task_started"||x.subtype==="task_progress"||x.subtype==="post_turn_summary"))&&x.type!=="stream_event"&&x.type!=="keep_alive"&&x.type!=="streamlined_text"&&x.type!=="streamlined_tool_use_summary"&&x.type!=="prompt_suggestion"){if(V)E.push(x);S=x}}switch(O.outputFormat){case"json":if(!S||S.type!=="result")throw Error("No messages returned");if(O.verbose){C4(g6(E)+`
16437`);break}C4(g6(S)+`
16438`);break;case"stream-json":break;default:if(!S||S.type!=="result")throw Error("No messages returned");switch(S.subtype){case"success":C4(S.result.endsWith(`
16439`)?S.result:S.result+`
16440`);break;case"error_during_execution":C4("Execution error");break;case"error_max_turns":C4(`Error: Reached max turns (${O.maxTurns})`);break;case"error_max_budget_usd":C4(`Error: Exceeded USD budget (${O.maxBudgetUsd})`);break;case"error_max_structured_output_retries":C4("Error: Failed to provide valid structured output after maximum retries")}}if(Ku1(),Zf8())await eoY.drainPendingExtraction();eK(S?.type==="result"&&S?.is_error?1:0)}function zaY(q,K,_,z,Y,$,A,O,w,j,H,J){let M=!1,X,P=!1,W=!1,D=null,f,G=q.outbound,Z=()=>{if(c8("info","shutdown_signal",{signal:"SIGINT"}),f&&!f.signal.aborted)f.abort();xK(0)};process.on("SIGINT",Z),pq(async()=>{let l6={};for(let S6 of gN8(O()))if(uH(S6))l6[S6.type]=(l6[S6.type]??0)+1;c8("info","run_state_at_shutdown",{run_active:M,run_phase:X,worker_status:mUK(),internal_events_pending:q.internalEventsPending,bg_tasks:l6})}),IUK((l6)=>{if(l6==="default"||l6==="acceptEdits"||l6==="bypassPermissions"||l6==="plan"||l6==="auto"||l6==="dontAsk")G.enqueue({type:"system",subtype:"status",status:null,permissionMode:l6,uuid:wW(),session_id:N8()})});let T={abortController:null,inflightPromise:null,lastEmitted:null,pendingSuggestion:null,pendingLastEmittedEntry:null},v;if(H.enableAuthStatus)v=FW.getInstance().subscribe((S6)=>{G.enqueue({type:"auth_status",isAuthenticating:S6.isAuthenticating,output:S6.output,error:S6.error,uuid:wW(),session_id:N8()})});let V=(l6)=>{let S6=fCK(l6);if(S6)G.enqueue({type:"rate_limit_event",rate_limit_info:S6,uuid:wW(),session_id:N8()})};Xq6.add(V);let E=Y,S=hV6(Y,GK8(),tF),R=Bu(tF),x=process.env.CLAUDE_CODE_RESUME_INTERRUPTED_TURN;if(J&&J.kind!=="none"&&x)N(`[print.ts] Auto-resuming interrupted turn (kind: ${J.kind})`),t75(E,J.message),jM({mode:"prompt",value:J.message.message.content,uuid:wW()});let B=BK6().map((l6)=>{let S6=l6.value===null?"default":l6.value,E6=S6==="default"?If():A5(S6),R6=fL(E6),h6=fT8(E6),x6=jJ(l6.value),b6=DG6(E6);return{value:S6,displayName:l6.label,description:l6.description,...R6&&{supportsEffort:!0,supportedEffortLevels:Bn6(E6)?[...DL]:DL.filter((Q6)=>Q6!=="max")},...h6&&{supportsAdaptiveThinking:!0},...x6&&{supportsFastMode:!0},...b6&&{supportsAutoMode:!0}}}),p=H.userSpecifiedModel;function C(l6,S6){let E6=g0K(l6,yV(S6));E.push(...E6);for(let R6 of E6)if(typeof R6.message.content==="string"&&R6.message.content.includes(`<${bZ}>`))G.enqueue({type:"user",message:R6.message,session_id:N8(),parent_tool_use_id:null,uuid:R6.uuid,timestamp:R6.timestamp,isReplay:!0})}let g=[],F=[],U=new Set;function c(l6){for(let S6 of l6){if(S6.type!=="connected"||U.has(S6.name))continue;if(S6.config.type==="sdk")continue;let E6=S6.name;try{S6.client.setRequestHandler(sc,async(R6,h6)=>{C8(E6,`Elicitation request received in print mode: ${g6(R6)}`);let x6=R6.params.mode==="url"?"url":"form";d("tengu_mcp_elicitation_shown",{mode:x6});let b6=await ka6(E6,R6.params,h6.signal);if(b6)return C8(E6,`Elicitation resolved by hook: ${g6(b6)}`),d("tengu_mcp_elicitation_response",{mode:x6,action:b6.action}),b6;let Q6="url"in R6.params?R6.params.url:void 0,Y6="requestedSchema"in R6.params?R6.params.requestedSchema:void 0,_6="elicitationId"in R6.params?R6.params.elicitationId:void 0,F6=await q.handleElicitation(E6,R6.params.message,Y6,h6.signal,x6,Q6,_6),W6=await Va6(E6,F6,h6.signal,x6,_6);return d("tengu_mcp_elicitation_response",{mode:x6,action:W6.action}),W6}),S6.client.setNotificationHandler(Su6,(R6)=>{let{elicitationId:h6}=R6.params;C8(E6,`Elicitation completion notification: ${h6}`),bU({message:`MCP server "${E6}" confirmed elicitation ${h6} complete`,notificationType:"elicitation_complete"}),G.enqueue({type:"system",subtype:"elicitation_complete",mcp_server_name:E6,elicitation_id:h6,uuid:wW(),session_id:N8()})}),U.add(E6)}catch{}}}async function K6(){let l6=new Set(Object.keys(A)),S6=new Set(g.map((Q6)=>Q6.name)),E6=Array.from(l6).some((Q6)=>!S6.has(Q6)),R6=Array.from(S6).some((Q6)=>!l6.has(Q6)),h6=g.some((Q6)=>Q6.type==="pending"),x6=g.some((Q6)=>Q6.type==="failed");if(E6||R6||h6||x6){for(let _6 of g)if(!l6.has(_6.name)){if(_6.type==="connected")await _6.cleanup()}let Q6=await Hb4(A,(_6,F6)=>q.sendMcpMessage(_6,F6));g=Q6.clients,F=Q6.tools;let Y6=cJ([...S6,...l6]);w((_6)=>({..._6,mcp:{..._6.mcp,tools:[..._6.mcp.tools.filter((F6)=>!Y6.some((W6)=>F6.name.startsWith(kE(W6)))),...F]}})),fN4(g)}}K6();let t={clients:[],tools:[],configs:{}},q6=(l6)=>{let S6=nQ(l6.toolPermissionContext,l6.mcp.tools),E6=u2(LS6([...z,...F,...t.tools],S6,l6.toolPermissionContext.mode),"name");if(H.permissionPromptToolName)E6=E6.filter((h6)=>!g_(h6,H.permissionPromptToolName));let R6=j38();if(R6&&!H.jsonSchema){let h6=FN8(R6);if("tool"in h6)E6=[...E6,h6.tool]}return E6},e=null,i=0;function $6(){if(!e)return;let l6=Math.min(i,E.length),S6=E.slice(l6).filter((E6)=>E6.type==="user"||E6.type==="assistant");if(i=E.length,S6.length>0)e.writeMessages(S6)}let M6=Promise.resolve({response:{added:[],removed:[],errors:{}},sdkServersChanged:!1});function j6(l6){let S6=async()=>{let E6=new Set(g.map((h6)=>h6.name)),R6=await qq5(l6,{configs:A,clients:g,tools:F},t,w);for(let h6 of Object.keys(A))delete A[h6];if(Object.assign(A,R6.newSdkState.configs),g=R6.newSdkState.clients,F=R6.newSdkState.tools,t=R6.newDynamicState,R6.sdkServersChanged){let h6=new Set(g.map((b6)=>b6.name)),x6=cJ([...E6,...h6]);w((b6)=>({...b6,mcp:{...b6.mcp,tools:[...b6.mcp.tools.filter((Q6)=>!x6.some((Y6)=>Q6.name.startsWith(kE(Y6)))),...F]}}))}return{response:R6.response,sdkServersChanged:R6.sdkServersChanged}};return M6=M6.then(S6,S6),M6}function G6(){let l6=O(),S6=l6.mcp.clients,E6=u2([...l6.mcp.tools,...t.tools],"name"),R6=new Set([...S6.map((h6)=>h6.name),...g.map((h6)=>h6.name)]);return[...S6,...g,...t.clients.filter((h6)=>!R6.has(h6.name))].map((h6)=>{let x6;if(h6.config.type==="sse"||h6.config.type==="http")x6={type:h6.config.type,url:h6.config.url,headers:h6.config.headers,oauth:h6.config.oauth};else if(h6.config.type==="claudeai-proxy")x6={type:"claudeai-proxy",url:h6.config.url,id:h6.config.id};else if(h6.config.type==="stdio"||h6.config.type===void 0)x6={type:"stdio",command:h6.config.command,args:h6.config.args};let b6=h6.type==="connected"?EU(E6,h6.name).map((Y6)=>({name:Y6.mcpInfo?.toolName??Y6.name,annotations:{readOnly:Y6.isReadOnly({})||void 0,destructive:Y6.isDestructive?.({})||void 0,openWorld:Y6.isOpenWorld?.({})||void 0}})):void 0,Q6;if(h6.type==="connected"&&h6.capabilities.experimental){let Y6={...h6.capabilities.experimental};if(Y6["claude/channel"]&&(!QH6()||!E47(h6.config.pluginSource)))delete Y6["claude/channel"];if(Object.keys(Y6).length>0)Q6={experimental:Y6}}return{name:h6.name,status:h6.type,serverInfo:h6.type==="connected"?h6.serverInfo:void 0,error:h6.type==="failed"?h6.error:void 0,config:x6,scope:h6.config.scope,tools:b6,capabilities:Q6}})}async function w6(){try{if(await Promise.all([Promise.resolve(),mW6("headless_managed_settings_wait",()=>rL8())]),await F75())await A6()}catch(l6){H6(l6)}}let o=null;if(!f9())if(i6(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL))o=w6();else w6();let s=b75(()=>!M),a=_,n=j;async function l(){let{agentDefinitions:l6}=await XJ6(w);a=await u0(GK8());let S6=n.filter((E6)=>E6.source==="flagSettings");n=[...l6.allAgents,...S6]}async function A6(){let{servers:l6}=await Iq6(),S6={};for(let[h6,x6]of Object.entries(l6)){let b6=x6.type;if(b6===void 0||b6==="stdio"||b6==="sse"||b6==="http"||b6==="sdk")S6[h6]=x6}for(let[h6,x6]of Object.entries(A))if(x6.type==="sdk"&&!(h6 in S6))S6[h6]=x6;let{response:E6,sdkServersChanged:R6}=await j6(S6);if(R6)K6();N(`Headless MCP refresh: added=${E6.added.length}, removed=${E6.removed.length}`)}let J6=RC6.subscribe(()=>{tQ(),u0(GK8()).then((l6)=>{a=l6})}),X6=void 0;zV6(()=>{if(f&&WV8("now").length>0)f.abort("interrupt")});let f6=async()=>{if(M)return;if(M=!0,X=void 0,sS6("running"),s.stop(),HM("run_entry"),await K6(),HM("after_updateSdkMcp"),o){let S6=parseInt(process.env.CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS||"",10);if(S6>0){let R6=R7(S6).then(()=>"timeout");if(await Promise.race([o,R6])==="timeout")H6(Error(`CLAUDE_CODE_SYNC_PLUGIN_INSTALL: plugin installation timed out after ${S6}ms`)),d("tengu_sync_plugin_install_timeout",{timeout_ms:S6})}else await o;o=null,await l();let{setupPluginHookHotReload:E6}=await Promise.resolve().then(() => (Nj6(),jo1));E6()}let l6=(S6)=>S6.agentId===void 0;try{let S6,E6=!1,R6=async()=>{while(S6=xr6(l6)){if(S6.mode!=="prompt"&&S6.mode!=="orphaned-permission"&&S6.mode!=="task-notification")throw Error("only prompt commands are supported in streaming mode");let h6=[S6];if(S6.mode==="prompt"){while(r75(S6,YV6(l6)))h6.push(xr6(l6));if(h6.length>1)S6={...S6,value:i75(h6.map((v6)=>v6.value)),uuid:h6.findLast((v6)=>v6.uuid)?.uuid??S6.uuid}}let x6=h6.map((v6)=>v6.uuid).filter((v6)=>v6!==void 0);if(H.replayUserMessages&&h6.length>1){for(let v6 of h6)if(v6.uuid&&v6.uuid!==S6.uuid)G.enqueue({type:"user",message:{role:"user",content:v6.value},session_id:N8(),parent_tool_use_id:null,uuid:v6.uuid,isReplay:!0})}let b6=O(),Q6=[...b6.mcp.clients,...g,...t.clients];c(Q6);for(let v6 of Q6)iA7(v6);let Y6=q6(b6);for(let v6 of x6)jU(v6,"started");if(S6.mode==="task-notification"){let v6=typeof S6.value==="string"?S6.value:"",m6=v6.match(/<task-id>([^<]+)<\/task-id>/),K8=v6.match(/<tool-use-id>([^<]+)<\/tool-use-id>/),H8=v6.match(/<output-file>([^<]+)<\/output-file>/),M8=v6.match(/<status>([^<]+)<\/status>/),X1=v6.match(/<summary>([^<]+)<\/summary>/),j1=(B7)=>B7==="completed"||B7==="failed"||B7==="stopped"||B7==="killed",h1=M8?.[1],T7=j1(h1)?h1==="killed"?"stopped":h1:"completed",Y1=v6.match(/<usage>([\s\S]*?)<\/usage>/)?.[1]??"",Y7=Y1.match(/<total_tokens>(\d+)<\/total_tokens>/),P7=Y1.match(/<tool_uses>(\d+)<\/tool_uses>/),L1=Y1.match(/<duration_ms>(\d+)<\/duration_ms>/);if(M8)G.enqueue({type:"system",subtype:"task_notification",task_id:m6?.[1]??"",tool_use_id:K8?.[1],status:T7,output_file:H8?.[1]??"",summary:X1?.[1]??"",usage:Y7&&P7?{total_tokens:parseInt(Y7[1],10),tool_uses:parseInt(P7[1],10),duration_ms:L1?parseInt(L1[1],10):0}:void 0,session_id:N8(),uuid:wW()})}let _6=S6.value;if(q instanceof Tl8&&S6.mode==="prompt")d("tengu_bridge_message_received",{is_repl:!1});if(T.abortController?.abort(),T.abortController=null,T.pendingSuggestion=null,T.pendingLastEmittedEntry=null,T.lastEmitted){if(S6.mode==="prompt"){let v6=typeof _6==="string"?_6:_6.find((m6)=>m6.type==="text")?.text;if(typeof v6==="string")RN4(T.lastEmitted.text,v6,T.lastEmitted.emittedAt,T.lastEmitted.promptId,T.lastEmitted.generationRequestId);T.lastEmitted=null}}f=P3();let F6=void 0;HM("before_ask"),O18();let W6=S6;await hD8(W6.workload??H.workload,async()=>{for await(let v6 of h75({commands:u2([...a,...b6.mcp.commands],"name"),prompt:_6,promptUuid:W6.uuid,isMeta:W6.isMeta,cwd:GK8(),tools:Y6,verbose:H.verbose,mcpClients:Q6,thinkingConfig:H.thinkingConfig,maxTurns:H.maxTurns,maxBudgetUsd:H.maxBudgetUsd,taskBudget:H.taskBudget,canUseTool:$,userSpecifiedModel:p,fallbackModel:H.fallbackModel,jsonSchema:j38()??H.jsonSchema,mutableMessages:E,getReadFileCache:()=>R.size===0?S:mk6(S,R),setReadFileCache:(m6)=>{S=m6;for(let[K8,H8]of R.entries()){let M8=S.get(K8);if(!M8||H8.timestamp>M8.timestamp)S.set(K8,H8)}R.clear()},customSystemPrompt:H.systemPrompt,appendSystemPrompt:H.appendSystemPrompt,getAppState:O,setAppState:w,abortController:f,replayUserMessages:H.replayUserMessages,includePartialMessages:H.includePartialMessages,handleElicitation:(m6,K8,H8)=>q.handleElicitation(m6,K8.message,void 0,H8,K8.mode,K8.url,"elicitationId"in K8?K8.elicitationId:void 0),agents:n,orphanedPermission:W6.orphanedPermission,setSDKStatus:(m6)=>{G.enqueue({type:"system",subtype:"status",status:m6,session_id:N8(),uuid:wW()})}}))if($6(),v6.type==="result"){for(let K8 of No6())G.enqueue(K8);let m6=O();if(gN8(m6).some((K8)=>(K8.type==="local_agent"||K8.type==="local_workflow")&&uH(K8)))D=v6;else D=null,G.enqueue(v6)}else{for(let m6 of No6())G.enqueue(m6);G.enqueue(v6)}});for(let v6 of x6)jU(v6,"completed");if($6(),e?.sendResult(),H.promptSuggestions&&!k_(process.env.CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION)){T.abortController?.abort();let m6=new AbortController;T.abortController=m6;let K8=X18();if(!K8)w0("sdk_no_params",void 0,void 0,"sdk");else{let H8={promise:null};H8.promise=(async()=>{try{let M8=await pm1(m6,E,O,K8,"sdk");if(!M8||m6.signal.aborted)return;let X1={type:"prompt_suggestion",suggestion:M8.suggestion,uuid:wW(),session_id:N8()},j1={text:M8.suggestion,emittedAt:Date.now(),promptId:M8.promptId,generationRequestId:M8.generationRequestId};if(D)T.pendingSuggestion=X1,T.pendingLastEmittedEntry={text:j1.text,promptId:j1.promptId,generationRequestId:j1.generationRequestId};else T.lastEmitted=j1,G.enqueue(X1)}catch(M8){if(M8 instanceof Error&&(M8.name==="AbortError"||M8.name==="APIUserAbortError")){w0("aborted",void 0,void 0,"sdk");return}H6(x1(M8))}finally{if(T.inflightPromise===H8.promise)T.inflightPromise=null}})(),T.inflightPromise=H8.promise}}Ku1(),wp8(),qu1()}};do{for(let h6 of No6())G.enqueue(h6);X="draining_commands",await R6(),E6=!1;{let h6=O(),x6=gN8(h6).some((Q6)=>uH(Q6)&&Q6.type!=="in_process_teammate"),b6=YV6(l6)!==void 0;if(x6||b6){if(E6=!0,!b6)X="waiting_for_agents",await R7(100)}}}while(E6);if(D){if(G.enqueue(D),D=null,T.pendingSuggestion){if(G.enqueue(T.pendingSuggestion),T.pendingLastEmittedEntry)T.lastEmitted={...T.pendingLastEmittedEntry,emittedAt:Date.now()},T.pendingLastEmittedEntry=null;T.pendingSuggestion=null}}}catch(S6){try{await q.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:N8(),total_cost_usd:0,usage:n0,modelUsage:{},permission_denials:[],uuid:wW(),errors:[d6(S6),...A_6().map((E6)=>E6.error)]})}catch{}T.abortController?.abort(),eK(1);return}finally{if(X="finally_flush",await q.flushInternalEvents(),X="finally_post_flush",!gL8()){sS6("idle");for(let S6 of No6())G.enqueue(S6)}M=!1,s.start()}if(YV6(l6)!==void 0){f6();return}{let E6=O().teamContext;if(E6&&MG(E6))while(!0){let x6=O();if(!(Of8(x6)||x6.teamContext&&Object.keys(x6.teamContext.teammates).length>0)){N("[print.ts] No more active teammates, stopping poll");break}let Q6=await n26("team-lead",x6.teamContext?.teamName);if(Q6.length>0){N(`[print.ts] Team-lead found ${Q6.length} unread messages`),await We6("team-lead",x6.teamContext?.teamName);let Y6=x6.teamContext?.teamName;for(let F6 of Q6){let W6=qk(F6.text);if(W6&&Y6){let v6=W6.from;N(`[print.ts] Processing shutdown_approved from ${v6}`);let m6=x6.teamContext?.teammates?Object.entries(x6.teamContext.teammates).find(([,K8])=>K8.name===v6)?.[0]:void 0;if(m6)qj6(Y6,{agentId:m6,name:v6}),N(`[print.ts] Removed ${v6} from team file`),await c46(Y6,m6,v6,"shutdown"),w((K8)=>{if(!K8.teamContext?.teammates)return K8;if(!(m6 in K8.teamContext.teammates))return K8;let{[m6]:H8,...M8}=K8.teamContext.teammates;return{...K8,teamContext:{...K8.teamContext,teammates:M8}}})}}let _6=Q6.map((F6)=>`<${dJ} teammate_id="${F6.from}"${F6.color?` color="${F6.color}"`:""}>
16441${F6.text}
16442</${dJ}>`).join(`

Callers

nothing calls this directly

Calls 15

mB8Function · 0.85
BKFunction · 0.85
setIntervalFunction · 0.85
qu1Function · 0.85
HMFunction · 0.85
cN6Function · 0.85
Bx4Function · 0.85
eKFunction · 0.85
waYFunction · 0.85
N75Function · 0.85
d6Function · 0.85
YfKFunction · 0.85

Tested by

no test coverage detected