Lines 1-65javascript
1import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2var xs=Object.create;var bn=Object.defineProperty;var bs=Object.getOwnPropertyDescriptor;var Ss=Object.getOwnPropertyNames;var ws=Object.getPrototypeOf,ks=Object.prototype.hasOwnProperty;var M=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var q=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var vs=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ss(t))!ks.call(e,s)&&s! ...
4`)),o.removeListener("error",br),a.setSocket(o,i,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(a),a.on("close",()=>{this.clients.delete(a),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Je,this)})),u(a,s)}};wr.exports=Zt;function Go(e,t){for(let n of Object.keys(t))e.on(n,t[n]);return function(){for(let r of Object.keys(t))e.removeListener(r,t[r])}}function Je(e) ...
5`+Object.keys(r).map(s=>`${s}: ${r[s]}`).join(`\r
8`+n)}function ke(e,t,n,r,s,o){if(e.listenerCount("wsClientError")){let i=new Error(s);Error.captureStackTrace(i,ke),e.emit("wsClientError",i,n,t)}
9data: ${JSON.stringify({type:"error",error:{type:"api_error",message:n}})}
11`):(e.write(`data: ${JSON.stringify({error:{message:n,type:"server_error",code:null}})}
13`),e.write(`data: [DONE]
15`))}catch{}},Ye=[50,100,250,500,1e3,2500,5e3,1e4,3e4,6e4],Rr=()=>({b:new Array(Ye.length).fill(0),sum:0,count:0}),Pr=(e,t)=>{e.sum+=t,e.count++;for(let n=0;n<Ye.length;n++)t<=Ye[n]&&e.b[n]++},Ar=(e,t)=>{let n=`# TYPE ${e} histogram
16`;for(let r=0;r<Ye.length;r++)n+=`${e}_bucket{le="${Ye[r]}"} ${t.b[r]}
17`;return n+`${e}_bucket{le="+Inf"} ${t.count}
20`},tn=()=>({dispatched:0,served:0,failed:0,rateLimited:0}),_i=16*1024*1024,yi=e=>new Promise((t,n)=>{let r=[],s=0;e.on("data",o=>{if(s+=o.length,s>_i){e.destroy(),n(new Error("body too large"));return}r.push(o)}),e.on("end",()=>t(Buffer.concat(r).toString("utf8"))),e.on("error",n)}),Mr=(e,t)=>{let n=e.headers["x-api-key"],r=String(e.headers.authorization??"").replace(/^Bearer\s+/i,"");return pi(typeof n=="string"&&n||r,t)};function xi(e={}){let t=e.log??(f=>process.stdout.write(f+`
21`)),n=(f,b,S)=>{let _=new Date().toISOString();if(e.logJson)return JSON.stringify({ts:_,level:f,msg:b,...S});let m=S?" "+Object.entries(S).map(([k,w])=>`${k}=${typeof w=="string"?w:JSON.stringify(w)}`).join(" "):"";return`${_} ${f.toUpperCase()} ${b}
22`)).join("");b.writeHead(200,{"content-type":"text/plain; version=0.0.4",...yt}),b.end(`# TYPE agent_p2p_nodes gauge
23agent_p2p_nodes ${a.size}
24# TYPE agent_p2p_models gauge
25agent_p2p_models ${d.size}
26# TYPE agent_p2p_capacity gauge
27agent_p2p_capacity ${A}
28# TYPE agent_p2p_inflight gauge
29agent_p2p_inflight ${_()}
30# TYPE agent_p2p_nodes_cooldown gauge
31agent_p2p_nodes_cooldown ${w}
32# TYPE agent_p2p_nodes_unhealthy gauge
33agent_p2p_nodes_unhealthy ${O}
34# TYPE agent_p2p_jobs_dispatched_total counter
35agent_p2p_jobs_dispatched_total ${m.dispatched}
36# TYPE agent_p2p_jobs_served_total counter
37agent_p2p_jobs_served_total ${m.served}
38# TYPE agent_p2p_jobs_failed_total counter
39agent_p2p_jobs_failed_total ${m.failed}
40# TYPE agent_p2p_jobs_ratelimited_total counter
41agent_p2p_jobs_ratelimited_total ${m.rateLimited}
42# TYPE agent_p2p_jobs_by_provider_total counter
43${U}`+Ar("agent_p2p_ttfb_ms",m.ttfb)+Ar("agent_p2p_duration_ms",m.dur));return}if(S==="/state"&&f.method==="GET"){let m=Date.now(),k=[...a.values()].map(w=>({id:w.id.slice(0,8),name:w.name,models:w.models.size,modelList:[...w.models].sort(),capacity:w.capacity,inflight:w.inflight,used1m:T(w.prov.anthropic,m)+T(w.prov.openai,m),cooldownMs:Math.max(0,w.prov.anthropic.cooldownUntil-m,w.prov.openai.cooldownUntil-m),ttfbMs:Math.round(w.ttfb),unhealthyMs:Math.max(0,w.unhealthyUntil-m),byProvider:{anthropic:{used1m:T(w.prov.anthropic,m),cooldownMs:Math.max(0,w.prov.anthropic.cooldownUntil-m)},openai: ...
44`)}var H={info:(e,t)=>on(process.stdout,"info",e,t),warn:(e,t)=>on(process.stderr,"warn",e,t),error:(e,t)=>
46`)}function pe(){let e={text:"",thinking:"",usage:Fr(),stop:"stop"};return{sink:{meta(n){n.id&&(e.id=n.id),n.model&&(e.model=n.model)},text(n){e.text+=n},thinking(n){e.thinking+=n},usage(n){qr(e.usage,n)},stop(n){e.stop=n}},result:e}}function cn(e){switch(e){case"max_tokens":return"length";case"tool_use":return"tool_use";case"stop_sequence":return"stop_sequence";case"refusal":return"content_filter";default:return"stop"}}function ln(e){switch(e){case"stop":return"end_turn";case"length":return"max_tokens";case"content_filter":return"refusal";default:return e}}function un(e){return e==="tool_use" ...
47`}let u=fn(n.maxConcurrency,!!n.claudeToken),c=await u.acquire();try{await kt({bin:n.claudeBin,args:s,prompt:i,cwd:c.workDir,env:{...process.env,HOME:c.home,CLAUDE_CONFIG_DIR:c.configDir,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:"1",...n.claudeToken?{CLAUDE_CODE_OAUTH_TOKEN:n.claudeToken}:{}},timeoutMs:n.timeoutMs,signal:r,authHint:Fi,onLine:l=>{let
49`:"")+wt(e),i=["exec","--json","--skip-git-repo-check","--ignore-user-config","--ephemeral","-C",s,"--sandbox",n.codexSandbox];n.codexReasoning&&i.push("-c",`model_reasoning_effort="${n.codexReasoning}"`),n.codexModel&&i.push("-m",n.codexModel);let u=e.messages.flatMap(y=>y.images??[]);for(let y=0;y<u.length;y++){let h=/^data:([^;,]+);base64,([\s\S]*)$/.exec(u[y]);if(!h)continue;let g=(h[1].split("/")[1]||"png").replace(/[^a-z0-9]/gi,"")||"png",x=Kr(s,`img-${y}.${g}`);await Gi(x,Buffer.from(h[2],"base64")),i.push("-i",x)}let c="",l="",a=(y,h)=>{if(h)return c+=h,t.text(h);if(y!=null&&y.length>c ...
50data: ${JSON.stringify({type:a,...d})}
52`),u=async()=>{n.started()||await i("message_start",{message:{id:r.result.id??L("msg"),type:"message",role:"assistant",model:r.result.model??t.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:r.result.usage.inputTokens,output_tokens:0,cache_read_input_tokens:r.result.usage.cacheReadTokens,cache_creation_input_tokens:r.result.usage.cacheWriteTokens}}})},c
54`),messages:s,stream:t.stream===!0,maxTokens:typeof t.max_tokens=="number"?t.max_tokens:void 0},includeUsage:o?.include_usage===!0}}function Qr(e){return{prompt_tokens:e.usage.inputTokens,completion_tokens:e.usage.outputTokens,total_tokens:e.usage.inputTokens+e.usage.outputTokens,prompt_tokens_details:{cached_tokens:e.usage.cacheReadTokens}}}function Qi(e,t){let n={role:"assistant",content:e.text};return e.thinking&&(n.reasoning_content=e.thinking),{id:L("chatcmpl"),object:"chat.completion",created:ce(),model:t.req.model,choices:[{index:0,message:n,logprobs:null,finish_reason:un(e.stop)}],usag ...
56`)},c=l=>{let a=i?l:{role:"assistant",...l};return i=!0,u({index:0,delta:a,logprobs:null,finish_reason:null})};return{sink:{meta(){},text(
58`)},async error(l){await n.send(`data: ${JSON.stringify(l.body("openai"))}
60`)}}}var es=je({style:"openai",parse:Zi,req:e=>e.req,renderJson:Qi,stream:ea});function ta(e){let t=me(e),n=De(t),r=t.input;if(r==null||typeof r!="string"
62`),messages:o,stream:t.stream===!0,maxTokens:typeof t.max_output_tokens=="number"?t.max_output_tokens:void 0}}function ts(e){return{input_tokens:e.usage.inputTokens,output_tokens:e.usage.outputTokens,total_tokens:e.usage.inputTokens+e.usage.outputTokens,input_tokens_details:{cached_tokens:e.usage.cacheReadTokens},output_tokens_details:{reasoning_tokens:0}}}function ns(e,t){let n=[];return e.thinking&&n.push({type:"reasoning",id:t.rs,summary:[{type:"summary_text",text:e.thinking}]}),n.push({type:"message",id:t.msg,status:"completed",role:"assistant",content:[{type:"output_text",text:e.text,anno ...
63data: ${JSON.stringify({type:x,sequence_number:u++,...D})}
65`),d=(x,D={})=>({id:s,object:"response",created_at:o,status:x,model:t.model,error:null,...D}),p=async()=>{n.started()||await a("response.created",{response:d("in_progress"
Long lines were clipped for display.