Lines 1-65javascript
1import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2var Os=Object.create;var vn=Object.defineProperty;var Cs=Object.getOwnPropertyDescriptor;var Rs=Object.getOwnPropertyNames;var Ps=Object.getPrototypeOf,As=Object.prototype.hasOwnProperty;var N=(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 Ns=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Rs(t))!As.call(e,s)&&s! ...
4`)),o.removeListener("error",vr),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(ze,this)})),u(a,s)}};Tr.exports=Qt;function Qo(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 ze(e) ...
5`+Object.keys(r).map(s=>`${s}: ${r[s]}`).join(`\r
8`+n)}function Te(e,t,n,r,s,o){if(e.listenerCount("wsClientError")){let i=new Error(s);Error.captureStackTrace(i,Te),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],Ir=()=>({b:new Array(Ye.length).fill(0),sum:0,count:0}),Ur=(e,t)=>{e.sum+=t,e.count++;for(let n=0;n<Ye.length;n++)t<=Ye[n]&&e.b[n]++},Br=(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`},nn=()=>({dispatched:0,served:0,failed:0,rateLimited:0}),Oi=16*1024*1024,Ci=e=>new Promise((t,n)=>{let r=[],s=0;e.on("data",o=>{if(s+=o.length,s>Oi){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)}),Lr=(e,t)=>{let n=e.headers["x-api-key"],r=String(e.headers.authorization??"").replace(/^Bearer\s+/i,"");return ki(typeof n=="string"&&n||r,t)};function Ri(e={}){let t=e.log??(f=>process.stdout.write(f+`
21`)),n=(f,_,b)=>{let g=new Date().toISOString();if(e.logJson)return JSON.stringify({ts:g,level:f,msg:_,...b});let p=b?" "+Object.entries(b).map(([k,w])=>`${k}=${typeof w=="string"?w:JSON.stringify(w)}`).join(" "):"";return`${g} ${f.toUpperCase()} ${_}
22`)).join("");_.writeHead(200,{"content-type":"text/plain; version=0.0.4",...yt}),_.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 ${I}
28# TYPE agent_p2p_inflight gauge
29agent_p2p_inflight ${g()}
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 ${p.dispatched}
36# TYPE agent_p2p_jobs_served_total counter
37agent_p2p_jobs_served_total ${p.served}
38# TYPE agent_p2p_jobs_failed_total counter
39agent_p2p_jobs_failed_total ${p.failed}
40# TYPE agent_p2p_jobs_ratelimited_total counter
41agent_p2p_jobs_ratelimited_total ${p.rateLimited}
42# TYPE agent_p2p_jobs_by_provider_total counter
43${z}`+Br("agent_p2p_ttfb_ms",p.ttfb)+Br("agent_p2p_duration_ms",p.dur));return}if(b==="/state"&&f.method==="GET"){let p=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,served:w.served,used1m:T(w.prov.anthropic,p)+T(w.prov.openai,p),cooldownMs:Math.max(0,w.prov.anthropic.cooldownUntil-p,w.prov.openai.cooldownUntil-p),ttfbMs:Math.round(w.ttfb),unhealthyMs:Math.max(0,w.unhealthyUntil-p),byProvider:{anthropic:{used1m:T(w.prov.anthropic,p),cooldownMs:Math.max(0,w.prov.anthropic.cooldownU ...
44`)}var H={info:(e,t)=>an(process.stdout,"info",e,t),warn:(e,t)=>an(process.stderr,"warn",e,t),error:(e,t)=>
46`)}function me(){let e={text:"",thinking:"",usage:Jr(),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){zr(e.usage,n)},stop(n){e.stop=n}},result:e}}function ln(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 un(e){switch(e){case"stop":return"end_turn";case"length":return"max_tokens";case"content_filter":return"refusal";default:return e}}function dn(e){return e==="tool_use" ...
47`}let u=pn(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:Ki,onLine:l=>{let
49`:"")+St(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(x=>x.images??[]);for(let x=0;x<u.length;x++){let y=/^data:([^;,]+);base64,([\s\S]*)$/.exec(u[x]);if(!y)continue;let S=(y[1].split("/")[1]||"png").replace(/[^a-z0-9]/gi,"")||"png",h=ts(s,`img-${x}.${S}`);await ea(h,Buffer.from(y[2],"base64")),i.push("-i",h)}let c="",l="",a=(x,y)=>{if(y)return c+=y,t.text(y);if(x!=null&&x.length>c ...
50data: ${JSON.stringify({type:a,...d})}
52`),u=async()=>{n.started()||await i("message_start",{message:{id:r.result.id??D("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 os(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 ca(e,t){let n={role:"assistant",content:e.text};return e.thinking&&(n.reasoning_content=e.thinking),{id:D("chatcmpl"),object:"chat.completion",created:le(),model:t.req.model,choices:[{index:0,message:n,logprobs:null,finish_reason:dn(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 is=je({style:"openai",parse:aa,req:e=>e.req,renderJson:ca,stream:la});function ua(e){let t=ge(e),n=$e(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 as(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 cs(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:h,sequence_number:u++,...P})}
65`),d=(h,P={})=>({id:s,object:"response",created_at:o,status:h,model:t.model,error:null,...P}),m=async()=>{n.started()||await a("response.created",{response:d("in_progress"
Long lines were clipped for display.