@shumai-one/shumai-agent 0.2.0 → 0.2.2
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-09wm68m9.js +3 -0
- package/bin/{chunk-4vs22x1t.js → chunk-0bdvgych.js} +3 -3
- package/bin/{chunk-7mtn96c1.js → chunk-22m0y0fs.js} +1 -1
- package/bin/{chunk-tf62s7rv.js → chunk-2dm6jcp4.js} +1 -1
- package/bin/chunk-2gefycgt.js +3 -0
- package/bin/chunk-2t47accr.js +3 -0
- package/bin/{chunk-092vhedy.js → chunk-2w4hxpqr.js} +1 -1
- package/bin/chunk-3nbbx6x7.js +3 -0
- package/bin/{chunk-5h8q2pjz.js → chunk-5190gazn.js} +1 -1
- package/bin/{chunk-a44n1b4f.js → chunk-633f49yv.js} +1 -1
- package/bin/chunk-6k9j5xzb.js +3 -0
- package/bin/chunk-6xzgjgh4.js +2 -0
- package/bin/{chunk-edhaz54y.js → chunk-74zq8r33.js} +1 -1
- package/bin/chunk-7m8a8vhh.js +2 -0
- package/bin/{chunk-9pfvgwrc.js → chunk-7qwd1bfq.js} +1 -1
- package/bin/{chunk-etda2aqf.js → chunk-85swzdas.js} +1 -1
- package/bin/{chunk-196gwx9k.js → chunk-98fyskbt.js} +1 -1
- package/bin/{chunk-1xnqw6rd.js → chunk-98zfcdae.js} +2 -2
- package/bin/chunk-aw167aaq.js +8 -0
- package/bin/chunk-b35kbsh7.js +3 -0
- package/bin/chunk-b77c23jm.js +2 -0
- package/bin/chunk-ba518ea4.js +12 -0
- package/bin/{chunk-vhfqr7n5.js → chunk-bq4j07gf.js} +2 -2
- package/bin/chunk-bwvq03ga.js +12 -0
- package/bin/chunk-c55dg49y.js +7 -0
- package/bin/{chunk-n7qv08c3.js → chunk-ceg8d25c.js} +1 -1
- package/bin/{chunk-ej5ed8pg.js → chunk-cpmyq7y4.js} +1 -1
- package/bin/chunk-d5rvr87v.js +3 -0
- package/bin/{chunk-9ea4dgez.js → chunk-db5dg26j.js} +2 -2
- package/bin/chunk-dgxfdzaf.js +4 -0
- package/bin/chunk-dja3b5qj.js +8 -0
- package/bin/{chunk-gj059qs2.js → chunk-e0mazw0r.js} +1 -1
- package/bin/chunk-e0np0fc1.js +2 -0
- package/bin/chunk-epkgpyvw.js +3 -0
- package/bin/{chunk-q0f0cac4.js → chunk-fvmb8en4.js} +1 -1
- package/bin/chunk-fy6ak60v.js +2 -0
- package/bin/{chunk-gehabk8h.js → chunk-geqqct8k.js} +1 -1
- package/bin/{chunk-en6m9d5x.js → chunk-gx72kpkb.js} +1 -1
- package/bin/{chunk-6pqt1p9h.js → chunk-hbnpkkay.js} +1 -1
- package/bin/chunk-hf7g4s7z.js +8 -0
- package/bin/chunk-hrckvejt.js +6 -0
- package/bin/{chunk-kkr0jwz3.js → chunk-j4w76sg7.js} +1 -1
- package/bin/chunk-jr7ndn0h.js +4 -0
- package/bin/{chunk-vfw5hbnf.js → chunk-jrnczqc1.js} +2 -2
- package/bin/{chunk-cm44rgmn.js → chunk-k4gc54nc.js} +1 -1
- package/bin/chunk-m0mp7pd2.js +3 -0
- package/bin/chunk-m6rw11kp.js +2 -0
- package/bin/chunk-mdmba231.js +7 -0
- package/bin/{chunk-31hmzhh3.js → chunk-n8m6vtk4.js} +1 -1
- package/bin/{chunk-4sgazeqh.js → chunk-nbvdnrcb.js} +2 -2
- package/bin/{chunk-zzwyep2y.js → chunk-nvze6c2k.js} +2 -2
- package/bin/{chunk-9cgjmctw.js → chunk-p0yhjbsx.js} +1 -1
- package/bin/{chunk-evkfqc0n.js → chunk-p3egm13v.js} +2 -2
- package/bin/{chunk-wpthjy5r.js → chunk-p67v44jc.js} +1 -1
- package/bin/{chunk-4yppzd09.js → chunk-p69bnq4x.js} +1 -1
- package/bin/{chunk-0hsekj7q.js → chunk-pwm0zg91.js} +1 -1
- package/bin/{chunk-k30n4wwk.js → chunk-r3r0643t.js} +2 -2
- package/bin/chunk-ryyybwjr.js +3 -0
- package/bin/{chunk-4xh97fm8.js → chunk-t9qt4a80.js} +1 -1
- package/bin/chunk-tg1x6f4h.js +2 -0
- package/bin/{chunk-09qk3khg.js → chunk-tn22n12j.js} +1 -1
- package/bin/chunk-wr1gq0mr.js +3 -0
- package/bin/{chunk-p8c02x99.js → chunk-xeg1gre0.js} +1 -1
- package/bin/chunk-xepkfmkj.js +3 -0
- package/bin/chunk-xy7jrz8f.js +2 -0
- package/bin/{chunk-c11capf1.js → chunk-y50ys5g5.js} +3 -3
- package/bin/{chunk-jxp0ghqf.js → chunk-ywhm8gh6.js} +1 -1
- package/bin/{chunk-0zzvpjyx.js → chunk-zkjpc8zs.js} +1 -1
- package/bin/chunk-zmeynqb0.js +6 -0
- package/bin/shumai-agent-app.js +360 -335
- package/package.json +7 -7
- package/prisma/migrations/20260722022359_add_skill_permission/migration.sql +2 -0
- package/prisma/migrations/20260723025234_add_ai_usage_table/migration.sql +28 -0
- package/prisma/migrations/20260723032755_add_ai_usage_unique_constraint/migration.sql +8 -0
- package/prisma/schema.prisma +26 -0
- package/bin/chunk-04047smt.js +0 -2
- package/bin/chunk-62cczr32.js +0 -3
- package/bin/chunk-722awnh3.js +0 -4
- package/bin/chunk-7xm669xc.js +0 -6
- package/bin/chunk-8eg1rj5q.js +0 -12
- package/bin/chunk-8pdrt7yn.js +0 -2
- package/bin/chunk-bqb5hsbe.js +0 -3
- package/bin/chunk-jdhnsqss.js +0 -11
- package/bin/chunk-nerm3qbg.js +0 -3
- package/bin/chunk-nqbz5n9d.js +0 -2
- package/bin/chunk-nts78x0z.js +0 -2
- package/bin/chunk-p7dw998p.js +0 -3
- package/bin/chunk-q5tv58nz.js +0 -14
- package/bin/chunk-r3vpwnnb.js +0 -2
- package/bin/chunk-t1c8qk5y.js +0 -3
- package/bin/chunk-tsevmz6j.js +0 -8
- package/bin/chunk-vfrddwfj.js +0 -2
- package/bin/chunk-wsgbp0ae.js +0 -7
- package/bin/chunk-x7pbj6bf.js +0 -3
- package/bin/chunk-yqhefh7z.js +0 -2
- package/bin/chunk-zmr5jvxg.js +0 -4
|
@@ -0,0 +1,8 @@
|
|
|
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};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{bd as q,dd as M}from"./chunk-22m0y0fs.js";var GG=q((xK,e)=>{var y=1000,f=y*60,x=f*60,I=x*24,CG=I*7,IG=I*365.25;e.exports=function(G,Q){Q=Q||{};var K=typeof G;if(K==="string"&&G.length>0)return _G(G);else if(K==="number"&&isFinite(G))return Q.long?yG(G):DG(G);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(G))};function _G(G){if(G=String(G),G.length>100)return;var Q=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(G);if(!Q)return;var K=parseFloat(Q[1]),V=(Q[2]||"ms").toLowerCase();switch(V){case"years":case"year":case"yrs":case"yr":case"y":return K*IG;case"weeks":case"week":case"w":return K*CG;case"days":case"day":case"d":return K*I;case"hours":case"hour":case"hrs":case"hr":case"h":return K*x;case"minutes":case"minute":case"mins":case"min":case"m":return K*f;case"seconds":case"second":case"secs":case"sec":case"s":return K*y;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return K;default:return}}function DG(G){var Q=Math.abs(G);if(Q>=I)return Math.round(G/I)+"d";if(Q>=x)return Math.round(G/x)+"h";if(Q>=f)return Math.round(G/f)+"m";if(Q>=y)return Math.round(G/y)+"s";return G+"ms"}function yG(G){var Q=Math.abs(G);if(Q>=I)return u(G,Q,I,"day");if(Q>=x)return u(G,Q,x,"hour");if(Q>=f)return u(G,Q,f,"minute");if(Q>=y)return u(G,Q,y,"second");return G+" ms"}function u(G,Q,K,V){var Z=Q>=K*1.5;return Math.round(G/K)+" "+V+(Z?"s":"")}});var m=q((hK,KG)=>{function fG(G){K.debug=K,K.default=K,K.coerce=L,K.disable=J,K.enable=Z,K.enabled=N,K.humanize=GG(),K.destroy=v,Object.keys(G).forEach(($)=>{K[$]=G[$]}),K.names=[],K.skips=[],K.formatters={};function Q($){let w=0;for(let W=0;W<$.length;W++)w=(w<<5)-w+$.charCodeAt(W),w|=0;return K.colors[Math.abs(w)%K.colors.length]}K.selectColor=Q;function K($){let w,W=null,Y,R;function B(...X){if(!B.enabled)return;let T=B,j=Number(new Date),A=j-(w||j);if(T.diff=A,T.prev=w,T.curr=j,w=j,X[0]=K.coerce(X[0]),typeof X[0]!=="string")X.unshift("%O");let F=0;X[0]=X[0].replace(/%([a-zA-Z%])/g,(C,D)=>{if(C==="%%")return"%";F++;let s=K.formatters[D];if(typeof s==="function"){let AG=X[F];C=s.call(T,AG),X.splice(F,1),F--}return C}),K.formatArgs.call(T,X),(T.log||K.log).apply(T,X)}if(B.namespace=$,B.useColors=K.useColors(),B.color=K.selectColor($),B.extend=V,B.destroy=K.destroy,Object.defineProperty(B,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(W!==null)return W;if(Y!==K.namespaces)Y=K.namespaces,R=K.enabled($);return R},set:(X)=>{W=X}}),typeof K.init==="function")K.init(B);return B}function V($,w){let W=K(this.namespace+(typeof w>"u"?":":w)+$);return W.log=this.log,W}function Z($){K.save($),K.namespaces=$,K.names=[],K.skips=[];let w=(typeof $==="string"?$:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let W of w)if(W[0]==="-")K.skips.push(W.slice(1));else K.names.push(W)}function z($,w){let W=0,Y=0,R=-1,B=0;while(W<$.length)if(Y<w.length&&(w[Y]===$[W]||w[Y]==="*"))if(w[Y]==="*")R=Y,B=W,Y++;else W++,Y++;else if(R!==-1)Y=R+1,B++,W=B;else return!1;while(Y<w.length&&w[Y]==="*")Y++;return Y===w.length}function J(){let $=[...K.names,...K.skips.map((w)=>"-"+w)].join(",");return K.enable(""),$}function N($){for(let w of K.skips)if(z($,w))return!1;for(let w of K.names)if(z($,w))return!0;return!1}function L($){if($ instanceof Error)return $.stack||$.message;return $}function v(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return K.enable(K.load()),K}KG.exports=fG});var VG=q((QG,g)=>{QG.formatArgs=hG;QG.save=vG;QG.load=bG;QG.useColors=xG;QG.storage=iG();QG.destroy=(()=>{let G=!1;return()=>{if(!G)G=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();QG.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function xG(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let G;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(G=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(G[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function hG(G){if(G[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+G[0]+(this.useColors?"%c ":" ")+"+"+g.exports.humanize(this.diff),!this.useColors)return;let Q="color: "+this.color;G.splice(1,0,Q,"color: inherit");let K=0,V=0;G[0].replace(/%[a-zA-Z%]/g,(Z)=>{if(Z==="%%")return;if(K++,Z==="%c")V=K}),G.splice(V,0,Q)}QG.log=console.debug||console.log||(()=>{});function vG(G){try{if(G)QG.storage.setItem("debug",G);else QG.storage.removeItem("debug")}catch(Q){}}function bG(){let G;try{G=QG.storage.getItem("debug")||QG.storage.getItem("DEBUG")}catch(Q){}if(!G&&typeof process<"u"&&"env"in process)G=process.env.DEBUG;return G}function iG(){try{return localStorage}catch(G){}}g.exports=m()(QG);var{formatters:kG}=g.exports;kG.j=function(G){try{return JSON.stringify(G)}catch(Q){return"[UnexpectedJSONParseError]: "+Q.message}}});var $G=q((bK,ZG)=>{ZG.exports=(G,Q=process.argv)=>{let K=G.startsWith("-")?"":G.length===1?"-":"--",V=Q.indexOf(K+G),Z=Q.indexOf("--");return V!==-1&&(Z===-1||V<Z)}});var JG=q((iK,zG)=>{var mG=M("os"),wG=M("tty"),O=$G(),{env:U}=process,d;if(O("no-color")||O("no-colors")||O("color=false")||O("color=never"))d=0;else if(O("color")||O("colors")||O("color=true")||O("color=always"))d=1;function rG(){if("FORCE_COLOR"in U){if(U.FORCE_COLOR==="true")return 1;if(U.FORCE_COLOR==="false")return 0;return U.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(U.FORCE_COLOR,10),3)}}function aG(G){if(G===0)return!1;return{level:G,hasBasic:!0,has256:G>=2,has16m:G>=3}}function oG(G,{streamIsTTY:Q,sniffFlags:K=!0}={}){let V=rG();if(V!==void 0)d=V;let Z=K?d:V;if(Z===0)return 0;if(K){if(O("color=16m")||O("color=full")||O("color=truecolor"))return 3;if(O("color=256"))return 2}if(G&&!Q&&Z===void 0)return 0;let z=Z||0;if(U.TERM==="dumb")return z;if(process.platform==="win32"){let J=mG.release().split(".");if(Number(J[0])>=10&&Number(J[2])>=10586)return Number(J[2])>=14931?3:2;return 1}if("CI"in U){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some((J)=>(J in U))||U.CI_NAME==="codeship")return 1;return z}if("TEAMCITY_VERSION"in U)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(U.TEAMCITY_VERSION)?1:0;if(U.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in U){let J=Number.parseInt((U.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(U.TERM_PROGRAM){case"iTerm.app":return J>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(U.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(U.TERM))return 1;if("COLORTERM"in U)return 1;return z}function r(G,Q={}){let K=oG(G,{streamIsTTY:G&&G.isTTY,...Q});return aG(K)}zG.exports={supportsColor:r,stdout:r({isTTY:wG.isatty(1)}),stderr:r({isTTY:wG.isatty(2)})}});var BG=q((YG,l)=>{var tG=M("tty"),c=M("util");YG.init=ZK;YG.log=KK;YG.formatArgs=eG;YG.save=QK;YG.load=VK;YG.useColors=sG;YG.destroy=c.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");YG.colors=[6,2,3,4,5,1];try{let G=JG();if(G&&(G.stderr||G).level>=2)YG.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(G){}YG.inspectOpts=Object.keys(process.env).filter((G)=>{return/^debug_/i.test(G)}).reduce((G,Q)=>{let K=Q.substring(6).toLowerCase().replace(/_([a-z])/g,(Z,z)=>{return z.toUpperCase()}),V=process.env[Q];if(/^(yes|on|true|enabled)$/i.test(V))V=!0;else if(/^(no|off|false|disabled)$/i.test(V))V=!1;else if(V==="null")V=null;else V=Number(V);return G[K]=V,G},{});function sG(){return"colors"in YG.inspectOpts?Boolean(YG.inspectOpts.colors):tG.isatty(process.stderr.fd)}function eG(G){let{namespace:Q,useColors:K}=this;if(K){let V=this.color,Z="\x1B[3"+(V<8?V:"8;5;"+V),z=` ${Z};1m${Q} \x1B[0m`;G[0]=z+G[0].split(`
|
|
3
3
|
`).join(`
|
|
4
4
|
`+z),G.push(Z+"m+"+l.exports.humanize(this.diff)+"\x1B[0m")}else G[0]=GK()+Q+" "+G[0]}function GK(){if(YG.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function KK(...G){return process.stderr.write(c.formatWithOptions(YG.inspectOpts,...G)+`
|
|
5
5
|
`)}function QK(G){if(G)process.env.DEBUG=G;else delete process.env.DEBUG}function VK(){return process.env.DEBUG}function ZK(G){G.inspectOpts={};let Q=Object.keys(YG.inspectOpts);for(let K=0;K<Q.length;K++)G.inspectOpts[Q[K]]=YG.inspectOpts[Q[K]]}l.exports=m()(YG);var{formatters:WG}=l.exports;WG.o=function(G){return this.inspectOpts.colors=this.useColors,c.inspect(G,this.inspectOpts).split(`
|
|
@@ -0,0 +1,2 @@
|
|
|
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};
|
|
@@ -0,0 +1,3 @@
|
|
|
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};
|
|
@@ -21,4 +21,4 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
|
21
21
|
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
22
22
|
|
|
23
23
|
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
24
|
-
`);this.baseURL=z.baseURL,this.timeout=z.timeout??x2.DEFAULT_TIMEOUT,this.logger=z.logger??console;let N="warn";this.logLevel=N,this.logLevel=Z2(z.logLevel,"ClientOptions.logLevel",this)??Z2(a("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??N,this.fetchOptions=z.fetchOptions,this.maxRetries=z.maxRetries??2,this.fetch=z.fetch??b2(),E(this,m0,g2,"f"),this._options=z,this.apiKey=typeof Z==="string"?Z:"Missing Key",this.organization=Y,this.project=$,this.webhookSecret=G}withOptions(X){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...X})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:X,nulls:Z}){return}async authHeaders(X){return V([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(X){return n2(X)}getUserAgent(){return`${this.constructor.name}/JS ${NX}`}defaultIdempotencyKey(){return`stainless-node-retry-${u0()}`}makeStatusError(X,Z,Y,$){return f.generate(X,Z,Y,$)}async _callApiKey(){let X=this._options.apiKey;if(typeof X!=="function")return!1;let Z;try{Z=await X()}catch(Y){if(Y instanceof U)throw Y;throw new U(`Failed to get token from 'apiKey' function: ${Y.message}`,{cause:Y})}if(typeof Z!=="string"||!Z)throw new U(`Expected 'apiKey' function argument to return a string but it returned ${Z}`);return this.apiKey=Z,!0}buildURL(X,Z,Y){let $=!K(this,O2,"m",y3).call(this)&&Y||this.baseURL,G=C2(X)?new URL(X):new URL($+($.endsWith("/")&&X.startsWith("/")?X.slice(1):X)),W=this.defaultQuery();if(!D2(W))Z={...W,...Z};if(typeof Z==="object"&&Z&&!Array.isArray(Z))G.search=this.stringifyQuery(Z);return G.toString()}async prepareOptions(X){await this._callApiKey()}async prepareRequest(X,{url:Z,options:Y}){}get(X,Z){return this.methodRequest("get",X,Z)}post(X,Z){return this.methodRequest("post",X,Z)}patch(X,Z){return this.methodRequest("patch",X,Z)}put(X,Z){return this.methodRequest("put",X,Z)}delete(X,Z){return this.methodRequest("delete",X,Z)}methodRequest(X,Z,Y){return this.request(Promise.resolve(Y).then(($)=>{return{method:X,path:Z,...$}}))}request(X,Z=null){return new xX(this,this.makeRequest(X,Z,void 0))}async makeRequest(X,Z,Y){let $=await X,G=$.maxRetries??this.maxRetries;if(Z==null)Z=G;await this.prepareOptions($);let{req:W,url:z,timeout:N}=await this.buildRequest($,{retryCount:G-Z});await this.prepareRequest(W,{url:z,options:$});let w="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),F=Y===void 0?"":`, retryOf: ${Y}`,M=Date.now();if(S(this).debug(`[${w}] sending request`,GX({retryOfRequestLogID:Y,method:$.method,url:z,options:$,headers:W.headers})),$.signal?.aborted)throw new I;let H=new AbortController,B=await this.fetchWithTimeout(z,W,N,H).catch(wZ),q=Date.now();if(B instanceof globalThis.Error){let C=`retrying, ${Z} attempts remaining`;if($.signal?.aborted)throw new I;let P=VZ(B)||/timed? ?out/i.test(String(B)+("cause"in B?String(B.cause):""));if(Z)return S(this).info(`[${w}] connection ${P?"timed out":"failed"} - ${C}`),S(this).debug(`[${w}] connection ${P?"timed out":"failed"} (${C})`,GX({retryOfRequestLogID:Y,url:z,durationMs:q-M,message:B.message})),this.retryRequest($,Z,Y??w);if(S(this).info(`[${w}] connection ${P?"timed out":"failed"} - error; no more retries left`),S(this).debug(`[${w}] connection ${P?"timed out":"failed"} (error; no more retries left)`,GX({retryOfRequestLogID:Y,url:z,durationMs:q-M,message:B.message})),P)throw new OX;throw new LX({cause:B})}let T=[...B.headers.entries()].filter(([C])=>C==="x-request-id").map(([C,P])=>", "+C+": "+JSON.stringify(P)).join(""),D=`[${w}${F}${T}] ${W.method} ${z} ${B.ok?"succeeded":"failed"} with status ${B.status} in ${q-M}ms`;if(!B.ok){let C=await this.shouldRetry(B);if(Z&&C){let j=`retrying, ${Z} attempts remaining`;return await v2(B.body),S(this).info(`${D} - ${j}`),S(this).debug(`[${w}] response error (${j})`,GX({retryOfRequestLogID:Y,url:B.url,status:B.status,headers:B.headers,durationMs:q-M})),this.retryRequest($,Z,Y??w,B.headers)}let P=C?"error; no more retries left":"error; not retryable";S(this).info(`${D} - ${P}`);let x=await B.text().catch((j)=>wZ(j).message),_=S2(x),R=_?void 0:x;throw S(this).debug(`[${w}] response error (${P})`,GX({retryOfRequestLogID:Y,url:B.url,status:B.status,headers:B.headers,message:R,durationMs:Date.now()-M})),this.makeStatusError(B.status,_,R,B.headers)}return S(this).info(D),S(this).debug(`[${w}] response start`,GX({retryOfRequestLogID:Y,url:B.url,status:B.status,headers:B.headers,durationMs:q-M})),{response:B,options:$,controller:H,requestLogID:w,retryOfRequestLogID:Y,startTime:M}}getAPIList(X,Z,Y){return this.requestAPIList(Z,Y&&"then"in Y?Y.then(($)=>({method:"get",path:X,...$})):{method:"get",path:X,...Y})}requestAPIList(X,Z){let Y=this.makeRequest(Z,null,void 0);return new q0(this,Y,X)}async fetchWithTimeout(X,Z,Y,$){let{signal:G,method:W,...z}=Z||{},N=this._makeAbort($);if(G)G.addEventListener("abort",N,{once:!0});let w=setTimeout(N,Y),F=globalThis.ReadableStream&&z.body instanceof globalThis.ReadableStream||typeof z.body==="object"&&z.body!==null&&Symbol.asyncIterator in z.body,M={signal:$.signal,...F?{duplex:"half"}:{},method:"GET",...z};if(W)M.method=W.toUpperCase();try{return await this.fetch.call(void 0,X,M)}finally{clearTimeout(w)}}async shouldRetry(X){let Z=X.headers.get("x-should-retry");if(Z==="true")return!0;if(Z==="false")return!1;if(X.status===408)return!0;if(X.status===409)return!0;if(X.status===429)return!0;if(X.status>=500)return!0;return!1}async retryRequest(X,Z,Y,$){let G,W=$?.get("retry-after-ms");if(W){let N=parseFloat(W);if(!Number.isNaN(N))G=N}let z=$?.get("retry-after");if(z&&!G){let N=parseFloat(z);if(!Number.isNaN(N))G=N*1000;else G=Date.parse(z)-Date.now()}if(G===void 0){let N=X.maxRetries??this.maxRetries;G=this.calculateDefaultRetryTimeoutMillis(Z,N)}return await s(G),this.makeRequest(X,Z-1,Y)}calculateDefaultRetryTimeoutMillis(X,Z){let G=Z-X,W=Math.min(0.5*Math.pow(2,G),8),z=1-Math.random()*0.25;return W*z*1000}async buildRequest(X,{retryCount:Z=0}={}){let Y={...X},{method:$,path:G,query:W,defaultBaseURL:z}=Y,N=this.buildURL(G,W,z);if("timeout"in Y)R2("timeout",Y.timeout);Y.timeout=Y.timeout??this.timeout;let{bodyHeaders:w,body:F}=this.buildBody({options:Y}),M=await this.buildHeaders({options:X,method:$,bodyHeaders:w,retryCount:Z});return{req:{method:$,headers:M,...Y.signal&&{signal:Y.signal},...globalThis.ReadableStream&&F instanceof globalThis.ReadableStream&&{duplex:"half"},...F&&{body:F},...this.fetchOptions??{},...Y.fetchOptions??{}},url:N,timeout:Y.timeout}}async buildHeaders({options:X,method:Z,bodyHeaders:Y,retryCount:$}){let G={};if(this.idempotencyHeader&&Z!=="get"){if(!X.idempotencyKey)X.idempotencyKey=this.defaultIdempotencyKey();G[this.idempotencyHeader]=X.idempotencyKey}let W=V([G,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String($),...X.timeout?{"X-Stainless-Timeout":String(Math.trunc(X.timeout/1000))}:{},...y2(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(X),this._options.defaultHeaders,Y,X.headers]);return this.validateHeaders(W),W.values}_makeAbort(X){return()=>X.abort()}buildBody({options:{body:X,headers:Z}}){if(!X)return{bodyHeaders:void 0,body:void 0};let Y=V([Z]);if(ArrayBuffer.isView(X)||X instanceof ArrayBuffer||X instanceof DataView||typeof X==="string"&&Y.values.has("content-type")||globalThis.Blob&&X instanceof globalThis.Blob||X instanceof FormData||X instanceof URLSearchParams||globalThis.ReadableStream&&X instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:X};else if(typeof X==="object"&&((Symbol.asyncIterator in X)||(Symbol.iterator in X)&&("next"in X)&&typeof X.next==="function"))return{bodyHeaders:void 0,body:w0(X)};else if(typeof X==="object"&&Y.values.get("content-type")==="application/x-www-form-urlencoded")return{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(X)};else return K(this,m0,"f").call(this,{body:X,headers:Y})}}x2=L,m0=new WeakMap,O2=new WeakSet,y3=function(){return this.baseURL!=="https://api.openai.com/v1"};L.OpenAI=x2;L.DEFAULT_TIMEOUT=600000;L.OpenAIError=U;L.APIError=f;L.APIConnectionError=LX;L.APIConnectionTimeoutError=OX;L.APIUserAbortError=I;L.NotFoundError=TZ;L.ConflictError=MZ;L.RateLimitError=qZ;L.BadRequestError=HZ;L.AuthenticationError=UZ;L.InternalServerError=LZ;L.PermissionDeniedError=FZ;L.UnprocessableEntityError=EZ;L.InvalidWebhookSignatureError=$X;L.toFile=O0;L.Completions=sX;L.Chat=CX;L.Embeddings=oX;L.Files=XZ;L.Images=GZ;L.Audio=QX;L.Moderations=KZ;L.Models=WZ;L.FineTuning=ZX;L.Graders=bX;L.VectorStores=qX;L.Webhooks=NZ;L.Beta=XX;L.Batches=nX;L.Uploads=vX;L.Responses=MX;L.Realtime=FX;L.Conversations=IX;L.Evals=yX;L.Containers=jX;L.Skills=EX;L.Videos=QZ;class b3 extends L{constructor({baseURL:X=a("OPENAI_BASE_URL"),apiKey:Z=a("AZURE_OPENAI_API_KEY"),apiVersion:Y=a("OPENAI_API_VERSION"),endpoint:$,deployment:G,azureADTokenProvider:W,dangerouslyAllowBrowser:z,...N}={}){if(!Y)throw new U("The OPENAI_API_VERSION environment variable is missing or empty; either provide it, or instantiate the AzureOpenAI client with an apiVersion option, like new AzureOpenAI({ apiVersion: 'My API Version' }).");if(typeof W==="function")z=!0;if(!W&&!Z)throw new U("Missing credentials. Please pass one of `apiKey` and `azureADTokenProvider`, or set the `AZURE_OPENAI_API_KEY` environment variable.");if(W&&Z)throw new U("The `apiKey` and `azureADTokenProvider` arguments are mutually exclusive; only one can be passed at a time.");if(N.defaultQuery={...N.defaultQuery,"api-version":Y},!X){if(!$)$=process.env.AZURE_OPENAI_ENDPOINT;if(!$)throw new U("Must provide one of the `baseURL` or `endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable");X=`${$}/openai`}else if($)throw new U("baseURL and endpoint are mutually exclusive");super({apiKey:W??Z,baseURL:X,...N,...z!==void 0?{dangerouslyAllowBrowser:z}:{}});this.apiVersion="",this.apiVersion=Y,this.deploymentName=G}async buildRequest(X,Z={}){if(J8.has(X.path)&&X.method==="post"&&X.body!==void 0){if(!gX(X.body))throw Error("Expected request body to be an object");let Y=this.deploymentName||X.body.model||X.__metadata?.model;if(Y!==void 0&&!this.baseURL.includes("/deployments"))X.path=`/deployments/${Y}${X.path}`}return super.buildRequest(X,Z)}async authHeaders(X){if(typeof this._options.apiKey==="string")return V([{"api-key":this.apiKey}]);return super.authHeaders(X)}}var J8=new Set(["/completions","/chat/completions","/embeddings","/audio/transcriptions","/audio/translations","/audio/speech","/images/generations","/batches","/images/edits"]);export{L as Mb,b3 as Nb};
|
|
24
|
+
`);this.baseURL=z.baseURL,this.timeout=z.timeout??x2.DEFAULT_TIMEOUT,this.logger=z.logger??console;let N="warn";this.logLevel=N,this.logLevel=Z2(z.logLevel,"ClientOptions.logLevel",this)??Z2(a("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??N,this.fetchOptions=z.fetchOptions,this.maxRetries=z.maxRetries??2,this.fetch=z.fetch??b2(),E(this,m0,g2,"f"),this._options=z,this.apiKey=typeof Z==="string"?Z:"Missing Key",this.organization=Y,this.project=$,this.webhookSecret=G}withOptions(X){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...X})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:X,nulls:Z}){return}async authHeaders(X){return V([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(X){return n2(X)}getUserAgent(){return`${this.constructor.name}/JS ${NX}`}defaultIdempotencyKey(){return`stainless-node-retry-${u0()}`}makeStatusError(X,Z,Y,$){return f.generate(X,Z,Y,$)}async _callApiKey(){let X=this._options.apiKey;if(typeof X!=="function")return!1;let Z;try{Z=await X()}catch(Y){if(Y instanceof U)throw Y;throw new U(`Failed to get token from 'apiKey' function: ${Y.message}`,{cause:Y})}if(typeof Z!=="string"||!Z)throw new U(`Expected 'apiKey' function argument to return a string but it returned ${Z}`);return this.apiKey=Z,!0}buildURL(X,Z,Y){let $=!K(this,O2,"m",y3).call(this)&&Y||this.baseURL,G=C2(X)?new URL(X):new URL($+($.endsWith("/")&&X.startsWith("/")?X.slice(1):X)),W=this.defaultQuery();if(!D2(W))Z={...W,...Z};if(typeof Z==="object"&&Z&&!Array.isArray(Z))G.search=this.stringifyQuery(Z);return G.toString()}async prepareOptions(X){await this._callApiKey()}async prepareRequest(X,{url:Z,options:Y}){}get(X,Z){return this.methodRequest("get",X,Z)}post(X,Z){return this.methodRequest("post",X,Z)}patch(X,Z){return this.methodRequest("patch",X,Z)}put(X,Z){return this.methodRequest("put",X,Z)}delete(X,Z){return this.methodRequest("delete",X,Z)}methodRequest(X,Z,Y){return this.request(Promise.resolve(Y).then(($)=>{return{method:X,path:Z,...$}}))}request(X,Z=null){return new xX(this,this.makeRequest(X,Z,void 0))}async makeRequest(X,Z,Y){let $=await X,G=$.maxRetries??this.maxRetries;if(Z==null)Z=G;await this.prepareOptions($);let{req:W,url:z,timeout:N}=await this.buildRequest($,{retryCount:G-Z});await this.prepareRequest(W,{url:z,options:$});let w="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),F=Y===void 0?"":`, retryOf: ${Y}`,M=Date.now();if(S(this).debug(`[${w}] sending request`,GX({retryOfRequestLogID:Y,method:$.method,url:z,options:$,headers:W.headers})),$.signal?.aborted)throw new I;let H=new AbortController,B=await this.fetchWithTimeout(z,W,N,H).catch(wZ),q=Date.now();if(B instanceof globalThis.Error){let C=`retrying, ${Z} attempts remaining`;if($.signal?.aborted)throw new I;let P=VZ(B)||/timed? ?out/i.test(String(B)+("cause"in B?String(B.cause):""));if(Z)return S(this).info(`[${w}] connection ${P?"timed out":"failed"} - ${C}`),S(this).debug(`[${w}] connection ${P?"timed out":"failed"} (${C})`,GX({retryOfRequestLogID:Y,url:z,durationMs:q-M,message:B.message})),this.retryRequest($,Z,Y??w);if(S(this).info(`[${w}] connection ${P?"timed out":"failed"} - error; no more retries left`),S(this).debug(`[${w}] connection ${P?"timed out":"failed"} (error; no more retries left)`,GX({retryOfRequestLogID:Y,url:z,durationMs:q-M,message:B.message})),P)throw new OX;throw new LX({cause:B})}let T=[...B.headers.entries()].filter(([C])=>C==="x-request-id").map(([C,P])=>", "+C+": "+JSON.stringify(P)).join(""),D=`[${w}${F}${T}] ${W.method} ${z} ${B.ok?"succeeded":"failed"} with status ${B.status} in ${q-M}ms`;if(!B.ok){let C=await this.shouldRetry(B);if(Z&&C){let j=`retrying, ${Z} attempts remaining`;return await v2(B.body),S(this).info(`${D} - ${j}`),S(this).debug(`[${w}] response error (${j})`,GX({retryOfRequestLogID:Y,url:B.url,status:B.status,headers:B.headers,durationMs:q-M})),this.retryRequest($,Z,Y??w,B.headers)}let P=C?"error; no more retries left":"error; not retryable";S(this).info(`${D} - ${P}`);let x=await B.text().catch((j)=>wZ(j).message),_=S2(x),R=_?void 0:x;throw S(this).debug(`[${w}] response error (${P})`,GX({retryOfRequestLogID:Y,url:B.url,status:B.status,headers:B.headers,message:R,durationMs:Date.now()-M})),this.makeStatusError(B.status,_,R,B.headers)}return S(this).info(D),S(this).debug(`[${w}] response start`,GX({retryOfRequestLogID:Y,url:B.url,status:B.status,headers:B.headers,durationMs:q-M})),{response:B,options:$,controller:H,requestLogID:w,retryOfRequestLogID:Y,startTime:M}}getAPIList(X,Z,Y){return this.requestAPIList(Z,Y&&"then"in Y?Y.then(($)=>({method:"get",path:X,...$})):{method:"get",path:X,...Y})}requestAPIList(X,Z){let Y=this.makeRequest(Z,null,void 0);return new q0(this,Y,X)}async fetchWithTimeout(X,Z,Y,$){let{signal:G,method:W,...z}=Z||{},N=this._makeAbort($);if(G)G.addEventListener("abort",N,{once:!0});let w=setTimeout(N,Y),F=globalThis.ReadableStream&&z.body instanceof globalThis.ReadableStream||typeof z.body==="object"&&z.body!==null&&Symbol.asyncIterator in z.body,M={signal:$.signal,...F?{duplex:"half"}:{},method:"GET",...z};if(W)M.method=W.toUpperCase();try{return await this.fetch.call(void 0,X,M)}finally{clearTimeout(w)}}async shouldRetry(X){let Z=X.headers.get("x-should-retry");if(Z==="true")return!0;if(Z==="false")return!1;if(X.status===408)return!0;if(X.status===409)return!0;if(X.status===429)return!0;if(X.status>=500)return!0;return!1}async retryRequest(X,Z,Y,$){let G,W=$?.get("retry-after-ms");if(W){let N=parseFloat(W);if(!Number.isNaN(N))G=N}let z=$?.get("retry-after");if(z&&!G){let N=parseFloat(z);if(!Number.isNaN(N))G=N*1000;else G=Date.parse(z)-Date.now()}if(G===void 0){let N=X.maxRetries??this.maxRetries;G=this.calculateDefaultRetryTimeoutMillis(Z,N)}return await s(G),this.makeRequest(X,Z-1,Y)}calculateDefaultRetryTimeoutMillis(X,Z){let G=Z-X,W=Math.min(0.5*Math.pow(2,G),8),z=1-Math.random()*0.25;return W*z*1000}async buildRequest(X,{retryCount:Z=0}={}){let Y={...X},{method:$,path:G,query:W,defaultBaseURL:z}=Y,N=this.buildURL(G,W,z);if("timeout"in Y)R2("timeout",Y.timeout);Y.timeout=Y.timeout??this.timeout;let{bodyHeaders:w,body:F}=this.buildBody({options:Y}),M=await this.buildHeaders({options:X,method:$,bodyHeaders:w,retryCount:Z});return{req:{method:$,headers:M,...Y.signal&&{signal:Y.signal},...globalThis.ReadableStream&&F instanceof globalThis.ReadableStream&&{duplex:"half"},...F&&{body:F},...this.fetchOptions??{},...Y.fetchOptions??{}},url:N,timeout:Y.timeout}}async buildHeaders({options:X,method:Z,bodyHeaders:Y,retryCount:$}){let G={};if(this.idempotencyHeader&&Z!=="get"){if(!X.idempotencyKey)X.idempotencyKey=this.defaultIdempotencyKey();G[this.idempotencyHeader]=X.idempotencyKey}let W=V([G,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String($),...X.timeout?{"X-Stainless-Timeout":String(Math.trunc(X.timeout/1000))}:{},...y2(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(X),this._options.defaultHeaders,Y,X.headers]);return this.validateHeaders(W),W.values}_makeAbort(X){return()=>X.abort()}buildBody({options:{body:X,headers:Z}}){if(!X)return{bodyHeaders:void 0,body:void 0};let Y=V([Z]);if(ArrayBuffer.isView(X)||X instanceof ArrayBuffer||X instanceof DataView||typeof X==="string"&&Y.values.has("content-type")||globalThis.Blob&&X instanceof globalThis.Blob||X instanceof FormData||X instanceof URLSearchParams||globalThis.ReadableStream&&X instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:X};else if(typeof X==="object"&&((Symbol.asyncIterator in X)||(Symbol.iterator in X)&&("next"in X)&&typeof X.next==="function"))return{bodyHeaders:void 0,body:w0(X)};else if(typeof X==="object"&&Y.values.get("content-type")==="application/x-www-form-urlencoded")return{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(X)};else return K(this,m0,"f").call(this,{body:X,headers:Y})}}x2=L,m0=new WeakMap,O2=new WeakSet,y3=function(){return this.baseURL!=="https://api.openai.com/v1"};L.OpenAI=x2;L.DEFAULT_TIMEOUT=600000;L.OpenAIError=U;L.APIError=f;L.APIConnectionError=LX;L.APIConnectionTimeoutError=OX;L.APIUserAbortError=I;L.NotFoundError=TZ;L.ConflictError=MZ;L.RateLimitError=qZ;L.BadRequestError=HZ;L.AuthenticationError=UZ;L.InternalServerError=LZ;L.PermissionDeniedError=FZ;L.UnprocessableEntityError=EZ;L.InvalidWebhookSignatureError=$X;L.toFile=O0;L.Completions=sX;L.Chat=CX;L.Embeddings=oX;L.Files=XZ;L.Images=GZ;L.Audio=QX;L.Moderations=KZ;L.Models=WZ;L.FineTuning=ZX;L.Graders=bX;L.VectorStores=qX;L.Webhooks=NZ;L.Beta=XX;L.Batches=nX;L.Uploads=vX;L.Responses=MX;L.Realtime=FX;L.Conversations=IX;L.Evals=yX;L.Containers=jX;L.Skills=EX;L.Videos=QZ;class b3 extends L{constructor({baseURL:X=a("OPENAI_BASE_URL"),apiKey:Z=a("AZURE_OPENAI_API_KEY"),apiVersion:Y=a("OPENAI_API_VERSION"),endpoint:$,deployment:G,azureADTokenProvider:W,dangerouslyAllowBrowser:z,...N}={}){if(!Y)throw new U("The OPENAI_API_VERSION environment variable is missing or empty; either provide it, or instantiate the AzureOpenAI client with an apiVersion option, like new AzureOpenAI({ apiVersion: 'My API Version' }).");if(typeof W==="function")z=!0;if(!W&&!Z)throw new U("Missing credentials. Please pass one of `apiKey` and `azureADTokenProvider`, or set the `AZURE_OPENAI_API_KEY` environment variable.");if(W&&Z)throw new U("The `apiKey` and `azureADTokenProvider` arguments are mutually exclusive; only one can be passed at a time.");if(N.defaultQuery={...N.defaultQuery,"api-version":Y},!X){if(!$)$=process.env.AZURE_OPENAI_ENDPOINT;if(!$)throw new U("Must provide one of the `baseURL` or `endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable");X=`${$}/openai`}else if($)throw new U("baseURL and endpoint are mutually exclusive");super({apiKey:W??Z,baseURL:X,...N,...z!==void 0?{dangerouslyAllowBrowser:z}:{}});this.apiVersion="",this.apiVersion=Y,this.deploymentName=G}async buildRequest(X,Z={}){if(J8.has(X.path)&&X.method==="post"&&X.body!==void 0){if(!gX(X.body))throw Error("Expected request body to be an object");let Y=this.deploymentName||X.body.model||X.__metadata?.model;if(Y!==void 0&&!this.baseURL.includes("/deployments"))X.path=`/deployments/${Y}${X.path}`}return super.buildRequest(X,Z)}async authHeaders(X){if(typeof this._options.apiKey==="string")return V([{"api-key":this.apiKey}]);return super.authHeaders(X)}}var J8=new Set(["/completions","/chat/completions","/embeddings","/audio/transcriptions","/audio/translations","/audio/speech","/images/generations","/batches","/images/edits"]);export{L as Cc,b3 as Dc};
|
|
@@ -0,0 +1,2 @@
|
|
|
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};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Ia as P,Ja as J}from"./chunk-p3egm13v.js";import{wb as V,xb as W,yb as X}from"./chunk-ceg8d25c.js";import"./chunk-22m0y0fs.js";var Y=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},Z=class{#h;#j=new k;#z;#H;constructor(h){this.#h={...h}}async init(){if(this.#z=this.#h.database,this.#H=new $(this.#z),this.#h.onCreateConnection)await this.#h.onCreateConnection(this.#H)}async acquireConnection(){return await this.#j.lock(),this.#H}async beginTransaction(h){await h.executeQuery(J.raw("begin"))}async commitTransaction(h){await h.executeQuery(J.raw("commit"))}async rollbackTransaction(h){await h.executeQuery(J.raw("rollback"))}async releaseConnection(){this.#j.unlock()}async destroy(){this.#z?.close()}},$=class{#h;constructor(h){this.#h=h}executeQuery(h){let{sql:z,parameters:H}=h,j=this.#h.prepare(z).all(...H);return Promise.resolve({rows:j})}async*streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},k=class{#h;#j;async lock(){while(this.#h!==void 0)await this.#h;this.#h=new Promise((h)=>{this.#j=h})}unlock(){let h=this.#j;this.#h=void 0,this.#j=void 0,h?.()}},w=class{#h;constructor(h){this.#h=h}async getSchemas(){return[]}async getTables(h={withInternalKyselyTables:!1}){let z=this.#h.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();if(!h.withInternalKyselyTables)z=z.where("name","!=",W).where("name","!=",X);let H=await z.execute();return Promise.all(H.map(({name:j})=>this.#j(j)))}async getMetadata(h){return{tables:await this.getTables(h)}}async#j(h){let z=this.#h,H=(await z.selectFrom("sqlite_master").where("name","=",h).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((j)=>j.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:h,columns:(await z.selectFrom(P`pragma_table_info(${h})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map((j)=>({name:j.name,dataType:j.type,isNullable:!j.notnull,isAutoIncrementing:j.name===H,hasDefaultValue:j.dflt_value!=null})),isView:!0}}},K=class extends V{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},F=class{#h;constructor(h){this.#h={...h}}createDriver(){return new Z(this.#h)}createQueryCompiler(){return new K}createAdapter(){return new Y}createIntrospector(h){return new w(h)}};export{F as NodeSqliteDialect};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{Ia as J,Ja as H}from"./chunk-p3egm13v.js";import{wb as P,xb as V,yb as W}from"./chunk-ceg8d25c.js";import"./chunk-22m0y0fs.js";var X=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},Y=class{#h;#j=new $;#w;#z;constructor(h){this.#h={...h}}async init(){if(this.#w=this.#h.database,this.#z=new Z(this.#w),this.#h.onCreateConnection)await this.#h.onCreateConnection(this.#z)}async acquireConnection(){return await this.#j.lock(),this.#z}async beginTransaction(h){await h.executeQuery(H.raw("begin"))}async commitTransaction(h){await h.executeQuery(H.raw("commit"))}async rollbackTransaction(h){await h.executeQuery(H.raw("rollback"))}async releaseConnection(){this.#j.unlock()}async destroy(){this.#w?.close()}},Z=class{#h;constructor(h){this.#h=h}executeQuery(h){let{sql:w,parameters:z}=h,j=this.#h.prepare(w);return Promise.resolve({rows:j.all(z)})}async*streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},$=class{#h;#j;async lock(){while(this.#h!==void 0)await this.#h;this.#h=new Promise((h)=>{this.#j=h})}unlock(){let h=this.#j;this.#h=void 0,this.#j=void 0,h?.()}},k=class{#h;constructor(h){this.#h=h}async getSchemas(){return[]}async getTables(h={withInternalKyselyTables:!1}){let w=this.#h.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();if(!h.withInternalKyselyTables)w=w.where("name","!=",V).where("name","!=",W);let z=await w.execute();return Promise.all(z.map(({name:j})=>this.#j(j)))}async getMetadata(h){return{tables:await this.getTables(h)}}async#j(h){let w=this.#h,z=(await w.selectFrom("sqlite_master").where("name","=",h).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((j)=>j.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:h,columns:(await w.selectFrom(J`pragma_table_info(${h})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map((j)=>({name:j.name,dataType:j.type,isNullable:!j.notnull,isAutoIncrementing:j.name===z,hasDefaultValue:j.dflt_value!=null})),isView:!0}}},K=class extends P{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},G=class{#h;constructor(h){this.#h={...h}}createDriver(){return new Y(this.#h)}createQueryCompiler(){return new K}createAdapter(){return new X}createIntrospector(h){return new k(h)}};export{G as BunSqliteDialect};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
function q(k){let b=3735928559,d=1103547991;for(let f=0;f<k.length;f++){let l=k.charCodeAt(f);b=Math.imul(b^l,2654435761),d=Math.imul(d^l,1597334677)}return b=Math.imul(b^b>>>16,2246822507)^Math.imul(d^d>>>13,3266489909),d=Math.imul(d^d>>>16,2246822507)^Math.imul(b^b>>>13,3266489909),(d>>>0).toString(36)+(b>>>0).toString(36)}
|
|
3
|
-
export{q as
|
|
3
|
+
export{q as Rc};
|
|
@@ -0,0 +1,8 @@
|
|
|
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};
|
|
@@ -0,0 +1,6 @@
|
|
|
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};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
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};
|