@shumai-one/shumai-agent 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/chunk-081v79v3.js +2 -0
- package/bin/chunk-12h1srs7.js +3 -0
- package/bin/{chunk-hbnpkkay.js → chunk-15y416ps.js} +1 -1
- package/bin/{chunk-gcy9m8nz.js → chunk-2n6r274x.js} +37 -5
- package/bin/{chunk-ba518ea4.js → chunk-2qp0n7qr.js} +3 -3
- package/bin/{chunk-wr1gq0mr.js → chunk-36c7hn2a.js} +1 -1
- package/bin/chunk-3g2568q8.js +4 -0
- package/bin/chunk-5b9qr9hd.js +2 -0
- package/bin/chunk-5qfgf76w.js +11 -0
- package/bin/{chunk-xepkfmkj.js → chunk-6e30fa04.js} +1 -1
- package/bin/chunk-75q7k7ws.js +6 -0
- package/bin/chunk-9px4mby3.js +5 -0
- package/bin/chunk-b9fvn1we.js +2 -0
- package/bin/{chunk-09wm68m9.js → chunk-c35a19j7.js} +2 -2
- package/bin/{chunk-nbvdnrcb.js → chunk-c6wkem7t.js} +2 -2
- package/bin/{chunk-dgxfdzaf.js → chunk-cm4dpd3k.js} +1 -1
- package/bin/{chunk-p3egm13v.js → chunk-d5pe7gc0.js} +2 -2
- package/bin/chunk-decj3jj5.js +8 -0
- package/bin/chunk-dnje06y3.js +2 -0
- package/bin/chunk-em0kmz2k.js +3 -0
- package/bin/{chunk-ceg8d25c.js → chunk-frztqry5.js} +1 -1
- package/bin/{chunk-6k9j5xzb.js → chunk-fyy1bs2c.js} +2 -2
- package/bin/{chunk-p69bnq4x.js → chunk-ghp1vchh.js} +1 -1
- package/bin/chunk-ghwhw8p2.js +8 -0
- package/bin/chunk-gza7gcvv.js +3 -0
- package/bin/chunk-hbzg8qk9.js +12 -0
- package/bin/chunk-hkacwxx5.js +3 -0
- package/bin/chunk-kjh8ef83.js +2 -0
- package/bin/chunk-n7pc3vzj.js +2 -0
- package/bin/{chunk-m0mp7pd2.js → chunk-n7ywq5jm.js} +2 -2
- package/bin/{chunk-gx72kpkb.js → chunk-ncafamz2.js} +1 -1
- package/bin/chunk-p2420qj9.js +2 -0
- package/bin/chunk-q8rfm9yd.js +45 -0
- package/bin/{chunk-22m0y0fs.js → chunk-qget207r.js} +1 -1
- package/bin/chunk-qsj8bjjz.js +4 -0
- package/bin/{chunk-fvmb8en4.js → chunk-r6kwqq12.js} +1 -1
- package/bin/{chunk-geqqct8k.js → chunk-rwm4gzpt.js} +1 -1
- package/bin/chunk-s6td43rw.js +2 -0
- package/bin/{chunk-e0mazw0r.js → chunk-sy5nq4n6.js} +1 -1
- package/bin/{chunk-6xzgjgh4.js → chunk-tzn6yhz8.js} +1 -1
- package/bin/{chunk-xeg1gre0.js → chunk-vra858k4.js} +1 -1
- package/bin/chunk-w5rk53bc.js +3 -0
- package/bin/chunk-wd4xdvj8.js +7 -0
- package/bin/{chunk-0bdvgych.js → chunk-wtznsfef.js} +3 -3
- package/bin/chunk-xmjzej3m.js +3 -0
- package/bin/{chunk-b35kbsh7.js → chunk-y6k3ph6k.js} +1 -1
- package/bin/shumai-agent-app.js +382 -345
- package/package.json +7 -7
- package/prisma/migrations/20260801065040_add_audit_log/migration.sql +33 -0
- package/prisma/migrations/20260805021613_add_asset_autofill_context/migration.sql +2 -0
- package/prisma/schema.prisma +25 -0
- package/bin/chunk-2dm6jcp4.js +0 -3
- package/bin/chunk-2gefycgt.js +0 -3
- package/bin/chunk-2t47accr.js +0 -3
- package/bin/chunk-2w4hxpqr.js +0 -3
- package/bin/chunk-3nbbx6x7.js +0 -3
- package/bin/chunk-5190gazn.js +0 -3
- package/bin/chunk-74zq8r33.js +0 -2
- package/bin/chunk-7m8a8vhh.js +0 -2
- package/bin/chunk-7qwd1bfq.js +0 -3
- package/bin/chunk-85swzdas.js +0 -41
- package/bin/chunk-98fyskbt.js +0 -2
- package/bin/chunk-98zfcdae.js +0 -14
- package/bin/chunk-aw167aaq.js +0 -8
- package/bin/chunk-b77c23jm.js +0 -2
- package/bin/chunk-bq4j07gf.js +0 -4
- package/bin/chunk-bwvq03ga.js +0 -12
- package/bin/chunk-c55dg49y.js +0 -7
- package/bin/chunk-cpmyq7y4.js +0 -3
- package/bin/chunk-d5rvr87v.js +0 -3
- package/bin/chunk-db5dg26j.js +0 -4
- package/bin/chunk-dja3b5qj.js +0 -8
- package/bin/chunk-e0np0fc1.js +0 -2
- package/bin/chunk-epkgpyvw.js +0 -3
- package/bin/chunk-fy6ak60v.js +0 -2
- package/bin/chunk-hf7g4s7z.js +0 -8
- package/bin/chunk-hrckvejt.js +0 -6
- package/bin/chunk-j4w76sg7.js +0 -2
- package/bin/chunk-jr7ndn0h.js +0 -4
- package/bin/chunk-jrnczqc1.js +0 -4
- package/bin/chunk-k4gc54nc.js +0 -3
- package/bin/chunk-m6rw11kp.js +0 -2
- package/bin/chunk-mdmba231.js +0 -7
- package/bin/chunk-n8m6vtk4.js +0 -3
- package/bin/chunk-nvze6c2k.js +0 -4
- package/bin/chunk-p0yhjbsx.js +0 -6
- package/bin/chunk-p67v44jc.js +0 -2
- package/bin/chunk-pwm0zg91.js +0 -7
- package/bin/chunk-r3r0643t.js +0 -4
- package/bin/chunk-ryyybwjr.js +0 -3
- package/bin/chunk-t9qt4a80.js +0 -8
- package/bin/chunk-tg1x6f4h.js +0 -2
- package/bin/chunk-tn22n12j.js +0 -3
- package/bin/chunk-xy7jrz8f.js +0 -2
- package/bin/chunk-y50ys5g5.js +0 -6
- package/bin/chunk-ywhm8gh6.js +0 -2
- package/bin/chunk-zkjpc8zs.js +0 -2
- package/bin/chunk-zmeynqb0.js +0 -6
package/bin/chunk-n8m6vtk4.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
function B(q){return q==="cloudflare-workers-ai"||q==="cloudflare-ai-gateway"}function D(q){let k=q.baseUrl;if(!k.includes("{"))return k;return k.replace(/\{([A-Z_][A-Z0-9_]*)\}/g,(A,x)=>{let y=process.env[x];if(!y)throw Error(`${x} is required for provider ${q.provider} but is not set.`);return y})}function z(q){let k=q[q.length-1];return k&&k.role!=="user"?"agent":"user"}function F(q){return q.some((k)=>{if(k.role==="user"&&Array.isArray(k.content))return k.content.some((w)=>w.type==="image");if(k.role==="toolResult"&&Array.isArray(k.content))return k.content.some((w)=>w.type==="image");return!1})}function G(q){let k={"X-Initiator":z(q.messages),"Openai-Intent":"conversation-edits"};if(q.hasImages)k["Copilot-Vision-Request"]="true";return k}
|
|
3
|
-
export{B as tc,D as uc,F as vc,G as wc};
|
package/bin/chunk-nvze6c2k.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Uc as G}from"./chunk-r3r0643t.js";import{ad as F}from"./chunk-22m0y0fs.js";var y=F(G(),1),H=new Set(['"',"\\","/","b","f","n","r","t","u"]);function K(b){let f=b.codePointAt(0);return f!==void 0&&f>=0&&f<=31}function Q(b){switch(b){case"\b":return"\\b";case"\f":return"\\f";case`
|
|
3
|
-
`:return"\\n";case"\r":return"\\r";case"\t":return"\\t";default:return`\\u${b.codePointAt(0)?.toString(16).padStart(4,"0")??"0000"}`}}function B(b){let f="",v=!1;for(let k=0;k<b.length;k++){let q=b[k];if(!v){if(f+=q,q==='"')v=!0;continue}if(q==='"'){f+=q,v=!1;continue}if(q==="\\"){let w=b[k+1];if(w===void 0){f+="\\\\";continue}if(w==="u"){let z=b.slice(k+2,k+6);if(/^[0-9a-fA-F]{4}$/.test(z)){f+=`\\u${z}`,k+=5;continue}}if(H.has(w)){f+=`\\${w}`,k+=1;continue}f+="\\\\";continue}f+=K(q)?Q(q):q}return f}function T(b){try{return JSON.parse(b)}catch(f){let v=B(b);if(v!==b)return JSON.parse(v);throw f}}function X(b){if(!b||b.trim()==="")return{};try{return T(b)}catch{try{return y.parse(b)??{}}catch{try{return y.parse(B(b))??{}}catch{return{}}}}}
|
|
4
|
-
export{T as ic,X as jc};
|
package/bin/chunk-p0yhjbsx.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{uc as S,vc as I,wc as C}from"./chunk-n8m6vtk4.js";import{xc as L}from"./chunk-85swzdas.js";import{Ec as T}from"./chunk-2dm6jcp4.js";import{Sc as y,Tc as F}from"./chunk-bq4j07gf.js";import"./chunk-r3r0643t.js";import{Vc as f,Wc as h,Xc as g}from"./chunk-2w4hxpqr.js";import{Yc as O,_c as A}from"./chunk-tn22n12j.js";import{$c as E}from"./chunk-p69bnq4x.js";import"./chunk-22m0y0fs.js";function v(Q){if(Q)return Q;if(typeof process<"u"&&process.env.PI_CACHE_RETENTION==="long")return"long";return"short"}function u(Q,Z){let Y=v(Z);if(Y==="none")return{retention:Y};let _=Y==="long"&&z(Q).supportsLongCacheRetention?"1h":void 0;return{retention:Y,cacheControl:{type:"ephemeral",..._&&{ttl:_}}}}var d="2.1.75",p=["Read","Write","Edit","Bash","Grep","Glob","AskUserQuestion","EnterPlanMode","ExitPlanMode","KillShell","NotebookEdit","Skill","Task","TaskOutput","TodoWrite","WebFetch","WebSearch"],m=new Map(p.map((Q)=>[Q.toLowerCase(),Q])),x=(Q)=>m.get(Q.toLowerCase())??Q,c=(Q,Z)=>{if(Z&&Z.length>0){let Y=Q.toLowerCase(),_=Z.find((X)=>X.name.toLowerCase()===Y);if(_)return _.name}return Q};function M(Q){if(!Q.some((X)=>X.type==="image"))return E(Q.map((X)=>X.text).join(`
|
|
3
|
-
`));let Y=Q.map((X)=>{if(X.type==="text")return{type:"text",text:E(X.text)};return{type:"image",source:{type:"base64",media_type:X.mimeType,data:X.data}}});if(!Y.some((X)=>X.type==="text"))Y.unshift({type:"text",text:"(see attached image)"});return Y}var r="fine-grained-tool-streaming-2025-05-14",i="interleaved-thinking-2025-05-14";function z(Q){let Z=Q.provider==="fireworks",Y=Q.provider==="cloudflare-ai-gateway"&&Q.baseUrl.includes("anthropic");return{supportsEagerToolInputStreaming:Q.compat?.supportsEagerToolInputStreaming??!Z,supportsLongCacheRetention:Q.compat?.supportsLongCacheRetention??!Z,sendSessionAffinityHeaders:Q.compat?.sendSessionAffinityHeaders??!!(Z||Y),supportsCacheControlOnTools:Q.compat?.supportsCacheControlOnTools??!Z,allowEmptySignature:Q.compat?.allowEmptySignature??!1}}function H(...Q){let Z={};for(let Y of Q)if(Y)Object.assign(Z,Y);return Z}var l=new Set(["message_start","message_delta","message_stop","content_block_start","content_block_delta","content_block_stop"]);function k(Q){if(!Q.event&&Q.data.length===0)return null;let Z={event:Q.event,data:Q.data.join(`
|
|
4
|
-
`),raw:[...Q.raw]};return Q.event=null,Q.data=[],Q.raw=[],Z}function w(Q,Z){if(Q==="")return k(Z);if(Z.raw.push(Q),Q.startsWith(":"))return null;let Y=Q.indexOf(":"),_=Y===-1?Q:Q.slice(0,Y),X=Y===-1?"":Q.slice(Y+1);if(X.startsWith(" "))X=X.slice(1);if(_==="event")Z.event=X;else if(_==="data")Z.data.push(X);return null}function a(Q){let Z=Q.indexOf("\r"),Y=Q.indexOf(`
|
|
5
|
-
`);if(Z===-1)return Y;if(Y===-1)return Z;return Math.min(Z,Y)}function R(Q){let Z=a(Q);if(Z===-1)return null;let Y=Z+1;if(Q[Z]==="\r"&&Q[Y]===`
|
|
6
|
-
`)Y+=1;return{line:Q.slice(0,Z),rest:Q.slice(Y)}}async function*n(Q,Z){let Y=Q.getReader(),_=new TextDecoder,X={event:null,data:[],raw:[]},$="";try{while(!0){if(Z?.aborted)throw Error("Request was aborted");let{value:V,done:N}=await Y.read();if(N)break;$+=_.decode(V,{stream:!0});let D=R($);while(D){$=D.rest;let J=w(D.line,X);if(J)yield J;D=R($)}}$+=_.decode();let W=R($);while(W){$=W.rest;let V=w(W.line,X);if(V)yield V;W=R($)}if($.length>0){let V=w($,X);if(V)yield V}let G=k(X);if(G)yield G}finally{Y.releaseLock()}}async function*s(Q,Z){if(!Q.body)throw Error("Attempted to iterate over an Anthropic response with no body");let Y=!1,_=!1;for await(let X of n(Q.body,Z)){if(X.event==="error")throw Error(X.data);if(!l.has(X.event??""))continue;try{let $=y(X.data);if($.type==="message_start")Y=!0;else if($.type==="message_stop")_=!0;yield $}catch($){let W=$ instanceof Error?$.message:String($);throw Error(`Could not parse Anthropic SSE event ${X.event}: ${W}; data=${X.data}; raw=${X.raw.join("\\n")}`)}}if(Y&&!_)throw Error("Anthropic stream ended before message_stop")}var K=(Q,Z,Y)=>{let _=new A;return(async()=>{let X={role:"assistant",content:[],api:Q.api,provider:Q.provider,model:Q.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let $,W;if(Y?.client)$=Y.client,W=!1;else{let q=Y?.apiKey;if(!q)throw Error(`No API key for provider: ${Q.provider}`);let P;if(Q.provider==="github-copilot"){let b=I(Z.messages);P=C({messages:Z.messages,hasImages:b})}let j=(Y?.cacheRetention??v())==="none"?void 0:Y?.sessionId,B=e(Q,q,Y?.interleavedThinking??!0,ZQ(Q,Z),Y?.headers,P,j);$=B.client,W=B.isOAuthToken}let G=QQ(Q,Z,W,Y),V=await Y?.onPayload?.(G,Q);if(V!==void 0)G=V;let N={...Y?.signal?{signal:Y.signal}:{},...Y?.timeoutMs!==void 0?{timeout:Y.timeoutMs}:{},maxRetries:Y?.maxRetries??0},D=await $.messages.create({...G,stream:!0},N).asResponse();await Y?.onResponse?.({status:D.status,headers:T(D.headers)},Q),_.push({type:"start",partial:X});let J=X.content;for await(let q of s(D,Y?.signal))if(q.type==="message_start")X.responseId=q.message.id,X.usage.input=q.message.usage.input_tokens||0,X.usage.output=q.message.usage.output_tokens||0,X.usage.cacheRead=q.message.usage.cache_read_input_tokens||0,X.usage.cacheWrite=q.message.usage.cache_creation_input_tokens||0,X.usage.totalTokens=X.usage.input+X.usage.output+X.usage.cacheRead+X.usage.cacheWrite,O(Q,X.usage);else if(q.type==="content_block_start"){if(q.content_block.type==="text"){let P={type:"text",text:"",index:q.index};X.content.push(P),_.push({type:"text_start",contentIndex:X.content.length-1,partial:X})}else if(q.content_block.type==="thinking"){let P={type:"thinking",thinking:"",thinkingSignature:"",index:q.index};X.content.push(P),_.push({type:"thinking_start",contentIndex:X.content.length-1,partial:X})}else if(q.content_block.type==="redacted_thinking"){let P={type:"thinking",thinking:"[Reasoning redacted]",thinkingSignature:q.content_block.data,redacted:!0,index:q.index};X.content.push(P),_.push({type:"thinking_start",contentIndex:X.content.length-1,partial:X})}else if(q.content_block.type==="tool_use"){let P={type:"toolCall",id:q.content_block.id,name:W?c(q.content_block.name,Z.tools):q.content_block.name,arguments:q.content_block.input??{},partialJson:"",index:q.index};X.content.push(P),_.push({type:"toolcall_start",contentIndex:X.content.length-1,partial:X})}}else if(q.type==="content_block_delta"){if(q.delta.type==="text_delta"){let P=J.findIndex((j)=>j.index===q.index),U=J[P];if(U&&U.type==="text")U.text+=q.delta.text,_.push({type:"text_delta",contentIndex:P,delta:q.delta.text,partial:X})}else if(q.delta.type==="thinking_delta"){let P=J.findIndex((j)=>j.index===q.index),U=J[P];if(U&&U.type==="thinking")U.thinking+=q.delta.thinking,_.push({type:"thinking_delta",contentIndex:P,delta:q.delta.thinking,partial:X})}else if(q.delta.type==="input_json_delta"){let P=J.findIndex((j)=>j.index===q.index),U=J[P];if(U&&U.type==="toolCall")U.partialJson+=q.delta.partial_json,U.arguments=F(U.partialJson),_.push({type:"toolcall_delta",contentIndex:P,delta:q.delta.partial_json,partial:X})}else if(q.delta.type==="signature_delta"){let P=J.findIndex((j)=>j.index===q.index),U=J[P];if(U&&U.type==="thinking")U.thinkingSignature=U.thinkingSignature||"",U.thinkingSignature+=q.delta.signature}}else if(q.type==="content_block_stop"){let P=J.findIndex((j)=>j.index===q.index),U=J[P];if(U){if(delete U.index,U.type==="text")_.push({type:"text_end",contentIndex:P,content:U.text,partial:X});else if(U.type==="thinking")_.push({type:"thinking_end",contentIndex:P,content:U.thinking,partial:X});else if(U.type==="toolCall")U.arguments=F(U.partialJson),delete U.partialJson,_.push({type:"toolcall_end",contentIndex:P,toolCall:U,partial:X})}}else if(q.type==="message_delta"){if(q.delta.stop_reason)X.stopReason=$Q(q.delta.stop_reason);if(q.usage.input_tokens!=null)X.usage.input=q.usage.input_tokens;if(q.usage.output_tokens!=null)X.usage.output=q.usage.output_tokens;if(q.usage.cache_read_input_tokens!=null)X.usage.cacheRead=q.usage.cache_read_input_tokens;if(q.usage.cache_creation_input_tokens!=null)X.usage.cacheWrite=q.usage.cache_creation_input_tokens;X.usage.totalTokens=X.usage.input+X.usage.output+X.usage.cacheRead+X.usage.cacheWrite,O(Q,X.usage)}if(Y?.signal?.aborted)throw Error("Request was aborted");if(X.stopReason==="aborted"||X.stopReason==="error")throw Error("An unknown error occurred");_.push({type:"done",reason:X.stopReason,message:X}),_.end()}catch($){for(let W of X.content)delete W.index,delete W.partialJson;X.stopReason=Y?.signal?.aborted?"aborted":"error",X.errorMessage=$ instanceof Error?$.message:JSON.stringify($),_.push({type:"error",reason:X.stopReason,error:X}),_.end()}})(),_};function t(Q,Z){let Y=Z?Q.thinkingLevelMap?.[Z]:void 0;if(typeof Y==="string")return Y;switch(Z){case"minimal":case"low":return"low";case"medium":return"medium";case"high":return"high";default:return"high"}}var EQ=(Q,Z,Y)=>{let _=Y?.apiKey;if(!_)throw Error(`No API key for provider: ${Q.provider}`);let X=f(Q,Y,_);if(!Y?.reasoning)return K(Q,Z,{...X,thinkingEnabled:!1});if(Q.compat?.forceAdaptiveThinking===!0){let W=t(Q,Y.reasoning);return K(Q,Z,{...X,thinkingEnabled:!0,effort:W})}let $=h(X.maxTokens,Q.maxTokens,Y.reasoning,Y.thinkingBudgets);return K(Q,Z,{...X,maxTokens:$.maxTokens,thinkingEnabled:!0,thinkingBudgetTokens:$.thinkingBudget})};function o(Q){return Q.includes("sk-ant-oat")}function e(Q,Z,Y,_,X,$,W){let G=Y&&Q.compat?.forceAdaptiveThinking!==!0,V=[];if(_)V.push(r);if(G)V.push(i);if(Q.provider==="cloudflare-ai-gateway")return{client:new L({apiKey:null,authToken:null,baseURL:S(Q),dangerouslyAllowBrowser:!0,defaultHeaders:H({accept:"application/json","anthropic-dangerous-direct-browser-access":"true","cf-aig-authorization":`Bearer ${Z}`,"x-api-key":null,Authorization:null,...V.length>0?{"anthropic-beta":V.join(",")}:{}},Q.headers,X)}),isOAuthToken:!1};if(Q.provider==="github-copilot")return{client:new L({apiKey:null,authToken:Z,baseURL:Q.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:H({accept:"application/json","anthropic-dangerous-direct-browser-access":"true",...V.length>0?{"anthropic-beta":V.join(",")}:{}},Q.headers,$,X)}),isOAuthToken:!1};if(o(Z))return{client:new L({apiKey:null,authToken:Z,baseURL:Q.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:H({accept:"application/json","anthropic-dangerous-direct-browser-access":"true","anthropic-beta":["claude-code-20250219","oauth-2025-04-20",...V].join(","),"user-agent":`claude-cli/${d}`,"x-app":"cli"},Q.headers,X)}),isOAuthToken:!0};let N=W&&z(Q).sendSessionAffinityHeaders?{"x-session-affinity":W}:{};return{client:new L({apiKey:Z,authToken:null,baseURL:Q.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:H({accept:"application/json","anthropic-dangerous-direct-browser-access":"true",...V.length>0?{"anthropic-beta":V.join(",")}:{}},N,Q.headers,X)}),isOAuthToken:!1}}function QQ(Q,Z,Y,_){let{cacheControl:X}=u(Q,_?.cacheRetention),$={model:Q.id,messages:YQ(Z.messages,Q,Y,X,z(Q).allowEmptySignature),max_tokens:_?.maxTokens??Q.maxTokens,stream:!0};if(Y){if($.system=[{type:"text",text:"You are Claude Code, Anthropic's official CLI for Claude.",...X?{cache_control:X}:{}}],Z.systemPrompt)$.system.push({type:"text",text:E(Z.systemPrompt),...X?{cache_control:X}:{}})}else if(Z.systemPrompt)$.system=[{type:"text",text:E(Z.systemPrompt),...X?{cache_control:X}:{}}];if(_?.temperature!==void 0&&!_?.thinkingEnabled)$.temperature=_.temperature;if(Z.tools&&Z.tools.length>0){let W=z(Q);$.tools=_Q(Z.tools,Y,W.supportsEagerToolInputStreaming,W.supportsCacheControlOnTools?X:void 0)}if(Q.reasoning){if(_?.thinkingEnabled){let W=_.thinkingDisplay??"summarized";if(Q.compat?.forceAdaptiveThinking===!0){if($.thinking={type:"adaptive",display:W},_.effort)$.output_config=_.effort==="xhigh"?{effort:_.effort}:{effort:_.effort}}else $.thinking={type:"enabled",budget_tokens:_.thinkingBudgetTokens||1024,display:W}}else if(_?.thinkingEnabled===!1)$.thinking={type:"disabled"}}if(_?.metadata){let W=_.metadata.user_id;if(typeof W==="string")$.metadata={user_id:W}}if(_?.toolChoice)if(typeof _.toolChoice==="string")$.tool_choice={type:_.toolChoice};else $.tool_choice=_.toolChoice;return $}function XQ(Q){return Q.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64)}function YQ(Q,Z,Y,_,X=!1){let $=[],W=g(Q,Z,XQ);for(let G=0;G<W.length;G++){let V=W[G];if(V.role==="user")if(typeof V.content==="string"){if(V.content.trim().length>0)$.push({role:"user",content:E(V.content)})}else{let D=V.content.map((J)=>{if(J.type==="text")return{type:"text",text:E(J.text)};else return{type:"image",source:{type:"base64",media_type:J.mimeType,data:J.data}}}).filter((J)=>{if(J.type==="text")return J.text.trim().length>0;return!0});if(D.length===0)continue;$.push({role:"user",content:D})}else if(V.role==="assistant"){let N=[];for(let D of V.content)if(D.type==="text"){if(D.text.trim().length===0)continue;N.push({type:"text",text:E(D.text)})}else if(D.type==="thinking"){if(D.redacted){N.push({type:"redacted_thinking",data:D.thinkingSignature});continue}if(D.thinking.trim().length===0)continue;if(!D.thinkingSignature||D.thinkingSignature.trim().length===0)N.push(X?{type:"thinking",thinking:E(D.thinking),signature:""}:{type:"text",text:E(D.thinking)});else N.push({type:"thinking",thinking:E(D.thinking),signature:D.thinkingSignature})}else if(D.type==="toolCall")N.push({type:"tool_use",id:D.id,name:Y?x(D.name):D.name,input:D.arguments??{}});if(N.length===0)continue;$.push({role:"assistant",content:N})}else if(V.role==="toolResult"){let N=[];N.push({type:"tool_result",tool_use_id:V.toolCallId,content:M(V.content),is_error:V.isError});let D=G+1;while(D<W.length&&W[D].role==="toolResult"){let J=W[D];N.push({type:"tool_result",tool_use_id:J.toolCallId,content:M(J.content),is_error:J.isError}),D++}G=D-1,$.push({role:"user",content:N})}}if(_&&$.length>0){let G=$[$.length-1];if(G.role==="user"){if(Array.isArray(G.content)){let V=G.content[G.content.length-1];if(V&&(V.type==="text"||V.type==="image"||V.type==="tool_result"))V.cache_control=_}else if(typeof G.content==="string")G.content=[{type:"text",text:G.content,cache_control:_}]}}return $}function ZQ(Q,Z){return!!Z.tools?.length&&!z(Q).supportsEagerToolInputStreaming}function _Q(Q,Z,Y,_){if(!Q)return[];return Q.map((X,$)=>{let W=X.parameters;return{name:Z?x(X.name):X.name,description:X.description,...Y?{eager_input_streaming:!0}:{},input_schema:{type:"object",properties:W.properties??{},required:W.required??[]},..._&&$===Q.length-1?{cache_control:_}:{}}})}function $Q(Q){switch(Q){case"end_turn":return"stop";case"max_tokens":return"length";case"tool_use":return"toolUse";case"refusal":return"error";case"pause_turn":return"stop";case"stop_sequence":return"stop";case"sensitive":return"error";default:throw Error(`Unhandled stop reason: ${Q}`)}}export{EQ as streamSimpleAnthropic,K as streamAnthropic};
|
package/bin/chunk-p67v44jc.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Cc as b}from"./chunk-fvmb8en4.js";import{Ec as q}from"./chunk-2dm6jcp4.js";import{$c as A}from"./chunk-p69bnq4x.js";import"./chunk-22m0y0fs.js";var j=async(f,E,v)=>{let B={api:f.api,provider:f.provider,model:f.id,output:[],stopReason:"stop",timestamp:Date.now()};try{let D=v?.apiKey;if(!D)throw Error(`No API key for provider: ${f.provider}`);let J=L(f,D,v?.headers),G=M(f,E),N=await v?.onPayload?.(G,f);if(N!==void 0)G=N;let F={...v?.signal?{signal:v.signal}:{},...v?.timeoutMs!==void 0?{timeout:v.timeoutMs}:{},maxRetries:v?.maxRetries??0},{data:I,response:_}=await J.chat.completions.create(G,F).withResponse();await v?.onResponse?.({status:_.status,headers:q(_.headers)},f);let Q=I;if(B.responseId=Q.id,Q.usage)B.usage=S(Q.usage,f);let V=Q.choices[0];if(V){let X=V.message.content;if(typeof X==="string"&&X.length>0)B.output.push({type:"text",text:X});for(let Y of V.message.images??[]){let $=typeof Y.image_url==="string"?Y.image_url:Y.image_url?.url;if(!$?.startsWith("data:"))continue;let Z=$.match(/^data:([^;]+);base64,(.+)$/);if(!Z)continue;B.output.push({type:"image",mimeType:Z[1],data:Z[2]})}}return B}catch(D){return B.stopReason=v?.signal?.aborted?"aborted":"error",B.errorMessage=D instanceof Error?D.message:JSON.stringify(D),B}};function L(f,E,v){return new b({apiKey:E,baseURL:f.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:{...f.headers,...v}})}function M(f,E){let v=E.input.map((B)=>{if(B.type==="text")return{type:"text",text:A(B.text)};return{type:"image_url",image_url:{url:`data:${B.mimeType};base64,${B.data}`}}});return{model:f.id,messages:[{role:"user",content:v}],stream:!1,modalities:f.output.includes("text")?["image","text"]:["image"]}}function S(f,E){let v=f.prompt_tokens||0,B=f.prompt_tokens_details?.cached_tokens||0,D=f.prompt_tokens_details?.cache_write_tokens||0,J=D>0?Math.max(0,B-D):B,G=Math.max(0,v-J-D),N=f.completion_tokens||0,F={input:G,output:N,cacheRead:J,cacheWrite:D,totalTokens:G+N+J+D,cost:{input:E.cost.input/1e6*G,output:E.cost.output/1e6*N,cacheRead:E.cost.cacheRead/1e6*J,cacheWrite:E.cost.cacheWrite/1e6*D,total:0}};return F.cost.total=F.cost.input+F.cost.output+F.cost.cacheRead+F.cost.cacheWrite,F}export{j as generateImagesOpenRouter};
|
package/bin/chunk-pwm0zg91.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{tc as r,uc as p,vc as d,wc as i}from"./chunk-n8m6vtk4.js";import{Bc as n}from"./chunk-5190gazn.js";import{Cc as b}from"./chunk-fvmb8en4.js";import{Ec as u}from"./chunk-2dm6jcp4.js";import{Tc as I}from"./chunk-bq4j07gf.js";import"./chunk-r3r0643t.js";import{Vc as m,Xc as c}from"./chunk-2w4hxpqr.js";import{Yc as h,Zc as k,_c as g}from"./chunk-tn22n12j.js";import{$c as w}from"./chunk-p69bnq4x.js";import"./chunk-22m0y0fs.js";function JJ(J){for(let X of J){if(X.role==="toolResult")return!0;if(X.role==="assistant"){if(X.content.some((Q)=>Q.type==="toolCall"))return!0}}return!1}function x(J){return J.type==="text"}function QJ(J){return J.type==="thinking"}function XJ(J){return J.type==="toolCall"}function YJ(J){return J.type==="image"}function a(J){if(J)return J;if(typeof process<"u"&&process.env.PI_CACHE_RETENTION==="long")return"long";return"short"}var _J=(J,X,Q)=>{let Y=new g;return(async()=>{let $={role:"assistant",content:[],api:J.api,provider:J.provider,model:J.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let N=Q?.apiKey;if(!N)throw Error(`No API key for provider: ${J.provider}`);let V=T(J),_=a(Q?.cacheRetention),q=_==="none"?void 0:Q?.sessionId,j=$J(J,X,N,Q?.headers,q,V),W=qJ(J,X,Q,V,_),H=await Q?.onPayload?.(W,J);if(H!==void 0)W=H;let K={...Q?.signal?{signal:Q.signal}:{},...Q?.timeoutMs!==void 0?{timeout:Q.timeoutMs}:{},maxRetries:Q?.maxRetries??0},{data:P,response:A}=await j.chat.completions.create(W,K).withResponse();await Q?.onResponse?.({status:A.status,headers:u(A.headers)},J),Y.push({type:"start",partial:$});let S=null,L=null,O=!1,M=new Map,f=new Map,U=$.content,v=(z)=>U.indexOf(z),s=(z)=>{let Z=v(z);if(Z===-1)return;if(z.type==="text")Y.push({type:"text_end",contentIndex:Z,content:z.text,partial:$});else if(z.type==="thinking")Y.push({type:"thinking_end",contentIndex:Z,content:z.thinking,partial:$});else if(z.type==="toolCall")z.arguments=I(z.partialArgs),delete z.partialArgs,delete z.streamIndex,Y.push({type:"toolcall_end",contentIndex:Z,toolCall:z,partial:$})},t=()=>{if(!S)S={type:"text",text:""},U.push(S),Y.push({type:"text_start",contentIndex:v(S),partial:$});return S},e=(z)=>{if(!L)L={type:"thinking",thinking:"",thinkingSignature:z},U.push(L),Y.push({type:"thinking_start",contentIndex:v(L),partial:$});return L},o=(z)=>{let Z=typeof z.index==="number"?z.index:void 0,G=Z!==void 0?M.get(Z):void 0;if(!G&&z.id)G=f.get(z.id);if(!G){if(G={type:"toolCall",id:z.id||"",name:z.function?.name||"",arguments:{},partialArgs:"",streamIndex:Z},Z!==void 0)M.set(Z,G);if(z.id)f.set(z.id,G);U.push(G),Y.push({type:"toolcall_start",contentIndex:v(G),partial:$})}if(Z!==void 0&&G.streamIndex===void 0)G.streamIndex=Z,M.set(Z,G);if(z.id)f.set(z.id,G);return G};for await(let z of P){if(!z||typeof z!=="object")continue;if($.responseId||=z.id,typeof z.model==="string"&&z.model.length>0&&z.model!==J.id)$.responseModel||=z.model;if(z.usage)$.usage=C(z.usage,J);let Z=Array.isArray(z.choices)?z.choices[0]:void 0;if(!Z)continue;if(!z.usage&&Z.usage)$.usage=C(Z.usage,J);if(Z.finish_reason){let G=DJ(Z.finish_reason);if($.stopReason=G.stopReason,G.errorMessage)$.errorMessage=G.errorMessage;O=!0}if(Z.delta){if(Z.delta.content!==null&&Z.delta.content!==void 0&&Z.delta.content.length>0){let E=t();E.text+=Z.delta.content,Y.push({type:"text_delta",contentIndex:v(E),delta:Z.delta.content,partial:$})}let G=["reasoning_content","reasoning","reasoning_text"],R=Z.delta,y=null;for(let E of G){let D=R[E];if(typeof D==="string"&&D.length>0){y=E;break}}if(y){let E=R[y];if(typeof E==="string"&&E.length>0){let D=J.provider==="opencode-go"&&y==="reasoning"?"reasoning_content":y,F=e(D);F.thinking+=E,Y.push({type:"thinking_delta",contentIndex:v(F),delta:E,partial:$})}}if(Z?.delta?.tool_calls)for(let E of Z.delta.tool_calls){let D=o(E);if(!D.id&&E.id)D.id=E.id,f.set(E.id,D);if(!D.name&&E.function?.name)D.name=E.function.name;let F="";if(E.function?.arguments)F=E.function.arguments,D.partialArgs=(D.partialArgs??"")+E.function.arguments,D.arguments=I(D.partialArgs);Y.push({type:"toolcall_delta",contentIndex:v(D),delta:F,partial:$})}let B=Z.delta.reasoning_details;if(B&&Array.isArray(B)){for(let E of B)if(E.type==="reasoning.encrypted"&&E.id&&E.data){let D=$.content.find((F)=>F.type==="toolCall"&&F.id===E.id);if(D)D.thoughtSignature=JSON.stringify(E)}}}}for(let z of U)s(z);if(Q?.signal?.aborted)throw Error("Request was aborted");if($.stopReason==="aborted")throw Error("Request was aborted");if($.stopReason==="error")throw Error($.errorMessage||"Provider returned an error stop reason");if(!O)throw Error("Stream ended without finish_reason");Y.push({type:"done",reason:$.stopReason,message:$}),Y.end()}catch(N){for(let _ of $.content)delete _.index,delete _.partialArgs,delete _.streamIndex;$.stopReason=Q?.signal?.aborted?"aborted":"error",$.errorMessage=N instanceof Error?N.message:JSON.stringify(N);let V=N?.error?.metadata?.raw;if(V)$.errorMessage+=`
|
|
3
|
-
${V}`;Y.push({type:"error",reason:$.stopReason,error:$}),Y.end()}})(),Y},MJ=(J,X,Q)=>{let Y=Q?.apiKey;if(!Y)throw Error(`No API key for provider: ${J.provider}`);let $=m(J,Q,Y),N=Q?.reasoning?k(J,Q.reasoning):void 0,V=N==="off"?void 0:N,_=Q?.toolChoice;return _J(J,X,{...$,reasoningEffort:V,toolChoice:_})};function $J(J,X,Q,Y,$,N=T(J)){let V={...J.headers};if(J.provider==="github-copilot"){let q=d(X.messages),j=i({messages:X.messages,hasImages:q});Object.assign(V,j)}if($&&N.sendSessionAffinityHeaders)V.session_id=$,V["x-client-request-id"]=$,V["x-session-affinity"]=$;if(Y)Object.assign(V,Y);let _=J.provider==="cloudflare-ai-gateway"?{...V,Authorization:V.Authorization??null,"cf-aig-authorization":`Bearer ${Q}`}:V;return new b({apiKey:Q,baseURL:r(J.provider)?p(J):J.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:_})}function qJ(J,X,Q,Y=T(J),$=a(Q?.cacheRetention)){let N=WJ(J,X,Y),V=zJ(Y,$),_={model:J.id,messages:N,stream:!0,prompt_cache_key:J.baseUrl.includes("api.openai.com")&&$!=="none"||$==="long"&&Y.supportsLongCacheRetention?n(Q?.sessionId):void 0,prompt_cache_retention:$==="long"&&Y.supportsLongCacheRetention?"24h":void 0};if(Y.supportsUsageInStreaming!==!1)_.stream_options={include_usage:!0};if(Y.supportsStore)_.store=!1;if(Q?.maxTokens)if(Y.maxTokensField==="max_tokens")_.max_tokens=Q.maxTokens;else _.max_completion_tokens=Q.maxTokens;if(Q?.temperature!==void 0)_.temperature=Q.temperature;if(X.tools&&X.tools.length>0){if(_.tools=GJ(X.tools,Y),Y.zaiToolStream)_.tool_stream=!0}else if(JJ(X.messages))_.tools=[];if(V)LJ(N,_.tools,V);if(Q?.toolChoice)_.tool_choice=Q.toolChoice;if(Y.thinkingFormat==="zai"&&J.reasoning)_.enable_thinking=!!Q?.reasoningEffort;else if(Y.thinkingFormat==="qwen"&&J.reasoning)_.enable_thinking=!!Q?.reasoningEffort;else if(Y.thinkingFormat==="qwen-chat-template"&&J.reasoning)_.chat_template_kwargs={enable_thinking:!!Q?.reasoningEffort,preserve_thinking:!0};else if(Y.thinkingFormat==="deepseek"&&J.reasoning){if(_.thinking={type:Q?.reasoningEffort?"enabled":"disabled"},Q?.reasoningEffort&&Y.supportsReasoningEffort)_.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort}else if(Y.thinkingFormat==="openrouter"&&J.reasoning){let q=_;if(Q?.reasoningEffort)q.reasoning={effort:J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort};else if(J.thinkingLevelMap?.off!==null)q.reasoning={effort:J.thinkingLevelMap?.off??"none"}}else if(Y.thinkingFormat==="together"&&J.reasoning){let q=_;if(q.reasoning={enabled:!!Q?.reasoningEffort},Q?.reasoningEffort&&Y.supportsReasoningEffort)q.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort}else if(Y.thinkingFormat==="string-thinking"&&J.reasoning){let q=_;if(Q?.reasoningEffort)q.thinking=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort;else if(J.thinkingLevelMap?.off!==null)q.thinking=J.thinkingLevelMap?.off??"none"}else if(Q?.reasoningEffort&&J.reasoning&&Y.supportsReasoningEffort)_.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort;else if(!Q?.reasoningEffort&&J.reasoning&&Y.supportsReasoningEffort){let q=J.thinkingLevelMap?.off;if(typeof q==="string")_.reasoning_effort=q}if(J.baseUrl.includes("openrouter.ai")&&J.compat?.openRouterRouting)_.provider=J.compat.openRouterRouting;if(J.baseUrl.includes("ai-gateway.vercel.sh")&&J.compat?.vercelGatewayRouting){let q=J.compat.vercelGatewayRouting;if(q.only||q.order){let j={};if(q.only)j.only=q.only;if(q.order)j.order=q.order;_.providerOptions={gateway:j}}}return _}function zJ(J,X){if(J.cacheControlFormat!=="anthropic"||X==="none")return;let Q=X==="long"&&J.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...Q?{ttl:Q}:{}}}function LJ(J,X,Q){NJ(J,Q),ZJ(X,Q),VJ(J,Q)}function NJ(J,X){for(let Q of J)if(Q.role==="system"||Q.role==="developer"){jJ(Q,X);return}}function VJ(J,X){for(let Q=J.length-1;Q>=0;Q--){let Y=J[Q];if(Y.role==="user"||Y.role==="assistant"){if(EJ(Y,X))return}}}function ZJ(J,X){if(!J||J.length===0)return;let Q=J[J.length-1];Q.cache_control=X}function jJ(J,X){return l(J,X)}function EJ(J,X){if(J.role==="user"||J.role==="assistant")return l(J,X);return!1}function l(J,X){let Q=J.content;if(typeof Q==="string"){if(Q.length===0)return!1;return J.content=[{type:"text",text:Q,cache_control:X}],!0}if(!Array.isArray(Q))return!1;for(let Y=Q.length-1;Y>=0;Y--){let $=Q[Y];if($?.type==="text"){let N=$;return N.cache_control=X,!0}}return!1}function WJ(J,X,Q){let Y=[],$=(_)=>{if(_.includes("|")){let[q]=_.split("|");return q.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}if(J.provider==="openai")return _.length>40?_.slice(0,40):_;return _},N=c(X.messages,J,(_)=>$(_));if(X.systemPrompt){let q=J.reasoning&&Q.supportsDeveloperRole?"developer":"system";Y.push({role:q,content:w(X.systemPrompt)})}let V=null;for(let _=0;_<N.length;_++){let q=N[_];if(Q.requiresAssistantAfterToolResult&&V==="toolResult"&&q.role==="user")Y.push({role:"assistant",content:"I have processed the tool results."});if(q.role==="user")if(typeof q.content==="string")Y.push({role:"user",content:w(q.content)});else{let j=q.content.map((W)=>{if(W.type==="text")return{type:"text",text:w(W.text)};else return{type:"image_url",image_url:{url:`data:${W.mimeType};base64,${W.data}`}}});if(j.length===0)continue;Y.push({role:"user",content:j})}else if(q.role==="assistant"){let j={role:"assistant",content:Q.requiresAssistantAfterToolResult?"":null},W=q.content.filter(x).filter((L)=>L.text.trim().length>0).map((L)=>({type:"text",text:w(L.text)})),H=W.map((L)=>L.text).join(""),K=q.content.filter(QJ).filter((L)=>L.thinking.trim().length>0);if(K.length>0)if(Q.requiresThinkingAsText){let L=K.map((O)=>w(O.thinking)).join(`
|
|
4
|
-
|
|
5
|
-
`);j.content=[{type:"text",text:L},...W]}else{if(H.length>0)j.content=H;let L=K[0].thinkingSignature;if(J.provider==="opencode-go"&&L==="reasoning")L="reasoning_content";if(L&&L.length>0)j[L]=K.map((O)=>O.thinking).join(`
|
|
6
|
-
`)}else if(H.length>0)j.content=H;let P=q.content.filter(XJ);if(P.length>0){j.tool_calls=P.map((O)=>({id:O.id,type:"function",function:{name:O.name,arguments:JSON.stringify(O.arguments)}}));let L=P.filter((O)=>O.thoughtSignature).map((O)=>{try{return JSON.parse(O.thoughtSignature)}catch{return null}}).filter(Boolean);if(L.length>0)j.reasoning_details=L}if(Q.requiresReasoningContentOnAssistantMessages&&J.reasoning&&j.reasoning_content===void 0)j.reasoning_content="";let A=j.content;if(!(A!==null&&A!==void 0&&(typeof A==="string"?A.length>0:A.length>0))&&!j.tool_calls)continue;Y.push(j)}else if(q.role==="toolResult"){let j=[],W=_;for(;W<N.length&&N[W].role==="toolResult";W++){let H=N[W],K=H.content.filter(x).map((L)=>L.text).join(`
|
|
7
|
-
`),P=H.content.some((L)=>L.type==="image"),A=K.length>0,S={role:"tool",content:w(A?K:"(see attached image)"),tool_call_id:H.toolCallId};if(Q.requiresToolResultName&&H.toolName)S.name=H.toolName;if(Y.push(S),P&&J.input.includes("image")){for(let L of H.content)if(YJ(L))j.push({type:"image_url",image_url:{url:`data:${L.mimeType};base64,${L.data}`}})}}if(_=W-1,j.length>0){if(Q.requiresAssistantAfterToolResult)Y.push({role:"assistant",content:"I have processed the tool results."});Y.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...j]}),V="user"}else V="toolResult";continue}V=q.role}return Y}function GJ(J,X){return J.map((Q)=>({type:"function",function:{name:Q.name,description:Q.description,parameters:Q.parameters,...X.supportsStrictMode!==!1&&{strict:!1}}}))}function C(J,X){let Q=J.prompt_tokens||0,Y=J.prompt_tokens_details?.cached_tokens??J.prompt_cache_hit_tokens??0,$=J.prompt_tokens_details?.cache_write_tokens||0,N=Math.max(0,Q-Y-$),V=J.completion_tokens||0,_={input:N,output:V,cacheRead:Y,cacheWrite:$,totalTokens:N+V+Y+$,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return h(X,_),_}function DJ(J){if(J===null)return{stopReason:"stop"};switch(J){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${J}`}}}function HJ(J){let{provider:X,baseUrl:Q}=J,Y=X==="zai"||Q.includes("api.z.ai"),$=X==="together"||Q.includes("api.together.ai")||Q.includes("api.together.xyz"),N=X==="moonshotai"||X==="moonshotai-cn"||Q.includes("api.moonshot."),V=X==="cloudflare-workers-ai"||Q.includes("api.cloudflare.com"),_=X==="cloudflare-ai-gateway"||Q.includes("gateway.ai.cloudflare.com"),q=X==="cerebras"||Q.includes("cerebras.ai")||X==="xai"||Q.includes("api.x.ai")||$||Q.includes("chutes.ai")||Q.includes("deepseek.com")||Y||N||X==="opencode"||Q.includes("opencode.ai")||V||_,j=Q.includes("chutes.ai")||N||_||$,W=X==="xai"||Q.includes("api.x.ai"),H=X==="deepseek"||Q.includes("deepseek.com"),K=X==="openrouter"&&J.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!q,supportsDeveloperRole:!q,supportsReasoningEffort:!W&&!Y&&!N&&!$&&!_,supportsUsageInStreaming:!0,maxTokensField:j?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:H,thinkingFormat:H?"deepseek":Y?"zai":$?"together":X==="openrouter"||Q.includes("openrouter.ai")?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},zaiToolStream:!1,supportsStrictMode:!N&&!$&&!_,cacheControlFormat:K,sendSessionAffinityHeaders:!1,supportsLongCacheRetention:!($||V||_)}}function T(J){let X=HJ(J);if(!J.compat)return X;return{supportsStore:J.compat.supportsStore??X.supportsStore,supportsDeveloperRole:J.compat.supportsDeveloperRole??X.supportsDeveloperRole,supportsReasoningEffort:J.compat.supportsReasoningEffort??X.supportsReasoningEffort,supportsUsageInStreaming:J.compat.supportsUsageInStreaming??X.supportsUsageInStreaming,maxTokensField:J.compat.maxTokensField??X.maxTokensField,requiresToolResultName:J.compat.requiresToolResultName??X.requiresToolResultName,requiresAssistantAfterToolResult:J.compat.requiresAssistantAfterToolResult??X.requiresAssistantAfterToolResult,requiresThinkingAsText:J.compat.requiresThinkingAsText??X.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:J.compat.requiresReasoningContentOnAssistantMessages??X.requiresReasoningContentOnAssistantMessages,thinkingFormat:J.compat.thinkingFormat??X.thinkingFormat,openRouterRouting:J.compat.openRouterRouting??{},vercelGatewayRouting:J.compat.vercelGatewayRouting??X.vercelGatewayRouting,zaiToolStream:J.compat.zaiToolStream??X.zaiToolStream,supportsStrictMode:J.compat.supportsStrictMode??X.supportsStrictMode,cacheControlFormat:J.compat.cacheControlFormat??X.cacheControlFormat,sendSessionAffinityHeaders:J.compat.sendSessionAffinityHeaders??X.sendSessionAffinityHeaders,supportsLongCacheRetention:J.compat.supportsLongCacheRetention??X.supportsLongCacheRetention}}export{MJ as streamSimpleOpenAICompletions,_J as streamOpenAICompletions,WJ as convertMessages};
|
package/bin/chunk-r3r0643t.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{bd as N}from"./chunk-22m0y0fs.js";var y=N((O)=>{Object.defineProperty(O,"__esModule",{value:!0});O.Allow=O.ALL=O.COLLECTION=O.ATOM=O.SPECIAL=O.INF=O._INFINITY=O.INFINITY=O.NAN=O.BOOL=O.NULL=O.OBJ=O.ARR=O.NUM=O.STR=void 0;O.STR=1;O.NUM=2;O.ARR=4;O.OBJ=8;O.NULL=16;O.BOOL=32;O.NAN=64;O.INFINITY=128;O._INFINITY=256;O.INF=O.INFINITY|O._INFINITY;O.SPECIAL=O.NULL|O.BOOL|O.INF|O.NAN;O.ATOM=O.STR|O.NUM|O.SPECIAL;O.COLLECTION=O.ARR|O.OBJ;O.ALL=O.ATOM|O.COLLECTION;O.Allow={STR:O.STR,NUM:O.NUM,ARR:O.ARR,OBJ:O.OBJ,NULL:O.NULL,BOOL:O.BOOL,NAN:O.NAN,INFINITY:O.INFINITY,_INFINITY:O._INFINITY,INF:O.INF,SPECIAL:O.SPECIAL,ATOM:O.ATOM,COLLECTION:O.COLLECTION,ALL:O.ALL};O.default=O.Allow});var x=N((K)=>{var d=K&&K.__createBinding||(Object.create?function(D,F,G,z){if(z===void 0)z=G;var Q=Object.getOwnPropertyDescriptor(F,G);if(!Q||("get"in Q?!F.__esModule:Q.writable||Q.configurable))Q={enumerable:!0,get:function(){return F[G]}};Object.defineProperty(D,z,Q)}:function(D,F,G,z){if(z===void 0)z=G;D[z]=F[G]}),j=K&&K.__exportStar||function(D,F){for(var G in D)if(G!=="default"&&!Object.prototype.hasOwnProperty.call(F,G))d(F,D,G)};Object.defineProperty(K,"__esModule",{value:!0});K.Allow=K.MalformedJSON=K.PartialJSON=K.parseJSON=K.parse=void 0;var L=y();Object.defineProperty(K,"Allow",{enumerable:!0,get:function(){return L.Allow}});j(y(),K);class f extends Error{}K.PartialJSON=f;class b extends Error{}K.MalformedJSON=b;function h(D,F=L.Allow.ALL){if(typeof D!=="string")throw TypeError(`expecting str, got ${typeof D}`);if(!D.trim())throw Error(`${D} is empty`);return g(D.trim(),F)}K.parseJSON=h;var g=(D,F)=>{let G=D.length,z=0,Q=(H)=>{throw new f(`${H} at position ${z}`)},X=(H)=>{throw new b(`${H} at position ${z}`)},Y=()=>{if(W(),z>=G)Q("Unexpected end of input");if(D[z]==='"')return J();if(D[z]==="{")return c();if(D[z]==="[")return m();if(D.substring(z,z+4)==="null"||L.Allow.NULL&F&&G-z<4&&"null".startsWith(D.substring(z)))return z+=4,null;if(D.substring(z,z+4)==="true"||L.Allow.BOOL&F&&G-z<4&&"true".startsWith(D.substring(z)))return z+=4,!0;if(D.substring(z,z+5)==="false"||L.Allow.BOOL&F&&G-z<5&&"false".startsWith(D.substring(z)))return z+=5,!1;if(D.substring(z,z+8)==="Infinity"||L.Allow.INFINITY&F&&G-z<8&&"Infinity".startsWith(D.substring(z)))return z+=8,1/0;if(D.substring(z,z+9)==="-Infinity"||L.Allow._INFINITY&F&&1<G-z&&G-z<9&&"-Infinity".startsWith(D.substring(z)))return z+=9,-1/0;if(D.substring(z,z+3)==="NaN"||L.Allow.NAN&F&&G-z<3&&"NaN".startsWith(D.substring(z)))return z+=3,NaN;return w()},J=()=>{let H=z,U=!1;z++;while(z<G&&(D[z]!=='"'||U&&D[z-1]==="\\"))U=D[z]==="\\"?!U:!1,z++;if(D.charAt(z)=='"')try{return JSON.parse(D.substring(H,++z-Number(U)))}catch(V){X(String(V))}else if(L.Allow.STR&F)try{return JSON.parse(D.substring(H,z-Number(U))+'"')}catch(V){return JSON.parse(D.substring(H,D.lastIndexOf("\\"))+'"')}Q("Unterminated string literal")},c=()=>{z++,W();let H={};try{while(D[z]!=="}"){if(W(),z>=G&&L.Allow.OBJ&F)return H;let U=J();W(),z++;try{let V=Y();H[U]=V}catch(V){if(L.Allow.OBJ&F)return H;else throw V}if(W(),D[z]===",")z++}}catch(U){if(L.Allow.OBJ&F)return H;else Q("Expected '}' at end of object")}return z++,H},m=()=>{z++;let H=[];try{while(D[z]!=="]")if(H.push(Y()),W(),D[z]===",")z++}catch(U){if(L.Allow.ARR&F)return H;Q("Expected ']' at end of array")}return z++,H},w=()=>{if(z===0){if(D==="-")X("Not sure what '-' is");try{return JSON.parse(D)}catch(U){if(L.Allow.NUM&F)try{return JSON.parse(D.substring(0,D.lastIndexOf("e")))}catch(V){}X(String(U))}}let H=z;if(D[z]==="-")z++;while(D[z]&&",]}".indexOf(D[z])===-1)z++;if(z==G&&!(L.Allow.NUM&F))Q("Unterminated number literal");try{return JSON.parse(D.substring(H,z))}catch(U){if(D.substring(H,z)==="-")Q("Not sure what '-' is");try{return JSON.parse(D.substring(H,D.lastIndexOf("e")))}catch(V){X(String(V))}}},W=()=>{while(z<G&&`
|
|
3
|
-
\r `.includes(D[z]))z++};return Y()},S=h;K.parse=S});
|
|
4
|
-
export{x as Uc};
|
package/bin/chunk-ryyybwjr.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
class f{queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;isComplete;extractResult;constructor(b,d){this.isComplete=b,this.extractResult=d,this.finalResultPromise=new Promise((h)=>{this.resolveFinalResult=h})}push(b){if(this.done)return;if(this.isComplete(b))this.done=!0,this.resolveFinalResult(this.extractResult(b));let d=this.waiting.shift();if(d)d({value:b,done:!1});else this.queue.push(b)}end(b){if(this.done=!0,b!==void 0)this.resolveFinalResult(b);while(this.waiting.length>0)this.waiting.shift()({value:void 0,done:!0})}async*[Symbol.asyncIterator](){while(!0)if(this.queue.length>0)yield this.queue.shift();else if(this.done)return;else{let b=await new Promise((d)=>this.waiting.push(d));if(b.done)return;yield b.value}}result(){return this.finalResultPromise}}class k extends f{constructor(){super((b)=>b.type==="done"||b.type==="error",(b)=>{if(b.type==="done")return b.message;else if(b.type==="error")return b.error;throw Error("Unexpected event type for final result")})}}
|
|
3
|
-
export{k as pc};
|
package/bin/chunk-t9qt4a80.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{ec as QN,fc as h,gc as VN,hc as ZN}from"./chunk-k4gc54nc.js";import{Ac as v,yc as g,zc as NN}from"./chunk-98zfcdae.js";import{Bc as e}from"./chunk-5190gazn.js";import{Ec as b}from"./chunk-2dm6jcp4.js";import"./chunk-hbnpkkay.js";import"./chunk-bq4j07gf.js";import"./chunk-r3r0643t.js";import{Vc as s}from"./chunk-2w4hxpqr.js";import{Zc as t,_c as o}from"./chunk-tn22n12j.js";import"./chunk-p69bnq4x.js";import"./chunk-22m0y0fs.js";function c(N){let Q=N.filter((Z)=>Z!==void 0);if(Q.length===0)return{cleanup:()=>{}};if(Q.length===1)return{signal:Q[0],cleanup:()=>{}};let V=new AbortController,$=[],X=(Z)=>{if(!V.signal.aborted)V.abort(Z.reason)};for(let Z of Q){if(Z.aborted){X(Z);break}let G=()=>X(Z);Z.addEventListener("abort",G,{once:!0}),$.push({signal:Z,listener:G})}return{signal:V.signal,cleanup:()=>{for(let{signal:Z,listener:G}of $)Z.removeEventListener("abort",G)}}}var jN=function(N,Q){if(typeof N==="string"&&/^\.\.?\//.test(N))return N.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(V,$,X,Z,G){return $?Q?".jsx":".js":X&&(!Z||!G)?V:X+Z+"."+G.toLowerCase()+"js"});return N},C=null,$N=(N)=>import(jN(N)),UN="node:os";if(typeof process<"u"&&(process.versions?.node||process.versions?.bun))$N(UN).then((N)=>{C=N});var _N="https://chatgpt.com/backend-api",BN="https://api.openai.com/auth",WN=0,p=1000,HN=60000,l=1e4,RN=15000,XN=new Set(["openai","openai-codex","opencode"]),qN=1009,AN=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function wN(N){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(N)}function CN(N,Q){if(N===429&&wN(Q))return!1;if(N===429||N===500||N===502||N===503||N===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(Q)}function EN(N){let Q=N.get("retry-after-ms");if(Q!==null){let Z=Number(Q);if(Number.isFinite(Z))return Math.max(0,Z)}let V=N.get("retry-after");if(!V)return;let $=Number(V);if(Number.isFinite($))return Math.max(0,$*1000);let X=Date.parse(V);if(!Number.isNaN(X))return Math.max(0,X-Date.now());return}function fN(N,Q){let V=Q?.maxRetryDelayMs??HN;return V>0?Math.min(N,V):N}function d(N,Q){return new Promise((V,$)=>{if(Q?.aborted){$(Error("Request was aborted"));return}let X=setTimeout(V,N);Q?.addEventListener("abort",()=>{clearTimeout(X),$(Error("Request was aborted"))})})}function a(N){if(N===void 0)return;if(!Number.isFinite(N)||N<0)throw Error(`Invalid timeoutMs: ${String(N)}`);return Math.floor(N)}function MN(){let N=new AbortController,Q,V=setTimeout(()=>{Q=Error(`Codex SSE response headers timed out after ${l}ms`),N.abort(Q)},l);return{signal:N.signal,clear:()=>clearTimeout(V),error:()=>Q}}var SN=(N,Q,V)=>{let $=new o;return(async()=>{let X={role:"assistant",content:[],api:"openai-codex-responses",provider:N.provider,model:N.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let Z=V?.apiKey;if(!Z)throw Error(`No API key for provider: ${N.provider}`);let G=NQ(Z),J=xN(N,Q,V),Y=await V?.onPayload?.(J,N);if(Y!==void 0)J=Y;let P=V?.sessionId||QQ(),O=VQ(N.headers,V?.headers,G,Z,V?.sessionId),z=ZQ(N.headers,V?.headers,G,Z,P),B=JSON.stringify(J),L=a(V?.timeoutMs),W=a(V?.websocketConnectTimeoutMs),D=V?.transport||"auto",j=D!=="sse"&&PN(V?.sessionId);if(j)i(V?.sessionId);if(D!=="sse"&&!j){let U=!1;try{if(await sN(hN(N.baseUrl),J,z,X,$,N,()=>{U=!0},L,W,V),V?.signal?.aborted)throw Error("Request was aborted");$.push({type:"done",reason:X.stopReason,message:X}),$.end();return}catch(_){if(V?.signal?.aborted||kN(_))throw _;if(ZN(X,VN("provider_transport_failure",_,{configuredTransport:D,fallbackTransport:U?void 0:"sse",eventsEmitted:U,phase:U?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(B).byteLength})),uN(V?.sessionId,_),U)throw _;i(V?.sessionId)}}let F,K,R=V?.maxRetries??WN;for(let U=0;U<=R;U++){if(V?.signal?.aborted)throw Error("Request was aborted");try{let _=MN(),A=c([V?.signal,_.signal]);try{F=await fetch(FN(N.baseUrl),{method:"POST",headers:O,body:B,signal:A.signal})}catch(w){let f=_.error();throw f&&!V?.signal?.aborted?f:w}finally{A.cleanup(),_.clear()}if(await V?.onResponse?.({status:F.status,headers:b(F.headers)},N),F.ok)break;let m=await F.text();if(U<R&&CN(F.status,m)){let w=EN(F.headers),f=w===void 0?p*2**U:F.status===429?fN(w,V):w;await d(f,V?.signal);continue}let DN=new Response(m,{status:F.status,statusText:F.statusText}),u=await eN(DN);throw Error(u.friendlyMessage||u.message)}catch(_){if(_ instanceof Error){if(_.name==="AbortError"||_.message==="Request was aborted")throw Error("Request was aborted")}if(K=_ instanceof Error?_:Error(String(_)),U<R&&!K.message.includes("usage limit")){let A=p*2**U;await d(A,V?.signal);continue}throw K}}if(!F?.ok)throw K??Error("Failed after retries");if(!F.body)throw Error("No response body");if($.push({type:"start",partial:X}),await IN(F,X,$,N,V),V?.signal?.aborted)throw Error("Request was aborted");$.push({type:"done",reason:X.stopReason,message:X}),$.end()}catch(Z){for(let G of X.content)delete G.partialJson;X.stopReason=V?.signal?.aborted?"aborted":"error",X.errorMessage=Z instanceof Error?Z.message:String(Z),$.push({type:"error",reason:X.stopReason,error:X}),$.end()}})(),$},OQ=(N,Q,V)=>{let $=V?.apiKey;if(!$)throw Error(`No API key for provider: ${N.provider}`);let X=s(N,V,$),Z=V?.reasoning?t(N,V.reasoning):void 0;return SN(N,Q,{...X,reasoningEffort:Z==="off"?void 0:Z})};function xN(N,Q,V){let $=g(N,Q,XN,{includeSystemPrompt:!1}),X={model:N.id,store:!1,stream:!0,instructions:Q.systemPrompt||"You are a helpful assistant.",input:$,text:{verbosity:V?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:e(V?.sessionId),tool_choice:"auto",parallel_tool_calls:!0};if(V?.temperature!==void 0)X.temperature=V.temperature;if(V?.serviceTier!==void 0)X.service_tier=V.serviceTier;if(Q.tools&&Q.tools.length>0)X.tools=NN(Q.tools,{strict:null});if(V?.reasoningEffort!==void 0){let Z=V.reasoningEffort==="none"?N.thinkingLevelMap?.off??"none":N.thinkingLevelMap?.[V.reasoningEffort]??V.reasoningEffort;if(Z!==null)X.reasoning={effort:Z,summary:V.reasoningSummary??"auto"}}return X}function TN(N,Q){switch(Q){case"flex":return 0.5;case"priority":return N.id==="gpt-5.5"?2.5:2;default:return 1}}function GN(N,Q,V){let $=TN(V,Q);if($===1)return;N.cost.input*=$,N.cost.output*=$,N.cost.cacheRead*=$,N.cost.cacheWrite*=$,N.cost.total=N.cost.input+N.cost.output+N.cost.cacheRead+N.cost.cacheWrite}function YN(N,Q){if(N==="default"&&(Q==="flex"||Q==="priority"))return Q;return N??Q}function FN(N){let V=(N&&N.trim().length>0?N:_N).replace(/\/+$/,"");if(V.endsWith("/codex/responses"))return V;if(V.endsWith("/codex"))return`${V}/responses`;return`${V}/codex/responses`}function hN(N){let Q=new URL(FN(N));if(Q.protocol==="https:")Q.protocol="wss:";if(Q.protocol==="http:")Q.protocol="ws:";return Q.toString()}async function IN(N,Q,V,$,X){await v(JN(gN(N,X?.signal)),Q,V,$,{serviceTier:X?.serviceTier,resolveServiceTier:YN,applyServiceTierPricing:(Z,G)=>GN(Z,G,$)})}class x extends Error{code;payload;constructor(N,Q){super(N);this.name="CodexApiError",this.code=Q?.code,this.payload=Q?.payload,this.cause=Q?.cause}}class I extends Error{payload;constructor(N,Q){super(N);this.name="CodexProtocolError",this.payload=Q?.payload,this.cause=Q?.cause}}function kN(N){return N instanceof x||N instanceof I}async function*JN(N){for await(let Q of N){let V=typeof Q.type==="string"?Q.type:void 0;if(!V)continue;if(V==="error"){let $=Q.code||"",X=Q.message||"";throw new x(`Codex error: ${X||$||JSON.stringify(Q)}`,{code:$||void 0,payload:Q})}if(V==="response.failed"){let $=Q.response,X=$?.error?.code,Z=$?.error?.message;throw new x(Z||"Codex response failed",{code:X,payload:Q})}if(V==="response.done"||V==="response.completed"||V==="response.incomplete"){let $=Q.response,X=$?{...$,status:bN($.status)}:$;yield{...Q,type:"response.completed",response:X};return}yield Q}}function bN(N){if(typeof N!=="string")return;return AN.has(N)?N:void 0}async function*gN(N,Q){if(!N.body)return;let V=N.body.getReader(),$=new TextDecoder,X="",Z=()=>{V.cancel().catch(()=>{})};Q?.addEventListener("abort",Z,{once:!0});try{while(!0){if(Q?.aborted)throw Error("Request was aborted");let{done:G,value:J}=await V.read();if(Q?.aborted)throw Error("Request was aborted");if(G)break;X+=$.decode(J,{stream:!0});let Y=X.indexOf(`
|
|
3
|
-
|
|
4
|
-
`);while(Y!==-1){let P=X.slice(0,Y);X=X.slice(Y+2);let O=P.split(`
|
|
5
|
-
`).filter((z)=>z.startsWith("data:")).map((z)=>z.slice(5).trim());if(O.length>0){let z=O.join(`
|
|
6
|
-
`).trim();if(z&&z!=="[DONE]")try{yield JSON.parse(z)}catch(B){throw new I(`Invalid Codex SSE JSON: ${h(B)}`,{cause:B,payload:z})}}Y=X.indexOf(`
|
|
7
|
-
|
|
8
|
-
`)}}}finally{Q?.removeEventListener("abort",Z);try{await V.cancel()}catch{}try{V.releaseLock()}catch{}}}var vN="responses_websockets=2026-02-06",yN=300000,H=new Map,E=new Map,T=new Set;function y(N){let Q=E.get(N);if(!Q)Q={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},E.set(N,Q);return Q}function DQ(N){let Q=E.get(N);return Q?{...Q}:void 0}function jQ(N){if(N){E.delete(N),T.delete(N);return}E.clear(),T.clear()}function mN(N){let Q=(V)=>{if(V.idleTimer)clearTimeout(V.idleTimer);q(V.socket,1000,"debug_close")};if(N){let V=H.get(N);if(V)Q(V);H.delete(N);return}for(let V of H.values())Q(V);H.clear()}QN(mN);function PN(N){return N?T.has(N):!1}function i(N){if(!N)return;let Q=y(N);Q.sseFallbacks++,Q.websocketFallbackActive=PN(N)}function uN(N,Q){if(!N)return;T.add(N);let V=y(N);V.websocketFailures++,V.lastWebSocketError=h(Q),V.websocketFallbackActive=!0}var M=null;async function cN(){if(M)return M;if(process?.versions?.bun&&(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)){let V=(await $N("proxy-from-env")).getProxyForUrl;return M=class extends WebSocket{constructor($,X){let Z={};if(Array.isArray(X)||typeof X==="string")Z={protocols:X};else Z={...X};let G=V($.toString().replace(/^wss:/,"https:").replace(/^ws:/,"http:"));super($,{...Z,...G?{proxy:G}:{}})}},M}let N=globalThis.WebSocket;if(typeof N!=="function")return null;return N}class zN extends Error{code;reason;wasClean;constructor(N,Q){super(N);this.name="WebSocketCloseError",this.code=Q?.code,this.reason=Q?.reason,this.wasClean=Q?.wasClean}}function pN(N){let Q=N.readyState;return typeof Q==="number"?Q:void 0}function S(N){let Q=pN(N);return Q===void 0||Q===1}function q(N,Q=1000,V="done"){try{N.close(Q,V)}catch{}}function r(N,Q){if(Q.idleTimer)clearTimeout(Q.idleTimer);Q.idleTimer=setTimeout(()=>{if(Q.busy)return;q(Q.socket,1000,"idle_timeout"),H.delete(N)},yN)}async function k(N,Q,V,$=RN){let X=await cN();if(!X)throw Error("WebSocket transport is not available in this runtime");let Z=b(Q);return delete Z["OpenAI-Beta"],new Promise((G,J)=>{let Y=!1,P,O;try{O=new X(N,{headers:Z})}catch(F){J(F instanceof Error?F:Error(String(F)));return}let z=()=>{if(P)clearTimeout(P),P=void 0;O.removeEventListener("open",L),O.removeEventListener("error",W),O.removeEventListener("close",D),V?.removeEventListener("abort",j)},B=(F,K)=>{if(Y)return;if(Y=!0,z(),K)q(O,1000,K);J(F)},L=()=>{if(Y)return;Y=!0,z(),G(O)},W=(F)=>{B(LN(F))},D=(F)=>{B(KN(F))},j=()=>{B(Error("Request was aborted"),"aborted")};if(O.addEventListener("open",L),O.addEventListener("error",W),O.addEventListener("close",D),V?.addEventListener("abort",j),$>0)P=setTimeout(()=>{B(Error(`WebSocket connect timeout after ${$}ms`),"connect_timeout")},$);if(V?.aborted)j()})}async function lN(N,Q,V,$,X){if(!V){let Y=await k(N,Q,$,X);return{socket:Y,reused:!1,release:()=>q(Y)}}let Z=H.get(V);if(Z){if(Z.idleTimer)clearTimeout(Z.idleTimer),Z.idleTimer=void 0;if(!Z.busy&&S(Z.socket))return Z.busy=!0,{socket:Z.socket,entry:Z,reused:!0,release:({keep:Y}={})=>{if(!Y||!S(Z.socket)){q(Z.socket),H.delete(V);return}Z.busy=!1,r(V,Z)}};if(Z.busy){let Y=await k(N,Q,$,X);return{socket:Y,reused:!1,release:()=>{q(Y)}}}if(!S(Z.socket))q(Z.socket),H.delete(V)}let G=await k(N,Q,$,X),J={socket:G,busy:!0};return H.set(V,J),{socket:G,entry:J,reused:!1,release:({keep:Y}={})=>{if(!Y||!S(J.socket)){if(q(J.socket),J.idleTimer)clearTimeout(J.idleTimer);if(H.get(V)===J)H.delete(V);return}J.busy=!1,r(V,J)}}}function LN(N){if(N&&typeof N==="object"){let Q="message"in N?N.message:void 0;if(typeof Q==="string"&&Q.length>0)return Error(Q);let V="error"in N?N.error:void 0;if(V instanceof Error&&V.message.length>0)return V;if(V&&typeof V==="object"&&"message"in V){let $=V.message;if(typeof $==="string"&&$.length>0)return Error($)}}return Error("WebSocket error")}function KN(N){if(N&&typeof N==="object"){let Q="code"in N?N.code:void 0,V="reason"in N?N.reason:void 0,$="wasClean"in N?N.wasClean:void 0,X=typeof Q==="number"?` ${Q}`:"",Z=typeof V==="string"&&V.length>0?` ${V}`:"";if(!Z&&Q===qN)Z=" message too big";return new zN(`WebSocket closed${X}${Z}`.trim(),{code:typeof Q==="number"?Q:void 0,reason:typeof V==="string"&&V.length>0?V:void 0,wasClean:typeof $==="boolean"?$:void 0})}return Error("WebSocket closed")}async function dN(N){if(typeof N==="string")return N;if(N instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(N));if(ArrayBuffer.isView(N)){let Q=N;return new TextDecoder().decode(new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength))}if(N&&typeof N==="object"&&"arrayBuffer"in N){let V=await N.arrayBuffer();return new TextDecoder().decode(new Uint8Array(V))}return null}async function*aN(N,Q,V){let $=[],X=null,Z=!1,G=null,J=!1,Y=()=>{if(!X)return;let L=X;X=null,L()},P=(L)=>{(async()=>{let W=null;try{if(!L||typeof L!=="object"||!("data"in L))return;if(W=await dN(L.data),!W)return;let D=JSON.parse(W),j=typeof D.type==="string"?D.type:"";if(j==="response.completed"||j==="response.done"||j==="response.incomplete")J=!0,Z=!0;$.push(D),Y()}catch(D){G=new I(`Invalid Codex WebSocket JSON: ${h(D)}`,{cause:D,payload:W}),Z=!0,Y()}})()},O=(L)=>{G=LN(L),Z=!0,Y()},z=(L)=>{if(J){Z=!0,Y();return}if(!G)G=KN(L);Z=!0,Y()},B=()=>{G=Error("Request was aborted"),Z=!0,Y()};N.addEventListener("message",P),N.addEventListener("error",O),N.addEventListener("close",z),Q?.addEventListener("abort",B);try{while(!0){if(Q?.aborted)throw Error("Request was aborted");if($.length>0){yield $.shift();continue}if(Z)break;let L;await new Promise((W,D)=>{if(X=W,V!==void 0&&V>0)L=setTimeout(()=>{let j=Error(`WebSocket idle timeout after ${V}ms`);G=j,Z=!0,X=null,q(N,1000,"idle_timeout"),D(j)},V)}).finally(()=>{if(L)clearTimeout(L)})}if(G)throw G;if(!J)throw Error("WebSocket stream closed before response.completed")}finally{N.removeEventListener("message",P),N.removeEventListener("error",O),N.removeEventListener("close",z),Q?.removeEventListener("abort",B)}}function n(N){let{input:Q,previous_response_id:V,...$}=N;return $}function iN(N,Q){return JSON.stringify(N??[])===JSON.stringify(Q??[])}function rN(N,Q){return JSON.stringify(n(N))===JSON.stringify(n(Q))}function nN(N,Q){if(!rN(N,Q.lastRequestBody))return;let V=N.input??[],$=[...Q.lastRequestBody.input??[],...Q.lastResponseItems];if(V.length<$.length)return;let X=V.slice(0,$.length);if(!iN(X,$))return;return V.slice($.length)}function tN(N,Q){let V=N.continuation;if(!V)return Q;let $=nN(Q,V);if(!$||!V.lastResponseId)return N.continuation=void 0,Q;return{...Q,previous_response_id:V.lastResponseId,input:$}}async function*oN(N,Q,V,$){let X=!1;for await(let Z of N){if(!X)X=!0,$(),V.push({type:"start",partial:Q});yield Z}}async function sN(N,Q,V,$,X,Z,G,J,Y,P){let{socket:O,entry:z,reused:B,release:L}=await lN(N,V,P?.sessionId,P?.signal,Y),W=!0,D=P?.transport==="websocket-cached"||P?.transport==="auto",j=Q,F=D&&z?tN(z,j):j,K=P?.sessionId?y(P.sessionId):void 0;if(K){if(K.requests++,B)K.connectionsReused++;else K.connectionsCreated++;if(D)K.cachedContextRequests++;if(F.store===!0)K.storeTrueRequests++;if(K.lastInputItems=F.input?.length??0,F.previous_response_id)K.deltaRequests++,K.lastDeltaInputItems=F.input?.length??0,K.lastPreviousResponseId=F.previous_response_id;else K.fullContextRequests++,K.lastDeltaInputItems=void 0,K.lastPreviousResponseId=void 0}try{if(O.send(JSON.stringify({type:"response.create",...F})),await v(oN(JN(aN(O,P?.signal,J)),$,X,G),$,X,Z,{serviceTier:P?.serviceTier,resolveServiceTier:YN,applyServiceTierPricing:(R,U)=>GN(R,U,Z)}),P?.signal?.aborted)W=!1;else if(D&&z&&$.responseId){let R=g(Z,{messages:[$]},XN,{includeSystemPrompt:!1}).filter((U)=>U.type!=="function_call_output");z.continuation={lastRequestBody:j,lastResponseId:$.responseId,lastResponseItems:R}}}catch(R){if(z)z.continuation=void 0;throw W=!1,R}finally{L({keep:W})}}async function eN(N){let Q=await N.text(),V=Q||N.statusText||"Request failed",$;try{let Z=JSON.parse(Q)?.error;if(Z){let G=Z.code||Z.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(G)||N.status===429){let J=Z.plan_type?` (${Z.plan_type.toLowerCase()} plan)`:"",Y=Z.resets_at?Math.max(0,Math.round((Z.resets_at*1000-Date.now())/60000)):void 0,P=Y!==void 0?` Try again in ~${Y} min.`:"";$=`You have hit your ChatGPT usage limit${J}.${P}`.trim()}V=Z.message||$||V}}catch{}return{message:V,friendlyMessage:$}}function NQ(N){try{let Q=N.split(".");if(Q.length!==3)throw Error("Invalid token");let $=JSON.parse(atob(Q[1]))?.[BN]?.chatgpt_account_id;if(!$)throw Error("No account ID in token");return $}catch{throw Error("Failed to extract accountId from token")}}function QQ(){if(typeof globalThis.crypto?.randomUUID==="function")return globalThis.crypto.randomUUID();return`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function ON(N,Q,V,$){let X=new Headers(N);for(let[G,J]of Object.entries(Q||{}))X.set(G,J);X.set("Authorization",`Bearer ${$}`),X.set("chatgpt-account-id",V),X.set("originator","pi");let Z=C?`pi (${C.platform()} ${C.release()}; ${C.arch()})`:"pi (browser)";return X.set("User-Agent",Z),X}function VQ(N,Q,V,$,X){let Z=ON(N,Q,V,$);if(Z.set("OpenAI-Beta","responses=experimental"),Z.set("accept","text/event-stream"),Z.set("content-type","application/json"),X)Z.set("session-id",X),Z.set("x-client-request-id",X);return Z}function ZQ(N,Q,V,$,X){let Z=ON(N,Q,V,$);return Z.delete("accept"),Z.delete("content-type"),Z.delete("OpenAI-Beta"),Z.delete("openai-beta"),Z.set("OpenAI-Beta",vN),Z.set("x-client-request-id",X),Z.set("session-id",X),Z}export{OQ as streamSimpleOpenAICodexResponses,SN as streamOpenAICodexResponses,jQ as resetOpenAICodexWebSocketDebugStats,DQ as getOpenAICodexWebSocketDebugStats,mN as closeOpenAICodexWebSocketSessions};
|
package/bin/chunk-tg1x6f4h.js
DELETED