@xenosystem/agent-sdk 0.10.13 → 0.10.14

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.cjs CHANGED
@@ -1160,7 +1160,7 @@ public static class XenoProcessTree {
1160
1160
  }
1161
1161
  '@
1162
1162
  [XenoProcessTree]::Kill(${e})
1163
- `,r=Buffer.from(n,"utf16le").toString("base64"),o=(0,GI.spawn)("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",r],{stdio:"ignore",windowsHide:!0}),i=setTimeout(()=>{o.kill("SIGKILL"),t.meta.status==="running"&&t.child.kill("SIGKILL")},3e3);o.once("error",()=>{clearTimeout(i),t.meta.status==="running"&&t.child.kill("SIGKILL")}),o.once("close",()=>{clearTimeout(i),t.meta.status==="running"&&t.child.kill("SIGKILL")})}function E2(t){t.timeout&&(clearTimeout(t.timeout),t.timeout=void 0)}function k2(t){t.startupTimer&&(clearTimeout(t.startupTimer),t.startupTimer=void 0)}function S2(t){E2(t),k2(t),t.forceTimer&&(clearTimeout(t.forceTimer),t.forceTimer=void 0)}function Uc(t){return{...t}}function QW(t,e){if(!t)return[];let n=[],r="",o=0;for(let i of t){let s=Buffer.byteLength(i,"utf8");r&&o+s>e&&(n.push(r),r="",o=0),r+=i,o+=s}return r&&n.push(r),n}function ZW(t,e){return!Number.isFinite(t)||t<=0?1:Math.min(Math.floor(t),e)}function xh(t,e){return!Number.isFinite(t??Number.NaN)||(t??0)<=0?e:Math.floor(t)}var GI,A2,Ah,zI,fr,y2,jW,b2,qW,HW,VW,zW,GW,WW,w2,JW,KW,wh,Mu,vh,Sh,WI=T(()=>{"use strict";GI=require("node:child_process"),A2=require("node:crypto"),Ah=require("node:os"),zI=require("node:string_decoder");Bc();hs();Wx();Rd();fr=class extends Error{constructor(n,r){super(r.startsWith(`${n}:`)?r:`${n}: ${r}`);this.code=n;this.name="UnifiedExecError"}code},y2=256e3,jW=128e3,b2=256,qW=64,HW=16,VW=8192,zW=8,GW=2e3,WW=1e4,w2=2,JW=1e3,KW=500,wh=class{processes=new Map;listeners=new Set;maxProcesses;maxPtyProcesses;ptyAdapter;disposeShutdown;constructor(e={}){this.maxProcesses=xh(e.maxProcesses,qW),this.maxPtyProcesses=xh(e.maxPtyProcesses,HW),(e.registerCleanup??!0)&&(this.disposeShutdown=Ro(()=>this.terminateAll({force:!0})))}registerPtyAdapter(e){return this.ptyAdapter=e,()=>{this.ptyAdapter===e&&(this.ptyAdapter=void 0)}}getPtyCapability(){return this.ptyAdapter?{available:!0,adapter:this.ptyAdapter.name??"registered"}:{available:!1}}onEvent(e){return this.listeners.add(e),()=>this.listeners.delete(e)}start(e,n={}){if(this.pruneTerminalProcesses(),this.processes.size>=this.maxProcesses)throw new fr("PROCESS_LIMIT",`Too many managed exec processes (${this.maxProcesses})`);let r=e.trim();if(!r)throw new Error("exec.start requires a non-empty command");let o=n.tty?"pty":"pipe";if(o==="pty"&&this.countPtyProcesses()>=this.maxPtyProcesses)throw new fr("PROCESS_LIMIT",`Too many managed PTY processes (${this.maxPtyProcesses})`);if(o==="pty"&&Vn(n.sandbox))throw new fr("PTY_UNAVAILABLE","Process-hardened and contained interactive terminals are not supported");if(n.invocation&&(o==="pty"||Vn(n.sandbox)))throw new fr("INVOCATION_UNSUPPORTED","An explicit interpreter runs pipe-backed and unsecured only; a secured launch wraps the platform shell");let i=n.cwd??process.cwd(),s=new Date().toISOString(),a=o==="pty"?x2(n.cols,n.rows):void 0,c={id:(0,A2.randomUUID)(),command:r,cwd:i,mode:o,interactive:o==="pty",...a??{},ownerSessionId:n.ownerSessionId,origin:n.origin??"app_server",presentation:n.presentation??"background",status:"running",startedAt:s,lastActivityAt:s,outputBytes:0};if(o==="pty"&&!this.ptyAdapter)throw c.status="failed",c.endedAt=new Date().toISOString(),c.completionReason="spawn_error",this.emit({type:"process.pty_unavailable",process:c}),new fr("PTY_UNAVAILABLE","Interactive terminal adapter is unavailable");try{let l=o==="pty"?this.startPty(c,n,a):this.startPipe(c,n);return this.processes.set(c.id,l),this.armTimeout(l,n.timeoutMs),this.emit({type:"process.started",process:c}),Uc(c)}catch(l){c.status="failed",c.endedAt=new Date().toISOString(),c.completionReason="spawn_error";let d=l instanceof Error?l.message:String(l);throw this.emit({type:"process.failed",process:c,error:d}),l instanceof fr?l:new fr("SPAWN_ERROR",d)}}writeStdin(e,n,r={}){let o=this.processes.get(e);if(!o||o.meta.status!=="running")return!1;let i=r.source??"app_server";if(o.writerLease&&i!=="human")return!1;try{if(o.mode==="pty")o.pty.write(n);else{if(!o.child.stdin||o.child.stdin.destroyed)return!1;o.child.stdin.write(n)}return o.lastUsedMs=Date.now(),o.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.input",process:o.meta,inputSource:i,inputBytes:Buffer.byteLength(n,"utf8")}),!0}catch{return!1}}readOutput(e){let n=this.processes.get(e);return n?(n.lastUsedMs=Date.now(),{process:Uc(n.meta),output:n.output.toBuffer().toString("utf8"),totalBytes:n.meta.outputBytes,truncated:n.output.omittedBytes>0,omittedBytes:n.output.omittedBytes}):null}readOutputDelta(e,n=0,r={}){let o=this.processes.get(e);if(!o)return null;o.lastUsedMs=Date.now();let i=o.chunks.read(n,r);return{process:Uc(o.meta),...i}}resize(e,n,r){let o=this.processes.get(e);if(!o||o.mode!=="pty"||o.meta.status!=="running")return!1;let i;try{i=x2(n,r,!1),o.pty.resize(i.cols,i.rows)}catch{return!1}return o.meta.cols=i.cols,o.meta.rows=i.rows,o.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.resized",process:o.meta}),!0}acquireWriterLease(e,n="human"){let r=this.processes.get(e);return!r||r.meta.status!=="running"||r.writerLease?!1:(r.writerLease=n,this.emit({type:"process.attached",process:r.meta}),!0)}releaseWriterLease(e,n="human"){let r=this.processes.get(e);return!r||r.writerLease!==n?!1:(r.writerLease=void 0,this.emit({type:"process.detached",process:r.meta}),!0)}hasWriterLease(e){return!!this.processes.get(e)?.writerLease}updatePresentation(e,n){let r=this.processes.get(e);if(!r||r.meta.status!=="running")return!1;let o=r.meta.presentation??"background";return o===n||(r.meta.presentation=n,r.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.presentation_changed",process:r.meta,previousPresentation:o})),!0}terminate(e,n={}){let r=this.processes.get(e);if(!r||this.hasExited(e))return!1;let o=n.reason??"terminated";return r.terminationReason||(r.terminationReason=o),E2(r),VI(r,n.force??!1)?(!n.force&&!r.forceTimer&&(r.forceTimer=setTimeout(()=>{this.hasExited(e)||VI(r,!0)},GW),r.forceTimer.unref?.()),!0):!1}terminateOwner(e,n={}){let r=0;for(let o of this.processes.values())o.meta.ownerSessionId!==e||this.hasExited(o.meta.id)||this.terminate(o.meta.id,{force:n.force})&&(r+=1);return r}terminateAll(e={}){let n=0;for(let r of this.processes.values())this.hasExited(r.meta.id)||this.terminate(r.meta.id,{force:e.force})&&(n+=1);return n}list(e={}){return Array.from(this.processes.values()).filter(n=>!e.ownerSessionId||n.meta.ownerSessionId===e.ownerSessionId).map(n=>Uc(n.meta))}get(e){let n=this.processes.get(e);return n?Uc(n.meta):null}hasExited(e){let n=this.processes.get(e);return n?n.exitObserved===!0||n.mode==="pipe"&&(typeof n.child.exitCode=="number"||typeof n.child.signalCode=="string"):!1}remove(e){let n=this.processes.get(e);return!n||!this.hasExited(e)?!1:(S2(n),n.mode==="pty"&&(n.disposeData(),n.disposeExit()),this.processes.delete(e))}dispose(){this.terminateAll({force:!0}),this.disposeShutdown?.(),this.disposeShutdown=void 0,this.listeners.clear()}startPipe(e,n){let r=(0,Ah.platform)()==="win32",o=v2(n.env,!1),i=n.sandbox&&Vn(n.sandbox)?Ja(e.command,{...n.sandbox,workingDirectory:e.cwd},process.platform,o,n.timeoutMs):null,s=null;if(r&&!i&&!n.invocation)try{s=e_(e.command,e.cwd)}catch{s=null}let a=i?.file??s?.file??n.invocation?.file??(r?process.env.COMSPEC??"cmd.exe":process.env.SHELL??"/bin/bash"),c=i?.args??s?.args??n.invocation?.args??(r?["/d","/s","/c",`"${e.command}"`]:["-lc",e.command]);e.processTreeAdapter=i?i.effectiveLevel:s?"windows-job-object":r?"windows-tree-fallback":"posix-process-group",e.processTreeCleanupVerified=!!(i||s||!r);let l=(0,GI.spawn)(a,c,{cwd:i?.hostCwd??s?.hostCwd??e.cwd,env:{...o,...i?.env??s?.env??{}},stdio:[n.stdin==="ignore"?"ignore":"pipe","pipe","pipe"],windowsHide:!0,detached:!r,windowsVerbatimArguments:r&&!i&&!s&&!n.invocation});e.pid=l.pid;let d={mode:"pipe",meta:e,child:l,output:new Sh(Math.max(1024,n.maxOutputBytes??y2)),chunks:new vh,stdoutDecoder:new zI.StringDecoder("utf8"),stderrDecoder:new zI.StringDecoder("utf8"),lastUsedMs:Date.now()};l.stdout?.on("data",p=>this.captureBuffer(d,"stdout",p)),l.stderr?.on("data",p=>this.captureBuffer(d,"stderr",p)),l.once("spawn",()=>k2(d)),l.on("error",p=>{l.pid==null&&this.observeExit(d),this.finalize(d,{error:p})}),l.on("close",(p,m)=>{this.observeExit(d),this.finalize(d,{exitCode:p,signal:m})});let u=Math.max(1,n.startupTimeoutMs??WW);return d.startupTimer=setTimeout(()=>{d.meta.status==="running"&&(VI(d,!0),this.finalize(d,{error:new Error(`Process startup exceeded ${u}ms`)}))},u),d.startupTimer.unref?.(),d}startPty(e,n,r){let o=I2(e.command),i=this.ptyAdapter.spawn({file:o.file,args:o.args,cwd:e.cwd,env:v2(n.env,!0),cols:r.cols,rows:r.rows});e.pid=i.pid;let s={mode:"pty",meta:e,pty:i,output:new Sh(Math.max(1024,n.maxOutputBytes??y2)),chunks:new vh,lastUsedMs:Date.now(),disposeData:()=>{},disposeExit:()=>{}};return s.disposeData=i.onData(a=>this.captureText(s,"stdout",a)),s.disposeExit=i.onExit(a=>{this.observeExit(s),this.finalize(s,{exitCode:a.exitCode,signalNumber:a.signal??null})}),s}observeExit(e){e.exitObserved||(e.exitObserved=!0,this.emit({type:"process.settled",process:e.meta}))}captureBuffer(e,n,r){e.meta.outputBytes+=r.length,e.meta.lastActivityAt=new Date().toISOString(),e.output.push(r);let o=n==="stdout"?e.stdoutDecoder:e.stderrDecoder;this.appendText(e,n,o.write(r))}captureText(e,n,r){if(!r)return;let o=Buffer.from(r,"utf8");e.meta.outputBytes+=o.length,e.meta.lastActivityAt=new Date().toISOString(),e.output.push(o),this.appendText(e,n,r)}appendText(e,n,r){for(let o of QW(r,VW)){let i=e.chunks.append(n,o);this.emit({type:"process.output",process:e.meta,chunk:i})}}finalize(e,n){if(e.meta.status==="running"){if(e.mode==="pipe"&&(this.appendText(e,"stdout",e.stdoutDecoder.end()),this.appendText(e,"stderr",e.stderrDecoder.end())),S2(e),e.writerLease=void 0,e.meta.endedAt=new Date().toISOString(),e.meta.lastActivityAt=e.meta.endedAt,e.meta.exitCode=n.exitCode??null,e.meta.signal=n.signal??null,e.meta.signalNumber=n.signalNumber??null,n.error&&!e.terminationReason){e.meta.status="failed",e.meta.completionReason="spawn_error",this.emit({type:"process.failed",process:e.meta,error:n.error.message});return}if(e.terminationReason){e.meta.status="terminated",e.meta.completionReason=e.terminationReason,this.emit({type:e.terminationReason==="output_limit"?"process.output_limit":"process.terminated",process:e.meta});return}e.meta.status="exited",e.meta.completionReason="exit",this.emit({type:"process.exited",process:e.meta})}}armTimeout(e,n){!n||n<=0||(e.timeout=setTimeout(()=>{this.terminate(e.meta.id,{reason:"timeout"})},n),e.timeout.unref?.())}countPtyProcesses(){let e=0;for(let n of this.processes.values())n.mode==="pty"&&n.meta.status==="running"&&(e+=1);return e}pruneTerminalProcesses(){if(this.processes.size<this.maxProcesses)return;let e=Array.from(this.processes.entries()),n=new Set(e.slice().sort((o,i)=>i[1].lastUsedMs-o[1].lastUsedMs).slice(0,zW).map(([o])=>o)),r=e.filter(([o])=>!n.has(o)&&this.hasExited(o)).sort((o,i)=>o[1].lastUsedMs-i[1].lastUsedMs)[0];r&&this.remove(r[0])}emit(e){let n={...e,process:Uc(e.process),chunk:e.chunk?{...e.chunk}:void 0,timestamp:new Date().toISOString()};for(let r of this.listeners)try{r(n)}catch{}}},Mu=new wh;vh=class{maxChunks;chunks=[];nextId=1;constructor(e=b2){this.maxChunks=Math.max(1,Math.floor(e))}get earliestCursor(){return this.chunks[0]?.id??this.nextId}append(e,n){let r={id:this.nextId,stream:e,text:n,bytes:Buffer.byteLength(n,"utf8"),timestamp:new Date().toISOString()};for(this.nextId+=1,this.chunks.push(r);this.chunks.length>this.maxChunks;)this.chunks.shift();return{...r}}read(e,n={}){let r=ZW(e,this.nextId),o=this.earliestCursor,i=Math.max(r,o),s=xh(n.maxChunks,b2),a=xh(n.maxBytes,jW),c=[],l=0;for(let u of this.chunks)if(!(u.id<i)&&(c.length>=s||c.length>0&&l+u.bytes>a||(c.push({...u}),l+=u.bytes,l>=a)))break;let d=c.length>0?c[c.length-1].id+1:i;return{cursor:r,nextCursor:d,earliestCursor:o,chunks:c,text:c.map(u=>u.text).join(""),bytes:l,missedChunks:Math.max(0,o-r),hasMore:d<this.nextId}}};Sh=class{headBudget;tailBudget;head=Buffer.alloc(0);tail=Buffer.alloc(0);omittedBytes=0;constructor(e){let n=Math.max(1,Math.floor(e));this.headBudget=Math.floor(n/2),this.tailBudget=n-this.headBudget}push(e){if(e.length!==0){if(this.head.length<this.headBudget){let n=this.headBudget-this.head.length,r=e.subarray(0,n);r.length>0&&(this.head=Buffer.concat([this.head,r]));let o=e.subarray(r.length);o.length>0&&this.pushTail(o);return}this.pushTail(e)}}toBuffer(){return Buffer.concat([this.head,this.tail])}pushTail(e){if(this.tailBudget<=0){this.omittedBytes+=e.length;return}let n=Buffer.concat([this.tail,e]);if(n.length<=this.tailBudget){this.tail=n;return}let r=n.length-this.tailBudget;this.omittedBytes+=r,this.tail=n.subarray(r)}}});function Ih(t){return{...t,expectedOutputs:t.expectedOutputs?.map(e=>({...e}))}}function YI(t,e){return!Number.isFinite(t??Number.NaN)||(t??0)<=0?e:Math.floor(t)}function T2(t,e){if(e<=0||!t)return"";if(Buffer.byteLength(t,"utf8")<=e)return t;let n="",r=0;for(let o of t){let i=Buffer.byteLength(o,"utf8");if(r+i>e)break;n+=o,r+=i}return n}function cJ(t,e,n){let r=e,o=Buffer.alloc(1);for(;r<n&&r<e+3&&!((0,lt.readSync)(t,o,0,1,r)!==1||(o[0]&192)!==128);)r+=1;return r}function lJ(t,e,n){if(e<=0||n)return e;let r=e-1;for(;r>=0&&(t[r]&192)===128;)r-=1;if(r<0)return 0;let o=t[r],i=o<128?1:o<224?2:o<240?3:4;return e-r<i?r:e}var Eh,lt,Po,JI,eJ,tJ,nJ,rJ,oJ,iJ,sJ,KI,aJ,Ou,de,Xs=T(()=>{"use strict";Eh=require("node:crypto"),lt=require("node:fs"),Po=require("node:path");WI();Bc();gt();JI=64*1024,eJ=256*1024*1024,tJ=1024*1024,nJ=5*6e4,rJ=3,oJ=10*6e4,iJ=6,sJ=/\b(?:qemu-system(?:-[\w-]+)?|qemu-kvm|sshd?|ssh\b|python(?:3)?\s+-m\s+http\.server|python(?:3)?\s+(?:-u\s+)?(?:[^\s;&|]*\/)?(?:[\w.-]*(?:app|server|service|api|main)[\w.-]*)\.py\b|(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:dev|start|serve)|node\s+.*(?:server|app)|uvicorn|gunicorn|flask\s+run|fastapi\s+run|docker\s+run|docker\s+compose\s+up|kubectl\s+port-forward|socat\b|(?:nc|ncat|netcat)\b\s+.*(?:-[^\s]*l|--listen\b)|nginx\b|redis-server\b|postgres\b|mysqld\b|mongod\b|emulator\b|xvfb-run\b)/i,KI=/\b(?:caffe\s+train|fasttext\b|fit\s*\(|model\.fit|trainer\.fit|solver=|max_iter|epochs?|caffemodel|training_output)\b/i,aJ=/\b(?:make|ninja|cmake\s+--build|cargo\s+(?:build|test)|npm\s+(?:run\s+)?(?:build|test)|pnpm\s+(?:run\s+)?(?:build|test)|yarn\s+(?:build|test)|pytest|python(?:3)?\b[\s\S]{0,120}\b(?:train|fit|epoch|benchmark|optimi[sz]e|search)|caffe(?:\.bin)?\s+train)\b/i,Ou=class{constructor(e,n=Mu,r={}){this.execManager=n;this.explicitTaskDir=e,this.maxOutputFileBytes=YI(r.maxOutputFileBytes,eJ),this.maxPendingWriteBytes=YI(r.maxPendingWriteBytes,tJ),this.disposeExecEvents=this.execManager.onEvent(o=>this.handleExecEvent(o)),(r.registerCleanup??!0)&&(this.disposeShutdown=Ro(()=>this.killAll()))}execManager;managerInstanceId=(0,Eh.randomUUID)();cleanupFences=new Set;states=new Map;processToTask=new Map;listeners=new Set;counter=0;onComplete=null;explicitTaskDir;resolvedTaskDir;get taskDir(){return this.resolvedTaskDir===void 0&&(this.resolvedTaskDir=(0,Po.resolve)(this.explicitTaskDir??(0,Po.join)(Ie(),"background-tasks"))),this.resolvedTaskDir}maxOutputFileBytes;maxPendingWriteBytes;disposeExecEvents;disposeShutdown;onTaskComplete(e){this.onComplete=e}onTaskEvent(e){return this.listeners.add(e),()=>this.listeners.delete(e)}waitForChange(e,n,r,o){let i=this.states.get(e)?.task;return!i||i.status!=="running"||i.outputSize>n||r<=0?Promise.resolve(i?Ih(i):null):new Promise(s=>{let a=!1,c=()=>{if(a)return;a=!0,d(),u&&clearTimeout(u),o?.removeEventListener("abort",l);let p=this.states.get(e)?.task;s(p?Ih(p):null)},l=()=>c(),d=this.onTaskEvent(p=>{p.task.id===e&&(p.type==="task.output"||p.type==="task.completed"||p.type==="task.promoted")&&c()}),u=setTimeout(c,Math.max(1,r));o?.aborted?c():o?.addEventListener("abort",l,{once:!0})})}spawn(e,n={}){this.assertOwnerAdmission(n.ownerSessionId),this.counter+=1;let r=`bg_task_${this.counter}`,o=this.resolveOwnerDir(n.ownerSessionId);this.ensureDir(o);let i=(0,Po.join)(o,`${r}.output`),s=(0,lt.createWriteStream)(i,{flags:"w",encoding:"utf8",mode:384}),a=n.presentation??"background",c;try{c=this.execManager.start(e,{cwd:n.cwd,env:n.env,timeoutMs:n.timeout,tty:n.tty,cols:n.cols,rows:n.rows,ownerSessionId:n.ownerSessionId,stdin:n.tty?"pipe":"ignore",presentation:a,origin:n.origin??"model_tool",sandbox:n.sandbox,...n.invocation?{invocation:n.invocation}:{}})}catch(p){s.destroy();try{(0,lt.rmSync)(i,{force:!0})}catch{}throw p}let l=Date.parse(c.startedAt),d={id:r,displayName:n.displayName,command:e,pid:c.pid??-1,status:c.status==="running"?"running":"failed",exitCode:c.exitCode??null,startedAt:Number.isFinite(l)?l:Date.now(),endedAt:c.endedAt?Date.parse(c.endedAt):null,cwd:c.cwd,outputFile:i,outputSize:0,lastObservedAt:Date.now(),lastOutputAt:Date.now(),lastObservedOutputSize:0,pollCount:0,unchangedPollCount:0,processId:c.id,ownerSessionId:c.ownerSessionId,mode:c.mode??"pipe",interactive:c.interactive??!1,presentation:a,origin:c.origin??"model_tool",attached:!1,cols:c.cols,rows:c.rows,completionReason:c.completionReason,operationId:n.operationId,completionPolicy:n.completionPolicy,expectedOutputs:n.expectedOutputs?.map(p=>({...p})),external:!1,processTreeAdapter:c.processTreeAdapter,processTreeCleanupVerified:c.processTreeCleanupVerified},u={task:d,writer:s,pendingWriteBytes:0,acceptedOutputBytes:0,completed:!1,completionArmed:a==="background",deleteOnComplete:!1};return this.states.set(r,u),this.processToTask.set(c.id,r),s.on("error",()=>this.handleOutputFailure(u)),this.emit({type:"task.started",task:d}),c.status!=="running"&&this.completeFromProcess(u,c),r}registerExternal(e){this.assertOwnerAdmission(e.ownerSessionId),this.counter+=1;let n=`bg_task_${this.counter}`,r=this.resolveOwnerDir(e.ownerSessionId);this.ensureDir(r);let o=(0,Po.join)(r,`${n}.output`),i=(0,lt.createWriteStream)(o,{flags:"w",encoding:"utf8",mode:384}),s=Date.now(),a={id:n,command:e.command,pid:e.pid,status:"running",exitCode:null,startedAt:s,endedAt:null,cwd:e.cwd,outputFile:o,outputSize:0,lastObservedAt:s,lastOutputAt:s,lastObservedOutputSize:0,pollCount:0,unchangedPollCount:0,ownerSessionId:e.ownerSessionId,mode:"pipe",interactive:!1,presentation:e.presentation??"foreground",origin:e.origin??"model_tool",attached:!1,operationId:e.operationId,completionPolicy:e.completionPolicy,expectedOutputs:e.expectedOutputs?.map(l=>({...l})),external:!0,processTreeAdapter:e.processTreeAdapter,processTreeCleanupVerified:e.processTreeCleanupVerified},c={task:a,writer:i,pendingWriteBytes:0,acceptedOutputBytes:0,completed:!1,completionArmed:a.presentation==="background",deleteOnComplete:!1,externalStop:e.stop};return this.states.set(n,c),i.on("error",()=>this.handleOutputFailure(c)),this.emit({type:"task.started",task:a}),n}appendExternalOutput(e,n,r){let o=this.states.get(e);return!o||!o.task.external||o.completed||o.task.status!=="running"?!1:(this.appendOutput(o,{id:o.acceptedOutputBytes,stream:n,text:r,bytes:Buffer.byteLength(r,"utf8"),timestamp:new Date().toISOString()}),!0)}completeExternal(e,n,r="exit"){let o=this.states.get(e);return!o||!o.task.external||o.completed?!1:(this.completeState(o,{status:r==="terminated"||r==="timeout"?"terminated":n===0?"exited":"failed",exitCode:n,endedAt:new Date().toISOString(),completionReason:r}),!0)}getOutput(e,n=0,r=JI){let o=this.states.get(e);if(!o)return null;let i=o.task,s="",a=0,c=i.outputSize;try{c=(0,lt.statSync)(i.outputFile).size;let d=Math.max(0,Math.min(n,c)),u=(0,lt.openSync)(i.outputFile,"r");try{d=cJ(u,d,c);let p=Math.max(1,Math.min(JI,Math.floor(r),c-d)),m=Buffer.alloc(p),g=(0,lt.readSync)(u,m,0,m.length,d);a=lJ(m,g,d+g>=c),s=m.toString("utf8",0,a)}finally{(0,lt.closeSync)(u)}return c-d>a&&(s+=`
1163
+ `,r=Buffer.from(n,"utf16le").toString("base64"),o=(0,GI.spawn)("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",r],{stdio:"ignore",windowsHide:!0}),i=setTimeout(()=>{o.kill("SIGKILL"),t.meta.status==="running"&&t.child.kill("SIGKILL")},3e3);o.once("error",()=>{clearTimeout(i),t.meta.status==="running"&&t.child.kill("SIGKILL")}),o.once("close",()=>{clearTimeout(i),t.meta.status==="running"&&t.child.kill("SIGKILL")})}function E2(t){t.timeout&&(clearTimeout(t.timeout),t.timeout=void 0)}function k2(t){t.startupTimer&&(clearTimeout(t.startupTimer),t.startupTimer=void 0)}function S2(t){E2(t),k2(t),t.forceTimer&&(clearTimeout(t.forceTimer),t.forceTimer=void 0)}function Uc(t){return{...t}}function QW(t,e){if(!t)return[];let n=[],r="",o=0;for(let i of t){let s=Buffer.byteLength(i,"utf8");r&&o+s>e&&(n.push(r),r="",o=0),r+=i,o+=s}return r&&n.push(r),n}function ZW(t,e){return!Number.isFinite(t)||t<=0?1:Math.min(Math.floor(t),e)}function xh(t,e){return!Number.isFinite(t??Number.NaN)||(t??0)<=0?e:Math.floor(t)}var GI,A2,Ah,zI,fr,y2,jW,b2,qW,HW,VW,zW,GW,WW,w2,JW,KW,wh,Mu,vh,Sh,WI=T(()=>{"use strict";GI=require("node:child_process"),A2=require("node:crypto"),Ah=require("node:os"),zI=require("node:string_decoder");Bc();hs();Wx();Rd();fr=class extends Error{constructor(n,r){super(r.startsWith(`${n}:`)?r:`${n}: ${r}`);this.code=n;this.name="UnifiedExecError"}code},y2=256e3,jW=128e3,b2=256,qW=64,HW=16,VW=8192,zW=8,GW=2e3,WW=1e4,w2=2,JW=1e3,KW=500,wh=class{processes=new Map;listeners=new Set;maxProcesses;maxPtyProcesses;ptyAdapter;disposeShutdown;constructor(e={}){this.maxProcesses=xh(e.maxProcesses,qW),this.maxPtyProcesses=xh(e.maxPtyProcesses,HW),(e.registerCleanup??!0)&&(this.disposeShutdown=Ro(()=>this.terminateAll({force:!0})))}registerPtyAdapter(e){return this.ptyAdapter=e,()=>{this.ptyAdapter===e&&(this.ptyAdapter=void 0)}}getPtyCapability(){return this.ptyAdapter?{available:!0,adapter:this.ptyAdapter.name??"registered"}:{available:!1}}onEvent(e){return this.listeners.add(e),()=>this.listeners.delete(e)}start(e,n={}){if(this.pruneTerminalProcesses(),this.processes.size>=this.maxProcesses)throw new fr("PROCESS_LIMIT",`Too many managed exec processes (${this.maxProcesses})`);let r=e.trim();if(!r)throw new Error("exec.start requires a non-empty command");let o=n.tty?"pty":"pipe";if(o==="pty"&&this.countPtyProcesses()>=this.maxPtyProcesses)throw new fr("PROCESS_LIMIT",`Too many managed PTY processes (${this.maxPtyProcesses})`);if(o==="pty"&&Vn(n.sandbox))throw new fr("PTY_UNAVAILABLE","Process-hardened and contained interactive terminals are not supported");if(n.invocation&&(o==="pty"||Vn(n.sandbox)))throw new fr("INVOCATION_UNSUPPORTED","An explicit interpreter runs pipe-backed and unsecured only; a secured launch wraps the platform shell");let i=n.cwd??process.cwd(),s=new Date().toISOString(),a=o==="pty"?x2(n.cols,n.rows):void 0,c={id:(0,A2.randomUUID)(),command:r,cwd:i,mode:o,interactive:o==="pty",...a??{},ownerSessionId:n.ownerSessionId,origin:n.origin??"app_server",presentation:n.presentation??"background",status:"running",startedAt:s,lastActivityAt:s,outputBytes:0};if(o==="pty"&&!this.ptyAdapter)throw c.status="failed",c.endedAt=new Date().toISOString(),c.completionReason="spawn_error",this.emit({type:"process.pty_unavailable",process:c}),new fr("PTY_UNAVAILABLE","Interactive terminal adapter is unavailable");try{let l=o==="pty"?this.startPty(c,n,a):this.startPipe(c,n);return this.processes.set(c.id,l),this.armTimeout(l,n.timeoutMs),this.emit({type:"process.started",process:c}),Uc(c)}catch(l){c.status="failed",c.endedAt=new Date().toISOString(),c.completionReason="spawn_error";let d=l instanceof Error?l.message:String(l);throw this.emit({type:"process.failed",process:c,error:d}),l instanceof fr?l:new fr("SPAWN_ERROR",d)}}writeStdin(e,n,r={}){let o=this.processes.get(e);if(!o||o.meta.status!=="running")return!1;let i=r.source??"app_server";if(o.writerLease&&i!=="human")return!1;try{if(o.mode==="pty")o.pty.write(n);else{if(!o.child.stdin||o.child.stdin.destroyed)return!1;o.child.stdin.write(n)}return o.lastUsedMs=Date.now(),o.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.input",process:o.meta,inputSource:i,inputBytes:Buffer.byteLength(n,"utf8")}),!0}catch{return!1}}readOutput(e){let n=this.processes.get(e);return n?(n.lastUsedMs=Date.now(),{process:Uc(n.meta),output:n.output.toBuffer().toString("utf8"),totalBytes:n.meta.outputBytes,truncated:n.output.omittedBytes>0,omittedBytes:n.output.omittedBytes}):null}readOutputDelta(e,n=0,r={}){let o=this.processes.get(e);if(!o)return null;o.lastUsedMs=Date.now();let i=o.chunks.read(n,r);return{process:Uc(o.meta),...i}}resize(e,n,r){let o=this.processes.get(e);if(!o||o.mode!=="pty"||o.meta.status!=="running")return!1;let i;try{i=x2(n,r,!1),o.pty.resize(i.cols,i.rows)}catch{return!1}return o.meta.cols=i.cols,o.meta.rows=i.rows,o.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.resized",process:o.meta}),!0}acquireWriterLease(e,n="human"){let r=this.processes.get(e);return!r||r.meta.status!=="running"||r.writerLease?!1:(r.writerLease=n,this.emit({type:"process.attached",process:r.meta}),!0)}releaseWriterLease(e,n="human"){let r=this.processes.get(e);return!r||r.writerLease!==n?!1:(r.writerLease=void 0,this.emit({type:"process.detached",process:r.meta}),!0)}hasWriterLease(e){return!!this.processes.get(e)?.writerLease}updatePresentation(e,n){let r=this.processes.get(e);if(!r||r.meta.status!=="running")return!1;let o=r.meta.presentation??"background";return o===n||(r.meta.presentation=n,r.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.presentation_changed",process:r.meta,previousPresentation:o})),!0}terminate(e,n={}){let r=this.processes.get(e);if(!r||this.hasExited(e))return!1;let o=n.reason??"terminated";return r.terminationReason||(r.terminationReason=o),E2(r),VI(r,n.force??!1)?(!n.force&&!r.forceTimer&&(r.forceTimer=setTimeout(()=>{this.hasExited(e)||VI(r,!0)},GW),r.forceTimer.unref?.()),!0):!1}terminateOwner(e,n={}){let r=0;for(let o of this.processes.values())o.meta.ownerSessionId!==e||this.hasExited(o.meta.id)||this.terminate(o.meta.id,{force:n.force})&&(r+=1);return r}terminateAll(e={}){let n=0;for(let r of this.processes.values())this.hasExited(r.meta.id)||this.terminate(r.meta.id,{force:e.force})&&(n+=1);return n}list(e={}){return Array.from(this.processes.values()).filter(n=>!e.ownerSessionId||n.meta.ownerSessionId===e.ownerSessionId).map(n=>Uc(n.meta))}get(e){let n=this.processes.get(e);return n?Uc(n.meta):null}hasExited(e){let n=this.processes.get(e);return n?n.exitObserved===!0||n.mode==="pipe"&&(typeof n.child.exitCode=="number"||typeof n.child.signalCode=="string"):!1}remove(e){let n=this.processes.get(e);return!n||!this.hasExited(e)?!1:(!n.exitObserved&&n.mode==="pipe"&&(this.observeExit(n),this.finalize(n,{exitCode:n.child.exitCode,signal:n.child.signalCode})),S2(n),n.mode==="pty"&&(n.disposeData(),n.disposeExit()),this.processes.delete(e))}dispose(){this.terminateAll({force:!0}),this.disposeShutdown?.(),this.disposeShutdown=void 0,this.listeners.clear()}startPipe(e,n){let r=(0,Ah.platform)()==="win32",o=v2(n.env,!1),i=n.sandbox&&Vn(n.sandbox)?Ja(e.command,{...n.sandbox,workingDirectory:e.cwd},process.platform,o,n.timeoutMs):null,s=null;if(r&&!i&&!n.invocation)try{s=e_(e.command,e.cwd)}catch{s=null}let a=i?.file??s?.file??n.invocation?.file??(r?process.env.COMSPEC??"cmd.exe":process.env.SHELL??"/bin/bash"),c=i?.args??s?.args??n.invocation?.args??(r?["/d","/s","/c",`"${e.command}"`]:["-lc",e.command]);e.processTreeAdapter=i?i.effectiveLevel:s?"windows-job-object":r?"windows-tree-fallback":"posix-process-group",e.processTreeCleanupVerified=!!(i||s||!r);let l=(0,GI.spawn)(a,c,{cwd:i?.hostCwd??s?.hostCwd??e.cwd,env:{...o,...i?.env??s?.env??{}},stdio:[n.stdin==="ignore"?"ignore":"pipe","pipe","pipe"],windowsHide:!0,detached:!r,windowsVerbatimArguments:r&&!i&&!s&&!n.invocation});e.pid=l.pid;let d={mode:"pipe",meta:e,child:l,output:new Sh(Math.max(1024,n.maxOutputBytes??y2)),chunks:new vh,stdoutDecoder:new zI.StringDecoder("utf8"),stderrDecoder:new zI.StringDecoder("utf8"),lastUsedMs:Date.now()};l.stdout?.on("data",p=>this.captureBuffer(d,"stdout",p)),l.stderr?.on("data",p=>this.captureBuffer(d,"stderr",p)),l.once("spawn",()=>k2(d)),l.on("error",p=>{l.pid==null&&this.observeExit(d),this.finalize(d,{error:p})}),l.on("close",(p,m)=>{this.observeExit(d),this.finalize(d,{exitCode:p,signal:m})});let u=Math.max(1,n.startupTimeoutMs??WW);return d.startupTimer=setTimeout(()=>{d.meta.status==="running"&&(VI(d,!0),this.finalize(d,{error:new Error(`Process startup exceeded ${u}ms`)}))},u),d.startupTimer.unref?.(),d}startPty(e,n,r){let o=I2(e.command),i=this.ptyAdapter.spawn({file:o.file,args:o.args,cwd:e.cwd,env:v2(n.env,!0),cols:r.cols,rows:r.rows});e.pid=i.pid;let s={mode:"pty",meta:e,pty:i,output:new Sh(Math.max(1024,n.maxOutputBytes??y2)),chunks:new vh,lastUsedMs:Date.now(),disposeData:()=>{},disposeExit:()=>{}};return s.disposeData=i.onData(a=>this.captureText(s,"stdout",a)),s.disposeExit=i.onExit(a=>{this.observeExit(s),this.finalize(s,{exitCode:a.exitCode,signalNumber:a.signal??null})}),s}observeExit(e){e.exitObserved||(e.exitObserved=!0,this.emit({type:"process.settled",process:e.meta}))}captureBuffer(e,n,r){e.meta.outputBytes+=r.length,e.meta.lastActivityAt=new Date().toISOString(),e.output.push(r);let o=n==="stdout"?e.stdoutDecoder:e.stderrDecoder;this.appendText(e,n,o.write(r))}captureText(e,n,r){if(!r)return;let o=Buffer.from(r,"utf8");e.meta.outputBytes+=o.length,e.meta.lastActivityAt=new Date().toISOString(),e.output.push(o),this.appendText(e,n,r)}appendText(e,n,r){for(let o of QW(r,VW)){let i=e.chunks.append(n,o);this.emit({type:"process.output",process:e.meta,chunk:i})}}finalize(e,n){if(e.meta.status==="running"){if(e.mode==="pipe"&&(this.appendText(e,"stdout",e.stdoutDecoder.end()),this.appendText(e,"stderr",e.stderrDecoder.end())),S2(e),e.writerLease=void 0,e.meta.endedAt=new Date().toISOString(),e.meta.lastActivityAt=e.meta.endedAt,e.meta.exitCode=n.exitCode??null,e.meta.signal=n.signal??null,e.meta.signalNumber=n.signalNumber??null,n.error&&!e.terminationReason){e.meta.status="failed",e.meta.completionReason="spawn_error",this.emit({type:"process.failed",process:e.meta,error:n.error.message});return}if(e.terminationReason){e.meta.status="terminated",e.meta.completionReason=e.terminationReason,this.emit({type:e.terminationReason==="output_limit"?"process.output_limit":"process.terminated",process:e.meta});return}e.meta.status="exited",e.meta.completionReason="exit",this.emit({type:"process.exited",process:e.meta})}}armTimeout(e,n){!n||n<=0||(e.timeout=setTimeout(()=>{this.terminate(e.meta.id,{reason:"timeout"})},n),e.timeout.unref?.())}countPtyProcesses(){let e=0;for(let n of this.processes.values())n.mode==="pty"&&n.meta.status==="running"&&(e+=1);return e}pruneTerminalProcesses(){if(this.processes.size<this.maxProcesses)return;let e=Array.from(this.processes.entries()),n=new Set(e.slice().sort((o,i)=>i[1].lastUsedMs-o[1].lastUsedMs).slice(0,zW).map(([o])=>o)),r=e.filter(([o])=>!n.has(o)&&this.hasExited(o)).sort((o,i)=>o[1].lastUsedMs-i[1].lastUsedMs)[0];r&&this.remove(r[0])}emit(e){let n={...e,process:Uc(e.process),chunk:e.chunk?{...e.chunk}:void 0,timestamp:new Date().toISOString()};for(let r of this.listeners)try{r(n)}catch{}}},Mu=new wh;vh=class{maxChunks;chunks=[];nextId=1;constructor(e=b2){this.maxChunks=Math.max(1,Math.floor(e))}get earliestCursor(){return this.chunks[0]?.id??this.nextId}append(e,n){let r={id:this.nextId,stream:e,text:n,bytes:Buffer.byteLength(n,"utf8"),timestamp:new Date().toISOString()};for(this.nextId+=1,this.chunks.push(r);this.chunks.length>this.maxChunks;)this.chunks.shift();return{...r}}read(e,n={}){let r=ZW(e,this.nextId),o=this.earliestCursor,i=Math.max(r,o),s=xh(n.maxChunks,b2),a=xh(n.maxBytes,jW),c=[],l=0;for(let u of this.chunks)if(!(u.id<i)&&(c.length>=s||c.length>0&&l+u.bytes>a||(c.push({...u}),l+=u.bytes,l>=a)))break;let d=c.length>0?c[c.length-1].id+1:i;return{cursor:r,nextCursor:d,earliestCursor:o,chunks:c,text:c.map(u=>u.text).join(""),bytes:l,missedChunks:Math.max(0,o-r),hasMore:d<this.nextId}}};Sh=class{headBudget;tailBudget;head=Buffer.alloc(0);tail=Buffer.alloc(0);omittedBytes=0;constructor(e){let n=Math.max(1,Math.floor(e));this.headBudget=Math.floor(n/2),this.tailBudget=n-this.headBudget}push(e){if(e.length!==0){if(this.head.length<this.headBudget){let n=this.headBudget-this.head.length,r=e.subarray(0,n);r.length>0&&(this.head=Buffer.concat([this.head,r]));let o=e.subarray(r.length);o.length>0&&this.pushTail(o);return}this.pushTail(e)}}toBuffer(){return Buffer.concat([this.head,this.tail])}pushTail(e){if(this.tailBudget<=0){this.omittedBytes+=e.length;return}let n=Buffer.concat([this.tail,e]);if(n.length<=this.tailBudget){this.tail=n;return}let r=n.length-this.tailBudget;this.omittedBytes+=r,this.tail=n.subarray(r)}}});function Ih(t){return{...t,expectedOutputs:t.expectedOutputs?.map(e=>({...e}))}}function YI(t,e){return!Number.isFinite(t??Number.NaN)||(t??0)<=0?e:Math.floor(t)}function T2(t,e){if(e<=0||!t)return"";if(Buffer.byteLength(t,"utf8")<=e)return t;let n="",r=0;for(let o of t){let i=Buffer.byteLength(o,"utf8");if(r+i>e)break;n+=o,r+=i}return n}function cJ(t,e,n){let r=e,o=Buffer.alloc(1);for(;r<n&&r<e+3&&!((0,lt.readSync)(t,o,0,1,r)!==1||(o[0]&192)!==128);)r+=1;return r}function lJ(t,e,n){if(e<=0||n)return e;let r=e-1;for(;r>=0&&(t[r]&192)===128;)r-=1;if(r<0)return 0;let o=t[r],i=o<128?1:o<224?2:o<240?3:4;return e-r<i?r:e}var Eh,lt,Po,JI,eJ,tJ,nJ,rJ,oJ,iJ,sJ,KI,aJ,Ou,de,Xs=T(()=>{"use strict";Eh=require("node:crypto"),lt=require("node:fs"),Po=require("node:path");WI();Bc();gt();JI=64*1024,eJ=256*1024*1024,tJ=1024*1024,nJ=5*6e4,rJ=3,oJ=10*6e4,iJ=6,sJ=/\b(?:qemu-system(?:-[\w-]+)?|qemu-kvm|sshd?|ssh\b|python(?:3)?\s+-m\s+http\.server|python(?:3)?\s+(?:-u\s+)?(?:[^\s;&|]*\/)?(?:[\w.-]*(?:app|server|service|api|main)[\w.-]*)\.py\b|(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:dev|start|serve)|node\s+.*(?:server|app)|uvicorn|gunicorn|flask\s+run|fastapi\s+run|docker\s+run|docker\s+compose\s+up|kubectl\s+port-forward|socat\b|(?:nc|ncat|netcat)\b\s+.*(?:-[^\s]*l|--listen\b)|nginx\b|redis-server\b|postgres\b|mysqld\b|mongod\b|emulator\b|xvfb-run\b)/i,KI=/\b(?:caffe\s+train|fasttext\b|fit\s*\(|model\.fit|trainer\.fit|solver=|max_iter|epochs?|caffemodel|training_output)\b/i,aJ=/\b(?:make|ninja|cmake\s+--build|cargo\s+(?:build|test)|npm\s+(?:run\s+)?(?:build|test)|pnpm\s+(?:run\s+)?(?:build|test)|yarn\s+(?:build|test)|pytest|python(?:3)?\b[\s\S]{0,120}\b(?:train|fit|epoch|benchmark|optimi[sz]e|search)|caffe(?:\.bin)?\s+train)\b/i,Ou=class{constructor(e,n=Mu,r={}){this.execManager=n;this.explicitTaskDir=e,this.maxOutputFileBytes=YI(r.maxOutputFileBytes,eJ),this.maxPendingWriteBytes=YI(r.maxPendingWriteBytes,tJ),this.disposeExecEvents=this.execManager.onEvent(o=>this.handleExecEvent(o)),(r.registerCleanup??!0)&&(this.disposeShutdown=Ro(()=>this.killAll()))}execManager;managerInstanceId=(0,Eh.randomUUID)();cleanupFences=new Set;states=new Map;processToTask=new Map;listeners=new Set;counter=0;onComplete=null;explicitTaskDir;resolvedTaskDir;get taskDir(){return this.resolvedTaskDir===void 0&&(this.resolvedTaskDir=(0,Po.resolve)(this.explicitTaskDir??(0,Po.join)(Ie(),"background-tasks"))),this.resolvedTaskDir}maxOutputFileBytes;maxPendingWriteBytes;disposeExecEvents;disposeShutdown;onTaskComplete(e){this.onComplete=e}onTaskEvent(e){return this.listeners.add(e),()=>this.listeners.delete(e)}waitForChange(e,n,r,o){let i=this.states.get(e)?.task;return!i||i.status!=="running"||i.outputSize>n||r<=0?Promise.resolve(i?Ih(i):null):new Promise(s=>{let a=!1,c=()=>{if(a)return;a=!0,d(),u&&clearTimeout(u),o?.removeEventListener("abort",l);let p=this.states.get(e)?.task;s(p?Ih(p):null)},l=()=>c(),d=this.onTaskEvent(p=>{p.task.id===e&&(p.type==="task.output"||p.type==="task.completed"||p.type==="task.promoted")&&c()}),u=setTimeout(c,Math.max(1,r));o?.aborted?c():o?.addEventListener("abort",l,{once:!0})})}spawn(e,n={}){this.assertOwnerAdmission(n.ownerSessionId),this.counter+=1;let r=`bg_task_${this.counter}`,o=this.resolveOwnerDir(n.ownerSessionId);this.ensureDir(o);let i=(0,Po.join)(o,`${r}.output`),s=(0,lt.createWriteStream)(i,{flags:"w",encoding:"utf8",mode:384}),a=n.presentation??"background",c;try{c=this.execManager.start(e,{cwd:n.cwd,env:n.env,timeoutMs:n.timeout,tty:n.tty,cols:n.cols,rows:n.rows,ownerSessionId:n.ownerSessionId,stdin:n.tty?"pipe":"ignore",presentation:a,origin:n.origin??"model_tool",sandbox:n.sandbox,...n.invocation?{invocation:n.invocation}:{}})}catch(p){s.destroy();try{(0,lt.rmSync)(i,{force:!0})}catch{}throw p}let l=Date.parse(c.startedAt),d={id:r,displayName:n.displayName,command:e,pid:c.pid??-1,status:c.status==="running"?"running":"failed",exitCode:c.exitCode??null,startedAt:Number.isFinite(l)?l:Date.now(),endedAt:c.endedAt?Date.parse(c.endedAt):null,cwd:c.cwd,outputFile:i,outputSize:0,lastObservedAt:Date.now(),lastOutputAt:Date.now(),lastObservedOutputSize:0,pollCount:0,unchangedPollCount:0,processId:c.id,ownerSessionId:c.ownerSessionId,mode:c.mode??"pipe",interactive:c.interactive??!1,presentation:a,origin:c.origin??"model_tool",attached:!1,cols:c.cols,rows:c.rows,completionReason:c.completionReason,operationId:n.operationId,completionPolicy:n.completionPolicy,expectedOutputs:n.expectedOutputs?.map(p=>({...p})),external:!1,processTreeAdapter:c.processTreeAdapter,processTreeCleanupVerified:c.processTreeCleanupVerified},u={task:d,writer:s,pendingWriteBytes:0,acceptedOutputBytes:0,completed:!1,completionArmed:a==="background",deleteOnComplete:!1};return this.states.set(r,u),this.processToTask.set(c.id,r),s.on("error",()=>this.handleOutputFailure(u)),this.emit({type:"task.started",task:d}),c.status!=="running"&&this.completeFromProcess(u,c),r}registerExternal(e){this.assertOwnerAdmission(e.ownerSessionId),this.counter+=1;let n=`bg_task_${this.counter}`,r=this.resolveOwnerDir(e.ownerSessionId);this.ensureDir(r);let o=(0,Po.join)(r,`${n}.output`),i=(0,lt.createWriteStream)(o,{flags:"w",encoding:"utf8",mode:384}),s=Date.now(),a={id:n,command:e.command,pid:e.pid,status:"running",exitCode:null,startedAt:s,endedAt:null,cwd:e.cwd,outputFile:o,outputSize:0,lastObservedAt:s,lastOutputAt:s,lastObservedOutputSize:0,pollCount:0,unchangedPollCount:0,ownerSessionId:e.ownerSessionId,mode:"pipe",interactive:!1,presentation:e.presentation??"foreground",origin:e.origin??"model_tool",attached:!1,operationId:e.operationId,completionPolicy:e.completionPolicy,expectedOutputs:e.expectedOutputs?.map(l=>({...l})),external:!0,processTreeAdapter:e.processTreeAdapter,processTreeCleanupVerified:e.processTreeCleanupVerified},c={task:a,writer:i,pendingWriteBytes:0,acceptedOutputBytes:0,completed:!1,completionArmed:a.presentation==="background",deleteOnComplete:!1,externalStop:e.stop};return this.states.set(n,c),i.on("error",()=>this.handleOutputFailure(c)),this.emit({type:"task.started",task:a}),n}appendExternalOutput(e,n,r){let o=this.states.get(e);return!o||!o.task.external||o.completed||o.task.status!=="running"?!1:(this.appendOutput(o,{id:o.acceptedOutputBytes,stream:n,text:r,bytes:Buffer.byteLength(r,"utf8"),timestamp:new Date().toISOString()}),!0)}completeExternal(e,n,r="exit"){let o=this.states.get(e);return!o||!o.task.external||o.completed?!1:(this.completeState(o,{status:r==="terminated"||r==="timeout"?"terminated":n===0?"exited":"failed",exitCode:n,endedAt:new Date().toISOString(),completionReason:r}),!0)}getOutput(e,n=0,r=JI){let o=this.states.get(e);if(!o)return null;let i=o.task,s="",a=0,c=i.outputSize;try{c=(0,lt.statSync)(i.outputFile).size;let d=Math.max(0,Math.min(n,c)),u=(0,lt.openSync)(i.outputFile,"r");try{d=cJ(u,d,c);let p=Math.max(1,Math.min(JI,Math.floor(r),c-d)),m=Buffer.alloc(p),g=(0,lt.readSync)(u,m,0,m.length,d);a=lJ(m,g,d+g>=c),s=m.toString("utf8",0,a)}finally{(0,lt.closeSync)(u)}return c-d>a&&(s+=`
1164
1164
  ... (output truncated, use offset to read more)`),this.buildOutputSnapshot(i,s,a,c,d+a)}catch{let l=i.processId?this.execManager.readOutput(i.processId):null;return l&&n===0&&(s=T2(l.output,YI(r,JI)),a=Buffer.byteLength(s,"utf8"),c=l.totalBytes),this.buildOutputSnapshot(i,s,a,c,Math.max(0,n+a))}}writeInput(e,n,r="agent"){let o=this.states.get(e)?.task;return!o?.processId||o.status!=="running"||!o.interactive?!1:this.execManager.writeStdin(o.processId,n,{source:r})}resize(e,n,r){let o=this.states.get(e)?.task;if(!o?.processId||o.status!=="running"||!o.interactive)return!1;let i=this.execManager.resize(o.processId,n,r);return i&&(o.cols=n,o.rows=r),i}acquireHumanWriter(e){let n=this.states.get(e)?.task;if(!n?.processId||!n.interactive||n.status!=="running")return!1;let r=this.execManager.acquireWriterLease(n.processId);return r&&(n.attached=!0),r}releaseHumanWriter(e){let n=this.states.get(e)?.task;if(!n?.processId)return!1;let r=this.execManager.releaseWriterLease(n.processId);return r&&(n.attached=!1),r}isHumanAttached(e){let n=this.states.get(e)?.task;return!!(n?.processId&&this.execManager.hasWriterLease(n.processId))}promoteToBackground(e){let n=this.states.get(e);if(!n||n.task.status!=="running")return!1;if(n.task.presentation==="background")return!0;if(n.task.processId){if(!this.execManager.updatePresentation(n.task.processId,"background"))return!1}else if(!n.task.external)return!1;return n.task.presentation="background",n.completionArmed=!0,this.emit({type:"task.promoted",task:n.task}),!0}setCompletionPolicy(e,n){let r=this.states.get(e)?.task;return r?(r.completionPolicy=n,!0):!1}stop(e){let n=this.states.get(e),r=n?.task;return!r||r.status!=="running"?!1:r.processId?this.execManager.terminate(r.processId,{reason:"terminated"}):r.external&&n?.externalStop?(r.completionReason="terminated",n.externalStop(),!0):!1}list(e={}){return Array.from(this.states.values()).map(n=>n.task).filter(n=>e.includeForeground||n.presentation!=="foreground").filter(n=>!e.ownerSessionId||n.ownerSessionId===e.ownerSessionId)}get(e){return this.states.get(e)?.task??null}getOwned(e,n){let r=this.states.get(e)?.task;return r?.ownerSessionId===n?Ih(r):null}shouldDrainAtIterationBudget(e){return e.status!=="running"||e.presentation==="foreground"||this.shouldPreserveForVerifier(e)?!1:KI.test(e.command)||aJ.test(e.command)}cleanupOwner(e,n={}){let r=0;for(let[o,i]of this.states)i.task.ownerSessionId===e&&(i.task.status==="running"&&(n.deleteOutputs&&(i.deleteOnComplete=!0),this.stop(o)),n.deleteOutputs&&i.task.status!=="running"&&this.deleteOutput(o),r+=1);return r}captureOwnerCleanup(e){if(!e.trim())throw new Error("An exact process owner is required");return{schemaVersion:1,managerInstanceId:this.managerInstanceId,ownerSessionId:e,tasks:this.list({ownerSessionId:e,includeForeground:!0}).map(n=>({taskId:n.id,...n.processId?{processId:n.processId}:{},...n.operationId?{operationId:n.operationId}:{}}))}}sealOwnerAdmission(e,n){let r=this.validateCleanupAuthority(e,n);if(r)return{settled:!1,taskIds:[],pendingTaskIds:[],unknownTaskIds:r,error:"Owner execution authority is missing or belongs to another manager epoch"};this.cleanupFences.add(e);let o=this.list({ownerSessionId:e,includeForeground:!0}),i=o.filter(a=>!this.states.get(a.id)?.exitObserved&&(!a.processId||!this.execManager.get(a.processId))).map(a=>a.id),s=o.filter(a=>!this.states.get(a.id)?.exitObserved&&a.processId&&this.execManager.get(a.processId)&&!this.execManager.hasExited(a.processId)).map(a=>a.id);return{settled:!s.length&&!i.length,taskIds:o.map(a=>a.id),pendingTaskIds:s,unknownTaskIds:i}}async cleanupOwnerAndWait(e,n){if(n.timeoutMs!==void 0&&(!Number.isSafeInteger(n.timeoutMs)||n.timeoutMs<0||n.timeoutMs>3e4))throw new Error("Cleanup timeout must be an integer between 0 and 30000 milliseconds");let r=this.validateCleanupAuthority(e,n.authority);if(r)return{settled:!1,taskIds:[],pendingTaskIds:[],unknownTaskIds:r,error:"Owner execution authority is missing or belongs to another manager epoch"};this.cleanupFences.add(e);let o=this.list({ownerSessionId:e,includeForeground:!0}),i=o.map(a=>a.id);for(let a of o)if(a.processId&&!this.execManager.hasExited(a.processId))this.execManager.terminate(a.processId,{reason:"terminated"});else if(a.external&&a.status==="running")try{this.states.get(a.id)?.externalStop?.()}catch{}let s=Date.now()+(n.timeoutMs??5e3);for(;;){let a=o.filter(l=>!this.states.get(l.id)?.exitObserved&&(!l.processId||!this.execManager.get(l.processId))).map(l=>l.id),c=o.filter(l=>!this.states.get(l.id)?.exitObserved&&l.processId&&this.execManager.get(l.processId)&&!this.execManager.hasExited(l.processId)).map(l=>l.id);if(!c.length||Date.now()>=s)return{settled:!c.length&&!a.length,taskIds:i,pendingTaskIds:c,unknownTaskIds:a};await new Promise(l=>setTimeout(l,Math.min(25,Math.max(1,s-Date.now()))))}}restoreOwnerAdmission(e,n){return this.validateCleanupAuthority(e,n)||this.list({ownerSessionId:e,includeForeground:!0}).some(o=>!this.states.get(o.id)?.exitObserved&&(!o.processId||!this.execManager.hasExited(o.processId)))?!1:(this.cleanupFences.delete(e),!0)}validateCleanupAuthority(e,n){if(!e.trim()||n?.schemaVersion!==1||n.managerInstanceId!==this.managerInstanceId||n.ownerSessionId!==e||!Array.isArray(n.tasks))return["owner-authority"];let r=n.tasks.filter(o=>{if(!o||typeof o.taskId!="string")return!0;let i=this.states.get(o.taskId)?.task;return!i||i.ownerSessionId!==e||i.operationId!==o.operationId||i.processId!==o.processId}).map(o=>o?.taskId??"invalid-task");return r.length?r:null}assertOwnerAdmission(e){if(e&&this.cleanupFences.has(e))throw new Error("Owner process admission is fenced for lifecycle cleanup")}deleteOutput(e){let n=this.states.get(e);if(!n||n.task.status==="running")return!1;try{return(0,lt.rmSync)(n.task.outputFile,{force:!0}),!0}catch{return!1}}killAll(){for(let[e,n]of this.states)n.task.status==="running"&&this.stop(e)}dispose(){this.killAll(),this.disposeExecEvents(),this.disposeShutdown?.(),this.disposeShutdown=void 0;for(let e of this.states.values())e.writer.destroy();this.listeners.clear()}formatDuration(e){let n=Math.floor(e/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60),o=n%60;if(r<60)return`${r}m ${o}s`;let i=Math.floor(r/60),s=r%60;return`${i}h ${s}m ${o}s`}handleExecEvent(e){let n=this.processToTask.get(e.process.id);if(!n)return;let r=this.states.get(n);if(r){if(e.type==="process.settled"){r.exitObserved=!0,r.completed&&this.processToTask.delete(e.process.id);return}if(e.type==="process.output"&&e.chunk){this.appendOutput(r,e.chunk);return}if(e.type==="process.presentation_changed"){r.task.presentation=e.process.presentation;return}(e.type==="process.exited"||e.type==="process.failed"||e.type==="process.terminated"||e.type==="process.output_limit")&&this.completeFromProcess(r,e.process)}}appendOutput(e,n){if(e.completed)return;let r=this.maxOutputFileBytes-e.acceptedOutputBytes;if(r<=0){this.stopForOutputLimit(e);return}let o=T2(n.text,r),i=Buffer.byteLength(o,"utf8");i>0&&(e.pendingWriteBytes+=i,e.acceptedOutputBytes+=i,e.task.outputSize=e.acceptedOutputBytes,e.task.lastOutputAt=Date.now(),e.writer.write(o,"utf8",()=>{e.pendingWriteBytes=Math.max(0,e.pendingWriteBytes-i)}),this.emit({type:"task.output",task:e.task,chunk:{...n,text:o,bytes:i}})),(i<n.bytes||e.pendingWriteBytes>this.maxPendingWriteBytes)&&this.stopForOutputLimit(e)}stopForOutputLimit(e){e.task.status==="running"&&(e.task.completionReason="output_limit",e.task.processId?this.execManager.terminate(e.task.processId,{reason:"output_limit"}):e.externalStop?.())}handleOutputFailure(e){e.completed||(e.task.completionReason="spawn_error",e.task.processId?this.execManager.terminate(e.task.processId,{reason:"terminated"}):e.externalStop?.())}completeFromProcess(e,n){this.completeState(e,n)}completeState(e,n){if(e.completed||n.status==="running")return;e.completed=!0;let r=e.task;r.exitCode=n.exitCode??null,r.endedAt=n.endedAt?Date.parse(n.endedAt):Date.now(),r.completionReason=r.completionReason??n.completionReason??"exit",r.cols=n.cols??r.cols,r.rows=n.rows??r.rows,r.processTreeAdapter=n.processTreeAdapter??r.processTreeAdapter,r.processTreeCleanupVerified=n.processTreeCleanupVerified??r.processTreeCleanupVerified,r.attached=!1;let o=n.status==="terminated"?"killed":n.status==="failed"||(r.exitCode??1)!==0?"failed":"completed";n.id&&e.exitObserved&&this.processToTask.delete(n.id),e.writer.end(()=>{r.status=o;try{r.outputSize=(0,lt.statSync)(r.outputFile).size}catch{}this.emit({type:"task.completed",task:r}),e.completionArmed&&r.presentation==="background"&&this.onComplete?.(r),e.deleteOnComplete&&this.deleteOutput(r.id)})}buildOutputSnapshot(e,n,r,o,i){let s=Date.now(),a=Math.max(0,o-e.lastObservedOutputSize);e.outputSize=o,e.pollCount+=1,e.lastObservedAt=s,a>0?(e.lastOutputAt=s,e.unchangedPollCount=0,e.lastObservedOutputSize=o):e.status==="running"&&(e.unchangedPollCount+=1);let c=(e.endedAt??s)-e.startedAt,l=e.status==="running"?Math.max(0,s-e.lastOutputAt):0,d=this.getProgressState(e,l,a);return{output:n,bytesRead:r,totalSize:o,status:e.status,exitCode:e.exitCode,command:e.command,elapsedMs:c,idleMs:l,outputDeltaBytes:a,pollCount:e.pollCount,unchangedPollCount:e.unchangedPollCount,nextOffset:i,lastLines:this.extractLastLines(n),progressState:d,suggestedNextAction:this.getSuggestedNextAction(e,d),mode:e.mode,interactive:e.interactive,presentation:e.presentation,completionReason:e.completionReason}}getProgressState(e,n,r){if(e.status!=="running")return"finished";if(r>0)return"active";let o=KI.test(e.command),i=o?oJ:nJ,s=o?iJ:rJ;return n>=i&&e.unchangedPollCount>=s?"stalled":"idle"}extractLastLines(e){return e.split(/\r?\n/).map(n=>n.trimEnd()).filter(n=>n.length>0).slice(-8)}getSuggestedNextAction(e,n){return n==="finished"?e.exitCode===0?"Task finished successfully; validate the generated artifact or service state before finalizing.":"Task finished unsuccessfully; inspect the last error and run a smaller targeted repair command.":n==="active"?"Output is still changing; continue polling with the next_offset only if this task is expected to keep producing progress.":KI.test(e.command)&&e.status==="running"?"Finite model-training jobs can be quiet for minutes; do not stop it solely for missing output. Poll with a larger interval or run a bounded artifact/liveness check, then wait until it finishes or the configured timeout is near.":n==="stalled"?"No output progress across repeated polls; checkpoint the best current artifact, inspect process liveness, then pivot or stop the task instead of waiting indefinitely.":"No new output yet; poll again once, or switch to a bounded readiness/artifact check if the next poll also has no progress."}resolveOwnerDir(e){if(!e)return this.taskDir;let n=(0,Eh.createHash)("sha256").update(e).digest("hex").slice(0,32),r=(0,Po.resolve)(this.taskDir,n);if(r!==this.taskDir&&!r.startsWith(`${this.taskDir}${Po.sep}`))throw new Error("Invalid background task owner path");return r}ensureDir(e){(0,lt.existsSync)(e)||(0,lt.mkdirSync)(e,{recursive:!0,mode:448})}shouldPreserveForVerifier(e){return sJ.test(e.command)}emit(e){let n={...e,task:Ih(e.task),chunk:e.chunk?{...e.chunk}:void 0};for(let r of this.listeners)try{r(n)}catch{}}},de=new Ou});function kh(t){return t.replace(/\r?\n$/,"")}function O2(){let t=process.env.XENO_SHELL_CAPTURE_LIMIT_CHARS??process.env.XENO_SHELL_OUTPUT_BUFFER_CHARS,e=t?Number(t):R2;return!Number.isFinite(e)||e<=0?R2:Math.min(yJ,Math.max(hJ,Math.floor(e)))}function Th(t,e,n,r=O2()){if(e.length===0)return{text:t,truncatedChars:n};let o=Math.max(1,Math.floor(r)),i=Math.floor(o/2),s=o-i;if(n>0){let d=t.slice(0,i),u=t.slice(i)+e,p=u.slice(Math.max(0,u.length-s)),m=Math.max(0,u.length-p.length);return{text:d+p,truncatedChars:n+m}}let a=t.length+e.length;if(a<=o)return{text:t+e,truncatedChars:n};let c=t+e,l=a-o;return{text:c.slice(0,i)+c.slice(Math.max(i,c.length-s)),truncatedChars:n+l}}function gr(t,e,n){let r=kh(t);if(e<=0)return r;let o=`[xeno: ${n} truncated; omitted ${e} middle characters; preserved head and tail]`;return r?`${o}
1165
1165
  ${r}`:o}function bJ(){let t=(0,jc.join)((0,_2.tmpdir)(),`xeno-shell-control-${process.pid}`);return(0,Co.mkdirSync)(t,{recursive:!0,mode:448}),t}function wJ(){let t=(0,C2.randomUUID)(),e=(0,jc.join)(bJ(),`${t}.result`);return{nonce:t,path:e,temporaryPath:`${e}.tmp`}}function Fc(t){return Buffer.from(t,"utf8").toString("base64")}function vJ(t,e){let n=Fc(t),r=Fc(e.path),o=Fc(e.temporaryPath);return[`$__xeno_payload=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${n}'))`,`$__xeno_target=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${r}'))`,`$__xeno_temp=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${o}'))`,"$__xeno_exit=0","$global:LASTEXITCODE=$null",`try{$__xeno_block=[ScriptBlock]::Create($__xeno_payload); . $__xeno_block; $__xeno_ok=$?; $__xeno_exit=if($null -ne $LASTEXITCODE){[int]$LASTEXITCODE}elseif($__xeno_ok){0}else{1}}catch{[Console]::Error.WriteLine(($_ | Out-String)); $__xeno_exit=1}finally{$__xeno_cwd=[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes((Get-Location).Path)); [IO.File]::WriteAllLines($__xeno_temp,@('${e.nonce}',[string]$__xeno_exit,$__xeno_cwd),[Text.UTF8Encoding]::new($false)); Move-Item -LiteralPath $__xeno_temp -Destination $__xeno_target -Force}`,"Remove-Variable __xeno_payload,__xeno_target,__xeno_temp,__xeno_exit,__xeno_block,__xeno_ok,__xeno_cwd -ErrorAction SilentlyContinue"].join(";")+`
1166
1166
  `}function xJ(t,e){let n=Fc(t),r=Fc(e.path),o=Fc(e.temporaryPath);return[`__xeno_payload_b64='${n}'`,`__xeno_target_b64='${r}'`,`__xeno_temp_b64='${o}'`,`__xeno_decode(){ printf '%s' "$1" | base64 --decode 2>/dev/null || printf '%s' "$1" | base64 -D 2>/dev/null; }`,'__xeno_payload=$(__xeno_decode "$__xeno_payload_b64")','__xeno_target=$(__xeno_decode "$__xeno_target_b64")','__xeno_temp=$(__xeno_decode "$__xeno_temp_b64")','eval "$__xeno_payload"',"__xeno_exit=$?",`__xeno_cwd=$(printf '%s' "$PWD" | base64 | tr -d '\\r\\n')`,`printf '%s\\n%s\\n%s\\n' '${e.nonce}' "$__xeno_exit" "$__xeno_cwd" > "$__xeno_temp" && mv -f "$__xeno_temp" "$__xeno_target"`,"unset __xeno_payload_b64 __xeno_target_b64 __xeno_temp_b64 __xeno_payload __xeno_target __xeno_temp __xeno_exit __xeno_cwd","unset -f __xeno_decode"].join(`
@@ -2457,7 +2457,7 @@ try {
2457
2457
 
2458
2458
  ---
2459
2459
 
2460
- `));let h=t.systemPrompt??sR({cwd:e,model:n,date:t.date??new Date().toISOString().split("T")[0],identity:u,memory:g||void 0,sessionId:t.sessionId,executionMode:r}),y=t.dispatchAgent??(async w=>{let{createDelegatedXenoAgent:S}=await Promise.resolve().then(()=>(yv(),KF)),{agent:x}=await S({cwd:e,apiKey:o,baseURL:i,model:n,...t.fallbackModels?{fallbackModels:t.fallbackModels}:{},...t.effort?{effort:t.effort}:{},maxTokens:Math.max(512,Math.min(t.maxTokens??n0,4096)),maxIterations:Math.max(3,Math.min(t.maxIterations??r0,12)),parentSystemPrompt:h,parentExecutionMode:r,subagentRole:"explorer",permissionEngine:d,...t.sandbox?{sandbox:t.sandbox}:{},...t.onPermissionRequest?{onPermissionRequest:t.onPermissionRequest}:{}}),A=()=>{x.cancelCurrentTurn()};if(w.signal?.aborted)throw A(),new Error("dispatch_agent was aborted before the helper started");w.signal?.addEventListener("abort",A,{once:!0});try{return{output:await x.run(w.prompt)}}finally{w.signal?.removeEventListener("abort",A)}});if(t.validateToolInputs===!1)throw new Error("Agent tool input validation cannot be disabled.");let b=t.toolRegistry??Xn({cwd:e,askUser:t.askUser,dispatchAgent:y,...t.webSearchApiKey?{webSearchApiKey:t.webSearchApiKey}:{},...t.permissionConfig?.profile?{permissionProfile:t.permissionConfig.profile}:{},...t.ownerSessionId?{ownerSessionId:t.ownerSessionId}:{},...t.getOwnerSessionId?{getOwnerSessionId:t.getOwnerSessionId}:{},...t.sandbox?{sandbox:t.sandbox}:{},...f?{memoryManager:f}:{},validateInputs:!0});return t.toolRegistry&&t.validateToolInputs===!0&&b.setValidateInputs(!0),{agent:new ji({apiKey:o,baseURL:i,ollamaBaseURL:s,localRuntimeProtocol:t.localRuntimeProtocol,localTransportLimits:t.localTransportLimits,...(t.apiRequestTimeoutMs??l)!==void 0?{apiRequestTimeoutMs:t.apiRequestTimeoutMs??l}:{},model:n,...t.fallbackModels?{fallbackModels:t.fallbackModels}:{},...t.effort?{effort:t.effort}:{},maxTokens:t.maxTokens??n0,maxIterations:t.maxIterations??r0,maxContextTokens:t.maxContextTokens,maxContextMessages:t.maxContextMessages,compressionKeepRecentMessages:t.compressionKeepRecentMessages,contextCompressionLlm:t.contextCompressionLlm,tokenEstimator:t.tokenEstimator,tokenAccountingAdapter:t.tokenAccountingAdapter,queryIdleTimeoutMs:t.queryIdleTimeoutMs,queryLeaseTimeoutMs:t.queryLeaseTimeoutMs,queryHardTimeoutMs:t.queryHardTimeoutMs,...t.reserveFinalSynthesisTurn!==void 0?{reserveFinalSynthesisTurn:t.reserveFinalSynthesisTurn}:{},systemPrompt:h,requesterLabel:t.requesterLabel,ownerSessionId:t.ownerSessionId,getOwnerSessionId:t.getOwnerSessionId,executionMode:r,permissionEngine:d,toolRegistry:b,sandbox:t.sandbox,onPermissionRequest:t.onPermissionRequest,onText:t.onText,onToolStart:t.onToolStart,onToolWillExecute:t.onToolWillExecute,onToolEnd:t.onToolEnd,onIteration:t.onIteration,modelWorkAccounting:t.modelWorkAccounting,runAuthority:t.runAuthority,onError:t.onError,onTranscriptError:t.onTranscriptError,onRuntimeEvent:t.onRuntimeEvent,runtimeEventBus:t.runtimeEventBus,turnDiffTracker:t.turnDiffTracker,onTurnDiff:t.onTurnDiff,onModeSwitchRequest:t.onModeSwitchRequest,onExecutionModeChanged:t.onExecutionModeChanged,completionGuard:t.completionGuard,maxCompletionGuardReminders:t.maxCompletionGuardReminders,progressGuardEveryIterations:t.progressGuardEveryIterations,...t.toolMiddleware?{toolMiddleware:t.toolMiddleware}:{},...t.promptSections?{promptSections:t.promptSections}:{},...t.promptSectionsTokenBudget!==void 0?{promptSectionsTokenBudget:t.promptSectionsTokenBudget}:{},...t.completionGuards?{completionGuards:t.completionGuards}:{},...t.provider?{provider:t.provider}:{},...t.session}),systemPrompt:h,permissionEngine:d,toolRegistry:b,...u?{identity:u}:{},...p?{memory:{resolved:p,...m?{projectSessionContext:m}:{},prompt:g}}:{}}}var YF,n0,r0,zl=T(()=>{"use strict";YF=require("node:process");fi();ho();Ob();aR();qb();xu();lw();$i();n0=8192,r0=50});var mue={};gC(mue,{AGENT_DAEMON_PROTOCOL_VERSION:()=>Fl,AGENT_EFFORT_LEVELS:()=>kx,AGENT_PERMISSION_MODES:()=>Tx,AGENT_PROFILE_EXTERNAL_ACTIONS:()=>Sd,ARCHITECT_CAPABILITIES:()=>$q,ARCHITECT_TOOL_NAMES:()=>Lq,AgentDaemonClient:()=>aP,AgentDaemonServer:()=>sP,AgentDebugger:()=>Ax,AgentDefinitionLoader:()=>sf,AgentDefinitionResolver:()=>Ox,AgentEvaluator:()=>Ix,AgentEventStore:()=>em,AgentHookRunner:()=>og,AgentInterruptedError:()=>Kn,AgentLoop:()=>ji,AgentProfileValidationError:()=>ro,AgentProtocol:()=>Ov,AgentRegistry:()=>Mv,AgentRunController:()=>iP,AgentRunError:()=>Mb,AgentRunStore:()=>tm,AppAgentFactory:()=>Wm,AppContextInjector:()=>_a,AppContextManager:()=>os,AppServerProtocolError:()=>B,AppServerRemoteError:()=>Lt,AuditLogger:()=>ja,AutoCheckpointHandler:()=>Nb,AutoMemory:()=>gI,AutoPermissionClassifier:()=>Zb,BUILT_IN_XENO_PROVIDER_PRESETS:()=>oH,BackgroundProcessManager:()=>Ou,COMPAT_TOOL_ALIASES:()=>mI,CONFIG_VERSION:()=>PA,CheckpointManager:()=>wn,CliGovernedAutomationRuntime:()=>Ff,CodeValidator:()=>Sx,CommandHookRunner:()=>cg,CompletionGuardRegistry:()=>_l,ContainmentApprovalError:()=>he,ContainmentCertificationError:()=>ge,ContextManager:()=>jp,ConversationStore:()=>Lv,CrossAppRouter:()=>_v,CrossAppRouterError:()=>Ra,DEFAULT_API_KEY:()=>cr,DEFAULT_IMAGE_MODEL:()=>Fh,DEFAULT_MEMORY_BUDGETS:()=>ZA,DEFAULT_MODEL:()=>Ts,DEFAULT_PROMPT_SECTIONS_TOKEN_BUDGET:()=>Hp,DEFAULT_PROTECTED_STATE_KEY_NAME:()=>DB,DEFAULT_PROTECTED_STATE_SERVICE:()=>NB,DEFAULT_SUBAGENT_BRANCH_POLICY:()=>$b,DEFAULT_SUBAGENT_REMOTE_MCP_BY_ROLE:()=>Bb,DEFAULT_SUBAGENT_ROLES:()=>Ol,DEFAULT_SUBAGENT_ROLE_PRECEDENCE:()=>Xb,DEFAULT_SUBAGENT_TEAM_PRESET:()=>la,DIRECT_SHELL_CONTEXT_WARNING:()=>$g,DOCS_CAPABILITIES:()=>Vq,DOCS_TOOL_NAMES:()=>Hq,DualLLMProvider:()=>Zl,DurableXenoCapabilityLeaseRegistry:()=>_R,DurableXenoCoordinationStore:()=>mm,ENGINE_CAPABILITIES:()=>Fq,ENGINE_TOOL_NAMES:()=>Uq,ElectronAgentBridge:()=>Cv,EpisodicStore:()=>Dl,ExecutionGovernance:()=>ql,ExecutionSecurityError:()=>nr,FALLBACK_MODELS:()=>wO,FileQuotaAuthority:()=>pC,FileXenoArtifactRepository:()=>Vd,FileXenoProviderConnectionStore:()=>lC,FileXenoShareRegistry:()=>NP,HIGH_RISK_PERMISSIONS:()=>eC,HookRunner:()=>sg,HookRuntime:()=>ag,HttpHookRunner:()=>lg,IDENTITY_PATHS:()=>Fo,IdentityLoader:()=>da,IdentityResolver:()=>ua,InMemoryXenoArtifactRepository:()=>Za,InMemoryXenoCapabilityLeaseRegistry:()=>Mr,InMemoryXenoTelemetryCollector:()=>GA,InteractiveChatTurnGovernance:()=>Nw,InteractiveTurnGovernance:()=>ya,JsonSchemaCompilationError:()=>Os,LlmClient:()=>Sl,LocalLLMProvider:()=>Ma,LogLevel:()=>cI,MANIFEST_FILENAME:()=>Hm,MAX_CONTAINMENT_APPROVAL_AGE_MS:()=>mB,MAX_CONTAINMENT_CERTIFICATION_BYTES:()=>Qx,MAX_CONTAINMENT_CERTIFICATION_LIFETIME_MS:()=>i_,MAX_DIRECT_SHELL_OUTPUT_CHARS:()=>lI,MCPHttpTransportError:()=>Qe,MCPManager:()=>Jv,MCPOAuthClient:()=>Hv,MCPServer:()=>Kv,MCP_APPS_EXTENSION_ID:()=>Pa,MCP_APP_MIME_TYPE:()=>Fm,MCP_APP_RESOURCE_SCHEME:()=>tq,MCP_PROTOCOL_VERSION:()=>Qr,MCP_SUPPORTED_PROTOCOL_VERSIONS:()=>Fv,MEMORY_FILES:()=>eI,MOTION_CAPABILITIES:()=>tH,MOTION_SYSTEM_PROMPT:()=>x0,MOTION_TOOL_NAMES:()=>eH,MemoryManager:()=>So,MessageFlow:()=>El,ModelProviderRegistry:()=>du,MonitorManager:()=>uP,MonitorStopTool:()=>mP,MonitorTool:()=>pP,NOTES_CAPABILITIES:()=>Yq,NOTES_TOOL_NAMES:()=>Kq,OtelExporter:()=>gP,PEER_MESSAGE_DEFAULT_TTL_MS:()=>Z$,PEER_PRESENCE_TTL_MS:()=>Q$,PEER_SCHEMA_VERSION:()=>Vr,PEER_TASK_TERMINAL_STATUSES:()=>eX,PIXEL_CAPABILITIES:()=>Zq,PIXEL_SYSTEM_PROMPT:()=>v0,PIXEL_TOOL_NAMES:()=>Qq,PROCESS_TREE_ADAPTERS:()=>vH,PROJECT_STATE_VERSION:()=>cO,PeerMessagingStore:()=>Li,PermissionEngine:()=>un,PluginEventBus:()=>ud,PluginHost:()=>md,PluginManager:()=>Sq,PluginMarketplace:()=>ax,PluginSandbox:()=>ld,PluginSettingsManager:()=>ex,PluginToolBuilder:()=>Zv,ProfileManager:()=>HA,PromptHookRunner:()=>rg,PromptSectionRegistry:()=>Cl,ProtectedFileWriteError:()=>Fn,ProviderError:()=>ue,QueryLifecycle:()=>kl,QuotaAcknowledgementError:()=>wb,QuotaError:()=>te,REQUIRED_CONTAINMENT_CONFORMANCE_CHECKS:()=>Td,RunAuthorityRefusedError:()=>wr,SDK_DEFAULT_MAX_ITERATIONS:()=>r0,SDK_DEFAULT_MAX_TOKENS:()=>n0,SDK_VERSION:()=>Rr,SESSION_FORMAT_VERSION:()=>wd,SHEETS_CAPABILITIES:()=>Gq,SHEETS_TOOL_NAMES:()=>zq,SLIDES_CAPABILITIES:()=>Jq,SLIDES_TOOL_NAMES:()=>Wq,SOUND_CAPABILITIES:()=>rH,SOUND_SYSTEM_PROMPT:()=>S0,SOUND_TOOL_NAMES:()=>nH,SSETransport:()=>ss,SUBAGENT_ROLE_ALIASES:()=>A5,SUBAGENT_TEAM_PRESETS:()=>I5,ScreenCapture:()=>Rv,SessionLock:()=>Ko,SessionLockManager:()=>Ko,SessionManager:()=>rs,SessionRegistry:()=>cn,SkillStore:()=>Ll,SoulEngine:()=>Kb,SqliteAutomationExecutionJournal:()=>Df,SqliteCapabilityLeasePersistence:()=>ew,StdioTransport:()=>id,StreamableHTTPTransport:()=>od,THREE_D_CAPABILITIES:()=>Bq,THREE_D_TOOL_NAMES:()=>Xq,TOOL_OPERATION_SCHEMA_VERSION:()=>Cu,TaskListManager:()=>ea,ToolFailureLoopGuard:()=>Rl,ToolMiddlewareRegistry:()=>Pl,ToolOperationManager:()=>bh,ToolOrchestrator:()=>Mp,ToolRegistry:()=>ta,ToolSchemaProjectionError:()=>Ct,TranscriptWriter:()=>On,TurnDiffTracker:()=>AT,TurnRestoreManager:()=>Ta,UNBOUNDED_OPERATION_CONTINUATION_LIMIT:()=>_u,UnifiedExecError:()=>fr,UnifiedExecManager:()=>wh,UsageAccumulator:()=>xw,UsageLedger:()=>fP,VectorMemoryStore:()=>wi,WEB_CONTEXT_CONTRACT_VERSION:()=>gE,WEB_CONTEXT_TOOL_RESULT_SCHEMA:()=>qh,WORKFLOW_CAPABILITIES:()=>qq,WORKFLOW_TOOL_NAMES:()=>jq,WorkflowPlanner:()=>jl,WorkflowRuntime:()=>dP,WorkflowStore:()=>vw,WorkspaceIndex:()=>Pv,XENO_AGENT_PROFILE_SCHEMA_VERSION:()=>df,XENO_API_BASE:()=>Lr,XENO_APP_PROTOCOL_V2_METHODS:()=>o0,XENO_APP_PROTOCOL_VERSIONS:()=>wv,XENO_ARTIFACT_ACTOR_KINDS:()=>IS,XENO_ARTIFACT_FILE_REPOSITORY_SCHEMA_VERSION:()=>jS,XENO_ARTIFACT_SCHEMA_VERSION:()=>xe,XENO_ARTIFACT_SENSITIVITIES:()=>AS,XENO_ARTIFACT_STATES:()=>SS,XENO_AUTOMATION_OPERATIONS:()=>za,XENO_AUTOMATION_PROTOCOL_VERSION:()=>oo,XENO_BROWSER_CONTROL_PLANE_OPERATIONS:()=>Hd,XENO_BUILTIN_ARTIFACT_KINDS:()=>xS,XENO_CAPABILITY_LEASE_SCHEMA_VERSION:()=>qS,XENO_CONTAINMENT_APPROVAL_SCHEMA:()=>tw,XENO_CONTAINMENT_CERTIFICATION_SCHEMA:()=>mf,XENO_CONTAINMENT_CONFORMANCE_SCHEMA:()=>xB,XENO_CONTAINMENT_REVIEWER_TRUST_STORE_SCHEMA:()=>nw,XENO_CONTROL_ROOM_SCHEMA_VERSION:()=>Aw,XENO_COORDINATION_BUDGET_SESSION_SCHEMA_VERSION:()=>um,XENO_COORDINATION_MANAGED_SESSION_SCHEMA_VERSION:()=>Jw,XENO_COORDINATION_SCHEMA_VERSION:()=>zo,XENO_COORDINATION_TURN_SESSION_SCHEMA_VERSION:()=>pm,XENO_DEFLATE_CODEC_NAME:()=>RO,XENO_DEFLATE_CODEC_VERSION:()=>PO,XENO_EVIDENCE_EDGE_TYPES:()=>Ld,XENO_EVIDENCE_GRAPH_SCHEMA_VERSION:()=>Nd,XENO_EVIDENCE_NODE_TYPES:()=>Dd,XENO_GIF_ANIMATION_POLICY:()=>wN,XENO_GIF_CODEC_NAME:()=>yN,XENO_GIF_CODEC_VERSION:()=>bN,XENO_HANDOFF_SCHEMA_VERSION:()=>Vw,XENO_HOSTED_CONTROL_SCHEMA_VERSION:()=>VP,XENO_HOSTED_ENVIRONMENT_SCHEMA_VERSION:()=>gm,XENO_HOSTED_EVENT_SCHEMA_VERSION:()=>ev,XENO_HOSTED_EXECUTION_ADAPTER_CERTIFICATION_SCHEMA:()=>ym,XENO_HOSTED_EXECUTION_ADAPTER_MAX_CERTIFICATE_LIFETIME_MS:()=>AF,XENO_HOSTED_EXECUTION_ADAPTER_PROTOCOL_VERSION:()=>UP,XENO_HOSTED_EXECUTION_PROTOCOL_VERSION:()=>TF,XENO_HOSTED_EXECUTION_TOOL_NAMES:()=>RF,XENO_HOSTED_RESULT_SCHEMA_VERSION:()=>zP,XENO_HOSTED_RUN_SCHEMA_VERSION:()=>tae,XENO_HOSTED_TRIGGER_SCHEMA_VERSION:()=>nae,XENO_JPEG_CODEC_NAME:()=>RN,XENO_JPEG_CODEC_VERSION:()=>PN,XENO_MXC_ADAPTER_NAME:()=>bf,XENO_MXC_POLICY_VERSION:()=>iS,XENO_MXC_VERSION:()=>ci,XENO_ORACLE_REPORT_SCHEMA_VERSION:()=>QP,XENO_PAGE_ENTRY:()=>ar,XENO_PAGE_MAX_BYTES:()=>YM,XENO_PAGE_MAX_FILES:()=>wA,XENO_PLUGIN_LOCK_FILENAME:()=>Vm,XENO_PLUGIN_LOCK_SCHEMA_VERSION:()=>pd,XENO_PLUGIN_SIGNATURE_FILENAME:()=>Ca,XENO_PLUGIN_SIGNATURE_SCHEMA_VERSION:()=>nx,XENO_PROVIDER_CATALOG_SCHEMA_VERSION:()=>sC,XENO_PROVIDER_CONNECTION_STORE_SCHEMA_VERSION:()=>bx,XENO_RASTER_CODEC_NAME:()=>Ci,XENO_RASTER_CODEC_VERSION:()=>hy,XENO_RASTER_PREVIEW_FORMATS:()=>rk,XENO_RECIPE_SCHEMA_VERSION:()=>WF,XENO_REPOSITORY_INDEX_SCHEMA_VERSION:()=>$w,XENO_REVIEW_DIMENSIONS:()=>UM,XENO_REVIEW_EVIDENCE_KINDS:()=>FM,XENO_REVIEW_REPORT_SCHEMA_VERSION:()=>uA,XENO_RT_DEFAULT_URL:()=>wg,XENO_SECURE_EXECUTION_CONTRACT_SCHEMA_VERSION:()=>fS,XENO_SHARE_REGISTRY_SCHEMA_VERSION:()=>dm,XENO_SHARE_SCHEMA_VERSION:()=>Hw,XENO_SKILL_SCHEMA_VERSION:()=>ha,XENO_SOURCE_RESEARCH_SCHEMA_VERSION:()=>t0,XENO_SPEC_EXECUTION_SCHEMA_VERSION:()=>Kd,XENO_SPEC_SCHEMA_VERSION:()=>lc,XENO_SVG_RENDERER_NAME:()=>ZN,XENO_SVG_RENDERER_VERSION:()=>eD,XENO_TELEMETRY_SCHEMA_VERSION:()=>IO,XENO_VP8_CODEC_NAME:()=>ID,XENO_VP8_CODEC_VERSION:()=>ED,XENO_WEBP_ANIMATION_POLICY:()=>OD,XENO_WEBP_CODEC_NAME:()=>_D,XENO_WEBP_CODEC_VERSION:()=>MD,XenoAppServer:()=>Sv,XenoAppServerV2Client:()=>u0,XenoArtifactRepositoryError:()=>V,XenoArtifactReviewService:()=>ac,XenoArtifactStateTransitionError:()=>Tf,XenoArtifactValidationError:()=>ws,XenoAuthError:()=>pc,XenoAutomationError:()=>$,XenoBrowserControlPlaneAdapter:()=>oc,XenoCapabilityLeaseError:()=>Ce,XenoControlRoomValidationError:()=>Ve,XenoCoordinationError:()=>C,XenoDiffParseError:()=>jt,XenoEvidenceGraphBuilder:()=>ZS,XenoEvidenceGraphValidationError:()=>Hf,XenoExecutionLeaseSession:()=>LP,XenoGovernedAutomationExecutor:()=>qd,XenoHostGovernedAutomationRuntime:()=>Ff,XenoLoopbackAutomationAdapter:()=>NS,XenoMultiAgentReviewCoordinator:()=>dA,XenoOracleCoordinator:()=>JP,XenoOracleValidationError:()=>Hn,XenoPageStore:()=>xA,XenoProviderCatalog:()=>gd,XenoRecipeValidationError:()=>Dt,XenoRepositoryIndexFileStore:()=>PP,XenoReviewValidationError:()=>It,XenoRuntimeEventBus:()=>Xi,XenoSecureExecutionContractError:()=>at,XenoSourceResearchValidationError:()=>Yi,XenoSpecLifecycleService:()=>iA,XenoSpecValidationError:()=>At,XenoTraceGraphRecorder:()=>fl,acquireControlPlaneLock:()=>Pn,activateSessionRuntime:()=>Sle,addProjectAllowedDirectory:()=>MA,addProjectAllowedTool:()=>_A,agentDefinitionFromProfile:()=>pV,agentProfileFromDefinition:()=>JC,appendBoundedShellOutput:()=>Th,appendGuidanceToResult:()=>YT,approveMcpServer:()=>Bv,areSignalHandlersInstalled:()=>FW,artifactCompareTool:()=>l$,askUserTool:()=>Y2,assertDirectEndpointResolution:()=>gb,assertPersistedXenoCapabilityLease:()=>or,assertRequiredXenoAutomationEvidence:()=>jd,assertSupportedMcpProtocolVersion:()=>jv,assertUsableXenoApiKey:()=>UA,assertValidMcpAppResource:()=>Gv,assertValidXenoArtifact:()=>ct,assertValidXenoAutomationAdapterManifest:()=>Od,assertValidXenoAutomationRequest:()=>bS,assertValidXenoEvidenceGraph:()=>sc,assertValidXenoHostedExecutionJob:()=>Sae,assertValidXenoOracleReport:()=>uv,assertValidXenoRecipeDefinition:()=>Am,assertValidXenoReviewPack:()=>pA,assertValidXenoReviewReport:()=>Qd,assertValidXenoReviewTarget:()=>mA,assertValidXenoSecureExecutionContract:()=>Af,assertValidXenoSourceResearchReport:()=>fv,assertValidXenoSpecDocument:()=>Kf,assertValidXenoSpecExecution:()=>lA,assertXenoArtifactStateTransition:()=>Ud,assertXenoAutomationAdapterConformant:()=>C8,assertXenoAutomationAuthority:()=>kf,auditRiskLevelForTool:()=>Nj,authorizeShellExecution:()=>hh,backgroundProcessManager:()=>de,bashTool:()=>V2,benchmarkCodingTools:()=>Zte,bridgeXenoTelemetryToOpenTelemetry:()=>gG,buildAtomicMessageGroups:()=>jT,buildAuditReplayReport:()=>kC,buildAuditTraceReport:()=>EC,buildContainedProcessSpec:()=>b_,buildContractLedgerGuidance:()=>Pw,buildDefaultSubagentTasks:()=>yne,buildDelegatedRoleSystemPrompt:()=>yR,buildHookEnvironment:()=>EA,buildLinuxBubblewrapProcessSpec:()=>pf,buildLspDefinitionReport:()=>Hk,buildLspDiagnosticsReport:()=>qk,buildLspDoctorReport:()=>f$,buildLspHoverReport:()=>zk,buildLspReferencesReport:()=>Vk,buildMotionSystemPrompt:()=>Yl,buildPixelSystemPrompt:()=>Kl,buildProcessHardenedProcessSpec:()=>y_,buildProjectBudgetFinalizationGuidance:()=>vU,buildProjectExecutionGuidance:()=>Mw,buildProjectExecutionProfile:()=>_w,buildPromptMemoryContext:()=>vle,buildSecuredProcessSpec:()=>Ja,buildSoundSystemPrompt:()=>Ql,buildSystemPrompt:()=>sR,buildToolFailureGuardResult:()=>_b,buildXenoArtifactReviewAnchor:()=>oA,buildXenoAutomationCapabilityUse:()=>wS,buildXenoRepositoryIndex:()=>XU,buildXenoRepositoryIndexWithEmbeddings:()=>Vie,buildXenoSecureExecutionContract:()=>gS,cachedModelContextWindow:()=>FA,calculateCost:()=>Nv,canTransitionXenoArtifactState:()=>N_,canXenoRasterPreview:()=>yy,canonicalPayload:()=>$l,canonicalizeArtifactJson:()=>Z,canonicalizeMcpResourceUri:()=>rd,canonicalizeSecurityPath:()=>Tn,canonicalizeToolName:()=>J,captureXenoHandoffSnapshot:()=>Zse,checkSandbox:()=>SX,classifyProviderHttpError:()=>mb,cleanupReadImagePreviews:()=>gk,cleanupSessionRuntime:()=>Ile,clearMcpServerApproval:()=>Hj,clearProjectAllowedTools:()=>k4,clearProjectLastSessionSummary:()=>R4,clearProjectMcpApproval:()=>OA,clearProjectMcpApprovals:()=>DA,clipXenoAnsi:()=>j5,coerceSubagentRole:()=>Ub,coerceSubagentTeamPreset:()=>E5,compileAgentProfile:()=>zC,compileJsonSchema:()=>zg,compileToolInputSchema:()=>Pc,compileXenoRecipe:()=>nce,compileXenoSkillActivation:()=>_re,configureImageGeneration:()=>oN,configureSearch:()=>Xh,configureSearchPermissionProfile:()=>Bh,configureXenoAnsi:()=>$5,containmentApprovalSigningPayload:()=>fB,containmentCertificationSigningPayload:()=>s_,copyTextToClipboard:()=>Cj,create3DTools:()=>dx,createAgentDefinitionFile:()=>nV,createAgentDefinitionPromptSection:()=>QH,createAgentRunId:()=>cU,createAppServerExecutionLeaseStore:()=>Cce,createAppServerV2HttpTransport:()=>Pce,createArchitectTools:()=>lx,createArtifactCompareTool:()=>ip,createAskUserTool:()=>Bu,createAudioTools:()=>Tv,createAuditBackedPermissionEngine:()=>ble,createBashTool:()=>Lu,createBenchBashMiddleware:()=>Lw,createCliAutomationAuditSink:()=>B3,createCliGovernedAutomationRuntime:()=>X3,createCommandBackedProtectedStateStore:()=>$B,createDefaultToolRegistry:()=>Xn,createDelegatedXenoAgent:()=>hv,createDirectProvider:()=>Fp,createDirectShellMessage:()=>hu,createDispatchAgentTool:()=>$u,createDocsTools:()=>mx,createEd25519Signer:()=>z5,createEditTool:()=>ku,createElfAnalyzeTool:()=>tp,createEngineTools:()=>ux,createGcodeAnalyzeTool:()=>np,createGenerateImageTool:()=>Fu,createGlobTool:()=>Tu,createGovernanceExtensions:()=>Xie,createGrepTool:()=>Ru,createHtmlSanitizerAuditTool:()=>rp,createImageTools:()=>Ev,createListAgentsTool:()=>eb,createListSessionsTool:()=>tb,createLsTool:()=>pp,createLspDefinitionTool:()=>cp,createLspDiagnosticsTool:()=>up,createLspHoverTool:()=>dp,createLspReferencesTool:()=>lp,createMcpAppCapabilities:()=>U0,createMcpAppExtensionCapabilities:()=>nq,createMcpPkcePair:()=>O0,createMcpPromptRegisteredTool:()=>K0,createMcpRegisteredTool:()=>J0,createMcpResourceRegisteredTool:()=>Y0,createMemoryProtectedStateStore:()=>hre,createMemoryReadTool:()=>mp,createMemoryWriteTool:()=>fp,createNotebookEditTool:()=>hp,createNotebookReadTool:()=>gp,createNotesTools:()=>hx,createOllamaNativeProvider:()=>Eb,createOsProtectedStateStore:()=>XB,createProtectedStateEnvelopeCipher:()=>yre,createQuotaGovernedProvider:()=>Qee,createReadImageTool:()=>Qu,createReadTool:()=>Iu,createReceiveTool:()=>Zy,createSendTool:()=>Qy,createSheetsTools:()=>fx,createSlidesTools:()=>gx,createSpeechRecognizer:()=>Uj,createSqliteAnalyzeTool:()=>sl,createTaskInputTool:()=>wp,createTaskListTools:()=>zy,createTaskOutputTool:()=>yp,createTaskStopTool:()=>bp,createThinkTool:()=>Xu,createToolAlias:()=>ur,createToolRuntimeContext:()=>Au,createUnavailableProtectedStateStore:()=>Bl,createVideoTools:()=>kv,createWebContextFetchTool:()=>Vh,createWebContextRequestFactory:()=>pN,createWebContextSearchTool:()=>Hh,createWebSearchTool:()=>nN,createWindowsDpapiProtectedCipher:()=>gre,createWindowsDpapiProtectedFileStore:()=>LB,createWorkflowTools:()=>px,createWriteTool:()=>Eu,createXenoAgent:()=>Jr,createXenoAutomationConformanceReport:()=>G_,createXenoGovernedAutomationTools:()=>zS,createXenoHostAutomationAuditSink:()=>B3,createXenoHostGovernedAutomationRuntime:()=>X3,createXenoHostedControlCommand:()=>OF,createXenoHostedEnvironmentManifest:()=>rae,createXenoHostedEvent:()=>oae,createXenoHostedExecutionBoundaryReceipt:()=>PF,createXenoHostedRunResult:()=>NF,createXenoRasterPreview:()=>by,createXenoSecureShare:()=>Pse,createXenoSessionHandoff:()=>_se,createXenoShareSigningIdentity:()=>Rse,createXenoSkillTool:()=>Cre,createXenoSourceResearchExcerpt:()=>jae,createXenoSourceResearchReport:()=>Fae,currentExecutionAdapterStatus:()=>VV,decodeJwtPayload:()=>hg,decodeXenoBmp:()=>wy,decodeXenoGif:()=>zh,decodeXenoGifAnimation:()=>xN,decodeXenoJpeg:()=>Zh,decodeXenoNetpbm:()=>vy,decodeXenoPng:()=>ik,decodeXenoSvg:()=>fD,decodeXenoVp8:()=>Wu,decodeXenoWebp:()=>my,defaultPeerDirectory:()=>nX,defaultToolRuntimeContext:()=>z,defaultXenoReviewPack:()=>Ez,deflateXenoZlib:()=>hc,deleteSession:()=>Z4,denyMcpServer:()=>Uv,deriveHostedIdempotencyKey:()=>aae,describeXenoAutomationOperation:()=>En,detectLanguage:()=>xx,detectPluginRepositorySignals:()=>Iq,detectRepositoryDocumentKind:()=>BU,detectRepositoryLanguage:()=>RP,detectXenoSpecDrift:()=>wz,deterministicReduce:()=>pR,digestMessages:()=>UT,directProviderConfigFromConnection:()=>Wde,discoverXenoSkills:()=>Sre,dispatchAgentTool:()=>J2,editTool:()=>O1,elfAnalyzeTool:()=>FL,emitXenoTelemetry:()=>Rg,encodeXenoPngRgb:()=>nl,enforceShellCommandPolicy:()=>lb,enforceToolPolicy:()=>_p,ensureConfigDir:()=>uc,ensureDurableMessageIds:()=>Tb,ensureProjectStateDir:()=>mO,estimateFullRequestBudget:()=>FT,evaluateContainmentUiRestrictions:()=>AB,evaluatePermissionProfileNetworkUrl:()=>Nr,evaluateXenoCapabilityEligibility:()=>lM,executeXenoCoordinationAction:()=>Qse,extractJsonObject:()=>Wb,extractPageTitle:()=>QM,extractToolPath:()=>na,findXenoSkill:()=>eP,fingerprintXenoSecureExecutionContract:()=>HV,forgetRecentSession:()=>sI,forgetRecentSessionById:()=>xc,formatBoundedShellOutput:()=>gr,formatCost:()=>Rj,formatDirectShellContext:()=>Ic,formatJsonSchemaErrors:()=>Gg,formatModelList:()=>H4,formatPromptContextBreakdown:()=>wle,gcodeAnalyzeTool:()=>GL,generateImageTool:()=>aN,generateSessionId:()=>bo,getAgentHome:()=>f4,getAgentRunDir:()=>Qre,getAgentRunStoreDir:()=>Yre,getAvailableModels:()=>vg,getBenchmarkComputeBudgetHintForCommand:()=>mh,getBenchmarkForegroundTimeoutForCommand:()=>ph,getBestExecutionSecurityStatus:()=>pS,getChatModels:()=>q4,getConfigDir:()=>go,getDefaultProviderRegistry:()=>Eg,getExecutionSecurityCapabilityReport:()=>f_,getExecutionSecurityStatus:()=>ao,getGlobIgnores:()=>MI,getGrepIgnores:()=>NI,getHighRiskPermissions:()=>gq,getImageGenerationConfig:()=>iN,getJwtExpiry:()=>yg,getLinuxBubblewrapCapability:()=>Ed,getLogLevel:()=>qO,getManagedConfigPath:()=>uO,getMcpAppMetadata:()=>jm,getMcpAppResourceUri:()=>ad,getMcpApprovalDecision:()=>Vj,getMcpAuthorizationServerMetadataUrls:()=>M0,getMcpPromptToolName:()=>z0,getMcpProtectedResourceMetadataUrls:()=>_0,getMcpResourceToolName:()=>G0,getMcpToolName:()=>V0,getModelName:()=>Ps,getMxcContainmentProbe:()=>di,getMxcNativeAssetDescriptor:()=>aS,getMxcWindowsHostPreparationDescriptor:()=>cS,getMxcWindowsHostPreparationHelperArchitecture:()=>lS,getPermissionProfile:()=>ng,getPersistentShellSession:()=>Ph,getPersistentShellSpawnSpec:()=>ZI,getProcessContainmentStatus:()=>g_,getProjectAgentDefinitionDirs:()=>UC,getProjectAgentDefinitionsDir:()=>FC,getProjectLastSessionSummary:()=>T4,getProjectMcpApproval:()=>mg,getProjectStatePath:()=>ug,getReadImagePreviewCapability:()=>iL,getRecentSessionsIndexPath:()=>gi,getSubagentTeamPresetDefinition:()=>k5,getToolRiskLevel:()=>EX,getUserAgentDefinitionsDir:()=>Nx,gitBranchTool:()=>Vy,gitCommitTool:()=>Hy,gitDiffTool:()=>jy,gitLogTool:()=>qy,gitStatusTool:()=>Fy,globTool:()=>F1,grepTool:()=>G1,gzipXeno:()=>yc,hasProjectOnboardingCompleted:()=>S4,hasXenoTelemetrySubscribers:()=>pG,hashContainmentConformanceReport:()=>pre,hashPluginManifest:()=>rx,hashPluginTree:()=>tC,hookResultStatus:()=>zn,hostedEnvironmentIdentity:()=>sae,htmlSanitizerAuditTool:()=>YL,importLegacyXenoSkill:()=>Are,inflateXenoZlib:()=>mu,initializeSessionRuntime:()=>xle,inspectCliAutomationStatus:()=>U3,inspectRuntimeManifests:()=>hle,inspectSecurityPath:()=>ii,inspectSystemPrompt:()=>yle,inspectXenoHostAutomationStatus:()=>U3,inspectXenoRepositoryFreshness:()=>Wie,inspectXenoRepositorySymbol:()=>Gie,installSignalHandlers:()=>UW,invalidateAllObservedFiles:()=>Lh,invokeXenoSkill:()=>eU,isChatModel:()=>jA,isDangerousCommand:()=>uh,isDirectShellMessage:()=>yu,isExpiredJwt:()=>N4,isExplicitResearchPrompt:()=>Dw,isJwt:()=>gg,isLocalModel:()=>mc,isMcpAppResourceUri:()=>F0,isMcpOAuthTokenExpired:()=>Jj,isMcpToolVisibleToApp:()=>zv,isMcpToolVisibleToModel:()=>Vv,isNotBeforeJwt:()=>yO,isPathWithinAllowed:()=>Jt,isPeerTaskTerminal:()=>Ep,isQuotaControlError:()=>vl,isScreenCaptureAvailable:()=>Sj,isSensitiveEnvironmentKey:()=>Wa,isSimpleInformationalPrompt:()=>am,isSpeechRecognitionAvailable:()=>Fj,isSupportedMcpProtocolVersion:()=>Dm,isToolAllowedByXenoSkillActivation:()=>Mre,isUncOrDevicePath:()=>Id,isValidAgentDefinitionName:()=>Dx,isValidModel:()=>F4,isValidSessionId:()=>VA,isWorkspaceTrusted:()=>v4,isXenoAutomationOperation:()=>uf,legacyAgentArtifactToXenoArtifact:()=>$z,listBuiltInAgentProfiles:()=>uV,listPermissionProfiles:()=>nO,listProjectAllowedTools:()=>I4,listProjectMcpApprovals:()=>NA,listSessions:()=>Q4,loadConfig:()=>$A,loadConfiguredMcpServers:()=>Xv,loadMcpConfigFile:()=>Nm,loadProjectConfig:()=>au,loadProjectState:()=>Mn,loadRecentSessionsIndex:()=>vo,loadSession:()=>Y4,loadUserConfig:()=>fO,loadXenoSkill:()=>ZR,lookupRecentSession:()=>gu,lsTool:()=>R$,lspDefinitionTool:()=>A$,lspDiagnosticsTool:()=>S$,lspHoverTool:()=>I$,lspReferencesTool:()=>E$,matchPermissionRule:()=>aB,matchesMcpRegistryEntryPolicy:()=>cq,materializeXenoAutomationEvidence:()=>Cf,mcpInputSchemaToToolSchema:()=>W0,memoryReadTool:()=>M$,memoryWriteTool:()=>O$,mergeConfigs:()=>W4,movesTrustUpward:()=>tX,mxcWarningsRequireWindowsHostPreparation:()=>sS,normalizeDirectShellResultRecord:()=>Ac,normalizeHookDecision:()=>eu,normalizeMcpAppVisibility:()=>sd,normalizePagePath:()=>vA,normalizePermissionProfileName:()=>nu,normalizeQuotaScope:()=>Jn,normalizeRepositoryRelativePath:()=>OM,normalizeSourceText:()=>pv,normalizeSubagentBranchPolicy:()=>Fb,normalizeWorkingDirectory:()=>vc,normalizeXenoHostedControlAcknowledgement:()=>_ae,notebookEditTool:()=>B$,notebookReadTool:()=>X$,openSqliteAutomationExecutionJournal:()=>P8,openSqliteCapabilityLeasePersistence:()=>Jne,pageContentType:()=>Zf,parseContainmentReviewerTrustStore:()=>gB,parseMcpWwwAuthenticate:()=>Um,parsePermissionRule:()=>CR,parseRetryAfter:()=>pb,parseSessionId:()=>Ag,parseShellPathReferences:()=>bT,parseSubagentRemoteMcpPolicy:()=>lne,parseSubagentRoleList:()=>sne,parseUnifiedDiff:()=>tA,parseXenoAnsi:()=>Nl,parseXenoRecipeDefinition:()=>tce,peerShortId:()=>Xo,pending:()=>uo,persistXenoAutomationEvidence:()=>ec,planXenoControlRoomAction:()=>roe,pluginInfoRelevanceCandidate:()=>kq,pluginListingRelevanceCandidate:()=>Tq,pluginSignaturePayload:()=>nC,preflightLocalModel:()=>U4,prepareMxcWindowsHost:()=>d_,probeXenoProvider:()=>zde,projectToolDefinitionsForProvider:()=>Bi,projectToolSchemaForProvider:()=>kT,projectXenoControlRoom:()=>noe,providerCapabilityError:()=>Ui,providerProtocolError:()=>ae,publicKeyFingerprint:()=>OP,publishPlugin:()=>Mq,quotaAncestors:()=>xl,quotaInteger:()=>qe,quotaScopeKey:()=>vn,quotaText:()=>Bn,rankPluginRelevance:()=>Eq,readCliAutomationEnvironment:()=>YS,readImageTool:()=>sL,readManifestFromDisk:()=>as,readPluginDetachedSignature:()=>rC,readPluginSupplyChainLockfile:()=>ix,readSessionFormatVersion:()=>Iv,readTool:()=>P1,readXenoApiKey:()=>Ij,readXenoHostAutomationEnvironment:()=>YS,recordRecentSession:()=>hi,recordXenoCounter:()=>se,recordXenoEvent:()=>mG,recordXenoHistogram:()=>Xe,recoverSessionMessages:()=>Tm,redactXenoShareValue:()=>_P,registerShutdownCleanup:()=>Ro,registry:()=>rb,removeMcpServerConfig:()=>qj,removeProjectAllowedTool:()=>E4,renderAgentDefinition:()=>tV,renderAgentDefinitions:()=>eV,renderAuditReplayMarkdown:()=>CC,renderAuditReplayReport:()=>_C,renderAuditTraceMarkdown:()=>PC,renderAuditTraceReport:()=>RC,renderAuditTraceSummaries:()=>TC,renderCliAutomationStatus:()=>oz,renderCodingBenchmarkMarkdown:()=>tne,renderCodingBenchmarkReport:()=>ene,renderContinuationIncompleteStatus:()=>LW,renderLspDefinitionReport:()=>b$,renderLspDiagnosticsReport:()=>y$,renderLspDoctorReport:()=>x$,renderLspHoverReport:()=>v$,renderLspReferencesReport:()=>w$,renderPeerLabel:()=>ul,renderToolContinuationInput:()=>DW,renderXenoHostAutomationStatus:()=>oz,renderXenoSkillCatalog:()=>Ire,repairInterruptedToolCalls:()=>Jl,repairToolExchangeHistory:()=>HT,requestBackground:()=>H2,requiresSecuredProcessLaunch:()=>Vn,resetAllPersistentShellSessions:()=>N2,resetBashBenchmarkGuards:()=>i2,resetImageGenerationConfig:()=>sN,resetMcpServerApprovals:()=>zj,resetMxcContainmentProbe:()=>dS,resetPersistentShellSession:()=>Ch,resetXenoAnsiPolicy:()=>X5,resetXenoTelemetryCardinalityForTests:()=>hG,resizeXenoRaster:()=>sk,resolveAgentDefinition:()=>JH,resolveAgentProfile:()=>mV,resolveAgentToolPolicy:()=>af,resolveBuiltInAgentProfile:()=>WC,resolveCommandOnPath:()=>Ys,resolveContainmentConformanceTemporaryRoot:()=>SB,resolveDelegatedExecutionMode:()=>lR,resolveExecutionSecurityLevel:()=>Cd,resolveExecutionTrustMode:()=>Sf,resolveInteractiveTurnMaxIterations:()=>OU,resolveLocalRuntimeUrl:()=>Rs,resolveModelContextTokens:()=>Ig,resolvePeerTarget:()=>sT,resolvePermissionProfile:()=>rO,resolveShellInvocation:()=>I2,resolveSubagentRemoteMcpAccess:()=>une,resolveSubagentWorkflowAnswer:()=>wR,resolveXenoAutomationEvidencePolicy:()=>vS,resolveXenoSdkApiKey:()=>D4,restoreXenoHandoffSnapshot:()=>eae,runAgentHook:()=>su,runCommandHook:()=>tu,runContainmentConformanceSuite:()=>ere,runDelegatedXenoTurn:()=>mle,runDelegationPlan:()=>dR,runDurableAutomation:()=>PS,runHookDefinition:()=>ig,runHooks:()=>dg,runHttpHook:()=>ru,runPromptHook:()=>iu,runSubagentWorkflow:()=>vR,runXenoThread:()=>bv,runXenoThreadStreamed:()=>vce,sanitizeEnvironment:()=>ai,sanitizeXenoTelemetryAttributes:()=>EO,saveConfig:()=>P4,saveMcpConfigFile:()=>$v,saveProjectState:()=>pg,saveSession:()=>K4,scaffoldPlugin:()=>Cq,scanAgentDefinitions:()=>Lx,scoreMemories:()=>fte,scorePluginRelevance:()=>oC,searchXenoRepositoryIndex:()=>zie,selectXenoProviderRoute:()=>Gde,serializeXenoRecipe:()=>rce,setLogLevel:()=>jO,setProjectLastSessionSummary:()=>LA,setProjectMcpApproval:()=>fg,setProjectOnboardingCompleted:()=>A4,setWorkspaceTrusted:()=>x4,setupAIHandlers:()=>Aj,sha256ArtifactBytes:()=>ve,sha256ArtifactJson:()=>We,shouldEnableExecutionGovernance:()=>sm,shouldSourceShellProfile:()=>Du,shouldUseIsolatedStdinForCommand:()=>Pu,signSharePayload:()=>zU,sqliteAnalyzeTool:()=>Tk,stripXenoAnsi:()=>AR,subscribeXenoTelemetry:()=>WA,summarizeAuditInputRecord:()=>Dj,summarizeAuditTraces:()=>ef,summarizeRuntimeInput:()=>cb,summarizeSubagentResults:()=>bR,summarizeXenoArtifactReview:()=>Pf,syncMcpToolsToRegistry:()=>uq,synthesizeSkill:()=>Jb,taskInputTool:()=>G$,taskOutputTool:()=>q$,taskStopTool:()=>H$,testPlugin:()=>_q,thinkTool:()=>K2,toAgentDefinitionMetadata:()=>ZH,toLLMProvider:()=>cR,toPeerPosture:()=>MZ,toolEvidenceToXenoArtifact:()=>Bz,toolOperationManager:()=>W,toolRiskLevel:()=>bi,turnDiffSummaryToXenoArtifact:()=>Fz,unifiedDiffToXenoArtifact:()=>nA,unifiedExecManager:()=>Mu,updateProjectState:()=>Dr,upsertMcpServerConfig:()=>jj,validateAgentDefinition:()=>jC,validateCapabilityLeaseRequest:()=>HS,validateCapabilityMutationReceipt:()=>MR,validateDelegationPlan:()=>x5,validateDirectEndpoint:()=>ia,validateExecutionSecurityPolicy:()=>gs,validateJsonSchema:()=>c1,validateManifest:()=>Qv,validateMcpAppResource:()=>j0,validateToolContinuationGoal:()=>Xc,validateXenoArtifact:()=>O_,validateXenoArtifactReviewEvent:()=>Rf,validateXenoControlRoomSnapshot:()=>mU,validateXenoEvidenceGraph:()=>IM,validateXenoRepositoryIndex:()=>ba,validateXenoSdkApiKey:()=>L4,validateXenoSecureExecutionContract:()=>A_,validateXenoSpecDocument:()=>DM,verifyContainmentCertification:()=>tS,verifyContainmentCertificationApproval:()=>Yne,verifyPluginSupplyChain:()=>ox,verifySignature:()=>kR,verifySoulRecord:()=>G5,verifyXenoHostedControlCommand:()=>Cae,verifyXenoHostedEnvironmentManifest:()=>nv,verifyXenoHostedEventChain:()=>iae,verifyXenoHostedExecutionAdapterCertification:()=>wae,verifyXenoHostedExecutionJob:()=>CF,verifyXenoHostedRunResult:()=>Mae,verifyXenoHostedWebhook:()=>hae,verifyXenoSecureShare:()=>Cse,verifyXenoSessionHandoff:()=>Mse,waitForXenoHandoffStatus:()=>$P,webFetchTool:()=>jh,webSearchTool:()=>Uh,windowsDpapiProtect:()=>WR,windowsDpapiUnprotect:()=>JR,withXenoTelemetrySpan:()=>fG,wrapXenoAnsi:()=>q5,writePluginSupplyChainLockfile:()=>sx,writeTool:()=>_1,xenoAnsi:()=>pa,xenoAnsiVisibleWidth:()=>IR,xenoArtifactToDiffDocument:()=>rA,xenoArtifactToLegacyAgentArtifact:()=>Xz,xenoArtifactToOracleReport:()=>$ae,xenoArtifactToReviewReport:()=>Tz,xenoArtifactToSourceResearchReport:()=>Hae,xenoArtifactToSpecDocument:()=>aA,xenoArtifactToSpecExecution:()=>LM,xenoArtifactToToolEvidence:()=>Uz,xenoArtifactToTurnDiffSummary:()=>jz,xenoHostedExecutionAdapterSigningPayload:()=>bae,xenoOracleReportToArtifact:()=>Lae,xenoRecipeFingerprint:()=>JF,xenoReviewReportToArtifact:()=>kz,xenoReviewReportToGitHubComments:()=>Rz,xenoSourceResearchReportToArtifact:()=>qae,xenoSpecArtifactIds:()=>cc,xenoSpecExecutionToArtifact:()=>cA,xenoSpecToArtifactBundle:()=>sA});module.exports=wH(mue);ds();var Rr="0.10.13";var xC=require("node:crypto");ft();St();var ja=class{filePath;sessionId;labels;sequence=0;writeQueue=Promise.resolve();constructor(e){this.filePath=e.filePath,this.sessionId=e.sessionId,this.labels={run_id:e.runId,agent_id:e.agentId,parent_agent_id:e.parentAgentId,workspace:e.workspace,model:e.model,provider:e.provider}}get path(){return this.filePath}async append(e){let n=(0,xC.randomUUID)(),r={id:n,sequence:this.sequence++,timestamp:new Date().toISOString(),session_id:e.session_id??this.sessionId,...this.labels,...e};return this.writeQueue=this.writeQueue.then(async()=>{await Fa(this.filePath,JSON.stringify(r))}),await this.writeQueue,n}async read(e){let n=await we(this.filePath);if(!n)return[];let r=ps(n);return e?.eventType&&(r=r.filter(o=>o.event_type===e.eventType)),e?.traceId&&(r=r.filter(o=>o.trace_id===e.traceId)),e?.limit!==void 0&&(r=r.slice(-Math.max(0,e.limit))),r}async tail(e=20){let n=Math.max(1,Math.min(e,500));return this.read({limit:n})}async exportJson(e){let n=await this.read();return await Ae(e,JSON.stringify(n,null,2)),n.length}async flush(){await this.writeQueue}};function PH(t,e){return e.endedAt.localeCompare(t.endedAt)}function Px(t,e){t.set(e,(t.get(e)??0)+1)}function Mx(t,e){let n=Date.parse(t),r=Date.parse(e);return!Number.isFinite(n)||!Number.isFinite(r)?0:Math.max(0,r-n)}function SC(t){return t.filter(e=>e.tool_name||e.event_type.startsWith("tool_")).length}function AC(t){return t.filter(e=>e.event_type==="permission_decision").length}function IC(t){return t.filter(e=>e.status==="error"||e.event_type.endsWith("_failed")).length}function Cx(t){return t.split(/[_\s-]+/).filter(e=>e.length>0).map(e=>e[0].toUpperCase()+e.slice(1)).join(" ")}function _x(t){if(!t)return;let e=Object.entries(t).filter(([,n])=>typeof n=="string"||typeof n=="number"||typeof n=="boolean").slice(0,3).map(([n,r])=>`${n}=${String(r)}`);return e.length>0?e.join(" | "):void 0}function CH(t){let e=[];for(let n=1;n<t.length;n+=1){let r=t[n-1],o=t[n],i=Date.parse(r.timestamp),s=Date.parse(o.timestamp),a=Number.isFinite(i)&&Number.isFinite(s)?Math.max(0,s-i):0;e.push({fromSequence:r.sequence,toSequence:o.sequence,fromEventType:r.event_type,toEventType:o.event_type,gapMs:a})}return e.sort((n,r)=>r.gapMs-n.gapMs).slice(0,5)}function _H(t){let e=Cx(t.event_type),n=t.reason;if(t.event_type==="permission_decision")e=`${t.decision==="deny"?"Denied":"Approved"} ${t.tool_name??"tool"} permission`,n=t.reason;else if(t.tool_name&&t.event_type.startsWith("tool_"))e=`${Cx(t.event_type)}: ${t.tool_name}`;else if(t.event_type==="delegation_completed"){let r=typeof t.metadata?.selected_from=="object"&&t.metadata?.selected_from?String(t.metadata.selected_from.role??"unknown"):void 0;e=r?`Delegation completed via ${r}`:"Delegation completed",n=_x(t.metadata)}else t.event_type==="delegation_started"?(e="Delegation started",n=_x(t.metadata)):t.tool_name?e=`${Cx(t.event_type)}: ${t.tool_name}`:n||(n=_x(t.metadata));return{sequence:t.sequence,timestamp:t.timestamp,title:e,...n?{detail:n}:{},actor:t.actor,riskLevel:t.risk_level,...t.status?{status:t.status}:{}}}function ef(t){let e=new Map;for(let r of t){let o=r.trace_id?.trim();if(!o)continue;let i=e.get(o);i?i.push(r):e.set(o,[r])}let n=[];for(let[r,o]of e.entries()){let i=[...o].sort((c,l)=>c.sequence-l.sequence),s=i[0]?.timestamp??"",a=i[i.length-1]?.timestamp??s;n.push({traceId:r,eventCount:i.length,startedAt:s,endedAt:a,durationMs:Mx(s,a),toolEvents:SC(i),permissionEvents:AC(i),errorEvents:IC(i),lastEventType:i[i.length-1]?.event_type??"unknown"})}return n.sort(PH)}function EC(t,e){let n=ef(t),r=e??n[0]?.traceId;if(!r)return null;let o=t.filter(u=>u.trace_id===r).sort((u,p)=>u.sequence-p.sequence);if(o.length===0)return null;let i=new Map,s=new Map,a=new Map,c=new Map;for(let u of o){if(Px(i,u.event_type),Px(a,u.actor),Px(c,u.risk_level),!u.tool_name)continue;let p=s.get(u.tool_name)??{toolName:u.tool_name,count:0,ok:0,error:0,denied:0};p.count+=1,u.status==="error"?p.error+=1:p.ok+=1,u.decision==="deny"&&(p.denied+=1),s.set(u.tool_name,p)}let l=o[0]?.timestamp??"",d=o[o.length-1]?.timestamp??l;return{traceId:r,eventCount:o.length,startedAt:l,endedAt:d,durationMs:Mx(l,d),toolEvents:SC(o),permissionEvents:AC(o),deniedPermissions:o.filter(u=>u.event_type==="permission_decision"&&u.decision==="deny").length,errorEvents:IC(o),eventTypes:Object.fromEntries([...i.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),actorSummary:Object.fromEntries([...a.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),riskSummary:Object.fromEntries([...c.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),toolSummary:[...s.values()].sort((u,p)=>u.toolName.localeCompare(p.toolName)),topLatencyGaps:CH(o),timeline:o.map(u=>({sequence:u.sequence,timestamp:u.timestamp,eventType:u.event_type,actor:u.actor,riskLevel:u.risk_level,...u.tool_name?{toolName:u.tool_name}:{},...u.decision?{decision:u.decision}:{},...u.status?{status:u.status}:{},...u.reason?{reason:u.reason}:{}}))}}function kC(t,e){let n=ef(t),r=e??n[0]?.traceId;if(!r)return null;let o=t.filter(a=>a.trace_id===r).sort((a,c)=>a.sequence-c.sequence);if(o.length===0)return null;let i=o[0]?.timestamp??"",s=o[o.length-1]?.timestamp??i;return{traceId:r,startedAt:i,endedAt:s,durationMs:Mx(i,s),steps:o.map(_H)}}function TC(t){if(t.length===0)return"No audit traces recorded.";let e=["Audit traces",""];for(let n of t)e.push(`${n.traceId} | ${n.eventCount} events | ${n.toolEvents} tool | ${n.permissionEvents} perms | ${n.errorEvents} errors | ${Math.round(n.durationMs/1e3)}s`);return e.join(`
2460
+ `));let h=t.systemPrompt??sR({cwd:e,model:n,date:t.date??new Date().toISOString().split("T")[0],identity:u,memory:g||void 0,sessionId:t.sessionId,executionMode:r}),y=t.dispatchAgent??(async w=>{let{createDelegatedXenoAgent:S}=await Promise.resolve().then(()=>(yv(),KF)),{agent:x}=await S({cwd:e,apiKey:o,baseURL:i,model:n,...t.fallbackModels?{fallbackModels:t.fallbackModels}:{},...t.effort?{effort:t.effort}:{},maxTokens:Math.max(512,Math.min(t.maxTokens??n0,4096)),maxIterations:Math.max(3,Math.min(t.maxIterations??r0,12)),parentSystemPrompt:h,parentExecutionMode:r,subagentRole:"explorer",permissionEngine:d,...t.sandbox?{sandbox:t.sandbox}:{},...t.onPermissionRequest?{onPermissionRequest:t.onPermissionRequest}:{}}),A=()=>{x.cancelCurrentTurn()};if(w.signal?.aborted)throw A(),new Error("dispatch_agent was aborted before the helper started");w.signal?.addEventListener("abort",A,{once:!0});try{return{output:await x.run(w.prompt)}}finally{w.signal?.removeEventListener("abort",A)}});if(t.validateToolInputs===!1)throw new Error("Agent tool input validation cannot be disabled.");let b=t.toolRegistry??Xn({cwd:e,askUser:t.askUser,dispatchAgent:y,...t.webSearchApiKey?{webSearchApiKey:t.webSearchApiKey}:{},...t.permissionConfig?.profile?{permissionProfile:t.permissionConfig.profile}:{},...t.ownerSessionId?{ownerSessionId:t.ownerSessionId}:{},...t.getOwnerSessionId?{getOwnerSessionId:t.getOwnerSessionId}:{},...t.sandbox?{sandbox:t.sandbox}:{},...f?{memoryManager:f}:{},validateInputs:!0});return t.toolRegistry&&t.validateToolInputs===!0&&b.setValidateInputs(!0),{agent:new ji({apiKey:o,baseURL:i,ollamaBaseURL:s,localRuntimeProtocol:t.localRuntimeProtocol,localTransportLimits:t.localTransportLimits,...(t.apiRequestTimeoutMs??l)!==void 0?{apiRequestTimeoutMs:t.apiRequestTimeoutMs??l}:{},model:n,...t.fallbackModels?{fallbackModels:t.fallbackModels}:{},...t.effort?{effort:t.effort}:{},maxTokens:t.maxTokens??n0,maxIterations:t.maxIterations??r0,maxContextTokens:t.maxContextTokens,maxContextMessages:t.maxContextMessages,compressionKeepRecentMessages:t.compressionKeepRecentMessages,contextCompressionLlm:t.contextCompressionLlm,tokenEstimator:t.tokenEstimator,tokenAccountingAdapter:t.tokenAccountingAdapter,queryIdleTimeoutMs:t.queryIdleTimeoutMs,queryLeaseTimeoutMs:t.queryLeaseTimeoutMs,queryHardTimeoutMs:t.queryHardTimeoutMs,...t.reserveFinalSynthesisTurn!==void 0?{reserveFinalSynthesisTurn:t.reserveFinalSynthesisTurn}:{},systemPrompt:h,requesterLabel:t.requesterLabel,ownerSessionId:t.ownerSessionId,getOwnerSessionId:t.getOwnerSessionId,executionMode:r,permissionEngine:d,toolRegistry:b,sandbox:t.sandbox,onPermissionRequest:t.onPermissionRequest,onText:t.onText,onToolStart:t.onToolStart,onToolWillExecute:t.onToolWillExecute,onToolEnd:t.onToolEnd,onIteration:t.onIteration,modelWorkAccounting:t.modelWorkAccounting,runAuthority:t.runAuthority,onError:t.onError,onTranscriptError:t.onTranscriptError,onRuntimeEvent:t.onRuntimeEvent,runtimeEventBus:t.runtimeEventBus,turnDiffTracker:t.turnDiffTracker,onTurnDiff:t.onTurnDiff,onModeSwitchRequest:t.onModeSwitchRequest,onExecutionModeChanged:t.onExecutionModeChanged,completionGuard:t.completionGuard,maxCompletionGuardReminders:t.maxCompletionGuardReminders,progressGuardEveryIterations:t.progressGuardEveryIterations,...t.toolMiddleware?{toolMiddleware:t.toolMiddleware}:{},...t.promptSections?{promptSections:t.promptSections}:{},...t.promptSectionsTokenBudget!==void 0?{promptSectionsTokenBudget:t.promptSectionsTokenBudget}:{},...t.completionGuards?{completionGuards:t.completionGuards}:{},...t.provider?{provider:t.provider}:{},...t.session}),systemPrompt:h,permissionEngine:d,toolRegistry:b,...u?{identity:u}:{},...p?{memory:{resolved:p,...m?{projectSessionContext:m}:{},prompt:g}}:{}}}var YF,n0,r0,zl=T(()=>{"use strict";YF=require("node:process");fi();ho();Ob();aR();qb();xu();lw();$i();n0=8192,r0=50});var mue={};gC(mue,{AGENT_DAEMON_PROTOCOL_VERSION:()=>Fl,AGENT_EFFORT_LEVELS:()=>kx,AGENT_PERMISSION_MODES:()=>Tx,AGENT_PROFILE_EXTERNAL_ACTIONS:()=>Sd,ARCHITECT_CAPABILITIES:()=>$q,ARCHITECT_TOOL_NAMES:()=>Lq,AgentDaemonClient:()=>aP,AgentDaemonServer:()=>sP,AgentDebugger:()=>Ax,AgentDefinitionLoader:()=>sf,AgentDefinitionResolver:()=>Ox,AgentEvaluator:()=>Ix,AgentEventStore:()=>em,AgentHookRunner:()=>og,AgentInterruptedError:()=>Kn,AgentLoop:()=>ji,AgentProfileValidationError:()=>ro,AgentProtocol:()=>Ov,AgentRegistry:()=>Mv,AgentRunController:()=>iP,AgentRunError:()=>Mb,AgentRunStore:()=>tm,AppAgentFactory:()=>Wm,AppContextInjector:()=>_a,AppContextManager:()=>os,AppServerProtocolError:()=>B,AppServerRemoteError:()=>Lt,AuditLogger:()=>ja,AutoCheckpointHandler:()=>Nb,AutoMemory:()=>gI,AutoPermissionClassifier:()=>Zb,BUILT_IN_XENO_PROVIDER_PRESETS:()=>oH,BackgroundProcessManager:()=>Ou,COMPAT_TOOL_ALIASES:()=>mI,CONFIG_VERSION:()=>PA,CheckpointManager:()=>wn,CliGovernedAutomationRuntime:()=>Ff,CodeValidator:()=>Sx,CommandHookRunner:()=>cg,CompletionGuardRegistry:()=>_l,ContainmentApprovalError:()=>he,ContainmentCertificationError:()=>ge,ContextManager:()=>jp,ConversationStore:()=>Lv,CrossAppRouter:()=>_v,CrossAppRouterError:()=>Ra,DEFAULT_API_KEY:()=>cr,DEFAULT_IMAGE_MODEL:()=>Fh,DEFAULT_MEMORY_BUDGETS:()=>ZA,DEFAULT_MODEL:()=>Ts,DEFAULT_PROMPT_SECTIONS_TOKEN_BUDGET:()=>Hp,DEFAULT_PROTECTED_STATE_KEY_NAME:()=>DB,DEFAULT_PROTECTED_STATE_SERVICE:()=>NB,DEFAULT_SUBAGENT_BRANCH_POLICY:()=>$b,DEFAULT_SUBAGENT_REMOTE_MCP_BY_ROLE:()=>Bb,DEFAULT_SUBAGENT_ROLES:()=>Ol,DEFAULT_SUBAGENT_ROLE_PRECEDENCE:()=>Xb,DEFAULT_SUBAGENT_TEAM_PRESET:()=>la,DIRECT_SHELL_CONTEXT_WARNING:()=>$g,DOCS_CAPABILITIES:()=>Vq,DOCS_TOOL_NAMES:()=>Hq,DualLLMProvider:()=>Zl,DurableXenoCapabilityLeaseRegistry:()=>_R,DurableXenoCoordinationStore:()=>mm,ENGINE_CAPABILITIES:()=>Fq,ENGINE_TOOL_NAMES:()=>Uq,ElectronAgentBridge:()=>Cv,EpisodicStore:()=>Dl,ExecutionGovernance:()=>ql,ExecutionSecurityError:()=>nr,FALLBACK_MODELS:()=>wO,FileQuotaAuthority:()=>pC,FileXenoArtifactRepository:()=>Vd,FileXenoProviderConnectionStore:()=>lC,FileXenoShareRegistry:()=>NP,HIGH_RISK_PERMISSIONS:()=>eC,HookRunner:()=>sg,HookRuntime:()=>ag,HttpHookRunner:()=>lg,IDENTITY_PATHS:()=>Fo,IdentityLoader:()=>da,IdentityResolver:()=>ua,InMemoryXenoArtifactRepository:()=>Za,InMemoryXenoCapabilityLeaseRegistry:()=>Mr,InMemoryXenoTelemetryCollector:()=>GA,InteractiveChatTurnGovernance:()=>Nw,InteractiveTurnGovernance:()=>ya,JsonSchemaCompilationError:()=>Os,LlmClient:()=>Sl,LocalLLMProvider:()=>Ma,LogLevel:()=>cI,MANIFEST_FILENAME:()=>Hm,MAX_CONTAINMENT_APPROVAL_AGE_MS:()=>mB,MAX_CONTAINMENT_CERTIFICATION_BYTES:()=>Qx,MAX_CONTAINMENT_CERTIFICATION_LIFETIME_MS:()=>i_,MAX_DIRECT_SHELL_OUTPUT_CHARS:()=>lI,MCPHttpTransportError:()=>Qe,MCPManager:()=>Jv,MCPOAuthClient:()=>Hv,MCPServer:()=>Kv,MCP_APPS_EXTENSION_ID:()=>Pa,MCP_APP_MIME_TYPE:()=>Fm,MCP_APP_RESOURCE_SCHEME:()=>tq,MCP_PROTOCOL_VERSION:()=>Qr,MCP_SUPPORTED_PROTOCOL_VERSIONS:()=>Fv,MEMORY_FILES:()=>eI,MOTION_CAPABILITIES:()=>tH,MOTION_SYSTEM_PROMPT:()=>x0,MOTION_TOOL_NAMES:()=>eH,MemoryManager:()=>So,MessageFlow:()=>El,ModelProviderRegistry:()=>du,MonitorManager:()=>uP,MonitorStopTool:()=>mP,MonitorTool:()=>pP,NOTES_CAPABILITIES:()=>Yq,NOTES_TOOL_NAMES:()=>Kq,OtelExporter:()=>gP,PEER_MESSAGE_DEFAULT_TTL_MS:()=>Z$,PEER_PRESENCE_TTL_MS:()=>Q$,PEER_SCHEMA_VERSION:()=>Vr,PEER_TASK_TERMINAL_STATUSES:()=>eX,PIXEL_CAPABILITIES:()=>Zq,PIXEL_SYSTEM_PROMPT:()=>v0,PIXEL_TOOL_NAMES:()=>Qq,PROCESS_TREE_ADAPTERS:()=>vH,PROJECT_STATE_VERSION:()=>cO,PeerMessagingStore:()=>Li,PermissionEngine:()=>un,PluginEventBus:()=>ud,PluginHost:()=>md,PluginManager:()=>Sq,PluginMarketplace:()=>ax,PluginSandbox:()=>ld,PluginSettingsManager:()=>ex,PluginToolBuilder:()=>Zv,ProfileManager:()=>HA,PromptHookRunner:()=>rg,PromptSectionRegistry:()=>Cl,ProtectedFileWriteError:()=>Fn,ProviderError:()=>ue,QueryLifecycle:()=>kl,QuotaAcknowledgementError:()=>wb,QuotaError:()=>te,REQUIRED_CONTAINMENT_CONFORMANCE_CHECKS:()=>Td,RunAuthorityRefusedError:()=>wr,SDK_DEFAULT_MAX_ITERATIONS:()=>r0,SDK_DEFAULT_MAX_TOKENS:()=>n0,SDK_VERSION:()=>Rr,SESSION_FORMAT_VERSION:()=>wd,SHEETS_CAPABILITIES:()=>Gq,SHEETS_TOOL_NAMES:()=>zq,SLIDES_CAPABILITIES:()=>Jq,SLIDES_TOOL_NAMES:()=>Wq,SOUND_CAPABILITIES:()=>rH,SOUND_SYSTEM_PROMPT:()=>S0,SOUND_TOOL_NAMES:()=>nH,SSETransport:()=>ss,SUBAGENT_ROLE_ALIASES:()=>A5,SUBAGENT_TEAM_PRESETS:()=>I5,ScreenCapture:()=>Rv,SessionLock:()=>Ko,SessionLockManager:()=>Ko,SessionManager:()=>rs,SessionRegistry:()=>cn,SkillStore:()=>Ll,SoulEngine:()=>Kb,SqliteAutomationExecutionJournal:()=>Df,SqliteCapabilityLeasePersistence:()=>ew,StdioTransport:()=>id,StreamableHTTPTransport:()=>od,THREE_D_CAPABILITIES:()=>Bq,THREE_D_TOOL_NAMES:()=>Xq,TOOL_OPERATION_SCHEMA_VERSION:()=>Cu,TaskListManager:()=>ea,ToolFailureLoopGuard:()=>Rl,ToolMiddlewareRegistry:()=>Pl,ToolOperationManager:()=>bh,ToolOrchestrator:()=>Mp,ToolRegistry:()=>ta,ToolSchemaProjectionError:()=>Ct,TranscriptWriter:()=>On,TurnDiffTracker:()=>AT,TurnRestoreManager:()=>Ta,UNBOUNDED_OPERATION_CONTINUATION_LIMIT:()=>_u,UnifiedExecError:()=>fr,UnifiedExecManager:()=>wh,UsageAccumulator:()=>xw,UsageLedger:()=>fP,VectorMemoryStore:()=>wi,WEB_CONTEXT_CONTRACT_VERSION:()=>gE,WEB_CONTEXT_TOOL_RESULT_SCHEMA:()=>qh,WORKFLOW_CAPABILITIES:()=>qq,WORKFLOW_TOOL_NAMES:()=>jq,WorkflowPlanner:()=>jl,WorkflowRuntime:()=>dP,WorkflowStore:()=>vw,WorkspaceIndex:()=>Pv,XENO_AGENT_PROFILE_SCHEMA_VERSION:()=>df,XENO_API_BASE:()=>Lr,XENO_APP_PROTOCOL_V2_METHODS:()=>o0,XENO_APP_PROTOCOL_VERSIONS:()=>wv,XENO_ARTIFACT_ACTOR_KINDS:()=>IS,XENO_ARTIFACT_FILE_REPOSITORY_SCHEMA_VERSION:()=>jS,XENO_ARTIFACT_SCHEMA_VERSION:()=>xe,XENO_ARTIFACT_SENSITIVITIES:()=>AS,XENO_ARTIFACT_STATES:()=>SS,XENO_AUTOMATION_OPERATIONS:()=>za,XENO_AUTOMATION_PROTOCOL_VERSION:()=>oo,XENO_BROWSER_CONTROL_PLANE_OPERATIONS:()=>Hd,XENO_BUILTIN_ARTIFACT_KINDS:()=>xS,XENO_CAPABILITY_LEASE_SCHEMA_VERSION:()=>qS,XENO_CONTAINMENT_APPROVAL_SCHEMA:()=>tw,XENO_CONTAINMENT_CERTIFICATION_SCHEMA:()=>mf,XENO_CONTAINMENT_CONFORMANCE_SCHEMA:()=>xB,XENO_CONTAINMENT_REVIEWER_TRUST_STORE_SCHEMA:()=>nw,XENO_CONTROL_ROOM_SCHEMA_VERSION:()=>Aw,XENO_COORDINATION_BUDGET_SESSION_SCHEMA_VERSION:()=>um,XENO_COORDINATION_MANAGED_SESSION_SCHEMA_VERSION:()=>Jw,XENO_COORDINATION_SCHEMA_VERSION:()=>zo,XENO_COORDINATION_TURN_SESSION_SCHEMA_VERSION:()=>pm,XENO_DEFLATE_CODEC_NAME:()=>RO,XENO_DEFLATE_CODEC_VERSION:()=>PO,XENO_EVIDENCE_EDGE_TYPES:()=>Ld,XENO_EVIDENCE_GRAPH_SCHEMA_VERSION:()=>Nd,XENO_EVIDENCE_NODE_TYPES:()=>Dd,XENO_GIF_ANIMATION_POLICY:()=>wN,XENO_GIF_CODEC_NAME:()=>yN,XENO_GIF_CODEC_VERSION:()=>bN,XENO_HANDOFF_SCHEMA_VERSION:()=>Vw,XENO_HOSTED_CONTROL_SCHEMA_VERSION:()=>VP,XENO_HOSTED_ENVIRONMENT_SCHEMA_VERSION:()=>gm,XENO_HOSTED_EVENT_SCHEMA_VERSION:()=>ev,XENO_HOSTED_EXECUTION_ADAPTER_CERTIFICATION_SCHEMA:()=>ym,XENO_HOSTED_EXECUTION_ADAPTER_MAX_CERTIFICATE_LIFETIME_MS:()=>AF,XENO_HOSTED_EXECUTION_ADAPTER_PROTOCOL_VERSION:()=>UP,XENO_HOSTED_EXECUTION_PROTOCOL_VERSION:()=>TF,XENO_HOSTED_EXECUTION_TOOL_NAMES:()=>RF,XENO_HOSTED_RESULT_SCHEMA_VERSION:()=>zP,XENO_HOSTED_RUN_SCHEMA_VERSION:()=>tae,XENO_HOSTED_TRIGGER_SCHEMA_VERSION:()=>nae,XENO_JPEG_CODEC_NAME:()=>RN,XENO_JPEG_CODEC_VERSION:()=>PN,XENO_MXC_ADAPTER_NAME:()=>bf,XENO_MXC_POLICY_VERSION:()=>iS,XENO_MXC_VERSION:()=>ci,XENO_ORACLE_REPORT_SCHEMA_VERSION:()=>QP,XENO_PAGE_ENTRY:()=>ar,XENO_PAGE_MAX_BYTES:()=>YM,XENO_PAGE_MAX_FILES:()=>wA,XENO_PLUGIN_LOCK_FILENAME:()=>Vm,XENO_PLUGIN_LOCK_SCHEMA_VERSION:()=>pd,XENO_PLUGIN_SIGNATURE_FILENAME:()=>Ca,XENO_PLUGIN_SIGNATURE_SCHEMA_VERSION:()=>nx,XENO_PROVIDER_CATALOG_SCHEMA_VERSION:()=>sC,XENO_PROVIDER_CONNECTION_STORE_SCHEMA_VERSION:()=>bx,XENO_RASTER_CODEC_NAME:()=>Ci,XENO_RASTER_CODEC_VERSION:()=>hy,XENO_RASTER_PREVIEW_FORMATS:()=>rk,XENO_RECIPE_SCHEMA_VERSION:()=>WF,XENO_REPOSITORY_INDEX_SCHEMA_VERSION:()=>$w,XENO_REVIEW_DIMENSIONS:()=>UM,XENO_REVIEW_EVIDENCE_KINDS:()=>FM,XENO_REVIEW_REPORT_SCHEMA_VERSION:()=>uA,XENO_RT_DEFAULT_URL:()=>wg,XENO_SECURE_EXECUTION_CONTRACT_SCHEMA_VERSION:()=>fS,XENO_SHARE_REGISTRY_SCHEMA_VERSION:()=>dm,XENO_SHARE_SCHEMA_VERSION:()=>Hw,XENO_SKILL_SCHEMA_VERSION:()=>ha,XENO_SOURCE_RESEARCH_SCHEMA_VERSION:()=>t0,XENO_SPEC_EXECUTION_SCHEMA_VERSION:()=>Kd,XENO_SPEC_SCHEMA_VERSION:()=>lc,XENO_SVG_RENDERER_NAME:()=>ZN,XENO_SVG_RENDERER_VERSION:()=>eD,XENO_TELEMETRY_SCHEMA_VERSION:()=>IO,XENO_VP8_CODEC_NAME:()=>ID,XENO_VP8_CODEC_VERSION:()=>ED,XENO_WEBP_ANIMATION_POLICY:()=>OD,XENO_WEBP_CODEC_NAME:()=>_D,XENO_WEBP_CODEC_VERSION:()=>MD,XenoAppServer:()=>Sv,XenoAppServerV2Client:()=>u0,XenoArtifactRepositoryError:()=>V,XenoArtifactReviewService:()=>ac,XenoArtifactStateTransitionError:()=>Tf,XenoArtifactValidationError:()=>ws,XenoAuthError:()=>pc,XenoAutomationError:()=>$,XenoBrowserControlPlaneAdapter:()=>oc,XenoCapabilityLeaseError:()=>Ce,XenoControlRoomValidationError:()=>Ve,XenoCoordinationError:()=>C,XenoDiffParseError:()=>jt,XenoEvidenceGraphBuilder:()=>ZS,XenoEvidenceGraphValidationError:()=>Hf,XenoExecutionLeaseSession:()=>LP,XenoGovernedAutomationExecutor:()=>qd,XenoHostGovernedAutomationRuntime:()=>Ff,XenoLoopbackAutomationAdapter:()=>NS,XenoMultiAgentReviewCoordinator:()=>dA,XenoOracleCoordinator:()=>JP,XenoOracleValidationError:()=>Hn,XenoPageStore:()=>xA,XenoProviderCatalog:()=>gd,XenoRecipeValidationError:()=>Dt,XenoRepositoryIndexFileStore:()=>PP,XenoReviewValidationError:()=>It,XenoRuntimeEventBus:()=>Xi,XenoSecureExecutionContractError:()=>at,XenoSourceResearchValidationError:()=>Yi,XenoSpecLifecycleService:()=>iA,XenoSpecValidationError:()=>At,XenoTraceGraphRecorder:()=>fl,acquireControlPlaneLock:()=>Pn,activateSessionRuntime:()=>Sle,addProjectAllowedDirectory:()=>MA,addProjectAllowedTool:()=>_A,agentDefinitionFromProfile:()=>pV,agentProfileFromDefinition:()=>JC,appendBoundedShellOutput:()=>Th,appendGuidanceToResult:()=>YT,approveMcpServer:()=>Bv,areSignalHandlersInstalled:()=>FW,artifactCompareTool:()=>l$,askUserTool:()=>Y2,assertDirectEndpointResolution:()=>gb,assertPersistedXenoCapabilityLease:()=>or,assertRequiredXenoAutomationEvidence:()=>jd,assertSupportedMcpProtocolVersion:()=>jv,assertUsableXenoApiKey:()=>UA,assertValidMcpAppResource:()=>Gv,assertValidXenoArtifact:()=>ct,assertValidXenoAutomationAdapterManifest:()=>Od,assertValidXenoAutomationRequest:()=>bS,assertValidXenoEvidenceGraph:()=>sc,assertValidXenoHostedExecutionJob:()=>Sae,assertValidXenoOracleReport:()=>uv,assertValidXenoRecipeDefinition:()=>Am,assertValidXenoReviewPack:()=>pA,assertValidXenoReviewReport:()=>Qd,assertValidXenoReviewTarget:()=>mA,assertValidXenoSecureExecutionContract:()=>Af,assertValidXenoSourceResearchReport:()=>fv,assertValidXenoSpecDocument:()=>Kf,assertValidXenoSpecExecution:()=>lA,assertXenoArtifactStateTransition:()=>Ud,assertXenoAutomationAdapterConformant:()=>C8,assertXenoAutomationAuthority:()=>kf,auditRiskLevelForTool:()=>Nj,authorizeShellExecution:()=>hh,backgroundProcessManager:()=>de,bashTool:()=>V2,benchmarkCodingTools:()=>Zte,bridgeXenoTelemetryToOpenTelemetry:()=>gG,buildAtomicMessageGroups:()=>jT,buildAuditReplayReport:()=>kC,buildAuditTraceReport:()=>EC,buildContainedProcessSpec:()=>b_,buildContractLedgerGuidance:()=>Pw,buildDefaultSubagentTasks:()=>yne,buildDelegatedRoleSystemPrompt:()=>yR,buildHookEnvironment:()=>EA,buildLinuxBubblewrapProcessSpec:()=>pf,buildLspDefinitionReport:()=>Hk,buildLspDiagnosticsReport:()=>qk,buildLspDoctorReport:()=>f$,buildLspHoverReport:()=>zk,buildLspReferencesReport:()=>Vk,buildMotionSystemPrompt:()=>Yl,buildPixelSystemPrompt:()=>Kl,buildProcessHardenedProcessSpec:()=>y_,buildProjectBudgetFinalizationGuidance:()=>vU,buildProjectExecutionGuidance:()=>Mw,buildProjectExecutionProfile:()=>_w,buildPromptMemoryContext:()=>vle,buildSecuredProcessSpec:()=>Ja,buildSoundSystemPrompt:()=>Ql,buildSystemPrompt:()=>sR,buildToolFailureGuardResult:()=>_b,buildXenoArtifactReviewAnchor:()=>oA,buildXenoAutomationCapabilityUse:()=>wS,buildXenoRepositoryIndex:()=>XU,buildXenoRepositoryIndexWithEmbeddings:()=>Vie,buildXenoSecureExecutionContract:()=>gS,cachedModelContextWindow:()=>FA,calculateCost:()=>Nv,canTransitionXenoArtifactState:()=>N_,canXenoRasterPreview:()=>yy,canonicalPayload:()=>$l,canonicalizeArtifactJson:()=>Z,canonicalizeMcpResourceUri:()=>rd,canonicalizeSecurityPath:()=>Tn,canonicalizeToolName:()=>J,captureXenoHandoffSnapshot:()=>Zse,checkSandbox:()=>SX,classifyProviderHttpError:()=>mb,cleanupReadImagePreviews:()=>gk,cleanupSessionRuntime:()=>Ile,clearMcpServerApproval:()=>Hj,clearProjectAllowedTools:()=>k4,clearProjectLastSessionSummary:()=>R4,clearProjectMcpApproval:()=>OA,clearProjectMcpApprovals:()=>DA,clipXenoAnsi:()=>j5,coerceSubagentRole:()=>Ub,coerceSubagentTeamPreset:()=>E5,compileAgentProfile:()=>zC,compileJsonSchema:()=>zg,compileToolInputSchema:()=>Pc,compileXenoRecipe:()=>nce,compileXenoSkillActivation:()=>_re,configureImageGeneration:()=>oN,configureSearch:()=>Xh,configureSearchPermissionProfile:()=>Bh,configureXenoAnsi:()=>$5,containmentApprovalSigningPayload:()=>fB,containmentCertificationSigningPayload:()=>s_,copyTextToClipboard:()=>Cj,create3DTools:()=>dx,createAgentDefinitionFile:()=>nV,createAgentDefinitionPromptSection:()=>QH,createAgentRunId:()=>cU,createAppServerExecutionLeaseStore:()=>Cce,createAppServerV2HttpTransport:()=>Pce,createArchitectTools:()=>lx,createArtifactCompareTool:()=>ip,createAskUserTool:()=>Bu,createAudioTools:()=>Tv,createAuditBackedPermissionEngine:()=>ble,createBashTool:()=>Lu,createBenchBashMiddleware:()=>Lw,createCliAutomationAuditSink:()=>B3,createCliGovernedAutomationRuntime:()=>X3,createCommandBackedProtectedStateStore:()=>$B,createDefaultToolRegistry:()=>Xn,createDelegatedXenoAgent:()=>hv,createDirectProvider:()=>Fp,createDirectShellMessage:()=>hu,createDispatchAgentTool:()=>$u,createDocsTools:()=>mx,createEd25519Signer:()=>z5,createEditTool:()=>ku,createElfAnalyzeTool:()=>tp,createEngineTools:()=>ux,createGcodeAnalyzeTool:()=>np,createGenerateImageTool:()=>Fu,createGlobTool:()=>Tu,createGovernanceExtensions:()=>Xie,createGrepTool:()=>Ru,createHtmlSanitizerAuditTool:()=>rp,createImageTools:()=>Ev,createListAgentsTool:()=>eb,createListSessionsTool:()=>tb,createLsTool:()=>pp,createLspDefinitionTool:()=>cp,createLspDiagnosticsTool:()=>up,createLspHoverTool:()=>dp,createLspReferencesTool:()=>lp,createMcpAppCapabilities:()=>U0,createMcpAppExtensionCapabilities:()=>nq,createMcpPkcePair:()=>O0,createMcpPromptRegisteredTool:()=>K0,createMcpRegisteredTool:()=>J0,createMcpResourceRegisteredTool:()=>Y0,createMemoryProtectedStateStore:()=>hre,createMemoryReadTool:()=>mp,createMemoryWriteTool:()=>fp,createNotebookEditTool:()=>hp,createNotebookReadTool:()=>gp,createNotesTools:()=>hx,createOllamaNativeProvider:()=>Eb,createOsProtectedStateStore:()=>XB,createProtectedStateEnvelopeCipher:()=>yre,createQuotaGovernedProvider:()=>Qee,createReadImageTool:()=>Qu,createReadTool:()=>Iu,createReceiveTool:()=>Zy,createSendTool:()=>Qy,createSheetsTools:()=>fx,createSlidesTools:()=>gx,createSpeechRecognizer:()=>Uj,createSqliteAnalyzeTool:()=>sl,createTaskInputTool:()=>wp,createTaskListTools:()=>zy,createTaskOutputTool:()=>yp,createTaskStopTool:()=>bp,createThinkTool:()=>Xu,createToolAlias:()=>ur,createToolRuntimeContext:()=>Au,createUnavailableProtectedStateStore:()=>Bl,createVideoTools:()=>kv,createWebContextFetchTool:()=>Vh,createWebContextRequestFactory:()=>pN,createWebContextSearchTool:()=>Hh,createWebSearchTool:()=>nN,createWindowsDpapiProtectedCipher:()=>gre,createWindowsDpapiProtectedFileStore:()=>LB,createWorkflowTools:()=>px,createWriteTool:()=>Eu,createXenoAgent:()=>Jr,createXenoAutomationConformanceReport:()=>G_,createXenoGovernedAutomationTools:()=>zS,createXenoHostAutomationAuditSink:()=>B3,createXenoHostGovernedAutomationRuntime:()=>X3,createXenoHostedControlCommand:()=>OF,createXenoHostedEnvironmentManifest:()=>rae,createXenoHostedEvent:()=>oae,createXenoHostedExecutionBoundaryReceipt:()=>PF,createXenoHostedRunResult:()=>NF,createXenoRasterPreview:()=>by,createXenoSecureShare:()=>Pse,createXenoSessionHandoff:()=>_se,createXenoShareSigningIdentity:()=>Rse,createXenoSkillTool:()=>Cre,createXenoSourceResearchExcerpt:()=>jae,createXenoSourceResearchReport:()=>Fae,currentExecutionAdapterStatus:()=>VV,decodeJwtPayload:()=>hg,decodeXenoBmp:()=>wy,decodeXenoGif:()=>zh,decodeXenoGifAnimation:()=>xN,decodeXenoJpeg:()=>Zh,decodeXenoNetpbm:()=>vy,decodeXenoPng:()=>ik,decodeXenoSvg:()=>fD,decodeXenoVp8:()=>Wu,decodeXenoWebp:()=>my,defaultPeerDirectory:()=>nX,defaultToolRuntimeContext:()=>z,defaultXenoReviewPack:()=>Ez,deflateXenoZlib:()=>hc,deleteSession:()=>Z4,denyMcpServer:()=>Uv,deriveHostedIdempotencyKey:()=>aae,describeXenoAutomationOperation:()=>En,detectLanguage:()=>xx,detectPluginRepositorySignals:()=>Iq,detectRepositoryDocumentKind:()=>BU,detectRepositoryLanguage:()=>RP,detectXenoSpecDrift:()=>wz,deterministicReduce:()=>pR,digestMessages:()=>UT,directProviderConfigFromConnection:()=>Wde,discoverXenoSkills:()=>Sre,dispatchAgentTool:()=>J2,editTool:()=>O1,elfAnalyzeTool:()=>FL,emitXenoTelemetry:()=>Rg,encodeXenoPngRgb:()=>nl,enforceShellCommandPolicy:()=>lb,enforceToolPolicy:()=>_p,ensureConfigDir:()=>uc,ensureDurableMessageIds:()=>Tb,ensureProjectStateDir:()=>mO,estimateFullRequestBudget:()=>FT,evaluateContainmentUiRestrictions:()=>AB,evaluatePermissionProfileNetworkUrl:()=>Nr,evaluateXenoCapabilityEligibility:()=>lM,executeXenoCoordinationAction:()=>Qse,extractJsonObject:()=>Wb,extractPageTitle:()=>QM,extractToolPath:()=>na,findXenoSkill:()=>eP,fingerprintXenoSecureExecutionContract:()=>HV,forgetRecentSession:()=>sI,forgetRecentSessionById:()=>xc,formatBoundedShellOutput:()=>gr,formatCost:()=>Rj,formatDirectShellContext:()=>Ic,formatJsonSchemaErrors:()=>Gg,formatModelList:()=>H4,formatPromptContextBreakdown:()=>wle,gcodeAnalyzeTool:()=>GL,generateImageTool:()=>aN,generateSessionId:()=>bo,getAgentHome:()=>f4,getAgentRunDir:()=>Qre,getAgentRunStoreDir:()=>Yre,getAvailableModels:()=>vg,getBenchmarkComputeBudgetHintForCommand:()=>mh,getBenchmarkForegroundTimeoutForCommand:()=>ph,getBestExecutionSecurityStatus:()=>pS,getChatModels:()=>q4,getConfigDir:()=>go,getDefaultProviderRegistry:()=>Eg,getExecutionSecurityCapabilityReport:()=>f_,getExecutionSecurityStatus:()=>ao,getGlobIgnores:()=>MI,getGrepIgnores:()=>NI,getHighRiskPermissions:()=>gq,getImageGenerationConfig:()=>iN,getJwtExpiry:()=>yg,getLinuxBubblewrapCapability:()=>Ed,getLogLevel:()=>qO,getManagedConfigPath:()=>uO,getMcpAppMetadata:()=>jm,getMcpAppResourceUri:()=>ad,getMcpApprovalDecision:()=>Vj,getMcpAuthorizationServerMetadataUrls:()=>M0,getMcpPromptToolName:()=>z0,getMcpProtectedResourceMetadataUrls:()=>_0,getMcpResourceToolName:()=>G0,getMcpToolName:()=>V0,getModelName:()=>Ps,getMxcContainmentProbe:()=>di,getMxcNativeAssetDescriptor:()=>aS,getMxcWindowsHostPreparationDescriptor:()=>cS,getMxcWindowsHostPreparationHelperArchitecture:()=>lS,getPermissionProfile:()=>ng,getPersistentShellSession:()=>Ph,getPersistentShellSpawnSpec:()=>ZI,getProcessContainmentStatus:()=>g_,getProjectAgentDefinitionDirs:()=>UC,getProjectAgentDefinitionsDir:()=>FC,getProjectLastSessionSummary:()=>T4,getProjectMcpApproval:()=>mg,getProjectStatePath:()=>ug,getReadImagePreviewCapability:()=>iL,getRecentSessionsIndexPath:()=>gi,getSubagentTeamPresetDefinition:()=>k5,getToolRiskLevel:()=>EX,getUserAgentDefinitionsDir:()=>Nx,gitBranchTool:()=>Vy,gitCommitTool:()=>Hy,gitDiffTool:()=>jy,gitLogTool:()=>qy,gitStatusTool:()=>Fy,globTool:()=>F1,grepTool:()=>G1,gzipXeno:()=>yc,hasProjectOnboardingCompleted:()=>S4,hasXenoTelemetrySubscribers:()=>pG,hashContainmentConformanceReport:()=>pre,hashPluginManifest:()=>rx,hashPluginTree:()=>tC,hookResultStatus:()=>zn,hostedEnvironmentIdentity:()=>sae,htmlSanitizerAuditTool:()=>YL,importLegacyXenoSkill:()=>Are,inflateXenoZlib:()=>mu,initializeSessionRuntime:()=>xle,inspectCliAutomationStatus:()=>U3,inspectRuntimeManifests:()=>hle,inspectSecurityPath:()=>ii,inspectSystemPrompt:()=>yle,inspectXenoHostAutomationStatus:()=>U3,inspectXenoRepositoryFreshness:()=>Wie,inspectXenoRepositorySymbol:()=>Gie,installSignalHandlers:()=>UW,invalidateAllObservedFiles:()=>Lh,invokeXenoSkill:()=>eU,isChatModel:()=>jA,isDangerousCommand:()=>uh,isDirectShellMessage:()=>yu,isExpiredJwt:()=>N4,isExplicitResearchPrompt:()=>Dw,isJwt:()=>gg,isLocalModel:()=>mc,isMcpAppResourceUri:()=>F0,isMcpOAuthTokenExpired:()=>Jj,isMcpToolVisibleToApp:()=>zv,isMcpToolVisibleToModel:()=>Vv,isNotBeforeJwt:()=>yO,isPathWithinAllowed:()=>Jt,isPeerTaskTerminal:()=>Ep,isQuotaControlError:()=>vl,isScreenCaptureAvailable:()=>Sj,isSensitiveEnvironmentKey:()=>Wa,isSimpleInformationalPrompt:()=>am,isSpeechRecognitionAvailable:()=>Fj,isSupportedMcpProtocolVersion:()=>Dm,isToolAllowedByXenoSkillActivation:()=>Mre,isUncOrDevicePath:()=>Id,isValidAgentDefinitionName:()=>Dx,isValidModel:()=>F4,isValidSessionId:()=>VA,isWorkspaceTrusted:()=>v4,isXenoAutomationOperation:()=>uf,legacyAgentArtifactToXenoArtifact:()=>$z,listBuiltInAgentProfiles:()=>uV,listPermissionProfiles:()=>nO,listProjectAllowedTools:()=>I4,listProjectMcpApprovals:()=>NA,listSessions:()=>Q4,loadConfig:()=>$A,loadConfiguredMcpServers:()=>Xv,loadMcpConfigFile:()=>Nm,loadProjectConfig:()=>au,loadProjectState:()=>Mn,loadRecentSessionsIndex:()=>vo,loadSession:()=>Y4,loadUserConfig:()=>fO,loadXenoSkill:()=>ZR,lookupRecentSession:()=>gu,lsTool:()=>R$,lspDefinitionTool:()=>A$,lspDiagnosticsTool:()=>S$,lspHoverTool:()=>I$,lspReferencesTool:()=>E$,matchPermissionRule:()=>aB,matchesMcpRegistryEntryPolicy:()=>cq,materializeXenoAutomationEvidence:()=>Cf,mcpInputSchemaToToolSchema:()=>W0,memoryReadTool:()=>M$,memoryWriteTool:()=>O$,mergeConfigs:()=>W4,movesTrustUpward:()=>tX,mxcWarningsRequireWindowsHostPreparation:()=>sS,normalizeDirectShellResultRecord:()=>Ac,normalizeHookDecision:()=>eu,normalizeMcpAppVisibility:()=>sd,normalizePagePath:()=>vA,normalizePermissionProfileName:()=>nu,normalizeQuotaScope:()=>Jn,normalizeRepositoryRelativePath:()=>OM,normalizeSourceText:()=>pv,normalizeSubagentBranchPolicy:()=>Fb,normalizeWorkingDirectory:()=>vc,normalizeXenoHostedControlAcknowledgement:()=>_ae,notebookEditTool:()=>B$,notebookReadTool:()=>X$,openSqliteAutomationExecutionJournal:()=>P8,openSqliteCapabilityLeasePersistence:()=>Jne,pageContentType:()=>Zf,parseContainmentReviewerTrustStore:()=>gB,parseMcpWwwAuthenticate:()=>Um,parsePermissionRule:()=>CR,parseRetryAfter:()=>pb,parseSessionId:()=>Ag,parseShellPathReferences:()=>bT,parseSubagentRemoteMcpPolicy:()=>lne,parseSubagentRoleList:()=>sne,parseUnifiedDiff:()=>tA,parseXenoAnsi:()=>Nl,parseXenoRecipeDefinition:()=>tce,peerShortId:()=>Xo,pending:()=>uo,persistXenoAutomationEvidence:()=>ec,planXenoControlRoomAction:()=>roe,pluginInfoRelevanceCandidate:()=>kq,pluginListingRelevanceCandidate:()=>Tq,pluginSignaturePayload:()=>nC,preflightLocalModel:()=>U4,prepareMxcWindowsHost:()=>d_,probeXenoProvider:()=>zde,projectToolDefinitionsForProvider:()=>Bi,projectToolSchemaForProvider:()=>kT,projectXenoControlRoom:()=>noe,providerCapabilityError:()=>Ui,providerProtocolError:()=>ae,publicKeyFingerprint:()=>OP,publishPlugin:()=>Mq,quotaAncestors:()=>xl,quotaInteger:()=>qe,quotaScopeKey:()=>vn,quotaText:()=>Bn,rankPluginRelevance:()=>Eq,readCliAutomationEnvironment:()=>YS,readImageTool:()=>sL,readManifestFromDisk:()=>as,readPluginDetachedSignature:()=>rC,readPluginSupplyChainLockfile:()=>ix,readSessionFormatVersion:()=>Iv,readTool:()=>P1,readXenoApiKey:()=>Ij,readXenoHostAutomationEnvironment:()=>YS,recordRecentSession:()=>hi,recordXenoCounter:()=>se,recordXenoEvent:()=>mG,recordXenoHistogram:()=>Xe,recoverSessionMessages:()=>Tm,redactXenoShareValue:()=>_P,registerShutdownCleanup:()=>Ro,registry:()=>rb,removeMcpServerConfig:()=>qj,removeProjectAllowedTool:()=>E4,renderAgentDefinition:()=>tV,renderAgentDefinitions:()=>eV,renderAuditReplayMarkdown:()=>CC,renderAuditReplayReport:()=>_C,renderAuditTraceMarkdown:()=>PC,renderAuditTraceReport:()=>RC,renderAuditTraceSummaries:()=>TC,renderCliAutomationStatus:()=>oz,renderCodingBenchmarkMarkdown:()=>tne,renderCodingBenchmarkReport:()=>ene,renderContinuationIncompleteStatus:()=>LW,renderLspDefinitionReport:()=>b$,renderLspDiagnosticsReport:()=>y$,renderLspDoctorReport:()=>x$,renderLspHoverReport:()=>v$,renderLspReferencesReport:()=>w$,renderPeerLabel:()=>ul,renderToolContinuationInput:()=>DW,renderXenoHostAutomationStatus:()=>oz,renderXenoSkillCatalog:()=>Ire,repairInterruptedToolCalls:()=>Jl,repairToolExchangeHistory:()=>HT,requestBackground:()=>H2,requiresSecuredProcessLaunch:()=>Vn,resetAllPersistentShellSessions:()=>N2,resetBashBenchmarkGuards:()=>i2,resetImageGenerationConfig:()=>sN,resetMcpServerApprovals:()=>zj,resetMxcContainmentProbe:()=>dS,resetPersistentShellSession:()=>Ch,resetXenoAnsiPolicy:()=>X5,resetXenoTelemetryCardinalityForTests:()=>hG,resizeXenoRaster:()=>sk,resolveAgentDefinition:()=>JH,resolveAgentProfile:()=>mV,resolveAgentToolPolicy:()=>af,resolveBuiltInAgentProfile:()=>WC,resolveCommandOnPath:()=>Ys,resolveContainmentConformanceTemporaryRoot:()=>SB,resolveDelegatedExecutionMode:()=>lR,resolveExecutionSecurityLevel:()=>Cd,resolveExecutionTrustMode:()=>Sf,resolveInteractiveTurnMaxIterations:()=>OU,resolveLocalRuntimeUrl:()=>Rs,resolveModelContextTokens:()=>Ig,resolvePeerTarget:()=>sT,resolvePermissionProfile:()=>rO,resolveShellInvocation:()=>I2,resolveSubagentRemoteMcpAccess:()=>une,resolveSubagentWorkflowAnswer:()=>wR,resolveXenoAutomationEvidencePolicy:()=>vS,resolveXenoSdkApiKey:()=>D4,restoreXenoHandoffSnapshot:()=>eae,runAgentHook:()=>su,runCommandHook:()=>tu,runContainmentConformanceSuite:()=>ere,runDelegatedXenoTurn:()=>mle,runDelegationPlan:()=>dR,runDurableAutomation:()=>PS,runHookDefinition:()=>ig,runHooks:()=>dg,runHttpHook:()=>ru,runPromptHook:()=>iu,runSubagentWorkflow:()=>vR,runXenoThread:()=>bv,runXenoThreadStreamed:()=>vce,sanitizeEnvironment:()=>ai,sanitizeXenoTelemetryAttributes:()=>EO,saveConfig:()=>P4,saveMcpConfigFile:()=>$v,saveProjectState:()=>pg,saveSession:()=>K4,scaffoldPlugin:()=>Cq,scanAgentDefinitions:()=>Lx,scoreMemories:()=>fte,scorePluginRelevance:()=>oC,searchXenoRepositoryIndex:()=>zie,selectXenoProviderRoute:()=>Gde,serializeXenoRecipe:()=>rce,setLogLevel:()=>jO,setProjectLastSessionSummary:()=>LA,setProjectMcpApproval:()=>fg,setProjectOnboardingCompleted:()=>A4,setWorkspaceTrusted:()=>x4,setupAIHandlers:()=>Aj,sha256ArtifactBytes:()=>ve,sha256ArtifactJson:()=>We,shouldEnableExecutionGovernance:()=>sm,shouldSourceShellProfile:()=>Du,shouldUseIsolatedStdinForCommand:()=>Pu,signSharePayload:()=>zU,sqliteAnalyzeTool:()=>Tk,stripXenoAnsi:()=>AR,subscribeXenoTelemetry:()=>WA,summarizeAuditInputRecord:()=>Dj,summarizeAuditTraces:()=>ef,summarizeRuntimeInput:()=>cb,summarizeSubagentResults:()=>bR,summarizeXenoArtifactReview:()=>Pf,syncMcpToolsToRegistry:()=>uq,synthesizeSkill:()=>Jb,taskInputTool:()=>G$,taskOutputTool:()=>q$,taskStopTool:()=>H$,testPlugin:()=>_q,thinkTool:()=>K2,toAgentDefinitionMetadata:()=>ZH,toLLMProvider:()=>cR,toPeerPosture:()=>MZ,toolEvidenceToXenoArtifact:()=>Bz,toolOperationManager:()=>W,toolRiskLevel:()=>bi,turnDiffSummaryToXenoArtifact:()=>Fz,unifiedDiffToXenoArtifact:()=>nA,unifiedExecManager:()=>Mu,updateProjectState:()=>Dr,upsertMcpServerConfig:()=>jj,validateAgentDefinition:()=>jC,validateCapabilityLeaseRequest:()=>HS,validateCapabilityMutationReceipt:()=>MR,validateDelegationPlan:()=>x5,validateDirectEndpoint:()=>ia,validateExecutionSecurityPolicy:()=>gs,validateJsonSchema:()=>c1,validateManifest:()=>Qv,validateMcpAppResource:()=>j0,validateToolContinuationGoal:()=>Xc,validateXenoArtifact:()=>O_,validateXenoArtifactReviewEvent:()=>Rf,validateXenoControlRoomSnapshot:()=>mU,validateXenoEvidenceGraph:()=>IM,validateXenoRepositoryIndex:()=>ba,validateXenoSdkApiKey:()=>L4,validateXenoSecureExecutionContract:()=>A_,validateXenoSpecDocument:()=>DM,verifyContainmentCertification:()=>tS,verifyContainmentCertificationApproval:()=>Yne,verifyPluginSupplyChain:()=>ox,verifySignature:()=>kR,verifySoulRecord:()=>G5,verifyXenoHostedControlCommand:()=>Cae,verifyXenoHostedEnvironmentManifest:()=>nv,verifyXenoHostedEventChain:()=>iae,verifyXenoHostedExecutionAdapterCertification:()=>wae,verifyXenoHostedExecutionJob:()=>CF,verifyXenoHostedRunResult:()=>Mae,verifyXenoHostedWebhook:()=>hae,verifyXenoSecureShare:()=>Cse,verifyXenoSessionHandoff:()=>Mse,waitForXenoHandoffStatus:()=>$P,webFetchTool:()=>jh,webSearchTool:()=>Uh,windowsDpapiProtect:()=>WR,windowsDpapiUnprotect:()=>JR,withXenoTelemetrySpan:()=>fG,wrapXenoAnsi:()=>q5,writePluginSupplyChainLockfile:()=>sx,writeTool:()=>_1,xenoAnsi:()=>pa,xenoAnsiVisibleWidth:()=>IR,xenoArtifactToDiffDocument:()=>rA,xenoArtifactToLegacyAgentArtifact:()=>Xz,xenoArtifactToOracleReport:()=>$ae,xenoArtifactToReviewReport:()=>Tz,xenoArtifactToSourceResearchReport:()=>Hae,xenoArtifactToSpecDocument:()=>aA,xenoArtifactToSpecExecution:()=>LM,xenoArtifactToToolEvidence:()=>Uz,xenoArtifactToTurnDiffSummary:()=>jz,xenoHostedExecutionAdapterSigningPayload:()=>bae,xenoOracleReportToArtifact:()=>Lae,xenoRecipeFingerprint:()=>JF,xenoReviewReportToArtifact:()=>kz,xenoReviewReportToGitHubComments:()=>Rz,xenoSourceResearchReportToArtifact:()=>qae,xenoSpecArtifactIds:()=>cc,xenoSpecExecutionToArtifact:()=>cA,xenoSpecToArtifactBundle:()=>sA});module.exports=wH(mue);ds();var Rr="0.10.14";var xC=require("node:crypto");ft();St();var ja=class{filePath;sessionId;labels;sequence=0;writeQueue=Promise.resolve();constructor(e){this.filePath=e.filePath,this.sessionId=e.sessionId,this.labels={run_id:e.runId,agent_id:e.agentId,parent_agent_id:e.parentAgentId,workspace:e.workspace,model:e.model,provider:e.provider}}get path(){return this.filePath}async append(e){let n=(0,xC.randomUUID)(),r={id:n,sequence:this.sequence++,timestamp:new Date().toISOString(),session_id:e.session_id??this.sessionId,...this.labels,...e};return this.writeQueue=this.writeQueue.then(async()=>{await Fa(this.filePath,JSON.stringify(r))}),await this.writeQueue,n}async read(e){let n=await we(this.filePath);if(!n)return[];let r=ps(n);return e?.eventType&&(r=r.filter(o=>o.event_type===e.eventType)),e?.traceId&&(r=r.filter(o=>o.trace_id===e.traceId)),e?.limit!==void 0&&(r=r.slice(-Math.max(0,e.limit))),r}async tail(e=20){let n=Math.max(1,Math.min(e,500));return this.read({limit:n})}async exportJson(e){let n=await this.read();return await Ae(e,JSON.stringify(n,null,2)),n.length}async flush(){await this.writeQueue}};function PH(t,e){return e.endedAt.localeCompare(t.endedAt)}function Px(t,e){t.set(e,(t.get(e)??0)+1)}function Mx(t,e){let n=Date.parse(t),r=Date.parse(e);return!Number.isFinite(n)||!Number.isFinite(r)?0:Math.max(0,r-n)}function SC(t){return t.filter(e=>e.tool_name||e.event_type.startsWith("tool_")).length}function AC(t){return t.filter(e=>e.event_type==="permission_decision").length}function IC(t){return t.filter(e=>e.status==="error"||e.event_type.endsWith("_failed")).length}function Cx(t){return t.split(/[_\s-]+/).filter(e=>e.length>0).map(e=>e[0].toUpperCase()+e.slice(1)).join(" ")}function _x(t){if(!t)return;let e=Object.entries(t).filter(([,n])=>typeof n=="string"||typeof n=="number"||typeof n=="boolean").slice(0,3).map(([n,r])=>`${n}=${String(r)}`);return e.length>0?e.join(" | "):void 0}function CH(t){let e=[];for(let n=1;n<t.length;n+=1){let r=t[n-1],o=t[n],i=Date.parse(r.timestamp),s=Date.parse(o.timestamp),a=Number.isFinite(i)&&Number.isFinite(s)?Math.max(0,s-i):0;e.push({fromSequence:r.sequence,toSequence:o.sequence,fromEventType:r.event_type,toEventType:o.event_type,gapMs:a})}return e.sort((n,r)=>r.gapMs-n.gapMs).slice(0,5)}function _H(t){let e=Cx(t.event_type),n=t.reason;if(t.event_type==="permission_decision")e=`${t.decision==="deny"?"Denied":"Approved"} ${t.tool_name??"tool"} permission`,n=t.reason;else if(t.tool_name&&t.event_type.startsWith("tool_"))e=`${Cx(t.event_type)}: ${t.tool_name}`;else if(t.event_type==="delegation_completed"){let r=typeof t.metadata?.selected_from=="object"&&t.metadata?.selected_from?String(t.metadata.selected_from.role??"unknown"):void 0;e=r?`Delegation completed via ${r}`:"Delegation completed",n=_x(t.metadata)}else t.event_type==="delegation_started"?(e="Delegation started",n=_x(t.metadata)):t.tool_name?e=`${Cx(t.event_type)}: ${t.tool_name}`:n||(n=_x(t.metadata));return{sequence:t.sequence,timestamp:t.timestamp,title:e,...n?{detail:n}:{},actor:t.actor,riskLevel:t.risk_level,...t.status?{status:t.status}:{}}}function ef(t){let e=new Map;for(let r of t){let o=r.trace_id?.trim();if(!o)continue;let i=e.get(o);i?i.push(r):e.set(o,[r])}let n=[];for(let[r,o]of e.entries()){let i=[...o].sort((c,l)=>c.sequence-l.sequence),s=i[0]?.timestamp??"",a=i[i.length-1]?.timestamp??s;n.push({traceId:r,eventCount:i.length,startedAt:s,endedAt:a,durationMs:Mx(s,a),toolEvents:SC(i),permissionEvents:AC(i),errorEvents:IC(i),lastEventType:i[i.length-1]?.event_type??"unknown"})}return n.sort(PH)}function EC(t,e){let n=ef(t),r=e??n[0]?.traceId;if(!r)return null;let o=t.filter(u=>u.trace_id===r).sort((u,p)=>u.sequence-p.sequence);if(o.length===0)return null;let i=new Map,s=new Map,a=new Map,c=new Map;for(let u of o){if(Px(i,u.event_type),Px(a,u.actor),Px(c,u.risk_level),!u.tool_name)continue;let p=s.get(u.tool_name)??{toolName:u.tool_name,count:0,ok:0,error:0,denied:0};p.count+=1,u.status==="error"?p.error+=1:p.ok+=1,u.decision==="deny"&&(p.denied+=1),s.set(u.tool_name,p)}let l=o[0]?.timestamp??"",d=o[o.length-1]?.timestamp??l;return{traceId:r,eventCount:o.length,startedAt:l,endedAt:d,durationMs:Mx(l,d),toolEvents:SC(o),permissionEvents:AC(o),deniedPermissions:o.filter(u=>u.event_type==="permission_decision"&&u.decision==="deny").length,errorEvents:IC(o),eventTypes:Object.fromEntries([...i.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),actorSummary:Object.fromEntries([...a.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),riskSummary:Object.fromEntries([...c.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),toolSummary:[...s.values()].sort((u,p)=>u.toolName.localeCompare(p.toolName)),topLatencyGaps:CH(o),timeline:o.map(u=>({sequence:u.sequence,timestamp:u.timestamp,eventType:u.event_type,actor:u.actor,riskLevel:u.risk_level,...u.tool_name?{toolName:u.tool_name}:{},...u.decision?{decision:u.decision}:{},...u.status?{status:u.status}:{},...u.reason?{reason:u.reason}:{}}))}}function kC(t,e){let n=ef(t),r=e??n[0]?.traceId;if(!r)return null;let o=t.filter(a=>a.trace_id===r).sort((a,c)=>a.sequence-c.sequence);if(o.length===0)return null;let i=o[0]?.timestamp??"",s=o[o.length-1]?.timestamp??i;return{traceId:r,startedAt:i,endedAt:s,durationMs:Mx(i,s),steps:o.map(_H)}}function TC(t){if(t.length===0)return"No audit traces recorded.";let e=["Audit traces",""];for(let n of t)e.push(`${n.traceId} | ${n.eventCount} events | ${n.toolEvents} tool | ${n.permissionEvents} perms | ${n.errorEvents} errors | ${Math.round(n.durationMs/1e3)}s`);return e.join(`
2461
2461
  `)}function RC(t){let e=[`Audit trace ${t.traceId}`,`Started: ${t.startedAt}`,`Ended: ${t.endedAt}`,`Duration: ${t.durationMs} ms`,`Events: ${t.eventCount}`,`Tool events: ${t.toolEvents}`,`Permission events: ${t.permissionEvents}`,`Denied permissions: ${t.deniedPermissions}`,`Errors: ${t.errorEvents}`,"","Event types"];for(let[n,r]of Object.entries(t.eventTypes))e.push(` ${n}: ${r}`);e.push(""),e.push("Actors");for(let[n,r]of Object.entries(t.actorSummary))e.push(` ${n}: ${r}`);e.push(""),e.push("Risk levels");for(let[n,r]of Object.entries(t.riskSummary))e.push(` ${n}: ${r}`);if(e.push(""),e.push("Tools"),t.toolSummary.length===0)e.push(" (no tool activity)");else for(let n of t.toolSummary)e.push(` ${n.toolName}: ${n.count} total | ${n.ok} ok | ${n.error} error | ${n.denied} denied`);if(e.push(""),e.push("Largest gaps"),t.topLatencyGaps.length===0)e.push(" (no gaps)");else for(let n of t.topLatencyGaps)e.push(` #${n.fromSequence}->#${n.toSequence}: ${n.gapMs} ms | ${n.fromEventType} -> ${n.toEventType}`);e.push(""),e.push("Timeline");for(let n of t.timeline){let r=[n.eventType,n.toolName,n.decision,n.status,n.reason].filter(o=>typeof o=="string"&&o.length>0);e.push(` #${n.sequence} ${n.timestamp} | ${r.join(" | ")||n.eventType}`)}return e.join(`
2462
2462
  `)}function PC(t){return[`## Audit Trace ${t.traceId}`,"",`- Started: \`${t.startedAt}\``,`- Ended: \`${t.endedAt}\``,`- Duration: \`${t.durationMs}\` ms`,`- Events: \`${t.eventCount}\``,`- Tool events: \`${t.toolEvents}\``,`- Permission events: \`${t.permissionEvents}\``,`- Denied permissions: \`${t.deniedPermissions}\``,`- Errors: \`${t.errorEvents}\``,"","### Tool Summary","","| Tool | Total | OK | Error | Denied |","| --- | ---: | ---: | ---: | ---: |",...t.toolSummary.length>0?t.toolSummary.map(n=>`| ${n.toolName} | ${n.count} | ${n.ok} | ${n.error} | ${n.denied} |`):["| (none) | 0 | 0 | 0 | 0 |"],"","### Largest Gaps","","| From | To | Gap ms | Events |","| ---: | ---: | ---: | --- |",...t.topLatencyGaps.length>0?t.topLatencyGaps.map(n=>`| ${n.fromSequence} | ${n.toSequence} | ${n.gapMs} | ${n.fromEventType} -> ${n.toEventType} |`):["| 0 | 0 | 0 | none |"]].join(`
2463
2463
  `)}function CC(t){let e=[`## Audit Replay ${t.traceId}`,"",`- Started: \`${t.startedAt}\``,`- Ended: \`${t.endedAt}\``,`- Duration: \`${t.durationMs}\` ms`,""];for(let n of t.steps){let r=[n.actor,n.riskLevel,n.status].filter(Boolean).join(" | ");e.push(`- **#${n.sequence} ${n.title}**${r?` _(${r})_`:""}`),n.detail&&e.push(` - ${n.detail}`)}return e.join(`
package/dist/index.js CHANGED
@@ -1160,7 +1160,7 @@ public static class XenoProcessTree {
1160
1160
  }
1161
1161
  '@
1162
1162
  [XenoProcessTree]::Kill(${e})
1163
- `,r=Buffer.from(n,"utf16le").toString("base64"),o=x_("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",r],{stdio:"ignore",windowsHide:!0}),i=setTimeout(()=>{o.kill("SIGKILL"),t.meta.status==="running"&&t.child.kill("SIGKILL")},3e3);o.once("error",()=>{clearTimeout(i),t.meta.status==="running"&&t.child.kill("SIGKILL")}),o.once("close",()=>{clearTimeout(i),t.meta.status==="running"&&t.child.kill("SIGKILL")})}function S_(t){t.timeout&&(clearTimeout(t.timeout),t.timeout=void 0)}function A_(t){t.startupTimer&&(clearTimeout(t.startupTimer),t.startupTimer=void 0)}function v_(t){S_(t),A_(t),t.forceTimer&&(clearTimeout(t.forceTimer),t.forceTimer=void 0)}function ks(t){return{...t}}function VG(t,e){if(!t)return[];let n=[],r="",o=0;for(let i of t){let s=Buffer.byteLength(i,"utf8");r&&o+s>e&&(n.push(r),r="",o=0),r+=i,o+=s}return r&&n.push(r),n}function zG(t,e){return!Number.isFinite(t)||t<=0?1:Math.min(Math.floor(t),e)}function Np(t,e){return!Number.isFinite(t??Number.NaN)||(t??0)<=0?e:Math.floor(t)}var Fn,g_,NG,h_,DG,LG,$G,XG,BG,UG,y_,FG,jG,Tw,Lp,Op,Dp,Pw=T(()=>{"use strict";Es();Ho();Wh();Xa();Fn=class extends Error{constructor(n,r){super(r.startsWith(`${n}:`)?r:`${n}: ${r}`);this.code=n;this.name="UnifiedExecError"}code},g_=256e3,NG=128e3,h_=256,DG=64,LG=16,$G=8192,XG=8,BG=2e3,UG=1e4,y_=2,FG=1e3,jG=500,Tw=class{processes=new Map;listeners=new Set;maxProcesses;maxPtyProcesses;ptyAdapter;disposeShutdown;constructor(e={}){this.maxProcesses=Np(e.maxProcesses,DG),this.maxPtyProcesses=Np(e.maxPtyProcesses,LG),(e.registerCleanup??!0)&&(this.disposeShutdown=co(()=>this.terminateAll({force:!0})))}registerPtyAdapter(e){return this.ptyAdapter=e,()=>{this.ptyAdapter===e&&(this.ptyAdapter=void 0)}}getPtyCapability(){return this.ptyAdapter?{available:!0,adapter:this.ptyAdapter.name??"registered"}:{available:!1}}onEvent(e){return this.listeners.add(e),()=>this.listeners.delete(e)}start(e,n={}){if(this.pruneTerminalProcesses(),this.processes.size>=this.maxProcesses)throw new Fn("PROCESS_LIMIT",`Too many managed exec processes (${this.maxProcesses})`);let r=e.trim();if(!r)throw new Error("exec.start requires a non-empty command");let o=n.tty?"pty":"pipe";if(o==="pty"&&this.countPtyProcesses()>=this.maxPtyProcesses)throw new Fn("PROCESS_LIMIT",`Too many managed PTY processes (${this.maxPtyProcesses})`);if(o==="pty"&&dn(n.sandbox))throw new Fn("PTY_UNAVAILABLE","Process-hardened and contained interactive terminals are not supported");if(n.invocation&&(o==="pty"||dn(n.sandbox)))throw new Fn("INVOCATION_UNSUPPORTED","An explicit interpreter runs pipe-backed and unsecured only; a secured launch wraps the platform shell");let i=n.cwd??process.cwd(),s=new Date().toISOString(),a=o==="pty"?w_(n.cols,n.rows):void 0,c={id:OG(),command:r,cwd:i,mode:o,interactive:o==="pty",...a??{},ownerSessionId:n.ownerSessionId,origin:n.origin??"app_server",presentation:n.presentation??"background",status:"running",startedAt:s,lastActivityAt:s,outputBytes:0};if(o==="pty"&&!this.ptyAdapter)throw c.status="failed",c.endedAt=new Date().toISOString(),c.completionReason="spawn_error",this.emit({type:"process.pty_unavailable",process:c}),new Fn("PTY_UNAVAILABLE","Interactive terminal adapter is unavailable");try{let l=o==="pty"?this.startPty(c,n,a):this.startPipe(c,n);return this.processes.set(c.id,l),this.armTimeout(l,n.timeoutMs),this.emit({type:"process.started",process:c}),ks(c)}catch(l){c.status="failed",c.endedAt=new Date().toISOString(),c.completionReason="spawn_error";let d=l instanceof Error?l.message:String(l);throw this.emit({type:"process.failed",process:c,error:d}),l instanceof Fn?l:new Fn("SPAWN_ERROR",d)}}writeStdin(e,n,r={}){let o=this.processes.get(e);if(!o||o.meta.status!=="running")return!1;let i=r.source??"app_server";if(o.writerLease&&i!=="human")return!1;try{if(o.mode==="pty")o.pty.write(n);else{if(!o.child.stdin||o.child.stdin.destroyed)return!1;o.child.stdin.write(n)}return o.lastUsedMs=Date.now(),o.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.input",process:o.meta,inputSource:i,inputBytes:Buffer.byteLength(n,"utf8")}),!0}catch{return!1}}readOutput(e){let n=this.processes.get(e);return n?(n.lastUsedMs=Date.now(),{process:ks(n.meta),output:n.output.toBuffer().toString("utf8"),totalBytes:n.meta.outputBytes,truncated:n.output.omittedBytes>0,omittedBytes:n.output.omittedBytes}):null}readOutputDelta(e,n=0,r={}){let o=this.processes.get(e);if(!o)return null;o.lastUsedMs=Date.now();let i=o.chunks.read(n,r);return{process:ks(o.meta),...i}}resize(e,n,r){let o=this.processes.get(e);if(!o||o.mode!=="pty"||o.meta.status!=="running")return!1;let i;try{i=w_(n,r,!1),o.pty.resize(i.cols,i.rows)}catch{return!1}return o.meta.cols=i.cols,o.meta.rows=i.rows,o.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.resized",process:o.meta}),!0}acquireWriterLease(e,n="human"){let r=this.processes.get(e);return!r||r.meta.status!=="running"||r.writerLease?!1:(r.writerLease=n,this.emit({type:"process.attached",process:r.meta}),!0)}releaseWriterLease(e,n="human"){let r=this.processes.get(e);return!r||r.writerLease!==n?!1:(r.writerLease=void 0,this.emit({type:"process.detached",process:r.meta}),!0)}hasWriterLease(e){return!!this.processes.get(e)?.writerLease}updatePresentation(e,n){let r=this.processes.get(e);if(!r||r.meta.status!=="running")return!1;let o=r.meta.presentation??"background";return o===n||(r.meta.presentation=n,r.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.presentation_changed",process:r.meta,previousPresentation:o})),!0}terminate(e,n={}){let r=this.processes.get(e);if(!r||this.hasExited(e))return!1;let o=n.reason??"terminated";return r.terminationReason||(r.terminationReason=o),S_(r),kw(r,n.force??!1)?(!n.force&&!r.forceTimer&&(r.forceTimer=setTimeout(()=>{this.hasExited(e)||kw(r,!0)},BG),r.forceTimer.unref?.()),!0):!1}terminateOwner(e,n={}){let r=0;for(let o of this.processes.values())o.meta.ownerSessionId!==e||this.hasExited(o.meta.id)||this.terminate(o.meta.id,{force:n.force})&&(r+=1);return r}terminateAll(e={}){let n=0;for(let r of this.processes.values())this.hasExited(r.meta.id)||this.terminate(r.meta.id,{force:e.force})&&(n+=1);return n}list(e={}){return Array.from(this.processes.values()).filter(n=>!e.ownerSessionId||n.meta.ownerSessionId===e.ownerSessionId).map(n=>ks(n.meta))}get(e){let n=this.processes.get(e);return n?ks(n.meta):null}hasExited(e){let n=this.processes.get(e);return n?n.exitObserved===!0||n.mode==="pipe"&&(typeof n.child.exitCode=="number"||typeof n.child.signalCode=="string"):!1}remove(e){let n=this.processes.get(e);return!n||!this.hasExited(e)?!1:(v_(n),n.mode==="pty"&&(n.disposeData(),n.disposeExit()),this.processes.delete(e))}dispose(){this.terminateAll({force:!0}),this.disposeShutdown?.(),this.disposeShutdown=void 0,this.listeners.clear()}startPipe(e,n){let r=Rw()==="win32",o=b_(n.env,!1),i=n.sandbox&&dn(n.sandbox)?ja(e.command,{...n.sandbox,workingDirectory:e.cwd},process.platform,o,n.timeoutMs):null,s=null;if(r&&!i&&!n.invocation)try{s=fT(e.command,e.cwd)}catch{s=null}let a=i?.file??s?.file??n.invocation?.file??(r?process.env.COMSPEC??"cmd.exe":process.env.SHELL??"/bin/bash"),c=i?.args??s?.args??n.invocation?.args??(r?["/d","/s","/c",`"${e.command}"`]:["-lc",e.command]);e.processTreeAdapter=i?i.effectiveLevel:s?"windows-job-object":r?"windows-tree-fallback":"posix-process-group",e.processTreeCleanupVerified=!!(i||s||!r);let l=x_(a,c,{cwd:i?.hostCwd??s?.hostCwd??e.cwd,env:{...o,...i?.env??s?.env??{}},stdio:[n.stdin==="ignore"?"ignore":"pipe","pipe","pipe"],windowsHide:!0,detached:!r,windowsVerbatimArguments:r&&!i&&!s&&!n.invocation});e.pid=l.pid;let d={mode:"pipe",meta:e,child:l,output:new Dp(Math.max(1024,n.maxOutputBytes??g_)),chunks:new Op,stdoutDecoder:new f_("utf8"),stderrDecoder:new f_("utf8"),lastUsedMs:Date.now()};l.stdout?.on("data",p=>this.captureBuffer(d,"stdout",p)),l.stderr?.on("data",p=>this.captureBuffer(d,"stderr",p)),l.once("spawn",()=>A_(d)),l.on("error",p=>{l.pid==null&&this.observeExit(d),this.finalize(d,{error:p})}),l.on("close",(p,m)=>{this.observeExit(d),this.finalize(d,{exitCode:p,signal:m})});let u=Math.max(1,n.startupTimeoutMs??UG);return d.startupTimer=setTimeout(()=>{d.meta.status==="running"&&(kw(d,!0),this.finalize(d,{error:new Error(`Process startup exceeded ${u}ms`)}))},u),d.startupTimer.unref?.(),d}startPty(e,n,r){let o=qG(e.command),i=this.ptyAdapter.spawn({file:o.file,args:o.args,cwd:e.cwd,env:b_(n.env,!0),cols:r.cols,rows:r.rows});e.pid=i.pid;let s={mode:"pty",meta:e,pty:i,output:new Dp(Math.max(1024,n.maxOutputBytes??g_)),chunks:new Op,lastUsedMs:Date.now(),disposeData:()=>{},disposeExit:()=>{}};return s.disposeData=i.onData(a=>this.captureText(s,"stdout",a)),s.disposeExit=i.onExit(a=>{this.observeExit(s),this.finalize(s,{exitCode:a.exitCode,signalNumber:a.signal??null})}),s}observeExit(e){e.exitObserved||(e.exitObserved=!0,this.emit({type:"process.settled",process:e.meta}))}captureBuffer(e,n,r){e.meta.outputBytes+=r.length,e.meta.lastActivityAt=new Date().toISOString(),e.output.push(r);let o=n==="stdout"?e.stdoutDecoder:e.stderrDecoder;this.appendText(e,n,o.write(r))}captureText(e,n,r){if(!r)return;let o=Buffer.from(r,"utf8");e.meta.outputBytes+=o.length,e.meta.lastActivityAt=new Date().toISOString(),e.output.push(o),this.appendText(e,n,r)}appendText(e,n,r){for(let o of VG(r,$G)){let i=e.chunks.append(n,o);this.emit({type:"process.output",process:e.meta,chunk:i})}}finalize(e,n){if(e.meta.status==="running"){if(e.mode==="pipe"&&(this.appendText(e,"stdout",e.stdoutDecoder.end()),this.appendText(e,"stderr",e.stderrDecoder.end())),v_(e),e.writerLease=void 0,e.meta.endedAt=new Date().toISOString(),e.meta.lastActivityAt=e.meta.endedAt,e.meta.exitCode=n.exitCode??null,e.meta.signal=n.signal??null,e.meta.signalNumber=n.signalNumber??null,n.error&&!e.terminationReason){e.meta.status="failed",e.meta.completionReason="spawn_error",this.emit({type:"process.failed",process:e.meta,error:n.error.message});return}if(e.terminationReason){e.meta.status="terminated",e.meta.completionReason=e.terminationReason,this.emit({type:e.terminationReason==="output_limit"?"process.output_limit":"process.terminated",process:e.meta});return}e.meta.status="exited",e.meta.completionReason="exit",this.emit({type:"process.exited",process:e.meta})}}armTimeout(e,n){!n||n<=0||(e.timeout=setTimeout(()=>{this.terminate(e.meta.id,{reason:"timeout"})},n),e.timeout.unref?.())}countPtyProcesses(){let e=0;for(let n of this.processes.values())n.mode==="pty"&&n.meta.status==="running"&&(e+=1);return e}pruneTerminalProcesses(){if(this.processes.size<this.maxProcesses)return;let e=Array.from(this.processes.entries()),n=new Set(e.slice().sort((o,i)=>i[1].lastUsedMs-o[1].lastUsedMs).slice(0,XG).map(([o])=>o)),r=e.filter(([o])=>!n.has(o)&&this.hasExited(o)).sort((o,i)=>o[1].lastUsedMs-i[1].lastUsedMs)[0];r&&this.remove(r[0])}emit(e){let n={...e,process:ks(e.process),chunk:e.chunk?{...e.chunk}:void 0,timestamp:new Date().toISOString()};for(let r of this.listeners)try{r(n)}catch{}}},Lp=new Tw;Op=class{maxChunks;chunks=[];nextId=1;constructor(e=h_){this.maxChunks=Math.max(1,Math.floor(e))}get earliestCursor(){return this.chunks[0]?.id??this.nextId}append(e,n){let r={id:this.nextId,stream:e,text:n,bytes:Buffer.byteLength(n,"utf8"),timestamp:new Date().toISOString()};for(this.nextId+=1,this.chunks.push(r);this.chunks.length>this.maxChunks;)this.chunks.shift();return{...r}}read(e,n={}){let r=zG(e,this.nextId),o=this.earliestCursor,i=Math.max(r,o),s=Np(n.maxChunks,h_),a=Np(n.maxBytes,NG),c=[],l=0;for(let u of this.chunks)if(!(u.id<i)&&(c.length>=s||c.length>0&&l+u.bytes>a||(c.push({...u}),l+=u.bytes,l>=a)))break;let d=c.length>0?c[c.length-1].id+1:i;return{cursor:r,nextCursor:d,earliestCursor:o,chunks:c,text:c.map(u=>u.text).join(""),bytes:l,missedChunks:Math.max(0,o-r),hasMore:d<this.nextId}}};Dp=class{headBudget;tailBudget;head=Buffer.alloc(0);tail=Buffer.alloc(0);omittedBytes=0;constructor(e){let n=Math.max(1,Math.floor(e));this.headBudget=Math.floor(n/2),this.tailBudget=n-this.headBudget}push(e){if(e.length!==0){if(this.head.length<this.headBudget){let n=this.headBudget-this.head.length,r=e.subarray(0,n);r.length>0&&(this.head=Buffer.concat([this.head,r]));let o=e.subarray(r.length);o.length>0&&this.pushTail(o);return}this.pushTail(e)}}toBuffer(){return Buffer.concat([this.head,this.tail])}pushTail(e){if(this.tailBudget<=0){this.omittedBytes+=e.length;return}let n=Buffer.concat([this.tail,e]);if(n.length<=this.tailBudget){this.tail=n;return}let r=n.length-this.tailBudget;this.omittedBytes+=r,this.tail=n.subarray(r)}}});import{createHash as GG,randomUUID as WG}from"node:crypto";import{closeSync as JG,createWriteStream as I_,existsSync as KG,mkdirSync as YG,openSync as QG,readSync as P_,rmSync as E_,statSync as k_}from"node:fs";import{join as Cw,resolve as T_,sep as ZG}from"node:path";function $p(t){return{...t,expectedOutputs:t.expectedOutputs?.map(e=>({...e}))}}function Ow(t,e){return!Number.isFinite(t??Number.NaN)||(t??0)<=0?e:Math.floor(t)}function R_(t,e){if(e<=0||!t)return"";if(Buffer.byteLength(t,"utf8")<=e)return t;let n="",r=0;for(let o of t){let i=Buffer.byteLength(o,"utf8");if(r+i>e)break;n+=o,r+=i}return n}function c6(t,e,n){let r=e,o=Buffer.alloc(1);for(;r<n&&r<e+3&&!(P_(t,o,0,1,r)!==1||(o[0]&192)!==128);)r+=1;return r}function l6(t,e,n){if(e<=0||n)return e;let r=e-1;for(;r>=0&&(t[r]&192)===128;)r-=1;if(r<0)return 0;let o=t[r],i=o<128?1:o<224?2:o<240?3:4;return e-r<i?r:e}var _w,e6,t6,n6,r6,o6,i6,s6,Mw,a6,Xp,de,di=T(()=>{"use strict";Pw();Es();Qe();_w=64*1024,e6=256*1024*1024,t6=1024*1024,n6=5*6e4,r6=3,o6=10*6e4,i6=6,s6=/\b(?:qemu-system(?:-[\w-]+)?|qemu-kvm|sshd?|ssh\b|python(?:3)?\s+-m\s+http\.server|python(?:3)?\s+(?:-u\s+)?(?:[^\s;&|]*\/)?(?:[\w.-]*(?:app|server|service|api|main)[\w.-]*)\.py\b|(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:dev|start|serve)|node\s+.*(?:server|app)|uvicorn|gunicorn|flask\s+run|fastapi\s+run|docker\s+run|docker\s+compose\s+up|kubectl\s+port-forward|socat\b|(?:nc|ncat|netcat)\b\s+.*(?:-[^\s]*l|--listen\b)|nginx\b|redis-server\b|postgres\b|mysqld\b|mongod\b|emulator\b|xvfb-run\b)/i,Mw=/\b(?:caffe\s+train|fasttext\b|fit\s*\(|model\.fit|trainer\.fit|solver=|max_iter|epochs?|caffemodel|training_output)\b/i,a6=/\b(?:make|ninja|cmake\s+--build|cargo\s+(?:build|test)|npm\s+(?:run\s+)?(?:build|test)|pnpm\s+(?:run\s+)?(?:build|test)|yarn\s+(?:build|test)|pytest|python(?:3)?\b[\s\S]{0,120}\b(?:train|fit|epoch|benchmark|optimi[sz]e|search)|caffe(?:\.bin)?\s+train)\b/i,Xp=class{constructor(e,n=Lp,r={}){this.execManager=n;this.explicitTaskDir=e,this.maxOutputFileBytes=Ow(r.maxOutputFileBytes,e6),this.maxPendingWriteBytes=Ow(r.maxPendingWriteBytes,t6),this.disposeExecEvents=this.execManager.onEvent(o=>this.handleExecEvent(o)),(r.registerCleanup??!0)&&(this.disposeShutdown=co(()=>this.killAll()))}execManager;managerInstanceId=WG();cleanupFences=new Set;states=new Map;processToTask=new Map;listeners=new Set;counter=0;onComplete=null;explicitTaskDir;resolvedTaskDir;get taskDir(){return this.resolvedTaskDir===void 0&&(this.resolvedTaskDir=T_(this.explicitTaskDir??Cw(we(),"background-tasks"))),this.resolvedTaskDir}maxOutputFileBytes;maxPendingWriteBytes;disposeExecEvents;disposeShutdown;onTaskComplete(e){this.onComplete=e}onTaskEvent(e){return this.listeners.add(e),()=>this.listeners.delete(e)}waitForChange(e,n,r,o){let i=this.states.get(e)?.task;return!i||i.status!=="running"||i.outputSize>n||r<=0?Promise.resolve(i?$p(i):null):new Promise(s=>{let a=!1,c=()=>{if(a)return;a=!0,d(),u&&clearTimeout(u),o?.removeEventListener("abort",l);let p=this.states.get(e)?.task;s(p?$p(p):null)},l=()=>c(),d=this.onTaskEvent(p=>{p.task.id===e&&(p.type==="task.output"||p.type==="task.completed"||p.type==="task.promoted")&&c()}),u=setTimeout(c,Math.max(1,r));o?.aborted?c():o?.addEventListener("abort",l,{once:!0})})}spawn(e,n={}){this.assertOwnerAdmission(n.ownerSessionId),this.counter+=1;let r=`bg_task_${this.counter}`,o=this.resolveOwnerDir(n.ownerSessionId);this.ensureDir(o);let i=Cw(o,`${r}.output`),s=I_(i,{flags:"w",encoding:"utf8",mode:384}),a=n.presentation??"background",c;try{c=this.execManager.start(e,{cwd:n.cwd,env:n.env,timeoutMs:n.timeout,tty:n.tty,cols:n.cols,rows:n.rows,ownerSessionId:n.ownerSessionId,stdin:n.tty?"pipe":"ignore",presentation:a,origin:n.origin??"model_tool",sandbox:n.sandbox,...n.invocation?{invocation:n.invocation}:{}})}catch(p){s.destroy();try{E_(i,{force:!0})}catch{}throw p}let l=Date.parse(c.startedAt),d={id:r,displayName:n.displayName,command:e,pid:c.pid??-1,status:c.status==="running"?"running":"failed",exitCode:c.exitCode??null,startedAt:Number.isFinite(l)?l:Date.now(),endedAt:c.endedAt?Date.parse(c.endedAt):null,cwd:c.cwd,outputFile:i,outputSize:0,lastObservedAt:Date.now(),lastOutputAt:Date.now(),lastObservedOutputSize:0,pollCount:0,unchangedPollCount:0,processId:c.id,ownerSessionId:c.ownerSessionId,mode:c.mode??"pipe",interactive:c.interactive??!1,presentation:a,origin:c.origin??"model_tool",attached:!1,cols:c.cols,rows:c.rows,completionReason:c.completionReason,operationId:n.operationId,completionPolicy:n.completionPolicy,expectedOutputs:n.expectedOutputs?.map(p=>({...p})),external:!1,processTreeAdapter:c.processTreeAdapter,processTreeCleanupVerified:c.processTreeCleanupVerified},u={task:d,writer:s,pendingWriteBytes:0,acceptedOutputBytes:0,completed:!1,completionArmed:a==="background",deleteOnComplete:!1};return this.states.set(r,u),this.processToTask.set(c.id,r),s.on("error",()=>this.handleOutputFailure(u)),this.emit({type:"task.started",task:d}),c.status!=="running"&&this.completeFromProcess(u,c),r}registerExternal(e){this.assertOwnerAdmission(e.ownerSessionId),this.counter+=1;let n=`bg_task_${this.counter}`,r=this.resolveOwnerDir(e.ownerSessionId);this.ensureDir(r);let o=Cw(r,`${n}.output`),i=I_(o,{flags:"w",encoding:"utf8",mode:384}),s=Date.now(),a={id:n,command:e.command,pid:e.pid,status:"running",exitCode:null,startedAt:s,endedAt:null,cwd:e.cwd,outputFile:o,outputSize:0,lastObservedAt:s,lastOutputAt:s,lastObservedOutputSize:0,pollCount:0,unchangedPollCount:0,ownerSessionId:e.ownerSessionId,mode:"pipe",interactive:!1,presentation:e.presentation??"foreground",origin:e.origin??"model_tool",attached:!1,operationId:e.operationId,completionPolicy:e.completionPolicy,expectedOutputs:e.expectedOutputs?.map(l=>({...l})),external:!0,processTreeAdapter:e.processTreeAdapter,processTreeCleanupVerified:e.processTreeCleanupVerified},c={task:a,writer:i,pendingWriteBytes:0,acceptedOutputBytes:0,completed:!1,completionArmed:a.presentation==="background",deleteOnComplete:!1,externalStop:e.stop};return this.states.set(n,c),i.on("error",()=>this.handleOutputFailure(c)),this.emit({type:"task.started",task:a}),n}appendExternalOutput(e,n,r){let o=this.states.get(e);return!o||!o.task.external||o.completed||o.task.status!=="running"?!1:(this.appendOutput(o,{id:o.acceptedOutputBytes,stream:n,text:r,bytes:Buffer.byteLength(r,"utf8"),timestamp:new Date().toISOString()}),!0)}completeExternal(e,n,r="exit"){let o=this.states.get(e);return!o||!o.task.external||o.completed?!1:(this.completeState(o,{status:r==="terminated"||r==="timeout"?"terminated":n===0?"exited":"failed",exitCode:n,endedAt:new Date().toISOString(),completionReason:r}),!0)}getOutput(e,n=0,r=_w){let o=this.states.get(e);if(!o)return null;let i=o.task,s="",a=0,c=i.outputSize;try{c=k_(i.outputFile).size;let d=Math.max(0,Math.min(n,c)),u=QG(i.outputFile,"r");try{d=c6(u,d,c);let p=Math.max(1,Math.min(_w,Math.floor(r),c-d)),m=Buffer.alloc(p),g=P_(u,m,0,m.length,d);a=l6(m,g,d+g>=c),s=m.toString("utf8",0,a)}finally{JG(u)}return c-d>a&&(s+=`
1163
+ `,r=Buffer.from(n,"utf16le").toString("base64"),o=x_("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",r],{stdio:"ignore",windowsHide:!0}),i=setTimeout(()=>{o.kill("SIGKILL"),t.meta.status==="running"&&t.child.kill("SIGKILL")},3e3);o.once("error",()=>{clearTimeout(i),t.meta.status==="running"&&t.child.kill("SIGKILL")}),o.once("close",()=>{clearTimeout(i),t.meta.status==="running"&&t.child.kill("SIGKILL")})}function S_(t){t.timeout&&(clearTimeout(t.timeout),t.timeout=void 0)}function A_(t){t.startupTimer&&(clearTimeout(t.startupTimer),t.startupTimer=void 0)}function v_(t){S_(t),A_(t),t.forceTimer&&(clearTimeout(t.forceTimer),t.forceTimer=void 0)}function ks(t){return{...t}}function VG(t,e){if(!t)return[];let n=[],r="",o=0;for(let i of t){let s=Buffer.byteLength(i,"utf8");r&&o+s>e&&(n.push(r),r="",o=0),r+=i,o+=s}return r&&n.push(r),n}function zG(t,e){return!Number.isFinite(t)||t<=0?1:Math.min(Math.floor(t),e)}function Np(t,e){return!Number.isFinite(t??Number.NaN)||(t??0)<=0?e:Math.floor(t)}var Fn,g_,NG,h_,DG,LG,$G,XG,BG,UG,y_,FG,jG,Tw,Lp,Op,Dp,Pw=T(()=>{"use strict";Es();Ho();Wh();Xa();Fn=class extends Error{constructor(n,r){super(r.startsWith(`${n}:`)?r:`${n}: ${r}`);this.code=n;this.name="UnifiedExecError"}code},g_=256e3,NG=128e3,h_=256,DG=64,LG=16,$G=8192,XG=8,BG=2e3,UG=1e4,y_=2,FG=1e3,jG=500,Tw=class{processes=new Map;listeners=new Set;maxProcesses;maxPtyProcesses;ptyAdapter;disposeShutdown;constructor(e={}){this.maxProcesses=Np(e.maxProcesses,DG),this.maxPtyProcesses=Np(e.maxPtyProcesses,LG),(e.registerCleanup??!0)&&(this.disposeShutdown=co(()=>this.terminateAll({force:!0})))}registerPtyAdapter(e){return this.ptyAdapter=e,()=>{this.ptyAdapter===e&&(this.ptyAdapter=void 0)}}getPtyCapability(){return this.ptyAdapter?{available:!0,adapter:this.ptyAdapter.name??"registered"}:{available:!1}}onEvent(e){return this.listeners.add(e),()=>this.listeners.delete(e)}start(e,n={}){if(this.pruneTerminalProcesses(),this.processes.size>=this.maxProcesses)throw new Fn("PROCESS_LIMIT",`Too many managed exec processes (${this.maxProcesses})`);let r=e.trim();if(!r)throw new Error("exec.start requires a non-empty command");let o=n.tty?"pty":"pipe";if(o==="pty"&&this.countPtyProcesses()>=this.maxPtyProcesses)throw new Fn("PROCESS_LIMIT",`Too many managed PTY processes (${this.maxPtyProcesses})`);if(o==="pty"&&dn(n.sandbox))throw new Fn("PTY_UNAVAILABLE","Process-hardened and contained interactive terminals are not supported");if(n.invocation&&(o==="pty"||dn(n.sandbox)))throw new Fn("INVOCATION_UNSUPPORTED","An explicit interpreter runs pipe-backed and unsecured only; a secured launch wraps the platform shell");let i=n.cwd??process.cwd(),s=new Date().toISOString(),a=o==="pty"?w_(n.cols,n.rows):void 0,c={id:OG(),command:r,cwd:i,mode:o,interactive:o==="pty",...a??{},ownerSessionId:n.ownerSessionId,origin:n.origin??"app_server",presentation:n.presentation??"background",status:"running",startedAt:s,lastActivityAt:s,outputBytes:0};if(o==="pty"&&!this.ptyAdapter)throw c.status="failed",c.endedAt=new Date().toISOString(),c.completionReason="spawn_error",this.emit({type:"process.pty_unavailable",process:c}),new Fn("PTY_UNAVAILABLE","Interactive terminal adapter is unavailable");try{let l=o==="pty"?this.startPty(c,n,a):this.startPipe(c,n);return this.processes.set(c.id,l),this.armTimeout(l,n.timeoutMs),this.emit({type:"process.started",process:c}),ks(c)}catch(l){c.status="failed",c.endedAt=new Date().toISOString(),c.completionReason="spawn_error";let d=l instanceof Error?l.message:String(l);throw this.emit({type:"process.failed",process:c,error:d}),l instanceof Fn?l:new Fn("SPAWN_ERROR",d)}}writeStdin(e,n,r={}){let o=this.processes.get(e);if(!o||o.meta.status!=="running")return!1;let i=r.source??"app_server";if(o.writerLease&&i!=="human")return!1;try{if(o.mode==="pty")o.pty.write(n);else{if(!o.child.stdin||o.child.stdin.destroyed)return!1;o.child.stdin.write(n)}return o.lastUsedMs=Date.now(),o.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.input",process:o.meta,inputSource:i,inputBytes:Buffer.byteLength(n,"utf8")}),!0}catch{return!1}}readOutput(e){let n=this.processes.get(e);return n?(n.lastUsedMs=Date.now(),{process:ks(n.meta),output:n.output.toBuffer().toString("utf8"),totalBytes:n.meta.outputBytes,truncated:n.output.omittedBytes>0,omittedBytes:n.output.omittedBytes}):null}readOutputDelta(e,n=0,r={}){let o=this.processes.get(e);if(!o)return null;o.lastUsedMs=Date.now();let i=o.chunks.read(n,r);return{process:ks(o.meta),...i}}resize(e,n,r){let o=this.processes.get(e);if(!o||o.mode!=="pty"||o.meta.status!=="running")return!1;let i;try{i=w_(n,r,!1),o.pty.resize(i.cols,i.rows)}catch{return!1}return o.meta.cols=i.cols,o.meta.rows=i.rows,o.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.resized",process:o.meta}),!0}acquireWriterLease(e,n="human"){let r=this.processes.get(e);return!r||r.meta.status!=="running"||r.writerLease?!1:(r.writerLease=n,this.emit({type:"process.attached",process:r.meta}),!0)}releaseWriterLease(e,n="human"){let r=this.processes.get(e);return!r||r.writerLease!==n?!1:(r.writerLease=void 0,this.emit({type:"process.detached",process:r.meta}),!0)}hasWriterLease(e){return!!this.processes.get(e)?.writerLease}updatePresentation(e,n){let r=this.processes.get(e);if(!r||r.meta.status!=="running")return!1;let o=r.meta.presentation??"background";return o===n||(r.meta.presentation=n,r.meta.lastActivityAt=new Date().toISOString(),this.emit({type:"process.presentation_changed",process:r.meta,previousPresentation:o})),!0}terminate(e,n={}){let r=this.processes.get(e);if(!r||this.hasExited(e))return!1;let o=n.reason??"terminated";return r.terminationReason||(r.terminationReason=o),S_(r),kw(r,n.force??!1)?(!n.force&&!r.forceTimer&&(r.forceTimer=setTimeout(()=>{this.hasExited(e)||kw(r,!0)},BG),r.forceTimer.unref?.()),!0):!1}terminateOwner(e,n={}){let r=0;for(let o of this.processes.values())o.meta.ownerSessionId!==e||this.hasExited(o.meta.id)||this.terminate(o.meta.id,{force:n.force})&&(r+=1);return r}terminateAll(e={}){let n=0;for(let r of this.processes.values())this.hasExited(r.meta.id)||this.terminate(r.meta.id,{force:e.force})&&(n+=1);return n}list(e={}){return Array.from(this.processes.values()).filter(n=>!e.ownerSessionId||n.meta.ownerSessionId===e.ownerSessionId).map(n=>ks(n.meta))}get(e){let n=this.processes.get(e);return n?ks(n.meta):null}hasExited(e){let n=this.processes.get(e);return n?n.exitObserved===!0||n.mode==="pipe"&&(typeof n.child.exitCode=="number"||typeof n.child.signalCode=="string"):!1}remove(e){let n=this.processes.get(e);return!n||!this.hasExited(e)?!1:(!n.exitObserved&&n.mode==="pipe"&&(this.observeExit(n),this.finalize(n,{exitCode:n.child.exitCode,signal:n.child.signalCode})),v_(n),n.mode==="pty"&&(n.disposeData(),n.disposeExit()),this.processes.delete(e))}dispose(){this.terminateAll({force:!0}),this.disposeShutdown?.(),this.disposeShutdown=void 0,this.listeners.clear()}startPipe(e,n){let r=Rw()==="win32",o=b_(n.env,!1),i=n.sandbox&&dn(n.sandbox)?ja(e.command,{...n.sandbox,workingDirectory:e.cwd},process.platform,o,n.timeoutMs):null,s=null;if(r&&!i&&!n.invocation)try{s=fT(e.command,e.cwd)}catch{s=null}let a=i?.file??s?.file??n.invocation?.file??(r?process.env.COMSPEC??"cmd.exe":process.env.SHELL??"/bin/bash"),c=i?.args??s?.args??n.invocation?.args??(r?["/d","/s","/c",`"${e.command}"`]:["-lc",e.command]);e.processTreeAdapter=i?i.effectiveLevel:s?"windows-job-object":r?"windows-tree-fallback":"posix-process-group",e.processTreeCleanupVerified=!!(i||s||!r);let l=x_(a,c,{cwd:i?.hostCwd??s?.hostCwd??e.cwd,env:{...o,...i?.env??s?.env??{}},stdio:[n.stdin==="ignore"?"ignore":"pipe","pipe","pipe"],windowsHide:!0,detached:!r,windowsVerbatimArguments:r&&!i&&!s&&!n.invocation});e.pid=l.pid;let d={mode:"pipe",meta:e,child:l,output:new Dp(Math.max(1024,n.maxOutputBytes??g_)),chunks:new Op,stdoutDecoder:new f_("utf8"),stderrDecoder:new f_("utf8"),lastUsedMs:Date.now()};l.stdout?.on("data",p=>this.captureBuffer(d,"stdout",p)),l.stderr?.on("data",p=>this.captureBuffer(d,"stderr",p)),l.once("spawn",()=>A_(d)),l.on("error",p=>{l.pid==null&&this.observeExit(d),this.finalize(d,{error:p})}),l.on("close",(p,m)=>{this.observeExit(d),this.finalize(d,{exitCode:p,signal:m})});let u=Math.max(1,n.startupTimeoutMs??UG);return d.startupTimer=setTimeout(()=>{d.meta.status==="running"&&(kw(d,!0),this.finalize(d,{error:new Error(`Process startup exceeded ${u}ms`)}))},u),d.startupTimer.unref?.(),d}startPty(e,n,r){let o=qG(e.command),i=this.ptyAdapter.spawn({file:o.file,args:o.args,cwd:e.cwd,env:b_(n.env,!0),cols:r.cols,rows:r.rows});e.pid=i.pid;let s={mode:"pty",meta:e,pty:i,output:new Dp(Math.max(1024,n.maxOutputBytes??g_)),chunks:new Op,lastUsedMs:Date.now(),disposeData:()=>{},disposeExit:()=>{}};return s.disposeData=i.onData(a=>this.captureText(s,"stdout",a)),s.disposeExit=i.onExit(a=>{this.observeExit(s),this.finalize(s,{exitCode:a.exitCode,signalNumber:a.signal??null})}),s}observeExit(e){e.exitObserved||(e.exitObserved=!0,this.emit({type:"process.settled",process:e.meta}))}captureBuffer(e,n,r){e.meta.outputBytes+=r.length,e.meta.lastActivityAt=new Date().toISOString(),e.output.push(r);let o=n==="stdout"?e.stdoutDecoder:e.stderrDecoder;this.appendText(e,n,o.write(r))}captureText(e,n,r){if(!r)return;let o=Buffer.from(r,"utf8");e.meta.outputBytes+=o.length,e.meta.lastActivityAt=new Date().toISOString(),e.output.push(o),this.appendText(e,n,r)}appendText(e,n,r){for(let o of VG(r,$G)){let i=e.chunks.append(n,o);this.emit({type:"process.output",process:e.meta,chunk:i})}}finalize(e,n){if(e.meta.status==="running"){if(e.mode==="pipe"&&(this.appendText(e,"stdout",e.stdoutDecoder.end()),this.appendText(e,"stderr",e.stderrDecoder.end())),v_(e),e.writerLease=void 0,e.meta.endedAt=new Date().toISOString(),e.meta.lastActivityAt=e.meta.endedAt,e.meta.exitCode=n.exitCode??null,e.meta.signal=n.signal??null,e.meta.signalNumber=n.signalNumber??null,n.error&&!e.terminationReason){e.meta.status="failed",e.meta.completionReason="spawn_error",this.emit({type:"process.failed",process:e.meta,error:n.error.message});return}if(e.terminationReason){e.meta.status="terminated",e.meta.completionReason=e.terminationReason,this.emit({type:e.terminationReason==="output_limit"?"process.output_limit":"process.terminated",process:e.meta});return}e.meta.status="exited",e.meta.completionReason="exit",this.emit({type:"process.exited",process:e.meta})}}armTimeout(e,n){!n||n<=0||(e.timeout=setTimeout(()=>{this.terminate(e.meta.id,{reason:"timeout"})},n),e.timeout.unref?.())}countPtyProcesses(){let e=0;for(let n of this.processes.values())n.mode==="pty"&&n.meta.status==="running"&&(e+=1);return e}pruneTerminalProcesses(){if(this.processes.size<this.maxProcesses)return;let e=Array.from(this.processes.entries()),n=new Set(e.slice().sort((o,i)=>i[1].lastUsedMs-o[1].lastUsedMs).slice(0,XG).map(([o])=>o)),r=e.filter(([o])=>!n.has(o)&&this.hasExited(o)).sort((o,i)=>o[1].lastUsedMs-i[1].lastUsedMs)[0];r&&this.remove(r[0])}emit(e){let n={...e,process:ks(e.process),chunk:e.chunk?{...e.chunk}:void 0,timestamp:new Date().toISOString()};for(let r of this.listeners)try{r(n)}catch{}}},Lp=new Tw;Op=class{maxChunks;chunks=[];nextId=1;constructor(e=h_){this.maxChunks=Math.max(1,Math.floor(e))}get earliestCursor(){return this.chunks[0]?.id??this.nextId}append(e,n){let r={id:this.nextId,stream:e,text:n,bytes:Buffer.byteLength(n,"utf8"),timestamp:new Date().toISOString()};for(this.nextId+=1,this.chunks.push(r);this.chunks.length>this.maxChunks;)this.chunks.shift();return{...r}}read(e,n={}){let r=zG(e,this.nextId),o=this.earliestCursor,i=Math.max(r,o),s=Np(n.maxChunks,h_),a=Np(n.maxBytes,NG),c=[],l=0;for(let u of this.chunks)if(!(u.id<i)&&(c.length>=s||c.length>0&&l+u.bytes>a||(c.push({...u}),l+=u.bytes,l>=a)))break;let d=c.length>0?c[c.length-1].id+1:i;return{cursor:r,nextCursor:d,earliestCursor:o,chunks:c,text:c.map(u=>u.text).join(""),bytes:l,missedChunks:Math.max(0,o-r),hasMore:d<this.nextId}}};Dp=class{headBudget;tailBudget;head=Buffer.alloc(0);tail=Buffer.alloc(0);omittedBytes=0;constructor(e){let n=Math.max(1,Math.floor(e));this.headBudget=Math.floor(n/2),this.tailBudget=n-this.headBudget}push(e){if(e.length!==0){if(this.head.length<this.headBudget){let n=this.headBudget-this.head.length,r=e.subarray(0,n);r.length>0&&(this.head=Buffer.concat([this.head,r]));let o=e.subarray(r.length);o.length>0&&this.pushTail(o);return}this.pushTail(e)}}toBuffer(){return Buffer.concat([this.head,this.tail])}pushTail(e){if(this.tailBudget<=0){this.omittedBytes+=e.length;return}let n=Buffer.concat([this.tail,e]);if(n.length<=this.tailBudget){this.tail=n;return}let r=n.length-this.tailBudget;this.omittedBytes+=r,this.tail=n.subarray(r)}}});import{createHash as GG,randomUUID as WG}from"node:crypto";import{closeSync as JG,createWriteStream as I_,existsSync as KG,mkdirSync as YG,openSync as QG,readSync as P_,rmSync as E_,statSync as k_}from"node:fs";import{join as Cw,resolve as T_,sep as ZG}from"node:path";function $p(t){return{...t,expectedOutputs:t.expectedOutputs?.map(e=>({...e}))}}function Ow(t,e){return!Number.isFinite(t??Number.NaN)||(t??0)<=0?e:Math.floor(t)}function R_(t,e){if(e<=0||!t)return"";if(Buffer.byteLength(t,"utf8")<=e)return t;let n="",r=0;for(let o of t){let i=Buffer.byteLength(o,"utf8");if(r+i>e)break;n+=o,r+=i}return n}function c6(t,e,n){let r=e,o=Buffer.alloc(1);for(;r<n&&r<e+3&&!(P_(t,o,0,1,r)!==1||(o[0]&192)!==128);)r+=1;return r}function l6(t,e,n){if(e<=0||n)return e;let r=e-1;for(;r>=0&&(t[r]&192)===128;)r-=1;if(r<0)return 0;let o=t[r],i=o<128?1:o<224?2:o<240?3:4;return e-r<i?r:e}var _w,e6,t6,n6,r6,o6,i6,s6,Mw,a6,Xp,de,di=T(()=>{"use strict";Pw();Es();Qe();_w=64*1024,e6=256*1024*1024,t6=1024*1024,n6=5*6e4,r6=3,o6=10*6e4,i6=6,s6=/\b(?:qemu-system(?:-[\w-]+)?|qemu-kvm|sshd?|ssh\b|python(?:3)?\s+-m\s+http\.server|python(?:3)?\s+(?:-u\s+)?(?:[^\s;&|]*\/)?(?:[\w.-]*(?:app|server|service|api|main)[\w.-]*)\.py\b|(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:dev|start|serve)|node\s+.*(?:server|app)|uvicorn|gunicorn|flask\s+run|fastapi\s+run|docker\s+run|docker\s+compose\s+up|kubectl\s+port-forward|socat\b|(?:nc|ncat|netcat)\b\s+.*(?:-[^\s]*l|--listen\b)|nginx\b|redis-server\b|postgres\b|mysqld\b|mongod\b|emulator\b|xvfb-run\b)/i,Mw=/\b(?:caffe\s+train|fasttext\b|fit\s*\(|model\.fit|trainer\.fit|solver=|max_iter|epochs?|caffemodel|training_output)\b/i,a6=/\b(?:make|ninja|cmake\s+--build|cargo\s+(?:build|test)|npm\s+(?:run\s+)?(?:build|test)|pnpm\s+(?:run\s+)?(?:build|test)|yarn\s+(?:build|test)|pytest|python(?:3)?\b[\s\S]{0,120}\b(?:train|fit|epoch|benchmark|optimi[sz]e|search)|caffe(?:\.bin)?\s+train)\b/i,Xp=class{constructor(e,n=Lp,r={}){this.execManager=n;this.explicitTaskDir=e,this.maxOutputFileBytes=Ow(r.maxOutputFileBytes,e6),this.maxPendingWriteBytes=Ow(r.maxPendingWriteBytes,t6),this.disposeExecEvents=this.execManager.onEvent(o=>this.handleExecEvent(o)),(r.registerCleanup??!0)&&(this.disposeShutdown=co(()=>this.killAll()))}execManager;managerInstanceId=WG();cleanupFences=new Set;states=new Map;processToTask=new Map;listeners=new Set;counter=0;onComplete=null;explicitTaskDir;resolvedTaskDir;get taskDir(){return this.resolvedTaskDir===void 0&&(this.resolvedTaskDir=T_(this.explicitTaskDir??Cw(we(),"background-tasks"))),this.resolvedTaskDir}maxOutputFileBytes;maxPendingWriteBytes;disposeExecEvents;disposeShutdown;onTaskComplete(e){this.onComplete=e}onTaskEvent(e){return this.listeners.add(e),()=>this.listeners.delete(e)}waitForChange(e,n,r,o){let i=this.states.get(e)?.task;return!i||i.status!=="running"||i.outputSize>n||r<=0?Promise.resolve(i?$p(i):null):new Promise(s=>{let a=!1,c=()=>{if(a)return;a=!0,d(),u&&clearTimeout(u),o?.removeEventListener("abort",l);let p=this.states.get(e)?.task;s(p?$p(p):null)},l=()=>c(),d=this.onTaskEvent(p=>{p.task.id===e&&(p.type==="task.output"||p.type==="task.completed"||p.type==="task.promoted")&&c()}),u=setTimeout(c,Math.max(1,r));o?.aborted?c():o?.addEventListener("abort",l,{once:!0})})}spawn(e,n={}){this.assertOwnerAdmission(n.ownerSessionId),this.counter+=1;let r=`bg_task_${this.counter}`,o=this.resolveOwnerDir(n.ownerSessionId);this.ensureDir(o);let i=Cw(o,`${r}.output`),s=I_(i,{flags:"w",encoding:"utf8",mode:384}),a=n.presentation??"background",c;try{c=this.execManager.start(e,{cwd:n.cwd,env:n.env,timeoutMs:n.timeout,tty:n.tty,cols:n.cols,rows:n.rows,ownerSessionId:n.ownerSessionId,stdin:n.tty?"pipe":"ignore",presentation:a,origin:n.origin??"model_tool",sandbox:n.sandbox,...n.invocation?{invocation:n.invocation}:{}})}catch(p){s.destroy();try{E_(i,{force:!0})}catch{}throw p}let l=Date.parse(c.startedAt),d={id:r,displayName:n.displayName,command:e,pid:c.pid??-1,status:c.status==="running"?"running":"failed",exitCode:c.exitCode??null,startedAt:Number.isFinite(l)?l:Date.now(),endedAt:c.endedAt?Date.parse(c.endedAt):null,cwd:c.cwd,outputFile:i,outputSize:0,lastObservedAt:Date.now(),lastOutputAt:Date.now(),lastObservedOutputSize:0,pollCount:0,unchangedPollCount:0,processId:c.id,ownerSessionId:c.ownerSessionId,mode:c.mode??"pipe",interactive:c.interactive??!1,presentation:a,origin:c.origin??"model_tool",attached:!1,cols:c.cols,rows:c.rows,completionReason:c.completionReason,operationId:n.operationId,completionPolicy:n.completionPolicy,expectedOutputs:n.expectedOutputs?.map(p=>({...p})),external:!1,processTreeAdapter:c.processTreeAdapter,processTreeCleanupVerified:c.processTreeCleanupVerified},u={task:d,writer:s,pendingWriteBytes:0,acceptedOutputBytes:0,completed:!1,completionArmed:a==="background",deleteOnComplete:!1};return this.states.set(r,u),this.processToTask.set(c.id,r),s.on("error",()=>this.handleOutputFailure(u)),this.emit({type:"task.started",task:d}),c.status!=="running"&&this.completeFromProcess(u,c),r}registerExternal(e){this.assertOwnerAdmission(e.ownerSessionId),this.counter+=1;let n=`bg_task_${this.counter}`,r=this.resolveOwnerDir(e.ownerSessionId);this.ensureDir(r);let o=Cw(r,`${n}.output`),i=I_(o,{flags:"w",encoding:"utf8",mode:384}),s=Date.now(),a={id:n,command:e.command,pid:e.pid,status:"running",exitCode:null,startedAt:s,endedAt:null,cwd:e.cwd,outputFile:o,outputSize:0,lastObservedAt:s,lastOutputAt:s,lastObservedOutputSize:0,pollCount:0,unchangedPollCount:0,ownerSessionId:e.ownerSessionId,mode:"pipe",interactive:!1,presentation:e.presentation??"foreground",origin:e.origin??"model_tool",attached:!1,operationId:e.operationId,completionPolicy:e.completionPolicy,expectedOutputs:e.expectedOutputs?.map(l=>({...l})),external:!0,processTreeAdapter:e.processTreeAdapter,processTreeCleanupVerified:e.processTreeCleanupVerified},c={task:a,writer:i,pendingWriteBytes:0,acceptedOutputBytes:0,completed:!1,completionArmed:a.presentation==="background",deleteOnComplete:!1,externalStop:e.stop};return this.states.set(n,c),i.on("error",()=>this.handleOutputFailure(c)),this.emit({type:"task.started",task:a}),n}appendExternalOutput(e,n,r){let o=this.states.get(e);return!o||!o.task.external||o.completed||o.task.status!=="running"?!1:(this.appendOutput(o,{id:o.acceptedOutputBytes,stream:n,text:r,bytes:Buffer.byteLength(r,"utf8"),timestamp:new Date().toISOString()}),!0)}completeExternal(e,n,r="exit"){let o=this.states.get(e);return!o||!o.task.external||o.completed?!1:(this.completeState(o,{status:r==="terminated"||r==="timeout"?"terminated":n===0?"exited":"failed",exitCode:n,endedAt:new Date().toISOString(),completionReason:r}),!0)}getOutput(e,n=0,r=_w){let o=this.states.get(e);if(!o)return null;let i=o.task,s="",a=0,c=i.outputSize;try{c=k_(i.outputFile).size;let d=Math.max(0,Math.min(n,c)),u=QG(i.outputFile,"r");try{d=c6(u,d,c);let p=Math.max(1,Math.min(_w,Math.floor(r),c-d)),m=Buffer.alloc(p),g=P_(u,m,0,m.length,d);a=l6(m,g,d+g>=c),s=m.toString("utf8",0,a)}finally{JG(u)}return c-d>a&&(s+=`
1164
1164
  ... (output truncated, use offset to read more)`),this.buildOutputSnapshot(i,s,a,c,d+a)}catch{let l=i.processId?this.execManager.readOutput(i.processId):null;return l&&n===0&&(s=R_(l.output,Ow(r,_w)),a=Buffer.byteLength(s,"utf8"),c=l.totalBytes),this.buildOutputSnapshot(i,s,a,c,Math.max(0,n+a))}}writeInput(e,n,r="agent"){let o=this.states.get(e)?.task;return!o?.processId||o.status!=="running"||!o.interactive?!1:this.execManager.writeStdin(o.processId,n,{source:r})}resize(e,n,r){let o=this.states.get(e)?.task;if(!o?.processId||o.status!=="running"||!o.interactive)return!1;let i=this.execManager.resize(o.processId,n,r);return i&&(o.cols=n,o.rows=r),i}acquireHumanWriter(e){let n=this.states.get(e)?.task;if(!n?.processId||!n.interactive||n.status!=="running")return!1;let r=this.execManager.acquireWriterLease(n.processId);return r&&(n.attached=!0),r}releaseHumanWriter(e){let n=this.states.get(e)?.task;if(!n?.processId)return!1;let r=this.execManager.releaseWriterLease(n.processId);return r&&(n.attached=!1),r}isHumanAttached(e){let n=this.states.get(e)?.task;return!!(n?.processId&&this.execManager.hasWriterLease(n.processId))}promoteToBackground(e){let n=this.states.get(e);if(!n||n.task.status!=="running")return!1;if(n.task.presentation==="background")return!0;if(n.task.processId){if(!this.execManager.updatePresentation(n.task.processId,"background"))return!1}else if(!n.task.external)return!1;return n.task.presentation="background",n.completionArmed=!0,this.emit({type:"task.promoted",task:n.task}),!0}setCompletionPolicy(e,n){let r=this.states.get(e)?.task;return r?(r.completionPolicy=n,!0):!1}stop(e){let n=this.states.get(e),r=n?.task;return!r||r.status!=="running"?!1:r.processId?this.execManager.terminate(r.processId,{reason:"terminated"}):r.external&&n?.externalStop?(r.completionReason="terminated",n.externalStop(),!0):!1}list(e={}){return Array.from(this.states.values()).map(n=>n.task).filter(n=>e.includeForeground||n.presentation!=="foreground").filter(n=>!e.ownerSessionId||n.ownerSessionId===e.ownerSessionId)}get(e){return this.states.get(e)?.task??null}getOwned(e,n){let r=this.states.get(e)?.task;return r?.ownerSessionId===n?$p(r):null}shouldDrainAtIterationBudget(e){return e.status!=="running"||e.presentation==="foreground"||this.shouldPreserveForVerifier(e)?!1:Mw.test(e.command)||a6.test(e.command)}cleanupOwner(e,n={}){let r=0;for(let[o,i]of this.states)i.task.ownerSessionId===e&&(i.task.status==="running"&&(n.deleteOutputs&&(i.deleteOnComplete=!0),this.stop(o)),n.deleteOutputs&&i.task.status!=="running"&&this.deleteOutput(o),r+=1);return r}captureOwnerCleanup(e){if(!e.trim())throw new Error("An exact process owner is required");return{schemaVersion:1,managerInstanceId:this.managerInstanceId,ownerSessionId:e,tasks:this.list({ownerSessionId:e,includeForeground:!0}).map(n=>({taskId:n.id,...n.processId?{processId:n.processId}:{},...n.operationId?{operationId:n.operationId}:{}}))}}sealOwnerAdmission(e,n){let r=this.validateCleanupAuthority(e,n);if(r)return{settled:!1,taskIds:[],pendingTaskIds:[],unknownTaskIds:r,error:"Owner execution authority is missing or belongs to another manager epoch"};this.cleanupFences.add(e);let o=this.list({ownerSessionId:e,includeForeground:!0}),i=o.filter(a=>!this.states.get(a.id)?.exitObserved&&(!a.processId||!this.execManager.get(a.processId))).map(a=>a.id),s=o.filter(a=>!this.states.get(a.id)?.exitObserved&&a.processId&&this.execManager.get(a.processId)&&!this.execManager.hasExited(a.processId)).map(a=>a.id);return{settled:!s.length&&!i.length,taskIds:o.map(a=>a.id),pendingTaskIds:s,unknownTaskIds:i}}async cleanupOwnerAndWait(e,n){if(n.timeoutMs!==void 0&&(!Number.isSafeInteger(n.timeoutMs)||n.timeoutMs<0||n.timeoutMs>3e4))throw new Error("Cleanup timeout must be an integer between 0 and 30000 milliseconds");let r=this.validateCleanupAuthority(e,n.authority);if(r)return{settled:!1,taskIds:[],pendingTaskIds:[],unknownTaskIds:r,error:"Owner execution authority is missing or belongs to another manager epoch"};this.cleanupFences.add(e);let o=this.list({ownerSessionId:e,includeForeground:!0}),i=o.map(a=>a.id);for(let a of o)if(a.processId&&!this.execManager.hasExited(a.processId))this.execManager.terminate(a.processId,{reason:"terminated"});else if(a.external&&a.status==="running")try{this.states.get(a.id)?.externalStop?.()}catch{}let s=Date.now()+(n.timeoutMs??5e3);for(;;){let a=o.filter(l=>!this.states.get(l.id)?.exitObserved&&(!l.processId||!this.execManager.get(l.processId))).map(l=>l.id),c=o.filter(l=>!this.states.get(l.id)?.exitObserved&&l.processId&&this.execManager.get(l.processId)&&!this.execManager.hasExited(l.processId)).map(l=>l.id);if(!c.length||Date.now()>=s)return{settled:!c.length&&!a.length,taskIds:i,pendingTaskIds:c,unknownTaskIds:a};await new Promise(l=>setTimeout(l,Math.min(25,Math.max(1,s-Date.now()))))}}restoreOwnerAdmission(e,n){return this.validateCleanupAuthority(e,n)||this.list({ownerSessionId:e,includeForeground:!0}).some(o=>!this.states.get(o.id)?.exitObserved&&(!o.processId||!this.execManager.hasExited(o.processId)))?!1:(this.cleanupFences.delete(e),!0)}validateCleanupAuthority(e,n){if(!e.trim()||n?.schemaVersion!==1||n.managerInstanceId!==this.managerInstanceId||n.ownerSessionId!==e||!Array.isArray(n.tasks))return["owner-authority"];let r=n.tasks.filter(o=>{if(!o||typeof o.taskId!="string")return!0;let i=this.states.get(o.taskId)?.task;return!i||i.ownerSessionId!==e||i.operationId!==o.operationId||i.processId!==o.processId}).map(o=>o?.taskId??"invalid-task");return r.length?r:null}assertOwnerAdmission(e){if(e&&this.cleanupFences.has(e))throw new Error("Owner process admission is fenced for lifecycle cleanup")}deleteOutput(e){let n=this.states.get(e);if(!n||n.task.status==="running")return!1;try{return E_(n.task.outputFile,{force:!0}),!0}catch{return!1}}killAll(){for(let[e,n]of this.states)n.task.status==="running"&&this.stop(e)}dispose(){this.killAll(),this.disposeExecEvents(),this.disposeShutdown?.(),this.disposeShutdown=void 0;for(let e of this.states.values())e.writer.destroy();this.listeners.clear()}formatDuration(e){let n=Math.floor(e/1e3);if(n<60)return`${n}s`;let r=Math.floor(n/60),o=n%60;if(r<60)return`${r}m ${o}s`;let i=Math.floor(r/60),s=r%60;return`${i}h ${s}m ${o}s`}handleExecEvent(e){let n=this.processToTask.get(e.process.id);if(!n)return;let r=this.states.get(n);if(r){if(e.type==="process.settled"){r.exitObserved=!0,r.completed&&this.processToTask.delete(e.process.id);return}if(e.type==="process.output"&&e.chunk){this.appendOutput(r,e.chunk);return}if(e.type==="process.presentation_changed"){r.task.presentation=e.process.presentation;return}(e.type==="process.exited"||e.type==="process.failed"||e.type==="process.terminated"||e.type==="process.output_limit")&&this.completeFromProcess(r,e.process)}}appendOutput(e,n){if(e.completed)return;let r=this.maxOutputFileBytes-e.acceptedOutputBytes;if(r<=0){this.stopForOutputLimit(e);return}let o=R_(n.text,r),i=Buffer.byteLength(o,"utf8");i>0&&(e.pendingWriteBytes+=i,e.acceptedOutputBytes+=i,e.task.outputSize=e.acceptedOutputBytes,e.task.lastOutputAt=Date.now(),e.writer.write(o,"utf8",()=>{e.pendingWriteBytes=Math.max(0,e.pendingWriteBytes-i)}),this.emit({type:"task.output",task:e.task,chunk:{...n,text:o,bytes:i}})),(i<n.bytes||e.pendingWriteBytes>this.maxPendingWriteBytes)&&this.stopForOutputLimit(e)}stopForOutputLimit(e){e.task.status==="running"&&(e.task.completionReason="output_limit",e.task.processId?this.execManager.terminate(e.task.processId,{reason:"output_limit"}):e.externalStop?.())}handleOutputFailure(e){e.completed||(e.task.completionReason="spawn_error",e.task.processId?this.execManager.terminate(e.task.processId,{reason:"terminated"}):e.externalStop?.())}completeFromProcess(e,n){this.completeState(e,n)}completeState(e,n){if(e.completed||n.status==="running")return;e.completed=!0;let r=e.task;r.exitCode=n.exitCode??null,r.endedAt=n.endedAt?Date.parse(n.endedAt):Date.now(),r.completionReason=r.completionReason??n.completionReason??"exit",r.cols=n.cols??r.cols,r.rows=n.rows??r.rows,r.processTreeAdapter=n.processTreeAdapter??r.processTreeAdapter,r.processTreeCleanupVerified=n.processTreeCleanupVerified??r.processTreeCleanupVerified,r.attached=!1;let o=n.status==="terminated"?"killed":n.status==="failed"||(r.exitCode??1)!==0?"failed":"completed";n.id&&e.exitObserved&&this.processToTask.delete(n.id),e.writer.end(()=>{r.status=o;try{r.outputSize=k_(r.outputFile).size}catch{}this.emit({type:"task.completed",task:r}),e.completionArmed&&r.presentation==="background"&&this.onComplete?.(r),e.deleteOnComplete&&this.deleteOutput(r.id)})}buildOutputSnapshot(e,n,r,o,i){let s=Date.now(),a=Math.max(0,o-e.lastObservedOutputSize);e.outputSize=o,e.pollCount+=1,e.lastObservedAt=s,a>0?(e.lastOutputAt=s,e.unchangedPollCount=0,e.lastObservedOutputSize=o):e.status==="running"&&(e.unchangedPollCount+=1);let c=(e.endedAt??s)-e.startedAt,l=e.status==="running"?Math.max(0,s-e.lastOutputAt):0,d=this.getProgressState(e,l,a);return{output:n,bytesRead:r,totalSize:o,status:e.status,exitCode:e.exitCode,command:e.command,elapsedMs:c,idleMs:l,outputDeltaBytes:a,pollCount:e.pollCount,unchangedPollCount:e.unchangedPollCount,nextOffset:i,lastLines:this.extractLastLines(n),progressState:d,suggestedNextAction:this.getSuggestedNextAction(e,d),mode:e.mode,interactive:e.interactive,presentation:e.presentation,completionReason:e.completionReason}}getProgressState(e,n,r){if(e.status!=="running")return"finished";if(r>0)return"active";let o=Mw.test(e.command),i=o?o6:n6,s=o?i6:r6;return n>=i&&e.unchangedPollCount>=s?"stalled":"idle"}extractLastLines(e){return e.split(/\r?\n/).map(n=>n.trimEnd()).filter(n=>n.length>0).slice(-8)}getSuggestedNextAction(e,n){return n==="finished"?e.exitCode===0?"Task finished successfully; validate the generated artifact or service state before finalizing.":"Task finished unsuccessfully; inspect the last error and run a smaller targeted repair command.":n==="active"?"Output is still changing; continue polling with the next_offset only if this task is expected to keep producing progress.":Mw.test(e.command)&&e.status==="running"?"Finite model-training jobs can be quiet for minutes; do not stop it solely for missing output. Poll with a larger interval or run a bounded artifact/liveness check, then wait until it finishes or the configured timeout is near.":n==="stalled"?"No output progress across repeated polls; checkpoint the best current artifact, inspect process liveness, then pivot or stop the task instead of waiting indefinitely.":"No new output yet; poll again once, or switch to a bounded readiness/artifact check if the next poll also has no progress."}resolveOwnerDir(e){if(!e)return this.taskDir;let n=GG("sha256").update(e).digest("hex").slice(0,32),r=T_(this.taskDir,n);if(r!==this.taskDir&&!r.startsWith(`${this.taskDir}${ZG}`))throw new Error("Invalid background task owner path");return r}ensureDir(e){KG(e)||YG(e,{recursive:!0,mode:448})}shouldPreserveForVerifier(e){return s6.test(e.command)}emit(e){let n={...e,task:$p(e.task),chunk:e.chunk?{...e.chunk}:void 0};for(let r of this.listeners)try{r(n)}catch{}}},de=new Xp});import{randomUUID as d6}from"node:crypto";import{spawn as u6,spawnSync as p6}from"node:child_process";import{existsSync as m6,mkdirSync as f6,readFileSync as g6,rmSync as C_}from"node:fs";import{tmpdir as h6}from"node:os";import{join as N_,resolve as __}from"node:path";function Bp(t){return t.replace(/\r?\n$/,"")}function L_(){let t=process.env.XENO_SHELL_CAPTURE_LIMIT_CHARS??process.env.XENO_SHELL_OUTPUT_BUFFER_CHARS,e=t?Number(t):M_;return!Number.isFinite(e)||e<=0?M_:Math.min(I6,Math.max(A6,Math.floor(e)))}function Nw(t,e,n,r=L_()){if(e.length===0)return{text:t,truncatedChars:n};let o=Math.max(1,Math.floor(r)),i=Math.floor(o/2),s=o-i;if(n>0){let d=t.slice(0,i),u=t.slice(i)+e,p=u.slice(Math.max(0,u.length-s)),m=Math.max(0,u.length-p.length);return{text:d+p,truncatedChars:n+m}}let a=t.length+e.length;if(a<=o)return{text:t+e,truncatedChars:n};let c=t+e,l=a-o;return{text:c.slice(0,i)+c.slice(Math.max(i,c.length-s)),truncatedChars:n+l}}function jn(t,e,n){let r=Bp(t);if(e<=0)return r;let o=`[xeno: ${n} truncated; omitted ${e} middle characters; preserved head and tail]`;return r?`${o}
1165
1165
  ${r}`:o}function E6(){let t=N_(h6(),`xeno-shell-control-${process.pid}`);return f6(t,{recursive:!0,mode:448}),t}function k6(){let t=d6(),e=N_(E6(),`${t}.result`);return{nonce:t,path:e,temporaryPath:`${e}.tmp`}}function Ts(t){return Buffer.from(t,"utf8").toString("base64")}function T6(t,e){let n=Ts(t),r=Ts(e.path),o=Ts(e.temporaryPath);return[`$__xeno_payload=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${n}'))`,`$__xeno_target=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${r}'))`,`$__xeno_temp=[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${o}'))`,"$__xeno_exit=0","$global:LASTEXITCODE=$null",`try{$__xeno_block=[ScriptBlock]::Create($__xeno_payload); . $__xeno_block; $__xeno_ok=$?; $__xeno_exit=if($null -ne $LASTEXITCODE){[int]$LASTEXITCODE}elseif($__xeno_ok){0}else{1}}catch{[Console]::Error.WriteLine(($_ | Out-String)); $__xeno_exit=1}finally{$__xeno_cwd=[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes((Get-Location).Path)); [IO.File]::WriteAllLines($__xeno_temp,@('${e.nonce}',[string]$__xeno_exit,$__xeno_cwd),[Text.UTF8Encoding]::new($false)); Move-Item -LiteralPath $__xeno_temp -Destination $__xeno_target -Force}`,"Remove-Variable __xeno_payload,__xeno_target,__xeno_temp,__xeno_exit,__xeno_block,__xeno_ok,__xeno_cwd -ErrorAction SilentlyContinue"].join(";")+`
1166
1166
  `}function R6(t,e){let n=Ts(t),r=Ts(e.path),o=Ts(e.temporaryPath);return[`__xeno_payload_b64='${n}'`,`__xeno_target_b64='${r}'`,`__xeno_temp_b64='${o}'`,`__xeno_decode(){ printf '%s' "$1" | base64 --decode 2>/dev/null || printf '%s' "$1" | base64 -D 2>/dev/null; }`,'__xeno_payload=$(__xeno_decode "$__xeno_payload_b64")','__xeno_target=$(__xeno_decode "$__xeno_target_b64")','__xeno_temp=$(__xeno_decode "$__xeno_temp_b64")','eval "$__xeno_payload"',"__xeno_exit=$?",`__xeno_cwd=$(printf '%s' "$PWD" | base64 | tr -d '\\r\\n')`,`printf '%s\\n%s\\n%s\\n' '${e.nonce}' "$__xeno_exit" "$__xeno_cwd" > "$__xeno_temp" && mv -f "$__xeno_temp" "$__xeno_target"`,"unset __xeno_payload_b64 __xeno_target_b64 __xeno_temp_b64 __xeno_payload __xeno_target __xeno_temp __xeno_exit __xeno_cwd","unset -f __xeno_decode"].join(`
@@ -2457,7 +2457,7 @@ try {
2457
2457
 
2458
2458
  ---
2459
2459
 
2460
- `));let h=t.systemPrompt??UN({cwd:e,model:n,date:t.date??new Date().toISOString().split("T")[0],identity:u,memory:g||void 0,sessionId:t.sessionId,executionMode:r}),y=t.dispatchAgent??(async w=>{let{createDelegatedXenoAgent:S}=await Promise.resolve().then(()=>(Zg(),NX)),{agent:x}=await S({cwd:e,apiKey:o,baseURL:i,model:n,...t.fallbackModels?{fallbackModels:t.fallbackModels}:{},...t.effort?{effort:t.effort}:{},maxTokens:Math.max(512,Math.min(t.maxTokens??DX,4096)),maxIterations:Math.max(3,Math.min(t.maxIterations??LX,12)),parentSystemPrompt:h,parentExecutionMode:r,subagentRole:"explorer",permissionEngine:d,...t.sandbox?{sandbox:t.sandbox}:{},...t.onPermissionRequest?{onPermissionRequest:t.onPermissionRequest}:{}}),A=()=>{x.cancelCurrentTurn()};if(w.signal?.aborted)throw A(),new Error("dispatch_agent was aborted before the helper started");w.signal?.addEventListener("abort",A,{once:!0});try{return{output:await x.run(w.prompt)}}finally{w.signal?.removeEventListener("abort",A)}});if(t.validateToolInputs===!1)throw new Error("Agent tool input validation cannot be disabled.");let b=t.toolRegistry??Qt({cwd:e,askUser:t.askUser,dispatchAgent:y,...t.webSearchApiKey?{webSearchApiKey:t.webSearchApiKey}:{},...t.permissionConfig?.profile?{permissionProfile:t.permissionConfig.profile}:{},...t.ownerSessionId?{ownerSessionId:t.ownerSessionId}:{},...t.getOwnerSessionId?{getOwnerSessionId:t.getOwnerSessionId}:{},...t.sandbox?{sandbox:t.sandbox}:{},...f?{memoryManager:f}:{},validateInputs:!0});return t.toolRegistry&&t.validateToolInputs===!0&&b.setValidateInputs(!0),{agent:new Ti({apiKey:o,baseURL:i,ollamaBaseURL:s,localRuntimeProtocol:t.localRuntimeProtocol,localTransportLimits:t.localTransportLimits,...(t.apiRequestTimeoutMs??l)!==void 0?{apiRequestTimeoutMs:t.apiRequestTimeoutMs??l}:{},model:n,...t.fallbackModels?{fallbackModels:t.fallbackModels}:{},...t.effort?{effort:t.effort}:{},maxTokens:t.maxTokens??DX,maxIterations:t.maxIterations??LX,maxContextTokens:t.maxContextTokens,maxContextMessages:t.maxContextMessages,compressionKeepRecentMessages:t.compressionKeepRecentMessages,contextCompressionLlm:t.contextCompressionLlm,tokenEstimator:t.tokenEstimator,tokenAccountingAdapter:t.tokenAccountingAdapter,queryIdleTimeoutMs:t.queryIdleTimeoutMs,queryLeaseTimeoutMs:t.queryLeaseTimeoutMs,queryHardTimeoutMs:t.queryHardTimeoutMs,...t.reserveFinalSynthesisTurn!==void 0?{reserveFinalSynthesisTurn:t.reserveFinalSynthesisTurn}:{},systemPrompt:h,requesterLabel:t.requesterLabel,ownerSessionId:t.ownerSessionId,getOwnerSessionId:t.getOwnerSessionId,executionMode:r,permissionEngine:d,toolRegistry:b,sandbox:t.sandbox,onPermissionRequest:t.onPermissionRequest,onText:t.onText,onToolStart:t.onToolStart,onToolWillExecute:t.onToolWillExecute,onToolEnd:t.onToolEnd,onIteration:t.onIteration,modelWorkAccounting:t.modelWorkAccounting,runAuthority:t.runAuthority,onError:t.onError,onTranscriptError:t.onTranscriptError,onRuntimeEvent:t.onRuntimeEvent,runtimeEventBus:t.runtimeEventBus,turnDiffTracker:t.turnDiffTracker,onTurnDiff:t.onTurnDiff,onModeSwitchRequest:t.onModeSwitchRequest,onExecutionModeChanged:t.onExecutionModeChanged,completionGuard:t.completionGuard,maxCompletionGuardReminders:t.maxCompletionGuardReminders,progressGuardEveryIterations:t.progressGuardEveryIterations,...t.toolMiddleware?{toolMiddleware:t.toolMiddleware}:{},...t.promptSections?{promptSections:t.promptSections}:{},...t.promptSectionsTokenBudget!==void 0?{promptSectionsTokenBudget:t.promptSectionsTokenBudget}:{},...t.completionGuards?{completionGuards:t.completionGuards}:{},...t.provider?{provider:t.provider}:{},...t.session}),systemPrompt:h,permissionEngine:d,toolRegistry:b,...u?{identity:u}:{},...p?{memory:{resolved:p,...m?{projectSessionContext:m}:{},prompt:g}}:{}}}var DX,LX,ga=T(()=>{"use strict";Jr();fr();Lf();uA();Ff();Pc();ng();bo();DX=8192,LX=50});Lo();var nr="0.10.13";Ye();nt();import{randomUUID as lU}from"node:crypto";var Ma=class{filePath;sessionId;labels;sequence=0;writeQueue=Promise.resolve();constructor(e){this.filePath=e.filePath,this.sessionId=e.sessionId,this.labels={run_id:e.runId,agent_id:e.agentId,parent_agent_id:e.parentAgentId,workspace:e.workspace,model:e.model,provider:e.provider}}get path(){return this.filePath}async append(e){let n=lU(),r={id:n,sequence:this.sequence++,timestamp:new Date().toISOString(),session_id:e.session_id??this.sessionId,...this.labels,...e};return this.writeQueue=this.writeQueue.then(async()=>{await Ji(this.filePath,JSON.stringify(r))}),await this.writeQueue,n}async read(e){let n=await ge(this.filePath);if(!n)return[];let r=Xo(n);return e?.eventType&&(r=r.filter(o=>o.event_type===e.eventType)),e?.traceId&&(r=r.filter(o=>o.trace_id===e.traceId)),e?.limit!==void 0&&(r=r.slice(-Math.max(0,e.limit))),r}async tail(e=20){let n=Math.max(1,Math.min(e,500));return this.read({limit:n})}async exportJson(e){let n=await this.read();return await be(e,JSON.stringify(n,null,2)),n.length}async flush(){await this.writeQueue}};function dU(t,e){return e.endedAt.localeCompare(t.endedAt)}function Rh(t,e){t.set(e,(t.get(e)??0)+1)}function _h(t,e){let n=Date.parse(t),r=Date.parse(e);return!Number.isFinite(n)||!Number.isFinite(r)?0:Math.max(0,r-n)}function zk(t){return t.filter(e=>e.tool_name||e.event_type.startsWith("tool_")).length}function Gk(t){return t.filter(e=>e.event_type==="permission_decision").length}function Wk(t){return t.filter(e=>e.status==="error"||e.event_type.endsWith("_failed")).length}function Ph(t){return t.split(/[_\s-]+/).filter(e=>e.length>0).map(e=>e[0].toUpperCase()+e.slice(1)).join(" ")}function Ch(t){if(!t)return;let e=Object.entries(t).filter(([,n])=>typeof n=="string"||typeof n=="number"||typeof n=="boolean").slice(0,3).map(([n,r])=>`${n}=${String(r)}`);return e.length>0?e.join(" | "):void 0}function uU(t){let e=[];for(let n=1;n<t.length;n+=1){let r=t[n-1],o=t[n],i=Date.parse(r.timestamp),s=Date.parse(o.timestamp),a=Number.isFinite(i)&&Number.isFinite(s)?Math.max(0,s-i):0;e.push({fromSequence:r.sequence,toSequence:o.sequence,fromEventType:r.event_type,toEventType:o.event_type,gapMs:a})}return e.sort((n,r)=>r.gapMs-n.gapMs).slice(0,5)}function pU(t){let e=Ph(t.event_type),n=t.reason;if(t.event_type==="permission_decision")e=`${t.decision==="deny"?"Denied":"Approved"} ${t.tool_name??"tool"} permission`,n=t.reason;else if(t.tool_name&&t.event_type.startsWith("tool_"))e=`${Ph(t.event_type)}: ${t.tool_name}`;else if(t.event_type==="delegation_completed"){let r=typeof t.metadata?.selected_from=="object"&&t.metadata?.selected_from?String(t.metadata.selected_from.role??"unknown"):void 0;e=r?`Delegation completed via ${r}`:"Delegation completed",n=Ch(t.metadata)}else t.event_type==="delegation_started"?(e="Delegation started",n=Ch(t.metadata)):t.tool_name?e=`${Ph(t.event_type)}: ${t.tool_name}`:n||(n=Ch(t.metadata));return{sequence:t.sequence,timestamp:t.timestamp,title:e,...n?{detail:n}:{},actor:t.actor,riskLevel:t.risk_level,...t.status?{status:t.status}:{}}}function Mh(t){let e=new Map;for(let r of t){let o=r.trace_id?.trim();if(!o)continue;let i=e.get(o);i?i.push(r):e.set(o,[r])}let n=[];for(let[r,o]of e.entries()){let i=[...o].sort((c,l)=>c.sequence-l.sequence),s=i[0]?.timestamp??"",a=i[i.length-1]?.timestamp??s;n.push({traceId:r,eventCount:i.length,startedAt:s,endedAt:a,durationMs:_h(s,a),toolEvents:zk(i),permissionEvents:Gk(i),errorEvents:Wk(i),lastEventType:i[i.length-1]?.event_type??"unknown"})}return n.sort(dU)}function mU(t,e){let n=Mh(t),r=e??n[0]?.traceId;if(!r)return null;let o=t.filter(u=>u.trace_id===r).sort((u,p)=>u.sequence-p.sequence);if(o.length===0)return null;let i=new Map,s=new Map,a=new Map,c=new Map;for(let u of o){if(Rh(i,u.event_type),Rh(a,u.actor),Rh(c,u.risk_level),!u.tool_name)continue;let p=s.get(u.tool_name)??{toolName:u.tool_name,count:0,ok:0,error:0,denied:0};p.count+=1,u.status==="error"?p.error+=1:p.ok+=1,u.decision==="deny"&&(p.denied+=1),s.set(u.tool_name,p)}let l=o[0]?.timestamp??"",d=o[o.length-1]?.timestamp??l;return{traceId:r,eventCount:o.length,startedAt:l,endedAt:d,durationMs:_h(l,d),toolEvents:zk(o),permissionEvents:Gk(o),deniedPermissions:o.filter(u=>u.event_type==="permission_decision"&&u.decision==="deny").length,errorEvents:Wk(o),eventTypes:Object.fromEntries([...i.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),actorSummary:Object.fromEntries([...a.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),riskSummary:Object.fromEntries([...c.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),toolSummary:[...s.values()].sort((u,p)=>u.toolName.localeCompare(p.toolName)),topLatencyGaps:uU(o),timeline:o.map(u=>({sequence:u.sequence,timestamp:u.timestamp,eventType:u.event_type,actor:u.actor,riskLevel:u.risk_level,...u.tool_name?{toolName:u.tool_name}:{},...u.decision?{decision:u.decision}:{},...u.status?{status:u.status}:{},...u.reason?{reason:u.reason}:{}}))}}function fU(t,e){let n=Mh(t),r=e??n[0]?.traceId;if(!r)return null;let o=t.filter(a=>a.trace_id===r).sort((a,c)=>a.sequence-c.sequence);if(o.length===0)return null;let i=o[0]?.timestamp??"",s=o[o.length-1]?.timestamp??i;return{traceId:r,startedAt:i,endedAt:s,durationMs:_h(i,s),steps:o.map(pU)}}function gU(t){if(t.length===0)return"No audit traces recorded.";let e=["Audit traces",""];for(let n of t)e.push(`${n.traceId} | ${n.eventCount} events | ${n.toolEvents} tool | ${n.permissionEvents} perms | ${n.errorEvents} errors | ${Math.round(n.durationMs/1e3)}s`);return e.join(`
2460
+ `));let h=t.systemPrompt??UN({cwd:e,model:n,date:t.date??new Date().toISOString().split("T")[0],identity:u,memory:g||void 0,sessionId:t.sessionId,executionMode:r}),y=t.dispatchAgent??(async w=>{let{createDelegatedXenoAgent:S}=await Promise.resolve().then(()=>(Zg(),NX)),{agent:x}=await S({cwd:e,apiKey:o,baseURL:i,model:n,...t.fallbackModels?{fallbackModels:t.fallbackModels}:{},...t.effort?{effort:t.effort}:{},maxTokens:Math.max(512,Math.min(t.maxTokens??DX,4096)),maxIterations:Math.max(3,Math.min(t.maxIterations??LX,12)),parentSystemPrompt:h,parentExecutionMode:r,subagentRole:"explorer",permissionEngine:d,...t.sandbox?{sandbox:t.sandbox}:{},...t.onPermissionRequest?{onPermissionRequest:t.onPermissionRequest}:{}}),A=()=>{x.cancelCurrentTurn()};if(w.signal?.aborted)throw A(),new Error("dispatch_agent was aborted before the helper started");w.signal?.addEventListener("abort",A,{once:!0});try{return{output:await x.run(w.prompt)}}finally{w.signal?.removeEventListener("abort",A)}});if(t.validateToolInputs===!1)throw new Error("Agent tool input validation cannot be disabled.");let b=t.toolRegistry??Qt({cwd:e,askUser:t.askUser,dispatchAgent:y,...t.webSearchApiKey?{webSearchApiKey:t.webSearchApiKey}:{},...t.permissionConfig?.profile?{permissionProfile:t.permissionConfig.profile}:{},...t.ownerSessionId?{ownerSessionId:t.ownerSessionId}:{},...t.getOwnerSessionId?{getOwnerSessionId:t.getOwnerSessionId}:{},...t.sandbox?{sandbox:t.sandbox}:{},...f?{memoryManager:f}:{},validateInputs:!0});return t.toolRegistry&&t.validateToolInputs===!0&&b.setValidateInputs(!0),{agent:new Ti({apiKey:o,baseURL:i,ollamaBaseURL:s,localRuntimeProtocol:t.localRuntimeProtocol,localTransportLimits:t.localTransportLimits,...(t.apiRequestTimeoutMs??l)!==void 0?{apiRequestTimeoutMs:t.apiRequestTimeoutMs??l}:{},model:n,...t.fallbackModels?{fallbackModels:t.fallbackModels}:{},...t.effort?{effort:t.effort}:{},maxTokens:t.maxTokens??DX,maxIterations:t.maxIterations??LX,maxContextTokens:t.maxContextTokens,maxContextMessages:t.maxContextMessages,compressionKeepRecentMessages:t.compressionKeepRecentMessages,contextCompressionLlm:t.contextCompressionLlm,tokenEstimator:t.tokenEstimator,tokenAccountingAdapter:t.tokenAccountingAdapter,queryIdleTimeoutMs:t.queryIdleTimeoutMs,queryLeaseTimeoutMs:t.queryLeaseTimeoutMs,queryHardTimeoutMs:t.queryHardTimeoutMs,...t.reserveFinalSynthesisTurn!==void 0?{reserveFinalSynthesisTurn:t.reserveFinalSynthesisTurn}:{},systemPrompt:h,requesterLabel:t.requesterLabel,ownerSessionId:t.ownerSessionId,getOwnerSessionId:t.getOwnerSessionId,executionMode:r,permissionEngine:d,toolRegistry:b,sandbox:t.sandbox,onPermissionRequest:t.onPermissionRequest,onText:t.onText,onToolStart:t.onToolStart,onToolWillExecute:t.onToolWillExecute,onToolEnd:t.onToolEnd,onIteration:t.onIteration,modelWorkAccounting:t.modelWorkAccounting,runAuthority:t.runAuthority,onError:t.onError,onTranscriptError:t.onTranscriptError,onRuntimeEvent:t.onRuntimeEvent,runtimeEventBus:t.runtimeEventBus,turnDiffTracker:t.turnDiffTracker,onTurnDiff:t.onTurnDiff,onModeSwitchRequest:t.onModeSwitchRequest,onExecutionModeChanged:t.onExecutionModeChanged,completionGuard:t.completionGuard,maxCompletionGuardReminders:t.maxCompletionGuardReminders,progressGuardEveryIterations:t.progressGuardEveryIterations,...t.toolMiddleware?{toolMiddleware:t.toolMiddleware}:{},...t.promptSections?{promptSections:t.promptSections}:{},...t.promptSectionsTokenBudget!==void 0?{promptSectionsTokenBudget:t.promptSectionsTokenBudget}:{},...t.completionGuards?{completionGuards:t.completionGuards}:{},...t.provider?{provider:t.provider}:{},...t.session}),systemPrompt:h,permissionEngine:d,toolRegistry:b,...u?{identity:u}:{},...p?{memory:{resolved:p,...m?{projectSessionContext:m}:{},prompt:g}}:{}}}var DX,LX,ga=T(()=>{"use strict";Jr();fr();Lf();uA();Ff();Pc();ng();bo();DX=8192,LX=50});Lo();var nr="0.10.14";Ye();nt();import{randomUUID as lU}from"node:crypto";var Ma=class{filePath;sessionId;labels;sequence=0;writeQueue=Promise.resolve();constructor(e){this.filePath=e.filePath,this.sessionId=e.sessionId,this.labels={run_id:e.runId,agent_id:e.agentId,parent_agent_id:e.parentAgentId,workspace:e.workspace,model:e.model,provider:e.provider}}get path(){return this.filePath}async append(e){let n=lU(),r={id:n,sequence:this.sequence++,timestamp:new Date().toISOString(),session_id:e.session_id??this.sessionId,...this.labels,...e};return this.writeQueue=this.writeQueue.then(async()=>{await Ji(this.filePath,JSON.stringify(r))}),await this.writeQueue,n}async read(e){let n=await ge(this.filePath);if(!n)return[];let r=Xo(n);return e?.eventType&&(r=r.filter(o=>o.event_type===e.eventType)),e?.traceId&&(r=r.filter(o=>o.trace_id===e.traceId)),e?.limit!==void 0&&(r=r.slice(-Math.max(0,e.limit))),r}async tail(e=20){let n=Math.max(1,Math.min(e,500));return this.read({limit:n})}async exportJson(e){let n=await this.read();return await be(e,JSON.stringify(n,null,2)),n.length}async flush(){await this.writeQueue}};function dU(t,e){return e.endedAt.localeCompare(t.endedAt)}function Rh(t,e){t.set(e,(t.get(e)??0)+1)}function _h(t,e){let n=Date.parse(t),r=Date.parse(e);return!Number.isFinite(n)||!Number.isFinite(r)?0:Math.max(0,r-n)}function zk(t){return t.filter(e=>e.tool_name||e.event_type.startsWith("tool_")).length}function Gk(t){return t.filter(e=>e.event_type==="permission_decision").length}function Wk(t){return t.filter(e=>e.status==="error"||e.event_type.endsWith("_failed")).length}function Ph(t){return t.split(/[_\s-]+/).filter(e=>e.length>0).map(e=>e[0].toUpperCase()+e.slice(1)).join(" ")}function Ch(t){if(!t)return;let e=Object.entries(t).filter(([,n])=>typeof n=="string"||typeof n=="number"||typeof n=="boolean").slice(0,3).map(([n,r])=>`${n}=${String(r)}`);return e.length>0?e.join(" | "):void 0}function uU(t){let e=[];for(let n=1;n<t.length;n+=1){let r=t[n-1],o=t[n],i=Date.parse(r.timestamp),s=Date.parse(o.timestamp),a=Number.isFinite(i)&&Number.isFinite(s)?Math.max(0,s-i):0;e.push({fromSequence:r.sequence,toSequence:o.sequence,fromEventType:r.event_type,toEventType:o.event_type,gapMs:a})}return e.sort((n,r)=>r.gapMs-n.gapMs).slice(0,5)}function pU(t){let e=Ph(t.event_type),n=t.reason;if(t.event_type==="permission_decision")e=`${t.decision==="deny"?"Denied":"Approved"} ${t.tool_name??"tool"} permission`,n=t.reason;else if(t.tool_name&&t.event_type.startsWith("tool_"))e=`${Ph(t.event_type)}: ${t.tool_name}`;else if(t.event_type==="delegation_completed"){let r=typeof t.metadata?.selected_from=="object"&&t.metadata?.selected_from?String(t.metadata.selected_from.role??"unknown"):void 0;e=r?`Delegation completed via ${r}`:"Delegation completed",n=Ch(t.metadata)}else t.event_type==="delegation_started"?(e="Delegation started",n=Ch(t.metadata)):t.tool_name?e=`${Ph(t.event_type)}: ${t.tool_name}`:n||(n=Ch(t.metadata));return{sequence:t.sequence,timestamp:t.timestamp,title:e,...n?{detail:n}:{},actor:t.actor,riskLevel:t.risk_level,...t.status?{status:t.status}:{}}}function Mh(t){let e=new Map;for(let r of t){let o=r.trace_id?.trim();if(!o)continue;let i=e.get(o);i?i.push(r):e.set(o,[r])}let n=[];for(let[r,o]of e.entries()){let i=[...o].sort((c,l)=>c.sequence-l.sequence),s=i[0]?.timestamp??"",a=i[i.length-1]?.timestamp??s;n.push({traceId:r,eventCount:i.length,startedAt:s,endedAt:a,durationMs:_h(s,a),toolEvents:zk(i),permissionEvents:Gk(i),errorEvents:Wk(i),lastEventType:i[i.length-1]?.event_type??"unknown"})}return n.sort(dU)}function mU(t,e){let n=Mh(t),r=e??n[0]?.traceId;if(!r)return null;let o=t.filter(u=>u.trace_id===r).sort((u,p)=>u.sequence-p.sequence);if(o.length===0)return null;let i=new Map,s=new Map,a=new Map,c=new Map;for(let u of o){if(Rh(i,u.event_type),Rh(a,u.actor),Rh(c,u.risk_level),!u.tool_name)continue;let p=s.get(u.tool_name)??{toolName:u.tool_name,count:0,ok:0,error:0,denied:0};p.count+=1,u.status==="error"?p.error+=1:p.ok+=1,u.decision==="deny"&&(p.denied+=1),s.set(u.tool_name,p)}let l=o[0]?.timestamp??"",d=o[o.length-1]?.timestamp??l;return{traceId:r,eventCount:o.length,startedAt:l,endedAt:d,durationMs:_h(l,d),toolEvents:zk(o),permissionEvents:Gk(o),deniedPermissions:o.filter(u=>u.event_type==="permission_decision"&&u.decision==="deny").length,errorEvents:Wk(o),eventTypes:Object.fromEntries([...i.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),actorSummary:Object.fromEntries([...a.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),riskSummary:Object.fromEntries([...c.entries()].sort((u,p)=>u[0].localeCompare(p[0]))),toolSummary:[...s.values()].sort((u,p)=>u.toolName.localeCompare(p.toolName)),topLatencyGaps:uU(o),timeline:o.map(u=>({sequence:u.sequence,timestamp:u.timestamp,eventType:u.event_type,actor:u.actor,riskLevel:u.risk_level,...u.tool_name?{toolName:u.tool_name}:{},...u.decision?{decision:u.decision}:{},...u.status?{status:u.status}:{},...u.reason?{reason:u.reason}:{}}))}}function fU(t,e){let n=Mh(t),r=e??n[0]?.traceId;if(!r)return null;let o=t.filter(a=>a.trace_id===r).sort((a,c)=>a.sequence-c.sequence);if(o.length===0)return null;let i=o[0]?.timestamp??"",s=o[o.length-1]?.timestamp??i;return{traceId:r,startedAt:i,endedAt:s,durationMs:_h(i,s),steps:o.map(pU)}}function gU(t){if(t.length===0)return"No audit traces recorded.";let e=["Audit traces",""];for(let n of t)e.push(`${n.traceId} | ${n.eventCount} events | ${n.toolEvents} tool | ${n.permissionEvents} perms | ${n.errorEvents} errors | ${Math.round(n.durationMs/1e3)}s`);return e.join(`
2461
2461
  `)}function hU(t){let e=[`Audit trace ${t.traceId}`,`Started: ${t.startedAt}`,`Ended: ${t.endedAt}`,`Duration: ${t.durationMs} ms`,`Events: ${t.eventCount}`,`Tool events: ${t.toolEvents}`,`Permission events: ${t.permissionEvents}`,`Denied permissions: ${t.deniedPermissions}`,`Errors: ${t.errorEvents}`,"","Event types"];for(let[n,r]of Object.entries(t.eventTypes))e.push(` ${n}: ${r}`);e.push(""),e.push("Actors");for(let[n,r]of Object.entries(t.actorSummary))e.push(` ${n}: ${r}`);e.push(""),e.push("Risk levels");for(let[n,r]of Object.entries(t.riskSummary))e.push(` ${n}: ${r}`);if(e.push(""),e.push("Tools"),t.toolSummary.length===0)e.push(" (no tool activity)");else for(let n of t.toolSummary)e.push(` ${n.toolName}: ${n.count} total | ${n.ok} ok | ${n.error} error | ${n.denied} denied`);if(e.push(""),e.push("Largest gaps"),t.topLatencyGaps.length===0)e.push(" (no gaps)");else for(let n of t.topLatencyGaps)e.push(` #${n.fromSequence}->#${n.toSequence}: ${n.gapMs} ms | ${n.fromEventType} -> ${n.toEventType}`);e.push(""),e.push("Timeline");for(let n of t.timeline){let r=[n.eventType,n.toolName,n.decision,n.status,n.reason].filter(o=>typeof o=="string"&&o.length>0);e.push(` #${n.sequence} ${n.timestamp} | ${r.join(" | ")||n.eventType}`)}return e.join(`
2462
2462
  `)}function yU(t){return[`## Audit Trace ${t.traceId}`,"",`- Started: \`${t.startedAt}\``,`- Ended: \`${t.endedAt}\``,`- Duration: \`${t.durationMs}\` ms`,`- Events: \`${t.eventCount}\``,`- Tool events: \`${t.toolEvents}\``,`- Permission events: \`${t.permissionEvents}\``,`- Denied permissions: \`${t.deniedPermissions}\``,`- Errors: \`${t.errorEvents}\``,"","### Tool Summary","","| Tool | Total | OK | Error | Denied |","| --- | ---: | ---: | ---: | ---: |",...t.toolSummary.length>0?t.toolSummary.map(n=>`| ${n.toolName} | ${n.count} | ${n.ok} | ${n.error} | ${n.denied} |`):["| (none) | 0 | 0 | 0 | 0 |"],"","### Largest Gaps","","| From | To | Gap ms | Events |","| ---: | ---: | ---: | --- |",...t.topLatencyGaps.length>0?t.topLatencyGaps.map(n=>`| ${n.fromSequence} | ${n.toSequence} | ${n.gapMs} | ${n.fromEventType} -> ${n.toEventType} |`):["| 0 | 0 | 0 | none |"]].join(`
2463
2463
  `)}function bU(t){let e=[`## Audit Replay ${t.traceId}`,"",`- Started: \`${t.startedAt}\``,`- Ended: \`${t.endedAt}\``,`- Duration: \`${t.durationMs}\` ms`,""];for(let n of t.steps){let r=[n.actor,n.riskLevel,n.status].filter(Boolean).join(" | ");e.push(`- **#${n.sequence} ${n.title}**${r?` _(${r})_`:""}`),n.detail&&e.push(` - ${n.detail}`)}return e.join(`