/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@ai-sdk/gateway@3.0.104/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,r)=>{for(var t in r)__defProp(e,t,{get:r[t],enumerable:!0})},__copyProps=(e,r,t,o)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let a of __getOwnPropNames(r))__hasOwnProp.call(e,a)||a===t||__defProp(e,a,{get:()=>r[a],enumerable:!(o=__getOwnPropDesc(r,a))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),index_exports={};__export(index_exports,{GatewayAuthenticationError:()=>GatewayAuthenticationError,GatewayError:()=>GatewayError,GatewayInternalServerError:()=>GatewayInternalServerError,GatewayInvalidRequestError:()=>GatewayInvalidRequestError,GatewayModelNotFoundError:()=>GatewayModelNotFoundError,GatewayRateLimitError:()=>GatewayRateLimitError,GatewayResponseError:()=>GatewayResponseError,createGateway:()=>createGatewayProvider,createGatewayProvider:()=>createGatewayProvider,gateway:()=>gateway}),module.exports=__toCommonJS(index_exports);var _a,_b,_a2,_b2,_a3,_b3,_a4,_b4,_a5,_b5,_a6,_b6,_a7,_b7,import_provider_utils14=require("@ai-sdk/provider-utils"),import_provider=require("@ai-sdk/provider"),import_v42=require("zod/v4"),marker="vercel.ai.gateway.error",symbol=Symbol.for(marker),GatewayError=class e extends(_b=Error,_a=symbol,_b){constructor({message:e,statusCode:r=500,cause:t,generationId:o}){super(o?`${e} [${o}]`:e),this[_a]=!0,this.statusCode=r,this.cause=t,this.generationId=o}static isInstance(r){return e.hasMarker(r)}static hasMarker(e){return"object"==typeof e&&null!==e&&symbol in e&&!0===e[symbol]}},name="GatewayAuthenticationError",marker2=`vercel.ai.gateway.error.${name}`,symbol2=Symbol.for(marker2),GatewayAuthenticationError=class e extends(_b2=GatewayError,_a2=symbol2,_b2){constructor({message:e="Authentication failed",statusCode:r=401,cause:t,generationId:o}={}){super({message:e,statusCode:r,cause:t,generationId:o}),this[_a2]=!0,this.name=name,this.type="authentication_error"}static isInstance(e){return GatewayError.hasMarker(e)&&symbol2 in e}static createContextualError({apiKeyProvided:r,oidcTokenProvided:t,message:o="Authentication failed",statusCode:a=401,cause:i,generationId:s}){let n;return n=r?"AI Gateway authentication failed: Invalid API key.\n\nCreate a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys\n\nProvide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.":t?"AI Gateway authentication failed: Invalid OIDC token.\n\nRun 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.\n\nAlternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys":"AI Gateway authentication failed: No authentication provided.\n\nOption 1 - API key:\nCreate an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys\nProvide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.\n\nOption 2 - OIDC token:\nRun 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.",new e({message:n,statusCode:a,cause:i,generationId:s})}},name2="GatewayInvalidRequestError",marker3=`vercel.ai.gateway.error.${name2}`,symbol3=Symbol.for(marker3),GatewayInvalidRequestError=class extends(_b3=GatewayError,_a3=symbol3,_b3){constructor({message:e="Invalid request",statusCode:r=400,cause:t,generationId:o}={}){super({message:e,statusCode:r,cause:t,generationId:o}),this[_a3]=!0,this.name=name2,this.type="invalid_request_error"}static isInstance(e){return GatewayError.hasMarker(e)&&symbol3 in e}},name3="GatewayRateLimitError",marker4=`vercel.ai.gateway.error.${name3}`,symbol4=Symbol.for(marker4),GatewayRateLimitError=class extends(_b4=GatewayError,_a4=symbol4,_b4){constructor({message:e="Rate limit exceeded",statusCode:r=429,cause:t,generationId:o}={}){super({message:e,statusCode:r,cause:t,generationId:o}),this[_a4]=!0,this.name=name3,this.type="rate_limit_exceeded"}static isInstance(e){return GatewayError.hasMarker(e)&&symbol4 in e}},import_v4=require("zod/v4"),import_provider_utils=require("@ai-sdk/provider-utils"),name4="GatewayModelNotFoundError",marker5=`vercel.ai.gateway.error.${name4}`,symbol5=Symbol.for(marker5),modelNotFoundParamSchema=(0,import_provider_utils.lazySchema)((()=>(0,import_provider_utils.zodSchema)(import_v4.z.object({modelId:import_v4.z.string()})))),GatewayModelNotFoundError=class extends(_b5=GatewayError,_a5=symbol5,_b5){constructor({message:e="Model not found",statusCode:r=404,modelId:t,cause:o,generationId:a}={}){super({message:e,statusCode:r,cause:o,generationId:a}),this[_a5]=!0,this.name=name4,this.type="model_not_found",this.modelId=t}static isInstance(e){return GatewayError.hasMarker(e)&&symbol5 in e}},name5="GatewayInternalServerError",marker6=`vercel.ai.gateway.error.${name5}`,symbol6=Symbol.for(marker6),GatewayInternalServerError=class extends(_b6=GatewayError,_a6=symbol6,_b6){constructor({message:e="Internal server error",statusCode:r=500,cause:t,generationId:o}={}){super({message:e,statusCode:r,cause:t,generationId:o}),this[_a6]=!0,this.name=name5,this.type="internal_server_error"}static isInstance(e){return GatewayError.hasMarker(e)&&symbol6 in e}},name6="GatewayResponseError",marker7=`vercel.ai.gateway.error.${name6}`,symbol7=Symbol.for(marker7),GatewayResponseError=class extends(_b7=GatewayError,_a7=symbol7,_b7){constructor({message:e="Invalid response from Gateway",statusCode:r=502,response:t,validationError:o,cause:a,generationId:i}={}){super({message:e,statusCode:r,cause:a,generationId:i}),this[_a7]=!0,this.name=name6,this.type="response_error",this.response=t,this.validationError=o}static isInstance(e){return GatewayError.hasMarker(e)&&symbol7 in e}},import_provider_utils2=require("@ai-sdk/provider-utils");async function createGatewayErrorFromResponse({response:e,statusCode:r,defaultMessage:t="Gateway request failed",cause:o,authMethod:a}){var i;const s=await(0,import_provider_utils2.safeValidateTypes)({value:e,schema:gatewayErrorResponseSchema});if(!s.success){const a="object"==typeof e&&null!==e&&"generationId"in e?e.generationId:void 0;return new GatewayResponseError({message:`Invalid error response format: ${t}`,statusCode:r,response:e,validationError:s.error,cause:o,generationId:a})}const n=s.value,d=n.error.type,p=n.error.message,l=null!=(i=n.generationId)?i:void 0;switch(d){case"authentication_error":return GatewayAuthenticationError.createContextualError({apiKeyProvided:"api-key"===a,oidcTokenProvided:"oidc"===a,statusCode:r,cause:o,generationId:l});case"invalid_request_error":return new GatewayInvalidRequestError({message:p,statusCode:r,cause:o,generationId:l});case"rate_limit_exceeded":return new GatewayRateLimitError({message:p,statusCode:r,cause:o,generationId:l});case"model_not_found":{const e=await(0,import_provider_utils2.safeValidateTypes)({value:n.error.param,schema:modelNotFoundParamSchema});return new GatewayModelNotFoundError({message:p,statusCode:r,modelId:e.success?e.value.modelId:void 0,cause:o,generationId:l})}default:return new GatewayInternalServerError({message:p,statusCode:r,cause:o,generationId:l})}}var _a8,_b8,gatewayErrorResponseSchema=(0,import_provider_utils2.lazySchema)((()=>(0,import_provider_utils2.zodSchema)(import_v42.z.object({error:import_v42.z.object({message:import_v42.z.string(),type:import_v42.z.string().nullish(),param:import_v42.z.unknown().nullish(),code:import_v42.z.union([import_v42.z.string(),import_v42.z.number()]).nullish()}),generationId:import_v42.z.string().nullish()})))),name7="GatewayTimeoutError",marker8=`vercel.ai.gateway.error.${name7}`,symbol8=Symbol.for(marker8),GatewayTimeoutError=class e extends(_b8=GatewayError,_a8=symbol8,_b8){constructor({message:e="Request timed out",statusCode:r=408,cause:t,generationId:o}={}){super({message:e,statusCode:r,cause:t,generationId:o}),this[_a8]=!0,this.name=name7,this.type="timeout_error"}static isInstance(e){return GatewayError.hasMarker(e)&&symbol8 in e}static createTimeoutError({originalMessage:r,statusCode:t=408,cause:o,generationId:a}){return new e({message:`Gateway request timed out: ${r}\n\n    This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`,statusCode:t,cause:o,generationId:a})}};function isTimeoutError(e){if(!(e instanceof Error))return!1;const r=e.code;if("string"==typeof r){return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(r)}return!1}async function asGatewayError(e,r){var t;return GatewayError.isInstance(e)?e:isTimeoutError(e)?GatewayTimeoutError.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):import_provider.APICallError.isInstance(e)?e.cause&&isTimeoutError(e.cause)?GatewayTimeoutError.createTimeoutError({originalMessage:e.message,cause:e}):await createGatewayErrorFromResponse({response:extractApiCallResponse(e),statusCode:null!=(t=e.statusCode)?t:500,defaultMessage:"Gateway request failed",cause:e,authMethod:r}):await createGatewayErrorFromResponse({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:r})}function extractApiCallResponse(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return JSON.parse(e.responseBody)}catch(r){return e.responseBody}return{}}var import_v43=require("zod/v4"),import_provider_utils3=require("@ai-sdk/provider-utils"),GATEWAY_AUTH_METHOD_HEADER="ai-gateway-auth-method";async function parseAuthMethod(e){const r=await(0,import_provider_utils3.safeValidateTypes)({value:e[GATEWAY_AUTH_METHOD_HEADER],schema:gatewayAuthMethodSchema});return r.success?r.value:void 0}var gatewayAuthMethodSchema=(0,import_provider_utils3.lazySchema)((()=>(0,import_provider_utils3.zodSchema)(import_v43.z.union([import_v43.z.literal("api-key"),import_v43.z.literal("oidc")])))),import_provider_utils4=require("@ai-sdk/provider-utils"),import_v44=require("zod/v4"),KNOWN_MODEL_TYPES=["embedding","image","language","reranking","video"],GatewayFetchMetadata=class{constructor(e){this.config=e}async getAvailableModels(){try{const{value:e}=await(0,import_provider_utils4.getFromApi)({url:`${this.config.baseURL}/config`,headers:await(0,import_provider_utils4.resolve)(this.config.headers()),successfulResponseHandler:(0,import_provider_utils4.createJsonResponseHandler)(gatewayAvailableModelsResponseSchema),failedResponseHandler:(0,import_provider_utils4.createJsonErrorResponseHandler)({errorSchema:import_v44.z.any(),errorToMessage:e=>e}),fetch:this.config.fetch});return e}catch(e){throw await asGatewayError(e)}}async getCredits(){try{const e=new URL(this.config.baseURL),{value:r}=await(0,import_provider_utils4.getFromApi)({url:`${e.origin}/v1/credits`,headers:await(0,import_provider_utils4.resolve)(this.config.headers()),successfulResponseHandler:(0,import_provider_utils4.createJsonResponseHandler)(gatewayCreditsResponseSchema),failedResponseHandler:(0,import_provider_utils4.createJsonErrorResponseHandler)({errorSchema:import_v44.z.any(),errorToMessage:e=>e}),fetch:this.config.fetch});return r}catch(e){throw await asGatewayError(e)}}},gatewayAvailableModelsResponseSchema=(0,import_provider_utils4.lazySchema)((()=>(0,import_provider_utils4.zodSchema)(import_v44.z.object({models:import_v44.z.array(import_v44.z.object({id:import_v44.z.string(),name:import_v44.z.string(),description:import_v44.z.string().nullish(),pricing:import_v44.z.object({input:import_v44.z.string(),output:import_v44.z.string(),input_cache_read:import_v44.z.string().nullish(),input_cache_write:import_v44.z.string().nullish()}).transform((({input:e,output:r,input_cache_read:t,input_cache_write:o})=>({input:e,output:r,...t?{cachedInputTokens:t}:{},...o?{cacheCreationInputTokens:o}:{}}))).nullish(),specification:import_v44.z.object({specificationVersion:import_v44.z.literal("v3"),provider:import_v44.z.string(),modelId:import_v44.z.string()}),modelType:import_v44.z.string().nullish()})).transform((e=>e.filter((e=>null==e.modelType||KNOWN_MODEL_TYPES.includes(e.modelType)))))})))),gatewayCreditsResponseSchema=(0,import_provider_utils4.lazySchema)((()=>(0,import_provider_utils4.zodSchema)(import_v44.z.object({balance:import_v44.z.string(),total_used:import_v44.z.string()}).transform((({balance:e,total_used:r})=>({balance:e,totalUsed:r})))))),import_provider_utils5=require("@ai-sdk/provider-utils"),import_v45=require("zod/v4"),GatewaySpendReport=class{constructor(e){this.config=e}async getSpendReport(e){try{const r=new URL(this.config.baseURL),t=new URLSearchParams;t.set("start_date",e.startDate),t.set("end_date",e.endDate),e.groupBy&&t.set("group_by",e.groupBy),e.datePart&&t.set("date_part",e.datePart),e.userId&&t.set("user_id",e.userId),e.model&&t.set("model",e.model),e.provider&&t.set("provider",e.provider),e.credentialType&&t.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&t.set("tags",e.tags.join(","));const{value:o}=await(0,import_provider_utils5.getFromApi)({url:`${r.origin}/v1/report?${t.toString()}`,headers:await(0,import_provider_utils5.resolve)(this.config.headers()),successfulResponseHandler:(0,import_provider_utils5.createJsonResponseHandler)(gatewaySpendReportResponseSchema),failedResponseHandler:(0,import_provider_utils5.createJsonErrorResponseHandler)({errorSchema:import_v45.z.any(),errorToMessage:e=>e}),fetch:this.config.fetch});return o}catch(e){throw await asGatewayError(e)}}},gatewaySpendReportResponseSchema=(0,import_provider_utils5.lazySchema)((()=>(0,import_provider_utils5.zodSchema)(import_v45.z.object({results:import_v45.z.array(import_v45.z.object({day:import_v45.z.string().optional(),hour:import_v45.z.string().optional(),user:import_v45.z.string().optional(),model:import_v45.z.string().optional(),tag:import_v45.z.string().optional(),provider:import_v45.z.string().optional(),credential_type:import_v45.z.enum(["byok","system"]).optional(),total_cost:import_v45.z.number(),market_cost:import_v45.z.number().optional(),input_tokens:import_v45.z.number().optional(),output_tokens:import_v45.z.number().optional(),cached_input_tokens:import_v45.z.number().optional(),cache_creation_input_tokens:import_v45.z.number().optional(),reasoning_tokens:import_v45.z.number().optional(),request_count:import_v45.z.number().optional()}).transform((({credential_type:e,total_cost:r,market_cost:t,input_tokens:o,output_tokens:a,cached_input_tokens:i,cache_creation_input_tokens:s,reasoning_tokens:n,request_count:d,...p})=>({...p,...void 0!==e?{credentialType:e}:{},totalCost:r,...void 0!==t?{marketCost:t}:{},...void 0!==o?{inputTokens:o}:{},...void 0!==a?{outputTokens:a}:{},...void 0!==i?{cachedInputTokens:i}:{},...void 0!==s?{cacheCreationInputTokens:s}:{},...void 0!==n?{reasoningTokens:n}:{},...void 0!==d?{requestCount:d}:{}}))))})))),import_provider_utils6=require("@ai-sdk/provider-utils"),import_v46=require("zod/v4"),GatewayGenerationInfoFetcher=class{constructor(e){this.config=e}async getGenerationInfo(e){try{const r=new URL(this.config.baseURL),{value:t}=await(0,import_provider_utils6.getFromApi)({url:`${r.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,headers:await(0,import_provider_utils6.resolve)(this.config.headers()),successfulResponseHandler:(0,import_provider_utils6.createJsonResponseHandler)(gatewayGenerationInfoResponseSchema),failedResponseHandler:(0,import_provider_utils6.createJsonErrorResponseHandler)({errorSchema:import_v46.z.any(),errorToMessage:e=>e}),fetch:this.config.fetch});return t}catch(e){throw await asGatewayError(e)}}},gatewayGenerationInfoResponseSchema=(0,import_provider_utils6.lazySchema)((()=>(0,import_provider_utils6.zodSchema)(import_v46.z.object({data:import_v46.z.object({id:import_v46.z.string(),total_cost:import_v46.z.number(),upstream_inference_cost:import_v46.z.number(),usage:import_v46.z.number(),created_at:import_v46.z.string(),model:import_v46.z.string(),is_byok:import_v46.z.boolean(),provider_name:import_v46.z.string(),streamed:import_v46.z.boolean(),finish_reason:import_v46.z.string(),latency:import_v46.z.number(),generation_time:import_v46.z.number(),native_tokens_prompt:import_v46.z.number(),native_tokens_completion:import_v46.z.number(),native_tokens_reasoning:import_v46.z.number(),native_tokens_cached:import_v46.z.number(),native_tokens_cache_creation:import_v46.z.number(),billable_web_search_calls:import_v46.z.number()}).transform((({total_cost:e,upstream_inference_cost:r,created_at:t,is_byok:o,provider_name:a,finish_reason:i,generation_time:s,native_tokens_prompt:n,native_tokens_completion:d,native_tokens_reasoning:p,native_tokens_cached:l,native_tokens_cache_creation:m,billable_web_search_calls:c,...u})=>({...u,totalCost:e,upstreamInferenceCost:r,createdAt:t,isByok:o,providerName:a,finishReason:i,generationTime:s,promptTokens:n,completionTokens:d,reasoningTokens:p,cachedTokens:l,cacheCreationTokens:m,billableWebSearchCalls:c})))}).transform((({data:e})=>e))))),import_provider_utils7=require("@ai-sdk/provider-utils"),import_v47=require("zod/v4"),GatewayLanguageModel=class{constructor(e,r){this.modelId=e,this.config=r,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){const{abortSignal:r,...t}=e;return{args:this.maybeEncodeFileParts(t),warnings:[]}}async doGenerate(e){const{args:r,warnings:t}=await this.getArgs(e),{abortSignal:o}=e,a=await(0,import_provider_utils7.resolve)(this.config.headers());try{const{responseHeaders:i,value:s,rawValue:n}=await(0,import_provider_utils7.postJsonToApi)({url:this.getUrl(),headers:(0,import_provider_utils7.combineHeaders)(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await(0,import_provider_utils7.resolve)(this.config.o11yHeaders)),body:r,successfulResponseHandler:(0,import_provider_utils7.createJsonResponseHandler)(import_v47.z.any()),failedResponseHandler:(0,import_provider_utils7.createJsonErrorResponseHandler)({errorSchema:import_v47.z.any(),errorToMessage:e=>e}),...o&&{abortSignal:o},fetch:this.config.fetch});return{...s,request:{body:r},response:{headers:i,body:n},warnings:t}}catch(e){throw await asGatewayError(e,await parseAuthMethod(a))}}async doStream(e){const{args:r,warnings:t}=await this.getArgs(e),{abortSignal:o}=e,a=await(0,import_provider_utils7.resolve)(this.config.headers());try{const{value:i,responseHeaders:s}=await(0,import_provider_utils7.postJsonToApi)({url:this.getUrl(),headers:(0,import_provider_utils7.combineHeaders)(a,e.headers,this.getModelConfigHeaders(this.modelId,!0),await(0,import_provider_utils7.resolve)(this.config.o11yHeaders)),body:r,successfulResponseHandler:(0,import_provider_utils7.createEventSourceResponseHandler)(import_v47.z.any()),failedResponseHandler:(0,import_provider_utils7.createJsonErrorResponseHandler)({errorSchema:import_v47.z.any(),errorToMessage:e=>e}),...o&&{abortSignal:o},fetch:this.config.fetch});return{stream:i.pipeThrough(new TransformStream({start(e){t.length>0&&e.enqueue({type:"stream-start",warnings:t})},transform(r,t){if(r.success){const o=r.value;if("raw"===o.type&&!e.includeRawChunks)return;"response-metadata"===o.type&&o.timestamp&&"string"==typeof o.timestamp&&(o.timestamp=new Date(o.timestamp)),t.enqueue(o)}else t.error(r.error)}})),request:{body:r},response:{headers:s}}}catch(e){throw await asGatewayError(e,await parseAuthMethod(a))}}isFilePart(e){return e&&"object"==typeof e&&"type"in e&&"file"===e.type}maybeEncodeFileParts(e){for(const r of e.prompt)for(const e of r.content)if(this.isFilePart(e)){const r=e;if(r.data instanceof Uint8Array){const e=Uint8Array.from(r.data),t=Buffer.from(e).toString("base64");r.data=new URL(`data:${r.mediaType||"application/octet-stream"};base64,${t}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,r){return{"ai-language-model-specification-version":"3","ai-language-model-id":e,"ai-language-model-streaming":String(r)}}},import_provider_utils8=require("@ai-sdk/provider-utils"),import_v48=require("zod/v4"),GatewayEmbeddingModel=class{constructor(e,r){this.modelId=e,this.config=r,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:r,abortSignal:t,providerOptions:o}){var a;const i=await(0,import_provider_utils8.resolve)(this.config.headers());try{const{responseHeaders:s,value:n,rawValue:d}=await(0,import_provider_utils8.postJsonToApi)({url:this.getUrl(),headers:(0,import_provider_utils8.combineHeaders)(i,null!=r?r:{},this.getModelConfigHeaders(),await(0,import_provider_utils8.resolve)(this.config.o11yHeaders)),body:{values:e,...o?{providerOptions:o}:{}},successfulResponseHandler:(0,import_provider_utils8.createJsonResponseHandler)(gatewayEmbeddingResponseSchema),failedResponseHandler:(0,import_provider_utils8.createJsonErrorResponseHandler)({errorSchema:import_v48.z.any(),errorToMessage:e=>e}),...t&&{abortSignal:t},fetch:this.config.fetch});return{embeddings:n.embeddings,usage:null!=(a=n.usage)?a:void 0,providerMetadata:n.providerMetadata,response:{headers:s,body:d},warnings:[]}}catch(e){throw await asGatewayError(e,await parseAuthMethod(i))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},gatewayEmbeddingResponseSchema=(0,import_provider_utils8.lazySchema)((()=>(0,import_provider_utils8.zodSchema)(import_v48.z.object({embeddings:import_v48.z.array(import_v48.z.array(import_v48.z.number())),usage:import_v48.z.object({tokens:import_v48.z.number()}).nullish(),providerMetadata:import_v48.z.record(import_v48.z.string(),import_v48.z.record(import_v48.z.string(),import_v48.z.unknown())).optional()})))),import_provider_utils9=require("@ai-sdk/provider-utils"),import_v49=require("zod/v4"),GatewayImageModel=class{constructor(e,r){this.modelId=e,this.config=r,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:r,size:t,aspectRatio:o,seed:a,files:i,mask:s,providerOptions:n,headers:d,abortSignal:p}){var l,m,c,u;const _=await(0,import_provider_utils9.resolve)(this.config.headers());try{const{responseHeaders:v,value:h,rawValue:g}=await(0,import_provider_utils9.postJsonToApi)({url:this.getUrl(),headers:(0,import_provider_utils9.combineHeaders)(_,null!=d?d:{},this.getModelConfigHeaders(),await(0,import_provider_utils9.resolve)(this.config.o11yHeaders)),body:{prompt:e,n:r,...t&&{size:t},...o&&{aspectRatio:o},...a&&{seed:a},...n&&{providerOptions:n},...i&&{files:i.map((e=>maybeEncodeImageFile(e)))},...s&&{mask:maybeEncodeImageFile(s)}},successfulResponseHandler:(0,import_provider_utils9.createJsonResponseHandler)(gatewayImageResponseSchema),failedResponseHandler:(0,import_provider_utils9.createJsonErrorResponseHandler)({errorSchema:import_v49.z.any(),errorToMessage:e=>e}),...p&&{abortSignal:p},fetch:this.config.fetch});return{images:h.images,warnings:null!=(l=h.warnings)?l:[],providerMetadata:h.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:v},...null!=h.usage&&{usage:{inputTokens:null!=(m=h.usage.inputTokens)?m:void 0,outputTokens:null!=(c=h.usage.outputTokens)?c:void 0,totalTokens:null!=(u=h.usage.totalTokens)?u:void 0}}}}catch(e){throw await asGatewayError(e,await parseAuthMethod(_))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function maybeEncodeImageFile(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:(0,import_provider_utils9.convertUint8ArrayToBase64)(e.data)}:e}var providerMetadataEntrySchema=import_v49.z.object({images:import_v49.z.array(import_v49.z.unknown()).optional()}).catchall(import_v49.z.unknown()),gatewayImageWarningSchema=import_v49.z.discriminatedUnion("type",[import_v49.z.object({type:import_v49.z.literal("unsupported"),feature:import_v49.z.string(),details:import_v49.z.string().optional()}),import_v49.z.object({type:import_v49.z.literal("compatibility"),feature:import_v49.z.string(),details:import_v49.z.string().optional()}),import_v49.z.object({type:import_v49.z.literal("other"),message:import_v49.z.string()})]),gatewayImageUsageSchema=import_v49.z.object({inputTokens:import_v49.z.number().nullish(),outputTokens:import_v49.z.number().nullish(),totalTokens:import_v49.z.number().nullish()}),gatewayImageResponseSchema=import_v49.z.object({images:import_v49.z.array(import_v49.z.string()),warnings:import_v49.z.array(gatewayImageWarningSchema).optional(),providerMetadata:import_v49.z.record(import_v49.z.string(),providerMetadataEntrySchema).optional(),usage:gatewayImageUsageSchema.optional()}),import_provider2=require("@ai-sdk/provider"),import_provider_utils10=require("@ai-sdk/provider-utils"),import_v410=require("zod/v4"),GatewayVideoModel=class{constructor(e,r){this.modelId=e,this.config=r,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:r,aspectRatio:t,resolution:o,duration:a,fps:i,seed:s,image:n,providerOptions:d,headers:p,abortSignal:l}){var m;const c=await(0,import_provider_utils10.resolve)(this.config.headers());try{const{responseHeaders:u,value:_}=await(0,import_provider_utils10.postJsonToApi)({url:this.getUrl(),headers:(0,import_provider_utils10.combineHeaders)(c,null!=p?p:{},this.getModelConfigHeaders(),await(0,import_provider_utils10.resolve)(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:e,n:r,...t&&{aspectRatio:t},...o&&{resolution:o},...a&&{duration:a},...i&&{fps:i},...s&&{seed:s},...d&&{providerOptions:d},...n&&{image:maybeEncodeVideoFile(n)}},successfulResponseHandler:async({response:e,url:r,requestBodyValues:t})=>{if(null==e.body)throw new import_provider2.APICallError({message:"SSE response body is empty",url:r,requestBodyValues:t,statusCode:e.status});const o=(0,import_provider_utils10.parseJsonEventStream)({stream:e.body,schema:gatewayVideoEventSchema}).getReader(),{done:a,value:i}=await o.read();if(o.releaseLock(),a||!i)throw new import_provider2.APICallError({message:"SSE stream ended without a data event",url:r,requestBodyValues:t,statusCode:e.status});if(!i.success)throw new import_provider2.APICallError({message:"Failed to parse video SSE event",cause:i.error,url:r,requestBodyValues:t,statusCode:e.status});const s=i.value;if("error"===s.type)throw new import_provider2.APICallError({message:s.message,statusCode:s.statusCode,url:r,requestBodyValues:t,responseHeaders:Object.fromEntries([...e.headers]),responseBody:JSON.stringify(s),data:{error:{message:s.message,type:s.errorType,param:s.param}}});return{value:{videos:s.videos,warnings:s.warnings,providerMetadata:s.providerMetadata},responseHeaders:Object.fromEntries([...e.headers])}},failedResponseHandler:(0,import_provider_utils10.createJsonErrorResponseHandler)({errorSchema:import_v410.z.any(),errorToMessage:e=>e}),...l&&{abortSignal:l},fetch:this.config.fetch});return{videos:_.videos,warnings:null!=(m=_.warnings)?m:[],providerMetadata:_.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:u}}}catch(e){throw await asGatewayError(e,await parseAuthMethod(c))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}};function maybeEncodeVideoFile(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:(0,import_provider_utils10.convertUint8ArrayToBase64)(e.data)}:e}var providerMetadataEntrySchema2=import_v410.z.object({videos:import_v410.z.array(import_v410.z.unknown()).optional()}).catchall(import_v410.z.unknown()),gatewayVideoDataSchema=import_v410.z.union([import_v410.z.object({type:import_v410.z.literal("url"),url:import_v410.z.string(),mediaType:import_v410.z.string()}),import_v410.z.object({type:import_v410.z.literal("base64"),data:import_v410.z.string(),mediaType:import_v410.z.string()})]),gatewayVideoWarningSchema=import_v410.z.discriminatedUnion("type",[import_v410.z.object({type:import_v410.z.literal("unsupported"),feature:import_v410.z.string(),details:import_v410.z.string().optional()}),import_v410.z.object({type:import_v410.z.literal("compatibility"),feature:import_v410.z.string(),details:import_v410.z.string().optional()}),import_v410.z.object({type:import_v410.z.literal("other"),message:import_v410.z.string()})]),gatewayVideoEventSchema=import_v410.z.discriminatedUnion("type",[import_v410.z.object({type:import_v410.z.literal("result"),videos:import_v410.z.array(gatewayVideoDataSchema),warnings:import_v410.z.array(gatewayVideoWarningSchema).optional(),providerMetadata:import_v410.z.record(import_v410.z.string(),providerMetadataEntrySchema2).optional()}),import_v410.z.object({type:import_v410.z.literal("error"),message:import_v410.z.string(),errorType:import_v410.z.string(),statusCode:import_v410.z.number(),param:import_v410.z.unknown().nullable()})]),import_provider_utils11=require("@ai-sdk/provider-utils"),import_v411=require("zod/v4"),GatewayRerankingModel=class{constructor(e,r){this.modelId=e,this.config=r,this.specificationVersion="v3"}get provider(){return this.config.provider}async doRerank({documents:e,query:r,topN:t,headers:o,abortSignal:a,providerOptions:i}){const s=await(0,import_provider_utils11.resolve)(this.config.headers());try{const{responseHeaders:n,value:d,rawValue:p}=await(0,import_provider_utils11.postJsonToApi)({url:this.getUrl(),headers:(0,import_provider_utils11.combineHeaders)(s,null!=o?o:{},this.getModelConfigHeaders(),await(0,import_provider_utils11.resolve)(this.config.o11yHeaders)),body:{documents:e,query:r,...null!=t?{topN:t}:{},...i?{providerOptions:i}:{}},successfulResponseHandler:(0,import_provider_utils11.createJsonResponseHandler)(gatewayRerankingResponseSchema),failedResponseHandler:(0,import_provider_utils11.createJsonErrorResponseHandler)({errorSchema:import_v411.z.any(),errorToMessage:e=>e}),...a&&{abortSignal:a},fetch:this.config.fetch});return{ranking:d.ranking,providerMetadata:d.providerMetadata,response:{headers:n,body:p},warnings:[]}}catch(e){throw await asGatewayError(e,await parseAuthMethod(s))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"3","ai-model-id":this.modelId}}},gatewayRerankingResponseSchema=(0,import_provider_utils11.lazySchema)((()=>(0,import_provider_utils11.zodSchema)(import_v411.z.object({ranking:import_v411.z.array(import_v411.z.object({index:import_v411.z.number(),relevanceScore:import_v411.z.number()})),providerMetadata:import_v411.z.record(import_v411.z.string(),import_v411.z.record(import_v411.z.string(),import_v411.z.unknown())).optional()})))),import_provider_utils12=require("@ai-sdk/provider-utils"),import_zod=require("zod"),parallelSearchInputSchema=(0,import_provider_utils12.lazySchema)((()=>(0,import_provider_utils12.zodSchema)(import_zod.z.object({objective:import_zod.z.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:import_zod.z.array(import_zod.z.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:import_zod.z.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:import_zod.z.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:import_zod.z.object({include_domains:import_zod.z.array(import_zod.z.string()).optional().describe("List of domains to include in search results."),exclude_domains:import_zod.z.array(import_zod.z.string()).optional().describe("List of domains to exclude from search results."),after_date:import_zod.z.string().optional().describe("Only include results published after this date (ISO 8601 format).")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:import_zod.z.object({max_chars_per_result:import_zod.z.number().optional().describe("Maximum characters per result."),max_chars_total:import_zod.z.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:import_zod.z.object({max_age_seconds:import_zod.z.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")})))),parallelSearchOutputSchema=(0,import_provider_utils12.lazySchema)((()=>(0,import_provider_utils12.zodSchema)(import_zod.z.union([import_zod.z.object({searchId:import_zod.z.string(),results:import_zod.z.array(import_zod.z.object({url:import_zod.z.string(),title:import_zod.z.string(),excerpt:import_zod.z.string(),publishDate:import_zod.z.string().nullable().optional(),relevanceScore:import_zod.z.number().optional()}))}),import_zod.z.object({error:import_zod.z.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:import_zod.z.number().optional(),message:import_zod.z.string()})])))),parallelSearchToolFactory=(0,import_provider_utils12.createProviderToolFactoryWithOutputSchema)({id:"gateway.parallel_search",inputSchema:parallelSearchInputSchema,outputSchema:parallelSearchOutputSchema}),parallelSearch=(e={})=>parallelSearchToolFactory(e),import_provider_utils13=require("@ai-sdk/provider-utils"),import_zod2=require("zod"),perplexitySearchInputSchema=(0,import_provider_utils13.lazySchema)((()=>(0,import_provider_utils13.zodSchema)(import_zod2.z.object({query:import_zod2.z.union([import_zod2.z.string(),import_zod2.z.array(import_zod2.z.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:import_zod2.z.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:import_zod2.z.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:import_zod2.z.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:import_zod2.z.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:import_zod2.z.array(import_zod2.z.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:import_zod2.z.array(import_zod2.z.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:import_zod2.z.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:import_zod2.z.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:import_zod2.z.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:import_zod2.z.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:import_zod2.z.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")})))),perplexitySearchOutputSchema=(0,import_provider_utils13.lazySchema)((()=>(0,import_provider_utils13.zodSchema)(import_zod2.z.union([import_zod2.z.object({results:import_zod2.z.array(import_zod2.z.object({title:import_zod2.z.string(),url:import_zod2.z.string(),snippet:import_zod2.z.string(),date:import_zod2.z.string().optional(),lastUpdated:import_zod2.z.string().optional()})),id:import_zod2.z.string()}),import_zod2.z.object({error:import_zod2.z.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:import_zod2.z.number().optional(),message:import_zod2.z.string()})])))),perplexitySearchToolFactory=(0,import_provider_utils13.createProviderToolFactoryWithOutputSchema)({id:"gateway.perplexity_search",inputSchema:perplexitySearchInputSchema,outputSchema:perplexitySearchOutputSchema}),perplexitySearch=(e={})=>perplexitySearchToolFactory(e),gatewayTools={parallelSearch:parallelSearch,perplexitySearch:perplexitySearch},import_oidc=require("@vercel/oidc"),import_oidc2=require("@vercel/oidc");async function getVercelRequestId(){var e;return null==(e=(0,import_oidc.getContext)().headers)?void 0:e["x-vercel-id"]}var import_provider_utils15=require("@ai-sdk/provider-utils"),VERSION="3.0.104",AI_GATEWAY_PROTOCOL_VERSION="0.0.1";function createGatewayProvider(e={}){var r,t;let o=null,a=null;const i=null!=(r=e.metadataCacheRefreshMillis)?r:3e5;let s=0;const n=null!=(t=(0,import_provider_utils14.withoutTrailingSlash)(e.baseURL))?t:"https://ai-gateway.vercel.sh/v3/ai",d=async()=>{try{const r=await getGatewayAuthToken(e);return(0,import_provider_utils15.withUserAgentSuffix)({Authorization:`Bearer ${r.token}`,"ai-gateway-protocol-version":AI_GATEWAY_PROTOCOL_VERSION,[GATEWAY_AUTH_METHOD_HEADER]:r.authMethod,...e.headers},`ai-sdk/gateway/${VERSION}`)}catch(e){throw GatewayAuthenticationError.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},p=()=>{const e=(0,import_provider_utils14.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),r=(0,import_provider_utils14.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),t=(0,import_provider_utils14.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),o=(0,import_provider_utils14.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{const a=await getVercelRequestId();return{...e&&{"ai-o11y-deployment-id":e},...r&&{"ai-o11y-environment":r},...t&&{"ai-o11y-region":t},...a&&{"ai-o11y-request-id":a},...o&&{"ai-o11y-project-id":o}}}},l=r=>new GatewayLanguageModel(r,{provider:"gateway",baseURL:n,headers:d,fetch:e.fetch,o11yHeaders:p()}),m=function(e){if(new.target)throw new Error("The Gateway Provider model function cannot be called with the new keyword.");return l(e)};m.specificationVersion="v3",m.getAvailableModels=async()=>{var r,t,p;const l=null!=(p=null==(t=null==(r=e._internal)?void 0:r.currentDate)?void 0:t.call(r).getTime())?p:Date.now();return(!o||l-s>i)&&(s=l,o=new GatewayFetchMetadata({baseURL:n,headers:d,fetch:e.fetch}).getAvailableModels().then((e=>(a=e,e))).catch((async e=>{throw await asGatewayError(e,await parseAuthMethod(await d()))}))),a?Promise.resolve(a):o},m.getCredits=async()=>new GatewayFetchMetadata({baseURL:n,headers:d,fetch:e.fetch}).getCredits().catch((async e=>{throw await asGatewayError(e,await parseAuthMethod(await d()))})),m.getSpendReport=async r=>new GatewaySpendReport({baseURL:n,headers:d,fetch:e.fetch}).getSpendReport(r).catch((async e=>{throw await asGatewayError(e,await parseAuthMethod(await d()))})),m.getGenerationInfo=async r=>new GatewayGenerationInfoFetcher({baseURL:n,headers:d,fetch:e.fetch}).getGenerationInfo(r).catch((async e=>{throw await asGatewayError(e,await parseAuthMethod(await d()))})),m.imageModel=r=>new GatewayImageModel(r,{provider:"gateway",baseURL:n,headers:d,fetch:e.fetch,o11yHeaders:p()}),m.languageModel=l;const c=r=>new GatewayEmbeddingModel(r,{provider:"gateway",baseURL:n,headers:d,fetch:e.fetch,o11yHeaders:p()});m.embeddingModel=c,m.textEmbeddingModel=c,m.videoModel=r=>new GatewayVideoModel(r,{provider:"gateway",baseURL:n,headers:d,fetch:e.fetch,o11yHeaders:p()});const u=r=>new GatewayRerankingModel(r,{provider:"gateway",baseURL:n,headers:d,fetch:e.fetch,o11yHeaders:p()});return m.rerankingModel=u,m.reranking=u,m.chat=m.languageModel,m.embedding=m.embeddingModel,m.image=m.imageModel,m.video=m.videoModel,m.tools=gatewayTools,m}var gateway=createGatewayProvider();async function getGatewayAuthToken(e){const r=(0,import_provider_utils14.loadOptionalSetting)({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(r)return{token:r,authMethod:"api-key"};return{token:await(0,import_oidc2.getVercelOidcToken)(),authMethod:"oidc"}}
//# sourceMappingURL=/sm/865e91f5fba382d1d957efec88b3cd66d2e86adb20a315dba12698eee9dfd66f.map