blink 0.1.91 → 0.1.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/agent/client/index.cjs +1 -1
- package/dist/browser/agent/client/index.js +1 -1
- package/dist/cli/{auth-DpiyIVyb.js → auth-DjAEZyZZ.js} +18 -17
- package/dist/cli/{chat-COey7v82.js → chat-DOA1hSTm.js} +1 -1
- package/dist/cli/{dev-DPi0w-yZ.js → dev-Dc7M3oIW.js} +136 -89
- package/dist/cli/disk-store-Cbn2SJoD.js +21 -0
- package/dist/cli/index.js +6 -6
- package/dist/cli/{init-m-BdPD26.js → init-iySs9KUe.js} +1 -1
- package/dist/cli/login-DTwQcbaT.js +1 -0
- package/dist/cli/{main-DSwQ2okO.js → main-BdSSlDIs.js} +5 -5
- package/dist/cli/{open-ydKPp-AQ.js → open-DCYivxgo.js} +1 -1
- package/dist/cli/run-DPPy_-IS.js +1 -0
- package/dist/node/agent/index.node.cjs +1 -1
- package/dist/node/agent/index.node.d.cts +1 -1
- package/dist/node/agent/index.node.d.ts +1 -1
- package/dist/node/agent/index.node.js +1 -1
- package/dist/node/{index.node-9Ne6ij69.cjs → index.node-DlfrLUZ3.cjs} +4 -4
- package/dist/node/{index.node-B8u-uZx1.d.ts → index.node-GlFXJEaB.d.ts} +7 -17
- package/dist/node/{index.node-WvPABjgt.js → index.node-hG-farUz.js} +4 -4
- package/dist/node/{index.node-CFD7trD8.d.cts → index.node-ztcay7c1.d.cts} +7 -17
- package/dist/node/react/index.node.cjs +136 -98
- package/dist/node/react/index.node.d.cts +127 -11
- package/dist/node/react/index.node.d.ts +127 -11
- package/dist/node/react/index.node.js +93 -55
- package/package.json +1 -1
- package/dist/cli/login-CoiO1E6k.js +0 -1
- package/dist/cli/run-agent-BVF1YDCN.js +0 -21
- package/dist/cli/run-zYfUW2Ad.js +0 -1
- /package/dist/cli/{dist-wyfWuz5A.js → dist-BNbSDxaw.js} +0 -0
|
@@ -18,4 +18,4 @@ ${e}
|
|
|
18
18
|
|
|
19
19
|
`;break}case`tool`:throw new M({functionality:`tool messages`});default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return r+=`${n}:
|
|
20
20
|
`,{prompt:r,stopSequences:[`
|
|
21
|
-
${t}:`]}}function xr({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 Sr(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 Cr=r.z.object({echo:r.z.boolean().optional(),logitBias:r.z.record(r.z.string(),r.z.number()).optional(),suffix:r.z.string().optional(),user:r.z.string().optional(),logprobs:r.z.union([r.z.boolean(),r.z.number()]).optional()}),wr=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 R({provider:`openai`,providerOptions:f,schema:Cr}),...await R({provider:this.providerOptionsName,providerOptions:f,schema:Cr})};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}=br({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){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await z({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),body:t,failedResponseHandler:$,successfulResponseHandler:G(Er),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s={openai:{}};return o.logprobs!=null&&(s.openai.logprobs=o.logprobs),{content:[{type:`text`,text:o.text}],usage:{inputTokens:i.usage?.prompt_tokens,outputTokens:i.usage?.completion_tokens,totalTokens:i.usage?.total_tokens},finishReason:Sr(o.finish_reason),request:{body:t},response:{...xr(i),headers:r,body:a},providerMetadata:s,warnings:n}}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 z({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:W(Dr),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`,...xr(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=Sr(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}}}},Tr=r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()}),Er=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string(),logprobs:r.z.object({tokens:r.z.array(r.z.string()),token_logprobs:r.z.array(r.z.number()),top_logprobs:r.z.array(r.z.record(r.z.string(),r.z.number())).nullish()}).nullish()})),usage:Tr.nullish()}),Dr=r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string().nullish(),index:r.z.number(),logprobs:r.z.object({tokens:r.z.array(r.z.string()),token_logprobs:r.z.array(r.z.number()),top_logprobs:r.z.array(r.z.record(r.z.string(),r.z.number())).nullish()}).nullish()})),usage:Tr.nullish()}),ar]),Or=r.z.object({dimensions:r.z.number().optional(),user:r.z.string().optional()}),kr=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}){if(e.length>this.maxEmbeddingsPerCall)throw new Ke({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let i=await R({provider:`openai`,providerOptions:r,schema:Or})??{},{responseHeaders:a,value:o,rawValue:s}=await z({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:N(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:i.dimensions,user:i.user},failedResponseHandler:$,successfulResponseHandler:G(Ar),abortSignal:n,fetch:this.config.fetch});return{embeddings:o.data.map(e=>e.embedding),usage:o.usage?{tokens:o.usage.prompt_tokens}:void 0,response:{headers:a,body:s}}}},Ar=r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish()}),jr={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},Mr=new Set([`gpt-image-1`]),Nr=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){return jr[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;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await z({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:N(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},...Mr.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:G(Pr),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f},providerMetadata:{openai:{images:d.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},Pr=r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string(),revised_prompt:r.z.string().optional()}))}),Fr=r.z.object({code:r.z.string().nullish(),containerId:r.z.string()}),Ir=r.z.object({outputs:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`logs`),logs:r.z.string()}),r.z.object({type:r.z.literal(`image`),url:r.z.string()})])).nullish()}),Lr=r.z.object({container:r.z.union([r.z.string(),r.z.object({fileIds:r.z.array(r.z.string()).optional()})]).optional()}),Rr=V({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:Fr,outputSchema:Ir}),zr=(e={})=>Rr(e),Br=r.z.object({key:r.z.string(),type:r.z.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:r.z.union([r.z.string(),r.z.number(),r.z.boolean()])}),Vr=r.z.object({type:r.z.enum([`and`,`or`]),filters:r.z.array(r.z.union([Br,r.z.lazy(()=>Vr)]))}),Hr=r.z.object({vectorStoreIds:r.z.array(r.z.string()),maxNumResults:r.z.number().optional(),ranking:r.z.object({ranker:r.z.string().optional(),scoreThreshold:r.z.number().optional()}).optional(),filters:r.z.union([Br,Vr]).optional()}),Ur=r.z.object({queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({attributes:r.z.record(r.z.string(),r.z.unknown()),fileId:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullable()}),Wr=V({id:`openai.file_search`,name:`file_search`,inputSchema:r.z.object({}),outputSchema:Ur}),Gr=r.z.object({background:r.z.enum([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:r.z.enum([`low`,`high`]).optional(),inputImageMask:r.z.object({fileId:r.z.string().optional(),imageUrl:r.z.string().optional()}).optional(),model:r.z.string().optional(),moderation:r.z.enum([`auto`]).optional(),outputCompression:r.z.number().int().min(0).max(100).optional(),outputFormat:r.z.enum([`png`,`jpeg`,`webp`]).optional(),quality:r.z.enum([`auto`,`low`,`medium`,`high`]).optional(),size:r.z.enum([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict(),Kr=r.z.object({result:r.z.string()}),qr=V({id:`openai.image_generation`,name:`image_generation`,inputSchema:r.z.object({}),outputSchema:Kr}),Jr=(e={})=>qr(e),Yr=r.z.object({action:r.z.object({type:r.z.literal(`exec`),command:r.z.array(r.z.string()),timeoutMs:r.z.number().optional(),user:r.z.string().optional(),workingDirectory:r.z.string().optional(),env:r.z.record(r.z.string(),r.z.string()).optional()})}),Xr=r.z.object({output:r.z.string()}),Zr=V({id:`openai.local_shell`,name:`local_shell`,inputSchema:Yr,outputSchema:Xr}),Qr=r.z.object({filters:r.z.object({allowedDomains:r.z.array(r.z.string()).optional()}).optional(),searchContextSize:r.z.enum([`low`,`medium`,`high`]).optional(),userLocation:r.z.object({type:r.z.literal(`approximate`),country:r.z.string().optional(),city:r.z.string().optional(),region:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}),$r=B({id:`openai.web_search`,name:`web_search`,inputSchema:r.z.object({action:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`search`),query:r.z.string().nullish()}),r.z.object({type:r.z.literal(`open_page`),url:r.z.string()}),r.z.object({type:r.z.literal(`find`),url:r.z.string(),pattern:r.z.string()})]).nullish()})}),ei=(e={})=>$r(e),ti=r.z.object({searchContextSize:r.z.enum([`low`,`medium`,`high`]).optional(),userLocation:r.z.object({type:r.z.literal(`approximate`),country:r.z.string().optional(),city:r.z.string().optional(),region:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}),ni=B({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:r.z.object({action:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`search`),query:r.z.string().nullish()}),r.z.object({type:r.z.literal(`open_page`),url:r.z.string()}),r.z.object({type:r.z.literal(`find`),url:r.z.string(),pattern:r.z.string()})]).nullish()})}),ri={codeInterpreter:zr,fileSearch:Wr,imageGeneration:Jr,localShell:Zr,webSearchPreview:ni,webSearch:ei};function ii(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function ai({prompt:e,systemMessageMode:t,fileIdPrefixes:n,store:r,hasLocalShellTool:i=!1}){let a=[],o=[];for(let{role:s,content:c}of e)switch(s){case`system`:switch(t){case`system`:a.push({role:`system`,content:c});break;case`developer`:a.push({role:`developer`,content:c});break;case`remove`:o.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`:a.push({role:`user`,content:c.map((e,t)=>{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`&&ii(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${K(e.data)}`},detail: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`&&ii(e.data,n)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${K(e.data)}`}};else throw new M({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={},t={};for(let n of c)switch(n.type){case`text`:a.push({role:`assistant`,content:[{type:`output_text`,text:n.text}],id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-call`:if(t[n.toolCallId]=n,n.providerExecuted)break;if(i&&n.toolName===`local_shell`){let e=Yr.parse(n.input);a.push({type:`local_shell_call`,call_id:n.toolCallId,id:n.providerOptions?.openai?.itemId??void 0,action:{type:`exec`,command:e.action.command,timeout_ms:e.action.timeoutMs,user:e.action.user,working_directory:e.action.workingDirectory,env:e.action.env}});break}a.push({type:`function_call`,call_id:n.toolCallId,name:n.toolName,arguments:JSON.stringify(n.input),id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-result`:r?a.push({type:`item_reference`,id:n.toolCallId}):o.push({type:`other`,message:`Results for OpenAI tool ${n.toolName} are not sent to the API when store is false`});break;case`reasoning`:{let t=await R({provider:`openai`,providerOptions:n.providerOptions,schema:oi}),i=t?.itemId;if(i!=null){let s=e[i];if(r)s===void 0&&(a.push({type:`item_reference`,id:i}),e[i]={type:`reasoning`,id:i,summary:[]});else{let r=[];n.text.length>0?r.push({type:`summary_text`,text:n.text}):s!==void 0&&o.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(n)}.`}),s===void 0?(e[i]={type:`reasoning`,id:i,encrypted_content:t?.reasoningEncryptedContent,summary:r},a.push(e[i])):s.summary.push(...r)}}else o.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(n)}.`});break}}break}case`tool`:for(let e of c){let t=e.output;if(i&&e.toolName===`local_shell`&&t.type===`json`){a.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:Xr.parse(t.value).output});break}let 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}a.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=s;throw Error(`Unsupported role: ${e}`)}}return{input:a,warnings:o}}var oi=r.z.object({itemId:r.z.string().nullish(),reasoningEncryptedContent:r.z.string().nullish()});function si({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 ci({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=Hr.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,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case`openai.local_shell`:i.push({type:`local_shell`});break;case`openai.web_search_preview`:{let e=ti.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=Qr.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=Lr.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}case`openai.image_generation`:{let e=Gr.parse(t.args);i.push({type:`image_generation`,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,size:e.size,quality:e.quality,moderation:e.moderation,output_format:e.outputFormat,output_compression:e.outputCompression});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===`image_generation`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:throw new M({functionality:`tool choice type: ${a}`})}}var li=r.z.object({type:r.z.literal(`web_search_call`),id:r.z.string(),status:r.z.string(),action:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`search`),query:r.z.string().nullish()}),r.z.object({type:r.z.literal(`open_page`),url:r.z.string()}),r.z.object({type:r.z.literal(`find`),url:r.z.string(),pattern:r.z.string()})]).nullish()}),ui=r.z.object({type:r.z.literal(`file_search_call`),id:r.z.string(),queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({attributes:r.z.record(r.z.string(),r.z.unknown()),file_id:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullish()}),di=r.z.object({type:r.z.literal(`code_interpreter_call`),id:r.z.string(),code:r.z.string().nullable(),container_id:r.z.string(),outputs:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`logs`),logs:r.z.string()}),r.z.object({type:r.z.literal(`image`),url:r.z.string()})])).nullable()}),fi=r.z.object({type:r.z.literal(`local_shell_call`),id:r.z.string(),call_id:r.z.string(),action:r.z.object({type:r.z.literal(`exec`),command:r.z.array(r.z.string()),timeout_ms:r.z.number().optional(),user:r.z.string().optional(),working_directory:r.z.string().optional(),env:r.z.record(r.z.string(),r.z.string()).optional()})}),pi=r.z.object({type:r.z.literal(`image_generation_call`),id:r.z.string(),result:r.z.string()}),mi=20,hi=r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number(),top_logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number()}))})),gi=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}){let p=[],m=Gi(this.modelId);i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&p.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`});let h=await R({provider:`openai`,providerOptions:l,schema:Ki}),{input:g,warnings:_}=await ai({prompt:c,systemMessageMode:m.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:h?.store??!0,hasLocalShellTool:x(`openai.local_shell`)});p.push(..._);let v=h?.strictJsonSchema??!1,y=h?.include;function b(e){y=y==null?[e]:[...y,e]}function x(e){return u?.find(t=>t.type===`provider-defined`&&t.id===e)!=null}let S=typeof h?.logprobs==`number`?h?.logprobs:h?.logprobs===!0?mi:void 0;S&&b(`message.output_text.logprobs`);let C=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;C&&b(`web_search_call.action.sources`),x(`openai.code_interpreter`)&&b(`code_interpreter_call.outputs`);let w={model:this.modelId,input:g,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||h?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:v,name:f.name??`response`,description:f.description,schema:f.schema}},...h?.textVerbosity&&{verbosity:h.textVerbosity}}},max_tool_calls:h?.maxToolCalls,metadata:h?.metadata,parallel_tool_calls:h?.parallelToolCalls,previous_response_id:h?.previousResponseId,store:h?.store,user:h?.user,instructions:h?.instructions,service_tier:h?.serviceTier,include:y,prompt_cache_key:h?.promptCacheKey,safety_identifier:h?.safetyIdentifier,top_logprobs:S,...m.isReasoningModel&&(h?.reasoningEffort!=null||h?.reasoningSummary!=null)&&{reasoning:{...h?.reasoningEffort!=null&&{effort:h.reasoningEffort},...h?.reasoningSummary!=null&&{summary:h.reasoningSummary}}},...m.requiredAutoTruncation&&{truncation:`auto`}};m.isReasoningModel?(w.temperature!=null&&(w.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),w.top_p!=null&&(w.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(h?.reasoningEffort!=null&&p.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),h?.reasoningSummary!=null&&p.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),h?.serviceTier===`flex`&&!m.supportsFlexProcessing&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete w.service_tier),h?.serviceTier===`priority`&&!m.supportsPriorityProcessing&&(p.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 w.service_tier);let{tools:T,toolChoice:ee,toolWarnings:E}=ci({tools:u,toolChoice:d,strictJsonSchema:v});return{webSearchToolName:C,args:{...w,tools:T,tool_choice:ee},warnings:[...p,...E]}}async doGenerate(e){var t,n;let{args:i,warnings:a,webSearchToolName:o}=await this.getArgs(e),s=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:c,value:l,rawValue:u}=await z({url:s,headers:N(this.config.headers(),e.headers),body:i,failedResponseHandler:$,successfulResponseHandler:G(r.z.object({id:r.z.string(),created_at:r.z.number(),error:r.z.object({code:r.z.string(),message:r.z.string()}).nullish(),model:r.z.string(),output:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`message`),role:r.z.literal(`assistant`),id:r.z.string(),content:r.z.array(r.z.object({type:r.z.literal(`output_text`),text:r.z.string(),logprobs:hi.nullish(),annotations:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`url_citation`),start_index:r.z.number(),end_index:r.z.number(),url:r.z.string(),title:r.z.string()}),r.z.object({type:r.z.literal(`file_citation`),file_id:r.z.string(),filename:r.z.string().nullish(),index:r.z.number().nullish(),start_index:r.z.number().nullish(),end_index:r.z.number().nullish(),quote:r.z.string().nullish()}),r.z.object({type:r.z.literal(`container_file_citation`)})]))}))}),li,ui,di,pi,fi,r.z.object({type:r.z.literal(`function_call`),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string(),id:r.z.string()}),r.z.object({type:r.z.literal(`computer_call`),id:r.z.string(),status:r.z.string().optional()}),r.z.object({type:r.z.literal(`reasoning`),id:r.z.string(),encrypted_content:r.z.string().nullish(),summary:r.z.array(r.z.object({type:r.z.literal(`summary_text`),text:r.z.string()}))})])),service_tier:r.z.string().nullish(),incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:_i})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(l.error)throw new D({message:l.error.message,url:s,requestBodyValues:i,statusCode:400,responseHeaders:c,responseBody:u,isRetryable:!1});let d=[],f=[],p=!1;for(let r of l.output)switch(r.type){case`reasoning`:r.summary.length===0&&r.summary.push({type:`summary_text`,text:``});for(let e of r.summary)d.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:r.id,reasoningEncryptedContent:r.encrypted_content??null}}});break;case`image_generation_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`image_generation`,result:{result:r.result},providerExecuted:!0});break;case`local_shell_call`:d.push({type:`tool-call`,toolCallId:r.call_id,toolName:`local_shell`,input:JSON.stringify({action:r.action}),providerMetadata:{openai:{itemId:r.id}}});break;case`message`:for(let i of r.content){e.providerOptions?.openai?.logprobs&&i.logprobs&&f.push(i.logprobs),d.push({type:`text`,text:i.text,providerMetadata:{openai:{itemId:r.id}}});for(let e of i.annotations)e.type===`url_citation`?d.push({type:`source`,sourceType:`url`,id:(t=this.config).generateId?.call(t)??I(),url:e.url,title:e.title}):e.type===`file_citation`&&d.push({type:`source`,sourceType:`document`,id:(n=this.config).generateId?.call(n)??I(),mediaType:`text/plain`,title:e.quote??e.filename??`Document`,filename:e.filename??e.file_id})}break;case`function_call`:p=!0,d.push({type:`tool-call`,toolCallId:r.call_id,toolName:r.name,input:r.arguments,providerMetadata:{openai:{itemId:r.id}}});break;case`web_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:o??`web_search`,input:JSON.stringify({action:r.action}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:o??`web_search`,result:{status:r.status},providerExecuted:!0});break;case`computer_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`computer_use`,input:``,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:r.status||`completed`},providerExecuted:!0});break;case`file_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`file_search`,result:{queries:r.queries,results:r.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});break;case`code_interpreter_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`code_interpreter`,input:JSON.stringify({code:r.code,containerId:r.container_id}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`code_interpreter`,result:{outputs:r.outputs},providerExecuted:!0});break}let m={openai:{responseId:l.id}};return f.length>0&&(m.openai.logprobs=f),typeof l.service_tier==`string`&&(m.openai.serviceTier=l.service_tier),{content:d,finishReason:si({finishReason:l.incomplete_details?.reason,hasFunctionCall:p}),usage:{inputTokens:l.usage.input_tokens,outputTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+l.usage.output_tokens,reasoningTokens:l.usage.output_tokens_details?.reasoning_tokens??void 0,cachedInputTokens:l.usage.input_tokens_details?.cached_tokens??void 0},request:{body:i},response:{id:l.id,timestamp:new Date(l.created_at*1e3),modelId:l.model,headers:c,body:u},providerMetadata:m,warnings:a}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await z({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:W(Ai),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;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let g=t.value;if(zi(g))g.item.type===`function_call`?(d[g.output_index]={toolName:g.item.name,toolCallId:g.item.call_id},n.enqueue({type:`tool-input-start`,id:g.item.call_id,toolName:g.item.name})):g.item.type===`web_search_call`?(d[g.output_index]={toolName:r??`web_search`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:r??`web_search`})):g.item.type===`computer_call`?(d[g.output_index]={toolName:`computer_use`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`computer_use`})):g.item.type===`code_interpreter_call`?(d[g.output_index]={toolName:`code_interpreter`,toolCallId:g.item.id,codeInterpreter:{containerId:g.item.container_id}},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`code_interpreter`}),n.enqueue({type:`tool-input-delta`,id:g.item.id,delta:`{"containerId":"${g.item.container_id}","code":"`})):g.item.type===`file_search_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}):g.item.type===`image_generation_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}):g.item.type===`message`?n.enqueue({type:`text-start`,id:g.item.id,providerMetadata:{openai:{itemId:g.item.id}}}):Bi(g)&&(p[g.item.id]={encryptedContent:g.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${g.item.id}:0`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}}));else if(Mi(g)){if(g.item.type===`function_call`)d[g.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:g.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:g.item.name,input:g.item.arguments,providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`web_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`web_search`,input:JSON.stringify({action:g.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`web_search`,result:{status:g.item.status},providerExecuted:!0});else if(g.item.type===`computer_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:g.item.status||`completed`},providerExecuted:!0});else if(g.item.type===`file_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`file_search`,result:{queries:g.item.queries,results:g.item.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});else if(g.item.type===`code_interpreter_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`code_interpreter`,result:{outputs:g.item.outputs},providerExecuted:!0});else if(g.item.type===`image_generation_call`)n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`image_generation`,result:{result:g.item.result},providerExecuted:!0});else if(g.item.type===`local_shell_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:`local_shell`,input:JSON.stringify({action:{type:`exec`,command:g.item.action.command,timeoutMs:g.item.action.timeout_ms,user:g.item.action.user,workingDirectory:g.item.action.working_directory,env:g.item.action.env}}),providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`message`)n.enqueue({type:`text-end`,id:g.item.id});else if(Ni(g)){let e=p[g.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${g.item.id}:${t}`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}});delete p[g.item.id]}}else if(Ii(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:g.delta})}else if(Li(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:JSON.stringify(g.delta).slice(1,-1)})}else if(Ri(g)){let e=d[g.output_index];e!=null&&(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:`code_interpreter`,input:JSON.stringify({code:g.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else Fi(g)?(u=g.response.id,n.enqueue({type:`response-metadata`,id:g.response.id,timestamp:new Date(g.response.created_at*1e3),modelId:g.response.model})):ji(g)?(n.enqueue({type:`text-delta`,id:g.item_id,delta:g.delta}),e.providerOptions?.openai?.logprobs&&g.logprobs&&l.push(g.logprobs)):Hi(g)?g.summary_index>0&&((i=p[g.item_id])==null||i.summaryParts.push(g.summary_index),n.enqueue({type:`reasoning-start`,id:`${g.item_id}:${g.summary_index}`,providerMetadata:{openai:{itemId:g.item_id,reasoningEncryptedContent:p[g.item_id]?.encryptedContent??null}}})):Ui(g)?n.enqueue({type:`reasoning-delta`,id:`${g.item_id}:${g.summary_index}`,delta:g.delta,providerMetadata:{openai:{itemId:g.item_id}}}):Pi(g)?(s=si({finishReason:g.response.incomplete_details?.reason,hasFunctionCall:f}),c.inputTokens=g.response.usage.input_tokens,c.outputTokens=g.response.usage.output_tokens,c.totalTokens=g.response.usage.input_tokens+g.response.usage.output_tokens,c.reasoningTokens=g.response.usage.output_tokens_details?.reasoning_tokens??void 0,c.cachedInputTokens=g.response.usage.input_tokens_details?.cached_tokens??void 0,typeof g.response.service_tier==`string`&&(m=g.response.service_tier)):Vi(g)?g.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(a=o.config).generateId?.call(a)??I(),url:g.annotation.url,title:g.annotation.title}):g.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(h=o.config).generateId?.call(h)??I(),mediaType:`text/plain`,title:g.annotation.quote??g.annotation.filename??`Document`,filename:g.annotation.filename??g.annotation.file_id}):Wi(g)&&n.enqueue({type:`error`,error:g})},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}}}},_i=r.z.object({input_tokens:r.z.number(),input_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),output_tokens:r.z.number(),output_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}),vi=r.z.object({type:r.z.literal(`response.output_text.delta`),item_id:r.z.string(),delta:r.z.string(),logprobs:hi.nullish()}),yi=r.z.object({type:r.z.literal(`error`),code:r.z.string(),message:r.z.string(),param:r.z.string().nullish(),sequence_number:r.z.number()}),bi=r.z.object({type:r.z.enum([`response.completed`,`response.incomplete`]),response:r.z.object({incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:_i,service_tier:r.z.string().nullish()})}),xi=r.z.object({type:r.z.literal(`response.created`),response:r.z.object({id:r.z.string(),created_at:r.z.number(),model:r.z.string(),service_tier:r.z.string().nullish()})}),Si=r.z.object({type:r.z.literal(`response.output_item.added`),output_index:r.z.number(),item:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`message`),id:r.z.string()}),r.z.object({type:r.z.literal(`reasoning`),id:r.z.string(),encrypted_content:r.z.string().nullish()}),r.z.object({type:r.z.literal(`function_call`),id:r.z.string(),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string()}),r.z.object({type:r.z.literal(`web_search_call`),id:r.z.string(),status:r.z.string(),action:r.z.object({type:r.z.literal(`search`),query:r.z.string().optional()}).nullish()}),r.z.object({type:r.z.literal(`computer_call`),id:r.z.string(),status:r.z.string()}),r.z.object({type:r.z.literal(`file_search_call`),id:r.z.string()}),r.z.object({type:r.z.literal(`image_generation_call`),id:r.z.string()}),r.z.object({type:r.z.literal(`code_interpreter_call`),id:r.z.string(),container_id:r.z.string(),code:r.z.string().nullable(),outputs:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`logs`),logs:r.z.string()}),r.z.object({type:r.z.literal(`image`),url:r.z.string()})])).nullable(),status:r.z.string()})])}),Ci=r.z.object({type:r.z.literal(`response.output_item.done`),output_index:r.z.number(),item:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`message`),id:r.z.string()}),r.z.object({type:r.z.literal(`reasoning`),id:r.z.string(),encrypted_content:r.z.string().nullish()}),r.z.object({type:r.z.literal(`function_call`),id:r.z.string(),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string(),status:r.z.literal(`completed`)}),di,pi,li,ui,fi,r.z.object({type:r.z.literal(`computer_call`),id:r.z.string(),status:r.z.literal(`completed`)})])}),wi=r.z.object({type:r.z.literal(`response.function_call_arguments.delta`),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),Ti=r.z.object({type:r.z.literal(`response.code_interpreter_call_code.delta`),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),Ei=r.z.object({type:r.z.literal(`response.code_interpreter_call_code.done`),item_id:r.z.string(),output_index:r.z.number(),code:r.z.string()}),Di=r.z.object({type:r.z.literal(`response.output_text.annotation.added`),annotation:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`url_citation`),url:r.z.string(),title:r.z.string()}),r.z.object({type:r.z.literal(`file_citation`),file_id:r.z.string(),filename:r.z.string().nullish(),index:r.z.number().nullish(),start_index:r.z.number().nullish(),end_index:r.z.number().nullish(),quote:r.z.string().nullish()})])}),Oi=r.z.object({type:r.z.literal(`response.reasoning_summary_part.added`),item_id:r.z.string(),summary_index:r.z.number()}),ki=r.z.object({type:r.z.literal(`response.reasoning_summary_text.delta`),item_id:r.z.string(),summary_index:r.z.number(),delta:r.z.string()}),Ai=r.z.union([vi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,yi,r.z.object({type:r.z.string()}).loose()]);function ji(e){return e.type===`response.output_text.delta`}function Mi(e){return e.type===`response.output_item.done`}function Ni(e){return Mi(e)&&e.item.type===`reasoning`}function Pi(e){return e.type===`response.completed`||e.type===`response.incomplete`}function Fi(e){return e.type===`response.created`}function Ii(e){return e.type===`response.function_call_arguments.delta`}function Li(e){return e.type===`response.code_interpreter_call_code.delta`}function Ri(e){return e.type===`response.code_interpreter_call_code.done`}function zi(e){return e.type===`response.output_item.added`}function Bi(e){return zi(e)&&e.item.type===`reasoning`}function Vi(e){return e.type===`response.output_text.annotation.added`}function Hi(e){return e.type===`response.reasoning_summary_part.added`}function Ui(e){return e.type===`response.reasoning_summary_text.delta`}function Wi(e){return e.type===`error`}function Gi(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 Ki=r.z.object({include:r.z.array(r.z.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:r.z.string().nullish(),logprobs:r.z.union([r.z.boolean(),r.z.number().min(1).max(mi)]).optional(),maxToolCalls:r.z.number().nullish(),metadata:r.z.any().nullish(),parallelToolCalls:r.z.boolean().nullish(),previousResponseId:r.z.string().nullish(),promptCacheKey:r.z.string().nullish(),reasoningEffort:r.z.string().nullish(),reasoningSummary:r.z.string().nullish(),safetyIdentifier:r.z.string().nullish(),serviceTier:r.z.enum([`auto`,`flex`,`priority`]).nullish(),store:r.z.boolean().nullish(),strictJsonSchema:r.z.boolean().nullish(),textVerbosity:r.z.enum([`low`,`medium`,`high`]).nullish(),user:r.z.string().nullish()}),qi=r.z.object({instructions:r.z.string().nullish(),speed:r.z.number().min(.25).max(4).default(1).nullish()}),Ji=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 R({provider:`openai`,providerOptions:o,schema:qi}),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;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{requestBody:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await z({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:jt(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:a,warnings:i,request:{body:JSON.stringify(r)},response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},Yi=r.z.object({include:r.z.array(r.z.string()).optional(),language:r.z.string().optional(),prompt:r.z.string().optional(),temperature:r.z.number().min(0).max(1).default(0).optional(),timestampGranularities:r.z.array(r.z.enum([`word`,`segment`])).default([`segment`]).optional()}),Xi={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`},Zi=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 R({provider:`openai`,providerOptions:n,schema:Yi}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([It(e)]);a.append(`model`,this.modelId);let s=ut(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;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{formData:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await Ot({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),formData:r,failedResponseHandler:$,successfulResponseHandler:G(Qi),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=a.language!=null&&a.language in Xi?Xi[a.language]:void 0;return{text:a.text,segments:a.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??a.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:c,durationInSeconds:a.duration??void 0,warnings:i,response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},Qi=r.z.object({text:r.z.string(),language:r.z.string().nullish(),duration:r.z.number().nullish(),words:r.z.array(r.z.object({word:r.z.string(),start:r.z.number(),end:r.z.number()})).nullish(),segments:r.z.array(r.z.object({id:r.z.number(),seek:r.z.number(),start:r.z.number(),end:r.z.number(),text:r.z.string(),tokens:r.z.array(r.z.number()),temperature:r.z.number(),avg_logprob:r.z.number(),compression_ratio:r.z.number(),no_speech_prob:r.z.number()})).nullish()}),$i=`2.0.42`;function ea(e={}){let t=q(lt({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>F({Authorization:`Bearer ${L({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${$i}`),i=i=>new dr(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new wr(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new kr(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new Nr(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new Zi(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),l=i=>new Ji(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),u=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return d(e)},d=i=>new gi(i,{provider:`${n}.responses`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),f=function(e){return u(e)};return f.languageModel=u,f.chat=i,f.completion=a,f.responses=d,f.embedding=o,f.textEmbedding=o,f.textEmbeddingModel=o,f.image=s,f.imageModel=s,f.transcription=c,f.transcriptionModel=c,f.speech=l,f.speechModel=l,f.tools=ri,f}var ta=ea(),na=r.z.object({user:r.z.string().optional(),reasoningEffort:r.z.string().optional()}),ra={errorSchema:r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),errorToMessage:e=>e.error.message},ia=r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish(),accepted_prediction_tokens:r.z.number().nullish(),rejected_prediction_tokens:r.z.number().nullish()}).nullish()}).nullish(),aa=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal(`assistant`).nullish(),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),finish_reason:r.z.string().nullish()})),usage:ia}),oa=r.z.object({echo:r.z.boolean().optional(),logitBias:r.z.record(r.z.string(),r.z.number()).optional(),suffix:r.z.string().optional(),user:r.z.string().optional()}),sa=r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()}),ca=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string()})),usage:sa.nullish()}),la=r.z.object({dimensions:r.z.number().optional(),user:r.z.string().optional()}),ua=r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish(),providerMetadata:r.z.record(r.z.string(),r.z.record(r.z.string(),r.z.any())).optional()}),da=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;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await z({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:N(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},response_format:`b64_json`},failedResponseHandler:U(this.config.errorStructure??ra),successfulResponseHandler:G(fa),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f}}}},fa=r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string()}))});function pa(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,${K(e.data)}`}}}else throw new M({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 ma({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 ha(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 ga=r.z.object({type:r.z.literal(`web`),country:r.z.string().length(2).optional(),excludedWebsites:r.z.array(r.z.string()).max(5).optional(),allowedWebsites:r.z.array(r.z.string()).max(5).optional(),safeSearch:r.z.boolean().optional()}),_a=r.z.object({type:r.z.literal(`x`),excludedXHandles:r.z.array(r.z.string()).optional(),includedXHandles:r.z.array(r.z.string()).optional(),postFavoriteCount:r.z.number().int().optional(),postViewCount:r.z.number().int().optional(),xHandles:r.z.array(r.z.string()).optional()}),va=r.z.object({type:r.z.literal(`news`),country:r.z.string().length(2).optional(),excludedWebsites:r.z.array(r.z.string()).max(5).optional(),safeSearch:r.z.boolean().optional()}),ya=r.z.object({type:r.z.literal(`rss`),links:r.z.array(r.z.string().url()).max(1)}),ba=r.z.discriminatedUnion(`type`,[ga,_a,va,ya]),xa=r.z.object({reasoningEffort:r.z.enum([`low`,`high`]).optional(),searchParameters:r.z.object({mode:r.z.enum([`off`,`auto`,`on`]),returnCitations:r.z.boolean().optional(),fromDate:r.z.string().optional(),toDate:r.z.string().optional(),maxSearchResults:r.z.number().min(1).max(50).optional(),sources:r.z.array(ba).optional()}).optional()}),Sa=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),Ca=U({errorSchema:Sa,errorToMessage:e=>e.error.message});function wa({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:throw new M({functionality:`tool choice type: ${i}`})}}var Ta=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}){let p=[],m=await R({provider:`xai`,providerOptions:u,schema:xa})??{};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:h,warnings:g}=pa(e);p.push(...g);let{tools:_,toolChoice:v,toolWarnings:y}=wa({tools:d,toolChoice:f});return p.push(...y),{args:{model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:m.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:l.name??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:m.searchParameters?{mode:m.searchParameters.mode,return_citations:m.searchParameters.returnCitations,from_date:m.searchParameters.fromDate,to_date:m.searchParameters.toDate,max_search_results:m.searchParameters.maxSearchResults,sources:m.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`&&{excluded_x_handles:e.excludedXHandles,included_x_handles:e.includedXHandles??e.xHandles,post_favorite_count:e.postFavoriteCount,post_view_count:e.postViewCount},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:h,tools:_,tool_choice:v},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await z({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:N(this.config.headers(),e.headers),body:t,failedResponseHandler:Ca,successfulResponseHandler:G(Da),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s=[];if(o.message.content!=null&&o.message.content.length>0){let e=o.message.content,n=t.messages[t.messages.length-1];n?.role===`assistant`&&e===n.content&&(e=``),e.length>0&&s.push({type:`text`,text:e})}if(o.message.reasoning_content!=null&&o.message.reasoning_content.length>0&&s.push({type:`reasoning`,text:o.message.reasoning_content}),o.message.tool_calls!=null)for(let e of o.message.tool_calls)s.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(i.citations!=null)for(let e of i.citations)s.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:s,finishReason:ha(o.finish_reason),usage:{inputTokens:i.usage.prompt_tokens,outputTokens:i.usage.completion_tokens,totalTokens:i.usage.total_tokens,reasoningTokens:i.usage.completion_tokens_details?.reasoning_tokens??void 0},request:{body:t},response:{...ma(i),headers:r,body:a},warnings:n}}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 z({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:N(this.config.headers(),e.headers),body:r,failedResponseHandler:Ca,successfulResponseHandler:W(Oa),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},c=!0,l={},u={},d=this;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){n.enqueue({type:`error`,error:t.error});return}let i=t.value;if(c&&=(n.enqueue({type:`response-metadata`,...ma(i)}),!1),i.citations!=null)for(let e of i.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});i.usage!=null&&(s.inputTokens=i.usage.prompt_tokens,s.outputTokens=i.usage.completion_tokens,s.totalTokens=i.usage.total_tokens,s.reasoningTokens=i.usage.completion_tokens_details?.reasoning_tokens??void 0);let a=i.choices[0];if(a?.finish_reason!=null&&(o=ha(a.finish_reason)),a?.delta==null)return;let f=a.delta,p=a.index;if(f.content!=null&&f.content.length>0){let e=f.content,t=r.messages[r.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let a=`text-${i.id||p}`;l[a]??(l[a]={type:`text`},n.enqueue({type:`text-start`,id:a})),n.enqueue({type:`text-delta`,id:a,delta:e})}if(f.reasoning_content!=null&&f.reasoning_content.length>0){let e=`reasoning-${i.id||p}`;if(u[e]===f.reasoning_content)return;u[e]=f.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:f.reasoning_content})}if(f.tool_calls!=null)for(let e of f.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:o,usage:s})}})),request:{body:r},response:{headers:i}}}},Ea=r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}),Da=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal(`assistant`),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string(),type:r.z.literal(`function`),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),index:r.z.number(),finish_reason:r.z.string().nullish()})),object:r.z.literal(`chat.completion`),usage:Ea,citations:r.z.array(r.z.string().url()).nullish()}),Oa=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({role:r.z.enum([`assistant`]).optional(),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string(),type:r.z.literal(`function`),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),finish_reason:r.z.string().nullish(),index:r.z.number()})),usage:Ea.nullish(),citations:r.z.array(r.z.string().url()).nullish()}),ka=`2.0.23`,Aa={errorSchema:Sa,errorToMessage:e=>e.error.message};function ja(e={}){let t=q(e.baseURL??`https://api.x.ai/v1`),n=()=>F({Authorization:`Bearer ${L({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers},`ai-sdk/xai/${ka}`),r=r=>new Ta(r,{provider:`xai.chat`,baseURL:t,headers:n,generateId:I,fetch:e.fetch}),i=r=>new da(r,{provider:`xai.image`,url:({path:e})=>`${t}${e}`,headers:n,fetch:e.fetch,errorStructure:Aa}),a=e=>r(e);return a.languageModel=r,a.chat=r,a.textEmbeddingModel=e=>{throw new A({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=i,a.image=i,a}var Ma=ja();function Na(t){if(!t.body)throw Error(`Response body is required`);let r=t.headers.get(e.StreamResponseFormatHeader);if(!r||r===`ui-message`)return t.body.pipeThrough(new TextDecoderStream).pipeThrough(new c).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=>(0,n.streamText)({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(r){case`openai-chat`:return i(ea({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`openai-response`:return i(ea({apiKey:`ignored`,fetch:(e,n)=>t}).responses(`fake-model`));case`anthropic`:return i(wn({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`google`:return i(rr({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`xai`:return i(ja({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${r}`)}}const Pa=`BLINK_API_URL`;var Fa=class{baseUrl;client;constructor(e){this.client=v(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),Na(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}});if(!n.ok||n.status!==200){if(n.status===404)return;await this.handleError(n)}return 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 Ia=e=>{let t=new c;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),La(t.readable)},La=e=>e.pipeThrough(new TransformStream({async transform(e,t){try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));exports.APIServerURLEnvironmentVariable=`BLINK_API_URL`,exports.Client=Fa,exports.StreamResponseFormatHeader=e.StreamResponseFormatHeader,exports.streamSSE=Ia;
|
|
21
|
+
${t}:`]}}function xr({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 Sr(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 Cr=r.z.object({echo:r.z.boolean().optional(),logitBias:r.z.record(r.z.string(),r.z.number()).optional(),suffix:r.z.string().optional(),user:r.z.string().optional(),logprobs:r.z.union([r.z.boolean(),r.z.number()]).optional()}),wr=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 R({provider:`openai`,providerOptions:f,schema:Cr}),...await R({provider:this.providerOptionsName,providerOptions:f,schema:Cr})};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}=br({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){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await z({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),body:t,failedResponseHandler:$,successfulResponseHandler:G(Er),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s={openai:{}};return o.logprobs!=null&&(s.openai.logprobs=o.logprobs),{content:[{type:`text`,text:o.text}],usage:{inputTokens:i.usage?.prompt_tokens,outputTokens:i.usage?.completion_tokens,totalTokens:i.usage?.total_tokens},finishReason:Sr(o.finish_reason),request:{body:t},response:{...xr(i),headers:r,body:a},providerMetadata:s,warnings:n}}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 z({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:W(Dr),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`,...xr(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=Sr(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}}}},Tr=r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()}),Er=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string(),logprobs:r.z.object({tokens:r.z.array(r.z.string()),token_logprobs:r.z.array(r.z.number()),top_logprobs:r.z.array(r.z.record(r.z.string(),r.z.number())).nullish()}).nullish()})),usage:Tr.nullish()}),Dr=r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string().nullish(),index:r.z.number(),logprobs:r.z.object({tokens:r.z.array(r.z.string()),token_logprobs:r.z.array(r.z.number()),top_logprobs:r.z.array(r.z.record(r.z.string(),r.z.number())).nullish()}).nullish()})),usage:Tr.nullish()}),ar]),Or=r.z.object({dimensions:r.z.number().optional(),user:r.z.string().optional()}),kr=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}){if(e.length>this.maxEmbeddingsPerCall)throw new Ke({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let i=await R({provider:`openai`,providerOptions:r,schema:Or})??{},{responseHeaders:a,value:o,rawValue:s}=await z({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:N(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:i.dimensions,user:i.user},failedResponseHandler:$,successfulResponseHandler:G(Ar),abortSignal:n,fetch:this.config.fetch});return{embeddings:o.data.map(e=>e.embedding),usage:o.usage?{tokens:o.usage.prompt_tokens}:void 0,response:{headers:a,body:s}}}},Ar=r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish()}),jr={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},Mr=new Set([`gpt-image-1`]),Nr=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){return jr[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;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await z({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:N(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},...Mr.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:G(Pr),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f},providerMetadata:{openai:{images:d.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},Pr=r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string(),revised_prompt:r.z.string().optional()}))}),Fr=r.z.object({code:r.z.string().nullish(),containerId:r.z.string()}),Ir=r.z.object({outputs:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`logs`),logs:r.z.string()}),r.z.object({type:r.z.literal(`image`),url:r.z.string()})])).nullish()}),Lr=r.z.object({container:r.z.union([r.z.string(),r.z.object({fileIds:r.z.array(r.z.string()).optional()})]).optional()}),Rr=V({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:Fr,outputSchema:Ir}),zr=(e={})=>Rr(e),Br=r.z.object({key:r.z.string(),type:r.z.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:r.z.union([r.z.string(),r.z.number(),r.z.boolean()])}),Vr=r.z.object({type:r.z.enum([`and`,`or`]),filters:r.z.array(r.z.union([Br,r.z.lazy(()=>Vr)]))}),Hr=r.z.object({vectorStoreIds:r.z.array(r.z.string()),maxNumResults:r.z.number().optional(),ranking:r.z.object({ranker:r.z.string().optional(),scoreThreshold:r.z.number().optional()}).optional(),filters:r.z.union([Br,Vr]).optional()}),Ur=r.z.object({queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({attributes:r.z.record(r.z.string(),r.z.unknown()),fileId:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullable()}),Wr=V({id:`openai.file_search`,name:`file_search`,inputSchema:r.z.object({}),outputSchema:Ur}),Gr=r.z.object({background:r.z.enum([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:r.z.enum([`low`,`high`]).optional(),inputImageMask:r.z.object({fileId:r.z.string().optional(),imageUrl:r.z.string().optional()}).optional(),model:r.z.string().optional(),moderation:r.z.enum([`auto`]).optional(),outputCompression:r.z.number().int().min(0).max(100).optional(),outputFormat:r.z.enum([`png`,`jpeg`,`webp`]).optional(),quality:r.z.enum([`auto`,`low`,`medium`,`high`]).optional(),size:r.z.enum([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict(),Kr=r.z.object({result:r.z.string()}),qr=V({id:`openai.image_generation`,name:`image_generation`,inputSchema:r.z.object({}),outputSchema:Kr}),Jr=(e={})=>qr(e),Yr=r.z.object({action:r.z.object({type:r.z.literal(`exec`),command:r.z.array(r.z.string()),timeoutMs:r.z.number().optional(),user:r.z.string().optional(),workingDirectory:r.z.string().optional(),env:r.z.record(r.z.string(),r.z.string()).optional()})}),Xr=r.z.object({output:r.z.string()}),Zr=V({id:`openai.local_shell`,name:`local_shell`,inputSchema:Yr,outputSchema:Xr}),Qr=r.z.object({filters:r.z.object({allowedDomains:r.z.array(r.z.string()).optional()}).optional(),searchContextSize:r.z.enum([`low`,`medium`,`high`]).optional(),userLocation:r.z.object({type:r.z.literal(`approximate`),country:r.z.string().optional(),city:r.z.string().optional(),region:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}),$r=B({id:`openai.web_search`,name:`web_search`,inputSchema:r.z.object({action:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`search`),query:r.z.string().nullish()}),r.z.object({type:r.z.literal(`open_page`),url:r.z.string()}),r.z.object({type:r.z.literal(`find`),url:r.z.string(),pattern:r.z.string()})]).nullish()})}),ei=(e={})=>$r(e),ti=r.z.object({searchContextSize:r.z.enum([`low`,`medium`,`high`]).optional(),userLocation:r.z.object({type:r.z.literal(`approximate`),country:r.z.string().optional(),city:r.z.string().optional(),region:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}),ni=B({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:r.z.object({action:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`search`),query:r.z.string().nullish()}),r.z.object({type:r.z.literal(`open_page`),url:r.z.string()}),r.z.object({type:r.z.literal(`find`),url:r.z.string(),pattern:r.z.string()})]).nullish()})}),ri={codeInterpreter:zr,fileSearch:Wr,imageGeneration:Jr,localShell:Zr,webSearchPreview:ni,webSearch:ei};function ii(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function ai({prompt:e,systemMessageMode:t,fileIdPrefixes:n,store:r,hasLocalShellTool:i=!1}){let a=[],o=[];for(let{role:s,content:c}of e)switch(s){case`system`:switch(t){case`system`:a.push({role:`system`,content:c});break;case`developer`:a.push({role:`developer`,content:c});break;case`remove`:o.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`:a.push({role:`user`,content:c.map((e,t)=>{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`&&ii(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${K(e.data)}`},detail: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`&&ii(e.data,n)?{file_id:e.data}:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${K(e.data)}`}};else throw new M({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={},t={};for(let n of c)switch(n.type){case`text`:a.push({role:`assistant`,content:[{type:`output_text`,text:n.text}],id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-call`:if(t[n.toolCallId]=n,n.providerExecuted)break;if(i&&n.toolName===`local_shell`){let e=Yr.parse(n.input);a.push({type:`local_shell_call`,call_id:n.toolCallId,id:n.providerOptions?.openai?.itemId??void 0,action:{type:`exec`,command:e.action.command,timeout_ms:e.action.timeoutMs,user:e.action.user,working_directory:e.action.workingDirectory,env:e.action.env}});break}a.push({type:`function_call`,call_id:n.toolCallId,name:n.toolName,arguments:JSON.stringify(n.input),id:n.providerOptions?.openai?.itemId??void 0});break;case`tool-result`:r?a.push({type:`item_reference`,id:n.toolCallId}):o.push({type:`other`,message:`Results for OpenAI tool ${n.toolName} are not sent to the API when store is false`});break;case`reasoning`:{let t=await R({provider:`openai`,providerOptions:n.providerOptions,schema:oi}),i=t?.itemId;if(i!=null){let s=e[i];if(r)s===void 0&&(a.push({type:`item_reference`,id:i}),e[i]={type:`reasoning`,id:i,summary:[]});else{let r=[];n.text.length>0?r.push({type:`summary_text`,text:n.text}):s!==void 0&&o.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(n)}.`}),s===void 0?(e[i]={type:`reasoning`,id:i,encrypted_content:t?.reasoningEncryptedContent,summary:r},a.push(e[i])):s.summary.push(...r)}}else o.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(n)}.`});break}}break}case`tool`:for(let e of c){let t=e.output;if(i&&e.toolName===`local_shell`&&t.type===`json`){a.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:Xr.parse(t.value).output});break}let 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}a.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=s;throw Error(`Unsupported role: ${e}`)}}return{input:a,warnings:o}}var oi=r.z.object({itemId:r.z.string().nullish(),reasoningEncryptedContent:r.z.string().nullish()});function si({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 ci({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=Hr.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,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case`openai.local_shell`:i.push({type:`local_shell`});break;case`openai.web_search_preview`:{let e=ti.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=Qr.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=Lr.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}case`openai.image_generation`:{let e=Gr.parse(t.args);i.push({type:`image_generation`,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,size:e.size,quality:e.quality,moderation:e.moderation,output_format:e.outputFormat,output_compression:e.outputCompression});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===`image_generation`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:throw new M({functionality:`tool choice type: ${a}`})}}var li=r.z.object({type:r.z.literal(`web_search_call`),id:r.z.string(),status:r.z.string(),action:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`search`),query:r.z.string().nullish()}),r.z.object({type:r.z.literal(`open_page`),url:r.z.string()}),r.z.object({type:r.z.literal(`find`),url:r.z.string(),pattern:r.z.string()})]).nullish()}),ui=r.z.object({type:r.z.literal(`file_search_call`),id:r.z.string(),queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({attributes:r.z.record(r.z.string(),r.z.unknown()),file_id:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullish()}),di=r.z.object({type:r.z.literal(`code_interpreter_call`),id:r.z.string(),code:r.z.string().nullable(),container_id:r.z.string(),outputs:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`logs`),logs:r.z.string()}),r.z.object({type:r.z.literal(`image`),url:r.z.string()})])).nullable()}),fi=r.z.object({type:r.z.literal(`local_shell_call`),id:r.z.string(),call_id:r.z.string(),action:r.z.object({type:r.z.literal(`exec`),command:r.z.array(r.z.string()),timeout_ms:r.z.number().optional(),user:r.z.string().optional(),working_directory:r.z.string().optional(),env:r.z.record(r.z.string(),r.z.string()).optional()})}),pi=r.z.object({type:r.z.literal(`image_generation_call`),id:r.z.string(),result:r.z.string()}),mi=20,hi=r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number(),top_logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number()}))})),gi=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}){let p=[],m=Gi(this.modelId);i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&p.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`});let h=await R({provider:`openai`,providerOptions:l,schema:Ki}),{input:g,warnings:_}=await ai({prompt:c,systemMessageMode:m.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:h?.store??!0,hasLocalShellTool:x(`openai.local_shell`)});p.push(..._);let v=h?.strictJsonSchema??!1,y=h?.include;function b(e){y=y==null?[e]:[...y,e]}function x(e){return u?.find(t=>t.type===`provider-defined`&&t.id===e)!=null}let S=typeof h?.logprobs==`number`?h?.logprobs:h?.logprobs===!0?mi:void 0;S&&b(`message.output_text.logprobs`);let C=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;C&&b(`web_search_call.action.sources`),x(`openai.code_interpreter`)&&b(`code_interpreter_call.outputs`);let w={model:this.modelId,input:g,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||h?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:v,name:f.name??`response`,description:f.description,schema:f.schema}},...h?.textVerbosity&&{verbosity:h.textVerbosity}}},max_tool_calls:h?.maxToolCalls,metadata:h?.metadata,parallel_tool_calls:h?.parallelToolCalls,previous_response_id:h?.previousResponseId,store:h?.store,user:h?.user,instructions:h?.instructions,service_tier:h?.serviceTier,include:y,prompt_cache_key:h?.promptCacheKey,safety_identifier:h?.safetyIdentifier,top_logprobs:S,...m.isReasoningModel&&(h?.reasoningEffort!=null||h?.reasoningSummary!=null)&&{reasoning:{...h?.reasoningEffort!=null&&{effort:h.reasoningEffort},...h?.reasoningSummary!=null&&{summary:h.reasoningSummary}}},...m.requiredAutoTruncation&&{truncation:`auto`}};m.isReasoningModel?(w.temperature!=null&&(w.temperature=void 0,p.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),w.top_p!=null&&(w.top_p=void 0,p.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(h?.reasoningEffort!=null&&p.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),h?.reasoningSummary!=null&&p.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),h?.serviceTier===`flex`&&!m.supportsFlexProcessing&&(p.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete w.service_tier),h?.serviceTier===`priority`&&!m.supportsPriorityProcessing&&(p.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 w.service_tier);let{tools:T,toolChoice:ee,toolWarnings:E}=ci({tools:u,toolChoice:d,strictJsonSchema:v});return{webSearchToolName:C,args:{...w,tools:T,tool_choice:ee},warnings:[...p,...E]}}async doGenerate(e){var t,n;let{args:i,warnings:a,webSearchToolName:o}=await this.getArgs(e),s=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:c,value:l,rawValue:u}=await z({url:s,headers:N(this.config.headers(),e.headers),body:i,failedResponseHandler:$,successfulResponseHandler:G(r.z.object({id:r.z.string(),created_at:r.z.number(),error:r.z.object({code:r.z.string(),message:r.z.string()}).nullish(),model:r.z.string(),output:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`message`),role:r.z.literal(`assistant`),id:r.z.string(),content:r.z.array(r.z.object({type:r.z.literal(`output_text`),text:r.z.string(),logprobs:hi.nullish(),annotations:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`url_citation`),start_index:r.z.number(),end_index:r.z.number(),url:r.z.string(),title:r.z.string()}),r.z.object({type:r.z.literal(`file_citation`),file_id:r.z.string(),filename:r.z.string().nullish(),index:r.z.number().nullish(),start_index:r.z.number().nullish(),end_index:r.z.number().nullish(),quote:r.z.string().nullish()}),r.z.object({type:r.z.literal(`container_file_citation`)})]))}))}),li,ui,di,pi,fi,r.z.object({type:r.z.literal(`function_call`),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string(),id:r.z.string()}),r.z.object({type:r.z.literal(`computer_call`),id:r.z.string(),status:r.z.string().optional()}),r.z.object({type:r.z.literal(`reasoning`),id:r.z.string(),encrypted_content:r.z.string().nullish(),summary:r.z.array(r.z.object({type:r.z.literal(`summary_text`),text:r.z.string()}))})])),service_tier:r.z.string().nullish(),incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:_i})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(l.error)throw new D({message:l.error.message,url:s,requestBodyValues:i,statusCode:400,responseHeaders:c,responseBody:u,isRetryable:!1});let d=[],f=[],p=!1;for(let r of l.output)switch(r.type){case`reasoning`:r.summary.length===0&&r.summary.push({type:`summary_text`,text:``});for(let e of r.summary)d.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:r.id,reasoningEncryptedContent:r.encrypted_content??null}}});break;case`image_generation_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`image_generation`,result:{result:r.result},providerExecuted:!0});break;case`local_shell_call`:d.push({type:`tool-call`,toolCallId:r.call_id,toolName:`local_shell`,input:JSON.stringify({action:r.action}),providerMetadata:{openai:{itemId:r.id}}});break;case`message`:for(let i of r.content){e.providerOptions?.openai?.logprobs&&i.logprobs&&f.push(i.logprobs),d.push({type:`text`,text:i.text,providerMetadata:{openai:{itemId:r.id}}});for(let e of i.annotations)e.type===`url_citation`?d.push({type:`source`,sourceType:`url`,id:(t=this.config).generateId?.call(t)??I(),url:e.url,title:e.title}):e.type===`file_citation`&&d.push({type:`source`,sourceType:`document`,id:(n=this.config).generateId?.call(n)??I(),mediaType:`text/plain`,title:e.quote??e.filename??`Document`,filename:e.filename??e.file_id})}break;case`function_call`:p=!0,d.push({type:`tool-call`,toolCallId:r.call_id,toolName:r.name,input:r.arguments,providerMetadata:{openai:{itemId:r.id}}});break;case`web_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:o??`web_search`,input:JSON.stringify({action:r.action}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:o??`web_search`,result:{status:r.status},providerExecuted:!0});break;case`computer_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`computer_use`,input:``,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:r.status||`completed`},providerExecuted:!0});break;case`file_search_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`file_search`,result:{queries:r.queries,results:r.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});break;case`code_interpreter_call`:d.push({type:`tool-call`,toolCallId:r.id,toolName:`code_interpreter`,input:JSON.stringify({code:r.code,containerId:r.container_id}),providerExecuted:!0}),d.push({type:`tool-result`,toolCallId:r.id,toolName:`code_interpreter`,result:{outputs:r.outputs},providerExecuted:!0});break}let m={openai:{responseId:l.id}};return f.length>0&&(m.openai.logprobs=f),typeof l.service_tier==`string`&&(m.openai.serviceTier=l.service_tier),{content:d,finishReason:si({finishReason:l.incomplete_details?.reason,hasFunctionCall:p}),usage:{inputTokens:l.usage.input_tokens,outputTokens:l.usage.output_tokens,totalTokens:l.usage.input_tokens+l.usage.output_tokens,reasoningTokens:l.usage.output_tokens_details?.reasoning_tokens??void 0,cachedInputTokens:l.usage.input_tokens_details?.cached_tokens??void 0},request:{body:i},response:{id:l.id,timestamp:new Date(l.created_at*1e3),modelId:l.model,headers:c,body:u},providerMetadata:m,warnings:a}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await z({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:W(Ai),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;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let g=t.value;if(zi(g))g.item.type===`function_call`?(d[g.output_index]={toolName:g.item.name,toolCallId:g.item.call_id},n.enqueue({type:`tool-input-start`,id:g.item.call_id,toolName:g.item.name})):g.item.type===`web_search_call`?(d[g.output_index]={toolName:r??`web_search`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:r??`web_search`})):g.item.type===`computer_call`?(d[g.output_index]={toolName:`computer_use`,toolCallId:g.item.id},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`computer_use`})):g.item.type===`code_interpreter_call`?(d[g.output_index]={toolName:`code_interpreter`,toolCallId:g.item.id,codeInterpreter:{containerId:g.item.container_id}},n.enqueue({type:`tool-input-start`,id:g.item.id,toolName:`code_interpreter`}),n.enqueue({type:`tool-input-delta`,id:g.item.id,delta:`{"containerId":"${g.item.container_id}","code":"`})):g.item.type===`file_search_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}):g.item.type===`image_generation_call`?n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}):g.item.type===`message`?n.enqueue({type:`text-start`,id:g.item.id,providerMetadata:{openai:{itemId:g.item.id}}}):Bi(g)&&(p[g.item.id]={encryptedContent:g.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${g.item.id}:0`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}}));else if(Mi(g)){if(g.item.type===`function_call`)d[g.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:g.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:g.item.name,input:g.item.arguments,providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`web_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`web_search`,input:JSON.stringify({action:g.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`web_search`,result:{status:g.item.status},providerExecuted:!0});else if(g.item.type===`computer_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:g.item.id}),n.enqueue({type:`tool-call`,toolCallId:g.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:g.item.status||`completed`},providerExecuted:!0});else if(g.item.type===`file_search_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`file_search`,result:{queries:g.item.queries,results:g.item.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},providerExecuted:!0});else if(g.item.type===`code_interpreter_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`code_interpreter`,result:{outputs:g.item.outputs},providerExecuted:!0});else if(g.item.type===`image_generation_call`)n.enqueue({type:`tool-result`,toolCallId:g.item.id,toolName:`image_generation`,result:{result:g.item.result},providerExecuted:!0});else if(g.item.type===`local_shell_call`)d[g.output_index]=void 0,n.enqueue({type:`tool-call`,toolCallId:g.item.call_id,toolName:`local_shell`,input:JSON.stringify({action:{type:`exec`,command:g.item.action.command,timeoutMs:g.item.action.timeout_ms,user:g.item.action.user,workingDirectory:g.item.action.working_directory,env:g.item.action.env}}),providerMetadata:{openai:{itemId:g.item.id}}});else if(g.item.type===`message`)n.enqueue({type:`text-end`,id:g.item.id});else if(Ni(g)){let e=p[g.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${g.item.id}:${t}`,providerMetadata:{openai:{itemId:g.item.id,reasoningEncryptedContent:g.item.encrypted_content??null}}});delete p[g.item.id]}}else if(Ii(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:g.delta})}else if(Li(g)){let e=d[g.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:JSON.stringify(g.delta).slice(1,-1)})}else if(Ri(g)){let e=d[g.output_index];e!=null&&(n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}`}),n.enqueue({type:`tool-input-end`,id:e.toolCallId}),n.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:`code_interpreter`,input:JSON.stringify({code:g.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else Fi(g)?(u=g.response.id,n.enqueue({type:`response-metadata`,id:g.response.id,timestamp:new Date(g.response.created_at*1e3),modelId:g.response.model})):ji(g)?(n.enqueue({type:`text-delta`,id:g.item_id,delta:g.delta}),e.providerOptions?.openai?.logprobs&&g.logprobs&&l.push(g.logprobs)):Hi(g)?g.summary_index>0&&((i=p[g.item_id])==null||i.summaryParts.push(g.summary_index),n.enqueue({type:`reasoning-start`,id:`${g.item_id}:${g.summary_index}`,providerMetadata:{openai:{itemId:g.item_id,reasoningEncryptedContent:p[g.item_id]?.encryptedContent??null}}})):Ui(g)?n.enqueue({type:`reasoning-delta`,id:`${g.item_id}:${g.summary_index}`,delta:g.delta,providerMetadata:{openai:{itemId:g.item_id}}}):Pi(g)?(s=si({finishReason:g.response.incomplete_details?.reason,hasFunctionCall:f}),c.inputTokens=g.response.usage.input_tokens,c.outputTokens=g.response.usage.output_tokens,c.totalTokens=g.response.usage.input_tokens+g.response.usage.output_tokens,c.reasoningTokens=g.response.usage.output_tokens_details?.reasoning_tokens??void 0,c.cachedInputTokens=g.response.usage.input_tokens_details?.cached_tokens??void 0,typeof g.response.service_tier==`string`&&(m=g.response.service_tier)):Vi(g)?g.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(a=o.config).generateId?.call(a)??I(),url:g.annotation.url,title:g.annotation.title}):g.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(h=o.config).generateId?.call(h)??I(),mediaType:`text/plain`,title:g.annotation.quote??g.annotation.filename??`Document`,filename:g.annotation.filename??g.annotation.file_id}):Wi(g)&&n.enqueue({type:`error`,error:g})},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}}}},_i=r.z.object({input_tokens:r.z.number(),input_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),output_tokens:r.z.number(),output_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}),vi=r.z.object({type:r.z.literal(`response.output_text.delta`),item_id:r.z.string(),delta:r.z.string(),logprobs:hi.nullish()}),yi=r.z.object({type:r.z.literal(`error`),code:r.z.string(),message:r.z.string(),param:r.z.string().nullish(),sequence_number:r.z.number()}),bi=r.z.object({type:r.z.enum([`response.completed`,`response.incomplete`]),response:r.z.object({incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:_i,service_tier:r.z.string().nullish()})}),xi=r.z.object({type:r.z.literal(`response.created`),response:r.z.object({id:r.z.string(),created_at:r.z.number(),model:r.z.string(),service_tier:r.z.string().nullish()})}),Si=r.z.object({type:r.z.literal(`response.output_item.added`),output_index:r.z.number(),item:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`message`),id:r.z.string()}),r.z.object({type:r.z.literal(`reasoning`),id:r.z.string(),encrypted_content:r.z.string().nullish()}),r.z.object({type:r.z.literal(`function_call`),id:r.z.string(),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string()}),r.z.object({type:r.z.literal(`web_search_call`),id:r.z.string(),status:r.z.string(),action:r.z.object({type:r.z.literal(`search`),query:r.z.string().optional()}).nullish()}),r.z.object({type:r.z.literal(`computer_call`),id:r.z.string(),status:r.z.string()}),r.z.object({type:r.z.literal(`file_search_call`),id:r.z.string()}),r.z.object({type:r.z.literal(`image_generation_call`),id:r.z.string()}),r.z.object({type:r.z.literal(`code_interpreter_call`),id:r.z.string(),container_id:r.z.string(),code:r.z.string().nullable(),outputs:r.z.array(r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`logs`),logs:r.z.string()}),r.z.object({type:r.z.literal(`image`),url:r.z.string()})])).nullable(),status:r.z.string()})])}),Ci=r.z.object({type:r.z.literal(`response.output_item.done`),output_index:r.z.number(),item:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`message`),id:r.z.string()}),r.z.object({type:r.z.literal(`reasoning`),id:r.z.string(),encrypted_content:r.z.string().nullish()}),r.z.object({type:r.z.literal(`function_call`),id:r.z.string(),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string(),status:r.z.literal(`completed`)}),di,pi,li,ui,fi,r.z.object({type:r.z.literal(`computer_call`),id:r.z.string(),status:r.z.literal(`completed`)})])}),wi=r.z.object({type:r.z.literal(`response.function_call_arguments.delta`),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),Ti=r.z.object({type:r.z.literal(`response.code_interpreter_call_code.delta`),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),Ei=r.z.object({type:r.z.literal(`response.code_interpreter_call_code.done`),item_id:r.z.string(),output_index:r.z.number(),code:r.z.string()}),Di=r.z.object({type:r.z.literal(`response.output_text.annotation.added`),annotation:r.z.discriminatedUnion(`type`,[r.z.object({type:r.z.literal(`url_citation`),url:r.z.string(),title:r.z.string()}),r.z.object({type:r.z.literal(`file_citation`),file_id:r.z.string(),filename:r.z.string().nullish(),index:r.z.number().nullish(),start_index:r.z.number().nullish(),end_index:r.z.number().nullish(),quote:r.z.string().nullish()})])}),Oi=r.z.object({type:r.z.literal(`response.reasoning_summary_part.added`),item_id:r.z.string(),summary_index:r.z.number()}),ki=r.z.object({type:r.z.literal(`response.reasoning_summary_text.delta`),item_id:r.z.string(),summary_index:r.z.number(),delta:r.z.string()}),Ai=r.z.union([vi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,yi,r.z.object({type:r.z.string()}).loose()]);function ji(e){return e.type===`response.output_text.delta`}function Mi(e){return e.type===`response.output_item.done`}function Ni(e){return Mi(e)&&e.item.type===`reasoning`}function Pi(e){return e.type===`response.completed`||e.type===`response.incomplete`}function Fi(e){return e.type===`response.created`}function Ii(e){return e.type===`response.function_call_arguments.delta`}function Li(e){return e.type===`response.code_interpreter_call_code.delta`}function Ri(e){return e.type===`response.code_interpreter_call_code.done`}function zi(e){return e.type===`response.output_item.added`}function Bi(e){return zi(e)&&e.item.type===`reasoning`}function Vi(e){return e.type===`response.output_text.annotation.added`}function Hi(e){return e.type===`response.reasoning_summary_part.added`}function Ui(e){return e.type===`response.reasoning_summary_text.delta`}function Wi(e){return e.type===`error`}function Gi(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 Ki=r.z.object({include:r.z.array(r.z.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:r.z.string().nullish(),logprobs:r.z.union([r.z.boolean(),r.z.number().min(1).max(mi)]).optional(),maxToolCalls:r.z.number().nullish(),metadata:r.z.any().nullish(),parallelToolCalls:r.z.boolean().nullish(),previousResponseId:r.z.string().nullish(),promptCacheKey:r.z.string().nullish(),reasoningEffort:r.z.string().nullish(),reasoningSummary:r.z.string().nullish(),safetyIdentifier:r.z.string().nullish(),serviceTier:r.z.enum([`auto`,`flex`,`priority`]).nullish(),store:r.z.boolean().nullish(),strictJsonSchema:r.z.boolean().nullish(),textVerbosity:r.z.enum([`low`,`medium`,`high`]).nullish(),user:r.z.string().nullish()}),qi=r.z.object({instructions:r.z.string().nullish(),speed:r.z.number().min(.25).max(4).default(1).nullish()}),Ji=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 R({provider:`openai`,providerOptions:o,schema:qi}),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;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{requestBody:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await z({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:jt(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:a,warnings:i,request:{body:JSON.stringify(r)},response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},Yi=r.z.object({include:r.z.array(r.z.string()).optional(),language:r.z.string().optional(),prompt:r.z.string().optional(),temperature:r.z.number().min(0).max(1).default(0).optional(),timestampGranularities:r.z.array(r.z.enum([`word`,`segment`])).default([`segment`]).optional()}),Xi={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`},Zi=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 R({provider:`openai`,providerOptions:n,schema:Yi}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([It(e)]);a.append(`model`,this.modelId);let s=ut(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;let n=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{formData:r,warnings:i}=await this.getArgs(e),{value:a,responseHeaders:o,rawValue:s}=await Ot({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:N(this.config.headers(),e.headers),formData:r,failedResponseHandler:$,successfulResponseHandler:G(Qi),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=a.language!=null&&a.language in Xi?Xi[a.language]:void 0;return{text:a.text,segments:a.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??a.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:c,durationInSeconds:a.duration??void 0,warnings:i,response:{timestamp:n,modelId:this.modelId,headers:o,body:s}}}},Qi=r.z.object({text:r.z.string(),language:r.z.string().nullish(),duration:r.z.number().nullish(),words:r.z.array(r.z.object({word:r.z.string(),start:r.z.number(),end:r.z.number()})).nullish(),segments:r.z.array(r.z.object({id:r.z.number(),seek:r.z.number(),start:r.z.number(),end:r.z.number(),text:r.z.string(),tokens:r.z.array(r.z.number()),temperature:r.z.number(),avg_logprob:r.z.number(),compression_ratio:r.z.number(),no_speech_prob:r.z.number()})).nullish()}),$i=`2.0.42`;function ea(e={}){let t=q(lt({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>F({Authorization:`Bearer ${L({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${$i}`),i=i=>new dr(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new wr(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new kr(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new Nr(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new Zi(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),l=i=>new Ji(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),u=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return d(e)},d=i=>new gi(i,{provider:`${n}.responses`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),f=function(e){return u(e)};return f.languageModel=u,f.chat=i,f.completion=a,f.responses=d,f.embedding=o,f.textEmbedding=o,f.textEmbeddingModel=o,f.image=s,f.imageModel=s,f.transcription=c,f.transcriptionModel=c,f.speech=l,f.speechModel=l,f.tools=ri,f}var ta=ea(),na=r.z.object({user:r.z.string().optional(),reasoningEffort:r.z.string().optional()}),ra={errorSchema:r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),errorToMessage:e=>e.error.message},ia=r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish(),accepted_prediction_tokens:r.z.number().nullish(),rejected_prediction_tokens:r.z.number().nullish()}).nullish()}).nullish(),aa=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal(`assistant`).nullish(),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),reasoning:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),finish_reason:r.z.string().nullish()})),usage:ia}),oa=r.z.object({echo:r.z.boolean().optional(),logitBias:r.z.record(r.z.string(),r.z.number()).optional(),suffix:r.z.string().optional(),user:r.z.string().optional()}),sa=r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()}),ca=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string()})),usage:sa.nullish()}),la=r.z.object({dimensions:r.z.number().optional(),user:r.z.string().optional()}),ua=r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish(),providerMetadata:r.z.record(r.z.string(),r.z.record(r.z.string(),r.z.any())).optional()}),da=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;let l=[];r!=null&&l.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&l.push({type:`unsupported-setting`,setting:`seed`});let u=((c=this.config._internal)?.currentDate)?.call(c)??new Date,{value:d,responseHeaders:f}=await z({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:N(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...a.openai??{},response_format:`b64_json`},failedResponseHandler:U(this.config.errorStructure??ra),successfulResponseHandler:G(fa),abortSignal:s,fetch:this.config.fetch});return{images:d.data.map(e=>e.b64_json),warnings:l,response:{timestamp:u,modelId:this.modelId,headers:f}}}},fa=r.z.object({data:r.z.array(r.z.object({b64_json:r.z.string()}))});function pa(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,${K(e.data)}`}}}else throw new M({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 ma({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 ha(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 ga=r.z.object({type:r.z.literal(`web`),country:r.z.string().length(2).optional(),excludedWebsites:r.z.array(r.z.string()).max(5).optional(),allowedWebsites:r.z.array(r.z.string()).max(5).optional(),safeSearch:r.z.boolean().optional()}),_a=r.z.object({type:r.z.literal(`x`),excludedXHandles:r.z.array(r.z.string()).optional(),includedXHandles:r.z.array(r.z.string()).optional(),postFavoriteCount:r.z.number().int().optional(),postViewCount:r.z.number().int().optional(),xHandles:r.z.array(r.z.string()).optional()}),va=r.z.object({type:r.z.literal(`news`),country:r.z.string().length(2).optional(),excludedWebsites:r.z.array(r.z.string()).max(5).optional(),safeSearch:r.z.boolean().optional()}),ya=r.z.object({type:r.z.literal(`rss`),links:r.z.array(r.z.string().url()).max(1)}),ba=r.z.discriminatedUnion(`type`,[ga,_a,va,ya]),xa=r.z.object({reasoningEffort:r.z.enum([`low`,`high`]).optional(),searchParameters:r.z.object({mode:r.z.enum([`off`,`auto`,`on`]),returnCitations:r.z.boolean().optional(),fromDate:r.z.string().optional(),toDate:r.z.string().optional(),maxSearchResults:r.z.number().min(1).max(50).optional(),sources:r.z.array(ba).optional()}).optional()}),Sa=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),Ca=U({errorSchema:Sa,errorToMessage:e=>e.error.message});function wa({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:throw new M({functionality:`tool choice type: ${i}`})}}var Ta=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}){let p=[],m=await R({provider:`xai`,providerOptions:u,schema:xa})??{};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&p.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&p.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&p.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:h,warnings:g}=pa(e);p.push(...g);let{tools:_,toolChoice:v,toolWarnings:y}=wa({tools:d,toolChoice:f});return p.push(...y),{args:{model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:m.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:l.name??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:m.searchParameters?{mode:m.searchParameters.mode,return_citations:m.searchParameters.returnCitations,from_date:m.searchParameters.fromDate,to_date:m.searchParameters.toDate,max_search_results:m.searchParameters.maxSearchResults,sources:m.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`&&{excluded_x_handles:e.excludedXHandles,included_x_handles:e.includedXHandles??e.xHandles,post_favorite_count:e.postFavoriteCount,post_view_count:e.postViewCount},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:h,tools:_,tool_choice:v},warnings:p}}async doGenerate(e){let{args:t,warnings:n}=await this.getArgs(e),{responseHeaders:r,value:i,rawValue:a}=await z({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:N(this.config.headers(),e.headers),body:t,failedResponseHandler:Ca,successfulResponseHandler:G(Da),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=i.choices[0],s=[];if(o.message.content!=null&&o.message.content.length>0){let e=o.message.content,n=t.messages[t.messages.length-1];n?.role===`assistant`&&e===n.content&&(e=``),e.length>0&&s.push({type:`text`,text:e})}if(o.message.reasoning_content!=null&&o.message.reasoning_content.length>0&&s.push({type:`reasoning`,text:o.message.reasoning_content}),o.message.tool_calls!=null)for(let e of o.message.tool_calls)s.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(i.citations!=null)for(let e of i.citations)s.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:s,finishReason:ha(o.finish_reason),usage:{inputTokens:i.usage.prompt_tokens,outputTokens:i.usage.completion_tokens,totalTokens:i.usage.total_tokens,reasoningTokens:i.usage.completion_tokens_details?.reasoning_tokens??void 0},request:{body:t},response:{...ma(i),headers:r,body:a},warnings:n}}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 z({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:N(this.config.headers(),e.headers),body:r,failedResponseHandler:Ca,successfulResponseHandler:W(Oa),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},c=!0,l={},u={},d=this;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){n.enqueue({type:`error`,error:t.error});return}let i=t.value;if(c&&=(n.enqueue({type:`response-metadata`,...ma(i)}),!1),i.citations!=null)for(let e of i.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});i.usage!=null&&(s.inputTokens=i.usage.prompt_tokens,s.outputTokens=i.usage.completion_tokens,s.totalTokens=i.usage.total_tokens,s.reasoningTokens=i.usage.completion_tokens_details?.reasoning_tokens??void 0);let a=i.choices[0];if(a?.finish_reason!=null&&(o=ha(a.finish_reason)),a?.delta==null)return;let f=a.delta,p=a.index;if(f.content!=null&&f.content.length>0){let e=f.content,t=r.messages[r.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let a=`text-${i.id||p}`;l[a]??(l[a]={type:`text`},n.enqueue({type:`text-start`,id:a})),n.enqueue({type:`text-delta`,id:a,delta:e})}if(f.reasoning_content!=null&&f.reasoning_content.length>0){let e=`reasoning-${i.id||p}`;if(u[e]===f.reasoning_content)return;u[e]=f.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:f.reasoning_content})}if(f.tool_calls!=null)for(let e of f.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:o,usage:s})}})),request:{body:r},response:{headers:i}}}},Ea=r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish()}).nullish()}),Da=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal(`assistant`),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string(),type:r.z.literal(`function`),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),index:r.z.number(),finish_reason:r.z.string().nullish()})),object:r.z.literal(`chat.completion`),usage:Ea,citations:r.z.array(r.z.string().url()).nullish()}),Oa=r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({role:r.z.enum([`assistant`]).optional(),content:r.z.string().nullish(),reasoning_content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string(),type:r.z.literal(`function`),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish()}),finish_reason:r.z.string().nullish(),index:r.z.number()})),usage:Ea.nullish(),citations:r.z.array(r.z.string().url()).nullish()}),ka=`2.0.23`,Aa={errorSchema:Sa,errorToMessage:e=>e.error.message};function ja(e={}){let t=q(e.baseURL??`https://api.x.ai/v1`),n=()=>F({Authorization:`Bearer ${L({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers},`ai-sdk/xai/${ka}`),r=r=>new Ta(r,{provider:`xai.chat`,baseURL:t,headers:n,generateId:I,fetch:e.fetch}),i=r=>new da(r,{provider:`xai.image`,url:({path:e})=>`${t}${e}`,headers:n,fetch:e.fetch,errorStructure:Aa}),a=e=>r(e);return a.languageModel=r,a.chat=r,a.textEmbeddingModel=e=>{throw new A({modelId:e,modelType:`textEmbeddingModel`})},a.imageModel=i,a.image=i,a}var Ma=ja();function Na(t){if(!t.body)throw Error(`Response body is required`);let r=t.headers.get(e.StreamResponseFormatHeader);if(!r||r===`ui-message`)return t.body.pipeThrough(new TextDecoderStream).pipeThrough(new c).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=>(0,n.streamText)({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(r){case`openai-chat`:return i(ea({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`openai-response`:return i(ea({apiKey:`ignored`,fetch:(e,n)=>t}).responses(`fake-model`));case`anthropic`:return i(wn({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`google`:return i(rr({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));case`xai`:return i(ja({apiKey:`ignored`,fetch:(e,n)=>t}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${r}`)}}const Pa=`BLINK_API_URL`;var Fa=class{baseUrl;client;constructor(e){this.client=v(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),Na(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.selectedOptions?{selected_options:JSON.stringify(e.selectedOptions)}:{}},{init:{signal:t?.signal}});if(!n.ok||n.status!==200){if(n.status===404)return;await this.handleError(n)}return 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 Ia=e=>{let t=new c;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),La(t.readable)},La=e=>e.pipeThrough(new TransformStream({async transform(e,t){try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));exports.APIServerURLEnvironmentVariable=`BLINK_API_URL`,exports.Client=Fa,exports.StreamResponseFormatHeader=e.StreamResponseFormatHeader,exports.streamSSE=Ia;
|