UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

14 lines • 169 kB
import{APICallError as e,InvalidArgumentError as t,InvalidPromptError as n,InvalidResponseDataError as r,TooManyEmbeddingValuesForCallError as i,UnsupportedFunctionalityError as a,isJSONObject as o}from"../provider/index.js";import{A as s,C as c,D as l,T as u,a as d,b as f,c as p,f as m,g as h,h as g,k as _,p as v,r as y,s as b,u as x,w as S,y as C}from"../../_chunks/workflow/schemas-4CmFgxN_.js";import{n as w}from"../../_chunks/workflow/coerce-D0oqvQ_w.js";import{$ as T,C as E,E as D,F as O,G as k,K as A,L as j,M,N,O as ee,Q as te,S as P,V as F,W as I,X as ne,Y as L,_ as R,_t as z,a as re,at as B,b as ie,bt as ae,c as oe,ct as se,dt as V,et as ce,f as le,ft as ue,g as de,h as fe,ht as pe,i as H,l as U,lt as me,m as he,mt as ge,n as _e,nt as ve,o as ye,ot as be,p as xe,rt as Se,s as Ce,t as we,tt as W,u as Te,v as Ee,vt as De,w as Oe,x as G,xt as K,y as ke,yt as Ae,z as je}from"../../_chunks/workflow/dist-C3919PVU.js";import{n as q,r as J,t as Me}from"../../_chunks/workflow/experimental-evaluation-D8_K_Pe9.js";var Ne=f({error:f({message:u(),type:u().nullish(),param:b().nullish(),code:_([u(),C()]).nullish()})}),Y=fe({errorSchema:Ne,errorToMessage:e=>e.error.message});function Pe(e){let t=Fe(e),n=Ie(e),r=n?.minor==null&&((n?.variant)?.startsWith(`chat`)??!1),i=(n?.variant)?.startsWith(`nano`)??!1,a=n!=null&&n.major>=6,o=t!=null&&t>=3||n!=null&&n.major>=5&&!r,s=e.startsWith(`gpt-4`)||n!=null&&n.major>=5&&!i&&!r||t!=null&&t>=3,c=t!=null||n!=null&&n.major>=5&&!r,l=!a&&n!=null&&(n.major>5||n.major===5&&(n.minor??0)>=1);return{supportsFlexProcessing:o,supportsPriorityProcessing:s,supportsConfigurationUpdate:a,supportsAsyncToolCalling:a,supportedReasoningEfforts:a?[`low`,`medium`,`high`,`xhigh`,`max`]:void 0,isReasoningModel:c,systemMessageMode:c?`developer`:`system`,supportsNonReasoningParameters:l}}function Fe(e){let t=/^o(\d+)(?:-|$)/.exec(e);return t==null?void 0:Number(t[1])}function Ie(e){let t=/^gpt-(\d+)(?:\.(\d+))?(?:-(.+))?$/.exec(e);if(t!=null)return{major:Number(t[1]),minor:t[2]==null?void 0:Number(t[2]),variant:t[3]}}function Le(e){let t=He(e);if(t==null)return;let n=Ue(t);return E({message:t.message,type:t.type??void 0,code:t.code??void 0,statusCode:n,isRetryable:Ye(t,n),data:e})}async function Re({stream:e,getError:t,isOutputChunk:n,isAcceptedChunk:r,acceptedGraceMs:i=50,url:a,requestBodyValues:o,responseHeaders:s}){let[c,l]=e.tee(),u=c.getReader(),d=!1;try{let e=!1;for(;;){let c;if(e){let e=await Be(u.read(),i);if(e.timedOut)return l;c=e.value}else c=await u.read();if(c.done)return l;let f=c.value;if(!f.success)return l;let p=t(f.value);if(p!=null)throw d=!0,ze(u).catch(()=>{}),ze(l.getReader()).catch(()=>{}),Ve({frame:p,url:a,requestBodyValues:o,responseHeaders:s});if(n(f.value))return l;!e&&r?.(f.value)===!0&&(e=!0)}}finally{d||(u.cancel().catch(()=>{}),u.releaseLock())}}async function ze(e){try{for(;!(await e.read()).done;);}catch{}finally{e.releaseLock()}}async function Be(e,t){let n,r=e.then(e=>({timedOut:!1,value:e}));try{let e=await Promise.race([r,new Promise(e=>{n=setTimeout(()=>e({timedOut:!0}),t)})]);return e.timedOut&&r.catch(()=>{}),e}finally{clearTimeout(n)}}function Ve({frame:t,url:n,requestBodyValues:r,responseHeaders:i}){let a=Le(t);return new e({message:a?.message??`OpenAI stream failed before any output was generated`,url:n,requestBodyValues:r,statusCode:a?.statusCode??500,responseHeaders:i,responseBody:JSON.stringify(t),data:t,isRetryable:a?.isRetryable})}function He(e){let t=We(e);if(t==null)return;if(t.type===`response.failed`){let e=We(We(t.response)?.error);return typeof e?.message==`string`?{message:e.message,code:Ge(e.code),type:`response.failed`}:void 0}let n=We(t.error)??t;return typeof n.message==`string`&&(We(t.error)!=null||typeof n.type==`string`||`code`in n||`param`in n)?{message:n.message,code:Ge(n.code),type:typeof n.type==`string`?n.type:void 0}:void 0}function Ue(e){let t=qe(e.code);if(t!=null)return t;let n=[e.code,e.type].filter(e=>typeof e==`string`||typeof e==`number`).join(` `).toLowerCase();return[`insufficient_quota`,`rate_limit`].some(e=>n.includes(e))?429:n.includes(`authentication`)?401:n.includes(`permission`)?403:n.includes(`not_found`)?404:[`invalid`,`bad_request`,`context_length`].some(e=>n.includes(e))?400:n.includes(`overload`)?503:n.includes(`timeout`)?504:500}function We(e){return typeof e==`object`&&e?e:void 0}function Ge(e){return typeof e==`string`||typeof e==`number`?e:void 0}function Ke(e){return Number.isInteger(e)&&e>=400&&e<=599}function qe(e){let t=typeof e==`string`&&/^\d{3}$/.test(e)?Number(e):e;return typeof t==`number`&&Ke(t)?t:void 0}function Je(e){return e===408||e===409||e===429||e>=500}function Ye(e,t){return e.code===`insufficient_quota`||e.type===`insufficient_quota`?!1:Je(t)}function Xe(e){if(e==null)return ke();let t=e.prompt_tokens??0,n=e.completion_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0,i=e.prompt_tokens_details?.cache_write_tokens??void 0,a=e.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:t,noCache:t-r-(i??0),cacheRead:r,cacheWrite:i},outputTokens:{total:n,text:Math.max(0,n-a),reasoning:a},raw:e}}function Ze(e){return JSON.stringify(typeof e==`object`&&e&&!Array.isArray(e)?e:{})}function X(e){return e?.openai?.promptCacheBreakpoint}function Qe({prompt:e,systemMessageMode:t=`system`}){let n=[],r=[];for(let{role:i,content:o,providerOptions:s}of e)switch(i){case`system`:switch(t){case`system`:{let e=X(s);n.push({role:`system`,content:e==null?o:[{type:`text`,text:o,prompt_cache_breakpoint:e}]});break}case`developer`:{let e=X(s);n.push({role:`developer`,content:e==null?o:[{type:`text`,text:o,prompt_cache_breakpoint:e}]});break}case`remove`:r.push({type:`other`,message:`system messages are removed for this model`});break;default:throw Error(`Unsupported system message mode: ${t}`)}break;case`user`:if(o.length===1&&o[0].type===`text`&&X(o[0].providerOptions)==null){n.push({role:`user`,content:o[0].text});break}n.push({role:`user`,content:o.map((e,t)=>{switch(e.type){case`text`:{let t=X(e.providerOptions);return{type:`text`,text:e.text,...t!=null&&{prompt_cache_breakpoint:t}}}case`file`:{let n=X(e.providerOptions);switch(e.data.type){case`reference`:return{type:`file`,file:{file_id:be({reference:e.data.reference,provider:`openai`})},...n!=null&&{prompt_cache_breakpoint:n}};case`text`:throw new a({functionality:`text file parts`});case`url`:case`data`:{let r=O(e.mediaType);if(r===`image`)return{type:`image_url`,image_url:{url:e.data.type===`url`?e.data.url.toString():`data:${B({part:e})};base64,${U(e.data.data)}`,detail:e.providerOptions?.openai?.imageDetail},...n!=null&&{prompt_cache_breakpoint:n}};if(r===`audio`){if(e.data.type===`url`)throw new a({functionality:`audio file parts with URLs`});let t=B({part:e});switch(t){case`audio/wav`:return{type:`input_audio`,input_audio:{data:U(e.data.data),format:`wav`},...n!=null&&{prompt_cache_breakpoint:n}};case`audio/mp3`:case`audio/mpeg`:return{type:`input_audio`,input_audio:{data:U(e.data.data),format:`mp3`},...n!=null&&{prompt_cache_breakpoint:n}};default:throw new a({functionality:`audio content parts with media type ${t}`})}}{let r=B({part:e});if(r!==`application/pdf`)throw new a({functionality:`file part media type ${r}`});if(e.data.type===`url`)throw new a({functionality:`PDF file parts with URLs`});return{type:`file`,file:{filename:e.filename??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${U(e.data.data)}`},...n!=null&&{prompt_cache_breakpoint:n}}}}}}}})});break;case`assistant`:{let e=``,t=[],r=!1,i=[];for(let n of o)switch(n.type){case`text`:{let i=X(n.providerOptions);e+=n.text,t.push({type:`text`,text:n.text,...i!=null&&{prompt_cache_breakpoint:i}}),r||=i!=null;break}case`tool-call`:i.push({id:n.toolCallId,type:`function`,function:{name:n.toolName,arguments:Ze(n.input)}})}n.push({role:`assistant`,content:r?t:i.length>0?e||null:e,tool_calls:i.length>0?i:void 0});break}case`tool`:for(let e of o){if(e.type===`tool-approval-response`)continue;let t=e.output,r=(t.type===`content`?t.value.map(e=>X(e.providerOptions)).find(e=>e!=null):X(t.providerOptions))??X(e.providerOptions),i;switch(t.type){case`text`:case`error-text`:i=t.value;break;case`execution-denied`:i=t.reason??`Tool call execution denied.`;break;case`content`:case`json`:case`error-json`:i=JSON.stringify(t.value)}n.push({role:`tool`,tool_call_id:e.toolCallId,content:r==null?i:[{type:`text`,text:i,prompt_cache_breakpoint:r}]})}break;default:throw Error(`Unsupported role: ${i}`)}return{messages:n,warnings:r}}function $e({id:e,model:t,created:n}){return Ee({id:e,model:t,created:n||void 0})}function et(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`other`}}var tt=I(()=>K(f({id:u().nullish(),created:C().nullish(),model:u().nullish(),choices:p(f({message:f({role:h(`assistant`).nullish(),content:u().nullish(),tool_calls:p(f({id:u().nullish(),type:h(`function`),function:f({name:u(),arguments:u()})})).nullish(),annotations:p(f({type:h(`url_citation`),url_citation:f({start_index:C(),end_index:C(),url:u(),title:u()})})).nullish()}),index:C(),logprobs:f({content:p(f({token:u(),logprob:C(),top_logprobs:p(f({token:u(),logprob:C()}))})).nullish()}).nullish(),finish_reason:u().nullish()})),usage:f({prompt_tokens:C().nullish(),completion_tokens:C().nullish(),total_tokens:C().nullish(),prompt_tokens_details:f({cached_tokens:C().nullish(),cache_write_tokens:C().nullish()}).nullish(),completion_tokens_details:f({reasoning_tokens:C().nullish(),accepted_prediction_tokens:C().nullish(),rejected_prediction_tokens:C().nullish()}).nullish()}).nullish()}))),nt=I(()=>K(_([f({id:u().nullish(),created:C().nullish(),model:u().nullish(),choices:p(f({delta:f({role:y([`assistant`]).nullish(),content:u().nullish(),tool_calls:p(f({index:C(),id:u().nullish(),type:h(`function`).nullish(),function:f({name:u().nullish(),arguments:u().nullish()})})).nullish(),annotations:p(f({type:h(`url_citation`),url_citation:f({start_index:C(),end_index:C(),url:u(),title:u()})})).nullish()}).nullish(),logprobs:f({content:p(f({token:u(),logprob:C(),top_logprobs:p(f({token:u(),logprob:C()}))})).nullish()}).nullish(),finish_reason:u().nullish(),index:C()})),usage:f({prompt_tokens:C().nullish(),completion_tokens:C().nullish(),total_tokens:C().nullish(),prompt_tokens_details:f({cached_tokens:C().nullish(),cache_write_tokens:C().nullish()}).nullish(),completion_tokens_details:f({reasoning_tokens:C().nullish(),accepted_prediction_tokens:C().nullish(),rejected_prediction_tokens:C().nullish()}).nullish()}).nullish()}),Ne]))),rt=I(()=>K(f({logitBias:c(w(),C()).optional(),logprobs:_([x(),C()]).optional(),parallelToolCalls:x().optional(),user:u().optional(),reasoningEffort:y([`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`]).optional(),maxCompletionTokens:C().optional(),store:x().optional(),metadata:c(u().max(64),u().max(512)).optional(),prediction:c(u(),b()).optional(),serviceTier:y([`auto`,`flex`,`priority`,`fast`,`ultrafast`,`default`]).optional(),strictJsonSchema:x().optional(),textVerbosity:y([`low`,`medium`,`high`]).optional(),promptCacheKey:u().optional(),promptCacheOptions:f({mode:y([`implicit`,`explicit`]).optional(),ttl:h(`30m`).optional()}).optional(),promptCacheRetention:y([`in_memory`,`24h`]).optional(),safetyIdentifier:u().optional(),systemMessageMode:y([`system`,`developer`,`remove`]).optional(),forceReasoning:x().optional()})));function it(e){let t=!1;return{schema:n(e),warnings:t?[{type:`compatibility`,feature:`JSON Schema propertyNames`,details:`OpenAI does not support JSON Schema propertyNames. It was removed before sending the schema, so OpenAI will not enforce property-name constraints.`}]:[]};function n(e){let n=e.propertyNames;if(n!=null){if(typeof n==`boolean`||n.type!==`string`)throw new a({functionality:`JSON Schema propertyNames that does not use a string schema`});t=!0}let o={...e};delete o.propertyNames,o.properties!=null&&(o.properties=r(o.properties)),o.patternProperties!=null&&(o.patternProperties=r(o.patternProperties)),o.additionalProperties!=null&&(o.additionalProperties=i(o.additionalProperties)),o.additionalItems!=null&&(o.additionalItems=i(o.additionalItems)),o.items!=null&&(o.items=Array.isArray(o.items)?o.items.map(i):i(o.items)),o.contains!=null&&(o.contains=i(o.contains)),o.not!=null&&(o.not=i(o.not)),o.allOf!=null&&(o.allOf=o.allOf.map(i)),o.anyOf!=null&&(o.anyOf=o.anyOf.map(i)),o.oneOf!=null&&(o.oneOf=o.oneOf.map(i)),o.definitions!=null&&(o.definitions=r(o.definitions)),o.$defs!=null&&(o.$defs=r(o.$defs)),o.dependencies!=null&&(o.dependencies=Object.fromEntries(Object.entries(o.dependencies).map(([e,t])=>[e,Array.isArray(t)?t:i(t)])));for(let e of[`if`,`then`,`else`]){let t=o[e];t!=null&&(o[e]=i(t))}return o}function r(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,i(t)]))}function i(e){return typeof e==`boolean`?e:n(e)}}function at({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)switch(t.type){case`function`:{let e=it(t.inputSchema);n.push(...e.warnings),r.push({type:`function`,function:{name:t.name,description:t.description,parameters:e.schema,...t.strict==null?{}:{strict:t.strict}}});break}default:n.push({type:`unsupported`,feature:`tool type: ${t.type}`})}if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:case`required`:return{tools:r,toolChoice:i,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:throw new a({functionality:`tool choice type: ${i}`})}}var ot=class e{constructor(e,t){this.specificationVersion=`v4`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[J](e){return V({modelId:e.modelId,config:e.config})}static[q](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,seed:l,tools:u,toolChoice:d,reasoning:f,providerOptions:p}){let m=[],h=await T({provider:`openai`,providerOptions:p,schema:rt})??{},g=Pe(this.modelId),_=h.reasoningEffort??(j(f)?f:void 0);_!=null&&g.supportedReasoningEfforts!=null&&!g.supportedReasoningEfforts.includes(_)&&(m.push({type:`unsupported`,feature:`reasoningEffort`,details:`${this.modelId} only supports the following reasoning efforts: ${g.supportedReasoningEfforts.join(`, `)}`}),_=void 0);let v=h.forceReasoning??g.isReasoningModel;i!=null&&m.push({type:`unsupported`,feature:`topK`});let{messages:y,warnings:b}=Qe({prompt:e,systemMessageMode:h.systemMessageMode??(v?`developer`:g.systemMessageMode)});m.push(...b);let x=h.strictJsonSchema??!0,S=c?.type===`json`&&c.schema!=null?it(c.schema):void 0;S!=null&&m.push(...S.warnings);let C={model:this.modelId,logit_bias:h.logitBias,logprobs:h.logprobs===!0||typeof h.logprobs==`number`||void 0,top_logprobs:typeof h.logprobs==`number`?h.logprobs:typeof h.logprobs==`boolean`&&h.logprobs?0:void 0,user:h.user,parallel_tool_calls:h.parallelToolCalls,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,response_format:c?.type===`json`?S==null?{type:`json_object`}:{type:`json_schema`,json_schema:{schema:S.schema,strict:x,name:c.name??`response`,description:c.description}}:void 0,stop:s,seed:l,verbosity:h.textVerbosity,max_completion_tokens:h.maxCompletionTokens,store:h.store,metadata:h.metadata,prediction:h.prediction,reasoning_effort:_,service_tier:h.serviceTier,prompt_cache_key:h.promptCacheKey,prompt_cache_options:h.promptCacheOptions,prompt_cache_retention:h.promptCacheRetention,safety_identifier:h.safetyIdentifier,messages:y};g.supportedReasoningEfforts!=null&&C.prompt_cache_retention!=null&&(C.prompt_cache_retention=void 0,m.push({type:`unsupported`,feature:`promptCacheRetention`,details:`promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead`})),v?((_!==`none`||!g.supportsNonReasoningParameters)&&(C.temperature!=null&&(C.temperature=void 0,m.push({type:`unsupported`,feature:`temperature`,details:`temperature is not supported for reasoning models`})),C.top_p!=null&&(C.top_p=void 0,m.push({type:`unsupported`,feature:`topP`,details:`topP is not supported for reasoning models`})),C.logprobs!=null&&(C.logprobs=void 0,m.push({type:`other`,message:`logprobs is not supported for reasoning models`}))),C.frequency_penalty!=null&&(C.frequency_penalty=void 0,m.push({type:`unsupported`,feature:`frequencyPenalty`,details:`frequencyPenalty is not supported for reasoning models`})),C.presence_penalty!=null&&(C.presence_penalty=void 0,m.push({type:`unsupported`,feature:`presencePenalty`,details:`presencePenalty is not supported for reasoning models`})),C.logit_bias!=null&&(C.logit_bias=void 0,m.push({type:`other`,message:`logitBias is not supported for reasoning models`})),C.top_logprobs!=null&&(C.top_logprobs=void 0,m.push({type:`other`,message:`topLogprobs is not supported for reasoning models`})),C.max_tokens!=null&&(C.max_completion_tokens??=C.max_tokens,C.max_tokens=void 0)):(this.modelId.startsWith(`gpt-4o-search-preview`)||this.modelId.startsWith(`gpt-4o-mini-search-preview`))&&C.temperature!=null&&(C.temperature=void 0,m.push({type:`unsupported`,feature:`temperature`,details:`temperature is not supported for the search preview models and has been removed.`})),h.serviceTier===`flex`&&!g.supportsFlexProcessing&&(m.push({type:`unsupported`,feature:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),C.service_tier=void 0),(h.serviceTier===`priority`||h.serviceTier===`fast`)&&!g.supportsPriorityProcessing&&(m.push({type:`unsupported`,feature:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),C.service_tier=void 0);let{tools:w,toolChoice:E,toolWarnings:D}=at({tools:u,toolChoice:d});return{args:{...C,tools:w,tool_choice:E},warnings:[...m,...D]}}async doGenerate(e){var t;let{args:n,warnings:i}=await this.getArgs(e),{responseHeaders:a,value:o,rawValue:s}=await W({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:H((t=this.config).headers?.call(t),e.headers),body:n,failedResponseHandler:Y,successfulResponseHandler:R(tt),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=o.choices[0];if(c==null)throw new r({data:s,message:`Response did not contain any choices.`});let l=[],u=c.message.content;u!=null&&u.length>0&&l.push({type:`text`,text:u});for(let e of c.message.tool_calls??[])l.push({type:`tool-call`,toolCallId:e.id||M(),toolName:e.function.name,input:e.function.arguments});for(let e of c.message.annotations??[])l.push({type:`source`,sourceType:`url`,id:M(),url:e.url_citation.url,title:e.url_citation.title});let d=o.usage?.completion_tokens_details,f={openai:{}};return d?.accepted_prediction_tokens!=null&&(f.openai.acceptedPredictionTokens=d?.accepted_prediction_tokens),d?.rejected_prediction_tokens!=null&&(f.openai.rejectedPredictionTokens=d?.rejected_prediction_tokens),c.logprobs?.content!=null&&(f.openai.logprobs=c.logprobs.content),{content:l,finishReason:{unified:et(c.finish_reason),raw:c.finish_reason??void 0},usage:Xe(o.usage),request:{body:n},response:{...$e(o),headers:a,body:s},warnings:i,providerMetadata:f}}async doStream(e){var t;let{args:n,warnings:r}=await this.getArgs(e),i={...n,stream:!0,stream_options:{include_usage:!0}},a=this.config.url({path:`/chat/completions`,modelId:this.modelId}),{responseHeaders:o,value:s}=await W({url:a,headers:H((t=this.config).headers?.call(t),e.headers),body:i,failedResponseHandler:Y,successfulResponseHandler:he(nt),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=await Re({stream:s,getError:e=>`error`in e?e.error:void 0,isOutputChunk:st,url:a,requestBodyValues:i,responseHeaders:o}),l,u={unified:`other`,raw:void 0},d,f=!1,p=!1,m={openai:{}};return{stream:c.pipeThrough(new TransformStream({start(e){l=new _e(e,{generateId:M,typeValidation:`if-present`}),e.enqueue({type:`stream-start`,warnings:r})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){u={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){u={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:Le(r.error)??r.error});return}if(!f){let e=$e(r);Object.values(e).some(Boolean)&&(f=!0,n.enqueue({type:`response-metadata`,...$e(r)}))}r.usage!=null&&(d=r.usage,r.usage.completion_tokens_details?.accepted_prediction_tokens!=null&&(m.openai.acceptedPredictionTokens=r.usage.completion_tokens_details?.accepted_prediction_tokens),r.usage.completion_tokens_details?.rejected_prediction_tokens!=null&&(m.openai.rejectedPredictionTokens=r.usage.completion_tokens_details?.rejected_prediction_tokens));let i=r.choices[0];if(i?.finish_reason!=null&&(u={unified:et(i.finish_reason),raw:i.finish_reason}),i?.logprobs?.content!=null&&(m.openai.logprobs=i.logprobs.content),i?.delta==null)return;let a=i.delta;if(a.content!=null&&(p||=(n.enqueue({type:`text-start`,id:`0`}),!0),n.enqueue({type:`text-delta`,id:`0`,delta:a.content})),a.tool_calls!=null)for(let e of a.tool_calls)l.processDelta(e);if(a.annotations!=null)for(let e of a.annotations)n.enqueue({type:`source`,sourceType:`url`,id:M(),url:e.url_citation.url,title:e.url_citation.title})},flush(e){p&&e.enqueue({type:`text-end`,id:`0`}),l.flush(),e.enqueue({type:`finish`,finishReason:u,usage:Xe(d),...m==null?{}:{providerMetadata:m}})}})),request:{body:i},response:{headers:o}}}};function st(e){return`error`in e?!1:e.choices.some(e=>{let t=e.delta;return t?.content!=null&&t.content.length>0||t?.tool_calls!=null&&t.tool_calls.length>0||t?.annotations!=null&&t.annotations.length>0})}function ct(e){if(e==null)return ke();let t=e.prompt_tokens??0,n=e.completion_tokens??0;return{inputTokens:{total:e.prompt_tokens??void 0,noCache:t,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:e.completion_tokens??void 0,text:n,reasoning:void 0},raw:e}}function lt({prompt:e,user:t=`user`,assistant:r=`assistant`}){let i=``;e[0].role===`system`&&(i+=`${e[0].content}

`,e=e.slice(1));for(let{role:o,content:s}of e)switch(o){case`system`:throw new n({message:"Unexpected system message in prompt: ${content}",prompt:e});case`user`:{let e=s.map(e=>{if(e.type===`text`)return e.text}).filter(Boolean).join(``);i+=`${t}:
${e}

`;break}case`assistant`:{let e=s.map(e=>{switch(e.type){case`text`:return e.text;case`tool-call`:throw new a({functionality:`tool-call messages`})}}).join(``);i+=`${r}:
${e}

`;break}case`tool`:throw new a({functionality:`tool messages`});default:throw Error(`Unsupported role: ${o}`)}return i+=`${r}:
`,{prompt:i,stopSequences:[`
${t}:`]}}function ut(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`other`}}var dt=I(()=>K(f({id:u().nullish(),created:C().nullish(),model:u().nullish(),choices:p(f({text:u(),finish_reason:u(),logprobs:f({tokens:p(u()),token_logprobs:p(C()),top_logprobs:p(c(u(),C())).nullish()}).nullish()})),usage:f({prompt_tokens:C(),completion_tokens:C(),total_tokens:C()}).nullish()}))),ft=I(()=>K(_([f({id:u().nullish(),created:C().nullish(),model:u().nullish(),choices:p(f({text:u(),finish_reason:u().nullish(),index:C(),logprobs:f({tokens:p(u()),token_logprobs:p(C()),top_logprobs:p(c(u(),C())).nullish()}).nullish()})),usage:f({prompt_tokens:C(),completion_tokens:C(),total_tokens:C()}).nullish()}),Ne]))),pt=I(()=>K(f({echo:x().optional(),logitBias:c(u(),C()).optional(),suffix:u().optional(),user:u().optional(),logprobs:_([x(),C()]).optional()}))),mt=class e{constructor(e,t){this.specificationVersion=`v4`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}static[J](e){return V({modelId:e.modelId,config:e.config})}static[q](t){return new e(t.modelId,t.config)}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 T({provider:`openai`,providerOptions:f,schema:pt}),...await T({provider:this.providerOptionsName,providerOptions:f,schema:pt})};i!=null&&p.push({type:`unsupported`,feature:`topK`}),l?.length&&p.push({type:`unsupported`,feature:`tools`}),u!=null&&p.push({type:`unsupported`,feature:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported`,feature:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=lt({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){var t;let{args:n,warnings:r}=await this.getArgs(e),{responseHeaders:i,value:a,rawValue:o}=await W({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:H((t=this.config).headers?.call(t),e.headers),body:n,failedResponseHandler:Y,successfulResponseHandler:R(dt),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=a.choices[0],c={openai:{}};return s.logprobs!=null&&(c.openai.logprobs=s.logprobs),{content:[{type:`text`,text:s.text}],usage:ct(a.usage),finishReason:{unified:ut(s.finish_reason),raw:s.finish_reason??void 0},request:{body:n},response:{...Ee(a),headers:i,body:o},providerMetadata:c,warnings:r}}async doStream(e){var t;let{args:n,warnings:r}=await this.getArgs(e),i={...n,stream:!0,stream_options:{include_usage:!0}},a=this.config.url({path:`/completions`,modelId:this.modelId}),{responseHeaders:o,value:s}=await W({url:a,headers:H((t=this.config).headers?.call(t),e.headers),body:i,failedResponseHandler:Y,successfulResponseHandler:he(ft),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=await Re({stream:s,getError:e=>`error`in e?e.error:void 0,isOutputChunk:ht,url:a,requestBodyValues:i,responseHeaders:o}),l={unified:`other`,raw:void 0},u={openai:{}},d,f=!0;return{stream:c.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){l={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){l={unified:`error`,raw:void 0},n.enqueue({type:`error`,error:Le(r.error)??r.error});return}f&&(f=!1,n.enqueue({type:`response-metadata`,...Ee(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(d=r.usage);let i=r.choices[0];i?.finish_reason!=null&&(l={unified:ut(i.finish_reason),raw:i.finish_reason}),i?.logprobs!=null&&(u.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){f||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:l,providerMetadata:u,usage:ct(d)})}})),request:{body:i},response:{headers:o}}}};function ht(e){return!(`error`in e)&&e.choices.some(e=>e.text.length>0)}var gt=I(()=>K(f({dimensions:C().optional(),user:u().optional()}))),_t=I(()=>K(f({data:p(f({embedding:p(C())})),usage:f({prompt_tokens:C()}).nullish()}))),vt,yt=class e{constructor(e,t){this.specificationVersion=`v4`,this.maxEmbeddingsPerCall=2048,this[vt]=3e5,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}static[(vt=we,J)](e){return V({modelId:e.modelId,config:e.config})}static[q](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var a;if(e.length>this.maxEmbeddingsPerCall)throw new i({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let o=await T({provider:`openai`,providerOptions:r,schema:gt})??{},{responseHeaders:s,value:c,rawValue:l}=await W({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:H((a=this.config).headers?.call(a),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:o.dimensions,user:o.user},failedResponseHandler:Y,successfulResponseHandler:R(_t),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:c.data.map(e=>e.embedding),usage:c.usage?{tokens:c.usage.prompt_tokens}:void 0,response:{headers:s,body:l}}}},bt=I(()=>K(f({id:u(),object:u().nullish(),bytes:C().nullish(),created_at:C().nullish(),filename:u().nullish(),purpose:u().nullish(),status:u().nullish(),expires_at:C().nullish()}))),xt=I(()=>K(f({id:u(),object:u().nullish(),deleted:x()}))),St=I(()=>K(f({purpose:u().optional(),expiresAfter:C().optional()})));function Ct(e){let t=encodeURIComponent(e);return t===`.`?`%252E`:t===`..`?`%252E%252E`:t}var wt=class{constructor(e){this.config=e,this.specificationVersion=`v4`}get provider(){return this.config.provider}getFileId(e){let n=e.openai;if(n==null||n.trim()===``)throw new t({argument:`file`,message:`file reference is missing an 'openai' file id.`});return n}getHeaders(e){return H(this.config.headers(),e)}async uploadFile({data:e,mediaType:t,filename:n,abortSignal:r,headers:i,providerOptions:a}){let o;try{o=await T({provider:`openai`,providerOptions:a,schema:St})}catch(t){throw e.type===`stream`&&await e.stream.cancel(t).catch(()=>{}),t}let s=o?.purpose??`assistants`,c=this.getHeaders(i),l=`${this.config.baseURL}/files`,u;if(e.type===`stream`){let i=[{type:`field`,name:`purpose`,value:s}];o?.expiresAfter!=null&&i.push({type:`field`,name:`expires_after[anchor]`,value:`created_at`},{type:`field`,name:`expires_after[seconds]`,value:String(o.expiresAfter)}),i.push({type:`file`,name:`file`,filename:n,mediaType:t,content:e.stream}),{value:u}=await ve({url:l,headers:c,parts:i,failedResponseHandler:Y,successfulResponseHandler:R(bt),abortSignal:r,fetch:this.config.fetch})}else{let i=oe(e),a=new Blob([i],{type:t}),d=new FormData;n==null?d.append(`file`,a):d.append(`file`,a,n),d.append(`purpose`,s),o?.expiresAfter!=null&&(d.append(`expires_after[anchor]`,`created_at`),d.append(`expires_after[seconds]`,String(o.expiresAfter))),{value:u}=await ce({url:l,headers:c,formData:d,failedResponseHandler:Y,successfulResponseHandler:R(bt),abortSignal:r,fetch:this.config.fetch})}return{warnings:[],providerReference:{openai:u.id},...u.filename??n?{filename:u.filename??n}:{},...t==null?{}:{mediaType:t},...u.bytes==null?{}:{byteSize:u.bytes},...u.created_at==null?{}:{createdAt:new Date(u.created_at*1e3)},...u.expires_at==null?{}:{expiresAt:new Date(u.expires_at*1e3)},providerMetadata:{openai:this.toFileMetadata(u)}}}async getFileMetadata({file:e,abortSignal:t,headers:n}){let r=this.getFileId(e),{value:i}=await N({url:`${this.config.baseURL}/files/${Ct(r)}`,headers:this.getHeaders(n),failedResponseHandler:Y,successfulResponseHandler:R(bt),abortSignal:t,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{openai:i.id},...i.filename==null?{}:{filename:i.filename},...i.bytes==null?{}:{byteSize:i.bytes},...i.created_at==null?{}:{createdAt:new Date(i.created_at*1e3)},...i.expires_at==null?{}:{expiresAt:new Date(i.expires_at*1e3)},providerMetadata:{openai:this.toFileMetadata(i)}}}async downloadFile({file:e,abortSignal:t,headers:n}){let r=this.getFileId(e),{value:i,responseHeaders:a}=await N({url:`${this.config.baseURL}/files/${Ct(r)}/content`,headers:this.getHeaders(n),failedResponseHandler:Y,successfulResponseHandler:xe(),abortSignal:t,fetch:this.config.fetch,validateUrl:!1}),o=(a?.[`content-type`])?.split(`;`)[0].trim();return{warnings:[],content:i,...o?{mediaType:o}:{}}}async deleteFile({file:e,abortSignal:t,headers:n}){let r=this.getFileId(e),{value:i}=await D({url:`${this.config.baseURL}/files/${Ct(r)}`,headers:this.getHeaders(n),failedResponseHandler:Y,successfulResponseHandler:R(xt),abortSignal:t,fetch:this.config.fetch});return{warnings:[],providerReference:{openai:i.id},deleted:i.deleted}}toFileMetadata(e){return{...e.filename==null?{}:{filename:e.filename},...e.purpose==null?{}:{purpose:e.purpose},...e.bytes==null?{}:{bytes:e.bytes},...e.created_at==null?{}:{createdAt:e.created_at},...e.status==null?{}:{status:e.status},...e.expires_at==null?{}:{expiresAt:e.expires_at}}}},Tt=I(()=>K(f({created:C().nullish(),data:p(f({b64_json:u(),revised_prompt:u().nullish()})),background:u().nullish(),output_format:u().nullish(),size:u().nullish(),quality:u().nullish(),usage:f({input_tokens:C().nullish(),output_tokens:C().nullish(),total_tokens:C().nullish(),input_tokens_details:f({image_tokens:C().nullish(),text_tokens:C().nullish()}).nullish()}).nullish()}))),Et={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"gpt-image-2.5-flare":10,"gpt-image-2.5-flare-2026-09-08":10,"gpt-image-2.5-sunburst":10,"gpt-image-2.5-sunburst-2026-09-08":10,"chatgpt-image-latest":10},Dt=[`chatgpt-image-`,`gpt-image-`];function Ot(e){return Dt.some(t=>e.startsWith(t))}function kt(e){return Et[e]??(e.startsWith(`gpt-image-`)?10:1)}var At=f({quality:y([`standard`,`hd`,`low`,`medium`,`high`,`xhigh`,`max`,`auto`]).optional(),background:y([`transparent`,`opaque`,`auto`]).optional(),outputFormat:y([`png`,`jpeg`,`webp`]).optional(),outputCompression:C().int().min(0).max(100).optional(),user:u().optional()});I(()=>K(At));var jt=I(()=>K(At.extend({style:y([`vivid`,`natural`]).optional(),moderation:y([`auto`,`low`]).optional()}))),Mt=I(()=>K(At.extend({inputFidelity:y([`high`,`low`]).optional()}))),Nt=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[J](e){return V({modelId:e.modelId,config:e.config})}static[q](t){return new e(t.modelId,t.config)}get maxImagesPerCall(){return kt(this.modelId)}get provider(){return this.config.provider}async doGenerate({prompt:e,files:t,mask:n,n:r,size:i,aspectRatio:a,seed:o,providerOptions:s,headers:c,abortSignal:l}){var u,d,f;let p=[];a!=null&&p.push({type:`unsupported`,feature:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),o!=null&&p.push({type:`unsupported`,feature:`seed`});let m=((u=this.config._internal)?.currentDate)?.call(u)??new Date;if(t!=null){let a=await T({provider:`openai`,providerOptions:s,schema:Mt})??{},{value:o,responseHeaders:u}=await ce({url:this.config.url({path:`/images/edits`,modelId:this.modelId}),headers:H((d=this.config).headers?.call(d),c),formData:Te({model:this.modelId,prompt:e,image:await Promise.all(t.map(e=>e.type===`file`?new Blob([e.data instanceof Uint8Array?new Blob([e.data],{type:e.mediaType}):new Blob([Ce(e.data)],{type:e.mediaType})],{type:e.mediaType}):ee(e.url))),mask:n==null?void 0:await Ft(n),n:r,size:i,quality:a.quality,background:a.background,output_format:a.outputFormat,output_compression:a.outputCompression,input_fidelity:a.inputFidelity,user:a.user}),failedResponseHandler:Y,successfulResponseHandler:R(Tt),abortSignal:l,fetch:this.config.fetch});return{images:o.data.map(e=>e.b64_json),warnings:p,usage:o.usage==null?void 0:{inputTokens:o.usage.input_tokens??void 0,outputTokens:o.usage.output_tokens??void 0,totalTokens:o.usage.total_tokens??void 0},response:{timestamp:m,modelId:this.modelId,headers:u},providerMetadata:{openai:{images:o.data.map((e,t)=>({...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:o.created??void 0,size:o.size??void 0,quality:o.quality??void 0,background:o.background??void 0,outputFormat:o.output_format??void 0,...Pt(o.usage?.input_tokens_details,t,o.data.length)}))}}}}let h=await T({provider:`openai`,providerOptions:s,schema:jt})??{},{value:g,responseHeaders:_}=await W({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:H((f=this.config).headers?.call(f),c),body:{model:this.modelId,prompt:e,n:r,size:i,quality:h.quality,style:h.style,background:h.background,moderation:h.moderation,output_format:h.outputFormat,output_compression:h.outputCompression,user:h.user,...Ot(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:Y,successfulResponseHandler:R(Tt),abortSignal:l,fetch:this.config.fetch});return{images:g.data.map(e=>e.b64_json),warnings:p,usage:g.usage==null?void 0:{inputTokens:g.usage.input_tokens??void 0,outputTokens:g.usage.output_tokens??void 0,totalTokens:g.usage.total_tokens??void 0},response:{timestamp:m,modelId:this.modelId,headers:_},providerMetadata:{openai:{images:g.data.map((e,t)=>({...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:g.created??void 0,size:g.size??void 0,quality:g.quality??void 0,background:g.background??void 0,outputFormat:g.output_format??void 0,...Pt(g.usage?.input_tokens_details,t,g.data.length)}))}}}}};function Pt(e,t,n){if(e==null)return{};let r={};if(e.image_tokens!=null){let i=Math.floor(e.image_tokens/n),a=e.image_tokens-i*(n-1);r.imageTokens=t===n-1?a:i}if(e.text_tokens!=null){let i=Math.floor(e.text_tokens/n),a=e.text_tokens-i*(n-1);r.textTokens=t===n-1?a:i}return r}async function Ft(e){if(!e)return;if(e.type===`url`)return ee(e.url);let t=e.data instanceof Uint8Array?e.data:Ce(e.data);return new Blob([t],{type:e.mediaType})}var It=I(()=>K(f({callId:u(),operation:m(`type`,[f({type:h(`create_file`),path:u(),diff:u()}),f({type:h(`delete_file`),path:u()}),f({type:h(`update_file`),path:u(),diff:u()})])}))),Lt=I(()=>K(f({status:y([`completed`,`failed`]),output:u().optional()})));I(()=>K(f({})));var Rt=G({id:`openai.apply_patch`,inputSchema:It,outputSchema:Lt}),zt=I(()=>K(f({code:u().nullish(),containerId:u()}))),Bt=I(()=>K(f({outputs:p(m(`type`,[f({type:h(`logs`),logs:u()}),f({type:h(`image`),url:u()})])).nullish()}))),Vt=I(()=>K(f({container:_([u(),f({fileIds:p(u()).optional()})]).optional()}))),Ht=P({id:`openai.code_interpreter`,inputSchema:zt,outputSchema:Bt}),Ut=(e={})=>Ht(e),Wt=f({id:u(),code:u().optional(),message:u().optional()}),Gt=m(`type`,[f({type:h(`click`),button:y([`left`,`right`,`wheel`,`back`,`forward`]),x:C(),y:C(),keys:p(u()).optional()}),f({type:h(`double_click`),x:C(),y:C(),keys:p(u()).optional()}),f({type:h(`drag`),path:p(f({x:C(),y:C()})),keys:p(u()).optional()}),f({type:h(`keypress`),keys:p(u())}),f({type:h(`move`),x:C(),y:C(),keys:p(u()).optional()}),f({type:h(`screenshot`)}),f({type:h(`scroll`),x:C(),y:C(),scrollX:C(),scrollY:C(),keys:p(u()).optional()}),f({type:h(`type`),text:u()}),f({type:h(`wait`)})]),Kt=I(()=>K(f({actions:p(Gt),pendingSafetyChecks:p(Wt),status:y([`in_progress`,`completed`,`incomplete`])}))),qt=I(()=>K(f({output:_([f({type:h(`computer_screenshot`),imageUrl:u(),fileId:u().optional(),detail:y([`auto`,`low`,`high`,`original`]).optional()}),f({type:h(`computer_screenshot`),fileId:u(),imageUrl:u().optional(),detail:y([`auto`,`low`,`high`,`original`]).optional()})]),acknowledgedSafetyChecks:p(Wt).optional()}))),Jt=G({id:`openai.computer`,inputSchema:Kt,outputSchema:qt}),Yt=(e={})=>Jt(e),Xt=I(()=>K(f({description:u().optional(),async:x().optional(),format:_([f({type:h(`grammar`),syntax:y([`regex`,`lark`]),definition:u()}),f({type:h(`text`)})]).optional()}))),Zt=I(()=>K(u())),Qt=ie({id:`openai.custom`,inputSchema:Zt}),$t=e=>Qt(e),en=f({key:u(),type:y([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`,`in`,`nin`]),value:_([u(),C(),x(),p(u())])}),tn=f({type:y([`and`,`or`]),filters:p(_([en,g(()=>tn)]))}),nn=I(()=>K(f({vectorStoreIds:p(u()),maxNumResults:C().optional(),ranking:f({ranker:u().optional(),scoreThreshold:C().optional()}).optional(),filters:_([en,tn]).optional()}))),rn=I(()=>K(f({queries:p(u()),results:p(f({attributes:c(u(),s()),fileId:u(),filename:u(),score:C(),text:u()})).nullable()}))),an=P({id:`openai.file_search`,inputSchema:f({}),outputSchema:rn}),on=I(()=>K(f({action:y([`generate`,`edit`,`auto`]).optional(),background:y([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:y([`low`,`high`]).optional(),inputImageMask:f({fileId:u().optional(),imageUrl:u().optional()}).optional(),model:u().optional(),moderation:y([`auto`,`low`]).optional(),outputCompression:C().int().min(0).max(100).optional(),outputFormat:y([`png`,`jpeg`,`webp`]).optional(),partialImages:C().int().min(0).max(3).optional(),quality:y([`auto`,`low`,`medium`,`high`,`xhigh`,`max`]).optional(),size:_([y([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]),u().regex(/^\d+x\d+$/)]).optional()}).strict())),sn=I(()=>K(f({}))),cn=I(()=>K(f({result:u()}))),ln=P({id:`openai.image_generation`,inputSchema:sn,outputSchema:cn}),un=(e={})=>ln(e),dn=I(()=>K(f({action:f({type:h(`exec`),command:p(u()),timeoutMs:C().optional(),user:u().optional(),workingDirectory:u().optional(),env:c(u(),u()).optional()})}))),fn=I(()=>K(f({output:u()}))),pn=G({id:`openai.local_shell`,inputSchema:dn,outputSchema:fn}),mn=I(()=>K(f({action:f({commands:p(u()),timeoutMs:C().optional(),maxOutputLength:C().optional()})}))),hn=I(()=>K(f({output:p(f({stdout:u(),stderr:u(),outcome:m(`type`,[f({type:h(`timeout`)}),f({type:h(`exit`),exitCode:C()})])}))}))),gn=p(m(`type`,[f({type:h(`skillReference`),providerReference:c(u(),u()),version:u().optional()}),f({type:h(`inline`),name:u(),description:u(),source:f({type:h(`base64`),mediaType:h(`application/zip`),data:u()})})])).optional(),_n=I(()=>K(f({environment:_([f({type:h(`containerAuto`),fileIds:p(u()).optional(),memoryLimit:y([`1g`,`4g`,`16g`,`64g`]).optional(),networkPolicy:m(`type`,[f({type:h(`disabled`)}),f({type:h(`allowlist`),allowedDomains:p(u()),domainSecrets:p(f({domain:u(),name:u(),value:u()})).optional()})]).optional(),skills:gn}),f({type:h(`containerReference`),containerId:u()}),f({type:h(`local`).optional(),skills:p(f({name:u(),description:u(),path:u()})).optional()})]).optional()}))),vn=G({id:`openai.shell`,inputSchema:mn,outputSchema:hn}),yn=I(()=>K(f({execution:y([`server`,`client`]).optional(),description:u().optional(),parameters:c(u(),s()).optional()}))),bn=I(()=>K(f({arguments:s().optional(),call_id:u().nullish()}))),xn=I(()=>K(f({tools:p(c(u(),s()))}))),Sn=G({id:`openai.tool_search`,inputSchema:bn,outputSchema:xn}),Cn=(e={})=>Sn(e),wn=I(()=>K(f({externalWebAccess:x().optional(),filters:f({allowedDomains:p(u()).optional(),blockedDomains:p(u()).optional()}).optional(),searchContextSize:y([`low`,`medium`,`high`]).optional(),userLocation:f({type:h(`approximate`),country:u().optional(),city:u().optional(),region:u().optional(),timezone:u().optional()}).optional()}))),Tn=I(()=>K(f({}))),En=I(()=>K(f({action:m(`type`,[f({type:h(`search`),query:u().optional(),queries:p(u()).optional()}),f({type:h(`openPage`),url:u().nullish()}),f({type:h(`findInPage`),url:u().nullish(),pattern:u().nullish()})]).optional(),sources:p(m(`type`,[f({type:h(`url`),url:u()}),f({type:h(`api`),name:u()})])).optional()}))),Dn=P({id:`openai.web_search`,inputSchema:Tn,outputSchema:En}),On=(e={})=>Dn(e),kn=I(()=>K(f({searchContextSize:y([`low`,`medium`,`high`]).optional(),userLocation:f({type:h(`approximate`),country:u().optional(),city:u().optional(),region:u().optional(),timezone:u().optional()}).optional()}))),An=I(()=>K(f({}))),jn=I(()=>K(f({action:m(`type`,[f({type:h(`search`),query:u().optional()}),f({type:h(`openPage`),url:u().nullish()}),f({type:h(`findInPage`),url:u().nullish(),pattern:u().nullish()})]).optional()}))),Mn=P({id:`openai.web_search_preview`,inputSchema:An,outputSchema:jn}),Nn=g(()=>_([u(),C(),x(),d(),p(Nn),c(u(),Nn)])),Pn=I(()=>K(f({serverLabel:u(),allowedTools:_([p(u()),f({readOnly:x().optional(),toolNames:p(u()).optional()})]).optional(),authorization:u().optional(),connectorId:u().optional(),headers:c(u(),u()).optional(),requireApproval:_([y([`always`,`never`]),f({never:f({toolNames:p(u()).optional()}).optional()})]).optional(),serverDescription:u().optional(),serverUrl:u().optional()}).refine(e=>e.serverUrl!=null||e.connectorId!=null,`One of serverUrl or connectorId must be provided.`))),Fn=I(()=>K(f({}))),In=I(()=>K(f({type:h(`call`),serverLabel:u(),name:u(),arguments:u(),output:u().nullish(),error:_([u(),Nn]).optional()}))),Ln=P({id:`openai.mcp`,inputSchema:Fn,outputSchema:In}),Rn=e=>Ln(e),zn=I(()=>K(f({code:u(),fingerprint:u()}))),Bn=I(()=>K(f({result:u(),status:y([`completed`,`incomplete`])}))),Vn=P({id:`openai.programmatic_tool_calling`,inputSchema:zn,outputSchema:Bn,supportsDeferredResults:!0}),Hn={applyPatch:Rt,customTool:$t,codeInterpreter:Ut,computer:Yt,fileSearch:an,imageGeneration:un,localShell:pn,shell:vn,webSearchPreview:Mn,webSearch:On,mcp:Rn,programmaticToolCalling:()=>ge(Vn({}),{type:`provider`,prepareProviderOptions:e=>{let t=e?.openai;return{...e,openai:{...t,allowedCallers:[...new Set([...t?.allowedCallers??[],`programmatic`])]}}}}),toolSearch:Cn};function Un(e){if(e==null)return ke();let t=e.input_tokens,n=e.output_tokens,r=e.input_tokens_details?.cached_tokens??0,i=e.input_tokens_details?.cache_write_tokens??void 0,a=e.output_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:t,noCache:t-r-(i??0),cacheRead:r,cacheWrite:i},outputTokens:{total:n,text:n-a,reasoning:a},raw:e}}function Wn({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`:`other`}}var Z=g(()=>_([u(),C(),x(),d(),p(Z),c(u(),Z.optional())])),Gn=c(u(),Z.optional()),Kn=v(Gn,f({input_tokens:C(),input_tokens_details:v(Gn,f({cached_tokens:C().nullish(),cache_write_tokens:C().nullish(),orchestration_input_tokens:C().nullish(),orchestration_input_cached_tokens:C().nullish()})).nullish(),output_tokens:C(),output_tokens_details:v(Gn,f({reasoning_tokens:C().nullish(),orchestration_output_tokens:C().nullish()})).nullish(),total_tokens:C().optional()})),qn=f({id:u(),code:u().nullish(),message:u().nullish()}),Jn=m(`type`,[f({type:h(`click`),button:y([`left`,`right`,`wheel`,`back`,`forward`]),x:C(),y:C(),keys:p(u()).nullish()}),f({type:h(`double_click`),x:C(),y:C(),keys:p(u()).nullish()}),f({type:h(`drag`),path:p(f({x:C(),y:C()})),keys:p(u()).nullish()}),f({type:h(`keypress`),keys:p(u())}),f({type:h(`move`),x:C(),y:C(),keys:p(u()).nullish()}),f({type:h(`screenshot`)}),f({type:h(`scroll`),x:C(),y:C(),scroll_x:C(),scroll_y:C(),keys:p(u()).nullish()}),f({type:h(`type`),text:u()}),f({type:h(`wait`)})]),Yn=f({type:h(`computer_call`),id:u(),call_id:u().nullish(),status:y([`in_progress`,`completed`,`incomplete`]),action:Jn.nullish(),actions:p(Jn).nullish(),pending_safety_checks:p(qn).nullish()}),Xn=m(`type`,[f({type:h(`direct`)}),f({type:h(`program`),caller_id:u()})]),Zn=f({type:h(`program`),id:u(),call_id:u(),code:u(),fingerprint:u()}),Qn=f({type:h(`program_output`),id:u(),call_id:u(),result:u(),status:y([`completed`,`incomplete`])}),$n=f({type:h(`local_shell_call`),id:u(),call_id:u(),action:f({type:h(`exec`),command:p(u()),timeout_ms:C().optional(),user:u().optional(),working_directory:u().optional(),env:c(u(),u()).optional()})}),er=f({type:h(`error`),sequence_number:C(),error:f({type:u(),code:u(),message:u(),param:u().nullish()})}),tr=f({type:h(`error`),sequence_number:C(),code:u().nullish(),message:u(),param:u().nullish()}),nr=new Set([`error`,`response.apply_patch_call_operation_diff.delta`,`response.apply_patch_call_operation_diff.done`,`response.code_interpreter_call_code.delta`,`response.code_interpreter_call_code.done`,`response.completed`,`response.created`,`response.custom_tool_call_input.delta`,`response.failed`,`response.function_call_arguments.delta`,`response.function_call_arguments.done`,`response.image_generation_call.partial_image`,`response.in_progress`,`response.incomplete`,`response.output_item.added`,`response.output_item.done`,`response.output_text.annotation.added`,`response.output_text.delta`,`response.reasoning_summary_part.added`,`response.reasoning_summary_part.done`,`response.reasoning_summary_text.delta`]),rr=new Set([`apply_patch_call`,`code_interpreter_call`,`compaction`,`computer_call`,`custom_tool_call`,`file_search_call`,`function_call`,`image_generation_call`,`local_shell_call`,`mcp_approval_request`,`mcp_call`,`mcp_list_tools`,`message`,`program`,`program_output`,`reasoning`,`shell_call`,`shell_call_output`,`tool_search_call`,`tool_search_output`,`web_search_call`]);function ir(e){return typeof e.type!=`string`||!nr.has(e.type)?!1:e.type!==`response.output_item.added`&&e.type!==`response.output_item.done`||!F(e.item)||typeof e.item.type!=`string`||rr.has(e.item.type)}var ar=I(()=>K(_([f({type:h(`response.output_text.delta`),item_id:u(),output_index:C().nullish(),delta:u(),logprobs:p(f({token:u(),logprob:C(),top_logprobs:p(f({token:u(),logprob:C()}))})).nullish()}),f({type:y([`response.completed`,`response.incomplete`]),response:f({incomplete_details:f({reason:u()}).nullish(),usage:Kn.nullish(),reasoning:f({context:u().nullish()}).nullish(),service_tier:u().nullish()})}),f({type:h(`response.failed`),sequence_number:C(),response:f({error:f({code:u().nullish(),message:u()}).nullish(),incomplete_details:f({reason:u()}).nullish(),usage:Kn.nullish(),reasoning:f({context:u().nullish()}).nullish(),service_tier:u().nullish()})}),f({type:h(`response.created`),response:f({id:u(),created_at:C(),model:u(),service_tier:u().nullish()})}),f({type:h(`response.in_progress`),response:f({id:u(),created_at:C(),model:u(),service_tier:u().nullish()})}),f({type:h(`response.output_item.added`),output_index:C(),item:m(`type`,[f({type:h(`message`),id:u(),phase:y([`commentary`,`final_answer`]).nullish()}),f({type:h(`reasoning`),id:u(),encrypted_content:u().nullish()}),f({type:h(`function_call`),id:u(),call_id:u(),name:u(),arguments:u(),async:x().nullish(),namespace:u().nullish(),caller:Xn.nullish()}),Zn,Qn,f({type:h(`web_search_call`),id:u(),status:u()}),Yn,f({type:h(`file_search_call`),id:u()}),$n,f({type:h(`image_generation_call`),id:u()}),f({type:h(`code_interpreter_call`),id:u(),container_id:u(),code:u().nullable(),outputs:p(m(`type`,[f({type:h(`logs`),logs:u()}),f({type:h(`image`),url:u()})])).nullable(),status:u()}),f({type:h(`mcp_call`),id:u(),status:u(),approval_request_id:u().nullish()}),f({type:h(`mcp_list_tools`),id:u()}),f({type:h(`mcp_approval_request`),id:u()}),f({type:h(`apply_patch_call`),id:u(),call_id:u(),status:y([`in_progress`,`completed`]),operation:m(`type`,[f({type:h(`create_file`),path:u(),diff:u()}),f({type:h(`delete_file`),path:u()}),f({type:h(`update_file`),path:u(),diff:u()})])}),f({type:h(`custom_tool_call`),id:u(),call_id:u(),name:u(),input:u(),async:x().nullish()}),f({type:h(`shell_call`),id:u(),call_id:u(),status:y([`in_progress`,`completed`,`incomplete`]),action:f({commands:p(u())})}),f({type:h(`compaction`),id:u(),encrypted_content:u().nullish()}),f({type:h(`shell_call_output`),id:u(),call_id:u(),status:y([`in_progress`,`completed`,`incomplete`]),output:p(f({stdout:u(),stderr:u(),outcome:m(`type`,[f({type:h(`timeout`)}),f({type:h(`exit`),exit_code:C()})])}))}),f({type:h(`tool_search_call`),id:u(),execution:y([`server`,`client`]),call_id:u().nullable(),status:y([`in_progress`,`completed`,`incomplete`]),arguments:s()}),f({type:h(`tool_search_output`),id:u(),execution:y([`server`,`client`]),call_id:u().nullable(),status:y([`in_progress`,`completed`,`incomplete`]),tools:p(c(u(),Z.optional()))})])}),f({type:h(`response.output_item.done`),output_index:C(),item:m(`type`,[f({type:h(`message`),id:u(),phase:y([`commentary`,`final_answer`]).nullish()}),f({type:h(`reasoning`),id:u(),encrypted_content:u().nullish()}),f({type:h(`function_call`),id:u(),call_id:u(),name:u(),arguments:u(),async:x().nullish(),status:y([`in_progress`,`completed`,`incomplete`]),namespace:u().nullish(),caller:Xn.nullish()}),Zn,Qn,f({type:h(`custom_tool_call`),id:u(),call_id:u(),name:u(),input:u(),async:x().nullish(),status:h(`completed`)}),f({type:h(`code_interpreter_call`),id:u(),code:u().nullable(),container_id:u(),outputs:p(m(`type`,[f({type:h(`logs`),logs:u()}),f({type:h(`image`),url:u()})])).nullable()}),f({type:h(`image_generation_call`),id:u(),result:u()}),f({type:h(`web_search_call`),id:u(),status:u(),action:m(`type`,[f({type:h(`search`),query:u().nullish(),queries:p(u()).nullish(),sources:p(m(`type`,[f({type:h(`url`),url:u()}),f({type:h(`api`),name:u()})])).nullish()}),f({type:h(`open_page`),url:u().nullish()}),f({type:h(`find_in_page`),url:u().nullish(),pattern:u().nullish()})]).nullish()}),f({type:h(`file_search_call`),id:u(),queries:p(u()),results:p(f({attributes:c(u(),_([u(),C(),x()])),file_id:u(),filename:u(),score:C(),text:u()})).nullish()}),$n,Yn,f({type:h(`mcp_call`),id:u(),status:u(),arguments:u(),name:u(),server_label:u(),output:u().nullish(),error:_([u(),f({type:u().optional(),code:_([C(),u()]).optional(),message:u().optional()}).loose()]).nullish(),approval_request_id:u().nullish()}),f({type:h(`mcp_list_tools`),id:u(),server_label:u(),tools:p(f({name:u(),description:u().optional(),input_schema:b(),annotations:c(u(),s()).optional()})),error:_([u(),f({type:u().optional(),code:_([C(),u()]).optional(),message:u().optional()}).loose()]).optional()}),f({type:h(`mcp_approval_request`),id:u(),server_label:u(),name:u(),arguments:u(),approval_request_id:u().optional()}),f({type:h(`apply_patch_call`),id:u(),call_id:u(),status:y([`in_progress`,`completed`]),operation:m(`type`,[f({type:h(`create_file`),path:u(),diff:u()}),f({type:h(`delete_file`),path:u()}),f({type:h(`update_file`),path:u(),diff:u()})])}),f({type:h(`shell_call`),id:u(),call_id:u(),status:y([`in_progress`,`completed`,`incomplete`]),action:f({commands:p(u())})}),f({type:h(`compaction`),id:u(),encrypted_content:u()}),f({type:h(`shell_call_output`),id:u(),call_id:u(),status:y([`in_progress`,`completed`,`incomplete`]),output:p(f({stdout:u(),stderr:u(),outcome:m(`type`,[f({type:h(`timeout`)}),f({type:h(`exit`),exit_code:C()})])}))}),f({type:h(`tool_search_call`),id:u(),execution:y([`server`,`client`]),call_id:u().nullable(),status:y([`in_progress`,`completed`,`incomplete`]),arguments:s()}),f({type:h(`tool_search_output`),id:u(),execution:y([`server`,`client`]),call_id:u().nullable(),status:y([`in_progress`,`completed`,`incomplete`]),tools:p(c(u(),Z.optional()))})])}),f({type:h(`response.function_call_arguments.delta`),item_id:u(),output_index:C(),delta:u()}),f({type:h(`response.function_call_arguments.done`),item_id:u(),output_index:C(),arguments:u()}),f({type:h(`response.custom_tool_call_input.delta`),item_id:u(),output_index:C(),delta:u()}),f({type:h(`response.image_generation_call.partial_image`),item_id:u(),output_index:C(),partial_image_b64:u()}),f({type:h(`response.code_interpreter_call_code.delta`),item_id:u(),output_index:C(),delta:u()}),f({type:h(`response.code_interpreter_call_code.done`),item_id:u(),output_index:C(),code:u()}),f({type:h(`response.output_text.annotation.added`),annotation:m(`type`,[f({type:h(`url_citation`),start_index:C(),end_index:C(),url:u(),title:u()}),f({type:h(`file_citation`),file_id:u(),filename:u(),index:C()}),f({type:h(`container_file_citation`),container_id:u(),file_id:u(),filename:u(),start_index:C(),end_index:C()}),f({type:h(`file_path`),file_id:u(),index:C()})])}),f({type:h(`response.reasoning_summary_part.added`),item_id:u(),output_index:C().nullish(),summary_index:C()}),f({type:h(`response.reasoning_summary_text.delta`),item_id:u(),output_index:C().nullish(),summary_index:C(),delta:u()}),f({type:h(`response.reasoning_summary_part.done`),item_id:u(),output_index:C().nullish(),summary_index:C()}),f({type:h(`response.apply_patch_call_operation_diff.delta`),item_id:u(),output_index:C(),delta:u(),obfuscation:u().nullish()}),f({type:h(`response.apply_patch_call_operation_diff.done`),item_id:u(),output_index:C(),diff:u()}),er,tr,f({type:u()}).loose().refine(e=>!ir(e),{message:`Known response chunk failed schema validation`}).transform(e=>({type:`unknown_chunk`,message:e.type}))]))),or=I(()=>K(f({id:u().optional(),created_at:C().optional(),error:f({message:u(),type:u(),param:u().nullish(),code:u()}).nullish(),model:u().optional(),output:p(m(`type`,[f({type:h(`message`),role:h(`assistant`),id:u(),phase:y([`commentary`,`final_answer`]).nullish(),content:p(f({type:h(`output_text`),text:u(),logprobs:p(f({token:u(),logprob:C(),top_logprobs:p(f({token:u(),logprob:C()}))})).nullish(),annotations:p(m(`type`,[f({type:h(`url_citation`),start_index:C(),end_index:C(),url:u(),title:u()}),f({type:h(`file_citation`),file_id:u(),filename:u(),index:C()}),f({type:h(`container_file_citation`),container_id:u(),file_id:u(),filename:u(),start_index:C(),end_index:C()}),f({type:h(`file_path`),file_id:u(),index:C()})]))}))}),f({type:h(`web_search_call`),id:u(),status:u(),action:m(`type`,[f({type:h(`search`),query:u().nullish(),queries:p(u()).nullish(),sources:p(m(`type`,[f({type:h(`url`),url:u()}),f({type:h(`api`),name:u()})])).nullish()}),f({type:h(`open_page`),url:u().nullish()}),f({type:h(`find_in_page`),url:u().nullish(),pattern:u().nullish()})]).nullish()}),f({type:h(`file_search_call`),id:u(),queries:p(u()),results:p(f({attributes:c(u(),_([u(),C(),x()])),file_id:u(),filename:u(),score:C(),text:u()})).nullish()}),f({type:h(`code_interpreter_call`),id:u(),code:u().nullable(),container_id:u(),outputs:p(m(`type`,[f({type:h(`logs`),logs:u()}),f({type:h(`image`),url:u()})])).nullable()}),f({type:h(`image_generation_call`),id:u(),result:u()}),$n,f({type:h(`function_call`),call_id:u(),name:u(),arguments:u(),id:u(),async:x().nullish(),namespace:u().nullish(),caller:Xn.nullish()}),Zn,Qn,f({type:h(`custom_tool_call`),call_id:u(),name:u(),input:u(),id:u(),async:x().nullish()}),Yn,f({type:h(`reasoning`),id:u(),encrypted_content:u().nullish(),summary:p(f({type:h(`summary_text`),text:u()}))}),f({type:h(`mcp_call`),id:u(),status:u(),arguments:u(),name:u(),server_label:u(),output:u().nullish(),error:_([u(),f({type:u().optional(),code:_([C(),u()]).optional(),message:u().optional()}).loose()]).nullish(),approval_request_id:u().nullish()}),f({type:h(`mcp_list_tools`),id:u(),server_label:u(),tools:p(f({name:u(),description:u().optional(),input_schema:b(),annotations:c(u(),s()).optional()})),error:_([u(),f({type:u().optional(),code:_([C(),u()]).optional(),message:u().optional()}).loose()]).optional()}),f({type:h(`mcp_approval_request`),id:u(),server_label:u(),name:u(),arguments:u(),approval_request_id:u().optional()}),f({type:h(`apply_patch_call`),id:u(),call_id:u(),status:y([`in_progress`,`completed`]),operation:m(`type`,[f({type:h(`create_file`),path:u(),diff:u()}),f({type:h(`delete_file`),path:u()}),f({type:h(`update_file`),path:u(),diff:u()})])}),f({type:h(`shell_call`),id:u(),call_id:u(),status:y([`in_progress`,`completed`,`incomplete`]),action:f({commands:p(u())})}),f({type:h(`compaction`),id:u(),encrypted_content:u()}),f({type:h(`shell_call_output`),id:u(),call_id:u(),status:y([`in_progress`,`completed`,`incomplete`]),output:p(f({stdout:u(),stderr:u(),outcome:m(`type`,[f({type:h(`timeout`)}),f({type:h(`exit`),exit_code:C()})])}))}),f({type:h(`tool_search_call`),id:u(),execution:y([`server`,`client`]),call_id:u().nullable(),status:y([`in_progress`,`completed`,`incomplete`]),arguments:s()}),f({type:h(`tool_search_output`),id:u(),execution:y([`server`,`client`]),call_id:u().nullable(),status:y([`in_progress`,`completed`,`incomplete`]),tools:p(c(u(),Z.optional()))})])).optional(),service_tier:u().nullish(),reasoning:f({context:u().nullish()}).nullish(),incomplete_details:f({reason:u()}).nullish(),usage:Kn.nullish()})));function sr(e){if(e.provider==null)throw Error(`OpenAI model is missing provider after workflow deserialization.`);return{...e,provider:e.provider,url:typeof e.url==`function`?e.url:({path:t})=>{if(e.baseURL==null)throw Error(`OpenAI model is missing baseURL after workflow deserialization.`);return`${e.baseURL}${t}`},headers:typeof e.headers==`function`?e.headers:e.headers==null?void 0:()=>e.headers}}var cr=`parallel`,lr=`functions.`;function ur({providerOptions:e,providerOptionsName:t}){let n=e?.[t]?.parallelToolCall;if(!(!o(n)||typeof n.itemId!=`string`||typeof n.toolCallId!=`string`||typeof n.toolName!=`string`||typeof n.input!=`string`||typeof n.index!=`number`||!Number.isInteger(n.index)||typeof n.count!=`number`||!Number.isInteger(n.count)||n.index<0||n.count<=n.index))return n}function dr({toolName:e,tools:t}){return e===cr&&!t.some(e=>e.name===cr)}async function fr({toolCall:e,tools:t,providerOptionsName:n,itemId:r}){if(!dr({toolName:e.toolName,tools:t}))return;let i=await se({text:e.input});if(!i.success||!o(i.value))return;let a=i.value.tool_uses;if(!Array.isArray(a)||a.length===0)return;let s=new Set(t.map(e=>e.name)),c=[];for(let[t,i]of a.entries()){if(!o(i))return;let l=i.recipient_name,u=i.parameters;if(typeof l!=`string`||!l.startsWith(lr)||!o(u))return;let d=l.slice(lr.length);if(d.length===0||!s.has(d))return;c.push({type:`tool-call`,toolCallId:`${e.toolCallId}_${t}`,toolName:d,input:JSON.stringify(u),providerMetadata:{[n]:{parallelToolCall:{itemId:r,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,index:t,count:a.length}}}})}return c}function pr(e){return JSON.stringify(e===void 0?{}:e)}function mr(e){return e==null?void 0:e.type===`program`?{type:`program`,caller_id:e.callerId}:e}async function hr({output:e,toolName:t,outputSchemaToolNames:n,promptCacheBreakpoint:r,providerOptionsName:i,warnings:a}){let o=n?.has(t),s=e=>r==null?e:[{type:`input_text`,text:e,prompt_cache_breakpoint:r}];switch(e.type){case`text`:case`error-text`:return s(o?JSON.stringify(e.value):e.value);case`execution-denied`:{let t=e.reason??`Tool call execution denied.`;return s(o?JSON.stringify(t):t)}case`json`:case`error-json`:return s(JSON.stringify(e.value));case`content`:return e.value.map(e=>{let t=Q(e.providerOptions,i);switch(e.type){case`text`:return{type:`input_text`,text:e.text,...t!=null&&{prompt_cache_breakpoint:t}};case`file`:{let n=O(e.mediaType),r=e.providerOptions?.[i]?.imageDetail;if(e.data.type===`data`){let i=B({part:e});return n===`image`?{type:`input_image`,image_url:`data:${i};base64,${U(e.data.data)}`,detail:r,...t!=null&&{prompt_cache_breakpoint:t}}:{type:`input_file`,filename:e.filename??`data`,file_data:`data:${i};base64,${U(e.data.data)}`,...t!=null&&{prompt_cache_breakpoint:t}}}if(e.data.type===`url`)return n===`image`?{type:`input_image`,image_url:e.data.url.toString(),detail:r,...t!=null&&{prompt_cache_breakpoint:t}}:{type:`input_file`,file_url:e.data.url.toString(),...t!=null&&{prompt_cache_breakpoint:t}};a.push({type:`other`,message:`unsupported tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:a.push({type:`other`,message:`unsupported tool content part type: ${e.type}`});return}}).filter(je)}}function gr(e,t){return e.itemId===t.itemId&&e.toolCallId===t.toolCallId&&e.toolName===t.toolName&&e.input===t.input&&e.count===t.count}function _r({prompt:e,providerOptionsName:t}){let n=new Map;for(let r of e)if(r.role===`tool`)for(let e of r.content){if(e.type!==`tool-result`)continue;let r=ur({providerOptions:e.providerOptions,providerOptionsName:t});if(r==null)continue;let i=n.get(r.toolCallId);if(i==null){n.set(r.toolCallId,{metadata:r,results:new Map([[r.index,e]]),invalid:!1});continue}if(!gr(i.metadata,r)||i.results.has(r.index)){i.invalid=!0;continue}i.results.set(r.index,e)}let r=new Map;for(let[e,t]of n){if(t.invalid||t.results.size!==t.metadata.count)continue;let n=Array.from({length:t.metadata.count},(e,n)=>t.results.get(n));n.every(je)&&r.set(e,{metadata:t.metadata,results:n})}return r}function Q(e,t){return e?.[t]?.promptCacheBreakpoint}function vr({output:e,toolResultProviderOptions:t,providerOptionsName:n}){return e.type===`content`?void 0:Q(e.providerOptions,n)??Q(t,n)}function yr(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function br({prompt:e,toolNameMapping:t,systemMessageMode:n,providerOptionsName:r,explicitMessageItemType:i=!1,fileIdPrefixes:o,passThroughUnsupportedFiles:s=!1,store:c,hasConversation:l=!1,hasPreviousResponseId:u=!1,hasLocalShellTool:d=!1,hasShellTool:f=!1,hasApplyPatchTool:p=!1,hasComputerTool:m=!1,toolSearchToolName:h,customProviderToolNames:g,outputSchemaToolNames:_}){let v=[],y=[],b=new Set,x=new Set,S=l||u?_r({prompt:e,providerOptionsName:r}):new Map,C=new Set,w=new Set;for(let{role:E,content:D,providerOptions:k}of e)switch(E){case`system`:switch(n){case`system`:{let e=Q(k,r);v.push({...i&&{type:`message`},role:`system`,content:e==null?D:[{type:`input_text`,text:D,prompt_cache_breakpoint:e}]});break}case`developer`:{let e=Q(k,r);v.push({...i&&{type:`message`},role:`developer`,content:e==null?D:[{type:`input_text`,text:D,prompt_cache_breakpoint:e}]});break}case`remove`:y.push({type:`other`,message:`system messages are removed for this model`});break;default:throw Error(`Unsupported system message mode: ${n}`)}break;case`user`:v.push({...i&&{type:`message`},role:`user`,content:D.map((e,t)=>{switch(e.type){case`text`:{let t=Q(e.providerOptions,r);return{type:`input_text`,text:e.text,...t!=null&&{prompt_cache_breakpoint:t}}}case`file`:{let n=Q(e.providerOptions,r);switch(e.data.type){case`reference`:{let t=be({reference:e.data.reference,provider:r});return O(e.mediaType)===`image`?{type:`input_image`,file_id:t,detail:e.providerOptions?.[r]?.imageDetail,...n!=null&&{prompt_cache_breakpoint:n}}:{type:`input_file`,file_id:t,...n!=null&&{prompt_cache_breakpoint:n}}}case`text`:throw new a({functionality:`text file parts`});case`url`:case`data`:if(O(e.mediaType)===`image`)return{type:`input_image`,...e.data.type===`url`?{image_url:e.data.url.toString()}:typeof e.data.data==`string`&&yr(e.data.data,o)?{file_id:e.data.data}:{image_url:`data:${B({part:e})};base64,${U(e.data.data)}`},detail:e.providerOptions?.[r]?.imageDetail,...n!=null&&{prompt_cache_breakpoint:n}};{if(e.data.type===`url`)return{type:`input_file`,file_url:e.data.url.toString(),...n!=null&&{prompt_cache_breakpoint:n}};let r=B({part:e});if(r!==`application/pdf`&&!s)throw new a({functionality:`file part media type ${r}`});return{type:`input_file`,...typeof e.data.data==`string`&&yr(e.data.data,o)?{file_id:e.data.data}:{filename:e.filename??(r===`application/pdf`?`part-${t}.pdf`:`part-${t}`),file_data:`data:${r};base64,${U(e.data.data)}`},...n!=null&&{prompt_cache_breakpoint:n}}}}}}})});break;case`assistant`:{let e={};for(let n of D)switch(n.type){case`text`:{let e=n.providerOptions?.[r],t=e?.itemId,a=e?.phase;if(l&&t!=null)break;if(c&&t!=null){v.push({type:`item_reference`,id:t});break}v.push({...i&&{type:`message`},role:`assistant`,content:[{type:`output_text`,text:n.text}],id:t,...a!=null&&{phase:a}});break}case`tool-call`:{let e=ur({providerOptions:n.providerOptions,providerOptionsName:r}),i=e==null?void 0:S.get(e.toolCallId);if(e!=null&&i!=null&&gr(i.metadata,e)){C.has(i.metadata.toolCallId)||(C.add(i.metadata.toolCallId),l||v.push({type:`function_call`,call_id:i.metadata.toolCallId,name:i.metadata.toolName,arguments:i.metadata.input}));break}let a=n.providerOptions?.[r]?.itemId??n.providerMetadata?.[r]?.itemId,o=n.providerOptions?.[r]?.namespace??n.providerMetadata?.[r]?.namespace,s=n.providerOptions?.[r]?.async??n.providerMetadata?.[r]?.async,_=n.providerOptions?.[r]?.caller;if(_?.type===`program`&&x.add(n.toolCallId),l&&a!=null)break;let y=t.toProviderToolName(n.toolName);if(n.toolName===h){if(c&&a!=null){v.push({type:`item_reference`,id:a});break}let e=typeof n.input==`string`?await te({text:n.input,schema:bn}):await z({value:n.input,schema:bn}),t=e.call_id==null?`server`:`client`;v.push({type:`tool_search_call`,id:a??n.toolCallId,execution:t,call_id:e.call_id??null,status:`completed`,arguments:e.arguments});break}if(y===`programmatic_tool_calling`){if(c&&a!=null){v.push({type:`item_reference`,id:a});break}let e=await z({value:n.input,schema:zn});v.push({type:`program`,id:a??n.toolCallId,call_id:n.toolCallId,code:e.code,fingerprint:e.fingerprint});break}if(n.providerExecuted&&(c&&a!=null&&v.push({type:`item_reference`,id:a}),c||!f||y!==`shell`))break;let b=d&&y===`local_shell`||f&&y===`shell`||p&&y===`apply_patch`||m&&y===`computer`||(g?.has(y)??!1);if(u&&c&&a!=null&&b)break;if(c&&a!=null&&b){v.push({type:`item_reference`,id:a});break}if(d&&y===`local_shell`){let e=await z({value:n.input,schema:dn});v.push({type:`local_shell_call`,call_id:n.toolCallId,id:a,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}if(f&&y===`shell`){let e=await z({value:n.input,schema:mn});v.push({type:`shell_call`,call_id:n.toolCallId,id:a,status:`completed`,action:{commands:e.action.commands,timeout_ms:e.action.timeoutMs,max_output_length:e.action.maxOutputLength}});break}if(p&&y===`apply_patch`){let e=await z({value:n.input,schema:It});v.push({type:`apply_patch_call`,call_id:e.callId,id:a,status:`completed`,operation:e.operation});break}if(m&&y===`computer`){let e=await z({value:n.input,schema:Kt});v.push({type:`computer_call`,call_id:n.toolCallId,id:a,status:e.status,actions:e.actions.map(e=>{switch(e.type){case`click`:case`double_click`:case`move`:return{...e,keys:e.keys};case`drag`:return{...e,keys:e.keys};case`scroll`:return{type:`scroll`,x:e.x,y:e.y,scroll_x:e.scrollX,scroll_y:e.scrollY,keys:e.keys};default:return e}}),pending_safety_checks:e.pendingSafetyChecks.map(e=>({id:e.id,code:e.code,message:e.message}))});break}if(g?.has(y)){v.push({type:`custom_tool_call`,call_id:n.toolCallId,name:y,input:typeof n.input==`string`?n.input:JSON.stringify(n.input),...s!=null&&{async:s},id:a});break}v.push({type:`function_call`,call_id:n.toolCallId,name:y,arguments:pr(n.input),...s!=null&&{async:s},...o!=null&&{namespace:o},..._!=null&&{caller:mr(_)}});break}case`tool-result`:{if(n.output.type===`execution-denied`||n.output.type===`json`&&typeof n.output.value==`object`&&n.output.value!=null&&`type`in n.output.value&&n.output.value.type===`execution-denied`||l)break;let e=t.toProviderToolName(n.toolName);if(n.toolName===h){let e=n.providerOptions?.[r]?.itemId??n.providerMetadata?.[r]?.itemId??n.toolCallId;if(c)v.push({type:`item_reference`,id:e});else if(n.output.type===`json`){let t=await z({value:n.output.value,schema:xn});v.push({type:`tool_search_output`,id:e,execution:`server`,call_id:null,status:`completed`,tools:t.tools})}break}if(e===`programmatic_tool_calling`){let e=n.providerOptions?.[r]?.itemId??n.providerMetadata?.[r]?.itemId??n.toolCallId;if(c)v.push({type:`item_reference`,id:e});else if(n.output.type===`json`){let t=await z({value:n.output.value,schema:Bn});v.push({type:`program_output`,id:e,call_id:n.toolCallId,result:t.result,status:t.status})}break}if(f&&e===`shell`){if(n.output.type===`json`){let e=await z({value:n.output.value,schema:hn});v.push({type:`shell_call_output`,call_id:n.toolCallId,output:e.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:e.outcome.type===`timeout`?{type:`timeout`}:{type:`exit`,exit_code:e.outcome.exitCode}}))})}break}if(c){let e=n.providerOptions?.[r]?.itemId??n.toolCallId;v.push({type:`item_reference`,id:e})}else y.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 T({provider:r,providerOptions:n.providerOptions,schema:xr}),i=t?.itemId;if((l||u)&&i!=null)break;if(i!=null){let r=e[i];if(c)r===void 0&&(v.push({type:`item_reference`,id:i}),e[i]={type:`reasoning`,id:i,summary:[]});else{let a=[];n.text.length>0?a.push({type:`summary_text`,text:n.text}):r!==void 0&&y.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(n)}.`}),r===void 0?(e[i]={type:`reasoning`,id:i,encrypted_content:t?.reasoningEncryptedContent,summary:a},v.push(e[i])):(r.summary.push(...a),t?.reasoningEncryptedContent!=null&&(r.encrypted_content=t.reasoningEncryptedContent))}}else{let e=t?.reasoningEncryptedContent;if(e!=null){let t=[];n.text.length>0&&t.push({type:`summary_text`,text:n.text}),v.push({type:`reasoning`,encrypted_content:e,summary:t})}else y.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(n)}.`})}break}case`custom`:if(n.kind===`openai.compaction`){let e=n.providerOptions?.[r],t=e?.itemId;if(l&&t!=null)break;if(c&&t!=null){v.push({type:`item_reference`,id:t});break}let i=e?.encryptedContent;t!=null&&v.push({type:`compaction`,id:t,encrypted_content:i})}}break}case`tool`:for(let e of D){if(e.type===`tool-approval-response`){let t=e;if(b.has(t.approvalId))continue;b.add(t.approvalId),c&&!l&&!u&&v.push({type:`item_reference`,id:t.approvalId}),v.push({type:`mcp_approval_response`,approval_request_id:t.approvalId,approve:t.approved});continue}let n=ur({providerOptions:e.providerOptions,providerOptionsName:r}),i=n==null?void 0:S.get(n.toolCallId);if(n!=null&&i!=null&&gr(i.metadata,n)){if(!w.has(i.metadata.toolCallId)){w.add(i.metadata.toolCallId);let e=await Promise.all(i.results.map(async e=>{let t=vr({output:e.output,toolResultProviderOptions:e.providerOptions,providerOptionsName:r});return{output:await hr({output:e.output,toolName:e.toolName,outputSchemaToolNames:_,providerOptionsName:r,warnings:y}),promptCacheBreakpoint:t}})),t=e.map(({output:e})=>typeof e==`string`?e:JSON.stringify(e)),n=e.some(({promptCacheBreakpoint:e})=>e!=null);v.push({type:`function_call_output`,call_id:i.metadata.toolCallId,output:n?t.map((t,n)=>({type:`input_text`,text:n===0?t:`
${t}`,...e[n].promptCacheBreakpoint!=null&&{prompt_cache_breakpoint:e[n].promptCacheBreakpoint}})):t.join(`
`)})}continue}let o=e.output;if(o.type===`execution-denied`&&o.providerOptions?.openai?.approvalId)continue;let s=t.toProviderToolName(e.toolName);if(e.toolName===h&&o.type===`json`){let t=await z({value:o.value,schema:xn});v.push({type:`tool_search_output`,execution:`client`,call_id:e.toolCallId,status:`completed`,tools:t.tools});continue}if(d&&s===`local_shell`&&o.type===`json`){let t=await z({value:o.value,schema:fn});v.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:t.output});continue}if(f&&s===`shell`&&o.type===`json`){let t=await z({value:o.value,schema:hn});v.push({type:`shell_call_output`,call_id:e.toolCallId,output:t.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:e.outcome.type===`timeout`?{type:`timeout`}:{type:`exit`,exit_code:e.outcome.exitCode}}))});continue}if(p&&e.toolName===`apply_patch`&&o.type===`json`){let t=await z({value:o.value,schema:Lt});v.push({type:`apply_patch_call_output`,call_id:e.toolCallId,status:t.status,output:t.output});continue}if(m&&s===`computer`&&o.type===`json`){let t=await z({value:o.value,schema:qt});v.push({type:`computer_call_output`,call_id:e.toolCallId,output:{type:`computer_screenshot`,image_url:t.output.imageUrl,file_id:t.output.fileId,detail:t.output.detail},acknowledged_safety_checks:t.acknowledgedSafetyChecks?.map(e=>({id:e.id,code:e.code,message:e.message}))});continue}if(g?.has(s)){let t=vr({output:o,toolResultProviderOptions:e.providerOptions,providerOptionsName:r}),n=e=>t==null?e:[{type:`input_text`,text:e,prompt_cache_breakpoint:t}],i;switch(o.type){case`text`:case`error-text`:i=n(o.value);break;case`execution-denied`:i=n(o.reason??`Tool call execution denied.`);break;case`json`:case`error-json`:i=n(JSON.stringify(o.value));break;case`content`:i=o.value.map(e=>{let t=Q(e.providerOptions,r);switch(e.type){case`text`:return{type:`input_text`,text:e.text,...t!=null&&{prompt_cache_breakpoint:t}};case`file`:{let n=O(e.mediaType),i=e.providerOptions?.[r]?.imageDetail;if(e.data.type===`data`){let r=B({part:e});return n===`image`?{type:`input_image`,image_url:`data:${r};base64,${U(e.data.data)}`,detail:i,...t!=null&&{prompt_cache_breakpoint:t}}:{type:`input_file`,filename:e.filename??`data`,file_data:`data:${r};base64,${U(e.data.data)}`,...t!=null&&{prompt_cache_breakpoint:t}}}if(e.data.type===`url`)return n===`image`?{type:`input_image`,image_url:e.data.url.toString(),detail:i,...t!=null&&{prompt_cache_breakpoint:t}}:{type:`input_file`,file_url:e.data.url.toString(),...t!=null&&{prompt_cache_breakpoint:t}};y.push({type:`other`,message:`unsupported custom tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:y.push({type:`other`,message:`unsupported custom tool content part type: ${e.type}`});return}}).filter(je);break;default:i=``}v.push({type:`custom_tool_call_output`,call_id:e.toolCallId,output:i});continue}let C=e.providerOptions?.[r]?.caller;if(o.type===`execution-denied`&&(C?.type===`program`||x.has(e.toolCallId)))throw new a({functionality:`execution-denied results for programmatic tool calls`});let T=await hr({output:o,toolName:e.toolName,outputSchemaToolNames:_,promptCacheBreakpoint:vr({output:o,toolResultProviderOptions:e.providerOptions,providerOptionsName:r}),providerOptionsName:r,warnings:y}),E=mr(C);v.push({type:`function_call_output`,call_id:e.toolCallId,output:T,...E!=null&&{caller:E}})}break;default:throw Error(`Unsupported role: ${E}`)}return!c&&v.some(e=>`type`in e&&e.type===`reasoning`&&e.encrypted_content==null)&&(y.push({type:`other`,message:`Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts.`}),v=v.filter(e=>!(`type`in e)||e.type!==`reasoning`||e.encrypted_content!=null)),{input:v,warnings:y}}var xr=f({itemId:u().nullish(),reasoningEncryptedContent:u().nullish()}),Sr=20,Cr=I(()=>K(f({conversation:u().nullish(),include:p(y([`reasoning.encrypted_content`,`file_search_call.results`,`web_search_call.results`,`message.output_text.logprobs`])).nullish(),includeWebSearchSources:x().optional(),instructions:u().nullish(),logprobs:_([x(),C().min(1).max(Sr)]).optional(),maxToolCalls:C().nullish(),metadata:b().nullish(),parallelToolCalls:x().nullish(),previousResponseId:u().nullish(),promptCacheKey:u().nullish(),promptCacheOptions:f({mode:y([`implicit`,`explicit`]).optional(),ttl:h(`30m`).optional()}).optional(),promptCacheRetention:y([`in_memory`,`24h`]).nullish(),reasoningEffort:u().nullish(),reasoningEffortUpdate:y([`low`,`medium`,`high`,`xhigh`,`max`]).optional(),reasoningMode:y([`standard`,`pro`]).optional(),reasoningContext:y([`auto`,`current_turn`,`all_turns`]).optional(),reasoningSummary:u().nullish(),safetyIdentifier:u().nullish(),serviceTier:y([`auto`,`flex`,`priority`,`fast`,`ultrafast`,`default`]).nullish(),store:x().nullish(),passThroughUnsupportedFiles:x().optional(),strictJsonSchema:x().nullish(),textVerbosity:y([`low`,`medium`,`high`]).nullish(),truncation:y([`auto`,`disabled`]).nullish(),user:u().nullish(),systemMessageMode:y([`system`,`developer`,`remove`]).optional(),forceReasoning:x().optional(),contextManagement:p(f({type:h(`compaction`),compactThreshold:C()})).nullish(),compactionTrigger:x().optional(),allowedTools:f({toolNames:p(u()).min(1),mode:y([`auto`,`required`]).optional()}).optional()})));async function wr({tools:e,toolChoice:t,allowedTools:n,toolNameMapping:r,customProviderToolNames:i,outputSchemaToolNames:o,supportsAsyncToolCalling:s=!0}){e=e?.length?e:void 0;let c=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:c};let l=[],u=new Map,d=i??new Set,f=new Map,p=new Map,m=(e,t,n)=>{if(f.set(e,t),n==null||n===e)return;let r=p.get(n);r==null?p.set(n,t):r!==`ambiguous`&&!Er(r,t)&&p.set(n,`ambiguous`)};for(let t of e)switch(t.type){case`function`:{let e=t.providerOptions?.openai;e?.outputSchema!=null&&o?.add(t.name);let n=Or({tool:t,options:e,toolWarnings:c,async:kr({value:e?.async,supportsAsyncToolCalling:s,toolName:t.name,toolWarnings:c})}),r=e?.namespace;if(r==null)l.push(n);else{let e=u.get(r.name);if(e==null)e={type:`namespace`,name:r.name,description:r.description,tools:[]},u.set(r.name,e),l.push(e);else if(e.description!==r.description)throw new a({functionality:`conflicting descriptions for OpenAI tool namespace "${r.name}"`});e.tools.push(n)}m(t.name,r==null?e?.deferLoading===!0?{supported:!1,reason:`deferred tools are not visible to tool_choice.allowed_tools`}:{supported:!0,entry:{type:`function`,name:t.name}}:{supported:!1,reason:`tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools`},void 0);break}case`provider`:{let e=l.length;switch(t.id){case`openai.file_search`:{let e=await z({value:t.args,schema:nn});l.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`:l.push({type:`local_shell`});break;case`openai.shell`:{let e=await z({value:t.args,schema:_n});l.push({type:`shell`,...e.environment&&{environment:Ar(e.environment)}});break}case`openai.apply_patch`:l.push({type:`apply_patch`});break;case`openai.computer`:l.push({type:`computer`});break;case`openai.web_search_preview`:{let e=await z({value:t.args,schema:kn});l.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=await z({value:t.args,schema:wn});l.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains,blocked_domains:e.filters.blockedDomains},external_web_access:e.externalWebAccess,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=await z({value:t.args,schema:Vt});l.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=await z({value:t.args,schema:on});l.push({type:`image_generation`,action:e.action,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,moderation:e.moderation,partial_images:e.partialImages,quality:e.quality,output_compression:e.outputCompression,output_format:e.outputFormat,size:e.size});break}case`openai.mcp`:{let e=await z({value:t.args,schema:Pn}),n=e=>({tool_names:e.toolNames}),r=e.requireApproval,i=r==null?void 0:typeof r==`string`?r:r.never==null?void 0:{never:n(r.never)};l.push({type:`mcp`,server_label:e.serverLabel,allowed_tools:Array.isArray(e.allowedTools)?e.allowedTools:e.allowedTools?{read_only:e.allowedTools.readOnly,tool_names:e.allowedTools.toolNames}:void 0,authorization:e.authorization,connector_id:e.connectorId,headers:e.headers,require_approval:i??`never`,server_description:e.serverDescription,server_url:e.serverUrl});break}case`openai.custom`:{let e=await z({value:t.args,schema:Xt});l.push({type:`custom`,name:t.name,description:e.description,...kr({value:e.async,supportsAsyncToolCalling:s,toolName:t.name,toolWarnings:c})==null?{}:{async:e.async},format:e.format}),d.add(t.name);break}case`openai.programmatic_tool_calling`:l.push({type:`programmatic_tool_calling`});break;case`openai.tool_search`:{let e=await z({value:t.args,schema:yn});l.push({type:`tool_search`,...e.execution==null?{}:{execution:e.execution},...e.description==null?{}:{description:e.description},...e.parameters==null?{}:{parameters:e.parameters}});break}}if(l.length>e){let n=l[e];m(t.name,Dr(n),r?.toProviderToolName(t.name))}break}default:c.push({type:`unsupported`,feature:`function tool ${t}`})}if(n!=null){let e=[],t=[];for(let i of n.toolNames){let n=f.get(i),a=n??p.get(i);if(n!=null&&p.has(i)&&c.push({type:`unsupported`,feature:`allowedTools entry "${i}"`,details:`this name is both a tool name and the provider tool name of another tool in this request; the tool with this name is allowed`}),a===`ambiguous`){c.push({type:`unsupported`,feature:`allowedTools entry "${i}"`,details:`several tools in this request share this provider tool name; use the tool name from the tools for this request instead`}),t.push(i);continue}if(a==null){c.push({type:`unsupported`,feature:`allowedTools entry "${i}"`,details:`the tool is not part of the tools for this request and is sent as a function tool`}),e.push({type:`function`,name:r?.toProviderToolName(i)??i});continue}if(!a.supported){c.push({type:`unsupported`,feature:`allowedTools entry "${i}"`,details:`${a.reason}; the tool is removed from the allowed tools`}),t.push(i);continue}e.push(a.entry)}if(e.length===0)throw new a({functionality:`allowedTools with only tools that cannot be allow-listed (${t.join(`, `)})`});return{tools:l,toolChoice:{type:`allowed_tools`,mode:n.mode??`auto`,tools:e},toolWarnings:c}}if(t==null)return{tools:l,toolChoice:void 0,toolWarnings:c};let h=t.type;switch(h){case`auto`:case`none`:case`required`:return{tools:l,toolChoice:h,toolWarnings:c};case`tool`:{let e=r?.toProviderToolName(t.toolName)??t.toolName;return{tools:l,toolChoice:e===`code_interpreter`||e===`file_search`||e===`image_generation`||e===`web_search_preview`||e===`web_search`||e===`mcp`||e===`apply_patch`||e===`computer`||e===`programmatic_tool_calling`?{type:e}:d.has(e)?{type:`custom`,name:e}:{type:`function`,name:e},toolWarnings:c}}default:throw new a({functionality:`tool choice type: ${h}`})}}function Tr(e){switch(e.type){case`mcp`:return`mcp:${e.server_label}`;case`function`:case`custom`:return`${e.type}:${e.name}`;default:return e.type}}function Er(e,t){return e.supported&&t.supported?Tr(e.entry)===Tr(t.entry):!e.supported&&!t.supported&&e.reason===t.reason}function Dr(e){switch(e.type){case`custom`:return{supported:!0,entry:{type:`custom`,name:e.name}};case`mcp`:return{supported:!0,entry:{type:`mcp`,server_label:e.server_label}};case`file_search`:case`web_search`:case`web_search_preview`:case`image_generation`:case`code_interpreter`:case`computer`:case`apply_patch`:case`shell`:case`local_shell`:case`programmatic_tool_calling`:return{supported:!0,entry:{type:e.type}};default:return{supported:!1,reason:`OpenAI does not support ${e.type} tools in tool_choice.allowed_tools`}}}function Or({tool:e,options:t,toolWarnings:n,async:r}){let i=t?.deferLoading,a=it(e.inputSchema),o=t?.outputSchema==null?void 0:it(t.outputSchema);return n.push(...a.warnings,...o?.warnings??[]),{type:`function`,name:e.name,description:e.description,parameters:a.schema,...r==null?{}:{async:r},...e.strict==null?{}:{strict:e.strict},...i==null?{}:{defer_loading:i},...t?.allowedCallers==null?{}:{allowed_callers:t.allowedCallers},...t?.outputSchema==null?{}:{output_schema:o?.schema}}}function kr({value:e,supportsAsyncToolCalling:t,toolName:n,toolWarnings:r}){if(e!==!0||t)return e;r.push({type:`unsupported`,feature:`async tool calling for "${n}"`,details:`Async tool calling is only supported by GPT-6 and later models.`})}function Ar(e){if(e.type===`containerReference`)return{type:`container_reference`,container_id:e.containerId};if(e.type===`containerAuto`){let t=e;return{type:`container_auto`,file_ids:t.fileIds,memory_limit:t.memoryLimit,network_policy:t.networkPolicy==null?void 0:t.networkPolicy.type===`disabled`?{type:`disabled`}:{type:`allowlist`,allowed_domains:t.networkPolicy.allowedDomains,domain_secrets:t.networkPolicy.domainSecrets},skills:jr(t.skills)}}return{type:`local`,skills:e.skills}}function jr(e){return e?.map(e=>e.type===`skillReference`?{type:`skill_reference`,skill_id:be({reference:e.providerReference??{},provider:`openai`}),version:e.version??`latest`}:{type:`inline`,name:e.name,description:e.description,source:{type:`base64`,media_type:e.source.mediaType,data:e.source.data}})}function Mr(e){let t={};for(let n of e)if(n.role===`assistant`)for(let e of n.content){if(e.type!==`tool-call`)continue;let n=e.providerOptions?.openai?.approvalRequestId;n!=null&&(t[n]=e.toolCallId)}return t}function Nr(e){switch(e.type){case`click`:return{type:`click`,button:e.button,x:e.x,y:e.y,...e.keys!=null&&{keys:e.keys}};case`double_click`:return{type:`double_click`,x:e.x,y:e.y,...e.keys!=null&&{keys:e.keys}};case`drag`:return{type:`drag`,path:e.path,...e.keys!=null&&{keys:e.keys}};case`keypress`:return e;case`move`:return{type:`move`,x:e.x,y:e.y,...e.keys!=null&&{keys:e.keys}};case`screenshot`:return e;case`scroll`:return{type:`scroll`,x:e.x,y:e.y,scrollX:e.scroll_x,scrollY:e.scroll_y,...e.keys!=null&&{keys:e.keys}};case`type`:return e;case`wait`:return e}}function Pr({action:e,actions:t,pending_safety_checks:n,status:r}){return{actions:(t??(e==null?[]:[e])).map(Nr),pendingSafetyChecks:n?.map(e=>({id:e.id,...e.code!=null&&{code:e.code},...e.message!=null&&{message:e.message}}))??[],status:r}}var Fr={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},Ir=class t{constructor(e,t){this.specificationVersion=`v4`,this.supportedUrls=Fr,this.modelId=e,this.config=t}static[J](e){return V({modelId:e.modelId,config:e.config})}static[q](e){return new t(e.modelId,sr(e.config))}get provider(){return this.config.provider}static async prepareRequest({modelId:e,config:t,options:{maxOutputTokens:n,temperature:r,stopSequences:i,topP:a,topK:o,presencePenalty:s,frequencyPenalty:c,seed:l,prompt:u,reasoning:d,providerOptions:f,tools:p,toolChoice:m,responseFormat:h}}){let g=[],_=Pe(e);o!=null&&g.push({type:`unsupported`,feature:`topK`}),l!=null&&g.push({type:`unsupported`,feature:`seed`}),s!=null&&g.push({type:`unsupported`,feature:`presencePenalty`}),c!=null&&g.push({type:`unsupported`,feature:`frequencyPenalty`}),i!=null&&g.push({type:`unsupported`,feature:`stopSequences`});let v=t.provider.includes(`azure`)?`azure`:`openai`,y=await T({provider:v,providerOptions:f,schema:Cr});y==null&&v!==`openai`&&(y=await T({provider:`openai`,providerOptions:f,schema:Cr}));let b=y?.reasoningEffort??(j(d)?d:void 0);b!=null&&_.supportedReasoningEfforts!=null&&!_.supportedReasoningEfforts.includes(b)&&(g.push({type:`unsupported`,feature:`reasoningEffort`,details:`${e} only supports the following reasoning efforts: ${_.supportedReasoningEfforts.join(`, `)}`}),b=void 0);let x=y?.reasoningSummary===void 0?b!=null&&b!==`none`?`detailed`:void 0:y.reasoningSummary,S=y?.forceReasoning??_.isReasoningModel;y?.conversation&&y?.previousResponseId&&g.push({type:`unsupported`,feature:`conversation`,details:`conversation and previousResponseId cannot be used together`});let C=Oe({tools:p,providerToolNames:{"openai.code_interpreter":`code_interpreter`,"openai.computer":`computer`,"openai.file_search":`file_search`,"openai.image_generation":`image_generation`,"openai.local_shell":`local_shell`,"openai.shell":`shell`,"openai.web_search":`web_search`,"openai.web_search_preview":`web_search_preview`,"openai.mcp":`mcp`,"openai.apply_patch":`apply_patch`,"openai.tool_search":`tool_search`,"openai.programmatic_tool_calling":`programmatic_tool_calling`}}),w=new Set,E=new Set,{tools:D,toolChoice:O,toolWarnings:k}=await wr({tools:p,toolChoice:m,allowedTools:y?.allowedTools??void 0,toolNameMapping:C,customProviderToolNames:w,outputSchemaToolNames:E,supportsAsyncToolCalling:_.supportsAsyncToolCalling}),{input:A,warnings:M}=await br({prompt:u,toolNameMapping:C,systemMessageMode:y?.systemMessageMode??(S?`developer`:_.systemMessageMode),providerOptionsName:v,explicitMessageItemType:t.explicitMessageItemType,fileIdPrefixes:t.fileIdPrefixes,passThroughUnsupportedFiles:y?.passThroughUnsupportedFiles??!1,store:y?.store??!0,hasConversation:y?.conversation!=null,hasPreviousResponseId:y?.previousResponseId!=null,hasLocalShellTool:L(`openai.local_shell`),hasShellTool:L(`openai.shell`),hasApplyPatchTool:L(`openai.apply_patch`),hasComputerTool:L(`openai.computer`),toolSearchToolName:ne(`openai.tool_search`),customProviderToolNames:w.size>0?w:void 0,outputSchemaToolNames:E.size>0?E:void 0});g.push(...M);let N=y?.reasoningEffortUpdate,ee=N==null||_.supportsConfigurationUpdate&&y?.reasoningMode!==`pro`&&y?.contextManagement==null&&y?.truncation!==`auto`;N!=null&&!ee?g.push({type:`unsupported`,feature:`reasoningEffortUpdate`,details:_.supportsConfigurationUpdate?`reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation`:`reasoningEffortUpdate is only supported by GPT-6 and later models`}):N!=null&&A.unshift({type:`configuration_update`,reasoning:{effort:N}}),y?.compactionTrigger&&A.push({type:`compaction_trigger`});let te=y?.strictJsonSchema??!0,P=h?.type===`json`&&h.schema!=null?it(h.schema):void 0;P!=null&&g.push(...P.warnings);let F=y?.include;function I(e){F==null?F=[e]:F.includes(e)||(F=[...F,e])}function ne(e){return p?.find(t=>t.type===`provider`&&t.id===e)?.name}function L(e){return ne(e)!=null}let R=typeof y?.logprobs==`number`?y?.logprobs:y?.logprobs===!0?Sr:void 0;R&&I(`message.output_text.logprobs`);let z=p?.find(e=>e.type===`provider`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;z&&t.supportsWebSearchSourcesInclude!==!1&&y?.includeWebSearchSources!==!1&&I(`web_search_call.action.sources`),L(`openai.code_interpreter`)&&I(`code_interpreter_call.outputs`);let re=y?.store;re===!1&&S&&I(`reasoning.encrypted_content`);let B={model:e,input:A,temperature:r,top_p:a,max_output_tokens:n,...(h?.type===`json`||y?.textVerbosity)&&{text:{...h?.type===`json`&&{format:P==null?{type:`json_object`}:{type:`json_schema`,strict:te,name:h.name??`response`,description:h.description,schema:P.schema}},...y?.textVerbosity&&{verbosity:y.textVerbosity}}},conversation:y?.conversation,max_tool_calls:y?.maxToolCalls,metadata:y?.metadata,parallel_tool_calls:y?.parallelToolCalls,previous_response_id:y?.previousResponseId,store:re,user:y?.user,instructions:y?.instructions,service_tier:y?.serviceTier,include:F,prompt_cache_key:y?.promptCacheKey,prompt_cache_options:y?.promptCacheOptions,prompt_cache_retention:y?.promptCacheRetention,safety_identifier:y?.safetyIdentifier,top_logprobs:R,truncation:y?.truncation,...y?.contextManagement&&{context_management:y.contextManagement.map(e=>({type:e.type,compact_threshold:e.compactThreshold}))},...S&&(b!=null||x!=null||y?.reasoningMode!=null||y?.reasoningContext!=null)&&{reasoning:{...b!=null&&{effort:b},...x!=null&&{summary:x},...y?.reasoningMode!=null&&{mode:y.reasoningMode},...y?.reasoningContext!=null&&{context:y.reasoningContext}}}};if(_.supportsConfigurationUpdate&&B.prompt_cache_retention!=null&&(B.prompt_cache_retention=void 0,g.push({type:`unsupported`,feature:`promptCacheRetention`,details:`promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead`})),S){if(!(b===`none`&&_.supportsNonReasoningParameters)&&(B.temperature!=null&&(B.temperature=void 0,g.push({type:`unsupported`,feature:`temperature`,details:`temperature is not supported for reasoning models`})),B.top_p!=null&&(B.top_p=void 0,g.push({type:`unsupported`,feature:`topP`,details:`topP is not supported for reasoning models`})),_.supportedReasoningEfforts!=null&&(B.top_logprobs!=null||B.include?.includes(`message.output_text.logprobs`)))){B.top_logprobs=void 0;let e=B.include?.filter(e=>e!==`message.output_text.logprobs`);B.include=e!=null&&e.length>0?e:void 0,g.push({type:`unsupported`,feature:`logprobs`,details:`logprobs is not supported for reasoning models`})}}else y?.reasoningEffort!=null&&g.push({type:`unsupported`,feature:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),y?.reasoningSummary!=null&&g.push({type:`unsupported`,feature:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`}),y?.reasoningMode!=null&&g.push({type:`unsupported`,feature:`reasoningMode`,details:`reasoningMode is not supported for non-reasoning models`}),y?.reasoningContext!=null&&g.push({type:`unsupported`,feature:`reasoningContext`,details:`reasoningContext is not supported for non-reasoning models`});y?.serviceTier===`flex`&&!_.supportsFlexProcessing&&(g.push({type:`unsupported`,feature:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete B.service_tier),(y?.serviceTier===`priority`||y?.serviceTier===`fast`)&&!_.supportsPriorityProcessing&&(g.push({type:`unsupported`,feature:`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 B.service_tier);let ie=p?.find(e=>e.type===`provider`&&e.id===`openai.shell`)?.args?.environment?.type,ae=ie===`containerAuto`||ie===`containerReference`;return{webSearchToolName:z,args:{...B,tools:D,tool_choice:O},warnings:[...g,...k],store:re,toolNameMapping:C,providerOptionsName:v,isShellProviderExecuted:ae}}getArgs(e){return t.prepareRequest({modelId:this.modelId,config:this.config,options:e})}async doGenerate(t){var n,r,i,a,o,s;let{args:c,warnings:l,webSearchToolName:u,toolNameMapping:d,providerOptionsName:f,isShellProviderExecuted:p}=await this.getArgs(t),m=this.config.url({path:`/responses`,modelId:this.modelId}),h=Mr(t.prompt),{responseHeaders:g,value:_,rawValue:v}=await W({url:m,headers:H((n=this.config).headers?.call(n),t.headers),body:c,failedResponseHandler:Y,successfulResponseHandler:R(or),abortSignal:t.abortSignal,fetch:this.config.fetch});if(_.error)throw new e({message:_.error.message,url:m,requestBodyValues:c,statusCode:400,responseHeaders:g,responseBody:v,isRetryable:!1});if(_.output==null){let t=_.incomplete_details?.reason;throw new e({message:t?`Responses API returned no output (${t})`:`Responses API returned no output`,url:m,requestBodyValues:c,statusCode:500,responseHeaders:g,responseBody:v,isRetryable:!1})}let y=[],b=[],x=t.tools?.filter(e=>e.type===`function`)??[],S=!1,C=[];for(let e of _.output)switch(e.type){case`reasoning`:e.summary.length===0&&e.summary.push({type:`summary_text`,text:``});for(let t of e.summary)y.push({type:`reasoning`,text:t.text,providerMetadata:{[f]:{itemId:e.id,reasoningEncryptedContent:e.encrypted_content??null}}});break;case`image_generation_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(`image_generation`),input:`{}`,providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(`image_generation`),result:{result:e.result}});break;case`tool_search_call`:{let t=e.call_id??e.id,n=e.execution===`server`;n&&C.push(t),y.push({type:`tool-call`,toolCallId:t,toolName:d.toCustomToolName(`tool_search`),input:JSON.stringify({arguments:e.arguments,call_id:e.call_id}),...n?{providerExecuted:!0}:{},providerMetadata:{[f]:{itemId:e.id}}});break}case`tool_search_output`:{let t=e.call_id??C.shift()??e.id;y.push({type:`tool-result`,toolCallId:t,toolName:d.toCustomToolName(`tool_search`),result:{tools:e.tools},providerMetadata:{[f]:{itemId:e.id}}});break}case`local_shell_call`:y.push({type:`tool-call`,toolCallId:e.call_id,toolName:d.toCustomToolName(`local_shell`),input:JSON.stringify({action:e.action}),providerMetadata:{[f]:{itemId:e.id}}});break;case`shell_call`:y.push({type:`tool-call`,toolCallId:e.call_id,toolName:d.toCustomToolName(`shell`),input:JSON.stringify({action:{commands:e.action.commands}}),...p&&{providerExecuted:!0},providerMetadata:{[f]:{itemId:e.id}}});break;case`shell_call_output`:y.push({type:`tool-result`,toolCallId:e.call_id,toolName:d.toCustomToolName(`shell`),result:{output:e.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:e.outcome.type===`exit`?{type:`exit`,exitCode:e.outcome.exit_code}:{type:`timeout`}}))}});break;case`message`:for(let n of e.content){t.providerOptions?.[f]?.logprobs&&n.logprobs&&b.push(n.logprobs);let s={itemId:e.id,...e.phase!=null&&{phase:e.phase},...n.annotations.length>0&&{annotations:n.annotations}};y.push({type:`text`,text:n.text,providerMetadata:{[f]:s}});for(let e of n.annotations)e.type===`url_citation`?y.push({type:`source`,sourceType:`url`,id:(r=this.config).generateId?.call(r)??M(),url:e.url,title:e.title}):e.type===`file_citation`?y.push({type:`source`,sourceType:`document`,id:(i=this.config).generateId?.call(i)??M(),mediaType:`text/plain`,title:e.filename,filename:e.filename,providerMetadata:{[f]:{type:e.type,fileId:e.file_id,index:e.index}}}):e.type===`container_file_citation`?y.push({type:`source`,sourceType:`document`,id:(a=this.config).generateId?.call(a)??M(),mediaType:`text/plain`,title:e.filename,filename:e.filename,providerMetadata:{[f]:{type:e.type,fileId:e.file_id,containerId:e.container_id}}}):e.type===`file_path`&&y.push({type:`source`,sourceType:`document`,id:(o=this.config).generateId?.call(o)??M(),mediaType:`application/octet-stream`,title:e.file_id,filename:e.file_id,providerMetadata:{[f]:{type:e.type,fileId:e.file_id,index:e.index}}})}break;case`function_call`:{S=!0;let t=await fr({toolCall:{toolCallId:e.call_id,toolName:e.name,input:e.arguments},tools:x,providerOptionsName:f,itemId:e.id});if(t!=null){y.push(...t);break}y.push({type:`tool-call`,toolCallId:e.call_id,toolName:e.name,input:e.arguments,providerMetadata:{[f]:{itemId:e.id,...e.async!=null&&{async:e.async},...e.namespace!=null&&{namespace:e.namespace},...e.caller!=null&&{caller:e.caller.type===`program`?{type:`program`,callerId:e.caller.caller_id}:e.caller}}}});break}case`program`:y.push({type:`tool-call`,toolCallId:e.call_id,toolName:d.toCustomToolName(`programmatic_tool_calling`),input:JSON.stringify({code:e.code,fingerprint:e.fingerprint}),providerExecuted:!0,providerMetadata:{[f]:{itemId:e.id}}});break;case`program_output`:y.push({type:`tool-result`,toolCallId:e.call_id,toolName:d.toCustomToolName(`programmatic_tool_calling`),result:{result:e.result,status:e.status},providerMetadata:{[f]:{itemId:e.id}}});break;case`custom_tool_call`:{S=!0;let t=d.toCustomToolName(e.name);y.push({type:`tool-call`,toolCallId:e.call_id,toolName:t,input:JSON.stringify(e.input),providerMetadata:{[f]:{itemId:e.id,...e.async!=null&&{async:e.async}}}});break}case`web_search_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(u??`web_search`),input:JSON.stringify({}),providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(u??`web_search`),result:ri(e.action)});break;case`mcp_call`:{let t=e.approval_request_id==null?e.id:h[e.approval_request_id]??e.id,n=`mcp.${e.name}`;y.push({type:`tool-call`,toolCallId:t,toolName:n,input:e.arguments,providerExecuted:!0,dynamic:!0}),y.push({type:`tool-result`,toolCallId:t,toolName:n,result:{type:`call`,serverLabel:e.server_label,name:e.name,arguments:e.arguments,...e.output==null?{}:{output:e.output},...e.error==null?{}:{error:e.error}},providerMetadata:{[f]:{itemId:e.id}}});break}case`mcp_list_tools`:break;case`mcp_approval_request`:{let t=e.approval_request_id??e.id,n=(s=this.config).generateId?.call(s)??M(),r=`mcp.${e.name}`;y.push({type:`tool-call`,toolCallId:n,toolName:r,input:e.arguments,providerExecuted:!0,dynamic:!0}),y.push({type:`tool-approval-request`,approvalId:t,toolCallId:n});break}case`computer_call`:{if(e.call_id==null){y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(`computer_use`),input:``,providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(`computer_use`),result:{type:`computer_use_tool_result`,status:e.status}});break}S=!0;let t=d.toCustomToolName(`computer`);y.push({type:`tool-call`,toolCallId:e.call_id,toolName:t,input:JSON.stringify(Pr(e)),providerMetadata:{[f]:{itemId:e.id}}});break}case`file_search_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(`file_search`),input:`{}`,providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(`file_search`),result:{queries:e.queries,results:e.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null}});break;case`code_interpreter_call`:y.push({type:`tool-call`,toolCallId:e.id,toolName:d.toCustomToolName(`code_interpreter`),input:JSON.stringify({code:e.code,containerId:e.container_id}),providerExecuted:!0}),y.push({type:`tool-result`,toolCallId:e.id,toolName:d.toCustomToolName(`code_interpreter`),result:{outputs:e.outputs}});break;case`apply_patch_call`:S=!0,y.push({type:`tool-call`,toolCallId:e.call_id,toolName:d.toCustomToolName(`apply_patch`),input:JSON.stringify({callId:e.call_id,operation:e.operation}),providerMetadata:{[f]:{itemId:e.id}}});break;case`compaction`:y.push({type:`custom`,kind:`openai.compaction`,providerMetadata:{[f]:{type:`compaction`,itemId:e.id,encryptedContent:e.encrypted_content}}})}let w={[f]:{responseId:_.id,...b.length>0?{logprobs:b}:{},...typeof _.service_tier==`string`?{serviceTier:_.service_tier}:{},..._.reasoning?.context==null?{}:{reasoningContext:_.reasoning.context}}},T=_.usage;return{content:y,finishReason:{unified:Wn({finishReason:_.incomplete_details?.reason,hasFunctionCall:S}),raw:_.incomplete_details?.reason??void 0},usage:Un(T),request:{body:c},response:{id:_.id,timestamp:new Date(_.created_at*1e3),modelId:_.model,headers:g,body:v},providerMetadata:w,warnings:l}}async doStream(e){var t;let{args:n,warnings:r,webSearchToolName:i,toolNameMapping:a,store:o,providerOptionsName:s,isShellProviderExecuted:c}=await this.getArgs(e),l=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:u,value:d}=await W({url:l,headers:H((t=this.config).headers?.call(t),e.headers),body:{...n,stream:!0},failedResponseHandler:Y,successfulResponseHandler:he(ar),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=await Re({stream:d,getError:e=>ei(e)||Ur(e)&&e.response.error!=null?e:void 0,isOutputChunk:ni,isAcceptedChunk:ti,url:l,requestBodyValues:n,responseHeaders:u}),p=this,m=Mr(e.prompt),h=e.tools?.filter(e=>e.type===`function`)??[],g=new Map,_={unified:`other`,raw:void 0},v,y=[],b=null,x={},S=[],C,w=!1,T={},E={},D=({itemId:e,outputIndex:t})=>t==null?e:E[t]??e,O,k,A=[],j=!1;return{stream:f.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(t,r){var d,f,N,ee,te,P;if(e.includeRawChunks&&r.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){let e=Rr(t.rawValue)?zr({value:t.rawValue,cause:t.error,url:l,requestBodyValues:n,responseHeaders:u}):t.error;j=!0,_={unified:`error`,raw:void 0},r.enqueue({type:`error`,error:e});return}let F=t.value;if(Qr(F)){if(F.item.type===`function_call`){let e=dr({toolName:F.item.name,tools:h});x[F.output_index]={toolName:F.item.name,toolCallId:F.item.call_id,suppressInputStreaming:e,bufferedInputDeltas:e?[]:void 0,async:F.item.async},e||r.enqueue({type:`tool-input-start`,id:F.item.call_id,toolName:F.item.name})}else if(F.item.type===`custom_tool_call`){let e=a.toCustomToolName(F.item.name);x[F.output_index]={toolName:e,toolCallId:F.item.call_id,async:F.item.async},r.enqueue({type:`tool-input-start`,id:F.item.call_id,toolName:e})}else if(F.item.type===`web_search_call`)x[F.output_index]={toolName:a.toCustomToolName(i??`web_search`),toolCallId:F.item.id},r.enqueue({type:`tool-input-start`,id:F.item.id,toolName:a.toCustomToolName(i??`web_search`),providerExecuted:!0}),r.enqueue({type:`tool-input-end`,id:F.item.id}),r.enqueue({type:`tool-call`,toolCallId:F.item.id,toolName:a.toCustomToolName(i??`web_search`),input:JSON.stringify({}),providerExecuted:!0});else if(F.item.type===`computer_call`){let e=F.item.call_id??F.item.id;x[F.output_index]={toolName:a.toCustomToolName(`computer`),toolCallId:e},r.enqueue({type:`tool-input-start`,id:e,toolName:a.toCustomToolName(`computer`)})}else if(F.item.type===`code_interpreter_call`)x[F.output_index]={toolName:a.toCustomToolName(`code_interpreter`),toolCallId:F.item.id,codeInterpreter:{containerId:F.item.container_id}},r.enqueue({type:`tool-input-start`,id:F.item.id,toolName:a.toCustomToolName(`code_interpreter`),providerExecuted:!0}),r.enqueue({type:`tool-input-delta`,id:F.item.id,delta:`{"containerId":"${F.item.container_id}","code":"`});else if(F.item.type===`file_search_call`)r.enqueue({type:`tool-call`,toolCallId:F.item.id,toolName:a.toCustomToolName(`file_search`),input:`{}`,providerExecuted:!0});else if(F.item.type===`image_generation_call`)r.enqueue({type:`tool-call`,toolCallId:F.item.id,toolName:a.toCustomToolName(`image_generation`),input:`{}`,providerExecuted:!0});else if(F.item.type===`tool_search_call`){let e=F.item.id,t=a.toCustomToolName(`tool_search`),n=F.item.execution===`server`;x[F.output_index]={toolName:t,toolCallId:e,toolSearchExecution:F.item.execution??`server`},n&&r.enqueue({type:`tool-input-start`,id:e,toolName:t,providerExecuted:!0})}else if(F.item.type!==`tool_search_output`&&F.item.type!==`mcp_call`&&F.item.type!==`mcp_list_tools`&&F.item.type!==`mcp_approval_request`){if(F.item.type===`apply_patch_call`){let{call_id:e,operation:t}=F.item;if(x[F.output_index]={toolName:a.toCustomToolName(`apply_patch`),toolCallId:e,applyPatch:{hasDiff:t.type===`delete_file`,endEmitted:t.type===`delete_file`}},r.enqueue({type:`tool-input-start`,id:e,toolName:a.toCustomToolName(`apply_patch`)}),t.type===`delete_file`){let n=JSON.stringify({callId:e,operation:t});r.enqueue({type:`tool-input-delta`,id:e,delta:n}),r.enqueue({type:`tool-input-end`,id:e})}else r.enqueue({type:`tool-input-delta`,id:e,delta:`{"callId":"${$(e)}","operation":{"type":"${$(t.type)}","path":"${$(t.path)}","diff":"`})}else F.item.type===`shell_call`?x[F.output_index]={toolName:a.toCustomToolName(`shell`),toolCallId:F.item.call_id}:F.item.type===`shell_call_output`||(F.item.type===`message`?(E[F.output_index]=F.item.id,S.splice(0,S.length),C=F.item.phase??void 0,r.enqueue({type:`text-start`,id:F.item.id,providerMetadata:{[s]:{itemId:F.item.id,...F.item.phase!=null&&{phase:F.item.phase}}}})):Qr(F)&&F.item.type===`reasoning`&&(E[F.output_index]=F.item.id,T[F.item.id]={encryptedContent:F.item.encrypted_content,summaryParts:{0:`active`}},r.enqueue({type:`reasoning-start`,id:`${F.item.id}:0`,providerMetadata:{[s]:{itemId:F.item.id,reasoningEncryptedContent:F.item.encrypted_content??null}}})))}}else if(Vr(F)){if(F.item.type===`message`){let e=D({itemId:F.item.id,outputIndex:F.output_index}),t=F.item.phase??C;C=void 0,r.enqueue({type:`text-end`,id:e,providerMetadata:{[s]:{itemId:e,...t!=null&&{phase:t},...S.length>0&&{annotations:S}}}}),E[F.output_index]=void 0}else if(F.item.type===`function_call`){let e=F.item,t=x[F.output_index];x[F.output_index]=void 0,w=!0;let n=t?.suppressInputStreaming??dr({toolName:e.name,tools:h}),i=()=>{if(n){r.enqueue({type:`tool-input-start`,id:e.call_id,toolName:e.name});let n=t?.bufferedInputDeltas??[];if(n.length>0)for(let t of n)r.enqueue({type:`tool-input-delta`,id:e.call_id,delta:t});else e.arguments.length>0&&r.enqueue({type:`tool-input-delta`,id:e.call_id,delta:e.arguments})}r.enqueue({type:`tool-input-end`,id:e.call_id,...e.namespace!=null&&{providerMetadata:{[s]:{namespace:e.namespace}}}}),r.enqueue({type:`tool-call`,toolCallId:e.call_id,toolName:e.name,input:e.arguments,providerMetadata:{[s]:{itemId:e.id,...e.async==null?t?.async==null?{}:{async:t.async}:{async:e.async},...e.namespace!=null&&{namespace:e.namespace},...e.caller!=null&&{caller:e.caller.type===`program`?{type:`program`,callerId:e.caller.caller_id}:e.caller}}}})};if(!n){i();return}return fr({toolCall:{toolCallId:e.call_id,toolName:e.name,input:e.arguments},tools:h,providerOptionsName:s,itemId:e.id}).then(e=>{if(e==null){i();return}for(let t of e)r.enqueue({type:`tool-input-start`,id:t.toolCallId,toolName:t.toolName}),r.enqueue({type:`tool-input-delta`,id:t.toolCallId,delta:t.input}),r.enqueue({type:`tool-input-end`,id:t.toolCallId}),r.enqueue(t)})}else if(F.item.type===`program`)r.enqueue({type:`tool-call`,toolCallId:F.item.call_id,toolName:a.toCustomToolName(`programmatic_tool_calling`),input:JSON.stringify({code:F.item.code,fingerprint:F.item.fingerprint}),providerExecuted:!0,providerMetadata:{[s]:{itemId:F.item.id}}});else if(F.item.type===`program_output`)r.enqueue({type:`tool-result`,toolCallId:F.item.call_id,toolName:a.toCustomToolName(`programmatic_tool_calling`),result:{result:F.item.result,status:F.item.status},providerMetadata:{[s]:{itemId:F.item.id}}});else if(F.item.type===`custom_tool_call`){let e=x[F.output_index];x[F.output_index]=void 0,w=!0;let t=a.toCustomToolName(F.item.name);r.enqueue({type:`tool-input-end`,id:F.item.call_id}),r.enqueue({type:`tool-call`,toolCallId:F.item.call_id,toolName:t,input:JSON.stringify(F.item.input),providerMetadata:{[s]:{itemId:F.item.id,...F.item.async==null?e?.async==null?{}:{async:e.async}:{async:F.item.async}}}})}else if(F.item.type===`web_search_call`)x[F.output_index]=void 0,r.enqueue({type:`tool-result`,toolCallId:F.item.id,toolName:a.toCustomToolName(i??`web_search`),result:ri(F.item.action)});else if(F.item.type===`computer_call`){if(x[F.output_index]=void 0,F.item.call_id==null){r.enqueue({type:`tool-input-end`,id:F.item.id}),r.enqueue({type:`tool-call`,toolCallId:F.item.id,toolName:a.toCustomToolName(`computer_use`),input:``,providerExecuted:!0}),r.enqueue({type:`tool-result`,toolCallId:F.item.id,toolName:a.toCustomToolName(`computer_use`),result:{type:`computer_use_tool_result`,status:F.item.status}});return}w=!0;let e=a.toCustomToolName(`computer`),t=JSON.stringify(Pr(F.item));r.enqueue({type:`tool-input-delta`,id:F.item.call_id,delta:t}),r.enqueue({type:`tool-input-end`,id:F.item.call_id}),r.enqueue({type:`tool-call`,toolCallId:F.item.call_id,toolName:e,input:t,providerMetadata:{[s]:{itemId:F.item.id}}})}else if(F.item.type===`file_search_call`)x[F.output_index]=void 0,r.enqueue({type:`tool-result`,toolCallId:F.item.id,toolName:a.toCustomToolName(`file_search`),result:{queries:F.item.queries,results:F.item.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null}});else if(F.item.type===`code_interpreter_call`)x[F.output_index]=void 0,r.enqueue({type:`tool-result`,toolCallId:F.item.id,toolName:a.toCustomToolName(`code_interpreter`),result:{outputs:F.item.outputs}});else if(F.item.type===`image_generation_call`)r.enqueue({type:`tool-result`,toolCallId:F.item.id,toolName:a.toCustomToolName(`image_generation`),result:{result:F.item.result}});else if(F.item.type===`tool_search_call`){let e=x[F.output_index],t=F.item.execution===`server`;if(e!=null){let n=t?e.toolCallId:F.item.call_id??F.item.id;t?A.push(n):r.enqueue({type:`tool-input-start`,id:n,toolName:e.toolName}),r.enqueue({type:`tool-input-end`,id:n}),r.enqueue({type:`tool-call`,toolCallId:n,toolName:e.toolName,input:JSON.stringify({arguments:F.item.arguments,call_id:t?null:n}),...t?{providerExecuted:!0}:{},providerMetadata:{[s]:{itemId:F.item.id}}})}x[F.output_index]=void 0}else if(F.item.type===`tool_search_output`){let e=F.item.call_id??A.shift()??F.item.id;r.enqueue({type:`tool-result`,toolCallId:e,toolName:a.toCustomToolName(`tool_search`),result:{tools:F.item.tools},providerMetadata:{[s]:{itemId:F.item.id}}})}else if(F.item.type===`mcp_call`){x[F.output_index]=void 0;let e=F.item.approval_request_id??void 0,t=e==null?F.item.id:g.get(e)??m[e]??F.item.id,n=`mcp.${F.item.name}`;r.enqueue({type:`tool-call`,toolCallId:t,toolName:n,input:F.item.arguments,providerExecuted:!0,dynamic:!0}),r.enqueue({type:`tool-result`,toolCallId:t,toolName:n,result:{type:`call`,serverLabel:F.item.server_label,name:F.item.name,arguments:F.item.arguments,...F.item.output==null?{}:{output:F.item.output},...F.item.error==null?{}:{error:F.item.error}},providerMetadata:{[s]:{itemId:F.item.id}}})}else if(F.item.type===`mcp_list_tools`)x[F.output_index]=void 0;else if(F.item.type===`apply_patch_call`){let e=x[F.output_index];e?.applyPatch&&!e.applyPatch.endEmitted&&F.item.operation.type!==`delete_file`&&(e.applyPatch.hasDiff||r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$(F.item.operation.diff)}),r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}}`}),r.enqueue({type:`tool-input-end`,id:e.toolCallId}),e.applyPatch.endEmitted=!0),e&&F.item.status===`completed`&&(w=!0,r.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:a.toCustomToolName(`apply_patch`),input:JSON.stringify({callId:F.item.call_id,operation:F.item.operation}),providerMetadata:{[s]:{itemId:F.item.id}}})),x[F.output_index]=void 0}else if(F.item.type===`mcp_approval_request`){x[F.output_index]=void 0;let e=(d=p.config).generateId?.call(d)??M(),t=F.item.approval_request_id??F.item.id;g.set(t,e);let n=`mcp.${F.item.name}`;r.enqueue({type:`tool-call`,toolCallId:e,toolName:n,input:F.item.arguments,providerExecuted:!0,dynamic:!0}),r.enqueue({type:`tool-approval-request`,approvalId:t,toolCallId:e})}else if(F.item.type===`local_shell_call`)x[F.output_index]=void 0,r.enqueue({type:`tool-call`,toolCallId:F.item.call_id,toolName:a.toCustomToolName(`local_shell`),input:JSON.stringify({action:{type:`exec`,command:F.item.action.command,timeoutMs:F.item.action.timeout_ms,user:F.item.action.user,workingDirectory:F.item.action.working_directory,env:F.item.action.env}}),providerMetadata:{[s]:{itemId:F.item.id}}});else if(F.item.type===`shell_call`)x[F.output_index]=void 0,r.enqueue({type:`tool-call`,toolCallId:F.item.call_id,toolName:a.toCustomToolName(`shell`),input:JSON.stringify({action:{commands:F.item.action.commands}}),...c&&{providerExecuted:!0},providerMetadata:{[s]:{itemId:F.item.id}}});else if(F.item.type===`shell_call_output`)r.enqueue({type:`tool-result`,toolCallId:F.item.call_id,toolName:a.toCustomToolName(`shell`),result:{output:F.item.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:e.outcome.type===`exit`?{type:`exit`,exitCode:e.outcome.exit_code}:{type:`timeout`}}))}});else if(F.item.type===`reasoning`){let e=D({itemId:F.item.id,outputIndex:F.output_index}),t=T[e];if(t!=null){let n=Object.entries(t.summaryParts).filter(([e,t])=>t===`active`||t===`can-conclude`).map(([e])=>e);for(let t of n)r.enqueue({type:`reasoning-end`,id:`${e}:${t}`,providerMetadata:{[s]:{itemId:e,reasoningEncryptedContent:F.item.encrypted_content??null}}});delete T[e]}E[F.output_index]=void 0}else F.item.type===`compaction`&&r.enqueue({type:`custom`,kind:`openai.compaction`,providerMetadata:{[s]:{type:`compaction`,itemId:F.item.id,encryptedContent:F.item.encrypted_content}}})}else if(Gr(F)){let e=x[F.output_index];e!=null&&(e.suppressInputStreaming?(f=e.bufferedInputDeltas)==null||f.push(F.delta):r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:F.delta}))}else if(Kr(F)){let e=x[F.output_index];e!=null&&r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:F.delta})}else if(Xr(F)){let e=x[F.output_index];e?.applyPatch&&(r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$(F.delta)}),e.applyPatch.hasDiff=!0)}else if(Zr(F)){let e=x[F.output_index];e?.applyPatch&&!e.applyPatch.endEmitted&&(e.applyPatch.hasDiff||(r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$(F.diff)}),e.applyPatch.hasDiff=!0),r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}}`}),r.enqueue({type:`tool-input-end`,id:e.toolCallId}),e.applyPatch.endEmitted=!0)}else if(qr(F))r.enqueue({type:`tool-result`,toolCallId:F.item_id,toolName:a.toCustomToolName(`image_generation`),result:{result:F.partial_image_b64},preliminary:!0});else if(Jr(F)){let e=x[F.output_index];e!=null&&r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$(F.delta)})}else if(Yr(F)){let e=x[F.output_index];e!=null&&(r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:`"}`}),r.enqueue({type:`tool-input-end`,id:e.toolCallId}),r.enqueue({type:`tool-call`,toolCallId:e.toolCallId,toolName:a.toCustomToolName(`code_interpreter`),input:JSON.stringify({code:F.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else if(Wr(F))b=F.response.id,r.enqueue({type:`response-metadata`,id:F.response.id,timestamp:new Date(F.response.created_at*1e3),modelId:F.response.model});else if(Lr(F)){let t=D({itemId:F.item_id,outputIndex:F.output_index});r.enqueue({type:`text-delta`,id:t,delta:F.delta}),e.providerOptions?.[s]?.logprobs&&F.logprobs&&y.push(F.logprobs)}else if(F.type===`response.reasoning_summary_part.added`){let e=D({itemId:F.item_id,outputIndex:F.output_index});if(F.summary_index>0){let t=T[e];if(t!=null){t.summaryParts[F.summary_index]=`active`;for(let n of Object.keys(t.summaryParts))t.summaryParts[n]===`can-conclude`&&(r.enqueue({type:`reasoning-end`,id:`${e}:${n}`,providerMetadata:{[s]:{itemId:e}}}),t.summaryParts[n]=`concluded`);r.enqueue({type:`reasoning-start`,id:`${e}:${F.summary_index}`,providerMetadata:{[s]:{itemId:e,reasoningEncryptedContent:t.encryptedContent??null}}})}}}else if(F.type===`response.reasoning_summary_text.delta`){let e=D({itemId:F.item_id,outputIndex:F.output_index});r.enqueue({type:`reasoning-delta`,id:`${e}:${F.summary_index}`,delta:F.delta,providerMetadata:{[s]:{itemId:e}}})}else if(F.type===`response.reasoning_summary_part.done`){let e=D({itemId:F.item_id,outputIndex:F.output_index}),t=T[e];t!=null&&(o?(r.enqueue({type:`reasoning-end`,id:`${e}:${F.summary_index}`,providerMetadata:{[s]:{itemId:e}}}),t.summaryParts[F.summary_index]=`concluded`):t.summaryParts[F.summary_index]=`can-conclude`)}else if(Hr(F))j||(_={unified:Wn({finishReason:F.response.incomplete_details?.reason,hasFunctionCall:w}),raw:F.response.incomplete_details?.reason??void 0}),v=F.response.usage??void 0,typeof F.response.service_tier==`string`&&(O=F.response.service_tier),F.response.reasoning?.context!=null&&(k=F.response.reasoning.context);else if(Ur(F)){let e=F.response.incomplete_details?.reason;if(_={unified:e?Wn({finishReason:e,hasFunctionCall:w}):`error`,raw:e??`error`},v=F.response.usage??void 0,F.response.reasoning?.context!=null&&(k=F.response.reasoning.context),!j&&F.response.error!=null){j=!0;let e={type:`response.failed`,sequence_number:F.sequence_number,response:{error:F.response.error,incomplete_details:F.response.incomplete_details,service_tier:F.response.service_tier}};r.enqueue({type:`error`,error:Le(e)??e})}}else $r(F)?(S.push(F.annotation),F.annotation.type===`url_citation`?r.enqueue({type:`source`,sourceType:`url`,id:(N=p.config).generateId?.call(N)??M(),url:F.annotation.url,title:F.annotation.title}):F.annotation.type===`file_citation`?r.enqueue({type:`source`,sourceType:`document`,id:(ee=p.config).generateId?.call(ee)??M(),mediaType:`text/plain`,title:F.annotation.filename,filename:F.annotation.filename,providerMetadata:{[s]:{type:F.annotation.type,fileId:F.annotation.file_id,index:F.annotation.index}}}):F.annotation.type===`container_file_citation`?r.enqueue({type:`source`,sourceType:`document`,id:(te=p.config).generateId?.call(te)??M(),mediaType:`text/plain`,title:F.annotation.filename,filename:F.annotation.filename,providerMetadata:{[s]:{type:F.annotation.type,fileId:F.annotation.file_id,containerId:F.annotation.container_id}}}):F.annotation.type===`file_path`&&r.enqueue({type:`source`,sourceType:`document`,id:(P=p.config).generateId?.call(P)??M(),mediaType:`application/octet-stream`,title:F.annotation.file_id,filename:F.annotation.file_id,providerMetadata:{[s]:{type:F.annotation.type,fileId:F.annotation.file_id,index:F.annotation.index}}})):ei(F)&&(j=!0,_={unified:`error`,raw:`error`},r.enqueue({type:`error`,error:Le(F)??F}))},flush(e){for(let t of Object.values(x))if(t?.suppressInputStreaming){e.enqueue({type:`tool-input-start`,id:t.toolCallId,toolName:t.toolName});for(let n of t.bufferedInputDeltas??[])e.enqueue({type:`tool-input-delta`,id:t.toolCallId,delta:n})}let t={[s]:{responseId:b,...y.length>0?{logprobs:y}:{},...O===void 0?{}:{serviceTier:O},...k===void 0?{}:{reasoningContext:k}}};e.enqueue({type:`finish`,finishReason:_,usage:Un(v),providerMetadata:t})}})),request:{body:n},response:{headers:u}}}};function Lr(e){return e.type===`response.output_text.delta`}function Rr(e){let t=Br(e);return t!=null&&Array.isArray(t.choices)&&typeof t.type!=`string`}function zr({value:t,cause:n,url:r,requestBodyValues:i,responseHeaders:a}){return new e({message:`Received a Chat Completions stream while using the OpenAI Responses API. The default OpenAI provider model uses the Responses API. If your custom baseURL targets a Chat Completions-compatible endpoint, use openai.chat('model-id') or createOpenAI(...).chat('model-id') instead. You can also use @ai-sdk/openai-compatible for OpenAI-compatible providers.`,url:r,requestBodyValues:i,responseHeaders:a,responseBody:JSON.stringify(t),cause:n,data:t,isRetryable:!1})}function Br(e){return typeof e==`object`&&e?e:void 0}function Vr(e){return e.type===`response.output_item.done`}function Hr(e){return e.type===`response.completed`||e.type===`response.incomplete`}function Ur(e){return e.type===`response.failed`}function Wr(e){return e.type===`response.created`}function Gr(e){return e.type===`response.function_call_arguments.delta`}function Kr(e){return e.type===`response.custom_tool_call_input.delta`}function qr(e){return e.type===`response.image_generation_call.partial_image`}function Jr(e){return e.type===`response.code_interpreter_call_code.delta`}function Yr(e){return e.type===`response.code_interpreter_call_code.done`}function Xr(e){return e.type===`response.apply_patch_call_operation_diff.delta`}function Zr(e){return e.type===`response.apply_patch_call_operation_diff.done`}function Qr(e){return e.type===`response.output_item.added`}function $r(e){return e.type===`response.output_text.annotation.added`}function ei(e){return e.type===`error`}function ti(e){return e.type===`response.in_progress`}function ni(e){return e.type!==`response.created`&&e.type!==`response.in_progress`&&e.type!==`response.failed`&&e.type!==`error`&&e.type!==`unknown_chunk`}function ri(e){if(e==null)return{};switch(e.type){case`search`:return{action:{type:`search`,query:e.query??void 0,...e.queries!=null&&{queries:e.queries}},...e.sources!=null&&{sources:e.sources}};case`open_page`:return{action:{type:`openPage`,url:e.url}};case`find_in_page`:return{action:{type:`findInPage`,url:e.url,pattern:e.pattern}}}}function $(e){return JSON.stringify(e).slice(1,-1)}var ii=`/v1/responses`,ai=172800,oi=I(()=>K(f({inputFileExpiresAfter:C().int().min(3600).max(2592e3).optional()})));function si(e){for(let t of e){let e=t.type;if(e!==`text`)throw new a({functionality:`batch request type: ${e}`,message:`The OpenAI Batch API does not support batch requests with type "${e}".`})}}var ci=()=>f({id:u(),status:u(),output_file_id:u().nullish(),error_file_id:u().nullish(),created_at:C().nullish(),expires_at:C().nullish(),request_counts:f({total:C().nullish(),completed:C().nullish(),failed:C().nullish()}).nullish(),errors:f({data:p(f({code:u().nullish(),message:u().nullish()})).nullish()}).nullish()}),li=I(()=>K(ci())),ui=I(()=>K(f({custom_id:u(),response:f({status_code:C(),request_id:u().nullish(),body:s()}).nullish(),error:f({code:u(),message:u()}).nullish()}))),di=I(()=>K(f({data:p(ci()),has_more:x(),last_id:u().nullish()}))),fi=class{constructor(e){this.options=e,this.specificationVersion=`v4`,this.supportedUrls=Fr,this.provider=e.provider}async doStartBatch(e){var t,n;si(e.requests),pi(e.requests);let r=[],i=e.webhookUrl==null?[]:[{warning:{type:`unsupported`,feature:`webhookUrl`,details:`The OpenAI Batch API does not support per-batch webhook URLs.`}}],a=(await this.parseBatchProviderOptions(e.providerOptions))?.inputFileExpiresAfter??ai;for(let t of e.requests){let e=await this.prepareRequest(t);r.push(JSON.stringify({custom_id:t.id,method:`POST`,url:ii,body:e.body}),`
`);for(let n of e.warnings)i.push({requestId:t.id,warning:n});for(let e of t.options.tools??[])e.type===`provider`&&!mi.has(e.id)&&i.push({requestId:t.id,warning:{type:`unsupported`,feature:`batch result conversion for tool "${e.name}"`,details:`OpenAI may return output for this tool that AI SDK text batches cannot currently convert.`}})}let o=`batch.jsonl`,s=new Blob(r,{type:`application/jsonl`});r.length=0;let c=new FormData;c.append(`file`,s,o),c.append(`purpose`,`batch`),c.append(`expires_after[anchor]`,`created_at`),c.append(`expires_after[seconds]`,String(a));let{value:l}=await Se({url:this.getUrl(`/files`),headers:H((t=this.options.config).headers?.call(t),e.headers),body:{content:c,values:{purpose:`batch`,"expires_after[anchor]":`created_at`,"expires_after[seconds]":String(a),file:{name:o,type:s.type,size:s.size}}},failedResponseHandler:Y,successfulResponseHandler:R(bt),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{value:u}=await W({url:this.getUrl(`/batches`),headers:H((n=this.options.config).headers?.call(n),e.headers),body:{input_file_id:l.id,endpoint:ii,completion_window:`24h`},failedResponseHandler:Y,successfulResponseHandler:R(li),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),d=vi(l.expires_at);return{batchId:u.id,...hi(u),providerMetadata:{openai:{inputFileId:l.id,...d==null?{}:{inputFileExpiresAt:d}}},warnings:i}}async parseBatchProviderOptions(e){let t=this.options.config.provider.includes(`azure`)?`azure`:`openai`,n=await T({provider:t,providerOptions:e,schema:oi});return n==null&&t!==`openai`&&(n=await T({provider:`openai`,providerOptions:e,schema:oi})),n}async doGetBatchStatus(e){return hi(await this.retrieveBatch(e))}async doCancelBatch(e){var t;return await W({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}/cancel`),headers:H((t=this.options.config).headers?.call(t),e.headers),body:{},failedResponseHandler:Y,successfulResponseHandler:R(li),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches(e){var t;let n=new URL(this.getUrl(`/batches`));e.limit!=null&&n.searchParams.set(`limit`,String(e.limit)),e.cursor!=null&&n.searchParams.set(`after`,e.cursor);let{value:r}=await N({url:n.toString(),headers:H((t=this.options.config).headers?.call(t),e.headers),failedResponseHandler:Y,successfulResponseHandler:R(di),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return{batches:r.data.map(e=>({batchId:e.id,...hi(e)})),...r.has_more&&r.last_id!=null?{nextCursor:r.last_id}:{}}}async doGetBatchResults(e){let n=await this.retrieveBatch(e),i=hi(n);if(i.status===`pending`)throw new t({argument:`batchId`,message:`OpenAI batch "${e.batchId}" is not complete.`});let a=[n.output_file_id,n.error_file_id].filter(e=>e!=null);if(i.status===`completed`&&a.length===0)throw new r({data:n,message:`OpenAI batch "${e.batchId}" completed without batch output.`});let o=this.iterateBatchResults({fileIds:a,options:e});return ye(o)}async retrieveBatch(e){var t;let{value:n}=await N({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}`),headers:H((t=this.options.config).headers?.call(t),e.headers),failedResponseHandler:Y,successfulResponseHandler:R(li),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return n}async*iterateBatchResults({fileIds:e,options:t}){var n;for(let r of e){let{value:e}=await N({url:this.getUrl(`/files/${encodeURIComponent(r)}/content`),headers:H((n=this.options.config).headers?.call(n),t.headers),failedResponseHandler:Y,successfulResponseHandler:de(ui),abortSignal:t.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for await(let t of e)yield await this.convertResultLine(t)}}async convertResultLine(e){if(e.error!=null){let t={message:e.error.message,code:e.error.code};return e.error.code===`batch_cancelled`?{type:`text`,id:e.custom_id,status:`cancelled`,error:t}:e.error.code===`batch_expired`?{type:`text`,id:e.custom_id,status:`expired`,error:t}:{type:`text`,id:e.custom_id,status:`failed`,error:t}}if(e.response==null)return{type:`text`,id:e.custom_id,status:`failed`,error:{message:`OpenAI returned a batch result without a response or error.`,code:`invalid_batch_result`}};if(e.response.status_code<200||e.response.status_code>=300)return{type:`text`,id:e.custom_id,status:`failed`,error:await yi({body:e.response.body,statusCode:e.response.status_code})};let t=await bi(e.response.body);return t.success?{type:`text`,id:e.custom_id,status:`succeeded`,result:t.result}:{type:`text`,id:e.custom_id,status:`failed`,error:t.error}}async prepareRequest(e){let{args:t,warnings:n}=await Ir.prepareRequest({modelId:e.modelId,config:this.options.config,options:e.options});return{body:t,warnings:n}}getUrl(e){return this.options.config.url({path:e,modelId:``})}};function pi(e){let n=e[0]?.modelId;for(let r of e)if(r.modelId!==n)throw new t({argument:`requests`,message:`The OpenAI Batch API requires all requests in a batch to use the same model. Found "${n}" and "${r.modelId}".`})}var mi=new Set([`openai.code_interpreter`,`openai.custom`,`openai.file_search`,`openai.web_search`,`openai.web_search_preview`]);function hi(e){let t=gi(e.status),n=e.errors?.data?.[0],r=_i(e.request_counts),i=vi(e.created_at),a=vi(e.expires_at);return{status:t,rawStatus:e.status,...r==null?{}:{requestCounts:r},...n==null?{}:{error:{message:n.message??`OpenAI batch failed.`,...n.code==null?{}:{code:n.code}}},...i==null?{}:{createdAt:i},...a==null?{}:{expiresAt:a}}}function gi(e){switch(e){case`completed`:return`completed`;case`failed`:case`expired`:case`cancelled`:return`failed`;default:return`pending`}}function _i(e){let t=e?.total,n=e?.completed,r=e?.failed;return ne({total:t,pending:t!=null&&n!=null&&r!=null?t-n-r:void 0,completed:n,failed:r})}function vi(e){if(e==null||!Number.isFinite(e))return;let t=new Date(e*1e3);return Number.isNaN(t.getTime())?void 0:t.toISOString()}async function yi({body:e,statusCode:t}){let n=await me({value:e,schema:Ne});return n.success?{message:n.value.error.message,type:n.value.error.type??void 0,code:n.value.error.code==null?void 0:String(n.value.error.code),statusCode:t}:{message:`OpenAI batch request failed with status code ${t}.`,statusCode:t}}async function bi(e){let t=await me({value:e,schema:or});if(!t.success)return{success:!1,error:{message:`OpenAI returned an invalid Responses batch result.`,code:`invalid_response`}};let n=t.value;if(n.error!=null)return{success:!1,error:{message:n.error.message,type:n.error.type,code:n.error.code}};if(n.output==null){let e=n.incomplete_details?.reason;return{success:!1,error:{message:e==null?`OpenAI Responses returned no output.`:`OpenAI Responses returned no output (${e}).`,code:`invalid_response`}}}let r=[],i=[],a=!1;for(let e of n.output)switch(e.type){case`reasoning`:{let t=e.summary.length>0?e.summary:[{type:`summary_text`,text:``}];for(let n of t)r.push({type:`reasoning`,text:n.text,providerMetadata:{openai:{itemId:e.id,reasoningEncryptedContent:e.encrypted_content??null}}});break}case`message`:for(let t of e.content)r.push({type:`text`,text:t.text}),t.logprobs!=null&&i.push(t.logprobs);break;case`function_call`:a=!0,r.push({type:`tool-call`,toolCallId:e.call_id,toolName:e.name,input:e.arguments,providerMetadata:{openai:{itemId:e.id,...e.namespace!=null&&{namespace:e.namespace},...e.caller!=null&&{caller:e.caller.type===`program`?{type:`program`,callerId:e.caller.caller_id}:e.caller}}}});break;case`custom_tool_call`:a=!0,r.push({type:`tool-call`,toolCallId:e.call_id,toolName:e.name,input:JSON.stringify(e.input),providerMetadata:{openai:{itemId:e.id}}});break;case`web_search_call`:r.push({type:`tool-call`,toolCallId:e.id,toolName:`web_search`,input:`{}`,providerExecuted:!0,dynamic:!0}),r.push({type:`tool-result`,toolCallId:e.id,toolName:`web_search`,result:ri(e.action),dynamic:!0});break;case`file_search_call`:r.push({type:`tool-call`,toolCallId:e.id,toolName:`file_search`,input:`{}`,providerExecuted:!0,dynamic:!0}),r.push({type:`tool-result`,toolCallId:e.id,toolName:`file_search`,result:{queries:e.queries,results:e.results?.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text}))??null},dynamic:!0});break;case`code_interpreter_call`:r.push({type:`tool-call`,toolCallId:e.id,toolName:`code_interpreter`,input:JSON.stringify({code:e.code,containerId:e.container_id}),providerExecuted:!0,dynamic:!0}),r.push({type:`tool-result`,toolCallId:e.id,toolName:`code_interpreter`,result:{outputs:e.outputs},dynamic:!0});break;default:return{success:!1,error:{message:`OpenAI returned an unsupported "${e.type}" output item in an AI SDK text batch.`,code:`unsupported_content`}}}let o={openai:{responseId:n.id,...i.length>0?{logprobs:i}:{},...typeof n.service_tier==`string`?{serviceTier:n.service_tier}:{},...n.reasoning?.context==null?{}:{reasoningContext:n.reasoning.context}}};return{success:!0,result:{content:r,finishReason:{unified:Wn({finishReason:n.incomplete_details?.reason,hasFunctionCall:a}),raw:n.incomplete_details?.reason??void 0},usage:Un(n.usage),response:{id:n.id,timestamp:n.created_at==null?void 0:new Date(n.created_at*1e3),modelId:n.model},providerMetadata:o,warnings:[]}}}var xi=S({type:u(),responseEvent:u().optional()}).refine(e=>e.type===`response.event`==(e.responseEvent!==void 0),`responseEvent is required for response.event and forbidden for other event types.`),Si=S({client:S({dataChannel:S({allowedClientEvents:_([h(`all`),p(u())]).optional(),allowedServerEvents:_([h(`all`),p(xi)]).optional()})}).optional(),delegation:S({type:h(`client`)}).nullable().optional(),input:p(m(`role`,[S({type:h(`message`),role:y([`developer`,`user`]),content:l([S({type:h(`input_text`),text:u()})])}),S({type:h(`message`),role:h(`assistant`),content:l([S({type:y([`text`,`output_text`]),text:u()})])})])).max(128).optional(),store:x().optional(),voice:S({id:u().min(1)}).optional()}),Ci=_([S({type:h(`audio/pcm`),rate:_([h(16e3),h(24e3)])}),S({type:y([`audio/pcma`,`audio/pcmu`]),rate:h(8e3)})]);function wi(e,n,r=`websocket`){for(let t of Object.keys(e))if(![`instructions`,`voice`,`inputAudioFormat`,`outputAudioFormat`,`providerOptions`].includes(t))throw new a({functionality:`OpenAI Live session setting: ${t}`});if(f({delegation:f({type:h(`responses`)})}).safeParse(e.providerOptions?.openai).success)throw new a({functionality:`OpenAI Live Responses delegation; only client delegation is supported`});let i=Si.parse(e.providerOptions?.openai??{});if(i.client!==void 0&&r!==`webrtc`)throw new a({functionality:`OpenAI Live client permissions outside WebRTC startup`});if(i.voice!=null&&e.voice!=null)throw new t({argument:`voice`,message:`Choose either voice or providerOptions.openai.voice.`});if(r===`webrtc`&&(e.inputAudioFormat!==void 0||e.outputAudioFormat!==void 0))throw new a({functionality:`Fixed audio formats for OpenAI Live WebRTC; audio is negotiated through SDP`});let o=e.inputAudioFormat==null?void 0:Ci.parse(e.inputAudioFormat),s=e.outputAudioFormat==null?void 0:Ci.parse(e.outputAudioFormat);if(o!=null&&s!=null&&(o.type!==s.type||o.rate!==s.rate))throw new t({argument:`outputAudioFormat`,message:`OpenAI Live requires the same input and output audio format.`});return{model:n,...e.instructions===void 0?{}:{instructions:e.instructions},audio:{...r===`websocket`?{format:o??s??{type:`audio/pcm`,rate:24e3}}:{},output:{voice:i.voice??e.voice??`marin`}},...i.delegation===void 0?{}:{delegation:i.delegation},...i.client===void 0?{}:{client:{data_channel:{...i.client.dataChannel.allowedClientEvents===void 0?{}:{allowed_client_events:i.client.dataChannel.allowedClientEvents},...i.client.dataChannel.allowedServerEvents===void 0?{}:{allowed_server_events:i.client.dataChannel.allowedServerEvents===`all`?`all`:i.client.dataChannel.allowedServerEvents.map(e=>({type:e.type,...e.responseEvent===void 0?{}:{response_event:e.responseEvent}}))}}}},...i.input===void 0?{}:{input:i.input},...i.store===void 0?{}:{store:i.store}}}var Ti=f({id:u().min(1)}),Ei=Ti.extend({delegation:f({type:y([`client`,`responses`])}).nullish()}),Di=f({seconds:C().nonnegative()}),Oi={delta:u(),start_ms:C().nonnegative(),end_ms:C().nonnegative()},ki={client_event_id:u().nullish()},Ai={...ki,start_ms:C().nonnegative(),end_ms:C().nonnegative()},ji=m(`type`,[f({type:h(`session.started`),session:Ei}),f({type:h(`session.closed`),session:Ti.nullish(),usage:Di,reason:u()}),f({type:h(`session.usage.updated`),usage:Di,context_window:f({usage_ratio:C().min(0).max(1)}).nullish()}),f({type:h(`session.output_audio.delta`),delta:u()}),f({type:h(`session.input_transcript.delta`),...Oi}),f({type:h(`session.output_transcript.delta`),...Oi}),f({type:h(`session.delegation.created`),offset_ms:C().nonnegative().nullish(),delegation:f({id:u().min(1),target:y([`client`,`responses`]).nullish(),response_id:u().min(1).nullish()})}),f({type:h(`session.updated`),session:Ti,...ki}),f({type:h(`session.input_audio.muted`),...ki}),f({type:h(`session.input_audio.unmuted`),...ki}),f({type:h(`session.instructions.appended`),...Ai}),f({type:h(`session.thinking.appended`),...Ai}),f({type:h(`session.commentary.appended`),...Ai}),f({type:h(`error`),error:f({message:u(),code:u().nullish(),client_event_id:u().nullish()})})]),Mi=new Set(ji.options.map(e=>e.shape.type.value)),Ni=f({type:u()});function Pi(){return e=>Fi(e)}function Fi(e){return[Ii(e)]}function Ii(e){let t=Ni.safeParse(e);if(t.success&&!Mi.has(t.data.type))return{type:`custom`,rawType:t.data.type,raw:e};let n=ji.safeParse(e);if(!n.success)return{type:`error`,code:`invalid_server_event`,message:`Invalid OpenAI Live server event.`,raw:e};let r=n.data;if(`start_ms`in r&&r.end_ms<r.start_ms)return{type:`error`,code:`invalid_server_event`,message:`Invalid OpenAI Live event time interval.`,raw:e};switch(r.type){case`session.started`:return{type:`session-started`,sessionId:r.session.id,delegationMode:r.session.delegation?.type===`responses`?`provider`:`client`,raw:e};case`session.closed`:return{type:`session-closed`,sessionId:r.session?.id,usage:r.usage,reason:r.reason,raw:e};case`session.usage.updated`:return{type:`session-usage`,usage:r.usage,contextWindowUsageRatio:r.context_window?.usage_ratio,raw:e};case`session.output_audio.delta`:return{type:`audio-chunk`,delta:r.delta,raw:e};case`session.input_transcript.delta`:case`session.output_transcript.delta`:return{type:`transcript-fragment`,speaker:r.type===`session.input_transcript.delta`?`user`:`assistant`,delta:r.delta,startMs:r.start_ms,endMs:r.end_ms,raw:e};case`session.delegation.created`:return{type:`delegation-created`,delegationId:r.delegation.id,target:r.delegation.target===`responses`?`provider`:r.delegation.target??void 0,offsetMs:r.offset_ms??void 0,...r.delegation.response_id==null?{}:{responseId:r.delegation.response_id},raw:e};case`error`:return{type:`error`,message:r.error.message,code:r.error.code??void 0,clientEventId:r.error.client_event_id??void 0,raw:e};case`session.updated`:return{type:`command-acknowledged`,command:`session.update`,clientEventId:r.client_event_id??void 0,raw:e};case`session.input_audio.muted`:case`session.input_audio.unmuted`:return{type:`command-acknowledged`,command:r.type.slice(0,-1),clientEventId:r.client_event_id??void 0,raw:e};case`session.instructions.appended`:case`session.thinking.appended`:case`session.commentary.appended`:return{type:`command-acknowledged`,command:r.type.slice(0,-2),clientEventId:r.client_event_id??void 0,raw:e}}}function Li(e,t){let n=`eventId`in e&&e.eventId!==void 0?{event_id:e.eventId}:{};switch(e.type){case`session-start`:return{type:`session.start`,session:wi(e.config,t),...n};case`session-update`:throw new a({functionality:`OpenAI Live session-update; startup settings are immutable; use context-append or input-audio-mute/input-audio-unmute`});case`session-close`:return{type:`session.close`,...n};case`input-audio-append`:return{type:`session.input_audio.append`,audio:e.audio,...n};case`input-audio-mute`:return{type:`session.input_audio.mute`,...n};case`input-audio-unmute`:return{type:`session.input_audio.unmute`,...n};case`context-append`:{let t=f({content:u(),delegationId:u().min(1).nullable()}).parse(e);return{type:`session.${S({channel:y([`instructions`,`thinking`,`commentary`]).optional()}).parse(e.providerOptions?.openai??{}).channel??`thinking`}.append`,content:t.content,delegation_id:t.delegationId,...n}}default:throw new a({functionality:`OpenAI Live command: ${e.type}; use continuous audio and context-append instead of voice-turn commands`})}}var Ri=f({session:f({id:u().min(1)}),transport:f({type:h(`webrtc`),sdp:u().min(1)})}),zi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`,this.capabilities={conversation:`continuous`,transports:[`websocket`,`webrtc`],connections:[`server-websocket`,`webrtc`],startup:`session-start`,finalization:`session-close`}}get provider(){return this.config.provider}getWebRTCConfig(){return{dataChannelLabel:`oai-events`}}getServerWebSocketConfig(){let e=new URL(`${this.config.baseURL}/live/sessions`);e.protocol=e.protocol===`http:`?`ws:`:`wss:`;let t={};for(let[e,n]of Object.entries(this.config.headers()))n!==void 0&&(t[e]=n);return{url:e.toString(),headers:t}}async doCreateWebRTCSession({sdp:e,sessionConfig:t={},abortSignal:n}){let r=wi(t,this.modelId,`webrtc`),{value:i}=await W({url:`${this.config.baseURL}/live/sessions`,headers:this.config.headers(),body:{session:r,transport:{type:`webrtc`,sdp:u().min(1).parse(e)}},failedResponseHandler:Y,successfulResponseHandler:R(Ri),abortSignal:n,fetch:this.config.fetch});return{sessionId:i.session.id,sdp:i.transport.sdp}}parseServerEvent(e){return Fi(e)}createServerEventParser(){return Pi()}serializeClientEvent(e){return Li(e,this.modelId)}buildSessionConfig(e){return wi(e,this.modelId)}};function Bi(e){let t=e,n=t.type;switch(n){case`session.created`:return{type:`session-created`,sessionId:t.session?.id,raw:e};case`session.updated`:return{type:`session-updated`,raw:e};case`input_audio_buffer.speech_started`:return{type:`speech-started`,itemId:t.item_id,raw:e};case`input_audio_buffer.speech_stopped`:return{type:`speech-stopped`,itemId:t.item_id,raw:e};case`input_audio_buffer.committed`:return{type:`audio-committed`,itemId:t.item_id,previousItemId:t.previous_item_id,raw:e};case`conversation.item.added`:return{type:`conversation-item-added`,itemId:t.item?.id??t.item_id,item:t.item,raw:e};case`conversation.item.input_audio_transcription.completed`:return{type:`input-transcription-completed`,itemId:t.item_id,transcript:t.transcript??``,raw:e};case`response.created`:return{type:`response-created`,responseId:t.response?.id??t.response_id,raw:e};case`response.done`:return{type:`response-done`,responseId:t.response?.id??t.response_id,status:t.response?.status??`completed`,raw:e};case`response.output_item.added`:return{type:`output-item-added`,responseId:t.response_id,itemId:t.item?.id??t.item_id,raw:e};case`response.output_item.done`:return{type:`output-item-done`,responseId:t.response_id,itemId:t.item?.id??t.item_id,raw:e};case`response.content_part.added`:return{type:`content-part-added`,responseId:t.response_id,itemId:t.item_id,raw:e};case`response.content_part.done`:return{type:`content-part-done`,responseId:t.response_id,itemId:t.item_id,raw:e};case`response.output_audio.delta`:return{type:`audio-delta`,responseId:t.response_id,itemId:t.item_id,delta:t.delta,raw:e};case`response.output_audio.done`:return{type:`audio-done`,responseId:t.response_id,itemId:t.item_id,raw:e};case`response.output_audio_transcript.delta`:return{type:`audio-transcript-delta`,responseId:t.response_id,itemId:t.item_id,delta:t.delta,raw:e};case`response.output_audio_transcript.done`:return{type:`audio-transcript-done`,responseId:t.response_id,itemId:t.item_id,transcript:t.transcript,raw:e};case`response.output_text.delta`:return{type:`text-delta`,responseId:t.response_id,itemId:t.item_id,delta:t.delta,raw:e};case`response.output_text.done`:return{type:`text-done`,responseId:t.response_id,itemId:t.item_id,text:t.text,raw:e};case`response.function_call_arguments.delta`:return{type:`function-call-arguments-delta`,responseId:t.response_id,itemId:t.item_id,callId:t.call_id,delta:t.delta,raw:e};case`response.function_call_arguments.done`:return{type:`function-call-arguments-done`,responseId:t.response_id,itemId:t.item_id,callId:t.call_id,name:t.name,arguments:t.arguments,raw:e};case`error`:return{type:`error`,message:t.error?.message??t.message??`Unknown error`,code:t.error?.code??t.code,clientEventId:t.error?.event_id??void 0,raw:e};default:return{type:`custom`,rawType:n,raw:e}}}function Vi(e,t){switch(e.type){case`session-update`:return{type:`session.update`,session:Hi(e.config,t),...e.eventId==null?{}:{event_id:e.eventId}};case`input-audio-append`:return{type:`input_audio_buffer.append`,audio:e.audio,...e.eventId==null?{}:{event_id:e.eventId}};case`input-audio-commit`:return{type:`input_audio_buffer.commit`};case`input-audio-clear`:return{type:`input_audio_buffer.clear`};case`conversation-item-create`:{let t=e.item;switch(t.type){case`text-message`:return{type:`conversation.item.create`,item:{type:`message`,role:t.role,content:[{type:`input_text`,text:t.text}]}};case`audio-message`:return{type:`conversation.item.create`,item:{type:`message`,role:t.role,content:[{type:`input_audio`,audio:t.audio}]}};case`function-call-output`:return{type:`conversation.item.create`,item:{type:`function_call_output`,call_id:t.callId,output:t.output}}}break}case`conversation-item-truncate`:return{type:`conversation.item.truncate`,item_id:e.itemId,content_index:e.contentIndex,audio_end_ms:e.audioEndMs};case`response-create`:return{type:`response.create`,...e.options==null?{}:{response:{...e.options.modalities==null?{}:{output_modalities:e.options.modalities},...e.options.instructions==null?{}:{instructions:e.options.instructions},...e.options.metadata==null?{}:{metadata:e.options.metadata}}}};case`response-cancel`:return{type:`response.cancel`}}}function Hi(e,t){let n={type:`realtime`,model:t};e.instructions!=null&&(n.instructions=e.instructions),e.outputModalities!=null&&(n.output_modalities=e.outputModalities);let r={};if(e.inputAudioFormat!=null||e.inputAudioTranscription!=null||e.turnDetection!=null){let t={};if(e.inputAudioFormat!=null&&(t.format={type:e.inputAudioFormat.type,...e.inputAudioFormat.rate==null?{}:{rate:e.inputAudioFormat.rate}}),e.turnDetection!=null){if(e.turnDetection.type===`disabled`)t.turn_detection=null;else{let n={type:e.turnDetection.type===`server-vad`?`server_vad`:`semantic_vad`};e.turnDetection.threshold!=null&&(n.threshold=e.turnDetection.threshold),e.turnDetection.silenceDurationMs!=null&&(n.silence_duration_ms=e.turnDetection.silenceDurationMs),e.turnDetection.prefixPaddingMs!=null&&(n.prefix_padding_ms=e.turnDetection.prefixPaddingMs),t.turn_detection=n}}e.inputAudioTranscription!=null&&(t.transcription={model:e.inputAudioTranscription.model??`gpt-realtime-whisper`,...e.inputAudioTranscription.language==null?{}:{language:e.inputAudioTranscription.language},...e.inputAudioTranscription.prompt==null?{}:{prompt:e.inputAudioTranscription.prompt}}),r.input=t}if(e.outputAudioFormat!=null||e.voice!=null){let t={};e.outputAudioFormat!=null&&(t.format={type:e.outputAudioFormat.type,...e.outputAudioFormat.rate==null?{}:{rate:e.outputAudioFormat.rate}}),e.voice!=null&&(t.voice=e.voice),r.output=t}return Object.keys(r).length>0&&(n.audio=r),e.tools!=null&&e.tools.length>0&&(n.tools=e.tools.map(e=>({type:e.type,name:e.name,description:e.description,parameters:e.parameters})),n.tool_choice=`auto`),e.providerOptions!=null&&Object.assign(n,e.providerOptions),n}var Ui=class{constructor(e,t){this.specificationVersion=`v4`,this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){let t=this.config.fetch??fetch,n=`${this.config.baseURL}/realtime/client_secrets`,r=e.sessionConfig==null?{type:`realtime`,model:this.modelId}:Hi(e.sessionConfig,this.modelId),i=await t(n,{method:`POST`,headers:{...this.config.headers(),"Content-Type":`application/json`},body:JSON.stringify({session:r,...e.expiresAfterSeconds==null?{}:{expires_after:{anchor:`created_at`,seconds:e.expiresAfterSeconds}}})});if(!i.ok){let e=await i.text();throw Error(`OpenAI realtime client secret request failed: ${i.status} ${e}`)}let a=await i.json();return{token:a.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:a.expires_at}}getWebSocketConfig(e){return{url:e.url,protocols:[`realtime`,`openai-insecure-api-key.${e.token}`]}}parseServerEvent(e){return Bi(e)}serializeClientEvent(e){return Vi(e,this.modelId)}buildSessionConfig(e){return Hi(e,this.modelId)}},Wi=[`gpt-live-1`];function Gi(e,{api:n}={}){if(n!==void 0){if(n!==`live`&&n!==`realtime`)throw new t({argument:`api`,message:`OpenAI realtime api must be "live" or "realtime".`});return n}return Wi.some(t=>t===e)?`live`:`realtime`}function Ki(e){let t=(t,n)=>{let r=Gi(t,n),i={...e,provider:`${e.provider}.${r}`};return r===`live`?new zi(t,i):new Ui(t,i)};return Object.assign(t,{getToken:async e=>{let n=t(e.model,e);if(n instanceof zi)throw new a({functionality:`Short-lived OpenAI credentials for the Live API. Use server WebSocket setup via getServerWebSocketConfig() with a server-side API key instead.`});let r=await n.doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:r.token,url:r.url,expiresAt:r.expiresAt}}})}var qi=I(()=>K(f({instructions:u().nullish(),speed:C().min(.25).max(4).default(1).nullish()}))),Ji=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[J](e){return V({modelId:e.modelId,config:e.config})}static[q](t){return new e(t.modelId,t.config)}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 T({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`,feature:`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`,feature:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t,n;let r=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{requestBody:i,warnings:a}=await this.getArgs(e),{value:o,responseHeaders:s,rawValue:c}=await W({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:H((n=this.config).headers?.call(n),e.headers),body:i,failedResponseHandler:Y,successfulResponseHandler:le(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:o,warnings:a,request:{body:JSON.stringify(i)},response:{timestamp:r,modelId:this.modelId,headers:s,body:c}}}},Yi=I(()=>K(f({text:u(),language:u().nullish(),duration:C().nullish(),words:p(f({word:u(),start:C(),end:C()})).nullish(),segments:p(_([f({id:C(),seek:C(),start:C(),end:C(),text:u(),tokens:p(C()),temperature:C(),avg_logprob:C(),compression_ratio:C(),no_speech_prob:C()}),f({type:h(`transcript.text.segment`),id:u(),start:C(),end:C(),text:u(),speaker:u()})])).nullish()}))),Xi=I(()=>K(f({include:p(u()).optional(),language:u().optional(),prompt:u().optional(),temperature:C().min(0).max(1).default(0).optional(),timestampGranularities:p(y([`word`,`segment`])).default([`segment`]).optional(),responseFormat:y([`json`,`verbose_json`,`diarized_json`]).optional(),chunkingStrategy:_([h(`auto`),f({type:h(`server_vad`),threshold:C().min(0).max(1).optional(),prefixPaddingMs:C().int().min(0).optional(),silenceDurationMs:C().int().min(0).optional()})]).optional(),streaming:f({delay:y([`minimal`,`low`,`medium`,`high`,`xhigh`]).optional(),include:p(u()).optional()}).optional()})));function Zi(e){return e===`gpt-realtime-whisper`||e.startsWith(`gpt-realtime-whisper-`)}var Qi={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`},$i=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[J](e){return V({modelId:e.modelId,config:e.config})}static[q](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await T({provider:`openai`,providerOptions:n,schema:Xi}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([Ce(e)]);a.append(`model`,this.modelId);let s=L(t);a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),this.modelId===`whisper-1`&&a.append(`response_format`,`verbose_json`);let c=this.modelId===`gpt-4o-transcribe-diarize`,l=i?.chunkingStrategy??(c?`auto`:void 0);if(i){let e=[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId),t={include:i.include,language:i.language,prompt:i.prompt,...this.modelId!==`whisper-1`&&{response_format:i.responseFormat??(c?`diarized_json`:e?`json`:`verbose_json`)},temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[e,n]of Object.entries(t))if(n!=null){if(Array.isArray(n))for(let t of n)a.append(`${e}[]`,String(t));else a.append(e,String(n))}}else c&&a.append(`response_format`,`diarized_json`);return l!=null&&a.append(`chunking_strategy`,typeof l==`string`?l:JSON.stringify({type:l.type,...l.threshold!=null&&{threshold:l.threshold},...l.prefixPaddingMs!=null&&{prefix_padding_ms:l.prefixPaddingMs},...l.silenceDurationMs!=null&&{silence_duration_ms:l.silenceDurationMs}})),{formData:a,warnings:r}}async doGenerate(e){var t,n;if(Zi(this.modelId))throw new a({functionality:`non-streaming transcription with ${this.modelId}`});let r=((t=this.config._internal)?.currentDate)?.call(t)??new Date,{formData:i,warnings:o}=await this.getArgs(e),{value:s,responseHeaders:c,rawValue:l}=await ce({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:H((n=this.config).headers?.call(n),e.headers),formData:i,failedResponseHandler:Y,successfulResponseHandler:R(Yi),abortSignal:e.abortSignal,fetch:this.config.fetch}),u=s.language!=null&&s.language in Qi?Qi[s.language]:void 0,d=s.segments?.flatMap(e=>`speaker`in e?[{text:e.text,startSecond:e.start,endSecond:e.end,speaker:e.speaker}]:[]);return{text:s.text,segments:s.segments?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end}))??s.words?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end}))??[],language:u,durationInSeconds:s.duration??void 0,warnings:o,response:{timestamp:r,modelId:this.modelId,headers:c,body:l},...d!=null&&d.length>0&&{providerMetadata:{openai:{segments:d}}}}}async doStream(e){var t,n;if(!Zi(this.modelId))throw new a({functionality:`streaming transcription with ${this.modelId}`});let r=((t=this.config._internal)?.currentDate)?.call(t)??new Date,i=await T({provider:`openai`,providerOptions:e.providerOptions,schema:Xi}),o=[],s=e.providerOptions?.openai??{};for(let e of[`include`,`prompt`,`temperature`,`timestampGranularities`])s[e]!=null&&o.push({type:`unsupported`,feature:`providerOptions.openai.${e}`,details:`OpenAI streaming transcription does not support ${e}.`});let c=H((n=this.config).headers?.call(n),e.headers),l=ta({modelId:this.modelId,inputAudioFormat:e.inputAudioFormat,providerOptions:i});return{request:{body:l},response:{timestamp:r,modelId:this.modelId},stream:ea({webSocket:this.config.webSocket,url:ue(this.config.url({path:`/realtime?intent=transcription`,modelId:this.modelId})),headers:c,sessionUpdate:l,language:i?.language,warnings:o,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function ea({webSocket:e,url:t,headers:n,sessionUpdate:r,language:i,warnings:a,audio:o,abortSignal:s,includeRawChunks:c}){let l=!1,u=()=>{};return new ReadableStream({start:d=>{let f=na(n),p,m;u=e=>{p==null?o.cancel().catch(()=>{}):p.cancel().catch(()=>{}),m?.close(e)};let h=e=>{l||(l=!0,u(),d.error(e))},g=(e,t)=>{l||(l=!0,t!=null&&d.enqueue({type:`transcript-final`,id:t,text:e}),d.enqueue({type:`finish`,text:e,segments:[],language:i}),d.close(),u(1e3))},_=async e=>{p=o.getReader();try{for(;;){let{done:t,value:n}=await p.read();if(t||l)break;e.send(JSON.stringify({type:`input_audio_buffer.append`,audio:U(n)})),await De(e)}}finally{p.releaseLock(),p=void 0}l||e.send(JSON.stringify({type:`input_audio_buffer.commit`}))};m=re({url:t,protocols:f.protocols,headers:f.headers,webSocket:e,abortSignal:s,onAbort:h,onProcessingError:h,onOpen:e=>{d.enqueue({type:`stream-start`,warnings:a}),e.send(JSON.stringify(r)),_(e).catch(h)},onMessageText:async e=>{let t=await se({text:e});if(!t.success)return;let n=t.value;switch(c&&d.enqueue({type:`raw`,rawValue:n}),n.type){case`conversation.item.input_audio_transcription.delta`:d.enqueue({type:`transcript-delta`,id:n.item_id,delta:n.delta??``});break;case`conversation.item.input_audio_transcription.completed`:g(n.transcript??``,n.item_id);break;case`error`:h(Error(n.error?.message??`OpenAI realtime error`))}},onSocketError:()=>{h(Error(`OpenAI realtime transcription error`))},onClose:()=>{l||(l=!0,u(),d.close())}})},cancel:()=>{l||(l=!0,u())}})}function ta({modelId:e,inputAudioFormat:t,providerOptions:n}){return{type:`session.update`,session:{type:`transcription`,audio:{input:{format:{type:t.type,...t.rate==null?{}:{rate:t.rate}},transcription:{model:e,...n?.language==null?{}:{language:n.language},...n?.streaming?.delay==null?{}:{delay:n.streaming.delay}},turn_detection:null}},...n?.streaming?.include==null?{}:{include:n.streaming.include}}}}function na(e){let t;for(let[n,r]of Object.entries(e))n.toLowerCase()===`authorization`&&r!=null&&(t=r);let n=t?.match(/^bearer\s+(.+)$/i)?.[1];return n==null?{protocols:[`realtime`],headers:e}:{protocols:[`realtime`,`openai-insecure-api-key.${n}`],headers:Object.fromEntries(Object.entries(e).filter(([e])=>e.toLowerCase()!==`authorization`))}}var ra=I(()=>K(f({}))),ia=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[J](e){return V({modelId:e.modelId,config:e.config})}static[q](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doStream(e){var n,r;if(e.targetLanguage==null)throw new t({argument:`targetLanguage`,message:`targetLanguage is required for translation model '${this.modelId}'.`});let i=((n=this.config._internal)?.currentDate)?.call(n)??new Date;await T({provider:`openai`,providerOptions:e.providerOptions,schema:ra});let a=[];sa(e.inputAudioFormat),e.sourceLanguage!=null&&a.push({type:`unsupported`,feature:`sourceLanguage`,details:`The OpenAI Realtime translation API auto-detects the source language and does not accept a source language.`}),e.outputAudioFormat!=null&&a.push({type:`unsupported`,feature:`outputAudioFormat`,details:`The OpenAI Realtime translation API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format.`});let o=H((r=this.config).headers?.call(r),e.headers),s=oa({targetLanguage:e.targetLanguage});return{request:{body:s},response:{timestamp:i,modelId:this.modelId},stream:aa({webSocket:this.config.webSocket,url:ue(this.config.url({path:`/realtime/translations?model=${encodeURIComponent(this.modelId)}`,modelId:this.modelId})),headers:o,sessionUpdate:s,warnings:a,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}};function aa({webSocket:e,url:t,headers:n,sessionUpdate:r,warnings:i,audio:a,abortSignal:o,includeRawChunks:s}){let c=!1,l=()=>{};return new ReadableStream({start:u=>{let d=ca(n),f,p,m=``,h=``;l=e=>{f==null?a.cancel().catch(()=>{}):f.cancel().catch(()=>{}),p?.close(e)};let g=e=>{c||(c=!0,l(),u.error(e))},_=()=>{c||(c=!0,m!==``&&u.enqueue({type:`source-transcript-final`,text:m}),h!==``&&u.enqueue({type:`output-text-final`,text:h}),u.enqueue({type:`finish`,sourceText:m,outputText:h,usage:void 0}),u.close(),l(1e3))},v=async e=>{f=a.getReader();try{for(;;){let{done:t,value:n}=await f.read();if(t||c)break;e.send(JSON.stringify({type:`session.input_audio_buffer.append`,audio:U(n)})),await De(e)}}finally{f.releaseLock(),f=void 0}c||e.send(JSON.stringify({type:`session.close`}))};p=re({url:t,protocols:d.protocols,headers:d.headers,webSocket:e,abortSignal:o,onAbort:g,onProcessingError:g,onOpen:e=>{u.enqueue({type:`stream-start`,warnings:i}),e.send(JSON.stringify(r)),v(e).catch(g)},onMessageText:async e=>{if(c)return;let t=await se({text:e});if(!t.success)return;let n=t.value;switch(s&&u.enqueue({type:`raw`,rawValue:n}),n.type){case`session.output_audio.delta`:n.delta&&u.enqueue({type:`audio`,audio:n.delta});break;case`session.output_transcript.delta`:h+=n.delta??``,u.enqueue({type:`output-text-delta`,delta:n.delta??``});break;case`session.input_transcript.delta`:m+=n.delta??``,u.enqueue({type:`source-transcript-delta`,delta:n.delta??``});break;case`session.closed`:_();break;case`error`:u.enqueue({type:`error`,error:Error(n.error?.message??`OpenAI realtime error`)})}},onSocketError:()=>{g(Error(`OpenAI realtime translation error`))},onClose:({code:e,reason:t})=>{c||g(Error(`OpenAI realtime translation WebSocket closed unexpectedly before finishing (code ${e??`unknown`}${t?`, reason: ${t}`:``}).`))}})},cancel:()=>{c||(c=!0,l())}})}function oa({targetLanguage:e}){return{type:`session.update`,session:{audio:{input:{transcription:{model:`gpt-realtime-whisper`},noise_reduction:null},output:{language:e}}}}}function sa(e){if(e.type!==`audio/pcm`||e.rate!=null&&e.rate!==24e3)throw new t({argument:`inputAudioFormat`,message:`The OpenAI Realtime translation API only supports 24kHz 16-bit PCM input audio.`})}function ca(e){let t;for(let[n,r]of Object.entries(e))n.toLowerCase()===`authorization`&&r!=null&&(t=r);let n=t?.match(/^bearer\s+(.+)$/i)?.[1];return n==null?{protocols:[`realtime`],headers:e}:{protocols:[`realtime`,`openai-insecure-api-key.${n}`],headers:Object.fromEntries(Object.entries(e).filter(([e])=>e.toLowerCase()!==`authorization`))}}var la=I(()=>K(f({id:u(),name:u().nullish(),description:u().nullish(),default_version:u().nullish(),latest_version:u().nullish(),created_at:C(),updated_at:C().nullish()})));I(()=>K(f({id:u(),version:u().nullish(),name:u().nullish(),description:u().nullish()})));var ua=class{constructor(e){this.config=e,this.specificationVersion=`v4`}get provider(){return this.config.provider}async uploadSkill(e){let t=[];e.displayTitle!=null&&t.push({type:`unsupported`,feature:`displayTitle`});let n=new FormData;for(let t of e.files){let e=oe(t.data);n.append(`files[]`,new Blob([e]),t.path)}let{value:r}=await ce({url:this.config.url({path:`/skills`}),headers:H(this.config.headers()),formData:n,failedResponseHandler:Y,successfulResponseHandler:R(la),fetch:this.config.fetch});return{providerReference:{openai:r.id},...r.name==null?{}:{name:r.name},...r.description==null?{}:{description:r.description},...r.latest_version==null?{}:{latestVersion:r.latest_version},providerMetadata:{openai:{...r.default_version==null?{}:{defaultVersion:r.default_version},...r.created_at==null?{}:{createdAt:r.created_at},...r.updated_at==null?{}:{updatedAt:r.updated_at}}},warnings:t}}},da=`4.0.69`;function fa(e={}){let t=ae(pe(A({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`})))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>Ae({Authorization:`Bearer ${k({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${da}`),i=i=>new ot(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new mt(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new yt(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new Nt(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new $i(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,webSocket:e.webSocket}),l=i=>new ia(i,{provider:`${n}.speech-translation`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,webSocket:e.webSocket}),u=i=>new Ji(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),d=()=>new wt({provider:`${n}.files`,baseURL:t,headers:r,fetch:e.fetch}),f=()=>new ua({provider:`${n}.skills`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),p=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return m(e)},m=i=>new Ir(i,{provider:`${n}.responses`,baseURL:t,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),h=()=>new fi({provider:`${n}.batch`,config:{provider:`${n}.responses`,baseURL:t,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}}),g=function(e){return p(e)};return g.specificationVersion=`v4`,g.languageModel=p,g.chat=i,g.completion=a,g.responses=m,g.evaluationModel=e=>new Me({model:m(e),provider:`${n}.evaluation`}),g.embedding=o,g.embeddingModel=o,g.textEmbedding=o,g.textEmbeddingModel=o,g.image=s,g.imageModel=s,g.transcription=c,g.transcriptionModel=c,g.translation=l,g.speechTranslationModel=l,g.speech=u,g.speechModel=u,g.files=d,g.skills=f,g.experimental_batch=h,g.experimental_realtime=Ki({provider:n,baseURL:t,headers:r,fetch:e.fetch}),g.tools=Hn,g}var pa=fa();export{Ui as Experimental_OpenAIRealtimeModel,zi as Experimental_OpenAIRealtimeModelLive,ia as Experimental_OpenAISpeechTranslationModel,ia as Experimental_OpenAITranslationModel,da as VERSION,fa as createOpenAI,pa as openai};