@xenosystem/agent-cli 0.5.23 → 0.5.24
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/index.js +1 -1
- package/dist/metafile-esm.json +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2687,7 +2687,7 @@ ${be}${G.compose(OO(),G.bold)("\u2717")} ${DC(e)}
|
|
|
2687
2687
|
`)}function rb(){return`
|
|
2688
2688
|
${be}${Ae("Goodbye.")}
|
|
2689
2689
|
`}var Yyt,ySe,OO,Wt,Ae,DO,DC,Kyt,QC,Zyt,twt,nwt,j,be,ESe,e3,E,i3,ISe,LC,Bo=Be(()=>{"use strict";Ws();na();pSe();MO();Yyt=new du(process.stdout),ySe=new du(process.stderr),OO=()=>nr(),Wt=e=>OO()(e),Ae=G.dim,DO=G.bold,DC=e=>OO()(e),Kyt="\u25A0",QC="\u2514",Zyt={open:"\x1B[4m",close:"\x1B[24m"};twt={Read:e=>wc()(e),ReadImage:e=>wc()(e),Glob:e=>wc()(e),Grep:e=>wc()(e),ElfAnalyze:e=>wc()(e),MemoryRead:e=>wc()(e),Write:e=>OC()(e),Edit:e=>OC()(e),MemoryWrite:e=>OC()(e),Bash:e=>z8()(e),GitStatus:e=>wc()(e),GitDiff:e=>wc()(e),GitLog:e=>wc()(e),GitBranch:e=>wc()(e),GitCommit:e=>z8()(e),WebSearch:e=>G.cyan(e),WebFetch:e=>G.cyan(e),TaskOutput:e=>wc()(e),TaskInput:e=>G.cyan(e),TaskStop:e=>fg()(e)};nwt={Edit:"Update",Glob:"Search",Grep:"Search",WebSearch:"Web Search",WebFetch:"Web Fetch"};j={accent:Wt,purple:DC,cyan:DC,dim:Ae,bold:DO,red:DC,green:DC},be=" ",ESe=1e3,e3=3;E={moveTo:(e,t)=>`\x1B[${e};${t}H`,saveCursor:()=>"\x1B[s",restoreCursor:()=>"\x1B[u",setScrollRegion:(e,t)=>`\x1B[${e};${t}r`,resetScrollRegion:()=>"\x1B[r",eraseLine:()=>"\x1B[2K",clearScreen:()=>"\x1B[2J\x1B[3J\x1B[H",showCursor:()=>"\x1B[?25h",hideCursor:()=>"\x1B[?25l",disableWrap:()=>"\x1B[?7l",enableWrap:()=>"\x1B[?7h",enableMouseReporting:()=>"\x1B[?1000h\x1B[?1006h",disableMouseReporting:()=>"\x1B[?1006l\x1B[?1000l"};i3=class{atLineStart=!0;writeFn;constructor(t){this.writeFn=t??(n=>{Yyt.writeOrdered(n,"stream")})}write(t){let n="";for(let r of t)this.atLineStart&&(n+=be,this.atLineStart=!1),n+=r,r===`
|
|
2690
|
-
`&&(this.atLineStart=!0);this.writeFn(n)}reset(){this.atLineStart=!0}markLineStarted(){this.atLineStart=!1}},ISe=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],LC=class{interval=null;frameIndex=0;lastLength=0;writeFn;clearFn;constructor(t,n){this.writeFn=t??(r=>{ySe.writeFrame(r,"spinner")}),this.clearFn=n??(()=>{ySe.writeFrame(`\r${" ".repeat(this.lastLength)}\r`,"spinner")})}start(t){this.stop(),this.frameIndex=0,this.interval=setInterval(()=>{let n=ISe[this.frameIndex%ISe.length],r=`${Wt(n)} ${Ae(t)}`;this.writeFn(`\r${" ".repeat(this.lastLength)}\r${r}`),this.lastLength=t.length+4,this.frameIndex++},80)}stop(){this.interval&&(clearInterval(this.interval),this.interval=null,this.clearFn(),this.lastLength=0)}}});var ve,Ii=Be(()=>{"use strict";ve="0.5.22"});var YSe=Be(()=>{"use strict"});var KSe=Be(()=>{"use strict"});var ZSe=Be(()=>{"use strict"});function mbt(e){return typeof e=="string"&&lbt.includes(e)}function fbt(e){return $o(e)?$n(e.clientId)&&$n(e.clientVersion)&&$n(e.instanceId)&&mbt(e.surface):!1}function tCe(e){return!$o(e)||!$o(e.protocol)||!$o(e.host)||!$o(e.storage)?!1:Number.isInteger(e.protocol.current)&&wbt(e.protocol.supported)&&$n(e.host.instanceId)&&$n(e.host.version)&&(e.host.authority==="primary"||e.host.authority==="diagnostic-read-only")&&(e.host.processBoundary==="in-process"||e.host.processBoundary==="per-user-service")&&e.storage.owner==="xeno-agent-host"&&Number.isInteger(e.storage.schemaVersion)&&Number.isInteger(e.storage.eventSchemaVersion)&&fbt(e.surface)}function b3(e){return!$o(e)||!$n(e.revision)||!Array.isArray(e.providers)?!1:e.providers.every(Abt)}function hbt(e){return!$o(e)||!$o(e.event)?!1:$n(e.id)&&Number.isInteger(e.sequence)&&typeof e.sequence=="number"&&e.sequence>=0&&$n(e.timestamp)&&$n(e.conversationId)&&$n(e.requestId)&&$n(e.type)&&$n(e.source)}function nCe(e){return!$o(e)||!Array.isArray(e.events)?!1:(e.nextSequence===null||typeof e.nextSequence=="number"&&Number.isInteger(e.nextSequence)&&e.nextSequence>=0)&&e.events.every(hbt)}function rCe(e){return!$o(e)||typeof e.success!="boolean"?!1:e.success?(e.status==="accepted"||e.status==="replayed")&&$n(e.conversationId)&&$n(e.requestId)&&$n(e.adapterId)&&$o(e.selection)&&$n(e.selection.providerId)&&$n(e.selection.catalogRevision):$n(e.code)&&$n(e.safeError)}function iCe(e){return!$o(e)||typeof e.success!="boolean"?!1:e.success?(e.status==="cancel_requested"||e.status==="replayed")&&$n(e.conversationId)&&$n(e.requestId):$n(e.code)&&$n(e.safeError)}function oCe(e){return $o(e)&&$n(e.id)&&typeof e.sequence=="number"&&Number.isInteger(e.sequence)&&e.sequence>0&&typeof e.timestamp=="number"&&Number.isFinite(e.timestamp)&&gbt(e.type)&&e.source==="host"&&e.schemaVersion===1&&e.redactionState==="safe"&&"payload"in e}function gbt(e){return typeof e=="string"&&pbt.includes(e)}function sCe(e,t,n){if(e.surface.surface!==t.surface||e.surface.instanceId!==t.instanceId)throw new si("surface_mismatch",`Agent host acknowledged ${e.surface.surface}/${e.surface.instanceId} instead of ${t.surface}/${t.instanceId}.`);if(e.protocol.current<n.min||e.protocol.current>n.max||n.max<e.protocol.supported.min||n.min>e.protocol.supported.max)throw new si("protocol_mismatch",`Agent host protocol ${e.protocol.current} is incompatible with client range ${n.min}-${n.max}.`)}function Abt(e){return $o(e)?$n(e.id)&&typeof e.kind=="string"&&ubt.includes(e.kind)&&$n(e.displayName)&&aCe(e.availability)&&$o(e.capabilities)&&Array.isArray(e.models)&&e.models.every(ybt)&&$n(e.catalogRevision):!1}function ybt(e){return $o(e)&&$n(e.id)&&$n(e.displayName)&&aCe(e.availability)}function aCe(e){return e==="available"||e==="degraded"||e==="blocked"||e==="unavailable"}function wbt(e){return $o(e)&&Number.isInteger(e.min)&&Number.isInteger(e.max)&&typeof e.min=="number"&&typeof e.max=="number"&&e.min>0&&e.max>=e.min}function $n(e){return typeof e=="string"&&e.trim().length>0}function $o(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function cCe(e){for(let t of vbt)for(let n of bbt)if(e===`${t}tool.${n}`)return n;return null}function yg(e,t){let n=e?.[t];return typeof n=="string"&&n.trim()?n:void 0}function lCe(e){let t=e.event;return yg(t,"toolName")||yg(t,"tool")||yg(t,"name")||yg(t,"title")||yg(t,"kind")}function uCe(e){let t=e.event;return yg(t,"toolCallId")||yg(t,"tool_call_id")}function dCe(e){let t=e.event;for(let n of["rawInput","input","arguments","parameters","args"]){let r=t?.[n];if(r&&typeof r=="object"&&!Array.isArray(r))return r}}function pCe(e){let t=e.event;for(let n of["rawOutput","output","result","content"]){let r=t?.[n];if(typeof r=="string")return r.length>0?r:void 0;if(r!=null)try{let i=JSON.stringify(r);if(i&&i!=="{}"&&i!=="[]")return i}catch{}}}function mCe(e){return e==="completed"?!0:e==="failed"||e==="cancelled"?!1:null}var db,eCe,lbt,ubt,dbt,Rvn,pbt,si,bbt,vbt,KC=Be(()=>{"use strict";YSe();KSe();ZSe();db=1,eCe=1,lbt=["standalone-desktop","hub-embed","shell-embed","embed-preview","headless-client"],ubt=["sdk-native","xeno-cloud","cli-app-server","cli-remote","acp"],dbt=["host.handshake","providers.list","providers.refresh","runtime.events.list","state.workspaces.load","state.workspaces.save","state.conversations.load","state.conversations.save","state.conversations.delete","workspace.access.grant","coordination.held.list","coordination.held.release","coordination.policy.set","workspace.application.grant","workspace.directory.list","workspace.file.read","workspace.file.write","workspace.command.run","workspace.terminal.start","workspace.terminal.stop","workspace.pty.start","workspace.pty.snapshot","workspace.pty.input","workspace.pty.resize","workspace.pty.clear","workspace.pty.stop","turn.start","turn.cancel","turn.steer","turn.queue","turn.queue.list","run.observation.snapshot","run.observation.change","run.observation.overlaps","fleet.view","fleet.route","fleet.plan","subagent.run.create","subagent.run.list","subagent.run.cancel","session.list","session.attach","session.detach","session.snapshot","session.input","session.takeover","session.release","intake.sources.list","intake.items.list","intake.item.claim","intake.item.release","intake.item.dispatch","knowledge.list","knowledge.record","knowledge.forget","knowledge.context","turn.queue.drop","elicitation.choose-directory.answer","elicitation.workspace-placement.answer","elicitation.permission.answer","turn.resume","acp.provider.approve","permissions.rules.list","permissions.rules.revoke","elicitation.ask-user.answer","sdk.sessions.list","sdk.sessions.show","sdk.sessions.attach","sdk.sessions.detach","sdk.sessions.delete","sdk.sessions.clean","sdk.checkpoints.list","sdk.checkpoints.restore","sdk.checkpoints.delete","sdk.tasks.output","sdk.tasks.stop","engineering.git.status","engineering.git.diff","engineering.git.stage","engineering.git.unstage","engineering.git.commit","engineering.git.branch","engineering.git.push","engineering.git.pr.create","engineering.landing.enqueue","engineering.landing.remove","engineering.landing.status","engineering.landing.land","engineering.landing.verify","engineering.checks.discover","engineering.checks.run","engineering.background.start","engineering.background.list","engineering.background.output","engineering.background.stop","engineering.runs.list","engineering.diagnostics","engineering.patches.list","engineering.patches.enqueue","engineering.patches.update","engineering.patches.review","engineering.checkpoints.list","engineering.checkpoints.compare","engineering.checkpoints.restore","engineering.sessions.list","engineering.runtime.timeline"],Rvn=new Set(dbt),pbt=["host.ready","provider.catalog.changed","runtime.event.appended","turn.execution.completed","turn.execution.failed","turn.execution.abandoned","elicitation.choose-directory.requested","elicitation.workspace-placement.requested","elicitation.permission.requested","elicitation.ask-user.requested","task.changed","workspace.terminal.data","workspace.terminal.exit","workspace.pty.data","workspace.pty.exit","coordination.event","run.observation","session.event"],si=class extends Error{code;constructor(t,n){super(n),this.name="AgentHostProtocolError",this.code=t}};bbt=["started","updated","completed","failed","cancelled"],vbt=["","acp."]});import{createHash as Ibt}from"node:crypto";import{setTimeout as kbt}from"node:timers/promises";function Cbt(e,t){return`subrun-${Ibt("sha256").update(`${e}\0${t}`).digest("hex").slice(0,32)}`}async function xbt(e,t,n){return((await e.listRuntimeEvents({conversationId:t,subagentRunId:n,limit:500}))?.events??[]).map(i=>{let o=String(i.type??"").toLowerCase();if(!o.includes("text")&&!o.includes("message")&&!o.includes("delta"))return"";let s=i.event??{};return typeof s.text=="string"?s.text:typeof s.delta=="string"?s.delta:""}).join("")}function Rbt(e,t,n,r){let i=new Set,o=typeof r.onToolStart=="function"||typeof r.onToolEnd=="function",s=a=>{try{a()}catch{}};return async function(){if(!o)return;let c=await e.listRuntimeEvents({conversationId:t,subagentRunId:n,limit:500}).catch(()=>null);for(let l of c?.events??[]){let u=cCe(String(l.type??""));if(!u)continue;let d=`${uCe(l)??l.id}:${u}`;if(i.has(d))continue;i.add(d);let p=lCe(l)??"unknown";if(u==="started"&&r.onToolStart){let f=r.onToolStart;s(()=>f(p,dCe(l)??{}))}let m=mCe(u);if(m!==null&&r.onToolEnd){let f=r.onToolEnd;s(()=>f(p,{success:m,output:pCe(l)??""}))}}}}function fCe(e){let t=e.pollIntervalMs??250;return async n=>{let r=n.task,i=Cbt(e.rootTraceId,r.id),o={lastTraceId:null,tokenUsage:{input:0,output:0,total:0},async run(s){let a=await e.client.createSubagentRun({parentConversationId:e.parentConversationId,...e.parentRequestId===void 0?{}:{parentRequestId:e.parentRequestId},parentAgentId:e.parentAgentId,childConversationId:i,childAgentId:r.role?`delegated-${r.role}`:"delegated-branch",workspaceId:e.workspaceId,teamId:e.teamId,objective:s,...r.role===void 0?{}:{role:r.role}});if(!a?.success||!a.run)throw new Error(a?.safeError??"The Agent host refused to create a subagent run for this delegated branch.");let c=a.run.id;o.lastTraceId=c;let l=Rbt(e.client,i,c,{onToolStart:n.onToolStart,onToolEnd:n.onToolEnd});for(;;){if(e.signal?.aborted){await e.client.cancelSubagentRun({runId:c}).catch(()=>{});let m=new Error("Delegated branch was cancelled.");throw m.name="AgentInterruptedError",m}let d=((await e.client.listSubagentRuns({parentConversationId:e.parentConversationId}))?.runs??[]).find(m=>m.id===c),p=String(d?.status??"");if(Ebt.has(p)){if(Sbt.has(p))throw new Error(d?.error??`The delegated branch ended as '${p}' without reporting a reason.`);await l();let m=await xbt(e.client,i,c);if(m.length===0)throw new Error(`The delegated branch reported '${p}' but produced no readable output. Its runtime events carry no text for this run id.`);return m}if(Date.now()>=e.deadline)throw await e.client.cancelSubagentRun({runId:c}).catch(()=>{}),new Error("The delegated branch exceeded the time this run was given to wait.");await l(),await kbt(t,void 0,{signal:e.signal})}}};return o}}var Ebt,Sbt,hCe=Be(()=>{"use strict";KC();Ebt=new Set(["completed","succeeded","failed","cancelled","error"]),Sbt=new Set(["failed","cancelled","error"])});import{createHash as Tbt,randomBytes as Pbt}from"node:crypto";import{chmodSync as _bt,existsSync as Bbt,mkdirSync as ACe,readFileSync as $bt,renameSync as Mbt,unlinkSync as yCe,writeFileSync as Nbt}from"node:fs";import{dirname as Obt,join as ZC}from"node:path";function wCe(){return cc()}function Dbt(e){return Tbt("sha256").update(e).digest("hex").slice(0,16)}function xn(){return ZC(wCe(),"daemon")}function v3(){return ZC(xn(),"daemon.json")}function bCe(){return ZC(xn(),"daemon.lock")}function pb(){return ZC(xn(),"daemon.log")}function I3(){let e=Dbt(wCe());return process.platform==="win32"?{transport:"named-pipe",endpoint:`\\\\.\\pipe\\xeno-agent-daemon-${e}`}:{transport:"unix-socket",endpoint:ZC(xn(),"daemon.sock")}}function GO(){ACe(xn(),{recursive:!0})}function vCe(){return Pbt(32).toString("base64url")}function gCe(e){if(process.platform!=="win32")try{_bt(e,384)}catch{}}function k3(){try{return JSON.parse($bt(v3(),"utf8"))}catch{return null}}function ICe(e){let t=v3();ACe(Obt(t),{recursive:!0});let n=`${t}.${process.pid}.${Date.now()}.tmp`;Nbt(n,JSON.stringify(e,null,2)+`
|
|
2690
|
+
`&&(this.atLineStart=!0);this.writeFn(n)}reset(){this.atLineStart=!0}markLineStarted(){this.atLineStart=!1}},ISe=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],LC=class{interval=null;frameIndex=0;lastLength=0;writeFn;clearFn;constructor(t,n){this.writeFn=t??(r=>{ySe.writeFrame(r,"spinner")}),this.clearFn=n??(()=>{ySe.writeFrame(`\r${" ".repeat(this.lastLength)}\r`,"spinner")})}start(t){this.stop(),this.frameIndex=0,this.interval=setInterval(()=>{let n=ISe[this.frameIndex%ISe.length],r=`${Wt(n)} ${Ae(t)}`;this.writeFn(`\r${" ".repeat(this.lastLength)}\r${r}`),this.lastLength=t.length+4,this.frameIndex++},80)}stop(){this.interval&&(clearInterval(this.interval),this.interval=null,this.clearFn(),this.lastLength=0)}}});var ve,Ii=Be(()=>{"use strict";ve="0.5.24"});var YSe=Be(()=>{"use strict"});var KSe=Be(()=>{"use strict"});var ZSe=Be(()=>{"use strict"});function mbt(e){return typeof e=="string"&&lbt.includes(e)}function fbt(e){return $o(e)?$n(e.clientId)&&$n(e.clientVersion)&&$n(e.instanceId)&&mbt(e.surface):!1}function tCe(e){return!$o(e)||!$o(e.protocol)||!$o(e.host)||!$o(e.storage)?!1:Number.isInteger(e.protocol.current)&&wbt(e.protocol.supported)&&$n(e.host.instanceId)&&$n(e.host.version)&&(e.host.authority==="primary"||e.host.authority==="diagnostic-read-only")&&(e.host.processBoundary==="in-process"||e.host.processBoundary==="per-user-service")&&e.storage.owner==="xeno-agent-host"&&Number.isInteger(e.storage.schemaVersion)&&Number.isInteger(e.storage.eventSchemaVersion)&&fbt(e.surface)}function b3(e){return!$o(e)||!$n(e.revision)||!Array.isArray(e.providers)?!1:e.providers.every(Abt)}function hbt(e){return!$o(e)||!$o(e.event)?!1:$n(e.id)&&Number.isInteger(e.sequence)&&typeof e.sequence=="number"&&e.sequence>=0&&$n(e.timestamp)&&$n(e.conversationId)&&$n(e.requestId)&&$n(e.type)&&$n(e.source)}function nCe(e){return!$o(e)||!Array.isArray(e.events)?!1:(e.nextSequence===null||typeof e.nextSequence=="number"&&Number.isInteger(e.nextSequence)&&e.nextSequence>=0)&&e.events.every(hbt)}function rCe(e){return!$o(e)||typeof e.success!="boolean"?!1:e.success?(e.status==="accepted"||e.status==="replayed")&&$n(e.conversationId)&&$n(e.requestId)&&$n(e.adapterId)&&$o(e.selection)&&$n(e.selection.providerId)&&$n(e.selection.catalogRevision):$n(e.code)&&$n(e.safeError)}function iCe(e){return!$o(e)||typeof e.success!="boolean"?!1:e.success?(e.status==="cancel_requested"||e.status==="replayed")&&$n(e.conversationId)&&$n(e.requestId):$n(e.code)&&$n(e.safeError)}function oCe(e){return $o(e)&&$n(e.id)&&typeof e.sequence=="number"&&Number.isInteger(e.sequence)&&e.sequence>0&&typeof e.timestamp=="number"&&Number.isFinite(e.timestamp)&&gbt(e.type)&&e.source==="host"&&e.schemaVersion===1&&e.redactionState==="safe"&&"payload"in e}function gbt(e){return typeof e=="string"&&pbt.includes(e)}function sCe(e,t,n){if(e.surface.surface!==t.surface||e.surface.instanceId!==t.instanceId)throw new si("surface_mismatch",`Agent host acknowledged ${e.surface.surface}/${e.surface.instanceId} instead of ${t.surface}/${t.instanceId}.`);if(e.protocol.current<n.min||e.protocol.current>n.max||n.max<e.protocol.supported.min||n.min>e.protocol.supported.max)throw new si("protocol_mismatch",`Agent host protocol ${e.protocol.current} is incompatible with client range ${n.min}-${n.max}.`)}function Abt(e){return $o(e)?$n(e.id)&&typeof e.kind=="string"&&ubt.includes(e.kind)&&$n(e.displayName)&&aCe(e.availability)&&$o(e.capabilities)&&Array.isArray(e.models)&&e.models.every(ybt)&&$n(e.catalogRevision):!1}function ybt(e){return $o(e)&&$n(e.id)&&$n(e.displayName)&&aCe(e.availability)}function aCe(e){return e==="available"||e==="degraded"||e==="blocked"||e==="unavailable"}function wbt(e){return $o(e)&&Number.isInteger(e.min)&&Number.isInteger(e.max)&&typeof e.min=="number"&&typeof e.max=="number"&&e.min>0&&e.max>=e.min}function $n(e){return typeof e=="string"&&e.trim().length>0}function $o(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function cCe(e){for(let t of vbt)for(let n of bbt)if(e===`${t}tool.${n}`)return n;return null}function yg(e,t){let n=e?.[t];return typeof n=="string"&&n.trim()?n:void 0}function lCe(e){let t=e.event;return yg(t,"toolName")||yg(t,"tool")||yg(t,"name")||yg(t,"title")||yg(t,"kind")}function uCe(e){let t=e.event;return yg(t,"toolCallId")||yg(t,"tool_call_id")}function dCe(e){let t=e.event;for(let n of["rawInput","input","arguments","parameters","args"]){let r=t?.[n];if(r&&typeof r=="object"&&!Array.isArray(r))return r}}function pCe(e){let t=e.event;for(let n of["rawOutput","output","result","content"]){let r=t?.[n];if(typeof r=="string")return r.length>0?r:void 0;if(r!=null)try{let i=JSON.stringify(r);if(i&&i!=="{}"&&i!=="[]")return i}catch{}}}function mCe(e){return e==="completed"?!0:e==="failed"||e==="cancelled"?!1:null}var db,eCe,lbt,ubt,dbt,Rvn,pbt,si,bbt,vbt,KC=Be(()=>{"use strict";YSe();KSe();ZSe();db=1,eCe=1,lbt=["standalone-desktop","hub-embed","shell-embed","embed-preview","headless-client"],ubt=["sdk-native","xeno-cloud","cli-app-server","cli-remote","acp"],dbt=["host.handshake","providers.list","providers.refresh","runtime.events.list","state.workspaces.load","state.workspaces.save","state.conversations.load","state.conversations.save","state.conversations.delete","workspace.access.grant","coordination.held.list","coordination.held.release","coordination.policy.set","workspace.application.grant","workspace.directory.list","workspace.file.read","workspace.file.write","workspace.command.run","workspace.terminal.start","workspace.terminal.stop","workspace.pty.start","workspace.pty.snapshot","workspace.pty.input","workspace.pty.resize","workspace.pty.clear","workspace.pty.stop","turn.start","turn.cancel","turn.steer","turn.queue","turn.queue.list","run.observation.snapshot","run.observation.change","run.observation.overlaps","fleet.view","fleet.route","fleet.plan","subagent.run.create","subagent.run.list","subagent.run.cancel","session.list","session.attach","session.detach","session.snapshot","session.input","session.takeover","session.release","intake.sources.list","intake.items.list","intake.item.claim","intake.item.release","intake.item.dispatch","knowledge.list","knowledge.record","knowledge.forget","knowledge.context","turn.queue.drop","elicitation.choose-directory.answer","elicitation.workspace-placement.answer","elicitation.permission.answer","turn.resume","acp.provider.approve","permissions.rules.list","permissions.rules.revoke","elicitation.ask-user.answer","sdk.sessions.list","sdk.sessions.show","sdk.sessions.attach","sdk.sessions.detach","sdk.sessions.delete","sdk.sessions.clean","sdk.checkpoints.list","sdk.checkpoints.restore","sdk.checkpoints.delete","sdk.tasks.output","sdk.tasks.stop","engineering.git.status","engineering.git.diff","engineering.git.stage","engineering.git.unstage","engineering.git.commit","engineering.git.branch","engineering.git.push","engineering.git.pr.create","engineering.landing.enqueue","engineering.landing.remove","engineering.landing.status","engineering.landing.land","engineering.landing.verify","engineering.checks.discover","engineering.checks.run","engineering.background.start","engineering.background.list","engineering.background.output","engineering.background.stop","engineering.runs.list","engineering.diagnostics","engineering.patches.list","engineering.patches.enqueue","engineering.patches.update","engineering.patches.review","engineering.checkpoints.list","engineering.checkpoints.compare","engineering.checkpoints.restore","engineering.sessions.list","engineering.runtime.timeline"],Rvn=new Set(dbt),pbt=["host.ready","provider.catalog.changed","runtime.event.appended","turn.execution.completed","turn.execution.failed","turn.execution.abandoned","elicitation.choose-directory.requested","elicitation.workspace-placement.requested","elicitation.permission.requested","elicitation.ask-user.requested","task.changed","workspace.terminal.data","workspace.terminal.exit","workspace.pty.data","workspace.pty.exit","coordination.event","run.observation","session.event"],si=class extends Error{code;constructor(t,n){super(n),this.name="AgentHostProtocolError",this.code=t}};bbt=["started","updated","completed","failed","cancelled"],vbt=["","acp."]});import{createHash as Ibt}from"node:crypto";import{setTimeout as kbt}from"node:timers/promises";function Cbt(e,t){return`subrun-${Ibt("sha256").update(`${e}\0${t}`).digest("hex").slice(0,32)}`}async function xbt(e,t,n){return((await e.listRuntimeEvents({conversationId:t,subagentRunId:n,limit:500}))?.events??[]).map(i=>{let o=String(i.type??"").toLowerCase();if(!o.includes("text")&&!o.includes("message")&&!o.includes("delta"))return"";let s=i.event??{};return typeof s.text=="string"?s.text:typeof s.delta=="string"?s.delta:""}).join("")}function Rbt(e,t,n,r){let i=new Set,o=typeof r.onToolStart=="function"||typeof r.onToolEnd=="function",s=a=>{try{a()}catch{}};return async function(){if(!o)return;let c=await e.listRuntimeEvents({conversationId:t,subagentRunId:n,limit:500}).catch(()=>null);for(let l of c?.events??[]){let u=cCe(String(l.type??""));if(!u)continue;let d=`${uCe(l)??l.id}:${u}`;if(i.has(d))continue;i.add(d);let p=lCe(l)??"unknown";if(u==="started"&&r.onToolStart){let f=r.onToolStart;s(()=>f(p,dCe(l)??{}))}let m=mCe(u);if(m!==null&&r.onToolEnd){let f=r.onToolEnd;s(()=>f(p,{success:m,output:pCe(l)??""}))}}}}function fCe(e){let t=e.pollIntervalMs??250;return async n=>{let r=n.task,i=Cbt(e.rootTraceId,r.id),o={lastTraceId:null,tokenUsage:{input:0,output:0,total:0},async run(s){let a=await e.client.createSubagentRun({parentConversationId:e.parentConversationId,...e.parentRequestId===void 0?{}:{parentRequestId:e.parentRequestId},parentAgentId:e.parentAgentId,childConversationId:i,childAgentId:r.role?`delegated-${r.role}`:"delegated-branch",workspaceId:e.workspaceId,teamId:e.teamId,objective:s,...r.role===void 0?{}:{role:r.role}});if(!a?.success||!a.run)throw new Error(a?.safeError??"The Agent host refused to create a subagent run for this delegated branch.");let c=a.run.id;o.lastTraceId=c;let l=Rbt(e.client,i,c,{onToolStart:n.onToolStart,onToolEnd:n.onToolEnd});for(;;){if(e.signal?.aborted){await e.client.cancelSubagentRun({runId:c}).catch(()=>{});let m=new Error("Delegated branch was cancelled.");throw m.name="AgentInterruptedError",m}let d=((await e.client.listSubagentRuns({parentConversationId:e.parentConversationId}))?.runs??[]).find(m=>m.id===c),p=String(d?.status??"");if(Ebt.has(p)){if(Sbt.has(p))throw new Error(d?.error??`The delegated branch ended as '${p}' without reporting a reason.`);await l();let m=await xbt(e.client,i,c);if(m.length===0)throw new Error(`The delegated branch reported '${p}' but produced no readable output. Its runtime events carry no text for this run id.`);return m}if(Date.now()>=e.deadline)throw await e.client.cancelSubagentRun({runId:c}).catch(()=>{}),new Error("The delegated branch exceeded the time this run was given to wait.");await l(),await kbt(t,void 0,{signal:e.signal})}}};return o}}var Ebt,Sbt,hCe=Be(()=>{"use strict";KC();Ebt=new Set(["completed","succeeded","failed","cancelled","error"]),Sbt=new Set(["failed","cancelled","error"])});import{createHash as Tbt,randomBytes as Pbt}from"node:crypto";import{chmodSync as _bt,existsSync as Bbt,mkdirSync as ACe,readFileSync as $bt,renameSync as Mbt,unlinkSync as yCe,writeFileSync as Nbt}from"node:fs";import{dirname as Obt,join as ZC}from"node:path";function wCe(){return cc()}function Dbt(e){return Tbt("sha256").update(e).digest("hex").slice(0,16)}function xn(){return ZC(wCe(),"daemon")}function v3(){return ZC(xn(),"daemon.json")}function bCe(){return ZC(xn(),"daemon.lock")}function pb(){return ZC(xn(),"daemon.log")}function I3(){let e=Dbt(wCe());return process.platform==="win32"?{transport:"named-pipe",endpoint:`\\\\.\\pipe\\xeno-agent-daemon-${e}`}:{transport:"unix-socket",endpoint:ZC(xn(),"daemon.sock")}}function GO(){ACe(xn(),{recursive:!0})}function vCe(){return Pbt(32).toString("base64url")}function gCe(e){if(process.platform!=="win32")try{_bt(e,384)}catch{}}function k3(){try{return JSON.parse($bt(v3(),"utf8"))}catch{return null}}function ICe(e){let t=v3();ACe(Obt(t),{recursive:!0});let n=`${t}.${process.pid}.${Date.now()}.tmp`;Nbt(n,JSON.stringify(e,null,2)+`
|
|
2691
2691
|
`,{encoding:"utf8",mode:384}),gCe(n),Mbt(n,t),gCe(t)}function JO(){try{yCe(v3())}catch{}}function kCe(){if(process.platform==="win32")return;let{endpoint:e}=I3();if(Bbt(e))try{yCe(e)}catch{}}function mu(e){if(!e||e<=0)return!1;try{return process.kill(e,0),!0}catch{return!1}}var Mo=Be(()=>{"use strict";rh()});import{execFileSync as E3}from"node:child_process";import{createHash as Lbt}from"node:crypto";import{existsSync as Qbt,readFileSync as S3,readlinkSync as Fbt}from"node:fs";import{hostname as mb}from"node:os";function C3(e){return Number.isInteger(e)&&e>0}function jbt(e){return Lbt("sha256").update(e).digest("hex")}function t0(e){let t=e?.trim().replaceAll("\\","/").toLowerCase();return t?`sha256:${jbt(t)}`:void 0}function zO(){if(process.platform==="linux")try{return S3("/proc/sys/kernel/random/boot_id","utf8").trim()||void 0}catch{return}}function qbt(e){if(!C3(e))return!1;try{return process.kill(e,0),!0}catch{return!1}}function ECe(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Vbt(e){let t=new Map;if(e.length===0)return t;let r=["$ErrorActionPreference = 'Stop'",`$items = @(Get-Process -Id @(${e.join(", ")}) -ErrorAction SilentlyContinue)`,"$out = @($items | ForEach-Object { $path = try { [string]$_.Path } catch { '' }; [pscustomobject]@{ pid = [int]$_.Id; startedAt = $_.StartTime.ToUniversalTime().ToString('o'); executable = $path } })","$out | ConvertTo-Json -Compress"].join("; ");try{let i=E3("powershell.exe",["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-Command",r],{encoding:"utf8",windowsHide:!0,timeout:1e4,stdio:["ignore","pipe","ignore"]}).trim();if(!i)return t;let o=JSON.parse(i);for(let s of Array.isArray(o)?o:[o]){let a=Number(s.pid),c=ECe(String(s.startedAt??""));!C3(a)||!c||t.set(a,{pid:a,processStartedAt:c,hostname:mb(),...t0(s.executable)?{executableFingerprint:t0(s.executable)}:{},confidence:"observed"})}}catch{return t}return t}function Hbt(){if(e0)return e0;try{let e=Number.parseInt(E3("getconf",["CLK_TCK"],{encoding:"utf8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim(),10);e0=Number.isFinite(e)&&e>0?e:100}catch{e0=100}return e0}function Wbt(){try{let e=/^btime\s+(\d+)$/m.exec(S3("/proc/stat","utf8"));return e?Number.parseInt(e[1]??"",10):null}catch{return null}}function Gbt(e){try{let t=S3(`/proc/${e}/stat`,"utf8"),n=t.lastIndexOf(")");if(n<0)return null;let r=t.slice(n+2).trim().split(/\s+/),i=Number(r[19]),o=Wbt();if(!Number.isFinite(i)||o===null)return null;let s=new Date((o+i/Hbt())*1e3).toISOString(),a;try{a=Fbt(`/proc/${e}/exe`)}catch{a=void 0}return{pid:e,processStartedAt:s,hostname:mb(),...zO()?{bootId:zO()}:{},...t0(a)?{executableFingerprint:t0(a)}:{},confidence:"observed"}}catch{return null}}function Jbt(e){let t=new Map;if(process.platform==="linux"){for(let n of e){let r=Gbt(n);r&&t.set(n,r)}return t}for(let n of e)try{let r=E3("ps",["-p",String(n),"-o","lstart="],{encoding:"utf8",timeout:2e3,env:{...process.env,LC_ALL:"C"},stdio:["ignore","pipe","ignore"]}).trim(),i=ECe(r);if(!i)continue;t.set(n,{pid:n,processStartedAt:i,hostname:mb(),confidence:"observed"})}catch{continue}return t}function n0(e){let t=[...new Set(e.filter(C3))],n=t.includes(process.pid),r=n?t.filter(o=>o!==process.pid):t,i=process.platform==="win32"?Vbt(r):Jbt(r);return n&&i.set(process.pid,wg()),i}function SCe(e){return n0([e]).get(e)??null}function XO(e,t=new Date,n=!1){return(n?SCe(e):null)??{pid:e,processStartedAt:t.toISOString(),hostname:mb(),confidence:"degraded"}}function wg(){let e=new Date(Date.now()-Math.floor(process.uptime()*1e3)).toISOString();return{pid:process.pid,processStartedAt:e,hostname:mb(),...zO()?{bootId:zO()}:{},...Qbt(process.execPath)?{executableFingerprint:t0(process.execPath)}:{},confidence:"self"}}function fu(e,t=SCe){if(e.hostname!==mb())return{status:"remote",expected:e,reason:"Process belongs to another host."};if(!qbt(e.pid))return{status:"dead",expected:e,reason:"Process ID is not live."};let n=t(e.pid);if(!n)return{status:"degraded",expected:e,reason:"Creation time could not be observed."};let r=Date.parse(e.processStartedAt),i=Date.parse(n.processStartedAt);return!Number.isFinite(r)||!Number.isFinite(i)||Math.abs(r-i)>Ubt?{status:"mismatch",expected:e,observed:n,reason:"Process creation time does not match."}:e.bootId&&n.bootId&&e.bootId!==n.bootId?{status:"mismatch",expected:e,observed:n,reason:"Host boot identity does not match."}:e.executableFingerprint&&n.executableFingerprint&&e.executableFingerprint!==n.executableFingerprint?{status:"mismatch",expected:e,observed:n,reason:"Executable identity does not match."}:{status:"live",expected:e,observed:n}}var Ubt,e0,bg=Be(()=>{"use strict";Ubt=3e3});import{existsSync as zbt,linkSync as Xbt,mkdirSync as Ybt,readFileSync as Kbt,rmSync as R3,statSync as Zbt,writeFileSync as evt}from"node:fs";import{hostname as CCe}from"node:os";import{dirname as tvt}from"node:path";import{randomUUID as nvt}from"node:crypto";function rvt(){return new Date().toISOString()}function x3(e){try{return JSON.parse(Kbt(e,"utf8"))}catch{return null}}function ivt(e){if(e.hostname!==CCe())return!0;let t=Date.parse(e.acquiredAt);if(Number.isFinite(t)&&Date.now()-t<3e4)return!0;if(!mu(e.pid))return!1;if(e.processIdentity){let n=fu(e.processIdentity);return n.status==="live"||n.status==="degraded"||n.status==="remote"}return!0}function xCe(e,t){Ybt(tvt(e),{recursive:!0});let n=`${e}.${process.pid}.${nvt()}.tmp`;evt(n,JSON.stringify(t,null,2)+`
|
|
2692
2692
|
`,{encoding:"utf8",flag:"wx"});try{Xbt(n,e)}finally{R3(n,{force:!0})}}function ovt(e){try{return Date.now()-Zbt(e).mtimeMs<3e4}catch{return!1}}function svt(e,t){return e?.pid===t.pid&&e.hostname===t.hostname&&e.processStartedAt===t.processStartedAt&&e.acquiredAt===t.acquiredAt}function r0(e,t){return new Error(`${e} is already locked ${t}.`)}function avt(e,t,n){try{xCe(e,t)}catch(r){throw r.code==="EEXIST"?r0(n,"by another contender"):r}}function cvt(e,t){let n=x3(e);n?.pid!==t.pid||n.hostname!==t.hostname||n.processStartedAt!==t.processStartedAt||R3(e,{force:!0})}function Ss(e,t,n){let r=rvt(),i=wg(),o={schemaVersion:1,name:t,pid:process.pid,hostname:CCe(),processStartedAt:i.processStartedAt,processIdentity:i,version:n,acquiredAt:r,updatedAt:r};try{xCe(e,o)}catch(s){if(s.code!=="EEXIST")throw s;let c=x3(e);if(c&&ivt(c))throw r0(t,`by PID ${c.pid} on ${c.hostname}`);if(c){if(!svt(x3(e),c))throw r0(t,"while ownership was changing")}else{if(!zbt(e))throw r0(t,"while ownership was changing");if(ovt(e))throw r0(t,"by an owner whose record is still being published")}R3(e,{force:!0}),avt(e,o,t)}return{record:o,release:()=>{cvt(e,o)}}}var vg=Be(()=>{"use strict";Mo();bg()});import{createHash as _Ce,randomBytes as lvt,randomUUID as BCe}from"node:crypto";import{closeSync as uvt,existsSync as P3,fsyncSync as dvt,mkdirSync as _3,openSync as pvt,readFileSync as YO,renameSync as mvt,writeFileSync as $Ce}from"node:fs";import{cpus as fvt}from"node:os";import{dirname as MCe,isAbsolute as hvt,join as gb,resolve as gvt}from"node:path";function o0(e,t,n=1,r=Number.MAX_SAFE_INTEGER){let i=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(i)?Math.min(r,Math.max(n,Math.trunc(i))):t}function wvt(e,t,n=0,r=Number.MAX_SAFE_INTEGER){let i=typeof e=="number"?e:Number(e);return Number.isFinite(i)?Math.min(r,Math.max(n,i)):t}function fb(e,t){return t===void 0?e:Math.min(e,t)}function i0(e,t){return{maxConcurrency:fb(e.maxConcurrency,t?.maxConcurrency),maxCredentialConcurrency:fb(e.maxCredentialConcurrency,t?.maxCredentialConcurrency),maxRequestsPerWindow:fb(e.maxRequestsPerWindow,t?.maxRequestsPerWindow),maxTokensPerWindow:fb(e.maxTokensPerWindow,t?.maxTokensPerWindow),windowMs:t?.windowMs===void 0?e.windowMs:Math.max(1e3,t.windowMs)}}function bvt(e={}){let t=e.env??process.env,n=Math.max(1,e.cpuCount??fvt().length),r=Math.min(Math.max(1,n-2),Avt),i=o0(t.XENO_WORKFLOW_GLOBAL_CONCURRENCY,r,1,T3),s=t.XENO_WORKFLOW_TRUSTED_CONCURRENCY_OVERRIDE==="1"?i:Math.min(r,i);s=fb(s,e.user?.globalConcurrency),s=fb(s,e.managed?.globalConcurrency),s=o0(s,r,1,T3);let a={maxConcurrency:Math.min(s,8),maxCredentialConcurrency:Math.min(s,4),maxRequestsPerWindow:120,maxTokensPerWindow:2e6,windowMs:6e4},c=i0(a,e.user?.providerDefault),l=i0(c,e.managed?.providerDefault),u=new Set([...Object.keys(e.user?.providers??{}),...Object.keys(e.managed?.providers??{})]),d=Object.fromEntries([...u].map(m=>[m,i0(i0(l,e.user?.providers?.[m]),e.managed?.providers?.[m])])),p=(m,f,h=1,g=Number.MAX_SAFE_INTEGER)=>{let A=f,w=e.user?.[m],y=e.managed?.[m];return typeof w=="number"&&(A=Math.min(A,w)),typeof y=="number"&&(A=Math.min(A,y)),o0(A,f,h,g)};return{schemaVersion:1,productHardConcurrency:T3,globalConcurrency:s,perRunConcurrency:p("perRunConcurrency",s,1,s),perParentConcurrency:p("perParentConcurrency",s,1,s),reservedPrioritySlots:Math.min(2,Math.max(0,s-1)),maxQueueLength:p("maxQueueLength",4096,1,65536),maxQueueWaitMs:p("maxQueueWaitMs",5*6e4,1e3,1440*6e4),maxAttemptsPerLogicalChild:p("maxAttemptsPerLogicalChild",3,1,100),maxAttemptsPerRun:p("maxAttemptsPerRun",1e3,1,1e4),maxReservedTokens:p("maxReservedTokens",4e6,1,Number.MAX_SAFE_INTEGER),maxReservedCostUsd:wvt(Math.min(e.user?.maxReservedCostUsd??500,e.managed?.maxReservedCostUsd??500),500,.01,1e6),leaseTtlMs:p("leaseTtlMs",4e3,2e3,5*6e4),heartbeatIntervalMs:p("heartbeatIntervalMs",1e3,250,6e4),maxStarvationMs:p("maxStarvationMs",3e4,1e3,60*6e4),providerDefault:l,providers:d}}function RCe(e,t){if(!P3(e)){if(t)throw new No("WORKFLOW_GOVERNOR_UNAVAILABLE",`Resource policy file not found: ${e}`);return}try{let n=JSON.parse(YO(e,"utf8"));if(!n||typeof n!="object"||Array.isArray(n))throw new Error("policy root must be an object");return n}catch(n){throw new No("WORKFLOW_GOVERNOR_UNAVAILABLE",`Resource policy is invalid: ${e}: ${n instanceof Error?n.message:String(n)}`)}}function vvt(e=process.env){let t=MCe(xn()),n=e.XENO_WORKFLOW_RESOURCE_POLICY?.trim(),r=e.XENO_MANAGED_WORKFLOW_RESOURCE_POLICY?.trim(),i=a=>hvt(a)?a:gvt(a),o=RCe(n?i(n):gb(t,"resource-policy.json"),!!n),s=r?RCe(i(r),!0):void 0;return bvt({env:e,user:o,managed:s})}function Gi(e){return new Date(e).toISOString()}function Ivt(e){return{schemaVersion:1,revision:0,nextFencingToken:1,updatedAt:Gi(e),permits:[],queue:[],attempts:[],usage:[],providerRates:[],effects:[]}}function kvt(e){let t=e,n=p=>!!(p&&typeof p=="object"&&!Array.isArray(p)),r=p=>typeof p=="string"&&p.length>0&&p.length<=512,i=p=>typeof p=="string"&&Number.isFinite(Date.parse(p)),o=p=>n(p)&&Number.isInteger(p.pid)&&Number(p.pid)>0&&r(p.hostname)&&i(p.processStartedAt),s=p=>n(p)&&r(p.permitId)&&r(p.requestId)&&r(p.operationId)&&r(p.runId)&&r(p.providerId)&&r(p.logicalChildId)&&r(p.attemptId)&&r(p.idempotencyKey)&&Number.isInteger(p.fencingToken)&&Number(p.fencingToken)>0&&o(p.owner)&&i(p.acquiredAt)&&i(p.heartbeatAt)&&i(p.expiresAt)&&Number.isFinite(p.reservedTokens)&&Number(p.reservedTokens)>=0&&Number.isFinite(p.reservedCostUsd)&&Number(p.reservedCostUsd)>=0,a=p=>n(p)&&r(p.requestId)&&r(p.operationId)&&r(p.runId)&&r(p.providerId)&&r(p.logicalChildId)&&r(p.attemptId)&&r(p.idempotencyKey)&&o(p.owner)&&i(p.enqueuedAt)&&i(p.updatedAt),c=p=>n(p)&&r(p.runId)&&r(p.logicalChildId)&&r(p.attemptId)&&r(p.idempotencyKey)&&r(p.state)&&i(p.startedAt),l=p=>n(p)&&r(p.runId)&&Number.isFinite(p.tokens)&&Number(p.tokens)>=0&&Number.isFinite(p.costUsd)&&Number(p.costUsd)>=0&&Number.isInteger(p.attempts)&&Number(p.attempts)>=0&&i(p.updatedAt),u=p=>n(p)&&r(p.providerId)&&i(p.timestamp)&&Number.isFinite(p.tokens)&&Number(p.tokens)>=0,d=p=>n(p)&&r(p.effectKey)&&r(p.idempotencyKey)&&r(p.permitId)&&Number.isInteger(p.fencingToken)&&Number(p.fencingToken)>0&&r(p.state)&&i(p.claimedAt);return!!(t&&t.schemaVersion===1&&Number.isInteger(t.revision)&&Number(t.revision)>=0&&Number.isInteger(t.nextFencingToken)&&Number(t.nextFencingToken)>0&&i(t.updatedAt)&&Array.isArray(t.permits)&&t.permits.every(s)&&Array.isArray(t.queue)&&t.queue.every(a)&&Array.isArray(t.attempts)&&t.attempts.every(c)&&Array.isArray(t.usage)&&t.usage.every(l)&&Array.isArray(t.providerRates)&&t.providerRates.every(u)&&Array.isArray(t.effects)&&t.effects.every(d))}function Evt(e,t){_3(MCe(e),{recursive:!0});let n=`${e}.${process.pid}.${BCe()}.tmp`,r=pvt(n,"wx",384);try{$Ce(r,JSON.stringify(t,null,2)+`
|
|
2693
2693
|
`,"utf8"),dvt(r)}finally{uvt(r)}mvt(n,e)}function Svt(e,t,n){let r=Date.parse(e.requestedAt??""),i=Number.isFinite(r)?r:t,o=Date.parse(e.queueDeadlineAt??"");return{requestedAt:Gi(i),deadlineAt:Gi(Number.isFinite(o)?Math.min(o,i+n):i+n)}}function NCe(e,t){return i0(e.providerDefault,e.providers[t])}function TCe(e,t,n){let r=Math.max(0,t-Date.parse(e.enqueuedAt));return yvt[e.priorityClass]+Math.floor(r/n.maxStarvationMs)*1001}function Cvt(e,t,n){return[...e].sort((r,i)=>TCe(i,t,n)-TCe(r,t,n)||Date.parse(r.enqueuedAt)-Date.parse(i.enqueuedAt)||r.requestId.localeCompare(i.requestId))}function xvt(e,t){return e.pid===t.pid&&e.hostname===t.hostname&&e.processStartedAt===t.processStartedAt}function hb(e){return Number.isFinite(e)?Math.max(0,Number(e)):0}function PCe(e,t,n,r){let i=e.permits;if(i.length>=n.globalConcurrency)return{code:"WORKFLOW_CONCURRENCY_LIMIT",reason:"global_concurrency"};if(!(t.priorityClass==="control"||t.priorityClass==="foreground"||t.priorityClass==="reconciliation"||t.priorityClass==="terminal")&&i.length>=Math.max(0,n.globalConcurrency-n.reservedPrioritySlots))return{code:"WORKFLOW_CONCURRENCY_LIMIT",reason:"reserved_priority_capacity"};let s=Math.min(n.perRunConcurrency,o0(t.runConcurrencyLimit,n.perRunConcurrency,1,n.globalConcurrency));if(i.filter(b=>b.runId===t.runId).length>=s)return{code:"WORKFLOW_CONCURRENCY_LIMIT",reason:"run_concurrency"};if(t.parentId&&i.filter(b=>b.parentId===t.parentId).length>=n.perParentConcurrency)return{code:"WORKFLOW_CONCURRENCY_LIMIT",reason:"parent_concurrency"};let a=NCe(n,t.providerId);if(i.filter(b=>b.providerId===t.providerId).length>=a.maxConcurrency)return{code:"WORKFLOW_CONCURRENCY_LIMIT",reason:"provider_concurrency"};if(t.credentialFingerprint&&i.filter(b=>b.providerId===t.providerId&&b.credentialFingerprint===t.credentialFingerprint).length>=a.maxCredentialConcurrency)return{code:"WORKFLOW_CONCURRENCY_LIMIT",reason:"credential_concurrency"};if(i.some(b=>b.logicalChildId===t.logicalChildId))return{code:"WORKFLOW_CONCURRENCY_LIMIT",reason:"logical_child_active"};let c=new Set(e.attempts.filter(b=>b.logicalChildId===t.logicalChildId).map(b=>b.attemptId));if(!c.has(t.attemptId)&&c.size>=n.maxAttemptsPerLogicalChild)return{code:"WORKFLOW_ATTEMPT_LIMIT",reason:"logical_child_attempt_limit"};let l=new Set(e.attempts.filter(b=>b.runId===t.runId).map(b=>b.attemptId)),u=Math.min(n.maxAttemptsPerRun,o0(t.runAttemptLimit,n.maxAttemptsPerRun,1,n.maxAttemptsPerRun));if(!l.has(t.attemptId)&&l.size>=u)return{code:"WORKFLOW_ATTEMPT_LIMIT",reason:"run_attempt_limit"};let d=hb(t.reservedTokens);if(i.reduce((b,v)=>b+v.reservedTokens,0)+d>n.maxReservedTokens)return{code:"WORKFLOW_TOKEN_LIMIT",reason:"global_token_reservation"};let m=hb(t.reservedCostUsd);if(i.reduce((b,v)=>b+v.reservedCostUsd,0)+m>n.maxReservedCostUsd)return{code:"WORKFLOW_COST_LIMIT",reason:"global_cost_reservation"};let h=e.usage.find(b=>b.runId===t.runId),g=i.filter(b=>b.runId===t.runId).reduce((b,v)=>b+v.reservedTokens,0);if(t.runTokenLimit!==void 0&&(h?.tokens??0)+g+d>t.runTokenLimit)return{code:"WORKFLOW_TOKEN_LIMIT",reason:"run_token_limit"};let A=i.filter(b=>b.runId===t.runId).reduce((b,v)=>b+v.reservedCostUsd,0);if(t.runCostLimitUsd!==void 0&&(h?.costUsd??0)+A+m>t.runCostLimitUsd)return{code:"WORKFLOW_COST_LIMIT",reason:"run_cost_limit"};let w=r-a.windowMs,y=e.providerRates.filter(b=>b.providerId===t.providerId&&Date.parse(b.timestamp)>=w&&(!t.credentialFingerprint||b.credentialFingerprint===t.credentialFingerprint));return y.length>=a.maxRequestsPerWindow?{reason:"provider_request_rate"}:y.reduce((b,v)=>b+v.tokens,0)+d>a.maxTokensPerWindow?{reason:"provider_token_rate"}:{}}function Rvt(e){for(let[t,n]of Object.entries({requestId:e.requestId,operationId:e.operationId,runId:e.runId,providerId:e.providerId,logicalChildId:e.logicalChildId,attemptId:e.attemptId,idempotencyKey:e.idempotencyKey}))if(typeof n!="string"||!n.trim()||n.length>512)throw new No("WORKFLOW_GOVERNOR_UNAVAILABLE",`Invalid resource request field: ${t}.`);if(e.credentialFingerprint&&!/^(?:cred_)?sha256_[a-f0-9]{32,64}$/i.test(e.credentialFingerprint))throw new No("WORKFLOW_GOVERNOR_UNAVAILABLE","credentialFingerprint must be a scoped SHA-256 fingerprint.")}function Mm(e,t){let n=String(e??"default").trim().toLowerCase().split(/[/:]/,1)[0]||"default",r=t?.trim()?_Ce("sha256").update(t.trim().toLowerCase()).digest("hex").slice(0,16):"default";return`${n}@${r}`}function B3(e){let t=_Ce("sha256");return t.update(e.salt),t.update("\0"),t.update(e.providerId),t.update("\0"),t.update(e.endpoint?.trim().toLowerCase()??""),t.update("\0"),t.update(e.credential),`cred_sha256_${t.digest("hex")}`}function $3(e=gb(xn(),"governor")){let t=gb(e,"credential-salt.bin");if(_3(e,{recursive:!0}),P3(t))return YO(t);let n=lvt(32);try{return $Ce(t,n,{flag:"wx",mode:384}),n}catch{return YO(t)}}function Ab(e,t=process.env,n){let r=e.split("@",1)[0]?.toLowerCase(),o=(r==="anthropic"||r==="claude"?["ANTHROPIC_API_KEY","XENO_API_KEY"]:r==="openai"||r==="gpt"?["OPENAI_API_KEY","XENO_API_KEY"]:r==="google"||r==="gemini"?["GOOGLE_API_KEY","GEMINI_API_KEY","XENO_API_KEY"]:["XENO_API_KEY","ANTHROPIC_API_KEY","OPENAI_API_KEY","GOOGLE_API_KEY","GEMINI_API_KEY"]).map(s=>t[s]?.trim()).find(Boolean);return o?B3({providerId:e,endpoint:n,credential:o,salt:$3()}):void 0}function KO(e){return{XENO_RESOURCE_PERMIT_ID:e.permitId,XENO_RESOURCE_FENCING_TOKEN:String(e.fencingToken),XENO_RESOURCE_OPERATION_ID:e.operationId,XENO_RESOURCE_IDEMPOTENCY_KEY:e.idempotencyKey}}function M3(e=process.env){let t=e.XENO_RESOURCE_PERMIT_ID?.trim(),n=Number.parseInt(e.XENO_RESOURCE_FENCING_TOKEN??"",10);return t&&Number.isInteger(n)&&n>0?{permitId:t,fencingToken:n}:null}function Ig(e,t,n=process.env){if(n.XENO_RESOURCE_OPERATION_ID?.trim()!==e)return;let r=M3(n);if(!t||!r||t.permitId!==r.permitId||t.fencingToken!==r.fencingToken)throw new No("WORKER_LEASE_EXPIRED","Worker state write rejected because its fencing token is stale.");new xr().assertFence(r.permitId,r.fencingToken)}var T3,Avt,No,yvt,xr,Vd=Be(()=>{"use strict";Ii();eb();Mo();vg();bg();T3=64,Avt=16,No=class extends Error{constructor(n,r){super(r);this.code=n;this.name="WorkflowResourceError"}code},yvt={control:1e3,foreground:900,reconciliation:850,terminal:800,"app-server":700,workflow:500,background:400,scheduled:300};xr=class{policy;rootDir;ledgerPath;lockPath;now;owner;fault;constructor(t={}){this.rootDir=t.rootDir??gb(xn(),"governor"),this.ledgerPath=gb(this.rootDir,"resource-ledger.json"),this.lockPath=gb(this.rootDir,"resource-ledger.lock"),this.policy=t.policy??vvt(),this.now=t.now??Date.now,this.owner=t.owner??wg,this.fault=t.fault,_3(this.rootDir,{recursive:!0})}acquire(t){Rvt(t);let n=0,r=this.withLedger((a,c)=>{this.cleanupExpired(a,c);let l=a.permits.find(v=>v.requestId===t.requestId||v.attemptId===t.attemptId);if(l)return n=a.permits.length,{value:{status:"active",permit:l,reason:"attempt_already_active"},changed:!0};let u=Svt(t,c,this.policy.maxQueueWaitMs);if(c>Date.parse(u.deadlineAt))return{value:{status:"rejected",code:"WORKFLOW_QUEUE_EXPIRED",reason:"Queued work exceeded its deadline."},changed:!1};let d=a.queue.find(v=>v.requestId===t.requestId);if(d&&c>Date.parse(d.queueDeadlineAt??u.deadlineAt))return a.queue=a.queue.filter(v=>v.requestId!==t.requestId),{value:{status:"rejected",code:"WORKFLOW_QUEUE_EXPIRED",reason:"Queued work exceeded its deadline."},changed:!0};if(!d&&a.queue.length>=this.policy.maxQueueLength)return{value:{status:"rejected",code:"WORKFLOW_QUEUE_FULL",reason:"The host workflow queue is full."},changed:!1};let p=t.owner??this.owner(),m=d?{...d,...t,owner:d.owner,updatedAt:Gi(c)}:{...t,owner:p,requestedAt:u.requestedAt,queueDeadlineAt:u.deadlineAt,enqueuedAt:Gi(c),updatedAt:Gi(c)};d?a.queue=a.queue.map(v=>v.requestId===m.requestId?m:v):a.queue.push(m);let f=Cvt(a.queue,c,this.policy),h,g={};for(let v of f){let I=PCe(a,v,this.policy,c);if(v.requestId===m.requestId&&(g=I),!I.reason){h=v;break}}if(g.code==="WORKFLOW_ATTEMPT_LIMIT"||g.code==="WORKFLOW_TOKEN_LIMIT"||g.code==="WORKFLOW_COST_LIMIT")return a.queue=a.queue.filter(v=>v.requestId!==m.requestId),{value:{status:"rejected",code:g.code,reason:g.reason??"resource_limit"},changed:!0};if(!h||h.requestId!==m.requestId){let v=a.permits.map(R=>Date.parse(R.expiresAt)).filter(Number.isFinite).sort((R,C)=>R-C)[0],I=NCe(this.policy,m.providerId),k=a.providerRates.filter(R=>R.providerId===m.providerId&&(!m.credentialFingerprint||R.credentialFingerprint===m.credentialFingerprint)).map(R=>Date.parse(R.timestamp)+I.windowMs).filter(R=>Number.isFinite(R)&&R>c).sort((R,C)=>R-C)[0],x=[v,k].filter(R=>typeof R=="number").sort((R,C)=>R-C)[0];return{value:{status:"queued",request:m,reason:g.reason??"waiting_for_fair_turn",...x?{estimatedEligibleAt:Gi(x)}:{}},changed:!0}}let A=PCe(a,m,this.policy,c);if(A.reason)return A.code==="WORKFLOW_ATTEMPT_LIMIT"||A.code==="WORKFLOW_TOKEN_LIMIT"||A.code==="WORKFLOW_COST_LIMIT"?(a.queue=a.queue.filter(v=>v.requestId!==m.requestId),{value:{status:"rejected",code:A.code,reason:A.reason},changed:!0}):{value:{status:"queued",request:m,reason:A.reason},changed:!0};let w=Gi(c),y={permitId:`permit_${BCe()}`,requestId:m.requestId,operationId:m.operationId,surface:m.surface,priorityClass:m.priorityClass,runId:m.runId,...m.parentId?{parentId:m.parentId}:{},providerId:m.providerId,...m.credentialFingerprint?{credentialFingerprint:m.credentialFingerprint}:{},logicalChildId:m.logicalChildId,attemptId:m.attemptId,idempotencyKey:m.idempotencyKey,fencingToken:a.nextFencingToken++,owner:m.owner,acquiredAt:w,heartbeatAt:w,expiresAt:Gi(c+this.policy.leaseTtlMs),reservedTokens:hb(m.reservedTokens),reservedCostUsd:hb(m.reservedCostUsd),lastDurableSequence:0};a.queue=a.queue.filter(v=>v.requestId!==m.requestId),a.permits.push(y),n=a.permits.length;let b=a.attempts.find(v=>v.attemptId===m.attemptId);return b?Object.assign(b,{state:"active",permitId:y.permitId,endedAt:void 0,outcome:void 0}):a.attempts.push({runId:m.runId,logicalChildId:m.logicalChildId,attemptId:m.attemptId,idempotencyKey:m.idempotencyKey,state:"active",permitId:y.permitId,startedAt:w}),a.providerRates.push({providerId:m.providerId,...m.credentialFingerprint?{credentialFingerprint:m.credentialFingerprint}:{},timestamp:w,tokens:y.reservedTokens}),this.fault?.("acquire.before_commit"),{value:{status:"acquired",permit:y},changed:!0,afterCommit:()=>this.fault?.("acquire.after_commit")}}),i=r.status==="rejected"?r.code:r.status==="acquired"?"admitted":r.reason;gr("xeno.workflow.admission_results",1,{component:"resource_governor",provider:t.providerId,state:r.status,reason:i,...r.status==="rejected"?{error_code:r.code}:{}}),(i==="provider_request_rate"||i==="provider_token_rate"||i==="provider_concurrency"||i==="credential_concurrency")&&gr("xeno.workflow.provider_throttles",1,{component:"resource_governor",provider:t.providerId,reason:i});let o=Date.parse((r.status==="queued"?r.request.requestedAt:t.requestedAt)??""),s=r.status==="acquired"||r.status==="active"?Date.parse(r.permit.acquiredAt):this.now();return Number.isFinite(o)&&Number.isFinite(s)&&_o("xeno.workflow.queue_wait_ms",Math.max(0,s-o),{component:"resource_governor",provider:t.providerId,state:r.status}),n>0&&_o("xeno.workflow.active_concurrency",n,{component:"resource_governor",provider:t.providerId}),r}heartbeat(t){return this.withLedger((n,r)=>{let i=this.currentPermit(n,t.permitId,t.fencingToken,r),o=t.owner??this.owner();if(!xvt(i.owner,o))throw new No("WORKER_IDENTITY_MISMATCH","Permit heartbeat came from a different worker identity.");return i.heartbeatAt=Gi(r),i.expiresAt=Gi(r+this.policy.leaseTtlMs),i.lastDurableSequence=Math.max(i.lastDurableSequence,Math.max(0,t.lastDurableSequence??0)),{value:{...i},changed:!0}})}assertFence(t,n){return this.withLedger((r,i)=>({value:{...this.currentPermit(r,t,n,i)},changed:!1}))}transfer(t,n,r){return this.withLedger((i,o)=>{let s=this.currentPermit(i,t,n,o);return s.owner=r,s.heartbeatAt=Gi(o),s.expiresAt=Gi(o+this.policy.leaseTtlMs),{value:{...s},changed:!0}})}settle(t){return this.withLedger((n,r)=>{let i=n.permits.find(c=>c.permitId===t.permitId);if(!i)return{value:!1,changed:!1};if(i.fencingToken!==t.fencingToken||Date.parse(i.expiresAt)<=r)throw new No("WORKER_LEASE_EXPIRED","The worker fencing token is stale.");n.permits=n.permits.filter(c=>c.permitId!==i.permitId);let o=n.attempts.find(c=>c.attemptId===i.attemptId);o&&Object.assign(o,{state:"settled",endedAt:Gi(r),outcome:t.outcome});let s=n.usage.find(c=>c.runId===i.runId),a={runId:i.runId,tokens:(s?.tokens??0)+hb(t.actualTokens),costUsd:(s?.costUsd??0)+hb(t.actualCostUsd),attempts:(s?.attempts??0)+1,updatedAt:Gi(r)};return n.usage=[...n.usage.filter(c=>c.runId!==i.runId),a],{value:!0,changed:!0}})}settleOperation(t,n,r=0,i=0){let o=this.snapshot().permits.find(s=>s.operationId===t);return o?this.settle({permitId:o.permitId,fencingToken:o.fencingToken,outcome:n,actualTokens:r,actualCostUsd:i}):!1}cancelQueued(t){return this.withLedger(n=>{let r=n.queue.some(i=>i.requestId===t);return n.queue=n.queue.filter(i=>i.requestId!==t),{value:r,changed:r}})}claimEffect(t){return this.withLedger((n,r)=>{let i=this.currentPermit(n,t.permitId,t.fencingToken,r),o=n.effects.find(s=>s.effectKey===t.effectKey||s.idempotencyKey===i.idempotencyKey);return o?{value:o.permitId===i.permitId&&o.fencingToken===i.fencingToken&&o.state==="claimed",changed:!1}:(n.effects.push({effectKey:t.effectKey,idempotencyKey:i.idempotencyKey,permitId:i.permitId,fencingToken:i.fencingToken,state:"claimed",claimedAt:Gi(r)}),{value:!0,changed:!0})})}commitEffect(t){return this.withLedger((n,r)=>{this.currentPermit(n,t.permitId,t.fencingToken,r);let i=n.effects.find(o=>o.effectKey===t.effectKey);return!i||i.permitId!==t.permitId||i.fencingToken!==t.fencingToken?{value:!1,changed:!1}:i.state==="committed"?{value:!0,changed:!1}:(i.state="committed",i.committedAt=Gi(r),{value:!0,changed:!0})})}reconcile(t){let n=this.withLedger((r,i)=>{let o=[...r.permits],s=[...r.queue],a=t??n0(o.map(h=>h.owner.pid)),c=new Set,l=new Set;for(let h of o){let g=fu(h.owner,A=>a.get(A)??null);g.status==="mismatch"&&c.add(h.permitId),(g.status==="degraded"||g.status==="remote")&&l.add(h.permitId)}this.cleanupExpired(r,i,c);let u=new Set(r.permits.map(h=>h.permitId)),d=o.filter(h=>!u.has(h.permitId)&&!c.has(h.permitId)),p=o.filter(h=>c.has(h.permitId)),m=new Set(r.queue.map(h=>h.requestId)),f=s.filter(h=>!m.has(h.requestId));return{value:{expiredPermits:d,identityMismatches:p,expiredQueue:f,livePermits:r.permits.length,degradedPermits:r.permits.filter(h=>l.has(h.permitId)).length},changed:d.length>0||p.length>0||f.length>0}});return _o("xeno.worker.live_leases",n.livePermits,{component:"resource_governor",operation:"reconcile"}),_o("xeno.worker.degraded_leases",n.degradedPermits,{component:"resource_governor",operation:"reconcile"}),n.expiredPermits.length>0&&gr("xeno.worker.lease_expirations",n.expiredPermits.length,{component:"resource_governor",operation:"reconcile"}),n.identityMismatches.length>0&&gr("xeno.worker.identity_mismatches",n.identityMismatches.length,{component:"resource_governor",operation:"reconcile"}),n}snapshot(){return this.withLedger(t=>({value:structuredClone(t),changed:!1}))}cleanupExpired(t,n,r=new Set){let i=new Set(t.permits.filter(s=>Date.parse(s.expiresAt)<=n||r.has(s.permitId)).map(s=>s.permitId));if(i.size>0){t.permits=t.permits.filter(s=>!i.has(s.permitId));for(let s of t.attempts)s.permitId&&i.has(s.permitId)&&s.state==="active"&&(s.state="expired",s.endedAt=Gi(n),s.outcome=r.has(s.permitId)?"WORKER_IDENTITY_MISMATCH":"WORKER_LEASE_EXPIRED")}t.queue=t.queue.filter(s=>Date.parse(s.queueDeadlineAt??s.updatedAt)>n);let o=Math.max(this.policy.providerDefault.windowMs,...Object.values(this.policy.providers).map(s=>s.windowMs??0));if(t.providerRates=t.providerRates.filter(s=>Date.parse(s.timestamp)>n-o),t.attempts.length>2e4){let s=t.attempts.filter(c=>c.state==="active"),a=t.attempts.filter(c=>c.state!=="active").slice(-Math.max(0,2e4-s.length));t.attempts=[...a,...s]}t.effects.length>2e4&&(t.effects=t.effects.slice(-2e4)),t.usage.length>1e4&&(t.usage=t.usage.slice(-1e4))}currentPermit(t,n,r,i){let o=t.permits.find(s=>s.permitId===n);if(!o||Date.parse(o.expiresAt)<=i||o.fencingToken!==r)throw new No("WORKER_LEASE_EXPIRED","The worker lease is missing, expired, or fenced out.");return o}readLedger(t){if(!P3(this.ledgerPath))return Ivt(t);try{let n=JSON.parse(YO(this.ledgerPath,"utf8"));if(!kvt(n))throw new Error("Unsupported resource ledger schema.");return n}catch(n){throw new No("WORKFLOW_GOVERNOR_UNAVAILABLE",`Resource ledger is unreadable and was not overwritten: ${n instanceof Error?n.message:String(n)}`)}}withLedger(t){let n=Date.now()+5e3,r=new Int32Array(new SharedArrayBuffer(4)),i,o;for(;!i&&Date.now()<=n;)try{i=Ss(this.lockPath,"workflow-resource-governor",ve)}catch(s){if(o=s,!(s instanceof Error)||!s.message.includes("is already locked"))break;Atomics.wait(r,0,0,10)}if(!i)throw new No("WORKFLOW_GOVERNOR_UNAVAILABLE",o instanceof Error?o.message:String(o??"Resource governor lock unavailable."));try{let s=this.now(),a=this.readLedger(s),c=t(a,s);return c.changed&&(a.revision+=1,a.updatedAt=Gi(s),Evt(this.ledgerPath,a)),c.afterCommit?.(),c.value}finally{i.release()}}}});import{createHash as Tvt,randomUUID as Pvt}from"node:crypto";import{setTimeout as _vt}from"node:timers/promises";function Bvt(){return`delegation-${Date.now().toString(36)}-${Pvt().slice(0,8)}`}function $vt(e){return async t=>(await al({cwd:e.cwd,apiKey:e.apiKey,baseURL:e.baseURL,model:e.model,...e.fallbackModels?{fallbackModels:e.fallbackModels}:{},...e.effort?{effort:e.effort}:{},maxTokens:t.task.maxTokens,maxIterations:t.task.maxIterations,parentSystemPrompt:e.parentSystemPrompt,parentExecutionMode:e.parentExecutionMode,subagentRole:t.task.role,permissionEngine:e.permissionEngine,toolRegistry:e.createToolRegistry?.(),...e.auditLogger?{session:{auditLogger:e.auditLogger}}:{},onIteration:t.onIteration,onToolStart:t.onToolStart,onToolWillExecute:t.onToolWillExecute,onToolEnd:t.onToolEnd})).agent}async function Mvt(e){for(;;){if(e.signal?.aborted){e.governor.cancelQueued(e.request.requestId);let n=new Error("Delegated branch admission was cancelled.");throw n.name="AgentInterruptedError",n}let t=e.governor.acquire(e.request);if(t.status==="acquired")return t.permit;if(t.status==="active")throw new No("WORKFLOW_CONCURRENCY_LIMIT","Delegated branch attempt is already active.");if(t.status==="rejected")throw new No(t.code,t.reason);if(Date.now()>=e.deadline)throw e.governor.cancelQueued(e.request.requestId),new No("WORKFLOW_QUEUE_EXPIRED","Delegated branch exceeded its admission deadline.");await _vt(50,void 0,{signal:e.signal})}}function Nvt(e,t,n){let r=e.run.bind(e),i=!1,o=a=>{i||(i=!0,t.settle({permitId:n.permitId,fencingToken:n.fencingToken,outcome:a,actualTokens:e.tokenUsage.total}))};e.run=async a=>{try{let c=await r(a);return o("completed"),c}catch(c){throw o(c instanceof Error&&c.name==="AgentInterruptedError"?"cancelled":"failed"),c}};let s=e;if(s.cancelCurrentTurn){let a=s.cancelCurrentTurn.bind(s);s.cancelCurrentTurn=()=>(o("cancelled"),a())}else if(s.cancel){let a=s.cancel.bind(s);s.cancel=()=>(o("cancelled"),a())}return e}async function s0(e){let t=new xr,n=e.rootTraceId??Bvt(),r=Mm(e.model,e.baseURL),i=e.apiKey?B3({providerId:r,endpoint:e.baseURL,credential:e.apiKey,salt:$3()}):Ab(r,process.env,e.baseURL),o=e.createBranchAgent??$vt(e),s=Date.now()+e.timeoutMs,a=async c=>{let l=c.task,u=`${n}:${l.id}`,d=`${u}:attempt-1`,p=Tvt("sha256").update(`${n}\0${l.id}\0${l.prompt}`).digest("hex"),m=await Mvt({governor:t,request:{requestId:`admit:${u}:attempt-1`,operationId:u,surface:"delegated-branch",priorityClass:"foreground",runId:n,parentId:n,providerId:r,...i?{credentialFingerprint:i}:{},logicalChildId:u,attemptId:d,idempotencyKey:p,reservedTokens:l.maxTokens,runConcurrencyLimit:e.branchPolicy?.maxConcurrentBranches,runAttemptLimit:e.branchPolicy?.roles?.length,runTokenLimit:e.maxTotalTokens,queueDeadlineAt:new Date(s).toISOString()},deadline:s,signal:l.signal??e.signal});if(!t.claimEffect({permitId:m.permitId,fencingToken:m.fencingToken,effectKey:`delegated:${m.operationId}`}))throw t.settle({permitId:m.permitId,fencingToken:m.fencingToken,outcome:"duplicate_branch_suppressed"}),new No("WORKFLOW_CONCURRENCY_LIMIT","Duplicate delegated branch execution was suppressed.");try{let f=await o(c);return t.commitEffect({permitId:m.permitId,fencingToken:m.fencingToken,effectKey:`delegated:${m.operationId}`}),Nvt(f,t,m)}catch(f){throw t.settle({permitId:m.permitId,fencingToken:m.fencingToken,outcome:"branch_creation_failed"}),f}};if(e.hostDelegation){if(e.createBranchAgent)throw new Error("Host-routed delegation and a local createBranchAgent are mutually exclusive: the branch either executes on the Agent host or in this process. Pass one.");if(typeof e.onToolWillExecute=="function")throw new Error("Host-routed delegation cannot honour onToolWillExecute: it delays tool execution until it resolves, and a branch running on the Agent host does not wait for this process. A hook that cannot delay is not the hook you asked for, so it is refused rather than silently downgraded. Remove it to delegate on the host, or run without host delegation.");if(typeof e.onIteration=="function")throw new Error("Host-routed delegation cannot report onIteration: the host mints no iteration-bearing runtime event, so there is nothing to read \u2014 unlike onToolStart/onToolEnd, which now fire. Remove onIteration to delegate on the host, or run without host delegation.");return tO({...e,rootTraceId:n,createBranchAgent:fCe({...e.hostDelegation,rootTraceId:n,deadline:s,...e.signal===void 0?{}:{signal:e.signal}})})}return tO({...e,rootTraceId:n,createBranchAgent:a})}var OCe=Be(()=>{"use strict";Et();hCe();Vd();Et()});function bc(e=ve){return{createdByCliVersion:e,createdBySdkVersion:Md}}var kg=Be(()=>{"use strict";Qn();Ii()});var jCe={};ac(jCe,{AgentRunStore:()=>Qe,createAgentRunId:()=>UCe,getAgentRunDir:()=>Gvt,getAgentRunStoreDir:()=>F3,projectRecordStatus:()=>L3});import{randomUUID as Ovt}from"node:crypto";import{appendFileSync as Dvt,existsSync as ZO,mkdirSync as u0,readFileSync as QCe,readdirSync as a0,renameSync as Lvt,rmSync as c0,writeFileSync as tD}from"node:fs";import{basename as N3,dirname as FCe,join as ts,resolve as Qvt}from"node:path";function ai(){return new Date().toISOString()}function jvt(e=new Date){return e.toISOString().replace(/[^0-9]/g,"").slice(0,14)}function nD(e){return e.replace(/[^A-Za-z0-9_.-]/g,"_").slice(0,80)}function Q3(e){return Qvt(e)}function rD(e){return Q3(e).toLowerCase()}function LCe(e,t){let n=rD(e),r=rD(t);return n===r||n.startsWith(`${r}\\`)||n.startsWith(`${r}/`)}function D3(e,t){return!!(rD(e.cwd)===rD(t)||e.git?.root&&LCe(t,e.git.root)||e.git?.worktree&&LCe(t,e.git.worktree))}function qvt(e){return nD(Buffer.from(Q3(e)).toString("base64url"))}function Vvt(){return{input:0,output:0,total:0}}function Hd(e){try{return JSON.parse(QCe(e,"utf8"))}catch{return null}}function Hvt(e){return e instanceof Error&&/\balready locked by PID\b/.test(e.message)}function l0(e,t){u0(FCe(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;tD(n,JSON.stringify(t,null,2)+`
|