{"repo": "adityavardhansharma/ai", "files": {"ai/providers.ts": {"77e958e59f4b31e88572bf2d7dcc3a6f92552936": {"t": 1785596022.4600441, "n": 13925, "h": "3562efc926b3337a", "c": "import 'server-only';\nimport { wrapLanguageModel, customProvider, extractReasoningMiddleware } from 'ai';\n\nimport { createOpenRouter } from '@openrouter/ai-sdk-provider';\n\nconst middleware = extractReasoningMiddleware({\n tagName: 'think',\n});\n\nconst middlewareWithStartWithReasoning = extractReasoningMiddleware({\n tagName: 'think',\n startWithReasoning: true,\n});\n\nconst openrouter = createOpenRouter({\n apiKey: process.env.OPENROUTER_API_KEY,\n headers: {\n 'HTTP-Referer': 'https://sciraai.in',\n 'X-Title': 'Scira AI',\n 'Content-Type': 'application/json',\n },\n});\n\nexport const scira = customProvider({\n languageModels: {\n 'scira-arch-router': openrouter('katanemo/Arch-Router-1.5B:hf-inference'),\n 'scira-default': openrouter('x-ai/grok-4-1-fast-non-reasoning'),\n 'scira-auto': openrouter('x-ai/grok-4-1-fast-non-reasoning'),\n 'scira-sarvam-105b': openrouter('sarvam-ai/sarvam-105b'),\n 'scira-grok4.1-fast-thinking': openrouter('x-ai/grok-4-1-fast-reasoning'),\n 'scira-ext-1': openrouter('x-ai/grok-4-1-fast-reasoning'),\n 'scira-ext-2': openrouter('openai/gpt-5.4'),\n // 'scira-ext-3': openrouter('anthropic/claude-sonnet-4.6'),\n 'scira-ext-4': openrouter('@cf/zai-org/glm-4.7-flash'),\n 'scira-ext-5': openrouter('moonshotai/kimi-k2.5'),\n 'scira-ext-6': openrouter('google/gemini-3.1-pro-preview'),\n 'scira-ext-7': openrouter('alibaba/qwen3.5-flash'),\n 'scira-ext-8': openrouter('x-ai/grok-4.20-experimental-beta-0304-non-reasoning'),\n 'scira-nano': openrouter('llama-3.3-70b-versatile'),\n 'scira-name': openrouter('google/gemini-2.5-flash-lite-preview-09-2025'),\n 'scira-grok-3-mini': openrouter('x-ai/grok-3-mini'),\n 'scira-grok-3': openrouter('x-ai/grok-3'),\n 'scira-grok-4': openrouter('x-ai/grok-4'),\n 'scira-grok-4.20-experimental-beta-0304': openrouter('x-ai/grok-4.20-non-reasoning-latest'),\n 'scira-grok-4.20-experimental-beta-0304-thinking': openrouter('x-ai/grok-4.20-reasoning-latest'),\n 'scira-grok-4-fast': openrouter('x-ai/grok-4-fast-non-reasoning'),\n 'scira-grok-4-fast-think': openrouter('x-ai/grok-4-fast-reasoning'),\n 'scira-code': openrouter('x-ai/grok-code-fast-1'),\n 'scira-enhance': openrouter('moonshotai/kimi-k2-instruct-0905'),\n 'scira-follow-up': openrouter('google/gemini-2.5-flash-lite-preview-09-2025'),\n 'scira-qwen-4b': openrouter('Qwen/Qwen3-4B-Instruct-2507:nscale'),\n 'scira-qwen-4b-thinking': wrapLanguageModel({\n model: openrouter('Qwen/Qwen3-4B-Thinking-2507:nscale'),\n middleware: [middlewareWithStartWithReasoning],\n }),\n 'scira-gpt-4.1-nano': openrouter('openai/gpt-4.1-nano'),\n 'scira-gpt-4.1-mini': openrouter('openai/gpt-4.1-mini'),\n 'scira-gpt-4.1': openrouter('openai/gpt-4.1'),\n 'scira-gpt-5.1': openrouter('openai/gpt-5.1'),\n 'scira-gpt-5.1-thinking': openrouter('openai/gpt-5.1'),\n 'scira-gpt-5.2': openrouter('openai/gpt-5.2'),\n 'scira-gpt-5.3-chat-latest': openrouter('openai/gpt-5.3-chat-latest'),\n 'scira-gpt-5.4': openrouter('openai/gpt-5.4'),\n 'scira-gpt-5.4-mini': openrouter('openai/gpt-5.4-mini'),\n 'scira-gpt-5.4-nano': openrouter('openai/gpt-5.4-nano'),\n 'scira-gpt-5.4-thinking': openrouter('openai/gpt-5.4'),\n 'scira-gpt-5.4-thinking-xhigh': openrouter('openai/gpt-5.4'),\n 'scira-gpt-5.2-thinking': openrouter('openai/gpt-5.2'),\n 'scira-gpt-5.2-thinking-xhigh': openrouter('openai/gpt-5.2'),\n 'scira-gpt-5.1-codex': openrouter('openai/gpt-5.1-codex'),\n 'scira-gpt-5.1-codex-mini': openrouter('openai/gpt-5.1-codex-mini'),\n 'scira-gpt-5.1-codex-max': openrouter('openai/gpt-5.1-codex-max'),\n 'scira-gpt-5.2-codex': openrouter('openai/gpt-5.2-codex'),\n 'scira-gpt-5.3-codex': openrouter('openai/gpt-5.3-codex'),\n 'scira-gpt5': openrouter('openai/gpt-5'),\n 'scira-gpt5-medium': openrouter('openai/gpt-5'),\n 'scira-gpt5-mini': openrouter('openai/gpt-5-mini'),\n 'scira-gpt5-nano': openrouter('openai/gpt-5-nano'),\n 'scira-o3': openrouter('openai/o3'),\n 'scira-o4-mini': openrouter('openai/o4-mini'),\n 'scira-gpt5-codex': openrouter('openai/gpt-5-codex'),\n 'scira-qwen-32b': wrapLanguageModel({\n model: openrouter('qwen/qwen3-32b'),\n middleware,\n }),\n 'scira-qwen-32b-thinking': wrapLanguageModel({\n model: openrouter('qwen/qwen3-32b'),\n middleware,\n }),\n 'scira-gpt-oss-20': wrapLanguageModel({\n model: openrouter('openai/gpt-oss-20b'),\n middleware,\n }),\n 'scira-nemotron-3-super': openrouter('@cf/nvidia/nemotron-3-120b-a12b'),\n 'scira-gpt-oss-120': wrapLanguageModel({\n model: openrouter('openai/gpt-oss-120b'),\n middleware,\n }),\n 'scira-trinity-mini': wrapLanguageModel({\n model: openrouter('arcee-ai/trinity-mini'),\n middleware,\n }),\n 'scira-trinity-large': wrapLanguageModel({\n model: openrouter('arcee-ai/trinity-large-preview:free'),\n middleware,\n }),\n 'scira-step-3.5-flash': openrouter('stepfun/step-3.5-flash:free'),\n 'scira-kat-coder': openrouter('kwaipilot/kat-coder-pro-v1'),\n 'scira-deepseek-v3': openrouter('deepseek-ai/DeepSeek-V3-0324'),\n 'scira-deepseek-v3.1-terminus': openrouter('deepseek/deepseek-v3.1-terminus'),\n 'scira-deepseek-chat': openrouter('deepseek/deepseek-v3.2'),\n 'scira-deepseek-chat-think': openrouter('deepseek/deepseek-v3.2-thinking'),\n 'scira-deepseek-chat-exp': openrouter('deepseek/deepseek-v3.2-exp'),\n 'scira-deepseek-chat-think-exp': wrapLanguageModel({\n model: openrouter('deepseek/deepseek-v3.2-exp'),\n middleware,\n }),\n 'scira-v0-10': openrouter('vercel/v0-1.0-md'),\n 'scira-v0-15': openrouter('vercel/v0-1.5-md'),\n 'scira-deepseek-r1': wrapLanguageModel({\n model: openrouter('deepseek/deepseek-r1-turbo'),\n middleware,\n }),\n 'scira-deepseek-r1-0528': wrapLanguageModel({\n model: openrouter('deepseek/deepseek-r1-0528'),\n middleware,\n }),\n 'scira-qwen-coder-small': openrouter('alibaba/qwen3-coder-30b-a3b'),\n 'scira-qwen-coder': openrouter('Qwen/Qwen3-Coder-480B-A35B-Instruct'),\n 'scira-qwen-coder-plus': openrouter('alibaba/qwen3-coder-plus'),\n 'scira-qwen-coder-next': openrouter('qwen/qwen3-coder-next'),\n 'scira-qwen-30': openrouter('Qwen/Qwen3-30B-A3B-Instruct-2507:nebius'),\n 'scira-qwen-30-think': wrapLanguageModel({\n model: openrouter('Qwen/Qwen3-30B-A3B-Thinking-2507:nebius'),\n middleware,\n }),\n 'scira-qwen-3-vl-30b': openrouter('qwen/qwen3-vl-30b-a3b-instruct'),\n 'scira-qwen-3-vl-30b-thinking': wrapLanguageModel({\n model: openrouter('qwen/qwen3-vl-30b-a3b-thinking'),\n middleware,\n }),\n 'scira-qwen-3-next': openrouter('Qwen/Qwen3-Next-80B-A3B-Instruct:hyperbolic'),\n 'scira-qwen-3-next-think': wrapLanguageModel({\n model: openrouter('Qwen/Qwen3-Next-80B-A3B-Thinking:hyperbolic'),\n middleware: [middlewareWithStartWithReasoning],\n }),\n 'scira-qwen-3-max': openrouter('alibaba/qwen3-max'),\n 'scira-qwen-3-max-preview': openrouter('alibaba/qwen3-max-preview'),\n 'scira-qwen-3-max-preview-thinking': openrouter('alibaba/qwen3-max-thinking'),\n 'scira-qwen-235': openrouter('alibaba/qwen-3-235b'),\n 'scira-qwen-235-think': wrapLanguageModel({\n model: openrouter('Qwen/Qwen3-235B-A22B-Thinking-2507:fireworks-ai'),\n middleware: [middlewareWithStartWithReasoning],\n }),\n 'scira-qwen-3.5-27b': openrouter('qwen/qwen3.5-27b'),\n 'scira-qwen-3.5-35b': openrouter('qwen/qwen3.5-35b-a3b'),\n 'scira-qwen-3.5-122b': openrouter('qwen/qwen3.5-122b-a10b'),\n 'scira-qwen-3.5': openrouter('qwen/qwen3.5-397b-a17b'),\n 'scira-qwen-3.5-plus': openrouter('alibaba/qwen3.5-plus'),\n 'scira-qwen-3.5-flash': openrouter('alibaba/qwen3.5-flash'),\n 'scira-qwen-3-vl': openrouter('alibaba/qwen3-vl-instruct'),\n 'scira-qwen-3-vl-thinking': wrapLanguageModel({\n model: openrouter('alibaba/qwen3-vl-thinking'),\n middleware,\n }),\n 'scira-glm-air': openrouter('zai/glm-4.5-air'),\n 'scira-glm': wrapLanguageModel({\n model: openrouter('zai/glm-4.5'),\n middleware,\n }),\n 'scira-glm-4.6': wrapLanguageModel({\n model: openrouter('zai-org/GLM-4.6:zai-org'),\n middleware,\n }),\n 'scira-glm-4.6v-flash': wrapLanguageModel({\n model: openrouter('zai-org/GLM-4.6V-Flash:zai-org'),\n middleware,\n }),\n 'scira-glm-4.6v': wrapLanguageModel({\n model: openrouter('zai-org/GLM-4.6V:zai-org'),\n middleware,\n }),\n 'scira-glm-4.7': wrapLanguageModel({\n model: openrouter('zai-org/GLM-4.7:novita'),\n middleware,\n }),\n 'scira-glm-4.7-flash': openrouter('zai-org/glm-4.7-flash'),\n 'scira-glm-5': wrapLanguageModel({\n model: openrouter('z-ai/glm-5-turbo'),\n middleware,\n }),\n 'scira-glm-5-thinking': wrapLanguageModel({\n model: openrouter('z-ai/glm-5-turbo'),\n middleware,\n }),\n 'scira-minimax': wrapLanguageModel({\n model: openrouter('minimaxai/minimax-m1-80k'),\n middleware,\n }),\n 'scira-minimax-m2': wrapLanguageModel({\n model: openrouter('minimax/minimax-m2'),\n middleware,\n }),\n 'scira-minimax-m2.1': wrapLanguageModel({\n model: openrouter('minimax/minimax-m2.1'),\n middleware,\n }),\n 'scira-minimax-m2.1-lightning': wrapLanguageModel({\n model: openrouter('minimax/minimax-m2.1-lightning'),\n middleware,\n }),\n 'scira-minimax-m2.7': wrapLanguageModel({\n model: openrouter('minimax/MiniMax-M2.7-highspeed'),\n middleware,\n }),\n 'scira-minimax-m2.5': openrouter('MiniMaxAI/MiniMax-M2.5'),\n 'scira-cmd-a': openrouter('cohere/command-a-03-2025'),\n 'scira-cmd-a-think': openrouter('cohere/command-a-reasoning-08-2025'),\n 'scira-kimi-k2-v2': openrouter('moonshotai/kimi-k2-instruct-0905'),\n 'scira-kimi-k2-v2-thinking': wrapLanguageModel({\n model: openrouter('moonshotai/kimi-k2-thinking-turbo'),\n middleware,\n }),\n 'scira-kimi-k2.5': openrouter('moonshotai/Kimi-K2.5'),\n 'scira-kimi-k2.5-thinking': openrouter('moonshotai/kimi-k2.5'),\n 'scira-ministral-3b': openrouter('mistralai/ministral-3b-2512'),\n 'scira-ministral-8b': openrouter('mistralai/ministral-8b-2512'),\n 'scira-ministral-14b': openrouter('mistralai/ministral-14b-2512'),\n 'scira-mistral-large': openrouter('mistralai/mistral-large-2512'),\n 'scira-mistral-medium': openrouter('mistralai/mistral-medium-2508'),\n 'scira-magistral-small': openrouter('mistralai/magistral-small-2509'),\n 'scira-magistral-medium': openrouter('mistralai/magistral-medium-2509'),\n 'scira-mistral-small': openrouter('mistralai/mistral-small-2603'),\n 'scira-mistral-small-think': openrouter('mistralai/mistral-small-2603'),\n 'scira-leanstral': openrouter('mistralai/labs-leanstral-2603'),\n 'scira-devstral': openrouter('mistralai/devstral-2512'),\n 'scira-devstral-small': openrouter('mistralai/labs-devstral-small-2512'),\n 'scira-google-lite': openrouter('google/gemini-flash-lite-latest'),\n 'scira-google': openrouter('google/gemini-flash-latest'),\n 'scira-google-think': openrouter('google/gemini-flash-latest'),\n 'scira-google-pro': openrouter('google/gemini-2.5-pro'),\n 'scira-google-pro-think': openrouter('google/gemini-2.5-pro'),\n 'scira-gemini-3-flash': openrouter('google/gemini-3-flash-preview'),\n 'scira-gemini-3-flash-think': openrouter('google/gemini-3-flash-preview'),\n 'scira-gemini-3.1-flash-lite': openrouter('google/gemini-3.1-flash-lite-preview'),\n 'scira-gemini-3.1-flash-lite-think': openrouter('google/gemini-3.1-flash-lite-preview'),\n 'scira-gemini-3.1-pro': openrouter('google/gemini-3.1-pro-preview'),\n 'scira-anthropic-small': openrouter('anthropic/claude-haiku-4-5'),\n 'scira-anthropic': openrouter('anthropic/claude-sonnet-4-5'),\n 'scira-anthropic-think': openrouter('anthropic/claude-sonnet-4-5'),\n 'scira-anthropic-sonnet-4.6': openrouter('anthropic/claude-sonnet-4-6'),\n 'scira-anthropic-sonnet-4.6-think': openrouter('anthropic/claude-sonnet-4-6'),\n 'scira-mimo-v2-flash': wrapLanguageModel({\n model: openrouter('xiaomi/mimo-v2-flash'),\n middleware,\n }),\n 'scira-mimo-v2-pro': wrapLanguageModel({\n model: openrouter('xiaomi/mimo-v2-pro'),\n middleware,\n }),\n 'scira-anthropic-opus': openrouter('anthropic/claude-opus-4-5'),\n 'scira-anthropic-opus-think': openrouter('anthropic/claude-opus-4-5'),\n 'scira-anthropic-opus-4.6': openrouter('anthropic/claude-opus-4-6'),\n 'scira-anthropic-opus-4.6-think': openrouter('anthropic/claude-opus-4-6'),\n 'scira-nova-2-lite': openrouter('amazon/nova-2-lite'),\n 'scira-seed-1.6': wrapLanguageModel({\n model: ark('seed-1-6-250915'),\n middleware,\n }),\n 'scira-seed-1.8': wrapLanguageModel({\n model: ark('seed-1-8-251228'),\n middleware,\n }),\n 'scira-seed-2.0-mini': wrapLanguageModel({\n model: ark('seed-2-0-mini-260215'),\n middleware,\n }),\n 'scira-seed-2.0-lite': ark('seed-2-0-lite-260228'),\n 'scira-seed-1.6-flash': wrapLanguageModel({\n model: ark('seed-1-6-flash-250715'),\n middleware,\n }),\n 'scira-mercury-2': openrouter('inception/mercury-2'),\n },\n});\n\n// Re-export all model data and pure helpers from the client-safe models module\nexport type { ModelProvider, ProviderInfo, Model } from './models';\nexport {\n PROVIDERS,\n models,\n getModelConfig,\n requiresAuthentication,\n requiresProSubscription,\n requiresMaxSubscription,\n isFreeUnlimited,\n hasVisionSupport,\n hasPdfSupport,\n hasReasoningSupport,\n isExperimentalModel,\n getMaxOutputTokens,\n getModelParameters,\n canUseModel,\n shouldBypassRateLimits,\n getAcceptedFileTypes,\n supportsExtremeMode,\n getExtremeModels,\n supportsCanvasMode,\n isModelRestrictedInRegion,\n getFilteredModels,\n authRequiredModels,\n proRequiredModels,\n freeUnlimitedModels,\n getModelProvider,\n getModelProviderInfo,\n getActiveProviders,\n getModelsByProvider,\n} from './models';\n"}}}}