eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
14 lines • 154 kB
JavaScript
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{$ as s,A as c,At as l,Bt as u,C as d,Ct as f,D as p,Dt as m,E as h,Et as g,Ft as _,H as v,Ht as y,I as b,K as x,Lt as S,M as C,Ot as w,P as T,Pt as E,Q as D,R as O,Rt as k,S as A,St as ee,U as j,V as M,Vt as N,X as P,Y as F,Z as I,_ as L,_t as te,a as ne,at as R,b as re,bt as ie,c as ae,ct as z,dt as oe,et as se,f as ce,ft as le,g as ue,gt as de,h as fe,ht as pe,i as B,jt as V,k as H,l as U,lt as me,m as he,mt as W,n as ge,nt as G,o as _e,ot as ve,p as ye,q as be,rt as xe,s as Se,t as Ce,u as we,v as Te,vt as K,w as Ee,wt as q,x as De,xt as J,y as Oe}from"../../_chunks/workflow/dist-DhncQSl7.js";import{n as Y,t as X}from"../../_chunks/workflow/dist-DsNhwdzf.js";function ke(e){return y(ie,e)}var Ae=_({error:_({message:k(),type:k().nullish(),param:f().nullish(),code:u([k(),E()]).nullish()})}),Z=fe({errorSchema:Ae,errorToMessage:e=>e.error.message});function je(e){let t=Me(e),n=Ne(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,supportedReasoningEfforts:a?[`low`,`medium`,`high`,`xhigh`,`max`]:void 0,isReasoningModel:c,systemMessageMode:c?`developer`:`system`,supportsNonReasoningParameters:l}}function Me(e){let t=/^o(\d+)(?:-|$)/.exec(e);return t==null?void 0:Number(t[1])}function Ne(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 Pe(e){let t=ze(e);if(t==null)return;let n=Be(t);return d({message:t.message,type:t.type??void 0,code:t.code??void 0,statusCode:n,isRetryable:Ke(t,n),data:e})}async function Fe({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 Le(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,Ie(u).catch(()=>{}),Ie(l.getReader()).catch(()=>{}),Re({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 Ie(e){try{for(;!(await e.read()).done;);}catch{}finally{e.releaseLock()}}async function Le(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 Re({frame:t,url:n,requestBodyValues:r,responseHeaders:i}){let a=Pe(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 ze(e){let t=Ve(e);if(t==null)return;if(t.type===`response.failed`){let e=Ve(Ve(t.response)?.error);return typeof e?.message==`string`?{message:e.message,code:He(e.code),type:`response.failed`}:void 0}let n=Ve(t.error)??t;return typeof n.message==`string`&&(Ve(t.error)!=null||typeof n.type==`string`||`code`in n||`param`in n)?{message:n.message,code:He(n.code),type:typeof n.type==`string`?n.type:void 0}:void 0}function Be(e){let t=We(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 Ve(e){return typeof e==`object`&&e?e:void 0}function He(e){return typeof e==`string`||typeof e==`number`?e:void 0}function Ue(e){return Number.isInteger(e)&&e>=400&&e<=599}function We(e){let t=typeof e==`string`&&/^\d{3}$/.test(e)?Number(e):e;return typeof t==`number`&&Ue(t)?t:void 0}function Ge(e){return e===408||e===409||e===429||e>=500}function Ke(e,t){return e.code===`insufficient_quota`||e.type===`insufficient_quota`?!1:Ge(t)}function qe(e){if(e==null)return Oe();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 Je(e){return JSON.stringify(typeof e==`object`&&e&&!Array.isArray(e)?e:{})}function Q(e){return e?.openai?.promptCacheBreakpoint}function Ye({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=Q(s);n.push({role:`system`,content:e==null?o:[{type:`text`,text:o,prompt_cache_breakpoint:e}]});break}case`developer`:{let e=Q(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`&&Q(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=Q(e.providerOptions);return{type:`text`,text:e.text,...t!=null&&{prompt_cache_breakpoint:t}}}case`file`:{let n=Q(e.providerOptions);switch(e.data.type){case`reference`:return{type:`file`,file:{file_id:xe({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=C(e.mediaType);if(r===`image`)return{type:`image_url`,image_url:{url:e.data.type===`url`?e.data.url.toString():`data:${G({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=G({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=G({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=Q(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:Je(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=>Q(e.providerOptions)).find(e=>e!=null):Q(t.providerOptions))??Q(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 Xe({id:e,model:t,created:n}){return Te({id:e,model:t,created:n||void 0})}function Ze(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 Qe=M(()=>K(_({id:k().nullish(),created:E().nullish(),model:k().nullish(),choices:q(_({message:_({role:V(`assistant`).nullish(),content:k().nullish(),tool_calls:q(_({id:k().nullish(),type:V(`function`),function:_({name:k(),arguments:k()})})).nullish(),annotations:q(_({type:V(`url_citation`),url_citation:_({start_index:E(),end_index:E(),url:k(),title:k()})})).nullish()}),index:E(),logprobs:_({content:q(_({token:k(),logprob:E(),top_logprobs:q(_({token:k(),logprob:E()}))})).nullish()}).nullish(),finish_reason:k().nullish()})),usage:_({prompt_tokens:E().nullish(),completion_tokens:E().nullish(),total_tokens:E().nullish(),prompt_tokens_details:_({cached_tokens:E().nullish(),cache_write_tokens:E().nullish()}).nullish(),completion_tokens_details:_({reasoning_tokens:E().nullish(),accepted_prediction_tokens:E().nullish(),rejected_prediction_tokens:E().nullish()}).nullish()}).nullish()}))),$e=M(()=>K(u([_({id:k().nullish(),created:E().nullish(),model:k().nullish(),choices:q(_({delta:_({role:J([`assistant`]).nullish(),content:k().nullish(),tool_calls:q(_({index:E(),id:k().nullish(),type:V(`function`).nullish(),function:_({name:k().nullish(),arguments:k().nullish()})})).nullish(),annotations:q(_({type:V(`url_citation`),url_citation:_({start_index:E(),end_index:E(),url:k(),title:k()})})).nullish()}).nullish(),logprobs:_({content:q(_({token:k(),logprob:E(),top_logprobs:q(_({token:k(),logprob:E()}))})).nullish()}).nullish(),finish_reason:k().nullish(),index:E()})),usage:_({prompt_tokens:E().nullish(),completion_tokens:E().nullish(),total_tokens:E().nullish(),prompt_tokens_details:_({cached_tokens:E().nullish(),cache_write_tokens:E().nullish()}).nullish(),completion_tokens_details:_({reasoning_tokens:E().nullish(),accepted_prediction_tokens:E().nullish(),rejected_prediction_tokens:E().nullish()}).nullish()}).nullish()}),Ae]))),et=M(()=>K(_({logitBias:S(ke(),E()).optional(),logprobs:u([g(),E()]).optional(),parallelToolCalls:g().optional(),user:k().optional(),reasoningEffort:J([`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`]).optional(),maxCompletionTokens:E().optional(),store:g().optional(),metadata:S(k().max(64),k().max(512)).optional(),prediction:S(k(),f()).optional(),serviceTier:J([`auto`,`flex`,`priority`,`fast`,`ultrafast`,`default`]).optional(),strictJsonSchema:g().optional(),textVerbosity:J([`low`,`medium`,`high`]).optional(),promptCacheKey:k().optional(),promptCacheOptions:_({mode:J([`implicit`,`explicit`]).optional(),ttl:V(`30m`).optional()}).optional(),promptCacheRetention:J([`in_memory`,`24h`]).optional(),safetyIdentifier:k().optional(),systemMessageMode:J([`system`,`developer`,`remove`]).optional(),forceReasoning:g().optional()})));function tt({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`:r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema,...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 nt=class e{constructor(e,t){this.specificationVersion=`v4`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[Y](e){return z({modelId:e.modelId,config:e.config})}static[X](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 P({provider:`openai`,providerOptions:p,schema:et})??{},g=je(this.modelId),_=h.reasoningEffort??(T(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}=Ye({prompt:e,systemMessageMode:h.systemMessageMode??(v?`developer`:g.systemMessageMode)});m.push(...b);let x=h.strictJsonSchema??!0,S={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`?c.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{schema:c.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&&S.prompt_cache_retention!=null&&(S.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)&&(S.temperature!=null&&(S.temperature=void 0,m.push({type:`unsupported`,feature:`temperature`,details:`temperature is not supported for reasoning models`})),S.top_p!=null&&(S.top_p=void 0,m.push({type:`unsupported`,feature:`topP`,details:`topP is not supported for reasoning models`})),S.logprobs!=null&&(S.logprobs=void 0,m.push({type:`other`,message:`logprobs is not supported for reasoning models`}))),S.frequency_penalty!=null&&(S.frequency_penalty=void 0,m.push({type:`unsupported`,feature:`frequencyPenalty`,details:`frequencyPenalty is not supported for reasoning models`})),S.presence_penalty!=null&&(S.presence_penalty=void 0,m.push({type:`unsupported`,feature:`presencePenalty`,details:`presencePenalty is not supported for reasoning models`})),S.logit_bias!=null&&(S.logit_bias=void 0,m.push({type:`other`,message:`logitBias is not supported for reasoning models`})),S.top_logprobs!=null&&(S.top_logprobs=void 0,m.push({type:`other`,message:`topLogprobs is not supported for reasoning models`})),S.max_tokens!=null&&(S.max_completion_tokens??=S.max_tokens,S.max_tokens=void 0)):(this.modelId.startsWith(`gpt-4o-search-preview`)||this.modelId.startsWith(`gpt-4o-mini-search-preview`))&&S.temperature!=null&&(S.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`}),S.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`}),S.service_tier=void 0);let{tools:C,toolChoice:w,toolWarnings:E}=tt({tools:u,toolChoice:d});return{args:{...S,tools:C,tool_choice:w},warnings:[...m,...E]}}async doGenerate(e){var t;let{args:n,warnings:r}=await this.getArgs(e),{responseHeaders:i,value:a,rawValue:o}=await D({url:this.config.url({path:`/chat/completions`,modelId:this.modelId}),headers:B((t=this.config).headers?.call(t),e.headers),body:n,failedResponseHandler:Z,successfulResponseHandler:L(Qe),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=a.choices[0],c=[],l=s.message.content;l!=null&&l.length>0&&c.push({type:`text`,text:l});for(let e of s.message.tool_calls??[])c.push({type:`tool-call`,toolCallId:e.id||H(),toolName:e.function.name,input:e.function.arguments});for(let e of s.message.annotations??[])c.push({type:`source`,sourceType:`url`,id:H(),url:e.url_citation.url,title:e.url_citation.title});let u=a.usage?.completion_tokens_details,d={openai:{}};return u?.accepted_prediction_tokens!=null&&(d.openai.acceptedPredictionTokens=u?.accepted_prediction_tokens),u?.rejected_prediction_tokens!=null&&(d.openai.rejectedPredictionTokens=u?.rejected_prediction_tokens),s.logprobs?.content!=null&&(d.openai.logprobs=s.logprobs.content),{content:c,finishReason:{unified:Ze(s.finish_reason),raw:s.finish_reason??void 0},usage:qe(a.usage),request:{body:n},response:{...Xe(a),headers:i,body:o},warnings:r,providerMetadata:d}}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 D({url:a,headers:B((t=this.config).headers?.call(t),e.headers),body:i,failedResponseHandler:Z,successfulResponseHandler:he($e),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=await Fe({stream:s,getError:e=>`error`in e?e.error:void 0,isOutputChunk:rt,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 ge(e,{generateId:H,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:Pe(r.error)??r.error});return}if(!f){let e=Xe(r);Object.values(e).some(Boolean)&&(f=!0,n.enqueue({type:`response-metadata`,...Xe(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:Ze(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:H(),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:qe(d),...m==null?{}:{providerMetadata:m}})}})),request:{body:i},response:{headers:o}}}};function rt(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 it(e){if(e==null)return Oe();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 at({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 ot(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 st=M(()=>K(_({id:k().nullish(),created:E().nullish(),model:k().nullish(),choices:q(_({text:k(),finish_reason:k(),logprobs:_({tokens:q(k()),token_logprobs:q(E()),top_logprobs:q(S(k(),E())).nullish()}).nullish()})),usage:_({prompt_tokens:E(),completion_tokens:E(),total_tokens:E()}).nullish()}))),ct=M(()=>K(u([_({id:k().nullish(),created:E().nullish(),model:k().nullish(),choices:q(_({text:k(),finish_reason:k().nullish(),index:E(),logprobs:_({tokens:q(k()),token_logprobs:q(E()),top_logprobs:q(S(k(),E())).nullish()}).nullish()})),usage:_({prompt_tokens:E(),completion_tokens:E(),total_tokens:E()}).nullish()}),Ae]))),lt=M(()=>K(_({echo:g().optional(),logitBias:S(k(),E()).optional(),suffix:k().optional(),user:k().optional(),logprobs:u([g(),E()]).optional()}))),ut=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[Y](e){return z({modelId:e.modelId,config:e.config})}static[X](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 P({provider:`openai`,providerOptions:f,schema:lt}),...await P({provider:this.providerOptionsName,providerOptions:f,schema:lt})};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}=at({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 D({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:B((t=this.config).headers?.call(t),e.headers),body:n,failedResponseHandler:Z,successfulResponseHandler:L(st),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:it(a.usage),finishReason:{unified:ot(s.finish_reason),raw:s.finish_reason??void 0},request:{body:n},response:{...Te(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 D({url:a,headers:B((t=this.config).headers?.call(t),e.headers),body:i,failedResponseHandler:Z,successfulResponseHandler:he(ct),abortSignal:e.abortSignal,fetch:this.config.fetch}),c=await Fe({stream:s,getError:e=>`error`in e?e.error:void 0,isOutputChunk:dt,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:Pe(r.error)??r.error});return}f&&(f=!1,n.enqueue({type:`response-metadata`,...Te(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:ot(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:it(d)})}})),request:{body:i},response:{headers:o}}}};function dt(e){return!(`error`in e)&&e.choices.some(e=>e.text.length>0)}var ft=M(()=>K(_({dimensions:E().optional(),user:k().optional()}))),pt=M(()=>K(_({data:q(_({embedding:q(E())})),usage:_({prompt_tokens:E()}).nullish()}))),mt,ht=class e{constructor(e,t){this.specificationVersion=`v4`,this.maxEmbeddingsPerCall=2048,this[mt]=3e5,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}static[(mt=Ce,Y)](e){return z({modelId:e.modelId,config:e.config})}static[X](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 P({provider:`openai`,providerOptions:r,schema:ft})??{},{responseHeaders:s,value:c,rawValue:l}=await D({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:B((a=this.config).headers?.call(a),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:o.dimensions,user:o.user},failedResponseHandler:Z,successfulResponseHandler:L(pt),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}}}},gt=M(()=>K(_({id:k(),object:k().nullish(),bytes:E().nullish(),created_at:E().nullish(),filename:k().nullish(),purpose:k().nullish(),status:k().nullish(),expires_at:E().nullish()}))),_t=M(()=>K(_({id:k(),object:k().nullish(),deleted:g()}))),vt=M(()=>K(_({purpose:k().optional(),expiresAfter:E().optional()})));function yt(e){let t=encodeURIComponent(e);return t===`.`?`%252E`:t===`..`?`%252E%252E`:t}var bt=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 B(this.config.headers(),e)}async uploadFile({data:e,mediaType:t,filename:n,abortSignal:r,headers:i,providerOptions:a}){let o;try{o=await P({provider:`openai`,providerOptions:a,schema:vt})}catch(t){throw e.type===`stream`&&await e.stream.cancel(t).catch(()=>{}),t}let c=o?.purpose??`assistants`,l=this.getHeaders(i),u=`${this.config.baseURL}/files`,d;if(e.type===`stream`){let i=[{type:`field`,name:`purpose`,value:c}];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:d}=await s({url:u,headers:l,parts:i,failedResponseHandler:Z,successfulResponseHandler:L(gt),abortSignal:r,fetch:this.config.fetch})}else{let i=ae(e),a=new Blob([i],{type:t}),s=new FormData;n==null?s.append(`file`,a):s.append(`file`,a,n),s.append(`purpose`,c),o?.expiresAfter!=null&&(s.append(`expires_after[anchor]`,`created_at`),s.append(`expires_after[seconds]`,String(o.expiresAfter))),{value:d}=await I({url:u,headers:l,formData:s,failedResponseHandler:Z,successfulResponseHandler:L(gt),abortSignal:r,fetch:this.config.fetch})}return{warnings:[],providerReference:{openai:d.id},...d.filename??n?{filename:d.filename??n}:{},...t==null?{}:{mediaType:t},...d.bytes==null?{}:{byteSize:d.bytes},...d.created_at==null?{}:{createdAt:new Date(d.created_at*1e3)},...d.expires_at==null?{}:{expiresAt:new Date(d.expires_at*1e3)},providerMetadata:{openai:this.toFileMetadata(d)}}}async getFileMetadata({file:e,abortSignal:t,headers:n}){let r=this.getFileId(e),{value:i}=await c({url:`${this.config.baseURL}/files/${yt(r)}`,headers:this.getHeaders(n),failedResponseHandler:Z,successfulResponseHandler:L(gt),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 c({url:`${this.config.baseURL}/files/${yt(r)}/content`,headers:this.getHeaders(n),failedResponseHandler:Z,successfulResponseHandler:ye(),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 h({url:`${this.config.baseURL}/files/${yt(r)}`,headers:this.getHeaders(n),failedResponseHandler:Z,successfulResponseHandler:L(_t),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}}}},xt=M(()=>K(_({created:E().nullish(),data:q(_({b64_json:k(),revised_prompt:k().nullish()})),background:k().nullish(),output_format:k().nullish(),size:k().nullish(),quality:k().nullish(),usage:_({input_tokens:E().nullish(),output_tokens:E().nullish(),total_tokens:E().nullish(),input_tokens_details:_({image_tokens:E().nullish(),text_tokens:E().nullish()}).nullish()}).nullish()}))),St={"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,"chatgpt-image-latest":10},Ct=[`chatgpt-image-`,`gpt-image-`];function wt(e){return Ct.some(t=>e.startsWith(t))}function Tt(e){return St[e]??(e.startsWith(`gpt-image-`)?10:1)}var Et=_({quality:J([`standard`,`hd`,`low`,`medium`,`high`,`auto`]).optional(),background:J([`transparent`,`opaque`,`auto`]).optional(),outputFormat:J([`png`,`jpeg`,`webp`]).optional(),outputCompression:E().int().min(0).max(100).optional(),user:k().optional()});M(()=>K(Et));var Dt=M(()=>K(Et.extend({style:J([`vivid`,`natural`]).optional(),moderation:J([`auto`,`low`]).optional()}))),Ot=M(()=>K(Et.extend({inputFidelity:J([`high`,`low`]).optional()}))),kt=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[Y](e){return z({modelId:e.modelId,config:e.config})}static[X](t){return new e(t.modelId,t.config)}get maxImagesPerCall(){return Tt(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 m=[];a!=null&&m.push({type:`unsupported`,feature:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),o!=null&&m.push({type:`unsupported`,feature:`seed`});let h=((u=this.config._internal)?.currentDate)?.call(u)??new Date;if(t!=null){let a=await P({provider:`openai`,providerOptions:s,schema:Ot})??{},{value:o,responseHeaders:u}=await I({url:this.config.url({path:`/images/edits`,modelId:this.modelId}),headers:B((d=this.config).headers?.call(d),c),formData:we({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([Se(e.data)],{type:e.mediaType})],{type:e.mediaType}):p(e.url))),mask:n==null?void 0:await jt(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:Z,successfulResponseHandler:L(xt),abortSignal:l,fetch:this.config.fetch});return{images:o.data.map(e=>e.b64_json),warnings:m,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:h,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,...At(o.usage?.input_tokens_details,t,o.data.length)}))}}}}let g=await P({provider:`openai`,providerOptions:s,schema:Dt})??{},{value:_,responseHeaders:v}=await D({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:B((f=this.config).headers?.call(f),c),body:{model:this.modelId,prompt:e,n:r,size:i,quality:g.quality,style:g.style,background:g.background,moderation:g.moderation,output_format:g.outputFormat,output_compression:g.outputCompression,user:g.user,...wt(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:Z,successfulResponseHandler:L(xt),abortSignal:l,fetch:this.config.fetch});return{images:_.data.map(e=>e.b64_json),warnings:m,usage:_.usage==null?void 0:{inputTokens:_.usage.input_tokens??void 0,outputTokens:_.usage.output_tokens??void 0,totalTokens:_.usage.total_tokens??void 0},response:{timestamp:h,modelId:this.modelId,headers:v},providerMetadata:{openai:{images:_.data.map((e,t)=>({...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:_.created??void 0,size:_.size??void 0,quality:_.quality??void 0,background:_.background??void 0,outputFormat:_.output_format??void 0,...At(_.usage?.input_tokens_details,t,_.data.length)}))}}}}};function At(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 jt(e){if(!e)return;if(e.type===`url`)return p(e.url);let t=e.data instanceof Uint8Array?e.data:Se(e.data);return new Blob([t],{type:e.mediaType})}var Mt=M(()=>K(_({callId:k(),operation:m(`type`,[_({type:V(`create_file`),path:k(),diff:k()}),_({type:V(`delete_file`),path:k()}),_({type:V(`update_file`),path:k(),diff:k()})])}))),Nt=M(()=>K(_({status:J([`completed`,`failed`]),output:k().optional()})));M(()=>K(_({})));var Pt=De({id:`openai.apply_patch`,inputSchema:Mt,outputSchema:Nt}),Ft=M(()=>K(_({code:k().nullish(),containerId:k()}))),It=M(()=>K(_({outputs:q(m(`type`,[_({type:V(`logs`),logs:k()}),_({type:V(`image`),url:k()})])).nullish()}))),Lt=M(()=>K(_({container:u([k(),_({fileIds:q(k()).optional()})]).optional()}))),Rt=A({id:`openai.code_interpreter`,inputSchema:Ft,outputSchema:It}),zt=(e={})=>Rt(e),Bt=_({id:k(),code:k().optional(),message:k().optional()}),Vt=m(`type`,[_({type:V(`click`),button:J([`left`,`right`,`wheel`,`back`,`forward`]),x:E(),y:E(),keys:q(k()).optional()}),_({type:V(`double_click`),x:E(),y:E(),keys:q(k()).optional()}),_({type:V(`drag`),path:q(_({x:E(),y:E()})),keys:q(k()).optional()}),_({type:V(`keypress`),keys:q(k())}),_({type:V(`move`),x:E(),y:E(),keys:q(k()).optional()}),_({type:V(`screenshot`)}),_({type:V(`scroll`),x:E(),y:E(),scrollX:E(),scrollY:E(),keys:q(k()).optional()}),_({type:V(`type`),text:k()}),_({type:V(`wait`)})]),Ht=M(()=>K(_({actions:q(Vt),pendingSafetyChecks:q(Bt),status:J([`in_progress`,`completed`,`incomplete`])}))),Ut=M(()=>K(_({output:u([_({type:V(`computer_screenshot`),imageUrl:k(),fileId:k().optional(),detail:J([`auto`,`low`,`high`,`original`]).optional()}),_({type:V(`computer_screenshot`),fileId:k(),imageUrl:k().optional(),detail:J([`auto`,`low`,`high`,`original`]).optional()})]),acknowledgedSafetyChecks:q(Bt).optional()}))),Wt=De({id:`openai.computer`,inputSchema:Ht,outputSchema:Ut}),Gt=(e={})=>Wt(e),Kt=M(()=>K(_({description:k().optional(),format:u([_({type:V(`grammar`),syntax:J([`regex`,`lark`]),definition:k()}),_({type:V(`text`)})]).optional()}))),qt=M(()=>K(k())),Jt=re({id:`openai.custom`,inputSchema:qt}),Yt=e=>Jt(e),Xt=_({key:k(),type:J([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`,`in`,`nin`]),value:u([k(),E(),g(),q(k())])}),Zt=_({type:J([`and`,`or`]),filters:q(u([Xt,l(()=>Zt)]))}),Qt=M(()=>K(_({vectorStoreIds:q(k()),maxNumResults:E().optional(),ranking:_({ranker:k().optional(),scoreThreshold:E().optional()}).optional(),filters:u([Xt,Zt]).optional()}))),$t=M(()=>K(_({queries:q(k()),results:q(_({attributes:S(k(),N()),fileId:k(),filename:k(),score:E(),text:k()})).nullable()}))),en=A({id:`openai.file_search`,inputSchema:_({}),outputSchema:$t}),tn=M(()=>K(_({action:J([`generate`,`edit`,`auto`]).optional(),background:J([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:J([`low`,`high`]).optional(),inputImageMask:_({fileId:k().optional(),imageUrl:k().optional()}).optional(),model:k().optional(),moderation:J([`auto`,`low`]).optional(),outputCompression:E().int().min(0).max(100).optional(),outputFormat:J([`png`,`jpeg`,`webp`]).optional(),partialImages:E().int().min(0).max(3).optional(),quality:J([`auto`,`low`,`medium`,`high`]).optional(),size:u([J([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]),k().regex(/^\d+x\d+$/)]).optional()}).strict())),nn=M(()=>K(_({}))),rn=M(()=>K(_({result:k()}))),an=A({id:`openai.image_generation`,inputSchema:nn,outputSchema:rn}),on=(e={})=>an(e),sn=M(()=>K(_({action:_({type:V(`exec`),command:q(k()),timeoutMs:E().optional(),user:k().optional(),workingDirectory:k().optional(),env:S(k(),k()).optional()})}))),cn=M(()=>K(_({output:k()}))),ln=De({id:`openai.local_shell`,inputSchema:sn,outputSchema:cn}),un=M(()=>K(_({action:_({commands:q(k()),timeoutMs:E().optional(),maxOutputLength:E().optional()})}))),dn=M(()=>K(_({output:q(_({stdout:k(),stderr:k(),outcome:m(`type`,[_({type:V(`timeout`)}),_({type:V(`exit`),exitCode:E()})])}))}))),fn=q(m(`type`,[_({type:V(`skillReference`),providerReference:S(k(),k()),version:k().optional()}),_({type:V(`inline`),name:k(),description:k(),source:_({type:V(`base64`),mediaType:V(`application/zip`),data:k()})})])).optional(),pn=M(()=>K(_({environment:u([_({type:V(`containerAuto`),fileIds:q(k()).optional(),memoryLimit:J([`1g`,`4g`,`16g`,`64g`]).optional(),networkPolicy:m(`type`,[_({type:V(`disabled`)}),_({type:V(`allowlist`),allowedDomains:q(k()),domainSecrets:q(_({domain:k(),name:k(),value:k()})).optional()})]).optional(),skills:fn}),_({type:V(`containerReference`),containerId:k()}),_({type:V(`local`).optional(),skills:q(_({name:k(),description:k(),path:k()})).optional()})]).optional()}))),mn=De({id:`openai.shell`,inputSchema:un,outputSchema:dn}),hn=M(()=>K(_({execution:J([`server`,`client`]).optional(),description:k().optional(),parameters:S(k(),N()).optional()}))),gn=M(()=>K(_({arguments:N().optional(),call_id:k().nullish()}))),_n=M(()=>K(_({tools:q(S(k(),N()))}))),vn=De({id:`openai.tool_search`,inputSchema:gn,outputSchema:_n}),yn=(e={})=>vn(e),bn=M(()=>K(_({externalWebAccess:g().optional(),filters:_({allowedDomains:q(k()).optional(),blockedDomains:q(k()).optional()}).optional(),searchContextSize:J([`low`,`medium`,`high`]).optional(),userLocation:_({type:V(`approximate`),country:k().optional(),city:k().optional(),region:k().optional(),timezone:k().optional()}).optional()}))),xn=M(()=>K(_({}))),Sn=M(()=>K(_({action:m(`type`,[_({type:V(`search`),query:k().optional(),queries:q(k()).optional()}),_({type:V(`openPage`),url:k().nullish()}),_({type:V(`findInPage`),url:k().nullish(),pattern:k().nullish()})]).optional(),sources:q(m(`type`,[_({type:V(`url`),url:k()}),_({type:V(`api`),name:k()})])).optional()}))),Cn=A({id:`openai.web_search`,inputSchema:xn,outputSchema:Sn}),wn=(e={})=>Cn(e),Tn=M(()=>K(_({searchContextSize:J([`low`,`medium`,`high`]).optional(),userLocation:_({type:V(`approximate`),country:k().optional(),city:k().optional(),region:k().optional(),timezone:k().optional()}).optional()}))),En=M(()=>K(_({}))),Dn=M(()=>K(_({action:m(`type`,[_({type:V(`search`),query:k().optional()}),_({type:V(`openPage`),url:k().nullish()}),_({type:V(`findInPage`),url:k().nullish(),pattern:k().nullish()})]).optional()}))),On=A({id:`openai.web_search_preview`,inputSchema:En,outputSchema:Dn}),kn=l(()=>u([k(),E(),g(),ee(),q(kn),S(k(),kn)])),An=M(()=>K(_({serverLabel:k(),allowedTools:u([q(k()),_({readOnly:g().optional(),toolNames:q(k()).optional()})]).optional(),authorization:k().optional(),connectorId:k().optional(),headers:S(k(),k()).optional(),requireApproval:u([J([`always`,`never`]),_({never:_({toolNames:q(k()).optional()}).optional()})]).optional(),serverDescription:k().optional(),serverUrl:k().optional()}).refine(e=>e.serverUrl!=null||e.connectorId!=null,`One of serverUrl or connectorId must be provided.`))),jn=M(()=>K(_({}))),Mn=M(()=>K(_({type:V(`call`),serverLabel:k(),name:k(),arguments:k(),output:k().nullish(),error:u([k(),kn]).optional()}))),Nn=A({id:`openai.mcp`,inputSchema:jn,outputSchema:Mn}),Pn=e=>Nn(e),Fn=M(()=>K(_({code:k(),fingerprint:k()}))),In=M(()=>K(_({result:k(),status:J([`completed`,`incomplete`])}))),Ln=A({id:`openai.programmatic_tool_calling`,inputSchema:Fn,outputSchema:In,supportsDeferredResults:!0}),Rn={applyPatch:Pt,customTool:Yt,codeInterpreter:zt,computer:Gt,fileSearch:en,imageGeneration:on,localShell:ln,shell:mn,webSearchPreview:On,webSearch:wn,mcp:Pn,programmaticToolCalling:()=>oe(Ln({}),{type:`provider`,prepareProviderOptions:e=>{let t=e?.openai;return{...e,openai:{...t,allowedCallers:[...new Set([...t?.allowedCallers??[],`programmatic`])]}}}}),toolSearch:yn};function zn(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}}function Bn(e){if(e==null)return Oe();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 Vn({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 Hn=l(()=>u([k(),E(),g(),ee(),q(Hn),S(k(),Hn.optional())])),Un=S(k(),Hn.optional()),Wn=w(Un,_({input_tokens:E(),input_tokens_details:w(Un,_({cached_tokens:E().nullish(),cache_write_tokens:E().nullish(),orchestration_input_tokens:E().nullish(),orchestration_input_cached_tokens:E().nullish()})).nullish(),output_tokens:E(),output_tokens_details:w(Un,_({reasoning_tokens:E().nullish(),orchestration_output_tokens:E().nullish()})).nullish(),total_tokens:E().optional()})),Gn=_({id:k(),code:k().nullish(),message:k().nullish()}),Kn=m(`type`,[_({type:V(`click`),button:J([`left`,`right`,`wheel`,`back`,`forward`]),x:E(),y:E(),keys:q(k()).nullish()}),_({type:V(`double_click`),x:E(),y:E(),keys:q(k()).nullish()}),_({type:V(`drag`),path:q(_({x:E(),y:E()})),keys:q(k()).nullish()}),_({type:V(`keypress`),keys:q(k())}),_({type:V(`move`),x:E(),y:E(),keys:q(k()).nullish()}),_({type:V(`screenshot`)}),_({type:V(`scroll`),x:E(),y:E(),scroll_x:E(),scroll_y:E(),keys:q(k()).nullish()}),_({type:V(`type`),text:k()}),_({type:V(`wait`)})]),qn=_({type:V(`computer_call`),id:k(),call_id:k().nullish(),status:J([`in_progress`,`completed`,`incomplete`]),action:Kn.nullish(),actions:q(Kn).nullish(),pending_safety_checks:q(Gn).nullish()}),Jn=m(`type`,[_({type:V(`direct`)}),_({type:V(`program`),caller_id:k()})]),Yn=_({type:V(`program`),id:k(),call_id:k(),code:k(),fingerprint:k()}),Xn=_({type:V(`program_output`),id:k(),call_id:k(),result:k(),status:J([`completed`,`incomplete`])}),Zn=_({type:V(`local_shell_call`),id:k(),call_id:k(),action:_({type:V(`exec`),command:q(k()),timeout_ms:E().optional(),user:k().optional(),working_directory:k().optional(),env:S(k(),k()).optional()})}),Qn=_({type:V(`error`),sequence_number:E(),error:_({type:k(),code:k(),message:k(),param:k().nullish()})}),$n=_({type:V(`error`),sequence_number:E(),code:k().nullish(),message:k(),param:k().nullish()}),er=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`]),tr=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 nr(e){return typeof e.type!=`string`||!er.has(e.type)?!1:e.type!==`response.output_item.added`&&e.type!==`response.output_item.done`||!O(e.item)||typeof e.item.type!=`string`||tr.has(e.item.type)}var rr=M(()=>K(u([_({type:V(`response.output_text.delta`),item_id:k(),output_index:E().nullish(),delta:k(),logprobs:q(_({token:k(),logprob:E(),top_logprobs:q(_({token:k(),logprob:E()}))})).nullish()}),_({type:J([`response.completed`,`response.incomplete`]),response:_({incomplete_details:_({reason:k()}).nullish(),usage:Wn.nullish(),reasoning:_({context:k().nullish()}).nullish(),service_tier:k().nullish()})}),_({type:V(`response.failed`),sequence_number:E(),response:_({error:_({code:k().nullish(),message:k()}).nullish(),incomplete_details:_({reason:k()}).nullish(),usage:Wn.nullish(),reasoning:_({context:k().nullish()}).nullish(),service_tier:k().nullish()})}),_({type:V(`response.created`),response:_({id:k(),created_at:E(),model:k(),service_tier:k().nullish()})}),_({type:V(`response.in_progress`),response:_({id:k(),created_at:E(),model:k(),service_tier:k().nullish()})}),_({type:V(`response.output_item.added`),output_index:E(),item:m(`type`,[_({type:V(`message`),id:k(),phase:J([`commentary`,`final_answer`]).nullish()}),_({type:V(`reasoning`),id:k(),encrypted_content:k().nullish()}),_({type:V(`function_call`),id:k(),call_id:k(),name:k(),arguments:k(),namespace:k().nullish(),caller:Jn.nullish()}),Yn,Xn,_({type:V(`web_search_call`),id:k(),status:k()}),qn,_({type:V(`file_search_call`),id:k()}),Zn,_({type:V(`image_generation_call`),id:k()}),_({type:V(`code_interpreter_call`),id:k(),container_id:k(),code:k().nullable(),outputs:q(m(`type`,[_({type:V(`logs`),logs:k()}),_({type:V(`image`),url:k()})])).nullable(),status:k()}),_({type:V(`mcp_call`),id:k(),status:k(),approval_request_id:k().nullish()}),_({type:V(`mcp_list_tools`),id:k()}),_({type:V(`mcp_approval_request`),id:k()}),_({type:V(`apply_patch_call`),id:k(),call_id:k(),status:J([`in_progress`,`completed`]),operation:m(`type`,[_({type:V(`create_file`),path:k(),diff:k()}),_({type:V(`delete_file`),path:k()}),_({type:V(`update_file`),path:k(),diff:k()})])}),_({type:V(`custom_tool_call`),id:k(),call_id:k(),name:k(),input:k()}),_({type:V(`shell_call`),id:k(),call_id:k(),status:J([`in_progress`,`completed`,`incomplete`]),action:_({commands:q(k())})}),_({type:V(`compaction`),id:k(),encrypted_content:k().nullish()}),_({type:V(`shell_call_output`),id:k(),call_id:k(),status:J([`in_progress`,`completed`,`incomplete`]),output:q(_({stdout:k(),stderr:k(),outcome:m(`type`,[_({type:V(`timeout`)}),_({type:V(`exit`),exit_code:E()})])}))}),_({type:V(`tool_search_call`),id:k(),execution:J([`server`,`client`]),call_id:k().nullable(),status:J([`in_progress`,`completed`,`incomplete`]),arguments:N()}),_({type:V(`tool_search_output`),id:k(),execution:J([`server`,`client`]),call_id:k().nullable(),status:J([`in_progress`,`completed`,`incomplete`]),tools:q(S(k(),Hn.optional()))})])}),_({type:V(`response.output_item.done`),output_index:E(),item:m(`type`,[_({type:V(`message`),id:k(),phase:J([`commentary`,`final_answer`]).nullish()}),_({type:V(`reasoning`),id:k(),encrypted_content:k().nullish()}),_({type:V(`function_call`),id:k(),call_id:k(),name:k(),arguments:k(),status:J([`in_progress`,`completed`,`incomplete`]),namespace:k().nullish(),caller:Jn.nullish()}),Yn,Xn,_({type:V(`custom_tool_call`),id:k(),call_id:k(),name:k(),input:k(),status:V(`completed`)}),_({type:V(`code_interpreter_call`),id:k(),code:k().nullable(),container_id:k(),outputs:q(m(`type`,[_({type:V(`logs`),logs:k()}),_({type:V(`image`),url:k()})])).nullable()}),_({type:V(`image_generation_call`),id:k(),result:k()}),_({type:V(`web_search_call`),id:k(),status:k(),action:m(`type`,[_({type:V(`search`),query:k().nullish(),queries:q(k()).nullish(),sources:q(m(`type`,[_({type:V(`url`),url:k()}),_({type:V(`api`),name:k()})])).nullish()}),_({type:V(`open_page`),url:k().nullish()}),_({type:V(`find_in_page`),url:k().nullish(),pattern:k().nullish()})]).nullish()}),_({type:V(`file_search_call`),id:k(),queries:q(k()),results:q(_({attributes:S(k(),u([k(),E(),g()])),file_id:k(),filename:k(),score:E(),text:k()})).nullish()}),Zn,qn,_({type:V(`mcp_call`),id:k(),status:k(),arguments:k(),name:k(),server_label:k(),output:k().nullish(),error:u([k(),_({type:k().optional(),code:u([E(),k()]).optional(),message:k().optional()}).loose()]).nullish(),approval_request_id:k().nullish()}),_({type:V(`mcp_list_tools`),id:k(),server_label:k(),tools:q(_({name:k(),description:k().optional(),input_schema:f(),annotations:S(k(),N()).optional()})),error:u([k(),_({type:k().optional(),code:u([E(),k()]).optional(),message:k().optional()}).loose()]).optional()}),_({type:V(`mcp_approval_request`),id:k(),server_label:k(),name:k(),arguments:k(),approval_request_id:k().optional()}),_({type:V(`apply_patch_call`),id:k(),call_id:k(),status:J([`in_progress`,`completed`]),operation:m(`type`,[_({type:V(`create_file`),path:k(),diff:k()}),_({type:V(`delete_file`),path:k()}),_({type:V(`update_file`),path:k(),diff:k()})])}),_({type:V(`shell_call`),id:k(),call_id:k(),status:J([`in_progress`,`completed`,`incomplete`]),action:_({commands:q(k())})}),_({type:V(`compaction`),id:k(),encrypted_content:k()}),_({type:V(`shell_call_output`),id:k(),call_id:k(),status:J([`in_progress`,`completed`,`incomplete`]),output:q(_({stdout:k(),stderr:k(),outcome:m(`type`,[_({type:V(`timeout`)}),_({type:V(`exit`),exit_code:E()})])}))}),_({type:V(`tool_search_call`),id:k(),execution:J([`server`,`client`]),call_id:k().nullable(),status:J([`in_progress`,`completed`,`incomplete`]),arguments:N()}),_({type:V(`tool_search_output`),id:k(),execution:J([`server`,`client`]),call_id:k().nullable(),status:J([`in_progress`,`completed`,`incomplete`]),tools:q(S(k(),Hn.optional()))})])}),_({type:V(`response.function_call_arguments.delta`),item_id:k(),output_index:E(),delta:k()}),_({type:V(`response.function_call_arguments.done`),item_id:k(),output_index:E(),arguments:k()}),_({type:V(`response.custom_tool_call_input.delta`),item_id:k(),output_index:E(),delta:k()}),_({type:V(`response.image_generation_call.partial_image`),item_id:k(),output_index:E(),partial_image_b64:k()}),_({type:V(`response.code_interpreter_call_code.delta`),item_id:k(),output_index:E(),delta:k()}),_({type:V(`response.code_interpreter_call_code.done`),item_id:k(),output_index:E(),code:k()}),_({type:V(`response.output_text.annotation.added`),annotation:m(`type`,[_({type:V(`url_citation`),start_index:E(),end_index:E(),url:k(),title:k()}),_({type:V(`file_citation`),file_id:k(),filename:k(),index:E()}),_({type:V(`container_file_citation`),container_id:k(),file_id:k(),filename:k(),start_index:E(),end_index:E()}),_({type:V(`file_path`),file_id:k(),index:E()})])}),_({type:V(`response.reasoning_summary_part.added`),item_id:k(),output_index:E().nullish(),summary_index:E()}),_({type:V(`response.reasoning_summary_text.delta`),item_id:k(),output_index:E().nullish(),summary_index:E(),delta:k()}),_({type:V(`response.reasoning_summary_part.done`),item_id:k(),output_index:E().nullish(),summary_index:E()}),_({type:V(`response.apply_patch_call_operation_diff.delta`),item_id:k(),output_index:E(),delta:k(),obfuscation:k().nullish()}),_({type:V(`response.apply_patch_call_operation_diff.done`),item_id:k(),output_index:E(),diff:k()}),Qn,$n,_({type:k()}).loose().refine(e=>!nr(e),{message:`Known response chunk failed schema validation`}).transform(e=>({type:`unknown_chunk`,message:e.type}))]))),ir=M(()=>K(_({id:k().optional(),created_at:E().optional(),error:_({message:k(),type:k(),param:k().nullish(),code:k()}).nullish(),model:k().optional(),output:q(m(`type`,[_({type:V(`message`),role:V(`assistant`),id:k(),phase:J([`commentary`,`final_answer`]).nullish(),content:q(_({type:V(`output_text`),text:k(),logprobs:q(_({token:k(),logprob:E(),top_logprobs:q(_({token:k(),logprob:E()}))})).nullish(),annotations:q(m(`type`,[_({type:V(`url_citation`),start_index:E(),end_index:E(),url:k(),title:k()}),_({type:V(`file_citation`),file_id:k(),filename:k(),index:E()}),_({type:V(`container_file_citation`),container_id:k(),file_id:k(),filename:k(),start_index:E(),end_index:E()}),_({type:V(`file_path`),file_id:k(),index:E()})]))}))}),_({type:V(`web_search_call`),id:k(),status:k(),action:m(`type`,[_({type:V(`search`),query:k().nullish(),queries:q(k()).nullish(),sources:q(m(`type`,[_({type:V(`url`),url:k()}),_({type:V(`api`),name:k()})])).nullish()}),_({type:V(`open_page`),url:k().nullish()}),_({type:V(`find_in_page`),url:k().nullish(),pattern:k().nullish()})]).nullish()}),_({type:V(`file_search_call`),id:k(),queries:q(k()),results:q(_({attributes:S(k(),u([k(),E(),g()])),file_id:k(),filename:k(),score:E(),text:k()})).nullish()}),_({type:V(`code_interpreter_call`),id:k(),code:k().nullable(),container_id:k(),outputs:q(m(`type`,[_({type:V(`logs`),logs:k()}),_({type:V(`image`),url:k()})])).nullable()}),_({type:V(`image_generation_call`),id:k(),result:k()}),Zn,_({type:V(`function_call`),call_id:k(),name:k(),arguments:k(),id:k(),namespace:k().nullish(),caller:Jn.nullish()}),Yn,Xn,_({type:V(`custom_tool_call`),call_id:k(),name:k(),input:k(),id:k()}),qn,_({type:V(`reasoning`),id:k(),encrypted_content:k().nullish(),summary:q(_({type:V(`summary_text`),text:k()}))}),_({type:V(`mcp_call`),id:k(),status:k(),arguments:k(),name:k(),server_label:k(),output:k().nullish(),error:u([k(),_({type:k().optional(),code:u([E(),k()]).optional(),message:k().optional()}).loose()]).nullish(),approval_request_id:k().nullish()}),_({type:V(`mcp_list_tools`),id:k(),server_label:k(),tools:q(_({name:k(),description:k().optional(),input_schema:f(),annotations:S(k(),N()).optional()})),error:u([k(),_({type:k().optional(),code:u([E(),k()]).optional(),message:k().optional()}).loose()]).optional()}),_({type:V(`mcp_approval_request`),id:k(),server_label:k(),name:k(),arguments:k(),approval_request_id:k().optional()}),_({type:V(`apply_patch_call`),id:k(),call_id:k(),status:J([`in_progress`,`completed`]),operation:m(`type`,[_({type:V(`create_file`),path:k(),diff:k()}),_({type:V(`delete_file`),path:k()}),_({type:V(`update_file`),path:k(),diff:k()})])}),_({type:V(`shell_call`),id:k(),call_id:k(),status:J([`in_progress`,`completed`,`incomplete`]),action:_({commands:q(k())})}),_({type:V(`compaction`),id:k(),encrypted_content:k()}),_({type:V(`shell_call_output`),id:k(),call_id:k(),status:J([`in_progress`,`completed`,`incomplete`]),output:q(_({stdout:k(),stderr:k(),outcome:m(`type`,[_({type:V(`timeout`)}),_({type:V(`exit`),exit_code:E()})])}))}),_({type:V(`tool_search_call`),id:k(),execution:J([`server`,`client`]),call_id:k().nullable(),status:J([`in_progress`,`completed`,`incomplete`]),arguments:N()}),_({type:V(`tool_search_output`),id:k(),execution:J([`server`,`client`]),call_id:k().nullable(),status:J([`in_progress`,`completed`,`incomplete`]),tools:q(S(k(),Hn.optional()))})])).optional(),service_tier:k().nullish(),reasoning:_({context:k().nullish()}).nullish(),incomplete_details:_({reason:k()}).nullish(),usage:Wn.nullish()}))),ar=`parallel`,or=`functions.`;function sr({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 cr({toolName:e,tools:t}){return e===ar&&!t.some(e=>e.name===ar)}async function lr({toolCall:e,tools:t,providerOptionsName:n,itemId:r}){if(!cr({toolName:e.toolName,tools:t}))return;let i=await R({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(or)||!o(u))return;let d=l.slice(or.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 ur(e){return JSON.stringify(e===void 0?{}:e)}function dr(e){return e==null?void 0:e.type===`program`?{type:`program`,caller_id:e.callerId}:e}async function fr({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=$(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=C(e.mediaType),r=e.providerOptions?.[i]?.imageDetail;if(e.data.type===`data`){let i=G({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(b)}}function pr(e,t){return e.itemId===t.itemId&&e.toolCallId===t.toolCallId&&e.toolName===t.toolName&&e.input===t.input&&e.count===t.count}function mr({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=sr({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(!pr(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(b)&&r.set(e,{metadata:t.metadata,results:n})}return r}function $(e,t){return e?.[t]?.promptCacheBreakpoint}function hr({output:e,toolResultProviderOptions:t,providerOptionsName:n}){return e.type===`content`?void 0:$(e.providerOptions,n)??$(t,n)}function gr(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function _r({prompt:e,toolNameMapping:t,systemMessageMode:n,providerOptionsName:r,fileIdPrefixes:i,passThroughUnsupportedFiles:o=!1,store:s,hasConversation:c=!1,hasPreviousResponseId:l=!1,hasLocalShellTool:u=!1,hasShellTool:d=!1,hasApplyPatchTool:f=!1,hasComputerTool:p=!1,toolSearchToolName:m,customProviderToolNames:h,outputSchemaToolNames:g}){let _=[],v=[],y=new Set,x=c||l?mr({prompt:e,providerOptionsName:r}):new Map,S=new Set,w=new Set;for(let{role:T,content:E,providerOptions:D}of e)switch(T){case`system`:switch(n){case`system`:{let e=$(D,r);_.push({role:`system`,content:e==null?E:[{type:`input_text`,text:E,prompt_cache_breakpoint:e}]});break}case`developer`:{let e=$(D,r);_.push({role:`developer`,content:e==null?E:[{type:`input_text`,text:E,prompt_cache_breakpoint:e}]});break}case`remove`:v.push({type:`other`,message:`system messages are removed for this model`});break;default:throw Error(`Unsupported system message mode: ${n}`)}break;case`user`:_.push({role:`user`,content:E.map((e,t)=>{switch(e.type){case`text`:{let t=$(e.providerOptions,r);return{type:`input_text`,text:e.text,...t!=null&&{prompt_cache_breakpoint:t}}}case`file`:{let n=$(e.providerOptions,r);switch(e.data.type){case`reference`:{let t=xe({reference:e.data.reference,provider:r});return C(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(C(e.mediaType)===`image`)return{type:`input_image`,...e.data.type===`url`?{image_url:e.data.url.toString()}:typeof e.data.data==`string`&&gr(e.data.data,i)?{file_id:e.data.data}:{image_url:`data:${G({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=G({part:e});if(r!==`application/pdf`&&!o)throw new a({functionality:`file part media type ${r}`});return{type:`input_file`,...typeof e.data.data==`string`&&gr(e.data.data,i)?{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 E)switch(n.type){case`text`:{let e=n.providerOptions?.[r],t=e?.itemId,i=e?.phase;if(c&&t!=null)break;if(s&&t!=null){_.push({type:`item_reference`,id:t});break}_.push({role:`assistant`,content:[{type:`output_text`,text:n.text}],id:t,...i!=null&&{phase:i}});break}case`tool-call`:{let e=sr({providerOptions:n.providerOptions,providerOptionsName:r}),i=e==null?void 0:x.get(e.toolCallId);if(e!=null&&i!=null&&pr(i.metadata,e)){S.has(i.metadata.toolCallId)||(S.add(i.metadata.toolCallId),c||_.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,g=n.providerOptions?.[r]?.caller;if(c&&a!=null)break;let v=t.toProviderToolName(n.toolName);if(n.toolName===m){if(s&&a!=null){_.push({type:`item_reference`,id:a});break}let e=typeof n.input==`string`?await F({text:n.input,schema:gn}):await W({value:n.input,schema:gn}),t=e.call_id==null?`server`:`client`;_.push({type:`tool_search_call`,id:a??n.toolCallId,execution:t,call_id:e.call_id??null,status:`completed`,arguments:e.arguments});break}if(v===`programmatic_tool_calling`){if(s&&a!=null){_.push({type:`item_reference`,id:a});break}let e=await W({value:n.input,schema:Fn});_.push({type:`program`,id:a??n.toolCallId,call_id:n.toolCallId,code:e.code,fingerprint:e.fingerprint});break}if(n.providerExecuted&&(s&&a!=null&&_.push({type:`item_reference`,id:a}),s||!d||v!==`shell`))break;let y=u&&v===`local_shell`||d&&v===`shell`||f&&v===`apply_patch`||p&&v===`computer`||(h?.has(v)??!1);if(l&&s&&a!=null&&y)break;if(s&&a!=null&&y){_.push({type:`item_reference`,id:a});break}if(u&&v===`local_shell`){let e=await W({value:n.input,schema:sn});_.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(d&&v===`shell`){let e=await W({value:n.input,schema:un});_.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(f&&v===`apply_patch`){let e=await W({value:n.input,schema:Mt});_.push({type:`apply_patch_call`,call_id:e.callId,id:a,status:`completed`,operation:e.operation});break}if(p&&v===`computer`){let e=await W({value:n.input,schema:Ht});_.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(h?.has(v)){_.push({type:`custom_tool_call`,call_id:n.toolCallId,name:v,input:typeof n.input==`string`?n.input:JSON.stringify(n.input),id:a});break}_.push({type:`function_call`,call_id:n.toolCallId,name:v,arguments:ur(n.input),...o!=null&&{namespace:o},...g!=null&&{caller:dr(g)}});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`||c)break;let e=t.toProviderToolName(n.toolName);if(n.toolName===m){let e=n.providerOptions?.[r]?.itemId??n.providerMetadata?.[r]?.itemId??n.toolCallId;if(s)_.push({type:`item_reference`,id:e});else if(n.output.type===`json`){let t=await W({value:n.output.value,schema:_n});_.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(s)_.push({type:`item_reference`,id:e});else if(n.output.type===`json`){let t=await W({value:n.output.value,schema:In});_.push({type:`program_output`,id:e,call_id:n.toolCallId,result:t.result,status:t.status})}break}if(d&&e===`shell`){if(n.output.type===`json`){let e=await W({value:n.output.value,schema:dn});_.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(s){let e=n.providerOptions?.[r]?.itemId??n.toolCallId;_.push({type:`item_reference`,id:e})}else v.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 P({provider:r,providerOptions:n.providerOptions,schema:vr}),i=t?.itemId;if((c||l)&&i!=null)break;if(i!=null){let r=e[i];if(s)r===void 0&&(_.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&&v.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},_.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}),_.push({type:`reasoning`,encrypted_content:e,summary:t})}else v.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(c&&t!=null)break;if(s&&t!=null){_.push({type:`item_reference`,id:t});break}let i=e?.encryptedContent;t!=null&&_.push({type:`compaction`,id:t,encrypted_content:i})}}break}case`tool`:for(let e of E){if(e.type===`tool-approval-response`){let t=e;if(y.has(t.approvalId))continue;y.add(t.approvalId),s&&!c&&!l&&_.push({type:`item_reference`,id:t.approvalId}),_.push({type:`mcp_approval_response`,approval_request_id:t.approvalId,approve:t.approved});continue}let n=sr({providerOptions:e.providerOptions,providerOptionsName:r}),i=n==null?void 0:x.get(n.toolCallId);if(n!=null&&i!=null&&pr(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=hr({output:e.output,toolResultProviderOptions:e.providerOptions,providerOptionsName:r});return{output:await fr({output:e.output,toolName:e.toolName,outputSchemaToolNames:g,providerOptionsName:r,warnings:v}),promptCacheBreakpoint:t}})),t=e.map(({output:e})=>typeof e==`string`?e:JSON.stringify(e)),n=e.some(({promptCacheBreakpoint:e})=>e!=null);_.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 a=e.output;if(a.type===`execution-denied`&&a.providerOptions?.openai?.approvalId)continue;let o=t.toProviderToolName(e.toolName);if(e.toolName===m&&a.type===`json`){let t=await W({value:a.value,schema:_n});_.push({type:`tool_search_output`,execution:`client`,call_id:e.toolCallId,status:`completed`,tools:t.tools});continue}if(u&&o===`local_shell`&&a.type===`json`){let t=await W({value:a.value,schema:cn});_.push({type:`local_shell_call_output`,call_id:e.toolCallId,output:t.output});continue}if(d&&o===`shell`&&a.type===`json`){let t=await W({value:a.value,schema:dn});_.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(f&&e.toolName===`apply_patch`&&a.type===`json`){let t=await W({value:a.value,schema:Nt});_.push({type:`apply_patch_call_output`,call_id:e.toolCallId,status:t.status,output:t.output});continue}if(p&&o===`computer`&&a.type===`json`){let t=await W({value:a.value,schema:Ut});_.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(h?.has(o)){let t=hr({output:a,toolResultProviderOptions:e.providerOptions,providerOptionsName:r}),n=e=>t==null?e:[{type:`input_text`,text:e,prompt_cache_breakpoint:t}],i;switch(a.type){case`text`:case`error-text`:i=n(a.value);break;case`execution-denied`:i=n(a.reason??`Tool call execution denied.`);break;case`json`:case`error-json`:i=n(JSON.stringify(a.value));break;case`content`:i=a.value.map(e=>{let t=$(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=C(e.mediaType),i=e.providerOptions?.[r]?.imageDetail;if(e.data.type===`data`){let r=G({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}};v.push({type:`other`,message:`unsupported custom tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:v.push({type:`other`,message:`unsupported custom tool content part type: ${e.type}`});return}}).filter(b);break;default:i=``}_.push({type:`custom_tool_call_output`,call_id:e.toolCallId,output:i});continue}let S=await fr({output:a,toolName:e.toolName,outputSchemaToolNames:g,promptCacheBreakpoint:hr({output:a,toolResultProviderOptions:e.providerOptions,providerOptionsName:r}),providerOptionsName:r,warnings:v}),T=dr(e.providerOptions?.[r]?.caller);_.push({type:`function_call_output`,call_id:e.toolCallId,output:S,...T!=null&&{caller:T}})}break;default:throw Error(`Unsupported role: ${T}`)}return!s&&_.some(e=>`type`in e&&e.type===`reasoning`&&e.encrypted_content==null)&&(v.push({type:`other`,message:`Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts.`}),_=_.filter(e=>!(`type`in e)||e.type!==`reasoning`||e.encrypted_content!=null)),{input:_,warnings:v}}var vr=_({itemId:k().nullish(),reasoningEncryptedContent:k().nullish()}),yr=20,br=M(()=>K(_({conversation:k().nullish(),include:q(J([`reasoning.encrypted_content`,`file_search_call.results`,`web_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:k().nullish(),logprobs:u([g(),E().min(1).max(yr)]).optional(),maxToolCalls:E().nullish(),metadata:f().nullish(),parallelToolCalls:g().nullish(),previousResponseId:k().nullish(),promptCacheKey:k().nullish(),promptCacheOptions:_({mode:J([`implicit`,`explicit`]).optional(),ttl:V(`30m`).optional()}).optional(),promptCacheRetention:J([`in_memory`,`24h`]).nullish(),reasoningEffort:k().nullish(),reasoningEffortUpdate:J([`low`,`medium`,`high`,`xhigh`,`max`]).optional(),reasoningMode:J([`standard`,`pro`]).optional(),reasoningContext:J([`auto`,`current_turn`,`all_turns`]).optional(),reasoningSummary:k().nullish(),safetyIdentifier:k().nullish(),serviceTier:J([`auto`,`flex`,`priority`,`fast`,`ultrafast`,`default`]).nullish(),store:g().nullish(),passThroughUnsupportedFiles:g().optional(),strictJsonSchema:g().nullish(),textVerbosity:J([`low`,`medium`,`high`]).nullish(),truncation:J([`auto`,`disabled`]).nullish(),user:k().nullish(),systemMessageMode:J([`system`,`developer`,`remove`]).optional(),forceReasoning:g().optional(),contextManagement:q(_({type:V(`compaction`),compactThreshold:E()})).nullish(),compactionTrigger:g().optional(),allowedTools:_({toolNames:q(k()).min(1),mode:J([`auto`,`required`]).optional()}).optional()})));async function xr({tools:e,toolChoice:t,allowedTools:n,toolNameMapping:r,customProviderToolNames:i,outputSchemaToolNames:o}){e=e?.length?e:void 0;let s=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:s};let c=[],l=new Map,u=i??new Set,d=new Map,f=new Map,p=(e,t,n)=>{if(d.set(e,t),n==null||n===e)return;let r=f.get(n);r==null?f.set(n,t):r!==`ambiguous`&&!Cr(r,t)&&f.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=Tr({tool:t,options:e}),r=e?.namespace;if(r==null)c.push(n);else{let e=l.get(r.name);if(e==null)e={type:`namespace`,name:r.name,description:r.description,tools:[]},l.set(r.name,e),c.push(e);else if(e.description!==r.description)throw new a({functionality:`conflicting descriptions for OpenAI tool namespace "${r.name}"`});e.tools.push(n)}p(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=c.length;switch(t.id){case`openai.file_search`:{let e=await W({value:t.args,schema:Qt});c.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`:c.push({type:`local_shell`});break;case`openai.shell`:{let e=await W({value:t.args,schema:pn});c.push({type:`shell`,...e.environment&&{environment:Er(e.environment)}});break}case`openai.apply_patch`:c.push({type:`apply_patch`});break;case`openai.computer`:c.push({type:`computer`});break;case`openai.web_search_preview`:{let e=await W({value:t.args,schema:Tn});c.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=await W({value:t.args,schema:bn});c.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 W({value:t.args,schema:Lt});c.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 W({value:t.args,schema:tn});c.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 W({value:t.args,schema:An}),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)};c.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 W({value:t.args,schema:Kt});c.push({type:`custom`,name:t.name,description:e.description,format:e.format}),u.add(t.name);break}case`openai.programmatic_tool_calling`:c.push({type:`programmatic_tool_calling`});break;case`openai.tool_search`:{let e=await W({value:t.args,schema:hn});c.push({type:`tool_search`,...e.execution==null?{}:{execution:e.execution},...e.description==null?{}:{description:e.description},...e.parameters==null?{}:{parameters:e.parameters}});break}}if(c.length>e){let n=c[e];p(t.name,wr(n),r?.toProviderToolName(t.name))}break}default:s.push({type:`unsupported`,feature:`function tool ${t}`})}if(n!=null){let e=[],t=[];for(let i of n.toolNames){let n=d.get(i),a=n??f.get(i);if(n!=null&&f.has(i)&&s.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`){s.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){s.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){s.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:c,toolChoice:{type:`allowed_tools`,mode:n.mode??`auto`,tools:e},toolWarnings:s}}if(t==null)return{tools:c,toolChoice:void 0,toolWarnings:s};let m=t.type;switch(m){case`auto`:case`none`:case`required`:return{tools:c,toolChoice:m,toolWarnings:s};case`tool`:{let e=r?.toProviderToolName(t.toolName)??t.toolName;return{tools:c,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}:u.has(e)?{type:`custom`,name:e}:{type:`function`,name:e},toolWarnings:s}}default:throw new a({functionality:`tool choice type: ${m}`})}}function Sr(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 Cr(e,t){return e.supported&&t.supported?Sr(e.entry)===Sr(t.entry):!e.supported&&!t.supported&&e.reason===t.reason}function wr(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 Tr({tool:e,options:t}){let n=t?.deferLoading;return{type:`function`,name:e.name,description:e.description,parameters:e.inputSchema,...e.strict==null?{}:{strict:e.strict},...n==null?{}:{defer_loading:n},...t?.allowedCallers==null?{}:{allowed_callers:t.allowedCallers},...t?.outputSchema==null?{}:{output_schema:t.outputSchema}}}function Er(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:Dr(t.skills)}}return{type:`local`,skills:e.skills}}function Dr(e){return e?.map(e=>e.type===`skillReference`?{type:`skill_reference`,skill_id:xe({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 Or(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 kr(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 Ar({action:e,actions:t,pending_safety_checks:n,status:r}){return{actions:(t??(e==null?[]:[e])).map(kr),pendingSafetyChecks:n?.map(e=>({id:e.id,...e.code!=null&&{code:e.code},...e.message!=null&&{message:e.message}}))??[],status:r}}var jr=class t{constructor(e,t){this.specificationVersion=`v4`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[Y](e){return z({modelId:e.modelId,config:e.config})}static[X](e){return new t(e.modelId,zn(e.config))}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,reasoning:l,providerOptions:u,tools:d,toolChoice:f,responseFormat:p}){let m=[],h=je(this.modelId);i!=null&&m.push({type:`unsupported`,feature:`topK`}),s!=null&&m.push({type:`unsupported`,feature:`seed`}),a!=null&&m.push({type:`unsupported`,feature:`presencePenalty`}),o!=null&&m.push({type:`unsupported`,feature:`frequencyPenalty`}),n!=null&&m.push({type:`unsupported`,feature:`stopSequences`});let g=this.config.provider.includes(`azure`)?`azure`:`openai`,_=await P({provider:g,providerOptions:u,schema:br});_==null&&g!==`openai`&&(_=await P({provider:`openai`,providerOptions:u,schema:br}));let v=_?.reasoningEffort??(T(l)?l:void 0);v!=null&&h.supportedReasoningEfforts!=null&&!h.supportedReasoningEfforts.includes(v)&&(m.push({type:`unsupported`,feature:`reasoningEffort`,details:`${this.modelId} only supports the following reasoning efforts: ${h.supportedReasoningEfforts.join(`, `)}`}),v=void 0);let y=_?.reasoningSummary===void 0?v!=null&&v!==`none`?`detailed`:void 0:_.reasoningSummary,b=_?.forceReasoning??h.isReasoningModel;_?.conversation&&_?.previousResponseId&&m.push({type:`unsupported`,feature:`conversation`,details:`conversation and previousResponseId cannot be used together`});let x=Ee({tools:d,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`}}),S=new Set,C=new Set,{tools:w,toolChoice:E,toolWarnings:D}=await xr({tools:d,toolChoice:f,allowedTools:_?.allowedTools??void 0,toolNameMapping:x,customProviderToolNames:S,outputSchemaToolNames:C}),{input:O,warnings:k}=await _r({prompt:c,toolNameMapping:x,systemMessageMode:_?.systemMessageMode??(b?`developer`:h.systemMessageMode),providerOptionsName:g,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:_?.passThroughUnsupportedFiles??!1,store:_?.store??!0,hasConversation:_?.conversation!=null,hasPreviousResponseId:_?.previousResponseId!=null,hasLocalShellTool:I(`openai.local_shell`),hasShellTool:I(`openai.shell`),hasApplyPatchTool:I(`openai.apply_patch`),hasComputerTool:I(`openai.computer`),toolSearchToolName:F(`openai.tool_search`),customProviderToolNames:S.size>0?S:void 0,outputSchemaToolNames:C.size>0?C:void 0});m.push(...k);let A=_?.reasoningEffortUpdate,ee=A==null||h.supportsConfigurationUpdate&&_?.reasoningMode!==`pro`&&_?.contextManagement==null&&_?.truncation!==`auto`;A!=null&&!ee?m.push({type:`unsupported`,feature:`reasoningEffortUpdate`,details:h.supportsConfigurationUpdate?`reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation`:`reasoningEffortUpdate is only supported by GPT-6 and later models`}):A!=null&&O.unshift({type:`configuration_update`,reasoning:{effort:A}}),_?.compactionTrigger&&O.push({type:`compaction_trigger`});let j=_?.strictJsonSchema??!0,M=_?.include;function N(e){M==null?M=[e]:M.includes(e)||(M=[...M,e])}function F(e){return d?.find(t=>t.type===`provider`&&t.id===e)?.name}function I(e){return F(e)!=null}let L=typeof _?.logprobs==`number`?_?.logprobs:_?.logprobs===!0?yr:void 0;L&&N(`message.output_text.logprobs`);let te=d?.find(e=>e.type===`provider`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`))?.name;te&&N(`web_search_call.action.sources`),I(`openai.code_interpreter`)&&N(`code_interpreter_call.outputs`);let ne=_?.store;ne===!1&&b&&N(`reasoning.encrypted_content`);let R={model:this.modelId,input:O,temperature:t,top_p:r,max_output_tokens:e,...(p?.type===`json`||_?.textVerbosity)&&{text:{...p?.type===`json`&&{format:p.schema==null?{type:`json_object`}:{type:`json_schema`,strict:j,name:p.name??`response`,description:p.description,schema:p.schema}},..._?.textVerbosity&&{verbosity:_.textVerbosity}}},conversation:_?.conversation,max_tool_calls:_?.maxToolCalls,metadata:_?.metadata,parallel_tool_calls:_?.parallelToolCalls,previous_response_id:_?.previousResponseId,store:ne,user:_?.user,instructions:_?.instructions,service_tier:_?.serviceTier,include:M,prompt_cache_key:_?.promptCacheKey,prompt_cache_options:_?.promptCacheOptions,prompt_cache_retention:_?.promptCacheRetention,safety_identifier:_?.safetyIdentifier,top_logprobs:L,truncation:_?.truncation,..._?.contextManagement&&{context_management:_.contextManagement.map(e=>({type:e.type,compact_threshold:e.compactThreshold}))},...b&&(v!=null||y!=null||_?.reasoningMode!=null||_?.reasoningContext!=null)&&{reasoning:{...v!=null&&{effort:v},...y!=null&&{summary:y},..._?.reasoningMode!=null&&{mode:_.reasoningMode},..._?.reasoningContext!=null&&{context:_.reasoningContext}}}};if(h.supportsConfigurationUpdate&&R.prompt_cache_retention!=null&&(R.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`})),b){if(!(v===`none`&&h.supportsNonReasoningParameters)&&(R.temperature!=null&&(R.temperature=void 0,m.push({type:`unsupported`,feature:`temperature`,details:`temperature is not supported for reasoning models`})),R.top_p!=null&&(R.top_p=void 0,m.push({type:`unsupported`,feature:`topP`,details:`topP is not supported for reasoning models`})),h.supportedReasoningEfforts!=null&&(R.top_logprobs!=null||R.include?.includes(`message.output_text.logprobs`)))){R.top_logprobs=void 0;let e=R.include?.filter(e=>e!==`message.output_text.logprobs`);R.include=e!=null&&e.length>0?e:void 0,m.push({type:`unsupported`,feature:`logprobs`,details:`logprobs is not supported for reasoning models`})}}else _?.reasoningEffort!=null&&m.push({type:`unsupported`,feature:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),_?.reasoningSummary!=null&&m.push({type:`unsupported`,feature:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`}),_?.reasoningMode!=null&&m.push({type:`unsupported`,feature:`reasoningMode`,details:`reasoningMode is not supported for non-reasoning models`}),_?.reasoningContext!=null&&m.push({type:`unsupported`,feature:`reasoningContext`,details:`reasoningContext is not supported for non-reasoning models`});_?.serviceTier===`flex`&&!h.supportsFlexProcessing&&(m.push({type:`unsupported`,feature:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete R.service_tier),(_?.serviceTier===`priority`||_?.serviceTier===`fast`)&&!h.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`}),delete R.service_tier);let re=d?.find(e=>e.type===`provider`&&e.id===`openai.shell`)?.args?.environment?.type,ie=re===`containerAuto`||re===`containerReference`;return{webSearchToolName:te,args:{...R,tools:w,tool_choice:E},warnings:[...m,...D],store:ne,toolNameMapping:x,providerOptionsName:g,isShellProviderExecuted:ie}}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=Or(t.prompt),{responseHeaders:g,value:_,rawValue:v}=await D({url:m,headers:B((n=this.config).headers?.call(n),t.headers),body:c,failedResponseHandler:Z,successfulResponseHandler:L(ir),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)??H(),url:e.url,title:e.title}):e.type===`file_citation`?y.push({type:`source`,sourceType:`document`,id:(i=this.config).generateId?.call(i)??H(),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)??H(),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)??H(),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 lr({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.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}}});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:Qr(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)??H(),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(Ar(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`: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:Vn({finishReason:_.incomplete_details?.reason,hasFunctionCall:S}),raw:_.incomplete_details?.reason??void 0},usage:Bn(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 D({url:l,headers:B((t=this.config).headers?.call(t),e.headers),body:{...n,stream:!0},failedResponseHandler:Z,successfulResponseHandler:he(rr),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=await Fe({stream:d,getError:e=>Yr(e)||Rr(e)&&e.response.error!=null?e:void 0,isOutputChunk:Zr,isAcceptedChunk:Xr,url:l,requestBodyValues:n,responseHeaders:u}),p=this,m=Or(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={},O=({itemId:e,outputIndex:t})=>t==null?e:E[t]??e,k,A,ee=[],j=!1;return{stream:f.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(t,r){var d,f,D,M,N,P;if(e.includeRawChunks&&r.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){let e=Nr(t.rawValue)?Pr({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=cr({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},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},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":"${$r(e)}","operation":{"type":"${$r(t.type)}","path":"${$r(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(Ir(F)){if(F.item.type===`message`){let e=O({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??cr({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.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 lr({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`){x[F.output_index]=void 0,w=!0;let e=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:e,input:JSON.stringify(F.item.input),providerMetadata:{[s]:{itemId:F.item.id}}})}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:Qr(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(Ar(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?ee.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??ee.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:$r(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`&&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)??H(),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=O({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(Br(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(Vr(F)){let e=x[F.output_index];e!=null&&r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:F.delta})}else if(Gr(F)){let e=x[F.output_index];e?.applyPatch&&(r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$r(F.delta)}),e.applyPatch.hasDiff=!0)}else if(Kr(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:$r(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(Hr(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(Ur(F)){let e=x[F.output_index];e!=null&&r.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:$r(F.delta)})}else if(Wr(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(zr(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(Mr(F)){let t=O({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=O({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=O({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=O({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(Lr(F))j||(_={unified:Vn({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`&&(k=F.response.service_tier),F.response.reasoning?.context!=null&&(A=F.response.reasoning.context);else if(Rr(F)){let e=F.response.incomplete_details?.reason;if(_={unified:e?Vn({finishReason:e,hasFunctionCall:w}):`error`,raw:e??`error`},v=F.response.usage??void 0,F.response.reasoning?.context!=null&&(A=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:Pe(e)??e})}}else Jr(F)?(S.push(F.annotation),F.annotation.type===`url_citation`?r.enqueue({type:`source`,sourceType:`url`,id:(D=p.config).generateId?.call(D)??H(),url:F.annotation.url,title:F.annotation.title}):F.annotation.type===`file_citation`?r.enqueue({type:`source`,sourceType:`document`,id:(M=p.config).generateId?.call(M)??H(),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:(N=p.config).generateId?.call(N)??H(),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)??H(),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}}})):Yr(F)&&(j=!0,_={unified:`error`,raw:`error`},r.enqueue({type:`error`,error:Pe(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}:{},...k===void 0?{}:{serviceTier:k},...A===void 0?{}:{reasoningContext:A}}};e.enqueue({type:`finish`,finishReason:_,usage:Bn(v),providerMetadata:t})}})),request:{body:n},response:{headers:u}}}};function Mr(e){return e.type===`response.output_text.delta`}function Nr(e){let t=Fr(e);return t!=null&&Array.isArray(t.choices)&&typeof t.type!=`string`}function Pr({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 Fr(e){return typeof e==`object`&&e?e:void 0}function Ir(e){return e.type===`response.output_item.done`}function Lr(e){return e.type===`response.completed`||e.type===`response.incomplete`}function Rr(e){return e.type===`response.failed`}function zr(e){return e.type===`response.created`}function Br(e){return e.type===`response.function_call_arguments.delta`}function Vr(e){return e.type===`response.custom_tool_call_input.delta`}function Hr(e){return e.type===`response.image_generation_call.partial_image`}function Ur(e){return e.type===`response.code_interpreter_call_code.delta`}function Wr(e){return e.type===`response.code_interpreter_call_code.done`}function Gr(e){return e.type===`response.apply_patch_call_operation_diff.delta`}function Kr(e){return e.type===`response.apply_patch_call_operation_diff.done`}function qr(e){return e.type===`response.output_item.added`}function Jr(e){return e.type===`response.output_text.annotation.added`}function Yr(e){return e.type===`error`}function Xr(e){return e.type===`response.in_progress`}function Zr(e){return e.type!==`response.created`&&e.type!==`response.in_progress`&&e.type!==`response.failed`&&e.type!==`error`&&e.type!==`unknown_chunk`}function Qr(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 $r(e){return JSON.stringify(e).slice(1,-1)}var ei=`/v1/responses`,ti=172800,ni=M(()=>K(_({inputFileExpiresAfter:E().int().min(3600).max(2592e3).optional()}))),ri=M(()=>K(_({id:k(),status:k(),output_file_id:k().nullish(),error_file_id:k().nullish(),created_at:E().nullish(),expires_at:E().nullish(),request_counts:_({total:E().nullish(),completed:E().nullish(),failed:E().nullish()}).nullish(),errors:_({data:q(_({code:k().nullish(),message:k().nullish()})).nullish()}).nullish()}))),ii=M(()=>K(_({custom_id:k(),response:_({status_code:E(),request_id:k().nullish(),body:N()}).nullish(),error:_({code:k(),message:k()}).nullish()}))),ai=class{constructor(e){this.options=e}async startBatch(e){var t,n;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??ti;for(let t of e.requests){let e=await this.options.prepareRequest(t);r.push(JSON.stringify({custom_id:t.id,method:`POST`,url:ei,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`&&!oi.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:B((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:Z,successfulResponseHandler:L(gt),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{value:u}=await D({url:this.getUrl(`/batches`),headers:B((n=this.options.config).headers?.call(n),e.headers),body:{input_file_id:l.id,endpoint:ei,completion_window:`24h`},failedResponseHandler:Z,successfulResponseHandler:L(ri),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),d=di(l.expires_at);return{batchId:u.id,...ci(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 P({provider:t,providerOptions:e,schema:ni});return n==null&&t!==`openai`&&(n=await P({provider:`openai`,providerOptions:e,schema:ni})),n}async getBatchStatus(e){return ci(await this.retrieveBatch(e))}async getBatchResults(e){let n=await this.retrieveBatch(e),i=ci(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 _e(o)}async retrieveBatch(e){var t;let{value:n}=await c({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}`),headers:B((t=this.options.config).headers?.call(t),e.headers),failedResponseHandler:Z,successfulResponseHandler:L(ri),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 c({url:this.getUrl(`/files/${encodeURIComponent(r)}/content`),headers:B((n=this.options.config).headers?.call(n),t.headers),failedResponseHandler:Z,successfulResponseHandler:ue(ii),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`?{id:e.custom_id,status:`cancelled`,error:t}:e.error.code===`batch_expired`?{id:e.custom_id,status:`expired`,error:t}:{id:e.custom_id,status:`failed`,error:t}}if(e.response==null)return{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{id:e.custom_id,status:`failed`,error:await fi({body:e.response.body,statusCode:e.response.status_code})};let t=await pi(e.response.body);return t.success?{id:e.custom_id,status:`succeeded`,result:t.result}:{id:e.custom_id,status:`failed`,error:t.error}}getUrl(e){return this.options.config.url({modelId:this.options.modelId,path:e})}},oi=new Set([`openai.code_interpreter`,`openai.custom`,`openai.file_search`,`openai.web_search`,`openai.web_search_preview`]),si=class e extends jr{static[Y](e){return jr[Y](e)}static[X](t){return new e(t.modelId,zn(t.config))}constructor(e,t){super(e,t),this.batch=new ai({modelId:e,config:t,prepareRequest:async e=>{let{args:t,warnings:n}=await this.getArgs(e.options);return{body:t,warnings:n}}})}experimental_doStartBatch(e){return this.batch.startBatch(e)}experimental_doGetBatchStatus(e){return this.batch.getBatchStatus(e)}experimental_doGetBatchResults(e){return this.batch.getBatchResults(e)}};function ci(e){let t=li(e.status),n=e.errors?.data?.[0],r=ui(e.request_counts),i=di(e.created_at),a=di(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 li(e){switch(e){case`completed`:return`completed`;case`failed`:case`expired`:case`cancelled`:return`failed`;default:return`pending`}}function ui(e){let t=e?.total,n=e?.completed,r=e?.failed;return be({total:t,pending:t!=null&&n!=null&&r!=null?t-n-r:void 0,completed:n,failed:r})}function di(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 fi({body:e,statusCode:t}){let n=await ve({value:e,schema:Ae});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 pi(e){let t=await ve({value:e,schema:ir});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:Qr(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:Vn({finishReason:n.incomplete_details?.reason,hasFunctionCall:a}),raw:n.incomplete_details?.reason??void 0},usage:Bn(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:[]}}}function mi(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,raw:e};default:return{type:`custom`,rawType:n,raw:e}}}function hi(e,t){switch(e.type){case`session-update`:return{type:`session.update`,session:gi(e.config,t)};case`input-audio-append`:return{type:`input_audio_buffer.append`,audio:e.audio};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 gi(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 _i=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}:gi(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 mi(e)}serializeClientEvent(e){return hi(e,this.modelId)}buildSessionConfig(e){return gi(e,this.modelId)}},vi=M(()=>K(_({instructions:k().nullish(),speed:E().min(.25).max(4).default(1).nullish()}))),yi=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[Y](e){return z({modelId:e.modelId,config:e.config})}static[X](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 P({provider:`openai`,providerOptions:o,schema:vi}),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 D({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:B((n=this.config).headers?.call(n),e.headers),body:i,failedResponseHandler:Z,successfulResponseHandler:ce(),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}}}},bi=M(()=>K(_({text:k(),language:k().nullish(),duration:E().nullish(),words:q(_({word:k(),start:E(),end:E()})).nullish(),segments:q(u([_({id:E(),seek:E(),start:E(),end:E(),text:k(),tokens:q(E()),temperature:E(),avg_logprob:E(),compression_ratio:E(),no_speech_prob:E()}),_({type:V(`transcript.text.segment`),id:k(),start:E(),end:E(),text:k(),speaker:k()})])).nullish()}))),xi=M(()=>K(_({include:q(k()).optional(),language:k().optional(),prompt:k().optional(),temperature:E().min(0).max(1).default(0).optional(),timestampGranularities:q(J([`word`,`segment`])).default([`segment`]).optional(),responseFormat:J([`json`,`verbose_json`,`diarized_json`]).optional(),chunkingStrategy:u([V(`auto`),_({type:V(`server_vad`),threshold:E().min(0).max(1).optional(),prefixPaddingMs:E().int().min(0).optional(),silenceDurationMs:E().int().min(0).optional()})]).optional(),streaming:_({delay:J([`minimal`,`low`,`medium`,`high`,`xhigh`]).optional(),include:q(k()).optional()}).optional()})));function Si(e){return e===`gpt-realtime-whisper`||e.startsWith(`gpt-realtime-whisper-`)}var Ci={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`},wi=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[Y](e){return z({modelId:e.modelId,config:e.config})}static[X](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 P({provider:`openai`,providerOptions:n,schema:xi}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([Se(e)]);a.append(`model`,this.modelId);let s=x(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(Si(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 I({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:B((n=this.config).headers?.call(n),e.headers),formData:i,failedResponseHandler:Z,successfulResponseHandler:L(bi),abortSignal:e.abortSignal,fetch:this.config.fetch}),u=s.language!=null&&s.language in Ci?Ci[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(!Si(this.modelId))throw new a({functionality:`streaming transcription with ${this.modelId}`});let r=((t=this.config._internal)?.currentDate)?.call(t)??new Date,i=await P({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=B((n=this.config).headers?.call(n),e.headers),l=Ei({modelId:this.modelId,inputAudioFormat:e.inputAudioFormat,providerOptions:i});return{request:{body:l},response:{timestamp:r,modelId:this.modelId},stream:Ti({webSocket:this.config.webSocket,url:me(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 Ti({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=Di(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 pe(e)}}finally{p.releaseLock(),p=void 0}l||e.send(JSON.stringify({type:`input_audio_buffer.commit`}))};m=ne({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 R({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 Ei({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 Di(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 Oi=M(()=>K(_({}))),ki=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v4`}static[Y](e){return z({modelId:e.modelId,config:e.config})}static[X](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 P({provider:`openai`,providerOptions:e.providerOptions,schema:Oi});let a=[];Mi(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=B((r=this.config).headers?.call(r),e.headers),s=ji({targetLanguage:e.targetLanguage});return{request:{body:s},response:{timestamp:i,modelId:this.modelId},stream:Ai({webSocket:this.config.webSocket,url:me(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 Ai({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=Ni(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 pe(e)}}finally{f.releaseLock(),f=void 0}c||e.send(JSON.stringify({type:`session.close`}))};p=ne({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 R({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 ji({targetLanguage:e}){return{type:`session.update`,session:{audio:{input:{transcription:{model:`gpt-realtime-whisper`},noise_reduction:null},output:{language:e}}}}}function Mi(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 Ni(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 Pi=M(()=>K(_({id:k(),name:k().nullish(),description:k().nullish(),default_version:k().nullish(),latest_version:k().nullish(),created_at:E(),updated_at:E().nullish()})));M(()=>K(_({id:k(),version:k().nullish(),name:k().nullish(),description:k().nullish()})));var Fi=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=ae(t.data);n.append(`files[]`,new Blob([e]),t.path)}let{value:r}=await I({url:this.config.url({path:`/skills`}),headers:B(this.config.headers()),formData:n,failedResponseHandler:Z,successfulResponseHandler:L(Pi),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}}},Ii=`4.0.60`;function Li(e={}){let t=te(le(j({settingValue:e.baseURL,environmentVariableName:`OPENAI_BASE_URL`})))??`https://api.openai.com/v1`,n=e.name??`openai`,r=()=>de({Authorization:`Bearer ${v({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${Ii}`),i=i=>new nt(i,{provider:`${n}.chat`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),a=i=>new ut(i,{provider:`${n}.completion`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),o=i=>new ht(i,{provider:`${n}.embedding`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),s=i=>new kt(i,{provider:`${n}.image`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),c=i=>new wi(i,{provider:`${n}.transcription`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,webSocket:e.webSocket}),l=i=>new ki(i,{provider:`${n}.speech-translation`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,webSocket:e.webSocket}),u=i=>new yi(i,{provider:`${n}.speech`,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch}),d=()=>new bt({provider:`${n}.files`,baseURL:t,headers:r,fetch:e.fetch}),f=()=>new Fi({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 si(i,{provider:`${n}.responses`,baseURL:t,url:({path:e})=>`${t}${e}`,headers:r,fetch:e.fetch,fileIdPrefixes:[`file-`]}),h=i=>new _i(i,{provider:`${n}.realtime`,baseURL:t,headers:r,fetch:e.fetch}),g=Object.assign(e=>h(e),{getToken:async e=>{let t=await h(e.model).doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:t.token,url:t.url,expiresAt:t.expiresAt}}}),_=function(e){return p(e)};return _.specificationVersion=`v4`,_.languageModel=p,_.chat=i,_.completion=a,_.responses=m,_.embedding=o,_.embeddingModel=o,_.textEmbedding=o,_.textEmbeddingModel=o,_.image=s,_.imageModel=s,_.transcription=c,_.transcriptionModel=c,_.translation=l,_.speechTranslationModel=l,_.speech=u,_.speechModel=u,_.files=d,_.skills=f,_.experimental_realtime=g,_.tools=Rn,_}var Ri=Li();export{_i as Experimental_OpenAIRealtimeModel,ki as Experimental_OpenAISpeechTranslationModel,ki as Experimental_OpenAITranslationModel,Ii as VERSION,Li as createOpenAI,Ri as openai};