@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
package/bin/chunk-nqbz5n9d.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{j as L}from"./chunk-tf62s7rv.js";import{t as M}from"./chunk-ej5ed8pg.js";import{yb as I}from"./chunk-p7dw998p.js";import{Mb as E}from"./chunk-q0f0cac4.js";import"./chunk-7mtn96c1.js";var j=async(f,G,B)=>{let D={api:f.api,provider:f.provider,model:f.id,output:[],stopReason:"stop",timestamp:Date.now()};try{let F=B?.apiKey||I(f.provider);if(!F)throw Error(`No API key available for provider: ${f.provider}`);let Q=v(f,F,B?.headers),N=z(f,G),V=await B?.onPayload?.(N,f);if(V!==void 0)N=V;let J={...B?.signal?{signal:B.signal}:{},...B?.timeoutMs!==void 0?{timeout:B.timeoutMs}:{},...B?.maxRetries!==void 0?{maxRetries:B.maxRetries}:{}},{data:S,response:b}=await Q.chat.completions.create(N,J).withResponse();await B?.onResponse?.({status:b.status,headers:L(b.headers)},f);let X=S;if(D.responseId=X.id,X.usage)D.usage=A(X.usage,f);let Y=X.choices[0];if(Y){let Z=Y.message.content;if(typeof Z==="string"&&Z.length>0)D.output.push({type:"text",text:Z});for(let _ of Y.message.images??[]){let q=typeof _.image_url==="string"?_.image_url:_.image_url?.url;if(!q?.startsWith("data:"))continue;let $=q.match(/^data:([^;]+);base64,(.+)$/);if(!$)continue;D.output.push({type:"image",mimeType:$[1],data:$[2]})}}return D}catch(F){return D.stopReason=B?.signal?.aborted?"aborted":"error",D.errorMessage=F instanceof Error?F.message:JSON.stringify(F),D}};function v(f,G,B){return new E({apiKey:G,baseURL:f.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:{...f.headers,...B}})}function z(f,G){let B=G.input.map((D)=>{if(D.type==="text")return{type:"text",text:M(D.text)};return{type:"image_url",image_url:{url:`data:${D.mimeType};base64,${D.data}`}}});return{model:f.id,messages:[{role:"user",content:B}],stream:!1,modalities:f.output.includes("text")?["image","text"]:["image"]}}function A(f,G){let B=f.prompt_tokens||0,D=f.prompt_tokens_details?.cached_tokens||0,F=f.prompt_tokens_details?.cache_write_tokens||0,Q=F>0?Math.max(0,D-F):D,N=Math.max(0,B-Q-F),V=f.completion_tokens||0,J={input:N,output:V,cacheRead:Q,cacheWrite:F,totalTokens:N+V+Q+F,cost:{input:G.cost.input/1e6*N,output:G.cost.output/1e6*V,cacheRead:G.cost.cacheRead/1e6*Q,cacheWrite:G.cost.cacheWrite/1e6*F,total:0}};return J.cost.total=J.cost.input+J.cost.output+J.cost.cacheRead+J.cost.cacheWrite,J}export{j as generateImagesOpenRouter};
|
package/bin/chunk-nts78x0z.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{k as G,l as E,m as C,n as I,o as M,p as b}from"./chunk-9ea4dgez.js";import{q as v}from"./chunk-bqb5hsbe.js";import{t as K}from"./chunk-ej5ed8pg.js";import{yb as L}from"./chunk-p7dw998p.js";import{Ab as P,Bb as y,Cb as T}from"./chunk-nerm3qbg.js";import{Zb as j}from"./chunk-4vs22x1t.js";import"./chunk-7mtn96c1.js";var x=0,F=(q,V,J)=>{let N=new T;return(async()=>{let w={role:"assistant",content:[],api:"google-generative-ai",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 X=J?.apiKey||L(q.provider)||"",$=f(q,X,J?.headers),Y=k(q,V,J),R=await J?.onPayload?.(Y,q);if(R!==void 0)Y=R;let B=await $.models.generateContentStream(Y);N.push({type:"start",partial:w});let Q=null,O=w.content,Z=()=>O.length-1;for await(let _ of B){w.responseId||=_.responseId;let U=_.candidates?.[0];if(U?.content?.parts)for(let W of U.content.parts){if(W.text!==void 0){let D=G(W);if(!Q||D&&Q.type!=="thinking"||!D&&Q.type!=="text"){if(Q)if(Q.type==="text")N.push({type:"text_end",contentIndex:O.length-1,content:Q.text,partial:w});else N.push({type:"thinking_end",contentIndex:Z(),content:Q.thinking,partial:w});if(D)Q={type:"thinking",thinking:"",thinkingSignature:void 0},w.content.push(Q),N.push({type:"thinking_start",contentIndex:Z(),partial:w});else Q={type:"text",text:""},w.content.push(Q),N.push({type:"text_start",contentIndex:Z(),partial:w})}if(Q.type==="thinking")Q.thinking+=W.text,Q.thinkingSignature=E(Q.thinkingSignature,W.thoughtSignature),N.push({type:"thinking_delta",contentIndex:Z(),delta:W.text,partial:w});else Q.text+=W.text,Q.textSignature=E(Q.textSignature,W.thoughtSignature),N.push({type:"text_delta",contentIndex:Z(),delta:W.text,partial:w})}if(W.functionCall){if(Q){if(Q.type==="text")N.push({type:"text_end",contentIndex:Z(),content:Q.text,partial:w});else N.push({type:"thinking_end",contentIndex:Z(),content:Q.thinking,partial:w});Q=null}let D=W.functionCall.id,z={type:"toolCall",id:!D||w.content.some((S)=>S.type==="toolCall"&&S.id===D)?`${W.functionCall.name}_${Date.now()}_${++x}`:D,name:W.functionCall.name||"",arguments:W.functionCall.args??{},...W.thoughtSignature&&{thoughtSignature:W.thoughtSignature}};w.content.push(z),N.push({type:"toolcall_start",contentIndex:Z(),partial:w}),N.push({type:"toolcall_delta",contentIndex:Z(),delta:JSON.stringify(z.arguments),partial:w}),N.push({type:"toolcall_end",contentIndex:Z(),toolCall:z,partial:w})}}if(U?.finishReason){if(w.stopReason=b(U.finishReason),w.content.some((W)=>W.type==="toolCall"))w.stopReason="toolUse"}if(_.usageMetadata)w.usage={input:(_.usageMetadata.promptTokenCount||0)-(_.usageMetadata.cachedContentTokenCount||0),output:(_.usageMetadata.candidatesTokenCount||0)+(_.usageMetadata.thoughtsTokenCount||0),cacheRead:_.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,totalTokens:_.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},P(q,w.usage)}if(Q)if(Q.type==="text")N.push({type:"text_end",contentIndex:Z(),content:Q.text,partial:w});else N.push({type:"thinking_end",contentIndex:Z(),content:Q.thinking,partial:w});if(J?.signal?.aborted)throw Error("Request was aborted");if(w.stopReason==="aborted"||w.stopReason==="error")throw Error("An unknown error occurred");N.push({type:"done",reason:w.stopReason,message:w}),N.end()}catch(X){for(let $ of w.content)if("index"in $)delete $.index;w.stopReason=J?.signal?.aborted?"aborted":"error",w.errorMessage=X instanceof Error?X.message:JSON.stringify(X),N.push({type:"error",reason:w.stopReason,error:w}),N.end()}})(),N},e=(q,V,J)=>{let N=J?.apiKey||L(q.provider);if(!N)throw Error(`No API key for provider: ${q.provider}`);let w=v(q,J,N);if(!J?.reasoning)return F(q,V,{...w,thinking:{enabled:!1}});let X=y(q,J.reasoning),$=X==="off"?"high":X,Y=q;if(H(Y)||h(Y)||A(Y))return F(q,V,{...w,thinking:{enabled:!0,level:a($,Y)}});return F(q,V,{...w,thinking:{enabled:!0,budgetTokens:m(Y,$,J.thinkingBudgets)}})};function f(q,V,J){let N={};if(q.baseUrl)N.baseUrl=q.baseUrl,N.apiVersion="";if(q.headers||J)N.headers={...q.headers,...J};return new j({apiKey:V,httpOptions:Object.keys(N).length>0?N:void 0})}function k(q,V,J={}){let N=C(q,V),w={};if(J.temperature!==void 0)w.temperature=J.temperature;if(J.maxTokens!==void 0)w.maxOutputTokens=J.maxTokens;let X={...Object.keys(w).length>0&&w,...V.systemPrompt&&{systemInstruction:K(V.systemPrompt)},...V.tools&&V.tools.length>0&&{tools:I(V.tools)}};if(V.tools&&V.tools.length>0&&J.toolChoice)X.toolConfig={functionCallingConfig:{mode:M(J.toolChoice)}};else X.toolConfig=void 0;if(J.thinking?.enabled&&q.reasoning){let Y={includeThoughts:!0};if(J.thinking.level!==void 0)Y.thinkingLevel=J.thinking.level;else if(J.thinking.budgetTokens!==void 0)Y.thinkingBudget=J.thinking.budgetTokens;X.thinkingConfig=Y}else if(q.reasoning&&J.thinking&&!J.thinking.enabled)X.thinkingConfig=g(q);if(J.signal){if(J.signal.aborted)throw Error("Request aborted");X.abortSignal=J.signal}return{model:q.id,contents:N,config:X}}function A(q){return/gemma-?4/.test(q.id.toLowerCase())}function H(q){return/gemini-3(?:\.\d+)?-pro/.test(q.id.toLowerCase())}function h(q){return/gemini-3(?:\.\d+)?-flash/.test(q.id.toLowerCase())}function g(q){if(H(q))return{thinkingLevel:"LOW"};if(h(q))return{thinkingLevel:"MINIMAL"};if(A(q))return{thinkingLevel:"MINIMAL"};return{thinkingBudget:0}}function a(q,V){if(H(V))switch(q){case"minimal":case"low":return"LOW";case"medium":case"high":return"HIGH"}if(A(V))switch(q){case"minimal":case"low":return"MINIMAL";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 m(q,V,J){if(J?.[V]!==void 0)return J[V];if(q.id.includes("2.5-pro"))return{minimal:128,low:2048,medium:8192,high:32768}[V];if(q.id.includes("2.5-flash-lite"))return{minimal:512,low:2048,medium:8192,high:24576}[V];if(q.id.includes("2.5-flash"))return{minimal:128,low:2048,medium:8192,high:24576}[V];return-1}export{e as streamSimpleGoogle,F as streamGoogle};
|
package/bin/chunk-p7dw998p.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{nc as Z}from"./chunk-7mtn96c1.js";var $=function(b,w){if(typeof b==="string"&&/^\.\.?\//.test(b))return b.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(z,B,G,X,Y){return B?w?".jsx":".js":G&&(!X||!Y)?z:G+X+"."+Y.toLowerCase()+"js"});return b},Q=null,U=null,W=null,T=(b)=>import($(b)),j="node:fs",D="node:os",L="node:path";if(typeof process<"u"&&(process.versions?.node||process.versions?.bun))T(j).then((b)=>{Q=b.existsSync}),T(D).then((b)=>{U=b.homedir}),T(L).then((b)=>{W=b.join});var M=null;function q(b){if(!process.versions?.bun)return;if(typeof process>"u")return;if(Object.keys(process.env).length>0)return;if(M===null){M=new Map;try{let{readFileSync:w}=Z("fs"),z=w("/proc/self/environ","utf-8");for(let B of z.split("\x00")){let G=B.indexOf("=");if(G>0)M.set(B.slice(0,G),B.slice(G+1))}}catch{}}return M.get(b)}var H=null;function N(){if(H===null){if(!Q||!U||!W){if(!(typeof process<"u"&&(process.versions?.node||process.versions?.bun)))H=!1;return!1}let b=process.env.GOOGLE_APPLICATION_CREDENTIALS||q("GOOGLE_APPLICATION_CREDENTIALS");if(b)H=Q(b);else H=Q(W(U(),".config","gcloud","application_default_credentials.json"))}return H}function O(b){if(b==="github-copilot")return["COPILOT_GITHUB_TOKEN"];if(b==="anthropic")return["ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"];let z={openai:"OPENAI_API_KEY","azure-openai-responses":"AZURE_OPENAI_API_KEY",deepseek:"DEEPSEEK_API_KEY",google:"GEMINI_API_KEY","google-vertex":"GOOGLE_CLOUD_API_KEY",groq:"GROQ_API_KEY",cerebras:"CEREBRAS_API_KEY",xai:"XAI_API_KEY",openrouter:"OPENROUTER_API_KEY","vercel-ai-gateway":"AI_GATEWAY_API_KEY",zai:"ZAI_API_KEY",mistral:"MISTRAL_API_KEY",minimax:"MINIMAX_API_KEY","minimax-cn":"MINIMAX_CN_API_KEY",moonshotai:"MOONSHOT_API_KEY","moonshotai-cn":"MOONSHOT_API_KEY",huggingface:"HF_TOKEN",fireworks:"FIREWORKS_API_KEY",together:"TOGETHER_API_KEY",opencode:"OPENCODE_API_KEY","opencode-go":"OPENCODE_API_KEY","kimi-coding":"KIMI_API_KEY","cloudflare-workers-ai":"CLOUDFLARE_API_KEY","cloudflare-ai-gateway":"CLOUDFLARE_API_KEY",xiaomi:"XIAOMI_API_KEY","xiaomi-token-plan-cn":"XIAOMI_TOKEN_PLAN_CN_API_KEY","xiaomi-token-plan-ams":"XIAOMI_TOKEN_PLAN_AMS_API_KEY","xiaomi-token-plan-sgp":"XIAOMI_TOKEN_PLAN_SGP_API_KEY"}[b];return z?[z]:void 0}function R(b){let w=O(b);if(!w)return;let z=w.filter((B)=>!!process.env[B]||!!q(B));return z.length>0?z:void 0}function g(b){let w=R(b);if(w?.[0])return process.env[w[0]]||q(w[0]);if(b==="google-vertex"){let z=N(),B=!!(process.env.GOOGLE_CLOUD_PROJECT||process.env.GCLOUD_PROJECT||q("GOOGLE_CLOUD_PROJECT")||q("GCLOUD_PROJECT")),G=!!(process.env.GOOGLE_CLOUD_LOCATION||q("GOOGLE_CLOUD_LOCATION"));if(z&&B&&G)return"<authenticated>"}if(b==="amazon-bedrock"){if(process.env.AWS_PROFILE||process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY||process.env.AWS_BEARER_TOKEN_BEDROCK||process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||process.env.AWS_CONTAINER_CREDENTIALS_FULL_URI||process.env.AWS_WEB_IDENTITY_TOKEN_FILE||q("AWS_PROFILE")||q("AWS_ACCESS_KEY_ID")&&q("AWS_SECRET_ACCESS_KEY")||q("AWS_BEARER_TOKEN_BEDROCK")||q("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI")||q("AWS_CONTAINER_CREDENTIALS_FULL_URI")||q("AWS_WEB_IDENTITY_TOKEN_FILE"))return"<authenticated>"}return}
|
|
3
|
-
export{g as yb};
|
package/bin/chunk-q5tv58nz.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{h as f}from"./chunk-9pfvgwrc.js";import{s as j}from"./chunk-bqb5hsbe.js";import{t as U}from"./chunk-ej5ed8pg.js";import{xb as H}from"./chunk-vhfqr7n5.js";import{Ab as J}from"./chunk-nerm3qbg.js";function M(Q,E){let W={v:1,id:Q};if(E)W.phase=E;return JSON.stringify(W)}function R(Q){if(!Q)return;if(Q.startsWith("{"))try{let E=JSON.parse(Q);if(E.v===1&&typeof E.id==="string"){if(E.phase==="commentary"||E.phase==="final_answer")return{id:E.id,phase:E.phase};return{id:E.id}}}catch{}return{id:Q}}function b(Q,E,W,L){let D=[],N=(G)=>{let O=G.replace(/[^a-zA-Z0-9_-]/g,"_");return(O.length>64?O.slice(0,64):O).replace(/_+$/,"")},A=(G)=>{let O=`fc_${f(G)}`;return O.length>64?O.slice(0,64):O},w=(G,O,X)=>{if(!W.has(Q.provider))return N(G);if(!G.includes("|"))return N(G);let[V,F]=G.split("|"),$=N(V),Y=X.provider!==Q.provider||X.api!==Q.api?A(F):N(F);if(!Y.startsWith("fc_"))Y=N(`fc_${Y}`);return`${$}|${Y}`},Z=j(E.messages,Q,w);if((L?.includeSystemPrompt??!0)&&E.systemPrompt){let G=Q.reasoning?"developer":"system";D.push({role:G,content:U(E.systemPrompt)})}let q=0;for(let G of Z){if(G.role==="user")if(typeof G.content==="string")D.push({role:"user",content:[{type:"input_text",text:U(G.content)}]});else{let O=G.content.map((X)=>{if(X.type==="text")return{type:"input_text",text:U(X.text)};return{type:"input_image",detail:"auto",image_url:`data:${X.mimeType};base64,${X.data}`}});if(O.length===0)continue;D.push({role:"user",content:O})}else if(G.role==="assistant"){let O=[],X=G,V=X.model!==Q.id&&X.provider===Q.provider&&X.api===Q.api;for(let F of G.content)if(F.type==="thinking"){if(F.thinkingSignature){let $=JSON.parse(F.thinkingSignature);O.push($)}}else if(F.type==="text"){let $=F,_=R($.textSignature),Y=_?.id;if(!Y)Y=`msg_${q}`;else if(Y.length>64)Y=`msg_${f(Y)}`;O.push({type:"message",role:"assistant",content:[{type:"output_text",text:U($.text),annotations:[]}],status:"completed",id:Y,phase:_?.phase})}else if(F.type==="toolCall"){let $=F,[_,Y]=$.id.split("|"),y=Y;if(V&&y?.startsWith("fc_"))y=void 0;O.push({type:"function_call",id:y,call_id:_,name:$.name,arguments:JSON.stringify($.arguments)})}if(O.length===0)continue;D.push(...O)}else if(G.role==="toolResult"){let O=G.content.filter((_)=>_.type==="text").map((_)=>_.text).join(`
|
|
3
|
-
`),X=G.content.some((_)=>_.type==="image"),V=O.length>0,[F]=G.toolCallId.split("|"),$;if(X&&Q.input.includes("image")){let _=[];if(V)_.push({type:"input_text",text:U(O)});for(let Y of G.content)if(Y.type==="image")_.push({type:"input_image",detail:"auto",image_url:`data:${Y.mimeType};base64,${Y.data}`});$=_}else $=U(V?O:"(see attached image)");D.push({type:"function_call_output",call_id:F,output:$})}q++}return D}function x(Q,E){let W=E?.strict===void 0?!1:E.strict;return Q.map((L)=>({type:"function",name:L.name,description:L.description,parameters:L.parameters,strict:W}))}async function B(Q,E,W,L,D){let N=null,A=null,w=E.content,Z=()=>w.length-1;for await(let K of Q)if(K.type==="response.created")E.responseId=K.response.id;else if(K.type==="response.output_item.added"){let q=K.item;if(q.type==="reasoning")N=q,A={type:"thinking",thinking:""},E.content.push(A),W.push({type:"thinking_start",contentIndex:Z(),partial:E});else if(q.type==="message")N=q,A={type:"text",text:""},E.content.push(A),W.push({type:"text_start",contentIndex:Z(),partial:E});else if(q.type==="function_call")N=q,A={type:"toolCall",id:`${q.call_id}|${q.id}`,name:q.name,arguments:{},partialJson:q.arguments||""},E.content.push(A),W.push({type:"toolcall_start",contentIndex:Z(),partial:E})}else if(K.type==="response.reasoning_summary_part.added"){if(N&&N.type==="reasoning")N.summary=N.summary||[],N.summary.push(K.part)}else if(K.type==="response.reasoning_summary_text.delta"){if(N?.type==="reasoning"&&A?.type==="thinking"){N.summary=N.summary||[];let q=N.summary[N.summary.length-1];if(q)A.thinking+=K.delta,q.text+=K.delta,W.push({type:"thinking_delta",contentIndex:Z(),delta:K.delta,partial:E})}}else if(K.type==="response.reasoning_summary_part.done"){if(N?.type==="reasoning"&&A?.type==="thinking"){N.summary=N.summary||[];let q=N.summary[N.summary.length-1];if(q)A.thinking+=`
|
|
4
|
-
|
|
5
|
-
`,q.text+=`
|
|
6
|
-
|
|
7
|
-
`,W.push({type:"thinking_delta",contentIndex:Z(),delta:`
|
|
8
|
-
|
|
9
|
-
`,partial:E})}}else if(K.type==="response.reasoning_text.delta"){if(N?.type==="reasoning"&&A?.type==="thinking")A.thinking+=K.delta,W.push({type:"thinking_delta",contentIndex:Z(),delta:K.delta,partial:E})}else if(K.type==="response.content_part.added"){if(N?.type==="message"){if(N.content=N.content||[],K.part.type==="output_text"||K.part.type==="refusal")N.content.push(K.part)}}else if(K.type==="response.output_text.delta"){if(N?.type==="message"&&A?.type==="text"){if(!N.content||N.content.length===0)continue;let q=N.content[N.content.length-1];if(q?.type==="output_text")A.text+=K.delta,q.text+=K.delta,W.push({type:"text_delta",contentIndex:Z(),delta:K.delta,partial:E})}}else if(K.type==="response.refusal.delta"){if(N?.type==="message"&&A?.type==="text"){if(!N.content||N.content.length===0)continue;let q=N.content[N.content.length-1];if(q?.type==="refusal")A.text+=K.delta,q.refusal+=K.delta,W.push({type:"text_delta",contentIndex:Z(),delta:K.delta,partial:E})}}else if(K.type==="response.function_call_arguments.delta"){if(N?.type==="function_call"&&A?.type==="toolCall")A.partialJson+=K.delta,A.arguments=H(A.partialJson),W.push({type:"toolcall_delta",contentIndex:Z(),delta:K.delta,partial:E})}else if(K.type==="response.function_call_arguments.done"){if(N?.type==="function_call"&&A?.type==="toolCall"){let q=A.partialJson;if(A.partialJson=K.arguments,A.arguments=H(A.partialJson),K.arguments.startsWith(q)){let G=K.arguments.slice(q.length);if(G.length>0)W.push({type:"toolcall_delta",contentIndex:Z(),delta:G,partial:E})}}}else if(K.type==="response.output_item.done"){let q=K.item;if(q.type==="reasoning"&&A?.type==="thinking"){let G=q.summary?.map((X)=>X.text).join(`
|
|
10
|
-
|
|
11
|
-
`)||"",O=q.content?.map((X)=>X.text).join(`
|
|
12
|
-
|
|
13
|
-
`)||"";A.thinking=G||O||A.thinking,A.thinkingSignature=JSON.stringify(q),W.push({type:"thinking_end",contentIndex:Z(),content:A.thinking,partial:E}),A=null}else if(q.type==="message"&&A?.type==="text")A.text=q.content.map((G)=>G.type==="output_text"?G.text:G.refusal).join(""),A.textSignature=M(q.id,q.phase??void 0),W.push({type:"text_end",contentIndex:Z(),content:A.text,partial:E}),A=null;else if(q.type==="function_call"){let G=A?.type==="toolCall"&&A.partialJson?H(A.partialJson):H(q.arguments||"{}"),O;if(A?.type==="toolCall")A.arguments=G,delete A.partialJson,O=A;else O={type:"toolCall",id:`${q.call_id}|${q.id}`,name:q.name,arguments:G};A=null,W.push({type:"toolcall_end",contentIndex:Z(),toolCall:O,partial:E})}}else if(K.type==="response.completed"){let q=K.response;if(q?.id)E.responseId=q.id;if(q?.usage){let G=q.usage.input_tokens_details?.cached_tokens||0;E.usage={input:(q.usage.input_tokens||0)-G,output:q.usage.output_tokens||0,cacheRead:G,cacheWrite:0,totalTokens:q.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(J(L,E.usage),D?.applyServiceTierPricing){let G=D.resolveServiceTier?D.resolveServiceTier(q?.service_tier,D.serviceTier):q?.service_tier??D.serviceTier;D.applyServiceTierPricing(E.usage,G)}if(E.stopReason=C(q?.status),E.content.some((G)=>G.type==="toolCall")&&E.stopReason==="stop")E.stopReason="toolUse"}else if(K.type==="error")throw Error(`Error Code ${K.code}: ${K.message}`||"Unknown error");else if(K.type==="response.failed"){let q=K.response?.error,G=K.response?.incomplete_details,O=q?`${q.code||"unknown"}: ${q.message||"no message"}`:G?.reason?`incomplete: ${G.reason}`:"Unknown error (no error details in response)";throw Error(O)}}function C(Q){if(!Q)return"stop";switch(Q){case"completed":return"stop";case"incomplete":return"length";case"failed":case"cancelled":return"error";case"in_progress":case"queued":return"stop";default:throw Error(`Unhandled stop reason: ${Q}`)}}
|
|
14
|
-
export{b as e,x as f,B as g};
|
package/bin/chunk-r3vpwnnb.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import"./chunk-xg9xscqz.js";import{L as I,ba as w}from"./chunk-8eg1rj5q.js";import"./chunk-7mtn96c1.js";function R(q,$){if(typeof q==="string"&&typeof $==="string")return q.toLowerCase()===$.toLowerCase();return q===$}function y(q,$){if(typeof q!=="string")return $.includes(q);return $.some((E)=>typeof E==="string"&&q.toLowerCase()===E.toLowerCase())}function j(q,$){return!y(q,$)}function g(q,$){if(typeof q!=="string"||typeof $!=="string")return!1;return q.toLowerCase().includes($.toLowerCase())}function f(q,$){if(typeof q!=="string"||typeof $!=="string")return!1;return q.toLowerCase().startsWith($.toLowerCase())}function V(q,$){if(typeof q!=="string"||typeof $!=="string")return!1;return q.toLowerCase().endsWith($.toLowerCase())}var v=(q,$)=>{let E=null,M=w({config:{adapterId:"memory",adapterName:"Memory Adapter",usePlural:!1,debugLogs:$?.debugLogs||!1,supportsArrays:!0,customTransformInput(P){if(P.options.advanced?.database?.generateId==="serial"&&P.field==="id"&&P.action==="create")return q[P.model].length+1;return P.data},transaction:async(P)=>{let A=structuredClone(q);try{return await P(M(E))}catch(_){throw Object.keys(q).forEach((S)=>{q[S]=A[S]}),_}}},adapter:({getFieldName:P,getDefaultFieldName:A,options:_,getModelName:S})=>{let N=(x,K,Y)=>{if(!K)return x;return x.sort((L,Z)=>{let z=P({model:Y,field:K.field}),D=L[z],X=Z[z],Q=0;if(D==null&&X==null)Q=0;else if(D==null)Q=-1;else if(X==null)Q=1;else if(typeof D==="string"&&typeof X==="string")Q=D.localeCompare(X);else if(D instanceof Date&&X instanceof Date)Q=D.getTime()-X.getTime();else if(typeof D==="number"&&typeof X==="number")Q=D-X;else if(typeof D==="boolean"&&typeof X==="boolean")Q=D===X?0:D?1:-1;else Q=String(D).localeCompare(String(X));return K.direction==="asc"?Q:-Q})};function F(x,K,Y,L){let Z=(()=>{let X=q[K];if(!X)throw I.error(`[MemoryAdapter] Model ${K} not found in the DB`,Object.keys(q)),Error(`Model ${K} not found`);let Q=(G,O)=>{let{field:J,value:H,operator:B,mode:k="sensitive"}=O,U=k==="insensitive"&&(typeof H==="string"||Array.isArray(H)&&H.every((W)=>typeof W==="string"));switch(B){case"in":if(!Array.isArray(H))throw Error("Value must be an array");if(U)return y(G[J],H);return H.includes(G[J]);case"not_in":if(!Array.isArray(H))throw Error("Value must be an array");if(U)return j(G[J],H);return!H.includes(G[J]);case"contains":if(U)return g(G[J],H);return G[J]?.includes(H);case"starts_with":if(U)return f(G[J],H);return G[J].startsWith(H);case"ends_with":if(U)return V(G[J],H);return G[J].endsWith(H);case"ne":return U?!R(G[J],H):G[J]!==H;case"gt":return H!=null&&Boolean(G[J]>H);case"gte":return H!=null&&Boolean(G[J]>=H);case"lt":return H!=null&&Boolean(G[J]<H);case"lte":return H!=null&&Boolean(G[J]<=H);default:if(U)return R(G[J],H);if(H===null)return G[J]==null;return G[J]===H}},T=X.filter((G)=>{if(!x.length||x.length===0)return!0;let O=Q(G,x[0]);for(let J of x){let H=Q(G,J);if(J.connector==="OR")O=O||H;else O=O&&H}return O});if(L?.length&&L.length>0)T=T.map((G)=>Object.fromEntries(Object.entries(G).filter(([O])=>L.includes(A({model:K,field:O})))));return T})();if(!Y)return Z;let z=new Map,D=new Map;for(let X of Z){let Q=String(X.id);if(!z.has(Q)){let G={...X};for(let[O,J]of Object.entries(Y)){let H=S(O);if(J.relation==="one-to-one")G[H]=null;else G[H]=[],D.set(`${Q}-${O}`,new Set)}z.set(Q,G)}let T=z.get(Q);for(let[G,O]of Object.entries(Y)){let J=S(G),H=q[J];if(!H)throw I.error(`[MemoryAdapter] JoinOption model ${J} not found in the DB`,Object.keys(q)),Error(`JoinOption model ${J} not found`);let B=H.filter((k)=>k[O.on.to]===X[O.on.from]);if(O.relation==="one-to-one")T[J]=B[0]||null;else{let k=D.get(`${Q}-${G}`),U=O.limit??100,W=0;for(let C of B){if(W>=U)break;if(!k.has(C.id))T[J].push(C),k.add(C.id),W++}}}}return Array.from(z.values())}return{create:async({model:x,data:K})=>{if(_.advanced?.database?.generateId==="serial")K.id=q[S(x)].length+1;if(!q[x])q[x]=[];return q[x].push(K),K},findOne:async({model:x,where:K,select:Y,join:L})=>{let Z=F(K,x,L,Y);if(L){let z=Z;if(!z.length)return null;return z[0]}return Z[0]||null},findMany:async({model:x,where:K,sortBy:Y,limit:L,select:Z,offset:z,join:D})=>{let X=F(K||[],x,D,Z);if(D){let T=X;if(!T.length)return[];N(T,Y,x);let G=T;if(z!==void 0)G=G.slice(z);if(L!==void 0)G=G.slice(0,L);return G}let Q=N(X,Y,x);if(z!==void 0)Q=Q.slice(z);if(L!==void 0)Q=Q.slice(0,L);return Q||[]},count:async({model:x,where:K})=>{if(K)return F(K,x).length;return q[x].length},update:async({model:x,where:K,update:Y})=>{let L=F(K,x);return L.forEach((Z)=>{Object.assign(Z,Y)}),L[0]||null},delete:async({model:x,where:K})=>{let Y=q[x],L=F(K,x);q[x]=Y.filter((Z)=>!L.includes(Z))},deleteMany:async({model:x,where:K})=>{let Y=q[x],L=F(K,x),Z=0;return q[x]=Y.filter((z)=>{if(L.includes(z))return Z++,!1;return!L.includes(z)}),Z},consumeOne:async({model:x,where:K})=>{let Y=q[x],L=F(K,x)[0];if(!L)return null;return q[x]=Y.filter((Z)=>Z!==L),L},updateMany({model:x,where:K,update:Y}){let L=F(K,x);return L.forEach((Z)=>{Object.assign(Z,Y)}),L[0]||null}}}});return(P)=>{return E=P,M(P)}};export{v as memoryAdapter};
|
package/bin/chunk-t1c8qk5y.js
DELETED
package/bin/chunk-tsevmz6j.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{e as I,f as s,g as k}from"./chunk-q5tv58nz.js";import"./chunk-9pfvgwrc.js";import{i as o}from"./chunk-p8c02x99.js";import{j as b}from"./chunk-tf62s7rv.js";import{q as t}from"./chunk-bqb5hsbe.js";import"./chunk-ej5ed8pg.js";import{A as QN,x as e,y as f,z as NN}from"./chunk-cm44rgmn.js";import"./chunk-vhfqr7n5.js";import{yb as g}from"./chunk-p7dw998p.js";import{Bb as r,Cb as n}from"./chunk-nerm3qbg.js";import"./chunk-k30n4wwk.js";import"./chunk-7mtn96c1.js";var zN=function(N,Q){if(typeof N==="string"&&/^\.\.?\//.test(N))return N.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(V,X,Y,Z,G){return X?Q?".jsx":".js":Y&&(!Z||!G)?V:Y+Z+"."+G.toLowerCase()+"js"});return N},B=null,VN=(N)=>import(zN(N)),RN="node:os";if(typeof process<"u"&&(process.versions?.node||process.versions?.bun))VN(RN).then((N)=>{B=N});var KN="https://chatgpt.com/backend-api",ON="https://api.openai.com/auth",x=3,l=1000,XN=new Set(["openai","openai-codex","opencode"]),_N=1009,UN=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function jN(N,Q){if(N===429||N===500||N===502||N===503||N===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(Q)}function p(N,Q){return new Promise((V,X)=>{if(Q?.aborted){X(Error("Request was aborted"));return}let Y=setTimeout(V,N);Q?.addEventListener("abort",()=>{clearTimeout(Y),X(Error("Request was aborted"))})})}var WN=(N,Q,V)=>{let X=new n;return(async()=>{let Y={role:"assistant",content:[],api:"openai-codex-responses",provider:N.provider,model:N.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let Z=V?.apiKey||g(N.provider)||"";if(!Z)throw Error(`No API key for provider: ${N.provider}`);let G=pN(Z),$=AN(N,Q,V),F=await V?.onPayload?.($,N);if(F!==void 0)$=F;let L=V?.sessionId||iN(),_=dN(N.headers,V?.headers,G,Z,V?.sessionId),j=aN(N.headers,V?.headers,G,Z,L),J=JSON.stringify($),O=V?.transport||"auto",P=O!=="sse"&&DN(V?.sessionId);if(P)i(V?.sessionId);if(O!=="sse"&&!P){let K=!1;try{if(await cN(HN(N.baseUrl),$,j,Y,X,N,()=>{K=!0},V),V?.signal?.aborted)throw Error("Request was aborted");X.push({type:"done",reason:Y.stopReason,message:Y}),X.end();return}catch(z){if(V?.signal?.aborted||qN(z))throw z;if(QN(Y,NN("provider_transport_failure",z,{configuredTransport:O,fallbackTransport:K?void 0:"sse",eventsEmitted:K,phase:K?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(J).byteLength})),SN(V?.sessionId,z),K)throw z;i(V?.sessionId)}}let D,R;for(let K=0;K<=x;K++){if(V?.signal?.aborted)throw Error("Request was aborted");try{if(D=await fetch($N(N.baseUrl),{method:"POST",headers:_,body:J,signal:V?.signal}),await V?.onResponse?.({status:D.status,headers:b(D.headers)},N),D.ok)break;let z=await D.text();if(K<x&&jN(D.status,z)){let q=l*2**K,m=D.headers.get("retry-after-ms");if(m!==null){let A=Number(m);if(Number.isFinite(A))q=Math.max(0,A)}else{let A=D.headers.get("retry-after");if(A){let u=Number(A);if(Number.isFinite(u))q=Math.max(0,u*1000);else{let c=Date.parse(A);if(!Number.isNaN(c))q=Math.max(0,c-Date.now())}}}await p(q,V?.signal);continue}let M=new Response(z,{status:D.status,statusText:D.statusText}),y=await lN(M);throw Error(y.friendlyMessage||y.message)}catch(z){if(z instanceof Error){if(z.name==="AbortError"||z.message==="Request was aborted")throw Error("Request was aborted")}if(R=z instanceof Error?z:Error(String(z)),K<x&&!R.message.includes("usage limit")){let M=l*2**K;await p(M,V?.signal);continue}throw R}}if(!D?.ok)throw R??Error("Failed after retries");if(!D.body)throw Error("No response body");if(X.push({type:"start",partial:Y}),await MN(D,Y,X,N,V),V?.signal?.aborted)throw Error("Request was aborted");X.push({type:"done",reason:Y.stopReason,message:Y}),X.end()}catch(Z){for(let G of Y.content)delete G.partialJson;Y.stopReason=V?.signal?.aborted?"aborted":"error",Y.errorMessage=Z instanceof Error?Z.message:String(Z),X.push({type:"error",reason:Y.stopReason,error:Y}),X.end()}})(),X},XQ=(N,Q,V)=>{let X=V?.apiKey||g(N.provider);if(!X)throw Error(`No API key for provider: ${N.provider}`);let Y=t(N,V,X),Z=V?.reasoning?r(N,V.reasoning):void 0;return WN(N,Q,{...Y,reasoningEffort:Z==="off"?void 0:Z})};function AN(N,Q,V){let X=I(N,Q,XN,{includeSystemPrompt:!1}),Y={model:N.id,store:!1,stream:!0,instructions:Q.systemPrompt||"You are a helpful assistant.",input:X,text:{verbosity:V?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:o(V?.sessionId),tool_choice:"auto",parallel_tool_calls:!0};if(V?.temperature!==void 0)Y.temperature=V.temperature;if(V?.serviceTier!==void 0)Y.service_tier=V.serviceTier;if(Q.tools&&Q.tools.length>0)Y.tools=s(Q.tools,{strict:null});if(V?.reasoningEffort!==void 0){let Z=V.reasoningEffort==="none"?N.thinkingLevelMap?.off??"none":N.thinkingLevelMap?.[V.reasoningEffort]??V.reasoningEffort;if(Z!==null)Y.reasoning={effort:Z,summary:V.reasoningSummary??"auto"}}return Y}function BN(N,Q){switch(Q){case"flex":return 0.5;case"priority":return N.id==="gpt-5.5"?2.5:2;default:return 1}}function YN(N,Q,V){let X=BN(V,Q);if(X===1)return;N.cost.input*=X,N.cost.output*=X,N.cost.cacheRead*=X,N.cost.cacheWrite*=X,N.cost.total=N.cost.input+N.cost.output+N.cost.cacheRead+N.cost.cacheWrite}function ZN(N,Q){if(N==="default"&&(Q==="flex"||Q==="priority"))return Q;return N??Q}function $N(N){let V=(N&&N.trim().length>0?N:KN).replace(/\/+$/,"");if(V.endsWith("/codex/responses"))return V;if(V.endsWith("/codex"))return`${V}/responses`;return`${V}/codex/responses`}function HN(N){let Q=new URL($N(N));if(Q.protocol==="https:")Q.protocol="wss:";if(Q.protocol==="http:")Q.protocol="ws:";return Q.toString()}async function MN(N,Q,V,X,Y){await k(GN(TN(N)),Q,V,X,{serviceTier:Y?.serviceTier,resolveServiceTier:ZN,applyServiceTierPricing:(Z,G)=>YN(Z,G,X)})}class C extends Error{code;payload;constructor(N,Q){super(N);this.name="CodexApiError",this.code=Q?.code,this.payload=Q?.payload,this.cause=Q?.cause}}class S extends Error{payload;constructor(N,Q){super(N);this.name="CodexProtocolError",this.payload=Q?.payload,this.cause=Q?.cause}}function qN(N){return N instanceof C||N instanceof S}async function*GN(N){for await(let Q of N){let V=typeof Q.type==="string"?Q.type:void 0;if(!V)continue;if(V==="error"){let X=Q.code||"",Y=Q.message||"";throw new C(`Codex error: ${Y||X||JSON.stringify(Q)}`,{code:X||void 0,payload:Q})}if(V==="response.failed"){let X=Q.response,Y=X?.error?.code,Z=X?.error?.message;throw new C(Z||"Codex response failed",{code:Y,payload:Q})}if(V==="response.done"||V==="response.completed"||V==="response.incomplete"){let X=Q.response,Y=X?{...X,status:wN(X.status)}:X;yield{...Q,type:"response.completed",response:Y};return}yield Q}}function wN(N){if(typeof N!=="string")return;return UN.has(N)?N:void 0}async function*TN(N){if(!N.body)return;let Q=N.body.getReader(),V=new TextDecoder,X="";try{while(!0){let{done:Y,value:Z}=await Q.read();if(Y)break;X+=V.decode(Z,{stream:!0});let G=X.indexOf(`
|
|
3
|
-
|
|
4
|
-
`);while(G!==-1){let $=X.slice(0,G);X=X.slice(G+2);let F=$.split(`
|
|
5
|
-
`).filter((L)=>L.startsWith("data:")).map((L)=>L.slice(5).trim());if(F.length>0){let L=F.join(`
|
|
6
|
-
`).trim();if(L&&L!=="[DONE]")try{yield JSON.parse(L)}catch(_){throw new S(`Invalid Codex SSE JSON: ${f(_)}`,{cause:_,payload:L})}}G=X.indexOf(`
|
|
7
|
-
|
|
8
|
-
`)}}}finally{try{await Q.cancel()}catch{}try{Q.releaseLock()}catch{}}}var CN="responses_websockets=2026-02-06",EN=300000,U=new Map,H=new Map,E=new Set;function v(N){let Q=H.get(N);if(!Q)Q={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},H.set(N,Q);return Q}function YQ(N){let Q=H.get(N);return Q?{...Q}:void 0}function ZQ(N){if(N){H.delete(N),E.delete(N);return}H.clear(),E.clear()}function fN(N){let Q=(V)=>{if(V.idleTimer)clearTimeout(V.idleTimer);W(V.socket,1000,"debug_close")};if(N){let V=U.get(N);if(V)Q(V);U.delete(N);return}for(let V of U.values())Q(V);U.clear()}e(fN);function DN(N){return N?E.has(N):!1}function i(N){if(!N)return;let Q=v(N);Q.sseFallbacks++,Q.websocketFallbackActive=DN(N)}function SN(N,Q){if(!N)return;E.add(N);let V=v(N);V.websocketFailures++,V.lastWebSocketError=f(Q),V.websocketFallbackActive=!0}var w=null;async function xN(){if(w)return w;if(process?.versions?.bun&&(process.env.HTTP_PROXY||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.https_proxy)){let V=(await VN("proxy-from-env")).getProxyForUrl;return w=class extends WebSocket{constructor(X,Y){let Z={};if(Array.isArray(Y)||typeof Y==="string")Z={protocols:Y};else Z={...Y};let G=V(X.toString().replace(/^wss:/,"https:").replace(/^ws:/,"http:"));super(X,{...Z,...G?{proxy:G}:{}})}},w}let N=globalThis.WebSocket;if(typeof N!=="function")return null;return N}class FN extends Error{code;reason;wasClean;constructor(N,Q){super(N);this.name="WebSocketCloseError",this.code=Q?.code,this.reason=Q?.reason,this.wasClean=Q?.wasClean}}function hN(N){let Q=N.readyState;return typeof Q==="number"?Q:void 0}function T(N){let Q=hN(N);return Q===void 0||Q===1}function W(N,Q=1000,V="done"){try{N.close(Q,V)}catch{}}function d(N,Q){if(Q.idleTimer)clearTimeout(Q.idleTimer);Q.idleTimer=setTimeout(()=>{if(Q.busy)return;W(Q.socket,1000,"idle_timeout"),U.delete(N)},EN)}async function h(N,Q,V){let X=await xN();if(!X)throw Error("WebSocket transport is not available in this runtime");let Y=b(Q);return delete Y["OpenAI-Beta"],new Promise((Z,G)=>{let $=!1,F;try{F=new X(N,{headers:Y})}catch(P){G(P instanceof Error?P:Error(String(P)));return}let L=()=>{if($)return;$=!0,O(),Z(F)},_=(P)=>{let D=LN(P);if($)return;$=!0,O(),G(D)},j=(P)=>{let D=JN(P);if($)return;$=!0,O(),G(D)},J=()=>{if($)return;$=!0,O(),F.close(1000,"aborted"),G(Error("Request was aborted"))},O=()=>{F.removeEventListener("open",L),F.removeEventListener("error",_),F.removeEventListener("close",j),V?.removeEventListener("abort",J)};F.addEventListener("open",L),F.addEventListener("error",_),F.addEventListener("close",j),V?.addEventListener("abort",J)})}async function gN(N,Q,V,X){if(!V){let $=await h(N,Q,X);return{socket:$,reused:!1,release:({keep:F}={})=>{if(F===!1){W($);return}W($)}}}let Y=U.get(V);if(Y){if(Y.idleTimer)clearTimeout(Y.idleTimer),Y.idleTimer=void 0;if(!Y.busy&&T(Y.socket))return Y.busy=!0,{socket:Y.socket,entry:Y,reused:!0,release:({keep:$}={})=>{if(!$||!T(Y.socket)){W(Y.socket),U.delete(V);return}Y.busy=!1,d(V,Y)}};if(Y.busy){let $=await h(N,Q,X);return{socket:$,reused:!1,release:()=>{W($)}}}if(!T(Y.socket))W(Y.socket),U.delete(V)}let Z=await h(N,Q,X),G={socket:Z,busy:!0};return U.set(V,G),{socket:Z,entry:G,reused:!1,release:({keep:$}={})=>{if(!$||!T(G.socket)){if(W(G.socket),G.idleTimer)clearTimeout(G.idleTimer);if(U.get(V)===G)U.delete(V);return}G.busy=!1,d(V,G)}}}function LN(N){if(N&&typeof N==="object"){let Q="message"in N?N.message:void 0;if(typeof Q==="string"&&Q.length>0)return Error(Q);let V="error"in N?N.error:void 0;if(V instanceof Error&&V.message.length>0)return V;if(V&&typeof V==="object"&&"message"in V){let X=V.message;if(typeof X==="string"&&X.length>0)return Error(X)}}return Error("WebSocket error")}function JN(N){if(N&&typeof N==="object"){let Q="code"in N?N.code:void 0,V="reason"in N?N.reason:void 0,X="wasClean"in N?N.wasClean:void 0,Y=typeof Q==="number"?` ${Q}`:"",Z=typeof V==="string"&&V.length>0?` ${V}`:"";if(!Z&&Q===_N)Z=" message too big";return new FN(`WebSocket closed${Y}${Z}`.trim(),{code:typeof Q==="number"?Q:void 0,reason:typeof V==="string"&&V.length>0?V:void 0,wasClean:typeof X==="boolean"?X:void 0})}return Error("WebSocket closed")}async function bN(N){if(typeof N==="string")return N;if(N instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(N));if(ArrayBuffer.isView(N)){let Q=N;return new TextDecoder().decode(new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength))}if(N&&typeof N==="object"&&"arrayBuffer"in N){let V=await N.arrayBuffer();return new TextDecoder().decode(new Uint8Array(V))}return null}async function*IN(N,Q){let V=[],X=null,Y=!1,Z=null,G=!1,$=()=>{if(!X)return;let J=X;X=null,J()},F=(J)=>{(async()=>{let O=null;try{if(!J||typeof J!=="object"||!("data"in J))return;if(O=await bN(J.data),!O)return;let P=JSON.parse(O),D=typeof P.type==="string"?P.type:"";if(D==="response.completed"||D==="response.done"||D==="response.incomplete")G=!0,Y=!0;V.push(P),$()}catch(P){Z=new S(`Invalid Codex WebSocket JSON: ${f(P)}`,{cause:P,payload:O}),Y=!0,$()}})()},L=(J)=>{Z=LN(J),Y=!0,$()},_=(J)=>{if(G){Y=!0,$();return}if(!Z)Z=JN(J);Y=!0,$()},j=()=>{Z=Error("Request was aborted"),Y=!0,$()};N.addEventListener("message",F),N.addEventListener("error",L),N.addEventListener("close",_),Q?.addEventListener("abort",j);try{while(!0){if(Q?.aborted)throw Error("Request was aborted");if(V.length>0){yield V.shift();continue}if(Y)break;await new Promise((J)=>{X=J})}if(Z)throw Z;if(!G)throw Error("WebSocket stream closed before response.completed")}finally{N.removeEventListener("message",F),N.removeEventListener("error",L),N.removeEventListener("close",_),Q?.removeEventListener("abort",j)}}function a(N){let{input:Q,previous_response_id:V,...X}=N;return X}function kN(N,Q){return JSON.stringify(N??[])===JSON.stringify(Q??[])}function vN(N,Q){return JSON.stringify(a(N))===JSON.stringify(a(Q))}function yN(N,Q){if(!vN(N,Q.lastRequestBody))return;let V=N.input??[],X=[...Q.lastRequestBody.input??[],...Q.lastResponseItems];if(V.length<X.length)return;let Y=V.slice(0,X.length);if(!kN(Y,X))return;return V.slice(X.length)}function mN(N,Q){let V=N.continuation;if(!V)return Q;let X=yN(Q,V);if(!X||!V.lastResponseId)return N.continuation=void 0,Q;return{...Q,previous_response_id:V.lastResponseId,input:X}}async function*uN(N,Q,V,X){let Y=!1;for await(let Z of N){if(!Y)Y=!0,X(),V.push({type:"start",partial:Q});yield Z}}async function cN(N,Q,V,X,Y,Z,G,$){let{socket:F,entry:L,reused:_,release:j}=await gN(N,V,$?.sessionId,$?.signal),J=!0,O=$?.transport==="websocket-cached"||$?.transport==="auto",P=Q,D=O&&L?mN(L,P):P,R=$?.sessionId?v($.sessionId):void 0;if(R){if(R.requests++,_)R.connectionsReused++;else R.connectionsCreated++;if(O)R.cachedContextRequests++;if(D.store===!0)R.storeTrueRequests++;if(R.lastInputItems=D.input?.length??0,D.previous_response_id)R.deltaRequests++,R.lastDeltaInputItems=D.input?.length??0,R.lastPreviousResponseId=D.previous_response_id;else R.fullContextRequests++,R.lastDeltaInputItems=void 0,R.lastPreviousResponseId=void 0}try{if(F.send(JSON.stringify({type:"response.create",...D})),await k(uN(GN(IN(F,$?.signal)),X,Y,G),X,Y,Z,{serviceTier:$?.serviceTier,resolveServiceTier:ZN,applyServiceTierPricing:(K,z)=>YN(K,z,Z)}),$?.signal?.aborted)J=!1;else if(O&&L&&X.responseId){let K=I(Z,{messages:[X]},XN,{includeSystemPrompt:!1}).filter((z)=>z.type!=="function_call_output");L.continuation={lastRequestBody:P,lastResponseId:X.responseId,lastResponseItems:K}}}catch(K){if(L)L.continuation=void 0;throw J=!1,K}finally{j({keep:J})}}async function lN(N){let Q=await N.text(),V=Q||N.statusText||"Request failed",X;try{let Z=JSON.parse(Q)?.error;if(Z){let G=Z.code||Z.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(G)||N.status===429){let $=Z.plan_type?` (${Z.plan_type.toLowerCase()} plan)`:"",F=Z.resets_at?Math.max(0,Math.round((Z.resets_at*1000-Date.now())/60000)):void 0,L=F!==void 0?` Try again in ~${F} min.`:"";X=`You have hit your ChatGPT usage limit${$}.${L}`.trim()}V=Z.message||X||V}}catch{}return{message:V,friendlyMessage:X}}function pN(N){try{let Q=N.split(".");if(Q.length!==3)throw Error("Invalid token");let X=JSON.parse(atob(Q[1]))?.[ON]?.chatgpt_account_id;if(!X)throw Error("No account ID in token");return X}catch{throw Error("Failed to extract accountId from token")}}function iN(){if(typeof globalThis.crypto?.randomUUID==="function")return globalThis.crypto.randomUUID();return`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function PN(N,Q,V,X){let Y=new Headers(N);for(let[G,$]of Object.entries(Q||{}))Y.set(G,$);Y.set("Authorization",`Bearer ${X}`),Y.set("chatgpt-account-id",V),Y.set("originator","pi");let Z=B?`pi (${B.platform()} ${B.release()}; ${B.arch()})`:"pi (browser)";return Y.set("User-Agent",Z),Y}function dN(N,Q,V,X,Y){let Z=PN(N,Q,V,X);if(Z.set("OpenAI-Beta","responses=experimental"),Z.set("accept","text/event-stream"),Z.set("content-type","application/json"),Y)Z.set("session_id",Y),Z.set("x-client-request-id",Y);return Z}function aN(N,Q,V,X,Y){let Z=PN(N,Q,V,X);return Z.delete("accept"),Z.delete("content-type"),Z.delete("OpenAI-Beta"),Z.delete("openai-beta"),Z.set("OpenAI-Beta",CN),Z.set("x-client-request-id",Y),Z.set("session_id",Y),Z}export{XQ as streamSimpleOpenAICodexResponses,WN as streamOpenAICodexResponses,ZQ as resetOpenAICodexWebSocketDebugStats,YQ as getOpenAICodexWebSocketDebugStats,fN as closeOpenAICodexWebSocketSessions};
|
package/bin/chunk-vfrddwfj.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{e as T,f as C,g as L}from"./chunk-q5tv58nz.js";import"./chunk-9pfvgwrc.js";import{i as S}from"./chunk-p8c02x99.js";import{j as M}from"./chunk-tf62s7rv.js";import{q as D}from"./chunk-bqb5hsbe.js";import"./chunk-ej5ed8pg.js";import"./chunk-vhfqr7n5.js";import{yb as F}from"./chunk-p7dw998p.js";import{Bb as V,Cb as f}from"./chunk-nerm3qbg.js";import{Nb as k}from"./chunk-q0f0cac4.js";import"./chunk-k30n4wwk.js";import"./chunk-7mtn96c1.js";var B="v1",E=new Set(["openai","openai-codex","opencode","azure-openai-responses"]);function I(G){let Q=new Map;if(!G)return Q;for(let w of G.split(",")){let W=w.trim();if(!W)continue;let[X,J]=W.split("=",2);if(!X||!J)continue;Q.set(X.trim(),J.trim())}return Q}function P(G,Q){if(Q?.azureDeploymentName)return Q.azureDeploymentName;return I(process.env.AZURE_OPENAI_DEPLOYMENT_NAME_MAP).get(G.id)||G.id}function g(G){if(G instanceof Error){let Q=G.status,w=typeof Q==="number"?Q:void 0;if(w!==void 0)return`Azure OpenAI API error (${w}): ${G.message}`;return G.message}try{return JSON.stringify(G)}catch{return String(G)}}var O=(G,Q,w)=>{let W=new f;return(async()=>{let X=P(G,w),J={role:"assistant",content:[],api:"azure-openai-responses",provider:G.provider,model:G.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 Y=w?.apiKey||F(G.provider)||"",$=K(G,Y,w),q=N(G,Q,w,X),H=await w?.onPayload?.(q,G);if(H!==void 0)q=H;let _={...w?.signal?{signal:w.signal}:{},...w?.timeoutMs!==void 0?{timeout:w.timeoutMs}:{},...w?.maxRetries!==void 0?{maxRetries:w.maxRetries}:{}},{data:j,response:Z}=await $.responses.create(q,_).withResponse();if(await w?.onResponse?.({status:Z.status,headers:M(Z.headers)},G),W.push({type:"start",partial:J}),await L(j,J,W,G),w?.signal?.aborted)throw Error("Request was aborted");if(J.stopReason==="aborted"||J.stopReason==="error")throw Error("An unknown error occurred");W.push({type:"done",reason:J.stopReason,message:J}),W.end()}catch(Y){for(let $ of J.content)delete $.index,delete $.partialJson;J.stopReason=w?.signal?.aborted?"aborted":"error",J.errorMessage=g(Y),W.push({type:"error",reason:J.stopReason,error:J}),W.end()}})(),W},d=(G,Q,w)=>{let W=w?.apiKey||F(G.provider);if(!W)throw Error(`No API key for provider: ${G.provider}`);let X=D(G,w,W),J=w?.reasoning?V(G,w.reasoning):void 0;return O(G,Q,{...X,reasoningEffort:J==="off"?void 0:J})};function h(G){let Q=G.trim().replace(/\/+$/,""),w;try{w=new URL(Q)}catch{throw Error(`Invalid Azure OpenAI base URL: ${G}`)}let W=w.hostname.endsWith(".openai.azure.com")||w.hostname.endsWith(".cognitiveservices.azure.com"),X=w.pathname.replace(/\/+$/,"");if(W&&(X===""||X==="/"||X==="/openai"))w.pathname="/openai/v1",w.search="";return w.toString().replace(/\/+$/,"")}function z(G){return`https://${G}.openai.azure.com/openai/v1`}function b(G,Q){let w=Q?.azureApiVersion||process.env.AZURE_OPENAI_API_VERSION||B,W=Q?.azureBaseUrl?.trim()||process.env.AZURE_OPENAI_BASE_URL?.trim()||void 0,X=Q?.azureResourceName||process.env.AZURE_OPENAI_RESOURCE_NAME,J=W;if(!J&&X)J=z(X);if(!J&&G.baseUrl)J=G.baseUrl;if(!J)throw Error("Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.");return{baseUrl:h(J),apiVersion:w}}function K(G,Q,w){if(!Q){if(!process.env.AZURE_OPENAI_API_KEY)throw Error("Azure OpenAI API key is required. Set AZURE_OPENAI_API_KEY environment variable or pass it as an argument.");Q=process.env.AZURE_OPENAI_API_KEY}let W={...G.headers};if(w?.headers)Object.assign(W,w.headers);let{baseUrl:X,apiVersion:J}=b(G,w);return new k({apiKey:Q,apiVersion:J,dangerouslyAllowBrowser:!0,defaultHeaders:W,baseURL:X})}function N(G,Q,w,W){let X=T(G,Q,E),J={model:W,input:X,stream:!0,prompt_cache_key:S(w?.sessionId)};if(w?.maxTokens)J.max_output_tokens=w?.maxTokens;if(w?.temperature!==void 0)J.temperature=w?.temperature;if(Q.tools&&Q.tools.length>0)J.tools=C(Q.tools);if(G.reasoning){if(w?.reasoningEffort||w?.reasoningSummary){let Y=w?.reasoningEffort?G.thinkingLevelMap?.[w.reasoningEffort]??w.reasoningEffort:"medium";J.reasoning={effort:Y,summary:w?.reasoningSummary||"auto"},J.include=["reasoning.encrypted_content"]}else if(G.thinkingLevelMap?.off!==null)J.reasoning={effort:G.thinkingLevelMap?.off??"none"}}return J}export{d as streamSimpleAzureOpenAIResponses,O as streamAzureOpenAIResponses};
|
package/bin/chunk-wsgbp0ae.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{a as p,b as d,c as i,d as m}from"./chunk-x7pbj6bf.js";import{i as a}from"./chunk-p8c02x99.js";import{j as h}from"./chunk-tf62s7rv.js";import{q as c,s as n}from"./chunk-bqb5hsbe.js";import{t as w}from"./chunk-ej5ed8pg.js";import{xb as T}from"./chunk-vhfqr7n5.js";import{yb as I}from"./chunk-p7dw998p.js";import{Ab as g,Bb as k,Cb as r}from"./chunk-nerm3qbg.js";import{Mb as u}from"./chunk-q0f0cac4.js";import"./chunk-k30n4wwk.js";import"./chunk-7mtn96c1.js";function QJ(J){for(let X of J){if(X.role==="toolResult")return!0;if(X.role==="assistant"){if(X.content.some((Q)=>Q.type==="toolCall"))return!0}}return!1}function C(J){return J.type==="text"}function XJ(J){return J.type==="thinking"}function YJ(J){return J.type==="toolCall"}function _J(J){return J.type==="image"}function l(J){if(J)return J;if(typeof process<"u"&&process.env.PI_CACHE_RETENTION==="long")return"long";return"short"}var $J=(J,X,Q)=>{let Y=new r;return(async()=>{let $={role:"assistant",content:[],api:J.api,provider:J.provider,model:J.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let N=Q?.apiKey||I(J.provider)||"",V=R(J),_=l(Q?.cacheRetention),z=_==="none"?void 0:Q?.sessionId,j=qJ(J,X,N,Q?.headers,z,V),W=zJ(J,X,Q,V,_),H=await Q?.onPayload?.(W,J);if(H!==void 0)W=H;let A={...Q?.signal?{signal:Q.signal}:{},...Q?.timeoutMs!==void 0?{timeout:Q.timeoutMs}:{},...Q?.maxRetries!==void 0?{maxRetries:Q.maxRetries}:{}},{data:P,response:S}=await j.chat.completions.create(W,A).withResponse();await Q?.onResponse?.({status:S.status,headers:h(S.headers)},J),Y.push({type:"start",partial:$});let F=null,L=null,O=!1,M=new Map,f=new Map,U=$.content,v=(q)=>U.indexOf(q),t=(q)=>{let Z=v(q);if(Z===-1)return;if(q.type==="text")Y.push({type:"text_end",contentIndex:Z,content:q.text,partial:$});else if(q.type==="thinking")Y.push({type:"thinking_end",contentIndex:Z,content:q.thinking,partial:$});else if(q.type==="toolCall")q.arguments=T(q.partialArgs),delete q.partialArgs,delete q.streamIndex,Y.push({type:"toolcall_end",contentIndex:Z,toolCall:q,partial:$})},e=()=>{if(!F)F={type:"text",text:""},U.push(F),Y.push({type:"text_start",contentIndex:v(F),partial:$});return F},o=(q)=>{if(!L)L={type:"thinking",thinking:"",thinkingSignature:q},U.push(L),Y.push({type:"thinking_start",contentIndex:v(L),partial:$});return L},JJ=(q)=>{let Z=typeof q.index==="number"?q.index:void 0,G=Z!==void 0?M.get(Z):void 0;if(!G&&q.id)G=f.get(q.id);if(!G){if(G={type:"toolCall",id:q.id||"",name:q.function?.name||"",arguments:{},partialArgs:"",streamIndex:Z},Z!==void 0)M.set(Z,G);if(q.id)f.set(q.id,G);U.push(G),Y.push({type:"toolcall_start",contentIndex:v(G),partial:$})}if(Z!==void 0&&G.streamIndex===void 0)G.streamIndex=Z,M.set(Z,G);if(q.id)f.set(q.id,G);return G};for await(let q of P){if(!q||typeof q!=="object")continue;if($.responseId||=q.id,typeof q.model==="string"&&q.model.length>0&&q.model!==J.id)$.responseModel||=q.model;if(q.usage)$.usage=b(q.usage,J);let Z=Array.isArray(q.choices)?q.choices[0]:void 0;if(!Z)continue;if(!q.usage&&Z.usage)$.usage=b(Z.usage,J);if(Z.finish_reason){let G=HJ(Z.finish_reason);if($.stopReason=G.stopReason,G.errorMessage)$.errorMessage=G.errorMessage;O=!0}if(Z.delta){if(Z.delta.content!==null&&Z.delta.content!==void 0&&Z.delta.content.length>0){let E=e();E.text+=Z.delta.content,Y.push({type:"text_delta",contentIndex:v(E),delta:Z.delta.content,partial:$})}let G=["reasoning_content","reasoning","reasoning_text"],x=Z.delta,y=null;for(let E of G){let D=x[E];if(typeof D==="string"&&D.length>0){y=E;break}}if(y){let E=x[y];if(typeof E==="string"&&E.length>0){let D=J.provider==="opencode-go"&&y==="reasoning"?"reasoning_content":y,K=o(D);K.thinking+=E,Y.push({type:"thinking_delta",contentIndex:v(K),delta:E,partial:$})}}if(Z?.delta?.tool_calls)for(let E of Z.delta.tool_calls){let D=JJ(E);if(!D.id&&E.id)D.id=E.id,f.set(E.id,D);if(!D.name&&E.function?.name)D.name=E.function.name;let K="";if(E.function?.arguments)K=E.function.arguments,D.partialArgs=(D.partialArgs??"")+E.function.arguments,D.arguments=T(D.partialArgs);Y.push({type:"toolcall_delta",contentIndex:v(D),delta:K,partial:$})}let B=Z.delta.reasoning_details;if(B&&Array.isArray(B)){for(let E of B)if(E.type==="reasoning.encrypted"&&E.id&&E.data){let D=$.content.find((K)=>K.type==="toolCall"&&K.id===E.id);if(D)D.thoughtSignature=JSON.stringify(E)}}}}for(let q of U)t(q);if(Q?.signal?.aborted)throw Error("Request was aborted");if($.stopReason==="aborted")throw Error("Request was aborted");if($.stopReason==="error")throw Error($.errorMessage||"Provider returned an error stop reason");if(!O)throw Error("Stream ended without finish_reason");Y.push({type:"done",reason:$.stopReason,message:$}),Y.end()}catch(N){for(let _ of $.content)delete _.index,delete _.partialArgs,delete _.streamIndex;$.stopReason=Q?.signal?.aborted?"aborted":"error",$.errorMessage=N instanceof Error?N.message:JSON.stringify(N);let V=N?.error?.metadata?.raw;if(V)$.errorMessage+=`
|
|
3
|
-
${V}`;Y.push({type:"error",reason:$.stopReason,error:$}),Y.end()}})(),Y},TJ=(J,X,Q)=>{let Y=Q?.apiKey||I(J.provider);if(!Y)throw Error(`No API key for provider: ${J.provider}`);let $=c(J,Q,Y),N=Q?.reasoning?k(J,Q.reasoning):void 0,V=N==="off"?void 0:N,_=Q?.toolChoice;return $J(J,X,{...$,reasoningEffort:V,toolChoice:_})};function qJ(J,X,Q,Y,$,N=R(J)){if(!Q){if(!process.env.OPENAI_API_KEY)throw Error("OpenAI API key is required. Set OPENAI_API_KEY environment variable or pass it as an argument.");Q=process.env.OPENAI_API_KEY}let V={...J.headers};if(J.provider==="github-copilot"){let z=i(X.messages),j=m({messages:X.messages,hasImages:z});Object.assign(V,j)}if($&&N.sendSessionAffinityHeaders)V.session_id=$,V["x-client-request-id"]=$,V["x-session-affinity"]=$;if(Y)Object.assign(V,Y);let _=J.provider==="cloudflare-ai-gateway"?{...V,Authorization:V.Authorization??null,"cf-aig-authorization":`Bearer ${Q}`}:V;return new u({apiKey:Q,baseURL:p(J.provider)?d(J):J.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:_})}function zJ(J,X,Q,Y=R(J),$=l(Q?.cacheRetention)){let N=GJ(J,X,Y),V=LJ(Y,$),_={model:J.id,messages:N,stream:!0,prompt_cache_key:J.baseUrl.includes("api.openai.com")&&$!=="none"||$==="long"&&Y.supportsLongCacheRetention?a(Q?.sessionId):void 0,prompt_cache_retention:$==="long"&&Y.supportsLongCacheRetention?"24h":void 0};if(Y.supportsUsageInStreaming!==!1)_.stream_options={include_usage:!0};if(Y.supportsStore)_.store=!1;if(Q?.maxTokens)if(Y.maxTokensField==="max_tokens")_.max_tokens=Q.maxTokens;else _.max_completion_tokens=Q.maxTokens;if(Q?.temperature!==void 0)_.temperature=Q.temperature;if(X.tools&&X.tools.length>0){if(_.tools=DJ(X.tools,Y),Y.zaiToolStream)_.tool_stream=!0}else if(QJ(X.messages))_.tools=[];if(V)NJ(N,_.tools,V);if(Q?.toolChoice)_.tool_choice=Q.toolChoice;if(Y.thinkingFormat==="zai"&&J.reasoning)_.enable_thinking=!!Q?.reasoningEffort;else if(Y.thinkingFormat==="qwen"&&J.reasoning)_.enable_thinking=!!Q?.reasoningEffort;else if(Y.thinkingFormat==="qwen-chat-template"&&J.reasoning)_.chat_template_kwargs={enable_thinking:!!Q?.reasoningEffort,preserve_thinking:!0};else if(Y.thinkingFormat==="deepseek"&&J.reasoning){if(_.thinking={type:Q?.reasoningEffort?"enabled":"disabled"},Q?.reasoningEffort)_.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort}else if(Y.thinkingFormat==="openrouter"&&J.reasoning){let z=_;if(Q?.reasoningEffort)z.reasoning={effort:J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort};else if(J.thinkingLevelMap?.off!==null)z.reasoning={effort:J.thinkingLevelMap?.off??"none"}}else if(Y.thinkingFormat==="together"&&J.reasoning){let z=_;if(z.reasoning={enabled:!!Q?.reasoningEffort},Q?.reasoningEffort&&Y.supportsReasoningEffort)z.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort}else if(Q?.reasoningEffort&&J.reasoning&&Y.supportsReasoningEffort)_.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort;else if(!Q?.reasoningEffort&&J.reasoning&&Y.supportsReasoningEffort){let z=J.thinkingLevelMap?.off;if(typeof z==="string")_.reasoning_effort=z}if(J.baseUrl.includes("openrouter.ai")&&J.compat?.openRouterRouting)_.provider=J.compat.openRouterRouting;if(J.baseUrl.includes("ai-gateway.vercel.sh")&&J.compat?.vercelGatewayRouting){let z=J.compat.vercelGatewayRouting;if(z.only||z.order){let j={};if(z.only)j.only=z.only;if(z.order)j.order=z.order;_.providerOptions={gateway:j}}}return _}function LJ(J,X){if(J.cacheControlFormat!=="anthropic"||X==="none")return;let Q=X==="long"&&J.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...Q?{ttl:Q}:{}}}function NJ(J,X,Q){VJ(J,Q),jJ(X,Q),ZJ(J,Q)}function VJ(J,X){for(let Q of J)if(Q.role==="system"||Q.role==="developer"){EJ(Q,X);return}}function ZJ(J,X){for(let Q=J.length-1;Q>=0;Q--){let Y=J[Q];if(Y.role==="user"||Y.role==="assistant"){if(WJ(Y,X))return}}}function jJ(J,X){if(!J||J.length===0)return;let Q=J[J.length-1];Q.cache_control=X}function EJ(J,X){return s(J,X)}function WJ(J,X){if(J.role==="user"||J.role==="assistant")return s(J,X);return!1}function s(J,X){let Q=J.content;if(typeof Q==="string"){if(Q.length===0)return!1;return J.content=[{type:"text",text:Q,cache_control:X}],!0}if(!Array.isArray(Q))return!1;for(let Y=Q.length-1;Y>=0;Y--){let $=Q[Y];if($?.type==="text"){let N=$;return N.cache_control=X,!0}}return!1}function GJ(J,X,Q){let Y=[],$=(_)=>{if(_.includes("|")){let[z]=_.split("|");return z.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}if(J.provider==="openai")return _.length>40?_.slice(0,40):_;return _},N=n(X.messages,J,(_)=>$(_));if(X.systemPrompt){let z=J.reasoning&&Q.supportsDeveloperRole?"developer":"system";Y.push({role:z,content:w(X.systemPrompt)})}let V=null;for(let _=0;_<N.length;_++){let z=N[_];if(Q.requiresAssistantAfterToolResult&&V==="toolResult"&&z.role==="user")Y.push({role:"assistant",content:"I have processed the tool results."});if(z.role==="user")if(typeof z.content==="string")Y.push({role:"user",content:w(z.content)});else{let j=z.content.map((W)=>{if(W.type==="text")return{type:"text",text:w(W.text)};else return{type:"image_url",image_url:{url:`data:${W.mimeType};base64,${W.data}`}}});if(j.length===0)continue;Y.push({role:"user",content:j})}else if(z.role==="assistant"){let j={role:"assistant",content:Q.requiresAssistantAfterToolResult?"":null},W=z.content.filter(C).filter((L)=>L.text.trim().length>0).map((L)=>({type:"text",text:w(L.text)})),H=W.map((L)=>L.text).join(""),A=z.content.filter(XJ).filter((L)=>L.thinking.trim().length>0);if(A.length>0)if(Q.requiresThinkingAsText){let L=A.map((O)=>w(O.thinking)).join(`
|
|
4
|
-
|
|
5
|
-
`);j.content=[{type:"text",text:L},...W]}else{if(H.length>0)j.content=H;let L=A[0].thinkingSignature;if(J.provider==="opencode-go"&&L==="reasoning")L="reasoning_content";if(L&&L.length>0)j[L]=A.map((O)=>O.thinking).join(`
|
|
6
|
-
`)}else if(H.length>0)j.content=H;let P=z.content.filter(YJ);if(P.length>0){j.tool_calls=P.map((O)=>({id:O.id,type:"function",function:{name:O.name,arguments:JSON.stringify(O.arguments)}}));let L=P.filter((O)=>O.thoughtSignature).map((O)=>{try{return JSON.parse(O.thoughtSignature)}catch{return null}}).filter(Boolean);if(L.length>0)j.reasoning_details=L}if(Q.requiresReasoningContentOnAssistantMessages&&J.reasoning&&j.reasoning_content===void 0)j.reasoning_content="";let S=j.content;if(!(S!==null&&S!==void 0&&(typeof S==="string"?S.length>0:S.length>0))&&!j.tool_calls)continue;Y.push(j)}else if(z.role==="toolResult"){let j=[],W=_;for(;W<N.length&&N[W].role==="toolResult";W++){let H=N[W],A=H.content.filter(C).map((L)=>L.text).join(`
|
|
7
|
-
`),P=H.content.some((L)=>L.type==="image"),S=A.length>0,F={role:"tool",content:w(S?A:"(see attached image)"),tool_call_id:H.toolCallId};if(Q.requiresToolResultName&&H.toolName)F.name=H.toolName;if(Y.push(F),P&&J.input.includes("image")){for(let L of H.content)if(_J(L))j.push({type:"image_url",image_url:{url:`data:${L.mimeType};base64,${L.data}`}})}}if(_=W-1,j.length>0){if(Q.requiresAssistantAfterToolResult)Y.push({role:"assistant",content:"I have processed the tool results."});Y.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...j]}),V="user"}else V="toolResult";continue}V=z.role}return Y}function DJ(J,X){return J.map((Q)=>({type:"function",function:{name:Q.name,description:Q.description,parameters:Q.parameters,...X.supportsStrictMode!==!1&&{strict:!1}}}))}function b(J,X){let Q=J.prompt_tokens||0,Y=J.prompt_tokens_details?.cached_tokens??J.prompt_cache_hit_tokens??0,$=J.prompt_tokens_details?.cache_write_tokens||0,N=Math.max(0,Q-Y-$),V=J.completion_tokens||0,_={input:N,output:V,cacheRead:Y,cacheWrite:$,totalTokens:N+V+Y+$,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return g(X,_),_}function HJ(J){if(J===null)return{stopReason:"stop"};switch(J){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${J}`}}}function OJ(J){let{provider:X,baseUrl:Q}=J,Y=X==="zai"||Q.includes("api.z.ai"),$=X==="together"||Q.includes("api.together.ai")||Q.includes("api.together.xyz"),N=X==="moonshotai"||X==="moonshotai-cn"||Q.includes("api.moonshot."),V=X==="cloudflare-workers-ai"||Q.includes("api.cloudflare.com"),_=X==="cloudflare-ai-gateway"||Q.includes("gateway.ai.cloudflare.com"),z=X==="cerebras"||Q.includes("cerebras.ai")||X==="xai"||Q.includes("api.x.ai")||$||Q.includes("chutes.ai")||Q.includes("deepseek.com")||Y||N||X==="opencode"||Q.includes("opencode.ai")||V||_,j=Q.includes("chutes.ai")||N||_||$,W=X==="xai"||Q.includes("api.x.ai"),H=X==="deepseek"||Q.includes("deepseek.com"),A=X==="openrouter"&&J.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!z,supportsDeveloperRole:!z,supportsReasoningEffort:!W&&!Y&&!N&&!$&&!_,supportsUsageInStreaming:!0,maxTokensField:j?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:H,thinkingFormat:H?"deepseek":Y?"zai":$?"together":X==="openrouter"||Q.includes("openrouter.ai")?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},zaiToolStream:!1,supportsStrictMode:!N&&!$&&!_,cacheControlFormat:A,sendSessionAffinityHeaders:!1,supportsLongCacheRetention:!($||V||_)}}function R(J){let X=OJ(J);if(!J.compat)return X;return{supportsStore:J.compat.supportsStore??X.supportsStore,supportsDeveloperRole:J.compat.supportsDeveloperRole??X.supportsDeveloperRole,supportsReasoningEffort:J.compat.supportsReasoningEffort??X.supportsReasoningEffort,supportsUsageInStreaming:J.compat.supportsUsageInStreaming??X.supportsUsageInStreaming,maxTokensField:J.compat.maxTokensField??X.maxTokensField,requiresToolResultName:J.compat.requiresToolResultName??X.requiresToolResultName,requiresAssistantAfterToolResult:J.compat.requiresAssistantAfterToolResult??X.requiresAssistantAfterToolResult,requiresThinkingAsText:J.compat.requiresThinkingAsText??X.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:J.compat.requiresReasoningContentOnAssistantMessages??X.requiresReasoningContentOnAssistantMessages,thinkingFormat:J.compat.thinkingFormat??X.thinkingFormat,openRouterRouting:J.compat.openRouterRouting??{},vercelGatewayRouting:J.compat.vercelGatewayRouting??X.vercelGatewayRouting,zaiToolStream:J.compat.zaiToolStream??X.zaiToolStream,supportsStrictMode:J.compat.supportsStrictMode??X.supportsStrictMode,cacheControlFormat:J.compat.cacheControlFormat??X.cacheControlFormat,sendSessionAffinityHeaders:J.compat.sendSessionAffinityHeaders??X.sendSessionAffinityHeaders,supportsLongCacheRetention:J.compat.supportsLongCacheRetention??X.supportsLongCacheRetention}}export{TJ as streamSimpleOpenAICompletions,$J as streamOpenAICompletions,GJ as convertMessages};
|
package/bin/chunk-x7pbj6bf.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
function B(q){return q==="cloudflare-workers-ai"||q==="cloudflare-ai-gateway"}function D(q){let k=q.baseUrl;if(!k.includes("{"))return k;return k.replace(/\{([A-Z_][A-Z0-9_]*)\}/g,(A,x)=>{let y=process.env[x];if(!y)throw Error(`${x} is required for provider ${q.provider} but is not set.`);return y})}function z(q){let k=q[q.length-1];return k&&k.role!=="user"?"agent":"user"}function F(q){return q.some((k)=>{if(k.role==="user"&&Array.isArray(k.content))return k.content.some((w)=>w.type==="image");if(k.role==="toolResult"&&Array.isArray(k.content))return k.content.some((w)=>w.type==="image");return!1})}function G(q){let k={"X-Initiator":z(q.messages),"Openai-Intent":"conversation-edits"};if(q.hasImages)k["Copilot-Vision-Request"]="true";return k}
|
|
3
|
-
export{B as a,D as b,F as c,G as d};
|
package/bin/chunk-yqhefh7z.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{u as e,v as p,w as t}from"./chunk-c11capf1.js";import"./chunk-8eg1rj5q.js";import"./chunk-evkfqc0n.js";import"./chunk-4sgazeqh.js";import"./chunk-n7qv08c3.js";import"./chunk-7mtn96c1.js";export{t as kyselyAdapter,e as getKyselyDatabaseType,p as createKyselyAdapter};
|
package/bin/chunk-zmr5jvxg.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{h as I}from"./chunk-9pfvgwrc.js";import{q as S,s as v}from"./chunk-bqb5hsbe.js";import{t as J}from"./chunk-ej5ed8pg.js";import{xb as O}from"./chunk-vhfqr7n5.js";import{yb as f}from"./chunk-p7dw998p.js";import{Ab as K,Bb as E,Cb as z}from"./chunk-nerm3qbg.js";import{_b as M}from"./chunk-jdhnsqss.js";import"./chunk-k30n4wwk.js";import"./chunk-7mtn96c1.js";var T=9,b=4000,h=(j,G,W)=>{let Q=new z;return(async()=>{let V=x(j);try{let F=W?.apiKey||f(j.provider);if(!F)throw Error(`No API key for provider: ${j.provider}`);let _=new M({apiKey:F,serverURL:j.baseUrl}),L=g(),X=v(G.messages,j,(q)=>L(q)),Z=p(j,G,X,W),Y=await W?.onPayload?.(Z,j);if(Y!==void 0)Z=Y;let $=await _.chat.stream(Z,m(j,W));if(Q.push({type:"start",partial:V}),await n(j,V,Q,$),W?.signal?.aborted)throw Error("Request was aborted");if(V.stopReason==="aborted"||V.stopReason==="error")throw Error("An unknown error occurred");Q.push({type:"done",reason:V.stopReason,message:V}),Q.end()}catch(F){for(let _ of V.content)delete _.partialArgs;V.stopReason=W?.signal?.aborted?"aborted":"error",V.errorMessage=k(F),Q.push({type:"error",reason:V.stopReason,error:V}),Q.end()}})(),Q},Zj=(j,G,W)=>{let Q=W?.apiKey||f(j.provider);if(!Q)throw Error(`No API key for provider: ${j.provider}`);let V=S(j,W,Q),F=W?.reasoning?E(j,W.reasoning):void 0,_=F==="off"?void 0:F,L=j.reasoning&&_!==void 0;return h(j,G,{...V,promptMode:L&&r(j)?"reasoning":void 0,reasoningEffort:L&&y(j)?l(j,_):void 0})};function x(j){return{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()}}function g(){let j=new Map,G=new Map;return(W)=>{let Q=j.get(W);if(Q)return Q;let V=0;while(!0){let F=C(W,V),_=G.get(F);if(!_||_===W)return j.set(W,F),G.set(F,W),F;V++}}}function C(j,G){let W=j.replace(/[^a-zA-Z0-9]/g,"");if(G===0&&W.length===T)return W;let Q=W||j,V=G===0?Q:`${Q}:${G}`;return I(V).replace(/[^a-zA-Z0-9]/g,"").slice(0,T)}function k(j){if(j instanceof Error){let G=j,W=typeof G.statusCode==="number"?G.statusCode:void 0,Q=typeof G.body==="string"?G.body.trim():void 0;if(W!==void 0&&Q)return`Mistral API error (${W}): ${d(Q,b)}`;if(W!==void 0)return`Mistral API error (${W}): ${j.message}`;return j.message}return c(j)}function d(j,G){if(j.length<=G)return j;return`${j.slice(0,G)}... [truncated ${j.length-G} chars]`}function c(j){try{let G=JSON.stringify(j);return G===void 0?String(j):G}catch{return String(j)}}function m(j,G){let W={retries:{strategy:"none"}};if(G?.signal)W.signal=G.signal;let Q={};if(j.headers)Object.assign(Q,j.headers);if(G?.headers)Object.assign(Q,G.headers);if(G?.sessionId&&!Q["x-affinity"])Q["x-affinity"]=G.sessionId;if(Object.keys(Q).length>0)W.headers=Q;return W}function p(j,G,W,Q){let V={model:j.id,stream:!0,messages:u(W,j.input.includes("image"))};if(G.tools?.length)V.tools=i(G.tools);if(Q?.temperature!==void 0)V.temperature=Q.temperature;if(Q?.maxTokens!==void 0)V.maxTokens=Q.maxTokens;if(Q?.toolChoice)V.toolChoice=s(Q.toolChoice);if(Q?.promptMode)V.promptMode=Q.promptMode;if(Q?.reasoningEffort)V.reasoningEffort=Q.reasoningEffort;if(G.systemPrompt)V.messages.unshift({role:"system",content:J(G.systemPrompt)});return V}async function n(j,G,W,Q){let V=null,F=G.content,_=()=>F.length-1,L=new Map,X=(Z)=>{if(!Z)return;if(Z.type==="text"){W.push({type:"text_end",contentIndex:_(),content:Z.text,partial:G});return}if(Z.type==="thinking")W.push({type:"thinking_end",contentIndex:_(),content:Z.thinking,partial:G})};for await(let Z of Q){let Y=Z.data;if(G.responseId||=Y.id,Y.usage)G.usage.input=Y.usage.promptTokens||0,G.usage.output=Y.usage.completionTokens||0,G.usage.cacheRead=0,G.usage.cacheWrite=0,G.usage.totalTokens=Y.usage.totalTokens||G.usage.input+G.usage.output,K(j,G.usage);let $=Y.choices[0];if(!$)continue;if($.finishReason)G.stopReason=e($.finishReason);let q=$.delta;if(q.content!==null&&q.content!==void 0){let N=typeof q.content==="string"?[q.content]:q.content;for(let U of N){if(typeof U==="string"){let w=J(U);if(!V||V.type!=="text")X(V),V={type:"text",text:""},G.content.push(V),W.push({type:"text_start",contentIndex:_(),partial:G});V.text+=w,W.push({type:"text_delta",contentIndex:_(),delta:w,partial:G});continue}if(U.type==="thinking"){let w=U.thinking.map((H)=>("text"in H)?H.text:"").filter((H)=>H.length>0).join(""),A=J(w);if(!A)continue;if(!V||V.type!=="thinking")X(V),V={type:"thinking",thinking:""},G.content.push(V),W.push({type:"thinking_start",contentIndex:_(),partial:G});V.thinking+=A,W.push({type:"thinking_delta",contentIndex:_(),delta:A,partial:G});continue}if(U.type==="text"){let w=J(U.text);if(!V||V.type!=="text")X(V),V={type:"text",text:""},G.content.push(V),W.push({type:"text_start",contentIndex:_(),partial:G});V.text+=w,W.push({type:"text_delta",contentIndex:_(),delta:w,partial:G})}}}let B=q.toolCalls||[];for(let N of B){if(V)X(V),V=null;let U=N.id&&N.id!=="null"?N.id:C(`toolcall:${N.index??0}`,0),w=`${U}:${N.index||0}`,A=L.get(w),H;if(A!==void 0){let D=G.content[A];if(D?.type==="toolCall")H=D}if(!H)H={type:"toolCall",id:U,name:N.function.name,arguments:{},partialArgs:""},G.content.push(H),L.set(w,G.content.length-1),W.push({type:"toolcall_start",contentIndex:G.content.length-1,partial:G});let P=typeof N.function.arguments==="string"?N.function.arguments:JSON.stringify(N.function.arguments||{});H.partialArgs=(H.partialArgs||"")+P,H.arguments=O(H.partialArgs),W.push({type:"toolcall_delta",contentIndex:L.get(w),delta:P,partial:G})}}X(V);for(let Z of L.values()){let Y=G.content[Z];if(Y.type!=="toolCall")continue;let $=Y;$.arguments=O($.partialArgs),delete $.partialArgs,W.push({type:"toolcall_end",contentIndex:Z,toolCall:$,partial:G})}}function i(j){return j.map((G)=>({type:"function",function:{name:G.name,description:G.description,parameters:R(G.parameters),strict:!1}}))}function R(j){if(Array.isArray(j))return j.map((G)=>R(G));if(j&&typeof j==="object"){let G={};for(let[W,Q]of Object.entries(j))G[W]=R(Q);return G}return j}function u(j,G){let W=[];for(let Q of j){if(Q.role==="user"){if(typeof Q.content==="string"){W.push({role:"user",content:J(Q.content)});continue}let X=Q.content.some((Y)=>Y.type==="image"),Z=Q.content.filter((Y)=>Y.type==="text"||G).map((Y)=>{if(Y.type==="text")return{type:"text",text:J(Y.text)};return{type:"image_url",imageUrl:`data:${Y.mimeType};base64,${Y.data}`}});if(Z.length>0){W.push({role:"user",content:Z});continue}if(X&&!G)W.push({role:"user",content:"(image omitted: model does not support images)"});continue}if(Q.role==="assistant"){let X=[],Z=[];for(let $ of Q.content){if($.type==="text"){if($.text.trim().length>0)X.push({type:"text",text:J($.text)});continue}if($.type==="thinking"){if($.thinking.trim().length>0)X.push({type:"thinking",thinking:[{type:"text",text:J($.thinking)}]});continue}Z.push({id:$.id,type:"function",function:{name:$.name,arguments:JSON.stringify($.arguments||{})}})}let Y={role:"assistant"};if(X.length>0)Y.content=X;if(Z.length>0)Y.toolCalls=Z;if(X.length>0||Z.length>0)W.push(Y);continue}let V=[],F=Q.content.filter((X)=>X.type==="text").map((X)=>X.type==="text"?J(X.text):"").join(`
|
|
3
|
-
`),_=Q.content.some((X)=>X.type==="image"),L=a(F,_,G,Q.isError);V.push({type:"text",text:L});for(let X of Q.content){if(!G)continue;if(X.type!=="image")continue;V.push({type:"image_url",imageUrl:`data:${X.mimeType};base64,${X.data}`})}W.push({role:"tool",toolCallId:Q.toolCallId,name:Q.toolName,content:V})}return W}function a(j,G,W,Q){let V=j.trim(),F=Q?"[tool error] ":"";if(V.length>0)return`${F}${V}${G&&!W?`
|
|
4
|
-
[tool image omitted: model does not support images]`:""}`;if(G){if(W)return Q?"[tool error] (see attached image)":"(see attached image)";return Q?"[tool error] (image omitted: model does not support images)":"(image omitted: model does not support images)"}return Q?"[tool error] (no tool output)":"(no tool output)"}function y(j){return j.id==="mistral-small-2603"||j.id==="mistral-small-latest"||j.id==="mistral-medium-3.5"}function r(j){return j.reasoning&&!y(j)}function l(j,G){return j.thinkingLevelMap?.[G]??"high"}function s(j){if(!j)return;if(j==="auto"||j==="none"||j==="any"||j==="required")return j;return{type:"function",function:{name:j.function.name}}}function e(j){if(j===null)return"stop";switch(j){case"stop":return"stop";case"length":case"model_length":return"length";case"tool_calls":return"toolUse";case"error":return"error";default:return"stop"}}export{Zj as streamSimpleMistral,h as streamMistral};
|