@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-b77c23jm.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{i as V}from"./chunk-m0mp7pd2.js";import{j as v,k as U,l as x,m as b,n as f,o as h}from"./chunk-db5dg26j.js";import{p as I,q as B}from"./chunk-2t47accr.js";import{s as T}from"./chunk-epkgpyvw.js";import{v as C}from"./chunk-cpmyq7y4.js";import{x as P}from"./chunk-b35kbsh7.js";import{nc as E,oc as M}from"./chunk-d5rvr87v.js";import{pc as y}from"./chunk-ryyybwjr.js";import{Mc as F,Oc as K,Pc as j}from"./chunk-0bdvgych.js";import"./chunk-22m0y0fs.js";var k="v1",u="gcp-vertex-credentials",a={THINKING_LEVEL_UNSPECIFIED:F.THINKING_LEVEL_UNSPECIFIED,MINIMAL:F.MINIMAL,LOW:F.LOW,MEDIUM:F.MEDIUM,HIGH:F.HIGH},c=0,R=(q,w,J)=>{let Y=new y;return(async()=>{let Q={role:"assistant",content:[],api:"google-vertex",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 $=n(J),D=$?l(q,$,J?.headers):p(q,t(J),o(J),J?.headers,J?.env),N=qq(q,w,J),L=await J?.onPayload?.(N,q);if(L!==void 0)N=L;let d=await D.models.generateContentStream(N);Y.push({type:"start",partial:Q});let Z=null,O=Q.content,X=()=>O.length-1;for await(let z of d){Q.responseId||=z.responseId;let H=z.candidates?.[0];if(H?.content?.parts)for(let W of H.content.parts){if(W.text!==void 0){let _=v(W);if(!Z||_&&Z.type!=="thinking"||!_&&Z.type!=="text"){if(Z)if(Z.type==="text")Y.push({type:"text_end",contentIndex:O.length-1,content:Z.text,partial:Q});else Y.push({type:"thinking_end",contentIndex:X(),content:Z.thinking,partial:Q});if(_)Z={type:"thinking",thinking:"",thinkingSignature:void 0},Q.content.push(Z),Y.push({type:"thinking_start",contentIndex:X(),partial:Q});else Z={type:"text",text:""},Q.content.push(Z),Y.push({type:"text_start",contentIndex:X(),partial:Q})}if(Z.type==="thinking")Z.thinking+=W.text,Z.thinkingSignature=U(Z.thinkingSignature,W.thoughtSignature),Y.push({type:"thinking_delta",contentIndex:X(),delta:W.text,partial:Q});else Z.text+=W.text,Z.textSignature=U(Z.textSignature,W.thoughtSignature),Y.push({type:"text_delta",contentIndex:X(),delta:W.text,partial:Q})}if(W.functionCall){if(Z){if(Z.type==="text")Y.push({type:"text_end",contentIndex:X(),content:Z.text,partial:Q});else Y.push({type:"thinking_end",contentIndex:X(),content:Z.thinking,partial:Q});Z=null}let _=W.functionCall.id,S={type:"toolCall",id:!_||Q.content.some((A)=>A.type==="toolCall"&&A.id===_)?`${W.functionCall.name}_${Date.now()}_${++c}`:_,name:W.functionCall.name||"",arguments:W.functionCall.args??{},...W.thoughtSignature&&{thoughtSignature:W.thoughtSignature}};Q.content.push(S),Y.push({type:"toolcall_start",contentIndex:X(),partial:Q}),Y.push({type:"toolcall_delta",contentIndex:X(),delta:JSON.stringify(S.arguments),partial:Q}),Y.push({type:"toolcall_end",contentIndex:X(),toolCall:S,partial:Q})}}if(H?.finishReason){if(Q.stopReason=h(H.finishReason),Q.content.some((W)=>W.type==="toolCall"))Q.stopReason="toolUse"}if(z.usageMetadata)Q.usage={input:(z.usageMetadata.promptTokenCount||0)-(z.usageMetadata.cachedContentTokenCount||0),output:(z.usageMetadata.candidatesTokenCount||0)+(z.usageMetadata.thoughtsTokenCount||0),cacheRead:z.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:z.usageMetadata.thoughtsTokenCount||0,totalTokens:z.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},E(q,Q.usage)}if(Z)if(Z.type==="text")Y.push({type:"text_end",contentIndex:X(),content:Z.text,partial:Q});else Y.push({type:"thinking_end",contentIndex:X(),content:Z.thinking,partial:Q});if(J?.signal?.aborted)throw Error("Request was aborted");if(Q.stopReason==="aborted"||Q.stopReason==="error")throw Error("An unknown error occurred");Y.push({type:"done",reason:Q.stopReason,message:Q}),Y.end()}catch($){for(let D of Q.content)if("index"in D)delete D.index;Q.stopReason=J?.signal?.aborted?"aborted":"error",Q.errorMessage=B(I($)),Y.push({type:"error",reason:Q.stopReason,error:Q}),Y.end()}})(),Y},Hq=(q,w,J)=>{let Y=T(q,w,J,void 0);if(!J?.reasoning)return R(q,w,{...Y,thinking:{enabled:!1}});let Q=M(q,J.reasoning),$=Q==="off"?"high":Q,D=q;if(G(D)||m(D))return R(q,w,{...Y,thinking:{enabled:!0,level:Jq($,D)}});return R(q,w,{...Y,thinking:{enabled:!0,budgetTokens:Qq(D,$,J.thinkingBudgets)}})};function p(q,w,J,Y,Q){let $=i(Q);return new j({vertexai:!0,project:w,location:J,apiVersion:k,...$?{googleAuthOptions:$}:{},httpOptions:g(q,Y)})}function l(q,w,J){return new j({vertexai:!0,apiKey:w,apiVersion:k,httpOptions:g(q,J)})}function g(q,w){let J={},Y=r(q.baseUrl);if(Y){if(J.baseUrl=Y,J.baseUrlResourceScope=K.COLLECTION,s(Y))J.apiVersion=""}let Q=P({...q.headers,...w});if(Q)J.headers=Q;return Object.keys(J).length>0?J:void 0}function r(q){let w=q.trim();if(!w||w.includes("{location}"))return;return w}function s(q){try{return new URL(q).pathname.split("/").some((J)=>/^v\d+(?:beta\d*)?$/.test(J))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(q)}}function i(q){let w=V("GOOGLE_APPLICATION_CREDENTIALS",q);return w?{keyFilename:w}:void 0}function n(q){let w=q?.apiKey?.trim();if(!w||w===u||e(w))return;return w}function e(q){return/^<[^>]+>$/.test(q)}function t(q){let w=q?.project||V("GOOGLE_CLOUD_PROJECT",q?.env)||V("GCLOUD_PROJECT",q?.env);if(!w)throw Error("Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.");return w}function o(q){let w=q?.location||V("GOOGLE_CLOUD_LOCATION",q?.env);if(!w)throw Error("Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.");return w}function qq(q,w,J={}){let Y=x(q,w),Q={};if(J.temperature!==void 0)Q.temperature=J.temperature;if(J.maxTokens!==void 0)Q.maxOutputTokens=J.maxTokens;let $={...Object.keys(Q).length>0&&Q,...w.systemPrompt&&{systemInstruction:C(w.systemPrompt)},...w.tools&&w.tools.length>0&&{tools:b(w.tools)}};if(w.tools&&w.tools.length>0&&J.toolChoice)$.toolConfig={functionCallingConfig:{mode:f(J.toolChoice)}};else $.toolConfig=void 0;if(J.thinking?.enabled&&q.reasoning){let N={includeThoughts:!0};if(J.thinking.level!==void 0)N.thinkingLevel=a[J.thinking.level];else if(J.thinking.budgetTokens!==void 0)N.thinkingBudget=J.thinking.budgetTokens;$.thinkingConfig=N}else if(q.reasoning&&J.thinking&&!J.thinking.enabled)$.thinkingConfig=wq(q);if(J.signal){if(J.signal.aborted)throw Error("Request aborted");$.abortSignal=J.signal}return{model:q.id,contents:Y,config:$}}function G(q){return/gemini-3(?:\.\d+)?-pro/.test(q.id.toLowerCase())}function m(q){let w=q.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(w)||w==="gemini-flash-latest"||w==="gemini-flash-lite-latest"}function wq(q){let w=q;if(G(w))return{thinkingLevel:F.LOW};if(m(w))return{thinkingLevel:F.MINIMAL};return{thinkingBudget:0}}function Jq(q,w){if(G(w))switch(q){case"minimal":case"low":return"LOW";case"medium":case"high":return"HIGH"}switch(q){case"minimal":return"MINIMAL";case"low":return"LOW";case"medium":return"MEDIUM";case"high":return"HIGH"}}function Qq(q,w,J){if(J?.[w]!==void 0)return J[w];if(q.id.includes("2.5-pro"))return{minimal:128,low:2048,medium:8192,high:32768}[w];if(q.id.includes("2.5-flash"))return{minimal:128,low:2048,medium:8192,high:24576}[w];return-1}export{Hq as streamSimple,R as stream};
|
package/bin/chunk-bq4j07gf.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 Sc,X as Tc};
|
package/bin/chunk-bwvq03ga.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{g as y}from"./chunk-7qwd1bfq.js";import{u as C}from"./chunk-epkgpyvw.js";import{v as E}from"./chunk-cpmyq7y4.js";import{jc as j}from"./chunk-nvze6c2k.js";import{nc as B}from"./chunk-d5rvr87v.js";function f(Z,K){let _={v:1,id:Z};if(K)_.phase=K;return JSON.stringify(_)}function P(Z){if(!Z)return;if(Z.startsWith("{"))try{let K=JSON.parse(Z);if(K.v===1&&typeof K.id==="string"){if(K.phase==="commentary"||K.phase==="final_answer")return{id:K.id,phase:K.phase};return{id:K.id}}}catch{}return{id:Z}}function x(Z,K,_,D){let F=[],H=new Set,U=(X)=>{let q=X.replace(/[^a-zA-Z0-9_-]/g,"_");return(q.length>64?q.slice(0,64):q).replace(/_+$/,"")},J=(X)=>{let q=`fc_${y(X)}`;return q.length>64?q.slice(0,64):q},W=(X,q,A)=>{if(!_.has(Z.provider))return U(X);if(!X.includes("|"))return U(X);let[G,Q]=X.split("|"),L=U(G),Y=A.provider!==Z.provider||A.api!==Z.api?J(Q):U(Q);if(!Y.startsWith("fc_"))Y=U(`fc_${Y}`);return`${L}|${Y}`},w=C(K.messages,Z,W);if((D?.includeSystemPrompt??!0)&&K.systemPrompt){let X=Z.compat,q=Z.reasoning&&X?.supportsDeveloperRole!==!1?"developer":"system";F.push({role:q,content:E(K.systemPrompt)})}let O=0;for(let X of w){if(X.role==="user")if(typeof X.content==="string")F.push({role:"user",content:[{type:"input_text",text:E(X.content)}]});else{let q=X.content.map((A)=>{if(A.type==="text")return{type:"input_text",text:E(A.text)};return{type:"input_image",detail:"auto",image_url:`data:${A.mimeType};base64,${A.data}`}});if(q.length===0)continue;F.push({role:"user",content:q})}else if(X.role==="assistant"){let q=[],A=X,G=A.model!==Z.id&&A.provider===Z.provider&&A.api===Z.api,Q=0;for(let L of X.content)if(L.type==="thinking"){if(L.thinkingSignature){let $=JSON.parse(L.thinkingSignature);q.push($)}}else if(L.type==="text"){let $=L,Y=P($.textSignature),V=Q===0?`msg_pi_${O}`:`msg_pi_${O}_${Q}`;Q++;let N=Y?.id;if(!N)N=V;else if(N.length>64)N=`msg_${y(N)}`;q.push({type:"message",role:"assistant",content:[{type:"output_text",text:E($.text),annotations:[]}],status:"completed",id:N,phase:Y?.phase})}else if(L.type==="toolCall"){let $=L,[Y,V]=$.id.split("|"),N=V;if(G&&N?.startsWith("fc_"))N=void 0;q.push({type:"function_call",id:N,call_id:Y,name:$.name,arguments:JSON.stringify($.arguments)})}if(q.length===0)continue;F.push(...q)}else if(X.role==="toolResult"){let q=X.content.filter((Y)=>Y.type==="text").map((Y)=>Y.text).join(`
|
|
3
|
-
`),A=X.content.some((Y)=>Y.type==="image"),G=q.length>0,[Q]=X.toolCallId.split("|"),L;if(A&&Z.input.includes("image")){let Y=[];if(G)Y.push({type:"input_text",text:E(q)});for(let V of X.content)if(V.type==="image")Y.push({type:"input_image",detail:"auto",image_url:`data:${V.mimeType};base64,${V.data}`});L=Y}else L=E(G?q:A?"(see attached image)":"(no tool output)");F.push({type:"function_call_output",call_id:Q,output:L});let $=[];for(let Y of X.addedToolNames??[]){let V=D?.deferredTools?.get(Y);if(!V||H.has(Y))continue;H.add(Y),$.push(V)}if($.length>0){let Y=$.map((N)=>N.name),V=`pi_tool_load_${y(`${X.toolCallId}:${Y.join(",")}`)}`;F.push({type:"tool_search_call",call_id:V,execution:"client",status:"completed",arguments:{query:Y.join(" "),limit:Y.length}}),F.push({type:"tool_search_output",call_id:V,execution:"client",status:"completed",tools:R($,{deferLoading:!0})})}}O++}return F}function R(Z,K){let _=K?.strict===void 0?!1:K.strict;return Z.map((D)=>({type:"function",name:D.name,description:D.description,parameters:D.parameters,strict:_,...K?.deferLoading?{defer_loading:!0}:{}}))}async function v(Z,K,_,D,F){let H=!1,U=new Map,J=new Map,W=(q,A)=>{let G=U.get(q);return G?.type===A?G:void 0},w=(q,A)=>{if(A.type==="reasoning"){let G={type:"thinking",thinking:""};K.content.push(G);let Q={type:"thinking",block:G,contentIndex:K.content.length-1};return U.set(q,Q),_.push({type:"thinking_start",contentIndex:Q.contentIndex,partial:K}),Q}if(A.type==="message"){let G={type:"text",text:""};K.content.push(G);let Q={type:"text",block:G,contentIndex:K.content.length-1};return U.set(q,Q),_.push({type:"text_start",contentIndex:Q.contentIndex,partial:K}),Q}if(A.type==="function_call"){let G={type:"toolCall",id:`${A.call_id}|${A.id}`,name:A.name,arguments:{},partialJson:A.arguments||""};K.content.push(G);let Q={type:"toolCall",block:G,contentIndex:K.content.length-1};return U.set(q,Q),_.push({type:"toolcall_start",contentIndex:Q.contentIndex,partial:K}),Q}return},M=(q,A)=>{return U.get(q)??w(q,A)},O=(q)=>{for(let A of q){if(A.type!=="reasoning"||!A.encrypted_content)continue;let G=J.get(A.id);if(!G?.thinkingSignature)continue;let Q=JSON.parse(G.thinkingSignature);if(Q.encrypted_content)continue;G.thinkingSignature=JSON.stringify({...Q,encrypted_content:A.encrypted_content})}},X=(q)=>{if(H=!0,O(q.output??[]),q?.id)K.responseId=q.id;if(q?.usage){let A=q.usage.input_tokens_details,G=A?.cached_tokens||0,Q=A?.cache_write_tokens||0;K.usage={input:Math.max(0,(q.usage.input_tokens||0)-G-Q),output:q.usage.output_tokens||0,cacheRead:G,cacheWrite:Q,reasoning:q.usage.output_tokens_details?.reasoning_tokens||0,totalTokens:q.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(B(D,K.usage),F?.applyServiceTierPricing){let A=F.resolveServiceTier?F.resolveServiceTier(q?.service_tier,F.serviceTier):q?.service_tier??F.serviceTier;F.applyServiceTierPricing(K.usage,A)}if(K.stopReason=h(q?.status),K.content.some((A)=>A.type==="toolCall")&&K.stopReason==="stop")K.stopReason="toolUse"};for await(let q of Z)if(q.type==="response.created")K.responseId=q.response.id;else if(q.type==="response.output_item.added")w(q.output_index,q.item);else if(q.type==="response.reasoning_summary_text.delta"){let A=W(q.output_index,"thinking");if(!A)continue;A.block.thinking+=q.delta,_.push({type:"thinking_delta",contentIndex:A.contentIndex,delta:q.delta,partial:K})}else if(q.type==="response.reasoning_summary_part.done"){let A=W(q.output_index,"thinking");if(!A)continue;A.block.thinking+=`
|
|
4
|
-
|
|
5
|
-
`,_.push({type:"thinking_delta",contentIndex:A.contentIndex,delta:`
|
|
6
|
-
|
|
7
|
-
`,partial:K})}else if(q.type==="response.reasoning_text.delta"){let A=W(q.output_index,"thinking");if(!A)continue;A.block.thinking+=q.delta,_.push({type:"thinking_delta",contentIndex:A.contentIndex,delta:q.delta,partial:K})}else if(q.type==="response.output_text.delta"){let A=W(q.output_index,"text");if(!A)continue;A.block.text+=q.delta,_.push({type:"text_delta",contentIndex:A.contentIndex,delta:q.delta,partial:K})}else if(q.type==="response.refusal.delta"){let A=W(q.output_index,"text");if(!A)continue;A.block.text+=q.delta,_.push({type:"text_delta",contentIndex:A.contentIndex,delta:q.delta,partial:K})}else if(q.type==="response.function_call_arguments.delta"){let A=W(q.output_index,"toolCall");if(!A)continue;A.block.partialJson+=q.delta,A.block.arguments=j(A.block.partialJson),_.push({type:"toolcall_delta",contentIndex:A.contentIndex,delta:q.delta,partial:K})}else if(q.type==="response.function_call_arguments.done"){let A=W(q.output_index,"toolCall");if(!A)continue;let G=A.block.partialJson;if(A.block.partialJson=q.arguments,A.block.arguments=j(A.block.partialJson),q.arguments.startsWith(G)){let Q=q.arguments.slice(G.length);if(Q.length>0)_.push({type:"toolcall_delta",contentIndex:A.contentIndex,delta:Q,partial:K})}}else if(q.type==="response.output_item.done"){let A=q.item,G=M(q.output_index,A);if(A.type==="reasoning"&&G?.type==="thinking"){let Q=A.summary?.map(($)=>$.text).join(`
|
|
8
|
-
|
|
9
|
-
`)||"",L=A.content?.map(($)=>$.text).join(`
|
|
10
|
-
|
|
11
|
-
`)||"";G.block.thinking=Q||L||G.block.thinking,G.block.thinkingSignature=JSON.stringify(A),J.set(A.id,G.block),_.push({type:"thinking_end",contentIndex:G.contentIndex,content:G.block.thinking,partial:K}),U.delete(q.output_index)}else if(A.type==="message"&&G?.type==="text")G.block.text=A.content?.map((Q)=>Q.type==="output_text"?Q.text:Q.refusal).join("")||"",G.block.textSignature=f(A.id,A.phase??void 0),_.push({type:"text_end",contentIndex:G.contentIndex,content:G.block.text,partial:K}),U.delete(q.output_index);else if(A.type==="function_call"&&G?.type==="toolCall")G.block.arguments=j(A.arguments||G.block.partialJson||"{}"),delete G.block.partialJson,_.push({type:"toolcall_end",contentIndex:G.contentIndex,toolCall:G.block,partial:K}),U.delete(q.output_index)}else if(q.type==="response.completed"||q.type==="response.incomplete")X(q.response);else if(q.type==="error")throw Error(`Error Code ${q.code}: ${q.message}`||"Unknown error");else if(q.type==="response.failed"){H=!0;let A=q.response?.error,G=q.response?.incomplete_details,Q=A?`${A.code||"unknown"}: ${A.message||"no message"}`:G?.reason?`incomplete: ${G.reason}`:"Unknown error (no error details in response)";throw Error(Q)}if(!H)throw Error("OpenAI Responses stream ended before a terminal response event")}function h(Z){if(!Z)return"stop";switch(Z){case"completed":return"stop";case"incomplete":return"length";case"failed":case"cancelled":return"error";case"in_progress":case"queued":return"stop";default:throw Error(`Unhandled stop reason: ${Z}`)}}
|
|
12
|
-
export{x as d,R as e,v as f};
|
package/bin/chunk-c55dg49y.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{b as m,c}from"./chunk-xepkfmkj.js";import{h as s}from"./chunk-xeg1gre0.js";import{i as d}from"./chunk-m0mp7pd2.js";import{p as l,q as a}from"./chunk-2t47accr.js";import{s as i,u as n}from"./chunk-epkgpyvw.js";import{v as w}from"./chunk-cpmyq7y4.js";import{w as p}from"./chunk-b35kbsh7.js";import{jc as T}from"./chunk-nvze6c2k.js";import{nc as g,oc as r}from"./chunk-d5rvr87v.js";import{pc as k}from"./chunk-ryyybwjr.js";import{Cc as h}from"./chunk-fvmb8en4.js";import"./chunk-r3r0643t.js";import"./chunk-22m0y0fs.js";function C(J,X){if(!J)return!1;let Q=X.toLowerCase();for(let[Y,_]of Object.entries(J))if(Y.toLowerCase()===Q&&_!==null&&_.trim().length>0)return!0;return!1}function t(J,X,Q){if(X)return X;if(C(Q,"authorization")||C(Q,"cf-aig-authorization"))return"unused";throw Error(`No API key for provider: ${J}`)}function $J(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 u(J){return J.type==="text"}function qJ(J){return J.type==="thinking"}function ZJ(J){return J.type==="toolCall"}function KJ(J){return J.type==="image"}function jJ(J){if(typeof J!=="object"||J===null)return!1;let X=J;return X.type==="reasoning.encrypted"&&typeof X.id==="string"&&X.id.length>0&&typeof X.data==="string"&&X.data.length>0}function e(J,X){if(J)return J;if(d("PI_CACHE_RETENTION",X)==="long")return"long";return"short"}var zJ=(J,X,Q)=>{let Y=new k;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 H=t(J.provider,Q?.apiKey,Q?.headers),K=f(J),$=e(Q?.cacheRetention,Q?.env),q=$==="none"?void 0:Q?.sessionId,j=HJ(J,X,H,Q?.headers,q,K),V=LJ(J,X,Q,K,$),O=await Q?.onPayload?.(V,J);if(O!==void 0)V=O;let P={...Q?.signal?{signal:Q.signal}:{},...Q?.timeoutMs!==void 0?{timeout:Q.timeoutMs}:{},maxRetries:Q?.maxRetries??0},{data:A,response:F}=await j.chat.completions.create(V,P).withResponse();await Q?.onResponse?.({status:F.status,headers:p(F.headers)},J),Y.push({type:"start",partial:_});let E=null,L=null,G=!1,v=new Map,U=new Map,I=new Map,B=_.content,y=(Z)=>B.indexOf(Z),JJ=(Z)=>{let z=y(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=T(Z.partialArgs),delete Z.partialArgs,delete Z.streamIndex,Y.push({type:"toolcall_end",contentIndex:z,toolCall:Z,partial:_})},QJ=()=>{if(!E)E={type:"text",text:""},B.push(E),Y.push({type:"text_start",contentIndex:y(E),partial:_});return E},XJ=(Z)=>{if(!L)L={type:"thinking",thinking:"",thinkingSignature:Z},B.push(L),Y.push({type:"thinking_start",contentIndex:y(L),partial:_});return L},YJ=(Z)=>{if(!Z.id)return;let z=I.get(Z.id);if(z)Z.thoughtSignature=z,I.delete(Z.id)},_J=(Z)=>{let z=typeof Z.index==="number"?Z.index:void 0,N=z!==void 0?v.get(z):void 0;if(!N&&Z.id)N=U.get(Z.id);if(!N){if(N={type:"toolCall",id:Z.id||"",name:Z.function?.name||"",arguments:{},partialArgs:"",streamIndex:z},z!==void 0)v.set(z,N);if(Z.id)U.set(Z.id,N);B.push(N),Y.push({type:"toolcall_start",contentIndex:y(N),partial:_})}if(z!==void 0&&N.streamIndex===void 0)N.streamIndex=z,v.set(z,N);if(Z.id)U.set(Z.id,N);return YJ(N),N};for await(let Z of A){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=b(Z.usage,J);let z=Array.isArray(Z.choices)?Z.choices[0]:void 0;if(!z)continue;if(!Z.usage&&z.usage)_.usage=b(z.usage,J);if(z.finish_reason){let N=yJ(z.finish_reason);if(_.stopReason=N.stopReason,N.errorMessage)_.errorMessage=N.errorMessage;G=!0}if(z.delta){if(z.delta.content!==null&&z.delta.content!==void 0&&z.delta.content.length>0){let W=QJ();W.text+=z.delta.content,Y.push({type:"text_delta",contentIndex:y(W),delta:z.delta.content,partial:_})}let N=["reasoning_content","reasoning","reasoning_text"],R=z.delta,M=null;for(let W of N){let S=R[W];if(typeof S==="string"&&S.length>0){M=W;break}}if(M){let W=R[M];if(typeof W==="string"&&W.length>0){let S=J.provider==="opencode-go"&&M==="reasoning"?"reasoning_content":M,D=XJ(S);D.thinking+=W,Y.push({type:"thinking_delta",contentIndex:y(D),delta:W,partial:_})}}if(z?.delta?.tool_calls)for(let W of z.delta.tool_calls){let S=_J(W);if(!S.id&&W.id)S.id=W.id,U.set(W.id,S);if(!S.name&&W.function?.name)S.name=W.function.name;let D="";if(W.function?.arguments)D=W.function.arguments,S.partialArgs=(S.partialArgs??"")+W.function.arguments,S.arguments=T(S.partialArgs);Y.push({type:"toolcall_delta",contentIndex:y(S),delta:D,partial:_})}let x=z.delta.reasoning_details;if(Array.isArray(x)){for(let W of x)if(jJ(W)){let S=JSON.stringify(W),D=U.get(W.id);if(D)D.thoughtSignature=S;else I.set(W.id,S)}}}}for(let Z of B)JJ(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(!G)throw Error("Stream ended without finish_reason");Y.push({type:"done",reason:_.stopReason,message:_}),Y.end()}catch(H){for(let $ of _.content)delete $.index,delete $.partialArgs,delete $.streamIndex;_.stopReason=Q?.signal?.aborted?"aborted":"error",_.errorMessage=a(l(H));let K=H?.error?.metadata?.raw;if(K&&!_.errorMessage.includes(String(K)))_.errorMessage+=`
|
|
3
|
-
${K}`;Y.push({type:"error",reason:_.stopReason,error:_}),Y.end()}})(),Y},hJ=(J,X,Q)=>{t(J.provider,Q?.apiKey,Q?.headers);let Y=i(J,X,Q,Q?.apiKey),_=Q?.reasoning?r(J,Q.reasoning):void 0,H=_==="off"?void 0:_,K=Q?.toolChoice;return zJ(J,X,{...Y,reasoningEffort:H,toolChoice:K})};function HJ(J,X,Q,Y,_,H=f(J)){let K={...J.headers};if(J.provider==="github-copilot"){let $=m(X.messages),q=c({messages:X.messages,hasImages:$});Object.assign(K,q)}if(_&&H.sendSessionAffinityHeaders)if(H.sessionAffinityFormat==="openrouter")K["x-session-id"]=_;else{if(H.sessionAffinityFormat==="openai")K.session_id=_;K["x-client-request-id"]=_,K["x-session-affinity"]=_}if(Y)Object.assign(K,Y);return new h({apiKey:Q,baseURL:J.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:K})}function LJ(J,X,Q,Y=f(J),_=e(Q?.cacheRetention,Q?.env)){let H=EJ(J,X,Y),K=GJ(Y,_),$={model:J.id,messages:H,stream:!0,prompt_cache_key:J.baseUrl.includes("api.openai.com")&&_!=="none"||_==="long"&&Y.supportsLongCacheRetention?s(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=DJ(X.tools,Y),Y.zaiToolStream)$.tool_stream=!0}else if($J(X.messages))$.tools=[];if(K)NJ(H,$.tools,K);if(Q?.toolChoice)$.tool_choice=Q.toolChoice;if(Y.thinkingFormat==="zai"&&J.reasoning){let q=$;if(q.thinking=Q?.reasoningEffort?{type:"enabled",clear_thinking:!1}:{type:"disabled"},Q?.reasoningEffort&&Y.supportsReasoningEffort){let j=J.thinkingLevelMap?.[Q.reasoningEffort],V=j===void 0?Q.reasoningEffort:j;if(typeof V==="string")q.reasoning_effort=V}}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==="chat-template"&&J.reasoning){let q=VJ(J,Q,Y);if(q)$.chat_template_kwargs=q}else if(Y.thinkingFormat==="deepseek"&&J.reasoning){if(Q?.reasoningEffort)$.thinking={type:"enabled"};else if(J.thinkingLevelMap?.off!==null)$.thinking={type:"disabled"};if(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==="ant-ling"&&J.reasoning&&Q?.reasoningEffort){let q=J.thinkingLevelMap?.[Q.reasoningEffort];if(typeof q==="string")$.reasoning={effort:q}}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.compat?.openRouterRouting)$.provider=J.compat.openRouterRouting;if(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 VJ(J,X,Q){let Y={};for(let[_,H]of Object.entries(Q.chatTemplateKwargs)){let K=WJ(J,X,H);if(K!==void 0)Y[_]=K}return Object.keys(Y).length>0?Y:void 0}function WJ(J,X,Q){if(typeof Q!=="object"||Q===null)return Q;let Y=X?.reasoningEffort;if(!Y&&Q.omitWhenOff)return;if(Q.$var==="thinking.enabled")return!!Y;let _=Y?J.thinkingLevelMap?.[Y]:J.thinkingLevelMap?.off;return _===void 0?Y:typeof _==="string"?_:void 0}function GJ(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 NJ(J,X,Q){SJ(J,Q),FJ(X,Q),OJ(J,Q)}function SJ(J,X){for(let Q of J)if(Q.role==="system"||Q.role==="developer"){PJ(Q,X);return}}function OJ(J,X){for(let Q=J.length-1;Q>=0;Q--){let Y=J[Q];if(Y.role==="user"||Y.role==="assistant"){if(AJ(Y,X))return}}}function FJ(J,X){if(!J||J.length===0)return;let Q=J[J.length-1];Q.cache_control=X}function PJ(J,X){return o(J,X)}function AJ(J,X){if(J.role==="user"||J.role==="assistant")return o(J,X);return!1}function o(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 H=_;return H.cache_control=X,!0}}return!1}function EJ(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 $},H=n(X.messages,J,($)=>_($));if(X.systemPrompt){let q=J.reasoning&&Q.supportsDeveloperRole?"developer":"system";Y.push({role:q,content:w(X.systemPrompt)})}let K=null;for(let $=0;$<H.length;$++){let q=H[$];if(Q.requiresAssistantAfterToolResult&&K==="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((V)=>{if(V.type==="text")return{type:"text",text:w(V.text)};else return{type:"image_url",image_url:{url:`data:${V.mimeType};base64,${V.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},V=q.content.filter(u).filter((L)=>L.text.trim().length>0).map((L)=>({type:"text",text:w(L.text)})),O=V.map((L)=>L.text).join(""),P=q.content.filter(qJ).filter((L)=>L.thinking.trim().length>0);if(P.length>0)if(Q.requiresThinkingAsText){let L=P.map((G)=>w(G.thinking)).join(`
|
|
4
|
-
|
|
5
|
-
`);j.content=[{type:"text",text:L},...V]}else{if(O.length>0)j.content=O;let L=P[0].thinkingSignature;if(J.provider==="opencode-go"&&L==="reasoning")L="reasoning_content";if(L&&L.length>0)j[L]=P.map((G)=>G.thinking).join(`
|
|
6
|
-
`)}else if(O.length>0)j.content=O;let A=q.content.filter(ZJ);if(A.length>0){j.tool_calls=A.map((G)=>({id:G.id,type:"function",function:{name:G.name,arguments:JSON.stringify(G.arguments)}}));let L=A.filter((G)=>G.thoughtSignature).map((G)=>{try{return JSON.parse(G.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 F=j.content;if(!(F!==null&&F!==void 0&&(typeof F==="string"?F.length>0:F.length>0))&&!j.tool_calls)continue;Y.push(j)}else if(q.role==="toolResult"){let j=[],V=$;for(;V<H.length&&H[V].role==="toolResult";V++){let O=H[V],P=O.content.filter(u).map((G)=>G.text).join(`
|
|
7
|
-
`),A=O.content.some((G)=>G.type==="image"),E=P.length>0?P:A?"(see attached image)":"(no tool output)",L={role:"tool",content:w(E),tool_call_id:O.toolCallId};if(Q.requiresToolResultName&&O.toolName)L.name=O.toolName;if(Y.push(L),A&&J.input.includes("image")){for(let G of O.content)if(KJ(G))j.push({type:"image_url",image_url:{url:`data:${G.mimeType};base64,${G.data}`}})}}if($=V-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]}),K="user"}else K="toolResult";continue}K=q.role}return Y}function DJ(J,X){return J.map((Q)=>({type:"function",function:{name:Q.name,description:Q.description,parameters:Q.parameters,...X.supportsStrictMode!==!1&&{strict:!1}}}))}function b(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,H=Math.max(0,Q-Y-_),K=J.completion_tokens||0,$={input:H,output:K,cacheRead:Y,cacheWrite:_,reasoning:J.completion_tokens_details?.reasoning_tokens||0,totalTokens:H+K+Y+_,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return g(X,$),$}function yJ(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 wJ(J){let{provider:X,baseUrl:Q}=J,Y=X==="zai"||X==="zai-coding-cn"||Q.includes("api.z.ai")||Q.includes("open.bigmodel.cn"),_=X==="together"||Q.includes("api.together.ai")||Q.includes("api.together.xyz"),H=X==="moonshotai"||X==="moonshotai-cn"||Q.includes("api.moonshot."),K=X==="openrouter"||Q.includes("openrouter.ai"),$=X==="cloudflare-workers-ai"||Q.includes("api.cloudflare.com"),q=X==="cloudflare-ai-gateway"||Q.includes("gateway.ai.cloudflare.com"),j=X==="nvidia"||Q.includes("integrate.api.nvidia.com"),V=X==="ant-ling"||Q.includes("api.ant-ling.com"),O=j||X==="cerebras"||Q.includes("cerebras.ai")||X==="xai"||Q.includes("api.x.ai")||_||Q.includes("chutes.ai")||Q.includes("deepseek.com")||Y||H||X==="opencode"||Q.includes("opencode.ai")||$||q||V,P=Q.includes("chutes.ai")||H||q||_||j||V,A=X==="xai"||Q.includes("api.x.ai"),F=X==="deepseek"||Q.includes("deepseek.com"),E=K&&(J.id.startsWith("anthropic/")||J.id.startsWith("openai/")),L=X==="openrouter"&&J.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!O,supportsDeveloperRole:E||!O&&!K,supportsReasoningEffort:!A&&!Y&&!H&&!_&&!q&&!j&&!V,supportsUsageInStreaming:!0,maxTokensField:P?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:F,thinkingFormat:F?"deepseek":Y?"zai":_?"together":V?"ant-ling":K?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!H&&!_&&!q&&!j,cacheControlFormat:L,sendSessionAffinityHeaders:!1,sessionAffinityFormat:K?"openrouter":"openai",supportsLongCacheRetention:!(_||$||q||j||V)}}function f(J){let X=wJ(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,chatTemplateKwargs:J.compat.chatTemplateKwargs??X.chatTemplateKwargs,zaiToolStream:J.compat.zaiToolStream??X.zaiToolStream,supportsStrictMode:J.compat.supportsStrictMode??X.supportsStrictMode,cacheControlFormat:J.compat.cacheControlFormat??X.cacheControlFormat,sendSessionAffinityHeaders:J.compat.sendSessionAffinityHeaders??X.sendSessionAffinityHeaders,sessionAffinityFormat:J.compat.sessionAffinityFormat??X.sessionAffinityFormat,supportsLongCacheRetention:J.compat.supportsLongCacheRetention??X.supportsLongCacheRetention}}export{hJ as streamSimple,zJ as stream,EJ as convertMessages};
|
package/bin/chunk-cpmyq7y4.js
DELETED
package/bin/chunk-d5rvr87v.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{pc as R}from"./chunk-ryyybwjr.js";function q(B,Q){return{role:"assistant",content:[],api:B.api,provider:B.provider,model:B.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"error",errorMessage:Q instanceof Error?Q.message:String(Q),timestamp:Date.now()}}function _(B,Q){(async()=>{for await(let Y of Q)B.push(Y);B.end()})()}function O(B,Q){let Y=new R;return Q().then((Z)=>{_(Y,Z)}).catch((Z)=>{let $=q(B,Z);Y.push({type:"error",reason:"error",error:$}),Y.end($)}),Y}function L(B){return{stream:(Q,Y,Z)=>O(Q,async()=>(await B()).stream(Q,Y,Z)),streamSimple:(Q,Y,Z)=>O(Q,async()=>(await B()).streamSimple(Q,Y,Z))}}var A=function(B,Q){if(typeof B==="string"&&/^\.\.?\//.test(B))return B.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(Y,Z,$,F,w){return Z?Q?".jsx":".js":$&&(!F||!w)?Y:$+F+"."+w.toLowerCase()+"js"});return B},j=(B)=>import(A(B));function C(){return globalThis.process?.env}function D(){return{async env(B){let Q=C()?.[B];return typeof Q==="string"&&Q.trim().length>0?Q:void 0},async fileExists(B){try{let Q=await j("node:fs/promises"),Y=B;if(Y.startsWith("~"))Y=(await j("node:os")).homedir()+Y.slice(1);return await Q.access(Y),!0}catch{return!1}}}}class V{credentials=new Map;chains=new Map;enqueue(B,Q){let Y=this.chains.get(B)??Promise.resolve(),Z=(async()=>{return await Y.catch(()=>{}),Q()})();return this.chains.set(B,Z.catch(()=>{})),Z}async read(B){return this.credentials.get(B)}modify(B,Q){return this.enqueue(B,async()=>{let Y=this.credentials.get(B),Z=await Q(Y);if(Z!==void 0)this.credentials.set(B,Z);return Z??Y})}delete(B){return this.enqueue(B,async()=>{this.credentials.delete(B)})}}class W extends Error{code;constructor(B,Q,Y){super(Q,Y);this.name="ModelsError",this.code=B}}async function z(B,Q,Y,Z,$){let F=$?.env?T(Z,$.env):Z;if($?.apiKey!==void 0&&B.auth.apiKey)return X(F,B.auth.apiKey,Q,{type:"api_key",key:$.apiKey,env:$.env});let w=await N(Y,B.id);if(w){if(w.type==="oauth"&&B.auth.oauth)return f(Y,B.id,B.auth.oauth,w);if(w.type==="api_key"&&B.auth.apiKey){let J=$?.env?{...w,env:{...w.env,...$.env}}:w;return X(F,B.auth.apiKey,Q,J)}return}return B.auth.apiKey?X(F,B.auth.apiKey,Q,void 0):void 0}function T(B,Q){return{env:async(Y)=>Q[Y]||await B.env(Y),fileExists:(Y)=>B.fileExists(Y)}}async function f(B,Q,Y,Z){let $=Z;if(Date.now()>=$.expires){let F;try{F=await B.modify(Q,async(w)=>{if(w?.type!=="oauth")return;if(Date.now()<w.expires)return;try{return await Y.refresh(w)}catch(J){throw new W("oauth",`OAuth refresh failed for ${Q}`,{cause:J})}})}catch(w){if(w instanceof W)throw w;throw new W("auth",`Credential store modify failed for ${Q}`,{cause:w})}if(F?.type!=="oauth")return;$=F}try{return{auth:await Y.toAuth($),source:"OAuth"}}catch(F){throw new W("oauth",`OAuth auth derivation failed for ${Q}`,{cause:F})}}async function X(B,Q,Y,Z){try{return await Q.resolve({model:Y,ctx:B,credential:Z})}catch($){throw new W("auth",`API key auth failed for provider ${Y.provider}`,{cause:$})}}async function N(B,Q){try{return await B.read(Q)}catch(Y){throw new W("auth",`Credential store read failed for ${Q}`,{cause:Y})}}class K{providers=new Map;credentials;authContext;constructor(B){this.credentials=B?.credentials??new V,this.authContext=B?.authContext??D()}setProvider(B){this.providers.set(B.id,B)}deleteProvider(B){this.providers.delete(B)}clearProviders(){this.providers.clear()}getProviders(){return Array.from(this.providers.values())}getProvider(B){return this.providers.get(B)}getModels(B){if(B!==void 0){let Y=this.providers.get(B);if(!Y)return[];try{return Y.getModels()}catch{return[]}}let Q=[];for(let Y of this.providers.values())try{Q.push(...Y.getModels())}catch{}return Q}getModel(B,Q){return this.getModels(B).find((Y)=>Y.id===Q)}async refresh(B){if(B!==void 0){let Q=this.providers.get(B);if(!Q?.refreshModels)return;try{await Q.refreshModels()}catch(Y){if(Y instanceof W)throw Y;throw new W("model_source",`Model refresh failed for ${B}`,{cause:Y})}return}await Promise.allSettled(Array.from(this.providers.values(),async(Q)=>Q.refreshModels?.()))}async getAuth(B){let Q=this.providers.get(B.provider);if(!Q)return;return z(Q,B,this.credentials,this.authContext)}requireProvider(B){let Q=this.providers.get(B.provider);if(!Q)throw new W("provider",`Unknown provider: ${B.provider}`);return Q}async applyAuth(B,Q){let Y=await z(this.requireProvider(B),B,this.credentials,this.authContext,{apiKey:Q?.apiKey,env:Q?.env}),Z=Y?.auth;if(!Z)return{requestModel:B,requestOptions:Q};let $=Z.baseUrl?{...B,baseUrl:Z.baseUrl}:B,F=Q?.apiKey??Z.apiKey,w=Z.headers||Q?.headers?{...Z.headers,...Q?.headers}:void 0,J=Y.env||Q?.env?{...Y.env??{},...Q?.env??{}}:void 0,P={...Q,apiKey:F,headers:w,env:J};return{requestModel:$,requestOptions:P}}stream(B,Q,Y){return O(B,async()=>{let Z=this.requireProvider(B),{requestModel:$,requestOptions:F}=await this.applyAuth(B,Y);return Z.stream($,Q,F)})}async complete(B,Q,Y){return this.stream(B,Q,Y).result()}streamSimple(B,Q,Y){return O(B,async()=>{let Z=this.requireProvider(B),{requestModel:$,requestOptions:F}=await this.applyAuth(B,Y);return Z.streamSimple($,Q,F)})}async completeSimple(B,Q,Y){return this.streamSimple(B,Q,Y).result()}}function u(B){return new K(B)}function m(B){let Q=B.models,Y,Z=B.refreshModels,$=typeof B.api.stream==="function"?B.api:void 0,F=$?void 0:B.api,w=(P)=>$??F?.[P.api],J=(P,U)=>{let k=w(P);if(!k)return O(P,async()=>{throw new W("stream",`Provider ${B.id} has no API implementation for "${P.api}"`)});return U(k)};return{id:B.id,name:B.name??B.id,baseUrl:B.baseUrl,headers:B.headers,auth:B.auth,getModels:()=>Q,refreshModels:Z?()=>{return Y??=(async()=>{try{Q=await Z()}finally{Y=void 0}})(),Y}:void 0,stream:(P,U,k)=>J(P,(H)=>H.stream(P,U,k)),streamSimple:(P,U,k)=>J(P,(H)=>H.streamSimple(P,U,k))}}function v(B,Q){let Y=Q.input+Q.cacheRead+Q.cacheWrite,Z=B.cost,$=-1;for(let J of B.cost.tiers??[])if(Y>J.inputTokensAbove&&J.inputTokensAbove>$)Z=J,$=J.inputTokensAbove;let F=Q.cacheWrite1h??0,w=Q.cacheWrite-F;return Q.cost.input=Z.input/1e6*Q.input,Q.cost.output=Z.output/1e6*Q.output,Q.cost.cacheRead=Z.cacheRead/1e6*Q.cacheRead,Q.cost.cacheWrite=(Z.cacheWrite*w+Z.input*2*F)/1e6,Q.cost.total=Q.cost.input+Q.cost.output+Q.cost.cacheRead+Q.cost.cacheWrite,Q.cost}var G=["off","minimal","low","medium","high","xhigh","max"];function b(B){if(!B.reasoning)return["off"];return G.filter((Q)=>{let Y=B.thinkingLevelMap?.[Q];if(Y===null)return!1;if(Q==="xhigh"||Q==="max")return Y!==void 0;return!0})}function n(B,Q){let Y=b(B);if(Y.includes(Q))return Q;let Z=G.indexOf(Q);if(Z===-1)return Y[0]??"off";for(let $=Z;$<G.length;$++){let F=G[$];if(Y.includes(F))return F}for(let $=Z-1;$>=0;$--){let F=G[$];if(Y.includes(F))return F}return Y[0]??"off"}
|
|
3
|
-
export{L as kc,u as lc,m as mc,v as nc,n as oc};
|
package/bin/chunk-db5dg26j.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{u as Z}from"./chunk-epkgpyvw.js";import{v as J}from"./chunk-cpmyq7y4.js";import{Lc as L,Nc as w}from"./chunk-0bdvgych.js";function d(b){return b.thought===!0}function B(b,j){if(typeof j==="string"&&j.length>0)return j;return b}var x=/^[A-Za-z0-9+/]+={0,2}$/;function T(b){if(!b)return!1;if(b.length%4!==0)return!1;return x.test(b)}function Q(b,j){return b&&T(j)?j:void 0}function U(b){return b.startsWith("claude-")||b.startsWith("gpt-oss-")}function f(b){let j=b.toLowerCase().match(/^gemini(?:-live)?-(\d+)/);if(!j)return;return Number.parseInt(j[1],10)}function y(b){let j=f(b);if(j!==void 0)return j>=3;return!0}function R(b,j){let A=[],N=(z)=>{if(!U(b.id))return z;return z.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64)},$=Z(j.messages,b,N);for(let z of $)if(z.role==="user")if(typeof z.content==="string")A.push({role:"user",parts:[{text:J(z.content)}]});else{let E=z.content.map((D)=>{if(D.type==="text")return{text:J(D.text)};else return{inlineData:{mimeType:D.mimeType,data:D.data}}});if(E.length===0)continue;A.push({role:"user",parts:E})}else if(z.role==="assistant"){let E=[],D=z.provider===b.provider&&z.model===b.id;for(let q of z.content)if(q.type==="text"){if(!q.text||q.text.trim()==="")continue;let G=Q(D,q.textSignature);E.push({text:J(q.text),...G&&{thoughtSignature:G}})}else if(q.type==="thinking"){if(!q.thinking||q.thinking.trim()==="")continue;if(D){let G=Q(D,q.thinkingSignature);E.push({thought:!0,text:J(q.thinking),...G&&{thoughtSignature:G}})}else E.push({text:J(q.thinking)})}else if(q.type==="toolCall"){let G=Q(D,q.thoughtSignature),K={functionCall:{name:q.name,args:q.arguments??{},...U(b.id)?{id:q.id}:{}},...G&&{thoughtSignature:G}};E.push(K)}if(E.length===0)continue;A.push({role:"model",parts:E})}else if(z.role==="toolResult"){let D=z.content.filter((H)=>H.type==="text").map((H)=>H.text).join(`
|
|
3
|
-
`),q=b.input.includes("image")?z.content.filter((H)=>H.type==="image"):[],G=D.length>0,K=q.length>0,V=y(b.id),W=G?J(D):K?"(see attached image)":"",X=q.map((H)=>({inlineData:{mimeType:H.mimeType,data:H.data}})),v=U(b.id),Y={functionResponse:{name:z.toolName,response:z.isError?{error:W}:{output:W},...K&&V&&{parts:X},...v?{id:z.toolCallId}:{}}},O=A[A.length-1];if(O?.role==="user"&&O.parts?.some((H)=>H.functionResponse))O.parts.push(Y);else A.push({role:"user",parts:[Y]});if(K&&!V)A.push({role:"user",parts:[{text:"Tool result image:"},...X]})}return A}var F=new Set(["$schema","$id","$anchor","$dynamicAnchor","$vocabulary","$comment","$defs","definitions"]);function _(b){if(typeof b!=="object"||b===null||Array.isArray(b))return b;let j={};for(let[A,N]of Object.entries(b)){if(F.has(A))continue;j[A]=_(N)}return j}function C(b,j=!1){if(b.length===0)return;return[{functionDeclarations:b.map((A)=>({name:A.name,description:A.description,...j?{parameters:_(A.parameters)}:{parametersJsonSchema:A.parameters}}))}]}function k(b){switch(b){case"auto":return L.AUTO;case"none":return L.NONE;case"any":return L.ANY;default:return L.AUTO}}function P(b){switch(b){case w.STOP:return"stop";case w.MAX_TOKENS:return"length";case w.BLOCKLIST:case w.PROHIBITED_CONTENT:case w.SPII:case w.SAFETY:case w.IMAGE_SAFETY:case w.IMAGE_PROHIBITED_CONTENT:case w.IMAGE_RECITATION:case w.IMAGE_OTHER:case w.RECITATION:case w.FINISH_REASON_UNSPECIFIED:case w.OTHER:case w.LANGUAGE:case w.MALFORMED_FUNCTION_CALL:case w.UNEXPECTED_TOOL_CALL:case w.NO_IMAGE:return"error";default:throw Error(`Unhandled stop reason: ${b}`)}}
|
|
4
|
-
export{d as j,B as k,R as l,C as m,k as n,P as o};
|
package/bin/chunk-dja3b5qj.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{i as K}from"./chunk-m0mp7pd2.js";import{w as C,x as T}from"./chunk-b35kbsh7.js";import{Bb as U,Cb as V}from"./chunk-3nbbx6x7.js";import{jc as j}from"./chunk-nvze6c2k.js";import{pc as $}from"./chunk-ryyybwjr.js";import"./chunk-r3r0643t.js";import"./chunk-22m0y0fs.js";class W extends Error{code;diagnosticDetails;constructor(z,q,F){super(z);this.name="PiMessagesResponseError",this.code=q,this.diagnosticDetails=F}}function Y(z){return typeof z==="object"&&z!==null&&!Array.isArray(z)}function D(z){try{let q=JSON.parse(z);return Y(q)&&Y(q.error)?q:void 0}catch{return}}function h(z){return z.length>8192?`${z.slice(0,8192)}\u2026`:z}function J(z,q,F){let k=typeof F?.error?.message==="string"?F.error.message:void 0,G=typeof F?.error?.code==="string"?F.error.code:void 0,H=k??q,I=G?` (${G})`:"";return`${z.status} ${z.statusText}: ${H}${I}`}function w(z,q,F,k){let G=D(k),H=typeof G?.error?.code==="string"?G.error.code:void 0;return new W(J(F,k,G),H,{version:1,provider:z.provider,model:z.id,url:q.toString(),status:F.status,statusText:F.statusText,error:G?.error,body:G?void 0:h(k),timestampMs:Date.now()})}function A(){return{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}function Z(z,q){if(!q)return;V(z,{type:"pi_messages_rewrite",timestamp:Date.now(),details:{...q}})}function S(z){let q={role:"assistant",content:[],api:z.api,provider:z.provider,model:z.id,usage:A(),stopReason:"stop",timestamp:Date.now()},F=new Map;return(k)=>{switch(k.type){case"done":return Object.assign(q,{stopReason:k.reason,usage:k.usage,responseId:k.responseId}),Z(q,k.rewrite),{type:"done",reason:k.reason,message:q};case"error":return Object.assign(q,{stopReason:k.reason,usage:k.usage,errorMessage:k.errorMessage,responseId:k.responseId}),Z(q,k.rewrite),{type:"error",reason:k.reason,error:q};case"start":break;case"text_start":q.content[k.contentIndex]={type:"text",text:""};break;case"text_delta":q.content[k.contentIndex].text+=k.delta;break;case"text_end":Object.assign(q.content[k.contentIndex],{text:k.content,textSignature:k.contentSignature});break;case"thinking_start":q.content[k.contentIndex]={type:"thinking",thinking:""};break;case"thinking_delta":q.content[k.contentIndex].thinking+=k.delta;break;case"thinking_end":Object.assign(q.content[k.contentIndex],{thinking:k.content,thinkingSignature:k.contentSignature,redacted:k.redacted});break;case"toolcall_start":q.content[k.contentIndex]={type:"toolCall",id:k.id,name:k.toolName,arguments:{}},F.set(k.contentIndex,"");break;case"toolcall_delta":{let G=`${F.get(k.contentIndex)??""}${k.delta}`;F.set(k.contentIndex,G),q.content[k.contentIndex].arguments=j(G);break}case"toolcall_end":return Object.assign(q.content[k.contentIndex],k.toolCall),F.delete(k.contentIndex),{type:"toolcall_end",contentIndex:k.contentIndex,toolCall:q.content[k.contentIndex],partial:q}}return{...k,partial:q}}}async function*P(z){let q=new TextDecoder,F=z.getReader(),k="";try{while(!0){let{done:G,value:H}=await F.read();k+=G?q.decode():q.decode(H,{stream:!0}),k=k.replace(/\r\n/g,`
|
|
3
|
-
`);let I=k.indexOf(`
|
|
4
|
-
|
|
5
|
-
`);while(I!==-1){let N=_(k.slice(0,I));if(N)yield N;k=k.slice(I+2),I=k.indexOf(`
|
|
6
|
-
|
|
7
|
-
`)}if(G)break}if(k.trim()){let G=_(k);if(G)yield G}}finally{F.releaseLock()}}function _(z){let q=z.split(`
|
|
8
|
-
`).find((F)=>F.startsWith("data:"))?.slice(5).trim();return q&&q!=="[DONE]"?JSON.parse(q):void 0}function R(z,q,F){let k=F?"aborted":"error",G={role:"assistant",content:[],api:z.api,provider:z.provider,model:z.id,usage:A(),stopReason:k,errorMessage:q instanceof Error?q.message:String(q),timestamp:Date.now()};if(!F&&q instanceof W)V(G,U("pi_messages_response_failure",q,q.diagnosticDetails));return{type:"error",reason:k,error:G}}function x(z,q){if(z)return z;return K("PI_CACHE_RETENTION",q)==="long"?"long":void 0}var M=(z,q,F)=>{let k=new $,G=S(z);return(async()=>{try{let H=F?.apiKey;if(!H)throw Error(`No API key provided for provider "${z.provider}"`);let I=new URL(`${z.baseUrl.replace(/\/+$/u,"")}/messages`);if(F?.debug)I.searchParams.set("debug","1");let N={model:z.id,context:q,options:{temperature:F?.temperature,maxTokens:F?.maxTokens,reasoning:F?.reasoning,cacheRetention:x(F?.cacheRetention,F?.env),sessionId:F?.sessionId,toolChoice:F?.toolChoice}},X=await F?.onPayload?.(N,z);if(X!==void 0)N=X;let L=await fetch(I,{method:"POST",headers:{authorization:`Bearer ${H}`,accept:"text/event-stream","content-type":"application/json",...T(F?.headers)},body:JSON.stringify(N),signal:F?.signal});if(await F?.onResponse?.({status:L.status,headers:C(L.headers)},z),!L.ok){let O=await L.text();throw w(z,I,L,O)}if(!L.body)throw Error(`${z.provider} response has no body`);for await(let O of P(L.body)){let Q=G(O);if(k.push(Q),Q.type==="done"||Q.type==="error")return}throw Error(`${z.provider} stream ended without a terminal event`)}catch(H){k.push(R(z,H,F?.signal?.aborted??!1))}})(),k},u=(z,q,F)=>{let k=F;return M(z,q,{...F,reasoning:F?.reasoning,toolChoice:k?.toolChoice,debug:k?.debug})};export{u as streamSimple,M as stream,W as PiMessagesResponseError};
|
package/bin/chunk-e0np0fc1.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{ga as e,ha as p,ia as t}from"./chunk-y50ys5g5.js";import"./chunk-p3egm13v.js";import"./chunk-nbvdnrcb.js";import"./chunk-ceg8d25c.js";import"./chunk-ba518ea4.js";import"./chunk-09wm68m9.js";import"./chunk-22m0y0fs.js";export{t as kyselyAdapter,e as getKyselyDatabaseType,p as createKyselyAdapter};
|
package/bin/chunk-epkgpyvw.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
function _(q){return q.totalTokens||q.input+q.output+q.cacheRead+q.cacheWrite}function N(q){try{return JSON.stringify(q)??"undefined"}catch{return"[unserializable]"}}function z(q){if(typeof q==="string")return q.length;let G=0;for(let D of q)G+=D.type==="text"?D.text.length:4800;return G}function P(q){return Math.ceil(q.length/4)}function E(q){return Math.ceil(z(q)/4)}function K(q){let G=0;if(q.role==="user")return E(q.content);if(q.role==="toolResult")return E(q.content);for(let D of q.content)if(D.type==="text")G+=D.text.length;else if(D.type==="thinking")G+=D.thinking.length;else G+=D.name.length+N(D.arguments).length;return Math.ceil(G/4)}function h(q){let G=Number.NEGATIVE_INFINITY,D;for(let H=0;H<q.length;H++){let Z=q[H];if(Z.role==="assistant"){let V=Z;if(V.timestamp>=G&&V.stopReason!=="aborted"&&V.stopReason!=="error"&&_(V.usage)>0)D={usage:V.usage,index:H}}G=Math.max(G,Z.timestamp)}return D}function W(q){let G=h(q);if(G){let H=_(G.usage),Z=0;for(let V=G.index+1;V<q.length;V++)Z+=K(q[V]);return{tokens:H+Z,usageTokens:H,trailingTokens:Z,lastUsageIndex:G.index}}let D=0;for(let H of q)D+=K(H);return{tokens:D,usageTokens:0,trailingTokens:D,lastUsageIndex:null}}function B(q){if(!q||q.length===0)return 0;return P(N(q))}function f(q){return Array.isArray(q)}function R(q){if(f(q))return W(q);let G=W(q.messages);if(G.lastUsageIndex!==null){let H=new Set(q.messages.slice(G.lastUsageIndex+1).filter((V)=>V.role==="toolResult").flatMap((V)=>V.addedToolNames??[])),Z=B(q.tools?.filter((V)=>H.has(V.name)));return{tokens:G.tokens+Z,usageTokens:G.usageTokens,trailingTokens:G.trailingTokens+Z,lastUsageIndex:G.lastUsageIndex}}let D=(q.systemPrompt?P(q.systemPrompt):0)+B(q.tools);return{tokens:G.tokens+D,usageTokens:G.usageTokens,trailingTokens:G.trailingTokens+D,lastUsageIndex:G.lastUsageIndex}}var I=4096,v=1;function C(q,G,D){if(q.contextWindow<=0)return Math.max(v,D);let H=q.contextWindow-R(G).tokens-I;return Math.min(D,Math.max(v,H))}function T(q,G,D,H){return{temperature:D?.temperature,maxTokens:C(q,G,D?.maxTokens??q.maxTokens),signal:D?.signal,apiKey:H||D?.apiKey,transport:D?.transport,cacheRetention:D?.cacheRetention,sessionId:D?.sessionId,headers:D?.headers,onPayload:D?.onPayload,onResponse:D?.onResponse,timeoutMs:D?.timeoutMs,websocketConnectTimeoutMs:D?.websocketConnectTimeoutMs,maxRetries:D?.maxRetries,maxRetryDelayMs:D?.maxRetryDelayMs,metadata:D?.metadata,env:D?.env}}function M(q){return q==="xhigh"||q==="max"?"high":q}function p(q,G,D,H){let V={...{minimal:1024,low:2048,medium:8192,high:16384},...H},L=1024,Y=M(D),F=V[Y],j=q===void 0?G:Math.min(q+F,G);if(j<=F)F=Math.max(0,j-1024);return{maxTokens:j,thinkingBudget:F}}function S(q,G){let D=[],H=!1;for(let Z of q){if(Z.type==="image"){if(!H)D.push({type:"text",text:G});H=!0;continue}D.push(Z),H=Z.text===G}return D}function b(q,G){if(G.input.includes("image"))return q;return q.map((D)=>{if(D.role==="user"&&Array.isArray(D.content))return{...D,content:S(D.content,"(image omitted: model does not support images)")};if(D.role==="toolResult")return{...D,content:S(D.content,"(tool image omitted: model does not support images)")};return D})}function k(q,G,D){let H=new Map,Z=q.map((J)=>J.content==null?{...J,content:[]}:J),L=b(Z,G).map((J)=>{if(J.role==="user")return J;if(J.role==="toolResult"){let Q=H.get(J.toolCallId);if(Q&&Q!==J.toolCallId)return{...J,toolCallId:Q};return J}if(J.role==="assistant"){let Q=J,w=Q.provider===G.provider&&Q.api===G.api&&Q.model===G.id,O=Q.content.flatMap(($)=>{if($.type==="thinking"){if($.redacted)return w?$:[];if(w&&$.thinkingSignature)return $;if(!$.thinking||$.thinking.trim()==="")return[];if(w)return $;return{type:"text",text:$.thinking}}if($.type==="text"){if(w)return $;return{type:"text",text:$.text}}if($.type==="toolCall"){let U=$,X=U;if(!w&&U.thoughtSignature)X={...U},delete X.thoughtSignature;if(!w&&D){let A=D(U.id,G,Q);if(A!==U.id)H.set(U.id,A),X={...X,id:A}}return X}return $});return{...Q,content:O}}return J}),Y=[],F=[],j=new Set,y=()=>{if(F.length>0){for(let J of F)if(!j.has(J.id))Y.push({role:"toolResult",toolCallId:J.id,toolName:J.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});F=[],j=new Set}};for(let J=0;J<L.length;J++){let Q=L[J];if(Q.role==="assistant"){y();let w=Q;if(w.stopReason==="error"||w.stopReason==="aborted")continue;let O=w.content.filter(($)=>$.type==="toolCall");if(O.length>0)F=O,j=new Set;Y.push(Q)}else if(Q.role==="toolResult")j.add(Q.toolCallId),Y.push(Q);else if(Q.role==="user")y(),Y.push(Q);else Y.push(Q)}return y(),Y}
|
|
3
|
-
export{C as r,T as s,p as t,k as u};
|
package/bin/chunk-fy6ak60v.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{a as V}from"./chunk-wr1gq0mr.js";import{b as M,c as k}from"./chunk-xepkfmkj.js";import{d as b,e as H,f as E}from"./chunk-bwvq03ga.js";import"./chunk-7qwd1bfq.js";import{h as _}from"./chunk-xeg1gre0.js";import{i as f}from"./chunk-m0mp7pd2.js";import{p as C,q as N}from"./chunk-2t47accr.js";import{s as A}from"./chunk-epkgpyvw.js";import"./chunk-cpmyq7y4.js";import{w as U}from"./chunk-b35kbsh7.js";import"./chunk-nvze6c2k.js";import{oc as L}from"./chunk-d5rvr87v.js";import{pc as B}from"./chunk-ryyybwjr.js";import{Cc as q}from"./chunk-fvmb8en4.js";import"./chunk-r3r0643t.js";import"./chunk-22m0y0fs.js";var I=new Set(["openai","openai-codex","opencode"]),v=16;function $(j,D){if(!j)return!1;let w=D.toLowerCase();for(let[F,z]of Object.entries(j))if(F.toLowerCase()===w&&z!==null&&z.trim().length>0)return!0;return!1}function S(j,D,w){if(D)return D;if($(w,"authorization")||$(w,"cf-aig-authorization"))return"unused";throw Error(`No API key for provider: ${j}`)}function x(j){return j.provider==="openrouter"||j.baseUrl.includes("openrouter.ai")?"openrouter":"openai"}function O(j,D){if(j)return j;if(f("PI_CACHE_RETENTION",D)==="long")return"long";return"short"}function y(j){return{supportsDeveloperRole:j.compat?.supportsDeveloperRole??!0,sessionAffinityFormat:j.compat?.sessionAffinityFormat??x(j),supportsLongCacheRetention:j.compat?.supportsLongCacheRetention??!0,supportsToolSearch:j.compat?.supportsToolSearch??!1}}function h(j,D){return D==="long"&&j.supportsLongCacheRetention?"24h":void 0}function g(j){return N(C(j),"OpenAI API error")}var u=(j,D,w)=>{let F=new B;return(async()=>{let z={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 Q=S(j.provider,w?.apiKey,w?.headers),J=O(w?.cacheRetention,w?.env)==="none"?void 0:w?.sessionId,W=c(j,D,Q,w?.headers,J),X=r(j,D,w),Y=await w?.onPayload?.(X,j);if(Y!==void 0)X=Y;let K={...w?.signal?{signal:w.signal}:{},...w?.timeoutMs!==void 0?{timeout:w.timeoutMs}:{},maxRetries:w?.maxRetries??0},{data:P,response:Z}=await W.responses.create(X,K).withResponse();if(await w?.onResponse?.({status:Z.status,headers:U(Z.headers)},j),F.push({type:"start",partial:z}),await E(P,z,F,j,{serviceTier:w?.serviceTier,applyServiceTierPricing:(T,R)=>d(T,R,j)}),w?.signal?.aborted)throw Error("Request was aborted");if(z.stopReason==="aborted"||z.stopReason==="error")throw Error("An unknown error occurred");F.push({type:"done",reason:z.stopReason,message:z}),F.end()}catch(Q){for(let G of z.content)delete G.index,delete G.partialJson;z.stopReason=w?.signal?.aborted?"aborted":"error",z.errorMessage=g(Q),F.push({type:"error",reason:z.stopReason,error:z}),F.end()}})(),F},zj=(j,D,w)=>{S(j.provider,w?.apiKey,w?.headers);let F=A(j,D,w,w?.apiKey),z=w?.reasoning?L(j,w.reasoning):void 0;return u(j,D,{...F,reasoningEffort:z==="off"?void 0:z})};function c(j,D,w,F,z){let Q=y(j),G={...j.headers};if(j.provider==="github-copilot"){let J=M(D.messages),W=k({messages:D.messages,hasImages:J});Object.assign(G,W)}if(z)if(Q.sessionAffinityFormat==="openrouter")G["x-session-id"]=z;else{if(Q.sessionAffinityFormat==="openai")G.session_id=z;G["x-client-request-id"]=z}if(F)Object.assign(G,F);return new q({apiKey:w,baseURL:j.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:G})}function r(j,D,w){let F=y(j),z=V(D,F.supportsToolSearch),Q=b(j,D,I,{deferredTools:z.deferred}),G=O(w?.cacheRetention,w?.env),J={model:j.id,input:Q,stream:!0,prompt_cache_key:G==="none"?void 0:_(w?.sessionId),prompt_cache_retention:h(F,G),store:!1};if(w?.maxTokens)J.max_output_tokens=Math.max(w.maxTokens,v);if(w?.temperature!==void 0)J.temperature=w?.temperature;if(w?.serviceTier!==void 0)J.service_tier=w.serviceTier;if(z.immediate.length>0)J.tools=H(z.immediate);if(w?.toolChoice!==void 0)J.tool_choice=w.toolChoice;if(j.reasoning){if(w?.reasoningEffort||w?.reasoningSummary){let W=w?.reasoningEffort?j.thinkingLevelMap?.[w.reasoningEffort]??w.reasoningEffort:"medium";J.reasoning={effort:W,summary:w?.reasoningSummary||"auto"},J.include=["reasoning.encrypted_content"]}else if(j.provider!=="github-copilot"&&j.thinkingLevelMap?.off!==null)J.reasoning={effort:j.thinkingLevelMap?.off??"none"}}return J}function l(j,D){switch(D){case"flex":return 0.5;case"priority":return j.id==="gpt-5.5"?2.5:2;default:return 1}}function d(j,D,w){let F=l(w,D);if(F===1)return;j.cost.input*=F,j.cost.output*=F,j.cost.cacheRead*=F,j.cost.cacheWrite*=F,j.cost.total=j.cost.input+j.cost.output+j.cost.cacheRead+j.cost.cacheWrite}export{zj as streamSimple,u as stream};
|
package/bin/chunk-hf7g4s7z.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{a as $Q}from"./chunk-wr1gq0mr.js";import{d as c,e as XQ,f as l}from"./chunk-bwvq03ga.js";import"./chunk-7qwd1bfq.js";import{h as VQ}from"./chunk-xeg1gre0.js";import{i as g}from"./chunk-m0mp7pd2.js";import{p as GQ,q as FQ}from"./chunk-2t47accr.js";import{s as YQ}from"./chunk-epkgpyvw.js";import"./chunk-cpmyq7y4.js";import{w as u}from"./chunk-b35kbsh7.js";import{zb as NQ}from"./chunk-2gefycgt.js";import{Ab as x,Bb as JQ,Cb as zQ}from"./chunk-3nbbx6x7.js";import"./chunk-nvze6c2k.js";import{oc as ZQ}from"./chunk-d5rvr87v.js";import{pc as QQ}from"./chunk-ryyybwjr.js";import"./chunk-r3r0643t.js";import"./chunk-22m0y0fs.js";function i(Q){let $=Q.filter((G)=>G!==void 0);if($.length===0)return{cleanup:()=>{}};if($.length===1)return{signal:$[0],cleanup:()=>{}};let Z=new AbortController,Y=[],F=(G)=>{if(!Z.signal.aborted)Z.abort(G.reason)};for(let G of $){if(G.aborted){F(G);break}let V=()=>F(G);G.addEventListener("abort",V,{once:!0}),Y.push({signal:G,listener:V})}return{signal:Z.signal,cleanup:()=>{for(let{signal:G,listener:V}of Y)G.removeEventListener("abort",V)}}}var PQ={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function v(Q,$){let Z=Q.toLowerCase(),Y=Q.toUpperCase();return $?.[Z]||$?.[Y]||g(Z)||g(Y)||""}function AQ(Q){if(Q instanceof URL)return Q;try{return new URL(Q)}catch{return}}function UQ(Q,$,Z){let Y=v("no_proxy",Z).toLowerCase();if(!Y)return!0;if(Y==="*")return!1;return Y.split(/[,\s]/).every((F)=>{if(!F)return!0;let G=F.match(/^(.+):(\d+)$/),V=G?G[1]:F,j=G?Number.parseInt(G[2],10):0;if(j&&j!==$)return!0;if(!/^[.*]/.test(V))return Q!==V;if(V.startsWith("*"))V=V.slice(1);return!Q.endsWith(V)})}function wQ(Q,$){let Z=AQ(Q);if(!Z?.protocol||!Z.host)return"";let Y=Z.protocol.split(":",1)[0],F=Z.host.replace(/:\d*$/,""),G=Number.parseInt(Z.port,10)||PQ[Y]||0;if(!UQ(F,G,$))return"";let V=v(`${Y}_proxy`,$)||v("all_proxy",$);if(V&&!V.includes("://"))V=`${Y}://${V}`;return V}var CQ="Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL.";function a(Q,$){let Z=wQ(Q,$);if(!Z)return;let Y;try{Y=new URL(Z)}catch(F){throw Error(`Invalid proxy URL ${JSON.stringify(Z)}: ${F instanceof Error?F.message:String(F)}`)}if(Y.protocol!=="http:"&&Y.protocol!=="https:")throw Error(`${CQ} Got ${Y.protocol}`);return Y}function EQ(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:os")??null}var T=EQ(),fQ="https://chatgpt.com/backend-api",MQ="https://api.openai.com/auth",SQ=0,n=1000,TQ=60000,hQ=15000,IQ=3,jQ=new Set(["openai","openai-codex","opencode"]),xQ=1009,kQ="websocket_connection_limit_reached",bQ=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function gQ(Q){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(Q)}function vQ(Q,$){if(Q===429&&gQ($))return!1;if(Q===429||Q===500||Q===502||Q===503||Q===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test($)}function yQ(Q){let $=Q.get("retry-after-ms");if($!==null){let G=Number($);if(Number.isFinite(G))return Math.max(0,G)}let Z=Q.get("retry-after");if(!Z)return;let Y=Number(Z);if(Number.isFinite(Y))return Math.max(0,Y*1000);let F=Date.parse(Z);if(!Number.isNaN(F))return Math.max(0,F-Date.now());return}function mQ(Q,$){let Z=$?.maxRetryDelayMs??TQ;return Z>0?Math.min(Q,Z):Q}function r(Q,$){return new Promise((Z,Y)=>{if($?.aborted){Y(Error("Request was aborted"));return}let F=setTimeout(Z,Q);$?.addEventListener("abort",()=>{clearTimeout(F),Y(Error("Request was aborted"))})})}function t(Q){if(Q===void 0)return;if(!Number.isFinite(Q)||Q<0)throw Error(`Invalid timeoutMs: ${String(Q)}`);return Math.floor(Q)}function uQ(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:zlib")??null}function cQ(Q){let $=uQ();if(!$||typeof $.zstdCompressSync!=="function")return null;try{let Z=$.zstdCompressSync(Q,{params:{[$.constants.ZSTD_c_compressionLevel]:IQ}});return new Uint8Array(Z.buffer,Z.byteOffset,Z.byteLength)}catch{return null}}var lQ=(Q,$,Z)=>{let Y=new QQ;return(async()=>{let F={role:"assistant",content:[],api:"openai-codex-responses",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 G=Z?.apiKey;if(!G)throw Error(`No API key for provider: ${Q.provider}`);let V=qZ(G),j=pQ(Q,$,Z),N=await Z?.onPayload?.(j,Q);if(N!==void 0)j=N;let X=Z?.sessionId||_Z(),W=OZ(Q.headers,Z?.headers,V,G,Z?.sessionId),J=RZ(Q.headers,Z?.headers,V,G,X),_=JSON.stringify(j),z=t(Z?.timeoutMs),q=t(Z?.websocketConnectTimeoutMs),D=Z?.transport||"auto",B=D!=="sse"&&BQ(Z?.sessionId);if(B)s(Z?.sessionId);if(D!=="sse"&&!B){let O=!1,H=!1;while(!0){O=!1;try{if(await WZ(iQ(Q.baseUrl),j,J,F,Y,Q,()=>{O=!0},z,q,Z),Z?.signal?.aborted)throw Error("Request was aborted");Y.push({type:"done",reason:F.stopReason,message:F}),Y.end();return}catch(A){let C=Z?.signal?.aborted,S=!O&&rQ(A);if(!C&&S&&!H){H=!0;continue}if(C||nQ(A)&&!S)throw A;if(zQ(F,JQ("provider_transport_failure",A,{configuredTransport:D,fallbackTransport:O?void 0:"sse",eventsEmitted:O,phase:O?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(_).byteLength})),YZ(Z?.sessionId,A),O)throw A;s(Z?.sessionId);break}}}let R=cQ(_);if(R)W.set("content-encoding","zstd");let K=R??_,L,w,b=Z?.maxRetries??SQ;for(let O=0;O<=b;O++){if(Z?.signal?.aborted)throw Error("Request was aborted");try{let H=z!==void 0&&z>0?AbortSignal.timeout(z):void 0,A=i([Z?.signal,H]);try{L=await fetch(DQ(Q.baseUrl),{method:"POST",headers:W,body:K,signal:A.signal})}catch(E){if(H?.aborted&&!Z?.signal?.aborted)throw Error(`Codex SSE response headers timed out after ${z}ms`);throw E}finally{A.cleanup()}if(await Z?.onResponse?.({status:L.status,headers:u(L.headers)},Q),L.ok)break;let C=await L.text();if(O<b&&vQ(L.status,C)){let E=yQ(L.headers),HQ=E===void 0?n*2**O:L.status===429?mQ(E,Z):E;await r(HQ,Z?.signal);continue}let S=new Response(C,{status:L.status,statusText:L.statusText}),d=await BZ(S);throw Error(d.friendlyMessage||d.message)}catch(H){if(H instanceof Error){if(H.name==="AbortError"||H.message==="Request was aborted")throw Error("Request was aborted")}if(w=H instanceof Error?H:Error(String(H)),O<b&&!w.message.includes("usage limit")){let A=n*2**O;await r(A,Z?.signal);continue}throw w}}if(!L?.ok)throw w??Error("Failed after retries");if(!L.body)throw Error("No response body");if(Y.push({type:"start",partial:F}),await aQ(L,F,Y,Q,Z),Z?.signal?.aborted)throw Error("Request was aborted");Y.push({type:"done",reason:F.stopReason,message:F}),Y.end()}catch(G){for(let V of F.content)delete V.partialJson;F.stopReason=Z?.signal?.aborted?"aborted":"error",F.errorMessage=FQ(GQ(G)),Y.push({type:"error",reason:F.stopReason,error:F}),Y.end()}})(),Y},bZ=(Q,$,Z)=>{let Y=Z?.apiKey;if(!Y)throw Error(`No API key for provider: ${Q.provider}`);let F=YQ(Q,$,Z,Y),G=Z?.reasoning?ZQ(Q,Z.reasoning):void 0;return lQ(Q,$,{...F,reasoningEffort:G==="off"?void 0:G})};function pQ(Q,$,Z){let Y=$Q($,Q.compat?.supportsToolSearch??!1),F=c(Q,$,jQ,{includeSystemPrompt:!1,deferredTools:Y.deferred}),G={model:Q.id,store:!1,stream:!0,instructions:$.systemPrompt||"You are a helpful assistant.",input:F,text:{verbosity:Z?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:VQ(Z?.sessionId),tool_choice:Z?.toolChoice??"auto",parallel_tool_calls:!0};if(Z?.temperature!==void 0)G.temperature=Z.temperature;if(Z?.serviceTier!==void 0)G.service_tier=Z.serviceTier;if(Y.immediate.length>0)G.tools=XQ(Y.immediate,{strict:null});if(Z?.reasoningEffort!==void 0){let V=Z.reasoningEffort==="none"?Q.thinkingLevelMap?.off??"none":Q.thinkingLevelMap?.[Z.reasoningEffort]??Z.reasoningEffort;if(V!==null)G.reasoning={effort:V,summary:Z.reasoningSummary??"auto"}}return G}function dQ(Q,$){switch($){case"flex":return 0.5;case"priority":return Q.id==="gpt-5.5"?2.5:2;default:return 1}}function KQ(Q,$,Z){let Y=dQ(Z,$);if(Y===1)return;Q.cost.input*=Y,Q.cost.output*=Y,Q.cost.cacheRead*=Y,Q.cost.cacheWrite*=Y,Q.cost.total=Q.cost.input+Q.cost.output+Q.cost.cacheRead+Q.cost.cacheWrite}function LQ(Q,$){if(Q==="default"&&($==="flex"||$==="priority"))return $;return Q??$}function DQ(Q){let Z=(Q&&Q.trim().length>0?Q:fQ).replace(/\/+$/,"");if(Z.endsWith("/codex/responses"))return Z;if(Z.endsWith("/codex"))return`${Z}/responses`;return`${Z}/codex/responses`}function iQ(Q){let $=new URL(DQ(Q));if($.protocol==="https:")$.protocol="wss:";if($.protocol==="http:")$.protocol="ws:";return $.toString()}async function aQ(Q,$,Z,Y,F){await l(WQ(oQ(Q,F?.signal)),$,Z,Y,{serviceTier:F?.serviceTier,resolveServiceTier:LQ,applyServiceTierPricing:(G,V)=>KQ(G,V,Y)})}class f extends Error{code;payload;constructor(Q,$){super(Q);this.name="CodexApiError",this.code=$?.code,this.payload=$?.payload,this.cause=$?.cause}}class k extends Error{payload;constructor(Q,$){super(Q);this.name="CodexProtocolError",this.payload=$?.payload,this.cause=$?.cause}}function nQ(Q){return Q instanceof f||Q instanceof k}function rQ(Q){return Q instanceof f&&Q.code===kQ}function tQ(Q){let $=Q.error&&typeof Q.error==="object"?Q.error:void 0;return{code:typeof Q.code==="string"?Q.code:typeof $?.code==="string"?$.code:void 0,message:typeof Q.message==="string"?Q.message:typeof $?.message==="string"?$.message:void 0}}async function*WQ(Q){for await(let $ of Q){let Z=typeof $.type==="string"?$.type:void 0;if(!Z)continue;if(Z==="error"){let{code:Y,message:F}=tQ($);throw new f(`Codex error: ${F||Y||JSON.stringify($)}`,{code:Y,payload:$})}if(Z==="response.failed"){let Y=$.response,F=Y?.error?.code,G=Y?.error?.message;throw new f(G||"Codex response failed",{code:F,payload:$})}if(Z==="response.done"||Z==="response.completed"||Z==="response.incomplete"){let Y=$.response,F=Y?{...Y,status:sQ(Y.status)}:Y;yield{...$,type:"response.completed",response:F};return}yield $}}function sQ(Q){if(typeof Q!=="string")return;return bQ.has(Q)?Q:void 0}async function*oQ(Q,$){if(!Q.body)return;let Z=Q.body.getReader(),Y=new TextDecoder,F="",G=()=>{Z.cancel().catch(()=>{})};$?.addEventListener("abort",G,{once:!0});try{while(!0){if($?.aborted)throw Error("Request was aborted");let{done:V,value:j}=await Z.read();if($?.aborted)throw Error("Request was aborted");if(V)break;F+=Y.decode(j,{stream:!0});let N=F.indexOf(`
|
|
3
|
-
|
|
4
|
-
`);while(N!==-1){let X=F.slice(0,N);F=F.slice(N+2);let W=X.split(`
|
|
5
|
-
`).filter((J)=>J.startsWith("data:")).map((J)=>J.slice(5).trim());if(W.length>0){let J=W.join(`
|
|
6
|
-
`).trim();if(J&&J!=="[DONE]")try{yield JSON.parse(J)}catch(_){throw new k(`Invalid Codex SSE JSON: ${x(_)}`,{cause:_,payload:J})}}N=F.indexOf(`
|
|
7
|
-
|
|
8
|
-
`)}}}finally{$?.removeEventListener("abort",G);try{await Z.cancel()}catch{}try{Z.releaseLock()}catch{}}}var eQ="responses_websockets=2026-02-06",QZ=300000,ZZ=3300000,P=new Map,M=new Map,I=new Set;function p(Q){let $=M.get(Q);if(!$)$={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},M.set(Q,$);return $}function gZ(Q){let $=M.get(Q);return $?{...$}:void 0}function vZ(Q){if(Q){M.delete(Q),I.delete(Q);return}M.clear(),I.clear()}function $Z(Q){let $=(Z)=>{if(Z.idleTimer)clearTimeout(Z.idleTimer);U(Z.socket,1000,"debug_close")};if(Q){let Z=P.get(Q);if(Z)$(Z);P.delete(Q);return}for(let Z of P.values())$(Z);P.clear()}NQ($Z);function BQ(Q){return Q?I.has(Q):!1}function s(Q){if(!Q)return;let $=p(Q);$.sseFallbacks++,$.websocketFallbackActive=BQ(Q)}function YZ(Q,$){if(!Q)return;I.add(Q);let Z=p(Q);Z.websocketFailures++,Z.lastWebSocketError=x($),Z.websocketFallbackActive=!0}var y=null;async function GZ(Q){if(!Q&&y)return y;if(typeof process<"u"&&process.versions?.bun){let Z=class extends WebSocket{constructor(Y,F){let G={};if(Array.isArray(F)||typeof F==="string")G={protocols:F};else G={...F};let V=a(Y.toString().replace(/^wss:/,"https:").replace(/^ws:/,"http:"),Q);super(Y,{...G,...V?{proxy:V.toString()}:{}})}};if(!Q)y=Z;return Z}let $=globalThis.WebSocket;if(typeof $!=="function")return null;return $}class qQ extends Error{code;reason;wasClean;constructor(Q,$){super(Q);this.name="WebSocketCloseError",this.code=$?.code,this.reason=$?.reason,this.wasClean=$?.wasClean}}function FZ(Q){let $=Q.readyState;return typeof $==="number"?$:void 0}function h(Q){let $=FZ(Q);return $===void 0||$===1}function VZ(Q){return Date.now()-Q.createdAt>=ZZ}function U(Q,$=1000,Z="done"){try{Q.close($,Z)}catch{}}function o(Q,$){if($.idleTimer)clearTimeout($.idleTimer);$.idleTimer=setTimeout(()=>{if($.busy)return;U($.socket,1000,"idle_timeout"),P.delete(Q)},QZ)}async function m(Q,$,Z,Y=hQ,F){let G=await GZ(F);if(!G)throw Error("WebSocket transport is not available in this runtime");let V=u($);return delete V["OpenAI-Beta"],new Promise((j,N)=>{let X=!1,W,J;try{J=new G(Q,{headers:V})}catch(K){N(K instanceof Error?K:Error(String(K)));return}let _=()=>{if(W)clearTimeout(W),W=void 0;J.removeEventListener("open",q),J.removeEventListener("error",D),J.removeEventListener("close",B),Z?.removeEventListener("abort",R)},z=(K,L)=>{if(X)return;if(X=!0,_(),L)U(J,1000,L);N(K)},q=()=>{if(X)return;X=!0,_(),j(J)},D=(K)=>{z(_Q(K))},B=(K)=>{z(OQ(K))},R=()=>{z(Error("Request was aborted"),"aborted")};if(J.addEventListener("open",q),J.addEventListener("error",D),J.addEventListener("close",B),Z?.addEventListener("abort",R),Y>0)W=setTimeout(()=>{z(Error(`WebSocket connect timeout after ${Y}ms`),"connect_timeout")},Y);if(Z?.aborted)R()})}async function XZ(Q,$,Z,Y,F,G){if(!Z){let X=await m(Q,$,Y,F,G);return{socket:X,reused:!1,release:()=>U(X)}}let V=P.get(Z);if(V){if(V.idleTimer)clearTimeout(V.idleTimer),V.idleTimer=void 0;if(!V.busy&&VZ(V))U(V.socket,1000,"connection_age_limit"),P.delete(Z);else if(!V.busy&&h(V.socket))return V.busy=!0,{socket:V.socket,entry:V,reused:!0,release:({keep:X}={})=>{if(!X||!h(V.socket)){U(V.socket),P.delete(Z);return}V.busy=!1,o(Z,V)}};if(V.busy){let X=await m(Q,$,Y,F,G);return{socket:X,reused:!1,release:()=>{U(X)}}}if(!h(V.socket))U(V.socket),P.delete(Z)}let j=await m(Q,$,Y,F,G),N={socket:j,busy:!0,createdAt:Date.now()};return P.set(Z,N),{socket:j,entry:N,reused:!1,release:({keep:X}={})=>{if(!X||!h(N.socket)){if(U(N.socket),N.idleTimer)clearTimeout(N.idleTimer);if(P.get(Z)===N)P.delete(Z);return}N.busy=!1,o(Z,N)}}}function _Q(Q){if(Q&&typeof Q==="object"){let $="message"in Q?Q.message:void 0;if(typeof $==="string"&&$.length>0)return Error($);let Z="error"in Q?Q.error:void 0;if(Z instanceof Error&&Z.message.length>0)return Z;if(Z&&typeof Z==="object"&&"message"in Z){let Y=Z.message;if(typeof Y==="string"&&Y.length>0)return Error(Y)}}return Error("WebSocket error")}function OQ(Q){if(Q&&typeof Q==="object"){let $="code"in Q?Q.code:void 0,Z="reason"in Q?Q.reason:void 0,Y="wasClean"in Q?Q.wasClean:void 0,F=typeof $==="number"?` ${$}`:"",G=typeof Z==="string"&&Z.length>0?` ${Z}`:"";if(!G&&$===xQ)G=" message too big";return new qQ(`WebSocket closed${F}${G}`.trim(),{code:typeof $==="number"?$:void 0,reason:typeof Z==="string"&&Z.length>0?Z:void 0,wasClean:typeof Y==="boolean"?Y:void 0})}return Error("WebSocket closed")}async function NZ(Q){if(typeof Q==="string")return Q;if(Q instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(Q));if(ArrayBuffer.isView(Q)){let $=Q;return new TextDecoder().decode(new Uint8Array($.buffer,$.byteOffset,$.byteLength))}if(Q&&typeof Q==="object"&&"arrayBuffer"in Q){let Z=await Q.arrayBuffer();return new TextDecoder().decode(new Uint8Array(Z))}return null}async function*JZ(Q,$,Z){let Y=[],F=null,G=!1,V=null,j=!1,N=()=>{if(!F)return;let z=F;F=null,z()},X=(z)=>{(async()=>{let q=null;try{if(!z||typeof z!=="object"||!("data"in z))return;if(q=await NZ(z.data),!q)return;let D=JSON.parse(q),B=typeof D.type==="string"?D.type:"";if(B==="response.completed"||B==="response.done"||B==="response.incomplete")j=!0,G=!0;Y.push(D),N()}catch(D){V=new k(`Invalid Codex WebSocket JSON: ${x(D)}`,{cause:D,payload:q}),G=!0,N()}})()},W=(z)=>{V=_Q(z),G=!0,N()},J=(z)=>{if(j){G=!0,N();return}if(!V)V=OQ(z);G=!0,N()},_=()=>{V=Error("Request was aborted"),G=!0,N()};Q.addEventListener("message",X),Q.addEventListener("error",W),Q.addEventListener("close",J),$?.addEventListener("abort",_);try{while(!0){if($?.aborted)throw Error("Request was aborted");if(Y.length>0){yield Y.shift();continue}if(G)break;let z;await new Promise((q,D)=>{if(F=q,Z!==void 0&&Z>0)z=setTimeout(()=>{let B=Error(`WebSocket idle timeout after ${Z}ms`);V=B,G=!0,F=null,U(Q,1000,"idle_timeout"),D(B)},Z)}).finally(()=>{if(z)clearTimeout(z)})}if(V)throw V;if(!j)throw Error("WebSocket stream closed before response.completed")}finally{Q.removeEventListener("message",X),Q.removeEventListener("error",W),Q.removeEventListener("close",J),$?.removeEventListener("abort",_)}}function e(Q){let{input:$,previous_response_id:Z,...Y}=Q;return Y}function zZ(Q,$){return JSON.stringify(Q??[])===JSON.stringify($??[])}function jZ(Q,$){return JSON.stringify(e(Q))===JSON.stringify(e($))}function KZ(Q,$){if(!jZ(Q,$.lastRequestBody))return;let Z=Q.input??[],Y=[...$.lastRequestBody.input??[],...$.lastResponseItems];if(Z.length<Y.length)return;let F=Z.slice(0,Y.length);if(!zZ(F,Y))return;return Z.slice(Y.length)}function LZ(Q,$){let Z=Q.continuation;if(!Z)return $;let Y=KZ($,Z);if(!Y||!Z.lastResponseId)return Q.continuation=void 0,$;return{...$,previous_response_id:Z.lastResponseId,input:Y}}async function*DZ(Q,$,Z,Y){let F=!1;for await(let G of Q){if(!F)F=!0,Y(),Z.push({type:"start",partial:$});yield G}}async function WZ(Q,$,Z,Y,F,G,V,j,N,X){let{socket:W,entry:J,reused:_,release:z}=await XZ(Q,Z,X?.sessionId,X?.signal,N,X?.env),q=!0,D=X?.transport==="websocket-cached"||X?.transport==="auto",B=$,R=D&&J?LZ(J,B):B,K=X?.sessionId?p(X.sessionId):void 0;if(K){if(K.requests++,_)K.connectionsReused++;else K.connectionsCreated++;if(D)K.cachedContextRequests++;if(R.store===!0)K.storeTrueRequests++;if(K.lastInputItems=R.input?.length??0,R.previous_response_id)K.deltaRequests++,K.lastDeltaInputItems=R.input?.length??0,K.lastPreviousResponseId=R.previous_response_id;else K.fullContextRequests++,K.lastDeltaInputItems=void 0,K.lastPreviousResponseId=void 0}try{if(W.send(JSON.stringify({type:"response.create",...R})),await l(DZ(WQ(JZ(W,X?.signal,j)),Y,F,V),Y,F,G,{serviceTier:X?.serviceTier,resolveServiceTier:LQ,applyServiceTierPricing:(L,w)=>KQ(L,w,G)}),X?.signal?.aborted)q=!1;else if(D&&J&&Y.responseId){let L=c(G,{messages:[Y]},jQ,{includeSystemPrompt:!1}).filter((w)=>w.type!=="function_call_output");J.continuation={lastRequestBody:B,lastResponseId:Y.responseId,lastResponseItems:L}}}catch(L){if(J)J.continuation=void 0;throw q=!1,L}finally{z({keep:q})}}async function BZ(Q){let $=await Q.text(),Z=$||Q.statusText||"Request failed",Y;try{let G=JSON.parse($)?.error;if(G){let V=G.code||G.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(V)||Q.status===429){let j=G.plan_type?` (${G.plan_type.toLowerCase()} plan)`:"",N=G.resets_at?Math.max(0,Math.round((G.resets_at*1000-Date.now())/60000)):void 0,X=N!==void 0?` Try again in ~${N} min.`:"";Y=`You have hit your ChatGPT usage limit${j}.${X}`.trim()}Z=G.message||Y||Z}}catch{}return{message:Z,friendlyMessage:Y}}function qZ(Q){try{let $=Q.split(".");if($.length!==3)throw Error("Invalid token");let Y=JSON.parse(atob($[1]))?.[MQ]?.chatgpt_account_id;if(!Y)throw Error("No account ID in token");return Y}catch{throw Error("Failed to extract accountId from token")}}function _Z(){if(typeof globalThis.crypto?.randomUUID==="function")return globalThis.crypto.randomUUID();return`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function RQ(Q,$,Z,Y){let F=new Headers(Q);for(let[V,j]of Object.entries($||{}))if(j===null)F.delete(V);else F.set(V,j);F.set("Authorization",`Bearer ${Y}`),F.set("chatgpt-account-id",Z),F.set("originator","pi");let G=T?`pi (${T.platform()} ${T.release()}; ${T.arch()})`:"pi (browser)";return F.set("User-Agent",G),F}function OZ(Q,$,Z,Y,F){let G=RQ(Q,$,Z,Y);if(G.set("OpenAI-Beta","responses=experimental"),G.set("accept","text/event-stream"),G.set("content-type","application/json"),F)G.set("session-id",F),G.set("x-client-request-id",F);return G}function RZ(Q,$,Z,Y,F){let G=RQ(Q,$,Z,Y);return G.delete("accept"),G.delete("content-type"),G.delete("OpenAI-Beta"),G.delete("openai-beta"),G.set("OpenAI-Beta",eQ),G.set("x-client-request-id",F),G.set("session-id",F),G}export{bZ as streamSimple,lQ as stream,vZ as resetOpenAICodexWebSocketDebugStats,gZ as getOpenAICodexWebSocketDebugStats,$Z as closeOpenAICodexWebSocketSessions};
|
package/bin/chunk-hrckvejt.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{a as S}from"./chunk-wr1gq0mr.js";import{b as h,c as x}from"./chunk-xepkfmkj.js";import{i as T}from"./chunk-m0mp7pd2.js";import{r as g,s as v,t as b,u as k}from"./chunk-epkgpyvw.js";import{v as E}from"./chunk-cpmyq7y4.js";import{w as C}from"./chunk-b35kbsh7.js";import{ic as f,jc as y}from"./chunk-nvze6c2k.js";import{nc as O}from"./chunk-d5rvr87v.js";import{pc as I}from"./chunk-ryyybwjr.js";import{xc as L}from"./chunk-85swzdas.js";import"./chunk-r3r0643t.js";import"./chunk-22m0y0fs.js";function u(Q,_){if(Q)return Q;if(T("PI_CACHE_RETENTION",_)==="long")return"long";return"short"}function m(Q,_,Z){let $=u(_,Z);if($==="none")return{retention:$};let X=$==="long"&&K(Q).supportsLongCacheRetention?"1h":void 0;return{retention:$,cacheControl:{type:"ephemeral",...X&&{ttl:X}}}}var r="2.1.75",i=["Read","Write","Edit","Bash","Grep","Glob","AskUserQuestion","EnterPlanMode","ExitPlanMode","KillShell","NotebookEdit","Skill","Task","TaskOutput","TodoWrite","WebFetch","WebSearch"],l=new Map(i.map((Q)=>[Q.toLowerCase(),Q])),H=(Q)=>l.get(Q.toLowerCase())??Q,a=(Q,_)=>{if(_&&_.length>0){let Z=Q.toLowerCase(),$=_.find((X)=>X.name.toLowerCase()===Z);if($)return $.name}return Q};function n(Q){if(!Q.some((X)=>X.type==="image"))return E(Q.map((X)=>X.text).join(`
|
|
3
|
-
`));let Z=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(!Z.some((X)=>X.type==="text"))Z.unshift({type:"text",text:"(see attached image)"});return Z}var s="fine-grained-tool-streaming-2025-05-14",t="interleaved-thinking-2025-05-14";function K(Q){return{supportsEagerToolInputStreaming:Q.compat?.supportsEagerToolInputStreaming??!0,supportsLongCacheRetention:Q.compat?.supportsLongCacheRetention??!0,sendSessionAffinityHeaders:Q.compat?.sendSessionAffinityHeaders??!1,supportsCacheControlOnTools:Q.compat?.supportsCacheControlOnTools??!0,supportsTemperature:Q.compat?.supportsTemperature??!0,allowEmptySignature:Q.compat?.allowEmptySignature??!1,supportsToolReferences:Q.compat?.supportsToolReferences??o(Q)}}function o(Q){if(Q.provider!=="anthropic"||Q.id.includes("haiku"))return!1;let _=Q.id.match(/^claude-(?:opus|sonnet|fable)-(\d+)(?:-(\d+))?(?:-|$)/);if(!_)return!1;let Z=Number(_[1]),$=_[2]&&_[2].length<8?Number(_[2]):0;return Z>4||Z===4&&$>=5}function B(...Q){let _={};for(let Z of Q)if(Z)Object.assign(_,Z);return _}function z(Q,_){if(!Q)return!1;let Z=_.toLowerCase();for(let[$,X]of Object.entries(Q))if($.toLowerCase()===Z&&X!==null&&X.trim().length>0)return!0;return!1}function c(Q,_,Z){if(_)return;if(z(Z,"authorization")||z(Z,"x-api-key")||z(Z,"cf-aig-authorization"))return;throw Error(`No API key for provider: ${Q}`)}var e=new Set(["message_start","message_delta","message_stop","content_block_start","content_block_delta","content_block_stop"]);function p(Q){if(!Q.event&&Q.data.length===0)return null;let _={event:Q.event,data:Q.data.join(`
|
|
4
|
-
`),raw:[...Q.raw]};return Q.event=null,Q.data=[],Q.raw=[],_}function R(Q,_){if(Q==="")return p(_);if(_.raw.push(Q),Q.startsWith(":"))return null;let Z=Q.indexOf(":"),$=Z===-1?Q:Q.slice(0,Z),X=Z===-1?"":Q.slice(Z+1);if(X.startsWith(" "))X=X.slice(1);if($==="event")_.event=X;else if($==="data")_.data.push(X);return null}function QQ(Q){let _=Q.indexOf("\r"),Z=Q.indexOf(`
|
|
5
|
-
`);if(_===-1)return Z;if(Z===-1)return _;return Math.min(_,Z)}function F(Q){let _=QQ(Q);if(_===-1)return null;let Z=_+1;if(Q[_]==="\r"&&Q[Z]===`
|
|
6
|
-
`)Z+=1;return{line:Q.slice(0,_),rest:Q.slice(Z)}}async function*XQ(Q,_){let Z=Q.getReader(),$=new TextDecoder,X={event:null,data:[],raw:[]},U="";try{while(!0){if(_?.aborted)throw Error("Request was aborted");let{value:q,done:P}=await Z.read();if(P)break;U+=$.decode(q,{stream:!0});let D=F(U);while(D){U=D.rest;let G=R(D.line,X);if(G)yield G;D=F(U)}}U+=$.decode();let V=F(U);while(V){U=V.rest;let q=R(V.line,X);if(q)yield q;V=F(U)}if(U.length>0){let q=R(U,X);if(q)yield q}let j=p(X);if(j)yield j}finally{Z.releaseLock()}}async function*YQ(Q,_){if(!Q.body)throw Error("Attempted to iterate over an Anthropic response with no body");let Z=!1,$=!1;for await(let X of XQ(Q.body,_)){if(X.event==="error")throw Error(X.data);if(!e.has(X.event??""))continue;try{let U=f(X.data);if(U.type==="message_start")Z=!0;else if(U.type==="message_stop")$=!0;yield U}catch(U){let V=U instanceof Error?U.message:String(U);throw Error(`Could not parse Anthropic SSE event ${X.event}: ${V}; data=${X.data}; raw=${X.raw.join("\\n")}`)}}if(Z&&!$)throw Error("Anthropic stream ended before message_stop")}var N=(Q,_,Z)=>{let $=new I;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 U,V;if(Z?.client)U=Z.client,V=!1;else{let Y=Z?.apiKey;c(Q.provider,Y,Z?.headers);let W;if(Q.provider==="github-copilot"){let d=h(_.messages);W=x({messages:_.messages,hasImages:d})}let w=u(Z?.cacheRetention,Z?.env)==="none"?void 0:Z?.sessionId,M=$Q(Q,Y,Z?.interleavedThinking??!0,GQ(Q,_),Z?.headers,W,w);U=M.client,V=M.isOAuthToken}let j=UQ(Q,_,V,Z),q=await Z?.onPayload?.(j,Q);if(q!==void 0)j=q;let P={...Z?.signal?{signal:Z.signal}:{},...Z?.timeoutMs!==void 0?{timeout:Z.timeoutMs}:{},maxRetries:Z?.maxRetries??0},D=await U.messages.create({...j,stream:!0},P).asResponse();await Z?.onResponse?.({status:D.status,headers:C(D.headers)},Q),$.push({type:"start",partial:X});let G=X.content;for await(let Y of YQ(D,Z?.signal))if(Y.type==="message_start")X.responseId=Y.message.id,X.usage.input=Y.message.usage.input_tokens||0,X.usage.output=Y.message.usage.output_tokens||0,X.usage.cacheRead=Y.message.usage.cache_read_input_tokens||0,X.usage.cacheWrite=Y.message.usage.cache_creation_input_tokens||0,X.usage.cacheWrite1h=Y.message.usage.cache_creation?.ephemeral_1h_input_tokens||0,X.usage.totalTokens=X.usage.input+X.usage.output+X.usage.cacheRead+X.usage.cacheWrite,O(Q,X.usage);else if(Y.type==="content_block_start"){if(Y.content_block.type==="text"){let W={type:"text",text:"",index:Y.index};X.content.push(W),$.push({type:"text_start",contentIndex:X.content.length-1,partial:X})}else if(Y.content_block.type==="thinking"){let W={type:"thinking",thinking:"",thinkingSignature:"",index:Y.index};X.content.push(W),$.push({type:"thinking_start",contentIndex:X.content.length-1,partial:X})}else if(Y.content_block.type==="redacted_thinking"){let W={type:"thinking",thinking:"[Reasoning redacted]",thinkingSignature:Y.content_block.data,redacted:!0,index:Y.index};X.content.push(W),$.push({type:"thinking_start",contentIndex:X.content.length-1,partial:X})}else if(Y.content_block.type==="tool_use"){let W={type:"toolCall",id:Y.content_block.id,name:V?a(Y.content_block.name,_.tools):Y.content_block.name,arguments:Y.content_block.input??{},partialJson:"",index:Y.index};X.content.push(W),$.push({type:"toolcall_start",contentIndex:X.content.length-1,partial:X})}}else if(Y.type==="content_block_delta"){if(Y.delta.type==="text_delta"){let W=G.findIndex((w)=>w.index===Y.index),J=G[W];if(J&&J.type==="text")J.text+=Y.delta.text,$.push({type:"text_delta",contentIndex:W,delta:Y.delta.text,partial:X})}else if(Y.delta.type==="thinking_delta"){let W=G.findIndex((w)=>w.index===Y.index),J=G[W];if(J&&J.type==="thinking")J.thinking+=Y.delta.thinking,$.push({type:"thinking_delta",contentIndex:W,delta:Y.delta.thinking,partial:X})}else if(Y.delta.type==="input_json_delta"){let W=G.findIndex((w)=>w.index===Y.index),J=G[W];if(J&&J.type==="toolCall")J.partialJson+=Y.delta.partial_json,J.arguments=y(J.partialJson),$.push({type:"toolcall_delta",contentIndex:W,delta:Y.delta.partial_json,partial:X})}else if(Y.delta.type==="signature_delta"){let W=G.findIndex((w)=>w.index===Y.index),J=G[W];if(J&&J.type==="thinking")J.thinkingSignature=J.thinkingSignature||"",J.thinkingSignature+=Y.delta.signature}}else if(Y.type==="content_block_stop"){let W=G.findIndex((w)=>w.index===Y.index),J=G[W];if(J){if(delete J.index,J.type==="text")$.push({type:"text_end",contentIndex:W,content:J.text,partial:X});else if(J.type==="thinking")$.push({type:"thinking_end",contentIndex:W,content:J.thinking,partial:X});else if(J.type==="toolCall")J.arguments=y(J.partialJson),delete J.partialJson,$.push({type:"toolcall_end",contentIndex:W,toolCall:J,partial:X})}}else if(Y.type==="message_delta"){if(Y.delta.stop_reason){let W=JQ(Y.delta.stop_reason,Y.delta.stop_details);if(X.stopReason=W.stopReason,W.errorMessage)X.errorMessage=W.errorMessage}if(Y.usage){if(Y.usage.input_tokens!=null)X.usage.input=Y.usage.input_tokens;if(Y.usage.output_tokens!=null)X.usage.output=Y.usage.output_tokens;if(Y.usage.cache_read_input_tokens!=null)X.usage.cacheRead=Y.usage.cache_read_input_tokens;if(Y.usage.cache_creation_input_tokens!=null)X.usage.cacheWrite=Y.usage.cache_creation_input_tokens;let W=Y.usage.output_tokens_details?.thinking_tokens;if(W!=null)X.usage.reasoning=W}X.usage.totalTokens=X.usage.input+X.usage.output+X.usage.cacheRead+X.usage.cacheWrite,O(Q,X.usage)}if(Z?.signal?.aborted)throw Error("Request was aborted");if(X.stopReason==="aborted"||X.stopReason==="error")throw Error(X.errorMessage||"An unknown error occurred");$.push({type:"done",reason:X.stopReason,message:X}),$.end()}catch(U){for(let V of X.content)delete V.index,delete V.partialJson;X.stopReason=Z?.signal?.aborted?"aborted":"error",X.errorMessage=U instanceof Error?U.message:JSON.stringify(U),$.push({type:"error",reason:X.stopReason,error:X}),$.end()}})(),$};function ZQ(Q,_){let Z=_?Q.thinkingLevelMap?.[_]:void 0;if(typeof Z==="string")return Z;switch(_){case"minimal":case"low":return"low";case"medium":return"medium";case"high":return"high";default:return"high"}}var RQ=(Q,_,Z)=>{c(Q.provider,Z?.apiKey,Z?.headers);let $=v(Q,_,Z,Z?.apiKey);if(!Z?.reasoning)return N(Q,_,{...$,thinkingEnabled:!1});if(Q.compat?.forceAdaptiveThinking===!0){let V=ZQ(Q,Z.reasoning);return N(Q,_,{...$,thinkingEnabled:!0,effort:V})}let X=b($.maxTokens,Q.maxTokens,Z.reasoning,Z.thinkingBudgets),U=g(Q,_,X.maxTokens);return N(Q,_,{...$,maxTokens:U,thinkingEnabled:!0,thinkingBudgetTokens:Math.min(X.thinkingBudget,Math.max(0,U-1024))})};function _Q(Q){return Q.includes("sk-ant-oat")}function $Q(Q,_,Z,$,X,U,V){let j=Z&&Q.compat?.forceAdaptiveThinking!==!0,q=[];if($)q.push(s);if(j)q.push(t);if(Q.provider==="github-copilot")return{client:new L({apiKey:null,authToken:_??null,baseURL:Q.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:B({accept:"application/json","anthropic-dangerous-direct-browser-access":"true",...q.length>0?{"anthropic-beta":q.join(",")}:{}},Q.headers,U,X)}),isOAuthToken:!1};if(_&&_Q(_))return{client:new L({apiKey:null,authToken:_,baseURL:Q.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:B({accept:"application/json","anthropic-dangerous-direct-browser-access":"true","anthropic-beta":["claude-code-20250219","oauth-2025-04-20",...q].join(","),"user-agent":`claude-cli/${r}`,"x-app":"cli"},Q.headers,X)}),isOAuthToken:!0};let P=V&&K(Q).sendSessionAffinityHeaders?{"x-session-affinity":V}:{},D=B({accept:"application/json","anthropic-dangerous-direct-browser-access":"true",...q.length>0?{"anthropic-beta":q.join(",")}:{}},P,Q.headers,X);return{client:new L({apiKey:_??null,authToken:null,baseURL:Q.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:D}),isOAuthToken:!1}}function UQ(Q,_,Z,$){let{cacheControl:X}=m(Q,$?.cacheRetention,$?.env),U=K(Q),V=k(_.messages,Q,WQ),j=Z?H:(W)=>W,q=S({..._,messages:V},U.supportsToolReferences,j),P=q.immediate,D=[...q.deferred.values()];if(P.length===0&&D.length>0)P=D,D=[];let G=new Set(D.map((W)=>j(W.name))),Y={model:Q.id,messages:qQ(V,Z,X,U.allowEmptySignature,G,j),max_tokens:$?.maxTokens??Q.maxTokens,stream:!0};if(Z){if(Y.system=[{type:"text",text:"You are Claude Code, Anthropic's official CLI for Claude.",...X?{cache_control:X}:{}}],_.systemPrompt)Y.system.push({type:"text",text:E(_.systemPrompt),...X?{cache_control:X}:{}})}else if(_.systemPrompt)Y.system=[{type:"text",text:E(_.systemPrompt),...X?{cache_control:X}:{}}];if($?.temperature!==void 0&&!$?.thinkingEnabled&&U.supportsTemperature)Y.temperature=$.temperature;if(P.length>0||D.length>0)Y.tools=[...A(P,Z,U.supportsEagerToolInputStreaming,U.supportsCacheControlOnTools?X:void 0),...A(D,Z,U.supportsEagerToolInputStreaming,void 0,!0)];if(Q.reasoning){if($?.thinkingEnabled){let W=$.thinkingDisplay??"summarized";if(Q.compat?.forceAdaptiveThinking===!0){if(Y.thinking={type:"adaptive",display:W},$.effort)Y.output_config=$.effort==="xhigh"?{effort:$.effort}:{effort:$.effort}}else Y.thinking={type:"enabled",budget_tokens:$.thinkingBudgetTokens||1024,display:W}}else if($?.thinkingEnabled===!1&&Q.thinkingLevelMap?.off!==null)Y.thinking={type:"disabled"}}if($?.metadata){let W=$.metadata.user_id;if(typeof W==="string")Y.metadata={user_id:W}}if($?.toolChoice)if(typeof $.toolChoice==="string")Y.tool_choice={type:$.toolChoice};else Y.tool_choice=$.toolChoice;return Y}function WQ(Q){return Q.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64)}function VQ(Q,_,Z,$,X){let U=[];for(let j of Q.addedToolNames??[]){let q=X(j);if(!Z.has(q)||$.has(q))continue;$.add(q),U.push({type:"tool_reference",tool_name:_?H(j):j})}let V=n(Q.content);return{toolResult:{type:"tool_result",tool_use_id:Q.toolCallId,content:U.length>0?U:V,is_error:Q.isError},siblingContent:U.length===0?[]:typeof V==="string"?[{type:"text",text:V}]:V}}function qQ(Q,_,Z,$=!1,X=new Set,U=(V)=>V){let V=[],j=new Set;for(let q=0;q<Q.length;q++){let P=Q[q];if(P.role==="user")if(typeof P.content==="string"){if(P.content.trim().length>0)V.push({role:"user",content:E(P.content)})}else{let G=P.content.map((Y)=>{if(Y.type==="text")return{type:"text",text:E(Y.text)};else return{type:"image",source:{type:"base64",media_type:Y.mimeType,data:Y.data}}}).filter((Y)=>{if(Y.type==="text")return Y.text.trim().length>0;return!0});if(G.length===0)continue;V.push({role:"user",content:G})}else if(P.role==="assistant"){let D=[];for(let G of P.content)if(G.type==="text"){if(G.text.trim().length===0)continue;D.push({type:"text",text:E(G.text)})}else if(G.type==="thinking"){if(G.redacted){D.push({type:"redacted_thinking",data:G.thinkingSignature});continue}let Y=G.thinkingSignature,W=!!Y&&Y.trim().length>0;if(G.thinking.trim().length===0&&!W)continue;if(!W)D.push($?{type:"thinking",thinking:E(G.thinking),signature:""}:{type:"text",text:E(G.thinking)});else D.push({type:"thinking",thinking:E(G.thinking),signature:Y})}else if(G.type==="toolCall")D.push({type:"tool_use",id:G.id,name:_?H(G.name):G.name,input:G.arguments??{}});if(D.length===0)continue;V.push({role:"assistant",content:D})}else if(P.role==="toolResult"){let D=[],G=[],Y=q;while(Y<Q.length&&Q[Y].role==="toolResult"){let W=VQ(Q[Y],_,X,j,U);D.push(W.toolResult),G.push(...W.siblingContent),Y++}q=Y-1,V.push({role:"user",content:[...D,...G]})}}if(Z&&V.length>0){let q=V[V.length-1];if(q.role==="user"){if(Array.isArray(q.content)){let P=q.content[q.content.length-1];if(P&&(P.type==="text"||P.type==="image"||P.type==="tool_result"))P.cache_control=Z}else if(typeof q.content==="string")q.content=[{type:"text",text:q.content,cache_control:Z}]}}return V}function GQ(Q,_){return!!_.tools?.length&&!K(Q).supportsEagerToolInputStreaming}function A(Q,_,Z,$,X=!1){if(!Q)return[];return Q.map((U,V)=>{let j=U.parameters;return{name:_?H(U.name):U.name,description:U.description,...Z?{eager_input_streaming:!0}:{},input_schema:{type:"object",properties:j.properties??{},required:j.required??[]},...X?{defer_loading:!0}:{},...$&&V===Q.length-1?{cache_control:$}:{}}})}function JQ(Q,_){switch(Q){case"end_turn":return{stopReason:"stop"};case"max_tokens":return{stopReason:"length"};case"tool_use":return{stopReason:"toolUse"};case"refusal":return{stopReason:"error",errorMessage:_?.explanation||"The model refused to complete the request"};case"pause_turn":return{stopReason:"stop"};case"stop_sequence":return{stopReason:"stop"};case"sensitive":return{stopReason:"error"};default:throw Error(`Unhandled stop reason: ${Q}`)}}export{RQ as streamSimple,N as stream};
|
package/bin/chunk-j4w76sg7.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Fc as C,Gc as j,Hc as v,Ic as T,Jc as I,Kc as B}from"./chunk-jrnczqc1.js";import{Mc as F,Oc as M,Pc as H}from"./chunk-0bdvgych.js";import{Vc as G}from"./chunk-2w4hxpqr.js";import{Yc as P,Zc as L,_c as K}from"./chunk-tn22n12j.js";import{$c as y}from"./chunk-p69bnq4x.js";import"./chunk-22m0y0fs.js";var b="v1",k="gcp-vertex-credentials",g={THINKING_LEVEL_UNSPECIFIED:F.THINKING_LEVEL_UNSPECIFIED,MINIMAL:F.MINIMAL,LOW:F.LOW,MEDIUM:F.MEDIUM,HIGH:F.HIGH},m=0,S=(q,w,J)=>{let Y=new K;return(async()=>{let Q={role:"assistant",content:[],api:"google-vertex",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=p(J),z=W?u(q,W,J?.headers):d(q,r(J),s(J),J?.headers),N=i(q,w,J),R=await J?.onPayload?.(N,q);if(R!==void 0)N=R;let x=await z.models.generateContentStream(N);Y.push({type:"start",partial:Q});let Z=null,A=Q.content,X=()=>A.length-1;for await(let D of x){Q.responseId||=D.responseId;let V=D.candidates?.[0];if(V?.content?.parts)for(let $ of V.content.parts){if($.text!==void 0){let _=C($);if(!Z||_&&Z.type!=="thinking"||!_&&Z.type!=="text"){if(Z)if(Z.type==="text")Y.push({type:"text_end",contentIndex:A.length-1,content:Z.text,partial:Q});else Y.push({type:"thinking_end",contentIndex:X(),content:Z.thinking,partial:Q});if(_)Z={type:"thinking",thinking:"",thinkingSignature:void 0},Q.content.push(Z),Y.push({type:"thinking_start",contentIndex:X(),partial:Q});else Z={type:"text",text:""},Q.content.push(Z),Y.push({type:"text_start",contentIndex:X(),partial:Q})}if(Z.type==="thinking")Z.thinking+=$.text,Z.thinkingSignature=j(Z.thinkingSignature,$.thoughtSignature),Y.push({type:"thinking_delta",contentIndex:X(),delta:$.text,partial:Q});else Z.text+=$.text,Z.textSignature=j(Z.textSignature,$.thoughtSignature),Y.push({type:"text_delta",contentIndex:X(),delta:$.text,partial:Q})}if($.functionCall){if(Z){if(Z.type==="text")Y.push({type:"text_end",contentIndex:X(),content:Z.text,partial:Q});else Y.push({type:"thinking_end",contentIndex:X(),content:Z.thinking,partial:Q});Z=null}let _=$.functionCall.id,E={type:"toolCall",id:!_||Q.content.some((U)=>U.type==="toolCall"&&U.id===_)?`${$.functionCall.name}_${Date.now()}_${++m}`:_,name:$.functionCall.name||"",arguments:$.functionCall.args??{},...$.thoughtSignature&&{thoughtSignature:$.thoughtSignature}};Q.content.push(E),Y.push({type:"toolcall_start",contentIndex:X(),partial:Q}),Y.push({type:"toolcall_delta",contentIndex:X(),delta:JSON.stringify(E.arguments),partial:Q}),Y.push({type:"toolcall_end",contentIndex:X(),toolCall:E,partial:Q})}}if(V?.finishReason){if(Q.stopReason=B(V.finishReason),Q.content.some(($)=>$.type==="toolCall"))Q.stopReason="toolUse"}if(D.usageMetadata)Q.usage={input:(D.usageMetadata.promptTokenCount||0)-(D.usageMetadata.cachedContentTokenCount||0),output:(D.usageMetadata.candidatesTokenCount||0)+(D.usageMetadata.thoughtsTokenCount||0),cacheRead:D.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,totalTokens:D.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},P(q,Q.usage)}if(Z)if(Z.type==="text")Y.push({type:"text_end",contentIndex:X(),content:Z.text,partial:Q});else Y.push({type:"thinking_end",contentIndex:X(),content:Z.thinking,partial:Q});if(J?.signal?.aborted)throw Error("Request was aborted");if(Q.stopReason==="aborted"||Q.stopReason==="error")throw Error("An unknown error occurred");Y.push({type:"done",reason:Q.stopReason,message:Q}),Y.end()}catch(W){for(let z of Q.content)if("index"in z)delete z.index;Q.stopReason=J?.signal?.aborted?"aborted":"error",Q.errorMessage=W instanceof Error?W.message:JSON.stringify(W),Y.push({type:"error",reason:Q.stopReason,error:Q}),Y.end()}})(),Y},Wq=(q,w,J)=>{let Y=G(q,J,void 0);if(!J?.reasoning)return S(q,w,{...Y,thinking:{enabled:!1}});let Q=L(q,J.reasoning),W=Q==="off"?"high":Q,z=q;if(O(z)||h(z))return S(q,w,{...Y,thinking:{enabled:!0,level:e(W,z)}});return S(q,w,{...Y,thinking:{enabled:!0,budgetTokens:t(z,W,J.thinkingBudgets)}})};function d(q,w,J,Y){return new H({vertexai:!0,project:w,location:J,apiVersion:b,httpOptions:f(q,Y)})}function u(q,w,J){return new H({vertexai:!0,apiKey:w,apiVersion:b,httpOptions:f(q,J)})}function f(q,w){let J={},Y=a(q.baseUrl);if(Y){if(J.baseUrl=Y,J.baseUrlResourceScope=M.COLLECTION,c(Y))J.apiVersion=""}if(q.headers||w)J.headers={...q.headers,...w};return Object.keys(J).length>0?J:void 0}function a(q){let w=q.trim();if(!w||w.includes("{location}"))return;return w}function c(q){try{return new URL(q).pathname.split("/").some((J)=>/^v\d+(?:beta\d*)?$/.test(J))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(q)}}function p(q){let w=q?.apiKey?.trim();if(!w||w===k||l(w))return;return w}function l(q){return/^<[^>]+>$/.test(q)}function r(q){let w=q?.project||process.env.GOOGLE_CLOUD_PROJECT||process.env.GCLOUD_PROJECT;if(!w)throw Error("Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.");return w}function s(q){let w=q?.location||process.env.GOOGLE_CLOUD_LOCATION;if(!w)throw Error("Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.");return w}function i(q,w,J={}){let Y=v(q,w),Q={};if(J.temperature!==void 0)Q.temperature=J.temperature;if(J.maxTokens!==void 0)Q.maxOutputTokens=J.maxTokens;let W={...Object.keys(Q).length>0&&Q,...w.systemPrompt&&{systemInstruction:y(w.systemPrompt)},...w.tools&&w.tools.length>0&&{tools:T(w.tools)}};if(w.tools&&w.tools.length>0&&J.toolChoice)W.toolConfig={functionCallingConfig:{mode:I(J.toolChoice)}};else W.toolConfig=void 0;if(J.thinking?.enabled&&q.reasoning){let N={includeThoughts:!0};if(J.thinking.level!==void 0)N.thinkingLevel=g[J.thinking.level];else if(J.thinking.budgetTokens!==void 0)N.thinkingBudget=J.thinking.budgetTokens;W.thinkingConfig=N}else if(q.reasoning&&J.thinking&&!J.thinking.enabled)W.thinkingConfig=n(q);if(J.signal){if(J.signal.aborted)throw Error("Request aborted");W.abortSignal=J.signal}return{model:q.id,contents:Y,config:W}}function O(q){return/gemini-3(?:\.\d+)?-pro/.test(q.id.toLowerCase())}function h(q){return/gemini-3(?:\.\d+)?-flash/.test(q.id.toLowerCase())}function n(q){let w=q;if(O(w))return{thinkingLevel:F.LOW};if(h(w))return{thinkingLevel:F.MINIMAL};return{thinkingBudget:0}}function e(q,w){if(O(w))switch(q){case"minimal":case"low":return"LOW";case"medium":case"high":return"HIGH"}switch(q){case"minimal":return"MINIMAL";case"low":return"LOW";case"medium":return"MEDIUM";case"high":return"HIGH"}}function t(q,w,J){if(J?.[w]!==void 0)return J[w];if(q.id.includes("2.5-pro"))return{minimal:128,low:2048,medium:8192,high:32768}[w];if(q.id.includes("2.5-flash"))return{minimal:128,low:2048,medium:8192,high:24576}[w];return-1}export{Wq as streamSimpleGoogleVertex,S as streamGoogleVertex};
|