blink 0.1.75 → 0.1.77

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.
Files changed (35) hide show
  1. package/dist/browser/agent/client/index.cjs +11 -11
  2. package/dist/browser/agent/client/index.js +11 -11
  3. package/dist/cli/{auth-DaiN71bn.js → auth-CA7ty3v4.js} +61 -17
  4. package/dist/cli/{chat-DX7ZIS2D.js → chat-Tq-X-ZiG.js} +1 -1
  5. package/dist/cli/{connect-jR1Grkvo.js → connect-D8IAxl-3.js} +1 -1
  6. package/dist/cli/connect-DSyrG7KH.js +1 -0
  7. package/dist/cli/{dev-CrtfdJB5.js → dev-m1mqnfI1.js} +83 -89
  8. package/dist/cli/{getMachineId-bsd-BZVr5tA4.js → getMachineId-bsd-Qx2HBGoH.js} +1 -1
  9. package/dist/cli/{getMachineId-darwin-CovNSxTh.js → getMachineId-darwin--C6ZfZar.js} +1 -1
  10. package/dist/cli/{getMachineId-linux-UJ7XEIYa.js → getMachineId-linux-DLLDRjuc.js} +1 -1
  11. package/dist/cli/{getMachineId-unsupported-DfUiEY7G.js → getMachineId-unsupported-C3vmCtXX.js} +1 -1
  12. package/dist/cli/{getMachineId-win-DYgilU22.js → getMachineId-win-CPTJv39f.js} +1 -1
  13. package/dist/cli/index.js +4 -4
  14. package/dist/cli/{init-B6vWokUI.js → init-Dciw9oVS.js} +2 -2
  15. package/dist/cli/login-CwrmEeKn.js +1 -0
  16. package/dist/cli/undici-DD9e2s8L.js +1 -0
  17. package/dist/node/agent/index.node.cjs +26 -6
  18. package/dist/node/agent/index.node.d.cts +2 -2
  19. package/dist/node/agent/index.node.d.ts +2 -2
  20. package/dist/node/agent/index.node.js +26 -6
  21. package/dist/node/{index.node-B1oQwv9K.d.cts → index.node-CI1vYz48.d.ts} +21 -3
  22. package/dist/node/{index.node-B502ef3C.d.ts → index.node-rD4Zd2xs.d.cts} +21 -3
  23. package/dist/node/test.d.cts +1 -1
  24. package/dist/node/test.d.ts +1 -1
  25. package/package.json +1 -1
  26. package/dist/cli/connect-BccxYFj9.js +0 -1
  27. package/dist/cli/dist-NqrnQGst.js +0 -45
  28. package/dist/cli/login-BbFxbs7E.js +0 -1
  29. package/dist/cli/undici-jJcag_Yq.js +0 -1
  30. /package/dist/cli/{devtools-BS9tk1Y9.js → devtools-BLozvXLU.js} +0 -0
  31. /package/dist/cli/{esm-DmR1E1ox.js → esm-Dh_XeXMF.js} +0 -0
  32. /package/dist/cli/{events-CWgtj8lb.js → events-NKQ6g4j7.js} +0 -0
  33. /package/dist/cli/{execAsync-q2CSWc1b.js → execAsync-Bms0M8aD.js} +0 -0
  34. /package/dist/cli/{open-CSMQaj0E.js → open-DfjrUP4O.js} +0 -0
  35. /package/dist/cli/{undici-BG07ys6c.js → undici-DSA55kyn.js} +0 -0
@@ -1,21 +1,21 @@
1
- import{StreamResponseFormatHeader as e}from"../../index.browser-0KfCzcI7.js";import{serialize as t}from"../../validator-DOrmtI_l.js";import"../../index.node-CbQFCWTr.js";import{streamText as n}from"ai";import r,{z as i}from"zod/v4";import"zod/v3";var a=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),o=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},s=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){if(r===void 0)continue;if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r)}return t},c=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},l=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e,t){if(!u(e)&&!u(t))return t;let n={...e};for(let e in t){let r=t[e];u(n[e])&&u(r)?n[e]=d(n[e],r):n[e]=r}return n}var f=(e,t)=>{let n=new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return f(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}});return n},p=class{url;method;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t){this.url=e,this.method=t}fetch=async(e,n)=>{if(e){if(e.query&&(this.queryParams=s(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let r=this.method.toUpperCase(),i={...e?.header,...typeof n?.headers==`function`?await n.headers():n?.headers};if(e?.cookie){let n=[];for(let[r,i]of Object.entries(e.cookie))n.push(t(r,i,{path:`/`}));i.Cookie=n.join(`,`)}this.cType&&(i[`Content-Type`]=this.cType);let a=new Headers(i??void 0),c=this.url;c=l(c),c=o(c,this.pathParams),this.queryParams&&(c=c+`?`+this.queryParams.toString()),r=this.method.toUpperCase();let u=!(r===`GET`||r===`HEAD`);return(n?.fetch||fetch)(c,{body:u?this.rBody:void 0,method:r,headers:a,...n?.init})}},m=(e,t)=>f(function n(r){let i=[...r.path],u=i.slice(-3).reverse();if(u[0]===`toString`)return u[1]===`name`?u[2]||``:n.toString();if(u[0]===`valueOf`)return u[1]===`name`?u[2]||``:n;let f=``;if(/^\$/.test(u[0])){let e=i.pop();e&&(f=e.replace(/^\$/,``))}let m=i.join(`/`),h=a(e,m);if(f===`url`){let e=h;return r.args[0]&&(r.args[0].param&&(e=o(h,r.args[0].param)),r.args[0].query&&(e=e+`?`+s(r.args[0].query).toString())),e=l(e),new URL(e)}if(f===`ws`){let e=c(r.args[0]&&r.args[0].param?o(h,r.args[0].param):h,`ws`),n=new URL(e),i=r.args[0]?.query;i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)});let a=(...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e);return a(n.toString())}let g=new p(h,f);if(f){t??={};let e=d(t,{...r.args[1]});return g.fetch(r.args[0],e)}return g},[]),h=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function g(e){}function _(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=g,onError:n=g,onRetry:r=g,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=v(`${a}${t}`);for(let e of n)d(e);a=r,o=!1}function d(e){if(e===``){p();return}if(e.startsWith(`:`)){i&&i(e.slice(e.startsWith(`: `)?2:1));return}let t=e.indexOf(`:`);if(t!==-1){let n=e.slice(0,t),r=e[t+1]===` `?2:1,i=e.slice(t+r);f(n,i,e);return}f(e,``,e)}function f(e,t,i){switch(e){case`event`:l=t;break;case`data`:c=`${c}${t}
2
- `;break;case`id`:s=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new h(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new h(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function p(){c.length>0&&t({id:s,event:l||void 0,data:c.endsWith(`
3
- `)?c.slice(0,-1):c}),s=void 0,c=``,l=``}function m(e={}){a&&e.consume&&d(a),o=!0,s=void 0,c=``,l=``,a=``}return{feed:u,reset:m}}function v(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`\r`,r),a=e.indexOf(`
1
+ import{StreamResponseFormatHeader as e}from"../../index.browser-0KfCzcI7.js";import{serialize as t}from"../../validator-DOrmtI_l.js";import"../../index.node-CbQFCWTr.js";import{streamText as n}from"ai";import r,{z as i}from"zod/v4";import"zod/v3";var a=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),o=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},s=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){if(r===void 0)continue;if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r)}return t},c=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},l=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function u(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function d(e,t){if(!u(e)&&!u(t))return t;let n={...e};for(let e in t){let r=t[e];u(n[e])&&u(r)?n[e]=d(n[e],r):n[e]=r}return n}var f=(e,t)=>{let n=new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return f(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}});return n},p=class{url;method;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t){this.url=e,this.method=t}fetch=async(e,n)=>{if(e){if(e.query&&(this.queryParams=s(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let r=this.method.toUpperCase(),i={...e?.header,...typeof n?.headers==`function`?await n.headers():n?.headers};if(e?.cookie){let n=[];for(let[r,i]of Object.entries(e.cookie))n.push(t(r,i,{path:`/`}));i.Cookie=n.join(`,`)}this.cType&&(i[`Content-Type`]=this.cType);let a=new Headers(i??void 0),c=this.url;c=l(c),c=o(c,this.pathParams),this.queryParams&&(c=c+`?`+this.queryParams.toString()),r=this.method.toUpperCase();let u=!(r===`GET`||r===`HEAD`);return(n?.fetch||fetch)(c,{body:u?this.rBody:void 0,method:r,headers:a,...n?.init})}},m=(e,t)=>f(function n(r){let i=[...r.path],u=i.slice(-3).reverse();if(u[0]===`toString`)return u[1]===`name`?u[2]||``:n.toString();if(u[0]===`valueOf`)return u[1]===`name`?u[2]||``:n;let f=``;if(/^\$/.test(u[0])){let e=i.pop();e&&(f=e.replace(/^\$/,``))}let m=i.join(`/`),h=a(e,m);if(f===`url`){let e=h;return r.args[0]&&(r.args[0].param&&(e=o(h,r.args[0].param)),r.args[0].query&&(e=e+`?`+s(r.args[0].query).toString())),e=l(e),new URL(e)}if(f===`ws`){let e=c(r.args[0]&&r.args[0].param?o(h,r.args[0].param):h,`ws`),n=new URL(e),i=r.args[0]?.query;i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)});let a=(...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e);return a(n.toString())}let g=new p(h,f);if(f){t??={};let e=d(t,{...r.args[1]});return g.fetch(r.args[0],e)}return g},[]),h=`vercel.ai.error`,g=Symbol.for(h),_,v=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[_]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,h)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};_=g;var y=v,b=`AI_APICallError`,x=`vercel.ai.error.${b}`,S=Symbol.for(x),C,w=class extends y{constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:o,isRetryable:s=r!=null&&(r===408||r===409||r===429||r>=500),data:c}){super({name:b,message:e,cause:o}),this[C]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=s,this.data=c}static isInstance(e){return y.hasMarker(e,x)}};C=S;var T=`AI_EmptyResponseBodyError`,E=`vercel.ai.error.${T}`,D=Symbol.for(E),O,k=class extends y{constructor({message:e=`Empty response body`}={}){super({name:T,message:e}),this[O]=!0}static isInstance(e){return y.hasMarker(e,E)}};O=D;function A(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var j=`AI_InvalidArgumentError`,M=`vercel.ai.error.${j}`,N=Symbol.for(M),P,F=class extends y{constructor({message:e,cause:t,argument:n}){super({name:j,message:e,cause:t}),this[P]=!0,this.argument=n}static isInstance(e){return y.hasMarker(e,M)}};P=N;var ee=`AI_InvalidPromptError`,te=`vercel.ai.error.${ee}`,ne=Symbol.for(te),re,ie=class extends y{constructor({prompt:e,message:t,cause:n}){super({name:ee,message:`Invalid prompt: ${t}`,cause:n}),this[re]=!0,this.prompt=e}static isInstance(e){return y.hasMarker(e,te)}};re=ne;var ae=`AI_InvalidResponseDataError`,oe=`vercel.ai.error.${ae}`,se=Symbol.for(oe),ce,le=class extends y{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:ae,message:t}),this[ce]=!0,this.data=e}static isInstance(e){return y.hasMarker(e,oe)}};ce=se;var ue=`AI_JSONParseError`,de=`vercel.ai.error.${ue}`,fe=Symbol.for(de),pe,me=class extends y{constructor({text:e,cause:t}){super({name:ue,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${A(t)}`,cause:t}),this[pe]=!0,this.text=e}static isInstance(e){return y.hasMarker(e,de)}};pe=fe;var he=`AI_LoadAPIKeyError`,ge=`vercel.ai.error.${he}`,_e=Symbol.for(ge),ve,ye=class extends y{constructor({message:e}){super({name:he,message:e}),this[ve]=!0}static isInstance(e){return y.hasMarker(e,ge)}};ve=_e;var be=`AI_LoadSettingError`,xe=`vercel.ai.error.${be}`,Se=Symbol.for(xe),Ce;Ce=Se;var we=`AI_NoContentGeneratedError`,Te=`vercel.ai.error.${we}`,Ee=Symbol.for(Te),De;De=Ee;var Oe=`AI_NoSuchModelError`,ke=`vercel.ai.error.${Oe}`,Ae=Symbol.for(ke),je,Me=class extends y{constructor({errorName:e=Oe,modelId:t,modelType:n,message:r=`No such ${n}: ${t}`}){super({name:e,message:r}),this[je]=!0,this.modelId=t,this.modelType=n}static isInstance(e){return y.hasMarker(e,ke)}};je=Ae;var Ne=`AI_TooManyEmbeddingValuesForCallError`,Pe=`vercel.ai.error.${Ne}`,Fe=Symbol.for(Pe),Ie,Le=class extends y{constructor(e){super({name:Ne,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[Ie]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return y.hasMarker(e,Pe)}};Ie=Fe;var Re=`AI_TypeValidationError`,ze=`vercel.ai.error.${Re}`,Be=Symbol.for(ze),Ve,He=class e extends y{constructor({value:e,cause:t}){super({name:Re,message:`Type validation failed: Value: ${JSON.stringify(e)}.
3
+ Error message: ${A(t)}`,cause:t}),this[Ve]=!0,this.value=e}static isInstance(e){return y.hasMarker(e,ze)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};Ve=Be;var I=He,Ue=`AI_UnsupportedFunctionalityError`,We=`vercel.ai.error.${Ue}`,Ge=Symbol.for(We),Ke,L=class extends y{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Ue,message:t}),this[Ke]=!0,this.functionality=e}static isInstance(e){return y.hasMarker(e,We)}};Ke=Ge;var qe=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function Je(e){}function Ye(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Je,onError:n=Je,onRetry:r=Je,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=Xe(`${a}${t}`);for(let e of n)d(e);a=r,o=!1}function d(e){if(e===``){p();return}if(e.startsWith(`:`)){i&&i(e.slice(e.startsWith(`: `)?2:1));return}let t=e.indexOf(`:`);if(t!==-1){let n=e.slice(0,t),r=e[t+1]===` `?2:1,i=e.slice(t+r);f(n,i,e);return}f(e,``,e)}function f(e,t,i){switch(e){case`event`:l=t;break;case`data`:c=`${c}${t}
4
+ `;break;case`id`:s=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new qe(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new qe(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function p(){c.length>0&&t({id:s,event:l||void 0,data:c.endsWith(`
5
+ `)?c.slice(0,-1):c}),s=void 0,c=``,l=``}function m(e={}){a&&e.consume&&d(a),o=!0,s=void 0,c=``,l=``,a=``}return{feed:u,reset:m}}function Xe(e){let t=[],n=``,r=0;for(;r<e.length;){let i=e.indexOf(`\r`,r),a=e.indexOf(`
4
6
  `,r),o=-1;if(i!==-1&&a!==-1?o=Math.min(i,a):i===-1?a!==-1&&(o=a):o=i===e.length-1?-1:i,o===-1){n=e.slice(r);break}else{let n=e.slice(r,o);t.push(n),r=o+1,e[r-1]===`\r`&&e[r]===`
5
- `&&r++}}return[t,n]}var y=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n}={}){let r;super({start(i){r=_({onEvent:e=>{i.enqueue(e)},onError(t){e===`terminate`?i.error(t):typeof e==`function`&&e(t)},onRetry:t,onComment:n})},transform(e){r.feed(e)}})}},b=`vercel.ai.error`,x=Symbol.for(b),S,C=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[S]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,b)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};S=x;var w=C,T=`AI_APICallError`,E=`vercel.ai.error.${T}`,D=Symbol.for(E),O,k=class extends w{constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:o,isRetryable:s=r!=null&&(r===408||r===409||r===429||r>=500),data:c}){super({name:T,message:e,cause:o}),this[O]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=s,this.data=c}static isInstance(e){return w.hasMarker(e,E)}};O=D;var A=`AI_EmptyResponseBodyError`,j=`vercel.ai.error.${A}`,ee=Symbol.for(j),M,N=class extends w{constructor({message:e=`Empty response body`}={}){super({name:A,message:e}),this[M]=!0}static isInstance(e){return w.hasMarker(e,j)}};M=ee;function P(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var te=`AI_InvalidArgumentError`,ne=`vercel.ai.error.${te}`,re=Symbol.for(ne),ie,ae=class extends w{constructor({message:e,cause:t,argument:n}){super({name:te,message:e,cause:t}),this[ie]=!0,this.argument=n}static isInstance(e){return w.hasMarker(e,ne)}};ie=re;var oe=`AI_InvalidPromptError`,se=`vercel.ai.error.${oe}`,ce=Symbol.for(se),le,ue=class extends w{constructor({prompt:e,message:t,cause:n}){super({name:oe,message:`Invalid prompt: ${t}`,cause:n}),this[le]=!0,this.prompt=e}static isInstance(e){return w.hasMarker(e,se)}};le=ce;var de=`AI_InvalidResponseDataError`,fe=`vercel.ai.error.${de}`,pe=Symbol.for(fe),me,he=class extends w{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:de,message:t}),this[me]=!0,this.data=e}static isInstance(e){return w.hasMarker(e,fe)}};me=pe;var ge=`AI_JSONParseError`,_e=`vercel.ai.error.${ge}`,ve=Symbol.for(_e),ye,be=class extends w{constructor({text:e,cause:t}){super({name:ge,message:`JSON parsing failed: Text: ${e}.
6
- Error message: ${P(t)}`,cause:t}),this[ye]=!0,this.text=e}static isInstance(e){return w.hasMarker(e,_e)}};ye=ve;var xe=`AI_LoadAPIKeyError`,Se=`vercel.ai.error.${xe}`,Ce=Symbol.for(Se),we,Te=class extends w{constructor({message:e}){super({name:xe,message:e}),this[we]=!0}static isInstance(e){return w.hasMarker(e,Se)}};we=Ce;var Ee=`AI_LoadSettingError`,De=`vercel.ai.error.${Ee}`,Oe=Symbol.for(De),ke;ke=Oe;var Ae=`AI_NoContentGeneratedError`,je=`vercel.ai.error.${Ae}`,Me=Symbol.for(je),Ne;Ne=Me;var Pe=`AI_NoSuchModelError`,Fe=`vercel.ai.error.${Pe}`,Ie=Symbol.for(Fe),Le,Re=class extends w{constructor({errorName:e=Pe,modelId:t,modelType:n,message:r=`No such ${n}: ${t}`}){super({name:e,message:r}),this[Le]=!0,this.modelId=t,this.modelType=n}static isInstance(e){return w.hasMarker(e,Fe)}};Le=Ie;var ze=`AI_TooManyEmbeddingValuesForCallError`,Be=`vercel.ai.error.${ze}`,Ve=Symbol.for(Be),He,Ue=class extends w{constructor(e){super({name:ze,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[He]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return w.hasMarker(e,Be)}};He=Ve;var We=`AI_TypeValidationError`,Ge=`vercel.ai.error.${We}`,Ke=Symbol.for(Ge),qe,Je=class e extends w{constructor({value:e,cause:t}){super({name:We,message:`Type validation failed: Value: ${JSON.stringify(e)}.
7
- Error message: ${P(t)}`,cause:t}),this[qe]=!0,this.value=e}static isInstance(e){return w.hasMarker(e,Ge)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};qe=Ke;var F=Je,Ye=`AI_UnsupportedFunctionalityError`,Xe=`vercel.ai.error.${Ye}`,Ze=Symbol.for(Xe),Qe,I=class extends w{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Ye,message:t}),this[Qe]=!0,this.functionality=e}static isInstance(e){return w.hasMarker(e,Xe)}};Qe=Ze;function L(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function R(e){return Object.fromEntries([...e.headers])}var $e=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new ae({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`},z=$e();function et(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var tt=[`fetch failed`,`failed to fetch`];function nt({error:e,url:t,requestBodyValues:n}){if(et(e))return e;if(e instanceof TypeError&&tt.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new k({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}function rt(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function B({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new Te({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new Te({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new Te({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new Te({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}function it(e){var t;let[n,r=``]=e.toLowerCase().split(`/`);return(t={mpeg:`mp3`,"x-wav":`wav`,opus:`ogg`,mp4:`m4a`,"x-m4a":`m4a`}[r])??r}var at=/"__proto__"\s*:/,ot=/"constructor"\s*:/;function st(e){let t=JSON.parse(e);return typeof t!=`object`||!t||at.test(e)===!1&&ot.test(e)===!1?t:ct(t)}function ct(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function lt(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return st(e)}finally{Error.stackTraceLimit=t}}var ut=Symbol.for(`vercel.ai.validator`);function dt(e){return{[ut]:!0,validate:e}}function ft(e){return typeof e==`object`&&!!e&&ut in e&&e[ut]===!0&&`validate`in e}function pt(e){return ft(e)?e:mt(e)}function mt(e){return dt(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new F({value:t,cause:n.issues})}})}async function ht({value:e,schema:t}){let n=await gt({value:e,schema:t});if(!n.success)throw F.wrap({value:e,cause:n.error});return n.value}async function gt({value:e,schema:t}){let n=pt(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:F.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:F.wrap({value:e,cause:t}),rawValue:e}}}async function _t({text:e,schema:t}){try{let n=lt(e);return t==null?n:ht({value:n,schema:t})}catch(t){throw be.isInstance(t)||F.isInstance(t)?t:new be({text:e,cause:t})}}async function vt({text:e,schema:t}){try{let n=lt(e);return t==null?{success:!0,value:n,rawValue:n}:await gt({value:n,schema:t})}catch(t){return{success:!1,error:be.isInstance(t)?t:new be({text:e,cause:t}),rawValue:void 0}}}function yt(e){try{return lt(e),!0}catch{return!1}}function bt({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new y).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await vt({text:e,schema:t}))}}))}async function V({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await gt({value:t[e],schema:n});if(!r.success)throw new ae({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var xt=()=>globalThis.fetch,H=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Ct({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),St=async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Ct({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Ct=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=xt()})=>{try{let s=await o(e,{method:`POST`,headers:rt(t),body:n.content,signal:a}),c=R(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw et(t)||k.isInstance(t)?t:new k({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&(et(t)||k.isInstance(t))?t:new k({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw nt({error:t,url:e,requestBodyValues:n.values})}};function wt(e){return e}function U({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>wt({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function Tt({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>wt({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}async function W(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var G=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=R(r);if(o.trim()===``)return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await _t({text:o,schema:e});return{responseHeaders:s,value:new k({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new k({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},K=e=>async({response:t})=>{let n=R(t);if(t.body==null)throw new N({});return{responseHeaders:n,value:bt({stream:t.body,schema:e})}},q=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await vt({text:i,schema:e}),o=R(t);if(!a.success)throw new k({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},Et=()=>async({response:e,url:t,requestBodyValues:n})=>{let r=R(e);if(!e.body)throw new k({message:`Response body is empty`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0});try{let t=await e.arrayBuffer();return{responseHeaders:r,value:new Uint8Array(t)}}catch(i){throw new k({message:`Failed to read response as array buffer`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0,cause:i})}},{btoa:Dt,atob:Ot}=globalThis;function kt(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=Ot(t);return Uint8Array.from(n,e=>e.codePointAt(0))}function At(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Dt(t)}function J(e){return e instanceof Uint8Array?At(e):e}function jt(e){return e?.replace(/\/$/,``)}var Mt=i.object({type:i.literal(`error`),error:i.object({type:i.string(),message:i.string()})}),Nt=G({errorSchema:Mt,errorToMessage:e=>e.error.message}),Pt=i.object({citations:i.object({enabled:i.boolean()}).optional(),title:i.string().optional(),context:i.string().optional()}),Ft=i.object({sendReasoning:i.boolean().optional(),thinking:i.object({type:i.union([i.literal(`enabled`),i.literal(`disabled`)]),budgetTokens:i.number().optional()}).optional(),disableParallelToolUse:i.boolean().optional()});function Y(e){var t;let n=e?.anthropic,r=(t=n?.cacheControl)??n?.cache_control;return r}var It=i.object({maxUses:i.number().optional(),allowedDomains:i.array(i.string()).optional(),blockedDomains:i.array(i.string()).optional(),userLocation:i.object({type:i.literal(`approximate`),city:i.string().optional(),region:i.string().optional(),country:i.string().optional(),timezone:i.string().optional()}).optional()}),Lt=i.array(i.object({url:i.string(),title:i.string(),pageAge:i.string().nullable(),encryptedContent:i.string(),type:i.string()})),Rt=Tt({id:`anthropic.web_search_20250305`,name:`web_search`,inputSchema:i.object({query:i.string()}),outputSchema:Lt}),zt=(e={})=>Rt(e);function Bt(e){return typeof e==`object`&&!!e&&`type`in e&&e.type===`web_search_20250305`}function Vt({tools:e,toolChoice:t,disableParallelToolUse:n}){e=e?.length?e:void 0;let r=[],i=new Set;if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};let a=[];for(let t of e){if(Bt(t)){a.push(t);continue}switch(t.type){case`function`:let e=Y(t.providerOptions);a.push({name:t.name,description:t.description,input_schema:t.inputSchema,cache_control:e});break;case`provider-defined`:switch(t.id){case`anthropic.computer_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`computer`,type:`computer_20250124`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.computer_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`computer`,type:`computer_20241022`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.text_editor_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_editor`,type:`text_editor_20250124`});break;case`anthropic.text_editor_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`str_replace_editor`,type:`text_editor_20241022`});break;case`anthropic.text_editor_20250429`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_based_edit_tool`,type:`text_editor_20250429`});break;case`anthropic.bash_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`bash`,type:`bash_20250124`});break;case`anthropic.bash_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`bash`,type:`bash_20241022`});break;case`anthropic.web_search_20250305`:{let e=It.parse(t.args);a.push({type:`web_search_20250305`,name:`web_search`,max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation});break}case`anthropic.code_execution_20250522`:i.add(`code-execution-2025-05-22`),a.push({type:`code_execution_20250522`,name:`code_execution`});break;default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}}if(t==null)return{tools:a,toolChoice:n?{type:`auto`,disable_parallel_tool_use:n}:void 0,toolWarnings:r,betas:i};let o=t.type;switch(o){case`auto`:return{tools:a,toolChoice:{type:`auto`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`required`:return{tools:a,toolChoice:{type:`any`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`none`:return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};case`tool`:return{tools:a,toolChoice:{type:`tool`,name:t.toolName,disable_parallel_tool_use:n},toolWarnings:r,betas:i};default:{let e=o;throw new I({functionality:`tool choice type: ${e}`})}}}var Ht=i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),Ut=Tt({id:`anthropic.code_execution_20250522`,name:`code_execution`,inputSchema:i.object({code:i.string()}),outputSchema:Ht}),Wt=(e={})=>Ut(e);function Gt(e){if(typeof e==`string`)return Buffer.from(e,`base64`).toString(`utf-8`);if(e instanceof Uint8Array)return new TextDecoder().decode(e);throw e instanceof URL?new I({functionality:`URL-based text documents are not supported for citations`}):new I({functionality:`unsupported data type for text documents: ${typeof e}`})}async function Kt({prompt:e,sendReasoning:t,warnings:n}){var r,i,a,o,s;let c=new Set,l=qt(e),u,d=[];async function f(e){var t,n;let r=await V({provider:`anthropic`,providerOptions:e,schema:Pt});return(n=(t=r?.citations)?.enabled)??!1}async function p(e){let t=await V({provider:`anthropic`,providerOptions:e,schema:Pt});return{title:t?.title,context:t?.context}}for(let e=0;e<l.length;e++){let m=l[e],h=e===l.length-1,g=m.type;switch(g){case`system`:if(u!=null)throw new I({functionality:`Multiple system messages that are separated by user/assistant messages`});u=m.messages.map(({content:e,providerOptions:t})=>({type:`text`,text:e,cache_control:Y(t)}));break;case`user`:{let e=[];for(let t of m.messages){let{role:n,content:s}=t;switch(n){case`user`:for(let n=0;n<s.length;n++){let o=s[n],l=n===s.length-1,u=(r=Y(o.providerOptions))??(l?Y(t.providerOptions):void 0);switch(o.type){case`text`:e.push({type:`text`,text:o.text,cache_control:u});break;case`file`:if(o.mediaType.startsWith(`image/`))e.push({type:`image`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`base64`,media_type:o.mediaType===`image/*`?`image/jpeg`:o.mediaType,data:J(o.data)},cache_control:u});else if(o.mediaType===`application/pdf`){c.add(`pdfs-2024-09-25`);let t=await f(o.providerOptions),n=await p(o.providerOptions);e.push({type:`document`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`base64`,media_type:`application/pdf`,data:J(o.data)},title:(i=n.title)??o.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:u})}else if(o.mediaType===`text/plain`){let t=await f(o.providerOptions),n=await p(o.providerOptions);e.push({type:`document`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`text`,media_type:`text/plain`,data:Gt(o.data)},title:(a=n.title)??o.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:u})}else throw new I({functionality:`media type: ${o.mediaType}`});break}}break;case`tool`:for(let n=0;n<s.length;n++){let r=s[n],i=n===s.length-1,a=(o=Y(r.providerOptions))??(i?Y(t.providerOptions):void 0),c=r.output,l;switch(c.type){case`content`:l=c.value.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,cache_control:void 0};case`media`:if(e.mediaType.startsWith(`image/`))return{type:`image`,source:{type:`base64`,media_type:e.mediaType,data:e.data},cache_control:void 0};throw new I({functionality:`media type: ${e.mediaType}`})}});break;case`text`:case`error-text`:l=c.value;break;case`json`:case`error-json`:default:l=JSON.stringify(c.value);break}e.push({type:`tool_result`,tool_use_id:r.toolCallId,content:l,is_error:c.type===`error-text`||c.type===`error-json`?!0:void 0,cache_control:a})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}}d.push({role:`user`,content:e});break}case`assistant`:{let e=[];for(let r=0;r<m.messages.length;r++){let i=m.messages[r],a=r===m.messages.length-1,{content:o}=i;for(let r=0;r<o.length;r++){let c=o[r],l=r===o.length-1,u=(s=Y(c.providerOptions))??(l?Y(i.providerOptions):void 0);switch(c.type){case`text`:e.push({type:`text`,text:h&&a&&l?c.text.trim():c.text,cache_control:u});break;case`reasoning`:if(t){let t=await V({provider:`anthropic`,providerOptions:c.providerOptions,schema:tn});t==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):t.signature==null?t.redactedData==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):e.push({type:`redacted_thinking`,data:t.redactedData,cache_control:u}):e.push({type:`thinking`,thinking:c.text,signature:t.signature,cache_control:u})}else n.push({type:`other`,message:`sending reasoning content is disabled for this model`});break;case`tool-call`:if(c.providerExecuted){if(c.toolName===`web_search`){e.push({type:`server_tool_use`,id:c.toolCallId,name:`web_search`,input:c.input,cache_control:u});break}if(c.toolName===`code_execution`){e.push({type:`server_tool_use`,id:c.toolCallId,name:`code_execution`,input:c.input,cache_control:u});break}n.push({type:`other`,message:`provider executed tool call for tool ${c.toolName} is not supported`});break}e.push({type:`tool_use`,id:c.toolCallId,name:c.toolName,input:c.input,cache_control:u});break;case`tool-result`:if(c.toolName===`web_search`){let t=c.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${c.toolName} is not supported`});break}let r=Lt.parse(t.value);e.push({type:`web_search_tool_result`,tool_use_id:c.toolCallId,content:r.map(e=>({url:e.url,title:e.title,page_age:e.pageAge,encrypted_content:e.encryptedContent,type:e.type})),cache_control:u});break}if(c.toolName===`code_execution`){let t=c.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${c.toolName} is not supported`});break}let r=Ht.parse(t.value);e.push({type:`code_execution_tool_result`,tool_use_id:c.toolCallId,content:{type:r.type,stdout:r.stdout,stderr:r.stderr,return_code:r.return_code},cache_control:u});break}n.push({type:`other`,message:`provider executed tool result for tool ${c.toolName} is not supported`});break}}}d.push({role:`assistant`,content:e});break}default:{let e=g;throw Error(`content type: ${e}`)}}}return{prompt:{system:u,messages:d},betas:c}}function qt(e){let t=[],n;for(let r of e){let{role:e}=r;switch(e){case`system`:n?.type!==`system`&&(n={type:`system`,messages:[]},t.push(n)),n.messages.push(r);break;case`assistant`:n?.type!==`assistant`&&(n={type:`assistant`,messages:[]},t.push(n)),n.messages.push(r);break;case`user`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;case`tool`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;default:{let t=e;throw Error(`Unsupported role: ${t}`)}}}return t}function Jt({finishReason:e,isJsonResponseFromTool:t}){switch(e){case`pause_turn`:case`end_turn`:case`stop_sequence`:return`stop`;case`refusal`:return`content-filter`;case`tool_use`:return t?`stop`:`tool-calls`;case`max_tokens`:return`length`;default:return`unknown`}}var X={webSearchResult:i.object({type:i.literal(`web_search_result_location`),cited_text:i.string(),url:i.string(),title:i.string(),encrypted_index:i.string()}),pageLocation:i.object({type:i.literal(`page_location`),cited_text:i.string(),document_index:i.number(),document_title:i.string().nullable(),start_page_number:i.number(),end_page_number:i.number()}),charLocation:i.object({type:i.literal(`char_location`),cited_text:i.string(),document_index:i.number(),document_title:i.string().nullable(),start_char_index:i.number(),end_char_index:i.number()})},Yt=i.discriminatedUnion(`type`,[X.webSearchResult,X.pageLocation,X.charLocation]);i.discriminatedUnion(`type`,[X.pageLocation,X.charLocation]);function Xt(e,t,n,r){if(e.type===`page_location`||e.type===`char_location`){let i=Zt(e,t,n);i&&r(i)}}function Zt(e,t,n){var r;let i=t[e.document_index];if(!i)return null;let a=e.type===`page_location`?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index};return{type:`source`,sourceType:`document`,id:n(),mediaType:i.mediaType,title:(r=e.document_title)??i.title,filename:i.filename,providerMetadata:{anthropic:a}}}var Qt=class{constructor(e,t){this.specificationVersion=`v2`;var n;this.modelId=e,this.config=t,this.generateId=(n=t.generateId)??z}supportsUrl(e){return e.protocol===`https:`}get provider(){return this.config.provider}get supportedUrls(){var e,t,n;return(n=(t=(e=this.config).supportedUrls)?.call(e))??{}}async getArgs({prompt:e,maxOutputTokens:t=4096,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m,h;let g=[];a!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),l!=null&&g.push({type:`unsupported-setting`,setting:`seed`}),c?.type===`json`&&(c.schema==null?g.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format requires a schema. The response format is ignored.`}):u!=null&&g.push({type:`unsupported-setting`,setting:`tools`,details:`JSON response format does not support tools. The provided tools are ignored.`}));let _=c?.type===`json`&&c.schema!=null?{type:`function`,name:`json`,description:`Respond with a JSON object.`,inputSchema:c.schema}:void 0,v=await V({provider:`anthropic`,providerOptions:f,schema:Ft}),{prompt:y,betas:b}=await Kt({prompt:e,sendReasoning:(p=v?.sendReasoning)??!0,warnings:g}),x=(m=v?.thinking)?.type===`enabled`,S=(h=v?.thinking)?.budgetTokens,C={model:this.modelId,max_tokens:t,temperature:n,top_k:i,top_p:r,stop_sequences:s,...x&&{thinking:{type:`enabled`,budget_tokens:S}},system:y.system,messages:y.messages};if(x){if(S==null)throw new I({functionality:`thinking requires a budget`});C.temperature!=null&&(C.temperature=void 0,g.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported when thinking is enabled`})),i!=null&&(C.top_k=void 0,g.push({type:`unsupported-setting`,setting:`topK`,details:`topK is not supported when thinking is enabled`})),r!=null&&(C.top_p=void 0,g.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported when thinking is enabled`})),C.max_tokens=t+S}let{tools:w,toolChoice:T,toolWarnings:E,betas:D}=Vt(_==null?{tools:u??[],toolChoice:d,disableParallelToolUse:v?.disableParallelToolUse}:{tools:[_],toolChoice:{type:`tool`,toolName:_.name},disableParallelToolUse:!0});return{args:{...C,tools:w,tool_choice:T},warnings:[...g,...E],betas:new Set([...b,...D]),usesJsonResponseTool:_!=null}}async getHeaders({betas:e,headers:t}){return L(await W(this.config.headers),e.size>0?{"anthropic-beta":Array.from(e).join(`,`)}:{},t)}buildRequestUrl(e){var t,n,r;return(r=(n=(t=this.config).buildRequestUrl)?.call(t,this.config.baseURL,e))??`${this.config.baseURL}/messages`}transformRequestBody(e){var t,n,r;return(r=(n=(t=this.config).transformRequestBody)?.call(t,e))??e}extractCitationDocuments(e){let t=e=>{var t,n;if(e.type!==`file`||e.mediaType!==`application/pdf`&&e.mediaType!==`text/plain`)return!1;let r=(t=e.providerOptions)?.anthropic,i=r?.citations;return(n=i?.enabled)??!1};return e.filter(e=>e.role===`user`).flatMap(e=>e.content).filter(t).map(e=>{var t;let n=e;return{title:(t=n.filename)??`Untitled Document`,filename:n.filename,mediaType:n.mediaType}})}async doGenerate(e){var t,n,r,i,a;let{args:o,warnings:s,betas:c,usesJsonResponseTool:l}=await this.getArgs(e),u=this.extractCitationDocuments(e.prompt),{responseHeaders:d,value:f,rawValue:p}=await H({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:c,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:Nt,successfulResponseHandler:q($t),abortSignal:e.abortSignal,fetch:this.config.fetch}),m=[];for(let e of f.content)switch(e.type){case`text`:if(!l&&(m.push({type:`text`,text:e.text}),e.citations))for(let t of e.citations)Xt(t,u,this.generateId,e=>m.push(e));break;case`thinking`:m.push({type:`reasoning`,text:e.thinking,providerMetadata:{anthropic:{signature:e.signature}}});break;case`redacted_thinking`:m.push({type:`reasoning`,text:``,providerMetadata:{anthropic:{redactedData:e.data}}});break;case`tool_use`:m.push(l?{type:`text`,text:JSON.stringify(e.input)}:{type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input)});break;case`server_tool_use`:(e.name===`web_search`||e.name===`code_execution`)&&m.push({type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0});break;case`web_search_tool_result`:if(Array.isArray(e.content)){m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>{var t;return{url:e.url,title:e.title,pageAge:(t=e.page_age)??null,encryptedContent:e.encrypted_content,type:e.type}}),providerExecuted:!0});for(let n of e.content)m.push({type:`source`,sourceType:`url`,id:this.generateId(),url:n.url,title:n.title,providerMetadata:{anthropic:{pageAge:(t=n.page_age)??null}}})}else m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break;case`code_execution_tool_result`:e.content.type===`code_execution_result`?m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break}return{content:m,finishReason:Jt({finishReason:f.stop_reason,isJsonResponseFromTool:l}),usage:{inputTokens:f.usage.input_tokens,outputTokens:f.usage.output_tokens,totalTokens:f.usage.input_tokens+f.usage.output_tokens,cachedInputTokens:(n=f.usage.cache_read_input_tokens)??void 0},request:{body:o},response:{id:(r=f.id)??void 0,modelId:(i=f.model)??void 0,headers:d,body:p},warnings:s,providerMetadata:{anthropic:{usage:f.usage,cacheCreationInputTokens:(a=f.usage.cache_creation_input_tokens)??null}}}}async doStream(e){let{args:t,warnings:n,betas:r,usesJsonResponseTool:i}=await this.getArgs(e),a=this.extractCitationDocuments(e.prompt),o={...t,stream:!0},{responseHeaders:s,value:c}=await H({url:this.buildRequestUrl(!0),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:Nt,successfulResponseHandler:K(en),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=`unknown`,u={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},d={},f,p,m=this.generateId;return{stream:c.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,o,s,c,h,g,_;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let v=t.value;switch(v.type){case`ping`:return;case`content_block_start`:{let e=v.content_block.type;switch(p=e,e){case`text`:d[v.index]={type:`text`},n.enqueue({type:`text-start`,id:String(v.index)});return;case`thinking`:d[v.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(v.index)});return;case`redacted_thinking`:d[v.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(v.index),providerMetadata:{anthropic:{redactedData:v.content_block.data}}});return;case`tool_use`:d[v.index]=i?{type:`text`}:{type:`tool-call`,toolCallId:v.content_block.id,toolName:v.content_block.name,input:``},n.enqueue(i?{type:`text-start`,id:String(v.index)}:{type:`tool-input-start`,id:v.content_block.id,toolName:v.content_block.name});return;case`server_tool_use`:(v.content_block.name===`web_search`||v.content_block.name===`code_execution`)&&(d[v.index]={type:`tool-call`,toolCallId:v.content_block.id,toolName:v.content_block.name,input:``,providerExecuted:!0},n.enqueue({type:`tool-input-start`,id:v.content_block.id,toolName:v.content_block.name,providerExecuted:!0}));return;case`web_search_tool_result`:{let e=v.content_block;if(Array.isArray(e.content)){n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>{var t;return{url:e.url,title:e.title,pageAge:(t=e.page_age)??null,encryptedContent:e.encrypted_content,type:e.type}}),providerExecuted:!0});for(let t of e.content)n.enqueue({type:`source`,sourceType:`url`,id:m(),url:t.url,title:t.title,providerMetadata:{anthropic:{pageAge:(r=t.page_age)??null}}})}else n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}case`code_execution_tool_result`:{let e=v.content_block;e.content.type===`code_execution_result`?n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}default:{let t=e;throw Error(`Unsupported content block type: ${t}`)}}}case`content_block_stop`:if(d[v.index]!=null){let e=d[v.index];switch(e.type){case`text`:n.enqueue({type:`text-end`,id:String(v.index)});break;case`reasoning`:n.enqueue({type:`reasoning-end`,id:String(v.index)});break;case`tool-call`:i||(n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue(e));break}delete d[v.index]}p=void 0;return;case`content_block_delta`:{let e=v.delta.type;switch(e){case`text_delta`:if(i)return;n.enqueue({type:`text-delta`,id:String(v.index),delta:v.delta.text});return;case`thinking_delta`:n.enqueue({type:`reasoning-delta`,id:String(v.index),delta:v.delta.thinking});return;case`signature_delta`:p===`thinking`&&n.enqueue({type:`reasoning-delta`,id:String(v.index),delta:``,providerMetadata:{anthropic:{signature:v.delta.signature}}});return;case`input_json_delta`:{let e=d[v.index],t=v.delta.partial_json;if(i){if(e?.type!==`text`)return;n.enqueue({type:`text-delta`,id:String(v.index),delta:t})}else{if(e?.type!==`tool-call`)return;n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:t}),e.input+=t}return}case`citations_delta`:{let e=v.delta.citation;Xt(e,a,m,e=>n.enqueue(e));return}default:{let t=e;throw Error(`Unsupported delta type: ${t}`)}}}case`message_start`:u.inputTokens=v.message.usage.input_tokens,u.cachedInputTokens=(o=v.message.usage.cache_read_input_tokens)??void 0,f={anthropic:{usage:v.message.usage,cacheCreationInputTokens:(s=v.message.usage.cache_creation_input_tokens)??null}},n.enqueue({type:`response-metadata`,id:(c=v.message.id)??void 0,modelId:(h=v.message.model)??void 0});return;case`message_delta`:u.outputTokens=v.usage.output_tokens,u.totalTokens=((g=u.inputTokens)??0)+((_=v.usage.output_tokens)??0),l=Jt({finishReason:v.delta.stop_reason,isJsonResponseFromTool:i});return;case`message_stop`:n.enqueue({type:`finish`,finishReason:l,usage:u,providerMetadata:f});return;case`error`:n.enqueue({type:`error`,error:v.error});return;default:{let e=v;throw Error(`Unsupported chunk type: ${e}`)}}}})),request:{body:o},response:{headers:s}}}},$t=i.object({type:i.literal(`message`),id:i.string().nullish(),model:i.string().nullish(),content:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`text`),text:i.string(),citations:i.array(Yt).optional()}),i.object({type:i.literal(`thinking`),thinking:i.string(),signature:i.string()}),i.object({type:i.literal(`redacted_thinking`),data:i.string()}),i.object({type:i.literal(`tool_use`),id:i.string(),name:i.string(),input:i.unknown()}),i.object({type:i.literal(`server_tool_use`),id:i.string(),name:i.string(),input:i.record(i.string(),i.unknown()).nullish()}),i.object({type:i.literal(`web_search_tool_result`),tool_use_id:i.string(),content:i.union([i.array(i.object({type:i.literal(`web_search_result`),url:i.string(),title:i.string(),encrypted_content:i.string(),page_age:i.string().nullish()})),i.object({type:i.literal(`web_search_tool_result_error`),error_code:i.string()})])}),i.object({type:i.literal(`code_execution_tool_result`),tool_use_id:i.string(),content:i.union([i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),i.object({type:i.literal(`code_execution_tool_result_error`),error_code:i.string()})])})])),stop_reason:i.string().nullish(),usage:i.looseObject({input_tokens:i.number(),output_tokens:i.number(),cache_creation_input_tokens:i.number().nullish(),cache_read_input_tokens:i.number().nullish()})}),en=i.discriminatedUnion(`type`,[i.object({type:i.literal(`message_start`),message:i.object({id:i.string().nullish(),model:i.string().nullish(),usage:i.looseObject({input_tokens:i.number(),output_tokens:i.number(),cache_creation_input_tokens:i.number().nullish(),cache_read_input_tokens:i.number().nullish()})})}),i.object({type:i.literal(`content_block_start`),index:i.number(),content_block:i.discriminatedUnion(`type`,[i.object({type:i.literal(`text`),text:i.string()}),i.object({type:i.literal(`thinking`),thinking:i.string()}),i.object({type:i.literal(`tool_use`),id:i.string(),name:i.string()}),i.object({type:i.literal(`redacted_thinking`),data:i.string()}),i.object({type:i.literal(`server_tool_use`),id:i.string(),name:i.string(),input:i.record(i.string(),i.unknown()).nullish()}),i.object({type:i.literal(`web_search_tool_result`),tool_use_id:i.string(),content:i.union([i.array(i.object({type:i.literal(`web_search_result`),url:i.string(),title:i.string(),encrypted_content:i.string(),page_age:i.string().nullish()})),i.object({type:i.literal(`web_search_tool_result_error`),error_code:i.string()})])}),i.object({type:i.literal(`code_execution_tool_result`),tool_use_id:i.string(),content:i.union([i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),i.object({type:i.literal(`code_execution_tool_result_error`),error_code:i.string()})])})])}),i.object({type:i.literal(`content_block_delta`),index:i.number(),delta:i.discriminatedUnion(`type`,[i.object({type:i.literal(`input_json_delta`),partial_json:i.string()}),i.object({type:i.literal(`text_delta`),text:i.string()}),i.object({type:i.literal(`thinking_delta`),thinking:i.string()}),i.object({type:i.literal(`signature_delta`),signature:i.string()}),i.object({type:i.literal(`citations_delta`),citation:Yt})])}),i.object({type:i.literal(`content_block_stop`),index:i.number()}),i.object({type:i.literal(`error`),error:i.object({type:i.string(),message:i.string()})}),i.object({type:i.literal(`message_delta`),delta:i.object({stop_reason:i.string().nullish()}),usage:i.object({output_tokens:i.number()})}),i.object({type:i.literal(`message_stop`)}),i.object({type:i.literal(`ping`)})]),tn=i.object({signature:i.string().optional(),redactedData:i.string().optional()}),nn=U({id:`anthropic.bash_20241022`,name:`bash`,inputSchema:r.object({command:r.string(),restart:r.boolean().optional()})}),rn=U({id:`anthropic.bash_20250124`,name:`bash`,inputSchema:r.object({command:r.string(),restart:r.boolean().optional()})}),an=U({id:`anthropic.computer_20241022`,name:`computer`,inputSchema:i.object({action:i.enum([`key`,`type`,`mouse_move`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`screenshot`,`cursor_position`]),coordinate:i.array(i.number().int()).optional(),text:i.string().optional()})}),on=U({id:`anthropic.computer_20250124`,name:`computer`,inputSchema:i.object({action:i.enum([`key`,`hold_key`,`type`,`cursor_position`,`mouse_move`,`left_mouse_down`,`left_mouse_up`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`triple_click`,`scroll`,`wait`,`screenshot`]),coordinate:i.tuple([i.number().int(),i.number().int()]).optional(),duration:i.number().optional(),scroll_amount:i.number().optional(),scroll_direction:i.enum([`up`,`down`,`left`,`right`]).optional(),start_coordinate:i.tuple([i.number().int(),i.number().int()]).optional(),text:i.string().optional()})}),sn=U({id:`anthropic.text_editor_20241022`,name:`str_replace_editor`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),cn=U({id:`anthropic.text_editor_20250124`,name:`str_replace_editor`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),ln=U({id:`anthropic.text_editor_20250429`,name:`str_replace_based_edit_tool`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),un={bash_20241022:nn,bash_20250124:rn,codeExecution_20250522:Wt,computer_20241022:an,computer_20250124:on,textEditor_20241022:sn,textEditor_20250124:cn,textEditor_20250429:ln,webSearch_20250305:zt};function dn(e={}){var t;let n=(t=jt(e.baseURL))??`https://api.anthropic.com/v1`,r=()=>({"anthropic-version":`2023-06-01`,"x-api-key":B({apiKey:e.apiKey,environmentVariableName:`ANTHROPIC_API_KEY`,description:`Anthropic`}),...e.headers}),i=t=>{var i;return new Qt(t,{provider:`anthropic.messages`,baseURL:n,headers:r,fetch:e.fetch,generateId:(i=e.generateId)??z,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/]})})},a=function(e){if(new.target)throw Error(`The Anthropic model function cannot be called with the new keyword.`);return i(e)};return a.languageModel=i,a.chat=i,a.messages=i,a.textEmbeddingModel=e=>{throw new Re({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=e=>{throw new Re({modelId:e,modelType:`imageModel`})},a.tools=un,a}dn();var fn=i.object({error:i.object({code:i.number().nullable(),message:i.string(),status:i.string()})}),Z=G({errorSchema:fn,errorToMessage:e=>e.error.message}),pn=i.object({outputDimensionality:i.number().optional(),taskType:i.enum([`SEMANTIC_SIMILARITY`,`CLASSIFICATION`,`CLUSTERING`,`RETRIEVAL_DOCUMENT`,`RETRIEVAL_QUERY`,`QUESTION_ANSWERING`,`FACT_VERIFICATION`,`CODE_RETRIEVAL_QUERY`]).optional()}),mn=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){let i=await V({provider:`google`,providerOptions:r,schema:pn});if(e.length>this.maxEmbeddingsPerCall)throw new Ue({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=L(await W(this.config.headers),t);if(e.length===1){let{responseHeaders:t,value:r,rawValue:o}=await H({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:a,body:{model:`models/${this.modelId}`,content:{parts:[{text:e[0]}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType},failedResponseHandler:Z,successfulResponseHandler:q(gn),abortSignal:n,fetch:this.config.fetch});return{embeddings:[r.embedding.values],usage:void 0,response:{headers:t,body:o}}}let{responseHeaders:o,value:s,rawValue:c}=await H({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:a,body:{requests:e.map(e=>({model:`models/${this.modelId}`,content:{role:`user`,parts:[{text:e}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType}))},failedResponseHandler:Z,successfulResponseHandler:q(hn),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.embeddings.map(e=>e.values),usage:void 0,response:{headers:o,body:c}}}},hn=i.object({embeddings:i.array(i.object({values:i.array(i.number())}))}),gn=i.object({embedding:i.object({values:i.array(i.number())})});function Q(e){if(e==null||_n(e))return;if(typeof e==`boolean`)return{type:`boolean`,properties:{}};let{type:t,description:n,required:r,properties:i,items:a,allOf:o,anyOf:s,oneOf:c,format:l,const:u,minLength:d,enum:f}=e,p={};if(n&&(p.description=n),r&&(p.required=r),l&&(p.format=l),u!==void 0&&(p.enum=[u]),t&&(Array.isArray(t)?t.includes(`null`)?(p.type=t.filter(e=>e!==`null`)[0],p.nullable=!0):p.type=t:t===`null`?p.type=`null`:p.type=t),f!==void 0&&(p.enum=f),i!=null&&(p.properties=Object.entries(i).reduce((e,[t,n])=>(e[t]=Q(n),e),{})),a&&(p.items=Array.isArray(a)?a.map(Q):Q(a)),o&&(p.allOf=o.map(Q)),s)if(s.some(e=>typeof e==`object`&&e?.type===`null`)){let e=s.filter(e=>!(typeof e==`object`&&e?.type===`null`));if(e.length===1){let t=Q(e[0]);typeof t==`object`&&(p.nullable=!0,Object.assign(p,t))}else p.anyOf=e.map(Q),p.nullable=!0}else p.anyOf=s.map(Q);return c&&(p.oneOf=c.map(Q)),d!==void 0&&(p.minLength=d),p}function _n(e){return typeof e==`object`&&!!e&&e.type===`object`&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}function vn(e,t){var n;let r=[],i=[],a=!0,o=(n=t?.isGemmaModel)??!1;for(let{role:t,content:n}of e)switch(t){case`system`:if(!a)throw new I({functionality:`system messages are only supported at the beginning of the conversation`});r.push({text:n});break;case`user`:{a=!1;let e=[];for(let t of n)switch(t.type){case`text`:e.push({text:t.text});break;case`file`:{let n=t.mediaType===`image/*`?`image/jpeg`:t.mediaType;e.push(t.data instanceof URL?{fileData:{mimeType:n,fileUri:t.data.toString()}}:{inlineData:{mimeType:n,data:J(t.data)}});break}}i.push({role:`user`,parts:e});break}case`assistant`:a=!1,i.push({role:`model`,parts:n.map(e=>{var t,n,r,i,a,o;switch(e.type){case`text`:return e.text.length===0?void 0:{text:e.text,thoughtSignature:(n=(t=e.providerOptions)?.google)?.thoughtSignature};case`reasoning`:return e.text.length===0?void 0:{text:e.text,thought:!0,thoughtSignature:(i=(r=e.providerOptions)?.google)?.thoughtSignature};case`file`:if(e.mediaType!==`image/png`)throw new I({functionality:`Only PNG images are supported in assistant messages`});if(e.data instanceof URL)throw new I({functionality:`File data URLs in assistant messages are not supported`});return{inlineData:{mimeType:e.mediaType,data:J(e.data)}};case`tool-call`:return{functionCall:{name:e.toolName,args:e.input},thoughtSignature:(o=(a=e.providerOptions)?.google)?.thoughtSignature}}}).filter(e=>e!==void 0)});break;case`tool`:{a=!1;let e=[];for(let t of n){let n=t.output;if(n.type===`content`)for(let r of n.value)switch(r.type){case`text`:e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:r.text}}});break;case`media`:e.push({inlineData:{mimeType:r.mediaType,data:r.data}},{text:`Tool executed successfully and returned this image as a response`});break;default:e.push({text:JSON.stringify(r)});break}else e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:n.value}}})}i.push({role:`user`,parts:e});break}}if(o&&r.length>0&&i.length>0&&i[0].role===`user`){let e=r.map(e=>e.text).join(`
7
+ `&&r++}}return[t,n]}var Ze=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n}={}){let r;super({start(i){r=Ye({onEvent:e=>{i.enqueue(e)},onError(t){e===`terminate`?i.error(t):typeof e==`function`&&e(t)},onRetry:t,onComment:n})},transform(e){r.feed(e)}})}};function R(...e){return e.reduce((e,t)=>({...e,...t??{}}),{})}function z(e){return Object.fromEntries([...e.headers])}var Qe=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new F({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`},B=Qe();function $e(e){return(e instanceof Error||e instanceof DOMException)&&(e.name===`AbortError`||e.name===`ResponseAborted`||e.name===`TimeoutError`)}var et=[`fetch failed`,`failed to fetch`];function tt({error:e,url:t,requestBodyValues:n}){if($e(e))return e;if(e instanceof TypeError&&et.includes(e.message.toLowerCase())){let r=e.cause;if(r!=null)return new w({message:`Cannot connect to API: ${r.message}`,cause:r,url:t,requestBodyValues:n,isRetryable:!0})}return e}function nt(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>t!=null))}function rt({apiKey:e,environmentVariableName:t,apiKeyParameterName:n=`apiKey`,description:r}){if(typeof e==`string`)return e;if(e!=null)throw new ye({message:`${r} API key must be a string.`});if(typeof process>`u`)throw new ye({message:`${r} API key is missing. Pass it using the '${n}' parameter. Environment variables is not supported in this environment.`});if(e=process.env[t],e==null)throw new ye({message:`${r} API key is missing. Pass it using the '${n}' parameter or the ${t} environment variable.`});if(typeof e!=`string`)throw new ye({message:`${r} API key must be a string. The value of the ${t} environment variable is not a string.`});return e}function it(e){var t;let[n,r=``]=e.toLowerCase().split(`/`);return(t={mpeg:`mp3`,"x-wav":`wav`,opus:`ogg`,mp4:`m4a`,"x-m4a":`m4a`}[r])??r}var at=/"__proto__"\s*:/,ot=/"constructor"\s*:/;function st(e){let t=JSON.parse(e);return typeof t!=`object`||!t||at.test(e)===!1&&ot.test(e)===!1?t:ct(t)}function ct(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function lt(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return st(e)}finally{Error.stackTraceLimit=t}}var ut=Symbol.for(`vercel.ai.validator`);function dt(e){return{[ut]:!0,validate:e}}function ft(e){return typeof e==`object`&&!!e&&ut in e&&e[ut]===!0&&`validate`in e}function pt(e){return ft(e)?e:mt(e)}function mt(e){return dt(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new I({value:t,cause:n.issues})}})}async function ht({value:e,schema:t}){let n=await gt({value:e,schema:t});if(!n.success)throw I.wrap({value:e,cause:n.error});return n.value}async function gt({value:e,schema:t}){let n=pt(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:I.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:I.wrap({value:e,cause:t}),rawValue:e}}}async function _t({text:e,schema:t}){try{let n=lt(e);return t==null?n:ht({value:n,schema:t})}catch(t){throw me.isInstance(t)||I.isInstance(t)?t:new me({text:e,cause:t})}}async function vt({text:e,schema:t}){try{let n=lt(e);return t==null?{success:!0,value:n,rawValue:n}:await gt({value:n,schema:t})}catch(t){return{success:!1,error:me.isInstance(t)?t:new me({text:e,cause:t}),rawValue:void 0}}}function yt(e){try{return lt(e),!0}catch{return!1}}function bt({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Ze).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await vt({text:e,schema:t}))}}))}async function V({provider:e,providerOptions:t,schema:n}){if(t?.[e]==null)return;let r=await gt({value:t[e],schema:n});if(!r.success)throw new F({argument:`providerOptions`,message:`invalid ${e} provider options`,cause:r.error});return r.value}var xt=()=>globalThis.fetch,H=async({url:e,headers:t,body:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Ct({url:e,headers:{"Content-Type":`application/json`,...t},body:{content:JSON.stringify(n),values:n},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),St=async({url:e,headers:t,formData:n,failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o})=>Ct({url:e,headers:t,body:{content:n,values:Object.fromEntries(n.entries())},failedResponseHandler:r,successfulResponseHandler:i,abortSignal:a,fetch:o}),Ct=async({url:e,headers:t={},body:n,successfulResponseHandler:r,failedResponseHandler:i,abortSignal:a,fetch:o=xt()})=>{try{let s=await o(e,{method:`POST`,headers:nt(t),body:n.content,signal:a}),c=z(s);if(!s.ok){let t;try{t=await i({response:s,url:e,requestBodyValues:n.values})}catch(t){throw $e(t)||w.isInstance(t)?t:new w({message:`Failed to process error response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}throw t.value}try{return await r({response:s,url:e,requestBodyValues:n.values})}catch(t){throw t instanceof Error&&($e(t)||w.isInstance(t))?t:new w({message:`Failed to process successful response`,cause:t,statusCode:s.status,url:e,responseHeaders:c,requestBodyValues:n.values})}}catch(t){throw tt({error:t,url:e,requestBodyValues:n.values})}};function wt(e){return e}function U({id:e,name:t,inputSchema:n}){return({execute:r,outputSchema:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>wt({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:i,execute:r,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}function Tt({id:e,name:t,inputSchema:n,outputSchema:r}){return({execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c,...l})=>wt({type:`provider-defined`,id:e,name:t,args:l,inputSchema:n,outputSchema:r,execute:i,toModelOutput:a,onInputStart:o,onInputDelta:s,onInputAvailable:c})}async function W(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}var G=({errorSchema:e,errorToMessage:t,isRetryable:n})=>async({response:r,url:i,requestBodyValues:a})=>{let o=await r.text(),s=z(r);if(o.trim()===``)return{responseHeaders:s,value:new w({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})};try{let c=await _t({text:o,schema:e});return{responseHeaders:s,value:new w({message:t(c),url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,data:c,isRetryable:n?.(r,c)})}}catch{return{responseHeaders:s,value:new w({message:r.statusText,url:i,requestBodyValues:a,statusCode:r.status,responseHeaders:s,responseBody:o,isRetryable:n?.(r)})}}},K=e=>async({response:t})=>{let n=z(t);if(t.body==null)throw new k({});return{responseHeaders:n,value:bt({stream:t.body,schema:e})}},q=e=>async({response:t,url:n,requestBodyValues:r})=>{let i=await t.text(),a=await vt({text:i,schema:e}),o=z(t);if(!a.success)throw new w({message:`Invalid JSON response`,cause:a.error,statusCode:t.status,responseHeaders:o,responseBody:i,url:n,requestBodyValues:r});return{responseHeaders:o,value:a.value,rawValue:a.rawValue}},Et=()=>async({response:e,url:t,requestBodyValues:n})=>{let r=z(e);if(!e.body)throw new w({message:`Response body is empty`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0});try{let t=await e.arrayBuffer();return{responseHeaders:r,value:new Uint8Array(t)}}catch(i){throw new w({message:`Failed to read response as array buffer`,url:t,requestBodyValues:n,statusCode:e.status,responseHeaders:r,responseBody:void 0,cause:i})}},{btoa:Dt,atob:Ot}=globalThis;function kt(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=Ot(t);return Uint8Array.from(n,e=>e.codePointAt(0))}function At(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCodePoint(e[n]);return Dt(t)}function J(e){return e instanceof Uint8Array?At(e):e}function jt(e){return e?.replace(/\/$/,``)}var Mt=i.object({type:i.literal(`error`),error:i.object({type:i.string(),message:i.string()})}),Nt=G({errorSchema:Mt,errorToMessage:e=>e.error.message}),Pt=i.object({citations:i.object({enabled:i.boolean()}).optional(),title:i.string().optional(),context:i.string().optional()}),Ft=i.object({sendReasoning:i.boolean().optional(),thinking:i.object({type:i.union([i.literal(`enabled`),i.literal(`disabled`)]),budgetTokens:i.number().optional()}).optional(),disableParallelToolUse:i.boolean().optional()});function Y(e){var t;let n=e?.anthropic,r=(t=n?.cacheControl)??n?.cache_control;return r}var It=i.object({maxUses:i.number().optional(),allowedDomains:i.array(i.string()).optional(),blockedDomains:i.array(i.string()).optional(),userLocation:i.object({type:i.literal(`approximate`),city:i.string().optional(),region:i.string().optional(),country:i.string().optional(),timezone:i.string().optional()}).optional()}),Lt=i.array(i.object({url:i.string(),title:i.string(),pageAge:i.string().nullable(),encryptedContent:i.string(),type:i.string()})),Rt=Tt({id:`anthropic.web_search_20250305`,name:`web_search`,inputSchema:i.object({query:i.string()}),outputSchema:Lt}),zt=(e={})=>Rt(e);function Bt(e){return typeof e==`object`&&!!e&&`type`in e&&e.type===`web_search_20250305`}function Vt({tools:e,toolChoice:t,disableParallelToolUse:n}){e=e?.length?e:void 0;let r=[],i=new Set;if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};let a=[];for(let t of e){if(Bt(t)){a.push(t);continue}switch(t.type){case`function`:let e=Y(t.providerOptions);a.push({name:t.name,description:t.description,input_schema:t.inputSchema,cache_control:e});break;case`provider-defined`:switch(t.id){case`anthropic.computer_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`computer`,type:`computer_20250124`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.computer_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`computer`,type:`computer_20241022`,display_width_px:t.args.displayWidthPx,display_height_px:t.args.displayHeightPx,display_number:t.args.displayNumber});break;case`anthropic.text_editor_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_editor`,type:`text_editor_20250124`});break;case`anthropic.text_editor_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`str_replace_editor`,type:`text_editor_20241022`});break;case`anthropic.text_editor_20250429`:i.add(`computer-use-2025-01-24`),a.push({name:`str_replace_based_edit_tool`,type:`text_editor_20250429`});break;case`anthropic.bash_20250124`:i.add(`computer-use-2025-01-24`),a.push({name:`bash`,type:`bash_20250124`});break;case`anthropic.bash_20241022`:i.add(`computer-use-2024-10-22`),a.push({name:`bash`,type:`bash_20241022`});break;case`anthropic.web_search_20250305`:{let e=It.parse(t.args);a.push({type:`web_search_20250305`,name:`web_search`,max_uses:e.maxUses,allowed_domains:e.allowedDomains,blocked_domains:e.blockedDomains,user_location:e.userLocation});break}case`anthropic.code_execution_20250522`:i.add(`code-execution-2025-05-22`),a.push({type:`code_execution_20250522`,name:`code_execution`});break;default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}}if(t==null)return{tools:a,toolChoice:n?{type:`auto`,disable_parallel_tool_use:n}:void 0,toolWarnings:r,betas:i};let o=t.type;switch(o){case`auto`:return{tools:a,toolChoice:{type:`auto`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`required`:return{tools:a,toolChoice:{type:`any`,disable_parallel_tool_use:n},toolWarnings:r,betas:i};case`none`:return{tools:void 0,toolChoice:void 0,toolWarnings:r,betas:i};case`tool`:return{tools:a,toolChoice:{type:`tool`,name:t.toolName,disable_parallel_tool_use:n},toolWarnings:r,betas:i};default:{let e=o;throw new L({functionality:`tool choice type: ${e}`})}}}var Ht=i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),Ut=Tt({id:`anthropic.code_execution_20250522`,name:`code_execution`,inputSchema:i.object({code:i.string()}),outputSchema:Ht}),Wt=(e={})=>Ut(e);function Gt(e){if(typeof e==`string`)return Buffer.from(e,`base64`).toString(`utf-8`);if(e instanceof Uint8Array)return new TextDecoder().decode(e);throw e instanceof URL?new L({functionality:`URL-based text documents are not supported for citations`}):new L({functionality:`unsupported data type for text documents: ${typeof e}`})}async function Kt({prompt:e,sendReasoning:t,warnings:n}){var r,i,a,o,s;let c=new Set,l=qt(e),u,d=[];async function f(e){var t,n;let r=await V({provider:`anthropic`,providerOptions:e,schema:Pt});return(n=(t=r?.citations)?.enabled)??!1}async function p(e){let t=await V({provider:`anthropic`,providerOptions:e,schema:Pt});return{title:t?.title,context:t?.context}}for(let e=0;e<l.length;e++){let m=l[e],h=e===l.length-1,g=m.type;switch(g){case`system`:if(u!=null)throw new L({functionality:`Multiple system messages that are separated by user/assistant messages`});u=m.messages.map(({content:e,providerOptions:t})=>({type:`text`,text:e,cache_control:Y(t)}));break;case`user`:{let e=[];for(let t of m.messages){let{role:n,content:s}=t;switch(n){case`user`:for(let n=0;n<s.length;n++){let o=s[n],l=n===s.length-1,u=(r=Y(o.providerOptions))??(l?Y(t.providerOptions):void 0);switch(o.type){case`text`:e.push({type:`text`,text:o.text,cache_control:u});break;case`file`:if(o.mediaType.startsWith(`image/`))e.push({type:`image`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`base64`,media_type:o.mediaType===`image/*`?`image/jpeg`:o.mediaType,data:J(o.data)},cache_control:u});else if(o.mediaType===`application/pdf`){c.add(`pdfs-2024-09-25`);let t=await f(o.providerOptions),n=await p(o.providerOptions);e.push({type:`document`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`base64`,media_type:`application/pdf`,data:J(o.data)},title:(i=n.title)??o.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:u})}else if(o.mediaType===`text/plain`){let t=await f(o.providerOptions),n=await p(o.providerOptions);e.push({type:`document`,source:o.data instanceof URL?{type:`url`,url:o.data.toString()}:{type:`text`,media_type:`text/plain`,data:Gt(o.data)},title:(a=n.title)??o.filename,...n.context&&{context:n.context},...t&&{citations:{enabled:!0}},cache_control:u})}else throw new L({functionality:`media type: ${o.mediaType}`});break}}break;case`tool`:for(let n=0;n<s.length;n++){let r=s[n],i=n===s.length-1,a=(o=Y(r.providerOptions))??(i?Y(t.providerOptions):void 0),c=r.output,l;switch(c.type){case`content`:l=c.value.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text,cache_control:void 0};case`media`:if(e.mediaType.startsWith(`image/`))return{type:`image`,source:{type:`base64`,media_type:e.mediaType,data:e.data},cache_control:void 0};throw new L({functionality:`media type: ${e.mediaType}`})}});break;case`text`:case`error-text`:l=c.value;break;case`json`:case`error-json`:default:l=JSON.stringify(c.value);break}e.push({type:`tool_result`,tool_use_id:r.toolCallId,content:l,is_error:c.type===`error-text`||c.type===`error-json`?!0:void 0,cache_control:a})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}}d.push({role:`user`,content:e});break}case`assistant`:{let e=[];for(let r=0;r<m.messages.length;r++){let i=m.messages[r],a=r===m.messages.length-1,{content:o}=i;for(let r=0;r<o.length;r++){let c=o[r],l=r===o.length-1,u=(s=Y(c.providerOptions))??(l?Y(i.providerOptions):void 0);switch(c.type){case`text`:e.push({type:`text`,text:h&&a&&l?c.text.trim():c.text,cache_control:u});break;case`reasoning`:if(t){let t=await V({provider:`anthropic`,providerOptions:c.providerOptions,schema:tn});t==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):t.signature==null?t.redactedData==null?n.push({type:`other`,message:`unsupported reasoning metadata`}):e.push({type:`redacted_thinking`,data:t.redactedData,cache_control:u}):e.push({type:`thinking`,thinking:c.text,signature:t.signature,cache_control:u})}else n.push({type:`other`,message:`sending reasoning content is disabled for this model`});break;case`tool-call`:if(c.providerExecuted){if(c.toolName===`web_search`){e.push({type:`server_tool_use`,id:c.toolCallId,name:`web_search`,input:c.input,cache_control:u});break}if(c.toolName===`code_execution`){e.push({type:`server_tool_use`,id:c.toolCallId,name:`code_execution`,input:c.input,cache_control:u});break}n.push({type:`other`,message:`provider executed tool call for tool ${c.toolName} is not supported`});break}e.push({type:`tool_use`,id:c.toolCallId,name:c.toolName,input:c.input,cache_control:u});break;case`tool-result`:if(c.toolName===`web_search`){let t=c.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${c.toolName} is not supported`});break}let r=Lt.parse(t.value);e.push({type:`web_search_tool_result`,tool_use_id:c.toolCallId,content:r.map(e=>({url:e.url,title:e.title,page_age:e.pageAge,encrypted_content:e.encryptedContent,type:e.type})),cache_control:u});break}if(c.toolName===`code_execution`){let t=c.output;if(t.type!==`json`){n.push({type:`other`,message:`provider executed tool result output type ${t.type} for tool ${c.toolName} is not supported`});break}let r=Ht.parse(t.value);e.push({type:`code_execution_tool_result`,tool_use_id:c.toolCallId,content:{type:r.type,stdout:r.stdout,stderr:r.stderr,return_code:r.return_code},cache_control:u});break}n.push({type:`other`,message:`provider executed tool result for tool ${c.toolName} is not supported`});break}}}d.push({role:`assistant`,content:e});break}default:{let e=g;throw Error(`content type: ${e}`)}}}return{prompt:{system:u,messages:d},betas:c}}function qt(e){let t=[],n;for(let r of e){let{role:e}=r;switch(e){case`system`:n?.type!==`system`&&(n={type:`system`,messages:[]},t.push(n)),n.messages.push(r);break;case`assistant`:n?.type!==`assistant`&&(n={type:`assistant`,messages:[]},t.push(n)),n.messages.push(r);break;case`user`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;case`tool`:n?.type!==`user`&&(n={type:`user`,messages:[]},t.push(n)),n.messages.push(r);break;default:{let t=e;throw Error(`Unsupported role: ${t}`)}}}return t}function Jt({finishReason:e,isJsonResponseFromTool:t}){switch(e){case`pause_turn`:case`end_turn`:case`stop_sequence`:return`stop`;case`refusal`:return`content-filter`;case`tool_use`:return t?`stop`:`tool-calls`;case`max_tokens`:return`length`;default:return`unknown`}}var X={webSearchResult:i.object({type:i.literal(`web_search_result_location`),cited_text:i.string(),url:i.string(),title:i.string(),encrypted_index:i.string()}),pageLocation:i.object({type:i.literal(`page_location`),cited_text:i.string(),document_index:i.number(),document_title:i.string().nullable(),start_page_number:i.number(),end_page_number:i.number()}),charLocation:i.object({type:i.literal(`char_location`),cited_text:i.string(),document_index:i.number(),document_title:i.string().nullable(),start_char_index:i.number(),end_char_index:i.number()})},Yt=i.discriminatedUnion(`type`,[X.webSearchResult,X.pageLocation,X.charLocation]);i.discriminatedUnion(`type`,[X.pageLocation,X.charLocation]);function Xt(e,t,n,r){if(e.type===`page_location`||e.type===`char_location`){let i=Zt(e,t,n);i&&r(i)}}function Zt(e,t,n){var r;let i=t[e.document_index];if(!i)return null;let a=e.type===`page_location`?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index};return{type:`source`,sourceType:`document`,id:n(),mediaType:i.mediaType,title:(r=e.document_title)??i.title,filename:i.filename,providerMetadata:{anthropic:a}}}var Qt=class{constructor(e,t){this.specificationVersion=`v2`;var n;this.modelId=e,this.config=t,this.generateId=(n=t.generateId)??B}supportsUrl(e){return e.protocol===`https:`}get provider(){return this.config.provider}get supportedUrls(){var e,t,n;return(n=(t=(e=this.config).supportedUrls)?.call(e))??{}}async getArgs({prompt:e,maxOutputTokens:t=4096,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m,h;let g=[];a!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),l!=null&&g.push({type:`unsupported-setting`,setting:`seed`}),c?.type===`json`&&(c.schema==null?g.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format requires a schema. The response format is ignored.`}):u!=null&&g.push({type:`unsupported-setting`,setting:`tools`,details:`JSON response format does not support tools. The provided tools are ignored.`}));let _=c?.type===`json`&&c.schema!=null?{type:`function`,name:`json`,description:`Respond with a JSON object.`,inputSchema:c.schema}:void 0,v=await V({provider:`anthropic`,providerOptions:f,schema:Ft}),{prompt:y,betas:b}=await Kt({prompt:e,sendReasoning:(p=v?.sendReasoning)??!0,warnings:g}),x=(m=v?.thinking)?.type===`enabled`,S=(h=v?.thinking)?.budgetTokens,C={model:this.modelId,max_tokens:t,temperature:n,top_k:i,top_p:r,stop_sequences:s,...x&&{thinking:{type:`enabled`,budget_tokens:S}},system:y.system,messages:y.messages};if(x){if(S==null)throw new L({functionality:`thinking requires a budget`});C.temperature!=null&&(C.temperature=void 0,g.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported when thinking is enabled`})),i!=null&&(C.top_k=void 0,g.push({type:`unsupported-setting`,setting:`topK`,details:`topK is not supported when thinking is enabled`})),r!=null&&(C.top_p=void 0,g.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported when thinking is enabled`})),C.max_tokens=t+S}let{tools:w,toolChoice:T,toolWarnings:E,betas:D}=Vt(_==null?{tools:u??[],toolChoice:d,disableParallelToolUse:v?.disableParallelToolUse}:{tools:[_],toolChoice:{type:`tool`,toolName:_.name},disableParallelToolUse:!0});return{args:{...C,tools:w,tool_choice:T},warnings:[...g,...E],betas:new Set([...b,...D]),usesJsonResponseTool:_!=null}}async getHeaders({betas:e,headers:t}){return R(await W(this.config.headers),e.size>0?{"anthropic-beta":Array.from(e).join(`,`)}:{},t)}buildRequestUrl(e){var t,n,r;return(r=(n=(t=this.config).buildRequestUrl)?.call(t,this.config.baseURL,e))??`${this.config.baseURL}/messages`}transformRequestBody(e){var t,n,r;return(r=(n=(t=this.config).transformRequestBody)?.call(t,e))??e}extractCitationDocuments(e){let t=e=>{var t,n;if(e.type!==`file`||e.mediaType!==`application/pdf`&&e.mediaType!==`text/plain`)return!1;let r=(t=e.providerOptions)?.anthropic,i=r?.citations;return(n=i?.enabled)??!1};return e.filter(e=>e.role===`user`).flatMap(e=>e.content).filter(t).map(e=>{var t;let n=e;return{title:(t=n.filename)??`Untitled Document`,filename:n.filename,mediaType:n.mediaType}})}async doGenerate(e){var t,n,r,i,a;let{args:o,warnings:s,betas:c,usesJsonResponseTool:l}=await this.getArgs(e),u=this.extractCitationDocuments(e.prompt),{responseHeaders:d,value:f,rawValue:p}=await H({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:c,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:Nt,successfulResponseHandler:q($t),abortSignal:e.abortSignal,fetch:this.config.fetch}),m=[];for(let e of f.content)switch(e.type){case`text`:if(!l&&(m.push({type:`text`,text:e.text}),e.citations))for(let t of e.citations)Xt(t,u,this.generateId,e=>m.push(e));break;case`thinking`:m.push({type:`reasoning`,text:e.thinking,providerMetadata:{anthropic:{signature:e.signature}}});break;case`redacted_thinking`:m.push({type:`reasoning`,text:``,providerMetadata:{anthropic:{redactedData:e.data}}});break;case`tool_use`:m.push(l?{type:`text`,text:JSON.stringify(e.input)}:{type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input)});break;case`server_tool_use`:(e.name===`web_search`||e.name===`code_execution`)&&m.push({type:`tool-call`,toolCallId:e.id,toolName:e.name,input:JSON.stringify(e.input),providerExecuted:!0});break;case`web_search_tool_result`:if(Array.isArray(e.content)){m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>{var t;return{url:e.url,title:e.title,pageAge:(t=e.page_age)??null,encryptedContent:e.encrypted_content,type:e.type}}),providerExecuted:!0});for(let n of e.content)m.push({type:`source`,sourceType:`url`,id:this.generateId(),url:n.url,title:n.title,providerMetadata:{anthropic:{pageAge:(t=n.page_age)??null}}})}else m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break;case`code_execution_tool_result`:e.content.type===`code_execution_result`?m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&m.push({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});break}return{content:m,finishReason:Jt({finishReason:f.stop_reason,isJsonResponseFromTool:l}),usage:{inputTokens:f.usage.input_tokens,outputTokens:f.usage.output_tokens,totalTokens:f.usage.input_tokens+f.usage.output_tokens,cachedInputTokens:(n=f.usage.cache_read_input_tokens)??void 0},request:{body:o},response:{id:(r=f.id)??void 0,modelId:(i=f.model)??void 0,headers:d,body:p},warnings:s,providerMetadata:{anthropic:{usage:f.usage,cacheCreationInputTokens:(a=f.usage.cache_creation_input_tokens)??null}}}}async doStream(e){let{args:t,warnings:n,betas:r,usesJsonResponseTool:i}=await this.getArgs(e),a=this.extractCitationDocuments(e.prompt),o={...t,stream:!0},{responseHeaders:s,value:c}=await H({url:this.buildRequestUrl(!0),headers:await this.getHeaders({betas:r,headers:e.headers}),body:this.transformRequestBody(o),failedResponseHandler:Nt,successfulResponseHandler:K(en),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=`unknown`,u={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},d={},f,p,m=this.generateId;return{stream:c.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,o,s,c,h,g,_;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let v=t.value;switch(v.type){case`ping`:return;case`content_block_start`:{let e=v.content_block.type;switch(p=e,e){case`text`:d[v.index]={type:`text`},n.enqueue({type:`text-start`,id:String(v.index)});return;case`thinking`:d[v.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(v.index)});return;case`redacted_thinking`:d[v.index]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:String(v.index),providerMetadata:{anthropic:{redactedData:v.content_block.data}}});return;case`tool_use`:d[v.index]=i?{type:`text`}:{type:`tool-call`,toolCallId:v.content_block.id,toolName:v.content_block.name,input:``},n.enqueue(i?{type:`text-start`,id:String(v.index)}:{type:`tool-input-start`,id:v.content_block.id,toolName:v.content_block.name});return;case`server_tool_use`:(v.content_block.name===`web_search`||v.content_block.name===`code_execution`)&&(d[v.index]={type:`tool-call`,toolCallId:v.content_block.id,toolName:v.content_block.name,input:``,providerExecuted:!0},n.enqueue({type:`tool-input-start`,id:v.content_block.id,toolName:v.content_block.name,providerExecuted:!0}));return;case`web_search_tool_result`:{let e=v.content_block;if(Array.isArray(e.content)){n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,result:e.content.map(e=>{var t;return{url:e.url,title:e.title,pageAge:(t=e.page_age)??null,encryptedContent:e.encrypted_content,type:e.type}}),providerExecuted:!0});for(let t of e.content)n.enqueue({type:`source`,sourceType:`url`,id:m(),url:t.url,title:t.title,providerMetadata:{anthropic:{pageAge:(r=t.page_age)??null}}})}else n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`web_search`,isError:!0,result:{type:`web_search_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}case`code_execution_tool_result`:{let e=v.content_block;e.content.type===`code_execution_result`?n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,result:{type:e.content.type,stdout:e.content.stdout,stderr:e.content.stderr,return_code:e.content.return_code},providerExecuted:!0}):e.content.type===`code_execution_tool_result_error`&&n.enqueue({type:`tool-result`,toolCallId:e.tool_use_id,toolName:`code_execution`,isError:!0,result:{type:`code_execution_tool_result_error`,errorCode:e.content.error_code},providerExecuted:!0});return}default:{let t=e;throw Error(`Unsupported content block type: ${t}`)}}}case`content_block_stop`:if(d[v.index]!=null){let e=d[v.index];switch(e.type){case`text`:n.enqueue({type:`text-end`,id:String(v.index)});break;case`reasoning`:n.enqueue({type:`reasoning-end`,id:String(v.index)});break;case`tool-call`:i||(n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue(e));break}delete d[v.index]}p=void 0;return;case`content_block_delta`:{let e=v.delta.type;switch(e){case`text_delta`:if(i)return;n.enqueue({type:`text-delta`,id:String(v.index),delta:v.delta.text});return;case`thinking_delta`:n.enqueue({type:`reasoning-delta`,id:String(v.index),delta:v.delta.thinking});return;case`signature_delta`:p===`thinking`&&n.enqueue({type:`reasoning-delta`,id:String(v.index),delta:``,providerMetadata:{anthropic:{signature:v.delta.signature}}});return;case`input_json_delta`:{let e=d[v.index],t=v.delta.partial_json;if(i){if(e?.type!==`text`)return;n.enqueue({type:`text-delta`,id:String(v.index),delta:t})}else{if(e?.type!==`tool-call`)return;n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:t}),e.input+=t}return}case`citations_delta`:{let e=v.delta.citation;Xt(e,a,m,e=>n.enqueue(e));return}default:{let t=e;throw Error(`Unsupported delta type: ${t}`)}}}case`message_start`:u.inputTokens=v.message.usage.input_tokens,u.cachedInputTokens=(o=v.message.usage.cache_read_input_tokens)??void 0,f={anthropic:{usage:v.message.usage,cacheCreationInputTokens:(s=v.message.usage.cache_creation_input_tokens)??null}},n.enqueue({type:`response-metadata`,id:(c=v.message.id)??void 0,modelId:(h=v.message.model)??void 0});return;case`message_delta`:u.outputTokens=v.usage.output_tokens,u.totalTokens=((g=u.inputTokens)??0)+((_=v.usage.output_tokens)??0),l=Jt({finishReason:v.delta.stop_reason,isJsonResponseFromTool:i});return;case`message_stop`:n.enqueue({type:`finish`,finishReason:l,usage:u,providerMetadata:f});return;case`error`:n.enqueue({type:`error`,error:v.error});return;default:{let e=v;throw Error(`Unsupported chunk type: ${e}`)}}}})),request:{body:o},response:{headers:s}}}},$t=i.object({type:i.literal(`message`),id:i.string().nullish(),model:i.string().nullish(),content:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`text`),text:i.string(),citations:i.array(Yt).optional()}),i.object({type:i.literal(`thinking`),thinking:i.string(),signature:i.string()}),i.object({type:i.literal(`redacted_thinking`),data:i.string()}),i.object({type:i.literal(`tool_use`),id:i.string(),name:i.string(),input:i.unknown()}),i.object({type:i.literal(`server_tool_use`),id:i.string(),name:i.string(),input:i.record(i.string(),i.unknown()).nullish()}),i.object({type:i.literal(`web_search_tool_result`),tool_use_id:i.string(),content:i.union([i.array(i.object({type:i.literal(`web_search_result`),url:i.string(),title:i.string(),encrypted_content:i.string(),page_age:i.string().nullish()})),i.object({type:i.literal(`web_search_tool_result_error`),error_code:i.string()})])}),i.object({type:i.literal(`code_execution_tool_result`),tool_use_id:i.string(),content:i.union([i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),i.object({type:i.literal(`code_execution_tool_result_error`),error_code:i.string()})])})])),stop_reason:i.string().nullish(),usage:i.looseObject({input_tokens:i.number(),output_tokens:i.number(),cache_creation_input_tokens:i.number().nullish(),cache_read_input_tokens:i.number().nullish()})}),en=i.discriminatedUnion(`type`,[i.object({type:i.literal(`message_start`),message:i.object({id:i.string().nullish(),model:i.string().nullish(),usage:i.looseObject({input_tokens:i.number(),output_tokens:i.number(),cache_creation_input_tokens:i.number().nullish(),cache_read_input_tokens:i.number().nullish()})})}),i.object({type:i.literal(`content_block_start`),index:i.number(),content_block:i.discriminatedUnion(`type`,[i.object({type:i.literal(`text`),text:i.string()}),i.object({type:i.literal(`thinking`),thinking:i.string()}),i.object({type:i.literal(`tool_use`),id:i.string(),name:i.string()}),i.object({type:i.literal(`redacted_thinking`),data:i.string()}),i.object({type:i.literal(`server_tool_use`),id:i.string(),name:i.string(),input:i.record(i.string(),i.unknown()).nullish()}),i.object({type:i.literal(`web_search_tool_result`),tool_use_id:i.string(),content:i.union([i.array(i.object({type:i.literal(`web_search_result`),url:i.string(),title:i.string(),encrypted_content:i.string(),page_age:i.string().nullish()})),i.object({type:i.literal(`web_search_tool_result_error`),error_code:i.string()})])}),i.object({type:i.literal(`code_execution_tool_result`),tool_use_id:i.string(),content:i.union([i.object({type:i.literal(`code_execution_result`),stdout:i.string(),stderr:i.string(),return_code:i.number()}),i.object({type:i.literal(`code_execution_tool_result_error`),error_code:i.string()})])})])}),i.object({type:i.literal(`content_block_delta`),index:i.number(),delta:i.discriminatedUnion(`type`,[i.object({type:i.literal(`input_json_delta`),partial_json:i.string()}),i.object({type:i.literal(`text_delta`),text:i.string()}),i.object({type:i.literal(`thinking_delta`),thinking:i.string()}),i.object({type:i.literal(`signature_delta`),signature:i.string()}),i.object({type:i.literal(`citations_delta`),citation:Yt})])}),i.object({type:i.literal(`content_block_stop`),index:i.number()}),i.object({type:i.literal(`error`),error:i.object({type:i.string(),message:i.string()})}),i.object({type:i.literal(`message_delta`),delta:i.object({stop_reason:i.string().nullish()}),usage:i.object({output_tokens:i.number()})}),i.object({type:i.literal(`message_stop`)}),i.object({type:i.literal(`ping`)})]),tn=i.object({signature:i.string().optional(),redactedData:i.string().optional()}),nn=U({id:`anthropic.bash_20241022`,name:`bash`,inputSchema:r.object({command:r.string(),restart:r.boolean().optional()})}),rn=U({id:`anthropic.bash_20250124`,name:`bash`,inputSchema:r.object({command:r.string(),restart:r.boolean().optional()})}),an=U({id:`anthropic.computer_20241022`,name:`computer`,inputSchema:i.object({action:i.enum([`key`,`type`,`mouse_move`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`screenshot`,`cursor_position`]),coordinate:i.array(i.number().int()).optional(),text:i.string().optional()})}),on=U({id:`anthropic.computer_20250124`,name:`computer`,inputSchema:i.object({action:i.enum([`key`,`hold_key`,`type`,`cursor_position`,`mouse_move`,`left_mouse_down`,`left_mouse_up`,`left_click`,`left_click_drag`,`right_click`,`middle_click`,`double_click`,`triple_click`,`scroll`,`wait`,`screenshot`]),coordinate:i.tuple([i.number().int(),i.number().int()]).optional(),duration:i.number().optional(),scroll_amount:i.number().optional(),scroll_direction:i.enum([`up`,`down`,`left`,`right`]).optional(),start_coordinate:i.tuple([i.number().int(),i.number().int()]).optional(),text:i.string().optional()})}),sn=U({id:`anthropic.text_editor_20241022`,name:`str_replace_editor`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),cn=U({id:`anthropic.text_editor_20250124`,name:`str_replace_editor`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`,`undo_edit`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),ln=U({id:`anthropic.text_editor_20250429`,name:`str_replace_based_edit_tool`,inputSchema:i.object({command:i.enum([`view`,`create`,`str_replace`,`insert`]),path:i.string(),file_text:i.string().optional(),insert_line:i.number().int().optional(),new_str:i.string().optional(),old_str:i.string().optional(),view_range:i.array(i.number().int()).optional()})}),un={bash_20241022:nn,bash_20250124:rn,codeExecution_20250522:Wt,computer_20241022:an,computer_20250124:on,textEditor_20241022:sn,textEditor_20250124:cn,textEditor_20250429:ln,webSearch_20250305:zt};function dn(e={}){var t;let n=(t=jt(e.baseURL))??`https://api.anthropic.com/v1`,r=()=>({"anthropic-version":`2023-06-01`,"x-api-key":rt({apiKey:e.apiKey,environmentVariableName:`ANTHROPIC_API_KEY`,description:`Anthropic`}),...e.headers}),i=t=>{var i;return new Qt(t,{provider:`anthropic.messages`,baseURL:n,headers:r,fetch:e.fetch,generateId:(i=e.generateId)??B,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/]})})},a=function(e){if(new.target)throw Error(`The Anthropic model function cannot be called with the new keyword.`);return i(e)};return a.languageModel=i,a.chat=i,a.messages=i,a.textEmbeddingModel=e=>{throw new Me({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=e=>{throw new Me({modelId:e,modelType:`imageModel`})},a.tools=un,a}dn();var fn=i.object({error:i.object({code:i.number().nullable(),message:i.string(),status:i.string()})}),Z=G({errorSchema:fn,errorToMessage:e=>e.error.message}),pn=i.object({outputDimensionality:i.number().optional(),taskType:i.enum([`SEMANTIC_SIMILARITY`,`CLASSIFICATION`,`CLUSTERING`,`RETRIEVAL_DOCUMENT`,`RETRIEVAL_QUERY`,`QUESTION_ANSWERING`,`FACT_VERIFICATION`,`CODE_RETRIEVAL_QUERY`]).optional()}),mn=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){let i=await V({provider:`google`,providerOptions:r,schema:pn});if(e.length>this.maxEmbeddingsPerCall)throw new Le({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=R(await W(this.config.headers),t);if(e.length===1){let{responseHeaders:t,value:r,rawValue:o}=await H({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:a,body:{model:`models/${this.modelId}`,content:{parts:[{text:e[0]}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType},failedResponseHandler:Z,successfulResponseHandler:q(gn),abortSignal:n,fetch:this.config.fetch});return{embeddings:[r.embedding.values],usage:void 0,response:{headers:t,body:o}}}let{responseHeaders:o,value:s,rawValue:c}=await H({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:a,body:{requests:e.map(e=>({model:`models/${this.modelId}`,content:{role:`user`,parts:[{text:e}]},outputDimensionality:i?.outputDimensionality,taskType:i?.taskType}))},failedResponseHandler:Z,successfulResponseHandler:q(hn),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.embeddings.map(e=>e.values),usage:void 0,response:{headers:o,body:c}}}},hn=i.object({embeddings:i.array(i.object({values:i.array(i.number())}))}),gn=i.object({embedding:i.object({values:i.array(i.number())})});function Q(e){if(e==null||_n(e))return;if(typeof e==`boolean`)return{type:`boolean`,properties:{}};let{type:t,description:n,required:r,properties:i,items:a,allOf:o,anyOf:s,oneOf:c,format:l,const:u,minLength:d,enum:f}=e,p={};if(n&&(p.description=n),r&&(p.required=r),l&&(p.format=l),u!==void 0&&(p.enum=[u]),t&&(Array.isArray(t)?t.includes(`null`)?(p.type=t.filter(e=>e!==`null`)[0],p.nullable=!0):p.type=t:t===`null`?p.type=`null`:p.type=t),f!==void 0&&(p.enum=f),i!=null&&(p.properties=Object.entries(i).reduce((e,[t,n])=>(e[t]=Q(n),e),{})),a&&(p.items=Array.isArray(a)?a.map(Q):Q(a)),o&&(p.allOf=o.map(Q)),s)if(s.some(e=>typeof e==`object`&&e?.type===`null`)){let e=s.filter(e=>!(typeof e==`object`&&e?.type===`null`));if(e.length===1){let t=Q(e[0]);typeof t==`object`&&(p.nullable=!0,Object.assign(p,t))}else p.anyOf=e.map(Q),p.nullable=!0}else p.anyOf=s.map(Q);return c&&(p.oneOf=c.map(Q)),d!==void 0&&(p.minLength=d),p}function _n(e){return typeof e==`object`&&!!e&&e.type===`object`&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}function vn(e,t){var n;let r=[],i=[],a=!0,o=(n=t?.isGemmaModel)??!1;for(let{role:t,content:n}of e)switch(t){case`system`:if(!a)throw new L({functionality:`system messages are only supported at the beginning of the conversation`});r.push({text:n});break;case`user`:{a=!1;let e=[];for(let t of n)switch(t.type){case`text`:e.push({text:t.text});break;case`file`:{let n=t.mediaType===`image/*`?`image/jpeg`:t.mediaType;e.push(t.data instanceof URL?{fileData:{mimeType:n,fileUri:t.data.toString()}}:{inlineData:{mimeType:n,data:J(t.data)}});break}}i.push({role:`user`,parts:e});break}case`assistant`:a=!1,i.push({role:`model`,parts:n.map(e=>{var t,n,r,i,a,o;switch(e.type){case`text`:return e.text.length===0?void 0:{text:e.text,thoughtSignature:(n=(t=e.providerOptions)?.google)?.thoughtSignature};case`reasoning`:return e.text.length===0?void 0:{text:e.text,thought:!0,thoughtSignature:(i=(r=e.providerOptions)?.google)?.thoughtSignature};case`file`:if(e.mediaType!==`image/png`)throw new L({functionality:`Only PNG images are supported in assistant messages`});if(e.data instanceof URL)throw new L({functionality:`File data URLs in assistant messages are not supported`});return{inlineData:{mimeType:e.mediaType,data:J(e.data)}};case`tool-call`:return{functionCall:{name:e.toolName,args:e.input},thoughtSignature:(o=(a=e.providerOptions)?.google)?.thoughtSignature}}}).filter(e=>e!==void 0)});break;case`tool`:{a=!1;let e=[];for(let t of n){let n=t.output;if(n.type===`content`)for(let r of n.value)switch(r.type){case`text`:e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:r.text}}});break;case`media`:e.push({inlineData:{mimeType:r.mediaType,data:r.data}},{text:`Tool executed successfully and returned this image as a response`});break;default:e.push({text:JSON.stringify(r)});break}else e.push({functionResponse:{name:t.toolName,response:{name:t.toolName,content:n.value}}})}i.push({role:`user`,parts:e});break}}if(o&&r.length>0&&i.length>0&&i[0].role===`user`){let e=r.map(e=>e.text).join(`
8
8
 
9
9
  `);i[0].parts.unshift({text:e+`
10
10
 
11
- `})}return{systemInstruction:r.length>0&&!o?{parts:r}:void 0,contents:i}}function yn(e){return e.includes(`/`)?e:`models/${e}`}var bn=i.object({responseModalities:i.array(i.enum([`TEXT`,`IMAGE`])).optional(),thinkingConfig:i.object({thinkingBudget:i.number().optional(),includeThoughts:i.boolean().optional()}).optional(),cachedContent:i.string().optional(),structuredOutputs:i.boolean().optional(),safetySettings:i.array(i.object({category:i.enum([`HARM_CATEGORY_UNSPECIFIED`,`HARM_CATEGORY_HATE_SPEECH`,`HARM_CATEGORY_DANGEROUS_CONTENT`,`HARM_CATEGORY_HARASSMENT`,`HARM_CATEGORY_SEXUALLY_EXPLICIT`,`HARM_CATEGORY_CIVIC_INTEGRITY`]),threshold:i.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`])})).optional(),threshold:i.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`]).optional(),audioTimestamp:i.boolean().optional(),labels:i.record(i.string(),i.string()).optional()});function xn({tools:e,toolChoice:t,modelId:n}){var r;e=e?.length?e:void 0;let i=[],a=n.includes(`gemini-2`),o=n.includes(`gemini-1.5-flash`)&&!n.includes(`-8b`);if(e==null)return{tools:void 0,toolConfig:void 0,toolWarnings:i};let s=e.some(e=>e.type===`function`),c=e.some(e=>e.type===`provider-defined`);if(s&&c&&i.push({type:`unsupported-tool`,tool:e.find(e=>e.type===`function`),details:`Cannot mix function tools with provider-defined tools in the same request. Please use either function tools or provider-defined tools, but not both.`}),c){let t={},n=e.filter(e=>e.type===`provider-defined`);return n.forEach(e=>{switch(e.id){case`google.google_search`:a?t.googleSearch={}:o?t.googleSearchRetrieval={dynamicRetrievalConfig:{mode:e.args.mode,dynamicThreshold:e.args.dynamicThreshold}}:t.googleSearchRetrieval={};break;case`google.url_context`:a?t.urlContext={}:i.push({type:`unsupported-tool`,tool:e,details:`The URL context tool is not supported with other Gemini models than Gemini 2.`});break;case`google.code_execution`:a?t.codeExecution={}:i.push({type:`unsupported-tool`,tool:e,details:`The code execution tools is not supported with other Gemini models than Gemini 2.`});break;default:i.push({type:`unsupported-tool`,tool:e});break}}),{tools:Object.keys(t).length>0?t:void 0,toolConfig:void 0,toolWarnings:i}}let l=[];for(let t of e)switch(t.type){case`function`:l.push({name:t.name,description:(r=t.description)??``,parameters:Q(t.inputSchema)});break;default:i.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:{functionDeclarations:l},toolConfig:void 0,toolWarnings:i};let u=t.type;switch(u){case`auto`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`AUTO`}},toolWarnings:i};case`none`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`NONE`}},toolWarnings:i};case`required`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`ANY`}},toolWarnings:i};case`tool`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`ANY`,allowedFunctionNames:[t.toolName]}},toolWarnings:i};default:{let e=u;throw new I({functionality:`tool choice type: ${e}`})}}}function Sn({finishReason:e,hasToolCalls:t}){switch(e){case`STOP`:return t?`tool-calls`:`stop`;case`MAX_TOKENS`:return`length`;case`IMAGE_SAFETY`:case`RECITATION`:case`SAFETY`:case`BLOCKLIST`:case`PROHIBITED_CONTENT`:case`SPII`:return`content-filter`;case`FINISH_REASON_UNSPECIFIED`:case`OTHER`:return`other`;case`MALFORMED_FUNCTION_CALL`:return`error`;default:return`unknown`}}var Cn=i.object({web:i.object({uri:i.string(),title:i.string()}).nullish(),retrievedContext:i.object({uri:i.string(),title:i.string()}).nullish()}),wn=i.object({webSearchQueries:i.array(i.string()).nullish(),retrievalQueries:i.array(i.string()).nullish(),searchEntryPoint:i.object({renderedContent:i.string()}).nullish(),groundingChunks:i.array(Cn).nullish(),groundingSupports:i.array(i.object({segment:i.object({startIndex:i.number().nullish(),endIndex:i.number().nullish(),text:i.string().nullish()}),segment_text:i.string().nullish(),groundingChunkIndices:i.array(i.number()).nullish(),supportChunkIndices:i.array(i.number()).nullish(),confidenceScores:i.array(i.number()).nullish(),confidenceScore:i.array(i.number()).nullish()})).nullish(),retrievalMetadata:i.union([i.object({webDynamicRetrievalScore:i.number()}),i.object({})]).nullish()}),Tn=U({id:`google.google_search`,name:`google_search`,inputSchema:i.object({mode:i.enum([`MODE_DYNAMIC`,`MODE_UNSPECIFIED`]).default(`MODE_UNSPECIFIED`),dynamicThreshold:i.number().default(1)})}),En=i.object({retrievedUrl:i.string(),urlRetrievalStatus:i.string()}),Dn=i.object({urlMetadata:i.array(En)}),On=U({id:`google.url_context`,name:`url_context`,inputSchema:i.object({})}),kn=class{constructor(e,t){this.specificationVersion=`v2`;var n;this.modelId=e,this.config=t,this.generateId=(n=t.generateId)??z}get provider(){return this.config.provider}get supportedUrls(){var e,t,n;return(n=(t=(e=this.config).supportedUrls)?.call(e))??{}}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m;let h=[],g=await V({provider:`google`,providerOptions:f,schema:bn});(p=g?.thinkingConfig)?.includeThoughts===!0&&!this.config.provider.startsWith(`google.vertex.`)&&h.push({type:`other`,message:`The 'includeThoughts' option is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`});let _=this.modelId.toLowerCase().startsWith(`gemma-`),{contents:v,systemInstruction:y}=vn(e,{isGemmaModel:_}),{tools:b,toolConfig:x,toolWarnings:S}=xn({tools:u,toolChoice:d,modelId:this.modelId});return{args:{generationConfig:{maxOutputTokens:t,temperature:n,topK:i,topP:r,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:l,responseMimeType:c?.type===`json`?`application/json`:void 0,responseSchema:c?.type===`json`&&c.schema!=null&&((m=g?.structuredOutputs)??!0)?Q(c.schema):void 0,...g?.audioTimestamp&&{audioTimestamp:g.audioTimestamp},responseModalities:g?.responseModalities,thinkingConfig:g?.thinkingConfig},contents:v,systemInstruction:_?void 0:y,safetySettings:g?.safetySettings,tools:b,toolConfig:x,cachedContent:g?.cachedContent,labels:g?.labels},warnings:[...h,...S]}}async doGenerate(e){var t,n,r,i,a,o,s,c,l,u,d,f;let{args:p,warnings:m}=await this.getArgs(e),h=JSON.stringify(p),g=L(await W(this.config.headers),e.headers),{responseHeaders:_,value:v,rawValue:y}=await H({url:`${this.config.baseURL}/${yn(this.modelId)}:generateContent`,headers:g,body:p,failedResponseHandler:Z,successfulResponseHandler:q(In),abortSignal:e.abortSignal,fetch:this.config.fetch}),b=v.candidates[0],x=[],S=(n=(t=b.content)?.parts)??[],C=v.usageMetadata,w;for(let e of S)if(`executableCode`in e&&(r=e.executableCode)?.code){let t=this.config.generateId();w=t,x.push({type:`tool-call`,toolCallId:t,toolName:`code_execution`,input:JSON.stringify(e.executableCode),providerExecuted:!0})}else `codeExecutionResult`in e&&e.codeExecutionResult?(x.push({type:`tool-result`,toolCallId:w,toolName:`code_execution`,result:{outcome:e.codeExecutionResult.outcome,output:e.codeExecutionResult.output},providerExecuted:!0}),w=void 0):`text`in e&&e.text!=null&&e.text.length>0?x.push({type:e.thought===!0?`reasoning`:`text`,text:e.text,providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`functionCall`in e?x.push({type:`tool-call`,toolCallId:this.config.generateId(),toolName:e.functionCall.name,input:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`inlineData`in e&&x.push({type:`file`,data:e.inlineData.data,mediaType:e.inlineData.mimeType});let T=(i=Mn({groundingMetadata:b.groundingMetadata,generateId:this.config.generateId}))??[];for(let e of T)x.push(e);return{content:x,finishReason:Sn({finishReason:b.finishReason,hasToolCalls:x.some(e=>e.type===`tool-call`)}),usage:{inputTokens:(a=C?.promptTokenCount)??void 0,outputTokens:(o=C?.candidatesTokenCount)??void 0,totalTokens:(s=C?.totalTokenCount)??void 0,reasoningTokens:(c=C?.thoughtsTokenCount)??void 0,cachedInputTokens:(l=C?.cachedContentTokenCount)??void 0},warnings:m,providerMetadata:{google:{groundingMetadata:(u=b.groundingMetadata)??null,urlContextMetadata:(d=b.urlContextMetadata)??null,safetyRatings:(f=b.safetyRatings)??null,usageMetadata:C??null}},request:{body:h},response:{headers:_,body:y}}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r=JSON.stringify(t),i=L(await W(this.config.headers),e.headers),{responseHeaders:a,value:o}=await H({url:`${this.config.baseURL}/${yn(this.modelId)}:streamGenerateContent?alt=sse`,headers:i,body:t,failedResponseHandler:Z,successfulResponseHandler:K(Ln),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l,u=this.config.generateId,d=!1,f=null,p=null,m=0,h=new Set,g;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,i,a,o,_,v,y,b,x,S,C;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let w=t.value,T=w.usageMetadata;T!=null&&(c.inputTokens=(r=T.promptTokenCount)??void 0,c.outputTokens=(i=T.candidatesTokenCount)??void 0,c.totalTokens=(a=T.totalTokenCount)??void 0,c.reasoningTokens=(o=T.thoughtsTokenCount)??void 0,c.cachedInputTokens=(_=T.cachedContentTokenCount)??void 0);let E=(v=w.candidates)?.[0];if(E==null)return;let D=E.content,O=Mn({groundingMetadata:E.groundingMetadata,generateId:u});if(O!=null)for(let e of O)e.sourceType===`url`&&!h.has(e.url)&&(h.add(e.url),n.enqueue(e));if(D!=null){let e=(y=D.parts)??[];for(let t of e)if(`executableCode`in t&&(b=t.executableCode)?.code){let e=u();g=e,n.enqueue({type:`tool-call`,toolCallId:e,toolName:`code_execution`,input:JSON.stringify(t.executableCode),providerExecuted:!0}),d=!0}else if(`codeExecutionResult`in t&&t.codeExecutionResult){let e=g;e&&(n.enqueue({type:`tool-result`,toolCallId:e,toolName:`code_execution`,result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output},providerExecuted:!0}),g=void 0)}else `text`in t&&t.text!=null&&t.text.length>0&&(t.thought===!0?(f!==null&&(n.enqueue({type:`text-end`,id:f}),f=null),p===null&&(p=String(m++),n.enqueue({type:`reasoning-start`,id:p,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`reasoning-delta`,id:p,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})):(p!==null&&(n.enqueue({type:`reasoning-end`,id:p}),p=null),f===null&&(f=String(m++),n.enqueue({type:`text-start`,id:f,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`text-delta`,id:f,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})));let t=jn(D.parts);if(t!=null)for(let e of t)n.enqueue({type:`file`,mediaType:e.inlineData.mimeType,data:e.inlineData.data});let r=An({parts:D.parts,generateId:u});if(r!=null)for(let e of r)n.enqueue({type:`tool-input-start`,id:e.toolCallId,toolName:e.toolName,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:e.args,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-end`,id:e.toolCallId,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.args,providerMetadata:e.providerMetadata}),d=!0}E.finishReason!=null&&(s=Sn({finishReason:E.finishReason,hasToolCalls:d}),l={google:{groundingMetadata:(x=E.groundingMetadata)??null,urlContextMetadata:(S=E.urlContextMetadata)??null,safetyRatings:(C=E.safetyRatings)??null}},T!=null&&(l.google.usageMetadata=T))},flush(e){f!==null&&e.enqueue({type:`text-end`,id:f}),p!==null&&e.enqueue({type:`reasoning-end`,id:p}),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:l})}})),response:{headers:a},request:{body:r}}}};function An({parts:e,generateId:t}){let n=e?.filter(e=>`functionCall`in e);return n==null||n.length===0?void 0:n.map(e=>({type:`tool-call`,toolCallId:t(),toolName:e.functionCall.name,args:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}))}function jn(e){return e?.filter(e=>`inlineData`in e)}function Mn({groundingMetadata:e,generateId:t}){var n;return(n=e?.groundingChunks)?.filter(e=>e.web!=null).map(e=>({type:`source`,sourceType:`url`,id:t(),url:e.web.uri,title:e.web.title}))}var Nn=i.object({parts:i.array(i.union([i.object({functionCall:i.object({name:i.string(),args:i.unknown()}),thoughtSignature:i.string().nullish()}),i.object({inlineData:i.object({mimeType:i.string(),data:i.string()})}),i.object({executableCode:i.object({language:i.string(),code:i.string()}).nullish(),codeExecutionResult:i.object({outcome:i.string(),output:i.string()}).nullish(),text:i.string().nullish(),thought:i.boolean().nullish(),thoughtSignature:i.string().nullish()})])).nullish()}),Pn=i.object({category:i.string().nullish(),probability:i.string().nullish(),probabilityScore:i.number().nullish(),severity:i.string().nullish(),severityScore:i.number().nullish(),blocked:i.boolean().nullish()}),Fn=i.object({cachedContentTokenCount:i.number().nullish(),thoughtsTokenCount:i.number().nullish(),promptTokenCount:i.number().nullish(),candidatesTokenCount:i.number().nullish(),totalTokenCount:i.number().nullish()}),In=i.object({candidates:i.array(i.object({content:Nn.nullish().or(i.object({}).strict()),finishReason:i.string().nullish(),safetyRatings:i.array(Pn).nullish(),groundingMetadata:wn.nullish(),urlContextMetadata:Dn.nullish()})),usageMetadata:Fn.nullish()}),Ln=i.object({candidates:i.array(i.object({content:Nn.nullish(),finishReason:i.string().nullish(),safetyRatings:i.array(Pn).nullish(),groundingMetadata:wn.nullish(),urlContextMetadata:Dn.nullish()})).nullish(),usageMetadata:Fn.nullish()}),Rn=Tt({id:`google.code_execution`,name:`code_execution`,inputSchema:i.object({language:i.string().describe(`The programming language of the code.`),code:i.string().describe(`The code to be executed.`)}),outputSchema:i.object({outcome:i.string().describe(`The outcome of the execution (e.g., "OUTCOME_OK").`),output:i.string().describe(`The output from the code execution.`)})}),zn={googleSearch:Tn,urlContext:On,codeExecution:Rn},Bn=class{constructor(e,t,n){this.modelId=e,this.settings=t,this.config=n,this.specificationVersion=`v2`}get maxImagesPerCall(){var e;return(e=this.settings.maxImagesPerCall)??4}get provider(){return this.config.provider}async doGenerate(e){var t,n,r;let{prompt:i,n:a=1,size:o=`1024x1024`,aspectRatio:s=`1:1`,seed:c,providerOptions:l,headers:u,abortSignal:d}=e,f=[];o!=null&&f.push({type:`unsupported-setting`,setting:`size`,details:"This model does not support the `size` option. Use `aspectRatio` instead."}),c!=null&&f.push({type:`unsupported-setting`,setting:`seed`,details:"This model does not support the `seed` option through this provider."});let p=await V({provider:`google`,providerOptions:l,schema:Hn}),m=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,h={sampleCount:a};s!=null&&(h.aspectRatio=s),p&&Object.assign(h,p);let g={instances:[{prompt:i}],parameters:h},{responseHeaders:_,value:v}=await H({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:L(await W(this.config.headers),u),body:g,failedResponseHandler:Z,successfulResponseHandler:q(Vn),abortSignal:d,fetch:this.config.fetch});return{images:v.predictions.map(e=>e.bytesBase64Encoded),warnings:f??[],providerMetadata:{google:{images:v.predictions.map(e=>({}))}},response:{timestamp:m,modelId:this.modelId,headers:_}}}},Vn=i.object({predictions:i.array(i.object({bytesBase64Encoded:i.string()})).default([])}),Hn=i.object({personGeneration:i.enum([`dont_allow`,`allow_adult`,`allow_all`]).nullish(),aspectRatio:i.enum([`1:1`,`3:4`,`4:3`,`9:16`,`16:9`]).nullish()});function Un(e={}){var t;let n=(t=jt(e.baseURL))??`https://generativelanguage.googleapis.com/v1beta`,r=()=>({"x-goog-api-key":B({apiKey:e.apiKey,environmentVariableName:`GOOGLE_GENERATIVE_AI_API_KEY`,description:`Google Generative AI`}),...e.headers}),i=t=>{var i;return new kn(t,{provider:`google.generative-ai`,baseURL:n,headers:r,generateId:(i=e.generateId)??z,supportedUrls:()=>({"*":[RegExp(`^${n}/files/.*$`),RegExp(`^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$`),RegExp(`^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$`)]}),fetch:e.fetch})},a=t=>new mn(t,{provider:`google.generative-ai`,baseURL:n,headers:r,fetch:e.fetch}),o=(t,i={})=>new Bn(t,i,{provider:`google.generative-ai`,baseURL:n,headers:r,fetch:e.fetch}),s=function(e){if(new.target)throw Error(`The Google Generative AI model function cannot be called with the new keyword.`);return i(e)};return s.languageModel=i,s.chat=i,s.generativeAI=i,s.embedding=a,s.textEmbedding=a,s.textEmbeddingModel=a,s.image=o,s.imageModel=o,s.tools=zn,s}Un();var Wn=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),$=G({errorSchema:Wn,errorToMessage:e=>e.error.message});function Gn({prompt:e,systemMessageMode:t=`system`}){let n=[],r=[];for(let{role:i,content:a}of e)switch(i){case`system`:switch(t){case`system`:n.push({role:`system`,content:a});break;case`developer`:n.push({role:`developer`,content:a});break;case`remove`:r.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:if(a.length===1&&a[0].type===`text`){n.push({role:`user`,content:a[0].text});break}n.push({role:`user`,content:a.map((e,t)=>{var n,r,i;switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${J(e.data)}`,detail:(r=(n=e.providerOptions)?.openai)?.imageDetail}}}else if(e.mediaType.startsWith(`audio/`)){if(e.data instanceof URL)throw new I({functionality:`audio file parts with URLs`});switch(e.mediaType){case`audio/wav`:return{type:`input_audio`,input_audio:{data:J(e.data),format:`wav`}};case`audio/mp3`:case`audio/mpeg`:return{type:`input_audio`,input_audio:{data:J(e.data),format:`mp3`}};default:throw new I({functionality:`audio content parts with media type ${e.mediaType}`})}}else if(e.mediaType===`application/pdf`){if(e.data instanceof URL)throw new I({functionality:`PDF file parts with URLs`});return{type:`file`,file:typeof e.data==`string`&&e.data.startsWith(`file-`)?{file_id:e.data}:{filename:(i=e.filename)??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${J(e.data)}`}}}else throw new I({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,t=[];for(let n of a)switch(n.type){case`text`:e+=n.text;break;case`tool-call`:t.push({id:n.toolCallId,type:`function`,function:{name:n.toolName,arguments:JSON.stringify(n.input)}});break}n.push({role:`assistant`,content:e,tool_calls:t.length>0?t:void 0});break}case`tool`:for(let e of a){let t=e.output,r;switch(t.type){case`text`:case`error-text`:r=t.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(t.value);break}n.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return{messages:n,warnings:r}}function Kn({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function qn(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var Jn=i.object({logitBias:i.record(i.coerce.number(),i.number()).optional(),logprobs:i.union([i.boolean(),i.number()]).optional(),parallelToolCalls:i.boolean().optional(),user:i.string().optional(),reasoningEffort:i.enum([`minimal`,`low`,`medium`,`high`]).optional(),maxCompletionTokens:i.number().optional(),store:i.boolean().optional(),metadata:i.record(i.string().max(64),i.string().max(512)).optional(),prediction:i.record(i.string(),i.any()).optional(),structuredOutputs:i.boolean().optional(),serviceTier:i.enum([`auto`,`flex`,`priority`]).optional(),strictJsonSchema:i.boolean().optional(),textVerbosity:i.enum([`low`,`medium`,`high`]).optional(),promptCacheKey:i.string().optional(),safetyIdentifier:i.string().optional()}),Yn=i.object({key:i.string(),type:i.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:i.union([i.string(),i.number(),i.boolean()])}),Xn=i.object({type:i.enum([`and`,`or`]),filters:i.array(i.union([Yn,i.lazy(()=>Xn)]))}),Zn=i.union([Yn,Xn]),Qn=i.object({vectorStoreIds:i.array(i.string()).optional(),maxNumResults:i.number().optional(),ranking:i.object({ranker:i.enum([`auto`,`default-2024-08-21`]).optional()}).optional(),filters:Zn.optional()}),$n=U({id:`openai.file_search`,name:`file_search`,inputSchema:i.object({query:i.string()})}),er=i.object({searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),tr=U({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})});function nr({tools:e,toolChoice:t,structuredOutputs:n,strictJsonSchema:r}){e=e?.length?e:void 0;let i=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:i};let a=[];for(let t of e)switch(t.type){case`function`:a.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema,strict:n?r:void 0}});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=Qn.parse(t.args);a.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker}:void 0,filters:e.filters});break}case`openai.web_search_preview`:{let e=er.parse(t.args);a.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}default:i.push({type:`unsupported-tool`,tool:t});break}break;default:i.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:a,toolChoice:void 0,toolWarnings:i};let o=t.type;switch(o){case`auto`:case`none`:case`required`:return{tools:a,toolChoice:o,toolWarnings:i};case`tool`:return{tools:a,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:i};default:{let e=o;throw new I({functionality:`tool choice type: ${e}`})}}}var rr=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m,h,g;let _=[],v=(p=await V({provider:`openai`,providerOptions:f,schema:Jn}))??{},y=(m=v.structuredOutputs)??!0;i!=null&&_.push({type:`unsupported-setting`,setting:`topK`}),c?.type===`json`&&c.schema!=null&&!y&&_.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is only supported with structuredOutputs`});let{messages:b,warnings:x}=Gn({prompt:e,systemMessageMode:ur(this.modelId)});_.push(...x);let S=(h=v.strictJsonSchema)??!1,C={model:this.modelId,logit_bias:v.logitBias,logprobs:v.logprobs===!0||typeof v.logprobs==`number`?!0:void 0,top_logprobs:typeof v.logprobs==`number`?v.logprobs:typeof v.logprobs==`boolean`&&v.logprobs?0:void 0,user:v.user,parallel_tool_calls:v.parallelToolCalls,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,response_format:c?.type===`json`?y&&c.schema!=null?{type:`json_schema`,json_schema:{schema:c.schema,strict:S,name:(g=c.name)??`response`,description:c.description}}:{type:`json_object`}:void 0,stop:s,seed:l,verbosity:v.textVerbosity,max_completion_tokens:v.maxCompletionTokens,store:v.store,metadata:v.metadata,prediction:v.prediction,reasoning_effort:v.reasoningEffort,service_tier:v.serviceTier,prompt_cache_key:v.promptCacheKey,safety_identifier:v.safetyIdentifier,messages:b};sr(this.modelId)?(C.temperature!=null&&(C.temperature=void 0,_.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),C.top_p!=null&&(C.top_p=void 0,_.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`})),C.frequency_penalty!=null&&(C.frequency_penalty=void 0,_.push({type:`unsupported-setting`,setting:`frequencyPenalty`,details:`frequencyPenalty is not supported for reasoning models`})),C.presence_penalty!=null&&(C.presence_penalty=void 0,_.push({type:`unsupported-setting`,setting:`presencePenalty`,details:`presencePenalty is not supported for reasoning models`})),C.logit_bias!=null&&(C.logit_bias=void 0,_.push({type:`other`,message:`logitBias is not supported for reasoning models`})),C.logprobs!=null&&(C.logprobs=void 0,_.push({type:`other`,message:`logprobs is not supported for reasoning models`})),C.top_logprobs!=null&&(C.top_logprobs=void 0,_.push({type:`other`,message:`topLogprobs is not supported for reasoning models`})),C.max_tokens!=null&&(C.max_completion_tokens??=C.max_tokens,C.max_tokens=void 0)):(this.modelId.startsWith(`gpt-4o-search-preview`)||this.modelId.startsWith(`gpt-4o-mini-search-preview`))&&C.temperature!=null&&(C.temperature=void 0,_.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for the search preview models and has been removed.`})),v.serviceTier===`flex`&&!cr(this.modelId)&&(_.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),C.service_tier=void 0),v.serviceTier===`priority`&&!lr(this.modelId)&&(_.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),C.service_tier=void 0);let{tools:w,toolChoice:T,toolWarnings:E}=nr({tools:u,toolChoice:d,structuredOutputs:y,strictJsonSchema:S});return{args:{...C,tools:w,tool_choice:T},warnings:[..._,...E]}}async doGenerate(e){var t,n,r,i,a,o,s,c,l,u,d,f,p,m;let{args:h,warnings:g}=await this.getArgs(e),{responseHeaders:_,value:v,rawValue:y}=await H({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:L(this.config.headers(),e.headers),body:h,failedResponseHandler:$,successfulResponseHandler:q(ar),abortSignal:e.abortSignal,fetch:this.config.fetch}),b=v.choices[0],x=[],S=b.message.content;S!=null&&S.length>0&&x.push({type:`text`,text:S});for(let e of(t=b.message.tool_calls)??[])x.push({type:`tool-call`,toolCallId:(n=e.id)??z(),toolName:e.function.name,input:e.function.arguments});for(let e of(r=b.message.annotations)??[])x.push({type:`source`,sourceType:`url`,id:z(),url:e.url,title:e.title});let C=(i=v.usage)?.completion_tokens_details,w=(a=v.usage)?.prompt_tokens_details,T={openai:{}};return C?.accepted_prediction_tokens!=null&&(T.openai.acceptedPredictionTokens=C?.accepted_prediction_tokens),C?.rejected_prediction_tokens!=null&&(T.openai.rejectedPredictionTokens=C?.rejected_prediction_tokens),(o=b.logprobs)?.content!=null&&(T.openai.logprobs=b.logprobs.content),{content:x,finishReason:qn(b.finish_reason),usage:{inputTokens:(c=(s=v.usage)?.prompt_tokens)??void 0,outputTokens:(u=(l=v.usage)?.completion_tokens)??void 0,totalTokens:(f=(d=v.usage)?.total_tokens)??void 0,reasoningTokens:(p=C?.reasoning_tokens)??void 0,cachedInputTokens:(m=w?.cached_tokens)??void 0},request:{body:h},response:{...Kn(v),headers:_,body:y},warnings:g,providerMetadata:T}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:L(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:K(or),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=[],s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0,u=!1,d={openai:{}};return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,i,a,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,ee;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let M=t.value;if(`error`in M){s=`error`,n.enqueue({type:`error`,error:M.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...Kn(M)})),M.usage!=null&&(c.inputTokens=(r=M.usage.prompt_tokens)??void 0,c.outputTokens=(i=M.usage.completion_tokens)??void 0,c.totalTokens=(a=M.usage.total_tokens)??void 0,c.reasoningTokens=(p=(f=M.usage.completion_tokens_details)?.reasoning_tokens)??void 0,c.cachedInputTokens=(h=(m=M.usage.prompt_tokens_details)?.cached_tokens)??void 0,(g=M.usage.completion_tokens_details)?.accepted_prediction_tokens!=null&&(d.openai.acceptedPredictionTokens=(_=M.usage.completion_tokens_details)?.accepted_prediction_tokens),(v=M.usage.completion_tokens_details)?.rejected_prediction_tokens!=null&&(d.openai.rejectedPredictionTokens=(y=M.usage.completion_tokens_details)?.rejected_prediction_tokens));let N=M.choices[0];if(N?.finish_reason!=null&&(s=qn(N.finish_reason)),(b=N?.logprobs)?.content!=null&&(d.openai.logprobs=N.logprobs.content),N?.delta==null)return;let P=N.delta;if(P.content!=null&&(u||=(n.enqueue({type:`text-start`,id:`0`}),!0),n.enqueue({type:`text-delta`,id:`0`,delta:P.content})),P.tool_calls!=null)for(let e of P.tool_calls){let t=e.index;if(o[t]==null){if(e.type!==`function`)throw new he({data:e,message:`Expected 'function' type.`});if(e.id==null)throw new he({data:e,message:`Expected 'id' to be a string.`});if((x=e.function)?.name==null)throw new he({data:e,message:`Expected 'function.name' to be a string.`});n.enqueue({type:`tool-input-start`,id:e.id,toolName:e.function.name}),o[t]={id:e.id,type:`function`,function:{name:e.function.name,arguments:(S=e.function.arguments)??``},hasFinished:!1};let r=o[t];(C=r.function)?.name!=null&&(w=r.function)?.arguments!=null&&(r.function.arguments.length>0&&n.enqueue({type:`tool-input-delta`,id:r.id,delta:r.function.arguments}),yt(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:(T=r.id)??z(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0));continue}let r=o[t];if(r.hasFinished)continue;(E=e.function)?.arguments!=null&&(r.function.arguments+=(O=(D=e.function)?.arguments)??``),n.enqueue({type:`tool-input-delta`,id:r.id,delta:(k=e.function.arguments)??``}),(A=r.function)?.name!=null&&(j=r.function)?.arguments!=null&&yt(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:(ee=r.id)??z(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0)}if(P.annotations!=null)for(let e of P.annotations)n.enqueue({type:`source`,sourceType:`url`,id:z(),url:e.url,title:e.title})},flush(e){u&&e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:s,usage:c,...d==null?{}:{providerMetadata:d}})}})),request:{body:r},response:{headers:i}}}},ir=i.object({prompt_tokens:i.number().nullish(),completion_tokens:i.number().nullish(),total_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish(),accepted_prediction_tokens:i.number().nullish(),rejected_prediction_tokens:i.number().nullish()}).nullish()}).nullish(),ar=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`).nullish(),content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string().nullish(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish(),annotations:i.array(i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()})).nullish()}),index:i.number(),logprobs:i.object({content:i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})).nullish()}).nullish(),finish_reason:i.string().nullish()})),usage:ir}),or=i.union([i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum([`assistant`]).nullish(),content:i.string().nullish(),tool_calls:i.array(i.object({index:i.number(),id:i.string().nullish(),type:i.literal(`function`).nullish(),function:i.object({name:i.string().nullish(),arguments:i.string().nullish()})})).nullish(),annotations:i.array(i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()})).nullish()}).nullish(),logprobs:i.object({content:i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})).nullish()}).nullish(),finish_reason:i.string().nullish(),index:i.number()})),usage:ir}),Wn]);function sr(e){return(e.startsWith(`o`)||e.startsWith(`gpt-5`))&&!e.startsWith(`gpt-5-chat`)}function cr(e){return e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`)}function lr(e){return e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`)}function ur(e){var t,n;return sr(e)?(n=(t=dr[e])?.systemMessageMode)??`developer`:`system`}var dr={"o1-mini":{systemMessageMode:`remove`},"o1-mini-2024-09-12":{systemMessageMode:`remove`},"o1-preview":{systemMessageMode:`remove`},"o1-preview-2024-09-12":{systemMessageMode:`remove`},o3:{systemMessageMode:`developer`},"o3-2025-04-16":{systemMessageMode:`developer`},"o3-mini":{systemMessageMode:`developer`},"o3-mini-2025-01-31":{systemMessageMode:`developer`},"o4-mini":{systemMessageMode:`developer`},"o4-mini-2025-04-16":{systemMessageMode:`developer`}};function fr({prompt:e,user:t=`user`,assistant:n=`assistant`}){let r=``;e[0].role===`system`&&(r+=`${e[0].content}
11
+ `})}return{systemInstruction:r.length>0&&!o?{parts:r}:void 0,contents:i}}function yn(e){return e.includes(`/`)?e:`models/${e}`}var bn=i.object({responseModalities:i.array(i.enum([`TEXT`,`IMAGE`])).optional(),thinkingConfig:i.object({thinkingBudget:i.number().optional(),includeThoughts:i.boolean().optional()}).optional(),cachedContent:i.string().optional(),structuredOutputs:i.boolean().optional(),safetySettings:i.array(i.object({category:i.enum([`HARM_CATEGORY_UNSPECIFIED`,`HARM_CATEGORY_HATE_SPEECH`,`HARM_CATEGORY_DANGEROUS_CONTENT`,`HARM_CATEGORY_HARASSMENT`,`HARM_CATEGORY_SEXUALLY_EXPLICIT`,`HARM_CATEGORY_CIVIC_INTEGRITY`]),threshold:i.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`])})).optional(),threshold:i.enum([`HARM_BLOCK_THRESHOLD_UNSPECIFIED`,`BLOCK_LOW_AND_ABOVE`,`BLOCK_MEDIUM_AND_ABOVE`,`BLOCK_ONLY_HIGH`,`BLOCK_NONE`,`OFF`]).optional(),audioTimestamp:i.boolean().optional(),labels:i.record(i.string(),i.string()).optional()});function xn({tools:e,toolChoice:t,modelId:n}){var r;e=e?.length?e:void 0;let i=[],a=n.includes(`gemini-2`),o=n.includes(`gemini-1.5-flash`)&&!n.includes(`-8b`);if(e==null)return{tools:void 0,toolConfig:void 0,toolWarnings:i};let s=e.some(e=>e.type===`function`),c=e.some(e=>e.type===`provider-defined`);if(s&&c&&i.push({type:`unsupported-tool`,tool:e.find(e=>e.type===`function`),details:`Cannot mix function tools with provider-defined tools in the same request. Please use either function tools or provider-defined tools, but not both.`}),c){let t={},n=e.filter(e=>e.type===`provider-defined`);return n.forEach(e=>{switch(e.id){case`google.google_search`:a?t.googleSearch={}:o?t.googleSearchRetrieval={dynamicRetrievalConfig:{mode:e.args.mode,dynamicThreshold:e.args.dynamicThreshold}}:t.googleSearchRetrieval={};break;case`google.url_context`:a?t.urlContext={}:i.push({type:`unsupported-tool`,tool:e,details:`The URL context tool is not supported with other Gemini models than Gemini 2.`});break;case`google.code_execution`:a?t.codeExecution={}:i.push({type:`unsupported-tool`,tool:e,details:`The code execution tools is not supported with other Gemini models than Gemini 2.`});break;default:i.push({type:`unsupported-tool`,tool:e});break}}),{tools:Object.keys(t).length>0?t:void 0,toolConfig:void 0,toolWarnings:i}}let l=[];for(let t of e)switch(t.type){case`function`:l.push({name:t.name,description:(r=t.description)??``,parameters:Q(t.inputSchema)});break;default:i.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:{functionDeclarations:l},toolConfig:void 0,toolWarnings:i};let u=t.type;switch(u){case`auto`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`AUTO`}},toolWarnings:i};case`none`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`NONE`}},toolWarnings:i};case`required`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`ANY`}},toolWarnings:i};case`tool`:return{tools:{functionDeclarations:l},toolConfig:{functionCallingConfig:{mode:`ANY`,allowedFunctionNames:[t.toolName]}},toolWarnings:i};default:{let e=u;throw new L({functionality:`tool choice type: ${e}`})}}}function Sn({finishReason:e,hasToolCalls:t}){switch(e){case`STOP`:return t?`tool-calls`:`stop`;case`MAX_TOKENS`:return`length`;case`IMAGE_SAFETY`:case`RECITATION`:case`SAFETY`:case`BLOCKLIST`:case`PROHIBITED_CONTENT`:case`SPII`:return`content-filter`;case`FINISH_REASON_UNSPECIFIED`:case`OTHER`:return`other`;case`MALFORMED_FUNCTION_CALL`:return`error`;default:return`unknown`}}var Cn=i.object({web:i.object({uri:i.string(),title:i.string()}).nullish(),retrievedContext:i.object({uri:i.string(),title:i.string()}).nullish()}),wn=i.object({webSearchQueries:i.array(i.string()).nullish(),retrievalQueries:i.array(i.string()).nullish(),searchEntryPoint:i.object({renderedContent:i.string()}).nullish(),groundingChunks:i.array(Cn).nullish(),groundingSupports:i.array(i.object({segment:i.object({startIndex:i.number().nullish(),endIndex:i.number().nullish(),text:i.string().nullish()}),segment_text:i.string().nullish(),groundingChunkIndices:i.array(i.number()).nullish(),supportChunkIndices:i.array(i.number()).nullish(),confidenceScores:i.array(i.number()).nullish(),confidenceScore:i.array(i.number()).nullish()})).nullish(),retrievalMetadata:i.union([i.object({webDynamicRetrievalScore:i.number()}),i.object({})]).nullish()}),Tn=U({id:`google.google_search`,name:`google_search`,inputSchema:i.object({mode:i.enum([`MODE_DYNAMIC`,`MODE_UNSPECIFIED`]).default(`MODE_UNSPECIFIED`),dynamicThreshold:i.number().default(1)})}),En=i.object({retrievedUrl:i.string(),urlRetrievalStatus:i.string()}),Dn=i.object({urlMetadata:i.array(En)}),On=U({id:`google.url_context`,name:`url_context`,inputSchema:i.object({})}),kn=class{constructor(e,t){this.specificationVersion=`v2`;var n;this.modelId=e,this.config=t,this.generateId=(n=t.generateId)??B}get provider(){return this.config.provider}get supportedUrls(){var e,t,n;return(n=(t=(e=this.config).supportedUrls)?.call(e))??{}}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m;let h=[],g=await V({provider:`google`,providerOptions:f,schema:bn});(p=g?.thinkingConfig)?.includeThoughts===!0&&!this.config.provider.startsWith(`google.vertex.`)&&h.push({type:`other`,message:`The 'includeThoughts' option is only supported with the Google Vertex provider and might not be supported or could behave unexpectedly with the current Google provider (${this.config.provider}).`});let _=this.modelId.toLowerCase().startsWith(`gemma-`),{contents:v,systemInstruction:y}=vn(e,{isGemmaModel:_}),{tools:b,toolConfig:x,toolWarnings:S}=xn({tools:u,toolChoice:d,modelId:this.modelId});return{args:{generationConfig:{maxOutputTokens:t,temperature:n,topK:i,topP:r,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:l,responseMimeType:c?.type===`json`?`application/json`:void 0,responseSchema:c?.type===`json`&&c.schema!=null&&((m=g?.structuredOutputs)??!0)?Q(c.schema):void 0,...g?.audioTimestamp&&{audioTimestamp:g.audioTimestamp},responseModalities:g?.responseModalities,thinkingConfig:g?.thinkingConfig},contents:v,systemInstruction:_?void 0:y,safetySettings:g?.safetySettings,tools:b,toolConfig:x,cachedContent:g?.cachedContent,labels:g?.labels},warnings:[...h,...S]}}async doGenerate(e){var t,n,r,i,a,o,s,c,l,u,d,f;let{args:p,warnings:m}=await this.getArgs(e),h=JSON.stringify(p),g=R(await W(this.config.headers),e.headers),{responseHeaders:_,value:v,rawValue:y}=await H({url:`${this.config.baseURL}/${yn(this.modelId)}:generateContent`,headers:g,body:p,failedResponseHandler:Z,successfulResponseHandler:q(In),abortSignal:e.abortSignal,fetch:this.config.fetch}),b=v.candidates[0],x=[],S=(n=(t=b.content)?.parts)??[],C=v.usageMetadata,w;for(let e of S)if(`executableCode`in e&&(r=e.executableCode)?.code){let t=this.config.generateId();w=t,x.push({type:`tool-call`,toolCallId:t,toolName:`code_execution`,input:JSON.stringify(e.executableCode),providerExecuted:!0})}else `codeExecutionResult`in e&&e.codeExecutionResult?(x.push({type:`tool-result`,toolCallId:w,toolName:`code_execution`,result:{outcome:e.codeExecutionResult.outcome,output:e.codeExecutionResult.output},providerExecuted:!0}),w=void 0):`text`in e&&e.text!=null&&e.text.length>0?x.push({type:e.thought===!0?`reasoning`:`text`,text:e.text,providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`functionCall`in e?x.push({type:`tool-call`,toolCallId:this.config.generateId(),toolName:e.functionCall.name,input:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}):`inlineData`in e&&x.push({type:`file`,data:e.inlineData.data,mediaType:e.inlineData.mimeType});let T=(i=Mn({groundingMetadata:b.groundingMetadata,generateId:this.config.generateId}))??[];for(let e of T)x.push(e);return{content:x,finishReason:Sn({finishReason:b.finishReason,hasToolCalls:x.some(e=>e.type===`tool-call`)}),usage:{inputTokens:(a=C?.promptTokenCount)??void 0,outputTokens:(o=C?.candidatesTokenCount)??void 0,totalTokens:(s=C?.totalTokenCount)??void 0,reasoningTokens:(c=C?.thoughtsTokenCount)??void 0,cachedInputTokens:(l=C?.cachedContentTokenCount)??void 0},warnings:m,providerMetadata:{google:{groundingMetadata:(u=b.groundingMetadata)??null,urlContextMetadata:(d=b.urlContextMetadata)??null,safetyRatings:(f=b.safetyRatings)??null,usageMetadata:C??null}},request:{body:h},response:{headers:_,body:y}}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r=JSON.stringify(t),i=R(await W(this.config.headers),e.headers),{responseHeaders:a,value:o}=await H({url:`${this.config.baseURL}/${yn(this.modelId)}:streamGenerateContent?alt=sse`,headers:i,body:t,failedResponseHandler:Z,successfulResponseHandler:K(Ln),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l,u=this.config.generateId,d=!1,f=null,p=null,m=0,h=new Set,g;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,i,a,o,_,v,y,b,x,S,C;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let w=t.value,T=w.usageMetadata;T!=null&&(c.inputTokens=(r=T.promptTokenCount)??void 0,c.outputTokens=(i=T.candidatesTokenCount)??void 0,c.totalTokens=(a=T.totalTokenCount)??void 0,c.reasoningTokens=(o=T.thoughtsTokenCount)??void 0,c.cachedInputTokens=(_=T.cachedContentTokenCount)??void 0);let E=(v=w.candidates)?.[0];if(E==null)return;let D=E.content,O=Mn({groundingMetadata:E.groundingMetadata,generateId:u});if(O!=null)for(let e of O)e.sourceType===`url`&&!h.has(e.url)&&(h.add(e.url),n.enqueue(e));if(D!=null){let e=(y=D.parts)??[];for(let t of e)if(`executableCode`in t&&(b=t.executableCode)?.code){let e=u();g=e,n.enqueue({type:`tool-call`,toolCallId:e,toolName:`code_execution`,input:JSON.stringify(t.executableCode),providerExecuted:!0}),d=!0}else if(`codeExecutionResult`in t&&t.codeExecutionResult){let e=g;e&&(n.enqueue({type:`tool-result`,toolCallId:e,toolName:`code_execution`,result:{outcome:t.codeExecutionResult.outcome,output:t.codeExecutionResult.output},providerExecuted:!0}),g=void 0)}else `text`in t&&t.text!=null&&t.text.length>0&&(t.thought===!0?(f!==null&&(n.enqueue({type:`text-end`,id:f}),f=null),p===null&&(p=String(m++),n.enqueue({type:`reasoning-start`,id:p,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`reasoning-delta`,id:p,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})):(p!==null&&(n.enqueue({type:`reasoning-end`,id:p}),p=null),f===null&&(f=String(m++),n.enqueue({type:`text-start`,id:f,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})),n.enqueue({type:`text-delta`,id:f,delta:t.text,providerMetadata:t.thoughtSignature?{google:{thoughtSignature:t.thoughtSignature}}:void 0})));let t=jn(D.parts);if(t!=null)for(let e of t)n.enqueue({type:`file`,mediaType:e.inlineData.mimeType,data:e.inlineData.data});let r=An({parts:D.parts,generateId:u});if(r!=null)for(let e of r)n.enqueue({type:`tool-input-start`,id:e.toolCallId,toolName:e.toolName,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:e.args,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-input-end`,id:e.toolCallId,providerMetadata:e.providerMetadata}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.args,providerMetadata:e.providerMetadata}),d=!0}E.finishReason!=null&&(s=Sn({finishReason:E.finishReason,hasToolCalls:d}),l={google:{groundingMetadata:(x=E.groundingMetadata)??null,urlContextMetadata:(S=E.urlContextMetadata)??null,safetyRatings:(C=E.safetyRatings)??null}},T!=null&&(l.google.usageMetadata=T))},flush(e){f!==null&&e.enqueue({type:`text-end`,id:f}),p!==null&&e.enqueue({type:`reasoning-end`,id:p}),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:l})}})),response:{headers:a},request:{body:r}}}};function An({parts:e,generateId:t}){let n=e?.filter(e=>`functionCall`in e);return n==null||n.length===0?void 0:n.map(e=>({type:`tool-call`,toolCallId:t(),toolName:e.functionCall.name,args:JSON.stringify(e.functionCall.args),providerMetadata:e.thoughtSignature?{google:{thoughtSignature:e.thoughtSignature}}:void 0}))}function jn(e){return e?.filter(e=>`inlineData`in e)}function Mn({groundingMetadata:e,generateId:t}){var n;return(n=e?.groundingChunks)?.filter(e=>e.web!=null).map(e=>({type:`source`,sourceType:`url`,id:t(),url:e.web.uri,title:e.web.title}))}var Nn=i.object({parts:i.array(i.union([i.object({functionCall:i.object({name:i.string(),args:i.unknown()}),thoughtSignature:i.string().nullish()}),i.object({inlineData:i.object({mimeType:i.string(),data:i.string()})}),i.object({executableCode:i.object({language:i.string(),code:i.string()}).nullish(),codeExecutionResult:i.object({outcome:i.string(),output:i.string()}).nullish(),text:i.string().nullish(),thought:i.boolean().nullish(),thoughtSignature:i.string().nullish()})])).nullish()}),Pn=i.object({category:i.string().nullish(),probability:i.string().nullish(),probabilityScore:i.number().nullish(),severity:i.string().nullish(),severityScore:i.number().nullish(),blocked:i.boolean().nullish()}),Fn=i.object({cachedContentTokenCount:i.number().nullish(),thoughtsTokenCount:i.number().nullish(),promptTokenCount:i.number().nullish(),candidatesTokenCount:i.number().nullish(),totalTokenCount:i.number().nullish()}),In=i.object({candidates:i.array(i.object({content:Nn.nullish().or(i.object({}).strict()),finishReason:i.string().nullish(),safetyRatings:i.array(Pn).nullish(),groundingMetadata:wn.nullish(),urlContextMetadata:Dn.nullish()})),usageMetadata:Fn.nullish()}),Ln=i.object({candidates:i.array(i.object({content:Nn.nullish(),finishReason:i.string().nullish(),safetyRatings:i.array(Pn).nullish(),groundingMetadata:wn.nullish(),urlContextMetadata:Dn.nullish()})).nullish(),usageMetadata:Fn.nullish()}),Rn=Tt({id:`google.code_execution`,name:`code_execution`,inputSchema:i.object({language:i.string().describe(`The programming language of the code.`),code:i.string().describe(`The code to be executed.`)}),outputSchema:i.object({outcome:i.string().describe(`The outcome of the execution (e.g., "OUTCOME_OK").`),output:i.string().describe(`The output from the code execution.`)})}),zn={googleSearch:Tn,urlContext:On,codeExecution:Rn},Bn=class{constructor(e,t,n){this.modelId=e,this.settings=t,this.config=n,this.specificationVersion=`v2`}get maxImagesPerCall(){var e;return(e=this.settings.maxImagesPerCall)??4}get provider(){return this.config.provider}async doGenerate(e){var t,n,r;let{prompt:i,n:a=1,size:o=`1024x1024`,aspectRatio:s=`1:1`,seed:c,providerOptions:l,headers:u,abortSignal:d}=e,f=[];o!=null&&f.push({type:`unsupported-setting`,setting:`size`,details:"This model does not support the `size` option. Use `aspectRatio` instead."}),c!=null&&f.push({type:`unsupported-setting`,setting:`seed`,details:"This model does not support the `seed` option through this provider."});let p=await V({provider:`google`,providerOptions:l,schema:Hn}),m=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,h={sampleCount:a};s!=null&&(h.aspectRatio=s),p&&Object.assign(h,p);let g={instances:[{prompt:i}],parameters:h},{responseHeaders:_,value:v}=await H({url:`${this.config.baseURL}/models/${this.modelId}:predict`,headers:R(await W(this.config.headers),u),body:g,failedResponseHandler:Z,successfulResponseHandler:q(Vn),abortSignal:d,fetch:this.config.fetch});return{images:v.predictions.map(e=>e.bytesBase64Encoded),warnings:f??[],providerMetadata:{google:{images:v.predictions.map(e=>({}))}},response:{timestamp:m,modelId:this.modelId,headers:_}}}},Vn=i.object({predictions:i.array(i.object({bytesBase64Encoded:i.string()})).default([])}),Hn=i.object({personGeneration:i.enum([`dont_allow`,`allow_adult`,`allow_all`]).nullish(),aspectRatio:i.enum([`1:1`,`3:4`,`4:3`,`9:16`,`16:9`]).nullish()});function Un(e={}){var t;let n=(t=jt(e.baseURL))??`https://generativelanguage.googleapis.com/v1beta`,r=()=>({"x-goog-api-key":rt({apiKey:e.apiKey,environmentVariableName:`GOOGLE_GENERATIVE_AI_API_KEY`,description:`Google Generative AI`}),...e.headers}),i=t=>{var i;return new kn(t,{provider:`google.generative-ai`,baseURL:n,headers:r,generateId:(i=e.generateId)??B,supportedUrls:()=>({"*":[RegExp(`^${n}/files/.*$`),RegExp(`^https://(?:www\\.)?youtube\\.com/watch\\?v=[\\w-]+(?:&[\\w=&.-]*)?$`),RegExp(`^https://youtu\\.be/[\\w-]+(?:\\?[\\w=&.-]*)?$`)]}),fetch:e.fetch})},a=t=>new mn(t,{provider:`google.generative-ai`,baseURL:n,headers:r,fetch:e.fetch}),o=(t,i={})=>new Bn(t,i,{provider:`google.generative-ai`,baseURL:n,headers:r,fetch:e.fetch}),s=function(e){if(new.target)throw Error(`The Google Generative AI model function cannot be called with the new keyword.`);return i(e)};return s.languageModel=i,s.chat=i,s.generativeAI=i,s.embedding=a,s.textEmbedding=a,s.textEmbeddingModel=a,s.image=o,s.imageModel=o,s.tools=zn,s}Un();var Wn=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),$=G({errorSchema:Wn,errorToMessage:e=>e.error.message});function Gn({prompt:e,systemMessageMode:t=`system`}){let n=[],r=[];for(let{role:i,content:a}of e)switch(i){case`system`:switch(t){case`system`:n.push({role:`system`,content:a});break;case`developer`:n.push({role:`developer`,content:a});break;case`remove`:r.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:if(a.length===1&&a[0].type===`text`){n.push({role:`user`,content:a[0].text});break}n.push({role:`user`,content:a.map((e,t)=>{var n,r,i;switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${J(e.data)}`,detail:(r=(n=e.providerOptions)?.openai)?.imageDetail}}}else if(e.mediaType.startsWith(`audio/`)){if(e.data instanceof URL)throw new L({functionality:`audio file parts with URLs`});switch(e.mediaType){case`audio/wav`:return{type:`input_audio`,input_audio:{data:J(e.data),format:`wav`}};case`audio/mp3`:case`audio/mpeg`:return{type:`input_audio`,input_audio:{data:J(e.data),format:`mp3`}};default:throw new L({functionality:`audio content parts with media type ${e.mediaType}`})}}else if(e.mediaType===`application/pdf`){if(e.data instanceof URL)throw new L({functionality:`PDF file parts with URLs`});return{type:`file`,file:typeof e.data==`string`&&e.data.startsWith(`file-`)?{file_id:e.data}:{filename:(i=e.filename)??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${J(e.data)}`}}}else throw new L({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,t=[];for(let n of a)switch(n.type){case`text`:e+=n.text;break;case`tool-call`:t.push({id:n.toolCallId,type:`function`,function:{name:n.toolName,arguments:JSON.stringify(n.input)}});break}n.push({role:`assistant`,content:e,tool_calls:t.length>0?t:void 0});break}case`tool`:for(let e of a){let t=e.output,r;switch(t.type){case`text`:case`error-text`:r=t.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(t.value);break}n.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return{messages:n,warnings:r}}function Kn({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function qn(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var Jn=i.object({logitBias:i.record(i.coerce.number(),i.number()).optional(),logprobs:i.union([i.boolean(),i.number()]).optional(),parallelToolCalls:i.boolean().optional(),user:i.string().optional(),reasoningEffort:i.enum([`minimal`,`low`,`medium`,`high`]).optional(),maxCompletionTokens:i.number().optional(),store:i.boolean().optional(),metadata:i.record(i.string().max(64),i.string().max(512)).optional(),prediction:i.record(i.string(),i.any()).optional(),structuredOutputs:i.boolean().optional(),serviceTier:i.enum([`auto`,`flex`,`priority`]).optional(),strictJsonSchema:i.boolean().optional(),textVerbosity:i.enum([`low`,`medium`,`high`]).optional(),promptCacheKey:i.string().optional(),safetyIdentifier:i.string().optional()}),Yn=i.object({key:i.string(),type:i.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:i.union([i.string(),i.number(),i.boolean()])}),Xn=i.object({type:i.enum([`and`,`or`]),filters:i.array(i.union([Yn,i.lazy(()=>Xn)]))}),Zn=i.union([Yn,Xn]),Qn=i.object({vectorStoreIds:i.array(i.string()).optional(),maxNumResults:i.number().optional(),ranking:i.object({ranker:i.enum([`auto`,`default-2024-08-21`]).optional()}).optional(),filters:Zn.optional()}),$n=U({id:`openai.file_search`,name:`file_search`,inputSchema:i.object({query:i.string()})}),er=i.object({searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),tr=U({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})});function nr({tools:e,toolChoice:t,structuredOutputs:n,strictJsonSchema:r}){e=e?.length?e:void 0;let i=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:i};let a=[];for(let t of e)switch(t.type){case`function`:a.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema,strict:n?r:void 0}});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=Qn.parse(t.args);a.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker}:void 0,filters:e.filters});break}case`openai.web_search_preview`:{let e=er.parse(t.args);a.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}default:i.push({type:`unsupported-tool`,tool:t});break}break;default:i.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:a,toolChoice:void 0,toolWarnings:i};let o=t.type;switch(o){case`auto`:case`none`:case`required`:return{tools:a,toolChoice:o,toolWarnings:i};case`tool`:return{tools:a,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:i};default:{let e=o;throw new L({functionality:`tool choice type: ${e}`})}}}var rr=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,providerOptions:f}){var p,m,h,g;let _=[],v=(p=await V({provider:`openai`,providerOptions:f,schema:Jn}))??{},y=(m=v.structuredOutputs)??!0;i!=null&&_.push({type:`unsupported-setting`,setting:`topK`}),c?.type===`json`&&c.schema!=null&&!y&&_.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is only supported with structuredOutputs`});let{messages:b,warnings:x}=Gn({prompt:e,systemMessageMode:ur(this.modelId)});_.push(...x);let S=(h=v.strictJsonSchema)??!1,C={model:this.modelId,logit_bias:v.logitBias,logprobs:v.logprobs===!0||typeof v.logprobs==`number`?!0:void 0,top_logprobs:typeof v.logprobs==`number`?v.logprobs:typeof v.logprobs==`boolean`&&v.logprobs?0:void 0,user:v.user,parallel_tool_calls:v.parallelToolCalls,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,response_format:c?.type===`json`?y&&c.schema!=null?{type:`json_schema`,json_schema:{schema:c.schema,strict:S,name:(g=c.name)??`response`,description:c.description}}:{type:`json_object`}:void 0,stop:s,seed:l,verbosity:v.textVerbosity,max_completion_tokens:v.maxCompletionTokens,store:v.store,metadata:v.metadata,prediction:v.prediction,reasoning_effort:v.reasoningEffort,service_tier:v.serviceTier,prompt_cache_key:v.promptCacheKey,safety_identifier:v.safetyIdentifier,messages:b};sr(this.modelId)?(C.temperature!=null&&(C.temperature=void 0,_.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),C.top_p!=null&&(C.top_p=void 0,_.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`})),C.frequency_penalty!=null&&(C.frequency_penalty=void 0,_.push({type:`unsupported-setting`,setting:`frequencyPenalty`,details:`frequencyPenalty is not supported for reasoning models`})),C.presence_penalty!=null&&(C.presence_penalty=void 0,_.push({type:`unsupported-setting`,setting:`presencePenalty`,details:`presencePenalty is not supported for reasoning models`})),C.logit_bias!=null&&(C.logit_bias=void 0,_.push({type:`other`,message:`logitBias is not supported for reasoning models`})),C.logprobs!=null&&(C.logprobs=void 0,_.push({type:`other`,message:`logprobs is not supported for reasoning models`})),C.top_logprobs!=null&&(C.top_logprobs=void 0,_.push({type:`other`,message:`topLogprobs is not supported for reasoning models`})),C.max_tokens!=null&&(C.max_completion_tokens??=C.max_tokens,C.max_tokens=void 0)):(this.modelId.startsWith(`gpt-4o-search-preview`)||this.modelId.startsWith(`gpt-4o-mini-search-preview`))&&C.temperature!=null&&(C.temperature=void 0,_.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for the search preview models and has been removed.`})),v.serviceTier===`flex`&&!cr(this.modelId)&&(_.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),C.service_tier=void 0),v.serviceTier===`priority`&&!lr(this.modelId)&&(_.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),C.service_tier=void 0);let{tools:w,toolChoice:T,toolWarnings:E}=nr({tools:u,toolChoice:d,structuredOutputs:y,strictJsonSchema:S});return{args:{...C,tools:w,tool_choice:T},warnings:[..._,...E]}}async doGenerate(e){var t,n,r,i,a,o,s,c,l,u,d,f,p,m;let{args:h,warnings:g}=await this.getArgs(e),{responseHeaders:_,value:v,rawValue:y}=await H({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:h,failedResponseHandler:$,successfulResponseHandler:q(ar),abortSignal:e.abortSignal,fetch:this.config.fetch}),b=v.choices[0],x=[],S=b.message.content;S!=null&&S.length>0&&x.push({type:`text`,text:S});for(let e of(t=b.message.tool_calls)??[])x.push({type:`tool-call`,toolCallId:(n=e.id)??B(),toolName:e.function.name,input:e.function.arguments});for(let e of(r=b.message.annotations)??[])x.push({type:`source`,sourceType:`url`,id:B(),url:e.url,title:e.title});let C=(i=v.usage)?.completion_tokens_details,w=(a=v.usage)?.prompt_tokens_details,T={openai:{}};return C?.accepted_prediction_tokens!=null&&(T.openai.acceptedPredictionTokens=C?.accepted_prediction_tokens),C?.rejected_prediction_tokens!=null&&(T.openai.rejectedPredictionTokens=C?.rejected_prediction_tokens),(o=b.logprobs)?.content!=null&&(T.openai.logprobs=b.logprobs.content),{content:x,finishReason:qn(b.finish_reason),usage:{inputTokens:(c=(s=v.usage)?.prompt_tokens)??void 0,outputTokens:(u=(l=v.usage)?.completion_tokens)??void 0,totalTokens:(f=(d=v.usage)?.total_tokens)??void 0,reasoningTokens:(p=C?.reasoning_tokens)??void 0,cachedInputTokens:(m=w?.cached_tokens)??void 0},request:{body:h},response:{...Kn(v),headers:_,body:y},warnings:g,providerMetadata:T}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:K(or),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=[],s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0,u=!1,d={openai:{}};return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var r,i,a,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let N=t.value;if(`error`in N){s=`error`,n.enqueue({type:`error`,error:N.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...Kn(N)})),N.usage!=null&&(c.inputTokens=(r=N.usage.prompt_tokens)??void 0,c.outputTokens=(i=N.usage.completion_tokens)??void 0,c.totalTokens=(a=N.usage.total_tokens)??void 0,c.reasoningTokens=(p=(f=N.usage.completion_tokens_details)?.reasoning_tokens)??void 0,c.cachedInputTokens=(h=(m=N.usage.prompt_tokens_details)?.cached_tokens)??void 0,(g=N.usage.completion_tokens_details)?.accepted_prediction_tokens!=null&&(d.openai.acceptedPredictionTokens=(_=N.usage.completion_tokens_details)?.accepted_prediction_tokens),(v=N.usage.completion_tokens_details)?.rejected_prediction_tokens!=null&&(d.openai.rejectedPredictionTokens=(y=N.usage.completion_tokens_details)?.rejected_prediction_tokens));let P=N.choices[0];if(P?.finish_reason!=null&&(s=qn(P.finish_reason)),(b=P?.logprobs)?.content!=null&&(d.openai.logprobs=P.logprobs.content),P?.delta==null)return;let F=P.delta;if(F.content!=null&&(u||=(n.enqueue({type:`text-start`,id:`0`}),!0),n.enqueue({type:`text-delta`,id:`0`,delta:F.content})),F.tool_calls!=null)for(let e of F.tool_calls){let t=e.index;if(o[t]==null){if(e.type!==`function`)throw new le({data:e,message:`Expected 'function' type.`});if(e.id==null)throw new le({data:e,message:`Expected 'id' to be a string.`});if((x=e.function)?.name==null)throw new le({data:e,message:`Expected 'function.name' to be a string.`});n.enqueue({type:`tool-input-start`,id:e.id,toolName:e.function.name}),o[t]={id:e.id,type:`function`,function:{name:e.function.name,arguments:(S=e.function.arguments)??``},hasFinished:!1};let r=o[t];(C=r.function)?.name!=null&&(w=r.function)?.arguments!=null&&(r.function.arguments.length>0&&n.enqueue({type:`tool-input-delta`,id:r.id,delta:r.function.arguments}),yt(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:(T=r.id)??B(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0));continue}let r=o[t];if(r.hasFinished)continue;(E=e.function)?.arguments!=null&&(r.function.arguments+=(O=(D=e.function)?.arguments)??``),n.enqueue({type:`tool-input-delta`,id:r.id,delta:(k=e.function.arguments)??``}),(A=r.function)?.name!=null&&(j=r.function)?.arguments!=null&&yt(r.function.arguments)&&(n.enqueue({type:`tool-input-end`,id:r.id}),n.enqueue({type:`tool-call`,toolCallId:(M=r.id)??B(),toolName:r.function.name,input:r.function.arguments}),r.hasFinished=!0)}if(F.annotations!=null)for(let e of F.annotations)n.enqueue({type:`source`,sourceType:`url`,id:B(),url:e.url,title:e.title})},flush(e){u&&e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:s,usage:c,...d==null?{}:{providerMetadata:d}})}})),request:{body:r},response:{headers:i}}}},ir=i.object({prompt_tokens:i.number().nullish(),completion_tokens:i.number().nullish(),total_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish(),accepted_prediction_tokens:i.number().nullish(),rejected_prediction_tokens:i.number().nullish()}).nullish()}).nullish(),ar=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`).nullish(),content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string().nullish(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish(),annotations:i.array(i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()})).nullish()}),index:i.number(),logprobs:i.object({content:i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})).nullish()}).nullish(),finish_reason:i.string().nullish()})),usage:ir}),or=i.union([i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum([`assistant`]).nullish(),content:i.string().nullish(),tool_calls:i.array(i.object({index:i.number(),id:i.string().nullish(),type:i.literal(`function`).nullish(),function:i.object({name:i.string().nullish(),arguments:i.string().nullish()})})).nullish(),annotations:i.array(i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()})).nullish()}).nullish(),logprobs:i.object({content:i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})).nullish()}).nullish(),finish_reason:i.string().nullish(),index:i.number()})),usage:ir}),Wn]);function sr(e){return(e.startsWith(`o`)||e.startsWith(`gpt-5`))&&!e.startsWith(`gpt-5-chat`)}function cr(e){return e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`)}function lr(e){return e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`)}function ur(e){var t,n;return sr(e)?(n=(t=dr[e])?.systemMessageMode)??`developer`:`system`}var dr={"o1-mini":{systemMessageMode:`remove`},"o1-mini-2024-09-12":{systemMessageMode:`remove`},"o1-preview":{systemMessageMode:`remove`},"o1-preview-2024-09-12":{systemMessageMode:`remove`},o3:{systemMessageMode:`developer`},"o3-2025-04-16":{systemMessageMode:`developer`},"o3-mini":{systemMessageMode:`developer`},"o3-mini-2025-01-31":{systemMessageMode:`developer`},"o4-mini":{systemMessageMode:`developer`},"o4-mini-2025-04-16":{systemMessageMode:`developer`}};function fr({prompt:e,user:t=`user`,assistant:n=`assistant`}){let r=``;e[0].role===`system`&&(r+=`${e[0].content}
12
12
 
13
- `,e=e.slice(1));for(let{role:i,content:a}of e)switch(i){case`system`:throw new ue({message:"Unexpected system message in prompt: ${content}",prompt:e});case`user`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text}}).filter(Boolean).join(``);r+=`${t}:
13
+ `,e=e.slice(1));for(let{role:i,content:a}of e)switch(i){case`system`:throw new ie({message:"Unexpected system message in prompt: ${content}",prompt:e});case`user`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text}}).filter(Boolean).join(``);r+=`${t}:
14
14
  ${e}
15
15
 
16
- `;break}case`assistant`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text;case`tool-call`:throw new I({functionality:`tool-call messages`})}}).join(``);r+=`${n}:
16
+ `;break}case`assistant`:{let e=a.map(e=>{switch(e.type){case`text`:return e.text;case`tool-call`:throw new L({functionality:`tool-call messages`})}}).join(``);r+=`${n}:
17
17
  ${e}
18
18
 
19
- `;break}case`tool`:throw new I({functionality:`tool messages`});default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return r+=`${n}:
19
+ `;break}case`tool`:throw new L({functionality:`tool messages`});default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return r+=`${n}:
20
20
  `,{prompt:r,stopSequences:[`
21
- ${t}:`]}}function pr({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function mr(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var hr=i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional(),logprobs:i.union([i.boolean(),i.number()]).optional()}),gr=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await V({provider:`openai`,providerOptions:f,schema:hr}),...await V({provider:this.providerOptionsName,providerOptions:f,schema:hr})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=fr({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await H({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:L(this.config.headers(),e.headers),body:i,failedResponseHandler:$,successfulResponseHandler:q(vr),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u={openai:{}};return l.logprobs!=null&&(u.openai.logprobs=l.logprobs),{content:[{type:`text`,text:l.text}],usage:{inputTokens:(t=s.usage)?.prompt_tokens,outputTokens:(n=s.usage)?.completion_tokens,totalTokens:(r=s.usage)?.total_tokens},finishReason:mr(l.finish_reason),request:{body:i},response:{...pr(s),headers:o,body:c},providerMetadata:u,warnings:a}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:L(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:K(yr),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...pr(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=mr(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},_r=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()}),vr=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:_r.nullish()}),yr=i.union([i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string().nullish(),index:i.number(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:_r.nullish()}),Wn]),br=i.object({dimensions:i.number().optional(),user:i.string().optional()}),xr=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var i;if(e.length>this.maxEmbeddingsPerCall)throw new Ue({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=(i=await V({provider:`openai`,providerOptions:r,schema:br}))??{},{responseHeaders:o,value:s,rawValue:c}=await H({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:L(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:a.dimensions,user:a.user},failedResponseHandler:$,successfulResponseHandler:q(Sr),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.data.map(e=>e.embedding),usage:s.usage?{tokens:s.usage.prompt_tokens}:void 0,response:{headers:o,body:c}}}},Sr=i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish()}),Cr={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},wr=new Set([`gpt-image-1`]),Tr=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){var e;return(e=Cr[this.modelId])??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d;let f=[];r!=null&&f.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&f.push({type:`unsupported-setting`,setting:`seed`});let p=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:m,responseHeaders:h}=await H({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:L(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},...wr.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:q(Er),abortSignal:s,fetch:this.config.fetch});return{images:m.data.map(e=>e.b64_json),warnings:f,response:{timestamp:p,modelId:this.modelId,headers:h},providerMetadata:{openai:{images:m.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},Er=i.object({data:i.array(i.object({b64_json:i.string(),revised_prompt:i.string().optional()}))}),Dr=i.object({container:i.union([i.string(),i.object({fileIds:i.array(i.string()).optional()})]).optional()}),Or=U({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:i.object({})}),kr=(e={})=>Or(e),Ar=i.object({filters:i.object({allowedDomains:i.array(i.string()).optional()}).optional(),searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),jr=U({id:`openai.web_search`,name:`web_search`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})}),Mr=(e={})=>jr(e),Nr={codeInterpreter:kr,fileSearch:$n,webSearchPreview:tr,webSearch:Mr};function Pr(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Fr({prompt:e,systemMessageMode:t,fileIdPrefixes:n}){var r,i,a,o,s,c;let l=[],u=[];for(let{role:d,content:f}of e)switch(d){case`system`:switch(t){case`system`:l.push({role:`system`,content:f});break;case`developer`:l.push({role:`developer`,content:f});break;case`remove`:u.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:l.push({role:`user`,content:f.map((e,t)=>{var r,i,a;switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&Pr(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${J(e.data)}`},detail:(i=(r=e.providerOptions)?.openai)?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&Pr(e.data,n)?{file_id:e.data}:{filename:(a=e.filename)??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${J(e.data)}`}};else throw new I({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={};for(let t of f)switch(t.type){case`text`:l.push({role:`assistant`,content:[{type:`output_text`,text:t.text}],id:(a=(i=(r=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-call`:if(t.providerExecuted)break;l.push({type:`function_call`,call_id:t.toolCallId,name:t.toolName,arguments:JSON.stringify(t.input),id:(c=(s=(o=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-result`:u.push({type:`other`,message:`tool result parts in assistant messages are not supported for OpenAI responses`});break;case`reasoning`:{let n=await V({provider:`openai`,providerOptions:t.providerOptions,schema:Ir}),r=n?.itemId;if(r!=null){let i=e[r],a=[];t.text.length>0?a.push({type:`summary_text`,text:t.text}):i!==void 0&&u.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(t)}.`}),i===void 0?(e[r]={type:`reasoning`,id:r,encrypted_content:n?.reasoningEncryptedContent,summary:a},l.push(e[r])):i.summary.push(...a)}else u.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(t)}.`});break}}break}case`tool`:for(let e of f){let t=e.output,n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}l.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=d;throw Error(`Unsupported role: ${e}`)}}return{messages:l,warnings:u}}var Ir=i.object({itemId:i.string().nullish(),reasoningEncryptedContent:i.string().nullish()});function Lr({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function Rr({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=Qn.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker}:void 0,filters:e.filters});break}case`openai.web_search_preview`:{let e=er.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=Ar.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=Dr.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:{let e=a;throw new I({functionality:`tool choice type: ${e}`})}}}var zr=i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()}),Br=20,Vr=i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})),Hr=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){var p,m,h;let g=[],_=pi(this.modelId);i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&g.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`});let{messages:v,warnings:y}=await Fr({prompt:c,systemMessageMode:_.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes});g.push(...y);let b=await V({provider:`openai`,providerOptions:l,schema:mi}),x=(p=b?.strictJsonSchema)??!1,S=b?.include,C=typeof b?.logprobs==`number`?b?.logprobs:b?.logprobs===!0?Br:void 0;S=C?Array.isArray(S)?[...S,`message.output_text.logprobs`]:[`message.output_text.logprobs`]:S;let w=(m=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`)))?.name;S=w?Array.isArray(S)?[...S,`web_search_call.action.sources`]:[`web_search_call.action.sources`]:S;let T={model:this.modelId,input:v,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||b?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:x,name:(h=f.name)??`response`,description:f.description,schema:f.schema}},...b?.textVerbosity&&{verbosity:b.textVerbosity}}},metadata:b?.metadata,parallel_tool_calls:b?.parallelToolCalls,previous_response_id:b?.previousResponseId,store:b?.store,user:b?.user,instructions:b?.instructions,service_tier:b?.serviceTier,include:S,prompt_cache_key:b?.promptCacheKey,safety_identifier:b?.safetyIdentifier,top_logprobs:C,..._.isReasoningModel&&(b?.reasoningEffort!=null||b?.reasoningSummary!=null)&&{reasoning:{...b?.reasoningEffort!=null&&{effort:b.reasoningEffort},...b?.reasoningSummary!=null&&{summary:b.reasoningSummary}}},..._.requiredAutoTruncation&&{truncation:`auto`}};_.isReasoningModel?(T.temperature!=null&&(T.temperature=void 0,g.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),T.top_p!=null&&(T.top_p=void 0,g.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(b?.reasoningEffort!=null&&g.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),b?.reasoningSummary!=null&&g.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),b?.serviceTier===`flex`&&!_.supportsFlexProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete T.service_tier),b?.serviceTier===`priority`&&!_.supportsPriorityProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),delete T.service_tier);let{tools:E,toolChoice:D,toolWarnings:O}=Rr({tools:u,toolChoice:d,strictJsonSchema:x});return{webSearchToolName:w,args:{...T,tools:E,tool_choice:D},warnings:[...g,...O]}}async doGenerate(e){var t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v;let{args:y,warnings:b,webSearchToolName:x}=await this.getArgs(e),S=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:C,value:w,rawValue:T}=await H({url:S,headers:L(this.config.headers(),e.headers),body:y,failedResponseHandler:$,successfulResponseHandler:q(i.object({id:i.string(),created_at:i.number(),error:i.object({code:i.string(),message:i.string()}).nullish(),model:i.string(),output:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),role:i.literal(`assistant`),id:i.string(),content:i.array(i.object({type:i.literal(`output_text`),text:i.string(),logprobs:Vr.nullish(),annotations:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()}),i.object({type:i.literal(`container_file_citation`)})]))}))}),i.object({type:i.literal(`code_interpreter_call`)}),i.object({type:i.literal(`function_call`),call_id:i.string(),name:i.string(),arguments:i.string(),id:i.string()}),zr,i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string().optional()}),i.object({type:i.literal(`file_search_call`),id:i.string(),status:i.string().optional(),queries:i.array(i.string()).nullish(),results:i.array(i.object({attributes:i.object({file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})})).nullish()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish(),summary:i.array(i.object({type:i.literal(`summary_text`),text:i.string()}))})])),service_tier:i.string().nullish(),incomplete_details:i.object({reason:i.string()}).nullable(),usage:Ur})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(w.error)throw new k({message:w.error.message,url:S,requestBodyValues:y,statusCode:400,responseHeaders:C,responseBody:T,isRetryable:!1});let E=[],D=[],O=!1;for(let i of w.output)switch(i.type){case`reasoning`:i.summary.length===0&&i.summary.push({type:`summary_text`,text:``});for(let e of i.summary)E.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:i.id,reasoningEncryptedContent:(t=i.encrypted_content)??null}}});break;case`message`:for(let t of i.content){(r=(n=e.providerOptions)?.openai)?.logprobs&&t.logprobs&&D.push(t.logprobs),E.push({type:`text`,text:t.text,providerMetadata:{openai:{itemId:i.id}}});for(let e of t.annotations)e.type===`url_citation`?E.push({type:`source`,sourceType:`url`,id:(s=(o=(a=this.config).generateId)?.call(a))??z(),url:e.url,title:e.title}):e.type===`file_citation`&&E.push({type:`source`,sourceType:`document`,id:(u=(l=(c=this.config).generateId)?.call(c))??z(),mediaType:`text/plain`,title:(f=(d=e.quote)??e.filename)??`Document`,filename:(p=e.filename)??e.file_id})}break;case`function_call`:O=!0,E.push({type:`tool-call`,toolCallId:i.call_id,toolName:i.name,input:i.arguments,providerMetadata:{openai:{itemId:i.id}}});break;case`web_search_call`:E.push({type:`tool-call`,toolCallId:i.id,toolName:x??`web_search`,input:JSON.stringify({action:i.action}),providerExecuted:!0}),E.push({type:`tool-result`,toolCallId:i.id,toolName:x??`web_search`,result:{status:i.status},providerExecuted:!0});break;case`computer_call`:E.push({type:`tool-call`,toolCallId:i.id,toolName:`computer_use`,input:``,providerExecuted:!0}),E.push({type:`tool-result`,toolCallId:i.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:i.status||`completed`},providerExecuted:!0});break;case`file_search_call`:E.push({type:`tool-call`,toolCallId:i.id,toolName:`file_search`,input:``,providerExecuted:!0}),E.push({type:`tool-result`,toolCallId:i.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:i.status||`completed`,...i.queries&&{queries:i.queries},...i.results&&{results:i.results}},providerExecuted:!0});break}let A={openai:{responseId:w.id}};return D.length>0&&(A.openai.logprobs=D),typeof w.service_tier==`string`&&(A.openai.serviceTier=w.service_tier),{content:E,finishReason:Lr({finishReason:(m=w.incomplete_details)?.reason,hasFunctionCall:O}),usage:{inputTokens:w.usage.input_tokens,outputTokens:w.usage.output_tokens,totalTokens:w.usage.input_tokens+w.usage.output_tokens,reasoningTokens:(g=(h=w.usage.output_tokens_details)?.reasoning_tokens)??void 0,cachedInputTokens:(v=(_=w.usage.input_tokens_details)?.cached_tokens)??void 0},request:{body:y},response:{id:w.id,timestamp:new Date(w.created_at*1e3),modelId:w.model,headers:C,body:T},providerMetadata:A,warnings:b}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:L(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:K(ei),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,ee,M;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let N=t.value;if(si(N))N.item.type===`function_call`?(d[N.output_index]={toolName:N.item.name,toolCallId:N.item.call_id},n.enqueue({type:`tool-input-start`,id:N.item.call_id,toolName:N.item.name})):N.item.type===`web_search_call`?(d[N.output_index]={toolName:r??`web_search`,toolCallId:N.item.id},n.enqueue({type:`tool-input-start`,id:N.item.id,toolName:r??`web_search`})):N.item.type===`computer_call`?(d[N.output_index]={toolName:`computer_use`,toolCallId:N.item.id},n.enqueue({type:`tool-input-start`,id:N.item.id,toolName:`computer_use`})):N.item.type===`file_search_call`?(d[N.output_index]={toolName:`file_search`,toolCallId:N.item.id},n.enqueue({type:`tool-input-start`,id:N.item.id,toolName:`file_search`})):N.item.type===`message`?n.enqueue({type:`text-start`,id:N.item.id,providerMetadata:{openai:{itemId:N.item.id}}}):ci(N)&&(p[N.item.id]={encryptedContent:N.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${N.item.id}:0`,providerMetadata:{openai:{itemId:N.item.id,reasoningEncryptedContent:(i=N.item.encrypted_content)??null}}}));else if(ni(N)){if(N.item.type===`function_call`)d[N.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:N.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:N.item.call_id,toolName:N.item.name,input:N.item.arguments,providerMetadata:{openai:{itemId:N.item.id}}});else if(N.item.type===`web_search_call`)d[N.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:N.item.id}),n.enqueue({type:`tool-call`,toolCallId:N.item.id,toolName:`web_search`,input:JSON.stringify({action:N.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:N.item.id,toolName:`web_search`,result:{status:N.item.status},providerExecuted:!0});else if(N.item.type===`computer_call`)d[N.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:N.item.id}),n.enqueue({type:`tool-call`,toolCallId:N.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:N.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:N.item.status||`completed`},providerExecuted:!0});else if(N.item.type===`file_search_call`)d[N.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:N.item.id}),n.enqueue({type:`tool-call`,toolCallId:N.item.id,toolName:`file_search`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:N.item.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:N.item.status||`completed`,...N.item.queries&&{queries:N.item.queries},...N.item.results&&{results:N.item.results}},providerExecuted:!0});else if(N.item.type===`message`)n.enqueue({type:`text-end`,id:N.item.id});else if(ri(N)){let e=p[N.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${N.item.id}:${t}`,providerMetadata:{openai:{itemId:N.item.id,reasoningEncryptedContent:(a=N.item.encrypted_content)??null}}});delete p[N.item.id]}}else if(oi(N)){let e=d[N.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:N.delta})}else ai(N)?(u=N.response.id,n.enqueue({type:`response-metadata`,id:N.response.id,timestamp:new Date(N.response.created_at*1e3),modelId:N.response.model})):ti(N)?(n.enqueue({type:`text-delta`,id:N.item_id,delta:N.delta}),(g=(h=e.providerOptions)?.openai)?.logprobs&&N.logprobs&&l.push(N.logprobs)):ui(N)?N.summary_index>0&&((_=p[N.item_id])==null||_.summaryParts.push(N.summary_index),n.enqueue({type:`reasoning-start`,id:`${N.item_id}:${N.summary_index}`,providerMetadata:{openai:{itemId:N.item_id,reasoningEncryptedContent:(y=(v=p[N.item_id])?.encryptedContent)??null}}})):di(N)?n.enqueue({type:`reasoning-delta`,id:`${N.item_id}:${N.summary_index}`,delta:N.delta,providerMetadata:{openai:{itemId:N.item_id}}}):ii(N)?(s=Lr({finishReason:(b=N.response.incomplete_details)?.reason,hasFunctionCall:f}),c.inputTokens=N.response.usage.input_tokens,c.outputTokens=N.response.usage.output_tokens,c.totalTokens=N.response.usage.input_tokens+N.response.usage.output_tokens,c.reasoningTokens=(S=(x=N.response.usage.output_tokens_details)?.reasoning_tokens)??void 0,c.cachedInputTokens=(w=(C=N.response.usage.input_tokens_details)?.cached_tokens)??void 0,typeof N.response.service_tier==`string`&&(m=N.response.service_tier)):li(N)?N.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(D=(E=(T=o.config).generateId)?.call(T))??z(),url:N.annotation.url,title:N.annotation.title}):N.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(A=(k=(O=o.config).generateId)?.call(O))??z(),mediaType:`text/plain`,title:(ee=(j=N.annotation.quote)??N.annotation.filename)??`Document`,filename:(M=N.annotation.filename)??N.annotation.file_id}):fi(N)&&n.enqueue({type:`error`,error:N})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},Ur=i.object({input_tokens:i.number(),input_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),output_tokens:i.number(),output_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),Wr=i.object({type:i.literal(`response.output_text.delta`),item_id:i.string(),delta:i.string(),logprobs:Vr.nullish()}),Gr=i.object({type:i.literal(`error`),code:i.string(),message:i.string(),param:i.string().nullish(),sequence_number:i.number()}),Kr=i.object({type:i.enum([`response.completed`,`response.incomplete`]),response:i.object({incomplete_details:i.object({reason:i.string()}).nullish(),usage:Ur,service_tier:i.string().nullish()})}),qr=i.object({type:i.literal(`response.created`),response:i.object({id:i.string(),created_at:i.number(),model:i.string(),service_tier:i.string().nullish()})}),Jr=i.object({type:i.literal(`response.output_item.added`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string()}),i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.object({type:i.literal(`search`),query:i.string().optional()}).nullish()}),i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string()}),i.object({type:i.literal(`file_search_call`),id:i.string(),status:i.string(),queries:i.array(i.string()).nullish(),results:i.array(i.object({attributes:i.object({file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})})).optional()})])}),Yr=i.object({type:i.literal(`response.output_item.done`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string(),status:i.literal(`completed`)}),zr,i.object({type:i.literal(`computer_call`),id:i.string(),status:i.literal(`completed`)}),i.object({type:i.literal(`file_search_call`),id:i.string(),status:i.literal(`completed`),queries:i.array(i.string()).nullish(),results:i.array(i.object({attributes:i.object({file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})})).nullish()})])}),Xr=i.object({type:i.literal(`response.function_call_arguments.delta`),item_id:i.string(),output_index:i.number(),delta:i.string()}),Zr=i.object({type:i.literal(`response.output_text.annotation.added`),annotation:i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()})])}),Qr=i.object({type:i.literal(`response.reasoning_summary_part.added`),item_id:i.string(),summary_index:i.number()}),$r=i.object({type:i.literal(`response.reasoning_summary_text.delta`),item_id:i.string(),summary_index:i.number(),delta:i.string()}),ei=i.union([Wr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,Gr,i.object({type:i.string()}).loose()]);function ti(e){return e.type===`response.output_text.delta`}function ni(e){return e.type===`response.output_item.done`}function ri(e){return ni(e)&&e.item.type===`reasoning`}function ii(e){return e.type===`response.completed`||e.type===`response.incomplete`}function ai(e){return e.type===`response.created`}function oi(e){return e.type===`response.function_call_arguments.delta`}function si(e){return e.type===`response.output_item.added`}function ci(e){return si(e)&&e.item.type===`reasoning`}function li(e){return e.type===`response.output_text.annotation.added`}function ui(e){return e.type===`response.reasoning_summary_part.added`}function di(e){return e.type===`response.reasoning_summary_text.delta`}function fi(e){return e.type===`error`}function pi(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var mi=i.object({metadata:i.any().nullish(),parallelToolCalls:i.boolean().nullish(),previousResponseId:i.string().nullish(),store:i.boolean().nullish(),user:i.string().nullish(),reasoningEffort:i.string().nullish(),strictJsonSchema:i.boolean().nullish(),instructions:i.string().nullish(),reasoningSummary:i.string().nullish(),serviceTier:i.enum([`auto`,`flex`,`priority`]).nullish(),include:i.array(i.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),textVerbosity:i.enum([`low`,`medium`,`high`]).nullish(),promptCacheKey:i.string().nullish(),safetyIdentifier:i.string().nullish(),logprobs:i.union([i.boolean(),i.number().min(1).max(Br)]).optional()}),hi=i.object({instructions:i.string().nullish(),speed:i.number().min(.25).max(4).default(1).nullish()}),gi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await V({provider:`openai`,providerOptions:o,schema:hi}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t,n,r;let i=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{requestBody:a,warnings:o}=await this.getArgs(e),{value:s,responseHeaders:c,rawValue:l}=await H({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:L(this.config.headers(),e.headers),body:a,failedResponseHandler:$,successfulResponseHandler:Et(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:s,warnings:o,request:{body:JSON.stringify(a)},response:{timestamp:i,modelId:this.modelId,headers:c,body:l}}}},_i=i.object({include:i.array(i.string()).optional(),language:i.string().optional(),prompt:i.string().optional(),temperature:i.number().min(0).max(1).default(0).optional(),timestampGranularities:i.array(i.enum([`word`,`segment`])).default([`segment`]).optional()}),vi={afrikaans:`af`,arabic:`ar`,armenian:`hy`,azerbaijani:`az`,belarusian:`be`,bosnian:`bs`,bulgarian:`bg`,catalan:`ca`,chinese:`zh`,croatian:`hr`,czech:`cs`,danish:`da`,dutch:`nl`,english:`en`,estonian:`et`,finnish:`fi`,french:`fr`,galician:`gl`,german:`de`,greek:`el`,hebrew:`he`,hindi:`hi`,hungarian:`hu`,icelandic:`is`,indonesian:`id`,italian:`it`,japanese:`ja`,kannada:`kn`,kazakh:`kk`,korean:`ko`,latvian:`lv`,lithuanian:`lt`,macedonian:`mk`,malay:`ms`,marathi:`mr`,maori:`mi`,nepali:`ne`,norwegian:`no`,persian:`fa`,polish:`pl`,portuguese:`pt`,romanian:`ro`,russian:`ru`,serbian:`sr`,slovak:`sk`,slovenian:`sl`,spanish:`es`,swahili:`sw`,swedish:`sv`,tagalog:`tl`,tamil:`ta`,thai:`th`,turkish:`tr`,ukrainian:`uk`,urdu:`ur`,vietnamese:`vi`,welsh:`cy`},yi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await V({provider:`openai`,providerOptions:n,schema:_i}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([kt(e)]);a.append(`model`,this.modelId);let s=it(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t,n,r,i,a,o,s,c;let l=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{formData:u,warnings:d}=await this.getArgs(e),{value:f,responseHeaders:p,rawValue:m}=await St({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:L(this.config.headers(),e.headers),formData:u,failedResponseHandler:$,successfulResponseHandler:q(bi),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=f.language!=null&&f.language in vi?vi[f.language]:void 0;return{text:f.text,segments:(s=(o=(i=f.segments)?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end})))??(a=f.words)?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end})))??[],language:h,durationInSeconds:(c=f.duration)??void 0,warnings:d,response:{timestamp:l,modelId:this.modelId,headers:p,body:m}}}},bi=i.object({text:i.string(),language:i.string().nullish(),duration:i.number().nullish(),words:i.array(i.object({word:i.string(),start:i.number(),end:i.number()})).nullish(),segments:i.array(i.object({id:i.number(),seek:i.number(),start:i.number(),end:i.number(),text:i.string(),tokens:i.array(i.number()),temperature:i.number(),avg_logprob:i.number(),compression_ratio:i.number(),no_speech_prob:i.number()})).nullish()});function xi(e={}){var t,n;let r=(t=jt(e.baseURL))??`https://api.openai.com/v1`,i=(n=e.name)??`openai`,a=()=>({Authorization:`Bearer ${B({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers}),o=t=>new rr(t,{provider:`${i}.chat`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),s=t=>new gr(t,{provider:`${i}.completion`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),c=t=>new xr(t,{provider:`${i}.embedding`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),l=t=>new Tr(t,{provider:`${i}.image`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),u=t=>new yi(t,{provider:`${i}.transcription`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),d=t=>new gi(t,{provider:`${i}.speech`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),f=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return p(e)},p=t=>new Hr(t,{provider:`${i}.responses`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch,fileIdPrefixes:[`file-`]}),m=function(e){return f(e)};return m.languageModel=f,m.chat=o,m.completion=s,m.responses=p,m.embedding=c,m.textEmbedding=c,m.textEmbeddingModel=c,m.image=l,m.imageModel=l,m.transcription=u,m.transcriptionModel=u,m.speech=d,m.speechModel=d,m.tools=Nr,m}xi(),i.object({user:i.string().optional(),reasoningEffort:i.string().optional()});var Si=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),Ci={errorSchema:Si,errorToMessage:e=>e.error.message},wi=i.object({prompt_tokens:i.number().nullish(),completion_tokens:i.number().nullish(),total_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish(),accepted_prediction_tokens:i.number().nullish(),rejected_prediction_tokens:i.number().nullish()}).nullish()}).nullish();i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`).nullish(),content:i.string().nullish(),reasoning_content:i.string().nullish(),reasoning:i.string().nullish(),tool_calls:i.array(i.object({id:i.string().nullish(),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish()})),usage:wi}),i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional()});var Ti=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()});i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string()})),usage:Ti.nullish()}),i.object({dimensions:i.number().optional(),user:i.string().optional()}),i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish(),providerMetadata:i.record(i.string(),i.record(i.string(),i.any())).optional()});var Ei=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d,f;let p=[];r!=null&&p.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&p.push({type:`unsupported-setting`,setting:`seed`});let m=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:h,responseHeaders:g}=await H({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:L(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},response_format:`b64_json`},failedResponseHandler:G((f=this.config.errorStructure)??Ci),successfulResponseHandler:q(Di),abortSignal:s,fetch:this.config.fetch});return{images:h.data.map(e=>e.b64_json),warnings:p,response:{timestamp:m,modelId:this.modelId,headers:g}}}},Di=i.object({data:i.array(i.object({b64_json:i.string()}))});function Oi(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${J(e.data)}`}}}else throw new I({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function ki({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Ai(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var ji=i.object({type:i.literal(`web`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),allowedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Mi=i.object({type:i.literal(`x`),xHandles:i.array(i.string()).optional()}),Ni=i.object({type:i.literal(`news`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Pi=i.object({type:i.literal(`rss`),links:i.array(i.string().url()).max(1)}),Fi=i.discriminatedUnion(`type`,[ji,Mi,Ni,Pi]),Ii=i.object({reasoningEffort:i.enum([`low`,`high`]).optional(),searchParameters:i.object({mode:i.enum([`off`,`auto`,`on`]),returnCitations:i.boolean().optional(),fromDate:i.string().optional(),toDate:i.string().optional(),maxSearchResults:i.number().min(1).max(50).optional(),sources:i.array(Fi).optional()}).optional()}),Li=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),Ri=G({errorSchema:Li,errorToMessage:e=>e.error.message});function zi({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:{let e=i;throw new I({functionality:`tool choice type: ${e}`})}}}var Bi=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){var p,m,h;let g=[],_=(p=await V({provider:`xai`,providerOptions:u,schema:Ii}))??{};i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&g.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:v,warnings:y}=Oi(e);g.push(...y);let{tools:b,toolChoice:x,toolWarnings:S}=zi({tools:d,toolChoice:f});g.push(...S);let C={model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:_.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:(m=l.name)??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:_.searchParameters?{mode:_.searchParameters.mode,return_citations:_.searchParameters.returnCitations,from_date:_.searchParameters.fromDate,to_date:_.searchParameters.toDate,max_search_results:_.searchParameters.maxSearchResults,sources:(h=_.searchParameters.sources)?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{x_handles:e.xHandles},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:v,tools:b,tool_choice:x};return{args:C,warnings:g}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await H({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:L(this.config.headers(),e.headers),body:i,failedResponseHandler:Ri,successfulResponseHandler:q(Hi),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u=[];if(l.message.content!=null&&l.message.content.length>0){let e=l.message.content,t=i.messages[i.messages.length-1];t?.role===`assistant`&&e===t.content&&(e=``),e.length>0&&u.push({type:`text`,text:e})}if(l.message.reasoning_content!=null&&l.message.reasoning_content.length>0&&u.push({type:`reasoning`,text:l.message.reasoning_content}),l.message.tool_calls!=null)for(let e of l.message.tool_calls)u.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(s.citations!=null)for(let e of s.citations)u.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:u,finishReason:Ai(l.finish_reason),usage:{inputTokens:s.usage.prompt_tokens,outputTokens:s.usage.completion_tokens,totalTokens:s.usage.total_tokens,reasoningTokens:(r=(n=s.usage.completion_tokens_details)?.reasoning_tokens)??void 0},request:{body:i},response:{...ki(s),headers:o,body:c},warnings:a}}async doStream(e){var t;let{args:n,warnings:r}=await this.getArgs(e),i={...n,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:a,value:o}=await H({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:L(this.config.headers(),e.headers),body:i,failedResponseHandler:Ri,successfulResponseHandler:K(Ui),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l={},u={},d=this;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(t,n){var r,a;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let o=t.value;if(n.enqueue({type:`response-metadata`,...ki(o)}),o.citations!=null)for(let e of o.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});o.usage!=null&&(c.inputTokens=o.usage.prompt_tokens,c.outputTokens=o.usage.completion_tokens,c.totalTokens=o.usage.total_tokens,c.reasoningTokens=(a=(r=o.usage.completion_tokens_details)?.reasoning_tokens)??void 0);let f=o.choices[0];if(f?.finish_reason!=null&&(s=Ai(f.finish_reason)),f?.delta==null)return;let p=f.delta,m=f.index;if(p.content!=null&&p.content.length>0){let e=p.content,t=i.messages[i.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let r=`text-${o.id||m}`;l[r]??(l[r]={type:`text`},n.enqueue({type:`text-start`,id:r})),n.enqueue({type:`text-delta`,id:r,delta:e})}if(p.reasoning_content!=null&&p.reasoning_content.length>0){let e=`reasoning-${o.id||m}`;if(u[e]===p.reasoning_content)return;u[e]=p.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:p.reasoning_content})}if(p.tool_calls!=null)for(let e of p.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:s,usage:c})}})),request:{body:i},response:{headers:a}}}},Vi=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),Hi=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),index:i.number(),finish_reason:i.string().nullish()})),object:i.literal(`chat.completion`),usage:Vi,citations:i.array(i.string().url()).nullish()}),Ui=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum([`assistant`]).optional(),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish(),index:i.number()})),usage:Vi.nullish(),citations:i.array(i.string().url()).nullish()}),Wi={errorSchema:Li,errorToMessage:e=>e.error.message};function Gi(e={}){var t;let n=jt((t=e.baseURL)??`https://api.x.ai/v1`),r=()=>({Authorization:`Bearer ${B({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers}),i=t=>new Bi(t,{provider:`xai.chat`,baseURL:n,headers:r,generateId:z,fetch:e.fetch}),a=t=>new Ei(t,{provider:`xai.image`,url:({path:e})=>`${n}${e}`,headers:r,fetch:e.fetch,errorStructure:Wi}),o=e=>i(e);return o.languageModel=i,o.chat=i,o.textEmbeddingModel=e=>{throw new Re({modelId:e,modelType:`textEmbeddingModel`})},o.imageModel=a,o.image=a,o}Gi();function Ki(t){if(!t.body)throw Error(`Response body is required`);let r=t.headers.get(e);if(!r||r===`ui-message`)return t.body.pipeThrough(new TextDecoderStream).pipeThrough(new y).pipeThrough(new TransformStream({async transform(e,t){if(e.data!==`[DONE]`)try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));let i=e=>n({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(r){case`openai-chat`:return i(xi({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`openai-response`:return i(xi({apiKey:`ignored`,fetch:(e,n)=>t}).responses(`fake-model`));case`anthropic`:return i(dn({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`google`:return i(Un({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`xai`:return i(Gi({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${r}`)}}const qi=`BLINK_API_URL`;var Ji=class{baseUrl;client;constructor(e){this.client=m(e.baseUrl),this.baseUrl=e.baseUrl}async chat(e,t){let n=await this.client._agent.chat.$post({json:e},{headers:t?.headers,init:{signal:t?.signal}});return n.ok||await this.handleError(n),Ki(n)}async capabilities(){let e=await this.client._agent.capabilities.$get();return e.ok||await this.handleError(e),e.json()}async ui(e,t){let n=await this.client._agent.ui.$get({query:e},{init:{signal:t?.signal}});return(!n.ok||n.status!==200)&&await this.handleError(n),n.json()}async health(){let e=await this.client._agent.health.$get();e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed (${e.status}): ${t}`)}throw Error(`Failed (${e.status}): ${e.statusText}`)}};const Yi=e=>{let t=new y;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),Xi(t.readable)},Xi=e=>{let t=e.pipeThrough(new TransformStream({async transform(e,t){try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));return t};export{qi as APIServerURLEnvironmentVariable,Ji as Client,e as StreamResponseFormatHeader,Yi as streamSSE};
21
+ ${t}:`]}}function pr({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function mr(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var hr=i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional(),logprobs:i.union([i.boolean(),i.number()]).optional()}),gr=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await V({provider:`openai`,providerOptions:f,schema:hr}),...await V({provider:this.providerOptionsName,providerOptions:f,schema:hr})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=fr({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await H({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:$,successfulResponseHandler:q(vr),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u={openai:{}};return l.logprobs!=null&&(u.openai.logprobs=l.logprobs),{content:[{type:`text`,text:l.text}],usage:{inputTokens:(t=s.usage)?.prompt_tokens,outputTokens:(n=s.usage)?.completion_tokens,totalTokens:(r=s.usage)?.total_tokens},finishReason:mr(l.finish_reason),request:{body:i},response:{...pr(s),headers:o,body:c},providerMetadata:u,warnings:a}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:K(yr),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...pr(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=mr(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},_r=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()}),vr=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:_r.nullish()}),yr=i.union([i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string().nullish(),index:i.number(),logprobs:i.object({tokens:i.array(i.string()),token_logprobs:i.array(i.number()),top_logprobs:i.array(i.record(i.string(),i.number())).nullish()}).nullish()})),usage:_r.nullish()}),Wn]),br=i.object({dimensions:i.number().optional(),user:i.string().optional()}),xr=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var i;if(e.length>this.maxEmbeddingsPerCall)throw new Le({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=(i=await V({provider:`openai`,providerOptions:r,schema:br}))??{},{responseHeaders:o,value:s,rawValue:c}=await H({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:R(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:a.dimensions,user:a.user},failedResponseHandler:$,successfulResponseHandler:q(Sr),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.data.map(e=>e.embedding),usage:s.usage?{tokens:s.usage.prompt_tokens}:void 0,response:{headers:o,body:c}}}},Sr=i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish()}),Cr={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},wr=new Set([`gpt-image-1`]),Tr=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){var e;return(e=Cr[this.modelId])??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d;let f=[];r!=null&&f.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&f.push({type:`unsupported-setting`,setting:`seed`});let p=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:m,responseHeaders:h}=await H({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:R(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},...wr.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:q(Er),abortSignal:s,fetch:this.config.fetch});return{images:m.data.map(e=>e.b64_json),warnings:f,response:{timestamp:p,modelId:this.modelId,headers:h},providerMetadata:{openai:{images:m.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},Er=i.object({data:i.array(i.object({b64_json:i.string(),revised_prompt:i.string().optional()}))}),Dr=i.object({container:i.union([i.string(),i.object({fileIds:i.array(i.string()).optional()})]).optional()}),Or=U({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:i.object({})}),kr=(e={})=>Or(e),Ar=i.object({filters:i.object({allowedDomains:i.array(i.string()).optional()}).optional(),searchContextSize:i.enum([`low`,`medium`,`high`]).optional(),userLocation:i.object({type:i.literal(`approximate`),country:i.string().optional(),city:i.string().optional(),region:i.string().optional(),timezone:i.string().optional()}).optional()}),jr=U({id:`openai.web_search`,name:`web_search`,inputSchema:i.object({action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()})}),Mr=(e={})=>jr(e),Nr={codeInterpreter:kr,fileSearch:$n,webSearchPreview:tr,webSearch:Mr};function Pr(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Fr({prompt:e,systemMessageMode:t,fileIdPrefixes:n}){var r,i,a,o,s,c;let l=[],u=[];for(let{role:d,content:f}of e)switch(d){case`system`:switch(t){case`system`:l.push({role:`system`,content:f});break;case`developer`:l.push({role:`developer`,content:f});break;case`remove`:u.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:l.push({role:`user`,content:f.map((e,t)=>{var r,i,a;switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&Pr(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${J(e.data)}`},detail:(i=(r=e.providerOptions)?.openai)?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&Pr(e.data,n)?{file_id:e.data}:{filename:(a=e.filename)??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${J(e.data)}`}};else throw new L({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={};for(let t of f)switch(t.type){case`text`:l.push({role:`assistant`,content:[{type:`output_text`,text:t.text}],id:(a=(i=(r=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-call`:if(t.providerExecuted)break;l.push({type:`function_call`,call_id:t.toolCallId,name:t.toolName,arguments:JSON.stringify(t.input),id:(c=(s=(o=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-result`:u.push({type:`other`,message:`tool result parts in assistant messages are not supported for OpenAI responses`});break;case`reasoning`:{let n=await V({provider:`openai`,providerOptions:t.providerOptions,schema:Ir}),r=n?.itemId;if(r!=null){let i=e[r],a=[];t.text.length>0?a.push({type:`summary_text`,text:t.text}):i!==void 0&&u.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(t)}.`}),i===void 0?(e[r]={type:`reasoning`,id:r,encrypted_content:n?.reasoningEncryptedContent,summary:a},l.push(e[r])):i.summary.push(...a)}else u.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(t)}.`});break}}break}case`tool`:for(let e of f){let t=e.output,n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}l.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=d;throw Error(`Unsupported role: ${e}`)}}return{messages:l,warnings:u}}var Ir=i.object({itemId:i.string().nullish(),reasoningEncryptedContent:i.string().nullish()});function Lr({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function Rr({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=Qn.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker}:void 0,filters:e.filters});break}case`openai.web_search_preview`:{let e=er.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=Ar.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=Dr.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:{let e=a;throw new L({functionality:`tool choice type: ${e}`})}}}var zr=i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.discriminatedUnion(`type`,[i.object({type:i.literal(`search`),query:i.string().nullish()}),i.object({type:i.literal(`open_page`),url:i.string()}),i.object({type:i.literal(`find`),url:i.string(),pattern:i.string()})]).nullish()}),Br=20,Vr=i.array(i.object({token:i.string(),logprob:i.number(),top_logprobs:i.array(i.object({token:i.string(),logprob:i.number()}))})),Hr=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){var p,m,h;let g=[],_=pi(this.modelId);i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&g.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`});let{messages:v,warnings:y}=await Fr({prompt:c,systemMessageMode:_.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes});g.push(...y);let b=await V({provider:`openai`,providerOptions:l,schema:mi}),x=(p=b?.strictJsonSchema)??!1,S=b?.include,C=typeof b?.logprobs==`number`?b?.logprobs:b?.logprobs===!0?Br:void 0;S=C?Array.isArray(S)?[...S,`message.output_text.logprobs`]:[`message.output_text.logprobs`]:S;let w=(m=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`)))?.name;S=w?Array.isArray(S)?[...S,`web_search_call.action.sources`]:[`web_search_call.action.sources`]:S;let T={model:this.modelId,input:v,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||b?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:x,name:(h=f.name)??`response`,description:f.description,schema:f.schema}},...b?.textVerbosity&&{verbosity:b.textVerbosity}}},metadata:b?.metadata,parallel_tool_calls:b?.parallelToolCalls,previous_response_id:b?.previousResponseId,store:b?.store,user:b?.user,instructions:b?.instructions,service_tier:b?.serviceTier,include:S,prompt_cache_key:b?.promptCacheKey,safety_identifier:b?.safetyIdentifier,top_logprobs:C,..._.isReasoningModel&&(b?.reasoningEffort!=null||b?.reasoningSummary!=null)&&{reasoning:{...b?.reasoningEffort!=null&&{effort:b.reasoningEffort},...b?.reasoningSummary!=null&&{summary:b.reasoningSummary}}},..._.requiredAutoTruncation&&{truncation:`auto`}};_.isReasoningModel?(T.temperature!=null&&(T.temperature=void 0,g.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),T.top_p!=null&&(T.top_p=void 0,g.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(b?.reasoningEffort!=null&&g.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),b?.reasoningSummary!=null&&g.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),b?.serviceTier===`flex`&&!_.supportsFlexProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete T.service_tier),b?.serviceTier===`priority`&&!_.supportsPriorityProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),delete T.service_tier);let{tools:E,toolChoice:D,toolWarnings:O}=Rr({tools:u,toolChoice:d,strictJsonSchema:x});return{webSearchToolName:w,args:{...T,tools:E,tool_choice:D},warnings:[...g,...O]}}async doGenerate(e){var t,n,r,a,o,s,c,l,u,d,f,p,m,h,g,_,v;let{args:y,warnings:b,webSearchToolName:x}=await this.getArgs(e),S=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:C,value:T,rawValue:E}=await H({url:S,headers:R(this.config.headers(),e.headers),body:y,failedResponseHandler:$,successfulResponseHandler:q(i.object({id:i.string(),created_at:i.number(),error:i.object({code:i.string(),message:i.string()}).nullish(),model:i.string(),output:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),role:i.literal(`assistant`),id:i.string(),content:i.array(i.object({type:i.literal(`output_text`),text:i.string(),logprobs:Vr.nullish(),annotations:i.array(i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),start_index:i.number(),end_index:i.number(),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()}),i.object({type:i.literal(`container_file_citation`)})]))}))}),i.object({type:i.literal(`code_interpreter_call`)}),i.object({type:i.literal(`function_call`),call_id:i.string(),name:i.string(),arguments:i.string(),id:i.string()}),zr,i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string().optional()}),i.object({type:i.literal(`file_search_call`),id:i.string(),status:i.string().optional(),queries:i.array(i.string()).nullish(),results:i.array(i.object({attributes:i.object({file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})})).nullish()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish(),summary:i.array(i.object({type:i.literal(`summary_text`),text:i.string()}))})])),service_tier:i.string().nullish(),incomplete_details:i.object({reason:i.string()}).nullable(),usage:Ur})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(T.error)throw new w({message:T.error.message,url:S,requestBodyValues:y,statusCode:400,responseHeaders:C,responseBody:E,isRetryable:!1});let D=[],O=[],k=!1;for(let i of T.output)switch(i.type){case`reasoning`:i.summary.length===0&&i.summary.push({type:`summary_text`,text:``});for(let e of i.summary)D.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:i.id,reasoningEncryptedContent:(t=i.encrypted_content)??null}}});break;case`message`:for(let t of i.content){(r=(n=e.providerOptions)?.openai)?.logprobs&&t.logprobs&&O.push(t.logprobs),D.push({type:`text`,text:t.text,providerMetadata:{openai:{itemId:i.id}}});for(let e of t.annotations)e.type===`url_citation`?D.push({type:`source`,sourceType:`url`,id:(s=(o=(a=this.config).generateId)?.call(a))??B(),url:e.url,title:e.title}):e.type===`file_citation`&&D.push({type:`source`,sourceType:`document`,id:(u=(l=(c=this.config).generateId)?.call(c))??B(),mediaType:`text/plain`,title:(f=(d=e.quote)??e.filename)??`Document`,filename:(p=e.filename)??e.file_id})}break;case`function_call`:k=!0,D.push({type:`tool-call`,toolCallId:i.call_id,toolName:i.name,input:i.arguments,providerMetadata:{openai:{itemId:i.id}}});break;case`web_search_call`:D.push({type:`tool-call`,toolCallId:i.id,toolName:x??`web_search`,input:JSON.stringify({action:i.action}),providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:i.id,toolName:x??`web_search`,result:{status:i.status},providerExecuted:!0});break;case`computer_call`:D.push({type:`tool-call`,toolCallId:i.id,toolName:`computer_use`,input:``,providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:i.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:i.status||`completed`},providerExecuted:!0});break;case`file_search_call`:D.push({type:`tool-call`,toolCallId:i.id,toolName:`file_search`,input:``,providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:i.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:i.status||`completed`,...i.queries&&{queries:i.queries},...i.results&&{results:i.results}},providerExecuted:!0});break}let A={openai:{responseId:T.id}};return O.length>0&&(A.openai.logprobs=O),typeof T.service_tier==`string`&&(A.openai.serviceTier=T.service_tier),{content:D,finishReason:Lr({finishReason:(m=T.incomplete_details)?.reason,hasFunctionCall:k}),usage:{inputTokens:T.usage.input_tokens,outputTokens:T.usage.output_tokens,totalTokens:T.usage.input_tokens+T.usage.output_tokens,reasoningTokens:(g=(h=T.usage.output_tokens_details)?.reasoning_tokens)??void 0,cachedInputTokens:(v=(_=T.usage.input_tokens_details)?.cached_tokens)??void 0},request:{body:y},response:{id:T.id,timestamp:new Date(T.created_at*1e3),modelId:T.model,headers:C,body:E},providerMetadata:A,warnings:b}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:K(ei),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let P=t.value;if(si(P))P.item.type===`function_call`?(d[P.output_index]={toolName:P.item.name,toolCallId:P.item.call_id},n.enqueue({type:`tool-input-start`,id:P.item.call_id,toolName:P.item.name})):P.item.type===`web_search_call`?(d[P.output_index]={toolName:r??`web_search`,toolCallId:P.item.id},n.enqueue({type:`tool-input-start`,id:P.item.id,toolName:r??`web_search`})):P.item.type===`computer_call`?(d[P.output_index]={toolName:`computer_use`,toolCallId:P.item.id},n.enqueue({type:`tool-input-start`,id:P.item.id,toolName:`computer_use`})):P.item.type===`file_search_call`?(d[P.output_index]={toolName:`file_search`,toolCallId:P.item.id},n.enqueue({type:`tool-input-start`,id:P.item.id,toolName:`file_search`})):P.item.type===`message`?n.enqueue({type:`text-start`,id:P.item.id,providerMetadata:{openai:{itemId:P.item.id}}}):ci(P)&&(p[P.item.id]={encryptedContent:P.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${P.item.id}:0`,providerMetadata:{openai:{itemId:P.item.id,reasoningEncryptedContent:(i=P.item.encrypted_content)??null}}}));else if(ni(P)){if(P.item.type===`function_call`)d[P.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:P.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:P.item.call_id,toolName:P.item.name,input:P.item.arguments,providerMetadata:{openai:{itemId:P.item.id}}});else if(P.item.type===`web_search_call`)d[P.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:P.item.id}),n.enqueue({type:`tool-call`,toolCallId:P.item.id,toolName:`web_search`,input:JSON.stringify({action:P.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:P.item.id,toolName:`web_search`,result:{status:P.item.status},providerExecuted:!0});else if(P.item.type===`computer_call`)d[P.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:P.item.id}),n.enqueue({type:`tool-call`,toolCallId:P.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:P.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:P.item.status||`completed`},providerExecuted:!0});else if(P.item.type===`file_search_call`)d[P.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:P.item.id}),n.enqueue({type:`tool-call`,toolCallId:P.item.id,toolName:`file_search`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:P.item.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:P.item.status||`completed`,...P.item.queries&&{queries:P.item.queries},...P.item.results&&{results:P.item.results}},providerExecuted:!0});else if(P.item.type===`message`)n.enqueue({type:`text-end`,id:P.item.id});else if(ri(P)){let e=p[P.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${P.item.id}:${t}`,providerMetadata:{openai:{itemId:P.item.id,reasoningEncryptedContent:(a=P.item.encrypted_content)??null}}});delete p[P.item.id]}}else if(oi(P)){let e=d[P.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:P.delta})}else ai(P)?(u=P.response.id,n.enqueue({type:`response-metadata`,id:P.response.id,timestamp:new Date(P.response.created_at*1e3),modelId:P.response.model})):ti(P)?(n.enqueue({type:`text-delta`,id:P.item_id,delta:P.delta}),(g=(h=e.providerOptions)?.openai)?.logprobs&&P.logprobs&&l.push(P.logprobs)):ui(P)?P.summary_index>0&&((_=p[P.item_id])==null||_.summaryParts.push(P.summary_index),n.enqueue({type:`reasoning-start`,id:`${P.item_id}:${P.summary_index}`,providerMetadata:{openai:{itemId:P.item_id,reasoningEncryptedContent:(y=(v=p[P.item_id])?.encryptedContent)??null}}})):di(P)?n.enqueue({type:`reasoning-delta`,id:`${P.item_id}:${P.summary_index}`,delta:P.delta,providerMetadata:{openai:{itemId:P.item_id}}}):ii(P)?(s=Lr({finishReason:(b=P.response.incomplete_details)?.reason,hasFunctionCall:f}),c.inputTokens=P.response.usage.input_tokens,c.outputTokens=P.response.usage.output_tokens,c.totalTokens=P.response.usage.input_tokens+P.response.usage.output_tokens,c.reasoningTokens=(S=(x=P.response.usage.output_tokens_details)?.reasoning_tokens)??void 0,c.cachedInputTokens=(w=(C=P.response.usage.input_tokens_details)?.cached_tokens)??void 0,typeof P.response.service_tier==`string`&&(m=P.response.service_tier)):li(P)?P.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(D=(E=(T=o.config).generateId)?.call(T))??B(),url:P.annotation.url,title:P.annotation.title}):P.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(A=(k=(O=o.config).generateId)?.call(O))??B(),mediaType:`text/plain`,title:(M=(j=P.annotation.quote)??P.annotation.filename)??`Document`,filename:(N=P.annotation.filename)??P.annotation.file_id}):fi(P)&&n.enqueue({type:`error`,error:P})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},Ur=i.object({input_tokens:i.number(),input_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),output_tokens:i.number(),output_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),Wr=i.object({type:i.literal(`response.output_text.delta`),item_id:i.string(),delta:i.string(),logprobs:Vr.nullish()}),Gr=i.object({type:i.literal(`error`),code:i.string(),message:i.string(),param:i.string().nullish(),sequence_number:i.number()}),Kr=i.object({type:i.enum([`response.completed`,`response.incomplete`]),response:i.object({incomplete_details:i.object({reason:i.string()}).nullish(),usage:Ur,service_tier:i.string().nullish()})}),qr=i.object({type:i.literal(`response.created`),response:i.object({id:i.string(),created_at:i.number(),model:i.string(),service_tier:i.string().nullish()})}),Jr=i.object({type:i.literal(`response.output_item.added`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string()}),i.object({type:i.literal(`web_search_call`),id:i.string(),status:i.string(),action:i.object({type:i.literal(`search`),query:i.string().optional()}).nullish()}),i.object({type:i.literal(`computer_call`),id:i.string(),status:i.string()}),i.object({type:i.literal(`file_search_call`),id:i.string(),status:i.string(),queries:i.array(i.string()).nullish(),results:i.array(i.object({attributes:i.object({file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})})).optional()})])}),Yr=i.object({type:i.literal(`response.output_item.done`),output_index:i.number(),item:i.discriminatedUnion(`type`,[i.object({type:i.literal(`message`),id:i.string()}),i.object({type:i.literal(`reasoning`),id:i.string(),encrypted_content:i.string().nullish()}),i.object({type:i.literal(`function_call`),id:i.string(),call_id:i.string(),name:i.string(),arguments:i.string(),status:i.literal(`completed`)}),zr,i.object({type:i.literal(`computer_call`),id:i.string(),status:i.literal(`completed`)}),i.object({type:i.literal(`file_search_call`),id:i.string(),status:i.literal(`completed`),queries:i.array(i.string()).nullish(),results:i.array(i.object({attributes:i.object({file_id:i.string(),filename:i.string(),score:i.number(),text:i.string()})})).nullish()})])}),Xr=i.object({type:i.literal(`response.function_call_arguments.delta`),item_id:i.string(),output_index:i.number(),delta:i.string()}),Zr=i.object({type:i.literal(`response.output_text.annotation.added`),annotation:i.discriminatedUnion(`type`,[i.object({type:i.literal(`url_citation`),url:i.string(),title:i.string()}),i.object({type:i.literal(`file_citation`),file_id:i.string(),filename:i.string().nullish(),index:i.number().nullish(),start_index:i.number().nullish(),end_index:i.number().nullish(),quote:i.string().nullish()})])}),Qr=i.object({type:i.literal(`response.reasoning_summary_part.added`),item_id:i.string(),summary_index:i.number()}),$r=i.object({type:i.literal(`response.reasoning_summary_text.delta`),item_id:i.string(),summary_index:i.number(),delta:i.string()}),ei=i.union([Wr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,Gr,i.object({type:i.string()}).loose()]);function ti(e){return e.type===`response.output_text.delta`}function ni(e){return e.type===`response.output_item.done`}function ri(e){return ni(e)&&e.item.type===`reasoning`}function ii(e){return e.type===`response.completed`||e.type===`response.incomplete`}function ai(e){return e.type===`response.created`}function oi(e){return e.type===`response.function_call_arguments.delta`}function si(e){return e.type===`response.output_item.added`}function ci(e){return si(e)&&e.item.type===`reasoning`}function li(e){return e.type===`response.output_text.annotation.added`}function ui(e){return e.type===`response.reasoning_summary_part.added`}function di(e){return e.type===`response.reasoning_summary_text.delta`}function fi(e){return e.type===`error`}function pi(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var mi=i.object({metadata:i.any().nullish(),parallelToolCalls:i.boolean().nullish(),previousResponseId:i.string().nullish(),store:i.boolean().nullish(),user:i.string().nullish(),reasoningEffort:i.string().nullish(),strictJsonSchema:i.boolean().nullish(),instructions:i.string().nullish(),reasoningSummary:i.string().nullish(),serviceTier:i.enum([`auto`,`flex`,`priority`]).nullish(),include:i.array(i.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),textVerbosity:i.enum([`low`,`medium`,`high`]).nullish(),promptCacheKey:i.string().nullish(),safetyIdentifier:i.string().nullish(),logprobs:i.union([i.boolean(),i.number().min(1).max(Br)]).optional()}),hi=i.object({instructions:i.string().nullish(),speed:i.number().min(.25).max(4).default(1).nullish()}),gi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await V({provider:`openai`,providerOptions:o,schema:hi}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t,n,r;let i=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{requestBody:a,warnings:o}=await this.getArgs(e),{value:s,responseHeaders:c,rawValue:l}=await H({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:a,failedResponseHandler:$,successfulResponseHandler:Et(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:s,warnings:o,request:{body:JSON.stringify(a)},response:{timestamp:i,modelId:this.modelId,headers:c,body:l}}}},_i=i.object({include:i.array(i.string()).optional(),language:i.string().optional(),prompt:i.string().optional(),temperature:i.number().min(0).max(1).default(0).optional(),timestampGranularities:i.array(i.enum([`word`,`segment`])).default([`segment`]).optional()}),vi={afrikaans:`af`,arabic:`ar`,armenian:`hy`,azerbaijani:`az`,belarusian:`be`,bosnian:`bs`,bulgarian:`bg`,catalan:`ca`,chinese:`zh`,croatian:`hr`,czech:`cs`,danish:`da`,dutch:`nl`,english:`en`,estonian:`et`,finnish:`fi`,french:`fr`,galician:`gl`,german:`de`,greek:`el`,hebrew:`he`,hindi:`hi`,hungarian:`hu`,icelandic:`is`,indonesian:`id`,italian:`it`,japanese:`ja`,kannada:`kn`,kazakh:`kk`,korean:`ko`,latvian:`lv`,lithuanian:`lt`,macedonian:`mk`,malay:`ms`,marathi:`mr`,maori:`mi`,nepali:`ne`,norwegian:`no`,persian:`fa`,polish:`pl`,portuguese:`pt`,romanian:`ro`,russian:`ru`,serbian:`sr`,slovak:`sk`,slovenian:`sl`,spanish:`es`,swahili:`sw`,swedish:`sv`,tagalog:`tl`,tamil:`ta`,thai:`th`,turkish:`tr`,ukrainian:`uk`,urdu:`ur`,vietnamese:`vi`,welsh:`cy`},yi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await V({provider:`openai`,providerOptions:n,schema:_i}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([kt(e)]);a.append(`model`,this.modelId);let s=it(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t,n,r,i,a,o,s,c;let l=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{formData:u,warnings:d}=await this.getArgs(e),{value:f,responseHeaders:p,rawValue:m}=await St({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),formData:u,failedResponseHandler:$,successfulResponseHandler:q(bi),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=f.language!=null&&f.language in vi?vi[f.language]:void 0;return{text:f.text,segments:(s=(o=(i=f.segments)?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end})))??(a=f.words)?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end})))??[],language:h,durationInSeconds:(c=f.duration)??void 0,warnings:d,response:{timestamp:l,modelId:this.modelId,headers:p,body:m}}}},bi=i.object({text:i.string(),language:i.string().nullish(),duration:i.number().nullish(),words:i.array(i.object({word:i.string(),start:i.number(),end:i.number()})).nullish(),segments:i.array(i.object({id:i.number(),seek:i.number(),start:i.number(),end:i.number(),text:i.string(),tokens:i.array(i.number()),temperature:i.number(),avg_logprob:i.number(),compression_ratio:i.number(),no_speech_prob:i.number()})).nullish()});function xi(e={}){var t,n;let r=(t=jt(e.baseURL))??`https://api.openai.com/v1`,i=(n=e.name)??`openai`,a=()=>({Authorization:`Bearer ${rt({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers}),o=t=>new rr(t,{provider:`${i}.chat`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),s=t=>new gr(t,{provider:`${i}.completion`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),c=t=>new xr(t,{provider:`${i}.embedding`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),l=t=>new Tr(t,{provider:`${i}.image`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),u=t=>new yi(t,{provider:`${i}.transcription`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),d=t=>new gi(t,{provider:`${i}.speech`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),f=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return p(e)},p=t=>new Hr(t,{provider:`${i}.responses`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch,fileIdPrefixes:[`file-`]}),m=function(e){return f(e)};return m.languageModel=f,m.chat=o,m.completion=s,m.responses=p,m.embedding=c,m.textEmbedding=c,m.textEmbeddingModel=c,m.image=l,m.imageModel=l,m.transcription=u,m.transcriptionModel=u,m.speech=d,m.speechModel=d,m.tools=Nr,m}xi(),i.object({user:i.string().optional(),reasoningEffort:i.string().optional()});var Si=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),Ci={errorSchema:Si,errorToMessage:e=>e.error.message},wi=i.object({prompt_tokens:i.number().nullish(),completion_tokens:i.number().nullish(),total_tokens:i.number().nullish(),prompt_tokens_details:i.object({cached_tokens:i.number().nullish()}).nullish(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish(),accepted_prediction_tokens:i.number().nullish(),rejected_prediction_tokens:i.number().nullish()}).nullish()}).nullish();i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`).nullish(),content:i.string().nullish(),reasoning_content:i.string().nullish(),reasoning:i.string().nullish(),tool_calls:i.array(i.object({id:i.string().nullish(),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish()})),usage:wi}),i.object({echo:i.boolean().optional(),logitBias:i.record(i.string(),i.number()).optional(),suffix:i.string().optional(),user:i.string().optional()});var Ti=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number()});i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({text:i.string(),finish_reason:i.string()})),usage:Ti.nullish()}),i.object({dimensions:i.number().optional(),user:i.string().optional()}),i.object({data:i.array(i.object({embedding:i.array(i.number())})),usage:i.object({prompt_tokens:i.number()}).nullish(),providerMetadata:i.record(i.string(),i.record(i.string(),i.any())).optional()});var Ei=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d,f;let p=[];r!=null&&p.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&p.push({type:`unsupported-setting`,setting:`seed`});let m=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:h,responseHeaders:g}=await H({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:R(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},response_format:`b64_json`},failedResponseHandler:G((f=this.config.errorStructure)??Ci),successfulResponseHandler:q(Di),abortSignal:s,fetch:this.config.fetch});return{images:h.data.map(e=>e.b64_json),warnings:p,response:{timestamp:m,modelId:this.modelId,headers:g}}}},Di=i.object({data:i.array(i.object({b64_json:i.string()}))});function Oi(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${J(e.data)}`}}}else throw new L({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function ki({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function Ai(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var ji=i.object({type:i.literal(`web`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),allowedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Mi=i.object({type:i.literal(`x`),xHandles:i.array(i.string()).optional()}),Ni=i.object({type:i.literal(`news`),country:i.string().length(2).optional(),excludedWebsites:i.array(i.string()).max(5).optional(),safeSearch:i.boolean().optional()}),Pi=i.object({type:i.literal(`rss`),links:i.array(i.string().url()).max(1)}),Fi=i.discriminatedUnion(`type`,[ji,Mi,Ni,Pi]),Ii=i.object({reasoningEffort:i.enum([`low`,`high`]).optional(),searchParameters:i.object({mode:i.enum([`off`,`auto`,`on`]),returnCitations:i.boolean().optional(),fromDate:i.string().optional(),toDate:i.string().optional(),maxSearchResults:i.number().min(1).max(50).optional(),sources:i.array(Fi).optional()}).optional()}),Li=i.object({error:i.object({message:i.string(),type:i.string().nullish(),param:i.any().nullish(),code:i.union([i.string(),i.number()]).nullish()})}),Ri=G({errorSchema:Li,errorToMessage:e=>e.error.message});function zi({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:{let e=i;throw new L({functionality:`tool choice type: ${e}`})}}}var Bi=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){var p,m,h;let g=[],_=(p=await V({provider:`xai`,providerOptions:u,schema:Ii}))??{};i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&g.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:v,warnings:y}=Oi(e);g.push(...y);let{tools:b,toolChoice:x,toolWarnings:S}=zi({tools:d,toolChoice:f});g.push(...S);let C={model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:_.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:(m=l.name)??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:_.searchParameters?{mode:_.searchParameters.mode,return_citations:_.searchParameters.returnCitations,from_date:_.searchParameters.fromDate,to_date:_.searchParameters.toDate,max_search_results:_.searchParameters.maxSearchResults,sources:(h=_.searchParameters.sources)?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{x_handles:e.xHandles},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:v,tools:b,tool_choice:x};return{args:C,warnings:g}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await H({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:Ri,successfulResponseHandler:q(Hi),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u=[];if(l.message.content!=null&&l.message.content.length>0){let e=l.message.content,t=i.messages[i.messages.length-1];t?.role===`assistant`&&e===t.content&&(e=``),e.length>0&&u.push({type:`text`,text:e})}if(l.message.reasoning_content!=null&&l.message.reasoning_content.length>0&&u.push({type:`reasoning`,text:l.message.reasoning_content}),l.message.tool_calls!=null)for(let e of l.message.tool_calls)u.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(s.citations!=null)for(let e of s.citations)u.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:u,finishReason:Ai(l.finish_reason),usage:{inputTokens:s.usage.prompt_tokens,outputTokens:s.usage.completion_tokens,totalTokens:s.usage.total_tokens,reasoningTokens:(r=(n=s.usage.completion_tokens_details)?.reasoning_tokens)??void 0},request:{body:i},response:{...ki(s),headers:o,body:c},warnings:a}}async doStream(e){var t;let{args:n,warnings:r}=await this.getArgs(e),i={...n,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:a,value:o}=await H({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:Ri,successfulResponseHandler:K(Ui),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l={},u={},d=this;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(t,n){var r,a;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let o=t.value;if(n.enqueue({type:`response-metadata`,...ki(o)}),o.citations!=null)for(let e of o.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});o.usage!=null&&(c.inputTokens=o.usage.prompt_tokens,c.outputTokens=o.usage.completion_tokens,c.totalTokens=o.usage.total_tokens,c.reasoningTokens=(a=(r=o.usage.completion_tokens_details)?.reasoning_tokens)??void 0);let f=o.choices[0];if(f?.finish_reason!=null&&(s=Ai(f.finish_reason)),f?.delta==null)return;let p=f.delta,m=f.index;if(p.content!=null&&p.content.length>0){let e=p.content,t=i.messages[i.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let r=`text-${o.id||m}`;l[r]??(l[r]={type:`text`},n.enqueue({type:`text-start`,id:r})),n.enqueue({type:`text-delta`,id:r,delta:e})}if(p.reasoning_content!=null&&p.reasoning_content.length>0){let e=`reasoning-${o.id||m}`;if(u[e]===p.reasoning_content)return;u[e]=p.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:p.reasoning_content})}if(p.tool_calls!=null)for(let e of p.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:s,usage:c})}})),request:{body:i},response:{headers:a}}}},Vi=i.object({prompt_tokens:i.number(),completion_tokens:i.number(),total_tokens:i.number(),completion_tokens_details:i.object({reasoning_tokens:i.number().nullish()}).nullish()}),Hi=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({message:i.object({role:i.literal(`assistant`),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),index:i.number(),finish_reason:i.string().nullish()})),object:i.literal(`chat.completion`),usage:Vi,citations:i.array(i.string().url()).nullish()}),Ui=i.object({id:i.string().nullish(),created:i.number().nullish(),model:i.string().nullish(),choices:i.array(i.object({delta:i.object({role:i.enum([`assistant`]).optional(),content:i.string().nullish(),reasoning_content:i.string().nullish(),tool_calls:i.array(i.object({id:i.string(),type:i.literal(`function`),function:i.object({name:i.string(),arguments:i.string()})})).nullish()}),finish_reason:i.string().nullish(),index:i.number()})),usage:Vi.nullish(),citations:i.array(i.string().url()).nullish()}),Wi={errorSchema:Li,errorToMessage:e=>e.error.message};function Gi(e={}){var t;let n=jt((t=e.baseURL)??`https://api.x.ai/v1`),r=()=>({Authorization:`Bearer ${rt({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers}),i=t=>new Bi(t,{provider:`xai.chat`,baseURL:n,headers:r,generateId:B,fetch:e.fetch}),a=t=>new Ei(t,{provider:`xai.image`,url:({path:e})=>`${n}${e}`,headers:r,fetch:e.fetch,errorStructure:Wi}),o=e=>i(e);return o.languageModel=i,o.chat=i,o.textEmbeddingModel=e=>{throw new Me({modelId:e,modelType:`textEmbeddingModel`})},o.imageModel=a,o.image=a,o}Gi();function Ki(t){if(!t.body)throw Error(`Response body is required`);let r=t.headers.get(e);if(!r||r===`ui-message`)return t.body.pipeThrough(new TextDecoderStream).pipeThrough(new Ze).pipeThrough(new TransformStream({async transform(e,t){if(e.data!==`[DONE]`)try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));let i=e=>n({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(r){case`openai-chat`:return i(xi({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`openai-response`:return i(xi({apiKey:`ignored`,fetch:(e,n)=>t}).responses(`fake-model`));case`anthropic`:return i(dn({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`google`:return i(Un({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`xai`:return i(Gi({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${r}`)}}const qi=`BLINK_API_URL`;var Ji=class{baseUrl;client;constructor(e){this.client=m(e.baseUrl),this.baseUrl=e.baseUrl}async chat(e,t){let n=await this.client._agent.chat.$post({json:e},{headers:t?.headers,init:{signal:t?.signal}});return n.ok||await this.handleError(n),Ki(n)}async capabilities(){let e=await this.client._agent.capabilities.$get();return e.ok||await this.handleError(e),e.json()}async ui(e,t){let n=await this.client._agent.ui.$get({query:e},{init:{signal:t?.signal}});return(!n.ok||n.status!==200)&&await this.handleError(n),n.json()}async health(){let e=await this.client._agent.health.$get();e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed (${e.status}): ${t}`)}throw Error(`Failed (${e.status}): ${e.statusText}`)}};const Yi=e=>{let t=new Ze;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),Xi(t.readable)},Xi=e=>{let t=e.pipeThrough(new TransformStream({async transform(e,t){try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));return t};export{qi as APIServerURLEnvironmentVariable,Ji as Client,e as StreamResponseFormatHeader,Yi as streamSSE};