Lines 1-17javascript
2var T$=Object.defineProperty;var Q1=($,W)=>{for(var q in W)T$($,q,{get:W[q],enumerable:!0,configurable:!0,set:(Z)=>W[q]=()=>Z})};import u from"node:fs";import W1 from"node:net";import d from"node:path";import x from"node:process";function o($,W={}){let q=new Set(W.valueOptions??[]),Z=new Set(W.booleanOptions??[]),G=W.aliasMap??{},Y={},Q=[],y=!1;for(let X=0;X<$.length;X+=1){let H=$[X];if(y){Q.push(H);continue}if(H==="--"){y=!0;continue}if(!H.startsWith("-")||H==="-"){Q.push(H);continue}if(H.startsWith("--")){let[V,_]=H.slice(2).split("=",2),P=G[V]??V;if(Z.has(P)){Y[P]=_===void 0?!0:_!=="false"; ...
3`,"utf8"),Q}function K$($,W){let q=L.join(R($,W),"job.json");if(!O.existsSync(q))return null;try{return JSON.parse(O.readFileSync(q,"utf8"))}catch{return null}}function A1($,W){let q=R($,W);if(!O.existsSync(q))return!1;return O.rmSync(q,{recursive:!0,force:!0}),!0}function u$($){if(!$)return!1;try{return process.kill($,0),!0}catch(W){return W.code==="EPERM"}}function S$($){try{let W=Z$("ps",["-o","lstart=","-p",String($)],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim(),q=W?Date.parse(W):NaN;return Number.isFinite(q)?q:null}catch{return null}}function I$($,W){if(!u$($))return!1;let q ...
HighChild Process
Package source references child process execution.
dist/lib/broker.jsView on unpkg · L1 4`,"utf8")}function B1($,W,q=40){let Z=L.join(R($,W),"log.jsonl");if(!O.existsSync(Z))return[];return O.readFileSync(Z,"utf8").split
5`,"utf8")}function l$($){let W=n($);if(M.existsSync(W))M.unlinkSync(W)}async function a$($){if(!$)return!1;try{return await z$($,150)}catch{return!1}}async function X$($,W={}){let q=W.scriptPath??n$(),Z=Q$(),G=c($),Y=G?.version===Z&&G?.scriptPath===q;if(G&&Y&&await a$(G.endpoint))return G;if(G)Y$({endpoint:G.endpoint??null,pidFile:G.pidFile??null,logFile:G.logFile??null,sessionDir:G.sessionDir??null,pid:G.pid??null,killProcess:W.killProcess??null}),l$($);let Q=g$(),X=(W.createBrokerEndpoint??$$)(Q,W.platform),H=E.join(Q,"broker.pid"),N=E.join(Q,"broker.log"),J=p$({scriptPath:q,cwd:$,endpoint:X ...
6${Q.stdout}`.trim();if(!Q.error&&t$(y))return{attempted:!0,delivered:!1,method:"taskkill",result:Q};if(Q.error?.code==="ENOENT")try{return Y(q),{attempted:!0,delivered:!0,method:"kill"}}
7`);while(W!==-1){let q=this.lineBuffer.slice(0,W);this.lineBuffer=this.lineBuffer.slice(W+1),this.handleLine(q),W=this.lineBuffer.indexOf(`
8`)}}handleLine($){if(!$.trim())return;let W;try{W=JSON.parse($)}catch(q){this.handleExit(a(`Failed to parse codex app-server JSONL: ${q instanceof Error?q.message:String(q)}`,{line:$}));return}if(W.id!==void 0&&W.method){this.handleServerRequest(W);return}if(W.id!==void 0){let q=this.pending.get(W.id);if(!q)return;if(this.pending.delete(W.id),W.error)q.reject(a(W.error.message??`codex app-server ${q.method} failed.`,W.error));else q.resolve(W.result??{});return}if(W.method&&this.notificationHandler)this.notificationHandler(W)}defaultHandleServerRequest($){let W=this.serverRequestHandler;if(!W) ...
9${G}`:""}`);this.handleExit(Y)}),this.readline=o$.createInterface({input:$}),this.readline.on("line",(q)=>{this.handleLine(q)}),await this.request("initialize",{clientInfo:this.options.clientInfo??N$(),capabilities:this.options.capabilities??O$}),this.notify("initialized",{})}async close(){if(this.closed){await
10`,q=this.proc?.stdin;if(!q)throw Error("codex app-server stdin is not available.");q.write(W)}}class L$ extends i{endpoint;socket;constructor($,W={}){super($,W);this.transport="broker",this.endpoint=W.brokerEndpoint}async
11`,q=this.socket;if(!q)throw Error("codex app-server broker connection is not connected.");q.write(W)}}class t{static async connect($,W={}){let q=null;if(!W.disableBroker){if(q=W.brokerEndpoint??W.env?.[H$]??k.env[H$]??null,!q&&W.reuseExistingBroker)q=c($)?.endpoint??null;if(!q&&!W.reuseExistingBroker)q=(await X$($,{env:W.env}))?.endpoint??null}let Z=q?new L$($,{...W,brokerEndpoint:q}):new V$($,W);return await Z.initialize(),Z}}var q1=new Set(["turn/start","review/start","thread/compact/start"]);function J$($,W,q){let Z=new Set;if(W?.threadId)Z.add(W.threadId);if($==="review/start"&&q?.reviewTh ...
12`)}function Z1($){return $?.method==="turn/interrupt"}function G1($){if(!$)return;u.mkdirSync(d.dirname($),{recursive:!0}),u.writeFileSync($,`${x.pid}
13`,"utf8")}async function K1(){let[$,...W]=x.argv.slice(2);if($!=="serve")throw Error("Usage: node src/lib/broker.mjs serve --endpoint <value> [--cwd <path>] [--pid-file <path>]");let{options:q}=o(W,{valueOptions:["cwd","pid-file","endpoint"]});if(!
14`);while(F!==-1){let r=U.slice(0,F);if(U=U.slice(F+1),F=U.indexOf(`
15`),!r.trim())continue;let z;try{z=JSON.parse(r)}catch(T){A(K,{id:null,error:C(-32700,`Invalid JSON: ${T instanceof Error?T.message:String(T)}`)});continue}if(z.id!==void 0&&!z.method&&V.has(z.id)){V.delete(z.id),y.sendMessage(z);continue}if(z.id!==void 0&&z.method==="initialize"){A(K,{id:z.id,result:{userAgent:"coder-broker"}});continue}if(z.method==="initialized"&&z.id===void 0)continue;if(z.id!==void 0&&z.method==="broker/shutdown")A(K,{id:z.id,result:{}}),await w(D),x.exit(0);if(z.id===void 0||!z.method)continue;let s=Z1(z)&&H&&H!==K&&!X;if((X&&X!==K||H&&H!==K)&&!s){A(K,{id:z.id,error:C(M$, ...
Long lines were clipped for display.