@ai-sdk/gateway
Advanced tools
+16
-0
| # @ai-sdk/gateway | ||
| ## 2.0.111 | ||
| ### Patch Changes | ||
| - 2786e44: Backport: chore(provider/gateway): update gateway model settings files | ||
| ## 2.0.110 | ||
| ### Patch Changes | ||
| - 6a823a6: feat(gateway): expose ruleId on GatewayForbiddenError so callers can identify which routing rule denied a request | ||
| - ed8b811: Backport: chore(provider/gateway): update gateway model settings files | ||
| - 4f00314: Backport: chore(provider/gateway): update gateway model settings files | ||
| - 8549807: feat(provider/openai,provider/gateway): add gpt-5.6 model ids | ||
| - 3c89617: feat (provider/xai): add grok-4.5 model id | ||
| ## 2.0.109 | ||
@@ -4,0 +20,0 @@ |
+5
-3
@@ -5,3 +5,3 @@ import { LanguageModelV2, ProviderV2, EmbeddingModelV2, ImageModelV2, TypeValidationError } from '@ai-sdk/provider'; | ||
| type GatewayModelId = 'alibaba/qwen-3-14b' | 'alibaba/qwen-3-235b' | 'alibaba/qwen-3-30b' | 'alibaba/qwen-3-32b' | 'alibaba/qwen-3.6-max-preview' | 'alibaba/qwen3-235b-a22b-thinking' | 'alibaba/qwen3-coder' | 'alibaba/qwen3-coder-30b-a3b' | 'alibaba/qwen3-coder-next' | 'alibaba/qwen3-coder-plus' | 'alibaba/qwen3-max' | 'alibaba/qwen3-max-preview' | 'alibaba/qwen3-max-thinking' | 'alibaba/qwen3-next-80b-a3b-instruct' | 'alibaba/qwen3-next-80b-a3b-thinking' | 'alibaba/qwen3-vl-235b-a22b-instruct' | 'alibaba/qwen3-vl-instruct' | 'alibaba/qwen3-vl-thinking' | 'alibaba/qwen3.5-flash' | 'alibaba/qwen3.5-plus' | 'alibaba/qwen3.6-27b' | 'alibaba/qwen3.6-plus' | 'alibaba/qwen3.7-max' | 'alibaba/qwen3.7-plus' | 'amazon/nova-2-lite' | 'amazon/nova-lite' | 'amazon/nova-micro' | 'amazon/nova-pro' | 'anthropic/claude-3-haiku' | 'anthropic/claude-3.5-haiku' | 'anthropic/claude-fable-5' | 'anthropic/claude-haiku-4.5' | 'anthropic/claude-opus-4' | 'anthropic/claude-opus-4.1' | 'anthropic/claude-opus-4.5' | 'anthropic/claude-opus-4.6' | 'anthropic/claude-opus-4.7' | 'anthropic/claude-opus-4.8' | 'anthropic/claude-sonnet-4' | 'anthropic/claude-sonnet-4.5' | 'anthropic/claude-sonnet-4.6' | 'anthropic/claude-sonnet-5' | 'arcee-ai/trinity-large-preview' | 'arcee-ai/trinity-large-thinking' | 'arcee-ai/trinity-mini' | 'bytedance/seed-1.6' | 'bytedance/seed-1.8' | 'cohere/command-a' | 'deepseek/deepseek-r1' | 'deepseek/deepseek-v3' | 'deepseek/deepseek-v3.1' | 'deepseek/deepseek-v3.1-terminus' | 'deepseek/deepseek-v3.2' | 'deepseek/deepseek-v3.2-thinking' | 'deepseek/deepseek-v4-flash' | 'deepseek/deepseek-v4-pro' | 'google/gemini-2.5-flash' | 'google/gemini-2.5-flash-image' | 'google/gemini-2.5-flash-lite' | 'google/gemini-2.5-pro' | 'google/gemini-3-flash' | 'google/gemini-3-pro-image' | 'google/gemini-3-pro-preview' | 'google/gemini-3.1-flash-image' | 'google/gemini-3.1-flash-image-preview' | 'google/gemini-3.1-flash-lite' | 'google/gemini-3.1-flash-lite-image' | 'google/gemini-3.1-flash-lite-preview' | 'google/gemini-3.1-pro-preview' | 'google/gemini-3.5-flash' | 'google/gemma-4-26b-a4b-it' | 'google/gemma-4-31b-it' | 'inception/mercury-2' | 'inception/mercury-coder-small' | 'interfaze/interfaze-beta' | 'kwaipilot/kat-coder-pro-v1' | 'kwaipilot/kat-coder-pro-v2' | 'meituan/longcat-flash-chat' | 'meituan/longcat-flash-thinking-2601' | 'meta/llama-3.1-70b' | 'meta/llama-3.1-8b' | 'meta/llama-3.2-11b' | 'meta/llama-3.2-1b' | 'meta/llama-3.2-3b' | 'meta/llama-3.2-90b' | 'meta/llama-3.3-70b' | 'meta/llama-4-maverick' | 'meta/llama-4-scout' | 'minimax/minimax-m2' | 'minimax/minimax-m2.1' | 'minimax/minimax-m2.1-lightning' | 'minimax/minimax-m2.5' | 'minimax/minimax-m2.5-highspeed' | 'minimax/minimax-m2.7' | 'minimax/minimax-m2.7-highspeed' | 'minimax/minimax-m3' | 'mistral/codestral' | 'mistral/devstral-2' | 'mistral/devstral-small' | 'mistral/devstral-small-2' | 'mistral/magistral-medium' | 'mistral/magistral-small' | 'mistral/ministral-14b' | 'mistral/ministral-3b' | 'mistral/ministral-8b' | 'mistral/mistral-large-3' | 'mistral/mistral-medium' | 'mistral/mistral-medium-3.5' | 'mistral/mistral-nemo' | 'mistral/mistral-small' | 'mistral/pixtral-12b' | 'mistral/pixtral-large' | 'moonshotai/kimi-k2' | 'moonshotai/kimi-k2-thinking' | 'moonshotai/kimi-k2.5' | 'moonshotai/kimi-k2.6' | 'moonshotai/kimi-k2.7-code' | 'moonshotai/kimi-k2.7-code-highspeed' | 'morph/morph-v3-fast' | 'morph/morph-v3-large' | 'nvidia/nemotron-3-nano-30b-a3b' | 'nvidia/nemotron-3-super-120b-a12b' | 'nvidia/nemotron-3-ultra-550b-a55b' | 'nvidia/nemotron-nano-12b-v2-vl' | 'nvidia/nemotron-nano-9b-v2' | 'openai/gpt-3.5-turbo' | 'openai/gpt-3.5-turbo-instruct' | 'openai/gpt-4-turbo' | 'openai/gpt-4.1' | 'openai/gpt-4.1-mini' | 'openai/gpt-4.1-nano' | 'openai/gpt-4o' | 'openai/gpt-4o-mini' | 'openai/gpt-4o-mini-search-preview' | 'openai/gpt-5' | 'openai/gpt-5-chat' | 'openai/gpt-5-codex' | 'openai/gpt-5-mini' | 'openai/gpt-5-nano' | 'openai/gpt-5-pro' | 'openai/gpt-5.1-codex' | 'openai/gpt-5.1-codex-max' | 'openai/gpt-5.1-codex-mini' | 'openai/gpt-5.1-instant' | 'openai/gpt-5.1-thinking' | 'openai/gpt-5.2' | 'openai/gpt-5.2-chat' | 'openai/gpt-5.2-codex' | 'openai/gpt-5.2-pro' | 'openai/gpt-5.3-chat' | 'openai/gpt-5.3-codex' | 'openai/gpt-5.4' | 'openai/gpt-5.4-mini' | 'openai/gpt-5.4-nano' | 'openai/gpt-5.4-pro' | 'openai/gpt-5.5' | 'openai/gpt-5.5-pro' | 'openai/gpt-oss-120b' | 'openai/gpt-oss-20b' | 'openai/gpt-oss-safeguard-20b' | 'openai/o1' | 'openai/o3' | 'openai/o3-deep-research' | 'openai/o3-mini' | 'openai/o3-pro' | 'openai/o4-mini' | 'perplexity/sonar' | 'perplexity/sonar-pro' | 'perplexity/sonar-reasoning-pro' | 'sakana/fugu-ultra' | 'stepfun/step-3.5-flash' | 'stepfun/step-3.7-flash' | 'xai/grok-4.1-fast-non-reasoning' | 'xai/grok-4.1-fast-reasoning' | 'xai/grok-4.20-multi-agent' | 'xai/grok-4.20-multi-agent-beta' | 'xai/grok-4.20-non-reasoning' | 'xai/grok-4.20-non-reasoning-beta' | 'xai/grok-4.20-reasoning' | 'xai/grok-4.20-reasoning-beta' | 'xai/grok-4.3' | 'xai/grok-build-0.1' | 'xiaomi/mimo-v2-flash' | 'xiaomi/mimo-v2-pro' | 'xiaomi/mimo-v2.5' | 'xiaomi/mimo-v2.5-pro' | 'zai/glm-4.5' | 'zai/glm-4.5-air' | 'zai/glm-4.5v' | 'zai/glm-4.6' | 'zai/glm-4.6v' | 'zai/glm-4.6v-flash' | 'zai/glm-4.7' | 'zai/glm-4.7-flash' | 'zai/glm-4.7-flashx' | 'zai/glm-5' | 'zai/glm-5-turbo' | 'zai/glm-5.1' | 'zai/glm-5.2' | 'zai/glm-5.2-fast' | 'zai/glm-5v-turbo' | (string & {}); | ||
| type GatewayModelId = 'alibaba/qwen-3-14b' | 'alibaba/qwen-3-235b' | 'alibaba/qwen-3-30b' | 'alibaba/qwen-3-32b' | 'alibaba/qwen-3.6-max-preview' | 'alibaba/qwen3-235b-a22b-thinking' | 'alibaba/qwen3-coder' | 'alibaba/qwen3-coder-30b-a3b' | 'alibaba/qwen3-coder-next' | 'alibaba/qwen3-coder-plus' | 'alibaba/qwen3-max' | 'alibaba/qwen3-max-preview' | 'alibaba/qwen3-max-thinking' | 'alibaba/qwen3-next-80b-a3b-instruct' | 'alibaba/qwen3-next-80b-a3b-thinking' | 'alibaba/qwen3-vl-235b-a22b-instruct' | 'alibaba/qwen3-vl-instruct' | 'alibaba/qwen3-vl-thinking' | 'alibaba/qwen3.5-flash' | 'alibaba/qwen3.5-plus' | 'alibaba/qwen3.6-27b' | 'alibaba/qwen3.6-plus' | 'alibaba/qwen3.7-max' | 'alibaba/qwen3.7-plus' | 'amazon/nova-2-lite' | 'amazon/nova-lite' | 'amazon/nova-micro' | 'amazon/nova-pro' | 'anthropic/claude-3-haiku' | 'anthropic/claude-3.5-haiku' | 'anthropic/claude-fable-5' | 'anthropic/claude-haiku-4.5' | 'anthropic/claude-opus-4' | 'anthropic/claude-opus-4.1' | 'anthropic/claude-opus-4.5' | 'anthropic/claude-opus-4.6' | 'anthropic/claude-opus-4.7' | 'anthropic/claude-opus-4.8' | 'anthropic/claude-sonnet-4' | 'anthropic/claude-sonnet-4.5' | 'anthropic/claude-sonnet-4.6' | 'anthropic/claude-sonnet-5' | 'arcee-ai/trinity-large-preview' | 'arcee-ai/trinity-large-thinking' | 'arcee-ai/trinity-mini' | 'bytedance/seed-1.6' | 'bytedance/seed-1.8' | 'cohere/command-a' | 'deepseek/deepseek-r1' | 'deepseek/deepseek-v3' | 'deepseek/deepseek-v3.1' | 'deepseek/deepseek-v3.1-terminus' | 'deepseek/deepseek-v3.2' | 'deepseek/deepseek-v3.2-thinking' | 'deepseek/deepseek-v4-flash' | 'deepseek/deepseek-v4-pro' | 'google/gemini-2.5-flash' | 'google/gemini-2.5-flash-image' | 'google/gemini-2.5-flash-lite' | 'google/gemini-2.5-pro' | 'google/gemini-3-flash' | 'google/gemini-3-pro-image' | 'google/gemini-3-pro-preview' | 'google/gemini-3.1-flash-image' | 'google/gemini-3.1-flash-image-preview' | 'google/gemini-3.1-flash-lite' | 'google/gemini-3.1-flash-lite-image' | 'google/gemini-3.1-flash-lite-preview' | 'google/gemini-3.1-pro-preview' | 'google/gemini-3.5-flash' | 'google/gemini-omni-flash-preview' | 'google/gemma-4-26b-a4b-it' | 'google/gemma-4-31b-it' | 'inception/mercury-2' | 'inception/mercury-coder-small' | 'interfaze/interfaze-beta' | 'kwaipilot/kat-coder-air-v2.5' | 'kwaipilot/kat-coder-pro-v1' | 'kwaipilot/kat-coder-pro-v2' | 'kwaipilot/kat-coder-pro-v2.5' | 'meituan/longcat-flash-chat' | 'meituan/longcat-flash-thinking-2601' | 'meta/llama-3.1-70b' | 'meta/llama-3.1-8b' | 'meta/llama-3.2-11b' | 'meta/llama-3.2-1b' | 'meta/llama-3.2-3b' | 'meta/llama-3.2-90b' | 'meta/llama-3.3-70b' | 'meta/llama-4-maverick' | 'meta/llama-4-scout' | 'meta/muse-spark-1.1' | 'minimax/minimax-m2' | 'minimax/minimax-m2.1' | 'minimax/minimax-m2.1-lightning' | 'minimax/minimax-m2.5' | 'minimax/minimax-m2.5-highspeed' | 'minimax/minimax-m2.7' | 'minimax/minimax-m2.7-highspeed' | 'minimax/minimax-m3' | 'mistral/codestral' | 'mistral/devstral-2' | 'mistral/devstral-small' | 'mistral/devstral-small-2' | 'mistral/magistral-medium' | 'mistral/magistral-small' | 'mistral/ministral-14b' | 'mistral/ministral-3b' | 'mistral/ministral-8b' | 'mistral/mistral-large-3' | 'mistral/mistral-medium' | 'mistral/mistral-medium-3.5' | 'mistral/mistral-nemo' | 'mistral/mistral-small' | 'mistral/pixtral-12b' | 'mistral/pixtral-large' | 'moonshotai/kimi-k2' | 'moonshotai/kimi-k2-thinking' | 'moonshotai/kimi-k2.5' | 'moonshotai/kimi-k2.6' | 'moonshotai/kimi-k2.7-code' | 'moonshotai/kimi-k2.7-code-highspeed' | 'morph/morph-v3-fast' | 'morph/morph-v3-large' | 'nvidia/nemotron-3-nano-30b-a3b' | 'nvidia/nemotron-3-super-120b-a12b' | 'nvidia/nemotron-3-ultra-550b-a55b' | 'nvidia/nemotron-nano-12b-v2-vl' | 'nvidia/nemotron-nano-9b-v2' | 'openai/gpt-3.5-turbo' | 'openai/gpt-3.5-turbo-instruct' | 'openai/gpt-4-turbo' | 'openai/gpt-4.1' | 'openai/gpt-4.1-mini' | 'openai/gpt-4.1-nano' | 'openai/gpt-4o' | 'openai/gpt-4o-mini' | 'openai/gpt-4o-mini-search-preview' | 'openai/gpt-5' | 'openai/gpt-5-chat' | 'openai/gpt-5-codex' | 'openai/gpt-5-mini' | 'openai/gpt-5-nano' | 'openai/gpt-5-pro' | 'openai/gpt-5.1-codex' | 'openai/gpt-5.1-codex-max' | 'openai/gpt-5.1-codex-mini' | 'openai/gpt-5.1-instant' | 'openai/gpt-5.1-thinking' | 'openai/gpt-5.2' | 'openai/gpt-5.2-chat' | 'openai/gpt-5.2-codex' | 'openai/gpt-5.2-pro' | 'openai/gpt-5.3-chat' | 'openai/gpt-5.3-codex' | 'openai/gpt-5.4' | 'openai/gpt-5.4-mini' | 'openai/gpt-5.4-nano' | 'openai/gpt-5.4-pro' | 'openai/gpt-5.5' | 'openai/gpt-5.5-pro' | 'openai/gpt-5.6-luna' | 'openai/gpt-5.6-sol' | 'openai/gpt-5.6-terra' | 'openai/gpt-oss-120b' | 'openai/gpt-oss-20b' | 'openai/gpt-oss-safeguard-20b' | 'openai/o1' | 'openai/o3' | 'openai/o3-deep-research' | 'openai/o3-mini' | 'openai/o3-pro' | 'openai/o4-mini' | 'perplexity/sonar' | 'perplexity/sonar-pro' | 'perplexity/sonar-reasoning-pro' | 'sakana/fugu-ultra' | 'stepfun/step-3.5-flash' | 'stepfun/step-3.7-flash' | 'xai/grok-4.1-fast-non-reasoning' | 'xai/grok-4.1-fast-reasoning' | 'xai/grok-4.20-multi-agent' | 'xai/grok-4.20-multi-agent-beta' | 'xai/grok-4.20-non-reasoning' | 'xai/grok-4.20-non-reasoning-beta' | 'xai/grok-4.20-reasoning' | 'xai/grok-4.20-reasoning-beta' | 'xai/grok-4.3' | 'xai/grok-4.5' | 'xai/grok-build-0.1' | 'xiaomi/mimo-v2-flash' | 'xiaomi/mimo-v2-pro' | 'xiaomi/mimo-v2.5' | 'xiaomi/mimo-v2.5-pro' | 'zai/glm-4.5' | 'zai/glm-4.5-air' | 'zai/glm-4.5v' | 'zai/glm-4.6' | 'zai/glm-4.6v' | 'zai/glm-4.6v-flash' | 'zai/glm-4.7' | 'zai/glm-4.7-flash' | 'zai/glm-4.7-flashx' | 'zai/glm-5' | 'zai/glm-5-turbo' | 'zai/glm-5.1' | 'zai/glm-5.2' | 'zai/glm-5.2-fast' | 'zai/glm-5v-turbo' | (string & {}); | ||
@@ -169,3 +169,3 @@ declare const KNOWN_MODEL_TYPES: readonly ["embedding", "image", "language"]; | ||
| type GatewayImageModelId = 'bfl/flux-2-flex' | 'bfl/flux-2-klein-4b' | 'bfl/flux-2-klein-9b' | 'bfl/flux-2-max' | 'bfl/flux-2-pro' | 'bfl/flux-kontext-max' | 'bfl/flux-kontext-pro' | 'bfl/flux-pro-1.0-fill' | 'bfl/flux-pro-1.1' | 'bfl/flux-pro-1.1-ultra' | 'bytedance/seedream-4.0' | 'bytedance/seedream-4.5' | 'bytedance/seedream-5.0-lite' | 'google/imagen-4.0-fast-generate-001' | 'google/imagen-4.0-generate-001' | 'google/imagen-4.0-ultra-generate-001' | 'openai/gpt-image-1' | 'openai/gpt-image-1-mini' | 'openai/gpt-image-1.5' | 'openai/gpt-image-2' | 'prodia/flux-fast-schnell' | 'quiverai/arrow-1.1' | 'recraft/recraft-v2' | 'recraft/recraft-v3' | 'recraft/recraft-v4' | 'recraft/recraft-v4-pro' | 'recraft/recraft-v4.1' | 'recraft/recraft-v4.1-pro' | 'recraft/recraft-v4.1-utility' | 'recraft/recraft-v4.1-utility-pro' | 'xai/grok-imagine-image' | (string & {}); | ||
| type GatewayImageModelId = 'bfl/flux-2-flex' | 'bfl/flux-2-klein-4b' | 'bfl/flux-2-klein-9b' | 'bfl/flux-2-max' | 'bfl/flux-2-pro' | 'bfl/flux-kontext-max' | 'bfl/flux-kontext-pro' | 'bfl/flux-pro-1.0-fill' | 'bfl/flux-pro-1.1' | 'bfl/flux-pro-1.1-ultra' | 'bytedance/seedream-4.0' | 'bytedance/seedream-4.5' | 'bytedance/seedream-5.0-lite' | 'bytedance/seedream-5.0-pro' | 'google/imagen-4.0-fast-generate-001' | 'google/imagen-4.0-generate-001' | 'google/imagen-4.0-ultra-generate-001' | 'openai/gpt-image-1' | 'openai/gpt-image-1-mini' | 'openai/gpt-image-1.5' | 'openai/gpt-image-2' | 'prodia/flux-fast-schnell' | 'quiverai/arrow-1.1' | 'recraft/recraft-v2' | 'recraft/recraft-v3' | 'recraft/recraft-v4' | 'recraft/recraft-v4-pro' | 'recraft/recraft-v4.1' | 'recraft/recraft-v4.1-pro' | 'recraft/recraft-v4.1-utility' | 'recraft/recraft-v4.1-utility-pro' | 'xai/grok-imagine-image' | (string & {}); | ||
@@ -606,6 +606,8 @@ interface PerplexitySearchConfig { | ||
| readonly type = "forbidden"; | ||
| constructor({ message, statusCode, cause, }?: { | ||
| readonly ruleId?: string; | ||
| constructor({ message, statusCode, cause, ruleId, }?: { | ||
| message?: string; | ||
| statusCode?: number; | ||
| cause?: unknown; | ||
| ruleId?: string; | ||
| }); | ||
@@ -612,0 +614,0 @@ static isInstance(error: unknown): error is GatewayForbiddenError; |
+5
-3
@@ -5,3 +5,3 @@ import { LanguageModelV2, ProviderV2, EmbeddingModelV2, ImageModelV2, TypeValidationError } from '@ai-sdk/provider'; | ||
| type GatewayModelId = 'alibaba/qwen-3-14b' | 'alibaba/qwen-3-235b' | 'alibaba/qwen-3-30b' | 'alibaba/qwen-3-32b' | 'alibaba/qwen-3.6-max-preview' | 'alibaba/qwen3-235b-a22b-thinking' | 'alibaba/qwen3-coder' | 'alibaba/qwen3-coder-30b-a3b' | 'alibaba/qwen3-coder-next' | 'alibaba/qwen3-coder-plus' | 'alibaba/qwen3-max' | 'alibaba/qwen3-max-preview' | 'alibaba/qwen3-max-thinking' | 'alibaba/qwen3-next-80b-a3b-instruct' | 'alibaba/qwen3-next-80b-a3b-thinking' | 'alibaba/qwen3-vl-235b-a22b-instruct' | 'alibaba/qwen3-vl-instruct' | 'alibaba/qwen3-vl-thinking' | 'alibaba/qwen3.5-flash' | 'alibaba/qwen3.5-plus' | 'alibaba/qwen3.6-27b' | 'alibaba/qwen3.6-plus' | 'alibaba/qwen3.7-max' | 'alibaba/qwen3.7-plus' | 'amazon/nova-2-lite' | 'amazon/nova-lite' | 'amazon/nova-micro' | 'amazon/nova-pro' | 'anthropic/claude-3-haiku' | 'anthropic/claude-3.5-haiku' | 'anthropic/claude-fable-5' | 'anthropic/claude-haiku-4.5' | 'anthropic/claude-opus-4' | 'anthropic/claude-opus-4.1' | 'anthropic/claude-opus-4.5' | 'anthropic/claude-opus-4.6' | 'anthropic/claude-opus-4.7' | 'anthropic/claude-opus-4.8' | 'anthropic/claude-sonnet-4' | 'anthropic/claude-sonnet-4.5' | 'anthropic/claude-sonnet-4.6' | 'anthropic/claude-sonnet-5' | 'arcee-ai/trinity-large-preview' | 'arcee-ai/trinity-large-thinking' | 'arcee-ai/trinity-mini' | 'bytedance/seed-1.6' | 'bytedance/seed-1.8' | 'cohere/command-a' | 'deepseek/deepseek-r1' | 'deepseek/deepseek-v3' | 'deepseek/deepseek-v3.1' | 'deepseek/deepseek-v3.1-terminus' | 'deepseek/deepseek-v3.2' | 'deepseek/deepseek-v3.2-thinking' | 'deepseek/deepseek-v4-flash' | 'deepseek/deepseek-v4-pro' | 'google/gemini-2.5-flash' | 'google/gemini-2.5-flash-image' | 'google/gemini-2.5-flash-lite' | 'google/gemini-2.5-pro' | 'google/gemini-3-flash' | 'google/gemini-3-pro-image' | 'google/gemini-3-pro-preview' | 'google/gemini-3.1-flash-image' | 'google/gemini-3.1-flash-image-preview' | 'google/gemini-3.1-flash-lite' | 'google/gemini-3.1-flash-lite-image' | 'google/gemini-3.1-flash-lite-preview' | 'google/gemini-3.1-pro-preview' | 'google/gemini-3.5-flash' | 'google/gemma-4-26b-a4b-it' | 'google/gemma-4-31b-it' | 'inception/mercury-2' | 'inception/mercury-coder-small' | 'interfaze/interfaze-beta' | 'kwaipilot/kat-coder-pro-v1' | 'kwaipilot/kat-coder-pro-v2' | 'meituan/longcat-flash-chat' | 'meituan/longcat-flash-thinking-2601' | 'meta/llama-3.1-70b' | 'meta/llama-3.1-8b' | 'meta/llama-3.2-11b' | 'meta/llama-3.2-1b' | 'meta/llama-3.2-3b' | 'meta/llama-3.2-90b' | 'meta/llama-3.3-70b' | 'meta/llama-4-maverick' | 'meta/llama-4-scout' | 'minimax/minimax-m2' | 'minimax/minimax-m2.1' | 'minimax/minimax-m2.1-lightning' | 'minimax/minimax-m2.5' | 'minimax/minimax-m2.5-highspeed' | 'minimax/minimax-m2.7' | 'minimax/minimax-m2.7-highspeed' | 'minimax/minimax-m3' | 'mistral/codestral' | 'mistral/devstral-2' | 'mistral/devstral-small' | 'mistral/devstral-small-2' | 'mistral/magistral-medium' | 'mistral/magistral-small' | 'mistral/ministral-14b' | 'mistral/ministral-3b' | 'mistral/ministral-8b' | 'mistral/mistral-large-3' | 'mistral/mistral-medium' | 'mistral/mistral-medium-3.5' | 'mistral/mistral-nemo' | 'mistral/mistral-small' | 'mistral/pixtral-12b' | 'mistral/pixtral-large' | 'moonshotai/kimi-k2' | 'moonshotai/kimi-k2-thinking' | 'moonshotai/kimi-k2.5' | 'moonshotai/kimi-k2.6' | 'moonshotai/kimi-k2.7-code' | 'moonshotai/kimi-k2.7-code-highspeed' | 'morph/morph-v3-fast' | 'morph/morph-v3-large' | 'nvidia/nemotron-3-nano-30b-a3b' | 'nvidia/nemotron-3-super-120b-a12b' | 'nvidia/nemotron-3-ultra-550b-a55b' | 'nvidia/nemotron-nano-12b-v2-vl' | 'nvidia/nemotron-nano-9b-v2' | 'openai/gpt-3.5-turbo' | 'openai/gpt-3.5-turbo-instruct' | 'openai/gpt-4-turbo' | 'openai/gpt-4.1' | 'openai/gpt-4.1-mini' | 'openai/gpt-4.1-nano' | 'openai/gpt-4o' | 'openai/gpt-4o-mini' | 'openai/gpt-4o-mini-search-preview' | 'openai/gpt-5' | 'openai/gpt-5-chat' | 'openai/gpt-5-codex' | 'openai/gpt-5-mini' | 'openai/gpt-5-nano' | 'openai/gpt-5-pro' | 'openai/gpt-5.1-codex' | 'openai/gpt-5.1-codex-max' | 'openai/gpt-5.1-codex-mini' | 'openai/gpt-5.1-instant' | 'openai/gpt-5.1-thinking' | 'openai/gpt-5.2' | 'openai/gpt-5.2-chat' | 'openai/gpt-5.2-codex' | 'openai/gpt-5.2-pro' | 'openai/gpt-5.3-chat' | 'openai/gpt-5.3-codex' | 'openai/gpt-5.4' | 'openai/gpt-5.4-mini' | 'openai/gpt-5.4-nano' | 'openai/gpt-5.4-pro' | 'openai/gpt-5.5' | 'openai/gpt-5.5-pro' | 'openai/gpt-oss-120b' | 'openai/gpt-oss-20b' | 'openai/gpt-oss-safeguard-20b' | 'openai/o1' | 'openai/o3' | 'openai/o3-deep-research' | 'openai/o3-mini' | 'openai/o3-pro' | 'openai/o4-mini' | 'perplexity/sonar' | 'perplexity/sonar-pro' | 'perplexity/sonar-reasoning-pro' | 'sakana/fugu-ultra' | 'stepfun/step-3.5-flash' | 'stepfun/step-3.7-flash' | 'xai/grok-4.1-fast-non-reasoning' | 'xai/grok-4.1-fast-reasoning' | 'xai/grok-4.20-multi-agent' | 'xai/grok-4.20-multi-agent-beta' | 'xai/grok-4.20-non-reasoning' | 'xai/grok-4.20-non-reasoning-beta' | 'xai/grok-4.20-reasoning' | 'xai/grok-4.20-reasoning-beta' | 'xai/grok-4.3' | 'xai/grok-build-0.1' | 'xiaomi/mimo-v2-flash' | 'xiaomi/mimo-v2-pro' | 'xiaomi/mimo-v2.5' | 'xiaomi/mimo-v2.5-pro' | 'zai/glm-4.5' | 'zai/glm-4.5-air' | 'zai/glm-4.5v' | 'zai/glm-4.6' | 'zai/glm-4.6v' | 'zai/glm-4.6v-flash' | 'zai/glm-4.7' | 'zai/glm-4.7-flash' | 'zai/glm-4.7-flashx' | 'zai/glm-5' | 'zai/glm-5-turbo' | 'zai/glm-5.1' | 'zai/glm-5.2' | 'zai/glm-5.2-fast' | 'zai/glm-5v-turbo' | (string & {}); | ||
| type GatewayModelId = 'alibaba/qwen-3-14b' | 'alibaba/qwen-3-235b' | 'alibaba/qwen-3-30b' | 'alibaba/qwen-3-32b' | 'alibaba/qwen-3.6-max-preview' | 'alibaba/qwen3-235b-a22b-thinking' | 'alibaba/qwen3-coder' | 'alibaba/qwen3-coder-30b-a3b' | 'alibaba/qwen3-coder-next' | 'alibaba/qwen3-coder-plus' | 'alibaba/qwen3-max' | 'alibaba/qwen3-max-preview' | 'alibaba/qwen3-max-thinking' | 'alibaba/qwen3-next-80b-a3b-instruct' | 'alibaba/qwen3-next-80b-a3b-thinking' | 'alibaba/qwen3-vl-235b-a22b-instruct' | 'alibaba/qwen3-vl-instruct' | 'alibaba/qwen3-vl-thinking' | 'alibaba/qwen3.5-flash' | 'alibaba/qwen3.5-plus' | 'alibaba/qwen3.6-27b' | 'alibaba/qwen3.6-plus' | 'alibaba/qwen3.7-max' | 'alibaba/qwen3.7-plus' | 'amazon/nova-2-lite' | 'amazon/nova-lite' | 'amazon/nova-micro' | 'amazon/nova-pro' | 'anthropic/claude-3-haiku' | 'anthropic/claude-3.5-haiku' | 'anthropic/claude-fable-5' | 'anthropic/claude-haiku-4.5' | 'anthropic/claude-opus-4' | 'anthropic/claude-opus-4.1' | 'anthropic/claude-opus-4.5' | 'anthropic/claude-opus-4.6' | 'anthropic/claude-opus-4.7' | 'anthropic/claude-opus-4.8' | 'anthropic/claude-sonnet-4' | 'anthropic/claude-sonnet-4.5' | 'anthropic/claude-sonnet-4.6' | 'anthropic/claude-sonnet-5' | 'arcee-ai/trinity-large-preview' | 'arcee-ai/trinity-large-thinking' | 'arcee-ai/trinity-mini' | 'bytedance/seed-1.6' | 'bytedance/seed-1.8' | 'cohere/command-a' | 'deepseek/deepseek-r1' | 'deepseek/deepseek-v3' | 'deepseek/deepseek-v3.1' | 'deepseek/deepseek-v3.1-terminus' | 'deepseek/deepseek-v3.2' | 'deepseek/deepseek-v3.2-thinking' | 'deepseek/deepseek-v4-flash' | 'deepseek/deepseek-v4-pro' | 'google/gemini-2.5-flash' | 'google/gemini-2.5-flash-image' | 'google/gemini-2.5-flash-lite' | 'google/gemini-2.5-pro' | 'google/gemini-3-flash' | 'google/gemini-3-pro-image' | 'google/gemini-3-pro-preview' | 'google/gemini-3.1-flash-image' | 'google/gemini-3.1-flash-image-preview' | 'google/gemini-3.1-flash-lite' | 'google/gemini-3.1-flash-lite-image' | 'google/gemini-3.1-flash-lite-preview' | 'google/gemini-3.1-pro-preview' | 'google/gemini-3.5-flash' | 'google/gemini-omni-flash-preview' | 'google/gemma-4-26b-a4b-it' | 'google/gemma-4-31b-it' | 'inception/mercury-2' | 'inception/mercury-coder-small' | 'interfaze/interfaze-beta' | 'kwaipilot/kat-coder-air-v2.5' | 'kwaipilot/kat-coder-pro-v1' | 'kwaipilot/kat-coder-pro-v2' | 'kwaipilot/kat-coder-pro-v2.5' | 'meituan/longcat-flash-chat' | 'meituan/longcat-flash-thinking-2601' | 'meta/llama-3.1-70b' | 'meta/llama-3.1-8b' | 'meta/llama-3.2-11b' | 'meta/llama-3.2-1b' | 'meta/llama-3.2-3b' | 'meta/llama-3.2-90b' | 'meta/llama-3.3-70b' | 'meta/llama-4-maverick' | 'meta/llama-4-scout' | 'meta/muse-spark-1.1' | 'minimax/minimax-m2' | 'minimax/minimax-m2.1' | 'minimax/minimax-m2.1-lightning' | 'minimax/minimax-m2.5' | 'minimax/minimax-m2.5-highspeed' | 'minimax/minimax-m2.7' | 'minimax/minimax-m2.7-highspeed' | 'minimax/minimax-m3' | 'mistral/codestral' | 'mistral/devstral-2' | 'mistral/devstral-small' | 'mistral/devstral-small-2' | 'mistral/magistral-medium' | 'mistral/magistral-small' | 'mistral/ministral-14b' | 'mistral/ministral-3b' | 'mistral/ministral-8b' | 'mistral/mistral-large-3' | 'mistral/mistral-medium' | 'mistral/mistral-medium-3.5' | 'mistral/mistral-nemo' | 'mistral/mistral-small' | 'mistral/pixtral-12b' | 'mistral/pixtral-large' | 'moonshotai/kimi-k2' | 'moonshotai/kimi-k2-thinking' | 'moonshotai/kimi-k2.5' | 'moonshotai/kimi-k2.6' | 'moonshotai/kimi-k2.7-code' | 'moonshotai/kimi-k2.7-code-highspeed' | 'morph/morph-v3-fast' | 'morph/morph-v3-large' | 'nvidia/nemotron-3-nano-30b-a3b' | 'nvidia/nemotron-3-super-120b-a12b' | 'nvidia/nemotron-3-ultra-550b-a55b' | 'nvidia/nemotron-nano-12b-v2-vl' | 'nvidia/nemotron-nano-9b-v2' | 'openai/gpt-3.5-turbo' | 'openai/gpt-3.5-turbo-instruct' | 'openai/gpt-4-turbo' | 'openai/gpt-4.1' | 'openai/gpt-4.1-mini' | 'openai/gpt-4.1-nano' | 'openai/gpt-4o' | 'openai/gpt-4o-mini' | 'openai/gpt-4o-mini-search-preview' | 'openai/gpt-5' | 'openai/gpt-5-chat' | 'openai/gpt-5-codex' | 'openai/gpt-5-mini' | 'openai/gpt-5-nano' | 'openai/gpt-5-pro' | 'openai/gpt-5.1-codex' | 'openai/gpt-5.1-codex-max' | 'openai/gpt-5.1-codex-mini' | 'openai/gpt-5.1-instant' | 'openai/gpt-5.1-thinking' | 'openai/gpt-5.2' | 'openai/gpt-5.2-chat' | 'openai/gpt-5.2-codex' | 'openai/gpt-5.2-pro' | 'openai/gpt-5.3-chat' | 'openai/gpt-5.3-codex' | 'openai/gpt-5.4' | 'openai/gpt-5.4-mini' | 'openai/gpt-5.4-nano' | 'openai/gpt-5.4-pro' | 'openai/gpt-5.5' | 'openai/gpt-5.5-pro' | 'openai/gpt-5.6-luna' | 'openai/gpt-5.6-sol' | 'openai/gpt-5.6-terra' | 'openai/gpt-oss-120b' | 'openai/gpt-oss-20b' | 'openai/gpt-oss-safeguard-20b' | 'openai/o1' | 'openai/o3' | 'openai/o3-deep-research' | 'openai/o3-mini' | 'openai/o3-pro' | 'openai/o4-mini' | 'perplexity/sonar' | 'perplexity/sonar-pro' | 'perplexity/sonar-reasoning-pro' | 'sakana/fugu-ultra' | 'stepfun/step-3.5-flash' | 'stepfun/step-3.7-flash' | 'xai/grok-4.1-fast-non-reasoning' | 'xai/grok-4.1-fast-reasoning' | 'xai/grok-4.20-multi-agent' | 'xai/grok-4.20-multi-agent-beta' | 'xai/grok-4.20-non-reasoning' | 'xai/grok-4.20-non-reasoning-beta' | 'xai/grok-4.20-reasoning' | 'xai/grok-4.20-reasoning-beta' | 'xai/grok-4.3' | 'xai/grok-4.5' | 'xai/grok-build-0.1' | 'xiaomi/mimo-v2-flash' | 'xiaomi/mimo-v2-pro' | 'xiaomi/mimo-v2.5' | 'xiaomi/mimo-v2.5-pro' | 'zai/glm-4.5' | 'zai/glm-4.5-air' | 'zai/glm-4.5v' | 'zai/glm-4.6' | 'zai/glm-4.6v' | 'zai/glm-4.6v-flash' | 'zai/glm-4.7' | 'zai/glm-4.7-flash' | 'zai/glm-4.7-flashx' | 'zai/glm-5' | 'zai/glm-5-turbo' | 'zai/glm-5.1' | 'zai/glm-5.2' | 'zai/glm-5.2-fast' | 'zai/glm-5v-turbo' | (string & {}); | ||
@@ -169,3 +169,3 @@ declare const KNOWN_MODEL_TYPES: readonly ["embedding", "image", "language"]; | ||
| type GatewayImageModelId = 'bfl/flux-2-flex' | 'bfl/flux-2-klein-4b' | 'bfl/flux-2-klein-9b' | 'bfl/flux-2-max' | 'bfl/flux-2-pro' | 'bfl/flux-kontext-max' | 'bfl/flux-kontext-pro' | 'bfl/flux-pro-1.0-fill' | 'bfl/flux-pro-1.1' | 'bfl/flux-pro-1.1-ultra' | 'bytedance/seedream-4.0' | 'bytedance/seedream-4.5' | 'bytedance/seedream-5.0-lite' | 'google/imagen-4.0-fast-generate-001' | 'google/imagen-4.0-generate-001' | 'google/imagen-4.0-ultra-generate-001' | 'openai/gpt-image-1' | 'openai/gpt-image-1-mini' | 'openai/gpt-image-1.5' | 'openai/gpt-image-2' | 'prodia/flux-fast-schnell' | 'quiverai/arrow-1.1' | 'recraft/recraft-v2' | 'recraft/recraft-v3' | 'recraft/recraft-v4' | 'recraft/recraft-v4-pro' | 'recraft/recraft-v4.1' | 'recraft/recraft-v4.1-pro' | 'recraft/recraft-v4.1-utility' | 'recraft/recraft-v4.1-utility-pro' | 'xai/grok-imagine-image' | (string & {}); | ||
| type GatewayImageModelId = 'bfl/flux-2-flex' | 'bfl/flux-2-klein-4b' | 'bfl/flux-2-klein-9b' | 'bfl/flux-2-max' | 'bfl/flux-2-pro' | 'bfl/flux-kontext-max' | 'bfl/flux-kontext-pro' | 'bfl/flux-pro-1.0-fill' | 'bfl/flux-pro-1.1' | 'bfl/flux-pro-1.1-ultra' | 'bytedance/seedream-4.0' | 'bytedance/seedream-4.5' | 'bytedance/seedream-5.0-lite' | 'bytedance/seedream-5.0-pro' | 'google/imagen-4.0-fast-generate-001' | 'google/imagen-4.0-generate-001' | 'google/imagen-4.0-ultra-generate-001' | 'openai/gpt-image-1' | 'openai/gpt-image-1-mini' | 'openai/gpt-image-1.5' | 'openai/gpt-image-2' | 'prodia/flux-fast-schnell' | 'quiverai/arrow-1.1' | 'recraft/recraft-v2' | 'recraft/recraft-v3' | 'recraft/recraft-v4' | 'recraft/recraft-v4-pro' | 'recraft/recraft-v4.1' | 'recraft/recraft-v4.1-pro' | 'recraft/recraft-v4.1-utility' | 'recraft/recraft-v4.1-utility-pro' | 'xai/grok-imagine-image' | (string & {}); | ||
@@ -606,6 +606,8 @@ interface PerplexitySearchConfig { | ||
| readonly type = "forbidden"; | ||
| constructor({ message, statusCode, cause, }?: { | ||
| readonly ruleId?: string; | ||
| constructor({ message, statusCode, cause, ruleId, }?: { | ||
| message?: string; | ||
| statusCode?: number; | ||
| cause?: unknown; | ||
| ruleId?: string; | ||
| }); | ||
@@ -612,0 +614,0 @@ static isInstance(error: unknown): error is GatewayForbiddenError; |
+213
-192
@@ -38,3 +38,3 @@ "use strict"; | ||
| // src/gateway-provider.ts | ||
| var import_provider_utils12 = require("@ai-sdk/provider-utils"); | ||
| var import_provider_utils13 = require("@ai-sdk/provider-utils"); | ||
@@ -45,3 +45,3 @@ // src/errors/as-gateway-error.ts | ||
| // src/errors/create-gateway-error.ts | ||
| var import_v42 = require("zod/v4"); | ||
| var import_v43 = require("zod/v4"); | ||
@@ -138,5 +138,14 @@ // src/errors/gateway-error.ts | ||
| // src/errors/gateway-forbidden-error.ts | ||
| var import_v4 = require("zod/v4"); | ||
| var import_provider_utils = require("@ai-sdk/provider-utils"); | ||
| var name2 = "GatewayForbiddenError"; | ||
| var marker3 = `vercel.ai.gateway.error.${name2}`; | ||
| var symbol3 = Symbol.for(marker3); | ||
| var forbiddenParamSchema = (0, import_provider_utils.lazyValidator)( | ||
| () => (0, import_provider_utils.zodSchema)( | ||
| import_v4.z.object({ | ||
| ruleId: import_v4.z.string() | ||
| }) | ||
| ) | ||
| ); | ||
| var _a3, _b3; | ||
@@ -147,3 +156,4 @@ var GatewayForbiddenError = class extends (_b3 = GatewayError, _a3 = symbol3, _b3) { | ||
| statusCode = 403, | ||
| cause | ||
| cause, | ||
| ruleId | ||
| } = {}) { | ||
@@ -155,2 +165,3 @@ super({ message, statusCode, cause }); | ||
| this.type = "forbidden"; | ||
| this.ruleId = ruleId; | ||
| } | ||
@@ -207,11 +218,11 @@ static isInstance(error) { | ||
| // src/errors/gateway-model-not-found-error.ts | ||
| var import_v4 = require("zod/v4"); | ||
| var import_provider_utils = require("@ai-sdk/provider-utils"); | ||
| var import_v42 = require("zod/v4"); | ||
| var import_provider_utils2 = require("@ai-sdk/provider-utils"); | ||
| var name5 = "GatewayModelNotFoundError"; | ||
| var marker6 = `vercel.ai.gateway.error.${name5}`; | ||
| var symbol6 = Symbol.for(marker6); | ||
| var modelNotFoundParamSchema = (0, import_provider_utils.lazyValidator)( | ||
| () => (0, import_provider_utils.zodSchema)( | ||
| import_v4.z.object({ | ||
| modelId: import_v4.z.string() | ||
| var modelNotFoundParamSchema = (0, import_provider_utils2.lazyValidator)( | ||
| () => (0, import_provider_utils2.zodSchema)( | ||
| import_v42.z.object({ | ||
| modelId: import_v42.z.string() | ||
| }) | ||
@@ -289,3 +300,3 @@ ) | ||
| // src/errors/create-gateway-error.ts | ||
| var import_provider_utils2 = require("@ai-sdk/provider-utils"); | ||
| var import_provider_utils3 = require("@ai-sdk/provider-utils"); | ||
| async function createGatewayErrorFromResponse({ | ||
@@ -298,3 +309,3 @@ response, | ||
| }) { | ||
| const parseResult = await (0, import_provider_utils2.safeValidateTypes)({ | ||
| const parseResult = await (0, import_provider_utils3.safeValidateTypes)({ | ||
| value: response, | ||
@@ -328,3 +339,3 @@ schema: gatewayErrorResponseSchema | ||
| case "model_not_found": { | ||
| const modelResult = await (0, import_provider_utils2.safeValidateTypes)({ | ||
| const modelResult = await (0, import_provider_utils3.safeValidateTypes)({ | ||
| value: validatedResponse.error.param, | ||
@@ -342,4 +353,14 @@ schema: modelNotFoundParamSchema | ||
| return new GatewayInternalServerError({ message, statusCode, cause }); | ||
| case "forbidden": | ||
| return new GatewayForbiddenError({ message, statusCode, cause }); | ||
| case "forbidden": { | ||
| const ruleResult = await (0, import_provider_utils3.safeValidateTypes)({ | ||
| value: validatedResponse.error.param, | ||
| schema: forbiddenParamSchema | ||
| }); | ||
| return new GatewayForbiddenError({ | ||
| message, | ||
| statusCode, | ||
| cause, | ||
| ruleId: ruleResult.success ? ruleResult.value.ruleId : void 0 | ||
| }); | ||
| } | ||
| default: | ||
@@ -349,10 +370,10 @@ return new GatewayInternalServerError({ message, statusCode, cause }); | ||
| } | ||
| var gatewayErrorResponseSchema = (0, import_provider_utils2.lazyValidator)( | ||
| () => (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() | ||
| var gatewayErrorResponseSchema = (0, import_provider_utils3.lazyValidator)( | ||
| () => (0, import_provider_utils3.zodSchema)( | ||
| import_v43.z.object({ | ||
| error: import_v43.z.object({ | ||
| message: import_v43.z.string(), | ||
| type: import_v43.z.string().nullish(), | ||
| param: import_v43.z.unknown().nullish(), | ||
| code: import_v43.z.union([import_v43.z.string(), import_v43.z.number()]).nullish() | ||
| }) | ||
@@ -469,7 +490,7 @@ }) | ||
| // src/errors/parse-auth-method.ts | ||
| var import_v43 = require("zod/v4"); | ||
| var import_provider_utils3 = require("@ai-sdk/provider-utils"); | ||
| var import_v44 = require("zod/v4"); | ||
| var import_provider_utils4 = require("@ai-sdk/provider-utils"); | ||
| var GATEWAY_AUTH_METHOD_HEADER = "ai-gateway-auth-method"; | ||
| async function parseAuthMethod(headers) { | ||
| const result = await (0, import_provider_utils3.safeValidateTypes)({ | ||
| const result = await (0, import_provider_utils4.safeValidateTypes)({ | ||
| value: headers[GATEWAY_AUTH_METHOD_HEADER], | ||
@@ -480,9 +501,9 @@ schema: gatewayAuthMethodSchema | ||
| } | ||
| var gatewayAuthMethodSchema = (0, import_provider_utils3.lazyValidator)( | ||
| () => (0, import_provider_utils3.zodSchema)(import_v43.z.union([import_v43.z.literal("api-key"), import_v43.z.literal("oidc")])) | ||
| var gatewayAuthMethodSchema = (0, import_provider_utils4.lazyValidator)( | ||
| () => (0, import_provider_utils4.zodSchema)(import_v44.z.union([import_v44.z.literal("api-key"), import_v44.z.literal("oidc")])) | ||
| ); | ||
| // src/gateway-fetch-metadata.ts | ||
| var import_provider_utils4 = require("@ai-sdk/provider-utils"); | ||
| var import_v44 = require("zod/v4"); | ||
| var import_provider_utils5 = require("@ai-sdk/provider-utils"); | ||
| var import_v45 = require("zod/v4"); | ||
@@ -499,10 +520,10 @@ // src/gateway-model-entry.ts | ||
| try { | ||
| const { value } = await (0, import_provider_utils4.getFromApi)({ | ||
| const { value } = await (0, import_provider_utils5.getFromApi)({ | ||
| url: `${this.config.baseURL}/config`, | ||
| headers: await (0, import_provider_utils4.resolve)(this.config.headers()), | ||
| successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)( | ||
| headers: await (0, import_provider_utils5.resolve)(this.config.headers()), | ||
| successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)( | ||
| gatewayAvailableModelsResponseSchema | ||
| ), | ||
| failedResponseHandler: (0, import_provider_utils4.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v44.z.any(), | ||
| failedResponseHandler: (0, import_provider_utils5.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v45.z.any(), | ||
| errorToMessage: (data) => data | ||
@@ -520,10 +541,10 @@ }), | ||
| const baseUrl = new URL(this.config.baseURL); | ||
| const { value } = await (0, import_provider_utils4.getFromApi)({ | ||
| const { value } = await (0, import_provider_utils5.getFromApi)({ | ||
| url: `${baseUrl.origin}/v1/credits`, | ||
| headers: await (0, import_provider_utils4.resolve)(this.config.headers()), | ||
| successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)( | ||
| headers: await (0, import_provider_utils5.resolve)(this.config.headers()), | ||
| successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)( | ||
| gatewayCreditsResponseSchema | ||
| ), | ||
| failedResponseHandler: (0, import_provider_utils4.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v44.z.any(), | ||
| failedResponseHandler: (0, import_provider_utils5.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v45.z.any(), | ||
| errorToMessage: (data) => data | ||
@@ -539,15 +560,15 @@ }), | ||
| }; | ||
| var gatewayAvailableModelsResponseSchema = (0, import_provider_utils4.lazyValidator)( | ||
| () => (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() | ||
| var gatewayAvailableModelsResponseSchema = (0, import_provider_utils5.lazyValidator)( | ||
| () => (0, import_provider_utils5.zodSchema)( | ||
| import_v45.z.object({ | ||
| models: import_v45.z.array( | ||
| import_v45.z.object({ | ||
| id: import_v45.z.string(), | ||
| name: import_v45.z.string(), | ||
| description: import_v45.z.string().nullish(), | ||
| pricing: import_v45.z.object({ | ||
| input: import_v45.z.string(), | ||
| output: import_v45.z.string(), | ||
| input_cache_read: import_v45.z.string().nullish(), | ||
| input_cache_write: import_v45.z.string().nullish() | ||
| }).transform( | ||
@@ -561,8 +582,8 @@ ({ input, output, input_cache_read, input_cache_write }) => ({ | ||
| ).nullish(), | ||
| specification: import_v44.z.object({ | ||
| specificationVersion: import_v44.z.literal("v2"), | ||
| provider: import_v44.z.string(), | ||
| modelId: import_v44.z.string() | ||
| specification: import_v45.z.object({ | ||
| specificationVersion: import_v45.z.literal("v2"), | ||
| provider: import_v45.z.string(), | ||
| modelId: import_v45.z.string() | ||
| }), | ||
| modelType: import_v44.z.string().nullish() | ||
| modelType: import_v45.z.string().nullish() | ||
| }) | ||
@@ -577,7 +598,7 @@ ).transform( | ||
| ); | ||
| var gatewayCreditsResponseSchema = (0, import_provider_utils4.lazyValidator)( | ||
| () => (0, import_provider_utils4.zodSchema)( | ||
| import_v44.z.object({ | ||
| balance: import_v44.z.string(), | ||
| total_used: import_v44.z.string() | ||
| var gatewayCreditsResponseSchema = (0, import_provider_utils5.lazyValidator)( | ||
| () => (0, import_provider_utils5.zodSchema)( | ||
| import_v45.z.object({ | ||
| balance: import_v45.z.string(), | ||
| total_used: import_v45.z.string() | ||
| }).transform(({ balance, total_used }) => ({ | ||
@@ -591,4 +612,4 @@ balance, | ||
| // src/gateway-spend-report.ts | ||
| var import_provider_utils5 = require("@ai-sdk/provider-utils"); | ||
| var import_v45 = require("zod/v4"); | ||
| var import_provider_utils6 = require("@ai-sdk/provider-utils"); | ||
| var import_v46 = require("zod/v4"); | ||
| var GatewaySpendReport = class { | ||
@@ -625,10 +646,10 @@ constructor(config) { | ||
| } | ||
| const { value } = await (0, import_provider_utils5.getFromApi)({ | ||
| const { value } = await (0, import_provider_utils6.getFromApi)({ | ||
| url: `${baseUrl.origin}/v1/report?${searchParams.toString()}`, | ||
| headers: await (0, import_provider_utils5.resolve)(this.config.headers()), | ||
| successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)( | ||
| headers: await (0, import_provider_utils6.resolve)(this.config.headers()), | ||
| successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)( | ||
| gatewaySpendReportResponseSchema | ||
| ), | ||
| failedResponseHandler: (0, import_provider_utils5.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v45.z.any(), | ||
| failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v46.z.any(), | ||
| errorToMessage: (data) => data | ||
@@ -644,22 +665,22 @@ }), | ||
| }; | ||
| var 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() | ||
| var gatewaySpendReportResponseSchema = (0, import_provider_utils6.lazySchema)( | ||
| () => (0, import_provider_utils6.zodSchema)( | ||
| import_v46.z.object({ | ||
| results: import_v46.z.array( | ||
| import_v46.z.object({ | ||
| day: import_v46.z.string().optional(), | ||
| hour: import_v46.z.string().optional(), | ||
| user: import_v46.z.string().optional(), | ||
| model: import_v46.z.string().optional(), | ||
| tag: import_v46.z.string().optional(), | ||
| provider: import_v46.z.string().optional(), | ||
| credential_type: import_v46.z.enum(["byok", "system"]).optional(), | ||
| total_cost: import_v46.z.number(), | ||
| market_cost: import_v46.z.number().optional(), | ||
| input_tokens: import_v46.z.number().optional(), | ||
| output_tokens: import_v46.z.number().optional(), | ||
| cached_input_tokens: import_v46.z.number().optional(), | ||
| cache_creation_input_tokens: import_v46.z.number().optional(), | ||
| reasoning_tokens: import_v46.z.number().optional(), | ||
| request_count: import_v46.z.number().optional() | ||
| }).transform( | ||
@@ -696,4 +717,4 @@ ({ | ||
| // src/gateway-generation-info.ts | ||
| var import_provider_utils6 = require("@ai-sdk/provider-utils"); | ||
| var import_v46 = require("zod/v4"); | ||
| var import_provider_utils7 = require("@ai-sdk/provider-utils"); | ||
| var import_v47 = require("zod/v4"); | ||
| var GatewayGenerationInfoFetcher = class { | ||
@@ -706,10 +727,10 @@ constructor(config) { | ||
| const baseUrl = new URL(this.config.baseURL); | ||
| const { value } = await (0, import_provider_utils6.getFromApi)({ | ||
| const { value } = await (0, import_provider_utils7.getFromApi)({ | ||
| url: `${baseUrl.origin}/v1/generation?id=${encodeURIComponent(params.id)}`, | ||
| headers: await (0, import_provider_utils6.resolve)(this.config.headers()), | ||
| successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)( | ||
| headers: await (0, import_provider_utils7.resolve)(this.config.headers()), | ||
| successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)( | ||
| gatewayGenerationInfoResponseSchema | ||
| ), | ||
| failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v46.z.any(), | ||
| failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v47.z.any(), | ||
| errorToMessage: (data) => data | ||
@@ -725,24 +746,24 @@ }), | ||
| }; | ||
| var 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() | ||
| var gatewayGenerationInfoResponseSchema = (0, import_provider_utils7.lazySchema)( | ||
| () => (0, import_provider_utils7.zodSchema)( | ||
| import_v47.z.object({ | ||
| data: import_v47.z.object({ | ||
| id: import_v47.z.string(), | ||
| total_cost: import_v47.z.number(), | ||
| upstream_inference_cost: import_v47.z.number(), | ||
| usage: import_v47.z.number(), | ||
| created_at: import_v47.z.string(), | ||
| model: import_v47.z.string(), | ||
| is_byok: import_v47.z.boolean(), | ||
| provider_name: import_v47.z.string(), | ||
| streamed: import_v47.z.boolean(), | ||
| finish_reason: import_v47.z.string(), | ||
| latency: import_v47.z.number(), | ||
| generation_time: import_v47.z.number(), | ||
| native_tokens_prompt: import_v47.z.number(), | ||
| native_tokens_completion: import_v47.z.number(), | ||
| native_tokens_reasoning: import_v47.z.number(), | ||
| native_tokens_cached: import_v47.z.number(), | ||
| native_tokens_cache_creation: import_v47.z.number(), | ||
| billable_web_search_calls: import_v47.z.number() | ||
| }).transform( | ||
@@ -786,4 +807,4 @@ ({ | ||
| // src/gateway-language-model.ts | ||
| var import_provider_utils7 = require("@ai-sdk/provider-utils"); | ||
| var import_v47 = require("zod/v4"); | ||
| var import_provider_utils8 = require("@ai-sdk/provider-utils"); | ||
| var import_v48 = require("zod/v4"); | ||
| var GatewayLanguageModel = class { | ||
@@ -809,3 +830,3 @@ constructor(modelId, config) { | ||
| const { abortSignal } = options; | ||
| const resolvedHeaders = await (0, import_provider_utils7.resolve)(this.config.headers()); | ||
| const resolvedHeaders = await (0, import_provider_utils8.resolve)(this.config.headers()); | ||
| try { | ||
@@ -816,14 +837,14 @@ const { | ||
| rawValue: rawResponse | ||
| } = await (0, import_provider_utils7.postJsonToApi)({ | ||
| } = await (0, import_provider_utils8.postJsonToApi)({ | ||
| url: this.getUrl(), | ||
| headers: (0, import_provider_utils7.combineHeaders)( | ||
| headers: (0, import_provider_utils8.combineHeaders)( | ||
| resolvedHeaders, | ||
| options.headers, | ||
| this.getModelConfigHeaders(this.modelId, false), | ||
| await (0, import_provider_utils7.resolve)(this.config.o11yHeaders) | ||
| await (0, import_provider_utils8.resolve)(this.config.o11yHeaders) | ||
| ), | ||
| body: args, | ||
| successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(import_v47.z.any()), | ||
| failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v47.z.any(), | ||
| successfulResponseHandler: (0, import_provider_utils8.createJsonResponseHandler)(import_v48.z.any()), | ||
| failedResponseHandler: (0, import_provider_utils8.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v48.z.any(), | ||
| errorToMessage: (data) => data | ||
@@ -847,16 +868,16 @@ }), | ||
| const { abortSignal } = options; | ||
| const resolvedHeaders = await (0, import_provider_utils7.resolve)(this.config.headers()); | ||
| const resolvedHeaders = await (0, import_provider_utils8.resolve)(this.config.headers()); | ||
| try { | ||
| const { value: response, responseHeaders } = await (0, import_provider_utils7.postJsonToApi)({ | ||
| const { value: response, responseHeaders } = await (0, import_provider_utils8.postJsonToApi)({ | ||
| url: this.getUrl(), | ||
| headers: (0, import_provider_utils7.combineHeaders)( | ||
| headers: (0, import_provider_utils8.combineHeaders)( | ||
| resolvedHeaders, | ||
| options.headers, | ||
| this.getModelConfigHeaders(this.modelId, true), | ||
| await (0, import_provider_utils7.resolve)(this.config.o11yHeaders) | ||
| await (0, import_provider_utils8.resolve)(this.config.o11yHeaders) | ||
| ), | ||
| body: args, | ||
| successfulResponseHandler: (0, import_provider_utils7.createEventSourceResponseHandler)(import_v47.z.any()), | ||
| failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v47.z.any(), | ||
| successfulResponseHandler: (0, import_provider_utils8.createEventSourceResponseHandler)(import_v48.z.any()), | ||
| failedResponseHandler: (0, import_provider_utils8.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v48.z.any(), | ||
| errorToMessage: (data) => data | ||
@@ -939,4 +960,4 @@ }), | ||
| // src/gateway-embedding-model.ts | ||
| var import_provider_utils8 = require("@ai-sdk/provider-utils"); | ||
| var import_v48 = require("zod/v4"); | ||
| var import_provider_utils9 = require("@ai-sdk/provider-utils"); | ||
| var import_v49 = require("zod/v4"); | ||
| var GatewayEmbeddingModel = class { | ||
@@ -960,3 +981,3 @@ constructor(modelId, config) { | ||
| var _a10; | ||
| const resolvedHeaders = await (0, import_provider_utils8.resolve)(this.config.headers()); | ||
| const resolvedHeaders = await (0, import_provider_utils9.resolve)(this.config.headers()); | ||
| try { | ||
@@ -967,9 +988,9 @@ const { | ||
| rawValue | ||
| } = await (0, import_provider_utils8.postJsonToApi)({ | ||
| } = await (0, import_provider_utils9.postJsonToApi)({ | ||
| url: this.getUrl(), | ||
| headers: (0, import_provider_utils8.combineHeaders)( | ||
| headers: (0, import_provider_utils9.combineHeaders)( | ||
| resolvedHeaders, | ||
| headers != null ? headers : {}, | ||
| this.getModelConfigHeaders(), | ||
| await (0, import_provider_utils8.resolve)(this.config.o11yHeaders) | ||
| await (0, import_provider_utils9.resolve)(this.config.o11yHeaders) | ||
| ), | ||
@@ -980,7 +1001,7 @@ body: { | ||
| }, | ||
| successfulResponseHandler: (0, import_provider_utils8.createJsonResponseHandler)( | ||
| successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)( | ||
| gatewayEmbeddingResponseSchema | ||
| ), | ||
| failedResponseHandler: (0, import_provider_utils8.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v48.z.any(), | ||
| failedResponseHandler: (0, import_provider_utils9.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v49.z.any(), | ||
| errorToMessage: (data) => data | ||
@@ -1011,8 +1032,8 @@ }), | ||
| }; | ||
| var gatewayEmbeddingResponseSchema = (0, import_provider_utils8.lazyValidator)( | ||
| () => (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() | ||
| var gatewayEmbeddingResponseSchema = (0, import_provider_utils9.lazyValidator)( | ||
| () => (0, import_provider_utils9.zodSchema)( | ||
| import_v49.z.object({ | ||
| embeddings: import_v49.z.array(import_v49.z.array(import_v49.z.number())), | ||
| usage: import_v49.z.object({ tokens: import_v49.z.number() }).nullish(), | ||
| providerMetadata: import_v49.z.record(import_v49.z.string(), import_v49.z.record(import_v49.z.string(), import_v49.z.unknown())).optional() | ||
| }) | ||
@@ -1023,4 +1044,4 @@ ) | ||
| // src/gateway-image-model.ts | ||
| var import_provider_utils9 = require("@ai-sdk/provider-utils"); | ||
| var import_v49 = require("zod/v4"); | ||
| var import_provider_utils10 = require("@ai-sdk/provider-utils"); | ||
| var import_v410 = require("zod/v4"); | ||
| var GatewayImageModel = class { | ||
@@ -1048,3 +1069,3 @@ constructor(modelId, config) { | ||
| var _a10, _b10, _c, _d; | ||
| const resolvedHeaders = await (0, import_provider_utils9.resolve)(this.config.headers()); | ||
| const resolvedHeaders = await (0, import_provider_utils10.resolve)(this.config.headers()); | ||
| try { | ||
@@ -1055,9 +1076,9 @@ const { | ||
| rawValue | ||
| } = await (0, import_provider_utils9.postJsonToApi)({ | ||
| } = await (0, import_provider_utils10.postJsonToApi)({ | ||
| url: this.getUrl(), | ||
| headers: (0, import_provider_utils9.combineHeaders)( | ||
| headers: (0, import_provider_utils10.combineHeaders)( | ||
| resolvedHeaders, | ||
| headers != null ? headers : {}, | ||
| this.getModelConfigHeaders(), | ||
| await (0, import_provider_utils9.resolve)(this.config.o11yHeaders) | ||
| await (0, import_provider_utils10.resolve)(this.config.o11yHeaders) | ||
| ), | ||
@@ -1072,7 +1093,7 @@ body: { | ||
| }, | ||
| successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)( | ||
| successfulResponseHandler: (0, import_provider_utils10.createJsonResponseHandler)( | ||
| gatewayImageResponseSchema | ||
| ), | ||
| failedResponseHandler: (0, import_provider_utils9.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v49.z.any(), | ||
| failedResponseHandler: (0, import_provider_utils10.createJsonErrorResponseHandler)({ | ||
| errorSchema: import_v410.z.any(), | ||
| errorToMessage: (data) => data | ||
@@ -1115,20 +1136,20 @@ }), | ||
| }; | ||
| var providerMetadataEntrySchema = import_v49.z.object({ | ||
| images: import_v49.z.array(import_v49.z.unknown()).optional() | ||
| }).catchall(import_v49.z.unknown()); | ||
| var gatewayImageUsageSchema = import_v49.z.object({ | ||
| inputTokens: import_v49.z.number().nullish(), | ||
| outputTokens: import_v49.z.number().nullish(), | ||
| totalTokens: import_v49.z.number().nullish() | ||
| var providerMetadataEntrySchema = import_v410.z.object({ | ||
| images: import_v410.z.array(import_v410.z.unknown()).optional() | ||
| }).catchall(import_v410.z.unknown()); | ||
| var gatewayImageUsageSchema = import_v410.z.object({ | ||
| inputTokens: import_v410.z.number().nullish(), | ||
| outputTokens: import_v410.z.number().nullish(), | ||
| totalTokens: import_v410.z.number().nullish() | ||
| }); | ||
| var gatewayImageResponseSchema = import_v49.z.object({ | ||
| images: import_v49.z.array(import_v49.z.string()), | ||
| var gatewayImageResponseSchema = import_v410.z.object({ | ||
| images: import_v410.z.array(import_v410.z.string()), | ||
| // Always base64 strings over the wire | ||
| warnings: import_v49.z.array( | ||
| import_v49.z.object({ | ||
| type: import_v49.z.literal("other"), | ||
| message: import_v49.z.string() | ||
| warnings: import_v410.z.array( | ||
| import_v410.z.object({ | ||
| type: import_v410.z.literal("other"), | ||
| message: import_v410.z.string() | ||
| }) | ||
| ).optional(), | ||
| providerMetadata: import_v49.z.record(import_v49.z.string(), providerMetadataEntrySchema).optional(), | ||
| providerMetadata: import_v410.z.record(import_v410.z.string(), providerMetadataEntrySchema).optional(), | ||
| usage: gatewayImageUsageSchema.optional() | ||
@@ -1138,6 +1159,6 @@ }); | ||
| // src/tool/parallel-search.ts | ||
| var import_provider_utils10 = require("@ai-sdk/provider-utils"); | ||
| var import_provider_utils11 = require("@ai-sdk/provider-utils"); | ||
| var import_zod = require("zod"); | ||
| var parallelSearchInputSchema = (0, import_provider_utils10.lazySchema)( | ||
| () => (0, import_provider_utils10.zodSchema)( | ||
| var parallelSearchInputSchema = (0, import_provider_utils11.lazySchema)( | ||
| () => (0, import_provider_utils11.zodSchema)( | ||
| import_zod.z.object({ | ||
@@ -1177,4 +1198,4 @@ objective: import_zod.z.string().describe( | ||
| ); | ||
| var parallelSearchOutputSchema = (0, import_provider_utils10.lazySchema)( | ||
| () => (0, import_provider_utils10.zodSchema)( | ||
| var parallelSearchOutputSchema = (0, import_provider_utils11.lazySchema)( | ||
| () => (0, import_provider_utils11.zodSchema)( | ||
| import_zod.z.union([ | ||
@@ -1210,3 +1231,3 @@ // Success response | ||
| ); | ||
| var parallelSearchToolFactory = (0, import_provider_utils10.createProviderDefinedToolFactoryWithOutputSchema)({ | ||
| var parallelSearchToolFactory = (0, import_provider_utils11.createProviderDefinedToolFactoryWithOutputSchema)({ | ||
| id: "gateway.parallel_search", | ||
@@ -1220,6 +1241,6 @@ name: "parallel_search", | ||
| // src/tool/perplexity-search.ts | ||
| var import_provider_utils11 = require("@ai-sdk/provider-utils"); | ||
| var import_provider_utils12 = require("@ai-sdk/provider-utils"); | ||
| var import_zod2 = require("zod"); | ||
| var perplexitySearchInputSchema = (0, import_provider_utils11.lazySchema)( | ||
| () => (0, import_provider_utils11.zodSchema)( | ||
| var perplexitySearchInputSchema = (0, import_provider_utils12.lazySchema)( | ||
| () => (0, import_provider_utils12.zodSchema)( | ||
| import_zod2.z.object({ | ||
@@ -1265,4 +1286,4 @@ query: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.array(import_zod2.z.string())]).describe( | ||
| ); | ||
| var perplexitySearchOutputSchema = (0, import_provider_utils11.lazySchema)( | ||
| () => (0, import_provider_utils11.zodSchema)( | ||
| var perplexitySearchOutputSchema = (0, import_provider_utils12.lazySchema)( | ||
| () => (0, import_provider_utils12.zodSchema)( | ||
| import_zod2.z.union([ | ||
@@ -1297,3 +1318,3 @@ // Success response | ||
| ); | ||
| var perplexitySearchToolFactory = (0, import_provider_utils11.createProviderDefinedToolFactoryWithOutputSchema)({ | ||
| var perplexitySearchToolFactory = (0, import_provider_utils12.createProviderDefinedToolFactoryWithOutputSchema)({ | ||
| id: "gateway.perplexity_search", | ||
@@ -1336,3 +1357,3 @@ name: "perplexity_search", | ||
| // src/version.ts | ||
| var VERSION = true ? "2.0.109" : "0.0.0-test"; | ||
| var VERSION = true ? "2.0.111" : "0.0.0-test"; | ||
@@ -1347,7 +1368,7 @@ // src/gateway-provider.ts | ||
| let lastFetchTime = 0; | ||
| const baseURL = (_b10 = (0, import_provider_utils12.withoutTrailingSlash)(options.baseURL)) != null ? _b10 : "https://ai-gateway.vercel.sh/v1/ai"; | ||
| const baseURL = (_b10 = (0, import_provider_utils13.withoutTrailingSlash)(options.baseURL)) != null ? _b10 : "https://ai-gateway.vercel.sh/v1/ai"; | ||
| const getHeaders = async () => { | ||
| const auth = await getGatewayAuthToken(options); | ||
| if (auth) { | ||
| return (0, import_provider_utils12.withUserAgentSuffix)( | ||
| return (0, import_provider_utils13.withUserAgentSuffix)( | ||
| { | ||
@@ -1369,15 +1390,15 @@ Authorization: `Bearer ${auth.token}`, | ||
| const createO11yHeaders = () => { | ||
| const deploymentId = (0, import_provider_utils12.loadOptionalSetting)({ | ||
| const deploymentId = (0, import_provider_utils13.loadOptionalSetting)({ | ||
| settingValue: void 0, | ||
| environmentVariableName: "VERCEL_DEPLOYMENT_ID" | ||
| }); | ||
| const environment = (0, import_provider_utils12.loadOptionalSetting)({ | ||
| const environment = (0, import_provider_utils13.loadOptionalSetting)({ | ||
| settingValue: void 0, | ||
| environmentVariableName: "VERCEL_ENV" | ||
| }); | ||
| const region = (0, import_provider_utils12.loadOptionalSetting)({ | ||
| const region = (0, import_provider_utils13.loadOptionalSetting)({ | ||
| settingValue: void 0, | ||
| environmentVariableName: "VERCEL_REGION" | ||
| }); | ||
| const projectId = (0, import_provider_utils12.loadOptionalSetting)({ | ||
| const projectId = (0, import_provider_utils13.loadOptionalSetting)({ | ||
| settingValue: void 0, | ||
@@ -1499,3 +1520,3 @@ environmentVariableName: "VERCEL_PROJECT_ID" | ||
| async function getGatewayAuthToken(options) { | ||
| const apiKey = (0, import_provider_utils12.loadOptionalSetting)({ | ||
| const apiKey = (0, import_provider_utils13.loadOptionalSetting)({ | ||
| settingValue: options.apiKey, | ||
@@ -1502,0 +1523,0 @@ environmentVariableName: "AI_GATEWAY_API_KEY" |
+215
-194
@@ -12,3 +12,3 @@ // src/gateway-provider.ts | ||
| // src/errors/create-gateway-error.ts | ||
| import { z as z2 } from "zod/v4"; | ||
| import { z as z3 } from "zod/v4"; | ||
@@ -105,5 +105,14 @@ // src/errors/gateway-error.ts | ||
| // src/errors/gateway-forbidden-error.ts | ||
| import { z } from "zod/v4"; | ||
| import { lazyValidator, zodSchema } from "@ai-sdk/provider-utils"; | ||
| var name2 = "GatewayForbiddenError"; | ||
| var marker3 = `vercel.ai.gateway.error.${name2}`; | ||
| var symbol3 = Symbol.for(marker3); | ||
| var forbiddenParamSchema = lazyValidator( | ||
| () => zodSchema( | ||
| z.object({ | ||
| ruleId: z.string() | ||
| }) | ||
| ) | ||
| ); | ||
| var _a3, _b3; | ||
@@ -114,3 +123,4 @@ var GatewayForbiddenError = class extends (_b3 = GatewayError, _a3 = symbol3, _b3) { | ||
| statusCode = 403, | ||
| cause | ||
| cause, | ||
| ruleId | ||
| } = {}) { | ||
@@ -122,2 +132,3 @@ super({ message, statusCode, cause }); | ||
| this.type = "forbidden"; | ||
| this.ruleId = ruleId; | ||
| } | ||
@@ -174,11 +185,11 @@ static isInstance(error) { | ||
| // src/errors/gateway-model-not-found-error.ts | ||
| import { z } from "zod/v4"; | ||
| import { lazyValidator, zodSchema } from "@ai-sdk/provider-utils"; | ||
| import { z as z2 } from "zod/v4"; | ||
| import { lazyValidator as lazyValidator2, zodSchema as zodSchema2 } from "@ai-sdk/provider-utils"; | ||
| var name5 = "GatewayModelNotFoundError"; | ||
| var marker6 = `vercel.ai.gateway.error.${name5}`; | ||
| var symbol6 = Symbol.for(marker6); | ||
| var modelNotFoundParamSchema = lazyValidator( | ||
| () => zodSchema( | ||
| z.object({ | ||
| modelId: z.string() | ||
| var modelNotFoundParamSchema = lazyValidator2( | ||
| () => zodSchema2( | ||
| z2.object({ | ||
| modelId: z2.string() | ||
| }) | ||
@@ -257,5 +268,5 @@ ) | ||
| import { | ||
| lazyValidator as lazyValidator2, | ||
| lazyValidator as lazyValidator3, | ||
| safeValidateTypes, | ||
| zodSchema as zodSchema2 | ||
| zodSchema as zodSchema3 | ||
| } from "@ai-sdk/provider-utils"; | ||
@@ -311,4 +322,14 @@ async function createGatewayErrorFromResponse({ | ||
| return new GatewayInternalServerError({ message, statusCode, cause }); | ||
| case "forbidden": | ||
| return new GatewayForbiddenError({ message, statusCode, cause }); | ||
| case "forbidden": { | ||
| const ruleResult = await safeValidateTypes({ | ||
| value: validatedResponse.error.param, | ||
| schema: forbiddenParamSchema | ||
| }); | ||
| return new GatewayForbiddenError({ | ||
| message, | ||
| statusCode, | ||
| cause, | ||
| ruleId: ruleResult.success ? ruleResult.value.ruleId : void 0 | ||
| }); | ||
| } | ||
| default: | ||
@@ -318,10 +339,10 @@ return new GatewayInternalServerError({ message, statusCode, cause }); | ||
| } | ||
| var gatewayErrorResponseSchema = lazyValidator2( | ||
| () => zodSchema2( | ||
| z2.object({ | ||
| error: z2.object({ | ||
| message: z2.string(), | ||
| type: z2.string().nullish(), | ||
| param: z2.unknown().nullish(), | ||
| code: z2.union([z2.string(), z2.number()]).nullish() | ||
| var gatewayErrorResponseSchema = lazyValidator3( | ||
| () => zodSchema3( | ||
| z3.object({ | ||
| error: z3.object({ | ||
| message: z3.string(), | ||
| type: z3.string().nullish(), | ||
| param: z3.unknown().nullish(), | ||
| code: z3.union([z3.string(), z3.number()]).nullish() | ||
| }) | ||
@@ -438,7 +459,7 @@ }) | ||
| // src/errors/parse-auth-method.ts | ||
| import { z as z3 } from "zod/v4"; | ||
| import { z as z4 } from "zod/v4"; | ||
| import { | ||
| lazyValidator as lazyValidator3, | ||
| lazyValidator as lazyValidator4, | ||
| safeValidateTypes as safeValidateTypes2, | ||
| zodSchema as zodSchema3 | ||
| zodSchema as zodSchema4 | ||
| } from "@ai-sdk/provider-utils"; | ||
@@ -453,4 +474,4 @@ var GATEWAY_AUTH_METHOD_HEADER = "ai-gateway-auth-method"; | ||
| } | ||
| var gatewayAuthMethodSchema = lazyValidator3( | ||
| () => zodSchema3(z3.union([z3.literal("api-key"), z3.literal("oidc")])) | ||
| var gatewayAuthMethodSchema = lazyValidator4( | ||
| () => zodSchema4(z4.union([z4.literal("api-key"), z4.literal("oidc")])) | ||
| ); | ||
@@ -463,7 +484,7 @@ | ||
| getFromApi, | ||
| lazyValidator as lazyValidator4, | ||
| lazyValidator as lazyValidator5, | ||
| resolve, | ||
| zodSchema as zodSchema4 | ||
| zodSchema as zodSchema5 | ||
| } from "@ai-sdk/provider-utils"; | ||
| import { z as z4 } from "zod/v4"; | ||
| import { z as z5 } from "zod/v4"; | ||
@@ -487,3 +508,3 @@ // src/gateway-model-entry.ts | ||
| failedResponseHandler: createJsonErrorResponseHandler({ | ||
| errorSchema: z4.any(), | ||
| errorSchema: z5.any(), | ||
| errorToMessage: (data) => data | ||
@@ -508,3 +529,3 @@ }), | ||
| failedResponseHandler: createJsonErrorResponseHandler({ | ||
| errorSchema: z4.any(), | ||
| errorSchema: z5.any(), | ||
| errorToMessage: (data) => data | ||
@@ -520,15 +541,15 @@ }), | ||
| }; | ||
| var gatewayAvailableModelsResponseSchema = lazyValidator4( | ||
| () => zodSchema4( | ||
| z4.object({ | ||
| models: z4.array( | ||
| z4.object({ | ||
| id: z4.string(), | ||
| name: z4.string(), | ||
| description: z4.string().nullish(), | ||
| pricing: z4.object({ | ||
| input: z4.string(), | ||
| output: z4.string(), | ||
| input_cache_read: z4.string().nullish(), | ||
| input_cache_write: z4.string().nullish() | ||
| var gatewayAvailableModelsResponseSchema = lazyValidator5( | ||
| () => zodSchema5( | ||
| z5.object({ | ||
| models: z5.array( | ||
| z5.object({ | ||
| id: z5.string(), | ||
| name: z5.string(), | ||
| description: z5.string().nullish(), | ||
| pricing: z5.object({ | ||
| input: z5.string(), | ||
| output: z5.string(), | ||
| input_cache_read: z5.string().nullish(), | ||
| input_cache_write: z5.string().nullish() | ||
| }).transform( | ||
@@ -542,8 +563,8 @@ ({ input, output, input_cache_read, input_cache_write }) => ({ | ||
| ).nullish(), | ||
| specification: z4.object({ | ||
| specificationVersion: z4.literal("v2"), | ||
| provider: z4.string(), | ||
| modelId: z4.string() | ||
| specification: z5.object({ | ||
| specificationVersion: z5.literal("v2"), | ||
| provider: z5.string(), | ||
| modelId: z5.string() | ||
| }), | ||
| modelType: z4.string().nullish() | ||
| modelType: z5.string().nullish() | ||
| }) | ||
@@ -558,7 +579,7 @@ ).transform( | ||
| ); | ||
| var gatewayCreditsResponseSchema = lazyValidator4( | ||
| () => zodSchema4( | ||
| z4.object({ | ||
| balance: z4.string(), | ||
| total_used: z4.string() | ||
| var gatewayCreditsResponseSchema = lazyValidator5( | ||
| () => zodSchema5( | ||
| z5.object({ | ||
| balance: z5.string(), | ||
| total_used: z5.string() | ||
| }).transform(({ balance, total_used }) => ({ | ||
@@ -578,5 +599,5 @@ balance, | ||
| resolve as resolve2, | ||
| zodSchema as zodSchema5 | ||
| zodSchema as zodSchema6 | ||
| } from "@ai-sdk/provider-utils"; | ||
| import { z as z5 } from "zod/v4"; | ||
| import { z as z6 } from "zod/v4"; | ||
| var GatewaySpendReport = class { | ||
@@ -620,3 +641,3 @@ constructor(config) { | ||
| failedResponseHandler: createJsonErrorResponseHandler2({ | ||
| errorSchema: z5.any(), | ||
| errorSchema: z6.any(), | ||
| errorToMessage: (data) => data | ||
@@ -633,21 +654,21 @@ }), | ||
| var gatewaySpendReportResponseSchema = lazySchema( | ||
| () => zodSchema5( | ||
| z5.object({ | ||
| results: z5.array( | ||
| z5.object({ | ||
| day: z5.string().optional(), | ||
| hour: z5.string().optional(), | ||
| user: z5.string().optional(), | ||
| model: z5.string().optional(), | ||
| tag: z5.string().optional(), | ||
| provider: z5.string().optional(), | ||
| credential_type: z5.enum(["byok", "system"]).optional(), | ||
| total_cost: z5.number(), | ||
| market_cost: z5.number().optional(), | ||
| input_tokens: z5.number().optional(), | ||
| output_tokens: z5.number().optional(), | ||
| cached_input_tokens: z5.number().optional(), | ||
| cache_creation_input_tokens: z5.number().optional(), | ||
| reasoning_tokens: z5.number().optional(), | ||
| request_count: z5.number().optional() | ||
| () => zodSchema6( | ||
| z6.object({ | ||
| results: z6.array( | ||
| z6.object({ | ||
| day: z6.string().optional(), | ||
| hour: z6.string().optional(), | ||
| user: z6.string().optional(), | ||
| model: z6.string().optional(), | ||
| tag: z6.string().optional(), | ||
| provider: z6.string().optional(), | ||
| credential_type: z6.enum(["byok", "system"]).optional(), | ||
| total_cost: z6.number(), | ||
| market_cost: z6.number().optional(), | ||
| input_tokens: z6.number().optional(), | ||
| output_tokens: z6.number().optional(), | ||
| cached_input_tokens: z6.number().optional(), | ||
| cache_creation_input_tokens: z6.number().optional(), | ||
| reasoning_tokens: z6.number().optional(), | ||
| request_count: z6.number().optional() | ||
| }).transform( | ||
@@ -690,5 +711,5 @@ ({ | ||
| resolve as resolve3, | ||
| zodSchema as zodSchema6 | ||
| zodSchema as zodSchema7 | ||
| } from "@ai-sdk/provider-utils"; | ||
| import { z as z6 } from "zod/v4"; | ||
| import { z as z7 } from "zod/v4"; | ||
| var GatewayGenerationInfoFetcher = class { | ||
@@ -708,3 +729,3 @@ constructor(config) { | ||
| failedResponseHandler: createJsonErrorResponseHandler3({ | ||
| errorSchema: z6.any(), | ||
| errorSchema: z7.any(), | ||
| errorToMessage: (data) => data | ||
@@ -721,23 +742,23 @@ }), | ||
| var gatewayGenerationInfoResponseSchema = lazySchema2( | ||
| () => zodSchema6( | ||
| z6.object({ | ||
| data: z6.object({ | ||
| id: z6.string(), | ||
| total_cost: z6.number(), | ||
| upstream_inference_cost: z6.number(), | ||
| usage: z6.number(), | ||
| created_at: z6.string(), | ||
| model: z6.string(), | ||
| is_byok: z6.boolean(), | ||
| provider_name: z6.string(), | ||
| streamed: z6.boolean(), | ||
| finish_reason: z6.string(), | ||
| latency: z6.number(), | ||
| generation_time: z6.number(), | ||
| native_tokens_prompt: z6.number(), | ||
| native_tokens_completion: z6.number(), | ||
| native_tokens_reasoning: z6.number(), | ||
| native_tokens_cached: z6.number(), | ||
| native_tokens_cache_creation: z6.number(), | ||
| billable_web_search_calls: z6.number() | ||
| () => zodSchema7( | ||
| z7.object({ | ||
| data: z7.object({ | ||
| id: z7.string(), | ||
| total_cost: z7.number(), | ||
| upstream_inference_cost: z7.number(), | ||
| usage: z7.number(), | ||
| created_at: z7.string(), | ||
| model: z7.string(), | ||
| is_byok: z7.boolean(), | ||
| provider_name: z7.string(), | ||
| streamed: z7.boolean(), | ||
| finish_reason: z7.string(), | ||
| latency: z7.number(), | ||
| generation_time: z7.number(), | ||
| native_tokens_prompt: z7.number(), | ||
| native_tokens_completion: z7.number(), | ||
| native_tokens_reasoning: z7.number(), | ||
| native_tokens_cached: z7.number(), | ||
| native_tokens_cache_creation: z7.number(), | ||
| billable_web_search_calls: z7.number() | ||
| }).transform( | ||
@@ -789,3 +810,3 @@ ({ | ||
| } from "@ai-sdk/provider-utils"; | ||
| import { z as z7 } from "zod/v4"; | ||
| import { z as z8 } from "zod/v4"; | ||
| var GatewayLanguageModel = class { | ||
@@ -826,5 +847,5 @@ constructor(modelId, config) { | ||
| body: args, | ||
| successfulResponseHandler: createJsonResponseHandler4(z7.any()), | ||
| successfulResponseHandler: createJsonResponseHandler4(z8.any()), | ||
| failedResponseHandler: createJsonErrorResponseHandler4({ | ||
| errorSchema: z7.any(), | ||
| errorSchema: z8.any(), | ||
| errorToMessage: (data) => data | ||
@@ -859,5 +880,5 @@ }), | ||
| body: args, | ||
| successfulResponseHandler: createEventSourceResponseHandler(z7.any()), | ||
| successfulResponseHandler: createEventSourceResponseHandler(z8.any()), | ||
| failedResponseHandler: createJsonErrorResponseHandler4({ | ||
| errorSchema: z7.any(), | ||
| errorSchema: z8.any(), | ||
| errorToMessage: (data) => data | ||
@@ -944,8 +965,8 @@ }), | ||
| createJsonResponseHandler as createJsonResponseHandler5, | ||
| lazyValidator as lazyValidator5, | ||
| lazyValidator as lazyValidator6, | ||
| postJsonToApi as postJsonToApi2, | ||
| resolve as resolve5, | ||
| zodSchema as zodSchema7 | ||
| zodSchema as zodSchema8 | ||
| } from "@ai-sdk/provider-utils"; | ||
| import { z as z8 } from "zod/v4"; | ||
| import { z as z9 } from "zod/v4"; | ||
| var GatewayEmbeddingModel = class { | ||
@@ -991,3 +1012,3 @@ constructor(modelId, config) { | ||
| failedResponseHandler: createJsonErrorResponseHandler5({ | ||
| errorSchema: z8.any(), | ||
| errorSchema: z9.any(), | ||
| errorToMessage: (data) => data | ||
@@ -1018,8 +1039,8 @@ }), | ||
| }; | ||
| var gatewayEmbeddingResponseSchema = lazyValidator5( | ||
| () => zodSchema7( | ||
| z8.object({ | ||
| embeddings: z8.array(z8.array(z8.number())), | ||
| usage: z8.object({ tokens: z8.number() }).nullish(), | ||
| providerMetadata: z8.record(z8.string(), z8.record(z8.string(), z8.unknown())).optional() | ||
| var gatewayEmbeddingResponseSchema = lazyValidator6( | ||
| () => zodSchema8( | ||
| z9.object({ | ||
| embeddings: z9.array(z9.array(z9.number())), | ||
| usage: z9.object({ tokens: z9.number() }).nullish(), | ||
| providerMetadata: z9.record(z9.string(), z9.record(z9.string(), z9.unknown())).optional() | ||
| }) | ||
@@ -1037,3 +1058,3 @@ ) | ||
| } from "@ai-sdk/provider-utils"; | ||
| import { z as z9 } from "zod/v4"; | ||
| import { z as z10 } from "zod/v4"; | ||
| var GatewayImageModel = class { | ||
@@ -1087,3 +1108,3 @@ constructor(modelId, config) { | ||
| failedResponseHandler: createJsonErrorResponseHandler6({ | ||
| errorSchema: z9.any(), | ||
| errorSchema: z10.any(), | ||
| errorToMessage: (data) => data | ||
@@ -1126,20 +1147,20 @@ }), | ||
| }; | ||
| var providerMetadataEntrySchema = z9.object({ | ||
| images: z9.array(z9.unknown()).optional() | ||
| }).catchall(z9.unknown()); | ||
| var gatewayImageUsageSchema = z9.object({ | ||
| inputTokens: z9.number().nullish(), | ||
| outputTokens: z9.number().nullish(), | ||
| totalTokens: z9.number().nullish() | ||
| var providerMetadataEntrySchema = z10.object({ | ||
| images: z10.array(z10.unknown()).optional() | ||
| }).catchall(z10.unknown()); | ||
| var gatewayImageUsageSchema = z10.object({ | ||
| inputTokens: z10.number().nullish(), | ||
| outputTokens: z10.number().nullish(), | ||
| totalTokens: z10.number().nullish() | ||
| }); | ||
| var gatewayImageResponseSchema = z9.object({ | ||
| images: z9.array(z9.string()), | ||
| var gatewayImageResponseSchema = z10.object({ | ||
| images: z10.array(z10.string()), | ||
| // Always base64 strings over the wire | ||
| warnings: z9.array( | ||
| z9.object({ | ||
| type: z9.literal("other"), | ||
| message: z9.string() | ||
| warnings: z10.array( | ||
| z10.object({ | ||
| type: z10.literal("other"), | ||
| message: z10.string() | ||
| }) | ||
| ).optional(), | ||
| providerMetadata: z9.record(z9.string(), providerMetadataEntrySchema).optional(), | ||
| providerMetadata: z10.record(z10.string(), providerMetadataEntrySchema).optional(), | ||
| usage: gatewayImageUsageSchema.optional() | ||
@@ -1152,24 +1173,24 @@ }); | ||
| lazySchema as lazySchema3, | ||
| zodSchema as zodSchema8 | ||
| zodSchema as zodSchema9 | ||
| } from "@ai-sdk/provider-utils"; | ||
| import { z as z10 } from "zod"; | ||
| import { z as z11 } from "zod"; | ||
| var parallelSearchInputSchema = lazySchema3( | ||
| () => zodSchema8( | ||
| z10.object({ | ||
| objective: z10.string().describe( | ||
| () => zodSchema9( | ||
| z11.object({ | ||
| objective: z11.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: z10.array(z10.string()).optional().describe( | ||
| search_queries: z11.array(z11.string()).optional().describe( | ||
| "Optional search queries to supplement the objective. Maximum 200 characters per query." | ||
| ), | ||
| mode: z10.enum(["one-shot", "agentic"]).optional().describe( | ||
| mode: z11.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: z10.number().optional().describe( | ||
| max_results: z11.number().optional().describe( | ||
| "Maximum number of results to return (1-20). Defaults to 10 if not specified." | ||
| ), | ||
| source_policy: z10.object({ | ||
| include_domains: z10.array(z10.string()).optional().describe("List of domains to include in search results."), | ||
| exclude_domains: z10.array(z10.string()).optional().describe("List of domains to exclude from search results."), | ||
| after_date: z10.string().optional().describe( | ||
| source_policy: z11.object({ | ||
| include_domains: z11.array(z11.string()).optional().describe("List of domains to include in search results."), | ||
| exclude_domains: z11.array(z11.string()).optional().describe("List of domains to exclude from search results."), | ||
| after_date: z11.string().optional().describe( | ||
| "Only include results published after this date (ISO 8601 format)." | ||
@@ -1180,8 +1201,8 @@ ) | ||
| ), | ||
| excerpts: z10.object({ | ||
| max_chars_per_result: z10.number().optional().describe("Maximum characters per result."), | ||
| max_chars_total: z10.number().optional().describe("Maximum total characters across all results.") | ||
| excerpts: z11.object({ | ||
| max_chars_per_result: z11.number().optional().describe("Maximum characters per result."), | ||
| max_chars_total: z11.number().optional().describe("Maximum total characters across all results.") | ||
| }).optional().describe("Excerpt configuration for controlling result length."), | ||
| fetch_policy: z10.object({ | ||
| max_age_seconds: z10.number().optional().describe( | ||
| fetch_policy: z11.object({ | ||
| max_age_seconds: z11.number().optional().describe( | ||
| "Maximum age in seconds for cached content. Set to 0 to always fetch fresh content." | ||
@@ -1194,14 +1215,14 @@ ) | ||
| var parallelSearchOutputSchema = lazySchema3( | ||
| () => zodSchema8( | ||
| z10.union([ | ||
| () => zodSchema9( | ||
| z11.union([ | ||
| // Success response | ||
| z10.object({ | ||
| searchId: z10.string(), | ||
| results: z10.array( | ||
| z10.object({ | ||
| url: z10.string(), | ||
| title: z10.string(), | ||
| excerpt: z10.string(), | ||
| publishDate: z10.string().nullable().optional(), | ||
| relevanceScore: z10.number().optional() | ||
| z11.object({ | ||
| searchId: z11.string(), | ||
| results: z11.array( | ||
| z11.object({ | ||
| url: z11.string(), | ||
| title: z11.string(), | ||
| excerpt: z11.string(), | ||
| publishDate: z11.string().nullable().optional(), | ||
| relevanceScore: z11.number().optional() | ||
| }) | ||
@@ -1211,4 +1232,4 @@ ) | ||
| // Error response | ||
| z10.object({ | ||
| error: z10.enum([ | ||
| z11.object({ | ||
| error: z11.enum([ | ||
| "api_error", | ||
@@ -1221,4 +1242,4 @@ "rate_limit", | ||
| ]), | ||
| statusCode: z10.number().optional(), | ||
| message: z10.string() | ||
| statusCode: z11.number().optional(), | ||
| message: z11.string() | ||
| }) | ||
@@ -1240,42 +1261,42 @@ ]) | ||
| lazySchema as lazySchema4, | ||
| zodSchema as zodSchema9 | ||
| zodSchema as zodSchema10 | ||
| } from "@ai-sdk/provider-utils"; | ||
| import { z as z11 } from "zod"; | ||
| import { z as z12 } from "zod"; | ||
| var perplexitySearchInputSchema = lazySchema4( | ||
| () => zodSchema9( | ||
| z11.object({ | ||
| query: z11.union([z11.string(), z11.array(z11.string())]).describe( | ||
| () => zodSchema10( | ||
| z12.object({ | ||
| query: z12.union([z12.string(), z12.array(z12.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: z11.number().optional().describe( | ||
| max_results: z12.number().optional().describe( | ||
| "Maximum number of search results to return (1-20, default: 10)" | ||
| ), | ||
| max_tokens_per_page: z11.number().optional().describe( | ||
| max_tokens_per_page: z12.number().optional().describe( | ||
| "Maximum number of tokens to extract per search result page (256-2048, default: 2048)" | ||
| ), | ||
| max_tokens: z11.number().optional().describe( | ||
| max_tokens: z12.number().optional().describe( | ||
| "Maximum total tokens across all search results (default: 25000, max: 1000000)" | ||
| ), | ||
| country: z11.string().optional().describe( | ||
| country: z12.string().optional().describe( | ||
| "Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')" | ||
| ), | ||
| search_domain_filter: z11.array(z11.string()).optional().describe( | ||
| search_domain_filter: z12.array(z12.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: z11.array(z11.string()).optional().describe( | ||
| search_language_filter: z12.array(z12.string()).optional().describe( | ||
| "List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']" | ||
| ), | ||
| search_after_date: z11.string().optional().describe( | ||
| search_after_date: z12.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: z11.string().optional().describe( | ||
| search_before_date: z12.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: z11.string().optional().describe( | ||
| last_updated_after_filter: z12.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: z11.string().optional().describe( | ||
| last_updated_before_filter: z12.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: z11.enum(["day", "week", "month", "year"]).optional().describe( | ||
| search_recency_filter: z12.enum(["day", "week", "month", "year"]).optional().describe( | ||
| "Filter results by relative time period. Cannot be used with search_after_date or search_before_date." | ||
@@ -1287,20 +1308,20 @@ ) | ||
| var perplexitySearchOutputSchema = lazySchema4( | ||
| () => zodSchema9( | ||
| z11.union([ | ||
| () => zodSchema10( | ||
| z12.union([ | ||
| // Success response | ||
| z11.object({ | ||
| results: z11.array( | ||
| z11.object({ | ||
| title: z11.string(), | ||
| url: z11.string(), | ||
| snippet: z11.string(), | ||
| date: z11.string().optional(), | ||
| lastUpdated: z11.string().optional() | ||
| z12.object({ | ||
| results: z12.array( | ||
| z12.object({ | ||
| title: z12.string(), | ||
| url: z12.string(), | ||
| snippet: z12.string(), | ||
| date: z12.string().optional(), | ||
| lastUpdated: z12.string().optional() | ||
| }) | ||
| ), | ||
| id: z11.string() | ||
| id: z12.string() | ||
| }), | ||
| // Error response | ||
| z11.object({ | ||
| error: z11.enum([ | ||
| z12.object({ | ||
| error: z12.enum([ | ||
| "api_error", | ||
@@ -1312,4 +1333,4 @@ "rate_limit", | ||
| ]), | ||
| statusCode: z11.number().optional(), | ||
| message: z11.string() | ||
| statusCode: z12.number().optional(), | ||
| message: z12.string() | ||
| }) | ||
@@ -1357,3 +1378,3 @@ ]) | ||
| // src/version.ts | ||
| var VERSION = true ? "2.0.109" : "0.0.0-test"; | ||
| var VERSION = true ? "2.0.111" : "0.0.0-test"; | ||
@@ -1360,0 +1381,0 @@ // src/gateway-provider.ts |
+1
-1
| { | ||
| "name": "@ai-sdk/gateway", | ||
| "private": false, | ||
| "version": "2.0.109", | ||
| "version": "2.0.111", | ||
| "license": "Apache-2.0", | ||
@@ -6,0 +6,0 @@ "sideEffects": false, |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
411473
1.08%3668
1.24%