murmur-rag 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +27 -23
  2. package/dist/cdn/anthropic-ynz7717b.js +2 -0
  3. package/dist/cdn/chunk-hpx6rpea.js +1 -0
  4. package/dist/cdn/{embed-59r4jck6.js → embed-0m8xctqy.js} +3 -3
  5. package/dist/cdn/{embed-pnm9593k.js → embed-7pk91zq8.js} +2 -2
  6. package/dist/cdn/embed-dbkjhg16.js +83 -0
  7. package/dist/cdn/{embed-q6y6vgv1.js → embed-krrjjyf5.js} +4 -4
  8. package/dist/cdn/embed-n5nzhrf2.js +9 -0
  9. package/dist/cdn/{embed-hn0r8fmg.js → embed-rp9gb1qq.js} +2 -2
  10. package/dist/cdn/embed-xtkxyrpe.js +44 -0
  11. package/dist/cdn/google-k5kwa54v.js +14 -0
  12. package/dist/cdn/index-db4ne93m.js +1 -0
  13. package/dist/cdn/index-gyd02jvt.js +9 -0
  14. package/dist/cdn/index-qc8kgsdt.js +1 -0
  15. package/dist/cdn/index-t0qn2m4r.js +1 -0
  16. package/dist/cdn/index-y0faj89r.js +1 -0
  17. package/dist/cdn/mistral-p2qcnn42.js +3 -0
  18. package/dist/cdn/murmur-d6t6cjc7.js +5 -0
  19. package/dist/cdn/murmur.js +24 -5
  20. package/dist/cdn/openai-compatible-psnkrpxy.js +11 -0
  21. package/dist/cdn/openai-d3q1d6cz.js +18 -0
  22. package/dist/cdn/retriever-6qvn2maq.js +1 -0
  23. package/dist/cdn/transformers.web-xn16v7pz.js +46 -0
  24. package/dist/cli.js +2 -0
  25. package/dist/lib/chunks/{index-ynjdey8j.js → index-8h9c8ekq.js} +4 -2
  26. package/dist/lib/chunks/{index-6re28wc1.js → index-b77xqap3.js} +13 -1
  27. package/dist/lib/chunks/{index-10g918kt.js → index-p86sy3y4.js} +1 -1
  28. package/dist/lib/chunks/{index-4at214g0.js → index-y3v46yjp.js} +314 -27
  29. package/dist/lib/chunks/{murmur-c1c79eh8.js → murmur-t36hd4vt.js} +2 -2
  30. package/dist/lib/chunks/{retriever-h8nz6jsc.js → retriever-wxshtnm0.js} +1 -1
  31. package/dist/lib/embed.js +4 -2
  32. package/dist/lib/index.js +5 -3
  33. package/dist/lib/indexer/index.js +2 -0
  34. package/dist/lib/local/index.js +163 -0
  35. package/dist/lib/rag/index.js +13 -11
  36. package/dist/lib/widget/index.js +2 -2
  37. package/dist/types/local/index.d.ts +56 -0
  38. package/dist/types/rag/ground.d.ts +7 -0
  39. package/dist/types/rag/index.d.ts +1 -1
  40. package/dist/types/widget/element.d.ts +3 -0
  41. package/dist/types/widget/i18n.d.ts +14 -0
  42. package/dist/types/widget/session.d.ts +32 -1
  43. package/dist/types/widget/styles.d.ts +1 -1
  44. package/package.json +17 -3
  45. package/dist/cdn/anthropic-w7nkjk5e.js +0 -2
  46. package/dist/cdn/chunk-e0j28zmb.js +0 -1
  47. package/dist/cdn/embed-2xm309sb.js +0 -7
  48. package/dist/cdn/embed-n7jskdxd.js +0 -44
  49. package/dist/cdn/embed-sgjh2kg2.js +0 -83
  50. package/dist/cdn/google-qha5xyx4.js +0 -14
  51. package/dist/cdn/index-11c9cspb.js +0 -1
  52. package/dist/cdn/index-e5entetm.js +0 -1
  53. package/dist/cdn/index-hv290nbv.js +0 -9
  54. package/dist/cdn/index-kk9hgxdc.js +0 -1
  55. package/dist/cdn/mistral-16bekg8b.js +0 -3
  56. package/dist/cdn/murmur-bnm335nb.js +0 -5
  57. package/dist/cdn/openai-compatible-za7hc1fv.js +0 -11
  58. package/dist/cdn/openai-dhy4fp4c.js +0 -18
  59. package/dist/cdn/retriever-m8peqj5t.js +0 -1
@@ -1,11 +0,0 @@
1
- import{oe}from"./embed-hn0r8fmg.js";import{ye,A,me,u,e,r,c,ae,o,t,B,l,y,a,n,S,I,d,q,T,rt,ee,te,L,z,Te,C,P,H,i,s,h,g,ne,O,V,E,D,p,ut,rn,M,Ce,Y}from"./embed-sgjh2kg2.js";function ce(m){return m.replace(/[_-]([a-z])/g,(f)=>f[1].toUpperCase())}function Ne(m,f){let b=ce(m);if(b!==m&&f?.[b]!=null)return b;return m}function be({rawName:m,providerOptions:f,warnings:b}){let _=ce(m);if(_!==m&&f?.[m]!=null)b.push({type:"deprecated",setting:`providerOptions key '${m}'`,message:`Use '${_}' instead.`})}var ge={errorSchema:t({error:t({message:e(),type:e().nullish(),param:ae().nullish(),code:l([e(),r()]).nullish()})}),errorToMessage:(m)=>m.error.message};function $e(m){if(m==null)return te();let f=m.prompt_tokens??0,b=m.completion_tokens??0,_=m.prompt_tokens_details?.cached_tokens??0,w=m.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:f,noCache:f-_,cacheRead:_,cacheWrite:void 0},outputTokens:{total:b,text:Math.max(0,b-w),reasoning:w},raw:m}}function he(m){return m?.providerOptions?.openaiCompatible??{}}function Le(m){switch(m){case"audio/wav":return"wav";case"audio/mp3":case"audio/mpeg":return"mp3";default:return null}}function Ae(m,f){let b=he(m);switch(m.type){case"text":return{type:"text",text:m.text,...b};case"file":switch(m.data.type){case"reference":return{type:"file",file:{file_id:V({reference:m.data.reference,provider:f})},...b};case"text":throw new u({functionality:"text file parts"});case"url":case"data":{let _=z(m.mediaType);if(_==="image")return{type:"image_url",image_url:{url:m.data.type==="url"?m.data.url.toString():`data:${O({part:m})};base64,${T(m.data.data)}`},...b};if(_==="video")return{type:"video_url",video_url:{url:m.data.type==="url"?m.data.url.toString():`data:${O({part:m})};base64,${T(m.data.data)}`},...b};if(_==="audio"){if(m.data.type==="url")throw new u({functionality:"audio file parts with URLs"});let w=O({part:m}),R=Le(w);if(R===null)throw new u({functionality:`audio media type ${w}`});return{type:"input_audio",input_audio:{data:T(m.data.data),format:R},...b}}if(_==="application"){if(m.data.type==="url")throw new u({functionality:"PDF file parts with URLs"});let w=O({part:m});if(w!=="application/pdf")throw new u({functionality:`file part media type ${w}`});return{type:"file",file:{filename:m.filename??"document.pdf",file_data:`data:application/pdf;base64,${T(m.data.data)}`},...b}}if(_==="text")return{type:"text",text:m.data.type==="url"?m.data.url.toString():typeof m.data.data==="string"?new TextDecoder().decode(q(m.data.data)):new TextDecoder().decode(m.data.data),...b};throw new u({functionality:`file part media type ${m.mediaType}`})}}}}function Be(m,f){if(m.type==="custom")throw new u({functionality:"custom tool content parts"});return Ae(m,f)}function Ke(m,{provider:f="openaiCompatible",providerOptionsKey:b="google",supportsMultiPartToolContent:_=!1}={}){let w=[];for(let{role:R,content:U,...N}of m){let J=he({...N});switch(R){case"system":w.push({role:"system",content:U,...J});break;case"user":if(U.length===1&&U[0].type==="text"){w.push({role:"user",content:U[0].text,...he(U[0])});break}w.push({role:"user",content:U.map((j)=>Ae(j,f)),...J});break;case"assistant":{let j="",x="",v=[];for(let k of U){let Z=he(k);switch(k.type){case"text":j+=k.text;break;case"reasoning":x+=k.text;break;case"tool-call":{let W=k.providerOptions?.[b]?.thoughtSignature??k.providerOptions?.google?.thoughtSignature;v.push({id:k.toolCallId,type:"function",function:{name:k.toolName,arguments:JSON.stringify(k.input)},...Z,...W?{extra_content:{google:{thought_signature:String(W)}}}:{}});break}}}w.push({role:"assistant",content:v.length>0?j||null:j,...x.length>0?{reasoning_content:x}:{},tool_calls:v.length>0?v:void 0,...J});break}case"tool":for(let j of U){if(j.type==="tool-approval-response")continue;let x=j.output,v;switch(x.type){case"text":case"error-text":v=x.value;break;case"execution-denied":v=x.reason??"Tool call execution denied.";break;case"json":case"error-json":v=JSON.stringify(x.value);break;case"content":v=_?x.value.map((Z)=>Be(Z,f)):JSON.stringify(x.value)}let k=he(j);w.push({role:"tool",tool_call_id:j.toolCallId,content:v,...k})}break;default:throw Error(`Unsupported role: ${R}`)}}return w}function we({id:m,model:f,created:b}){return ee({id:m,model:f,created:b||void 0})}function xe(m){switch(m){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 pe=t({user:e().optional(),reasoningEffort:e().optional(),textVerbosity:e().optional(),strictJsonSchema:c().optional()});function Ve({tools:m,toolChoice:f}){m=m?.length?m:void 0;let b=[];if(m==null)return{tools:void 0,toolChoice:void 0,toolWarnings:b};let _=[];for(let R of m)if(R.type==="provider")b.push({type:"unsupported",feature:`provider-defined tool ${R.id}`});else _.push({type:"function",function:{name:R.name,description:R.description,parameters:R.inputSchema,...R.strict!=null?{strict:R.strict}:{}}});if(f==null)return{tools:_,toolChoice:void 0,toolWarnings:b};let w=f.type;switch(w){case"auto":case"none":case"required":return{tools:_,toolChoice:w,toolWarnings:b};case"tool":return{tools:_,toolChoice:{type:"function",function:{name:f.toolName}},toolWarnings:b};default:throw new u({functionality:`tool choice type: ${w}`})}}var Je=class m{static[S](f){return M({modelId:f.modelId,config:f.config})}static[I](f){return new m(f.modelId,f.config)}constructor(f,b){this.specificationVersion="v4",this.modelId=f,this.config=b;let _=b.errorStructure??ge;this.chunkSchema=We(_.errorSchema),this.failedResponseHandler=E(_),this.supportsStructuredOutputs=b.supportsStructuredOutputs??!1}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}transformRequestBody(f,b){return this.config.transformRequestBody?.(f,b)??f}convertUsage(f){return this.config.convertUsage?.(f)??$e(f)}async getArgs({prompt:f,maxOutputTokens:b,temperature:_,topP:w,topK:R,frequencyPenalty:U,presencePenalty:N,reasoning:J,providerOptions:j,stopSequences:x,responseFormat:v,seed:k,toolChoice:Z,tools:W}){let G=[],se=await h({provider:"openai-compatible",providerOptions:j,schema:pe});if(se!=null)G.push({type:"deprecated",setting:"providerOptions key 'openai-compatible'",message:"Use 'openaiCompatible' instead."});be({rawName:this.providerOptionsName,providerOptions:j,warnings:G});let X=Object.assign(se??{},await h({provider:"openaiCompatible",providerOptions:j,schema:pe})??{},await h({provider:this.providerOptionsName,providerOptions:j,schema:pe})??{},await h({provider:ce(this.providerOptionsName),providerOptions:j,schema:pe})??{}),ie=X?.strictJsonSchema??!0;if(R!=null)G.push({type:"unsupported",feature:"topK"});if(v?.type==="json"&&v.schema!=null&&!this.supportsStructuredOutputs)G.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:de,toolChoice:K,toolWarnings:F}=Ve({tools:W,toolChoice:Z}),Q=Ne(this.providerOptionsName,j);return{metadataKey:Q,args:{model:this.modelId,user:X.user,max_tokens:b,temperature:_,top_p:w,frequency_penalty:U,presence_penalty:N,response_format:v?.type==="json"?this.supportsStructuredOutputs===!0&&v.schema!=null?{type:"json_schema",json_schema:{schema:v.schema,strict:ie,name:v.name??"response",description:v.description}}:{type:"json_object"}:void 0,stop:x,seed:k,...Object.fromEntries(Object.entries({...j?.[this.providerOptionsName],...j?.[ce(this.providerOptionsName)]}).filter(([re])=>!Object.keys(pe.shape).includes(re))),reasoning_effort:X.reasoningEffort??(H(J)?J:void 0),verbosity:X.textVerbosity,messages:Ke(f,{provider:this.providerOptionsName,providerOptionsKey:Q,supportsMultiPartToolContent:this.config.supportsMultiPartToolContent}),tools:de,tool_choice:K},warnings:[...G,...F]}}async doGenerate(f){let{args:b,warnings:_,metadataKey:w}=await this.getArgs({...f}),R=this.transformRequestBody(b,_),U=JSON.stringify(R),{responseHeaders:N,value:J,rawValue:j}=await g({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:d(this.config.headers?.(),f.headers),body:R,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:p(De),abortSignal:f.abortSignal,fetch:this.config.fetch}),x=J.choices[0];if(x==null)throw new A({data:j,message:"Response did not contain any choices."});let v=[],k=x.message.reasoning_content??x.message.reasoning;if(k!=null&&k.length>0)v.push({type:"reasoning",text:k});if(v.push(...Ie(x.message.content)),x.message.tool_calls!=null)for(let G of x.message.tool_calls){let se=G.extra_content?.google?.thought_signature;v.push({type:"tool-call",toolCallId:G.id||C(),toolName:G.function.name,input:G.function.arguments,...se?{providerMetadata:{[w]:{thoughtSignature:se}}}:{}})}let Z={[w]:{},...await this.config.metadataExtractor?.extractMetadata?.({parsedBody:j})},W=J.usage?.completion_tokens_details;if(W?.accepted_prediction_tokens!=null)Z[w].acceptedPredictionTokens=W?.accepted_prediction_tokens;if(W?.rejected_prediction_tokens!=null)Z[w].rejectedPredictionTokens=W?.rejected_prediction_tokens;return{content:v,finishReason:{unified:xe(x.finish_reason),raw:x.finish_reason??void 0},usage:this.convertUsage(J.usage),providerMetadata:Z,request:{body:U},response:{...we(J),headers:N,body:j},warnings:_}}async doStream(f){let{args:b,warnings:_,metadataKey:w}=await this.getArgs({...f}),R=this.transformRequestBody({...b,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},_),U=this.config.metadataExtractor?.createStreamExtractor(),{responseHeaders:N,value:J}=await g({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:d(this.config.headers?.(),f.headers),body:R,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:D(this.chunkSchema),abortSignal:f.abortSignal,fetch:this.config.fetch}),j=w,x,v=new Map,k=new Set,Z=(K)=>{let F=K.index;if(F==null||k.has(F)){x.processDelta(K);return}let Q=v.get(F);if(Q==null)Q={id:K.id??null,bufferedArguments:"",extraContent:K.extra_content??null},v.set(F,Q);else{if(Q.id==null&&K.id!=null)Q.id=K.id;if(Q.extraContent==null&&K.extra_content!=null)Q.extraContent=K.extra_content}let re=K.function?.arguments;if(re!=null)Q.bufferedArguments+=re;let ue=K.function?.name;if(ue!=null){let fe={index:F,id:Q.id,function:{name:ue,arguments:Q.bufferedArguments},extra_content:Q.extraContent??void 0};x.processDelta(fe),v.delete(F),k.add(F)}},W,G=void 0,se=!1,X=!1,ie=!1,de=(K)=>this.convertUsage(K);return{stream:J.pipeThrough(new TransformStream({start(K){x=new Ce(K,{generateId:C,extractMetadata:(F)=>{let Q=F.extra_content?.google?.thought_signature;return Q?{[j]:{thoughtSignature:Q}}:void 0},buildToolCallProviderMetadata:(F)=>F}),K.enqueue({type:"stream-start",warnings:_})},transform(K,F){if(f.includeRawChunks)F.enqueue({type:"raw",rawValue:K.rawValue});if(!K.success){W={unified:"error",raw:void 0},F.enqueue({type:"error",error:K.error});return}if(U?.processChunk(K.rawValue),"error"in K.value){W={unified:"error",raw:void 0},F.enqueue({type:"error",error:K.value.error});return}let Q=K.value;if(!se){let le=we(Q);if(Object.values(le).some(Boolean))se=!0,F.enqueue({type:"response-metadata",...le})}if(Q.usage!=null)G=Q.usage;let re=Q.choices[0];if(re?.finish_reason!=null)W={unified:xe(re.finish_reason),raw:re.finish_reason??void 0};if(re?.delta==null)return;let ue=re.delta,fe=(le)=>{if(ie)F.enqueue({type:"text-end",id:"txt-0"}),ie=!1;if(!X)F.enqueue({type:"reasoning-start",id:"reasoning-0"}),X=!0;F.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:le})},Pe=(le)=>{if(X)F.enqueue({type:"reasoning-end",id:"reasoning-0"}),X=!1;if(!ie)F.enqueue({type:"text-start",id:"txt-0"}),ie=!0;F.enqueue({type:"text-delta",id:"txt-0",delta:le})},ve=ue.reasoning_content??ue.reasoning;if(ve)fe(ve);for(let le of Ie(ue.content))if(le.type==="reasoning")fe(le.text);else Pe(le.text);if(ue.tool_calls!=null&&ue.tool_calls.length>0){if(X)F.enqueue({type:"reasoning-end",id:"reasoning-0"}),X=!1;for(let le of ue.tool_calls)Z(le)}},flush(K){if(X)K.enqueue({type:"reasoning-end",id:"reasoning-0"});if(ie)K.enqueue({type:"text-end",id:"txt-0"});for(let[Q,re]of v)x.processDelta({index:Q,id:re.id,function:{arguments:re.bufferedArguments}});if(v.clear(),x.flush(),W==null)W={unified:"error",raw:void 0},K.enqueue({type:"error",error:new A({data:void 0,message:"Response stream ended without a finish reason."})});let F={[j]:{},...U?.buildMetadata()};if(G?.completion_tokens_details?.accepted_prediction_tokens!=null)F[j].acceptedPredictionTokens=G?.completion_tokens_details?.accepted_prediction_tokens;if(G?.completion_tokens_details?.rejected_prediction_tokens!=null)F[j].rejectedPredictionTokens=G?.completion_tokens_details?.rejected_prediction_tokens;K.enqueue({type:"finish",finishReason:W,usage:de(G),providerMetadata:F})}})),request:{body:R},response:{headers:N}}}},Ue=()=>B({prompt_tokens:r().nullish(),completion_tokens:r().nullish(),total_tokens:r().nullish(),prompt_tokens_details:B({cached_tokens:r().nullish()}).nullish(),completion_tokens_details:B({reasoning_tokens:r().nullish(),accepted_prediction_tokens:r().nullish(),rejected_prediction_tokens:r().nullish()}).nullish()}).nullish(),qe=()=>l([e(),o(B({type:e()}))]).nullish();function Ie(m){if(m==null)return[];if(typeof m==="string")return m.length>0?[{type:"text",text:m}]:[];let f=[];for(let b of m)if(b.type==="text"&&typeof b.text==="string"){if(b.text.length>0)f.push({type:"text",text:b.text})}else if(b.type==="thinking"&&Array.isArray(b.thinking)){let _=b.thinking.filter((w)=>w!=null&&typeof w==="object"&&("type"in w)&&w.type==="text"&&("text"in w)&&typeof w.text==="string").map((w)=>w.text).join("");if(_.length>0)f.push({type:"reasoning",text:_})}return f}var De=i(()=>s(B({id:e().nullish(),created:r().nullish(),model:e().nullish(),choices:o(t({message:t({role:n("assistant").nullish(),content:qe(),reasoning_content:e().nullish(),reasoning:e().nullish(),tool_calls:o(t({id:e().nullish(),function:t({name:e(),arguments:e()}),extra_content:t({google:t({thought_signature:e().nullish()}).nullish()}).nullish()})).nullish()}),finish_reason:e().nullish()})),usage:Ue()}))),Fe=()=>B({id:e().nullish(),created:r().nullish(),model:e().nullish(),choices:o(t({delta:t({role:a(["assistant",""]).nullish(),content:qe(),reasoning_content:e().nullish(),reasoning:e().nullish(),tool_calls:o(t({index:r().nullish(),id:e().nullish(),function:t({name:e().nullish(),arguments:e().nullish()}),extra_content:t({google:t({thought_signature:e().nullish()}).nullish()}).nullish()})).nullish()}).nullish(),finish_reason:e().nullish()})),usage:Ue()}),We=(m)=>l([Fe(),m]);function Oe(m){if(m==null)return te();let f=m.prompt_tokens??0,b=m.completion_tokens??0;return{inputTokens:{total:f,noCache:f,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:b,text:b,reasoning:void 0},raw:m}}function ze({prompt:m,user:f="user",assistant:b="assistant"}){let _="";if(m[0].role==="system")_+=`${m[0].content}
2
-
3
- `,m=m.slice(1);for(let{role:w,content:R}of m)switch(w){case"system":throw new ye({message:`Unexpected system message in prompt: ${R}`,prompt:m});case"user":{let U=R.map((N)=>{switch(N.type){case"text":return N.text}}).filter(Boolean).join("");_+=`${f}:
4
- ${U}
5
-
6
- `;break}case"assistant":{let U=R.map((N)=>{switch(N.type){case"text":return N.text;case"tool-call":throw new u({functionality:"tool-call messages"})}}).join("");_+=`${b}:
7
- ${U}
8
-
9
- `;break}case"tool":throw new u({functionality:"tool messages"});default:throw Error(`Unsupported role: ${w}`)}return _+=`${b}:
10
- `,{prompt:_,stopSequences:[`
11
- ${f}:`]}}function ke(m){switch(m){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 Se=i(()=>s(t({echo:c().optional(),logitBias:y(e(),r()).optional(),suffix:e().optional(),user:e().optional()}))),Ge=class m{static[S](f){return M({modelId:f.modelId,config:f.config})}static[I](f){return new m(f.modelId,f.config)}constructor(f,b){this.specificationVersion="v4",this.modelId=f,this.config=b;let _=b.errorStructure??ge;this.chunkSchema=Qe(_.errorSchema),this.failedResponseHandler=E(_)}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}async getArgs({prompt:f,maxOutputTokens:b,temperature:_,topP:w,topK:R,frequencyPenalty:U,presencePenalty:N,stopSequences:J,responseFormat:j,seed:x,providerOptions:v,tools:k,toolChoice:Z}){let W=[];be({rawName:this.providerOptionsName,providerOptions:v,warnings:W});let G=Object.assign(await h({provider:this.providerOptionsName,providerOptions:v,schema:Se})??{},await h({provider:ce(this.providerOptionsName),providerOptions:v,schema:Se})??{});if(R!=null)W.push({type:"unsupported",feature:"topK"});if(k?.length)W.push({type:"unsupported",feature:"tools"});if(Z!=null)W.push({type:"unsupported",feature:"toolChoice"});if(j!=null&&j.type!=="text")W.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:se,stopSequences:X}=ze({prompt:f}),ie=[...X??[],...J??[]];return{args:{model:this.modelId,echo:G.echo,logit_bias:G.logitBias,suffix:G.suffix,user:G.user,max_tokens:b,temperature:_,top_p:w,frequency_penalty:U,presence_penalty:N,seed:x,...v?.[this.providerOptionsName],...v?.[ce(this.providerOptionsName)],prompt:se,stop:ie.length>0?ie:void 0},warnings:W}}async doGenerate(f){let{args:b,warnings:_}=await this.getArgs(f),{responseHeaders:w,value:R,rawValue:U}=await g({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:d(this.config.headers?.(),f.headers),body:b,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:p(Ze),abortSignal:f.abortSignal,fetch:this.config.fetch}),N=R.choices[0],J=[];if(N.text!=null&&N.text.length>0)J.push({type:"text",text:N.text});return{content:J,usage:Oe(R.usage),finishReason:{unified:ke(N.finish_reason),raw:N.finish_reason},request:{body:b},response:{...ee(R),headers:w,body:U},warnings:_}}async doStream(f){let{args:b,warnings:_}=await this.getArgs(f),w={...b,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},{responseHeaders:R,value:U}=await g({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:d(this.config.headers?.(),f.headers),body:w,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:D(this.chunkSchema),abortSignal:f.abortSignal,fetch:this.config.fetch}),N={unified:"other",raw:void 0},J=void 0,j=!0;return{stream:U.pipeThrough(new TransformStream({start(x){x.enqueue({type:"stream-start",warnings:_})},transform(x,v){if(f.includeRawChunks)v.enqueue({type:"raw",rawValue:x.rawValue});if(!x.success){N={unified:"error",raw:void 0},v.enqueue({type:"error",error:x.error});return}let k=x.value;if("error"in k){N={unified:"error",raw:void 0},v.enqueue({type:"error",error:k.error});return}if(j)j=!1,v.enqueue({type:"response-metadata",...ee(k)}),v.enqueue({type:"text-start",id:"0"});if(k.usage!=null)J=k.usage;let Z=k.choices[0];if(Z?.finish_reason!=null)N={unified:ke(Z.finish_reason),raw:Z.finish_reason??void 0};if(Z?.text!=null)v.enqueue({type:"text-delta",id:"0",delta:Z.text})},flush(x){if(!j)x.enqueue({type:"text-end",id:"0"});x.enqueue({type:"finish",finishReason:N,usage:Oe(J)})}})),request:{body:w},response:{headers:R}}}},Ee=()=>B({prompt_tokens:r(),completion_tokens:r(),total_tokens:r()}),Ze=i(()=>s(t({id:e().nullish(),created:r().nullish(),model:e().nullish(),choices:o(t({text:e(),finish_reason:e()})),usage:Ee().nullish()}))),Qe=(m)=>l([t({id:e().nullish(),created:r().nullish(),model:e().nullish(),choices:o(t({text:e(),finish_reason:e().nullish(),index:r()})),usage:Ee().nullish()}),m]),_e=i(()=>s(t({dimensions:r().optional(),user:e().optional()}))),Xe=class m{get provider(){return this.config.provider}get maxEmbeddingsPerCall(){return this.config.maxEmbeddingsPerCall??2048}get supportsParallelCalls(){return this.config.supportsParallelCalls??!0}static[S](f){return M({modelId:f.modelId,config:f.config})}static[I](f){return new m(f.modelId,f.config)}constructor(f,b){this.specificationVersion="v4",this.modelId=f,this.config=b}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}async doEmbed({values:f,dimensions:b,headers:_,abortSignal:w,providerOptions:R}){let U=[],N=await h({provider:"openai-compatible",providerOptions:R,schema:_e});if(N!=null)U.push({type:"deprecated",setting:"providerOptions key 'openai-compatible'",message:"Use 'openaiCompatible' instead."});be({rawName:this.providerOptionsName,providerOptions:R,warnings:U});let J=Object.assign(N??{},await h({provider:"openaiCompatible",providerOptions:R,schema:_e})??{},await h({provider:this.providerOptionsName,providerOptions:R,schema:_e})??{});if(f.length>this.maxEmbeddingsPerCall)throw new me({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:f});let{responseHeaders:j,value:x,rawValue:v}=await g({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:d(this.config.headers?.(),_),body:{model:this.modelId,input:f,encoding_format:"float",dimensions:J.dimensions??b,user:J.user},failedResponseHandler:E(this.config.errorStructure??ge),successfulResponseHandler:p(Ye),abortSignal:w,fetch:this.config.fetch});return{warnings:U,embeddings:x.data.map((k)=>k.embedding),usage:x.usage?{tokens:x.usage.prompt_tokens}:void 0,providerMetadata:x.providerMetadata,response:{headers:j,body:v}}}},Ye=i(()=>s(t({data:o(t({embedding:o(r())})),usage:t({prompt_tokens:r()}).nullish(),providerMetadata:y(e(),y(e(),ae())).optional()}))),et=class m{get provider(){return this.config.provider}get providerOptionsKey(){return this.config.provider.split(".")[0].trim()}static[S](f){return M({modelId:f.modelId,config:f.config})}static[I](f){return new m(f.modelId,f.config)}constructor(f,b){this.modelId=f,this.config=b,this.specificationVersion="v4",this.maxImagesPerCall=10,this.supportsFileInputs=void 0,this.supportsMaskInputs=void 0}getArgs(f,b){return be({rawName:this.providerOptionsKey,providerOptions:f,warnings:b}),{...f[this.providerOptionsKey],...f[ce(this.providerOptionsKey)]}}async doGenerate({prompt:f,n:b,size:_,aspectRatio:w,seed:R,providerOptions:U,headers:N,abortSignal:J,files:j,mask:x}){let v=[];if(w!=null)v.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(R!=null)v.push({type:"unsupported",feature:"seed"});let k=this.config._internal?.currentDate?.()??new Date,Z=this.getArgs(U,v),W=j!=null&&j.length>0,G=this.config.url({path:W?"/images/edits":"/images/generations",modelId:this.modelId}),se=d(this.config.headers?.(),N);if(W){let{value:de,responseHeaders:K}=await ne({url:G,headers:se,formData:rt({model:this.modelId,prompt:f,image:await Promise.all(j.map((F)=>Me(F))),mask:x!=null?await Me(x):void 0,n:b,size:_,...Z}),failedResponseHandler:E(this.config.errorStructure??ge),successfulResponseHandler:p(je),abortSignal:J,fetch:this.config.fetch});return{images:await this.getImages(de.data,{url:G,headers:se,abortSignal:J}),warnings:v,usage:Re(de.usage),response:{timestamp:k,modelId:this.modelId,headers:K}}}let{value:X,responseHeaders:ie}=await g({url:G,headers:se,body:{model:this.modelId,prompt:f,n:b,size:_,...Z},failedResponseHandler:E(this.config.errorStructure??ge),successfulResponseHandler:p(je),abortSignal:J,fetch:this.config.fetch});return{images:await this.getImages(X.data,{url:G,headers:se,abortSignal:J}),warnings:v,usage:Re(X.usage),response:{timestamp:k,modelId:this.modelId,headers:ie}}}async getImages(f,b){if(f.every((_)=>_.b64_json!=null))return f.map((_)=>_.b64_json);return Promise.all(f.map(async(_)=>{if(_.b64_json!=null)return q(_.b64_json);if(_.url==null)throw new A({data:_,message:"Expected url in the image response"});let{value:w}=await P({url:_.url,validateUrl:!0,trustedOrigin:b.url,credentialedOrigin:b.url,headers:b.headers,abortSignal:b.abortSignal,fetch:this.config.fetch,successfulResponseHandler:ut(),failedResponseHandler:rn()});return w}))}};function Re(m){return m==null?void 0:{inputTokens:m.input_tokens??void 0,outputTokens:m.output_tokens??void 0,totalTokens:m.total_tokens??void 0}}var je=i(()=>s(t({data:o(t({b64_json:e().nullish(),url:e().nullish()}).refine((m)=>m.b64_json!=null||m.url!=null,{message:"Expected b64_json or url in the image response"})),usage:t({input_tokens:r().nullish(),output_tokens:r().nullish(),total_tokens:r().nullish()}).nullish()})));async function Me(m){if(m.type==="url")return Te(m.url);let f=m.data instanceof Uint8Array?m.data:q(m.data);return new Blob([f],{type:m.mediaType})}var tt="3.0.80";function He(m){let f=Y(m.baseURL),b=m.name,_={...m.apiKey&&{Authorization:`Bearer ${m.apiKey}`},...m.headers},w=()=>L(_,`ai-sdk-openai-compatible/${tt}`),R=(k)=>({provider:`${b}.${k}`,url:({path:Z})=>{let W=new URL(`${f}${Z}`);if(m.queryParams)W.search=new URLSearchParams(m.queryParams).toString();return W.toString()},headers:w,fetch:m.fetch}),U=(k)=>N(k),N=(k)=>new Je(k,{...R("chat"),includeUsage:m.includeUsage,supportsStructuredOutputs:m.supportsStructuredOutputs,supportsMultiPartToolContent:m.supportsMultiPartToolContent,supportedUrls:m.supportedUrls,transformRequestBody:m.transformRequestBody,metadataExtractor:m.metadataExtractor,convertUsage:m.convertUsage}),J=(k)=>new Ge(k,{...R("completion"),includeUsage:m.includeUsage}),j=(k)=>new Xe(k,{...R("embedding")}),x=(k)=>new et(k,R("image")),v=(k)=>U(k);return v.specificationVersion="v4",v.languageModel=U,v.chatModel=N,v.completionModel=J,v.embeddingModel=j,v.textEmbeddingModel=j,v.imageModel=x,v}var nt=(m)=>{if(!m.baseURL)throw Error("This provider has no API URL. Select it again in the settings or configure a custom endpoint.");return He({name:"openai-compatible",baseURL:m.baseURL,apiKey:m.apiKey,headers:m.headers,...m.fetch&&{fetch:m.fetch},includeUsage:!0,supportsStructuredOutputs:!0,transformRequestBody:(f)=>{let b=f.response_format;if(b?.type!=="json_schema"||!b.json_schema)return f;return{...f,response_format:{type:"json_object"},messages:[{role:"system",content:`Return only a JSON object matching this JSON schema: ${JSON.stringify(b.json_schema.schema)}`},...f.messages]}}}).chatModel(m.model)};function pt(){oe("openai-compatible",nt)}export{pt as register};
@@ -1,18 +0,0 @@
1
- import{oe,Ee}from"./embed-hn0r8fmg.js";import{hn}from"./embed-2xm309sb.js";import{v,b,ye,A,me,u,et,Dt,Ut,Bt,Ft,Zt,Et,e,yt,r,Mt,c,Ht,Ve,ae,w,Vt,o,t,se,l,f,nt,ce,y,a,n,je,F,S,I,d,Rt,ue,fe,ie,q,X,T,ve,rt,ee,te,le,xe,L,Kt,Ie,z,K,Te,Qt,de,C,P,ze,j,he,pe,H,at,ge,i,s,x,N,lt,J,h,en,g,ne,we,re,Je,k,O,V,E,D,p,_e,ut,nn,M,Ce,dt,Y,Ke}from"./embed-sgjh2kg2.js";var Xt={};hn(Xt,{bigint:()=>Bn,boolean:()=>Fn,date:()=>zn,number:()=>Ln,string:()=>Dn});function Dn(m){return Dt(Et,m)}function Ln(m){return Ut(yt,m)}function Fn(m){return Bt(Mt,m)}function Bn(m){return Ft(Ht,m)}function zn(m){return Zt(Vt,m)}function dn(m){if(m.provider==null)throw Error("OpenAI model is missing provider after workflow deserialization.");return{...m,provider:m.provider,url:typeof m.url==="function"?m.url:({path:_})=>{if(m.baseURL==null)throw Error("OpenAI model is missing baseURL after workflow deserialization.");return`${m.baseURL}${_}`},headers:typeof m.headers==="function"?m.headers:m.headers==null?void 0:()=>m.headers}}var ko=()=>t({error:t({message:e(),type:e().nullish(),param:ae().nullish(),code:l([e(),r()]).nullish()})}),mn=i(()=>s(ko())),gt=E({errorSchema:mn,errorToMessage:(m)=>m.error.message}),Jn=i(()=>s(t({safetyIdentifier:e().max(128).optional()}))),At=()=>r().min(0).max(1),Vn=i(()=>s(t({model:e().nullish(),usage:t({input_tokens:r().nullish(),input_tokens_details:t({cached_tokens:r().nullish(),cache_write_tokens:r().nullish()}).nullish(),output_tokens:r().nullish(),output_tokens_details:t({reasoning_tokens:r().nullish()}).nullish(),total_tokens:r().nullish()}).nullish(),answers:o(f("type",[t({type:n("refusal"),name:e().nullable()}),t({type:n("predicate"),name:e(),probability:At()}),t({type:n("choice"),name:e(),choice:e(),confidence:At().nullish(),probabilities:o(t({value:e(),probability:At()}))}),t({type:n("score"),name:e(),score:r(),confidence:At().nullish(),probabilities:o(t({value:r().int().nonnegative(),probability:At()}))})]))}))),Wn=class m{constructor(_,R){this.modelId=_,this.config=R,this.specificationVersion="v4",this.supportedQuestionTypes=["choice","score","boolean"]}get provider(){return this.config.provider}static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,dn(_.config))}doEvaluate(_){return this.doDecide(_)}async doDecide({state:_,questions:R,maxOutputTokens:B,reasoning:G,headers:W,abortSignal:Me,providerOptions:Z}){let qe=await h({provider:"openai",providerOptions:Z,schema:Jn}),{value:be,rawValue:Ae,responseHeaders:Ue}=await g({url:this.config.url({path:"/decisions",modelId:this.modelId}),headers:d(this.config.headers?.(),W),body:{model:this.modelId,safety_identifier:qe?.safetyIdentifier,input:[{role:"user",content:_.map((Pe)=>{if(Pe.type==="text")return{type:"input_text",text:Pe.text};if(Pe.type==="json")return{type:"input_text",text:JSON.stringify(Pe.value)};if(Pe.data.type!=="data")throw new u({functionality:`OpenAI decision file input: ${Pe.mediaType} (${Pe.data.type})`});let Fe=K(Pe.mediaType)?Pe.mediaType:Ie({data:Pe.data.data,topLevelType:"image"});if(!["image/png","image/jpeg","image/webp","image/gif"].includes(Fe??""))throw new u({functionality:`OpenAI decision image media type: ${Pe.mediaType}`});let ke=Pe.providerOptions?.openai?.imageDetail;return{type:"input_image",image_url:`data:${Fe};base64,${typeof Pe.data.data==="string"?Pe.data.data:X(Pe.data.data)}`,...ke!=null&&{detail:ke}}})}],questions:Object.entries(R).map(([Pe,Fe])=>{let ke=Fe.instructions==null?Fe.instructions:qt(Fe.instructions);switch(Fe.type){case"boolean":return{type:"predicate",name:Pe,instructions:[ke,Fe.criteria?.true==null?void 0:`Criteria for true:
2
- ${qt(Fe.criteria.true)}`,Fe.criteria?.false==null?void 0:`Criteria for false:
3
- ${qt(Fe.criteria.false)}`].filter(($e)=>$e!=null).join(`
4
-
5
- `)};case"choice":return{type:"choice",name:Pe,instructions:ke,choices:Object.entries(Fe.criteria).map(([$e,Se])=>({value:$e,...Se==null?{}:{description:qt(Se)}}))};case"score":return{type:"score",name:Pe,instructions:ke,levels:Fe.criteria.map(($e,Se)=>({label:String(Se),...$e==null?{}:{description:qt($e)}}))}}})},abortSignal:Me,fetch:this.config.fetch,failedResponseHandler:gt,successfulResponseHandler:p(Vn)}),Be=Object.fromEntries(be.answers.map((Pe)=>{if(Pe.type==="refusal"){if(Pe.name===null)throw new A({data:Ae,message:"OpenAI Decisions refused an unnamed question."});return[Pe.name,{type:"refusal"}]}if(Pe.type==="predicate")return[Pe.name,{type:"boolean",probability:Pe.probability}];let Fe=Object.fromEntries(Pe.probabilities.map(({value:ke,probability:$e})=>[ke,$e]));if(Object.keys(Fe).length!==Pe.probabilities.length)throw new A({data:Ae,message:"Decisions returned duplicate probability values."});return[Pe.name,Pe.type==="choice"?{type:"choice",choice:Pe.choice,probabilities:Fe}:{type:"score",score:Pe.score,probabilities:Fe}]})),Oe=be.answers.map((Pe)=>Pe.name);if(Oe.length!==Object.keys(R).length||new Set(Oe).size!==Oe.length||Oe.some((Pe)=>typeof Pe!=="string"||!Object.prototype.hasOwnProperty.call(R,Pe)))throw new A({data:Ae,message:"Decisions must return exactly one answer for every question."});return{answers:Be,usage:be.usage==null?void 0:{inputTokens:be.usage.input_tokens??void 0,outputTokens:be.usage.output_tokens??void 0},rounding:{probabilityDecimals:2,scoreDecimals:2},warnings:[...B!=null?[{type:"unsupported",feature:"maxOutputTokens"}]:[],...G!=null?[{type:"unsupported",feature:"reasoning"}]:[],...Object.keys(Z?.openai??{}).filter((Pe)=>Pe!=="safetyIdentifier").map((Pe)=>({type:"unsupported",feature:`providerOptions.openai.${Pe}`}))],providerMetadata:{openai:{...be.usage==null?{}:{usage:be.usage},confidence:Object.fromEntries(be.answers.flatMap((Pe)=>(Pe.type==="choice"||Pe.type==="score")&&Pe.confidence!=null?[[Pe.name,Pe.confidence]]:[]))}},response:{modelId:be.model??this.modelId,headers:Ue,body:Ae}}}};function qt(m){return typeof m==="string"?m:JSON.stringify(m)}function gn(m){let _=Gn(m),R=Kn(m),B=R?.minor==null&&(R?.variant?.startsWith("chat")??!1),G=R?.variant?.startsWith("nano")??!1,W=R!=null&&R.major>=6,Me=m==="gpt-6-sol"||m==="gpt-6-luna"||m==="gpt-6.1-terra",Z=_!=null&&_>=3||R!=null&&R.major>=5&&!B,qe=m.startsWith("gpt-4")||R!=null&&R.major>=5&&!G&&!B||_!=null&&_>=3,be=_!=null||R!=null&&R.major>=5&&!B,Ae=Me||!W&&R!=null&&(R.major>5||R.major===5&&(R.minor??0)>=1);return{supportsFlexProcessing:Z,supportsPriorityProcessing:qe,supportsConfigurationUpdate:W,supportsAsyncToolCalling:W,supportedReasoningEfforts:Me?["none","low","medium","high","xhigh","max"]:W?["low","medium","high","xhigh","max"]:void 0,isReasoningModel:be,systemMessageMode:be?"developer":"system",supportsNonReasoningParameters:Ae}}function Gn(m){let _=/^o(\d+)(?:-|$)/.exec(m);return _==null?void 0:Number(_[1])}function Kn(m){let _=/^gpt-(\d+)(?:\.(\d+))?(?:-(.+))?$/.exec(m);if(_==null)return;return{major:Number(_[1]),minor:_[2]==null?void 0:Number(_[2]),variant:_[3]}}function $t(m){let _=Xn(m);if(_==null)return;let R=Qn(_);return xe({message:_.message,type:_.type??void 0,code:_.code??void 0,statusCode:R,isRetryable:ni(_,R),data:m})}async function Co({stream:m,getError:_,isOutputChunk:R,isAcceptedChunk:B,acceptedGraceMs:G=50,url:W,requestBodyValues:Me,responseHeaders:Z}){let[qe,be]=m.tee(),Ae=qe.getReader(),Ue=!1;try{let Be=!1;while(!0){let Oe;if(Be){let ke=await Zn(Ae.read(),G);if(ke.timedOut)return be;Oe=ke.value}else Oe=await Ae.read();if(Oe.done)return be;let Pe=Oe.value;if(!Pe.success)return be;let Fe=_(Pe.value);if(Fe!=null)throw Ue=!0,To(Ae).catch(()=>{}),To(be.getReader()).catch(()=>{}),Yn({frame:Fe,url:W,requestBodyValues:Me,responseHeaders:Z});if(R(Pe.value))return be;if(!Be&&B?.(Pe.value)===!0)Be=!0}}finally{if(!Ue)Ae.cancel().catch(()=>{}),Ae.releaseLock()}}async function To(m){try{while(!(await m.read()).done);}catch{}finally{m.releaseLock()}}async function Zn(m,_){let R,B=m.then((G)=>({timedOut:!1,value:G}));try{let G=await Promise.race([B,new Promise((W)=>{R=setTimeout(()=>W({timedOut:!0}),_)})]);if(G.timedOut)B.catch(()=>{});return G}finally{clearTimeout(R)}}function Yn({frame:m,url:_,requestBodyValues:R,responseHeaders:B}){let G=$t(m);return new v({message:G?.message??"OpenAI stream failed before any output was generated",url:_,requestBodyValues:R,statusCode:G?.statusCode??500,responseHeaders:B,responseBody:JSON.stringify(m),data:m,isRetryable:G?.isRetryable})}function Xn(m){let _=Nt(m);if(_==null)return;if(_.type==="response.failed"){let B=Nt(Nt(_.response)?.error);return typeof B?.message==="string"?{message:B.message,code:Ro(B.code),type:"response.failed"}:void 0}let R=Nt(_.error)??_;return typeof R.message==="string"&&(Nt(_.error)!=null||typeof R.type==="string"||("code"in R)||("param"in R))?{message:R.message,code:Ro(R.code),type:typeof R.type==="string"?R.type:void 0}:void 0}function Qn(m){let _=ti(m.code);if(_!=null)return _;let R=[m.code,m.type].filter((B)=>typeof B==="string"||typeof B==="number").join(" ").toLowerCase();if(["insufficient_quota","rate_limit"].some((B)=>R.includes(B)))return 429;if(R.includes("authentication"))return 401;if(R.includes("permission"))return 403;if(R.includes("not_found"))return 404;if(["invalid","bad_request","context_length"].some((B)=>R.includes(B)))return 400;if(R.includes("overload"))return 503;if(R.includes("timeout"))return 504;return 500}function Nt(m){return typeof m==="object"&&m!=null?m:void 0}function Ro(m){return typeof m==="string"||typeof m==="number"?m:void 0}function ei(m){return Number.isInteger(m)&&m>=400&&m<=599}function ti(m){let _=typeof m==="string"&&/^\d{3}$/.test(m)?Number(m):m;return typeof _==="number"&&ei(_)?_:void 0}function oi(m){return m===408||m===409||m===429||m>=500}function ni(m,_){if(m.code==="insufficient_quota"||m.type==="insufficient_quota")return!1;return oi(_)}function Ao(m){if(m==null)return te();let _=m.prompt_tokens??0,R=m.completion_tokens??0,B=m.prompt_tokens_details?.cached_tokens??0,G=m.prompt_tokens_details?.cache_write_tokens??void 0,W=m.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:_,noCache:_-B-(G??0),cacheRead:B,cacheWrite:G},outputTokens:{total:R,text:Math.max(0,R-W),reasoning:W},raw:m}}function ii(m){return JSON.stringify(typeof m==="object"&&m!==null&&!Array.isArray(m)?m:{})}function Ct(m){return m?.openai?.promptCacheBreakpoint}function si({prompt:m,systemMessageMode:_="system"}){let R=[],B=[];for(let{role:G,content:W,providerOptions:Me}of m)switch(G){case"system":switch(_){case"system":{let Z=Ct(Me);R.push({role:"system",content:Z==null?W:[{type:"text",text:W,prompt_cache_breakpoint:Z}]});break}case"developer":{let Z=Ct(Me);R.push({role:"developer",content:Z==null?W:[{type:"text",text:W,prompt_cache_breakpoint:Z}]});break}case"remove":B.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${_}`)}break;case"user":if(W.length===1&&W[0].type==="text"&&Ct(W[0].providerOptions)==null){R.push({role:"user",content:W[0].text});break}R.push({role:"user",content:W.map((Z,qe)=>{switch(Z.type){case"text":{let be=Ct(Z.providerOptions);return{type:"text",text:Z.text,...be!=null&&{prompt_cache_breakpoint:be}}}case"file":{let be=Ct(Z.providerOptions);switch(Z.data.type){case"reference":return{type:"file",file:{file_id:V({reference:Z.data.reference,provider:"openai"})},...be!=null&&{prompt_cache_breakpoint:be}};case"text":throw new u({functionality:"text file parts"});case"url":case"data":{let Ae=z(Z.mediaType);if(Ae==="image")return{type:"image_url",image_url:{url:Z.data.type==="url"?Z.data.url.toString():`data:${O({part:Z})};base64,${T(Z.data.data)}`,detail:Z.providerOptions?.openai?.imageDetail},...be!=null&&{prompt_cache_breakpoint:be}};else if(Ae==="audio"){if(Z.data.type==="url")throw new u({functionality:"audio file parts with URLs"});let Ue=O({part:Z});switch(Ue){case"audio/wav":return{type:"input_audio",input_audio:{data:T(Z.data.data),format:"wav"},...be!=null&&{prompt_cache_breakpoint:be}};case"audio/mp3":case"audio/mpeg":return{type:"input_audio",input_audio:{data:T(Z.data.data),format:"mp3"},...be!=null&&{prompt_cache_breakpoint:be}};default:throw new u({functionality:`audio content parts with media type ${Ue}`})}}{let Ue=O({part:Z});if(Ue!=="application/pdf")throw new u({functionality:`file part media type ${Ue}`});if(Z.data.type==="url")throw new u({functionality:"PDF file parts with URLs"});return{type:"file",file:{filename:Z.filename??`part-${qe}.pdf`,file_data:`data:application/pdf;base64,${T(Z.data.data)}`},...be!=null&&{prompt_cache_breakpoint:be}}}}}}}})});break;case"assistant":{let Z="",qe=[],be=!1,Ae=[];for(let Ue of W)switch(Ue.type){case"text":{let Be=Ct(Ue.providerOptions);Z+=Ue.text,qe.push({type:"text",text:Ue.text,...Be!=null&&{prompt_cache_breakpoint:Be}}),be||=Be!=null;break}case"tool-call":Ae.push({id:Ue.toolCallId,type:"function",function:{name:Ue.toolName,arguments:ii(Ue.input)}})}R.push({role:"assistant",content:be?qe:Ae.length>0?Z||null:Z,tool_calls:Ae.length>0?Ae:void 0});break}case"tool":for(let Z of W){if(Z.type==="tool-approval-response")continue;let qe=Z.output,be=(qe.type==="content"?qe.value.map((Ue)=>Ct(Ue.providerOptions)).find((Ue)=>Ue!=null):Ct(qe.providerOptions))??Ct(Z.providerOptions),Ae;switch(qe.type){case"text":Ae=qe.value;break;case"error-text":case"error-json":Ae=JSON.stringify({error:qe.value});break;case"execution-denied":Ae=qe.reason??"Tool call execution denied.";break;case"content":case"json":Ae=JSON.stringify(qe.value)}R.push({role:"tool",tool_call_id:Z.toolCallId,content:be==null?Ae:[{type:"text",text:Ae,prompt_cache_breakpoint:be}]})}break;default:throw Error(`Unsupported role: ${G}`)}return{messages:R,warnings:B}}function eo({id:m,model:_,created:R}){return ee({id:m,model:_,created:R||void 0})}function qo(m){switch(m){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 ai=i(()=>s(t({id:e().nullish(),created:r().nullish(),model:e().nullish(),choices:o(t({message:t({role:n("assistant").nullish(),content:e().nullish(),audio:t({transcript:e().nullish()}).nullish(),tool_calls:o(t({id:e().nullish(),type:n("function"),function:t({name:e(),arguments:e()})})).nullish(),annotations:o(t({type:n("url_citation"),url_citation:t({start_index:r(),end_index:r(),url:e(),title:e()})})).nullish()}),index:r(),logprobs:t({content:o(t({token:e(),logprob:r(),top_logprobs:o(t({token:e(),logprob:r()}))})).nullish()}).nullish(),finish_reason:e().nullish()})),usage:t({prompt_tokens:r().nullish(),completion_tokens:r().nullish(),total_tokens:r().nullish(),prompt_tokens_details:t({cached_tokens:r().nullish(),cache_write_tokens:r().nullish()}).nullish(),completion_tokens_details:t({reasoning_tokens:r().nullish(),accepted_prediction_tokens:r().nullish(),rejected_prediction_tokens:r().nullish()}).nullish()}).nullish()}))),ri=i(()=>s(l([t({id:e().nullish(),created:r().nullish(),model:e().nullish(),choices:o(t({delta:t({role:a(["assistant"]).nullish(),content:e().nullish(),tool_calls:o(t({index:r(),id:e().nullish(),type:n("function").nullish(),function:t({name:e().nullish(),arguments:e().nullish()})})).nullish(),annotations:o(t({type:n("url_citation"),url_citation:t({start_index:r(),end_index:r(),url:e(),title:e()})})).nullish()}).nullish(),logprobs:t({content:o(t({token:e(),logprob:r(),top_logprobs:o(t({token:e(),logprob:r()}))})).nullish()}).nullish(),finish_reason:e().nullish(),index:r()})),usage:t({prompt_tokens:r().nullish(),completion_tokens:r().nullish(),total_tokens:r().nullish(),prompt_tokens_details:t({cached_tokens:r().nullish(),cache_write_tokens:r().nullish()}).nullish(),completion_tokens_details:t({reasoning_tokens:r().nullish(),accepted_prediction_tokens:r().nullish(),rejected_prediction_tokens:r().nullish()}).nullish()}).nullish()}),ko()]))),li=i(()=>s(t({logitBias:y(Xt.number(),r()).optional(),logprobs:l([c(),r()]).optional(),parallelToolCalls:c().optional(),user:e().optional(),reasoningEffort:a(["none","minimal","low","medium","high","xhigh","max"]).optional(),maxCompletionTokens:r().optional(),store:c().optional(),metadata:y(e().max(64),e().max(512)).optional(),prediction:y(e(),ae()).optional(),serviceTier:a(["auto","flex","priority","fast","ultrafast","default"]).optional(),strictJsonSchema:c().optional(),textVerbosity:a(["low","medium","high"]).optional(),promptCacheKey:e().optional(),promptCacheOptions:t({mode:a(["implicit","explicit"]).optional(),ttl:n("30m").optional()}).optional(),promptCacheRetention:a(["in_memory","24h"]).optional(),safetyIdentifier:e().optional(),systemMessageMode:a(["system","developer","remove"]).optional(),forceReasoning:c().optional()})));function Pt(m){let _=!1,R=!1,B=W(m,!0),G=[];if(_)G.push({type:"compatibility",feature:"JSON Schema propertyNames",details:"OpenAI does not support JSON Schema propertyNames. It was removed before sending the schema, so OpenAI will not enforce property-name constraints."});if(R)G.push({type:"compatibility",feature:"JSON Schema pattern with regex lookaround",details:"OpenAI does not support regex lookaround in JSON Schema patterns. The pattern was removed before sending the schema, so OpenAI will not enforce that constraint."});return{schema:B,warnings:G};function W(Ae,Ue=!1){let Be=Ae.propertyNames;if(Be!=null){if(typeof Be==="boolean"||Be.type!=null&&Be.type!=="string")throw new u({functionality:"JSON Schema propertyNames that does not use a string schema"});_=!0}let Oe={...Ae};if(delete Oe.propertyNames,Oe.pattern!=null&&ui(Oe.pattern))delete Oe.pattern,R=!0;if(Oe.properties!=null)Oe.properties=qe(Oe.properties);if(Oe.patternProperties!=null)Oe.patternProperties=qe(Oe.patternProperties);if(Oe.additionalProperties!=null)Oe.additionalProperties=be(Oe.additionalProperties);if(Oe.additionalItems!=null)Oe.additionalItems=be(Oe.additionalItems);if(Oe.items!=null)Oe.items=Array.isArray(Oe.items)?Oe.items.map(be):be(Oe.items);if(Oe.contains!=null)Oe.contains=be(Oe.contains);if(Oe.not!=null)Oe.not=be(Oe.not);if(Oe.allOf!=null)Oe.allOf=Oe.allOf.map(be);if(Oe.anyOf!=null)Oe.anyOf=Oe.anyOf.map(be);if(Oe.oneOf!=null)Oe.oneOf=Oe.oneOf.map(be);if(Oe.definitions!=null)Oe.definitions=qe(Oe.definitions);if(Oe.$defs!=null)Oe.$defs=qe(Oe.$defs);if(Oe.dependencies!=null)Oe.dependencies=Object.fromEntries(Object.entries(Oe.dependencies).map(([Se,Ne])=>[Se,Array.isArray(Ne)?Ne:be(Ne)]));for(let Se of["if","then","else"]){let Ne=Oe[Se];if(Ne!=null)Oe[Se]=be(Ne)}let Pe=Me(Oe);if(Pe==null)return Oe;let{allOf:Fe,...ke}=Oe;if(!Ue)return{...ke,$ref:Pe};let $e=Z(Pe,Oe);if($e==null)return Oe;return{...$e,...ke}}function Me(Ae){if(Ae.allOf?.length!==1)return;let[Ue]=Ae.allOf;return typeof Ue==="object"&&Ue!=null&&Object.keys(Ue).length===1&&typeof Ue.$ref==="string"?Ue.$ref:void 0}function Z(Ae,Ue){let Be=/^#\/(definitions|\$defs)\/(.+)$/.exec(Ae);if(Be==null)return;let[,Oe,Pe]=Be,Fe=Pe.replace(/~1/g,"/").replace(/~0/g,"~"),ke=Oe==="definitions"?Ue.definitions?.[Fe]:Ue.$defs?.[Fe];return typeof ke==="object"&&ke!=null?ke:void 0}function qe(Ae){return Object.fromEntries(Object.entries(Ae).map(([Ue,Be])=>[Ue,be(Be)]))}function be(Ae){return typeof Ae==="boolean"?Ae:W(Ae)}}function ui(m){let _=!1,R=!1;for(let B=0;B<m.length;B++){let G=m[B];if(_){_=!1;continue}if(G==="\\"){_=!0;continue}if(G==="["){R=!0;continue}if(G==="]"){R=!1;continue}if(!R&&G==="("&&m[B+1]==="?"){let W=m[B+2];if(W==="="||W==="!")return!0;if(W==="<"&&(m[B+3]==="="||m[B+3]==="!"))return!0}}return!1}function pi({tools:m,toolChoice:_}){m=m?.length?m:void 0;let R=[];if(m==null)return{tools:void 0,toolChoice:void 0,toolWarnings:R};let B=[];for(let W of m)switch(W.type){case"function":{let Me=Pt(W.inputSchema);R.push(...Me.warnings),B.push({type:"function",function:{name:W.name,description:W.description,parameters:Me.schema,...W.strict!=null?{strict:W.strict}:{}}});break}default:R.push({type:"unsupported",feature:`tool type: ${W.type}`})}if(_==null)return{tools:B,toolChoice:void 0,toolWarnings:R};let G=_.type;switch(G){case"auto":case"none":case"required":return{tools:B,toolChoice:G,toolWarnings:R};case"tool":return{tools:B,toolChoice:{type:"function",function:{name:_.toolName}},toolWarnings:R};default:throw new u({functionality:`tool choice type: ${G}`})}}var ci=class m{static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,_.config)}constructor(_,R){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=_,this.config=R}get provider(){return this.config.provider}async getArgs({prompt:_,maxOutputTokens:R,temperature:B,topP:G,topK:W,frequencyPenalty:Me,presencePenalty:Z,stopSequences:qe,responseFormat:be,seed:Ae,tools:Ue,toolChoice:Be,reasoning:Oe,providerOptions:Pe}){let Fe=[],ke=await h({provider:"openai",providerOptions:Pe,schema:li})??{},$e=gn(this.modelId),Se=ke.reasoningEffort??(H(Oe)?Oe:void 0);if(Se!=null&&$e.supportedReasoningEfforts!=null&&!$e.supportedReasoningEfforts.includes(Se))Fe.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${$e.supportedReasoningEfforts.join(", ")}`}),Se=void 0;let Ne=ke.forceReasoning??$e.isReasoningModel;if(W!=null)Fe.push({type:"unsupported",feature:"topK"});if(Pe?.openai?.reasoningSummary!=null)Fe.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is only supported by the Responses API, not the Chat Completions API"});let{messages:De,warnings:Ze}=si({prompt:_,systemMessageMode:ke.systemMessageMode??(Ne?"developer":$e.systemMessageMode)});Fe.push(...Ze);let _t=ke.strictJsonSchema??!0,bt=be?.type==="json"&&be.schema!=null?Pt(be.schema):void 0;if(bt!=null)Fe.push(...bt.warnings);let Re={model:this.config.requestModelId??this.modelId,logit_bias:ke.logitBias,logprobs:ke.logprobs===!0||typeof ke.logprobs==="number"?!0:void 0,top_logprobs:typeof ke.logprobs==="number"?ke.logprobs:typeof ke.logprobs==="boolean"?ke.logprobs?0:void 0:void 0,user:ke.user,parallel_tool_calls:ke.parallelToolCalls,max_tokens:R,temperature:B,top_p:G,frequency_penalty:Me,presence_penalty:Z,response_format:be?.type==="json"?bt!=null?{type:"json_schema",json_schema:{schema:bt.schema,strict:_t,name:be.name??"response",description:be.description}}:{type:"json_object"}:void 0,stop:qe,seed:Ae,verbosity:ke.textVerbosity,max_completion_tokens:ke.maxCompletionTokens,store:ke.store,metadata:ke.metadata,prediction:ke.prediction,reasoning_effort:Se,service_tier:ke.serviceTier,prompt_cache_key:ke.promptCacheKey,prompt_cache_options:ke.promptCacheOptions,prompt_cache_retention:ke.promptCacheRetention,safety_identifier:ke.safetyIdentifier,messages:De};if($e.supportedReasoningEfforts!=null&&Re.prompt_cache_retention!=null)Re.prompt_cache_retention=void 0,Fe.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(Ne){if(Se!=="none"||!$e.supportsNonReasoningParameters){if(Re.temperature!=null)Re.temperature=void 0,Fe.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(Re.top_p!=null)Re.top_p=void 0,Fe.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(Re.logprobs!=null)Re.logprobs=void 0,Fe.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(Re.frequency_penalty!=null)Re.frequency_penalty=void 0,Fe.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(Re.presence_penalty!=null)Re.presence_penalty=void 0,Fe.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(Re.logit_bias!=null)Re.logit_bias=void 0,Fe.push({type:"other",message:"logitBias is not supported for reasoning models"});if(Re.top_logprobs!=null)Re.top_logprobs=void 0,Fe.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(Re.max_tokens!=null){if(Re.max_completion_tokens==null)Re.max_completion_tokens=Re.max_tokens;Re.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(Re.temperature!=null)Re.temperature=void 0,Fe.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(ke.serviceTier==="flex"&&!$e.supportsFlexProcessing)Fe.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),Re.service_tier=void 0;if((ke.serviceTier==="priority"||ke.serviceTier==="fast")&&!$e.supportsPriorityProcessing)Fe.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"}),Re.service_tier=void 0;let{tools:Ye,toolChoice:mt,toolWarnings:ht}=pi({tools:Ue,toolChoice:Be});return{args:{...Re,tools:Ye,tool_choice:mt},warnings:[...Fe,...ht]}}async doGenerate(_){let{args:R,warnings:B}=await this.getArgs(_),{responseHeaders:G,value:W,rawValue:Me}=await g({url:this.config.url({path:"/chat/completions",modelId:this.config.requestModelId??this.modelId}),headers:d(this.config.headers?.(),_.headers),body:R,failedResponseHandler:gt,successfulResponseHandler:p(ai),abortSignal:_.abortSignal,fetch:this.config.fetch}),Z=W.choices[0];if(Z==null)throw new A({data:Me,message:"Response did not contain any choices."});let qe=[],be=Z.message.content!=null&&Z.message.content.length>0?Z.message.content:Z.message.audio?.transcript;if(be!=null&&be.length>0)qe.push({type:"text",text:be});for(let Be of Z.message.tool_calls??[])qe.push({type:"tool-call",toolCallId:Be.id||C(),toolName:Be.function.name,input:Be.function.arguments});for(let Be of Z.message.annotations??[])qe.push({type:"source",sourceType:"url",id:C(),url:Be.url_citation.url,title:Be.url_citation.title});let Ae=W.usage?.completion_tokens_details,Ue={openai:{}};if(Ae?.accepted_prediction_tokens!=null)Ue.openai.acceptedPredictionTokens=Ae?.accepted_prediction_tokens;if(Ae?.rejected_prediction_tokens!=null)Ue.openai.rejectedPredictionTokens=Ae?.rejected_prediction_tokens;if(Z.logprobs?.content!=null)Ue.openai.logprobs=Z.logprobs.content;return{content:qe,finishReason:{unified:qo(Z.finish_reason),raw:Z.finish_reason??void 0},usage:Ao(W.usage),request:{body:R},response:{...eo(W),headers:G,body:Me},warnings:B,providerMetadata:Ue}}async doStream(_){let{args:R,warnings:B}=await this.getArgs(_),G={...R,stream:!0,stream_options:{include_usage:!0}},W=this.config.url({path:"/chat/completions",modelId:this.config.requestModelId??this.modelId}),{responseHeaders:Me,value:Z}=await g({url:W,headers:d(this.config.headers?.(),_.headers),body:G,failedResponseHandler:gt,successfulResponseHandler:D(ri),abortSignal:_.abortSignal,fetch:this.config.fetch}),qe=await Co({stream:Z,getError:(Fe)=>("error"in Fe)?Fe.error:void 0,isOutputChunk:di,url:W,requestBodyValues:G,responseHeaders:Me}),be,Ae={unified:"interrupted",raw:void 0},Ue=void 0,Be=!1,Oe=!1,Pe={openai:{}};return{stream:qe.pipeThrough(new TransformStream({start(Fe){be=new Ce(Fe,{generateId:C,typeValidation:"if-present"}),Fe.enqueue({type:"stream-start",warnings:B})},transform(Fe,ke){if(_.includeRawChunks)ke.enqueue({type:"raw",rawValue:Fe.rawValue});if(!Fe.success){Ae={unified:"error",raw:void 0},ke.enqueue({type:"error",error:Fe.error});return}let $e=Fe.value;if("error"in $e){Ae={unified:"error",raw:void 0},ke.enqueue({type:"error",error:$t($e.error)??$e.error});return}if(!Be){let De=eo($e);if(Object.values(De).some(Boolean))Be=!0,ke.enqueue({type:"response-metadata",...eo($e)})}if($e.usage!=null){if(Ue=$e.usage,$e.usage.completion_tokens_details?.accepted_prediction_tokens!=null)Pe.openai.acceptedPredictionTokens=$e.usage.completion_tokens_details?.accepted_prediction_tokens;if($e.usage.completion_tokens_details?.rejected_prediction_tokens!=null)Pe.openai.rejectedPredictionTokens=$e.usage.completion_tokens_details?.rejected_prediction_tokens}let Se=$e.choices[0];if(Se?.finish_reason!=null)Ae={unified:qo(Se.finish_reason),raw:Se.finish_reason};if(Se?.logprobs?.content!=null)Pe.openai.logprobs=Se.logprobs.content;if(Se?.delta==null)return;let Ne=Se.delta;if(Ne.content!=null){if(!Oe)ke.enqueue({type:"text-start",id:"0"}),Oe=!0;ke.enqueue({type:"text-delta",id:"0",delta:Ne.content})}if(Ne.tool_calls!=null)for(let De of Ne.tool_calls)be.processDelta(De);if(Ne.annotations!=null)for(let De of Ne.annotations)ke.enqueue({type:"source",sourceType:"url",id:C(),url:De.url_citation.url,title:De.url_citation.title})},flush(Fe){if(Oe)Fe.enqueue({type:"text-end",id:"0"});be.flush(),Fe.enqueue({type:"finish",finishReason:Ae,usage:Ao(Ue),...Pe!=null?{providerMetadata:Pe}:{}})}})),request:{body:G},response:{headers:Me}}}};function di(m){if("error"in m)return!1;return m.choices.some((_)=>{let R=_.delta;return R?.content!=null&&R.content.length>0||R?.tool_calls!=null&&R.tool_calls.length>0||R?.annotations!=null&&R.annotations.length>0})}function Mo(m){if(m==null)return te();let _=m.prompt_tokens??0,R=m.completion_tokens??0;return{inputTokens:{total:m.prompt_tokens??void 0,noCache:_,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:m.completion_tokens??void 0,text:R,reasoning:void 0},raw:m}}function mi({prompt:m,user:_="user",assistant:R="assistant"}){let B="";if(m[0].role==="system")B+=`${m[0].content}
6
-
7
- `,m=m.slice(1);for(let{role:G,content:W}of m)switch(G){case"system":throw new ye({message:`Unexpected system message in prompt: ${W}`,prompt:m});case"user":{let Me=W.map((Z)=>{switch(Z.type){case"text":return Z.text}}).filter(Boolean).join("");B+=`${_}:
8
- ${Me}
9
-
10
- `;break}case"assistant":{let Me=W.map((Z)=>{switch(Z.type){case"text":return Z.text;case"tool-call":throw new u({functionality:"tool-call messages"})}}).join("");B+=`${R}:
11
- ${Me}
12
-
13
- `;break}case"tool":throw new u({functionality:"tool messages"});default:throw Error(`Unsupported role: ${G}`)}return B+=`${R}:
14
- `,{prompt:B,stopSequences:[`
15
- ${_}:`]}}function No(m){switch(m){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 gi=i(()=>s(t({id:e().nullish(),created:r().nullish(),model:e().nullish(),choices:o(t({text:e(),finish_reason:e(),logprobs:t({tokens:o(e()),token_logprobs:o(r()),top_logprobs:o(y(e(),r())).nullish()}).nullish()})),usage:t({prompt_tokens:r(),completion_tokens:r(),total_tokens:r()}).nullish()}))),hi=i(()=>s(l([t({id:e().nullish(),created:r().nullish(),model:e().nullish(),choices:o(t({text:e(),finish_reason:e().nullish(),index:r(),logprobs:t({tokens:o(e()),token_logprobs:o(r()),top_logprobs:o(y(e(),r())).nullish()}).nullish()})),usage:t({prompt_tokens:r(),completion_tokens:r(),total_tokens:r()}).nullish()}),ko()]))),Eo=i(()=>s(t({echo:c().optional(),logitBias:y(e(),r()).optional(),suffix:e().optional(),user:e().optional(),logprobs:l([c(),r()]).optional()}))),fi=class m{get providerOptionsName(){return this.config.provider.split(".")[0].trim()}static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,_.config)}constructor(_,R){this.specificationVersion="v4",this.supportedUrls={},this.modelId=_,this.config=R}get provider(){return this.config.provider}async getArgs({prompt:_,maxOutputTokens:R,temperature:B,topP:G,topK:W,frequencyPenalty:Me,presencePenalty:Z,stopSequences:qe,responseFormat:be,tools:Ae,toolChoice:Ue,seed:Be,providerOptions:Oe}){let Pe=[],Fe={...await h({provider:"openai",providerOptions:Oe,schema:Eo}),...await h({provider:this.providerOptionsName,providerOptions:Oe,schema:Eo})};if(W!=null)Pe.push({type:"unsupported",feature:"topK"});if(Ae?.length)Pe.push({type:"unsupported",feature:"tools"});if(Ue!=null)Pe.push({type:"unsupported",feature:"toolChoice"});if(be!=null&&be.type!=="text")Pe.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:ke,stopSequences:$e}=mi({prompt:_}),Se=[...$e??[],...qe??[]];return{args:{model:this.config.requestModelId??this.modelId,echo:Fe.echo,logit_bias:Fe.logitBias,logprobs:Fe?.logprobs===!0?0:Fe?.logprobs===!1?void 0:Fe?.logprobs,suffix:Fe.suffix,user:Fe.user,max_tokens:R,temperature:B,top_p:G,frequency_penalty:Me,presence_penalty:Z,seed:Be,prompt:ke,stop:Se.length>0?Se:void 0},warnings:Pe}}async doGenerate(_){let{args:R,warnings:B}=await this.getArgs(_),{responseHeaders:G,value:W,rawValue:Me}=await g({url:this.config.url({path:"/completions",modelId:this.config.requestModelId??this.modelId}),headers:d(this.config.headers?.(),_.headers),body:R,failedResponseHandler:gt,successfulResponseHandler:p(gi),abortSignal:_.abortSignal,fetch:this.config.fetch}),Z=W.choices[0],qe={openai:{}};if(Z.logprobs!=null)qe.openai.logprobs=Z.logprobs;return{content:[{type:"text",text:Z.text}],usage:Mo(W.usage),finishReason:{unified:No(Z.finish_reason),raw:Z.finish_reason??void 0},request:{body:R},response:{...ee(W),headers:G,body:Me},providerMetadata:qe,warnings:B}}async doStream(_){let{args:R,warnings:B}=await this.getArgs(_),G={...R,stream:!0,stream_options:{include_usage:!0}},W=this.config.url({path:"/completions",modelId:this.config.requestModelId??this.modelId}),{responseHeaders:Me,value:Z}=await g({url:W,headers:d(this.config.headers?.(),_.headers),body:G,failedResponseHandler:gt,successfulResponseHandler:D(hi),abortSignal:_.abortSignal,fetch:this.config.fetch}),qe=await Co({stream:Z,getError:(Oe)=>("error"in Oe)?Oe.error:void 0,isOutputChunk:yi,url:W,requestBodyValues:G,responseHeaders:Me}),be={unified:"interrupted",raw:void 0},Ae={openai:{}},Ue=void 0,Be=!0;return{stream:qe.pipeThrough(new TransformStream({start(Oe){Oe.enqueue({type:"stream-start",warnings:B})},transform(Oe,Pe){if(_.includeRawChunks)Pe.enqueue({type:"raw",rawValue:Oe.rawValue});if(!Oe.success){be={unified:"error",raw:void 0},Pe.enqueue({type:"error",error:Oe.error});return}let Fe=Oe.value;if("error"in Fe){be={unified:"error",raw:void 0},Pe.enqueue({type:"error",error:$t(Fe.error)??Fe.error});return}if(Be)Be=!1,Pe.enqueue({type:"response-metadata",...ee(Fe)}),Pe.enqueue({type:"text-start",id:"0"});if(Fe.usage!=null)Ue=Fe.usage;let ke=Fe.choices[0];if(ke?.finish_reason!=null)be={unified:No(ke.finish_reason),raw:ke.finish_reason};if(ke?.logprobs!=null)Ae.openai.logprobs=ke.logprobs;if(ke?.text!=null&&ke.text.length>0)Pe.enqueue({type:"text-delta",id:"0",delta:ke.text})},flush(Oe){if(!Be)Oe.enqueue({type:"text-end",id:"0"});Oe.enqueue({type:"finish",finishReason:be,providerMetadata:Ae,usage:Mo(Ue)})}})),request:{body:G},response:{headers:Me}}}};function yi(m){return!("error"in m)&&m.choices.some((_)=>_.text.length>0)}var _i=i(()=>s(t({dimensions:r().optional(),user:e().optional()}))),bi=i(()=>s(t({data:o(t({embedding:o(r())})),usage:t({prompt_tokens:r()}).nullish()}))),vi=class m{static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,_.config)}get provider(){return this.config.provider}constructor(_,R){this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this[Qt]=300000,this.supportsParallelCalls=!0,this.modelId=_,this.config=R}async doEmbed({values:_,dimensions:R,headers:B,abortSignal:G,providerOptions:W}){if(_.length>this.maxEmbeddingsPerCall)throw new me({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:_});let Me=await h({provider:"openai",providerOptions:W,schema:_i})??{},{responseHeaders:Z,value:qe,rawValue:be}=await g({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:d(this.config.headers?.(),B),body:{model:this.modelId,input:_,encoding_format:"float",dimensions:Me.dimensions??R,user:Me.user},failedResponseHandler:gt,successfulResponseHandler:p(bi),abortSignal:G,fetch:this.config.fetch});return{warnings:[],embeddings:qe.data.map((Ae)=>Ae.embedding),usage:qe.usage?{tokens:qe.usage.prompt_tokens}:void 0,response:{headers:Z,body:be}}}},Jt=i(()=>s(t({id:e(),object:e().nullish(),bytes:r().nullish(),created_at:r().nullish(),filename:e().nullish(),purpose:e().nullish(),status:e().nullish(),expires_at:r().nullish()}))),Ii=i(()=>s(t({id:e(),object:e().nullish(),deleted:c()}))),wi=i(()=>s(t({purpose:e().optional(),expiresAfter:r().optional()}))),xi=class{get provider(){return this.config.provider}constructor(m){this.config=m,this.specificationVersion="v4"}getFileId(m){let _=m.openai;if(_==null||_.trim()==="")throw new b({argument:"file",message:"file reference is missing an 'openai' file id."});return _}getHeaders(m){return d(this.config.headers(),m)}async uploadFile({data:m,mediaType:_,filename:R,abortSignal:B,headers:G,providerOptions:W}){let Me;try{Me=await h({provider:"openai",providerOptions:W,schema:wi})}catch(Ue){if(m.type==="stream")await m.stream.cancel(Ue).catch(()=>{});throw Ue}let Z=Me?.purpose??"assistants",qe=this.getHeaders(G),be=`${this.config.baseURL}/files`,Ae;if(m.type==="stream"){let Ue=[{type:"field",name:"purpose",value:Z}];if(Me?.expiresAfter!=null)Ue.push({type:"field",name:"expires_after[anchor]",value:"created_at"},{type:"field",name:"expires_after[seconds]",value:String(Me.expiresAfter)});Ue.push({type:"file",name:"file",filename:R,mediaType:_,content:m.stream}),{value:Ae}=await en({url:be,headers:qe,parts:Ue,failedResponseHandler:gt,successfulResponseHandler:p(Jt),abortSignal:B,fetch:this.config.fetch})}else{let Ue=ve(m),Be=new Blob([Ue],{type:_}),Oe=new FormData;if(R!=null)Oe.append("file",Be,R);else Oe.append("file",Be);if(Oe.append("purpose",Z),Me?.expiresAfter!=null)Oe.append("expires_after[anchor]","created_at"),Oe.append("expires_after[seconds]",String(Me.expiresAfter));({value:Ae}=await ne({url:be,headers:qe,formData:Oe,failedResponseHandler:gt,successfulResponseHandler:p(Jt),abortSignal:B,fetch:this.config.fetch}))}return{warnings:[],providerReference:{openai:Ae.id},...Ae.filename??R?{filename:Ae.filename??R}:{},..._!=null?{mediaType:_}:{},...Ae.bytes!=null?{byteSize:Ae.bytes}:{},...Ae.created_at!=null?{createdAt:new Date(Ae.created_at*1000)}:{},...Ae.expires_at!=null?{expiresAt:new Date(Ae.expires_at*1000)}:{},providerMetadata:{openai:this.toFileMetadata(Ae)}}}async getFileMetadata({file:m,abortSignal:_,headers:R}){let B=this.getFileId(m),{value:G}=await P({url:`${this.config.baseURL}/files/${de(B)}`,headers:this.getHeaders(R),failedResponseHandler:gt,successfulResponseHandler:p(Jt),abortSignal:_,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{openai:G.id},...G.filename!=null?{filename:G.filename}:{},...G.bytes!=null?{byteSize:G.bytes}:{},...G.created_at!=null?{createdAt:new Date(G.created_at*1000)}:{},...G.expires_at!=null?{expiresAt:new Date(G.expires_at*1000)}:{},providerMetadata:{openai:this.toFileMetadata(G)}}}async downloadFile({file:m,abortSignal:_,headers:R}){let B=this.getFileId(m),{value:G,responseHeaders:W}=await P({url:`${this.config.baseURL}/files/${de(B)}/content`,headers:this.getHeaders(R),failedResponseHandler:gt,successfulResponseHandler:nn(),abortSignal:_,fetch:this.config.fetch,validateUrl:!1}),Me=W?.["content-type"]?.split(";")[0].trim();return{warnings:[],content:G,...Me?{mediaType:Me}:{}}}async deleteFile({file:m,abortSignal:_,headers:R}){let B=this.getFileId(m),{value:G}=await Kt({url:`${this.config.baseURL}/files/${de(B)}`,headers:this.getHeaders(R),failedResponseHandler:gt,successfulResponseHandler:p(Ii),abortSignal:_,fetch:this.config.fetch});return{warnings:[],providerReference:{openai:G.id},deleted:G.deleted}}toFileMetadata(m){return{...m.filename!=null?{filename:m.filename}:{},...m.purpose!=null?{purpose:m.purpose}:{},...m.bytes!=null?{bytes:m.bytes}:{},...m.created_at!=null?{createdAt:m.created_at}:{},...m.status!=null?{status:m.status}:{},...m.expires_at!=null?{expiresAt:m.expires_at}:{}}}},$o=i(()=>s(t({created:r().nullish(),data:o(t({b64_json:e(),revised_prompt:e().nullish()})),background:e().nullish(),output_format:e().nullish(),size:e().nullish(),quality:e().nullish(),usage:t({input_tokens:r().nullish(),output_tokens:r().nullish(),total_tokens:r().nullish(),input_tokens_details:t({image_tokens:r().nullish(),text_tokens:r().nullish()}).nullish()}).nullish()}))),ki={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"gpt-image-2.5-flare":10,"gpt-image-2.5-flare-2026-09-08":10,"gpt-image-2.5-sunburst":10,"gpt-image-2.5-sunburst-2026-09-08":10,"chatgpt-image-latest":10},Ci=["chatgpt-image-","gpt-image-"];function ji(m){return Ci.some((_)=>m.startsWith(_))}function Si(m){return ki[m]??(m.startsWith("gpt-image-")?10:1)}var jo=()=>t({quality:a(["standard","hd","low","medium","high","xhigh","max","auto"]).optional(),background:a(["transparent","opaque","auto"]).optional(),outputFormat:a(["png","jpeg","webp"]).optional(),outputCompression:r().int().min(0).max(100).optional(),user:e().optional()});i(()=>s(jo()));var Oi=i(()=>s(jo().extend({style:a(["vivid","natural"]).optional(),moderation:a(["auto","low"]).optional()}))),Ti=i(()=>s(jo().extend({inputFidelity:a(["high","low"]).optional()}))),Ri=class m{static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,_.config)}get maxImagesPerCall(){return Si(this.modelId)}get supportsFileInputs(){if(this.config.imageInputCapabilities!=null)return this.config.imageInputCapabilities.supportsFileInputs;if(["dall-e-2","gpt-image-1","gpt-image-1-mini","gpt-image-1.5","gpt-image-2","gpt-image-2.5-flare","gpt-image-2.5-flare-2026-09-08","gpt-image-2.5-sunburst","gpt-image-2.5-sunburst-2026-09-08","chatgpt-image-latest"].includes(this.modelId))return!0;return this.modelId==="dall-e-3"?!1:void 0}get supportsMaskInputs(){if(this.config.imageInputCapabilities!=null)return this.config.imageInputCapabilities.supportsMaskInputs;return this.supportsFileInputs}get provider(){return this.config.provider}constructor(_,R){this.modelId=_,this.config=R,this.specificationVersion="v4"}async doGenerate({prompt:_,files:R,mask:B,n:G,size:W,aspectRatio:Me,seed:Z,providerOptions:qe,headers:be,abortSignal:Ae}){let Ue=[];if(Me!=null)Ue.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(Z!=null)Ue.push({type:"unsupported",feature:"seed"});let Be=this.config._internal?.currentDate?.()??new Date;if(R!=null){let ke=await h({provider:"openai",providerOptions:qe,schema:Ti})??{},{value:$e,responseHeaders:Se}=await ne({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:d(this.config.headers?.(),be),formData:rt({model:this.modelId,prompt:_,image:await Promise.all(R.map((Ne)=>Ne.type==="file"?new Blob([Ne.data instanceof Uint8Array?new Blob([Ne.data],{type:Ne.mediaType}):new Blob([q(Ne.data)],{type:Ne.mediaType})],{type:Ne.mediaType}):Te(Ne.url,{abortSignal:Ae}))),mask:B!=null?await Ai(B,Ae):void 0,n:G,size:W,quality:ke.quality,background:ke.background,output_format:ke.outputFormat,output_compression:ke.outputCompression,input_fidelity:ke.inputFidelity,user:ke.user}),failedResponseHandler:gt,successfulResponseHandler:p($o),abortSignal:Ae,fetch:this.config.fetch});return{images:$e.data.map((Ne)=>Ne.b64_json),warnings:Ue,usage:$e.usage!=null?{inputTokens:$e.usage.input_tokens??void 0,outputTokens:$e.usage.output_tokens??void 0,totalTokens:$e.usage.total_tokens??void 0}:void 0,response:{timestamp:Be,modelId:this.modelId,headers:Se},providerMetadata:{openai:{images:$e.data.map((Ne,De)=>({...Ne.revised_prompt?{revisedPrompt:Ne.revised_prompt}:{},created:$e.created??void 0,size:$e.size??void 0,quality:$e.quality??void 0,background:$e.background??void 0,outputFormat:$e.output_format??void 0,...Po($e.usage?.input_tokens_details,De,$e.data.length)}))}}}}let Oe=await h({provider:"openai",providerOptions:qe,schema:Oi})??{},{value:Pe,responseHeaders:Fe}=await g({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:d(this.config.headers?.(),be),body:{model:this.modelId,prompt:_,n:G,size:W,quality:Oe.quality,style:Oe.style,background:Oe.background,moderation:Oe.moderation,output_format:Oe.outputFormat,output_compression:Oe.outputCompression,user:Oe.user,...!ji(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:gt,successfulResponseHandler:p($o),abortSignal:Ae,fetch:this.config.fetch});return{images:Pe.data.map((ke)=>ke.b64_json),warnings:Ue,usage:Pe.usage!=null?{inputTokens:Pe.usage.input_tokens??void 0,outputTokens:Pe.usage.output_tokens??void 0,totalTokens:Pe.usage.total_tokens??void 0}:void 0,response:{timestamp:Be,modelId:this.modelId,headers:Fe},providerMetadata:{openai:{images:Pe.data.map((ke,$e)=>({...ke.revised_prompt?{revisedPrompt:ke.revised_prompt}:{},created:Pe.created??void 0,size:Pe.size??void 0,quality:Pe.quality??void 0,background:Pe.background??void 0,outputFormat:Pe.output_format??void 0,...Po(Pe.usage?.input_tokens_details,$e,Pe.data.length)}))}}}}};function Po(m,_,R){if(m==null)return{};let B={};if(m.image_tokens!=null){let G=Math.floor(m.image_tokens/R),W=m.image_tokens-G*(R-1);B.imageTokens=_===R-1?W:G}if(m.text_tokens!=null){let G=Math.floor(m.text_tokens/R),W=m.text_tokens-G*(R-1);B.textTokens=_===R-1?W:G}return B}async function Ai(m,_){if(!m)return;if(m.type==="url")return Te(m.url,{abortSignal:_});let R=m.data instanceof Uint8Array?m.data:q(m.data);return new Blob([R],{type:m.mediaType})}var fn=i(()=>s(t({callId:e(),operation:f("type",[t({type:n("create_file"),path:e(),diff:e()}),t({type:n("delete_file"),path:e()}),t({type:n("update_file"),path:e(),diff:e()})])}))),yn=i(()=>s(t({status:a(["completed","failed"]),output:e().optional()})));i(()=>s(t({})));var qi=Je({id:"openai.apply_patch",inputSchema:fn,outputSchema:yn}),Mi=i(()=>s(t({code:e().nullish(),containerId:e()}))),Ni=i(()=>s(t({outputs:o(f("type",[t({type:n("logs"),logs:e()}),t({type:n("image"),url:e()})])).nullish()}))),Ei=i(()=>s(t({container:l([e(),t({fileIds:o(e()).optional()})]).optional()}))),$i=k({id:"openai.code_interpreter",inputSchema:Mi,outputSchema:Ni}),Pi=(m={})=>$i(m),_n=()=>t({id:e(),code:e().optional(),message:e().optional()}),Ui=()=>f("type",[t({type:n("click"),button:a(["left","right","wheel","back","forward"]),x:r(),y:r(),keys:o(e()).optional()}),t({type:n("double_click"),x:r(),y:r(),keys:o(e()).optional()}),t({type:n("drag"),path:o(t({x:r(),y:r()})),keys:o(e()).optional()}),t({type:n("keypress"),keys:o(e())}),t({type:n("move"),x:r(),y:r(),keys:o(e()).optional()}),t({type:n("screenshot")}),t({type:n("scroll"),x:r(),y:r(),scrollX:r(),scrollY:r(),keys:o(e()).optional()}),t({type:n("type"),text:e()}),t({type:n("wait")})]),bn=i(()=>s(t({actions:o(Ui()),pendingSafetyChecks:o(_n()),status:a(["in_progress","completed","incomplete"])}))),vn=i(()=>s(t({output:l([t({type:n("computer_screenshot"),imageUrl:e(),fileId:e().optional(),detail:a(["auto","low","high","original"]).optional()}),t({type:n("computer_screenshot"),fileId:e(),imageUrl:e().optional(),detail:a(["auto","low","high","original"]).optional()})]),acknowledgedSafetyChecks:o(_n()).optional()}))),Di=Je({id:"openai.computer",inputSchema:bn,outputSchema:vn}),Li=(m={})=>Di(m),Fi=i(()=>s(t({description:e().optional(),async:c().optional(),format:l([t({type:n("grammar"),syntax:a(["regex","lark"]),definition:e()}),t({type:n("text")})]).optional()}))),Bi=i(()=>s(e())),zi=re({id:"openai.custom",inputSchema:Bi}),Hi=(m)=>zi(m),In=()=>t({key:e(),type:a(["eq","ne","gt","gte","lt","lte","in","nin"]),value:l([e(),r(),c(),o(e())])}),Ji,wn=()=>Ji??=t({type:a(["and","or"]),filters:o(l([In(),je(()=>wn())]))}),Vi=i(()=>s(t({vectorStoreIds:o(e()),maxNumResults:r().optional(),ranking:t({ranker:e().optional(),scoreThreshold:r().optional()}).optional(),filters:l([In(),wn()]).optional()}))),Wi=i(()=>s(t({queries:o(e()),results:o(t({attributes:y(e(),w()),fileId:e(),filename:e(),score:r(),text:e()})).nullable()}))),Gi=k({id:"openai.file_search",inputSchema:t({}),outputSchema:Wi}),Ki=i(()=>s(t({action:a(["generate","edit","auto"]).optional(),background:a(["auto","opaque","transparent"]).optional(),inputFidelity:a(["low","high"]).optional(),inputImageMask:t({fileId:e().optional(),imageUrl:e().optional()}).optional(),model:e().optional(),moderation:a(["auto","low"]).optional(),outputCompression:r().int().min(0).max(100).optional(),outputFormat:a(["png","jpeg","webp"]).optional(),partialImages:r().int().min(0).max(3).optional(),quality:a(["auto","low","medium","high","xhigh","max"]).optional(),size:l([a(["1024x1024","1024x1536","1536x1024","auto"]),e().regex(/^\d+x\d+$/)]).optional()}).strict())),Zi=i(()=>s(t({}))),Yi=i(()=>s(t({result:e()}))),Xi=k({id:"openai.image_generation",inputSchema:Zi,outputSchema:Yi}),Qi=(m={})=>Xi(m),xn=i(()=>s(t({action:t({type:n("exec"),command:o(e()),timeoutMs:r().optional(),user:e().optional(),workingDirectory:e().optional(),env:y(e(),e()).optional()})}))),kn=i(()=>s(t({output:e()}))),es=Je({id:"openai.local_shell",inputSchema:xn,outputSchema:kn}),Cn=i(()=>s(t({action:t({commands:o(e()),timeoutMs:r().optional(),maxOutputLength:r().optional()})}))),io=i(()=>s(t({maxOutputLength:r().optional(),output:o(t({stdout:e(),stderr:e(),outcome:f("type",[t({type:n("timeout")}),t({type:n("exit"),exitCode:r()})])}))}))),ts=()=>o(f("type",[t({type:n("skillReference"),providerReference:y(e(),e()),version:e().optional()}),t({type:n("inline"),name:e(),description:e(),source:t({type:n("base64"),mediaType:n("application/zip"),data:e()})})])).optional(),os=i(()=>s(t({environment:l([t({type:n("containerAuto"),fileIds:o(e()).optional(),memoryLimit:a(["1g","4g","16g","64g"]).optional(),networkPolicy:f("type",[t({type:n("disabled")}),t({type:n("allowlist"),allowedDomains:o(e()),domainSecrets:o(t({domain:e(),name:e(),value:e()})).optional()})]).optional(),skills:ts()}),t({type:n("containerReference"),containerId:e()}),t({type:n("local").optional(),skills:o(t({name:e(),description:e(),path:e()})).optional()})]).optional()}))),ns=Je({id:"openai.shell",inputSchema:Cn,outputSchema:io}),is=i(()=>s(t({execution:a(["server","client"]).optional(),description:e().optional(),parameters:y(e(),w()).optional()}))),so=i(()=>s(t({arguments:w().optional(),call_id:e().nullish()}))),ao=i(()=>s(t({tools:o(y(e(),w()))}))),ss=Je({id:"openai.tool_search",inputSchema:so,outputSchema:ao}),as=(m={})=>ss(m),rs=i(()=>s(t({externalWebAccess:c().optional(),filters:t({allowedDomains:o(e()).optional(),blockedDomains:o(e()).optional()}).optional(),searchContextSize:a(["low","medium","high"]).optional(),userLocation:t({type:n("approximate"),country:e().optional(),city:e().optional(),region:e().optional(),timezone:e().optional()}).optional()}))),ls=i(()=>s(t({}))),jn=i(()=>s(t({action:f("type",[t({type:n("search"),query:e().optional(),queries:o(e()).optional()}),t({type:n("openPage"),url:e().nullish()}),t({type:n("findInPage"),url:e().nullish(),pattern:e().nullish()})]).optional(),sources:o(f("type",[t({type:n("url"),url:e()}),t({type:n("api"),name:e()})])).optional()}))),us=k({id:"openai.web_search",inputSchema:ls,outputSchema:jn}),ps=(m={})=>us(m),cs=i(()=>s(t({searchContextSize:a(["low","medium","high"]).optional(),userLocation:t({type:n("approximate"),country:e().optional(),city:e().optional(),region:e().optional(),timezone:e().optional()}).optional()}))),ds=i(()=>s(t({}))),ms=i(()=>s(t({action:f("type",[t({type:n("search"),query:e().optional()}),t({type:n("openPage"),url:e().nullish()}),t({type:n("findInPage"),url:e().nullish(),pattern:e().nullish()})]).optional()}))),gs=k({id:"openai.web_search_preview",inputSchema:ds,outputSchema:ms}),hs,ro=()=>hs??=je(()=>l([e(),r(),c(),Ve(),o(ro()),y(e(),ro())])),fs=i(()=>s(t({serverLabel:e(),allowedTools:l([o(e()),t({readOnly:c().optional(),toolNames:o(e()).optional()})]).optional(),authorization:e().optional(),connectorId:e().optional(),headers:y(e(),e()).optional(),requireApproval:l([a(["always","never"]),t({never:t({toolNames:o(e()).optional()}).optional()})]).optional(),serverDescription:e().optional(),serverUrl:e().optional()}).refine((m)=>m.serverUrl!=null||m.connectorId!=null,"One of serverUrl or connectorId must be provided."))),ys=i(()=>s(t({}))),_s=i(()=>s(t({type:n("call"),serverLabel:e(),name:e(),arguments:e(),output:e().nullish(),error:l([e(),ro()]).optional()}))),bs=k({id:"openai.mcp",inputSchema:ys,outputSchema:_s}),vs=(m)=>bs(m),Sn=i(()=>s(t({code:e(),fingerprint:e()}))),On=i(()=>s(t({result:e(),status:a(["completed","incomplete"])}))),Is=k({id:"openai.programmatic_tool_calling",inputSchema:Sn,outputSchema:On,supportsDeferredResults:!0}),ws=()=>Ke(Is({}),{type:"provider",prepareProviderOptions:(m)=>{let _=m?.openai;return{...m,openai:{..._,allowedCallers:[...new Set([..._?.allowedCallers??[],"programmatic"])]}}}}),xs={applyPatch:qi,customTool:Hi,codeInterpreter:Pi,computer:Li,fileSearch:Gi,imageGeneration:Qi,localShell:es,shell:ns,webSearchPreview:gs,webSearch:ps,mcp:vs,programmaticToolCalling:ws,toolSearch:as};function lo(m){if(m==null)return te();let{input_tokens:_,output_tokens:R}=m,B=m.input_tokens_details?.cached_tokens??0,G=m.input_tokens_details?.cache_write_tokens??void 0,W=m.output_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:_,noCache:_-B-(G??0),cacheRead:B,cacheWrite:G},outputTokens:{total:R,text:R-W,reasoning:W},raw:m}}function Wt({finishReason:m,hasFunctionCall:_}){switch(m){case void 0:case null:return _?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return _?"tool-calls":"other"}}var ks,Ot=()=>ks??=je(()=>l([e(),r(),c(),Ve(),o(Ot()),y(e(),Ot().optional())])),Lt=()=>y(e(),Ot().optional()),uo=()=>nt(Lt(),t({input_tokens:r(),input_tokens_details:nt(Lt(),t({cached_tokens:r().nullish(),cache_write_tokens:r().nullish(),cache_write_tokens_details:nt(Lt(),t({ttl_30m_tokens:r().nullish(),ttl_12h_tokens:r().nullish()})).nullish(),orchestration_input_tokens:r().nullish(),orchestration_input_cached_tokens:r().nullish()})).nullish(),output_tokens:r(),output_tokens_details:nt(Lt(),t({reasoning_tokens:r().nullish(),orchestration_output_tokens:r().nullish()})).nullish(),total_tokens:r().optional()})),Cs=()=>t({id:e(),code:e().nullish(),message:e().nullish()}),Uo=()=>f("type",[t({type:n("click"),button:a(["left","right","wheel","back","forward"]),x:r(),y:r(),keys:o(e()).nullish()}),t({type:n("double_click"),x:r(),y:r(),keys:o(e()).nullish()}),t({type:n("drag"),path:o(t({x:r(),y:r()})),keys:o(e()).nullish()}),t({type:n("keypress"),keys:o(e())}),t({type:n("move"),x:r(),y:r(),keys:o(e()).nullish()}),t({type:n("screenshot")}),t({type:n("scroll"),x:r(),y:r(),scroll_x:r(),scroll_y:r(),keys:o(e()).nullish()}),t({type:n("type"),text:e()}),t({type:n("wait")})]),po=()=>t({type:n("computer_call"),id:e(),call_id:e().nullish(),status:a(["in_progress","completed","incomplete"]),action:Uo().nullish(),actions:o(Uo()).nullish(),pending_safety_checks:o(Cs()).nullish()}),co=()=>f("type",[t({type:n("direct")}),t({type:n("program"),caller_id:e()})]),mo=()=>t({type:n("program"),id:e(),call_id:e(),code:e(),fingerprint:e()}),go=()=>t({type:n("program_output"),id:e(),call_id:e(),result:e(),status:a(["completed","incomplete"])}),ho=()=>t({type:n("local_shell_call"),id:e(),call_id:e(),action:t({type:n("exec"),command:o(e()),timeout_ms:r().optional(),user:e().optional(),working_directory:e().optional(),env:y(e(),e()).optional()})}),js=()=>t({type:n("error"),sequence_number:r(),error:t({type:e(),code:e().nullish(),message:e(),param:e().nullish()})}),Ss=()=>t({type:n("error"),sequence_number:r(),code:e().nullish(),message:e(),param:e().nullish()}),Os=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"]),Ts=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 Rs(m){if(typeof m.type!=="string"||!Os.has(m.type))return!1;if(m.type!=="response.output_item.added"&&m.type!=="response.output_item.done")return!0;if(!j(m.item)||typeof m.item.type!=="string")return!0;return Ts.has(m.item.type)}var As=i(()=>s(l([t({type:n("response.output_text.delta"),item_id:e(),output_index:r().nullish(),delta:e(),logprobs:o(t({token:e(),logprob:r(),top_logprobs:o(t({token:e(),logprob:r()}))})).nullish()}),t({type:a(["response.completed","response.incomplete"]),response:t({incomplete_details:t({reason:e()}).nullish(),usage:uo().nullish(),reasoning:t({context:e().nullish()}).nullish(),service_tier:e().nullish()})}),t({type:n("response.failed"),sequence_number:r(),response:t({error:t({code:e().nullish(),message:e()}).nullish(),incomplete_details:t({reason:e()}).nullish(),usage:uo().nullish(),reasoning:t({context:e().nullish()}).nullish(),service_tier:e().nullish()})}),t({type:n("response.created"),response:t({id:e(),created_at:r(),model:e(),service_tier:e().nullish()})}),t({type:n("response.in_progress"),response:t({id:e(),created_at:r(),model:e(),service_tier:e().nullish()})}),t({type:n("response.output_item.added"),output_index:r(),item:f("type",[t({type:n("message"),id:e(),phase:a(["commentary","final_answer"]).nullish()}),t({type:n("reasoning"),id:e(),encrypted_content:e().nullish()}),t({type:n("function_call"),id:e(),call_id:e(),name:e(),arguments:e(),async:c().nullish(),namespace:e().nullish(),caller:co().nullish()}),mo(),go(),t({type:n("web_search_call"),id:e(),status:e()}),po(),t({type:n("file_search_call"),id:e()}),ho(),t({type:n("image_generation_call"),id:e()}),t({type:n("code_interpreter_call"),id:e(),container_id:e(),code:e().nullable(),outputs:o(f("type",[t({type:n("logs"),logs:e()}),t({type:n("image"),url:e()})])).nullable(),status:e()}),t({type:n("mcp_call"),id:e(),status:e(),approval_request_id:e().nullish()}),t({type:n("mcp_list_tools"),id:e()}),t({type:n("mcp_approval_request"),id:e()}),t({type:n("apply_patch_call"),id:e(),call_id:e(),status:a(["in_progress","completed"]),operation:f("type",[t({type:n("create_file"),path:e(),diff:e()}),t({type:n("delete_file"),path:e()}),t({type:n("update_file"),path:e(),diff:e()})])}),t({type:n("custom_tool_call"),id:e(),call_id:e(),name:e(),input:e(),async:c().nullish()}),t({type:n("shell_call"),id:e(),call_id:e(),status:a(["in_progress","completed","incomplete"]),action:t({commands:o(e()),timeout_ms:r().nullish(),max_output_length:r().nullish()})}),t({type:n("compaction"),id:e(),encrypted_content:e().nullish()}),t({type:n("shell_call_output"),id:e(),call_id:e(),status:a(["in_progress","completed","incomplete"]),max_output_length:r().nullish(),output:o(t({stdout:e(),stderr:e(),outcome:f("type",[t({type:n("timeout")}),t({type:n("exit"),exit_code:r()})])}))}),t({type:n("tool_search_call"),id:e(),execution:a(["server","client"]),call_id:e().nullable(),status:a(["in_progress","completed","incomplete"]),arguments:w()}),t({type:n("tool_search_output"),id:e(),execution:a(["server","client"]),call_id:e().nullable(),status:a(["in_progress","completed","incomplete"]),tools:o(y(e(),Ot().optional()))})])}),t({type:n("response.output_item.done"),output_index:r(),item:f("type",[t({type:n("message"),id:e(),phase:a(["commentary","final_answer"]).nullish()}),t({type:n("reasoning"),id:e(),encrypted_content:e().nullish()}),t({type:n("function_call"),id:e(),call_id:e(),name:e(),arguments:e(),async:c().nullish(),status:a(["in_progress","completed","incomplete"]),namespace:e().nullish(),caller:co().nullish()}),mo(),go(),t({type:n("custom_tool_call"),id:e(),call_id:e(),name:e(),input:e(),async:c().nullish(),status:n("completed")}),t({type:n("code_interpreter_call"),id:e(),code:e().nullable(),container_id:e(),outputs:o(f("type",[t({type:n("logs"),logs:e()}),t({type:n("image"),url:e()})])).nullable()}),t({type:n("image_generation_call"),id:e(),result:e()}),t({type:n("web_search_call"),id:e(),status:e(),action:f("type",[t({type:n("search"),query:e().nullish(),queries:o(e()).nullish(),sources:o(f("type",[t({type:n("url"),url:e()}),t({type:n("api"),name:e()})])).nullish()}),t({type:n("open_page"),url:e().nullish()}),t({type:n("find_in_page"),url:e().nullish(),pattern:e().nullish()})]).nullish()}),t({type:n("file_search_call"),id:e(),queries:o(e()),results:o(t({attributes:y(e(),l([e(),r(),c()])),file_id:e(),filename:e(),score:r(),text:e()})).nullish()}),ho(),po(),t({type:n("mcp_call"),id:e(),status:e(),arguments:e(),name:e(),server_label:e(),output:e().nullish(),error:l([e(),t({type:e().optional(),code:l([r(),e()]).optional(),message:e().optional()}).loose()]).nullish(),approval_request_id:e().nullish()}),t({type:n("mcp_list_tools"),id:e(),server_label:e(),tools:o(t({name:e(),description:e().optional(),input_schema:ae(),annotations:y(e(),w()).optional()})),error:l([e(),t({type:e().optional(),code:l([r(),e()]).optional(),message:e().optional()}).loose()]).optional()}),t({type:n("mcp_approval_request"),id:e(),server_label:e(),name:e(),arguments:e(),approval_request_id:e().optional()}),t({type:n("apply_patch_call"),id:e(),call_id:e(),status:a(["in_progress","completed"]),operation:f("type",[t({type:n("create_file"),path:e(),diff:e()}),t({type:n("delete_file"),path:e()}),t({type:n("update_file"),path:e(),diff:e()})])}),t({type:n("shell_call"),id:e(),call_id:e(),status:a(["in_progress","completed","incomplete"]),action:t({commands:o(e()),timeout_ms:r().nullish(),max_output_length:r().nullish()})}),t({type:n("compaction"),id:e(),encrypted_content:e()}),t({type:n("shell_call_output"),id:e(),call_id:e(),status:a(["in_progress","completed","incomplete"]),max_output_length:r().nullish(),output:o(t({stdout:e(),stderr:e(),outcome:f("type",[t({type:n("timeout")}),t({type:n("exit"),exit_code:r()})])}))}),t({type:n("tool_search_call"),id:e(),execution:a(["server","client"]),call_id:e().nullable(),status:a(["in_progress","completed","incomplete"]),arguments:w()}),t({type:n("tool_search_output"),id:e(),execution:a(["server","client"]),call_id:e().nullable(),status:a(["in_progress","completed","incomplete"]),tools:o(y(e(),Ot().optional()))})])}),t({type:n("response.function_call_arguments.delta"),item_id:e(),output_index:r(),delta:e()}),t({type:n("response.function_call_arguments.done"),item_id:e(),output_index:r(),arguments:e()}),t({type:n("response.custom_tool_call_input.delta"),item_id:e(),output_index:r(),delta:e()}),t({type:n("response.image_generation_call.partial_image"),item_id:e(),output_index:r(),partial_image_b64:e()}),t({type:n("response.code_interpreter_call_code.delta"),item_id:e(),output_index:r(),delta:e()}),t({type:n("response.code_interpreter_call_code.done"),item_id:e(),output_index:r(),code:e()}),t({type:n("response.output_text.annotation.added"),annotation:f("type",[t({type:n("url_citation"),start_index:r(),end_index:r(),url:e(),title:e()}),t({type:n("file_citation"),file_id:e(),filename:e(),index:r()}),t({type:n("container_file_citation"),container_id:e(),file_id:e(),filename:e(),start_index:r(),end_index:r()}),t({type:n("file_path"),file_id:e(),index:r()})])}),t({type:n("response.reasoning_summary_part.added"),item_id:e(),output_index:r().nullish(),summary_index:r()}),t({type:n("response.reasoning_summary_text.delta"),item_id:e(),output_index:r().nullish(),summary_index:r(),delta:e()}),t({type:n("response.reasoning_summary_part.done"),item_id:e(),output_index:r().nullish(),summary_index:r()}),t({type:n("response.apply_patch_call_operation_diff.delta"),item_id:e(),output_index:r(),delta:e(),obfuscation:e().nullish()}),t({type:n("response.apply_patch_call_operation_diff.done"),item_id:e(),output_index:r(),diff:e()}),js(),Ss(),t({type:e()}).loose().refine((m)=>!Rs(m),{message:"Known response chunk failed schema validation"}).transform((m)=>({type:"unknown_chunk",message:m.type}))])));var Tn=i(()=>s(t({id:e().optional(),created_at:r().optional(),error:t({message:e(),type:e(),param:e().nullish(),code:e()}).nullish(),model:e().optional(),output:o(f("type",[t({type:n("message"),role:n("assistant"),id:e(),phase:a(["commentary","final_answer"]).nullish(),content:o(t({type:n("output_text"),text:e(),logprobs:o(t({token:e(),logprob:r(),top_logprobs:o(t({token:e(),logprob:r()}))})).nullish(),annotations:o(f("type",[t({type:n("url_citation"),start_index:r(),end_index:r(),url:e(),title:e()}),t({type:n("file_citation"),file_id:e(),filename:e(),index:r()}),t({type:n("container_file_citation"),container_id:e(),file_id:e(),filename:e(),start_index:r(),end_index:r()}),t({type:n("file_path"),file_id:e(),index:r()})]))}))}),t({type:n("web_search_call"),id:e(),status:e(),action:f("type",[t({type:n("search"),query:e().nullish(),queries:o(e()).nullish(),sources:o(f("type",[t({type:n("url"),url:e()}),t({type:n("api"),name:e()})])).nullish()}),t({type:n("open_page"),url:e().nullish()}),t({type:n("find_in_page"),url:e().nullish(),pattern:e().nullish()})]).nullish()}),t({type:n("file_search_call"),id:e(),queries:o(e()),results:o(t({attributes:y(e(),l([e(),r(),c()])),file_id:e(),filename:e(),score:r(),text:e()})).nullish()}),t({type:n("code_interpreter_call"),id:e(),code:e().nullable(),container_id:e(),outputs:o(f("type",[t({type:n("logs"),logs:e()}),t({type:n("image"),url:e()})])).nullable()}),t({type:n("image_generation_call"),id:e(),result:e()}),ho(),t({type:n("function_call"),call_id:e(),name:e(),arguments:e(),id:e(),async:c().nullish(),namespace:e().nullish(),caller:co().nullish()}),mo(),go(),t({type:n("custom_tool_call"),call_id:e(),name:e(),input:e(),id:e(),async:c().nullish()}),po(),t({type:n("reasoning"),id:e(),encrypted_content:e().nullish(),summary:o(t({type:n("summary_text"),text:e()}))}),t({type:n("mcp_call"),id:e(),status:e(),arguments:e(),name:e(),server_label:e(),output:e().nullish(),error:l([e(),t({type:e().optional(),code:l([r(),e()]).optional(),message:e().optional()}).loose()]).nullish(),approval_request_id:e().nullish()}),t({type:n("mcp_list_tools"),id:e(),server_label:e(),tools:o(t({name:e(),description:e().optional(),input_schema:ae(),annotations:y(e(),w()).optional()})),error:l([e(),t({type:e().optional(),code:l([r(),e()]).optional(),message:e().optional()}).loose()]).optional()}),t({type:n("mcp_approval_request"),id:e(),server_label:e(),name:e(),arguments:e(),approval_request_id:e().optional()}),t({type:n("apply_patch_call"),id:e(),call_id:e(),status:a(["in_progress","completed"]),operation:f("type",[t({type:n("create_file"),path:e(),diff:e()}),t({type:n("delete_file"),path:e()}),t({type:n("update_file"),path:e(),diff:e()})])}),t({type:n("shell_call"),id:e(),call_id:e(),status:a(["in_progress","completed","incomplete"]),action:t({commands:o(e()),timeout_ms:r().nullish(),max_output_length:r().nullish()})}),t({type:n("compaction"),id:e(),encrypted_content:e()}),t({type:n("shell_call_output"),id:e(),call_id:e(),status:a(["in_progress","completed","incomplete"]),max_output_length:r().nullish(),output:o(t({stdout:e(),stderr:e(),outcome:f("type",[t({type:n("timeout")}),t({type:n("exit"),exit_code:r()})])}))}),t({type:n("tool_search_call"),id:e(),execution:a(["server","client"]),call_id:e().nullable(),status:a(["in_progress","completed","incomplete"]),arguments:w()}),t({type:n("tool_search_output"),id:e(),execution:a(["server","client"]),call_id:e().nullable(),status:a(["in_progress","completed","incomplete"]),tools:o(y(e(),Ot().optional()))})])).optional(),service_tier:e().nullish(),reasoning:t({context:e().nullish()}).nullish(),incomplete_details:t({reason:e()}).nullish(),usage:uo().nullish()}))),Do=i(()=>s(t({conversation:e().nullish(),include:o(a(["reasoning.encrypted_content","file_search_call.results","web_search_call.results","message.output_text.logprobs"])).nullish(),includeWebSearchSources:c().optional(),instructions:e().nullish(),logprobs:l([c(),r().min(1).max(20)]).optional(),maxToolCalls:r().nullish(),metadata:ae().nullish(),parallelToolCalls:c().nullish(),previousResponseId:e().nullish(),promptCacheKey:e().nullish(),promptCacheOptions:t({mode:a(["implicit","explicit"]).optional(),ttl:a(["30m","12h"]).optional(),prewarm:c().optional()}).optional(),promptCacheRetention:a(["in_memory","24h"]).nullish(),reasoningEffort:e().nullish(),reasoningEffortUpdate:a(["none","low","medium","high","xhigh","max"]).optional(),reasoningMode:a(["standard","pro"]).optional(),reasoningContext:a(["auto","current_turn","all_turns"]).optional(),reasoningSummary:e().nullish(),safetyIdentifier:e().nullish(),serviceTier:a(["auto","flex","priority","fast","ultrafast","default"]).nullish(),store:c().nullish(),passThroughUnsupportedFiles:c().optional(),strictJsonSchema:c().nullish(),textVerbosity:a(["low","medium","high"]).nullish(),truncation:a(["auto","disabled"]).nullish(),user:e().nullish(),systemMessageMode:a(["system","developer","remove"]).optional(),forceReasoning:c().optional(),contextManagement:o(t({type:n("compaction"),compactThreshold:r()})).nullish(),compactionTrigger:c().optional(),allowedTools:t({toolNames:o(e()).min(1),mode:a(["auto","required"]).optional()}).optional()}))),Lo=i(()=>s(t({reasoningEffortUpdate:a(["none","low","medium","high","xhigh","max"]).optional()}))),qs=i(()=>s(t({additionalTools:o(se({type:n("function"),name:e().min(1),description:e().optional(),parameters:y(e(),F()),strict:c().optional()})).optional()}))),Fo="parallel",Ms="functions.";function fo({providerOptions:m,providerOptionsName:_}){let R=m?.[_]?.parallelToolCall;if(!et(R)||typeof R.itemId!=="string"||typeof R.toolCallId!=="string"||typeof R.toolName!=="string"||typeof R.input!=="string"||typeof R.index!=="number"||!Number.isInteger(R.index)||typeof R.count!=="number"||!Number.isInteger(R.count)||R.index<0||R.count<=R.index)return;return R}function yo({toolName:m,tools:_}){return m===Fo&&!_.some((R)=>R.name===Fo)}async function Bo({toolCall:m,tools:_,providerOptionsName:R,itemId:B}){if(!yo({toolName:m.toolName,tools:_}))return;let G=await J({text:m.input});if(!G.success||!et(G.value))return;let W=G.value.tool_uses;if(!Array.isArray(W)||W.length===0)return;let Me=new Set(_.map((qe)=>qe.name)),Z=[];for(let[qe,be]of W.entries()){if(!et(be))return;let{recipient_name:Ae,parameters:Ue}=be;if(typeof Ae!=="string"||!Ae.startsWith(Ms)||!et(Ue))return;let Be=Ae.slice(10);if(Be.length===0||!Me.has(Be))return;Z.push({type:"tool-call",toolCallId:`${m.toolCallId}_${qe}`,toolName:Be,input:JSON.stringify(Ue),providerMetadata:{[R]:{parallelToolCall:{itemId:B,toolCallId:m.toolCallId,toolName:m.toolName,input:m.input,index:qe,count:W.length}}}})}return Z}function Ns(m){return JSON.stringify(m===void 0?{}:m)}function zo(m){return m==null?void 0:m.type==="program"?{type:"program",caller_id:m.callerId}:m}async function Es({output:m,id:_}){if(m.type!=="json")return;let R=await N({value:m.value,schema:jn});if(!R.success||R.value.action==null)return;let{action:B,sources:G}=R.value;switch(B.type){case"search":return{type:"web_search_call",id:_,status:"completed",action:{type:"search",...B.query!=null&&{query:B.query},...B.queries!=null&&{queries:B.queries},...G!=null&&{sources:G}}};case"openPage":return{type:"web_search_call",id:_,status:"completed",action:{type:"open_page",url:B.url}};case"findInPage":return{type:"web_search_call",id:_,status:"completed",action:{type:"find_in_page",url:B.url,pattern:B.pattern}}}}async function Ho({output:m,toolName:_,outputSchemaToolNames:R,promptCacheBreakpoint:B,providerOptionsName:G,warnings:W}){let Me=R?.has(_),Z=(qe)=>B==null?qe:[{type:"input_text",text:qe,prompt_cache_breakpoint:B}];switch(m.type){case"text":return Z(Me?JSON.stringify(m.value):m.value);case"error-text":case"error-json":return Z(JSON.stringify({error:m.value}));case"execution-denied":{let qe=m.reason??"Tool call execution denied.";return Z(Me?JSON.stringify(qe):qe)}case"json":return Z(JSON.stringify(m.value));case"content":return m.value.map((qe)=>{let be=jt(qe.providerOptions,G);switch(qe.type){case"text":return{type:"input_text",text:qe.text,...be!=null&&{prompt_cache_breakpoint:be}};case"file":{let Ae=z(qe.mediaType),Ue=qe.providerOptions?.[G]?.imageDetail;if(qe.data.type==="reference"){let Be=V({reference:qe.data.reference,provider:G});if(Ae==="image")return{type:"input_image",file_id:Be,detail:Ue,...be!=null&&{prompt_cache_breakpoint:be}};return{type:"input_file",file_id:Be,...be!=null&&{prompt_cache_breakpoint:be}}}if(qe.data.type==="data"){let Be=O({part:qe});if(Ae==="image")return{type:"input_image",image_url:`data:${Be};base64,${T(qe.data.data)}`,detail:Ue,...be!=null&&{prompt_cache_breakpoint:be}};return{type:"input_file",filename:qe.filename??"data",file_data:`data:${Be};base64,${T(qe.data.data)}`,...be!=null&&{prompt_cache_breakpoint:be}}}if(qe.data.type==="url"){if(Ae==="image")return{type:"input_image",image_url:qe.data.url.toString(),detail:Ue,...be!=null&&{prompt_cache_breakpoint:be}};return{type:"input_file",file_url:qe.data.url.toString(),...be!=null&&{prompt_cache_breakpoint:be}}}W.push({type:"other",message:`unsupported tool content part type: ${qe.type} with data type: ${qe.data.type}`});return}default:W.push({type:"other",message:`unsupported tool content part type: ${qe.type}`});return}}).filter(ze)}}function _o(m,_){return m.itemId===_.itemId&&m.toolCallId===_.toolCallId&&m.toolName===_.toolName&&m.input===_.input&&m.count===_.count}function $s({prompt:m,providerOptionsName:_}){let R=new Map;for(let G of m){if(G.role!=="tool")continue;for(let W of G.content){if(W.type!=="tool-result")continue;let Me=fo({providerOptions:W.providerOptions,providerOptionsName:_});if(Me==null)continue;let Z=R.get(Me.toolCallId);if(Z==null){R.set(Me.toolCallId,{metadata:Me,results:new Map([[Me.index,W]]),invalid:!1});continue}if(!_o(Z.metadata,Me)||Z.results.has(Me.index)){Z.invalid=!0;continue}Z.results.set(Me.index,W)}}let B=new Map;for(let[G,W]of R){if(W.invalid||W.results.size!==W.metadata.count)continue;let Me=Array.from({length:W.metadata.count},(Z,qe)=>W.results.get(qe));if(Me.every(ze))B.set(G,{metadata:W.metadata,results:Me})}return B}function jt(m,_){return m?.[_]?.promptCacheBreakpoint}function to({output:m,toolResultProviderOptions:_,providerOptionsName:R}){return m.type==="content"?void 0:jt(m.providerOptions,R)??jt(_,R)}function Jo(m,_){if(!_)return!1;return _.some((R)=>m.startsWith(R))}async function Ps({prompt:m,toolNameMapping:_,systemMessageMode:R,providerOptionsName:B,explicitMessageItemType:G=!1,fileIdPrefixes:W,passThroughUnsupportedFiles:Me=!1,store:Z,isReasoningModel:qe=!1,hasConversation:be=!1,hasPreviousResponseId:Ae=!1,hasLocalShellTool:Ue=!1,hasShellTool:Be=!1,hasApplyPatchTool:Oe=!1,hasComputerTool:Pe=!1,toolSearchToolName:Fe,customProviderToolNames:ke,outputSchemaToolNames:$e,configurationUpdateUnsupportedReason:Se}){let Ne=[],De=[],Ze=new Set,_t=new Set,bt=be||Ae?$s({prompt:m,providerOptionsName:B}):new Map,Re=new Set,Ye=new Set;for(let{role:mt,content:ht,providerOptions:xt}of m)switch(mt){case"system":{let Xe=await h({provider:B,providerOptions:xt,schema:Lo});if(Xe==null&&B!=="openai")Xe=await h({provider:"openai",providerOptions:xt,schema:Lo});let ft=Xe?.reasoningEffortUpdate;if(ft!=null){let ot=ht!==""?"Message-level reasoningEffortUpdate requires empty system message content.":Se;if(ot!=null)throw new u({functionality:"Message-level reasoningEffortUpdate",message:ot});Ne.push({type:"configuration_update",reasoning:{effort:ft}});break}switch(R){case"system":{let ot=jt(xt,B);Ne.push({...G&&{type:"message"},role:"system",content:ot==null?ht:[{type:"input_text",text:ht,prompt_cache_breakpoint:ot}]});break}case"developer":{let ot=jt(xt,B);Ne.push({...G&&{type:"message"},role:"developer",content:ot==null?ht:[{type:"input_text",text:ht,prompt_cache_breakpoint:ot}]});break}case"remove":De.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${R}`)}break}case"user":Ne.push({...G&&{type:"message"},role:"user",content:ht.map((Xe,ft)=>{switch(Xe.type){case"text":{let ot=jt(Xe.providerOptions,B);return{type:"input_text",text:Xe.text,...ot!=null&&{prompt_cache_breakpoint:ot}}}case"file":{let ot=jt(Xe.providerOptions,B);switch(Xe.data.type){case"reference":{let Le=V({reference:Xe.data.reference,provider:B});if(z(Xe.mediaType)==="image")return{type:"input_image",file_id:Le,detail:Xe.providerOptions?.[B]?.imageDetail,...ot!=null&&{prompt_cache_breakpoint:ot}};return{type:"input_file",file_id:Le,...ot!=null&&{prompt_cache_breakpoint:ot}}}case"text":throw new u({functionality:"text file parts"});case"url":case"data":if(z(Xe.mediaType)==="image")return{type:"input_image",...Xe.data.type==="url"?{image_url:Xe.data.url.toString()}:typeof Xe.data.data==="string"&&Jo(Xe.data.data,W)?{file_id:Xe.data.data}:{image_url:`data:${O({part:Xe})};base64,${T(Xe.data.data)}`},detail:Xe.providerOptions?.[B]?.imageDetail,...ot!=null&&{prompt_cache_breakpoint:ot}};else{if(Xe.data.type==="url")return{type:"input_file",file_url:Xe.data.url.toString(),...ot!=null&&{prompt_cache_breakpoint:ot}};let Le=O({part:Xe});if(Le!=="application/pdf"&&!Me)throw new u({functionality:`file part media type ${Le}`});return{type:"input_file",...typeof Xe.data.data==="string"&&Jo(Xe.data.data,W)?{file_id:Xe.data.data}:{filename:Xe.filename??(Le==="application/pdf"?`part-${ft}.pdf`:`part-${ft}`),file_data:`data:${Le};base64,${T(Xe.data.data)}`},...ot!=null&&{prompt_cache_breakpoint:ot}}}}}}})});break;case"assistant":{let Xe={},ft=new Set,ot=!1;for(let Le of ht)switch(Le.type){case"text":{let pt=Le.providerOptions?.[B],Qe=pt?.itemId,tt=pt?.phase;if(be&&Qe!=null)break;if(Z&&Qe!=null&&(!qe||ot)){if(!ft.has(Qe))ft.add(Qe),Ne.push({type:"item_reference",id:Qe});break}Ne.push({...G&&{type:"message"},role:"assistant",content:Le.text,...tt!=null&&{phase:tt}});break}case"tool-call":{let pt=fo({providerOptions:Le.providerOptions,providerOptionsName:B}),Qe=pt==null?void 0:bt.get(pt.toolCallId);if(pt!=null&&Qe!=null&&_o(Qe.metadata,pt)){if(!Re.has(Qe.metadata.toolCallId)){if(Re.add(Qe.metadata.toolCallId),!be)Ne.push({type:"function_call",call_id:Qe.metadata.toolCallId,name:Qe.metadata.toolName,arguments:Qe.metadata.input})}break}let tt=Le.providerOptions?.[B]?.itemId??Le.providerMetadata?.[B]?.itemId,st=Le.providerOptions?.[B]?.namespace??Le.providerMetadata?.[B]?.namespace,He=Le.providerOptions?.[B]?.async??Le.providerMetadata?.[B]?.async,U=Le.providerOptions?.[B]?.caller;if(U?.type==="program")_t.add(Le.toolCallId);if(be&&tt!=null)break;let Q=_.toProviderToolName(Le.toolName);if(Le.toolName===Fe){if(Z&&tt!=null){Ne.push({type:"item_reference",id:tt});break}let We=typeof Le.input==="string"?await lt({text:Le.input,schema:so}):await x({value:Le.input,schema:so}),it=We.call_id!=null?"client":"server";Ne.push({type:"tool_search_call",id:tt??Le.toolCallId,execution:it,call_id:We.call_id??null,status:"completed",arguments:We.arguments});break}if(Q==="programmatic_tool_calling"){if(Z&&tt!=null){Ne.push({type:"item_reference",id:tt});break}let We=await x({value:Le.input,schema:Sn});Ne.push({type:"program",id:tt??Le.toolCallId,call_id:Le.toolCallId,code:We.code,fingerprint:We.fingerprint});break}if(Le.providerExecuted){if(Z&&tt!=null)Ne.push({type:"item_reference",id:tt});if(Z||!Be||Q!=="shell")break}let Ge=Ue&&Q==="local_shell"||Be&&Q==="shell"||Oe&&Q==="apply_patch"||Pe&&Q==="computer"||(ke?.has(Q)??!1);if(Ae&&Z&&tt!=null&&Ge)break;if(Z&&tt!=null&&Ge){Ne.push({type:"item_reference",id:tt});break}if(Ue&&Q==="local_shell"){let We=await x({value:Le.input,schema:xn});Ne.push({type:"local_shell_call",call_id:Le.toolCallId,id:tt,action:{type:"exec",command:We.action.command,timeout_ms:We.action.timeoutMs,user:We.action.user,working_directory:We.action.workingDirectory,env:We.action.env}});break}if(Be&&Q==="shell"){let We=await x({value:Le.input,schema:Cn});Ne.push({type:"shell_call",call_id:Le.toolCallId,id:tt,status:"completed",action:{commands:We.action.commands,timeout_ms:We.action.timeoutMs,max_output_length:We.action.maxOutputLength}});break}if(Oe&&Q==="apply_patch"){let We=await x({value:Le.input,schema:fn});Ne.push({type:"apply_patch_call",call_id:We.callId,id:tt,status:"completed",operation:We.operation});break}if(Pe&&Q==="computer"){let We=await x({value:Le.input,schema:bn});Ne.push({type:"computer_call",call_id:Le.toolCallId,id:tt,status:We.status,actions:We.actions.map((it)=>{switch(it.type){case"click":case"double_click":case"move":return{...it,keys:it.keys};case"drag":return{...it,keys:it.keys};case"scroll":return{type:"scroll",x:it.x,y:it.y,scroll_x:it.scrollX,scroll_y:it.scrollY,keys:it.keys};default:return it}}),pending_safety_checks:We.pendingSafetyChecks.map((it)=>({id:it.id,code:it.code,message:it.message}))});break}if(ke?.has(Q)){Ne.push({type:"custom_tool_call",call_id:Le.toolCallId,name:Q,input:typeof Le.input==="string"?Le.input:JSON.stringify(Le.input),...He!=null&&{async:He},id:tt});break}Ne.push({type:"function_call",call_id:Le.toolCallId,name:Q,arguments:Ns(Le.input),...He!=null&&{async:He},...st!=null&&{namespace:st},...U!=null&&{caller:zo(U)}});break}case"tool-result":{if(Le.output.type==="execution-denied"||Le.output.type==="json"&&typeof Le.output.value==="object"&&Le.output.value!=null&&"type"in Le.output.value&&Le.output.value.type==="execution-denied")break;if(be)break;let pt=_.toProviderToolName(Le.toolName);if(pt==="web_search"||pt==="web_search_preview"){let Qe=Le.providerOptions?.[B]?.itemId??Le.toolCallId;if(Z){Ne.push({type:"item_reference",id:Qe});break}let tt=await Es({output:Le.output,id:Qe});if(tt!=null){Ne.push(tt);break}}if(Le.toolName===Fe){let Qe=Le.providerOptions?.[B]?.itemId??Le.providerMetadata?.[B]?.itemId??Le.toolCallId;if(Z)Ne.push({type:"item_reference",id:Qe});else if(Le.output.type==="json"){let tt=await x({value:Le.output.value,schema:ao});Ne.push({type:"tool_search_output",id:Qe,execution:"server",call_id:null,status:"completed",tools:tt.tools})}break}if(pt==="programmatic_tool_calling"){let Qe=Le.providerOptions?.[B]?.itemId??Le.providerMetadata?.[B]?.itemId??Le.toolCallId;if(Z)Ne.push({type:"item_reference",id:Qe});else if(Le.output.type==="json"){let tt=await x({value:Le.output.value,schema:On});Ne.push({type:"program_output",id:Qe,call_id:Le.toolCallId,result:tt.result,status:tt.status})}break}if(Be&&pt==="shell"){if(Le.output.type==="json"){let Qe=await x({value:Le.output.value,schema:io});Ne.push({type:"shell_call_output",call_id:Le.toolCallId,...Qe.maxOutputLength!=null&&{max_output_length:Qe.maxOutputLength},output:Qe.output.map((tt)=>({stdout:tt.stdout,stderr:tt.stderr,outcome:tt.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:tt.outcome.exitCode}}))})}break}if(Z){let Qe=Le.providerOptions?.[B]?.itemId??Le.toolCallId;Ne.push({type:"item_reference",id:Qe})}else De.push({type:"other",message:`Results for OpenAI tool ${Le.toolName} are not sent to the API when store is false`});break}case"reasoning":{ot=!0;let pt=await h({provider:B,providerOptions:Le.providerOptions,schema:Us}),Qe=pt?.itemId;if((be||Ae)&&Qe!=null)break;if(Qe!=null){let tt=Xe[Qe];if(Z){if(tt===void 0)Ne.push({type:"item_reference",id:Qe}),Xe[Qe]={type:"reasoning",id:Qe,summary:[]}}else{let st=[];if(Le.text.length>0)st.push({type:"summary_text",text:Le.text});else if(tt!==void 0)De.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(Le)}.`});if(tt===void 0)Xe[Qe]={type:"reasoning",id:Qe,encrypted_content:pt?.reasoningEncryptedContent,summary:st},Ne.push(Xe[Qe]);else if(tt.summary.push(...st),pt?.reasoningEncryptedContent!=null)tt.encrypted_content=pt.reasoningEncryptedContent}}else{let tt=pt?.reasoningEncryptedContent;if(tt!=null){let st=[];if(Le.text.length>0)st.push({type:"summary_text",text:Le.text});Ne.push({type:"reasoning",encrypted_content:tt,summary:st})}else De.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(Le)}.`})}break}case"custom":if(Le.kind==="openai.compaction"){let pt=Le.providerOptions?.[B],Qe=pt?.itemId;if(be&&Qe!=null)break;if(Z&&Qe!=null){Ne.push({type:"item_reference",id:Qe});break}let tt=pt?.encryptedContent;if(Qe!=null)Ne.push({type:"compaction",id:Qe,encrypted_content:tt})}}break}case"tool":for(let Xe of ht){if(Xe.type==="tool-approval-response"){let U=Xe;if(Ze.has(U.approvalId))continue;if(Ze.add(U.approvalId),Z&&!be&&!Ae)Ne.push({type:"item_reference",id:U.approvalId});Ne.push({type:"mcp_approval_response",approval_request_id:U.approvalId,approve:U.approved});continue}let ft=fo({providerOptions:Xe.providerOptions,providerOptionsName:B}),ot=ft==null?void 0:bt.get(ft.toolCallId);if(ft!=null&&ot!=null&&_o(ot.metadata,ft)){if(!Ye.has(ot.metadata.toolCallId)){Ye.add(ot.metadata.toolCallId);let U=await Promise.all(ot.results.map(async(We)=>{let it=to({output:We.output,toolResultProviderOptions:We.providerOptions,providerOptionsName:B});return{output:await Ho({output:We.output,toolName:We.toolName,outputSchemaToolNames:$e,providerOptionsName:B,warnings:De}),promptCacheBreakpoint:it}})),Q=U.map(({output:We})=>typeof We==="string"?We:JSON.stringify(We)),Ge=U.some(({promptCacheBreakpoint:We})=>We!=null);Ne.push({type:"function_call_output",call_id:ot.metadata.toolCallId,output:Ge?Q.map((We,it)=>({type:"input_text",text:it===0?We:`
16
- ${We}`,...U[it].promptCacheBreakpoint!=null&&{prompt_cache_breakpoint:U[it].promptCacheBreakpoint}})):Q.join(`
17
- `)})}continue}let Le=Xe.output;if(Le.type==="execution-denied"){if(Le.providerOptions?.openai?.approvalId)continue}let pt=_.toProviderToolName(Xe.toolName);if(Xe.toolName===Fe&&Le.type==="json"){let U=await x({value:Le.value,schema:ao});Ne.push({type:"tool_search_output",execution:"client",call_id:Xe.toolCallId,status:"completed",tools:U.tools});continue}if(Ue&&pt==="local_shell"&&Le.type==="json"){let U=await x({value:Le.value,schema:kn});Ne.push({type:"local_shell_call_output",call_id:Xe.toolCallId,output:U.output});continue}if(Be&&pt==="shell"&&Le.type==="json"){let U=await x({value:Le.value,schema:io});Ne.push({type:"shell_call_output",call_id:Xe.toolCallId,...U.maxOutputLength!=null&&{max_output_length:U.maxOutputLength},output:U.output.map((Q)=>({stdout:Q.stdout,stderr:Q.stderr,outcome:Q.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:Q.outcome.exitCode}}))});continue}if(Oe&&Xe.toolName==="apply_patch"&&Le.type==="json"){let U=await x({value:Le.value,schema:yn});Ne.push({type:"apply_patch_call_output",call_id:Xe.toolCallId,status:U.status,output:U.output});continue}if(Pe&&pt==="computer"&&Le.type==="json"){let U=await x({value:Le.value,schema:vn});Ne.push({type:"computer_call_output",call_id:Xe.toolCallId,output:{type:"computer_screenshot",image_url:U.output.imageUrl,file_id:U.output.fileId,detail:U.output.detail},acknowledged_safety_checks:U.acknowledgedSafetyChecks?.map((Q)=>({id:Q.id,code:Q.code,message:Q.message}))});continue}if(ke?.has(pt)){let U=to({output:Le,toolResultProviderOptions:Xe.providerOptions,providerOptionsName:B}),Q=(We)=>U==null?We:[{type:"input_text",text:We,prompt_cache_breakpoint:U}],Ge;switch(Le.type){case"text":Ge=Q(Le.value);break;case"error-text":case"error-json":Ge=Q(JSON.stringify({error:Le.value}));break;case"execution-denied":Ge=Q(Le.reason??"Tool call execution denied.");break;case"json":Ge=Q(JSON.stringify(Le.value));break;case"content":Ge=Le.value.map((We)=>{let it=jt(We.providerOptions,B);switch(We.type){case"text":return{type:"input_text",text:We.text,...it!=null&&{prompt_cache_breakpoint:it}};case"file":{let wt=z(We.mediaType),It=We.providerOptions?.[B]?.imageDetail;if(We.data.type==="data"){let vt=O({part:We});if(wt==="image")return{type:"input_image",image_url:`data:${vt};base64,${T(We.data.data)}`,detail:It,...it!=null&&{prompt_cache_breakpoint:it}};return{type:"input_file",filename:We.filename??"data",file_data:`data:${vt};base64,${T(We.data.data)}`,...it!=null&&{prompt_cache_breakpoint:it}}}if(We.data.type==="url"){if(wt==="image")return{type:"input_image",image_url:We.data.url.toString(),detail:It,...it!=null&&{prompt_cache_breakpoint:it}};return{type:"input_file",file_url:We.data.url.toString(),...it!=null&&{prompt_cache_breakpoint:it}}}De.push({type:"other",message:`unsupported custom tool content part type: ${We.type} with data type: ${We.data.type}`});return}default:De.push({type:"other",message:`unsupported custom tool content part type: ${We.type}`});return}}).filter(ze);break;default:Ge=""}Ne.push({type:"custom_tool_call_output",call_id:Xe.toolCallId,output:Ge});continue}let Qe=Xe.providerOptions?.[B]?.caller;if(Le.type==="execution-denied"&&(Qe?.type==="program"||_t.has(Xe.toolCallId)))throw new u({functionality:"execution-denied results for programmatic tool calls"});let tt=await Ho({output:Le,toolName:Xe.toolName,outputSchemaToolNames:$e,promptCacheBreakpoint:to({output:Le,toolResultProviderOptions:Xe.providerOptions,providerOptionsName:B}),providerOptionsName:B,warnings:De}),st=zo(Qe);Ne.push({type:"function_call_output",call_id:Xe.toolCallId,output:tt,...st!=null&&{caller:st}});let He=await h({provider:B,providerOptions:Xe.providerOptions,schema:qs});if(He?.additionalTools?.length)Ne.push({type:"additional_tools",role:"developer",tools:He.additionalTools})}break;default:throw Error(`Unsupported role: ${mt}`)}if(!Z&&Ne.some((mt)=>("type"in mt)&&mt.type==="reasoning"&&mt.encrypted_content==null))De.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),Ne=Ne.filter((mt)=>!("type"in mt)||mt.type!=="reasoning"||mt.encrypted_content!=null);return{input:Ne,warnings:De}}var Us=i(()=>s(t({itemId:e().nullish(),reasoningEncryptedContent:e().nullish()})));function Gt(m,_,R){if(m.type==="url_citation")return{type:"source",sourceType:"url",id:R,url:m.url,title:m.title};let B=m.type==="file_path"?m.file_id:m.filename;return{type:"source",sourceType:"document",id:R,mediaType:m.type==="file_path"?"application/octet-stream":"text/plain",title:B,filename:B,providerMetadata:{[_]:{type:m.type,fileId:m.file_id,...m.type==="container_file_citation"?{containerId:m.container_id}:{index:m.index}}}}}function Vo(m,_){return m.flatMap((R)=>R.type==="file_path"?[]:[{source:Gt(R,_,R.type==="url_citation"?R.url:R.file_id),..."start_index"in R?{startIndex:R.start_index,endIndex:R.end_index}:{}}])}async function Ds({tools:m,toolChoice:_,allowedTools:R,toolNameMapping:B,customProviderToolNames:G,outputSchemaToolNames:W,supportsAsyncToolCalling:Me=!0,providerOptionsName:Z="openai"}){m=m?.length?m:void 0;let qe=[];if(m==null)return{tools:void 0,toolChoice:void 0,toolWarnings:qe};let be=[],Ae=new Map,Ue=G??new Set,Be=new Map,Oe=new Map,Pe=(ke,$e,Se)=>{if(Be.set(ke,$e),Se==null||Se===ke)return;let Ne=Oe.get(Se);if(Ne==null)Oe.set(Se,$e);else if(Ne!=="ambiguous"&&!Ls(Ne,$e))Oe.set(Se,"ambiguous")};for(let ke of m)switch(ke.type){case"function":{let $e=ke.providerOptions?.[Z]??ke.providerOptions?.openai;if($e?.outputSchema!=null)W?.add(ke.name);if($e?.omitFromRequestTools===!0){if(Pe(ke.name,{supported:!1,reason:"tools omitted from the request tools array cannot be allow-listed"},void 0),R==null&&_?.type==="tool"&&_.toolName===ke.name)throw new u({functionality:`forcing tool "${ke.name}" omitted from the request tools array; use automatic tool choice for history-loaded tools`});break}let Se=Bs({tool:ke,options:$e,toolWarnings:qe,async:Go({value:$e?.async,supportsAsyncToolCalling:Me,toolName:ke.name,toolWarnings:qe})}),Ne=$e?.namespace;if(Ne==null)be.push(Se);else{let De=Ae.get(Ne.name);if(De==null)De={type:"namespace",name:Ne.name,description:Ne.description,tools:[]},Ae.set(Ne.name,De),be.push(De);else if(De.description!==Ne.description)throw new u({functionality:`conflicting descriptions for OpenAI tool namespace "${Ne.name}"`});De.tools.push(Se)}Pe(ke.name,Ne!=null?{supported:!1,reason:"tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools"}:$e?.deferLoading===!0?{supported:!1,reason:"deferred tools are not visible to tool_choice.allowed_tools"}:{supported:!0,entry:{type:"function",name:ke.name}},void 0);break}case"provider":{let $e=be.length;switch(ke.id){case"openai.file_search":{let Se=await x({value:ke.args,schema:Vi});be.push({type:"file_search",vector_store_ids:Se.vectorStoreIds,max_num_results:Se.maxNumResults,ranking_options:Se.ranking?{ranker:Se.ranking.ranker,score_threshold:Se.ranking.scoreThreshold}:void 0,filters:Se.filters});break}case"openai.local_shell":be.push({type:"local_shell"});break;case"openai.shell":{let Se=await x({value:ke.args,schema:os});be.push({type:"shell",...Se.environment&&{environment:zs(Se.environment)}});break}case"openai.apply_patch":be.push({type:"apply_patch"});break;case"openai.computer":be.push({type:"computer"});break;case"openai.web_search_preview":{let Se=await x({value:ke.args,schema:cs});be.push({type:"web_search_preview",search_context_size:Se.searchContextSize,user_location:Se.userLocation});break}case"openai.web_search":{let Se=await x({value:ke.args,schema:rs});be.push({type:"web_search",filters:Se.filters!=null?{allowed_domains:Se.filters.allowedDomains,blocked_domains:Se.filters.blockedDomains}:void 0,external_web_access:Se.externalWebAccess,search_context_size:Se.searchContextSize,user_location:Se.userLocation});break}case"openai.code_interpreter":{let Se=await x({value:ke.args,schema:Ei});be.push({type:"code_interpreter",container:Se.container==null?{type:"auto",file_ids:void 0}:typeof Se.container==="string"?Se.container:{type:"auto",file_ids:Se.container.fileIds}});break}case"openai.image_generation":{let Se=await x({value:ke.args,schema:Ki});be.push({type:"image_generation",action:Se.action,background:Se.background,input_fidelity:Se.inputFidelity,input_image_mask:Se.inputImageMask?{file_id:Se.inputImageMask.fileId,image_url:Se.inputImageMask.imageUrl}:void 0,model:Se.model,moderation:Se.moderation,partial_images:Se.partialImages,quality:Se.quality,output_compression:Se.outputCompression,output_format:Se.outputFormat,size:Se.size});break}case"openai.mcp":{let Se=await x({value:ke.args,schema:fs}),Ne=(_t)=>({tool_names:_t.toolNames}),De=Se.requireApproval,Ze=De==null?void 0:typeof De==="string"?De:De.never!=null?{never:Ne(De.never)}:void 0;be.push({type:"mcp",server_label:Se.serverLabel,allowed_tools:Array.isArray(Se.allowedTools)?Se.allowedTools:Se.allowedTools?{read_only:Se.allowedTools.readOnly,tool_names:Se.allowedTools.toolNames}:void 0,authorization:Se.authorization,connector_id:Se.connectorId,headers:Se.headers,require_approval:Ze??"never",server_description:Se.serverDescription,server_url:Se.serverUrl});break}case"openai.custom":{let Se=await x({value:ke.args,schema:Fi});be.push({type:"custom",name:ke.name,description:Se.description,...Go({value:Se.async,supportsAsyncToolCalling:Me,toolName:ke.name,toolWarnings:qe})!=null?{async:Se.async}:{},format:Se.format}),Ue.add(ke.name);break}case"openai.programmatic_tool_calling":be.push({type:"programmatic_tool_calling"});break;case"openai.tool_search":{let Se=await x({value:ke.args,schema:is});be.push({type:"tool_search",...Se.execution!=null?{execution:Se.execution}:{},...Se.description!=null?{description:Se.description}:{},...Se.parameters!=null?{parameters:Se.parameters}:{}});break}}if(be.length>$e){let Se=be[$e];Pe(ke.name,Fs(Se),B?.toProviderToolName(ke.name))}break}default:qe.push({type:"unsupported",feature:`function tool ${ke}`})}if(R!=null){let ke=[],$e=[];for(let Se of R.toolNames){let Ne=Be.get(Se),De=Ne??Oe.get(Se);if(Ne!=null&&Oe.has(Se))qe.push({type:"unsupported",feature:`allowedTools entry "${Se}"`,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"});if(De==="ambiguous"){qe.push({type:"unsupported",feature:`allowedTools entry "${Se}"`,details:"several tools in this request share this provider tool name; use the tool name from the tools for this request instead"}),$e.push(Se);continue}if(De==null){qe.push({type:"unsupported",feature:`allowedTools entry "${Se}"`,details:"the tool is not part of the tools for this request and is sent as a function tool"}),ke.push({type:"function",name:B?.toProviderToolName(Se)??Se});continue}if(!De.supported){qe.push({type:"unsupported",feature:`allowedTools entry "${Se}"`,details:`${De.reason}; the tool is removed from the allowed tools`}),$e.push(Se);continue}ke.push(De.entry)}if(ke.length===0)throw new u({functionality:`allowedTools with only tools that cannot be allow-listed (${$e.join(", ")})`});return{tools:be,toolChoice:{type:"allowed_tools",mode:R.mode??"auto",tools:ke},toolWarnings:qe}}if(_==null)return{tools:be,toolChoice:void 0,toolWarnings:qe};let Fe=_.type;switch(Fe){case"auto":case"none":case"required":return{tools:be,toolChoice:Fe,toolWarnings:qe};case"tool":{let ke=B?.toProviderToolName(_.toolName)??_.toolName;return{tools:be,toolChoice:ke==="code_interpreter"||ke==="file_search"||ke==="image_generation"||ke==="web_search_preview"||ke==="web_search"||ke==="mcp"||ke==="apply_patch"||ke==="computer"||ke==="programmatic_tool_calling"?{type:ke}:Ue.has(ke)?{type:"custom",name:ke}:{type:"function",name:ke},toolWarnings:qe}}default:throw new u({functionality:`tool choice type: ${Fe}`})}}function Wo(m){switch(m.type){case"mcp":return`mcp:${m.server_label}`;case"function":case"custom":return`${m.type}:${m.name}`;default:return m.type}}function Ls(m,_){if(m.supported&&_.supported)return Wo(m.entry)===Wo(_.entry);if(!m.supported&&!_.supported)return m.reason===_.reason;return!1}function Fs(m){switch(m.type){case"custom":return{supported:!0,entry:{type:"custom",name:m.name}};case"mcp":return{supported:!0,entry:{type:"mcp",server_label:m.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:m.type}};default:return{supported:!1,reason:`OpenAI does not support ${m.type} tools in tool_choice.allowed_tools`}}}function Bs({tool:m,options:_,toolWarnings:R,async:B}){let G=_?.deferLoading,W=Pt(m.inputSchema),Me=_?.outputSchema!=null?Pt(_.outputSchema):void 0;return R.push(...W.warnings,...Me?.warnings??[]),{type:"function",name:m.name,description:m.description,parameters:W.schema,...B!=null?{async:B}:{},strict:m.strict??!1,...G!=null?{defer_loading:G}:{},..._?.allowedCallers!=null?{allowed_callers:_.allowedCallers}:{},..._?.outputSchema!=null?{output_schema:Me?.schema}:{}}}function Go({value:m,supportsAsyncToolCalling:_,toolName:R,toolWarnings:B}){if(m!==!0||_)return m;B.push({type:"unsupported",feature:`async tool calling for "${R}"`,details:"Async tool calling is only supported by GPT-6 and later models."})}function zs(m){if(m.type==="containerReference")return{type:"container_reference",container_id:m.containerId};if(m.type==="containerAuto"){let _=m;return{type:"container_auto",file_ids:_.fileIds,memory_limit:_.memoryLimit,network_policy:_.networkPolicy==null?void 0:_.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:_.networkPolicy.allowedDomains,domain_secrets:_.networkPolicy.domainSecrets},skills:Hs(_.skills)}}return{type:"local",skills:m.skills}}function Hs(m){return m?.map((_)=>_.type==="skillReference"?{type:"skill_reference",skill_id:V({reference:_.providerReference??{},provider:"openai"}),version:_.version??"latest"}:{type:"inline",name:_.name,description:_.description,source:{type:"base64",media_type:_.source.mediaType,data:_.source.data}})}function Ko(m){let _={};for(let R of m){if(R.role!=="assistant")continue;for(let B of R.content){if(B.type!=="tool-call")continue;let G=B.providerOptions?.openai?.approvalRequestId;if(G!=null)_[G]=B.toolCallId}}return _}function Js(m){switch(m.type){case"click":return{type:"click",button:m.button,x:m.x,y:m.y,...m.keys!=null&&{keys:m.keys}};case"double_click":return{type:"double_click",x:m.x,y:m.y,...m.keys!=null&&{keys:m.keys}};case"drag":return{type:"drag",path:m.path,...m.keys!=null&&{keys:m.keys}};case"keypress":return m;case"move":return{type:"move",x:m.x,y:m.y,...m.keys!=null&&{keys:m.keys}};case"screenshot":return m;case"scroll":return{type:"scroll",x:m.x,y:m.y,scrollX:m.scroll_x,scrollY:m.scroll_y,...m.keys!=null&&{keys:m.keys}};case"type":return m;case"wait":return m}}function Zo({action:m,actions:_,pending_safety_checks:R,status:B}){return{actions:(_??(m!=null?[m]:[])).map(Js),pendingSafetyChecks:R?.map((G)=>({id:G.id,...G.code!=null&&{code:G.code},...G.message!=null&&{message:G.message}}))??[],status:B}}var Rn={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]};function Vs({modelCapabilities:m,options:_}){if(!m.supportsConfigurationUpdate)return"reasoningEffortUpdate is only supported by GPT-6 and later models";if(_?.reasoningMode==="pro"||_?.contextManagement!=null||_?.truncation==="auto")return"reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation"}var An=class m{static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,dn(_.config))}constructor(_,R){this.specificationVersion="v4",this.supportedUrls=Rn,this.modelId=_,this.config=R}get provider(){return this.config.provider}static async prepareRequest({modelId:_,config:R,options:{maxOutputTokens:B,temperature:G,stopSequences:W,topP:Me,topK:Z,presencePenalty:qe,frequencyPenalty:be,seed:Ae,prompt:Ue,reasoning:Be,providerOptions:Oe,tools:Pe,toolChoice:Fe,responseFormat:ke}}){let $e=[],Se=gn(_);if(Z!=null)$e.push({type:"unsupported",feature:"topK"});if(Ae!=null)$e.push({type:"unsupported",feature:"seed"});if(qe!=null)$e.push({type:"unsupported",feature:"presencePenalty"});if(be!=null)$e.push({type:"unsupported",feature:"frequencyPenalty"});if(W!=null)$e.push({type:"unsupported",feature:"stopSequences"});let Ne=R.provider.includes("azure")?"azure":"openai",De=await h({provider:Ne,providerOptions:Oe,schema:Do});if(De==null&&Ne!=="openai")De=await h({provider:"openai",providerOptions:Oe,schema:Do});let Ze=De?.reasoningEffort??(H(Be)?Be:void 0);if(Ze!=null&&Se.supportedReasoningEfforts!=null&&!Se.supportedReasoningEfforts.includes(Ze))$e.push({type:"unsupported",feature:"reasoningEffort",details:`${_} only supports the following reasoning efforts: ${Se.supportedReasoningEfforts.join(", ")}`}),Ze=void 0;let _t=De?.reasoningSummary!==void 0?De.reasoningSummary:Ze!=null&&Ze!=="none"?"detailed":void 0,bt=De?.forceReasoning??Se.isReasoningModel;if(De?.conversation&&De?.previousResponseId)$e.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let Re=le({tools:Pe,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"}}),Ye=new Set,mt=new Set,{tools:ht,toolChoice:xt,toolWarnings:Xe}=await Ds({tools:Pe,toolChoice:Fe,allowedTools:De?.allowedTools??void 0,toolNameMapping:Re,customProviderToolNames:Ye,outputSchemaToolNames:mt,supportsAsyncToolCalling:Se.supportsAsyncToolCalling,providerOptionsName:Ne}),ft=Vs({modelCapabilities:Se,options:De}),{input:ot,warnings:Le}=await Ps({prompt:Ue,toolNameMapping:Re,systemMessageMode:De?.systemMessageMode??(bt?"developer":Se.systemMessageMode),providerOptionsName:Ne,configurationUpdateUnsupportedReason:ft,explicitMessageItemType:R.explicitMessageItemType,fileIdPrefixes:R.fileIdPrefixes,passThroughUnsupportedFiles:De?.passThroughUnsupportedFiles??!1,store:De?.store??!0,isReasoningModel:bt,hasConversation:De?.conversation!=null,hasPreviousResponseId:De?.previousResponseId!=null,hasLocalShellTool:We("openai.local_shell"),hasShellTool:We("openai.shell"),hasApplyPatchTool:We("openai.apply_patch"),hasComputerTool:We("openai.computer"),toolSearchToolName:Ge("openai.tool_search"),customProviderToolNames:Ye.size>0?Ye:void 0,outputSchemaToolNames:mt.size>0?mt:void 0});$e.push(...Le);let pt=(ct)=>ct!=null&&Se.supportedReasoningEfforts?.includes(ct)===!1?`${_} only supports the following reasoning efforts: ${Se.supportedReasoningEfforts.join(", ")}`:void 0;for(let ct of ot)if(ct.type==="configuration_update"){let kt=pt(ct.reasoning.effort);if(kt!=null)throw new u({functionality:"Message-level reasoningEffortUpdate",message:kt})}let Qe=De?.reasoningEffortUpdate,tt=ft??pt(Qe);if(Qe!=null&&tt!=null)$e.push({type:"unsupported",feature:"reasoningEffortUpdate",details:tt});else if(Qe!=null){let ct=ot[0];if(ct?.type!=="configuration_update"||ct.reasoning.effort!==Qe)ot.unshift({type:"configuration_update",reasoning:{effort:Qe}})}for(let ct=1;ct<ot.length;ct++)if(ot[ct-1].type==="configuration_update"&&ot[ct].type==="configuration_update")throw new u({functionality:"Adjacent reasoning effort configuration updates"});if(De?.compactionTrigger)ot.push({type:"compaction_trigger"});let st=De?.strictJsonSchema??!0,He=ke?.type==="json"&&ke.schema!=null?Pt(ke.schema):void 0;if(He!=null)$e.push(...He.warnings);let U=De?.include;function Q(ct){if(U==null)U=[ct];else if(!U.includes(ct))U=[...U,ct]}function Ge(ct){return Pe?.find((kt)=>kt.type==="provider"&&kt.id===ct)?.name}function We(ct){return Ge(ct)!=null}let it=typeof De?.logprobs==="number"?De?.logprobs:De?.logprobs===!0?20:void 0;if(it)Q("message.output_text.logprobs");let wt=Pe?.find((ct)=>ct.type==="provider"&&(ct.id==="openai.web_search"||ct.id==="openai.web_search_preview"))?.name;if(wt&&R.supportsWebSearchSourcesInclude!==!1&&De?.includeWebSearchSources!==!1)Q("web_search_call.action.sources");if(We("openai.code_interpreter"))Q("code_interpreter_call.outputs");let It=De?.store;if(It===!1&&bt)Q("reasoning.encrypted_content");let vt={model:R.requestModelId??_,input:ot,temperature:G,top_p:Me,max_output_tokens:B,...(ke?.type==="json"||De?.textVerbosity)&&{text:{...ke?.type==="json"&&{format:He!=null?{type:"json_schema",strict:st,name:ke.name??"response",description:ke.description,schema:He.schema}:{type:"json_object"}},...De?.textVerbosity&&{verbosity:De.textVerbosity}}},conversation:De?.conversation,max_tool_calls:De?.maxToolCalls,metadata:De?.metadata,parallel_tool_calls:De?.parallelToolCalls,previous_response_id:De?.previousResponseId,store:It,user:De?.user,instructions:De?.instructions,service_tier:De?.serviceTier,include:U,prompt_cache_key:De?.promptCacheKey,prompt_cache_options:De?.promptCacheOptions,prompt_cache_retention:De?.promptCacheRetention,safety_identifier:De?.safetyIdentifier,top_logprobs:it,truncation:De?.truncation,...De?.contextManagement&&{context_management:De.contextManagement.map((ct)=>({type:ct.type,compact_threshold:ct.compactThreshold}))},...bt&&(Ze!=null||_t!=null||De?.reasoningMode!=null||De?.reasoningContext!=null)&&{reasoning:{...Ze!=null&&{effort:Ze},..._t!=null&&{summary:_t},...De?.reasoningMode!=null&&{mode:De.reasoningMode},...De?.reasoningContext!=null&&{context:De.reasoningContext}}}};if(Se.supportsConfigurationUpdate&&vt.prompt_cache_retention!=null)vt.prompt_cache_retention=void 0,$e.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(bt){let ct=Ze;for(let kt of ot)if(kt.type==="configuration_update")ct=kt.reasoning.effort;if(!(ct==="none"&&Se.supportsNonReasoningParameters)){if(vt.temperature!=null)vt.temperature=void 0,$e.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(vt.top_p!=null)vt.top_p=void 0,$e.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(Se.supportedReasoningEfforts!=null&&(vt.top_logprobs!=null||vt.include?.includes("message.output_text.logprobs"))){vt.top_logprobs=void 0;let kt=vt.include?.filter((Pn)=>Pn!=="message.output_text.logprobs");vt.include=kt!=null&&kt.length>0?kt:void 0,$e.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}}else{if(De?.reasoningEffort!=null)$e.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if(De?.reasoningSummary!=null)$e.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"});if(De?.reasoningMode!=null)$e.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"});if(De?.reasoningContext!=null)$e.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"})}if(De?.serviceTier==="flex"&&!Se.supportsFlexProcessing)$e.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete vt.service_tier;if((De?.serviceTier==="priority"||De?.serviceTier==="fast")&&!Se.supportsPriorityProcessing)$e.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 vt.service_tier;let Oo=Pe?.find((ct)=>ct.type==="provider"&&ct.id==="openai.shell")?.args?.environment?.type,$n=Oo==="containerAuto"||Oo==="containerReference";return{webSearchToolName:wt,args:{...vt,tools:ht,tool_choice:xt},warnings:[...$e,...Xe],store:It,toolNameMapping:Re,providerOptionsName:Ne,isShellProviderExecuted:$n}}getArgs(_){return m.prepareRequest({modelId:this.modelId,config:this.config,options:_})}async doGenerate(_){let{args:R,warnings:B,webSearchToolName:G,toolNameMapping:W,providerOptionsName:Me,isShellProviderExecuted:Z}=await this.getArgs(_),qe=this.config.url({path:"/responses",modelId:this.config.requestModelId??this.modelId}),be=Ko(_.prompt),{responseHeaders:Ae,value:Ue,rawValue:Be}=await g({url:qe,headers:d(this.config.headers?.(),_.headers),body:R,failedResponseHandler:gt,successfulResponseHandler:p(Tn),abortSignal:_.abortSignal,fetch:this.config.fetch});if(Ue.error)throw new v({message:Ue.error.message,url:qe,requestBodyValues:R,statusCode:400,responseHeaders:Ae,responseBody:Be,isRetryable:!1});if(Ue.output==null){let Re=Ue.incomplete_details?.reason;throw new v({message:Re?`Responses API returned no output (${Re})`:"Responses API returned no output",url:qe,requestBodyValues:R,statusCode:500,responseHeaders:Ae,responseBody:Be,isRetryable:!1})}let Oe=[],Pe=[],Fe=_.tools?.filter((Re)=>Re.type==="function")??[],ke=Ue.output.some((Re)=>Re.type==="web_search_call"&&Re.action?.type==="search"&&Re.action.sources?.some((Ye)=>Ye.type==="url")),$e=Ue.output.some((Re)=>Re.type==="file_search_call"&&(Re.results?.length??0)>0),Se=new Set,Ne=!1,De=[],Ze;for(let Re of Ue.output)switch(Re.type){case"reasoning":if(Re.summary.length===0)Re.summary.push({type:"summary_text",text:""});for(let Ye of Re.summary)Oe.push({type:"reasoning",text:Ye.text,providerMetadata:{[Me]:{itemId:Re.id,reasoningEncryptedContent:Re.encrypted_content??null}}});break;case"image_generation_call":Oe.push({type:"tool-call",toolCallId:Re.id,toolName:W.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),Oe.push({type:"tool-result",toolCallId:Re.id,toolName:W.toCustomToolName("image_generation"),result:{result:Re.result}});break;case"tool_search_call":{let Ye=Re.call_id??Re.id,mt=Re.execution==="server";if(mt)De.push(Ye);Oe.push({type:"tool-call",toolCallId:Ye,toolName:W.toCustomToolName("tool_search"),input:JSON.stringify({arguments:Re.arguments,call_id:Re.call_id}),...mt?{providerExecuted:!0}:{},providerMetadata:{[Me]:{itemId:Re.id}}});break}case"tool_search_output":{let Ye=Re.call_id??De.shift()??Re.id;Oe.push({type:"tool-result",toolCallId:Ye,toolName:W.toCustomToolName("tool_search"),result:{tools:Re.tools},providerMetadata:{[Me]:{itemId:Re.id}}});break}case"local_shell_call":Oe.push({type:"tool-call",toolCallId:Re.call_id,toolName:W.toCustomToolName("local_shell"),input:JSON.stringify({action:Re.action}),providerMetadata:{[Me]:{itemId:Re.id}}});break;case"shell_call":Oe.push({type:"tool-call",toolCallId:Re.call_id,toolName:W.toCustomToolName("shell"),input:JSON.stringify({action:{commands:Re.action.commands,timeoutMs:Re.action.timeout_ms??void 0,maxOutputLength:Re.action.max_output_length??void 0}}),...Z&&{providerExecuted:!0},providerMetadata:{[Me]:{itemId:Re.id}}});break;case"shell_call_output":Oe.push({type:"tool-result",toolCallId:Re.call_id,toolName:W.toCustomToolName("shell"),result:{...Re.max_output_length!=null&&{maxOutputLength:Re.max_output_length},output:Re.output.map((Ye)=>({stdout:Ye.stdout,stderr:Ye.stderr,outcome:Ye.outcome.type==="exit"?{type:"exit",exitCode:Ye.outcome.exit_code}:{type:"timeout"}}))}});break;case"message":if(_.responseFormat?.type==="json"&&Re.phase==="final_answer")Ze=Re.content.map((Ye)=>Ye.text).join("");for(let Ye of Re.content){if(_.providerOptions?.[Me]?.logprobs&&Ye.logprobs)Pe.push(Ye.logprobs);let mt={itemId:Re.id,...Re.phase!=null&&{phase:Re.phase},...Ye.annotations.length>0&&{annotations:Ye.annotations}};Oe.push({type:"text",text:Ye.text,...Ye.annotations.some((ht)=>ht.type!=="file_path")&&{citations:Vo(Ye.annotations,Me)},providerMetadata:{[Me]:mt}});for(let ht of Ye.annotations){if(ht.type==="url_citation"&&ke||ht.type==="file_citation"&&$e)continue;Oe.push(Gt(ht,Me,this.config.generateId?.()??C()))}}break;case"function_call":{Ne=!0;let Ye=await Bo({toolCall:{toolCallId:Re.call_id,toolName:Re.name,input:Re.arguments},tools:Fe,providerOptionsName:Me,itemId:Re.id});if(Ye!=null){Oe.push(...Ye);break}Oe.push({type:"tool-call",toolCallId:Re.call_id,toolName:Re.name,input:Re.arguments,providerMetadata:{[Me]:{itemId:Re.id,...Re.async!=null&&{async:Re.async},...Re.namespace!=null&&{namespace:Re.namespace},...Re.caller!=null&&{caller:Re.caller.type==="program"?{type:"program",callerId:Re.caller.caller_id}:Re.caller}}}});break}case"program":Oe.push({type:"tool-call",toolCallId:Re.call_id,toolName:W.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:Re.code,fingerprint:Re.fingerprint}),providerExecuted:!0,providerMetadata:{[Me]:{itemId:Re.id}}});break;case"program_output":Oe.push({type:"tool-result",toolCallId:Re.call_id,toolName:W.toCustomToolName("programmatic_tool_calling"),result:{result:Re.result,status:Re.status},providerMetadata:{[Me]:{itemId:Re.id}}});break;case"custom_tool_call":{Ne=!0;let Ye=W.toCustomToolName(Re.name);Oe.push({type:"tool-call",toolCallId:Re.call_id,toolName:Ye,input:JSON.stringify(Re.input),providerMetadata:{[Me]:{itemId:Re.id,...Re.async!=null&&{async:Re.async}}}});break}case"web_search_call":if(Oe.push({type:"tool-call",toolCallId:Re.id,toolName:W.toCustomToolName(G??"web_search"),input:JSON.stringify({}),providerExecuted:!0}),Oe.push({type:"tool-result",toolCallId:Re.id,toolName:W.toCustomToolName(G??"web_search"),...bo(Re)}),Re.action?.type==="search"){for(let Ye of Re.action.sources??[])if(Ye.type==="url")Oe.push({type:"source",sourceType:"url",id:this.config.generateId?.()??C(),url:Ye.url})}break;case"mcp_call":{let Ye=Re.approval_request_id!=null?be[Re.approval_request_id]??Re.id:Re.id,mt=`mcp.${Re.name}`;Oe.push({type:"tool-call",toolCallId:Ye,toolName:mt,input:Re.arguments,providerExecuted:!0,dynamic:!0}),Oe.push({type:"tool-result",toolCallId:Ye,toolName:mt,result:{type:"call",serverLabel:Re.server_label,name:Re.name,arguments:Re.arguments,...Re.output!=null?{output:Re.output}:{},...Re.error!=null?{error:Re.error}:{}},providerMetadata:{[Me]:{itemId:Re.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let Ye=Re.approval_request_id??Re.id,mt=this.config.generateId?.()??C(),ht=`mcp.${Re.name}`;Oe.push({type:"tool-call",toolCallId:mt,toolName:ht,input:Re.arguments,providerExecuted:!0,dynamic:!0}),Oe.push({type:"tool-approval-request",approvalId:Ye,toolCallId:mt});break}case"computer_call":{if(Re.call_id==null){Oe.push({type:"tool-call",toolCallId:Re.id,toolName:W.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),Oe.push({type:"tool-result",toolCallId:Re.id,toolName:W.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:Re.status}});break}Ne=!0;let Ye=W.toCustomToolName("computer");Oe.push({type:"tool-call",toolCallId:Re.call_id,toolName:Ye,input:JSON.stringify(Zo(Re)),providerMetadata:{[Me]:{itemId:Re.id}}});break}case"file_search_call":Oe.push({type:"tool-call",toolCallId:Re.id,toolName:W.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),Oe.push({type:"tool-result",toolCallId:Re.id,toolName:W.toCustomToolName("file_search"),result:{queries:Re.queries,results:Re.results?.map((Ye)=>({attributes:Ye.attributes,fileId:Ye.file_id,filename:Ye.filename,score:Ye.score,text:Ye.text}))??null}});for(let Ye of Re.results??[]){if(Se.has(Ye.file_id))continue;Se.add(Ye.file_id),Oe.push({type:"source",sourceType:"document",id:this.config.generateId?.()??C(),mediaType:"text/plain",title:Ye.filename,filename:Ye.filename,providerMetadata:{[Me]:{type:"file_search",fileId:Ye.file_id}}})}break;case"code_interpreter_call":Oe.push({type:"tool-call",toolCallId:Re.id,toolName:W.toCustomToolName("code_interpreter"),input:JSON.stringify({code:Re.code,containerId:Re.container_id}),providerExecuted:!0}),Oe.push({type:"tool-result",toolCallId:Re.id,toolName:W.toCustomToolName("code_interpreter"),result:{outputs:Re.outputs}});break;case"apply_patch_call":Ne=!0,Oe.push({type:"tool-call",toolCallId:Re.call_id,toolName:W.toCustomToolName("apply_patch"),input:JSON.stringify({callId:Re.call_id,operation:Re.operation}),providerMetadata:{[Me]:{itemId:Re.id}}});break;case"compaction":Oe.push({type:"custom",kind:"openai.compaction",providerMetadata:{[Me]:{type:"compaction",itemId:Re.id,encryptedContent:Re.encrypted_content}}})}let _t={[Me]:{responseId:Ue.id,...Pe.length>0?{logprobs:Pe}:{},...typeof Ue.service_tier==="string"?{serviceTier:Ue.service_tier}:{},...Ue.reasoning?.context!=null?{reasoningContext:Ue.reasoning.context}:{}}},bt=Ue.usage;return{content:Oe,...Ze!==void 0&&{structuredOutputText:Ze},finishReason:{unified:Wt({finishReason:Ue.incomplete_details?.reason,hasFunctionCall:Ne}),raw:Ue.incomplete_details?.reason??void 0},usage:lo(bt),request:{body:R},response:{id:Ue.id,timestamp:new Date(Ue.created_at*1000),modelId:Ue.model,headers:Ae,body:Be},providerMetadata:_t,warnings:B}}async doStream(_){let{args:R,warnings:B,webSearchToolName:G,toolNameMapping:W,store:Me,providerOptionsName:Z,isShellProviderExecuted:qe}=await this.getArgs(_),be=this.config.url({path:"/responses",modelId:this.config.requestModelId??this.modelId}),{responseHeaders:Ae,value:Ue}=await g({url:be,headers:d(this.config.headers?.(),_.headers),body:{...R,stream:!0},failedResponseHandler:gt,successfulResponseHandler:D(As),abortSignal:_.abortSignal,fetch:this.config.fetch}),Be=await Co({stream:Ue,getError:(st)=>Qo(st)||Yo(st)&&st.response.error!=null?st:void 0,isOutputChunk:ua,isAcceptedChunk:la,url:be,requestBodyValues:R,responseHeaders:Ae}),Oe=this,Pe=Ko(_.prompt),Fe=_.tools?.filter((st)=>st.type==="function")??[],ke=new Map,$e={unified:"interrupted",raw:void 0},Se=void 0,Ne=[],De=null,Ze={},_t=[],bt=!1,Re=!1,Ye=new Set,mt=[],ht,xt=!1,Xe={},ft={},ot=({itemId:st,outputIndex:He})=>He==null?st:ft[He]??st,Le,pt,Qe=[],tt=!1;return{stream:Be.pipeThrough(new TransformStream({start(st){st.enqueue({type:"stream-start",warnings:B})},transform(st,He){if(_.includeRawChunks)He.enqueue({type:"raw",rawValue:st.rawValue});if(!st.success){let Q=Gs(st.rawValue)?Ks({value:st.rawValue,cause:st.error,url:be,requestBodyValues:R,responseHeaders:Ae}):st.error;tt=!0,$e={unified:"error",raw:void 0},He.enqueue({type:"error",error:Q});return}let U=st.value;if(Xo(U)){if(U.item.type==="function_call"){let Q=yo({toolName:U.item.name,tools:Fe});if(Ze[U.output_index]={toolName:U.item.name,toolCallId:U.item.call_id,suppressInputStreaming:Q,bufferedInputDeltas:Q?[]:void 0,async:U.item.async},!Q)He.enqueue({type:"tool-input-start",id:U.item.call_id,toolName:U.item.name})}else if(U.item.type==="custom_tool_call"){let Q=W.toCustomToolName(U.item.name);Ze[U.output_index]={toolName:Q,toolCallId:U.item.call_id,async:U.item.async},He.enqueue({type:"tool-input-start",id:U.item.call_id,toolName:Q,inputEncoding:"text"})}else if(U.item.type==="web_search_call")Ze[U.output_index]={toolName:W.toCustomToolName(G??"web_search"),toolCallId:U.item.id},He.enqueue({type:"tool-input-start",id:U.item.id,toolName:W.toCustomToolName(G??"web_search"),providerExecuted:!0}),He.enqueue({type:"tool-input-end",id:U.item.id}),He.enqueue({type:"tool-call",toolCallId:U.item.id,toolName:W.toCustomToolName(G??"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(U.item.type==="computer_call"){let Q=U.item.call_id??U.item.id;Ze[U.output_index]={toolName:W.toCustomToolName("computer"),toolCallId:Q},He.enqueue({type:"tool-input-start",id:Q,toolName:W.toCustomToolName("computer")})}else if(U.item.type==="code_interpreter_call")Ze[U.output_index]={toolName:W.toCustomToolName("code_interpreter"),toolCallId:U.item.id,codeInterpreter:{containerId:U.item.container_id}},He.enqueue({type:"tool-input-start",id:U.item.id,toolName:W.toCustomToolName("code_interpreter"),providerExecuted:!0}),He.enqueue({type:"tool-input-delta",id:U.item.id,delta:`{"containerId":"${U.item.container_id}","code":"`});else if(U.item.type==="file_search_call")He.enqueue({type:"tool-call",toolCallId:U.item.id,toolName:W.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(U.item.type==="image_generation_call")He.enqueue({type:"tool-call",toolCallId:U.item.id,toolName:W.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(U.item.type==="tool_search_call"){let Q=U.item.id,Ge=W.toCustomToolName("tool_search"),We=U.item.execution==="server";if(Ze[U.output_index]={toolName:Ge,toolCallId:Q,toolSearchExecution:U.item.execution??"server"},We)He.enqueue({type:"tool-input-start",id:Q,toolName:Ge,providerExecuted:!0})}else if(U.item.type==="tool_search_output");else if(U.item.type==="mcp_call"||U.item.type==="mcp_list_tools"||U.item.type==="mcp_approval_request");else if(U.item.type==="apply_patch_call"){let{call_id:Q,operation:Ge}=U.item;if(Ze[U.output_index]={toolName:W.toCustomToolName("apply_patch"),toolCallId:Q,applyPatch:{hasDiff:Ge.type==="delete_file",endEmitted:Ge.type==="delete_file"}},He.enqueue({type:"tool-input-start",id:Q,toolName:W.toCustomToolName("apply_patch")}),Ge.type==="delete_file"){let We=JSON.stringify({callId:Q,operation:Ge});He.enqueue({type:"tool-input-delta",id:Q,delta:We}),He.enqueue({type:"tool-input-end",id:Q})}else He.enqueue({type:"tool-input-delta",id:Q,delta:`{"callId":"${St(Q)}","operation":{"type":"${St(Ge.type)}","path":"${St(Ge.path)}","diff":"`})}else if(U.item.type==="shell_call")Ze[U.output_index]={toolName:W.toCustomToolName("shell"),toolCallId:U.item.call_id};else if(U.item.type==="shell_call_output");else if(U.item.type==="message")ft[U.output_index]=U.item.id,_t=[],ht=U.item.phase??void 0,He.enqueue({type:"text-start",id:U.item.id,providerMetadata:{[Z]:{itemId:U.item.id,...U.item.phase!=null&&{phase:U.item.phase}}}});else if(Xo(U)&&U.item.type==="reasoning")ft[U.output_index]=U.item.id,Xe[U.item.id]={encryptedContent:U.item.encrypted_content,summaryParts:{0:"active"}},He.enqueue({type:"reasoning-start",id:`${U.item.id}:0`,providerMetadata:{[Z]:{itemId:U.item.id,reasoningEncryptedContent:U.item.encrypted_content??null}}})}else if(Ys(U)){if(U.item.type==="message"){let Q=ot({itemId:U.item.id,outputIndex:U.output_index}),Ge=U.item.phase??ht;ht=void 0,He.enqueue({type:"text-end",id:Q,..._t.some((We)=>We.type!=="file_path")&&{citations:Vo(_t,Z)},providerMetadata:{[Z]:{itemId:Q,...Ge!=null&&{phase:Ge},..._t.length>0&&{annotations:_t}}}}),ft[U.output_index]=void 0}else if(U.item.type==="function_call"){let Q=U.item,Ge=Ze[U.output_index];Ze[U.output_index]=void 0,xt=!0;let We=Ge?.suppressInputStreaming??yo({toolName:Q.name,tools:Fe}),it=()=>{if(We){He.enqueue({type:"tool-input-start",id:Q.call_id,toolName:Q.name});let wt=Ge?.bufferedInputDeltas??[];if(wt.length>0)for(let It of wt)He.enqueue({type:"tool-input-delta",id:Q.call_id,delta:It});else if(Q.arguments.length>0)He.enqueue({type:"tool-input-delta",id:Q.call_id,delta:Q.arguments})}He.enqueue({type:"tool-input-end",id:Q.call_id,...Q.namespace!=null&&{providerMetadata:{[Z]:{namespace:Q.namespace}}}}),He.enqueue({type:"tool-call",toolCallId:Q.call_id,toolName:Q.name,input:Q.arguments,providerMetadata:{[Z]:{itemId:Q.id,...Q.async!=null?{async:Q.async}:Ge?.async!=null?{async:Ge.async}:{},...Q.namespace!=null&&{namespace:Q.namespace},...Q.caller!=null&&{caller:Q.caller.type==="program"?{type:"program",callerId:Q.caller.caller_id}:Q.caller}}}})};if(!We){it();return}return Bo({toolCall:{toolCallId:Q.call_id,toolName:Q.name,input:Q.arguments},tools:Fe,providerOptionsName:Z,itemId:Q.id}).then((wt)=>{if(wt==null){it();return}for(let It of wt)He.enqueue({type:"tool-input-start",id:It.toolCallId,toolName:It.toolName}),He.enqueue({type:"tool-input-delta",id:It.toolCallId,delta:It.input}),He.enqueue({type:"tool-input-end",id:It.toolCallId}),He.enqueue(It)})}else if(U.item.type==="program")He.enqueue({type:"tool-call",toolCallId:U.item.call_id,toolName:W.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:U.item.code,fingerprint:U.item.fingerprint}),providerExecuted:!0,providerMetadata:{[Z]:{itemId:U.item.id}}});else if(U.item.type==="program_output")He.enqueue({type:"tool-result",toolCallId:U.item.call_id,toolName:W.toCustomToolName("programmatic_tool_calling"),result:{result:U.item.result,status:U.item.status},providerMetadata:{[Z]:{itemId:U.item.id}}});else if(U.item.type==="custom_tool_call"){let Q=Ze[U.output_index];Ze[U.output_index]=void 0,xt=!0;let Ge=W.toCustomToolName(U.item.name);He.enqueue({type:"tool-input-end",id:U.item.call_id}),He.enqueue({type:"tool-call",toolCallId:U.item.call_id,toolName:Ge,input:JSON.stringify(U.item.input),providerMetadata:{[Z]:{itemId:U.item.id,...U.item.async!=null?{async:U.item.async}:Q?.async!=null?{async:Q.async}:{}}}})}else if(U.item.type==="web_search_call"){if(Ze[U.output_index]=void 0,He.enqueue({type:"tool-result",toolCallId:U.item.id,toolName:W.toCustomToolName(G??"web_search"),...bo(U.item)}),U.item.action?.type==="search"){for(let Q of U.item.action.sources??[])if(Q.type==="url")bt=!0,He.enqueue({type:"source",sourceType:"url",id:Oe.config.generateId?.()??C(),url:Q.url})}}else if(U.item.type==="computer_call"){if(Ze[U.output_index]=void 0,U.item.call_id==null){He.enqueue({type:"tool-input-end",id:U.item.id}),He.enqueue({type:"tool-call",toolCallId:U.item.id,toolName:W.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),He.enqueue({type:"tool-result",toolCallId:U.item.id,toolName:W.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:U.item.status}});return}xt=!0;let Q=W.toCustomToolName("computer"),Ge=JSON.stringify(Zo(U.item));He.enqueue({type:"tool-input-delta",id:U.item.call_id,delta:Ge}),He.enqueue({type:"tool-input-end",id:U.item.call_id}),He.enqueue({type:"tool-call",toolCallId:U.item.call_id,toolName:Q,input:Ge,providerMetadata:{[Z]:{itemId:U.item.id}}})}else if(U.item.type==="file_search_call"){Ze[U.output_index]=void 0,He.enqueue({type:"tool-result",toolCallId:U.item.id,toolName:W.toCustomToolName("file_search"),result:{queries:U.item.queries,results:U.item.results?.map((Q)=>({attributes:Q.attributes,fileId:Q.file_id,filename:Q.filename,score:Q.score,text:Q.text}))??null}});for(let Q of U.item.results??[]){if(Re=!0,Ye.has(Q.file_id))continue;Ye.add(Q.file_id),He.enqueue({type:"source",sourceType:"document",id:Oe.config.generateId?.()??C(),mediaType:"text/plain",title:Q.filename,filename:Q.filename,providerMetadata:{[Z]:{type:"file_search",fileId:Q.file_id}}})}}else if(U.item.type==="code_interpreter_call")Ze[U.output_index]=void 0,He.enqueue({type:"tool-result",toolCallId:U.item.id,toolName:W.toCustomToolName("code_interpreter"),result:{outputs:U.item.outputs}});else if(U.item.type==="image_generation_call")He.enqueue({type:"tool-result",toolCallId:U.item.id,toolName:W.toCustomToolName("image_generation"),result:{result:U.item.result}});else if(U.item.type==="tool_search_call"){let Q=Ze[U.output_index],Ge=U.item.execution==="server";if(Q!=null){let We=Ge?Q.toolCallId:U.item.call_id??U.item.id;if(Ge)Qe.push(We);else He.enqueue({type:"tool-input-start",id:We,toolName:Q.toolName});He.enqueue({type:"tool-input-end",id:We}),He.enqueue({type:"tool-call",toolCallId:We,toolName:Q.toolName,input:JSON.stringify({arguments:U.item.arguments,call_id:Ge?null:We}),...Ge?{providerExecuted:!0}:{},providerMetadata:{[Z]:{itemId:U.item.id}}})}Ze[U.output_index]=void 0}else if(U.item.type==="tool_search_output"){let Q=U.item.call_id??Qe.shift()??U.item.id;He.enqueue({type:"tool-result",toolCallId:Q,toolName:W.toCustomToolName("tool_search"),result:{tools:U.item.tools},providerMetadata:{[Z]:{itemId:U.item.id}}})}else if(U.item.type==="mcp_call"){Ze[U.output_index]=void 0;let Q=U.item.approval_request_id??void 0,Ge=Q!=null?ke.get(Q)??Pe[Q]??U.item.id:U.item.id,We=`mcp.${U.item.name}`;He.enqueue({type:"tool-call",toolCallId:Ge,toolName:We,input:U.item.arguments,providerExecuted:!0,dynamic:!0}),He.enqueue({type:"tool-result",toolCallId:Ge,toolName:We,result:{type:"call",serverLabel:U.item.server_label,name:U.item.name,arguments:U.item.arguments,...U.item.output!=null?{output:U.item.output}:{},...U.item.error!=null?{error:U.item.error}:{}},providerMetadata:{[Z]:{itemId:U.item.id}}})}else if(U.item.type==="mcp_list_tools")Ze[U.output_index]=void 0;else if(U.item.type==="apply_patch_call"){let Q=Ze[U.output_index];if(Q?.applyPatch&&!Q.applyPatch.endEmitted&&U.item.operation.type!=="delete_file"){if(!Q.applyPatch.hasDiff)He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:St(U.item.operation.diff)});He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:'"}}'}),He.enqueue({type:"tool-input-end",id:Q.toolCallId}),Q.applyPatch.endEmitted=!0}if(Q&&U.item.status==="completed")xt=!0,He.enqueue({type:"tool-call",toolCallId:Q.toolCallId,toolName:W.toCustomToolName("apply_patch"),input:JSON.stringify({callId:U.item.call_id,operation:U.item.operation}),providerMetadata:{[Z]:{itemId:U.item.id}}});Ze[U.output_index]=void 0}else if(U.item.type==="mcp_approval_request"){Ze[U.output_index]=void 0;let Q=Oe.config.generateId?.()??C(),Ge=U.item.approval_request_id??U.item.id;ke.set(Ge,Q);let We=`mcp.${U.item.name}`;He.enqueue({type:"tool-call",toolCallId:Q,toolName:We,input:U.item.arguments,providerExecuted:!0,dynamic:!0}),He.enqueue({type:"tool-approval-request",approvalId:Ge,toolCallId:Q})}else if(U.item.type==="local_shell_call")Ze[U.output_index]=void 0,He.enqueue({type:"tool-call",toolCallId:U.item.call_id,toolName:W.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:U.item.action.command,timeoutMs:U.item.action.timeout_ms,user:U.item.action.user,workingDirectory:U.item.action.working_directory,env:U.item.action.env}}),providerMetadata:{[Z]:{itemId:U.item.id}}});else if(U.item.type==="shell_call")Ze[U.output_index]=void 0,He.enqueue({type:"tool-call",toolCallId:U.item.call_id,toolName:W.toCustomToolName("shell"),input:JSON.stringify({action:{commands:U.item.action.commands,timeoutMs:U.item.action.timeout_ms??void 0,maxOutputLength:U.item.action.max_output_length??void 0}}),...qe&&{providerExecuted:!0},providerMetadata:{[Z]:{itemId:U.item.id}}});else if(U.item.type==="shell_call_output")He.enqueue({type:"tool-result",toolCallId:U.item.call_id,toolName:W.toCustomToolName("shell"),result:{...U.item.max_output_length!=null&&{maxOutputLength:U.item.max_output_length},output:U.item.output.map((Q)=>({stdout:Q.stdout,stderr:Q.stderr,outcome:Q.outcome.type==="exit"?{type:"exit",exitCode:Q.outcome.exit_code}:{type:"timeout"}}))}});else if(U.item.type==="reasoning"){let Q=ot({itemId:U.item.id,outputIndex:U.output_index}),Ge=Xe[Q];if(Ge!=null){let We=Object.entries(Ge.summaryParts).filter(([it,wt])=>wt==="active"||wt==="can-conclude").map(([it])=>it);for(let it of We)He.enqueue({type:"reasoning-end",id:`${Q}:${it}`,providerMetadata:{[Z]:{itemId:Q,reasoningEncryptedContent:U.item.encrypted_content??null}}});delete Xe[Q]}ft[U.output_index]=void 0}else if(U.item.type==="compaction")He.enqueue({type:"custom",kind:"openai.compaction",providerMetadata:{[Z]:{type:"compaction",itemId:U.item.id,encryptedContent:U.item.encrypted_content}}})}else if(ea(U)){let Q=Ze[U.output_index];if(Q!=null)if(Q.suppressInputStreaming)Q.bufferedInputDeltas?.push(U.delta);else He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:U.delta})}else if(ta(U)){let Q=Ze[U.output_index];if(Q!=null)He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:U.delta})}else if(sa(U)){let Q=Ze[U.output_index];if(Q?.applyPatch)He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:St(U.delta)}),Q.applyPatch.hasDiff=!0}else if(aa(U)){let Q=Ze[U.output_index];if(Q?.applyPatch&&!Q.applyPatch.endEmitted){if(!Q.applyPatch.hasDiff)He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:St(U.diff)}),Q.applyPatch.hasDiff=!0;He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:'"}}'}),He.enqueue({type:"tool-input-end",id:Q.toolCallId}),Q.applyPatch.endEmitted=!0}}else if(oa(U))He.enqueue({type:"tool-result",toolCallId:U.item_id,toolName:W.toCustomToolName("image_generation"),result:{result:U.partial_image_b64},preliminary:!0});else if(na(U)){let Q=Ze[U.output_index];if(Q!=null)He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:St(U.delta)})}else if(ia(U)){let Q=Ze[U.output_index];if(Q!=null)He.enqueue({type:"tool-input-delta",id:Q.toolCallId,delta:'"}'}),He.enqueue({type:"tool-input-end",id:Q.toolCallId}),He.enqueue({type:"tool-call",toolCallId:Q.toolCallId,toolName:W.toCustomToolName("code_interpreter"),input:JSON.stringify({code:U.code,containerId:Q.codeInterpreter.containerId}),providerExecuted:!0})}else if(Qs(U))De=U.response.id,He.enqueue({type:"response-metadata",id:U.response.id,timestamp:new Date(U.response.created_at*1000),modelId:U.response.model});else if(Ws(U)){let Q=ot({itemId:U.item_id,outputIndex:U.output_index});if(He.enqueue({type:"text-delta",id:Q,delta:U.delta}),_.providerOptions?.[Z]?.logprobs&&U.logprobs)Ne.push(U.logprobs)}else if(U.type==="response.reasoning_summary_part.added"){let Q=ot({itemId:U.item_id,outputIndex:U.output_index});if(U.summary_index>0){let Ge=Xe[Q];if(Ge!=null){Ge.summaryParts[U.summary_index]="active";for(let We of Object.keys(Ge.summaryParts))if(Ge.summaryParts[We]==="can-conclude")He.enqueue({type:"reasoning-end",id:`${Q}:${We}`,providerMetadata:{[Z]:{itemId:Q}}}),Ge.summaryParts[We]="concluded";He.enqueue({type:"reasoning-start",id:`${Q}:${U.summary_index}`,providerMetadata:{[Z]:{itemId:Q,reasoningEncryptedContent:Ge.encryptedContent??null}}})}}}else if(U.type==="response.reasoning_summary_text.delta"){let Q=ot({itemId:U.item_id,outputIndex:U.output_index});He.enqueue({type:"reasoning-delta",id:`${Q}:${U.summary_index}`,delta:U.delta,providerMetadata:{[Z]:{itemId:Q}}})}else if(U.type==="response.reasoning_summary_part.done"){let Q=ot({itemId:U.item_id,outputIndex:U.output_index}),Ge=Xe[Q];if(Ge!=null)if(Me)He.enqueue({type:"reasoning-end",id:`${Q}:${U.summary_index}`,providerMetadata:{[Z]:{itemId:Q}}}),Ge.summaryParts[U.summary_index]="concluded";else Ge.summaryParts[U.summary_index]="can-conclude"}else if(Xs(U)){if(!tt)$e={unified:Wt({finishReason:U.response.incomplete_details?.reason,hasFunctionCall:xt}),raw:U.response.incomplete_details?.reason??void 0};if(Se=U.response.usage??void 0,typeof U.response.service_tier==="string")Le=U.response.service_tier;if(U.response.reasoning?.context!=null)pt=U.response.reasoning.context}else if(Yo(U)){let Q=U.response.incomplete_details?.reason;if($e={unified:Q?Wt({finishReason:Q,hasFunctionCall:xt}):"error",raw:Q??"error"},Se=U.response.usage??void 0,U.response.reasoning?.context!=null)pt=U.response.reasoning.context;if(!tt&&U.response.error!=null){tt=!0;let Ge={type:"response.failed",sequence_number:U.sequence_number,response:{error:U.response.error,incomplete_details:U.response.incomplete_details,service_tier:U.response.service_tier}};He.enqueue({type:"error",error:$t(Ge)??Ge})}}else if(ra(U))if(_t.push(U.annotation),U.annotation.type==="url_citation"||U.annotation.type==="file_citation")mt.push(U.annotation);else He.enqueue(Gt(U.annotation,Z,Oe.config.generateId?.()??C()));else if(Qo(U))tt=!0,$e={unified:"error",raw:"error"},He.enqueue({type:"error",error:$t(U)??U})},flush(st){for(let U of mt){if(U.type==="url_citation"&&bt||U.type==="file_citation"&&Re)continue;st.enqueue(Gt(U,Z,Oe.config.generateId?.()??C()))}for(let U of Object.values(Ze)){if(!U?.suppressInputStreaming)continue;st.enqueue({type:"tool-input-start",id:U.toolCallId,toolName:U.toolName});for(let Q of U.bufferedInputDeltas??[])st.enqueue({type:"tool-input-delta",id:U.toolCallId,delta:Q})}let He={[Z]:{responseId:De,...Ne.length>0?{logprobs:Ne}:{},...Le!==void 0?{serviceTier:Le}:{},...pt!==void 0?{reasoningContext:pt}:{}}};st.enqueue({type:"finish",finishReason:$e,usage:lo(Se),providerMetadata:He})}})),request:{body:R},response:{headers:Ae}}}};function Ws(m){return m.type==="response.output_text.delta"}function Gs(m){let _=Zs(m);return _!=null&&Array.isArray(_.choices)&&typeof _.type!=="string"}function Ks({value:m,cause:_,url:R,requestBodyValues:B,responseHeaders:G}){return new v({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:B,responseHeaders:G,responseBody:JSON.stringify(m),cause:_,data:m,isRetryable:!1})}function Zs(m){return typeof m==="object"&&m!=null?m:void 0}function Ys(m){return m.type==="response.output_item.done"}function Xs(m){return m.type==="response.completed"||m.type==="response.incomplete"}function Yo(m){return m.type==="response.failed"}function Qs(m){return m.type==="response.created"}function ea(m){return m.type==="response.function_call_arguments.delta"}function ta(m){return m.type==="response.custom_tool_call_input.delta"}function oa(m){return m.type==="response.image_generation_call.partial_image"}function na(m){return m.type==="response.code_interpreter_call_code.delta"}function ia(m){return m.type==="response.code_interpreter_call_code.done"}function sa(m){return m.type==="response.apply_patch_call_operation_diff.delta"}function aa(m){return m.type==="response.apply_patch_call_operation_diff.done"}function Xo(m){return m.type==="response.output_item.added"}function ra(m){return m.type==="response.output_text.annotation.added"}function Qo(m){return m.type==="error"}function la(m){return m.type==="response.in_progress"}function ua(m){return!(m.type==="response.created"||m.type==="response.in_progress"||m.type==="response.failed"||m.type==="error"||m.type==="unknown_chunk")}function bo({action:m,status:_}){return _==="completed"?{result:pa(m)}:{isError:!0,result:{status:_}}}function pa(m){if(m==null)return{};switch(m.type){case"search":return{action:{type:"search",query:m.query??void 0,...m.queries!=null&&{queries:m.queries}},...m.sources!=null&&{sources:m.sources}};case"open_page":return{action:{type:"openPage",url:m.url}};case"find_in_page":return{action:{type:"findInPage",url:m.url,pattern:m.pattern}}}}function St(m){return JSON.stringify(m).slice(1,-1)}var tn="/v1/responses",ca=172800,on=i(()=>s(t({inputFileExpiresAfter:r().int().min(3600).max(2592000).optional()})));function da(m){for(let _ of m){let R=_.type;if(R!=="text")throw new u({functionality:`batch request type: ${R}`,message:`The OpenAI Batch API does not support batch requests with type "${R}".`})}}var qn=()=>t({id:e(),status:e(),output_file_id:e().nullish(),error_file_id:e().nullish(),created_at:r().nullish(),expires_at:r().nullish(),request_counts:t({total:r().nullish(),completed:r().nullish(),failed:r().nullish()}).nullish(),errors:t({data:o(t({code:e().nullish(),message:e().nullish()})).nullish()}).nullish()}),oo=i(()=>s(qn())),ma=i(()=>s(t({custom_id:e(),response:t({status_code:r(),request_id:e().nullish(),body:w()}).nullish(),error:t({code:e(),message:e()}).nullish()}))),ga=i(()=>s(t({data:o(qn()),has_more:c(),last_id:e().nullish()}))),ha=class{constructor(m){this.options=m,this.specificationVersion="v4",this.supportedUrls=Rn,this.provider=m.provider}async doStartBatch(m){da(m.requests),fa(m.requests);let _=[],R=m.webhookUrl==null?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The OpenAI Batch API does not support per-batch webhook URLs."}}],B=(await this.parseBatchProviderOptions(m.providerOptions))?.inputFileExpiresAfter??ca;for(let Ae of m.requests){let Ue=await this.prepareRequest(Ae);_.push(JSON.stringify({custom_id:Ae.id,method:"POST",url:tn,body:Ue.body}),`
18
- `);for(let Be of Ue.warnings)R.push({requestId:Ae.id,warning:Be});for(let Be of Ae.options.tools??[])if(Be.type==="provider"&&!ya.has(Be.id))R.push({requestId:Ae.id,warning:{type:"unsupported",feature:`batch result conversion for tool "${Be.name}"`,details:"OpenAI may return output for this tool that AI SDK text batches cannot currently convert."}})}let G="batch.jsonl",W=new Blob(_,{type:"application/jsonl"});_.length=0;let Me=new FormData;Me.append("file",W,G),Me.append("purpose","batch"),Me.append("expires_after[anchor]","created_at"),Me.append("expires_after[seconds]",String(B));let{value:Z}=await we({url:this.getUrl("/files"),headers:d(this.options.config.headers?.(),m.headers),body:{content:Me,values:{purpose:"batch","expires_after[anchor]":"created_at","expires_after[seconds]":String(B),file:{name:G,type:W.type,size:W.size}}},failedResponseHandler:gt,successfulResponseHandler:p(Jt),abortSignal:m.abortSignal,fetch:this.options.config.fetch}),{value:qe}=await g({url:this.getUrl("/batches"),headers:d(this.options.config.headers?.(),m.headers),body:{input_file_id:Z.id,endpoint:tn,completion_window:"24h"},failedResponseHandler:gt,successfulResponseHandler:p(oo),abortSignal:m.abortSignal,fetch:this.options.config.fetch}),be=vo(Z.expires_at);return{batchId:qe.id,...zt(qe),providerMetadata:{openai:{inputFileId:Z.id,...be!=null?{inputFileExpiresAt:be}:{}}},warnings:R}}async parseBatchProviderOptions(m){let _=this.options.config.provider.includes("azure")?"azure":"openai",R=await h({provider:_,providerOptions:m,schema:on});if(R==null&&_!=="openai")R=await h({provider:"openai",providerOptions:m,schema:on});return R}async doGetBatchStatus(m){return zt(await this.retrieveBatch(m))}async doCancelBatch(m){return await g({url:this.getUrl(`/batches/${encodeURIComponent(m.batchId)}/cancel`),headers:d(this.options.config.headers?.(),m.headers),body:{},failedResponseHandler:gt,successfulResponseHandler:p(oo),abortSignal:m.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches(m){let _=new URL(this.getUrl("/batches"));if(m.limit!=null)_.searchParams.set("limit",String(m.limit));if(m.cursor!=null)_.searchParams.set("after",m.cursor);let{value:R}=await P({url:_.toString(),headers:d(this.options.config.headers?.(),m.headers),failedResponseHandler:gt,successfulResponseHandler:p(ga),abortSignal:m.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return{batches:R.data.map((B)=>({batchId:B.id,...zt(B)})),...R.has_more&&R.last_id!=null?{nextCursor:R.last_id}:{}}}async doGetBatchResults(m){let _=await this.retrieveBatch(m),R=zt(_);if(R.status==="pending")throw new b({argument:"batchId",message:`OpenAI batch "${m.batchId}" is not complete.`});let B=[_.output_file_id,_.error_file_id].filter((W)=>W!=null);if(R.status==="completed"&&B.length===0)throw new A({data:_,message:`OpenAI batch "${m.batchId}" completed without batch output.`});let G=this.iterateBatchResults({fileIds:B,options:m});return ie(G)}async retrieveBatch(m){let{value:_}=await P({url:this.getUrl(`/batches/${encodeURIComponent(m.batchId)}`),headers:d(this.options.config.headers?.(),m.headers),failedResponseHandler:gt,successfulResponseHandler:p(oo),abortSignal:m.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return _}async*iterateBatchResults({fileIds:m,options:_}){for(let R of m){let{value:B}=await P({url:this.getUrl(`/files/${encodeURIComponent(R)}/content`),headers:d(this.options.config.headers?.(),_.headers),failedResponseHandler:gt,successfulResponseHandler:_e(ma,{maxLineBytes:this.options.maxLineBytes}),abortSignal:_.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for await(let G of B)yield await this.convertResultLine(G)}}async convertResultLine(m){if(m.error!=null){let R={message:m.error.message,code:m.error.code};if(m.error.code==="batch_cancelled")return{type:"text",id:m.custom_id,status:"cancelled",error:R};if(m.error.code==="batch_expired")return{type:"text",id:m.custom_id,status:"expired",error:R};return{type:"text",id:m.custom_id,status:"failed",error:R}}if(m.response==null)return{type:"text",id:m.custom_id,status:"failed",error:{message:"OpenAI returned a batch result without a response or error.",code:"invalid_batch_result"}};if(m.response.status_code<200||m.response.status_code>=300)return{type:"text",id:m.custom_id,status:"failed",error:await va({body:m.response.body,statusCode:m.response.status_code})};let _=await Ia(m.response.body);if(!_.success)return{type:"text",id:m.custom_id,status:"failed",error:_.error};return{type:"text",id:m.custom_id,status:"succeeded",result:_.result}}async prepareRequest(m){let{args:_,warnings:R}=await An.prepareRequest({modelId:m.modelId,config:this.options.config,options:m.options});return{body:_,warnings:R}}getUrl(m){return this.options.config.url({path:m,modelId:""})}};function fa(m){let _=m[0]?.modelId;for(let R of m)if(R.modelId!==_)throw new b({argument:"requests",message:`The OpenAI Batch API requires all requests in a batch to use the same model. Found "${_}" and "${R.modelId}".`})}var ya=new Set(["openai.code_interpreter","openai.custom","openai.file_search","openai.web_search","openai.web_search_preview"]);function zt(m){let _=_a(m.status),R=m.errors?.data?.[0],B=ba(m.request_counts),G=vo(m.created_at),W=vo(m.expires_at);return{status:_,rawStatus:m.status,...B!=null?{requestCounts:B}:{},...R!=null?{error:{message:R.message??"OpenAI batch failed.",...R.code!=null?{code:R.code}:{}}}:{},...G!=null?{createdAt:G}:{},...W!=null?{expiresAt:W}:{}}}function _a(m){switch(m){case"completed":return"completed";case"failed":case"expired":case"cancelled":return"failed";default:return"pending"}}function ba(m){let _=m?.total,R=m?.completed,B=m?.failed;return ge({total:_,pending:_!=null&&R!=null&&B!=null?_-R-B:void 0,completed:R,failed:B})}function vo(m){if(m==null||!Number.isFinite(m))return;let _=new Date(m*1000);return Number.isNaN(_.getTime())?void 0:_.toISOString()}async function va({body:m,statusCode:_}){let R=await N({value:m,schema:mn});if(!R.success)return{message:`OpenAI batch request failed with status code ${_}.`,statusCode:_};return{message:R.value.error.message,type:R.value.error.type??void 0,code:R.value.error.code!=null?String(R.value.error.code):void 0,statusCode:_}}async function Ia(m){let _=await N({value:m,schema:Tn});if(!_.success)return{success:!1,error:{message:"OpenAI returned an invalid Responses batch result.",code:"invalid_response"}};let R=_.value;if(R.error!=null)return{success:!1,error:{message:R.error.message,type:R.error.type,code:R.error.code}};if(R.output==null){let Z=R.incomplete_details?.reason;return{success:!1,error:{message:Z!=null?`OpenAI Responses returned no output (${Z}).`:"OpenAI Responses returned no output.",code:"invalid_response"}}}let B=[],G=[],W=!1;for(let Z of R.output)switch(Z.type){case"reasoning":{let qe=Z.summary.length>0?Z.summary:[{type:"summary_text",text:""}];for(let be of qe)B.push({type:"reasoning",text:be.text,providerMetadata:{openai:{itemId:Z.id,reasoningEncryptedContent:Z.encrypted_content??null}}});break}case"message":for(let qe of Z.content)if(B.push({type:"text",text:qe.text}),qe.logprobs!=null)G.push(qe.logprobs);break;case"function_call":W=!0,B.push({type:"tool-call",toolCallId:Z.call_id,toolName:Z.name,input:Z.arguments,providerMetadata:{openai:{itemId:Z.id,...Z.namespace!=null&&{namespace:Z.namespace},...Z.caller!=null&&{caller:Z.caller.type==="program"?{type:"program",callerId:Z.caller.caller_id}:Z.caller}}}});break;case"custom_tool_call":W=!0,B.push({type:"tool-call",toolCallId:Z.call_id,toolName:Z.name,input:JSON.stringify(Z.input),providerMetadata:{openai:{itemId:Z.id}}});break;case"web_search_call":B.push({type:"tool-call",toolCallId:Z.id,toolName:"web_search",input:"{}",providerExecuted:!0,dynamic:!0}),B.push({type:"tool-result",toolCallId:Z.id,toolName:"web_search",...bo(Z),dynamic:!0});break;case"file_search_call":B.push({type:"tool-call",toolCallId:Z.id,toolName:"file_search",input:"{}",providerExecuted:!0,dynamic:!0}),B.push({type:"tool-result",toolCallId:Z.id,toolName:"file_search",result:{queries:Z.queries,results:Z.results?.map((qe)=>({attributes:qe.attributes,fileId:qe.file_id,filename:qe.filename,score:qe.score,text:qe.text}))??null},dynamic:!0});break;case"code_interpreter_call":B.push({type:"tool-call",toolCallId:Z.id,toolName:"code_interpreter",input:JSON.stringify({code:Z.code,containerId:Z.container_id}),providerExecuted:!0,dynamic:!0}),B.push({type:"tool-result",toolCallId:Z.id,toolName:"code_interpreter",result:{outputs:Z.outputs},dynamic:!0});break;default:return{success:!1,error:{message:`OpenAI returned an unsupported "${Z.type}" output item in an AI SDK text batch.`,code:"unsupported_content"}}}let Me={openai:{responseId:R.id,...G.length>0?{logprobs:G}:{},...typeof R.service_tier==="string"?{serviceTier:R.service_tier}:{},...R.reasoning?.context!=null?{reasoningContext:R.reasoning.context}:{}}};return{success:!0,result:{content:B,finishReason:{unified:Wt({finishReason:R.incomplete_details?.reason,hasFunctionCall:W}),raw:R.incomplete_details?.reason??void 0},usage:lo(R.usage),response:{id:R.id,timestamp:R.created_at!=null?new Date(R.created_at*1000):void 0,modelId:R.model},providerMetadata:Me,warnings:[]}}}var wa=se({type:e(),responseEvent:e().optional()}).refine((m)=>m.type==="response.event"===(m.responseEvent!==void 0),"responseEvent is required for response.event and forbidden for other event types."),xa=se({client:se({dataChannel:se({allowedClientEvents:l([n("all"),o(e())]).optional(),allowedServerEvents:l([n("all"),o(wa)]).optional()})}).optional(),delegation:se({type:n("client")}).nullable().optional(),input:o(f("role",[se({type:n("message"),role:a(["developer","user"]),content:ce([se({type:n("input_text"),text:e()})])}),se({type:n("message"),role:n("assistant"),content:ce([se({type:a(["text","output_text"]),text:e()})])})])).max(128).optional(),store:c().optional(),voice:se({id:e().min(1)}).optional()}),sn=l([se({type:n("audio/pcm"),rate:l([n(16000),n(24000)])}),se({type:a(["audio/pcma","audio/pcmu"]),rate:n(8000)})]);function Io(m,_,R="websocket"){for(let Me of Object.keys(m))if(!["instructions","voice","inputAudioFormat","outputAudioFormat","providerOptions"].includes(Me))throw new u({functionality:`OpenAI Live session setting: ${Me}`});if(t({delegation:t({type:n("responses")})}).safeParse(m.providerOptions?.openai).success)throw new u({functionality:"OpenAI Live Responses delegation; only client delegation is supported"});let B=xa.parse(m.providerOptions?.openai??{});if(B.client!==void 0&&R!=="webrtc")throw new u({functionality:"OpenAI Live client permissions outside WebRTC startup"});if(B.voice!=null&&m.voice!=null)throw new b({argument:"voice",message:"Choose either voice or providerOptions.openai.voice."});if(R==="webrtc"&&(m.inputAudioFormat!==void 0||m.outputAudioFormat!==void 0))throw new u({functionality:"Fixed audio formats for OpenAI Live WebRTC; audio is negotiated through SDP"});let G=m.inputAudioFormat==null?void 0:sn.parse(m.inputAudioFormat),W=m.outputAudioFormat==null?void 0:sn.parse(m.outputAudioFormat);if(G!=null&&W!=null&&(G.type!==W.type||G.rate!==W.rate))throw new b({argument:"outputAudioFormat",message:"OpenAI Live requires the same input and output audio format."});return{model:_,...m.instructions!==void 0?{instructions:m.instructions}:{},audio:{...R==="websocket"?{format:G??W??{type:"audio/pcm",rate:24000}}:{},output:{voice:B.voice??m.voice??"marin"}},...B.delegation!==void 0?{delegation:B.delegation}:{},...B.client!==void 0?{client:{data_channel:{...B.client.dataChannel.allowedClientEvents!==void 0?{allowed_client_events:B.client.dataChannel.allowedClientEvents}:{},...B.client.dataChannel.allowedServerEvents!==void 0?{allowed_server_events:B.client.dataChannel.allowedServerEvents==="all"?"all":B.client.dataChannel.allowedServerEvents.map((Me)=>({type:Me.type,...Me.responseEvent!==void 0?{response_event:Me.responseEvent}:{}}))}:{}}}}:{},...B.input!==void 0?{input:B.input}:{},...B.store!==void 0?{store:B.store}:{}}}var wo=t({id:e().min(1)}),ka=wo.extend({delegation:t({type:a(["client","responses"])}).nullish()}),an=t({seconds:r().nonnegative()}),rn={delta:e(),start_ms:r().nonnegative(),end_ms:r().nonnegative()},Yt={client_event_id:e().nullish()},no={...Yt,start_ms:r().nonnegative(),end_ms:r().nonnegative()},Mn=f("type",[t({type:n("session.started"),session:ka}),t({type:n("session.closed"),session:wo.nullish(),usage:an,reason:e()}),t({type:n("session.usage.updated"),usage:an,context_window:t({usage_ratio:r().min(0).max(1)}).nullish()}),t({type:n("session.output_audio.delta"),delta:e()}),t({type:n("session.input_transcript.delta"),...rn}),t({type:n("session.output_transcript.delta"),...rn}),t({type:n("session.delegation.created"),offset_ms:r().nonnegative().nullish(),delegation:t({id:e().min(1),target:a(["client","responses"]).nullish(),response_id:e().min(1).nullish()})}),t({type:n("session.updated"),session:wo,...Yt}),t({type:n("session.input_audio.muted"),...Yt}),t({type:n("session.input_audio.unmuted"),...Yt}),t({type:n("session.instructions.appended"),...no}),t({type:n("session.thinking.appended"),...no}),t({type:n("session.commentary.appended"),...no}),t({type:n("error"),error:t({message:e(),code:e().nullish(),client_event_id:e().nullish()})})]),Ca=new Set(Mn.options.map((m)=>m.shape.type.value)),ja=t({type:e()});function Sa(){return(m)=>Nn(m)}function Nn(m){return[Oa(m)]}function Oa(m){let _=ja.safeParse(m);if(_.success&&!Ca.has(_.data.type))return{type:"custom",rawType:_.data.type,raw:m};let R=Mn.safeParse(m);if(!R.success)return{type:"error",code:"invalid_server_event",message:"Invalid OpenAI Live server event.",raw:m};let B=R.data;if("start_ms"in B&&B.end_ms<B.start_ms)return{type:"error",code:"invalid_server_event",message:"Invalid OpenAI Live event time interval.",raw:m};switch(B.type){case"session.started":return{type:"session-started",sessionId:B.session.id,delegationMode:B.session.delegation?.type==="responses"?"provider":"client",raw:m};case"session.closed":return{type:"session-closed",sessionId:B.session?.id,usage:B.usage,reason:B.reason,raw:m};case"session.usage.updated":return{type:"session-usage",usage:B.usage,contextWindowUsageRatio:B.context_window?.usage_ratio,raw:m};case"session.output_audio.delta":return{type:"audio-chunk",delta:B.delta,raw:m};case"session.input_transcript.delta":case"session.output_transcript.delta":return{type:"transcript-fragment",speaker:B.type==="session.input_transcript.delta"?"user":"assistant",delta:B.delta,startMs:B.start_ms,endMs:B.end_ms,raw:m};case"session.delegation.created":return{type:"delegation-created",delegationId:B.delegation.id,target:B.delegation.target==="responses"?"provider":B.delegation.target??void 0,offsetMs:B.offset_ms??void 0,...B.delegation.response_id!=null?{responseId:B.delegation.response_id}:{},raw:m};case"error":return{type:"error",message:B.error.message,code:B.error.code??void 0,clientEventId:B.error.client_event_id??void 0,raw:m};case"session.updated":return{type:"command-acknowledged",command:"session.update",clientEventId:B.client_event_id??void 0,raw:m};case"session.input_audio.muted":case"session.input_audio.unmuted":return{type:"command-acknowledged",command:B.type.slice(0,-1),clientEventId:B.client_event_id??void 0,raw:m};case"session.instructions.appended":case"session.thinking.appended":case"session.commentary.appended":return{type:"command-acknowledged",command:B.type.slice(0,-2),clientEventId:B.client_event_id??void 0,raw:m}}}function Ta(m,_){let R="eventId"in m&&m.eventId!==void 0?{event_id:m.eventId}:{};switch(m.type){case"session-start":return{type:"session.start",session:Io(m.config,_),...R};case"session-update":throw new u({functionality:"OpenAI Live session-update; startup settings are immutable; use context-append or input-audio-mute/input-audio-unmute"});case"session-close":return{type:"session.close",...R};case"input-audio-append":return{type:"session.input_audio.append",audio:m.audio,...R};case"input-audio-mute":return{type:"session.input_audio.mute",...R};case"input-audio-unmute":return{type:"session.input_audio.unmute",...R};case"context-append":{let B=t({content:e(),delegationId:e().min(1).nullable()}).parse(m);return{type:`session.${se({channel:a(["instructions","thinking","commentary"]).optional()}).parse(m.providerOptions?.openai??{}).channel??"thinking"}.append`,content:B.content,delegation_id:B.delegationId,...R}}default:throw new u({functionality:`OpenAI Live command: ${m.type}; use continuous audio and context-append instead of voice-turn commands`})}}var Ra=i(()=>s(t({session:t({id:e().min(1)}),transport:t({type:n("webrtc"),sdp:e().min(1)})}))),ln=class{constructor(m,_){this.modelId=m,this.config=_,this.specificationVersion="v4",this.capabilities={conversation:"continuous",transports:["websocket","webrtc"],connections:["server-websocket","webrtc"],startup:"session-start",finalization:"session-close"}}get provider(){return this.config.provider}getWebRTCConfig(){return{dataChannelLabel:"oai-events"}}getServerWebSocketConfig(){let m=new URL(`${this.config.baseURL}/live/sessions`);m.protocol=m.protocol==="http:"?"ws:":"wss:";let _={};for(let[R,B]of Object.entries(this.config.headers()))if(B!==void 0)_[R]=B;return{url:m.toString(),headers:_}}async doCreateWebRTCSession({sdp:m,sessionConfig:_={},abortSignal:R}){let B=Io(_,this.modelId,"webrtc"),{value:G}=await g({url:`${this.config.baseURL}/live/sessions`,headers:this.config.headers(),body:{session:B,transport:{type:"webrtc",sdp:e().min(1).parse(m)}},failedResponseHandler:gt,successfulResponseHandler:p(Ra),abortSignal:R,fetch:this.config.fetch});return{sessionId:G.session.id,sdp:G.transport.sdp}}parseServerEvent(m){return Nn(m)}createServerEventParser(){return Sa()}serializeClientEvent(m){return Ta(m,this.modelId)}buildSessionConfig(m){return Io(m,this.modelId)}};function Aa(m){let _=m,R=_.type;switch(R){case"session.created":return{type:"session-created",sessionId:_.session?.id,raw:m};case"session.updated":return{type:"session-updated",raw:m};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:_.item_id,raw:m};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:_.item_id,raw:m};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:_.item_id,previousItemId:_.previous_item_id,raw:m};case"conversation.item.added":return{type:"conversation-item-added",itemId:_.item?.id??_.item_id,item:_.item,raw:m};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:_.item_id,transcript:_.transcript??"",raw:m};case"response.created":return{type:"response-created",responseId:_.response?.id??_.response_id,raw:m};case"response.done":return{type:"response-done",responseId:_.response?.id??_.response_id,status:_.response?.status??"completed",raw:m};case"response.output_item.added":return{type:"output-item-added",responseId:_.response_id,itemId:_.item?.id??_.item_id,raw:m};case"response.output_item.done":return{type:"output-item-done",responseId:_.response_id,itemId:_.item?.id??_.item_id,raw:m};case"response.content_part.added":return{type:"content-part-added",responseId:_.response_id,itemId:_.item_id,raw:m};case"response.content_part.done":return{type:"content-part-done",responseId:_.response_id,itemId:_.item_id,raw:m};case"response.output_audio.delta":return{type:"audio-delta",responseId:_.response_id,itemId:_.item_id,delta:_.delta,raw:m};case"response.output_audio.done":return{type:"audio-done",responseId:_.response_id,itemId:_.item_id,raw:m};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:_.response_id,itemId:_.item_id,delta:_.delta,raw:m};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:_.response_id,itemId:_.item_id,transcript:_.transcript,raw:m};case"response.output_text.delta":return{type:"text-delta",responseId:_.response_id,itemId:_.item_id,delta:_.delta,raw:m};case"response.output_text.done":return{type:"text-done",responseId:_.response_id,itemId:_.item_id,text:_.text,raw:m};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:_.response_id,itemId:_.item_id,callId:_.call_id,delta:_.delta,raw:m};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:_.response_id,itemId:_.item_id,callId:_.call_id,name:_.name,arguments:_.arguments,raw:m};case"error":return{type:"error",message:_.error?.message??_.message??"Unknown error",code:_.error?.code??_.code,clientEventId:_.error?.event_id??void 0,raw:m};default:return{type:"custom",rawType:R,raw:m}}}function qa(m,_){switch(m.type){case"session-update":return{type:"session.update",session:xo(m.config,_),...m.eventId!=null?{event_id:m.eventId}:{}};case"input-audio-append":return{type:"input_audio_buffer.append",audio:m.audio,...m.eventId!=null?{event_id:m.eventId}:{}};case"input-audio-commit":return{type:"input_audio_buffer.commit"};case"input-audio-clear":return{type:"input_audio_buffer.clear"};case"conversation-item-create":{let R=m.item;switch(R.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:R.role,content:[{type:"input_text",text:R.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:R.role,content:[{type:"input_audio",audio:R.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:R.callId,output:R.output}}}break}case"conversation-item-truncate":return{type:"conversation.item.truncate",item_id:m.itemId,content_index:m.contentIndex,audio_end_ms:m.audioEndMs};case"response-create":return{type:"response.create",...m.options!=null?{response:{...m.options.modalities!=null?{output_modalities:m.options.modalities}:{},...m.options.instructions!=null?{instructions:m.options.instructions}:{},...m.options.metadata!=null?{metadata:m.options.metadata}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}function xo(m,_){let R={type:"realtime",model:_};if(m.instructions!=null)R.instructions=m.instructions;if(m.outputModalities!=null)R.output_modalities=m.outputModalities;let B={};if(m.inputAudioFormat!=null||m.inputAudioTranscription!=null||m.turnDetection!=null){let G={};if(m.inputAudioFormat!=null)G.format={type:m.inputAudioFormat.type,...m.inputAudioFormat.rate!=null?{rate:m.inputAudioFormat.rate}:{}};if(m.turnDetection!=null)if(m.turnDetection.type==="disabled")G.turn_detection=null;else{let W={type:m.turnDetection.type==="server-vad"?"server_vad":"semantic_vad"};if(m.turnDetection.threshold!=null)W.threshold=m.turnDetection.threshold;if(m.turnDetection.silenceDurationMs!=null)W.silence_duration_ms=m.turnDetection.silenceDurationMs;if(m.turnDetection.prefixPaddingMs!=null)W.prefix_padding_ms=m.turnDetection.prefixPaddingMs;G.turn_detection=W}if(m.inputAudioTranscription!=null)G.transcription={model:m.inputAudioTranscription.model??"gpt-realtime-whisper",...m.inputAudioTranscription.language!=null?{language:m.inputAudioTranscription.language}:{},...m.inputAudioTranscription.prompt!=null?{prompt:m.inputAudioTranscription.prompt}:{}};B.input=G}if(m.outputAudioFormat!=null||m.voice!=null){let G={};if(m.outputAudioFormat!=null)G.format={type:m.outputAudioFormat.type,...m.outputAudioFormat.rate!=null?{rate:m.outputAudioFormat.rate}:{}};if(m.voice!=null)G.voice=m.voice;B.output=G}if(Object.keys(B).length>0)R.audio=B;if(m.tools!=null&&m.tools.length>0)R.tools=m.tools.map((G)=>({type:G.type,name:G.name,description:G.description,parameters:G.parameters})),R.tool_choice="auto";if(m.providerOptions!=null)Object.assign(R,m.providerOptions);return R}var Ma=class{constructor(m,_){this.specificationVersion="v4",this.modelId=m,this.provider=_.provider,this.config=_}async doCreateClientSecret(m){let _=this.config.fetch??fetch,R=`${this.config.baseURL}/realtime/client_secrets`,B=m.sessionConfig!=null?xo(m.sessionConfig,this.modelId):{type:"realtime",model:this.modelId},G=await _(R,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify({session:B,...m.expiresAfterSeconds!=null?{expires_after:{anchor:"created_at",seconds:m.expiresAfterSeconds}}:{}})});if(!G.ok){let Me=await G.text();throw Error(`OpenAI realtime client secret request failed: ${G.status} ${Me}`)}let W=await G.json();return{token:W.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:W.expires_at}}getWebSocketConfig(m){return{url:m.url,protocols:["realtime",`openai-insecure-api-key.${m.token}`]}}parseServerEvent(m){return Aa(m)}serializeClientEvent(m){return qa(m,this.modelId)}buildSessionConfig(m){return xo(m,this.modelId)}},Na=["gpt-live-1"];function Ea(m,{api:_}={}){if(_!==void 0){if(_!=="live"&&_!=="realtime")throw new b({argument:"api",message:'OpenAI realtime api must be "live" or "realtime".'});return _}return Na.some((R)=>R===m)?"live":"realtime"}function $a(m){let _=(R,B)=>{let G=Ea(R,B),W={...m,provider:`${m.provider}.${G}`};return G==="live"?new ln(R,W):new Ma(R,W)};return Object.assign(_,{getToken:async(R)=>{let B=_(R.model,R);if(B instanceof ln)throw new u({functionality:"Short-lived OpenAI credentials for the Live API. Use server WebSocket setup via getServerWebSocketConfig() with a server-side API key instead."});let G=await B.doCreateClientSecret({sessionConfig:R.sessionConfig,expiresAfterSeconds:R.expiresAfterSeconds});return{token:G.token,url:G.url,expiresAt:G.expiresAt}}})}var Pa=i(()=>s(t({instructions:e().nullish(),speed:r().min(0.25).max(4).nullish()}))),Ua=class m{static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,_.config)}get provider(){return this.config.provider}constructor(_,R){this.modelId=_,this.config=R,this.specificationVersion="v4"}async getArgs({text:_,voice:R="alloy",outputFormat:B="mp3",speed:G,instructions:W,language:Me,providerOptions:Z}){let qe=[],be=await h({provider:"openai",providerOptions:Z,schema:Pa}),Ae={model:this.modelId,input:_,voice:R,response_format:"mp3",speed:G,instructions:W};if(B)if(["mp3","opus","aac","flac","wav","pcm"].includes(B))Ae.response_format=B;else qe.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${B}. Using mp3 instead.`});if(be){let Ue={speed:be.speed??void 0,instructions:be.instructions??void 0};for(let Be in Ue){let Oe=Ue[Be];if(Oe!==void 0)Ae[Be]=Oe}}if(Me)qe.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${Me}" was ignored.`});return{requestBody:Ae,warnings:qe}}async doGenerate(_){let R=this.config._internal?.currentDate?.()??new Date,{requestBody:B,warnings:G}=await this.getArgs(_),{value:W,responseHeaders:Me,rawValue:Z}=await g({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:d(this.config.headers?.(),_.headers),body:B,failedResponseHandler:gt,successfulResponseHandler:ut(),abortSignal:_.abortSignal,fetch:this.config.fetch});return{audio:W,warnings:G,request:{body:JSON.stringify(B)},response:{timestamp:R,modelId:this.modelId,headers:Me,body:Z}}}},Da=i(()=>s(t({text:e(),language:e().nullish(),languages:o(t({code:e()})).nullish(),duration:r().nullish(),words:o(t({word:e(),start:r(),end:r()})).nullish(),segments:o(l([t({id:r(),seek:r(),start:r(),end:r(),text:e(),tokens:o(r()),temperature:r(),avg_logprob:r(),compression_ratio:r(),no_speech_prob:r()}),t({type:n("transcript.text.segment"),id:e(),start:r(),end:r(),text:e(),speaker:e()})])).nullish(),usage:y(e(),F()).nullish()}))),un=i(()=>s(t({include:o(e()).optional(),language:e().optional(),prompt:e().optional(),temperature:r().min(0).max(1).default(0).optional(),timestampGranularities:o(a(["word","segment"])).optional(),responseFormat:a(["json","verbose_json","diarized_json"]).optional(),chunkingStrategy:l([n("auto"),t({type:n("server_vad"),threshold:r().min(0).max(1).optional(),prefixPaddingMs:r().int().min(0).optional(),silenceDurationMs:r().int().min(0).optional()})]).optional(),streaming:t({delay:a(["minimal","low","medium","high","xhigh"]).optional(),include:o(e()).optional()}).optional()})));function Tt(m,_){return m===_||m.startsWith(`${_}-`)}function En(m){return Tt(m,"gpt-realtime-whisper")||Tt(m,"gpt-live-transcribe")}function La(m){return En(m)||Tt(m,"gpt-transcribe")}function Fa(m){return Tt(m,"gpt-live-transcribe")||Tt(m,"gpt-transcribe")}var pn={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"};function cn(m){return m!=null&&/^[a-z]{2}$/.test(m)}var Ba=class m{static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,_.config)}get provider(){return this.config.provider}constructor(_,R){this.modelId=_,this.config=R,this.specificationVersion="v4"}async getArgs({audio:_,mediaType:R,providerOptions:B}){let G=[],W=await h({provider:"openai",providerOptions:B,schema:un}),Me=new FormData,Z=_ instanceof Uint8Array?new Blob([_]):new Blob([q(_)]);Me.append("model",this.modelId);let qe=at(R);Me.append("file",new File([Z],"audio",{type:R}),`audio.${qe}`);let be=this.modelId==="gpt-4o-transcribe-diarize",Ae=W?.responseFormat??(be?"diarized_json":this.modelId==="whisper-1"?"verbose_json":void 0),Ue=W?.timestampGranularities??(Ae==="verbose_json"?["segment"]:void 0),Be=W?.chunkingStrategy??(be?"auto":void 0),Oe={response_format:Ae,include:W?.include,language:W?.language,prompt:W?.prompt,temperature:W?.temperature,timestamp_granularities:Ue};for(let[Pe,Fe]of Object.entries(Oe))if(Fe!=null)if(Array.isArray(Fe))for(let ke of Fe)Me.append(`${Pe}[]`,String(ke));else Me.append(Pe,String(Fe));if(Be!=null)Me.append("chunking_strategy",typeof Be==="string"?Be:JSON.stringify({type:Be.type,...Be.threshold!=null&&{threshold:Be.threshold},...Be.prefixPaddingMs!=null&&{prefix_padding_ms:Be.prefixPaddingMs},...Be.silenceDurationMs!=null&&{silence_duration_ms:Be.silenceDurationMs}}));return{formData:Me,warnings:G}}async doGenerate(_){if(En(this.modelId))throw new u({functionality:`non-streaming transcription with ${this.modelId}`});let R=this.config._internal?.currentDate?.()??new Date,{formData:B,warnings:G}=await this.getArgs(_),{value:W,responseHeaders:Me,rawValue:Z}=await ne({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:d(this.config.headers?.(),_.headers),formData:B,failedResponseHandler:gt,successfulResponseHandler:p(Da),abortSignal:_.abortSignal,fetch:this.config.fetch}),qe=(cn(W.language)?W.language:W.language!=null&&Object.prototype.hasOwnProperty.call(pn,W.language)?pn[W.language]:void 0)??(W.languages?.length===1&&cn(W.languages[0].code)?W.languages[0].code:void 0),be=W.segments?.flatMap((Ae)=>("speaker"in Ae)?[{text:Ae.text,startSecond:Ae.start,endSecond:Ae.end,speaker:Ae.speaker}]:[]);return{text:W.text,segments:W.segments?.map((Ae)=>({text:Ae.text,startSecond:Ae.start,endSecond:Ae.end}))??W.words?.map((Ae)=>({text:Ae.word,startSecond:Ae.start,endSecond:Ae.end}))??[],language:qe,durationInSeconds:W.duration??(W.usage?.type==="duration"&&typeof W.usage.seconds==="number"?W.usage.seconds:void 0),warnings:G,...W.usage!=null&&{usage:W.usage},response:{timestamp:R,modelId:this.modelId,headers:Me,body:Z},...(be!=null&&be.length>0||W.languages!=null)&&{providerMetadata:{openai:{...be!=null&&be.length>0&&{segments:be},...W.languages!=null&&{languages:W.languages}}}}}}async doStream(_){if(!La(this.modelId))throw new u({functionality:`streaming transcription with ${this.modelId}`});let R=this.config._internal?.currentDate?.()??new Date,B=await h({provider:"openai",providerOptions:_.providerOptions,schema:un}),G=[],W=_.providerOptions?.openai??{};for(let be of["include","prompt","temperature","timestampGranularities"])if(W[be]!=null)G.push({type:"unsupported",feature:`providerOptions.openai.${be}`,details:`OpenAI streaming transcription does not support ${be}.`});let Me=!Tt(this.modelId,"gpt-transcribe");if(!Me&&B?.streaming?.delay!=null)G.push({type:"unsupported",feature:"providerOptions.openai.streaming.delay",details:`OpenAI streaming transcription with ${this.modelId} does not support delay.`});let Z=d(this.config.headers?.(),_.headers),qe=Ha({modelId:this.modelId,inputAudioFormat:_.inputAudioFormat,providerOptions:B,supportsDelay:Me});return{request:{body:qe},response:{timestamp:R,modelId:this.modelId},stream:za({webSocket:this.config.webSocket,url:Rt(this.config.url({path:"/realtime?intent=transcription",modelId:this.modelId})),headers:Z,sessionUpdate:qe,language:B?.language,warnings:G,audio:_.audio,abortSignal:_.abortSignal,includeRawChunks:_.includeRawChunks})}}};function za({webSocket:m,url:_,headers:R,sessionUpdate:B,language:G,warnings:W,audio:Me,abortSignal:Z,includeRawChunks:qe}){let be=!1,Ae=()=>{};return new ReadableStream({start:(Ue)=>{let Be=Ja(R),Oe,Pe;Ae=(Se)=>{if(Oe!=null)Oe.cancel().catch(()=>{});else Me.cancel().catch(()=>{});Pe?.close(Se)};let Fe=(Se)=>{if(be)return;be=!0,Ae(),Ue.error(Se)},ke=(Se,Ne)=>{if(be)return;if(be=!0,Ne!=null)Ue.enqueue({type:"transcript-final",id:Ne,text:Se});Ue.enqueue({type:"finish",text:Se,segments:[],language:G}),Ue.close(),Ae(1000)},$e=async(Se)=>{Oe=Me.getReader();try{while(!0){let{done:Ne,value:De}=await Oe.read();if(Ne||be)break;Se.send(JSON.stringify({type:"input_audio_buffer.append",audio:T(De)})),await ue(Se)}}finally{Oe.releaseLock(),Oe=void 0}if(!be)Se.send(JSON.stringify({type:"input_audio_buffer.commit"}))};Pe=fe({url:_,protocols:Be.protocols,headers:Be.headers,webSocket:m,abortSignal:Z,onAbort:Fe,onProcessingError:Fe,onOpen:(Se)=>{Ue.enqueue({type:"stream-start",warnings:W}),Se.send(JSON.stringify(B)),$e(Se).catch(Fe)},onMessageText:async(Se)=>{let Ne=await J({text:Se});if(!Ne.success)return;let De=Ne.value;if(qe)Ue.enqueue({type:"raw",rawValue:De});switch(De.type){case"conversation.item.input_audio_transcription.delta":Ue.enqueue({type:"transcript-delta",id:De.item_id,delta:De.delta??""});break;case"conversation.item.input_audio_transcription.completed":ke(De.transcript??"",De.item_id);break;case"error":Fe(Error(De.error?.message??"OpenAI realtime error"))}},onSocketError:()=>{Fe(Error("OpenAI realtime transcription error"))},onClose:()=>{if(be)return;be=!0,Ae(),Ue.close()}})},cancel:()=>{if(be)return;be=!0,Ae()}})}function Ha({modelId:m,inputAudioFormat:_,providerOptions:R,supportsDelay:B}){return{type:"session.update",session:{type:"transcription",audio:{input:{format:{type:_.type,..._.rate!=null?{rate:_.rate}:{}},transcription:{model:m,...R?.language!=null?Fa(m)?{languages:[R.language]}:{language:R.language}:{},...B&&R?.streaming?.delay!=null?{delay:R.streaming.delay}:{}},turn_detection:null}},...R?.streaming?.include!=null?{include:R.streaming.include}:{}}}}function Ja(m){let _;for(let[B,G]of Object.entries(m))if(B.toLowerCase()==="authorization"&&G!=null)_=G;let R=_?.match(/^bearer\s+(.+)$/i)?.[1];if(R==null)return{protocols:["realtime"],headers:m};return{protocols:["realtime",`openai-insecure-api-key.${R}`],headers:Object.fromEntries(Object.entries(m).filter(([B])=>B.toLowerCase()!=="authorization"))}}var Va=i(()=>s(t({}))),Wa=class m{static[S](_){return M({modelId:_.modelId,config:_.config})}static[I](_){return new m(_.modelId,_.config)}get provider(){return this.config.provider}constructor(_,R){this.modelId=_,this.config=R,this.specificationVersion="v4"}async doStream(_){if(_.targetLanguage==null)throw new b({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let R=this.config._internal?.currentDate?.()??new Date;await h({provider:"openai",providerOptions:_.providerOptions,schema:Va});let B=[];if(Za(_.inputAudioFormat),_.sourceLanguage!=null)B.push({type:"unsupported",feature:"sourceLanguage",details:"The OpenAI Realtime translation API auto-detects the source language and does not accept a source language."});if(_.outputAudioFormat!=null)B.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 G=d(this.config.headers?.(),_.headers),W=Ka({targetLanguage:_.targetLanguage});return{request:{body:W},response:{timestamp:R,modelId:this.modelId},stream:Ga({webSocket:this.config.webSocket,url:Rt(this.config.url({path:`/realtime/translations?model=${encodeURIComponent(this.modelId)}`,modelId:this.modelId})),headers:G,sessionUpdate:W,warnings:B,audio:_.audio,abortSignal:_.abortSignal,includeRawChunks:_.includeRawChunks})}}};function Ga({webSocket:m,url:_,headers:R,sessionUpdate:B,warnings:G,audio:W,abortSignal:Me,includeRawChunks:Z}){let qe=!1,be=()=>{};return new ReadableStream({start:(Ae)=>{let Ue=Ya(R),Be,Oe,Pe="",Fe="";be=(Ne)=>{if(Be!=null)Be.cancel().catch(()=>{});else W.cancel().catch(()=>{});Oe?.close(Ne)};let ke=(Ne)=>{if(qe)return;qe=!0,be(),Ae.error(Ne)},$e=()=>{if(qe)return;if(qe=!0,Pe!=="")Ae.enqueue({type:"source-transcript-final",text:Pe});if(Fe!=="")Ae.enqueue({type:"output-text-final",text:Fe});Ae.enqueue({type:"finish",sourceText:Pe,outputText:Fe,usage:void 0}),Ae.close(),be(1000)},Se=async(Ne)=>{Be=W.getReader();try{while(!0){let{done:De,value:Ze}=await Be.read();if(De||qe)break;Ne.send(JSON.stringify({type:"session.input_audio_buffer.append",audio:T(Ze)})),await ue(Ne)}}finally{Be.releaseLock(),Be=void 0}if(!qe)Ne.send(JSON.stringify({type:"session.close"}))};Oe=fe({url:_,protocols:Ue.protocols,headers:Ue.headers,webSocket:m,abortSignal:Me,onAbort:ke,onProcessingError:ke,onOpen:(Ne)=>{Ae.enqueue({type:"stream-start",warnings:G}),Ne.send(JSON.stringify(B)),Se(Ne).catch(ke)},onMessageText:async(Ne)=>{if(qe)return;let De=await J({text:Ne});if(!De.success)return;let Ze=De.value;if(Z)Ae.enqueue({type:"raw",rawValue:Ze});switch(Ze.type){case"session.output_audio.delta":if(Ze.delta)Ae.enqueue({type:"audio",audio:Ze.delta});break;case"session.output_transcript.delta":Fe+=Ze.delta??"",Ae.enqueue({type:"output-text-delta",delta:Ze.delta??""});break;case"session.input_transcript.delta":Pe+=Ze.delta??"",Ae.enqueue({type:"source-transcript-delta",delta:Ze.delta??""});break;case"session.closed":$e();break;case"error":Ae.enqueue({type:"error",error:Error(Ze.error?.message??"OpenAI realtime error")})}},onSocketError:()=>{ke(Error("OpenAI realtime translation error"))},onClose:({code:Ne,reason:De})=>{if(qe)return;ke(Error(`OpenAI realtime translation WebSocket closed unexpectedly before finishing (code ${Ne??"unknown"}${De?`, reason: ${De}`:""}).`))}})},cancel:()=>{if(qe)return;qe=!0,be()}})}function Ka({targetLanguage:m}){return{type:"session.update",session:{audio:{input:{transcription:{model:"gpt-realtime-whisper"},noise_reduction:null},output:{language:m}}}}}function Za(m){if(m.type!=="audio/pcm"||m.rate!=null&&m.rate!==24000)throw new b({argument:"inputAudioFormat",message:"The OpenAI Realtime translation API only supports 24kHz 16-bit PCM input audio."})}function Ya(m){let _;for(let[B,G]of Object.entries(m))if(B.toLowerCase()==="authorization"&&G!=null)_=G;let R=_?.match(/^bearer\s+(.+)$/i)?.[1];if(R==null)return{protocols:["realtime"],headers:m};return{protocols:["realtime",`openai-insecure-api-key.${R}`],headers:Object.fromEntries(Object.entries(m).filter(([B])=>B.toLowerCase()!=="authorization"))}}var Xa=i(()=>s(t({id:e(),name:e().nullish(),description:e().nullish(),default_version:e().nullish(),latest_version:e().nullish(),created_at:r(),updated_at:r().nullish()})));i(()=>s(t({id:e(),version:e().nullish(),name:e().nullish(),description:e().nullish()})));var Qa=class{get provider(){return this.config.provider}constructor(m){this.config=m,this.specificationVersion="v4"}async uploadSkill(m){let _=[];if(m.displayTitle!=null)_.push({type:"unsupported",feature:"displayTitle"});let R=new FormData;for(let G of m.files){let W=ve(G.data);R.append("files[]",new Blob([W]),G.path)}let{value:B}=await ne({url:this.config.url({path:"/skills"}),headers:d(this.config.headers()),formData:R,failedResponseHandler:gt,successfulResponseHandler:p(Xa),fetch:this.config.fetch});return{providerReference:{openai:B.id},...B.name!=null?{name:B.name}:{},...B.description!=null?{description:B.description}:{},...B.latest_version!=null?{latestVersion:B.latest_version}:{},providerMetadata:{openai:{...B.default_version!=null?{defaultVersion:B.default_version}:{},...B.created_at!=null?{createdAt:B.created_at}:{},...B.updated_at!=null?{updatedAt:B.updated_at}:{}}},warnings:_}}},er="4.0.104";function So(m={}){let _=Y(dt(pe({settingValue:m.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))??"https://api.openai.com/v1",R=m.name??"openai",B=()=>L({Authorization:`Bearer ${he({apiKey:m.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":m.organization,"OpenAI-Project":m.project,...m.headers},`ai-sdk-openai/${er}`),G=($e)=>new ci($e,{provider:`${R}.chat`,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch}),W=($e)=>new fi($e,{provider:`${R}.completion`,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch}),Me=($e)=>new vi($e,{provider:`${R}.embedding`,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch}),Z=($e)=>new Ri($e,{provider:`${R}.image`,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch}),qe=($e)=>new Ba($e,{provider:`${R}.transcription`,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch,webSocket:m.webSocket}),be=($e)=>new Wa($e,{provider:`${R}.speech-translation`,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch,webSocket:m.webSocket}),Ae=($e)=>new Ua($e,{provider:`${R}.speech`,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch}),Ue=()=>new xi({provider:`${R}.files`,baseURL:_,headers:B,fetch:m.fetch}),Be=()=>new Qa({provider:`${R}.skills`,url:({path:$e})=>`${_}${$e}`,headers:B,fetch:m.fetch}),Oe=($e)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return Pe($e)},Pe=($e)=>new An($e,{provider:`${R}.responses`,baseURL:_,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch,fileIdPrefixes:["file-"]}),Fe=()=>new ha({provider:`${R}.batch`,maxLineBytes:m.batchResultDownloads?.maxLineBytes,config:{provider:`${R}.responses`,baseURL:_,url:({path:$e})=>`${_}${$e}`,headers:B,fetch:m.fetch,fileIdPrefixes:["file-"]}}),ke=function($e){return Oe($e)};return ke.specificationVersion="v4",ke.languageModel=Oe,ke.chat=G,ke.completion=W,ke.responses=Pe,ke.decisionModel=($e)=>new Wn($e,{baseURL:_,url:({path:Se})=>`${_}${Se}`,headers:B,fetch:m.fetch,provider:`${R}.decision`}),ke.evaluationModel=ke.decisionModel,ke.embedding=Me,ke.embeddingModel=Me,ke.textEmbedding=Me,ke.textEmbeddingModel=Me,ke.image=Z,ke.imageModel=Z,ke.transcription=qe,ke.transcriptionModel=qe,ke.translation=be,ke.speechTranslationModel=be,ke.speech=Ae,ke.speechModel=Ae,ke.files=Ue,ke.skills=Be,ke.experimental_batch=Fe,ke.experimental_realtime=$a({provider:R,baseURL:_,headers:B,fetch:m.fetch}),ke.tools=xs,ke}var mr=So();var tr=Ee(So);function wr(){oe("openai",tr)}export{wr as register};
@@ -1 +0,0 @@
1
- import{It}from"./embed-pnm9593k.js";export{It as bm25Retriever};