blink 0.1.73 → 0.1.75

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 (43) hide show
  1. package/dist/browser/agent/client/index.cjs +2 -2
  2. package/dist/browser/agent/client/index.d.cts +3 -3
  3. package/dist/browser/agent/client/index.d.ts +3 -3
  4. package/dist/browser/agent/client/index.js +2 -2
  5. package/dist/browser/agent/index.browser.d.cts +2 -2
  6. package/dist/browser/agent/index.browser.d.ts +2 -2
  7. package/dist/browser/{chat-B5eFQu26.d.cts → chat-B3FNVJ5h.d.cts} +1 -1
  8. package/dist/browser/{chat-BN7SYTWY.d.ts → chat-DDcZEZzi.d.ts} +1 -1
  9. package/dist/browser/control/index.d.cts +1 -1
  10. package/dist/browser/control/index.d.ts +1 -1
  11. package/dist/browser/{index-B5faDAC2.d.ts → index-B5ywu36Q.d.ts} +2 -2
  12. package/dist/browser/{index-C-GJWB97.d.cts → index-CiKnRuyK.d.cts} +2 -2
  13. package/dist/browser/{index.browser-CnGab8Yp.d.cts → index.browser-Bivj_NTA.d.cts} +1 -1
  14. package/dist/browser/{index.browser-BUMCZUeQ.d.ts → index.browser-BzfJXoff.d.ts} +1 -1
  15. package/dist/browser/{index.node-mda_IL6K.cjs → index.node-BrnIuz4k.cjs} +1 -1
  16. package/dist/browser/{index.node-DJv-HF6j.js → index.node-CbQFCWTr.js} +1 -1
  17. package/dist/browser/react/index.cjs +1 -1
  18. package/dist/browser/react/index.d.cts +3 -3
  19. package/dist/browser/react/index.d.ts +3 -3
  20. package/dist/browser/react/index.js +1 -1
  21. package/dist/cli/auth-DaiN71bn.js +30 -0
  22. package/dist/cli/{chat-CvTLq5E0.js → chat-DX7ZIS2D.js} +1 -1
  23. package/dist/cli/connect-BccxYFj9.js +1 -0
  24. package/dist/cli/{connect-Cxa-uIEb.js → connect-jR1Grkvo.js} +3 -3
  25. package/dist/cli/{dev-C5lfmoC7.js → dev-CrtfdJB5.js} +73 -67
  26. package/dist/cli/{util-D3Iuwmav.js → ignore-BSx5uoz9.js} +1 -1
  27. package/dist/cli/index.js +4 -4
  28. package/dist/cli/{init-DRNYG3Kd.js → init-B6vWokUI.js} +1 -1
  29. package/dist/cli/login-BbFxbs7E.js +1 -0
  30. package/dist/node/agent/index.node.cjs +1 -1
  31. package/dist/node/agent/index.node.d.cts +1 -1
  32. package/dist/node/agent/index.node.d.ts +1 -1
  33. package/dist/node/agent/index.node.js +1 -1
  34. package/dist/node/{index.node-BBpGHHxe.d.ts → index.node-B1oQwv9K.d.cts} +3 -3
  35. package/dist/node/{index.node-iaeCqAo6.d.cts → index.node-B502ef3C.d.ts} +3 -3
  36. package/dist/node/test.d.cts +1 -1
  37. package/dist/node/test.d.ts +1 -1
  38. package/package.json +3 -2
  39. package/dist/cli/auth-Dw-wJ1IM.js +0 -30
  40. package/dist/cli/connect-BHyGYU8L.js +0 -1
  41. package/dist/cli/login-KHDcJ0iZ.js +0 -1
  42. /package/dist/cli/{dist-CN69Y-yA.js → dist-NqrnQGst.js} +0 -0
  43. /package/dist/cli/{open-Cr8lEmcs.js → open-CSMQaj0E.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{StreamResponseFormatHeader as e}from"../../index.browser-0KfCzcI7.js";import{serialize as t}from"../../validator-DOrmtI_l.js";import"../../index.node-DJv-HF6j.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}
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
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
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(`
4
4
  `,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]===`
@@ -18,4 +18,4 @@ ${e}
18
18
 
19
19
  `;break}case`tool`:throw new I({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 to send messages (${e.status}): ${t}`)}throw Error(`Failed to send messages (${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: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};
@@ -1,3 +1,3 @@
1
- import { Chat, ChatBehavior, ChatContext, ChatEvent, ChatHandler, ChatResponse, Context, EnsuredChat, MessageOptions, StoreContext } from "../chat-B5eFQu26.cjs";
2
- import { ContextFromTools, ExtractUIOptions, StreamResponseFormat, StreamResponseFormatHeader, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, UIEvent, UIHandler, UIOptionSelect, UIOptionSelectValue, UIOptions, UIOptionsSchema, WithUIOptions, isToolApprovalOutput, lastUIOptions, toolWithApproval, tools, withResponseFormat } from "../index.browser-CnGab8Yp.cjs";
1
+ import { Chat, ChatBehavior, ChatContext, ChatEvent, ChatHandler, ChatResponse, Context, EnsuredChat, MessageOptions, StoreContext } from "../chat-B3FNVJ5h.cjs";
2
+ import { ContextFromTools, ExtractUIOptions, StreamResponseFormat, StreamResponseFormatHeader, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, UIEvent, UIHandler, UIOptionSelect, UIOptionSelectValue, UIOptions, UIOptionsSchema, WithUIOptions, isToolApprovalOutput, lastUIOptions, toolWithApproval, tools, withResponseFormat } from "../index.browser-Bivj_NTA.cjs";
3
3
  export { Chat, ChatBehavior, ChatContext, ChatEvent, ChatHandler, ChatResponse, Context, ContextFromTools, EnsuredChat, ExtractUIOptions, MessageOptions, StoreContext, StreamResponseFormat, StreamResponseFormatHeader, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, UIEvent, UIHandler, UIOptionSelect, UIOptionSelectValue, UIOptions, UIOptionsSchema, WithUIOptions, isToolApprovalOutput, lastUIOptions, toolWithApproval, tools, withResponseFormat };
@@ -1,3 +1,3 @@
1
- import { Chat, ChatBehavior, ChatContext, ChatEvent, ChatHandler, ChatResponse, Context, EnsuredChat, MessageOptions, StoreContext } from "../chat-BN7SYTWY.js";
2
- import { ContextFromTools, ExtractUIOptions, StreamResponseFormat, StreamResponseFormatHeader, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, UIEvent, UIHandler, UIOptionSelect, UIOptionSelectValue, UIOptions, UIOptionsSchema, WithUIOptions, isToolApprovalOutput, lastUIOptions, toolWithApproval, tools, withResponseFormat } from "../index.browser-BUMCZUeQ.js";
1
+ import { Chat, ChatBehavior, ChatContext, ChatEvent, ChatHandler, ChatResponse, Context, EnsuredChat, MessageOptions, StoreContext } from "../chat-DDcZEZzi.js";
2
+ import { ContextFromTools, ExtractUIOptions, StreamResponseFormat, StreamResponseFormatHeader, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, UIEvent, UIHandler, UIOptionSelect, UIOptionSelectValue, UIOptions, UIOptionsSchema, WithUIOptions, isToolApprovalOutput, lastUIOptions, toolWithApproval, tools, withResponseFormat } from "../index.browser-BzfJXoff.js";
3
3
  export { Chat, ChatBehavior, ChatContext, ChatEvent, ChatHandler, ChatResponse, Context, ContextFromTools, EnsuredChat, ExtractUIOptions, MessageOptions, StoreContext, StreamResponseFormat, StreamResponseFormatHeader, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, UIEvent, UIHandler, UIOptionSelect, UIOptionSelectValue, UIOptions, UIOptionsSchema, WithUIOptions, isToolApprovalOutput, lastUIOptions, toolWithApproval, tools, withResponseFormat };
@@ -116,7 +116,7 @@ interface MessageOptions {
116
116
  readonly createdAt?: Date;
117
117
  }
118
118
  interface ChatEvent<MESSAGE extends UIMessage> {
119
- readonly key: string;
119
+ readonly chat: Chat;
120
120
  readonly messages: MESSAGE[];
121
121
  readonly abortSignal?: AbortSignal;
122
122
  readonly context: Context;
@@ -116,7 +116,7 @@ interface MessageOptions {
116
116
  readonly createdAt?: Date;
117
117
  }
118
118
  interface ChatEvent<MESSAGE extends UIMessage> {
119
- readonly key: string;
119
+ readonly chat: Chat;
120
120
  readonly messages: MESSAGE[];
121
121
  readonly abortSignal?: AbortSignal;
122
122
  readonly context: Context;
@@ -1,4 +1,4 @@
1
- import { Context, MessageOptions } from "../chat-B5eFQu26.cjs";
1
+ import { Context, MessageOptions } from "../chat-B3FNVJ5h.cjs";
2
2
  import { UIMessage } from "ai";
3
3
  import * as hono_utils_http_status0 from "hono/utils/http-status";
4
4
  import * as hono_types0 from "hono/types";
@@ -1,4 +1,4 @@
1
- import { Context, MessageOptions } from "../chat-BN7SYTWY.js";
1
+ import { Context, MessageOptions } from "../chat-DDcZEZzi.js";
2
2
  import { UIMessage } from "ai";
3
3
  import * as hono_utils_http_status0 from "hono/utils/http-status";
4
4
  import * as hono_types0 from "hono/types";
@@ -1,5 +1,5 @@
1
- import { Chat } from "./chat-BN7SYTWY.js";
2
- import { UIOptions, UIOptionsSchema } from "./index.browser-BUMCZUeQ.js";
1
+ import { Chat } from "./chat-DDcZEZzi.js";
2
+ import { UIOptions, UIOptionsSchema } from "./index.browser-BzfJXoff.js";
3
3
  import { UIMessage, UIMessageChunk } from "ai";
4
4
 
5
5
  //#region src/agent/client/index.d.ts
@@ -1,5 +1,5 @@
1
- import { Chat } from "./chat-B5eFQu26.cjs";
2
- import { UIOptions, UIOptionsSchema } from "./index.browser-CnGab8Yp.cjs";
1
+ import { Chat } from "./chat-B3FNVJ5h.cjs";
2
+ import { UIOptions, UIOptionsSchema } from "./index.browser-Bivj_NTA.cjs";
3
3
  import { UIMessage, UIMessageChunk } from "ai";
4
4
 
5
5
  //#region src/agent/client/index.d.ts
@@ -1,4 +1,4 @@
1
- import { Promisable } from "./chat-B5eFQu26.cjs";
1
+ import { Promisable } from "./chat-B3FNVJ5h.cjs";
2
2
  import { InferToolInput, InferToolOutput, Tool, ToolSet, UIMessage } from "ai";
3
3
 
4
4
  //#region src/agent/ui.d.ts
@@ -1,4 +1,4 @@
1
- import { Promisable } from "./chat-BN7SYTWY.js";
1
+ import { Promisable } from "./chat-DDcZEZzi.js";
2
2
  import { InferToolInput, InferToolOutput, Tool, ToolSet, UIMessage } from "ai";
3
3
 
4
4
  //#region src/agent/ui.d.ts
@@ -1,3 +1,3 @@
1
- const e=require(`./index.browser-09e-NXpn.cjs`),t=require(`./validator-CvSEfFnI.cjs`),n=new t.Hono().post(`/chat`,t.validator(`json`,e=>({messages:e.messages,chat:e.chat})),async t=>{let n=t.env.listeners.chat,r=t.req.valid(`json`);for(let a of n){let n;try{n=await a({key:r.chat.key,messages:r.messages,abortSignal:t.req.raw.signal,context:t.env.context})}catch(t){if(t instanceof e.CustomChatResponseError)n=t.response;else throw t}if(!n)continue;if(n instanceof Response)return n;let o;if(n instanceof ReadableStream)o=n;else if(typeof n==`object`&&`toUIMessageStream`in n)o=n.toUIMessageStream({messageMetadata:({part:e})=>{switch(e.type){case`finish`:return{totalUsage:e.totalUsage};case`finish-step`:return{usage:e.usage,model:e.response.modelId}}}});else throw Error(`Invalid chat handler result! Must be a Response, ReadableStream, or toUIMessageStream function.`);return new Response(o.pipeThrough(new TransformStream({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}\n\n`)},flush(e){e.enqueue(`data: [DONE]
1
+ const e=require(`./index.browser-09e-NXpn.cjs`),t=require(`./validator-CvSEfFnI.cjs`),n=new t.Hono().post(`/chat`,t.validator(`json`,e=>({messages:e.messages,chat:e.chat})),async t=>{let n=t.env.listeners.chat,r=t.req.valid(`json`);for(let a of n){let n;try{n=await a({chat:r.chat,messages:r.messages,abortSignal:t.req.raw.signal,context:t.env.context})}catch(t){if(t instanceof e.CustomChatResponseError)n=t.response;else throw t}if(!n)continue;if(n instanceof Response)return n;let o;if(n instanceof ReadableStream)o=n;else if(typeof n==`object`&&`toUIMessageStream`in n)o=n.toUIMessageStream({messageMetadata:({part:e})=>{switch(e.type){case`finish`:return{totalUsage:e.totalUsage};case`finish-step`:return{usage:e.usage,model:e.response.modelId}}}});else throw Error(`Invalid chat handler result! Must be a Response, ReadableStream, or toUIMessageStream function.`);return new Response(o.pipeThrough(new TransformStream({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}\n\n`)},flush(e){e.enqueue(`data: [DONE]
2
2
 
3
3
  `)}})).pipeThrough(new TextEncoderStream),{headers:i})}return t.json({error:`No chat handlers found.`},404)}).get(`/capabilities`,async e=>{let t=e.env.listeners,n={ui:t.ui.length>0,chat:t.chat.length>0,request:t.request.length>0,error:t.error.length>0};return e.json(n,200)}).get(`/health`,async e=>e.body(`OK`,200)).get(`/ui`,async e=>{let t=e.req.query(`selected_options`),n;if(t)try{n=JSON.parse(t)}catch{return e.json({error:`Invalid selected_options query parameter!`},400)}let r=e.env.listeners.ui;for(let t of r){let r=await t({selectedOptions:n});if(!r)continue;return e.json(r,200)}return e.json({error:`No UI listener returned a response`},404)}),r=new t.Hono().route(`/_agent`,n).all(`*`,async e=>{let t=e.env.listeners.request;for(let n of t){let t=await n(e.req.raw,e.env.context);if(t)return t}return e.json({error:`No request handlers found.`},404)}),i={"content-type":`text/event-stream`,"cache-control":`no-cache, no-transform`,connection:`keep-alive`,"x-accel-buffering":`no`};
@@ -1,3 +1,3 @@
1
- import{CustomChatResponseError as e}from"./index.browser-0KfCzcI7.js";import{Hono as t,validator as n}from"./validator-DOrmtI_l.js";import"http";const r=new t().post(`/chat`,n(`json`,e=>({messages:e.messages,chat:e.chat})),async t=>{let n=t.env.listeners.chat,r=t.req.valid(`json`);for(let a of n){let n;try{n=await a({key:r.chat.key,messages:r.messages,abortSignal:t.req.raw.signal,context:t.env.context})}catch(t){if(t instanceof e)n=t.response;else throw t}if(!n)continue;if(n instanceof Response)return n;let o;if(n instanceof ReadableStream)o=n;else if(typeof n==`object`&&`toUIMessageStream`in n)o=n.toUIMessageStream({messageMetadata:({part:e})=>{switch(e.type){case`finish`:return{totalUsage:e.totalUsage};case`finish-step`:return{usage:e.usage,model:e.response.modelId}}}});else throw Error(`Invalid chat handler result! Must be a Response, ReadableStream, or toUIMessageStream function.`);return new Response(o.pipeThrough(new TransformStream({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}\n\n`)},flush(e){e.enqueue(`data: [DONE]
1
+ import{CustomChatResponseError as e}from"./index.browser-0KfCzcI7.js";import{Hono as t,validator as n}from"./validator-DOrmtI_l.js";import"http";const r=new t().post(`/chat`,n(`json`,e=>({messages:e.messages,chat:e.chat})),async t=>{let n=t.env.listeners.chat,r=t.req.valid(`json`);for(let a of n){let n;try{n=await a({chat:r.chat,messages:r.messages,abortSignal:t.req.raw.signal,context:t.env.context})}catch(t){if(t instanceof e)n=t.response;else throw t}if(!n)continue;if(n instanceof Response)return n;let o;if(n instanceof ReadableStream)o=n;else if(typeof n==`object`&&`toUIMessageStream`in n)o=n.toUIMessageStream({messageMetadata:({part:e})=>{switch(e.type){case`finish`:return{totalUsage:e.totalUsage};case`finish-step`:return{usage:e.usage,model:e.response.modelId}}}});else throw Error(`Invalid chat handler result! Must be a Response, ReadableStream, or toUIMessageStream function.`);return new Response(o.pipeThrough(new TransformStream({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}\n\n`)},flush(e){e.enqueue(`data: [DONE]
2
2
 
3
3
  `)}})).pipeThrough(new TextEncoderStream),{headers:i})}return t.json({error:`No chat handlers found.`},404)}).get(`/capabilities`,async e=>{let t=e.env.listeners,n={ui:t.ui.length>0,chat:t.chat.length>0,request:t.request.length>0,error:t.error.length>0};return e.json(n,200)}).get(`/health`,async e=>e.body(`OK`,200)).get(`/ui`,async e=>{let t=e.req.query(`selected_options`),n;if(t)try{n=JSON.parse(t)}catch{return e.json({error:`Invalid selected_options query parameter!`},400)}let r=e.env.listeners.ui;for(let t of r){let r=await t({selectedOptions:n});if(!r)continue;return e.json(r,200)}return e.json({error:`No UI listener returned a response`},404)});new t().route(`/_agent`,r).all(`*`,async e=>{let t=e.env.listeners.request;for(let n of t){let t=await n(e.req.raw,e.env.context);if(t)return t}return e.json({error:`No request handlers found.`},404)});const i={"content-type":`text/event-stream`,"cache-control":`no-cache, no-transform`,connection:`keep-alive`,"x-accel-buffering":`no`};
@@ -1 +1 @@
1
- const e=require(`../index.browser-09e-NXpn.cjs`);require(`../validator-CvSEfFnI.cjs`),require(`../index.node-mda_IL6K.cjs`);let t=require(`react`);t=e.__toESM(t);function n({agent:n,capabilities:r,messages:i}){let[a,o]=(0,t.useState)(void 0),[s,c]=(0,t.useState)(!0),[l,u]=(0,t.useState)(void 0),d=(0,t.useRef)(l);(0,t.useEffect)(()=>{d.current=l},[l]);let[f,p]=(0,t.useState)(()=>e.lastUIOptions(i));(0,t.useEffect)(()=>{p(t=>{let n=e.lastUIOptions(i);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[i]);let[m,h]=(0,t.useState)(void 0),g=(0,t.useCallback)((e,t)=>{if(!d.current)return!1;let n=d.current[e];return n?n.values.some(e=>e.id===t):!1},[]),_=(0,t.useCallback)(e=>{h(t=>{let n={...f,...t,...e};for(let[e,t]of Object.entries(n))g(e,t)||delete n[e];for(let[e,t]of Object.entries(d.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[f,g]);(0,t.useEffect)(()=>{if(!f&&!l){h(void 0);return}_()},[f,l,_]);let v=(0,t.useRef)(void 0),y=(0,t.useRef)(void 0);(0,t.useEffect)(()=>{n!==y.current&&(y.current=n,u(void 0),h(void 0),o(void 0),c(!0),v.current=void 0)},[n]),(0,t.useEffect)(()=>{if(r&&!r.ui||!n){u(void 0),h(void 0),o(void 0),v.current=void 0;return}let e=m?JSON.stringify(m):``;if(v.current===e){c(!1),o(void 0);return}let t=new AbortController;return c(!0),o(void 0),n.ui(m?{selectedOptions:m}:{},{signal:t.signal}).then(n=>{t.signal.aborted||(u(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),v.current=e)}).catch(e=>{t.signal.aborted||o(e instanceof Error?e:Error(String(e)))}).finally(()=>{c(!1)}),()=>{t.abort()}},[n,r,m]);let b=(0,t.useCallback)((e,t)=>{_({[e]:t})},[_]);return{schema:l,options:m,setOption:b,loading:s,error:a}}exports.useOptions=n;
1
+ const e=require(`../index.browser-09e-NXpn.cjs`);require(`../validator-CvSEfFnI.cjs`),require(`../index.node-BrnIuz4k.cjs`);let t=require(`react`);t=e.__toESM(t);function n({agent:n,capabilities:r,messages:i}){let[a,o]=(0,t.useState)(void 0),[s,c]=(0,t.useState)(!0),[l,u]=(0,t.useState)(void 0),d=(0,t.useRef)(l);(0,t.useEffect)(()=>{d.current=l},[l]);let[f,p]=(0,t.useState)(()=>e.lastUIOptions(i));(0,t.useEffect)(()=>{p(t=>{let n=e.lastUIOptions(i);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[i]);let[m,h]=(0,t.useState)(void 0),g=(0,t.useCallback)((e,t)=>{if(!d.current)return!1;let n=d.current[e];return n?n.values.some(e=>e.id===t):!1},[]),_=(0,t.useCallback)(e=>{h(t=>{let n={...f,...t,...e};for(let[e,t]of Object.entries(n))g(e,t)||delete n[e];for(let[e,t]of Object.entries(d.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[f,g]);(0,t.useEffect)(()=>{if(!f&&!l){h(void 0);return}_()},[f,l,_]);let v=(0,t.useRef)(void 0),y=(0,t.useRef)(void 0);(0,t.useEffect)(()=>{n!==y.current&&(y.current=n,u(void 0),h(void 0),o(void 0),c(!0),v.current=void 0)},[n]),(0,t.useEffect)(()=>{if(r&&!r.ui||!n){u(void 0),h(void 0),o(void 0),v.current=void 0;return}let e=m?JSON.stringify(m):``;if(v.current===e){c(!1),o(void 0);return}let t=new AbortController;return c(!0),o(void 0),n.ui(m?{selectedOptions:m}:{},{signal:t.signal}).then(n=>{t.signal.aborted||(u(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),v.current=e)}).catch(e=>{t.signal.aborted||o(e instanceof Error?e:Error(String(e)))}).finally(()=>{c(!1)}),()=>{t.abort()}},[n,r,m]);let b=(0,t.useCallback)((e,t)=>{_({[e]:t})},[_]);return{schema:l,options:m,setOption:b,loading:s,error:a}}exports.useOptions=n;
@@ -1,6 +1,6 @@
1
- import "../chat-B5eFQu26.cjs";
2
- import { UIOptions, UIOptionsSchema } from "../index.browser-CnGab8Yp.cjs";
3
- import { CapabilitiesResponse, Client } from "../index-C-GJWB97.cjs";
1
+ import "../chat-B3FNVJ5h.cjs";
2
+ import { UIOptions, UIOptionsSchema } from "../index.browser-Bivj_NTA.cjs";
3
+ import { CapabilitiesResponse, Client } from "../index-CiKnRuyK.cjs";
4
4
  import { UIMessage } from "ai";
5
5
 
6
6
  //#region src/react/use-options.d.ts
@@ -1,6 +1,6 @@
1
- import "../chat-BN7SYTWY.js";
2
- import { UIOptions, UIOptionsSchema } from "../index.browser-BUMCZUeQ.js";
3
- import { CapabilitiesResponse, Client } from "../index-B5faDAC2.js";
1
+ import "../chat-DDcZEZzi.js";
2
+ import { UIOptions, UIOptionsSchema } from "../index.browser-BzfJXoff.js";
3
+ import { CapabilitiesResponse, Client } from "../index-B5ywu36Q.js";
4
4
  import { UIMessage } from "ai";
5
5
 
6
6
  //#region src/react/use-options.d.ts
@@ -1 +1 @@
1
- import{lastUIOptions as e}from"../index.browser-0KfCzcI7.js";import"../validator-DOrmtI_l.js";import"../index.node-DJv-HF6j.js";import{useCallback as t,useEffect as n,useRef as r,useState as i}from"react";function a({agent:a,capabilities:o,messages:s}){let[c,l]=i(void 0),[u,d]=i(!0),[f,p]=i(void 0),m=r(f);n(()=>{m.current=f},[f]);let[h,g]=i(()=>e(s));n(()=>{g(t=>{let n=e(s);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[s]);let[_,v]=i(void 0),y=t((e,t)=>{if(!m.current)return!1;let n=m.current[e];return n?n.values.some(e=>e.id===t):!1},[]),b=t(e=>{v(t=>{let n={...h,...t,...e};for(let[e,t]of Object.entries(n))y(e,t)||delete n[e];for(let[e,t]of Object.entries(m.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[h,y]);n(()=>{if(!h&&!f){v(void 0);return}b()},[h,f,b]);let x=r(void 0),S=r(void 0);n(()=>{a!==S.current&&(S.current=a,p(void 0),v(void 0),l(void 0),d(!0),x.current=void 0)},[a]),n(()=>{if(o&&!o.ui||!a){p(void 0),v(void 0),l(void 0),x.current=void 0;return}let e=_?JSON.stringify(_):``;if(x.current===e){d(!1),l(void 0);return}let t=new AbortController;return d(!0),l(void 0),a.ui(_?{selectedOptions:_}:{},{signal:t.signal}).then(n=>{t.signal.aborted||(p(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),x.current=e)}).catch(e=>{t.signal.aborted||l(e instanceof Error?e:Error(String(e)))}).finally(()=>{d(!1)}),()=>{t.abort()}},[a,o,_]);let C=t((e,t)=>{b({[e]:t})},[b]);return{schema:f,options:_,setOption:C,loading:u,error:c}}export{a as useOptions};
1
+ import{lastUIOptions as e}from"../index.browser-0KfCzcI7.js";import"../validator-DOrmtI_l.js";import"../index.node-CbQFCWTr.js";import{useCallback as t,useEffect as n,useRef as r,useState as i}from"react";function a({agent:a,capabilities:o,messages:s}){let[c,l]=i(void 0),[u,d]=i(!0),[f,p]=i(void 0),m=r(f);n(()=>{m.current=f},[f]);let[h,g]=i(()=>e(s));n(()=>{g(t=>{let n=e(s);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[s]);let[_,v]=i(void 0),y=t((e,t)=>{if(!m.current)return!1;let n=m.current[e];return n?n.values.some(e=>e.id===t):!1},[]),b=t(e=>{v(t=>{let n={...h,...t,...e};for(let[e,t]of Object.entries(n))y(e,t)||delete n[e];for(let[e,t]of Object.entries(m.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[h,y]);n(()=>{if(!h&&!f){v(void 0);return}b()},[h,f,b]);let x=r(void 0),S=r(void 0);n(()=>{a!==S.current&&(S.current=a,p(void 0),v(void 0),l(void 0),d(!0),x.current=void 0)},[a]),n(()=>{if(o&&!o.ui||!a){p(void 0),v(void 0),l(void 0),x.current=void 0;return}let e=_?JSON.stringify(_):``;if(x.current===e){d(!1),l(void 0);return}let t=new AbortController;return d(!0),l(void 0),a.ui(_?{selectedOptions:_}:{},{signal:t.signal}).then(n=>{t.signal.aborted||(p(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),x.current=e)}).catch(e=>{t.signal.aborted||l(e instanceof Error?e:Error(String(e)))}).finally(()=>{d(!1)}),()=>{t.abort()}},[a,o,_]);let C=t((e,t)=>{b({[e]:t})},[b]);return{schema:f,options:_,setOption:C,loading:u,error:c}}export{a as useOptions};