Lines 1-65javascript
1import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2var vs=Object.create;var Sn=Object.defineProperty;var Es=Object.getOwnPropertyDescriptor;var Ts=Object.getOwnPropertyNames;var Os=Object.getPrototypeOf,Cs=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 Rs=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ts(t))!Cs.call(e,s)&&s! ...
4`)),o.removeListener("error",Sr),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)}};vr.exports=Qt;function Ko(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 ve(e,t,n,r,s,o){if(e.listenerCount("wsClientError")){let i=new Error(s);Error.captureStackTrace(i,ve),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{}},Ve=[50,100,250,500,1e3,2500,5e3,1e4,3e4,6e4],Ar=()=>({b:new Array(Ve.length).fill(0),sum:0,count:0}),Nr=(e,t)=>{e.sum+=t,e.count++;for(let n=0;n<Ve.length;n++)t<=Ve[n]&&e.b[n]++},Mr=(e,t)=>{let n=`# TYPE ${e} histogram
16`;for(let r=0;r<Ve.length;r++)n+=`${e}_bucket{le="${Ve[r]}"} ${t.b[r]}
17`;return n+`${e}_bucket{le="+Inf"} ${t.count}
20`},nn=()=>({dispatched:0,served:0,failed:0,rateLimited:0}),Si=16*1024*1024,ki=e=>new Promise((t,n)=>{let r=[],s=0;e.on("data",o=>{if(s+=o.length,s>Si){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)}),Ir=(e,t)=>{let n=e.headers["x-api-key"],r=String(e.headers.authorization??"").replace(/^Bearer\s+/i,"");return yi(typeof n=="string"&&n||r,t)};function vi(e={}){let t=e.log??(f=>process.stdout.write(f+`
21`)),n=(f,y,w)=>{let _=new Date().toISOString();if(e.logJson)return JSON.stringify({ts:_,level:f,msg:y,...w});let g=w?" "+Object.entries(w).map(([k,S])=>`${k}=${typeof S=="string"?S:JSON.stringify(S)}`).join(" "):"";return`${_} ${f.toUpperCase()} ${
22`)).join("");y.writeHead(200,{"content-type":"text/plain; version=0.0.4",...xt}),y.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 ${S}
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 ${g.dispatched}
36# TYPE agent_p2p_jobs_served_total counter
37agent_p2p_jobs_served_total ${g.served}
38# TYPE agent_p2p_jobs_failed_total counter
39agent_p2p_jobs_failed_total ${g.failed}
40# TYPE agent_p2p_jobs_ratelimited_total counter
41agent_p2p_jobs_ratelimited_total ${g.rateLimited}
42# TYPE agent_p2p_jobs_by_provider_total counter
43${L}`+Mr("agent_p2p_ttfb_ms",g.ttfb)+Mr("agent_p2p_duration_ms",g.dur));return}if(w==="/state"&&f.method==="GET"){let g=Date.now(),k=[...a.values()].map(S=>({id:S.id.slice(0,8),name:S.name,models:S.models.size,modelList:[...S.models].sort(),capacity:S.capacity,inflight:S.inflight,used1m:T(S.prov.anthropic,g)+T(S.prov.openai,g),cooldownMs:Math.max(0,S.prov.anthropic.cooldownUntil-g,S.prov.openai.cooldownUntil-g),ttfbMs:Math.round(S.ttfb),unhealthyMs:Math.max(0,S.unhealthyUntil-g),byProvider:{anthropic:{used1m:T(S.prov.anthropic,g),cooldownMs:Math.max(0,S.prov.anthropic.cooldownUntil-g)},openai: ...
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:Wr(),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){Hr(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 vt({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:Gi,onLine:l=>{let
49`:"")+kt(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 h=/^data:([^;,]+);base64,([\s\S]*)$/.exec(u[x]);if(!h)continue;let b=(h[1].split("/")[1]||"png").replace(/[^a-z0-9]/gi,"")||"png",m=Zr(s,`img-${x}.${b}`);await Yi(m,Buffer.from(h[2],"base64")),i.push("-i",m)}let c="",l="",a=(x,h)=>{if(h)return c+=h,t.text(h);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 ns(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 ra(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 rs=je({style:"openai",parse:na,req:e=>e.req,renderJson:ra,stream:sa});function oa(e){let t=ge(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 ss(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 os(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:m,sequence_number:u++,...N})}
65`),d=(m,N={})=>({id:s,object:"response",created_at:o,status:m,model:t.model,error:null,...N}),p=async()=>{n.started()||await a("response.created",{response:d("in_progress"
Long lines were clipped for display.