blink 0.1.66 → 0.1.68

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.
@@ -1 +1 @@
1
- require(`../client-C9uh5T54.cjs`);const e=require(`../index.browser-CFap1r_Y.cjs`);exports.chat=e.chat,exports.isToolApprovalOutput=e.isToolApprovalOutput,exports.lastUIOptions=e.lastUIOptions,exports.storage=e.storage,exports.toolWithApproval=e.toolWithApproval,exports.tools=e.tools,exports.withResponseFormat=e.withResponseFormat;
1
+ require(`../client-DFaZjb1-.cjs`);const e=require(`../index.browser-BwGhLjB7.cjs`);exports.chat=e.chat,exports.isToolApprovalOutput=e.isToolApprovalOutput,exports.lastUIOptions=e.lastUIOptions,exports.storage=e.storage,exports.toolWithApproval=e.toolWithApproval,exports.tools=e.tools,exports.withResponseFormat=e.withResponseFormat;
@@ -1 +1 @@
1
- import"../client-DsiYP47H.js";import{chat as e,isToolApprovalOutput as t,lastUIOptions as n,storage as r,toolWithApproval as i,tools as a,withResponseFormat as o}from"../index.browser-CeE1x4lk.js";export{e as chat,t as isToolApprovalOutput,n as lastUIOptions,r as storage,i as toolWithApproval,a as tools,o as withResponseFormat};
1
+ import"../client-BbZudkEc.js";import{chat as e,isToolApprovalOutput as t,lastUIOptions as n,storage as r,toolWithApproval as i,tools as a,withResponseFormat as o}from"../index.browser-Dj8kjB6X.js";export{e as chat,t as isToolApprovalOutput,n as lastUIOptions,r as storage,i as toolWithApproval,a as tools,o as withResponseFormat};
@@ -18,4 +18,4 @@ ${e}
18
18
 
19
19
  `;break}case`tool`:throw new L({functionality:`tool messages`});default:{let e=i;throw Error(`Unsupported role: ${e}`)}}return r+=`${n}:
20
20
  `,{prompt:r,stopSequences:[`
21
- ${t}:`]}}function tr({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function nr(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var rr=t.object({echo:t.boolean().optional(),logitBias:t.record(t.string(),t.number()).optional(),suffix:t.string().optional(),user:t.string().optional(),logprobs:t.union([t.boolean(),t.number()]).optional()}),ir=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await V({provider:`openai`,providerOptions:f,schema:rr}),...await V({provider:this.providerOptionsName,providerOptions:f,schema:rr})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=er({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await H({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:$,successfulResponseHandler:q(or),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u={openai:{}};return l.logprobs!=null&&(u.openai.logprobs=l.logprobs),{content:[{type:`text`,text:l.text}],usage:{inputTokens:(t=s.usage)?.prompt_tokens,outputTokens:(n=s.usage)?.completion_tokens,totalTokens:(r=s.usage)?.total_tokens},finishReason:nr(l.finish_reason),request:{body:i},response:{...tr(s),headers:o,body:c},providerMetadata:u,warnings:a}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:K(sr),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...tr(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=nr(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},ar=t.object({prompt_tokens:t.number(),completion_tokens:t.number(),total_tokens:t.number()}),or=t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({text:t.string(),finish_reason:t.string(),logprobs:t.object({tokens:t.array(t.string()),token_logprobs:t.array(t.number()),top_logprobs:t.array(t.record(t.string(),t.number())).nullish()}).nullish()})),usage:ar.nullish()}),sr=t.union([t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({text:t.string(),finish_reason:t.string().nullish(),index:t.number(),logprobs:t.object({tokens:t.array(t.string()),token_logprobs:t.array(t.number()),top_logprobs:t.array(t.record(t.string(),t.number())).nullish()}).nullish()})),usage:ar.nullish()}),Mn]),cr=t.object({dimensions:t.number().optional(),user:t.string().optional()}),lr=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var i;if(e.length>this.maxEmbeddingsPerCall)throw new Ae({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=(i=await V({provider:`openai`,providerOptions:r,schema:cr}))??{},{responseHeaders:o,value:s,rawValue:c}=await H({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:R(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:a.dimensions,user:a.user},failedResponseHandler:$,successfulResponseHandler:q(ur),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.data.map(e=>e.embedding),usage:s.usage?{tokens:s.usage.prompt_tokens}:void 0,response:{headers:o,body:c}}}},ur=t.object({data:t.array(t.object({embedding:t.array(t.number())})),usage:t.object({prompt_tokens:t.number()}).nullish()}),dr={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},fr=new Set([`gpt-image-1`]),pr=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){var e;return(e=dr[this.modelId])??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d;let f=[];r!=null&&f.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&f.push({type:`unsupported-setting`,setting:`seed`});let p=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:m,responseHeaders:h}=await H({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:R(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},...fr.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:q(mr),abortSignal:s,fetch:this.config.fetch});return{images:m.data.map(e=>e.b64_json),warnings:f,response:{timestamp:p,modelId:this.modelId,headers:h},providerMetadata:{openai:{images:m.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},mr=t.object({data:t.array(t.object({b64_json:t.string(),revised_prompt:t.string().optional()}))}),hr=t.object({container:t.union([t.string(),t.object({fileIds:t.array(t.string()).optional()})]).optional()}),gr=U({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:t.object({})}),_r=(e={})=>gr(e),vr=t.object({filters:t.object({allowedDomains:t.array(t.string()).optional()}).optional(),searchContextSize:t.enum([`low`,`medium`,`high`]).optional(),userLocation:t.object({type:t.literal(`approximate`),country:t.string().optional(),city:t.string().optional(),region:t.string().optional(),timezone:t.string().optional()}).optional()}),yr=U({id:`openai.web_search`,name:`web_search`,inputSchema:t.object({action:t.discriminatedUnion(`type`,[t.object({type:t.literal(`search`),query:t.string().nullish()}),t.object({type:t.literal(`open_page`),url:t.string()}),t.object({type:t.literal(`find`),url:t.string(),pattern:t.string()})]).nullish()})}),br=(e={})=>yr(e),xr={codeInterpreter:_r,fileSearch:Vn,webSearchPreview:Un,webSearch:br};function Sr(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Cr({prompt:e,systemMessageMode:t,fileIdPrefixes:n}){var r,i,a,o,s,c;let l=[],u=[];for(let{role:d,content:f}of e)switch(d){case`system`:switch(t){case`system`:l.push({role:`system`,content:f});break;case`developer`:l.push({role:`developer`,content:f});break;case`remove`:u.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:l.push({role:`user`,content:f.map((e,t)=>{var r,i,a;switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&Sr(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${J(e.data)}`},detail:(i=(r=e.providerOptions)?.openai)?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&Sr(e.data,n)?{file_id:e.data}:{filename:(a=e.filename)??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${J(e.data)}`}};else throw new L({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={};for(let t of f)switch(t.type){case`text`:l.push({role:`assistant`,content:[{type:`output_text`,text:t.text}],id:(a=(i=(r=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-call`:if(t.providerExecuted)break;l.push({type:`function_call`,call_id:t.toolCallId,name:t.toolName,arguments:JSON.stringify(t.input),id:(c=(s=(o=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-result`:u.push({type:`other`,message:`tool result parts in assistant messages are not supported for OpenAI responses`});break;case`reasoning`:{let n=await V({provider:`openai`,providerOptions:t.providerOptions,schema:wr}),r=n?.itemId;if(r!=null){let i=e[r],a=[];t.text.length>0?a.push({type:`summary_text`,text:t.text}):i!==void 0&&u.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(t)}.`}),i===void 0?(e[r]={type:`reasoning`,id:r,encrypted_content:n?.reasoningEncryptedContent,summary:a},l.push(e[r])):i.summary.push(...a)}else u.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(t)}.`});break}}break}case`tool`:for(let e of f){let t=e.output,n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}l.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=d;throw Error(`Unsupported role: ${e}`)}}return{messages:l,warnings:u}}var wr=t.object({itemId:t.string().nullish(),reasoningEncryptedContent:t.string().nullish()});function Tr({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function Er({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=Bn.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker}:void 0,filters:e.filters});break}case`openai.web_search_preview`:{let e=Hn.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=vr.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=hr.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:{let e=a;throw new L({functionality:`tool choice type: ${e}`})}}}var Dr=t.object({type:t.literal(`web_search_call`),id:t.string(),status:t.string(),action:t.discriminatedUnion(`type`,[t.object({type:t.literal(`search`),query:t.string().nullish()}),t.object({type:t.literal(`open_page`),url:t.string()}),t.object({type:t.literal(`find`),url:t.string(),pattern:t.string()})]).nullish()}),Or=20,kr=t.array(t.object({token:t.string(),logprob:t.number(),top_logprobs:t.array(t.object({token:t.string(),logprob:t.number()}))})),Ar=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){var p,m,h;let g=[],_=ti(this.modelId);i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&g.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`});let{messages:v,warnings:y}=await Cr({prompt:c,systemMessageMode:_.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes});g.push(...y);let b=await V({provider:`openai`,providerOptions:l,schema:ni}),x=(p=b?.strictJsonSchema)??!1,S=b?.include,C=typeof b?.logprobs==`number`?b?.logprobs:b?.logprobs===!0?Or:void 0;S=C?Array.isArray(S)?[...S,`message.output_text.logprobs`]:[`message.output_text.logprobs`]:S;let w=(m=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`)))?.name;S=w?Array.isArray(S)?[...S,`web_search_call.action.sources`]:[`web_search_call.action.sources`]:S;let T={model:this.modelId,input:v,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||b?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:x,name:(h=f.name)??`response`,description:f.description,schema:f.schema}},...b?.textVerbosity&&{verbosity:b.textVerbosity}}},metadata:b?.metadata,parallel_tool_calls:b?.parallelToolCalls,previous_response_id:b?.previousResponseId,store:b?.store,user:b?.user,instructions:b?.instructions,service_tier:b?.serviceTier,include:S,prompt_cache_key:b?.promptCacheKey,safety_identifier:b?.safetyIdentifier,top_logprobs:C,..._.isReasoningModel&&(b?.reasoningEffort!=null||b?.reasoningSummary!=null)&&{reasoning:{...b?.reasoningEffort!=null&&{effort:b.reasoningEffort},...b?.reasoningSummary!=null&&{summary:b.reasoningSummary}}},..._.requiredAutoTruncation&&{truncation:`auto`}};_.isReasoningModel?(T.temperature!=null&&(T.temperature=void 0,g.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),T.top_p!=null&&(T.top_p=void 0,g.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(b?.reasoningEffort!=null&&g.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),b?.reasoningSummary!=null&&g.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),b?.serviceTier===`flex`&&!_.supportsFlexProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete T.service_tier),b?.serviceTier===`priority`&&!_.supportsPriorityProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),delete T.service_tier);let{tools:E,toolChoice:D,toolWarnings:O}=Er({tools:u,toolChoice:d,strictJsonSchema:x});return{webSearchToolName:w,args:{...T,tools:E,tool_choice:D},warnings:[...g,...O]}}async doGenerate(e){var n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,v,y;let{args:b,warnings:x,webSearchToolName:S}=await this.getArgs(e),C=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:w,value:T,rawValue:E}=await H({url:C,headers:R(this.config.headers(),e.headers),body:b,failedResponseHandler:$,successfulResponseHandler:q(t.object({id:t.string(),created_at:t.number(),error:t.object({code:t.string(),message:t.string()}).nullish(),model:t.string(),output:t.array(t.discriminatedUnion(`type`,[t.object({type:t.literal(`message`),role:t.literal(`assistant`),id:t.string(),content:t.array(t.object({type:t.literal(`output_text`),text:t.string(),logprobs:kr.nullish(),annotations:t.array(t.discriminatedUnion(`type`,[t.object({type:t.literal(`url_citation`),start_index:t.number(),end_index:t.number(),url:t.string(),title:t.string()}),t.object({type:t.literal(`file_citation`),file_id:t.string(),filename:t.string().nullish(),index:t.number().nullish(),start_index:t.number().nullish(),end_index:t.number().nullish(),quote:t.string().nullish()}),t.object({type:t.literal(`container_file_citation`)})]))}))}),t.object({type:t.literal(`code_interpreter_call`)}),t.object({type:t.literal(`function_call`),call_id:t.string(),name:t.string(),arguments:t.string(),id:t.string()}),Dr,t.object({type:t.literal(`computer_call`),id:t.string(),status:t.string().optional()}),t.object({type:t.literal(`file_search_call`),id:t.string(),status:t.string().optional(),queries:t.array(t.string()).nullish(),results:t.array(t.object({attributes:t.object({file_id:t.string(),filename:t.string(),score:t.number(),text:t.string()})})).nullish()}),t.object({type:t.literal(`reasoning`),id:t.string(),encrypted_content:t.string().nullish(),summary:t.array(t.object({type:t.literal(`summary_text`),text:t.string()}))})])),service_tier:t.string().nullish(),incomplete_details:t.object({reason:t.string()}).nullable(),usage:jr})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(T.error)throw new _({message:T.error.message,url:C,requestBodyValues:b,statusCode:400,responseHeaders:w,responseBody:E,isRetryable:!1});let D=[],O=[],k=!1;for(let t of T.output)switch(t.type){case`reasoning`:t.summary.length===0&&t.summary.push({type:`summary_text`,text:``});for(let e of t.summary)D.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:t.id,reasoningEncryptedContent:(n=t.encrypted_content)??null}}});break;case`message`:for(let n of t.content){(i=(r=e.providerOptions)?.openai)?.logprobs&&n.logprobs&&O.push(n.logprobs),D.push({type:`text`,text:n.text,providerMetadata:{openai:{itemId:t.id}}});for(let e of n.annotations)e.type===`url_citation`?D.push({type:`source`,sourceType:`url`,id:(s=(o=(a=this.config).generateId)?.call(a))??B(),url:e.url,title:e.title}):e.type===`file_citation`&&D.push({type:`source`,sourceType:`document`,id:(u=(l=(c=this.config).generateId)?.call(c))??B(),mediaType:`text/plain`,title:(f=(d=e.quote)??e.filename)??`Document`,filename:(p=e.filename)??e.file_id})}break;case`function_call`:k=!0,D.push({type:`tool-call`,toolCallId:t.call_id,toolName:t.name,input:t.arguments,providerMetadata:{openai:{itemId:t.id}}});break;case`web_search_call`:D.push({type:`tool-call`,toolCallId:t.id,toolName:S??`web_search`,input:JSON.stringify({action:t.action}),providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:t.id,toolName:S??`web_search`,result:{status:t.status},providerExecuted:!0});break;case`computer_call`:D.push({type:`tool-call`,toolCallId:t.id,toolName:`computer_use`,input:``,providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:t.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:t.status||`completed`},providerExecuted:!0});break;case`file_search_call`:D.push({type:`tool-call`,toolCallId:t.id,toolName:`file_search`,input:``,providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:t.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:t.status||`completed`,...t.queries&&{queries:t.queries},...t.results&&{results:t.results}},providerExecuted:!0});break}let A={openai:{responseId:T.id}};return O.length>0&&(A.openai.logprobs=O),typeof T.service_tier==`string`&&(A.openai.serviceTier=T.service_tier),{content:D,finishReason:Tr({finishReason:(m=T.incomplete_details)?.reason,hasFunctionCall:k}),usage:{inputTokens:T.usage.input_tokens,outputTokens:T.usage.output_tokens,totalTokens:T.usage.input_tokens+T.usage.output_tokens,reasoningTokens:(g=(h=T.usage.output_tokens_details)?.reasoning_tokens)??void 0,cachedInputTokens:(y=(v=T.usage.input_tokens_details)?.cached_tokens)??void 0},request:{body:b},response:{id:T.id,timestamp:new Date(T.created_at*1e3),modelId:T.model,headers:w,body:E},providerMetadata:A,warnings:x}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:K(Hr),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,ee,te,j;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let M=t.value;if(Yr(M))M.item.type===`function_call`?(d[M.output_index]={toolName:M.item.name,toolCallId:M.item.call_id},n.enqueue({type:`tool-input-start`,id:M.item.call_id,toolName:M.item.name})):M.item.type===`web_search_call`?(d[M.output_index]={toolName:r??`web_search`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:r??`web_search`})):M.item.type===`computer_call`?(d[M.output_index]={toolName:`computer_use`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:`computer_use`})):M.item.type===`file_search_call`?(d[M.output_index]={toolName:`file_search`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:`file_search`})):M.item.type===`message`?n.enqueue({type:`text-start`,id:M.item.id,providerMetadata:{openai:{itemId:M.item.id}}}):Xr(M)&&(p[M.item.id]={encryptedContent:M.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${M.item.id}:0`,providerMetadata:{openai:{itemId:M.item.id,reasoningEncryptedContent:(i=M.item.encrypted_content)??null}}}));else if(Wr(M)){if(M.item.type===`function_call`)d[M.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:M.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:M.item.call_id,toolName:M.item.name,input:M.item.arguments,providerMetadata:{openai:{itemId:M.item.id}}});else if(M.item.type===`web_search_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`web_search`,input:JSON.stringify({action:M.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`web_search`,result:{status:M.item.status},providerExecuted:!0});else if(M.item.type===`computer_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:M.item.status||`completed`},providerExecuted:!0});else if(M.item.type===`file_search_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`file_search`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:M.item.status||`completed`,...M.item.queries&&{queries:M.item.queries},...M.item.results&&{results:M.item.results}},providerExecuted:!0});else if(M.item.type===`message`)n.enqueue({type:`text-end`,id:M.item.id});else if(Gr(M)){let e=p[M.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${M.item.id}:${t}`,providerMetadata:{openai:{itemId:M.item.id,reasoningEncryptedContent:(a=M.item.encrypted_content)??null}}});delete p[M.item.id]}}else if(Jr(M)){let e=d[M.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:M.delta})}else qr(M)?(u=M.response.id,n.enqueue({type:`response-metadata`,id:M.response.id,timestamp:new Date(M.response.created_at*1e3),modelId:M.response.model})):Ur(M)?(n.enqueue({type:`text-delta`,id:M.item_id,delta:M.delta}),(g=(h=e.providerOptions)?.openai)?.logprobs&&M.logprobs&&l.push(M.logprobs)):Qr(M)?M.summary_index>0&&((_=p[M.item_id])==null||_.summaryParts.push(M.summary_index),n.enqueue({type:`reasoning-start`,id:`${M.item_id}:${M.summary_index}`,providerMetadata:{openai:{itemId:M.item_id,reasoningEncryptedContent:(y=(v=p[M.item_id])?.encryptedContent)??null}}})):$r(M)?n.enqueue({type:`reasoning-delta`,id:`${M.item_id}:${M.summary_index}`,delta:M.delta,providerMetadata:{openai:{itemId:M.item_id}}}):Kr(M)?(s=Tr({finishReason:(b=M.response.incomplete_details)?.reason,hasFunctionCall:f}),c.inputTokens=M.response.usage.input_tokens,c.outputTokens=M.response.usage.output_tokens,c.totalTokens=M.response.usage.input_tokens+M.response.usage.output_tokens,c.reasoningTokens=(S=(x=M.response.usage.output_tokens_details)?.reasoning_tokens)??void 0,c.cachedInputTokens=(w=(C=M.response.usage.input_tokens_details)?.cached_tokens)??void 0,typeof M.response.service_tier==`string`&&(m=M.response.service_tier)):Zr(M)?M.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(D=(E=(T=o.config).generateId)?.call(T))??B(),url:M.annotation.url,title:M.annotation.title}):M.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(A=(k=(O=o.config).generateId)?.call(O))??B(),mediaType:`text/plain`,title:(te=(ee=M.annotation.quote)??M.annotation.filename)??`Document`,filename:(j=M.annotation.filename)??M.annotation.file_id}):ei(M)&&n.enqueue({type:`error`,error:M})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},jr=t.object({input_tokens:t.number(),input_tokens_details:t.object({cached_tokens:t.number().nullish()}).nullish(),output_tokens:t.number(),output_tokens_details:t.object({reasoning_tokens:t.number().nullish()}).nullish()}),Mr=t.object({type:t.literal(`response.output_text.delta`),item_id:t.string(),delta:t.string(),logprobs:kr.nullish()}),Nr=t.object({type:t.literal(`error`),code:t.string(),message:t.string(),param:t.string().nullish(),sequence_number:t.number()}),Pr=t.object({type:t.enum([`response.completed`,`response.incomplete`]),response:t.object({incomplete_details:t.object({reason:t.string()}).nullish(),usage:jr,service_tier:t.string().nullish()})}),Fr=t.object({type:t.literal(`response.created`),response:t.object({id:t.string(),created_at:t.number(),model:t.string(),service_tier:t.string().nullish()})}),Ir=t.object({type:t.literal(`response.output_item.added`),output_index:t.number(),item:t.discriminatedUnion(`type`,[t.object({type:t.literal(`message`),id:t.string()}),t.object({type:t.literal(`reasoning`),id:t.string(),encrypted_content:t.string().nullish()}),t.object({type:t.literal(`function_call`),id:t.string(),call_id:t.string(),name:t.string(),arguments:t.string()}),t.object({type:t.literal(`web_search_call`),id:t.string(),status:t.string(),action:t.object({type:t.literal(`search`),query:t.string().optional()}).nullish()}),t.object({type:t.literal(`computer_call`),id:t.string(),status:t.string()}),t.object({type:t.literal(`file_search_call`),id:t.string(),status:t.string(),queries:t.array(t.string()).nullish(),results:t.array(t.object({attributes:t.object({file_id:t.string(),filename:t.string(),score:t.number(),text:t.string()})})).optional()})])}),Lr=t.object({type:t.literal(`response.output_item.done`),output_index:t.number(),item:t.discriminatedUnion(`type`,[t.object({type:t.literal(`message`),id:t.string()}),t.object({type:t.literal(`reasoning`),id:t.string(),encrypted_content:t.string().nullish()}),t.object({type:t.literal(`function_call`),id:t.string(),call_id:t.string(),name:t.string(),arguments:t.string(),status:t.literal(`completed`)}),Dr,t.object({type:t.literal(`computer_call`),id:t.string(),status:t.literal(`completed`)}),t.object({type:t.literal(`file_search_call`),id:t.string(),status:t.literal(`completed`),queries:t.array(t.string()).nullish(),results:t.array(t.object({attributes:t.object({file_id:t.string(),filename:t.string(),score:t.number(),text:t.string()})})).nullish()})])}),Rr=t.object({type:t.literal(`response.function_call_arguments.delta`),item_id:t.string(),output_index:t.number(),delta:t.string()}),zr=t.object({type:t.literal(`response.output_text.annotation.added`),annotation:t.discriminatedUnion(`type`,[t.object({type:t.literal(`url_citation`),url:t.string(),title:t.string()}),t.object({type:t.literal(`file_citation`),file_id:t.string(),filename:t.string().nullish(),index:t.number().nullish(),start_index:t.number().nullish(),end_index:t.number().nullish(),quote:t.string().nullish()})])}),Br=t.object({type:t.literal(`response.reasoning_summary_part.added`),item_id:t.string(),summary_index:t.number()}),Vr=t.object({type:t.literal(`response.reasoning_summary_text.delta`),item_id:t.string(),summary_index:t.number(),delta:t.string()}),Hr=t.union([Mr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Nr,t.object({type:t.string()}).loose()]);function Ur(e){return e.type===`response.output_text.delta`}function Wr(e){return e.type===`response.output_item.done`}function Gr(e){return Wr(e)&&e.item.type===`reasoning`}function Kr(e){return e.type===`response.completed`||e.type===`response.incomplete`}function qr(e){return e.type===`response.created`}function Jr(e){return e.type===`response.function_call_arguments.delta`}function Yr(e){return e.type===`response.output_item.added`}function Xr(e){return Yr(e)&&e.item.type===`reasoning`}function Zr(e){return e.type===`response.output_text.annotation.added`}function Qr(e){return e.type===`response.reasoning_summary_part.added`}function $r(e){return e.type===`response.reasoning_summary_text.delta`}function ei(e){return e.type===`error`}function ti(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var ni=t.object({metadata:t.any().nullish(),parallelToolCalls:t.boolean().nullish(),previousResponseId:t.string().nullish(),store:t.boolean().nullish(),user:t.string().nullish(),reasoningEffort:t.string().nullish(),strictJsonSchema:t.boolean().nullish(),instructions:t.string().nullish(),reasoningSummary:t.string().nullish(),serviceTier:t.enum([`auto`,`flex`,`priority`]).nullish(),include:t.array(t.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),textVerbosity:t.enum([`low`,`medium`,`high`]).nullish(),promptCacheKey:t.string().nullish(),safetyIdentifier:t.string().nullish(),logprobs:t.union([t.boolean(),t.number().min(1).max(Or)]).optional()}),ri=t.object({instructions:t.string().nullish(),speed:t.number().min(.25).max(4).default(1).nullish()}),ii=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await V({provider:`openai`,providerOptions:o,schema:ri}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t,n,r;let i=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{requestBody:a,warnings:o}=await this.getArgs(e),{value:s,responseHeaders:c,rawValue:l}=await H({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:a,failedResponseHandler:$,successfulResponseHandler:mt(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:s,warnings:o,request:{body:JSON.stringify(a)},response:{timestamp:i,modelId:this.modelId,headers:c,body:l}}}},ai=t.object({include:t.array(t.string()).optional(),language:t.string().optional(),prompt:t.string().optional(),temperature:t.number().min(0).max(1).default(0).optional(),timestampGranularities:t.array(t.enum([`word`,`segment`])).default([`segment`]).optional()}),oi={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`},si=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await V({provider:`openai`,providerOptions:n,schema:ai}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([_t(e)]);a.append(`model`,this.modelId);let s=Ke(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t,n,r,i,a,o,s,c;let l=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{formData:u,warnings:d}=await this.getArgs(e),{value:f,responseHeaders:p,rawValue:m}=await ut({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),formData:u,failedResponseHandler:$,successfulResponseHandler:q(ci),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=f.language!=null&&f.language in oi?oi[f.language]:void 0;return{text:f.text,segments:(s=(o=(i=f.segments)?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end})))??(a=f.words)?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end})))??[],language:h,durationInSeconds:(c=f.duration)??void 0,warnings:d,response:{timestamp:l,modelId:this.modelId,headers:p,body:m}}}},ci=t.object({text:t.string(),language:t.string().nullish(),duration:t.number().nullish(),words:t.array(t.object({word:t.string(),start:t.number(),end:t.number()})).nullish(),segments:t.array(t.object({id:t.number(),seek:t.number(),start:t.number(),end:t.number(),text:t.string(),tokens:t.array(t.number()),temperature:t.number(),avg_logprob:t.number(),compression_ratio:t.number(),no_speech_prob:t.number()})).nullish()});function li(e={}){var t,n;let r=(t=yt(e.baseURL))??`https://api.openai.com/v1`,i=(n=e.name)??`openai`,a=()=>({Authorization:`Bearer ${Ge({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers}),o=t=>new Gn(t,{provider:`${i}.chat`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),s=t=>new ir(t,{provider:`${i}.completion`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),c=t=>new lr(t,{provider:`${i}.embedding`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),l=t=>new pr(t,{provider:`${i}.image`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),u=t=>new si(t,{provider:`${i}.transcription`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),d=t=>new ii(t,{provider:`${i}.speech`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),f=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return p(e)},p=t=>new Ar(t,{provider:`${i}.responses`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch,fileIdPrefixes:[`file-`]}),m=function(e){return f(e)};return m.languageModel=f,m.chat=o,m.completion=s,m.responses=p,m.embedding=c,m.textEmbedding=c,m.textEmbeddingModel=c,m.image=l,m.imageModel=l,m.transcription=u,m.transcriptionModel=u,m.speech=d,m.speechModel=d,m.tools=xr,m}li(),t.object({user:t.string().optional(),reasoningEffort:t.string().optional()});var ui=t.object({error:t.object({message:t.string(),type:t.string().nullish(),param:t.any().nullish(),code:t.union([t.string(),t.number()]).nullish()})}),di={errorSchema:ui,errorToMessage:e=>e.error.message},fi=t.object({prompt_tokens:t.number().nullish(),completion_tokens:t.number().nullish(),total_tokens:t.number().nullish(),prompt_tokens_details:t.object({cached_tokens:t.number().nullish()}).nullish(),completion_tokens_details:t.object({reasoning_tokens:t.number().nullish(),accepted_prediction_tokens:t.number().nullish(),rejected_prediction_tokens:t.number().nullish()}).nullish()}).nullish();t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({message:t.object({role:t.literal(`assistant`).nullish(),content:t.string().nullish(),reasoning_content:t.string().nullish(),reasoning:t.string().nullish(),tool_calls:t.array(t.object({id:t.string().nullish(),function:t.object({name:t.string(),arguments:t.string()})})).nullish()}),finish_reason:t.string().nullish()})),usage:fi}),t.object({echo:t.boolean().optional(),logitBias:t.record(t.string(),t.number()).optional(),suffix:t.string().optional(),user:t.string().optional()});var pi=t.object({prompt_tokens:t.number(),completion_tokens:t.number(),total_tokens:t.number()});t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({text:t.string(),finish_reason:t.string()})),usage:pi.nullish()}),t.object({dimensions:t.number().optional(),user:t.string().optional()}),t.object({data:t.array(t.object({embedding:t.array(t.number())})),usage:t.object({prompt_tokens:t.number()}).nullish(),providerMetadata:t.record(t.string(),t.record(t.string(),t.any())).optional()});var mi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d,f;let p=[];r!=null&&p.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&p.push({type:`unsupported-setting`,setting:`seed`});let m=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:h,responseHeaders:g}=await H({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:R(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},response_format:`b64_json`},failedResponseHandler:G((f=this.config.errorStructure)??di),successfulResponseHandler:q(hi),abortSignal:s,fetch:this.config.fetch});return{images:h.data.map(e=>e.b64_json),warnings:p,response:{timestamp:m,modelId:this.modelId,headers:g}}}},hi=t.object({data:t.array(t.object({b64_json:t.string()}))});function gi(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${J(e.data)}`}}}else throw new L({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function _i({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function vi(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var yi=t.object({type:t.literal(`web`),country:t.string().length(2).optional(),excludedWebsites:t.array(t.string()).max(5).optional(),allowedWebsites:t.array(t.string()).max(5).optional(),safeSearch:t.boolean().optional()}),bi=t.object({type:t.literal(`x`),xHandles:t.array(t.string()).optional()}),xi=t.object({type:t.literal(`news`),country:t.string().length(2).optional(),excludedWebsites:t.array(t.string()).max(5).optional(),safeSearch:t.boolean().optional()}),Si=t.object({type:t.literal(`rss`),links:t.array(t.string().url()).max(1)}),Ci=t.discriminatedUnion(`type`,[yi,bi,xi,Si]),wi=t.object({reasoningEffort:t.enum([`low`,`high`]).optional(),searchParameters:t.object({mode:t.enum([`off`,`auto`,`on`]),returnCitations:t.boolean().optional(),fromDate:t.string().optional(),toDate:t.string().optional(),maxSearchResults:t.number().min(1).max(50).optional(),sources:t.array(Ci).optional()}).optional()}),Ti=t.object({error:t.object({message:t.string(),type:t.string().nullish(),param:t.any().nullish(),code:t.union([t.string(),t.number()]).nullish()})}),Ei=G({errorSchema:Ti,errorToMessage:e=>e.error.message});function Di({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:{let e=i;throw new L({functionality:`tool choice type: ${e}`})}}}var Oi=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){var p,m,h;let g=[],_=(p=await V({provider:`xai`,providerOptions:u,schema:wi}))??{};i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&g.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:v,warnings:y}=gi(e);g.push(...y);let{tools:b,toolChoice:x,toolWarnings:S}=Di({tools:d,toolChoice:f});g.push(...S);let C={model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:_.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:(m=l.name)??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:_.searchParameters?{mode:_.searchParameters.mode,return_citations:_.searchParameters.returnCitations,from_date:_.searchParameters.fromDate,to_date:_.searchParameters.toDate,max_search_results:_.searchParameters.maxSearchResults,sources:(h=_.searchParameters.sources)?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{x_handles:e.xHandles},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:v,tools:b,tool_choice:x};return{args:C,warnings:g}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await H({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:Ei,successfulResponseHandler:q(Ai),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u=[];if(l.message.content!=null&&l.message.content.length>0){let e=l.message.content,t=i.messages[i.messages.length-1];t?.role===`assistant`&&e===t.content&&(e=``),e.length>0&&u.push({type:`text`,text:e})}if(l.message.reasoning_content!=null&&l.message.reasoning_content.length>0&&u.push({type:`reasoning`,text:l.message.reasoning_content}),l.message.tool_calls!=null)for(let e of l.message.tool_calls)u.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(s.citations!=null)for(let e of s.citations)u.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:u,finishReason:vi(l.finish_reason),usage:{inputTokens:s.usage.prompt_tokens,outputTokens:s.usage.completion_tokens,totalTokens:s.usage.total_tokens,reasoningTokens:(r=(n=s.usage.completion_tokens_details)?.reasoning_tokens)??void 0},request:{body:i},response:{..._i(s),headers:o,body:c},warnings:a}}async doStream(e){var t;let{args:n,warnings:r}=await this.getArgs(e),i={...n,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:a,value:o}=await H({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:Ei,successfulResponseHandler:K(ji),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l={},u={},d=this;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(t,n){var r,a;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let o=t.value;if(n.enqueue({type:`response-metadata`,..._i(o)}),o.citations!=null)for(let e of o.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});o.usage!=null&&(c.inputTokens=o.usage.prompt_tokens,c.outputTokens=o.usage.completion_tokens,c.totalTokens=o.usage.total_tokens,c.reasoningTokens=(a=(r=o.usage.completion_tokens_details)?.reasoning_tokens)??void 0);let f=o.choices[0];if(f?.finish_reason!=null&&(s=vi(f.finish_reason)),f?.delta==null)return;let p=f.delta,m=f.index;if(p.content!=null&&p.content.length>0){let e=p.content,t=i.messages[i.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let r=`text-${o.id||m}`;l[r]??(l[r]={type:`text`},n.enqueue({type:`text-start`,id:r})),n.enqueue({type:`text-delta`,id:r,delta:e})}if(p.reasoning_content!=null&&p.reasoning_content.length>0){let e=`reasoning-${o.id||m}`;if(u[e]===p.reasoning_content)return;u[e]=p.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:p.reasoning_content})}if(p.tool_calls!=null)for(let e of p.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:s,usage:c})}})),request:{body:i},response:{headers:a}}}},ki=t.object({prompt_tokens:t.number(),completion_tokens:t.number(),total_tokens:t.number(),completion_tokens_details:t.object({reasoning_tokens:t.number().nullish()}).nullish()}),Ai=t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({message:t.object({role:t.literal(`assistant`),content:t.string().nullish(),reasoning_content:t.string().nullish(),tool_calls:t.array(t.object({id:t.string(),type:t.literal(`function`),function:t.object({name:t.string(),arguments:t.string()})})).nullish()}),index:t.number(),finish_reason:t.string().nullish()})),object:t.literal(`chat.completion`),usage:ki,citations:t.array(t.string().url()).nullish()}),ji=t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({delta:t.object({role:t.enum([`assistant`]).optional(),content:t.string().nullish(),reasoning_content:t.string().nullish(),tool_calls:t.array(t.object({id:t.string(),type:t.literal(`function`),function:t.object({name:t.string(),arguments:t.string()})})).nullish()}),finish_reason:t.string().nullish(),index:t.number()})),usage:ki.nullish(),citations:t.array(t.string().url()).nullish()}),Mi={errorSchema:Ti,errorToMessage:e=>e.error.message};function Ni(e={}){var t;let n=yt((t=e.baseURL)??`https://api.x.ai/v1`),r=()=>({Authorization:`Bearer ${Ge({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers}),i=t=>new Oi(t,{provider:`xai.chat`,baseURL:n,headers:r,generateId:B,fetch:e.fetch}),a=t=>new mi(t,{provider:`xai.image`,url:({path:e})=>`${n}${e}`,headers:r,fetch:e.fetch,errorStructure:Mi}),o=e=>i(e);return o.languageModel=i,o.chat=i,o.textEmbeddingModel=e=>{throw new Te({modelId:e,modelType:`textEmbeddingModel`})},o.imageModel=a,o.image=a,o}Ni();function Pi(e){if(!e.body)throw Error(`Response body is required`);let t=e.headers.get(ga);if(!t||t===`ui-message`)return e.body.pipeThrough(new TextDecoderStream).pipeThrough(new s).pipeThrough(new TransformStream({async transform(e,t){if(e.data!==`[DONE]`)try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));let r=e=>n({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(t){case`openai-chat`:return r(li({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`openai-response`:return r(li({apiKey:`ignored`,fetch:(t,n)=>e}).responses(`fake-model`));case`anthropic`:return r(Qt({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`google`:return r(jn({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`xai`:return r(Ni({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${t}`)}}var Fi=e=>{let t=e.split(`/`);return t[0]===``&&t.shift(),t},Ii=e=>{let{groups:t,path:n}=Li(e),r=Fi(n);return Ri(r,t)},Li=e=>{let t=[];return e=e.replace(/\{[^}]+\}/g,(e,n)=>{let r=`@${n}`;return t.push([r,e]),r}),{groups:t,path:e}},Ri=(e,t)=>{for(let n=t.length-1;n>=0;n--){let[r]=t[n];for(let i=e.length-1;i>=0;i--)if(e[i].includes(r)){e[i]=e[i].replace(r,t[n][1]);break}}return e},zi={},Bi=(e,t)=>{if(e===`*`)return`*`;let n=e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(n){let r=`${e}#${t}`;return zi[r]||(n[2]?zi[r]=t&&t[0]!==`:`&&t[0]!==`*`?[r,n[1],RegExp(`^${n[2]}(?=/${t})`)]:[e,n[1],RegExp(`^${n[2]}$`)]:zi[r]=[e,n[1],!0]),zi[r]}return null},Vi=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},Hi=e=>Vi(e,decodeURI),Ui=e=>{let t=e.url,n=t.indexOf(`/`,t.indexOf(`:`)+4),r=n;for(;r<t.length;r++){let e=t.charCodeAt(r);if(e===37){let e=t.indexOf(`?`,r),i=t.slice(n,e===-1?void 0:e);return Hi(i.includes(`%25`)?i.replace(/%25/g,`%2525`):i)}else if(e===63)break}return t.slice(n,r)},Wi=e=>{let t=Ui(e);return t.length>1&&t.at(-1)===`/`?t.slice(0,-1):t},Gi=(e,t,...n)=>(n.length&&(t=Gi(t,...n)),`${e?.[0]===`/`?``:`/`}${e}${t===`/`?``:`${e?.at(-1)===`/`?``:`/`}${t?.[0]===`/`?t.slice(1):t}`}`),Ki=e=>{if(e.charCodeAt(e.length-1)!==63||!e.includes(`:`))return null;let t=e.split(`/`),n=[],r=``;return t.forEach(e=>{if(e!==``&&!/\:/.test(e))r+=`/`+e;else if(/\:/.test(e))if(/\?/.test(e)){n.length===0&&r===``?n.push(`/`):n.push(r);let t=e.replace(`?`,``);r+=`/`+t,n.push(r)}else r+=`/`+e}),n.filter((e,t,n)=>n.indexOf(e)===t)},qi=e=>/[%+]/.test(e)?(e.indexOf(`+`)!==-1&&(e=e.replace(/\+/g,` `)),e.indexOf(`%`)===-1?e:Vi(e,Zi)):e,Ji=(e,t,n)=>{let r;if(!n&&t&&!/[%+]/.test(t)){let n=e.indexOf(`?${t}`,8);for(n===-1&&(n=e.indexOf(`&${t}`,8));n!==-1;){let r=e.charCodeAt(n+t.length+1);if(r===61){let r=n+t.length+2,i=e.indexOf(`&`,r);return qi(e.slice(r,i===-1?void 0:i))}else if(r==38||isNaN(r))return``;n=e.indexOf(`&${t}`,n+1)}if(r=/[%+]/.test(e),!r)return}let i={};r??=/[%+]/.test(e);let a=e.indexOf(`?`,8);for(;a!==-1;){let t=e.indexOf(`&`,a+1),o=e.indexOf(`=`,a);o>t&&t!==-1&&(o=-1);let s=e.slice(a+1,o===-1?t===-1?void 0:t:o);if(r&&(s=qi(s)),a=t,s===``)continue;let c;o===-1?c=``:(c=e.slice(o+1,t===-1?void 0:t),r&&(c=qi(c))),n?(i[s]&&Array.isArray(i[s])||(i[s]=[]),i[s].push(c)):i[s]??=c}return t?i[t]:i},Yi=Ji,Xi=(e,t)=>Ji(e,t,!0),Zi=decodeURIComponent,Qi=/^[\w!#$%&'*.^`|~+-]+$/,$i=/^[ !#-:<-[\]-~]*$/,ea=(e,t)=>{if(t&&e.indexOf(t)===-1)return{};let n=e.trim().split(`;`),r={};for(let e of n){e=e.trim();let n=e.indexOf(`=`);if(n===-1)continue;let i=e.substring(0,n).trim();if(t&&t!==i||!Qi.test(i))continue;let a=e.substring(n+1).trim();if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),$i.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:Vi(a,Zi),t))break}return r},ta=(e,t,n={})=>{let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},na=(e,t,n)=>(t=encodeURIComponent(t),ta(e,t,n)),ra=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),ia=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},aa=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){if(r===void 0)continue;if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r)}return t},oa=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},sa=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function ca(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function la(e,t){if(!ca(e)&&!ca(t))return t;let n={...e};for(let e in t){let r=t[e];ca(n[e])&&ca(r)?n[e]=la(n[e],r):n[e]=r}return n}var ua=(e,t)=>{let n=new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return ua(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}});return n},da=class{url;method;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t){this.url=e,this.method=t}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=aa(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(na(n,r,{path:`/`}));r.Cookie=t.join(`,`)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),a=this.url;a=sa(a),a=ia(a,this.pathParams),this.queryParams&&(a=a+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let o=!(n===`GET`||n===`HEAD`);return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},fa=(e,t)=>ua(function n(r){let i=[...r.path],a=i.slice(-3).reverse();if(a[0]===`toString`)return a[1]===`name`?a[2]||``:n.toString();if(a[0]===`valueOf`)return a[1]===`name`?a[2]||``:n;let o=``;if(/^\$/.test(a[0])){let e=i.pop();e&&(o=e.replace(/^\$/,``))}let s=i.join(`/`),c=ra(e,s);if(o===`url`){let e=c;return r.args[0]&&(r.args[0].param&&(e=ia(c,r.args[0].param)),r.args[0].query&&(e=e+`?`+aa(r.args[0].query).toString())),e=sa(e),new URL(e)}if(o===`ws`){let e=oa(r.args[0]&&r.args[0].param?ia(c,r.args[0].param):c,`ws`),n=new URL(e),i=r.args[0]?.query;i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)});let a=(...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e);return a(n.toString())}let l=new da(c,o);if(o){t??={};let e=la(t,{...r.args[1]});return l.fetch(r.args[0],e)}return l},[]);const pa=`BLINK_API_SERVER_URL`,ma=process.env[pa],ha=fa(ma??``,{fetch:ma?void 0:async()=>{throw console.warn(`Your code is attempting to use the Blink API server, but no API server is configured for this Blink agent.`),Error(`No API server is configured for this Blink agent. External APIs are not available.`)}}),ga=`x-blink-stream-response-format`;var _a=class{options;constructor(e){this.options=e}get baseUrl(){return this.options.baseUrl}async sendMessages(e,t){let n=await fetch(`${this.options.baseUrl}/_agent/send-messages`,{method:`POST`,body:JSON.stringify(e),headers:this.options.headers,signal:t?.signal});return n.ok||await this.handleError(n),Pi(n)}async experimental_provideCompletions(e){let t=await fetch(`${this.options.baseUrl}/_agent/completions`,{method:`POST`,body:JSON.stringify(e),headers:this.options.headers});if(t.ok||await this.handleError(t),t.headers.get(`content-type`)?.includes(`application/json`)){let e=await t.json();return new ReadableStream({start(t){t.enqueue(e),t.close()}})}if(!t.body)throw Error(`Failed to provide completions (${t.status}): ${t.statusText}`);return va(t)}async capabilities(){let e=await fetch(`${this.options.baseUrl}/_agent/capabilities`,{headers:this.options.headers});e.ok||await this.handleError(e);let t=await e.json();return t}async provideUIOptions(e,t){let n=await fetch(`${this.options.baseUrl}/_agent/options`,{method:`POST`,body:JSON.stringify(e),headers:this.options.headers,signal:t?.signal});n.ok||await this.handleError(n);let r=await n.json();return r}async health(){let e=await fetch(`${this.options.baseUrl}/_agent/health`,{headers:this.options.headers});e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed to send messages (${e.status}): ${t}`)}throw Error(`Failed to send messages (${e.status}): ${e.statusText}`)}};const va=e=>{let t=new s;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),ya(t.readable)},ya=e=>{let t=e.pipeThrough(new TransformStream({async transform(e,t){try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));return t};export{pa as APIServerURLEnvironmentVariable,_a as Client,ga as StreamResponseFormatHeader,Ki as checkOptionalParameter,ha as client,Pi as convertResponseToUIMessageStream,Zi as decodeURIComponent_,Ui as getPath,Wi as getPathNoStrict,Bi as getPattern,Yi as getQueryParam,Xi as getQueryParams,Gi as mergePath,ea as parse,Fi as splitPath,Ii as splitRoutingPath,va as streamSSE,Vi as tryDecode};
21
+ ${t}:`]}}function tr({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function nr(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`content_filter`:return`content-filter`;case`function_call`:case`tool_calls`:return`tool-calls`;default:return`unknown`}}var rr=t.object({echo:t.boolean().optional(),logitBias:t.record(t.string(),t.number()).optional(),suffix:t.string().optional(),user:t.string().optional(),logprobs:t.union([t.boolean(),t.number()]).optional()}),ir=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,responseFormat:c,tools:l,toolChoice:u,seed:d,providerOptions:f}){let p=[],m={...await V({provider:`openai`,providerOptions:f,schema:rr}),...await V({provider:this.providerOptionsName,providerOptions:f,schema:rr})};i!=null&&p.push({type:`unsupported-setting`,setting:`topK`}),l?.length&&p.push({type:`unsupported-setting`,setting:`tools`}),u!=null&&p.push({type:`unsupported-setting`,setting:`toolChoice`}),c!=null&&c.type!==`text`&&p.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:h,stopSequences:g}=er({prompt:e}),_=[...g??[],...s??[]];return{args:{model:this.modelId,echo:m.echo,logit_bias:m.logitBias,logprobs:m?.logprobs===!0?0:m?.logprobs===!1?void 0:m?.logprobs,suffix:m.suffix,user:m.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:o,seed:d,prompt:h,stop:_.length>0?_:void 0},warnings:p}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await H({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:$,successfulResponseHandler:q(or),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u={openai:{}};return l.logprobs!=null&&(u.openai.logprobs=l.logprobs),{content:[{type:`text`,text:l.text}],usage:{inputTokens:(t=s.usage)?.prompt_tokens,outputTokens:(n=s.usage)?.completion_tokens,totalTokens:(r=s.usage)?.total_tokens},finishReason:nr(l.finish_reason),request:{body:i},response:{...tr(s),headers:o,body:c},providerMetadata:u,warnings:a}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:r,failedResponseHandler:$,successfulResponseHandler:K(sr),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=`unknown`,s={openai:{}},c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=!0;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){o=`error`,n.enqueue({type:`error`,error:t.error});return}let r=t.value;if(`error`in r){o=`error`,n.enqueue({type:`error`,error:r.error});return}l&&(l=!1,n.enqueue({type:`response-metadata`,...tr(r)}),n.enqueue({type:`text-start`,id:`0`})),r.usage!=null&&(c.inputTokens=r.usage.prompt_tokens,c.outputTokens=r.usage.completion_tokens,c.totalTokens=r.usage.total_tokens);let i=r.choices[0];i?.finish_reason!=null&&(o=nr(i.finish_reason)),i?.logprobs!=null&&(s.openai.logprobs=i.logprobs),i?.text!=null&&i.text.length>0&&n.enqueue({type:`text-delta`,id:`0`,delta:i.text})},flush(e){l||e.enqueue({type:`text-end`,id:`0`}),e.enqueue({type:`finish`,finishReason:o,providerMetadata:s,usage:c})}})),request:{body:r},response:{headers:i}}}},ar=t.object({prompt_tokens:t.number(),completion_tokens:t.number(),total_tokens:t.number()}),or=t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({text:t.string(),finish_reason:t.string(),logprobs:t.object({tokens:t.array(t.string()),token_logprobs:t.array(t.number()),top_logprobs:t.array(t.record(t.string(),t.number())).nullish()}).nullish()})),usage:ar.nullish()}),sr=t.union([t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({text:t.string(),finish_reason:t.string().nullish(),index:t.number(),logprobs:t.object({tokens:t.array(t.string()),token_logprobs:t.array(t.number()),top_logprobs:t.array(t.record(t.string(),t.number())).nullish()}).nullish()})),usage:ar.nullish()}),Mn]),cr=t.object({dimensions:t.number().optional(),user:t.string().optional()}),lr=class{constructor(e,t){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var i;if(e.length>this.maxEmbeddingsPerCall)throw new Ae({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=(i=await V({provider:`openai`,providerOptions:r,schema:cr}))??{},{responseHeaders:o,value:s,rawValue:c}=await H({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:R(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:`float`,dimensions:a.dimensions,user:a.user},failedResponseHandler:$,successfulResponseHandler:q(ur),abortSignal:n,fetch:this.config.fetch});return{embeddings:s.data.map(e=>e.embedding),usage:s.usage?{tokens:s.usage.prompt_tokens}:void 0,response:{headers:o,body:c}}}},ur=t.object({data:t.array(t.object({embedding:t.array(t.number())})),usage:t.object({prompt_tokens:t.number()}).nullish()}),dr={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},fr=new Set([`gpt-image-1`]),pr=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get maxImagesPerCall(){var e;return(e=dr[this.modelId])??1}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d;let f=[];r!=null&&f.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&f.push({type:`unsupported-setting`,setting:`seed`});let p=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:m,responseHeaders:h}=await H({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:R(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},...fr.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:$,successfulResponseHandler:q(mr),abortSignal:s,fetch:this.config.fetch});return{images:m.data.map(e=>e.b64_json),warnings:f,response:{timestamp:p,modelId:this.modelId,headers:h},providerMetadata:{openai:{images:m.data.map(e=>e.revised_prompt?{revisedPrompt:e.revised_prompt}:null)}}}}},mr=t.object({data:t.array(t.object({b64_json:t.string(),revised_prompt:t.string().optional()}))}),hr=t.object({container:t.union([t.string(),t.object({fileIds:t.array(t.string()).optional()})]).optional()}),gr=U({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:t.object({})}),_r=(e={})=>gr(e),vr=t.object({filters:t.object({allowedDomains:t.array(t.string()).optional()}).optional(),searchContextSize:t.enum([`low`,`medium`,`high`]).optional(),userLocation:t.object({type:t.literal(`approximate`),country:t.string().optional(),city:t.string().optional(),region:t.string().optional(),timezone:t.string().optional()}).optional()}),yr=U({id:`openai.web_search`,name:`web_search`,inputSchema:t.object({action:t.discriminatedUnion(`type`,[t.object({type:t.literal(`search`),query:t.string().nullish()}),t.object({type:t.literal(`open_page`),url:t.string()}),t.object({type:t.literal(`find`),url:t.string(),pattern:t.string()})]).nullish()})}),br=(e={})=>yr(e),xr={codeInterpreter:_r,fileSearch:Vn,webSearchPreview:Un,webSearch:br};function Sr(e,t){return t?t.some(t=>e.startsWith(t)):!1}async function Cr({prompt:e,systemMessageMode:t,fileIdPrefixes:n}){var r,i,a,o,s,c;let l=[],u=[];for(let{role:d,content:f}of e)switch(d){case`system`:switch(t){case`system`:l.push({role:`system`,content:f});break;case`developer`:l.push({role:`developer`,content:f});break;case`remove`:u.push({type:`other`,message:`system messages are removed for this model`});break;default:{let e=t;throw Error(`Unsupported system message mode: ${e}`)}}break;case`user`:l.push({role:`user`,content:f.map((e,t)=>{var r,i,a;switch(e.type){case`text`:return{type:`input_text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`input_image`,...e.data instanceof URL?{image_url:e.data.toString()}:typeof e.data==`string`&&Sr(e.data,n)?{file_id:e.data}:{image_url:`data:${t};base64,${J(e.data)}`},detail:(i=(r=e.providerOptions)?.openai)?.imageDetail}}else if(e.mediaType===`application/pdf`)return e.data instanceof URL?{type:`input_file`,file_url:e.data.toString()}:{type:`input_file`,...typeof e.data==`string`&&Sr(e.data,n)?{file_id:e.data}:{filename:(a=e.filename)??`part-${t}.pdf`,file_data:`data:application/pdf;base64,${J(e.data)}`}};else throw new L({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e={};for(let t of f)switch(t.type){case`text`:l.push({role:`assistant`,content:[{type:`output_text`,text:t.text}],id:(a=(i=(r=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-call`:if(t.providerExecuted)break;l.push({type:`function_call`,call_id:t.toolCallId,name:t.toolName,arguments:JSON.stringify(t.input),id:(c=(s=(o=t.providerOptions)?.openai)?.itemId)??void 0});break;case`tool-result`:u.push({type:`other`,message:`tool result parts in assistant messages are not supported for OpenAI responses`});break;case`reasoning`:{let n=await V({provider:`openai`,providerOptions:t.providerOptions,schema:wr}),r=n?.itemId;if(r!=null){let i=e[r],a=[];t.text.length>0?a.push({type:`summary_text`,text:t.text}):i!==void 0&&u.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(t)}.`}),i===void 0?(e[r]={type:`reasoning`,id:r,encrypted_content:n?.reasoningEncryptedContent,summary:a},l.push(e[r])):i.summary.push(...a)}else u.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(t)}.`});break}}break}case`tool`:for(let e of f){let t=e.output,n;switch(t.type){case`text`:case`error-text`:n=t.value;break;case`content`:case`json`:case`error-json`:n=JSON.stringify(t.value);break}l.push({type:`function_call_output`,call_id:e.toolCallId,output:n})}break;default:{let e=d;throw Error(`Unsupported role: ${e}`)}}return{messages:l,warnings:u}}var wr=t.object({itemId:t.string().nullish(),reasoningEncryptedContent:t.string().nullish()});function Tr({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return t?`tool-calls`:`unknown`}}function Er({tools:e,toolChoice:t,strictJsonSchema:n}){e=e?.length?e:void 0;let r=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:r};let i=[];for(let t of e)switch(t.type){case`function`:i.push({type:`function`,name:t.name,description:t.description,parameters:t.inputSchema,strict:n});break;case`provider-defined`:switch(t.id){case`openai.file_search`:{let e=Bn.parse(t.args);i.push({type:`file_search`,vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker}:void 0,filters:e.filters});break}case`openai.web_search_preview`:{let e=Hn.parse(t.args);i.push({type:`web_search_preview`,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.web_search`:{let e=vr.parse(t.args);i.push({type:`web_search`,filters:e.filters==null?void 0:{allowed_domains:e.filters.allowedDomains},search_context_size:e.searchContextSize,user_location:e.userLocation});break}case`openai.code_interpreter`:{let e=hr.parse(t.args);i.push({type:`code_interpreter`,container:e.container==null?{type:`auto`,file_ids:void 0}:typeof e.container==`string`?e.container:{type:`auto`,file_ids:e.container.fileIds}});break}default:r.push({type:`unsupported-tool`,tool:t});break}break;default:r.push({type:`unsupported-tool`,tool:t});break}if(t==null)return{tools:i,toolChoice:void 0,toolWarnings:r};let a=t.type;switch(a){case`auto`:case`none`:case`required`:return{tools:i,toolChoice:a,toolWarnings:r};case`tool`:return{tools:i,toolChoice:t.toolName===`code_interpreter`||t.toolName===`file_search`||t.toolName===`web_search_preview`||t.toolName===`web_search`?{type:t.toolName}:{type:`function`,name:t.toolName},toolWarnings:r};default:{let e=a;throw new L({functionality:`tool choice type: ${e}`})}}}var Dr=t.object({type:t.literal(`web_search_call`),id:t.string(),status:t.string(),action:t.discriminatedUnion(`type`,[t.object({type:t.literal(`search`),query:t.string().nullish()}),t.object({type:t.literal(`open_page`),url:t.string()}),t.object({type:t.literal(`find`),url:t.string(),pattern:t.string()})]).nullish()}),Or=20,kr=t.array(t.object({token:t.string(),logprob:t.number(),top_logprobs:t.array(t.object({token:t.string(),logprob:t.number()}))})),Ar=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:o,seed:s,prompt:c,providerOptions:l,tools:u,toolChoice:d,responseFormat:f}){var p,m,h;let g=[],_=ti(this.modelId);i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),s!=null&&g.push({type:`unsupported-setting`,setting:`seed`}),a!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),n!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`});let{messages:v,warnings:y}=await Cr({prompt:c,systemMessageMode:_.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes});g.push(...y);let b=await V({provider:`openai`,providerOptions:l,schema:ni}),x=(p=b?.strictJsonSchema)??!1,S=b?.include,C=typeof b?.logprobs==`number`?b?.logprobs:b?.logprobs===!0?Or:void 0;S=C?Array.isArray(S)?[...S,`message.output_text.logprobs`]:[`message.output_text.logprobs`]:S;let w=(m=u?.find(e=>e.type===`provider-defined`&&(e.id===`openai.web_search`||e.id===`openai.web_search_preview`)))?.name;S=w?Array.isArray(S)?[...S,`web_search_call.action.sources`]:[`web_search_call.action.sources`]:S;let T={model:this.modelId,input:v,temperature:t,top_p:r,max_output_tokens:e,...(f?.type===`json`||b?.textVerbosity)&&{text:{...f?.type===`json`&&{format:f.schema==null?{type:`json_object`}:{type:`json_schema`,strict:x,name:(h=f.name)??`response`,description:f.description,schema:f.schema}},...b?.textVerbosity&&{verbosity:b.textVerbosity}}},metadata:b?.metadata,parallel_tool_calls:b?.parallelToolCalls,previous_response_id:b?.previousResponseId,store:b?.store,user:b?.user,instructions:b?.instructions,service_tier:b?.serviceTier,include:S,prompt_cache_key:b?.promptCacheKey,safety_identifier:b?.safetyIdentifier,top_logprobs:C,..._.isReasoningModel&&(b?.reasoningEffort!=null||b?.reasoningSummary!=null)&&{reasoning:{...b?.reasoningEffort!=null&&{effort:b.reasoningEffort},...b?.reasoningSummary!=null&&{summary:b.reasoningSummary}}},..._.requiredAutoTruncation&&{truncation:`auto`}};_.isReasoningModel?(T.temperature!=null&&(T.temperature=void 0,g.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),T.top_p!=null&&(T.top_p=void 0,g.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(b?.reasoningEffort!=null&&g.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),b?.reasoningSummary!=null&&g.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),b?.serviceTier===`flex`&&!_.supportsFlexProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete T.service_tier),b?.serviceTier===`priority`&&!_.supportsPriorityProcessing&&(g.push({type:`unsupported-setting`,setting:`serviceTier`,details:`priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported`}),delete T.service_tier);let{tools:E,toolChoice:D,toolWarnings:O}=Er({tools:u,toolChoice:d,strictJsonSchema:x});return{webSearchToolName:w,args:{...T,tools:E,tool_choice:D},warnings:[...g,...O]}}async doGenerate(e){var n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,v,y;let{args:b,warnings:x,webSearchToolName:S}=await this.getArgs(e),C=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders:w,value:T,rawValue:E}=await H({url:C,headers:R(this.config.headers(),e.headers),body:b,failedResponseHandler:$,successfulResponseHandler:q(t.object({id:t.string(),created_at:t.number(),error:t.object({code:t.string(),message:t.string()}).nullish(),model:t.string(),output:t.array(t.discriminatedUnion(`type`,[t.object({type:t.literal(`message`),role:t.literal(`assistant`),id:t.string(),content:t.array(t.object({type:t.literal(`output_text`),text:t.string(),logprobs:kr.nullish(),annotations:t.array(t.discriminatedUnion(`type`,[t.object({type:t.literal(`url_citation`),start_index:t.number(),end_index:t.number(),url:t.string(),title:t.string()}),t.object({type:t.literal(`file_citation`),file_id:t.string(),filename:t.string().nullish(),index:t.number().nullish(),start_index:t.number().nullish(),end_index:t.number().nullish(),quote:t.string().nullish()}),t.object({type:t.literal(`container_file_citation`)})]))}))}),t.object({type:t.literal(`code_interpreter_call`)}),t.object({type:t.literal(`function_call`),call_id:t.string(),name:t.string(),arguments:t.string(),id:t.string()}),Dr,t.object({type:t.literal(`computer_call`),id:t.string(),status:t.string().optional()}),t.object({type:t.literal(`file_search_call`),id:t.string(),status:t.string().optional(),queries:t.array(t.string()).nullish(),results:t.array(t.object({attributes:t.object({file_id:t.string(),filename:t.string(),score:t.number(),text:t.string()})})).nullish()}),t.object({type:t.literal(`reasoning`),id:t.string(),encrypted_content:t.string().nullish(),summary:t.array(t.object({type:t.literal(`summary_text`),text:t.string()}))})])),service_tier:t.string().nullish(),incomplete_details:t.object({reason:t.string()}).nullable(),usage:jr})),abortSignal:e.abortSignal,fetch:this.config.fetch});if(T.error)throw new _({message:T.error.message,url:C,requestBodyValues:b,statusCode:400,responseHeaders:w,responseBody:E,isRetryable:!1});let D=[],O=[],k=!1;for(let t of T.output)switch(t.type){case`reasoning`:t.summary.length===0&&t.summary.push({type:`summary_text`,text:``});for(let e of t.summary)D.push({type:`reasoning`,text:e.text,providerMetadata:{openai:{itemId:t.id,reasoningEncryptedContent:(n=t.encrypted_content)??null}}});break;case`message`:for(let n of t.content){(i=(r=e.providerOptions)?.openai)?.logprobs&&n.logprobs&&O.push(n.logprobs),D.push({type:`text`,text:n.text,providerMetadata:{openai:{itemId:t.id}}});for(let e of n.annotations)e.type===`url_citation`?D.push({type:`source`,sourceType:`url`,id:(s=(o=(a=this.config).generateId)?.call(a))??B(),url:e.url,title:e.title}):e.type===`file_citation`&&D.push({type:`source`,sourceType:`document`,id:(u=(l=(c=this.config).generateId)?.call(c))??B(),mediaType:`text/plain`,title:(f=(d=e.quote)??e.filename)??`Document`,filename:(p=e.filename)??e.file_id})}break;case`function_call`:k=!0,D.push({type:`tool-call`,toolCallId:t.call_id,toolName:t.name,input:t.arguments,providerMetadata:{openai:{itemId:t.id}}});break;case`web_search_call`:D.push({type:`tool-call`,toolCallId:t.id,toolName:S??`web_search`,input:JSON.stringify({action:t.action}),providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:t.id,toolName:S??`web_search`,result:{status:t.status},providerExecuted:!0});break;case`computer_call`:D.push({type:`tool-call`,toolCallId:t.id,toolName:`computer_use`,input:``,providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:t.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:t.status||`completed`},providerExecuted:!0});break;case`file_search_call`:D.push({type:`tool-call`,toolCallId:t.id,toolName:`file_search`,input:``,providerExecuted:!0}),D.push({type:`tool-result`,toolCallId:t.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:t.status||`completed`,...t.queries&&{queries:t.queries},...t.results&&{results:t.results}},providerExecuted:!0});break}let A={openai:{responseId:T.id}};return O.length>0&&(A.openai.logprobs=O),typeof T.service_tier==`string`&&(A.openai.serviceTier=T.service_tier),{content:D,finishReason:Tr({finishReason:(m=T.incomplete_details)?.reason,hasFunctionCall:k}),usage:{inputTokens:T.usage.input_tokens,outputTokens:T.usage.output_tokens,totalTokens:T.usage.input_tokens+T.usage.output_tokens,reasoningTokens:(g=(h=T.usage.output_tokens_details)?.reasoning_tokens)??void 0,cachedInputTokens:(y=(v=T.usage.input_tokens_details)?.cached_tokens)??void 0},request:{body:b},response:{id:T.id,timestamp:new Date(T.created_at*1e3),modelId:T.model,headers:w,body:E},providerMetadata:A,warnings:x}}async doStream(e){let{args:t,warnings:n,webSearchToolName:r}=await this.getArgs(e),{responseHeaders:i,value:a}=await H({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:{...t,stream:!0},failedResponseHandler:$,successfulResponseHandler:K(Hr),abortSignal:e.abortSignal,fetch:this.config.fetch}),o=this,s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l=[],u=null,d={},f=!1,p={},m;return{stream:a.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:n})},transform(t,n){var i,a,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,ee,te,j;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){s=`error`,n.enqueue({type:`error`,error:t.error});return}let M=t.value;if(Yr(M))M.item.type===`function_call`?(d[M.output_index]={toolName:M.item.name,toolCallId:M.item.call_id},n.enqueue({type:`tool-input-start`,id:M.item.call_id,toolName:M.item.name})):M.item.type===`web_search_call`?(d[M.output_index]={toolName:r??`web_search`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:r??`web_search`})):M.item.type===`computer_call`?(d[M.output_index]={toolName:`computer_use`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:`computer_use`})):M.item.type===`file_search_call`?(d[M.output_index]={toolName:`file_search`,toolCallId:M.item.id},n.enqueue({type:`tool-input-start`,id:M.item.id,toolName:`file_search`})):M.item.type===`message`?n.enqueue({type:`text-start`,id:M.item.id,providerMetadata:{openai:{itemId:M.item.id}}}):Xr(M)&&(p[M.item.id]={encryptedContent:M.item.encrypted_content,summaryParts:[0]},n.enqueue({type:`reasoning-start`,id:`${M.item.id}:0`,providerMetadata:{openai:{itemId:M.item.id,reasoningEncryptedContent:(i=M.item.encrypted_content)??null}}}));else if(Wr(M)){if(M.item.type===`function_call`)d[M.output_index]=void 0,f=!0,n.enqueue({type:`tool-input-end`,id:M.item.call_id}),n.enqueue({type:`tool-call`,toolCallId:M.item.call_id,toolName:M.item.name,input:M.item.arguments,providerMetadata:{openai:{itemId:M.item.id}}});else if(M.item.type===`web_search_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`web_search`,input:JSON.stringify({action:M.item.action}),providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`web_search`,result:{status:M.item.status},providerExecuted:!0});else if(M.item.type===`computer_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:M.item.status||`completed`},providerExecuted:!0});else if(M.item.type===`file_search_call`)d[M.output_index]=void 0,n.enqueue({type:`tool-input-end`,id:M.item.id}),n.enqueue({type:`tool-call`,toolCallId:M.item.id,toolName:`file_search`,input:``,providerExecuted:!0}),n.enqueue({type:`tool-result`,toolCallId:M.item.id,toolName:`file_search`,result:{type:`file_search_tool_result`,status:M.item.status||`completed`,...M.item.queries&&{queries:M.item.queries},...M.item.results&&{results:M.item.results}},providerExecuted:!0});else if(M.item.type===`message`)n.enqueue({type:`text-end`,id:M.item.id});else if(Gr(M)){let e=p[M.item.id];for(let t of e.summaryParts)n.enqueue({type:`reasoning-end`,id:`${M.item.id}:${t}`,providerMetadata:{openai:{itemId:M.item.id,reasoningEncryptedContent:(a=M.item.encrypted_content)??null}}});delete p[M.item.id]}}else if(Jr(M)){let e=d[M.output_index];e!=null&&n.enqueue({type:`tool-input-delta`,id:e.toolCallId,delta:M.delta})}else qr(M)?(u=M.response.id,n.enqueue({type:`response-metadata`,id:M.response.id,timestamp:new Date(M.response.created_at*1e3),modelId:M.response.model})):Ur(M)?(n.enqueue({type:`text-delta`,id:M.item_id,delta:M.delta}),(g=(h=e.providerOptions)?.openai)?.logprobs&&M.logprobs&&l.push(M.logprobs)):Qr(M)?M.summary_index>0&&((_=p[M.item_id])==null||_.summaryParts.push(M.summary_index),n.enqueue({type:`reasoning-start`,id:`${M.item_id}:${M.summary_index}`,providerMetadata:{openai:{itemId:M.item_id,reasoningEncryptedContent:(y=(v=p[M.item_id])?.encryptedContent)??null}}})):$r(M)?n.enqueue({type:`reasoning-delta`,id:`${M.item_id}:${M.summary_index}`,delta:M.delta,providerMetadata:{openai:{itemId:M.item_id}}}):Kr(M)?(s=Tr({finishReason:(b=M.response.incomplete_details)?.reason,hasFunctionCall:f}),c.inputTokens=M.response.usage.input_tokens,c.outputTokens=M.response.usage.output_tokens,c.totalTokens=M.response.usage.input_tokens+M.response.usage.output_tokens,c.reasoningTokens=(S=(x=M.response.usage.output_tokens_details)?.reasoning_tokens)??void 0,c.cachedInputTokens=(w=(C=M.response.usage.input_tokens_details)?.cached_tokens)??void 0,typeof M.response.service_tier==`string`&&(m=M.response.service_tier)):Zr(M)?M.annotation.type===`url_citation`?n.enqueue({type:`source`,sourceType:`url`,id:(D=(E=(T=o.config).generateId)?.call(T))??B(),url:M.annotation.url,title:M.annotation.title}):M.annotation.type===`file_citation`&&n.enqueue({type:`source`,sourceType:`document`,id:(A=(k=(O=o.config).generateId)?.call(O))??B(),mediaType:`text/plain`,title:(te=(ee=M.annotation.quote)??M.annotation.filename)??`Document`,filename:(j=M.annotation.filename)??M.annotation.file_id}):ei(M)&&n.enqueue({type:`error`,error:M})},flush(e){let t={openai:{responseId:u}};l.length>0&&(t.openai.logprobs=l),m!==void 0&&(t.openai.serviceTier=m),e.enqueue({type:`finish`,finishReason:s,usage:c,providerMetadata:t})}})),request:{body:t},response:{headers:i}}}},jr=t.object({input_tokens:t.number(),input_tokens_details:t.object({cached_tokens:t.number().nullish()}).nullish(),output_tokens:t.number(),output_tokens_details:t.object({reasoning_tokens:t.number().nullish()}).nullish()}),Mr=t.object({type:t.literal(`response.output_text.delta`),item_id:t.string(),delta:t.string(),logprobs:kr.nullish()}),Nr=t.object({type:t.literal(`error`),code:t.string(),message:t.string(),param:t.string().nullish(),sequence_number:t.number()}),Pr=t.object({type:t.enum([`response.completed`,`response.incomplete`]),response:t.object({incomplete_details:t.object({reason:t.string()}).nullish(),usage:jr,service_tier:t.string().nullish()})}),Fr=t.object({type:t.literal(`response.created`),response:t.object({id:t.string(),created_at:t.number(),model:t.string(),service_tier:t.string().nullish()})}),Ir=t.object({type:t.literal(`response.output_item.added`),output_index:t.number(),item:t.discriminatedUnion(`type`,[t.object({type:t.literal(`message`),id:t.string()}),t.object({type:t.literal(`reasoning`),id:t.string(),encrypted_content:t.string().nullish()}),t.object({type:t.literal(`function_call`),id:t.string(),call_id:t.string(),name:t.string(),arguments:t.string()}),t.object({type:t.literal(`web_search_call`),id:t.string(),status:t.string(),action:t.object({type:t.literal(`search`),query:t.string().optional()}).nullish()}),t.object({type:t.literal(`computer_call`),id:t.string(),status:t.string()}),t.object({type:t.literal(`file_search_call`),id:t.string(),status:t.string(),queries:t.array(t.string()).nullish(),results:t.array(t.object({attributes:t.object({file_id:t.string(),filename:t.string(),score:t.number(),text:t.string()})})).optional()})])}),Lr=t.object({type:t.literal(`response.output_item.done`),output_index:t.number(),item:t.discriminatedUnion(`type`,[t.object({type:t.literal(`message`),id:t.string()}),t.object({type:t.literal(`reasoning`),id:t.string(),encrypted_content:t.string().nullish()}),t.object({type:t.literal(`function_call`),id:t.string(),call_id:t.string(),name:t.string(),arguments:t.string(),status:t.literal(`completed`)}),Dr,t.object({type:t.literal(`computer_call`),id:t.string(),status:t.literal(`completed`)}),t.object({type:t.literal(`file_search_call`),id:t.string(),status:t.literal(`completed`),queries:t.array(t.string()).nullish(),results:t.array(t.object({attributes:t.object({file_id:t.string(),filename:t.string(),score:t.number(),text:t.string()})})).nullish()})])}),Rr=t.object({type:t.literal(`response.function_call_arguments.delta`),item_id:t.string(),output_index:t.number(),delta:t.string()}),zr=t.object({type:t.literal(`response.output_text.annotation.added`),annotation:t.discriminatedUnion(`type`,[t.object({type:t.literal(`url_citation`),url:t.string(),title:t.string()}),t.object({type:t.literal(`file_citation`),file_id:t.string(),filename:t.string().nullish(),index:t.number().nullish(),start_index:t.number().nullish(),end_index:t.number().nullish(),quote:t.string().nullish()})])}),Br=t.object({type:t.literal(`response.reasoning_summary_part.added`),item_id:t.string(),summary_index:t.number()}),Vr=t.object({type:t.literal(`response.reasoning_summary_text.delta`),item_id:t.string(),summary_index:t.number(),delta:t.string()}),Hr=t.union([Mr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Nr,t.object({type:t.string()}).loose()]);function Ur(e){return e.type===`response.output_text.delta`}function Wr(e){return e.type===`response.output_item.done`}function Gr(e){return Wr(e)&&e.item.type===`reasoning`}function Kr(e){return e.type===`response.completed`||e.type===`response.incomplete`}function qr(e){return e.type===`response.created`}function Jr(e){return e.type===`response.function_call_arguments.delta`}function Yr(e){return e.type===`response.output_item.added`}function Xr(e){return Yr(e)&&e.item.type===`reasoning`}function Zr(e){return e.type===`response.output_text.annotation.added`}function Qr(e){return e.type===`response.reasoning_summary_part.added`}function $r(e){return e.type===`response.reasoning_summary_text.delta`}function ei(e){return e.type===`error`}function ti(e){let t=e.startsWith(`o3`)||e.startsWith(`o4-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-chat`),n=e.startsWith(`gpt-4`)||e.startsWith(`gpt-5-mini`)||e.startsWith(`gpt-5`)&&!e.startsWith(`gpt-5-nano`)&&!e.startsWith(`gpt-5-chat`)||e.startsWith(`o3`)||e.startsWith(`o4-mini`),r={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:t,supportsPriorityProcessing:n};return e.startsWith(`gpt-5-chat`)?{...r,isReasoningModel:!1}:e.startsWith(`o`)||e.startsWith(`gpt-5`)||e.startsWith(`codex-`)||e.startsWith(`computer-use`)?e.startsWith(`o1-mini`)||e.startsWith(`o1-preview`)?{...r,isReasoningModel:!0,systemMessageMode:`remove`}:{...r,isReasoningModel:!0,systemMessageMode:`developer`}:{...r,isReasoningModel:!1}}var ni=t.object({metadata:t.any().nullish(),parallelToolCalls:t.boolean().nullish(),previousResponseId:t.string().nullish(),store:t.boolean().nullish(),user:t.string().nullish(),reasoningEffort:t.string().nullish(),strictJsonSchema:t.boolean().nullish(),instructions:t.string().nullish(),reasoningSummary:t.string().nullish(),serviceTier:t.enum([`auto`,`flex`,`priority`]).nullish(),include:t.array(t.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),textVerbosity:t.enum([`low`,`medium`,`high`]).nullish(),promptCacheKey:t.string().nullish(),safetyIdentifier:t.string().nullish(),logprobs:t.union([t.boolean(),t.number().min(1).max(Or)]).optional()}),ri=t.object({instructions:t.string().nullish(),speed:t.number().min(.25).max(4).default(1).nullish()}),ii=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text:e,voice:t=`alloy`,outputFormat:n=`mp3`,speed:r,instructions:i,language:a,providerOptions:o}){let s=[],c=await V({provider:`openai`,providerOptions:o,schema:ri}),l={model:this.modelId,input:e,voice:t,response_format:`mp3`,speed:r,instructions:i};if(n&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(n)?l.response_format=n:s.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${n}. Using mp3 instead.`})),c){let e={};for(let t in e){let n=e[t];n!==void 0&&(l[t]=n)}}return a&&s.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`}),{requestBody:l,warnings:s}}async doGenerate(e){var t,n,r;let i=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{requestBody:a,warnings:o}=await this.getArgs(e),{value:s,responseHeaders:c,rawValue:l}=await H({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),body:a,failedResponseHandler:$,successfulResponseHandler:mt(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:s,warnings:o,request:{body:JSON.stringify(a)},response:{timestamp:i,modelId:this.modelId,headers:c,body:l}}}},ai=t.object({include:t.array(t.string()).optional(),language:t.string().optional(),prompt:t.string().optional(),temperature:t.number().min(0).max(1).default(0).optional(),timestampGranularities:t.array(t.enum([`word`,`segment`])).default([`segment`]).optional()}),oi={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`},si=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await V({provider:`openai`,providerOptions:n,schema:ai}),a=new FormData,o=e instanceof Uint8Array?new Blob([e]):new Blob([_t(e)]);a.append(`model`,this.modelId);let s=Ke(t);if(a.append(`file`,new File([o],`audio`,{type:t}),`audio.${s}`),i){let e={include:i.include,language:i.language,prompt:i.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[t,n]of Object.entries(e))if(n!=null)if(Array.isArray(n))for(let e of n)a.append(`${t}[]`,String(e));else a.append(t,String(n))}return{formData:a,warnings:r}}async doGenerate(e){var t,n,r,i,a,o,s,c;let l=(r=(n=(t=this.config._internal)?.currentDate)?.call(t))??new Date,{formData:u,warnings:d}=await this.getArgs(e),{value:f,responseHeaders:p,rawValue:m}=await ut({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:R(this.config.headers(),e.headers),formData:u,failedResponseHandler:$,successfulResponseHandler:q(ci),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=f.language!=null&&f.language in oi?oi[f.language]:void 0;return{text:f.text,segments:(s=(o=(i=f.segments)?.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end})))??(a=f.words)?.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end})))??[],language:h,durationInSeconds:(c=f.duration)??void 0,warnings:d,response:{timestamp:l,modelId:this.modelId,headers:p,body:m}}}},ci=t.object({text:t.string(),language:t.string().nullish(),duration:t.number().nullish(),words:t.array(t.object({word:t.string(),start:t.number(),end:t.number()})).nullish(),segments:t.array(t.object({id:t.number(),seek:t.number(),start:t.number(),end:t.number(),text:t.string(),tokens:t.array(t.number()),temperature:t.number(),avg_logprob:t.number(),compression_ratio:t.number(),no_speech_prob:t.number()})).nullish()});function li(e={}){var t,n;let r=(t=yt(e.baseURL))??`https://api.openai.com/v1`,i=(n=e.name)??`openai`,a=()=>({Authorization:`Bearer ${Ge({apiKey:e.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers}),o=t=>new Gn(t,{provider:`${i}.chat`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),s=t=>new ir(t,{provider:`${i}.completion`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),c=t=>new lr(t,{provider:`${i}.embedding`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),l=t=>new pr(t,{provider:`${i}.image`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),u=t=>new si(t,{provider:`${i}.transcription`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),d=t=>new ii(t,{provider:`${i}.speech`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch}),f=e=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return p(e)},p=t=>new Ar(t,{provider:`${i}.responses`,url:({path:e})=>`${r}${e}`,headers:a,fetch:e.fetch,fileIdPrefixes:[`file-`]}),m=function(e){return f(e)};return m.languageModel=f,m.chat=o,m.completion=s,m.responses=p,m.embedding=c,m.textEmbedding=c,m.textEmbeddingModel=c,m.image=l,m.imageModel=l,m.transcription=u,m.transcriptionModel=u,m.speech=d,m.speechModel=d,m.tools=xr,m}li(),t.object({user:t.string().optional(),reasoningEffort:t.string().optional()});var ui=t.object({error:t.object({message:t.string(),type:t.string().nullish(),param:t.any().nullish(),code:t.union([t.string(),t.number()]).nullish()})}),di={errorSchema:ui,errorToMessage:e=>e.error.message},fi=t.object({prompt_tokens:t.number().nullish(),completion_tokens:t.number().nullish(),total_tokens:t.number().nullish(),prompt_tokens_details:t.object({cached_tokens:t.number().nullish()}).nullish(),completion_tokens_details:t.object({reasoning_tokens:t.number().nullish(),accepted_prediction_tokens:t.number().nullish(),rejected_prediction_tokens:t.number().nullish()}).nullish()}).nullish();t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({message:t.object({role:t.literal(`assistant`).nullish(),content:t.string().nullish(),reasoning_content:t.string().nullish(),reasoning:t.string().nullish(),tool_calls:t.array(t.object({id:t.string().nullish(),function:t.object({name:t.string(),arguments:t.string()})})).nullish()}),finish_reason:t.string().nullish()})),usage:fi}),t.object({echo:t.boolean().optional(),logitBias:t.record(t.string(),t.number()).optional(),suffix:t.string().optional(),user:t.string().optional()});var pi=t.object({prompt_tokens:t.number(),completion_tokens:t.number(),total_tokens:t.number()});t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({text:t.string(),finish_reason:t.string()})),usage:pi.nullish()}),t.object({dimensions:t.number().optional(),user:t.string().optional()}),t.object({data:t.array(t.object({embedding:t.array(t.number())})),usage:t.object({prompt_tokens:t.number()}).nullish(),providerMetadata:t.record(t.string(),t.record(t.string(),t.any())).optional()});var mi=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,providerOptions:a,headers:o,abortSignal:s}){var c,l,u,d,f;let p=[];r!=null&&p.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),i!=null&&p.push({type:`unsupported-setting`,setting:`seed`});let m=(u=(l=(c=this.config._internal)?.currentDate)?.call(c))??new Date,{value:h,responseHeaders:g}=await H({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:R(this.config.headers(),o),body:{model:this.modelId,prompt:e,n:t,size:n,...(d=a.openai)??{},response_format:`b64_json`},failedResponseHandler:G((f=this.config.errorStructure)??di),successfulResponseHandler:q(hi),abortSignal:s,fetch:this.config.fetch});return{images:h.data.map(e=>e.b64_json),warnings:p,response:{timestamp:m,modelId:this.modelId,headers:g}}}},hi=t.object({data:t.array(t.object({b64_json:t.string()}))});function gi(e){let t=[],n=[];for(let{role:n,content:r}of e)switch(n){case`system`:t.push({role:`system`,content:r});break;case`user`:if(r.length===1&&r[0].type===`text`){t.push({role:`user`,content:r[0].text});break}t.push({role:`user`,content:r.map(e=>{switch(e.type){case`text`:return{type:`text`,text:e.text};case`file`:if(e.mediaType.startsWith(`image/`)){let t=e.mediaType===`image/*`?`image/jpeg`:e.mediaType;return{type:`image_url`,image_url:{url:e.data instanceof URL?e.data.toString():`data:${t};base64,${J(e.data)}`}}}else throw new L({functionality:`file part media type ${e.mediaType}`})}})});break;case`assistant`:{let e=``,n=[];for(let t of r)switch(t.type){case`text`:e+=t.text;break;case`tool-call`:n.push({id:t.toolCallId,type:`function`,function:{name:t.toolName,arguments:JSON.stringify(t.input)}});break}t.push({role:`assistant`,content:e,tool_calls:n.length>0?n:void 0});break}case`tool`:for(let e of r){let n=e.output,r;switch(n.type){case`text`:case`error-text`:r=n.value;break;case`content`:case`json`:case`error-json`:r=JSON.stringify(n.value);break}t.push({role:`tool`,tool_call_id:e.toolCallId,content:r})}break;default:{let e=n;throw Error(`Unsupported role: ${e}`)}}return{messages:t,warnings:n}}function _i({id:e,model:t,created:n}){return{id:e??void 0,modelId:t??void 0,timestamp:n==null?void 0:new Date(n*1e3)}}function vi(e){switch(e){case`stop`:return`stop`;case`length`:return`length`;case`tool_calls`:case`function_call`:return`tool-calls`;case`content_filter`:return`content-filter`;default:return`unknown`}}var yi=t.object({type:t.literal(`web`),country:t.string().length(2).optional(),excludedWebsites:t.array(t.string()).max(5).optional(),allowedWebsites:t.array(t.string()).max(5).optional(),safeSearch:t.boolean().optional()}),bi=t.object({type:t.literal(`x`),xHandles:t.array(t.string()).optional()}),xi=t.object({type:t.literal(`news`),country:t.string().length(2).optional(),excludedWebsites:t.array(t.string()).max(5).optional(),safeSearch:t.boolean().optional()}),Si=t.object({type:t.literal(`rss`),links:t.array(t.string().url()).max(1)}),Ci=t.discriminatedUnion(`type`,[yi,bi,xi,Si]),wi=t.object({reasoningEffort:t.enum([`low`,`high`]).optional(),searchParameters:t.object({mode:t.enum([`off`,`auto`,`on`]),returnCitations:t.boolean().optional(),fromDate:t.string().optional(),toDate:t.string().optional(),maxSearchResults:t.number().min(1).max(50).optional(),sources:t.array(Ci).optional()}).optional()}),Ti=t.object({error:t.object({message:t.string(),type:t.string().nullish(),param:t.any().nullish(),code:t.union([t.string(),t.number()]).nullish()})}),Ei=G({errorSchema:Ti,errorToMessage:e=>e.error.message});function Di({tools:e,toolChoice:t}){e=e?.length?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let t of e)t.type===`provider-defined`?n.push({type:`unsupported-tool`,tool:t}):r.push({type:`function`,function:{name:t.name,description:t.description,parameters:t.inputSchema}});if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case`auto`:case`none`:return{tools:r,toolChoice:i,toolWarnings:n};case`required`:return{tools:r,toolChoice:`required`,toolWarnings:n};case`tool`:return{tools:r,toolChoice:{type:`function`,function:{name:t.toolName}},toolWarnings:n};default:{let e=i;throw new L({functionality:`tool choice type: ${e}`})}}}var Oi=class{constructor(e,t){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:o,stopSequences:s,seed:c,responseFormat:l,providerOptions:u,tools:d,toolChoice:f}){var p,m,h;let g=[],_=(p=await V({provider:`xai`,providerOptions:u,schema:wi}))??{};i!=null&&g.push({type:`unsupported-setting`,setting:`topK`}),a!=null&&g.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),o!=null&&g.push({type:`unsupported-setting`,setting:`presencePenalty`}),s!=null&&g.push({type:`unsupported-setting`,setting:`stopSequences`}),l!=null&&l.type===`json`&&l.schema!=null&&g.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages:v,warnings:y}=gi(e);g.push(...y);let{tools:b,toolChoice:x,toolWarnings:S}=Di({tools:d,toolChoice:f});g.push(...S);let C={model:this.modelId,max_tokens:t,temperature:n,top_p:r,seed:c,reasoning_effort:_.reasoningEffort,response_format:l?.type===`json`?l.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:(m=l.name)??`response`,schema:l.schema,strict:!0}}:void 0,search_parameters:_.searchParameters?{mode:_.searchParameters.mode,return_citations:_.searchParameters.returnCitations,from_date:_.searchParameters.fromDate,to_date:_.searchParameters.toDate,max_search_results:_.searchParameters.maxSearchResults,sources:(h=_.searchParameters.sources)?.map(e=>({type:e.type,...e.type===`web`&&{country:e.country,excluded_websites:e.excludedWebsites,allowed_websites:e.allowedWebsites,safe_search:e.safeSearch},...e.type===`x`&&{x_handles:e.xHandles},...e.type===`news`&&{country:e.country,excluded_websites:e.excludedWebsites,safe_search:e.safeSearch},...e.type===`rss`&&{links:e.links}}))}:void 0,messages:v,tools:b,tool_choice:x};return{args:C,warnings:g}}async doGenerate(e){var t,n,r;let{args:i,warnings:a}=await this.getArgs(e),{responseHeaders:o,value:s,rawValue:c}=await H({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:Ei,successfulResponseHandler:q(Ai),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=s.choices[0],u=[];if(l.message.content!=null&&l.message.content.length>0){let e=l.message.content,t=i.messages[i.messages.length-1];t?.role===`assistant`&&e===t.content&&(e=``),e.length>0&&u.push({type:`text`,text:e})}if(l.message.reasoning_content!=null&&l.message.reasoning_content.length>0&&u.push({type:`reasoning`,text:l.message.reasoning_content}),l.message.tool_calls!=null)for(let e of l.message.tool_calls)u.push({type:`tool-call`,toolCallId:e.id,toolName:e.function.name,input:e.function.arguments});if(s.citations!=null)for(let e of s.citations)u.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:e});return{content:u,finishReason:vi(l.finish_reason),usage:{inputTokens:s.usage.prompt_tokens,outputTokens:s.usage.completion_tokens,totalTokens:s.usage.total_tokens,reasoningTokens:(r=(n=s.usage.completion_tokens_details)?.reasoning_tokens)??void 0},request:{body:i},response:{..._i(s),headers:o,body:c},warnings:a}}async doStream(e){var t;let{args:n,warnings:r}=await this.getArgs(e),i={...n,stream:!0,stream_options:{include_usage:!0}},{responseHeaders:a,value:o}=await H({url:`${(t=this.config.baseURL)??`https://api.x.ai/v1`}/chat/completions`,headers:R(this.config.headers(),e.headers),body:i,failedResponseHandler:Ei,successfulResponseHandler:K(ji),abortSignal:e.abortSignal,fetch:this.config.fetch}),s=`unknown`,c={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},l={},u={},d=this;return{stream:o.pipeThrough(new TransformStream({start(e){e.enqueue({type:`stream-start`,warnings:r})},transform(t,n){var r,a;if(e.includeRawChunks&&n.enqueue({type:`raw`,rawValue:t.rawValue}),!t.success){n.enqueue({type:`error`,error:t.error});return}let o=t.value;if(n.enqueue({type:`response-metadata`,..._i(o)}),o.citations!=null)for(let e of o.citations)n.enqueue({type:`source`,sourceType:`url`,id:d.config.generateId(),url:e});o.usage!=null&&(c.inputTokens=o.usage.prompt_tokens,c.outputTokens=o.usage.completion_tokens,c.totalTokens=o.usage.total_tokens,c.reasoningTokens=(a=(r=o.usage.completion_tokens_details)?.reasoning_tokens)??void 0);let f=o.choices[0];if(f?.finish_reason!=null&&(s=vi(f.finish_reason)),f?.delta==null)return;let p=f.delta,m=f.index;if(p.content!=null&&p.content.length>0){let e=p.content,t=i.messages[i.messages.length-1];if(t?.role===`assistant`&&e===t.content)return;let r=`text-${o.id||m}`;l[r]??(l[r]={type:`text`},n.enqueue({type:`text-start`,id:r})),n.enqueue({type:`text-delta`,id:r,delta:e})}if(p.reasoning_content!=null&&p.reasoning_content.length>0){let e=`reasoning-${o.id||m}`;if(u[e]===p.reasoning_content)return;u[e]=p.reasoning_content,l[e]??(l[e]={type:`reasoning`},n.enqueue({type:`reasoning-start`,id:e})),n.enqueue({type:`reasoning-delta`,id:e,delta:p.reasoning_content})}if(p.tool_calls!=null)for(let e of p.tool_calls){let t=e.id;n.enqueue({type:`tool-input-start`,id:t,toolName:e.function.name}),n.enqueue({type:`tool-input-delta`,id:t,delta:e.function.arguments}),n.enqueue({type:`tool-input-end`,id:t}),n.enqueue({type:`tool-call`,toolCallId:t,toolName:e.function.name,input:e.function.arguments})}},flush(e){for(let[t,n]of Object.entries(l))e.enqueue({type:n.type===`text`?`text-end`:`reasoning-end`,id:t});e.enqueue({type:`finish`,finishReason:s,usage:c})}})),request:{body:i},response:{headers:a}}}},ki=t.object({prompt_tokens:t.number(),completion_tokens:t.number(),total_tokens:t.number(),completion_tokens_details:t.object({reasoning_tokens:t.number().nullish()}).nullish()}),Ai=t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({message:t.object({role:t.literal(`assistant`),content:t.string().nullish(),reasoning_content:t.string().nullish(),tool_calls:t.array(t.object({id:t.string(),type:t.literal(`function`),function:t.object({name:t.string(),arguments:t.string()})})).nullish()}),index:t.number(),finish_reason:t.string().nullish()})),object:t.literal(`chat.completion`),usage:ki,citations:t.array(t.string().url()).nullish()}),ji=t.object({id:t.string().nullish(),created:t.number().nullish(),model:t.string().nullish(),choices:t.array(t.object({delta:t.object({role:t.enum([`assistant`]).optional(),content:t.string().nullish(),reasoning_content:t.string().nullish(),tool_calls:t.array(t.object({id:t.string(),type:t.literal(`function`),function:t.object({name:t.string(),arguments:t.string()})})).nullish()}),finish_reason:t.string().nullish(),index:t.number()})),usage:ki.nullish(),citations:t.array(t.string().url()).nullish()}),Mi={errorSchema:Ti,errorToMessage:e=>e.error.message};function Ni(e={}){var t;let n=yt((t=e.baseURL)??`https://api.x.ai/v1`),r=()=>({Authorization:`Bearer ${Ge({apiKey:e.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...e.headers}),i=t=>new Oi(t,{provider:`xai.chat`,baseURL:n,headers:r,generateId:B,fetch:e.fetch}),a=t=>new mi(t,{provider:`xai.image`,url:({path:e})=>`${n}${e}`,headers:r,fetch:e.fetch,errorStructure:Mi}),o=e=>i(e);return o.languageModel=i,o.chat=i,o.textEmbeddingModel=e=>{throw new Te({modelId:e,modelType:`textEmbeddingModel`})},o.imageModel=a,o.image=a,o}Ni();function Pi(e){if(!e.body)throw Error(`Response body is required`);let t=e.headers.get(ga);if(!t||t===`ui-message`)return e.body.pipeThrough(new TextDecoderStream).pipeThrough(new s).pipeThrough(new TransformStream({async transform(e,t){if(e.data!==`[DONE]`)try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));let r=e=>n({model:e,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(t){case`openai-chat`:return r(li({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`openai-response`:return r(li({apiKey:`ignored`,fetch:(t,n)=>e}).responses(`fake-model`));case`anthropic`:return r(Qt({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`google`:return r(jn({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));case`xai`:return r(Ni({apiKey:`ignored`,fetch:(t,n)=>e}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${t}`)}}var Fi=e=>{let t=e.split(`/`);return t[0]===``&&t.shift(),t},Ii=e=>{let{groups:t,path:n}=Li(e),r=Fi(n);return Ri(r,t)},Li=e=>{let t=[];return e=e.replace(/\{[^}]+\}/g,(e,n)=>{let r=`@${n}`;return t.push([r,e]),r}),{groups:t,path:e}},Ri=(e,t)=>{for(let n=t.length-1;n>=0;n--){let[r]=t[n];for(let i=e.length-1;i>=0;i--)if(e[i].includes(r)){e[i]=e[i].replace(r,t[n][1]);break}}return e},zi={},Bi=(e,t)=>{if(e===`*`)return`*`;let n=e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(n){let r=`${e}#${t}`;return zi[r]||(n[2]?zi[r]=t&&t[0]!==`:`&&t[0]!==`*`?[r,n[1],RegExp(`^${n[2]}(?=/${t})`)]:[e,n[1],RegExp(`^${n[2]}$`)]:zi[r]=[e,n[1],!0]),zi[r]}return null},Vi=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,e=>{try{return t(e)}catch{return e}})}},Hi=e=>Vi(e,decodeURI),Ui=e=>{let t=e.url,n=t.indexOf(`/`,t.indexOf(`:`)+4),r=n;for(;r<t.length;r++){let e=t.charCodeAt(r);if(e===37){let e=t.indexOf(`?`,r),i=t.slice(n,e===-1?void 0:e);return Hi(i.includes(`%25`)?i.replace(/%25/g,`%2525`):i)}else if(e===63)break}return t.slice(n,r)},Wi=e=>{let t=Ui(e);return t.length>1&&t.at(-1)===`/`?t.slice(0,-1):t},Gi=(e,t,...n)=>(n.length&&(t=Gi(t,...n)),`${e?.[0]===`/`?``:`/`}${e}${t===`/`?``:`${e?.at(-1)===`/`?``:`/`}${t?.[0]===`/`?t.slice(1):t}`}`),Ki=e=>{if(e.charCodeAt(e.length-1)!==63||!e.includes(`:`))return null;let t=e.split(`/`),n=[],r=``;return t.forEach(e=>{if(e!==``&&!/\:/.test(e))r+=`/`+e;else if(/\:/.test(e))if(/\?/.test(e)){n.length===0&&r===``?n.push(`/`):n.push(r);let t=e.replace(`?`,``);r+=`/`+t,n.push(r)}else r+=`/`+e}),n.filter((e,t,n)=>n.indexOf(e)===t)},qi=e=>/[%+]/.test(e)?(e.indexOf(`+`)!==-1&&(e=e.replace(/\+/g,` `)),e.indexOf(`%`)===-1?e:Vi(e,Zi)):e,Ji=(e,t,n)=>{let r;if(!n&&t&&!/[%+]/.test(t)){let n=e.indexOf(`?${t}`,8);for(n===-1&&(n=e.indexOf(`&${t}`,8));n!==-1;){let r=e.charCodeAt(n+t.length+1);if(r===61){let r=n+t.length+2,i=e.indexOf(`&`,r);return qi(e.slice(r,i===-1?void 0:i))}else if(r==38||isNaN(r))return``;n=e.indexOf(`&${t}`,n+1)}if(r=/[%+]/.test(e),!r)return}let i={};r??=/[%+]/.test(e);let a=e.indexOf(`?`,8);for(;a!==-1;){let t=e.indexOf(`&`,a+1),o=e.indexOf(`=`,a);o>t&&t!==-1&&(o=-1);let s=e.slice(a+1,o===-1?t===-1?void 0:t:o);if(r&&(s=qi(s)),a=t,s===``)continue;let c;o===-1?c=``:(c=e.slice(o+1,t===-1?void 0:t),r&&(c=qi(c))),n?(i[s]&&Array.isArray(i[s])||(i[s]=[]),i[s].push(c)):i[s]??=c}return t?i[t]:i},Yi=Ji,Xi=(e,t)=>Ji(e,t,!0),Zi=decodeURIComponent,Qi=/^[\w!#$%&'*.^`|~+-]+$/,$i=/^[ !#-:<-[\]-~]*$/,ea=(e,t)=>{if(t&&e.indexOf(t)===-1)return{};let n=e.trim().split(`;`),r={};for(let e of n){e=e.trim();let n=e.indexOf(`=`);if(n===-1)continue;let i=e.substring(0,n).trim();if(t&&t!==i||!Qi.test(i))continue;let a=e.substring(n+1).trim();if(a.startsWith(`"`)&&a.endsWith(`"`)&&(a=a.slice(1,-1)),$i.test(a)&&(r[i]=a.indexOf(`%`)===-1?a:Vi(a,Zi),t))break}return r},ta=(e,t,n={})=>{let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},na=(e,t,n)=>(t=encodeURIComponent(t),ta(e,t,n)),ra=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),ia=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},aa=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e)){if(r===void 0)continue;if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r)}return t},oa=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},sa=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function ca(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function la(e,t){if(!ca(e)&&!ca(t))return t;let n={...e};for(let e in t){let r=t[e];ca(n[e])&&ca(r)?n[e]=la(n[e],r):n[e]=r}return n}var ua=(e,t)=>{let n=new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return ua(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}});return n},da=class{url;method;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t){this.url=e,this.method=t}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=aa(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(na(n,r,{path:`/`}));r.Cookie=t.join(`,`)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),a=this.url;a=sa(a),a=ia(a,this.pathParams),this.queryParams&&(a=a+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let o=!(n===`GET`||n===`HEAD`);return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},fa=(e,t)=>ua(function n(r){let i=[...r.path],a=i.slice(-3).reverse();if(a[0]===`toString`)return a[1]===`name`?a[2]||``:n.toString();if(a[0]===`valueOf`)return a[1]===`name`?a[2]||``:n;let o=``;if(/^\$/.test(a[0])){let e=i.pop();e&&(o=e.replace(/^\$/,``))}let s=i.join(`/`),c=ra(e,s);if(o===`url`){let e=c;return r.args[0]&&(r.args[0].param&&(e=ia(c,r.args[0].param)),r.args[0].query&&(e=e+`?`+aa(r.args[0].query).toString())),e=sa(e),new URL(e)}if(o===`ws`){let e=oa(r.args[0]&&r.args[0].param?ia(c,r.args[0].param):c,`ws`),n=new URL(e),i=r.args[0]?.query;i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)});let a=(...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e);return a(n.toString())}let l=new da(c,o);if(o){t??={};let e=la(t,{...r.args[1]});return l.fetch(r.args[0],e)}return l},[]);const pa=`BLINK_API_SERVER_URL`,ma=process.env[pa],ha=fa(ma??``,{fetch:ma?void 0:async()=>{throw console.warn(`Your code is attempting to use the Blink API server, but no API server is configured for this Blink agent.`),Error(`No API server is configured for this Blink agent. External APIs are not available.`)}}),ga=`x-blink-stream-response-format`;var _a=class{options;constructor(e){this.options=e}get baseUrl(){return this.options.baseUrl}async sendMessages(e,t){let n=new URL(`/_agent/send-messages`,this.options.baseUrl),r=await fetch(n.toString(),{method:`POST`,body:JSON.stringify(e),headers:this.options.headers,signal:t?.signal});return r.ok||await this.handleError(r),Pi(r)}async experimental_provideCompletions(e){let t=new URL(`/_agent/completions`,this.options.baseUrl),n=await fetch(t.toString(),{method:`POST`,body:JSON.stringify(e),headers:this.options.headers});if(n.ok||await this.handleError(n),n.headers.get(`content-type`)?.includes(`application/json`)){let e=await n.json();return new ReadableStream({start(t){t.enqueue(e),t.close()}})}if(!n.body)throw Error(`Failed to provide completions (${n.status}): ${n.statusText}`);return va(n)}async capabilities(){let e=new URL(`/_agent/capabilities`,this.options.baseUrl),t=await fetch(e.toString(),{headers:this.options.headers});t.ok||await this.handleError(t);let n=await t.json();return n}async provideUIOptions(e,t){let n=new URL(`/_agent/options`,this.options.baseUrl),r=await fetch(n.toString(),{method:`POST`,body:JSON.stringify(e),headers:this.options.headers,signal:t?.signal});r.ok||await this.handleError(r);let i=await r.json();return i}async health(){let e=await fetch(`${this.options.baseUrl}/_agent/health`,{headers:this.options.headers});e.ok||await this.handleError(e)}async handleError(e){let t;try{t=await e.text()}catch{}if(t){let n;try{n=JSON.parse(t)}catch{}throw n?Error(n.error):Error(`Failed to send messages (${e.status}): ${t}`)}throw Error(`Failed to send messages (${e.status}): ${e.statusText}`)}};const va=e=>{let t=new s;if(!e.body)throw Error(`The stream endpoint did not return a body!`);return e.body.pipeThrough(new TextDecoderStream).pipeTo(t.writable).catch(e=>{}),ya(t.readable)},ya=e=>{let t=e.pipeThrough(new TransformStream({async transform(e,t){try{let n=JSON.parse(e.data);t.enqueue(n)}catch(e){t.error(e);return}}}));return t};export{pa as APIServerURLEnvironmentVariable,_a as Client,ga as StreamResponseFormatHeader,Ki as checkOptionalParameter,ha as client,Pi as convertResponseToUIMessageStream,Zi as decodeURIComponent_,Ui as getPath,Wi as getPathNoStrict,Bi as getPattern,Yi as getQueryParam,Xi as getQueryParams,Gi as mergePath,ea as parse,Fi as splitPath,Ii as splitRoutingPath,va as streamSSE,Vi as tryDecode};