blink 0.1.103 → 0.1.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/{auth-DjAEZyZZ.js → auth-B_s9F0vP.js} +1 -1
- package/dist/cli/{chat-DX_V608z.js → chat-CLFi7jlw.js} +1 -1
- package/dist/cli/{chat-manager-Cx6mpwEh.js → chat-manager-r6Y3l4iZ.js} +1 -1
- package/dist/cli/{dev-BatLoJtN.js → dev-1uScQ90j.js} +75 -70
- package/dist/cli/index.js +3 -3
- package/dist/cli/{init-iySs9KUe.js → init-m-BdPD26.js} +1 -1
- package/dist/cli/login-DC5VCVrz.js +1 -0
- package/dist/cli/{main-BdSSlDIs.js → main-CenN47Xk.js} +1 -1
- package/dist/cli/{run-kzhNLg8f.js → run-RA_dpA15.js} +1 -1
- package/dist/node/agent/index.node.cjs +1 -1
- package/dist/node/agent/index.node.js +1 -1
- package/dist/node/{index.node-hG-farUz.js → index.node-SyKw4kKs.js} +1 -1
- package/dist/node/{index.node-DlfrLUZ3.cjs → index.node-nrQ20r3u.cjs} +1 -1
- package/dist/node/react/index.node.cjs +18 -13
- package/dist/node/react/index.node.js +18 -13
- package/package.json +1 -1
- package/dist/cli/login-DTwQcbaT.js +0 -1
- /package/dist/cli/{dist-BNbSDxaw.js → dist-wyfWuz5A.js} +0 -0
- /package/dist/cli/{open-DCYivxgo.js → open-S_jcQ0nw.js} +0 -0
|
@@ -154,7 +154,7 @@ ${assistantMessage}
|
|
|
154
154
|
`,{prompt:text,stopSequences:[`
|
|
155
155
|
${user}:`]}}function getResponseMetadata2({id,model:model$1,created}){return{id:id??void 0,modelId:model$1??void 0,timestamp:created==null?void 0:new Date(created*1e3)}}function mapOpenAIFinishReason2(finishReason){switch(finishReason){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 openaiCompletionProviderOptions=zod_v4.z.object({echo:zod_v4.z.boolean().optional(),logitBias:zod_v4.z.record(zod_v4.z.string(),zod_v4.z.number()).optional(),suffix:zod_v4.z.string().optional(),user:zod_v4.z.string().optional(),logprobs:zod_v4.z.union([zod_v4.z.boolean(),zod_v4.z.number()]).optional()}),OpenAICompletionLanguageModel=class{constructor(modelId,config){this.specificationVersion=`v2`,this.supportedUrls={},this.modelId=modelId,this.config=config}get providerOptionsName(){return this.config.provider.split(`.`)[0].trim()}get provider(){return this.config.provider}async getArgs({prompt,maxOutputTokens,temperature,topP,topK,frequencyPenalty,presencePenalty,stopSequences:userStopSequences,responseFormat,tools:tools$1,toolChoice,seed,providerOptions}){let warnings=[],openaiOptions={...await parseProviderOptions({provider:`openai`,providerOptions,schema:openaiCompletionProviderOptions}),...await parseProviderOptions({provider:this.providerOptionsName,providerOptions,schema:openaiCompletionProviderOptions})};topK!=null&&warnings.push({type:`unsupported-setting`,setting:`topK`}),tools$1?.length&&warnings.push({type:`unsupported-setting`,setting:`tools`}),toolChoice!=null&&warnings.push({type:`unsupported-setting`,setting:`toolChoice`}),responseFormat!=null&&responseFormat.type!==`text`&&warnings.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format is not supported.`});let{prompt:completionPrompt,stopSequences}=convertToOpenAICompletionPrompt({prompt}),stop=[...stopSequences??[],...userStopSequences??[]];return{args:{model:this.modelId,echo:openaiOptions.echo,logit_bias:openaiOptions.logitBias,logprobs:openaiOptions?.logprobs===!0?0:openaiOptions?.logprobs===!1?void 0:openaiOptions?.logprobs,suffix:openaiOptions.suffix,user:openaiOptions.user,max_tokens:maxOutputTokens,temperature,top_p:topP,frequency_penalty:frequencyPenalty,presence_penalty:presencePenalty,seed,prompt:completionPrompt,stop:stop.length>0?stop:void 0},warnings}}async doGenerate(options){var _a$7,_b$2,_c$1;let{args,warnings}=await this.getArgs(options),{responseHeaders,value:response,rawValue:rawResponse}=await postJsonToApi({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:combineHeaders(this.config.headers(),options.headers),body:args,failedResponseHandler:openaiFailedResponseHandler,successfulResponseHandler:createJsonResponseHandler(openaiCompletionResponseSchema),abortSignal:options.abortSignal,fetch:this.config.fetch}),choice=response.choices[0],providerMetadata={openai:{}};return choice.logprobs!=null&&(providerMetadata.openai.logprobs=choice.logprobs),{content:[{type:`text`,text:choice.text}],usage:{inputTokens:response.usage?.prompt_tokens,outputTokens:response.usage?.completion_tokens,totalTokens:response.usage?.total_tokens},finishReason:mapOpenAIFinishReason2(choice.finish_reason),request:{body:args},response:{...getResponseMetadata2(response),headers:responseHeaders,body:rawResponse},providerMetadata,warnings}}async doStream(options){let{args,warnings}=await this.getArgs(options),body={...args,stream:!0,stream_options:{include_usage:!0}},{responseHeaders,value:response}=await postJsonToApi({url:this.config.url({path:`/completions`,modelId:this.modelId}),headers:combineHeaders(this.config.headers(),options.headers),body,failedResponseHandler:openaiFailedResponseHandler,successfulResponseHandler:createEventSourceResponseHandler(openaiCompletionChunkSchema),abortSignal:options.abortSignal,fetch:this.config.fetch}),finishReason=`unknown`,providerMetadata={openai:{}},usage={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},isFirstChunk=!0;return{stream:response.pipeThrough(new TransformStream({start(controller){controller.enqueue({type:`stream-start`,warnings})},transform(chunk,controller){if(options.includeRawChunks&&controller.enqueue({type:`raw`,rawValue:chunk.rawValue}),!chunk.success){finishReason=`error`,controller.enqueue({type:`error`,error:chunk.error});return}let value=chunk.value;if(`error`in value){finishReason=`error`,controller.enqueue({type:`error`,error:value.error});return}isFirstChunk&&(isFirstChunk=!1,controller.enqueue({type:`response-metadata`,...getResponseMetadata2(value)}),controller.enqueue({type:`text-start`,id:`0`})),value.usage!=null&&(usage.inputTokens=value.usage.prompt_tokens,usage.outputTokens=value.usage.completion_tokens,usage.totalTokens=value.usage.total_tokens);let choice=value.choices[0];choice?.finish_reason!=null&&(finishReason=mapOpenAIFinishReason2(choice.finish_reason)),choice?.logprobs!=null&&(providerMetadata.openai.logprobs=choice.logprobs),choice?.text!=null&&choice.text.length>0&&controller.enqueue({type:`text-delta`,id:`0`,delta:choice.text})},flush(controller){isFirstChunk||controller.enqueue({type:`text-end`,id:`0`}),controller.enqueue({type:`finish`,finishReason,providerMetadata,usage})}})),request:{body},response:{headers:responseHeaders}}}},usageSchema$1=zod_v4.z.object({prompt_tokens:zod_v4.z.number(),completion_tokens:zod_v4.z.number(),total_tokens:zod_v4.z.number()}),openaiCompletionResponseSchema=zod_v4.z.object({id:zod_v4.z.string().nullish(),created:zod_v4.z.number().nullish(),model:zod_v4.z.string().nullish(),choices:zod_v4.z.array(zod_v4.z.object({text:zod_v4.z.string(),finish_reason:zod_v4.z.string(),logprobs:zod_v4.z.object({tokens:zod_v4.z.array(zod_v4.z.string()),token_logprobs:zod_v4.z.array(zod_v4.z.number()),top_logprobs:zod_v4.z.array(zod_v4.z.record(zod_v4.z.string(),zod_v4.z.number())).nullish()}).nullish()})),usage:usageSchema$1.nullish()}),openaiCompletionChunkSchema=zod_v4.z.union([zod_v4.z.object({id:zod_v4.z.string().nullish(),created:zod_v4.z.number().nullish(),model:zod_v4.z.string().nullish(),choices:zod_v4.z.array(zod_v4.z.object({text:zod_v4.z.string(),finish_reason:zod_v4.z.string().nullish(),index:zod_v4.z.number(),logprobs:zod_v4.z.object({tokens:zod_v4.z.array(zod_v4.z.string()),token_logprobs:zod_v4.z.array(zod_v4.z.number()),top_logprobs:zod_v4.z.array(zod_v4.z.record(zod_v4.z.string(),zod_v4.z.number())).nullish()}).nullish()})),usage:usageSchema$1.nullish()}),openaiErrorDataSchema]),openaiEmbeddingProviderOptions=zod_v4.z.object({dimensions:zod_v4.z.number().optional(),user:zod_v4.z.string().optional()}),OpenAIEmbeddingModel=class{constructor(modelId,config){this.specificationVersion=`v2`,this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=modelId,this.config=config}get provider(){return this.config.provider}async doEmbed({values,headers,abortSignal,providerOptions}){var _a$7;if(values.length>this.maxEmbeddingsPerCall)throw new TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values});let openaiOptions=await parseProviderOptions({provider:`openai`,providerOptions,schema:openaiEmbeddingProviderOptions})??{},{responseHeaders,value:response,rawValue}=await postJsonToApi({url:this.config.url({path:`/embeddings`,modelId:this.modelId}),headers:combineHeaders(this.config.headers(),headers),body:{model:this.modelId,input:values,encoding_format:`float`,dimensions:openaiOptions.dimensions,user:openaiOptions.user},failedResponseHandler:openaiFailedResponseHandler,successfulResponseHandler:createJsonResponseHandler(openaiTextEmbeddingResponseSchema$1),abortSignal,fetch:this.config.fetch});return{embeddings:response.data.map(item=>item.embedding),usage:response.usage?{tokens:response.usage.prompt_tokens}:void 0,response:{headers:responseHeaders,body:rawValue}}}},openaiTextEmbeddingResponseSchema$1=zod_v4.z.object({data:zod_v4.z.array(zod_v4.z.object({embedding:zod_v4.z.array(zod_v4.z.number())})),usage:zod_v4.z.object({prompt_tokens:zod_v4.z.number()}).nullish()}),modelMaxImagesPerCall={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10},hasDefaultResponseFormat=new Set([`gpt-image-1`]),OpenAIImageModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`}get maxImagesPerCall(){var _a$7;return modelMaxImagesPerCall[this.modelId]??1}get provider(){return this.config.provider}async doGenerate({prompt,n,size,aspectRatio,seed,providerOptions,headers,abortSignal}){var _a$7,_b$2,_c$1,_d$1;let warnings=[];aspectRatio!=null&&warnings.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),seed!=null&&warnings.push({type:`unsupported-setting`,setting:`seed`});let currentDate=((_a$7=this.config._internal)?.currentDate)?.call(_a$7)??new Date,{value:response,responseHeaders}=await postJsonToApi({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:combineHeaders(this.config.headers(),headers),body:{model:this.modelId,prompt,n,size,...providerOptions.openai??{},...hasDefaultResponseFormat.has(this.modelId)?{}:{response_format:`b64_json`}},failedResponseHandler:openaiFailedResponseHandler,successfulResponseHandler:createJsonResponseHandler(openaiImageResponseSchema),abortSignal,fetch:this.config.fetch});return{images:response.data.map(item=>item.b64_json),warnings,response:{timestamp:currentDate,modelId:this.modelId,headers:responseHeaders},providerMetadata:{openai:{images:response.data.map(item=>item.revised_prompt?{revisedPrompt:item.revised_prompt}:null)}}}}},openaiImageResponseSchema=zod_v4.z.object({data:zod_v4.z.array(zod_v4.z.object({b64_json:zod_v4.z.string(),revised_prompt:zod_v4.z.string().optional()}))}),codeInterpreterInputSchema=zod_v4.z.object({code:zod_v4.z.string().nullish(),containerId:zod_v4.z.string()}),codeInterpreterOutputSchema=zod_v4.z.object({outputs:zod_v4.z.array(zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`logs`),logs:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`image`),url:zod_v4.z.string()})])).nullish()}),codeInterpreterArgsSchema=zod_v4.z.object({container:zod_v4.z.union([zod_v4.z.string(),zod_v4.z.object({fileIds:zod_v4.z.array(zod_v4.z.string()).optional()})]).optional()}),codeInterpreterToolFactory=createProviderDefinedToolFactoryWithOutputSchema({id:`openai.code_interpreter`,name:`code_interpreter`,inputSchema:codeInterpreterInputSchema,outputSchema:codeInterpreterOutputSchema}),codeInterpreter=(args={})=>codeInterpreterToolFactory(args),comparisonFilterSchema=zod_v4.z.object({key:zod_v4.z.string(),type:zod_v4.z.enum([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),value:zod_v4.z.union([zod_v4.z.string(),zod_v4.z.number(),zod_v4.z.boolean()])}),compoundFilterSchema=zod_v4.z.object({type:zod_v4.z.enum([`and`,`or`]),filters:zod_v4.z.array(zod_v4.z.union([comparisonFilterSchema,zod_v4.z.lazy(()=>compoundFilterSchema)]))}),fileSearchArgsSchema=zod_v4.z.object({vectorStoreIds:zod_v4.z.array(zod_v4.z.string()),maxNumResults:zod_v4.z.number().optional(),ranking:zod_v4.z.object({ranker:zod_v4.z.string().optional(),scoreThreshold:zod_v4.z.number().optional()}).optional(),filters:zod_v4.z.union([comparisonFilterSchema,compoundFilterSchema]).optional()}),fileSearchOutputSchema=zod_v4.z.object({queries:zod_v4.z.array(zod_v4.z.string()),results:zod_v4.z.array(zod_v4.z.object({attributes:zod_v4.z.record(zod_v4.z.string(),zod_v4.z.unknown()),fileId:zod_v4.z.string(),filename:zod_v4.z.string(),score:zod_v4.z.number(),text:zod_v4.z.string()})).nullable()}),fileSearch=createProviderDefinedToolFactoryWithOutputSchema({id:`openai.file_search`,name:`file_search`,inputSchema:zod_v4.z.object({}),outputSchema:fileSearchOutputSchema}),imageGenerationArgsSchema=zod_v4.z.object({background:zod_v4.z.enum([`auto`,`opaque`,`transparent`]).optional(),inputFidelity:zod_v4.z.enum([`low`,`high`]).optional(),inputImageMask:zod_v4.z.object({fileId:zod_v4.z.string().optional(),imageUrl:zod_v4.z.string().optional()}).optional(),model:zod_v4.z.string().optional(),moderation:zod_v4.z.enum([`auto`]).optional(),outputCompression:zod_v4.z.number().int().min(0).max(100).optional(),outputFormat:zod_v4.z.enum([`png`,`jpeg`,`webp`]).optional(),quality:zod_v4.z.enum([`auto`,`low`,`medium`,`high`]).optional(),size:zod_v4.z.enum([`1024x1024`,`1024x1536`,`1536x1024`,`auto`]).optional()}).strict(),imageGenerationOutputSchema=zod_v4.z.object({result:zod_v4.z.string()}),imageGenerationToolFactory=createProviderDefinedToolFactoryWithOutputSchema({id:`openai.image_generation`,name:`image_generation`,inputSchema:zod_v4.z.object({}),outputSchema:imageGenerationOutputSchema}),imageGeneration=(args={})=>imageGenerationToolFactory(args),localShellInputSchema=zod_v4.z.object({action:zod_v4.z.object({type:zod_v4.z.literal(`exec`),command:zod_v4.z.array(zod_v4.z.string()),timeoutMs:zod_v4.z.number().optional(),user:zod_v4.z.string().optional(),workingDirectory:zod_v4.z.string().optional(),env:zod_v4.z.record(zod_v4.z.string(),zod_v4.z.string()).optional()})}),localShellOutputSchema=zod_v4.z.object({output:zod_v4.z.string()}),localShell=createProviderDefinedToolFactoryWithOutputSchema({id:`openai.local_shell`,name:`local_shell`,inputSchema:localShellInputSchema,outputSchema:localShellOutputSchema}),webSearchArgsSchema=zod_v4.z.object({filters:zod_v4.z.object({allowedDomains:zod_v4.z.array(zod_v4.z.string()).optional()}).optional(),searchContextSize:zod_v4.z.enum([`low`,`medium`,`high`]).optional(),userLocation:zod_v4.z.object({type:zod_v4.z.literal(`approximate`),country:zod_v4.z.string().optional(),city:zod_v4.z.string().optional(),region:zod_v4.z.string().optional(),timezone:zod_v4.z.string().optional()}).optional()}),webSearchToolFactory=createProviderDefinedToolFactory({id:`openai.web_search`,name:`web_search`,inputSchema:zod_v4.z.object({action:zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`search`),query:zod_v4.z.string().nullish()}),zod_v4.z.object({type:zod_v4.z.literal(`open_page`),url:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`find`),url:zod_v4.z.string(),pattern:zod_v4.z.string()})]).nullish()})}),webSearch=(args={})=>webSearchToolFactory(args),webSearchPreviewArgsSchema=zod_v4.z.object({searchContextSize:zod_v4.z.enum([`low`,`medium`,`high`]).optional(),userLocation:zod_v4.z.object({type:zod_v4.z.literal(`approximate`),country:zod_v4.z.string().optional(),city:zod_v4.z.string().optional(),region:zod_v4.z.string().optional(),timezone:zod_v4.z.string().optional()}).optional()}),webSearchPreview=createProviderDefinedToolFactory({id:`openai.web_search_preview`,name:`web_search_preview`,inputSchema:zod_v4.z.object({action:zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`search`),query:zod_v4.z.string().nullish()}),zod_v4.z.object({type:zod_v4.z.literal(`open_page`),url:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`find`),url:zod_v4.z.string(),pattern:zod_v4.z.string()})]).nullish()})}),openaiTools={codeInterpreter,fileSearch,imageGeneration,localShell,webSearchPreview,webSearch};function isFileId(data$2,prefixes){return prefixes?prefixes.some(prefix=>data$2.startsWith(prefix)):!1}async function convertToOpenAIResponsesInput({prompt,systemMessageMode,fileIdPrefixes,store,hasLocalShellTool=!1}){var _a$7,_b$2,_c$1,_d$1,_e,_f,_g,_h,_i;let input=[],warnings=[];for(let{role,content}of prompt)switch(role){case`system`:switch(systemMessageMode){case`system`:input.push({role:`system`,content});break;case`developer`:input.push({role:`developer`,content});break;case`remove`:warnings.push({type:`other`,message:`system messages are removed for this model`});break;default:{let _exhaustiveCheck=systemMessageMode;throw Error(`Unsupported system message mode: ${_exhaustiveCheck}`)}}break;case`user`:input.push({role:`user`,content:content.map((part,index)=>{var _a2$2,_b2$1,_c2;switch(part.type){case`text`:return{type:`input_text`,text:part.text};case`file`:if(part.mediaType.startsWith(`image/`)){let mediaType=part.mediaType===`image/*`?`image/jpeg`:part.mediaType;return{type:`input_image`,...part.data instanceof URL?{image_url:part.data.toString()}:typeof part.data==`string`&&isFileId(part.data,fileIdPrefixes)?{file_id:part.data}:{image_url:`data:${mediaType};base64,${convertToBase64(part.data)}`},detail:part.providerOptions?.openai?.imageDetail}}else if(part.mediaType===`application/pdf`)return part.data instanceof URL?{type:`input_file`,file_url:part.data.toString()}:{type:`input_file`,...typeof part.data==`string`&&isFileId(part.data,fileIdPrefixes)?{file_id:part.data}:{filename:part.filename??`part-${index}.pdf`,file_data:`data:application/pdf;base64,${convertToBase64(part.data)}`}};else throw new UnsupportedFunctionalityError({functionality:`file part media type ${part.mediaType}`})}})});break;case`assistant`:{let reasoningMessages={},toolCallParts={};for(let part of content)switch(part.type){case`text`:input.push({role:`assistant`,content:[{type:`output_text`,text:part.text}],id:part.providerOptions?.openai?.itemId??void 0});break;case`tool-call`:if(toolCallParts[part.toolCallId]=part,part.providerExecuted)break;if(hasLocalShellTool&&part.toolName===`local_shell`){let parsedInput=localShellInputSchema.parse(part.input);input.push({type:`local_shell_call`,call_id:part.toolCallId,id:part.providerOptions?.openai?.itemId??void 0,action:{type:`exec`,command:parsedInput.action.command,timeout_ms:parsedInput.action.timeoutMs,user:parsedInput.action.user,working_directory:parsedInput.action.workingDirectory,env:parsedInput.action.env}});break}input.push({type:`function_call`,call_id:part.toolCallId,name:part.toolName,arguments:JSON.stringify(part.input),id:part.providerOptions?.openai?.itemId??void 0});break;case`tool-result`:store?input.push({type:`item_reference`,id:part.toolCallId}):warnings.push({type:`other`,message:`Results for OpenAI tool ${part.toolName} are not sent to the API when store is false`});break;case`reasoning`:{let providerOptions=await parseProviderOptions({provider:`openai`,providerOptions:part.providerOptions,schema:openaiResponsesReasoningProviderOptionsSchema}),reasoningId=providerOptions?.itemId;if(reasoningId!=null){let reasoningMessage=reasoningMessages[reasoningId];if(store)reasoningMessage===void 0&&(input.push({type:`item_reference`,id:reasoningId}),reasoningMessages[reasoningId]={type:`reasoning`,id:reasoningId,summary:[]});else{let summaryParts=[];part.text.length>0?summaryParts.push({type:`summary_text`,text:part.text}):reasoningMessage!==void 0&&warnings.push({type:`other`,message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(part)}.`}),reasoningMessage===void 0?(reasoningMessages[reasoningId]={type:`reasoning`,id:reasoningId,encrypted_content:providerOptions?.reasoningEncryptedContent,summary:summaryParts},input.push(reasoningMessages[reasoningId])):reasoningMessage.summary.push(...summaryParts)}}else warnings.push({type:`other`,message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(part)}.`});break}}break}case`tool`:for(let part of content){let output=part.output;if(hasLocalShellTool&&part.toolName===`local_shell`&&output.type===`json`){input.push({type:`local_shell_call_output`,call_id:part.toolCallId,output:localShellOutputSchema.parse(output.value).output});break}let contentValue;switch(output.type){case`text`:case`error-text`:contentValue=output.value;break;case`content`:case`json`:case`error-json`:contentValue=JSON.stringify(output.value);break}input.push({type:`function_call_output`,call_id:part.toolCallId,output:contentValue})}break;default:{let _exhaustiveCheck=role;throw Error(`Unsupported role: ${_exhaustiveCheck}`)}}return{input,warnings}}var openaiResponsesReasoningProviderOptionsSchema=zod_v4.z.object({itemId:zod_v4.z.string().nullish(),reasoningEncryptedContent:zod_v4.z.string().nullish()});function mapOpenAIResponseFinishReason({finishReason,hasFunctionCall}){switch(finishReason){case void 0:case null:return hasFunctionCall?`tool-calls`:`stop`;case`max_output_tokens`:return`length`;case`content_filter`:return`content-filter`;default:return hasFunctionCall?`tool-calls`:`unknown`}}function prepareResponsesTools({tools:tools$1,toolChoice,strictJsonSchema}){tools$1=tools$1?.length?tools$1:void 0;let toolWarnings=[];if(tools$1==null)return{tools:void 0,toolChoice:void 0,toolWarnings};let openaiTools2=[];for(let tool$1 of tools$1)switch(tool$1.type){case`function`:openaiTools2.push({type:`function`,name:tool$1.name,description:tool$1.description,parameters:tool$1.inputSchema,strict:strictJsonSchema});break;case`provider-defined`:switch(tool$1.id){case`openai.file_search`:{let args=fileSearchArgsSchema.parse(tool$1.args);openaiTools2.push({type:`file_search`,vector_store_ids:args.vectorStoreIds,max_num_results:args.maxNumResults,ranking_options:args.ranking?{ranker:args.ranking.ranker,score_threshold:args.ranking.scoreThreshold}:void 0,filters:args.filters});break}case`openai.local_shell`:openaiTools2.push({type:`local_shell`});break;case`openai.web_search_preview`:{let args=webSearchPreviewArgsSchema.parse(tool$1.args);openaiTools2.push({type:`web_search_preview`,search_context_size:args.searchContextSize,user_location:args.userLocation});break}case`openai.web_search`:{let args=webSearchArgsSchema.parse(tool$1.args);openaiTools2.push({type:`web_search`,filters:args.filters==null?void 0:{allowed_domains:args.filters.allowedDomains},search_context_size:args.searchContextSize,user_location:args.userLocation});break}case`openai.code_interpreter`:{let args=codeInterpreterArgsSchema.parse(tool$1.args);openaiTools2.push({type:`code_interpreter`,container:args.container==null?{type:`auto`,file_ids:void 0}:typeof args.container==`string`?args.container:{type:`auto`,file_ids:args.container.fileIds}});break}case`openai.image_generation`:{let args=imageGenerationArgsSchema.parse(tool$1.args);openaiTools2.push({type:`image_generation`,background:args.background,input_fidelity:args.inputFidelity,input_image_mask:args.inputImageMask?{file_id:args.inputImageMask.fileId,image_url:args.inputImageMask.imageUrl}:void 0,model:args.model,size:args.size,quality:args.quality,moderation:args.moderation,output_format:args.outputFormat,output_compression:args.outputCompression});break}}break;default:toolWarnings.push({type:`unsupported-tool`,tool:tool$1});break}if(toolChoice==null)return{tools:openaiTools2,toolChoice:void 0,toolWarnings};let type=toolChoice.type;switch(type){case`auto`:case`none`:case`required`:return{tools:openaiTools2,toolChoice:type,toolWarnings};case`tool`:return{tools:openaiTools2,toolChoice:toolChoice.toolName===`code_interpreter`||toolChoice.toolName===`file_search`||toolChoice.toolName===`image_generation`||toolChoice.toolName===`web_search_preview`||toolChoice.toolName===`web_search`?{type:toolChoice.toolName}:{type:`function`,name:toolChoice.toolName},toolWarnings};default:throw new UnsupportedFunctionalityError({functionality:`tool choice type: ${type}`})}}var webSearchCallItem=zod_v4.z.object({type:zod_v4.z.literal(`web_search_call`),id:zod_v4.z.string(),status:zod_v4.z.string(),action:zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`search`),query:zod_v4.z.string().nullish()}),zod_v4.z.object({type:zod_v4.z.literal(`open_page`),url:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`find`),url:zod_v4.z.string(),pattern:zod_v4.z.string()})]).nullish()}),fileSearchCallItem=zod_v4.z.object({type:zod_v4.z.literal(`file_search_call`),id:zod_v4.z.string(),queries:zod_v4.z.array(zod_v4.z.string()),results:zod_v4.z.array(zod_v4.z.object({attributes:zod_v4.z.record(zod_v4.z.string(),zod_v4.z.unknown()),file_id:zod_v4.z.string(),filename:zod_v4.z.string(),score:zod_v4.z.number(),text:zod_v4.z.string()})).nullish()}),codeInterpreterCallItem=zod_v4.z.object({type:zod_v4.z.literal(`code_interpreter_call`),id:zod_v4.z.string(),code:zod_v4.z.string().nullable(),container_id:zod_v4.z.string(),outputs:zod_v4.z.array(zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`logs`),logs:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`image`),url:zod_v4.z.string()})])).nullable()}),localShellCallItem=zod_v4.z.object({type:zod_v4.z.literal(`local_shell_call`),id:zod_v4.z.string(),call_id:zod_v4.z.string(),action:zod_v4.z.object({type:zod_v4.z.literal(`exec`),command:zod_v4.z.array(zod_v4.z.string()),timeout_ms:zod_v4.z.number().optional(),user:zod_v4.z.string().optional(),working_directory:zod_v4.z.string().optional(),env:zod_v4.z.record(zod_v4.z.string(),zod_v4.z.string()).optional()})}),imageGenerationCallItem=zod_v4.z.object({type:zod_v4.z.literal(`image_generation_call`),id:zod_v4.z.string(),result:zod_v4.z.string()}),TOP_LOGPROBS_MAX=20,LOGPROBS_SCHEMA=zod_v4.z.array(zod_v4.z.object({token:zod_v4.z.string(),logprob:zod_v4.z.number(),top_logprobs:zod_v4.z.array(zod_v4.z.object({token:zod_v4.z.string(),logprob:zod_v4.z.number()}))})),OpenAIResponsesLanguageModel=class{constructor(modelId,config){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=modelId,this.config=config}get provider(){return this.config.provider}async getArgs({maxOutputTokens,temperature,stopSequences,topP,topK,presencePenalty,frequencyPenalty,seed,prompt,providerOptions,tools:tools$1,toolChoice,responseFormat}){var _a$7,_b$2,_c$1,_d$1;let warnings=[],modelConfig=getResponsesModelConfig(this.modelId);topK!=null&&warnings.push({type:`unsupported-setting`,setting:`topK`}),seed!=null&&warnings.push({type:`unsupported-setting`,setting:`seed`}),presencePenalty!=null&&warnings.push({type:`unsupported-setting`,setting:`presencePenalty`}),frequencyPenalty!=null&&warnings.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),stopSequences!=null&&warnings.push({type:`unsupported-setting`,setting:`stopSequences`});let openaiOptions=await parseProviderOptions({provider:`openai`,providerOptions,schema:openaiResponsesProviderOptionsSchema}),{input,warnings:inputWarnings}=await convertToOpenAIResponsesInput({prompt,systemMessageMode:modelConfig.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:openaiOptions?.store??!0,hasLocalShellTool:hasOpenAITool(`openai.local_shell`)});warnings.push(...inputWarnings);let strictJsonSchema=openaiOptions?.strictJsonSchema??!1,include=openaiOptions?.include;function addInclude(key){include=include==null?[key]:[...include,key]}function hasOpenAITool(id){return tools$1?.find(tool$1=>tool$1.type===`provider-defined`&&tool$1.id===id)!=null}let topLogprobs=typeof openaiOptions?.logprobs==`number`?openaiOptions?.logprobs:openaiOptions?.logprobs===!0?TOP_LOGPROBS_MAX:void 0;topLogprobs&&addInclude(`message.output_text.logprobs`);let webSearchToolName=tools$1?.find(tool$1=>tool$1.type===`provider-defined`&&(tool$1.id===`openai.web_search`||tool$1.id===`openai.web_search_preview`))?.name;webSearchToolName&&addInclude(`web_search_call.action.sources`),hasOpenAITool(`openai.code_interpreter`)&&addInclude(`code_interpreter_call.outputs`);let baseArgs={model:this.modelId,input,temperature,top_p:topP,max_output_tokens:maxOutputTokens,...(responseFormat?.type===`json`||openaiOptions?.textVerbosity)&&{text:{...responseFormat?.type===`json`&&{format:responseFormat.schema==null?{type:`json_object`}:{type:`json_schema`,strict:strictJsonSchema,name:responseFormat.name??`response`,description:responseFormat.description,schema:responseFormat.schema}},...openaiOptions?.textVerbosity&&{verbosity:openaiOptions.textVerbosity}}},max_tool_calls:openaiOptions?.maxToolCalls,metadata:openaiOptions?.metadata,parallel_tool_calls:openaiOptions?.parallelToolCalls,previous_response_id:openaiOptions?.previousResponseId,store:openaiOptions?.store,user:openaiOptions?.user,instructions:openaiOptions?.instructions,service_tier:openaiOptions?.serviceTier,include,prompt_cache_key:openaiOptions?.promptCacheKey,safety_identifier:openaiOptions?.safetyIdentifier,top_logprobs:topLogprobs,...modelConfig.isReasoningModel&&(openaiOptions?.reasoningEffort!=null||openaiOptions?.reasoningSummary!=null)&&{reasoning:{...openaiOptions?.reasoningEffort!=null&&{effort:openaiOptions.reasoningEffort},...openaiOptions?.reasoningSummary!=null&&{summary:openaiOptions.reasoningSummary}}},...modelConfig.requiredAutoTruncation&&{truncation:`auto`}};modelConfig.isReasoningModel?(baseArgs.temperature!=null&&(baseArgs.temperature=void 0,warnings.push({type:`unsupported-setting`,setting:`temperature`,details:`temperature is not supported for reasoning models`})),baseArgs.top_p!=null&&(baseArgs.top_p=void 0,warnings.push({type:`unsupported-setting`,setting:`topP`,details:`topP is not supported for reasoning models`}))):(openaiOptions?.reasoningEffort!=null&&warnings.push({type:`unsupported-setting`,setting:`reasoningEffort`,details:`reasoningEffort is not supported for non-reasoning models`}),openaiOptions?.reasoningSummary!=null&&warnings.push({type:`unsupported-setting`,setting:`reasoningSummary`,details:`reasoningSummary is not supported for non-reasoning models`})),openaiOptions?.serviceTier===`flex`&&!modelConfig.supportsFlexProcessing&&(warnings.push({type:`unsupported-setting`,setting:`serviceTier`,details:`flex processing is only available for o3, o4-mini, and gpt-5 models`}),delete baseArgs.service_tier),openaiOptions?.serviceTier===`priority`&&!modelConfig.supportsPriorityProcessing&&(warnings.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 baseArgs.service_tier);let{tools:openaiTools2,toolChoice:openaiToolChoice,toolWarnings}=prepareResponsesTools({tools:tools$1,toolChoice,strictJsonSchema});return{webSearchToolName,args:{...baseArgs,tools:openaiTools2,tool_choice:openaiToolChoice},warnings:[...warnings,...toolWarnings]}}async doGenerate(options){var _a$7,_b$2,_c$1,_d$1,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s;let{args:body,warnings,webSearchToolName}=await this.getArgs(options),url$2=this.config.url({path:`/responses`,modelId:this.modelId}),{responseHeaders,value:response,rawValue:rawResponse}=await postJsonToApi({url:url$2,headers:combineHeaders(this.config.headers(),options.headers),body,failedResponseHandler:openaiFailedResponseHandler,successfulResponseHandler:createJsonResponseHandler(zod_v4.z.object({id:zod_v4.z.string(),created_at:zod_v4.z.number(),error:zod_v4.z.object({code:zod_v4.z.string(),message:zod_v4.z.string()}).nullish(),model:zod_v4.z.string(),output:zod_v4.z.array(zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`message`),role:zod_v4.z.literal(`assistant`),id:zod_v4.z.string(),content:zod_v4.z.array(zod_v4.z.object({type:zod_v4.z.literal(`output_text`),text:zod_v4.z.string(),logprobs:LOGPROBS_SCHEMA.nullish(),annotations:zod_v4.z.array(zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`url_citation`),start_index:zod_v4.z.number(),end_index:zod_v4.z.number(),url:zod_v4.z.string(),title:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`file_citation`),file_id:zod_v4.z.string(),filename:zod_v4.z.string().nullish(),index:zod_v4.z.number().nullish(),start_index:zod_v4.z.number().nullish(),end_index:zod_v4.z.number().nullish(),quote:zod_v4.z.string().nullish()}),zod_v4.z.object({type:zod_v4.z.literal(`container_file_citation`)})]))}))}),webSearchCallItem,fileSearchCallItem,codeInterpreterCallItem,imageGenerationCallItem,localShellCallItem,zod_v4.z.object({type:zod_v4.z.literal(`function_call`),call_id:zod_v4.z.string(),name:zod_v4.z.string(),arguments:zod_v4.z.string(),id:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`computer_call`),id:zod_v4.z.string(),status:zod_v4.z.string().optional()}),zod_v4.z.object({type:zod_v4.z.literal(`reasoning`),id:zod_v4.z.string(),encrypted_content:zod_v4.z.string().nullish(),summary:zod_v4.z.array(zod_v4.z.object({type:zod_v4.z.literal(`summary_text`),text:zod_v4.z.string()}))})])),service_tier:zod_v4.z.string().nullish(),incomplete_details:zod_v4.z.object({reason:zod_v4.z.string()}).nullish(),usage:usageSchema2})),abortSignal:options.abortSignal,fetch:this.config.fetch});if(response.error)throw new APICallError({message:response.error.message,url:url$2,requestBodyValues:body,statusCode:400,responseHeaders,responseBody:rawResponse,isRetryable:!1});let content=[],logprobs=[],hasFunctionCall=!1;for(let part of response.output)switch(part.type){case`reasoning`:part.summary.length===0&&part.summary.push({type:`summary_text`,text:``});for(let summary of part.summary)content.push({type:`reasoning`,text:summary.text,providerMetadata:{openai:{itemId:part.id,reasoningEncryptedContent:part.encrypted_content??null}}});break;case`image_generation_call`:content.push({type:`tool-call`,toolCallId:part.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}),content.push({type:`tool-result`,toolCallId:part.id,toolName:`image_generation`,result:{result:part.result},providerExecuted:!0});break;case`local_shell_call`:content.push({type:`tool-call`,toolCallId:part.call_id,toolName:`local_shell`,input:JSON.stringify({action:part.action}),providerMetadata:{openai:{itemId:part.id}}});break;case`message`:for(let contentPart of part.content){options.providerOptions?.openai?.logprobs&&contentPart.logprobs&&logprobs.push(contentPart.logprobs),content.push({type:`text`,text:contentPart.text,providerMetadata:{openai:{itemId:part.id}}});for(let annotation of contentPart.annotations)annotation.type===`url_citation`?content.push({type:`source`,sourceType:`url`,id:(_d$1=this.config).generateId?.call(_d$1)??generateId(),url:annotation.url,title:annotation.title}):annotation.type===`file_citation`&&content.push({type:`source`,sourceType:`document`,id:(_g=this.config).generateId?.call(_g)??generateId(),mediaType:`text/plain`,title:annotation.quote??annotation.filename??`Document`,filename:annotation.filename??annotation.file_id})}break;case`function_call`:hasFunctionCall=!0,content.push({type:`tool-call`,toolCallId:part.call_id,toolName:part.name,input:part.arguments,providerMetadata:{openai:{itemId:part.id}}});break;case`web_search_call`:content.push({type:`tool-call`,toolCallId:part.id,toolName:webSearchToolName??`web_search`,input:JSON.stringify({action:part.action}),providerExecuted:!0}),content.push({type:`tool-result`,toolCallId:part.id,toolName:webSearchToolName??`web_search`,result:{status:part.status},providerExecuted:!0});break;case`computer_call`:content.push({type:`tool-call`,toolCallId:part.id,toolName:`computer_use`,input:``,providerExecuted:!0}),content.push({type:`tool-result`,toolCallId:part.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:part.status||`completed`},providerExecuted:!0});break;case`file_search_call`:content.push({type:`tool-call`,toolCallId:part.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}),content.push({type:`tool-result`,toolCallId:part.id,toolName:`file_search`,result:{queries:part.queries,results:part.results?.map(result=>({attributes:result.attributes,fileId:result.file_id,filename:result.filename,score:result.score,text:result.text}))??null},providerExecuted:!0});break;case`code_interpreter_call`:content.push({type:`tool-call`,toolCallId:part.id,toolName:`code_interpreter`,input:JSON.stringify({code:part.code,containerId:part.container_id}),providerExecuted:!0}),content.push({type:`tool-result`,toolCallId:part.id,toolName:`code_interpreter`,result:{outputs:part.outputs},providerExecuted:!0});break}let providerMetadata={openai:{responseId:response.id}};return logprobs.length>0&&(providerMetadata.openai.logprobs=logprobs),typeof response.service_tier==`string`&&(providerMetadata.openai.serviceTier=response.service_tier),{content,finishReason:mapOpenAIResponseFinishReason({finishReason:response.incomplete_details?.reason,hasFunctionCall}),usage:{inputTokens:response.usage.input_tokens,outputTokens:response.usage.output_tokens,totalTokens:response.usage.input_tokens+response.usage.output_tokens,reasoningTokens:response.usage.output_tokens_details?.reasoning_tokens??void 0,cachedInputTokens:response.usage.input_tokens_details?.cached_tokens??void 0},request:{body},response:{id:response.id,timestamp:new Date(response.created_at*1e3),modelId:response.model,headers:responseHeaders,body:rawResponse},providerMetadata,warnings}}async doStream(options){let{args:body,warnings,webSearchToolName}=await this.getArgs(options),{responseHeaders,value:response}=await postJsonToApi({url:this.config.url({path:`/responses`,modelId:this.modelId}),headers:combineHeaders(this.config.headers(),options.headers),body:{...body,stream:!0},failedResponseHandler:openaiFailedResponseHandler,successfulResponseHandler:createEventSourceResponseHandler(openaiResponsesChunkSchema),abortSignal:options.abortSignal,fetch:this.config.fetch}),self$1=this,finishReason=`unknown`,usage={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},logprobs=[],responseId=null,ongoingToolCalls={},hasFunctionCall=!1,activeReasoning={},serviceTier;return{stream:response.pipeThrough(new TransformStream({start(controller){controller.enqueue({type:`stream-start`,warnings})},transform(chunk,controller){var _a$7,_b$2,_c$1,_d$1,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s,_t,_u,_v,_w;if(options.includeRawChunks&&controller.enqueue({type:`raw`,rawValue:chunk.rawValue}),!chunk.success){finishReason=`error`,controller.enqueue({type:`error`,error:chunk.error});return}let value=chunk.value;if(isResponseOutputItemAddedChunk(value))value.item.type===`function_call`?(ongoingToolCalls[value.output_index]={toolName:value.item.name,toolCallId:value.item.call_id},controller.enqueue({type:`tool-input-start`,id:value.item.call_id,toolName:value.item.name})):value.item.type===`web_search_call`?(ongoingToolCalls[value.output_index]={toolName:webSearchToolName??`web_search`,toolCallId:value.item.id},controller.enqueue({type:`tool-input-start`,id:value.item.id,toolName:webSearchToolName??`web_search`})):value.item.type===`computer_call`?(ongoingToolCalls[value.output_index]={toolName:`computer_use`,toolCallId:value.item.id},controller.enqueue({type:`tool-input-start`,id:value.item.id,toolName:`computer_use`})):value.item.type===`code_interpreter_call`?(ongoingToolCalls[value.output_index]={toolName:`code_interpreter`,toolCallId:value.item.id,codeInterpreter:{containerId:value.item.container_id}},controller.enqueue({type:`tool-input-start`,id:value.item.id,toolName:`code_interpreter`}),controller.enqueue({type:`tool-input-delta`,id:value.item.id,delta:`{"containerId":"${value.item.container_id}","code":"`})):value.item.type===`file_search_call`?controller.enqueue({type:`tool-call`,toolCallId:value.item.id,toolName:`file_search`,input:`{}`,providerExecuted:!0}):value.item.type===`image_generation_call`?controller.enqueue({type:`tool-call`,toolCallId:value.item.id,toolName:`image_generation`,input:`{}`,providerExecuted:!0}):value.item.type===`message`?controller.enqueue({type:`text-start`,id:value.item.id,providerMetadata:{openai:{itemId:value.item.id}}}):isResponseOutputItemAddedReasoningChunk(value)&&(activeReasoning[value.item.id]={encryptedContent:value.item.encrypted_content,summaryParts:[0]},controller.enqueue({type:`reasoning-start`,id:`${value.item.id}:0`,providerMetadata:{openai:{itemId:value.item.id,reasoningEncryptedContent:value.item.encrypted_content??null}}}));else if(isResponseOutputItemDoneChunk(value)){if(value.item.type===`function_call`)ongoingToolCalls[value.output_index]=void 0,hasFunctionCall=!0,controller.enqueue({type:`tool-input-end`,id:value.item.call_id}),controller.enqueue({type:`tool-call`,toolCallId:value.item.call_id,toolName:value.item.name,input:value.item.arguments,providerMetadata:{openai:{itemId:value.item.id}}});else if(value.item.type===`web_search_call`)ongoingToolCalls[value.output_index]=void 0,controller.enqueue({type:`tool-input-end`,id:value.item.id}),controller.enqueue({type:`tool-call`,toolCallId:value.item.id,toolName:`web_search`,input:JSON.stringify({action:value.item.action}),providerExecuted:!0}),controller.enqueue({type:`tool-result`,toolCallId:value.item.id,toolName:`web_search`,result:{status:value.item.status},providerExecuted:!0});else if(value.item.type===`computer_call`)ongoingToolCalls[value.output_index]=void 0,controller.enqueue({type:`tool-input-end`,id:value.item.id}),controller.enqueue({type:`tool-call`,toolCallId:value.item.id,toolName:`computer_use`,input:``,providerExecuted:!0}),controller.enqueue({type:`tool-result`,toolCallId:value.item.id,toolName:`computer_use`,result:{type:`computer_use_tool_result`,status:value.item.status||`completed`},providerExecuted:!0});else if(value.item.type===`file_search_call`)ongoingToolCalls[value.output_index]=void 0,controller.enqueue({type:`tool-result`,toolCallId:value.item.id,toolName:`file_search`,result:{queries:value.item.queries,results:value.item.results?.map(result=>({attributes:result.attributes,fileId:result.file_id,filename:result.filename,score:result.score,text:result.text}))??null},providerExecuted:!0});else if(value.item.type===`code_interpreter_call`)ongoingToolCalls[value.output_index]=void 0,controller.enqueue({type:`tool-result`,toolCallId:value.item.id,toolName:`code_interpreter`,result:{outputs:value.item.outputs},providerExecuted:!0});else if(value.item.type===`image_generation_call`)controller.enqueue({type:`tool-result`,toolCallId:value.item.id,toolName:`image_generation`,result:{result:value.item.result},providerExecuted:!0});else if(value.item.type===`local_shell_call`)ongoingToolCalls[value.output_index]=void 0,controller.enqueue({type:`tool-call`,toolCallId:value.item.call_id,toolName:`local_shell`,input:JSON.stringify({action:{type:`exec`,command:value.item.action.command,timeoutMs:value.item.action.timeout_ms,user:value.item.action.user,workingDirectory:value.item.action.working_directory,env:value.item.action.env}}),providerMetadata:{openai:{itemId:value.item.id}}});else if(value.item.type===`message`)controller.enqueue({type:`text-end`,id:value.item.id});else if(isResponseOutputItemDoneReasoningChunk(value)){let activeReasoningPart=activeReasoning[value.item.id];for(let summaryIndex of activeReasoningPart.summaryParts)controller.enqueue({type:`reasoning-end`,id:`${value.item.id}:${summaryIndex}`,providerMetadata:{openai:{itemId:value.item.id,reasoningEncryptedContent:value.item.encrypted_content??null}}});delete activeReasoning[value.item.id]}}else if(isResponseFunctionCallArgumentsDeltaChunk(value)){let toolCall=ongoingToolCalls[value.output_index];toolCall!=null&&controller.enqueue({type:`tool-input-delta`,id:toolCall.toolCallId,delta:value.delta})}else if(isResponseCodeInterpreterCallCodeDeltaChunk(value)){let toolCall=ongoingToolCalls[value.output_index];toolCall!=null&&controller.enqueue({type:`tool-input-delta`,id:toolCall.toolCallId,delta:JSON.stringify(value.delta).slice(1,-1)})}else if(isResponseCodeInterpreterCallCodeDoneChunk(value)){let toolCall=ongoingToolCalls[value.output_index];toolCall!=null&&(controller.enqueue({type:`tool-input-delta`,id:toolCall.toolCallId,delta:`"}`}),controller.enqueue({type:`tool-input-end`,id:toolCall.toolCallId}),controller.enqueue({type:`tool-call`,toolCallId:toolCall.toolCallId,toolName:`code_interpreter`,input:JSON.stringify({code:value.code,containerId:toolCall.codeInterpreter.containerId}),providerExecuted:!0}))}else isResponseCreatedChunk(value)?(responseId=value.response.id,controller.enqueue({type:`response-metadata`,id:value.response.id,timestamp:new Date(value.response.created_at*1e3),modelId:value.response.model})):isTextDeltaChunk(value)?(controller.enqueue({type:`text-delta`,id:value.item_id,delta:value.delta}),options.providerOptions?.openai?.logprobs&&value.logprobs&&logprobs.push(value.logprobs)):isResponseReasoningSummaryPartAddedChunk(value)?value.summary_index>0&&((_g=activeReasoning[value.item_id])==null||_g.summaryParts.push(value.summary_index),controller.enqueue({type:`reasoning-start`,id:`${value.item_id}:${value.summary_index}`,providerMetadata:{openai:{itemId:value.item_id,reasoningEncryptedContent:activeReasoning[value.item_id]?.encryptedContent??null}}})):isResponseReasoningSummaryTextDeltaChunk(value)?controller.enqueue({type:`reasoning-delta`,id:`${value.item_id}:${value.summary_index}`,delta:value.delta,providerMetadata:{openai:{itemId:value.item_id}}}):isResponseFinishedChunk(value)?(finishReason=mapOpenAIResponseFinishReason({finishReason:value.response.incomplete_details?.reason,hasFunctionCall}),usage.inputTokens=value.response.usage.input_tokens,usage.outputTokens=value.response.usage.output_tokens,usage.totalTokens=value.response.usage.input_tokens+value.response.usage.output_tokens,usage.reasoningTokens=value.response.usage.output_tokens_details?.reasoning_tokens??void 0,usage.cachedInputTokens=value.response.usage.input_tokens_details?.cached_tokens??void 0,typeof value.response.service_tier==`string`&&(serviceTier=value.response.service_tier)):isResponseAnnotationAddedChunk(value)?value.annotation.type===`url_citation`?controller.enqueue({type:`source`,sourceType:`url`,id:(_o=self$1.config).generateId?.call(_o)??generateId(),url:value.annotation.url,title:value.annotation.title}):value.annotation.type===`file_citation`&&controller.enqueue({type:`source`,sourceType:`document`,id:(_r=self$1.config).generateId?.call(_r)??generateId(),mediaType:`text/plain`,title:value.annotation.quote??value.annotation.filename??`Document`,filename:value.annotation.filename??value.annotation.file_id}):isErrorChunk(value)&&controller.enqueue({type:`error`,error:value})},flush(controller){let providerMetadata={openai:{responseId}};logprobs.length>0&&(providerMetadata.openai.logprobs=logprobs),serviceTier!==void 0&&(providerMetadata.openai.serviceTier=serviceTier),controller.enqueue({type:`finish`,finishReason,usage,providerMetadata})}})),request:{body},response:{headers:responseHeaders}}}},usageSchema2=zod_v4.z.object({input_tokens:zod_v4.z.number(),input_tokens_details:zod_v4.z.object({cached_tokens:zod_v4.z.number().nullish()}).nullish(),output_tokens:zod_v4.z.number(),output_tokens_details:zod_v4.z.object({reasoning_tokens:zod_v4.z.number().nullish()}).nullish()}),textDeltaChunkSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.output_text.delta`),item_id:zod_v4.z.string(),delta:zod_v4.z.string(),logprobs:LOGPROBS_SCHEMA.nullish()}),errorChunkSchema=zod_v4.z.object({type:zod_v4.z.literal(`error`),code:zod_v4.z.string(),message:zod_v4.z.string(),param:zod_v4.z.string().nullish(),sequence_number:zod_v4.z.number()}),responseFinishedChunkSchema=zod_v4.z.object({type:zod_v4.z.enum([`response.completed`,`response.incomplete`]),response:zod_v4.z.object({incomplete_details:zod_v4.z.object({reason:zod_v4.z.string()}).nullish(),usage:usageSchema2,service_tier:zod_v4.z.string().nullish()})}),responseCreatedChunkSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.created`),response:zod_v4.z.object({id:zod_v4.z.string(),created_at:zod_v4.z.number(),model:zod_v4.z.string(),service_tier:zod_v4.z.string().nullish()})}),responseOutputItemAddedSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.output_item.added`),output_index:zod_v4.z.number(),item:zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`message`),id:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`reasoning`),id:zod_v4.z.string(),encrypted_content:zod_v4.z.string().nullish()}),zod_v4.z.object({type:zod_v4.z.literal(`function_call`),id:zod_v4.z.string(),call_id:zod_v4.z.string(),name:zod_v4.z.string(),arguments:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`web_search_call`),id:zod_v4.z.string(),status:zod_v4.z.string(),action:zod_v4.z.object({type:zod_v4.z.literal(`search`),query:zod_v4.z.string().optional()}).nullish()}),zod_v4.z.object({type:zod_v4.z.literal(`computer_call`),id:zod_v4.z.string(),status:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`file_search_call`),id:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`image_generation_call`),id:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`code_interpreter_call`),id:zod_v4.z.string(),container_id:zod_v4.z.string(),code:zod_v4.z.string().nullable(),outputs:zod_v4.z.array(zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`logs`),logs:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`image`),url:zod_v4.z.string()})])).nullable(),status:zod_v4.z.string()})])}),responseOutputItemDoneSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.output_item.done`),output_index:zod_v4.z.number(),item:zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`message`),id:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`reasoning`),id:zod_v4.z.string(),encrypted_content:zod_v4.z.string().nullish()}),zod_v4.z.object({type:zod_v4.z.literal(`function_call`),id:zod_v4.z.string(),call_id:zod_v4.z.string(),name:zod_v4.z.string(),arguments:zod_v4.z.string(),status:zod_v4.z.literal(`completed`)}),codeInterpreterCallItem,imageGenerationCallItem,webSearchCallItem,fileSearchCallItem,localShellCallItem,zod_v4.z.object({type:zod_v4.z.literal(`computer_call`),id:zod_v4.z.string(),status:zod_v4.z.literal(`completed`)})])}),responseFunctionCallArgumentsDeltaSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.function_call_arguments.delta`),item_id:zod_v4.z.string(),output_index:zod_v4.z.number(),delta:zod_v4.z.string()}),responseCodeInterpreterCallCodeDeltaSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.code_interpreter_call_code.delta`),item_id:zod_v4.z.string(),output_index:zod_v4.z.number(),delta:zod_v4.z.string()}),responseCodeInterpreterCallCodeDoneSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.code_interpreter_call_code.done`),item_id:zod_v4.z.string(),output_index:zod_v4.z.number(),code:zod_v4.z.string()}),responseAnnotationAddedSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.output_text.annotation.added`),annotation:zod_v4.z.discriminatedUnion(`type`,[zod_v4.z.object({type:zod_v4.z.literal(`url_citation`),url:zod_v4.z.string(),title:zod_v4.z.string()}),zod_v4.z.object({type:zod_v4.z.literal(`file_citation`),file_id:zod_v4.z.string(),filename:zod_v4.z.string().nullish(),index:zod_v4.z.number().nullish(),start_index:zod_v4.z.number().nullish(),end_index:zod_v4.z.number().nullish(),quote:zod_v4.z.string().nullish()})])}),responseReasoningSummaryPartAddedSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.reasoning_summary_part.added`),item_id:zod_v4.z.string(),summary_index:zod_v4.z.number()}),responseReasoningSummaryTextDeltaSchema=zod_v4.z.object({type:zod_v4.z.literal(`response.reasoning_summary_text.delta`),item_id:zod_v4.z.string(),summary_index:zod_v4.z.number(),delta:zod_v4.z.string()}),openaiResponsesChunkSchema=zod_v4.z.union([textDeltaChunkSchema,responseFinishedChunkSchema,responseCreatedChunkSchema,responseOutputItemAddedSchema,responseOutputItemDoneSchema,responseFunctionCallArgumentsDeltaSchema,responseCodeInterpreterCallCodeDeltaSchema,responseCodeInterpreterCallCodeDoneSchema,responseAnnotationAddedSchema,responseReasoningSummaryPartAddedSchema,responseReasoningSummaryTextDeltaSchema,errorChunkSchema,zod_v4.z.object({type:zod_v4.z.string()}).loose()]);function isTextDeltaChunk(chunk){return chunk.type===`response.output_text.delta`}function isResponseOutputItemDoneChunk(chunk){return chunk.type===`response.output_item.done`}function isResponseOutputItemDoneReasoningChunk(chunk){return isResponseOutputItemDoneChunk(chunk)&&chunk.item.type===`reasoning`}function isResponseFinishedChunk(chunk){return chunk.type===`response.completed`||chunk.type===`response.incomplete`}function isResponseCreatedChunk(chunk){return chunk.type===`response.created`}function isResponseFunctionCallArgumentsDeltaChunk(chunk){return chunk.type===`response.function_call_arguments.delta`}function isResponseCodeInterpreterCallCodeDeltaChunk(chunk){return chunk.type===`response.code_interpreter_call_code.delta`}function isResponseCodeInterpreterCallCodeDoneChunk(chunk){return chunk.type===`response.code_interpreter_call_code.done`}function isResponseOutputItemAddedChunk(chunk){return chunk.type===`response.output_item.added`}function isResponseOutputItemAddedReasoningChunk(chunk){return isResponseOutputItemAddedChunk(chunk)&&chunk.item.type===`reasoning`}function isResponseAnnotationAddedChunk(chunk){return chunk.type===`response.output_text.annotation.added`}function isResponseReasoningSummaryPartAddedChunk(chunk){return chunk.type===`response.reasoning_summary_part.added`}function isResponseReasoningSummaryTextDeltaChunk(chunk){return chunk.type===`response.reasoning_summary_text.delta`}function isErrorChunk(chunk){return chunk.type===`error`}function getResponsesModelConfig(modelId){let supportsFlexProcessing2=modelId.startsWith(`o3`)||modelId.startsWith(`o4-mini`)||modelId.startsWith(`gpt-5`)&&!modelId.startsWith(`gpt-5-chat`),supportsPriorityProcessing2=modelId.startsWith(`gpt-4`)||modelId.startsWith(`gpt-5-mini`)||modelId.startsWith(`gpt-5`)&&!modelId.startsWith(`gpt-5-nano`)&&!modelId.startsWith(`gpt-5-chat`)||modelId.startsWith(`o3`)||modelId.startsWith(`o4-mini`),defaults={requiredAutoTruncation:!1,systemMessageMode:`system`,supportsFlexProcessing:supportsFlexProcessing2,supportsPriorityProcessing:supportsPriorityProcessing2};return modelId.startsWith(`gpt-5-chat`)?{...defaults,isReasoningModel:!1}:modelId.startsWith(`o`)||modelId.startsWith(`gpt-5`)||modelId.startsWith(`codex-`)||modelId.startsWith(`computer-use`)?modelId.startsWith(`o1-mini`)||modelId.startsWith(`o1-preview`)?{...defaults,isReasoningModel:!0,systemMessageMode:`remove`}:{...defaults,isReasoningModel:!0,systemMessageMode:`developer`}:{...defaults,isReasoningModel:!1}}var openaiResponsesProviderOptionsSchema=zod_v4.z.object({include:zod_v4.z.array(zod_v4.z.enum([`reasoning.encrypted_content`,`file_search_call.results`,`message.output_text.logprobs`])).nullish(),instructions:zod_v4.z.string().nullish(),logprobs:zod_v4.z.union([zod_v4.z.boolean(),zod_v4.z.number().min(1).max(TOP_LOGPROBS_MAX)]).optional(),maxToolCalls:zod_v4.z.number().nullish(),metadata:zod_v4.z.any().nullish(),parallelToolCalls:zod_v4.z.boolean().nullish(),previousResponseId:zod_v4.z.string().nullish(),promptCacheKey:zod_v4.z.string().nullish(),reasoningEffort:zod_v4.z.string().nullish(),reasoningSummary:zod_v4.z.string().nullish(),safetyIdentifier:zod_v4.z.string().nullish(),serviceTier:zod_v4.z.enum([`auto`,`flex`,`priority`]).nullish(),store:zod_v4.z.boolean().nullish(),strictJsonSchema:zod_v4.z.boolean().nullish(),textVerbosity:zod_v4.z.enum([`low`,`medium`,`high`]).nullish(),user:zod_v4.z.string().nullish()}),OpenAIProviderOptionsSchema=zod_v4.z.object({instructions:zod_v4.z.string().nullish(),speed:zod_v4.z.number().min(.25).max(4).default(1).nullish()}),OpenAISpeechModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({text,voice=`alloy`,outputFormat=`mp3`,speed,instructions,language,providerOptions}){let warnings=[],openAIOptions=await parseProviderOptions({provider:`openai`,providerOptions,schema:OpenAIProviderOptionsSchema}),requestBody={model:this.modelId,input:text,voice,response_format:`mp3`,speed,instructions};if(outputFormat&&([`mp3`,`opus`,`aac`,`flac`,`wav`,`pcm`].includes(outputFormat)?requestBody.response_format=outputFormat:warnings.push({type:`unsupported-setting`,setting:`outputFormat`,details:`Unsupported output format: ${outputFormat}. Using mp3 instead.`})),openAIOptions){let speechModelOptions={};for(let key in speechModelOptions){let value=speechModelOptions[key];value!==void 0&&(requestBody[key]=value)}}return language&&warnings.push({type:`unsupported-setting`,setting:`language`,details:`OpenAI speech models do not support language selection. Language parameter "${language}" was ignored.`}),{requestBody,warnings}}async doGenerate(options){var _a$7,_b$2,_c$1;let currentDate=((_a$7=this.config._internal)?.currentDate)?.call(_a$7)??new Date,{requestBody,warnings}=await this.getArgs(options),{value:audio,responseHeaders,rawValue:rawResponse}=await postJsonToApi({url:this.config.url({path:`/audio/speech`,modelId:this.modelId}),headers:combineHeaders(this.config.headers(),options.headers),body:requestBody,failedResponseHandler:openaiFailedResponseHandler,successfulResponseHandler:createBinaryResponseHandler(),abortSignal:options.abortSignal,fetch:this.config.fetch});return{audio,warnings,request:{body:JSON.stringify(requestBody)},response:{timestamp:currentDate,modelId:this.modelId,headers:responseHeaders,body:rawResponse}}}},openAITranscriptionProviderOptions=zod_v4.z.object({include:zod_v4.z.array(zod_v4.z.string()).optional(),language:zod_v4.z.string().optional(),prompt:zod_v4.z.string().optional(),temperature:zod_v4.z.number().min(0).max(1).default(0).optional(),timestampGranularities:zod_v4.z.array(zod_v4.z.enum([`word`,`segment`])).default([`segment`]).optional()}),languageMap={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`},OpenAITranscriptionModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`}get provider(){return this.config.provider}async getArgs({audio,mediaType,providerOptions}){let warnings=[],openAIOptions=await parseProviderOptions({provider:`openai`,providerOptions,schema:openAITranscriptionProviderOptions}),formData=new FormData,blob=audio instanceof Uint8Array?new Blob([audio]):new Blob([convertBase64ToUint8Array(audio)]);formData.append(`model`,this.modelId);let fileExtension=mediaTypeToExtension(mediaType);if(formData.append(`file`,new File([blob],`audio`,{type:mediaType}),`audio.${fileExtension}`),openAIOptions){let transcriptionModelOptions={include:openAIOptions.include,language:openAIOptions.language,prompt:openAIOptions.prompt,response_format:[`gpt-4o-transcribe`,`gpt-4o-mini-transcribe`].includes(this.modelId)?`json`:`verbose_json`,temperature:openAIOptions.temperature,timestamp_granularities:openAIOptions.timestampGranularities};for(let[key,value]of Object.entries(transcriptionModelOptions))if(value!=null)if(Array.isArray(value))for(let item of value)formData.append(`${key}[]`,String(item));else formData.append(key,String(value))}return{formData,warnings}}async doGenerate(options){var _a$7,_b$2,_c$1,_d$1,_e,_f,_g,_h;let currentDate=((_a$7=this.config._internal)?.currentDate)?.call(_a$7)??new Date,{formData,warnings}=await this.getArgs(options),{value:response,responseHeaders,rawValue:rawResponse}=await postFormDataToApi({url:this.config.url({path:`/audio/transcriptions`,modelId:this.modelId}),headers:combineHeaders(this.config.headers(),options.headers),formData,failedResponseHandler:openaiFailedResponseHandler,successfulResponseHandler:createJsonResponseHandler(openaiTranscriptionResponseSchema),abortSignal:options.abortSignal,fetch:this.config.fetch}),language=response.language!=null&&response.language in languageMap?languageMap[response.language]:void 0;return{text:response.text,segments:response.segments?.map(segment=>({text:segment.text,startSecond:segment.start,endSecond:segment.end}))??response.words?.map(word=>({text:word.word,startSecond:word.start,endSecond:word.end}))??[],language,durationInSeconds:response.duration??void 0,warnings,response:{timestamp:currentDate,modelId:this.modelId,headers:responseHeaders,body:rawResponse}}}},openaiTranscriptionResponseSchema=zod_v4.z.object({text:zod_v4.z.string(),language:zod_v4.z.string().nullish(),duration:zod_v4.z.number().nullish(),words:zod_v4.z.array(zod_v4.z.object({word:zod_v4.z.string(),start:zod_v4.z.number(),end:zod_v4.z.number()})).nullish(),segments:zod_v4.z.array(zod_v4.z.object({id:zod_v4.z.number(),seek:zod_v4.z.number(),start:zod_v4.z.number(),end:zod_v4.z.number(),text:zod_v4.z.string(),tokens:zod_v4.z.array(zod_v4.z.number()),temperature:zod_v4.z.number(),avg_logprob:zod_v4.z.number(),compression_ratio:zod_v4.z.number(),no_speech_prob:zod_v4.z.number()})).nullish()}),VERSION$1=`2.0.42`;function createOpenAI(options={}){var _a$7,_b$2;let baseURL=withoutTrailingSlash(loadOptionalSetting({settingValue:options.baseURL,environmentVariableName:`OPENAI_BASE_URL`}))??`https://api.openai.com/v1`,providerName=options.name??`openai`,getHeaders$1=()=>withUserAgentSuffix({Authorization:`Bearer ${loadApiKey({apiKey:options.apiKey,environmentVariableName:`OPENAI_API_KEY`,description:`OpenAI`})}`,"OpenAI-Organization":options.organization,"OpenAI-Project":options.project,...options.headers},`ai-sdk/openai/${VERSION$1}`),createChatModel=modelId=>new OpenAIChatLanguageModel(modelId,{provider:`${providerName}.chat`,url:({path:path$13})=>`${baseURL}${path$13}`,headers:getHeaders$1,fetch:options.fetch}),createCompletionModel=modelId=>new OpenAICompletionLanguageModel(modelId,{provider:`${providerName}.completion`,url:({path:path$13})=>`${baseURL}${path$13}`,headers:getHeaders$1,fetch:options.fetch}),createEmbeddingModel=modelId=>new OpenAIEmbeddingModel(modelId,{provider:`${providerName}.embedding`,url:({path:path$13})=>`${baseURL}${path$13}`,headers:getHeaders$1,fetch:options.fetch}),createImageModel=modelId=>new OpenAIImageModel(modelId,{provider:`${providerName}.image`,url:({path:path$13})=>`${baseURL}${path$13}`,headers:getHeaders$1,fetch:options.fetch}),createTranscriptionModel=modelId=>new OpenAITranscriptionModel(modelId,{provider:`${providerName}.transcription`,url:({path:path$13})=>`${baseURL}${path$13}`,headers:getHeaders$1,fetch:options.fetch}),createSpeechModel=modelId=>new OpenAISpeechModel(modelId,{provider:`${providerName}.speech`,url:({path:path$13})=>`${baseURL}${path$13}`,headers:getHeaders$1,fetch:options.fetch}),createLanguageModel=modelId=>{if(new.target)throw Error(`The OpenAI model function cannot be called with the new keyword.`);return createResponsesModel(modelId)},createResponsesModel=modelId=>new OpenAIResponsesLanguageModel(modelId,{provider:`${providerName}.responses`,url:({path:path$13})=>`${baseURL}${path$13}`,headers:getHeaders$1,fetch:options.fetch,fileIdPrefixes:[`file-`]}),provider=function(modelId){return createLanguageModel(modelId)};return provider.languageModel=createLanguageModel,provider.chat=createChatModel,provider.completion=createCompletionModel,provider.responses=createResponsesModel,provider.embedding=createEmbeddingModel,provider.textEmbedding=createEmbeddingModel,provider.textEmbeddingModel=createEmbeddingModel,provider.image=createImageModel,provider.imageModel=createImageModel,provider.transcription=createTranscriptionModel,provider.transcriptionModel=createTranscriptionModel,provider.speech=createSpeechModel,provider.speechModel=createSpeechModel,provider.tools=openaiTools,provider}var openai=createOpenAI(),openaiCompatibleProviderOptions=zod_v4.z.object({user:zod_v4.z.string().optional(),reasoningEffort:zod_v4.z.string().optional()}),defaultOpenAICompatibleErrorStructure={errorSchema:zod_v4.z.object({error:zod_v4.z.object({message:zod_v4.z.string(),type:zod_v4.z.string().nullish(),param:zod_v4.z.any().nullish(),code:zod_v4.z.union([zod_v4.z.string(),zod_v4.z.number()]).nullish()})}),errorToMessage:data$2=>data$2.error.message},openaiCompatibleTokenUsageSchema=zod_v4.z.object({prompt_tokens:zod_v4.z.number().nullish(),completion_tokens:zod_v4.z.number().nullish(),total_tokens:zod_v4.z.number().nullish(),prompt_tokens_details:zod_v4.z.object({cached_tokens:zod_v4.z.number().nullish()}).nullish(),completion_tokens_details:zod_v4.z.object({reasoning_tokens:zod_v4.z.number().nullish(),accepted_prediction_tokens:zod_v4.z.number().nullish(),rejected_prediction_tokens:zod_v4.z.number().nullish()}).nullish()}).nullish(),OpenAICompatibleChatResponseSchema=zod_v4.z.object({id:zod_v4.z.string().nullish(),created:zod_v4.z.number().nullish(),model:zod_v4.z.string().nullish(),choices:zod_v4.z.array(zod_v4.z.object({message:zod_v4.z.object({role:zod_v4.z.literal(`assistant`).nullish(),content:zod_v4.z.string().nullish(),reasoning_content:zod_v4.z.string().nullish(),reasoning:zod_v4.z.string().nullish(),tool_calls:zod_v4.z.array(zod_v4.z.object({id:zod_v4.z.string().nullish(),function:zod_v4.z.object({name:zod_v4.z.string(),arguments:zod_v4.z.string()})})).nullish()}),finish_reason:zod_v4.z.string().nullish()})),usage:openaiCompatibleTokenUsageSchema}),openaiCompatibleCompletionProviderOptions=zod_v4.z.object({echo:zod_v4.z.boolean().optional(),logitBias:zod_v4.z.record(zod_v4.z.string(),zod_v4.z.number()).optional(),suffix:zod_v4.z.string().optional(),user:zod_v4.z.string().optional()}),usageSchema=zod_v4.z.object({prompt_tokens:zod_v4.z.number(),completion_tokens:zod_v4.z.number(),total_tokens:zod_v4.z.number()}),openaiCompatibleCompletionResponseSchema=zod_v4.z.object({id:zod_v4.z.string().nullish(),created:zod_v4.z.number().nullish(),model:zod_v4.z.string().nullish(),choices:zod_v4.z.array(zod_v4.z.object({text:zod_v4.z.string(),finish_reason:zod_v4.z.string()})),usage:usageSchema.nullish()}),openaiCompatibleEmbeddingProviderOptions=zod_v4.z.object({dimensions:zod_v4.z.number().optional(),user:zod_v4.z.string().optional()}),openaiTextEmbeddingResponseSchema=zod_v4.z.object({data:zod_v4.z.array(zod_v4.z.object({embedding:zod_v4.z.array(zod_v4.z.number())})),usage:zod_v4.z.object({prompt_tokens:zod_v4.z.number()}).nullish(),providerMetadata:zod_v4.z.record(zod_v4.z.string(),zod_v4.z.record(zod_v4.z.string(),zod_v4.z.any())).optional()}),OpenAICompatibleImageModel=class{constructor(modelId,config){this.modelId=modelId,this.config=config,this.specificationVersion=`v2`,this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt,n,size,aspectRatio,seed,providerOptions,headers,abortSignal}){var _a$7,_b$2,_c$1,_d$1,_e;let warnings=[];aspectRatio!=null&&warnings.push({type:`unsupported-setting`,setting:`aspectRatio`,details:"This model does not support aspect ratio. Use `size` instead."}),seed!=null&&warnings.push({type:`unsupported-setting`,setting:`seed`});let currentDate=((_a$7=this.config._internal)?.currentDate)?.call(_a$7)??new Date,{value:response,responseHeaders}=await postJsonToApi({url:this.config.url({path:`/images/generations`,modelId:this.modelId}),headers:combineHeaders(this.config.headers(),headers),body:{model:this.modelId,prompt,n,size,...providerOptions.openai??{},response_format:`b64_json`},failedResponseHandler:createJsonErrorResponseHandler(this.config.errorStructure??defaultOpenAICompatibleErrorStructure),successfulResponseHandler:createJsonResponseHandler(openaiCompatibleImageResponseSchema),abortSignal,fetch:this.config.fetch});return{images:response.data.map(item=>item.b64_json),warnings,response:{timestamp:currentDate,modelId:this.modelId,headers:responseHeaders}}}},openaiCompatibleImageResponseSchema=zod_v4.z.object({data:zod_v4.z.array(zod_v4.z.object({b64_json:zod_v4.z.string()}))});function convertToXaiChatMessages(prompt){let messages=[],warnings=[];for(let{role,content}of prompt)switch(role){case`system`:messages.push({role:`system`,content});break;case`user`:if(content.length===1&&content[0].type===`text`){messages.push({role:`user`,content:content[0].text});break}messages.push({role:`user`,content:content.map(part=>{switch(part.type){case`text`:return{type:`text`,text:part.text};case`file`:if(part.mediaType.startsWith(`image/`)){let mediaType=part.mediaType===`image/*`?`image/jpeg`:part.mediaType;return{type:`image_url`,image_url:{url:part.data instanceof URL?part.data.toString():`data:${mediaType};base64,${convertToBase64(part.data)}`}}}else throw new UnsupportedFunctionalityError({functionality:`file part media type ${part.mediaType}`})}})});break;case`assistant`:{let text=``,toolCalls=[];for(let part of content)switch(part.type){case`text`:text+=part.text;break;case`tool-call`:toolCalls.push({id:part.toolCallId,type:`function`,function:{name:part.toolName,arguments:JSON.stringify(part.input)}});break}messages.push({role:`assistant`,content:text,tool_calls:toolCalls.length>0?toolCalls:void 0});break}case`tool`:for(let toolResponse of content){let output=toolResponse.output,contentValue;switch(output.type){case`text`:case`error-text`:contentValue=output.value;break;case`content`:case`json`:case`error-json`:contentValue=JSON.stringify(output.value);break}messages.push({role:`tool`,tool_call_id:toolResponse.toolCallId,content:contentValue})}break;default:{let _exhaustiveCheck=role;throw Error(`Unsupported role: ${_exhaustiveCheck}`)}}return{messages,warnings}}function getResponseMetadata({id,model:model$1,created}){return{id:id??void 0,modelId:model$1??void 0,timestamp:created==null?void 0:new Date(created*1e3)}}function mapXaiFinishReason(finishReason){switch(finishReason){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 webSourceSchema=zod_v4.z.object({type:zod_v4.z.literal(`web`),country:zod_v4.z.string().length(2).optional(),excludedWebsites:zod_v4.z.array(zod_v4.z.string()).max(5).optional(),allowedWebsites:zod_v4.z.array(zod_v4.z.string()).max(5).optional(),safeSearch:zod_v4.z.boolean().optional()}),xSourceSchema=zod_v4.z.object({type:zod_v4.z.literal(`x`),excludedXHandles:zod_v4.z.array(zod_v4.z.string()).optional(),includedXHandles:zod_v4.z.array(zod_v4.z.string()).optional(),postFavoriteCount:zod_v4.z.number().int().optional(),postViewCount:zod_v4.z.number().int().optional(),xHandles:zod_v4.z.array(zod_v4.z.string()).optional()}),newsSourceSchema=zod_v4.z.object({type:zod_v4.z.literal(`news`),country:zod_v4.z.string().length(2).optional(),excludedWebsites:zod_v4.z.array(zod_v4.z.string()).max(5).optional(),safeSearch:zod_v4.z.boolean().optional()}),rssSourceSchema=zod_v4.z.object({type:zod_v4.z.literal(`rss`),links:zod_v4.z.array(zod_v4.z.string().url()).max(1)}),searchSourceSchema=zod_v4.z.discriminatedUnion(`type`,[webSourceSchema,xSourceSchema,newsSourceSchema,rssSourceSchema]),xaiProviderOptions=zod_v4.z.object({reasoningEffort:zod_v4.z.enum([`low`,`high`]).optional(),searchParameters:zod_v4.z.object({mode:zod_v4.z.enum([`off`,`auto`,`on`]),returnCitations:zod_v4.z.boolean().optional(),fromDate:zod_v4.z.string().optional(),toDate:zod_v4.z.string().optional(),maxSearchResults:zod_v4.z.number().min(1).max(50).optional(),sources:zod_v4.z.array(searchSourceSchema).optional()}).optional()}),xaiErrorDataSchema=zod_v4.z.object({error:zod_v4.z.object({message:zod_v4.z.string(),type:zod_v4.z.string().nullish(),param:zod_v4.z.any().nullish(),code:zod_v4.z.union([zod_v4.z.string(),zod_v4.z.number()]).nullish()})}),xaiFailedResponseHandler=createJsonErrorResponseHandler({errorSchema:xaiErrorDataSchema,errorToMessage:data$2=>data$2.error.message});function prepareTools({tools:tools$1,toolChoice}){tools$1=tools$1?.length?tools$1:void 0;let toolWarnings=[];if(tools$1==null)return{tools:void 0,toolChoice:void 0,toolWarnings};let xaiTools=[];for(let tool$1 of tools$1)tool$1.type===`provider-defined`?toolWarnings.push({type:`unsupported-tool`,tool:tool$1}):xaiTools.push({type:`function`,function:{name:tool$1.name,description:tool$1.description,parameters:tool$1.inputSchema}});if(toolChoice==null)return{tools:xaiTools,toolChoice:void 0,toolWarnings};let type=toolChoice.type;switch(type){case`auto`:case`none`:return{tools:xaiTools,toolChoice:type,toolWarnings};case`required`:return{tools:xaiTools,toolChoice:`required`,toolWarnings};case`tool`:return{tools:xaiTools,toolChoice:{type:`function`,function:{name:toolChoice.toolName}},toolWarnings};default:throw new UnsupportedFunctionalityError({functionality:`tool choice type: ${type}`})}}var XaiChatLanguageModel=class{constructor(modelId,config){this.specificationVersion=`v2`,this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=modelId,this.config=config}get provider(){return this.config.provider}async getArgs({prompt,maxOutputTokens,temperature,topP,topK,frequencyPenalty,presencePenalty,stopSequences,seed,responseFormat,providerOptions,tools:tools$1,toolChoice}){var _a$7,_b$2,_c$1;let warnings=[],options=await parseProviderOptions({provider:`xai`,providerOptions,schema:xaiProviderOptions})??{};topK!=null&&warnings.push({type:`unsupported-setting`,setting:`topK`}),frequencyPenalty!=null&&warnings.push({type:`unsupported-setting`,setting:`frequencyPenalty`}),presencePenalty!=null&&warnings.push({type:`unsupported-setting`,setting:`presencePenalty`}),stopSequences!=null&&warnings.push({type:`unsupported-setting`,setting:`stopSequences`}),responseFormat!=null&&responseFormat.type===`json`&&responseFormat.schema!=null&&warnings.push({type:`unsupported-setting`,setting:`responseFormat`,details:`JSON response format schema is not supported`});let{messages,warnings:messageWarnings}=convertToXaiChatMessages(prompt);warnings.push(...messageWarnings);let{tools:xaiTools,toolChoice:xaiToolChoice,toolWarnings}=prepareTools({tools:tools$1,toolChoice});return warnings.push(...toolWarnings),{args:{model:this.modelId,max_tokens:maxOutputTokens,temperature,top_p:topP,seed,reasoning_effort:options.reasoningEffort,response_format:responseFormat?.type===`json`?responseFormat.schema==null?{type:`json_object`}:{type:`json_schema`,json_schema:{name:responseFormat.name??`response`,schema:responseFormat.schema,strict:!0}}:void 0,search_parameters:options.searchParameters?{mode:options.searchParameters.mode,return_citations:options.searchParameters.returnCitations,from_date:options.searchParameters.fromDate,to_date:options.searchParameters.toDate,max_search_results:options.searchParameters.maxSearchResults,sources:options.searchParameters.sources?.map(source=>{var _a2$2;return{type:source.type,...source.type===`web`&&{country:source.country,excluded_websites:source.excludedWebsites,allowed_websites:source.allowedWebsites,safe_search:source.safeSearch},...source.type===`x`&&{excluded_x_handles:source.excludedXHandles,included_x_handles:source.includedXHandles??source.xHandles,post_favorite_count:source.postFavoriteCount,post_view_count:source.postViewCount},...source.type===`news`&&{country:source.country,excluded_websites:source.excludedWebsites,safe_search:source.safeSearch},...source.type===`rss`&&{links:source.links}}})}:void 0,messages,tools:xaiTools,tool_choice:xaiToolChoice},warnings}}async doGenerate(options){var _a$7,_b$2,_c$1;let{args:body,warnings}=await this.getArgs(options),{responseHeaders,value:response,rawValue:rawResponse}=await postJsonToApi({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:combineHeaders(this.config.headers(),options.headers),body,failedResponseHandler:xaiFailedResponseHandler,successfulResponseHandler:createJsonResponseHandler(xaiChatResponseSchema),abortSignal:options.abortSignal,fetch:this.config.fetch}),choice=response.choices[0],content=[];if(choice.message.content!=null&&choice.message.content.length>0){let text=choice.message.content,lastMessage=body.messages[body.messages.length-1];lastMessage?.role===`assistant`&&text===lastMessage.content&&(text=``),text.length>0&&content.push({type:`text`,text})}if(choice.message.reasoning_content!=null&&choice.message.reasoning_content.length>0&&content.push({type:`reasoning`,text:choice.message.reasoning_content}),choice.message.tool_calls!=null)for(let toolCall of choice.message.tool_calls)content.push({type:`tool-call`,toolCallId:toolCall.id,toolName:toolCall.function.name,input:toolCall.function.arguments});if(response.citations!=null)for(let url$2 of response.citations)content.push({type:`source`,sourceType:`url`,id:this.config.generateId(),url:url$2});return{content,finishReason:mapXaiFinishReason(choice.finish_reason),usage:{inputTokens:response.usage.prompt_tokens,outputTokens:response.usage.completion_tokens,totalTokens:response.usage.total_tokens,reasoningTokens:response.usage.completion_tokens_details?.reasoning_tokens??void 0},request:{body},response:{...getResponseMetadata(response),headers:responseHeaders,body:rawResponse},warnings}}async doStream(options){var _a$7;let{args,warnings}=await this.getArgs(options),body={...args,stream:!0,stream_options:{include_usage:!0}},{responseHeaders,value:response}=await postJsonToApi({url:`${this.config.baseURL??`https://api.x.ai/v1`}/chat/completions`,headers:combineHeaders(this.config.headers(),options.headers),body,failedResponseHandler:xaiFailedResponseHandler,successfulResponseHandler:createEventSourceResponseHandler(xaiChatChunkSchema),abortSignal:options.abortSignal,fetch:this.config.fetch}),finishReason=`unknown`,usage={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},isFirstChunk=!0,contentBlocks={},lastReasoningDeltas={},self$1=this;return{stream:response.pipeThrough(new TransformStream({start(controller){controller.enqueue({type:`stream-start`,warnings})},transform(chunk,controller){var _a2$2,_b$2;if(options.includeRawChunks&&controller.enqueue({type:`raw`,rawValue:chunk.rawValue}),!chunk.success){controller.enqueue({type:`error`,error:chunk.error});return}let value=chunk.value;if(isFirstChunk&&=(controller.enqueue({type:`response-metadata`,...getResponseMetadata(value)}),!1),value.citations!=null)for(let url$2 of value.citations)controller.enqueue({type:`source`,sourceType:`url`,id:self$1.config.generateId(),url:url$2});value.usage!=null&&(usage.inputTokens=value.usage.prompt_tokens,usage.outputTokens=value.usage.completion_tokens,usage.totalTokens=value.usage.total_tokens,usage.reasoningTokens=value.usage.completion_tokens_details?.reasoning_tokens??void 0);let choice=value.choices[0];if(choice?.finish_reason!=null&&(finishReason=mapXaiFinishReason(choice.finish_reason)),choice?.delta==null)return;let delta=choice.delta,choiceIndex=choice.index;if(delta.content!=null&&delta.content.length>0){let textContent=delta.content,lastMessage=body.messages[body.messages.length-1];if(lastMessage?.role===`assistant`&&textContent===lastMessage.content)return;let blockId=`text-${value.id||choiceIndex}`;contentBlocks[blockId]??(contentBlocks[blockId]={type:`text`},controller.enqueue({type:`text-start`,id:blockId})),controller.enqueue({type:`text-delta`,id:blockId,delta:textContent})}if(delta.reasoning_content!=null&&delta.reasoning_content.length>0){let blockId=`reasoning-${value.id||choiceIndex}`;if(lastReasoningDeltas[blockId]===delta.reasoning_content)return;lastReasoningDeltas[blockId]=delta.reasoning_content,contentBlocks[blockId]??(contentBlocks[blockId]={type:`reasoning`},controller.enqueue({type:`reasoning-start`,id:blockId})),controller.enqueue({type:`reasoning-delta`,id:blockId,delta:delta.reasoning_content})}if(delta.tool_calls!=null)for(let toolCall of delta.tool_calls){let toolCallId=toolCall.id;controller.enqueue({type:`tool-input-start`,id:toolCallId,toolName:toolCall.function.name}),controller.enqueue({type:`tool-input-delta`,id:toolCallId,delta:toolCall.function.arguments}),controller.enqueue({type:`tool-input-end`,id:toolCallId}),controller.enqueue({type:`tool-call`,toolCallId,toolName:toolCall.function.name,input:toolCall.function.arguments})}},flush(controller){for(let[blockId,block]of Object.entries(contentBlocks))controller.enqueue({type:block.type===`text`?`text-end`:`reasoning-end`,id:blockId});controller.enqueue({type:`finish`,finishReason,usage})}})),request:{body},response:{headers:responseHeaders}}}},xaiUsageSchema=zod_v4.z.object({prompt_tokens:zod_v4.z.number(),completion_tokens:zod_v4.z.number(),total_tokens:zod_v4.z.number(),completion_tokens_details:zod_v4.z.object({reasoning_tokens:zod_v4.z.number().nullish()}).nullish()}),xaiChatResponseSchema=zod_v4.z.object({id:zod_v4.z.string().nullish(),created:zod_v4.z.number().nullish(),model:zod_v4.z.string().nullish(),choices:zod_v4.z.array(zod_v4.z.object({message:zod_v4.z.object({role:zod_v4.z.literal(`assistant`),content:zod_v4.z.string().nullish(),reasoning_content:zod_v4.z.string().nullish(),tool_calls:zod_v4.z.array(zod_v4.z.object({id:zod_v4.z.string(),type:zod_v4.z.literal(`function`),function:zod_v4.z.object({name:zod_v4.z.string(),arguments:zod_v4.z.string()})})).nullish()}),index:zod_v4.z.number(),finish_reason:zod_v4.z.string().nullish()})),object:zod_v4.z.literal(`chat.completion`),usage:xaiUsageSchema,citations:zod_v4.z.array(zod_v4.z.string().url()).nullish()}),xaiChatChunkSchema=zod_v4.z.object({id:zod_v4.z.string().nullish(),created:zod_v4.z.number().nullish(),model:zod_v4.z.string().nullish(),choices:zod_v4.z.array(zod_v4.z.object({delta:zod_v4.z.object({role:zod_v4.z.enum([`assistant`]).optional(),content:zod_v4.z.string().nullish(),reasoning_content:zod_v4.z.string().nullish(),tool_calls:zod_v4.z.array(zod_v4.z.object({id:zod_v4.z.string(),type:zod_v4.z.literal(`function`),function:zod_v4.z.object({name:zod_v4.z.string(),arguments:zod_v4.z.string()})})).nullish()}),finish_reason:zod_v4.z.string().nullish(),index:zod_v4.z.number()})),usage:xaiUsageSchema.nullish(),citations:zod_v4.z.array(zod_v4.z.string().url()).nullish()}),VERSION=`2.0.23`,xaiErrorStructure={errorSchema:xaiErrorDataSchema,errorToMessage:data$2=>data$2.error.message};function createXai(options={}){var _a$7;let baseURL=withoutTrailingSlash(options.baseURL??`https://api.x.ai/v1`),getHeaders$1=()=>withUserAgentSuffix({Authorization:`Bearer ${loadApiKey({apiKey:options.apiKey,environmentVariableName:`XAI_API_KEY`,description:`xAI API key`})}`,...options.headers},`ai-sdk/xai/${VERSION}`),createLanguageModel=modelId=>new XaiChatLanguageModel(modelId,{provider:`xai.chat`,baseURL,headers:getHeaders$1,generateId,fetch:options.fetch}),createImageModel=modelId=>new OpenAICompatibleImageModel(modelId,{provider:`xai.image`,url:({path:path$13})=>`${baseURL}${path$13}`,headers:getHeaders$1,fetch:options.fetch,errorStructure:xaiErrorStructure}),provider=modelId=>createLanguageModel(modelId);return provider.languageModel=createLanguageModel,provider.chat=createLanguageModel,provider.textEmbeddingModel=modelId=>{throw new NoSuchModelError({modelId,modelType:`textEmbeddingModel`})},provider.imageModel=createImageModel,provider.image=createImageModel,provider}var xai=createXai();function toolWithApproval(tool$1){return tool$1}const tools=Object.freeze({withContext(tools$1,context){let withTools={};for(let key of Object.keys(tools$1))withTools[key]=tools$1[key].withContext(context);return withTools},with(tools$1,context){let withTools={};for(let key of Object.keys(tools$1))withTools[key]=tools$1[key].withContext(context);return withTools},async withApproval(options){let newTools={};for(let[key,tool$1]of Object.entries(options.tools)){let originalExecute=tool$1.execute;newTools[key]={...tool$1,execute:async(input,options$1)=>tool$1.autoApprove&&originalExecute&&await tool$1.autoApprove(input)?originalExecute(input,options$1):{type:`tool-approval`,outcome:`pending`}}}let lastMessage=options.messages[options.messages.length-1];if(!lastMessage?.parts)return newTools;let toolsToRun=[];for(let part of lastMessage.parts){if(!(0,ai.isToolUIPart)(part))continue;let toolName=(0,ai.getToolName)(part),tool$1=options.tools[toolName];tool$1&&part.state===`output-available`&&tool$1.execute&&isToolApprovalOutput(part.output)&&part.output.outcome===`approved`&&toolsToRun.push({toolName:(0,ai.getToolName)(part),tool:tool$1,input:part.input,toolCallId:part.toolCallId})}if(toolsToRun.length>0){let stream$1=(0,ai.createUIMessageStream)({execute:async({writer})=>{writer.write({type:`start-step`}),await Promise.all(toolsToRun.map(async toRun=>{if(!toRun.tool.execute)throw Error(`Tool does not support execute.`);writer.write({type:`tool-input-available`,toolCallId:toRun.toolCallId,toolName:toRun.toolName,input:toRun.input});try{let result=await toRun.tool.execute(toRun.input,{toolCallId:toRun.toolCallId,messages:(0,ai.convertToModelMessages)(options.messages,{tools:options.tools}),abortSignal:options.abortSignal});if(isAsyncIterable(result))for await(let chunk of result)writer.write({type:`tool-output-available`,toolCallId:toRun.toolCallId,output:chunk,preliminary:!0});writer.write({type:`tool-output-available`,toolCallId:toRun.toolCallId,output:result})}catch(err){writer.write({type:`tool-output-error`,toolCallId:toRun.toolCallId,errorText:err instanceof Error?err.message:String(err)})}})),writer.write({type:`finish`})}});throw new CustomChatResponseError(`Executing tools`,stream$1)}return newTools},prefix(tools$1,prefix){let prefixed={};for(let[key,tool$1]of Object.entries(tools$1))prefixed[`${prefix}${key}`]=tool$1;return prefixed}});function isToolApprovalOutput(output){return typeof output==`object`&&!!output&&`type`in output&&output.type===`tool-approval`}function lastUIOptions(messages){for(let i$1=messages.length-1;i$1>=0;i$1--){let message=messages[i$1];if(message!==void 0&&message.role===`user`&&!(typeof message.metadata!=`object`||message.metadata===null)&&`options`in message.metadata)return message.metadata.options}}const StreamResponseFormatHeader=`x-blink-stream-response-format`;function withResponseFormat(response,format){let headers=new Headers(response.headers);return headers.set(StreamResponseFormatHeader,format),new Response(response.body,{status:response.status,statusText:response.statusText,headers})}function convertResponseToUIMessageStream(response){if(!response.body)throw Error(`Response body is required`);let responseFormat=response.headers.get(StreamResponseFormatHeader);if(!responseFormat||responseFormat===`ui-message`)return response.body.pipeThrough(new TextDecoderStream).pipeThrough(new EventSourceParserStream).pipeThrough(new TransformStream({async transform(chunk,controller){if(chunk.data!==`[DONE]`)try{let result=JSON.parse(chunk.data);controller.enqueue(result)}catch(err){controller.error(err);return}}}));let createStream=model$1=>(0,ai.streamText)({model:model$1,prompt:[{role:`user`,content:[{type:`text`,text:`Hello, world!`}]}]}).toUIMessageStream();switch(responseFormat){case`openai-chat`:return createStream(createOpenAI({apiKey:`ignored`,fetch:(init$1,options)=>response}).chat(`fake-model`));case`openai-response`:return createStream(createOpenAI({apiKey:`ignored`,fetch:(init$1,options)=>response}).responses(`fake-model`));case`anthropic`:return createStream(createAnthropic({apiKey:`ignored`,fetch:(init$1,options)=>response}).chat(`fake-model`));case`google`:return createStream(createGoogleGenerativeAI({apiKey:`ignored`,fetch:(init$1,options)=>response}).chat(`fake-model`));case`xai`:return createStream(createXai({apiKey:`ignored`,fetch:(init$1,options)=>response}).chat(`fake-model`));default:throw Error(`Unsupported response format: ${responseFormat}`)}}const APIServerURLEnvironmentVariable=`BLINK_API_URL`;var Client=class{baseUrl;client;constructor(options){this.client=hc(options.baseUrl),this.baseUrl=options.baseUrl}async chat(request$1,options){let response=await this.client._agent.chat.$post({json:request$1},{headers:options?.headers,init:{signal:options?.signal}});return response.ok||await this.handleError(response),convertResponseToUIMessageStream(response)}async capabilities(){let response=await this.client._agent.capabilities.$get();return response.ok||await this.handleError(response),response.json()}async ui(request$1,options){let response=await this.client._agent.ui.$get({query:request$1.selectedOptions?{selected_options:JSON.stringify(request$1.selectedOptions)}:{}},{init:{signal:options?.signal}});if(!response.ok||response.status!==200){if(response.status===404)return;await this.handleError(response)}return response.json()}async health(){let response=await this.client._agent.health.$get();response.ok||await this.handleError(response)}async handleError(response){let body;try{body=await response.text()}catch{}if(body){let parsed;try{parsed=JSON.parse(body)}catch{}throw parsed?Error(parsed.error):Error(`Failed (${response.status}): ${body}`)}throw Error(`Failed (${response.status}): ${response.statusText}`)}};require_esm.init_esm();var import_src=require_chunk.__toESM(require_src$90(),1),import_src$1=require_chunk.__toESM(require_src$35(),1),import_src$2=require_chunk.__toESM(require_src(),1),import_src$3=require_chunk.__toESM(require_src$31(),1);let otelSDK;var FilteringSpanProcessor=class{constructor(delegate,shouldExport){this.delegate=delegate,this.shouldExport=shouldExport}onStart(span,parentContext){this.delegate.onStart(span,parentContext)}onEnd(span){this.shouldExport(span)&&this.delegate.onEnd(span)}async shutdown(){return this.delegate.shutdown()}async forceFlush(){return this.delegate.forceFlush()}};function initOtel(){if(otelSDK)return otelSDK;let apiUrl=process.env[APIServerURLEnvironmentVariable];return otelSDK=new import_src$2.NodeSDK({spanProcessors:apiUrl?[new FilteringSpanProcessor(new import_src$3.BatchSpanProcessor(new import_src.OTLPTraceExporter({url:new URL(`/otlp/v1/traces`,apiUrl).toString()})),span=>{let urlPath=span.attributes[`url.path`];return!(span.instrumentationScope.name.includes(`opentelemetry`)&&typeof urlPath==`string`&&urlPath.endsWith(`v1/traces`))})]:[],instrumentations:[(0,import_src$1.getNodeAutoInstrumentations)({"@opentelemetry/instrumentation-undici":{requireParentforSpans:!0}})]}),otelSDK.start(),otelSDK}const otelMiddleware=async(c,next)=>{initOtel();let pathname=new URL(c.req.raw.url).pathname;return pathname.startsWith(`/_agent/flush-otel`)?await next():await require_esm.trace.getTracer(`blink`).startActiveSpan(`${c.req.method} ${pathname}`,async span=>{try{return await next()}finally{span.end(),flushOtel()}})},flushOtel=async()=>{try{if(!otelSDK)return;let provider=otelSDK._tracerProvider;if(!(provider&&provider.forceFlush))return;await provider.forceFlush()}catch(err){console.warn(`Error flushing OpenTelemetry`,err)}};require_esm.init_esm();function agent(){let listeners={chat:[],ui:[],request:[],error:[]},agent$1={on:(event,handler)=>(listeners[event]=[...listeners[event]??[],handler],agent$1),serve:options=>{options||={},options.host||=process.env.HOST??`127.0.0.1`,options.port||=parseInt(process.env.PORT??`3000`),options.apiUrl||=process.env.BLINK_API_URL;let client=hc(options.apiUrl??``,{fetch:options.apiUrl?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.`)}}),context={chat:{async ensure(key){let response=await client.chat[`:key`].$post({param:{key}});if(response.status!==200)throw Error(`Failed to ensure chat!`);return response.json()},async message(key,message,options$1){if((await client.chat[`:key`].sendMessages.$post({param:{key},json:{message,options:options$1??{}}})).status!==204)throw Error(`Failed to send message!`)}},store:{async get(key){let response=await client.kv[`:key`].$get({param:{key:encodeURIComponent(key)}});if(response.status!==200)throw Error(`Failed to get value!`);let{value}=await response.json();return value},async set(key,value){if((await client.kv[`:key`].$post({param:{key:encodeURIComponent(key)},json:{value}})).status!==204)throw Error(`Failed to set value!`)},async delete(key){if((await client.kv[`:key`].$delete({param:{key:encodeURIComponent(key)}})).status!==204)throw Error(`Failed to delete value!`)},async list(prefix,options$1){let response=await client.kv.$get({query:{prefix:prefix?encodeURIComponent(prefix):void 0,limit:options$1?.limit,cursor:options$1?.cursor}});if(response.status!==200)throw Error(`Failed to list values!`);return response.json()}},otlp:{traces:async _request=>{throw Error(`OTLP is not supported by this client.`)}}};return http.createServer(createServerAdapter(req$1=>api.fetch(req$1,{context,listeners}))).listen(options?.port??3e3,options?.host??`127.0.0.1`)}};return agent$1}const api=new Hono().use(otelMiddleware).post(`/_agent/chat`,validator(`json`,body=>({messages:body.messages,chat:body.chat})),async c=>{let handlers=c.env.listeners.chat,req$1=c.req.valid(`json`);for(let handler of handlers){let result;try{result=await handler({chat:req$1.chat,messages:req$1.messages,abortSignal:c.req.raw.signal,context:c.env.context})}catch(err){if(err instanceof CustomChatResponseError)result=err.response;else throw err}if(!result)continue;if(result instanceof Response)return result;let stream$1;if(result instanceof ReadableStream)stream$1=result;else if(typeof result==`object`&&`toUIMessageStream`in result)stream$1=result.toUIMessageStream({messageMetadata:({part})=>{switch(part.type){case`finish`:return{totalUsage:part.totalUsage};case`finish-step`:return{usage:part.usage,model:part.response.modelId}}}});else throw Error(`Invalid chat handler result! Must be a Response, ReadableStream, or toUIMessageStream function.`);return new Response(stream$1.pipeThrough(new TransformStream({transform(chunk,controller){controller.enqueue(`data: ${JSON.stringify(chunk)}\n\n`)},flush(controller){controller.enqueue(`data: [DONE]
|
|
156
156
|
|
|
157
|
-
`)}})).pipeThrough(new TextEncoderStream),{headers:sseHeaders})}return c.json({error:`No chat handlers found.`},404)}).get(`/_agent/capabilities`,async c=>{let handlers=c.env.listeners,capabilities={ui:handlers.ui.length>0,chat:handlers.chat.length>0,request:handlers.request.length>0,error:handlers.error.length>0};return c.json(capabilities,200)}).get(`/_agent/health`,async c=>c.body(`OK`,200)).get(`/_agent/ui`,async c=>{let selectedOptionsRaw=c.req.query(`selected_options`),selectedOptions;if(selectedOptionsRaw)try{selectedOptions=JSON.parse(selectedOptionsRaw)}catch{return c.json({error:`Invalid selected_options query parameter!`},400)}let handlers=c.env.listeners.ui;for(let handler of handlers){let result=await handler({selectedOptions});if(result)return c.json(result,200)}return c.json({error:`No UI listener returned a response`},404)}).post(`/_agent/flush-otel`,async c=>(await flushOtel(),c.body(null,204))).all(`*`,async c=>{let handlers=c.env.listeners.request;for(let handler of handlers){let result=await handler(c.req.raw,c.env.context);if(result)return result}return c.json({error:`No request handlers found.`},404)}).onError((err,c)=>{
|
|
157
|
+
`)}})).pipeThrough(new TextEncoderStream),{headers:sseHeaders})}return c.json({error:`No chat handlers found.`},404)}).get(`/_agent/capabilities`,async c=>{let handlers=c.env.listeners,capabilities={ui:handlers.ui.length>0,chat:handlers.chat.length>0,request:handlers.request.length>0,error:handlers.error.length>0};return c.json(capabilities,200)}).get(`/_agent/health`,async c=>c.body(`OK`,200)).get(`/_agent/ui`,async c=>{let selectedOptionsRaw=c.req.query(`selected_options`),selectedOptions;if(selectedOptionsRaw)try{selectedOptions=JSON.parse(selectedOptionsRaw)}catch{return c.json({error:`Invalid selected_options query parameter!`},400)}let handlers=c.env.listeners.ui;for(let handler of handlers){let result=await handler({selectedOptions});if(result)return c.json(result,200)}return c.json({error:`No UI listener returned a response`},404)}).post(`/_agent/flush-otel`,async c=>(await flushOtel(),c.body(null,204))).all(`*`,async c=>{let handlers=c.env.listeners.request;for(let handler of handlers){let result=await handler(c.req.raw,c.env.context);if(result)return result}return c.json({error:`No request handlers found.`},404)}).onError((err,c)=>{let activeSpan=require_esm.trace.getActiveSpan();return activeSpan&&(activeSpan.recordException(err),activeSpan.setStatus({code:require_esm.SpanStatusCode.ERROR})),c.json({error:`Internal server error`},500)}),sseHeaders={"content-type":`text/event-stream`,"cache-control":`no-cache, no-transform`,connection:`keep-alive`,"x-accel-buffering":`no`},model=model$1=>{let token=process.env.BLINK_TOKEN??process.env.BLINK_INVOCATION_AUTH_TOKEN;if(!token)throw Error(`You must be authenticated with Blink to use the model gateway.
|
|
158
158
|
|
|
159
159
|
Authenticate with "blink login".
|
|
160
160
|
|