Lines 1-21javascript
2import{CommanderError as ri}from"commander";import{Command as Rt}from"commander";var B="0.5.2";function Ct(i={}){let e=new Rt;return e.name("genteam-daemon").description("GenTeam local computer daemon").version(B).requiredOption("--server-url <url>","GenTeam server URL").requiredOption("--api-key <key>","machine credential for this computer").allowExcessArguments(!1).exitOverride(),i.silent&&e.configureOutput({writeOut:()=>{},writeErr:()=>{}}),e}function je(i,e={}){let t=Ct(e);t.parse(i,{from:"user"});let r=t.opts();return{serverUrl:r.serverUrl,apiKey:r.apiKey}}import ei from"node:os";import t ...
3${t}`).toLowerCase();return/not logged in|please log ?in|run .*login|logged out/.test(r)?{status:"not_logged_in"}:/auth|unauthorized|authenticate|login|sign ?in|api key|setup required|onboarding|register/.test(r)?{status:"auth_required"}:{status:"launch_failed",reason:`probe exited non-zero${J({stderr:e,stdout:t})}`}}var Vt=[{id:"sonnet",label:"Sonnet (latest)",verified:"unverified"},{id:"opus",label:"Opus (latest)",verified:"unverified"},{id:"haiku",label:"Haiku (latest)",verified:"unverified"}];function Ue(i){let e=i.trim();if(!e)return null;let t=s=>s&&typeof s=="object"&&!Array.isArray(s)? ...
HighChild Process
Package source references child process execution.
dist/index.jsView on unpkg · L1 4`)){let o=s.trim();if(o)try{n.push(JSON.parse(o))}catch{}}return n.length>0?r(n):null}function Ut(i){let e=Ue(i);if(!e)return[];if(e.is_error===!0)return[];let t=e.modelUsage;if(!t||typeof t!="object"||Array.isArray(t))return[];let r=n=>{if(!n||typeof n!="object")return 0;let s=n,o=d=>typeof d=="number"&&Number.isFinite(d)?d:0;return o(s.inputTokens)+o(s.cacheReadInputTokens)+o(s.cacheCreationInputTokens)};return Object.entries(t).filter(([n])=>n.length>0).sort((n,s)=>r(s[1])-r(n[1])).map(([n])=>({id:n,label:n,verified:"launchable"}))}function Gt(i){let e=new Set(i.map(t=>t.id));return[...i,.. ...
5`))!==-1;){let r=this.stdoutBuffer.slice(0,t).trim();this.stdoutBuffer=this.stdoutBuffer.slice(t+1),r.length!==0&&this.handleStreamLine(r)}}handleStreamLine(e){let t;try{t=JSON.parse(e)}catch{return}let r=Ye(t);if(r&&r!==this.sessionId&&(this.sessionId=r,this.config.saveSessionId?.(r)),!!this.turnActive)for(let n of Xe(t)){if(n.kind==="done"){this.finishTurn("idle");return}if(n.kind==="error"){this.onResultError(n.subtype,n.detail);return}this.armProgressTimer(),this.emitEvent(n.kind,n.detail)}}onResultError(e,t){if(this.turnEnded||!this.turnActive)return;let r=e?`claude reported is_error resu ...
6--- claude stderr (tail) ---
7${t}`:e}emitEvent(e,t){let r={type:"turn.event",turn_id:this.currentTurnId,agent_id:this.binding.agentId,runtime_id:this.binding.runtimeId,kind:e};t!==void 0&&(r.detail=t),this.emit(r)}endTurnState(){this.turnEnded=!0,this.turnActive=!1,this.currentTurnId=null,this.lastEnvelope=null,this.retriedWithoutResume=!1,this.turnDeadlineAt=null,this.clearTimers()}writeUserMessage(e){if(!this.proc?.stdin?.writable)return;let t={type:"user",message:{role:"user",content:[{type:"text",text:e}]}};this.proc.stdin.write(JSON.stringify(t)+`
8`)}armProgressTimer(){this.progressTimer&&clearTimeout(this.progressTimer),this.progressTimer=setTimeout(()=>this.failTurn("claude_progress_timeout","no progress from claude"),this.config.progressTimeoutMs??ke.progressTimeoutMs)}armDeadlineTimer(){if(this.turnDeadlineAt===null)return;this.deadlineTimer&&clearTimeout(this.deadlineTimer);let e=Math.max(0,this.turnDeadlineAt-Date.now());this.deadlineTimer=setTimeout(()=>this.failTurn("turn_deadline_exceeded","turn deadline exceeded"),e)}clearTimers(){for(let e of[this.startupTimer,this.progressTimer,this.deadlineTimer])e&&clearTimeout(e);this.sta ...
9${t}`)?{status:"not_logged_in"}:{status:"launch_failed",reason:`login status exited non-zero${V({stderr:e,stdout:t})}`}}var $=class{command;versionArgs;loginStatusArgs;timeoutMs;runner;constructor(e={}){this.command=e.command??"codex",this.versionArgs=e.versionArgs??["--version"],this.loginStatusArgs=e.loginStatusArgs??["login","status"],this.timeoutMs=e.timeoutMs??1e4,this.runner=e.runner??x}async binaryVersion(){let e=await this.runner.run(this.command,{args:this.versionArgs,timeoutMs:this.timeoutMs});if(!e.spawned)return null;let t=(e.stdout||e.stderr).trim();return t.length>0?t:"unknown"}a ...
10`).map(s=>s.trim()).filter(Boolean).map(s=>{try{return JSON.parse(s)}catch{return null}}).find(s=>!!s&&typeof s=="object"&&s.type==="turn.failed"),t=e&&typeof e.error?.message=="string"?e.error.message:void 0;if(!t)return{ok:!1,code:"launch_failed",message:"Codex CLI exited unexpectedly while verifying the model."+V({stdout:i.stdout}),remediation:"Check your local Codex CLI setup, then try again."};let{status:r,message:n}=Te(t);return r===401||r===403?{ok:!1,code:"auth_required",message:n,remediation:st,apiErrorStatus:r}:r===404||r===400?{ok:!1,code:"model_unavailable",message:n,remediation:Q, ...
14${e}`}var te=class{constructor(e,t,r={}){this.binding=e;this.emit=t;this.config=r;this.threadId=r.loadThreadId?.()??null}binding;emit;config;kind="codex";proc=null;procGen=0;stdoutBuffer="";stderrTail="";threadId=null;startedWithPromptHash;resumedWithThreadId=!1;currentTurnId=null;turnActive=!1;turnEnded=!1;aborting=!1;startupTimer=null;progressTimer=null;deadlineTimer=null;turnDeadlineAt=null;get workingDirectory(){return this.binding.workingDirectory}get runtimeId(){return this.binding.runtimeId}detectModels(){let e=new $({command:this.config.command??"codex",runner:this.config.detectRunner? ...
15`))!==-1;){let r=this.stdoutBuffer.slice(0,t).trim();this.stdoutBuffer=this.stdoutBuffer.slice(t+1),r.length>0&&this.handleStreamLine(r)}}handleStreamLine(e){let t;try{t=JSON.parse(e)}catch{return}let r=et(t);if(r&&r!==this.threadId&&(this.threadId=r,this.config.saveThreadId?.(r)),!!this.turnActive)for(let n of Qe(t)){if(n.kind==="done"){this.finishTurn("idle");return}if(n.kind==="error"){this.failTurnFromCodexError(n.detail);return}this.armProgressTimer(),this.emitEvent(n.kind,n.detail)}}dropThreadAfterFailure(){this.threadId=null,this.startedWithPromptHash=void 0,this.config.clearThreadId?.( ...
16--- codex stderr (tail) ---
17${t}`:e}emitEvent(e,t){let r={type:"turn.event",turn_id:this.currentTurnId,agent_id:this.binding.agentId,runtime_id:this.binding.runtimeId,kind:e};t!==void 0&&(r.detail=t),this.emit(r)}endTurnState(){this.turnEnded=!0,this.turnActive=!1,this.currentTurnId=null,this.turnDeadlineAt=null,this.clearTimers()}armProgressTimer(){this.progressTimer&&clearTimeout(this.progressTimer),this.progressTimer=setTimeout(()=>this.failTurn("codex_progress_timeout","no progress from codex"),this.config.progressTimeoutMs??we.progressTimeoutMs)}armDeadlineTimer(){if(this.turnDeadlineAt===null)return;this.deadlineTi ...
18`)){this.redactor=e;this.sink=t}redactor;sink;emit(e,t){let r=`${new Date().toISOString()} [${e}] ${zr} ${this.redactor.redact(t)}`;this.sink(r)}info(e){this.emit("INFO",e)}warn(e){this.emit("WARN",e)}error(e){this.emit("ERROR",e)}};import A from"node:fs";import Pe from"node:os";import Kr from"node:path";var yt=384,_t=448,Jr=10,vt=process.platform==="win32",Me=class extends Error{constructor(
19`);return $e.writeFileSync(e,t,{mode:493}),$e.chmodSync(e,493),e}async function St(i,e={}){let t=new N;t.addSecret(i.apiKey);let r=new le(t);r.info("Starting...");let n=new me(e.home);n.ensureHome(),r.info(`GENTEAM_HOME=${n.home}`);let s=new de(n.installLockDir);s.acquire(),r.info(`Acquired machine lock: ${ti.join(n.installLockDir,"owner.json")}`);let o=null,d=null,l=null,u=!1,m=()=>{u||(u=!0,d?.stopAll(),o?.stop(),l?.stop(),s.release())};if(e.installSignalHandlers!==!1){let p=()=>{r.info("Shutting down"),m(),process.exit(0)};process.once("SIGINT",p),process.once("SIGTERM",p)}try{n.init(),l=ne ...
Long lines were clipped for display.