@adaline/xai 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/provider/provider.xai.ts","../src/models/chat-models/base-chat-model.xai.ts","../src/models/pricing.json","../src/models/chat-models/types/roles.chat-model.xai.ts","../src/models/chat-models/types/modalities.chat-model.xai.ts","../src/models/chat-models/types/response.chat-model.xai.ts","../src/models/chat-models/types/request.chat-model.xai.ts","../src/models/chat-models/grok-2.xai.ts","../src/configs/chat-model/index.ts","../src/configs/chat-model/base.config.chat-model.xai.ts","../src/configs/chat-model/common.config.chat-model.xai.ts","../src/configs/chat-model/reasoning.config.chat-model.xai.ts","../src/configs/chat-model/response-schema.config.chat-model.xai.ts","../src/models/chat-models/grok-2-latest.xai.ts","../src/models/chat-models/grok-2-1212.xai.ts","../src/models/chat-models/grok-3-beta.xai.ts","../src/models/chat-models/grok-3-fast-beta.xai.ts","../src/models/chat-models/grok-3-mini-beta.xai.ts","../src/models/chat-models/grok-3-mini-fast-beta.xai.ts","../src/models/chat-models/grok-4.xai.ts","../src/models/chat-models/grok-4-0709.xai.ts","../src/models/chat-models/grok-4-fast-reasoning.xai.ts","../src/models/chat-models/grok-4-fast-non-reasoning.xai.ts","../src/models/chat-models/grok-4.1-fast-reasoning.xai.ts","../src/models/chat-models/grok-4.1-fast-non-reasoning.xai.ts","../src/models/chat-models/grok-code-fast-1.xai.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { ChatModelSchemaType, ChatModelV1, ProviderError, ProviderV1 } from \"@adaline/provider\";\n\nimport * as Models from \"../models\";\n\nconst ProviderLiteral = \"xai\";\n\nclass XAI<C extends Models.BaseChatModelOptionsType> implements ProviderV1<C, never> {\n readonly version = \"v1\" as const;\n readonly name = ProviderLiteral;\n static readonly baseUrl = \"https://api.x.ai/v1\";\n\n private readonly chatModelFactories: Record<\n string,\n {\n model: { new (options: any): ChatModelV1 };\n modelOptions: z.ZodType<any>;\n modelSchema: ChatModelSchemaType;\n }\n > = {\n [Models.Grok_2_Literal]: {\n model: Models.Grok_2,\n modelOptions: Models.Grok_2_Options,\n modelSchema: Models.Grok_2_Schema,\n },\n [Models.Grok_2_Latest_Literal]: {\n model: Models.Grok_2_Latest,\n modelOptions: Models.Grok_2_Latest_Options,\n modelSchema: Models.Grok_2_Latest_Schema,\n },\n [Models.Grok_2_1212_Literal]: {\n model: Models.Grok_2_1212,\n modelOptions: Models.Grok_2_1212_Options,\n modelSchema: Models.Grok_2_1212_Schema,\n },\n [Models.Grok_3_Beta_Literal]: {\n model: Models.Grok_3_Beta,\n modelOptions: Models.Grok_3_Beta_Options,\n modelSchema: Models.Grok_3_Beta_Schema,\n },\n [Models.Grok_3_Fast_Beta_Literal]: {\n model: Models.Grok_3_Fast_Beta,\n modelOptions: Models.Grok_3_Fast_Beta_Options,\n modelSchema: Models.Grok_3_Fast_Beta_Schema,\n },\n [Models.Grok_3_Mini_Beta_Literal]: {\n model: Models.Grok_3_Mini_Beta,\n modelOptions: Models.Grok_3_Mini_Beta_Options,\n modelSchema: Models.Grok_3_Mini_Beta_Schema,\n },\n [Models.Grok_3_Mini_Fast_Beta_Literal]: {\n model: Models.Grok_3_Mini_Fast_Beta,\n modelOptions: Models.Grok_3_Mini_Fast_Beta_Options,\n modelSchema: Models.Grok_3_Mini_Fast_Beta_Schema,\n },\n [Models.Grok_4_Literal]: {\n model: Models.Grok_4,\n modelOptions: Models.Grok_4_Options,\n modelSchema: Models.Grok_4_Schema,\n },\n [Models.Grok_4_0709_Literal]: {\n model: Models.Grok_4_0709,\n modelOptions: Models.Grok_4_0709_Options,\n modelSchema: Models.Grok_4_0709_Schema,\n },\n [Models.Grok_4_Fast_Reasoning_Literal]: {\n model: Models.Grok_4_Fast_Reasoning,\n modelOptions: Models.Grok_4_Fast_Reasoning_Options,\n modelSchema: Models.Grok_4_Fast_Reasoning_Schema,\n },\n [Models.Grok_4_Fast_Non_Reasoning_Literal]: {\n model: Models.Grok_4_Fast_Non_Reasoning,\n modelOptions: Models.Grok_4_Fast_Non_Reasoning_Options,\n modelSchema: Models.Grok_4_Fast_Non_Reasoning_Schema,\n },\n [Models.Grok_4_1_Fast_Reasoning_Literal]: {\n model: Models.Grok_4_1_Fast_Reasoning,\n modelOptions: Models.Grok_4_1_Fast_Reasoning_Options,\n modelSchema: Models.Grok_4_1_Fast_Reasoning_Schema,\n },\n [Models.Grok_4_1_Fast_Non_Reasoning_Literal]: {\n model: Models.Grok_4_1_Fast_Non_Reasoning,\n modelOptions: Models.Grok_4_1_Fast_Non_Reasoning_Options,\n modelSchema: Models.Grok_4_1_Fast_Non_Reasoning_Schema,\n },\n [Models.Grok_Code_Fast_1_Literal]: {\n model: Models.Grok_Code_Fast_1,\n modelOptions: Models.Grok_Code_Fast_1_Options,\n modelSchema: Models.Grok_Code_Fast_1_Schema,\n },\n };\n\n chatModelLiterals(): string[] {\n return Object.keys(this.chatModelFactories);\n }\n\n chatModelSchemas(): Record<string, ChatModelSchemaType> {\n return Object.keys(this.chatModelFactories).reduce(\n (acc, key) => {\n acc[key] = this.chatModelFactories[key].modelSchema;\n return acc;\n },\n {} as Record<string, ChatModelSchemaType>\n );\n }\n\n chatModel(options: C): ChatModelV1 {\n const modelName = options.modelName;\n const factory = this.chatModelFactories[modelName];\n if (!factory) {\n throw new ProviderError({\n info: `Invalid model name: '${modelName}' for provider: '${this.name}'`,\n cause: new Error(`Available models: [${this.chatModelLiterals().join(\", \")}]`),\n });\n }\n const parsedOptions = factory.modelOptions.parse(options);\n return new factory.model(parsedOptions);\n }\n\n // XAI does not support embedding models\n embeddingModelLiterals(): string[] {\n return [];\n }\n\n embeddingModelSchemas(): Record<string, never> {\n return {};\n }\n\n embeddingModel(): never {\n throw new ProviderError({\n info: \"XAI does not support embedding models\",\n cause: new Error(\"No embedding models available\"),\n });\n }\n}\n\nexport { ProviderLiteral, XAI };\n","import { z } from \"zod\";\n\nimport {\n ChatModelSchemaType,\n ChatModelV1,\n getMimeTypeFromBase64,\n HeadersType,\n InvalidConfigError,\n InvalidMessagesError,\n InvalidModelRequestError,\n InvalidToolsError,\n ModelResponseError,\n ParamsType,\n removeUndefinedEntries,\n SelectStringConfigItemDefType,\n UrlType,\n urlWithoutTrailingSlash,\n} from \"@adaline/provider\";\nimport {\n AssistantRoleLiteral,\n Base64ImageContentTypeLiteral,\n Base64ImageContentValueType,\n ChatLogProbsType,\n ChatModelPriceType,\n ChatResponseType,\n ChatUsageType,\n Config,\n ConfigType,\n ContentType,\n createPartialTextMessage,\n createPartialToolCallMessage,\n createTextContent,\n createToolCallContent,\n ImageModalityLiteral,\n Message,\n MessageType,\n PartialChatResponseType,\n SystemRoleLiteral,\n TextModalityLiteral,\n Tool,\n ToolCallContentType,\n ToolCallModalityLiteral,\n ToolResponseContentType,\n ToolResponseModalityLiteral,\n ToolRoleLiteral,\n ToolType,\n UrlImageContentTypeLiteral,\n UserRoleLiteral,\n} from \"@adaline/types\";\n\nimport pricingData from \"../pricing.json\";\nimport { XAI } from \"./../../provider/provider.xai\";\nimport {\n XAIChatRequest,\n XAIChatRequestImageContentType,\n XAIChatRequestTextContentType,\n XAIChatRequestToolType,\n XAIChatRequestType,\n XAICompleteChatResponse,\n XAIStreamChatResponse,\n} from \"./types\";\n\nconst BaseChatModelOptions = z.object({\n modelName: z.string(),\n apiKey: z.string(),\n baseUrl: z.string().url().optional(),\n completeChatUrl: z.string().url().optional(),\n streamChatUrl: z.string().url().optional(),\n});\ntype BaseChatModelOptionsType = z.infer<typeof BaseChatModelOptions>;\n\nclass BaseChatModel implements ChatModelV1<ChatModelSchemaType> {\n readonly version = \"v1\" as const;\n modelSchema: ChatModelSchemaType;\n modelName: string;\n\n private readonly apiKey: string;\n private readonly baseUrl: string;\n private readonly streamChatUrl: string;\n private readonly completeChatUrl: string;\n\n constructor(modelSchema: ChatModelSchemaType, options: BaseChatModelOptionsType) {\n const parsedOptions = BaseChatModelOptions.parse(options);\n this.modelSchema = modelSchema;\n this.modelName = parsedOptions.modelName;\n this.apiKey = parsedOptions.apiKey;\n this.baseUrl = urlWithoutTrailingSlash(parsedOptions.baseUrl || XAI.baseUrl);\n this.streamChatUrl = urlWithoutTrailingSlash(parsedOptions.streamChatUrl || `${this.baseUrl}/chat/completions`);\n this.completeChatUrl = urlWithoutTrailingSlash(parsedOptions.completeChatUrl || `${this.baseUrl}/chat/completions`);\n }\n\n getDefaultBaseUrl(): UrlType {\n return this.baseUrl;\n }\n\n getDefaultHeaders(): HeadersType {\n return {\n Authorization: `Bearer ${this.apiKey}`,\n \"Content-Type\": \"application/json\",\n };\n }\n\n getDefaultParams(): ParamsType {\n return {\n model: this.modelName,\n };\n }\n\n getRetryDelay(responseHeaders: HeadersType): { shouldRetry: boolean; delayMs: number } {\n const parseDuration = (duration: string): number => {\n const regex = /(\\d+)(h|m|s|ms)/g;\n const timeUnits: { [unit: string]: number } = {\n h: 3600000,\n m: 60000,\n s: 1000,\n ms: 1,\n };\n\n let match;\n let totalMs = 0;\n while ((match = regex.exec(duration)) !== null) {\n const value = parseInt(match[1]);\n const unit = match[2];\n totalMs += value * timeUnits[unit];\n }\n\n return totalMs;\n };\n\n let resetRequestsDelayMs = 0;\n let resetTokensDelayMs = 0;\n const shouldRetry = true;\n if (responseHeaders[\"x-ratelimit-reset-requests\"]) {\n resetRequestsDelayMs = parseDuration(responseHeaders[\"x-ratelimit-reset-requests\"]);\n }\n if (responseHeaders[\"x-ratelimit-reset-tokens\"]) {\n resetTokensDelayMs = parseDuration(responseHeaders[\"x-ratelimit-reset-tokens\"]);\n }\n\n const delayMs = Math.max(resetRequestsDelayMs, resetTokensDelayMs);\n return { shouldRetry, delayMs };\n }\n\n getTokenCount(messages: MessageType[]): number {\n return messages.reduce((acc, message) => {\n return acc + message.content.map((content) => (content.modality === \"text\" ? content.value : \"\")).join(\" \").length;\n }, 0);\n }\n\n transformModelRequest(request: XAIChatRequestType): {\n modelName: string | undefined;\n config: ConfigType;\n messages: MessageType[];\n tools: ToolType[] | undefined;\n } {\n const safeRequest = XAIChatRequest.safeParse(request);\n if (!safeRequest.success) {\n throw new InvalidModelRequestError({ info: \"Invalid model request\", cause: safeRequest.error });\n }\n\n const parsedRequest = safeRequest.data;\n\n const modelName = parsedRequest.model;\n\n if (parsedRequest.tool_choice && (!parsedRequest.tools || parsedRequest.tools.length === 0)) {\n throw new InvalidModelRequestError({\n info: `Invalid model request for model : '${this.modelName}'`,\n cause: new Error(\"'tools' are required when 'tool_choice' is specified\"),\n });\n }\n\n const _config: ConfigType = {};\n if (parsedRequest.response_format) {\n _config.responseFormat = parsedRequest.response_format.type;\n if (parsedRequest.response_format.type === \"json_schema\") {\n _config.responseSchema = {\n name: parsedRequest.response_format.json_schema.name,\n description: parsedRequest.response_format.json_schema.description || \"\",\n strict: parsedRequest.response_format.json_schema.strict,\n schema: parsedRequest.response_format.json_schema.schema,\n };\n }\n }\n\n if (parsedRequest.tool_choice) {\n if (typeof parsedRequest.tool_choice === \"string\") {\n _config.toolChoice = parsedRequest.tool_choice;\n } else {\n _config.toolChoice = parsedRequest.tool_choice.function.name;\n }\n }\n\n _config.seed = parsedRequest.seed;\n _config.maxTokens = parsedRequest.max_tokens;\n _config.temperature = parsedRequest.temperature;\n _config.topP = parsedRequest.top_p;\n _config.presencePenalty = parsedRequest.presence_penalty;\n _config.frequencyPenalty = parsedRequest.frequency_penalty;\n _config.stop = parsedRequest.stop;\n _config.logProbs = parsedRequest.logprobs;\n _config.topLogProbs = parsedRequest.top_logprobs;\n _config.reasoningEffort = parsedRequest.reasoning_effort;\n\n const config = Config().parse(removeUndefinedEntries(_config));\n\n const messages: MessageType[] = [];\n const toolCallMap: { [id: string]: ToolCallContentType } = {};\n parsedRequest.messages.forEach((message) => {\n const role = message.role;\n switch (role) {\n case \"system\":\n {\n const content = message.content as string | XAIChatRequestTextContentType[];\n if (typeof content === \"string\") {\n messages.push({\n role: role,\n content: [{ modality: TextModalityLiteral, value: content }],\n });\n } else {\n const _content = content.map((c) => {\n return { modality: TextModalityLiteral, value: c.text };\n });\n messages.push({ role: role, content: _content });\n }\n }\n break;\n\n case \"user\":\n {\n const content = message.content as string | (XAIChatRequestTextContentType | XAIChatRequestImageContentType)[];\n if (typeof content === \"string\") {\n messages.push({\n role: role,\n content: [{ modality: TextModalityLiteral, value: content }],\n });\n } else {\n const _content = content.map((c) => {\n if (c.type === \"text\") {\n return { modality: TextModalityLiteral, value: c.text };\n } else {\n if (c.image_url.url.startsWith(\"data:\")) {\n return {\n modality: ImageModalityLiteral,\n detail: c.image_url.detail || \"auto\",\n value: {\n type: Base64ImageContentTypeLiteral,\n base64: c.image_url.url,\n mediaType: getMimeTypeFromBase64(c.image_url.url) as Base64ImageContentValueType[\"mediaType\"],\n },\n };\n } else {\n return {\n modality: ImageModalityLiteral,\n detail: c.image_url.detail || \"auto\",\n value: { type: UrlImageContentTypeLiteral, url: c.image_url.url },\n };\n }\n }\n });\n messages.push({ role: role, content: _content });\n }\n }\n break;\n\n case \"assistant\":\n {\n const assistantContent: ContentType[] = [];\n\n if (!message.content && !message.tool_calls) {\n throw new InvalidModelRequestError({\n info: `Invalid model request for model : '${this.modelName}'`,\n cause: new Error(\"one of'content' or 'tool_calls' must be provided\"),\n });\n }\n\n if (message.content) {\n const content = message.content as string | XAIChatRequestTextContentType[];\n if (typeof content === \"string\") {\n assistantContent.push({ modality: TextModalityLiteral, value: content });\n } else {\n content.forEach((c) => {\n assistantContent.push({ modality: TextModalityLiteral, value: c.text });\n });\n }\n }\n\n if (message.tool_calls) {\n const toolCalls = message.tool_calls;\n toolCalls.forEach((toolCall, index) => {\n const toolCallContent: ToolCallContentType = {\n modality: ToolCallModalityLiteral,\n id: toolCall.id,\n index: index,\n name: toolCall.function.name,\n arguments: toolCall.function.arguments,\n };\n assistantContent.push(toolCallContent);\n toolCallMap[toolCallContent.id] = toolCallContent;\n });\n }\n messages.push({ role: role, content: assistantContent });\n }\n break;\n\n case \"tool\":\n {\n const toolResponse = message;\n messages.push({\n role: role,\n content: [\n {\n modality: ToolResponseModalityLiteral,\n id: toolResponse.tool_call_id,\n index: toolCallMap[toolResponse.tool_call_id].index,\n name: toolCallMap[toolResponse.tool_call_id].name,\n data: toolResponse.content,\n },\n ],\n });\n }\n break;\n }\n });\n\n const tools: ToolType[] = [];\n if (parsedRequest.tools) {\n parsedRequest.tools.forEach((tool: XAIChatRequestToolType) => {\n tools.push({\n type: \"function\",\n definition: {\n schema: {\n name: tool.function.name,\n description: tool.function.description || \"\",\n strict: tool.function.strict,\n parameters: tool.function.parameters,\n },\n },\n });\n });\n }\n\n return {\n modelName,\n config,\n messages,\n tools: tools.length > 0 ? tools : undefined,\n };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n transformConfig(config: ConfigType, messages?: MessageType[], tools?: ToolType[]): ParamsType {\n const _toolChoice = config.toolChoice;\n delete config.toolChoice;\n\n const _parsedConfig = this.modelSchema.config.schema.safeParse(config);\n if (!_parsedConfig.success) {\n throw new InvalidConfigError({\n info: `Invalid config for model : '${this.modelName}'`,\n cause: _parsedConfig.error,\n });\n }\n\n const parsedConfig = _parsedConfig.data as ConfigType;\n if (_toolChoice !== undefined) {\n parsedConfig.toolChoice = _toolChoice;\n }\n\n Object.keys(parsedConfig).forEach((key) => {\n if (!(key in this.modelSchema.config.def)) {\n throw new InvalidConfigError({\n info: `Invalid config for model : '${this.modelName}'`,\n cause: new Error(`Invalid config key : '${key}', \n available keys : [${Object.keys(this.modelSchema.config.def).join(\", \")}]`),\n });\n }\n });\n\n const transformedConfig = Object.keys(parsedConfig).reduce((acc, key) => {\n const def = this.modelSchema.config.def[key];\n const paramKey = def.param;\n const paramValue = (parsedConfig as ConfigType)[key];\n\n if (paramKey === \"max_tokens\" && def.type === \"range\" && paramValue === 0) {\n acc[paramKey] = def.max;\n } else {\n acc[paramKey] = paramValue;\n }\n\n return acc;\n }, {} as ParamsType);\n\n if (transformedConfig.top_logprobs && !transformedConfig.logprobs) {\n throw new InvalidConfigError({\n info: `Invalid config for model : '${this.modelName}'`,\n cause: new Error(\"'logprobs' must be 'true' when 'top_logprobs' is specified\"),\n });\n }\n\n if (\"tool_choice\" in transformedConfig && transformedConfig.tool_choice !== undefined) {\n const toolChoice = transformedConfig.tool_choice as string;\n if (!tools || (tools && tools.length === 0)) {\n throw new InvalidConfigError({\n info: `Invalid config for model : '${this.modelName}'`,\n cause: new Error(\"'tools' are required when 'toolChoice' is specified\"),\n });\n } else if (tools && tools.length > 0) {\n const configToolChoice = this.modelSchema.config.def.toolChoice as SelectStringConfigItemDefType;\n if (!configToolChoice.choices.includes(toolChoice)) {\n if (tools.map((tool) => tool.definition.schema.name).includes(toolChoice)) {\n transformedConfig.tool_choice = { type: \"function\", function: { name: toolChoice } };\n } else {\n throw new InvalidConfigError({\n info: `Invalid config for model : '${this.modelName}'`,\n cause: new Error(`toolChoice : '${toolChoice}' is not part of provided 'tools' names or \n one of [${configToolChoice.choices.join(\", \")}]`),\n });\n }\n }\n }\n }\n\n if (\"response_format\" in transformedConfig && transformedConfig.response_format !== undefined) {\n const responseFormat = transformedConfig.response_format as string;\n if (responseFormat === \"json_schema\") {\n if (!(\"response_schema\" in transformedConfig)) {\n throw new InvalidConfigError({\n info: `Invalid config for model : '${this.modelName}'`,\n cause: new Error(\"'responseSchema' is required in config when 'responseFormat' is 'json_schema'\"),\n });\n } else {\n transformedConfig.response_format = {\n type: \"json_schema\",\n json_schema: transformedConfig.response_schema,\n };\n delete transformedConfig.response_schema;\n }\n } else {\n transformedConfig.response_format = { type: responseFormat };\n }\n }\n\n return transformedConfig;\n }\n\n transformMessages(messages: MessageType[]): ParamsType {\n if (!messages || (messages && messages.length === 0)) {\n return { messages: [] };\n }\n\n const parsedMessages = messages.map((message) => {\n const parsedMessage = Message().safeParse(message);\n if (!parsedMessage.success) {\n throw new InvalidMessagesError({ info: \"Invalid messages\", cause: parsedMessage.error });\n }\n return parsedMessage.data;\n });\n\n parsedMessages.forEach((message) => {\n message.content.forEach((content) => {\n if (!this.modelSchema.modalities.includes(content.modality)) {\n throw new InvalidMessagesError({\n info: `Invalid message content for model : '${this.modelName}'`,\n cause: new Error(`model : '${this.modelName}' does not support modality : '${content.modality}', \n available modalities : [${this.modelSchema.modalities.join(\", \")}]`),\n });\n }\n });\n });\n\n parsedMessages.forEach((message) => {\n if (!Object.keys(this.modelSchema.roles).includes(message.role)) {\n throw new InvalidMessagesError({\n info: `Invalid message content for model : '${this.modelName}'`,\n cause: new Error(`model : '${this.modelName}' does not support role : '${message.role}', \n available roles : [${Object.keys(this.modelSchema.roles).join(\", \")}]`),\n });\n }\n });\n\n // Filter out error and search-result modalities from all messages (these are output-only modalities)\n parsedMessages.forEach((message) => {\n message.content = message.content.filter(\n (content) => (content.modality as string) !== \"error\" && (content.modality as string) !== \"search-result\"\n );\n });\n\n const transformedMessages = parsedMessages.map((message) => {\n switch (message.role) {\n case SystemRoleLiteral: {\n const textContent: { type: \"text\"; text: string }[] = [];\n message.content.forEach((content) => {\n if (content.modality === TextModalityLiteral) {\n textContent.push({ type: \"text\", text: content.value });\n } else {\n throw new InvalidMessagesError({\n info: `Invalid message content for model : '${this.modelName}'`,\n cause: new Error(`model : '${this.modelName}' does not support modality : '${content.modality}' for role : 'system'`),\n });\n }\n });\n return { role: \"system\", content: textContent };\n }\n\n case UserRoleLiteral: {\n const userContent: ({ type: \"text\"; text: string } | { type: \"image_url\"; image_url: { url: string; detail: string } })[] = [];\n message.content.forEach((content) => {\n if (content.modality === TextModalityLiteral) {\n userContent.push({ type: \"text\", text: content.value });\n } else if (content.modality === ImageModalityLiteral) {\n if (content.value.type === Base64ImageContentTypeLiteral) {\n userContent.push({\n type: \"image_url\",\n image_url: { url: content.value.base64, detail: content.detail },\n });\n } else if (content.value.type === UrlImageContentTypeLiteral) {\n userContent.push({\n type: \"image_url\",\n image_url: { url: content.value.url, detail: content.detail },\n });\n }\n } else {\n throw new InvalidMessagesError({\n info: `Invalid message content for model : '${this.modelName}'`,\n cause: new Error(`model : '${this.modelName}' does not support modality : '${content.modality}' for role : 'user'`),\n });\n }\n });\n return { role: \"user\", content: userContent };\n }\n\n case AssistantRoleLiteral: {\n const textContent: { type: \"text\"; text: string }[] = [];\n const toolCalls: { id: string; type: \"function\"; function: { name: string; arguments: string } }[] = [];\n message.content.forEach((content) => {\n if (content.modality === TextModalityLiteral) {\n textContent.push({ type: \"text\", text: content.value });\n } else if (content.modality === ToolCallModalityLiteral) {\n toolCalls.push({\n id: content.id,\n type: \"function\",\n function: { name: content.name, arguments: content.arguments },\n });\n } else {\n throw new InvalidMessagesError({\n info: `Invalid message content for model : '${this.modelName}'`,\n cause: new Error(`model : '${this.modelName}' does not support modality : '${content.modality}' for role : 'assistant'`),\n });\n }\n });\n if (textContent.length > 0 && toolCalls.length > 0) {\n return { role: \"assistant\", content: textContent, tool_calls: toolCalls };\n } else if (textContent.length > 0) {\n return { role: \"assistant\", content: textContent };\n } else if (toolCalls.length > 0) {\n return { role: \"assistant\", tool_calls: toolCalls };\n } else {\n throw new InvalidMessagesError({\n info: `Invalid message content for model : '${this.modelName}'`,\n cause: new Error(\"assistant message must have at least one text or tool_call content\"),\n });\n }\n }\n\n case ToolRoleLiteral: {\n const toolResponseContent = message.content.find(\n (content) => content.modality === ToolResponseModalityLiteral\n ) as ToolResponseContentType;\n if (!toolResponseContent) {\n throw new InvalidMessagesError({\n info: `Invalid message content for model : '${this.modelName}'`,\n cause: new Error(\"tool message must have tool_response content\"),\n });\n }\n return {\n role: \"tool\",\n tool_call_id: toolResponseContent.id,\n content: typeof toolResponseContent.data === \"string\" ? toolResponseContent.data : JSON.stringify(toolResponseContent.data),\n };\n }\n\n default:\n throw new InvalidMessagesError({\n info: `Invalid message content for model : '${this.modelName}'`,\n cause: new Error(`model : '${this.modelName}' does not support role : '${message.role}'`),\n });\n }\n });\n\n return { messages: transformedMessages };\n }\n\n transformTools(tools: ToolType[]): ParamsType {\n if (!tools || (tools && tools.length === 0)) {\n return {};\n }\n\n if (!this.modelSchema.modalities.includes(ToolCallModalityLiteral)) {\n throw new InvalidToolsError({\n info: `Invalid tools for model : '${this.modelName}'`,\n cause: new Error(`model : '${this.modelName}' does not support tools`),\n });\n }\n\n const parsedTools = tools.map((tool) => {\n const parsedTool = Tool().safeParse(tool);\n if (!parsedTool.success) {\n throw new InvalidToolsError({ info: \"Invalid tools\", cause: parsedTool.error });\n }\n return parsedTool.data;\n });\n\n const transformedTools = parsedTools.map((tool) => ({\n type: \"function\" as const,\n function: tool.definition.schema,\n }));\n\n return { tools: transformedTools };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async getCompleteChatUrl(config?: ConfigType, messages?: MessageType[], tools?: ToolType[]): Promise<UrlType> {\n return new Promise((resolve) => {\n resolve(this.completeChatUrl);\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async getCompleteChatHeaders(config?: ConfigType, messages?: MessageType[], tools?: ToolType[]): Promise<HeadersType> {\n return new Promise((resolve) => {\n resolve(this.getDefaultHeaders());\n });\n }\n\n async getCompleteChatData(config: ConfigType, messages: MessageType[], tools?: ToolType[]): Promise<ParamsType> {\n const transformedConfig = this.transformConfig(config, messages, tools);\n const transformedMessages = this.transformMessages(messages);\n if (transformedMessages.messages && (transformedMessages.messages as MessageType[]).length === 0) {\n throw new InvalidMessagesError({\n info: \"Messages are required\",\n cause: new Error(\"Messages are required\"),\n });\n }\n\n const transformedTools = tools ? this.transformTools(tools) : {};\n\n return new Promise((resolve) => {\n resolve({\n ...this.getDefaultParams(),\n ...transformedConfig,\n ...transformedMessages,\n ...transformedTools,\n });\n });\n }\n\n transformCompleteChatResponse(response: unknown): ChatResponseType {\n const parsedResponse = XAICompleteChatResponse.safeParse(response);\n if (!parsedResponse.success) {\n throw new ModelResponseError({ info: \"Invalid response from model\", cause: parsedResponse.error });\n }\n\n const data = parsedResponse.data;\n const choice = data.choices[0];\n\n const messages: MessageType[] = [];\n const assistantContent: ContentType[] = [];\n\n if (choice.message.content) {\n assistantContent.push(createTextContent(choice.message.content));\n }\n\n if (choice.message.tool_calls) {\n choice.message.tool_calls.forEach((toolCall, index) => {\n assistantContent.push(createToolCallContent(index, toolCall.id, toolCall.function.name, toolCall.function.arguments));\n });\n }\n\n if (assistantContent.length > 0) {\n messages.push({ role: AssistantRoleLiteral, content: assistantContent });\n }\n\n const usage: ChatUsageType = {\n promptTokens: data.usage.prompt_tokens,\n completionTokens: data.usage.completion_tokens,\n totalTokens: data.usage.total_tokens,\n };\n\n let logProbs: ChatLogProbsType | undefined;\n if (choice.logprobs && choice.logprobs.content) {\n logProbs = choice.logprobs.content.map((logProb) => ({\n token: logProb.token,\n logProb: logProb.logprob,\n bytes: logProb.bytes,\n topLogProbs: logProb.top_logprobs.map((topLogProb) => ({\n token: topLogProb.token,\n logProb: topLogProb.logprob,\n bytes: topLogProb.bytes,\n })),\n }));\n }\n\n return {\n messages,\n usage,\n logProbs,\n };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async getStreamChatUrl(config?: ConfigType, messages?: MessageType[], tools?: ToolType[]): Promise<UrlType> {\n return new Promise((resolve) => {\n resolve(this.streamChatUrl);\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async getStreamChatHeaders(config?: ConfigType, messages?: MessageType[], tools?: ToolType[]): Promise<HeadersType> {\n return new Promise((resolve) => {\n resolve(this.getDefaultHeaders());\n });\n }\n\n async getStreamChatData(config: ConfigType, messages: MessageType[], tools?: ToolType[]): Promise<ParamsType> {\n const transformedConfig = this.transformConfig(config, messages, tools);\n const transformedMessages = this.transformMessages(messages);\n if (transformedMessages.messages && (transformedMessages.messages as MessageType[]).length === 0) {\n throw new InvalidMessagesError({\n info: \"Messages are required\",\n cause: new Error(\"Messages are required\"),\n });\n }\n\n const transformedTools = tools ? this.transformTools(tools) : {};\n\n return new Promise((resolve) => {\n resolve({\n stream: true,\n stream_options: { include_usage: true },\n ...this.getDefaultParams(),\n ...transformedConfig,\n ...transformedMessages,\n ...transformedTools,\n });\n });\n }\n\n async *transformStreamChatResponseChunk(\n chunk: string,\n buffer: string\n ): AsyncGenerator<{ partialResponse: PartialChatResponseType; buffer: string }> {\n const data = buffer + chunk;\n const lines: string[] = [];\n let newBuffer = \"\";\n\n let currentIndex = 0;\n while (currentIndex < data.length) {\n const newlineIndex = data.indexOf(\"\\n\", currentIndex);\n if (newlineIndex === -1) {\n newBuffer = data.substring(currentIndex);\n break;\n } else {\n const line = data.substring(currentIndex, newlineIndex).trim();\n if (line) {\n lines.push(line);\n }\n currentIndex = newlineIndex + 1;\n }\n }\n\n for (const line of lines) {\n if (line === \"data: [DONE]\") {\n return;\n }\n\n if (line.startsWith(\"data: \")) {\n const jsonStr = line.substring(\"data: \".length);\n try {\n const structuredLine = JSON.parse(jsonStr);\n const safe = XAIStreamChatResponse.safeParse(structuredLine);\n if (safe.success) {\n const partialResponse: PartialChatResponseType = { partialMessages: [] };\n const parsedResponse = safe.data;\n\n if (parsedResponse.choices.length > 0) {\n const message = parsedResponse.choices[0].delta;\n if (message !== undefined && Object.keys(message).length !== 0) {\n if (\"content\" in message && message.content !== null) {\n partialResponse.partialMessages.push(createPartialTextMessage(AssistantRoleLiteral, message.content as string));\n } else if (\"tool_calls\" in message && message.tool_calls !== undefined) {\n const toolCall = message.tool_calls.at(0)!;\n partialResponse.partialMessages.push(\n createPartialToolCallMessage(\n AssistantRoleLiteral,\n toolCall.index,\n toolCall.id,\n toolCall.function?.name,\n toolCall.function?.arguments\n )\n );\n }\n }\n }\n\n if (parsedResponse.usage) {\n partialResponse.usage = {\n promptTokens: parsedResponse.usage.prompt_tokens,\n completionTokens: parsedResponse.usage.completion_tokens,\n totalTokens: parsedResponse.usage.total_tokens,\n };\n }\n yield { partialResponse: partialResponse, buffer: newBuffer };\n } else {\n throw new ModelResponseError({ info: \"Invalid response from model\", cause: safe.error });\n }\n } catch (error) {\n throw new ModelResponseError({\n info: `Malformed JSON received in stream: ${jsonStr}`,\n cause: error,\n });\n }\n }\n }\n\n yield { partialResponse: { partialMessages: [] }, buffer: newBuffer };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async *transformProxyStreamChatResponseChunk(\n chunk: string,\n buffer: string,\n data?: any,\n headers?: Record<string, string>,\n query?: Record<string, string>\n ): AsyncGenerator<{ partialResponse: PartialChatResponseType; buffer: string }> {\n yield* this.transformStreamChatResponseChunk(chunk, buffer);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async getProxyStreamChatUrl(data?: any, headers?: Record<string, string>, query?: Record<string, string>): Promise<UrlType> {\n return new Promise((resolve) => {\n resolve(this.streamChatUrl);\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async getProxyCompleteChatUrl(data?: any, headers?: Record<string, string>, query?: Record<string, string>): Promise<UrlType> {\n return new Promise((resolve) => {\n resolve(this.completeChatUrl);\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async getProxyCompleteChatHeaders(data?: any, headers?: Record<string, string>, query?: Record<string, string>): Promise<HeadersType> {\n if (!headers) {\n return {};\n }\n const sanitizedHeaders: Record<string, string> = { ...headers };\n\n delete sanitizedHeaders.host;\n delete sanitizedHeaders[\"content-length\"];\n return sanitizedHeaders;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async getProxyStreamChatHeaders(data?: any, headers?: Record<string, string>, query?: Record<string, string>): Promise<HeadersType> {\n return await this.getProxyCompleteChatHeaders(data, headers, query);\n }\n\n getModelPricing(): ChatModelPriceType {\n if (!(this.modelName in pricingData)) {\n throw new ModelResponseError({\n info: `Invalid model pricing for model : '${this.modelName}'`,\n cause: new Error(`No pricing configuration found for model \"${this.modelName}\"`),\n });\n }\n\n const entry = pricingData[this.modelName as keyof typeof pricingData];\n return entry as ChatModelPriceType;\n }\n}\n\nexport { BaseChatModel, BaseChatModelOptions, type BaseChatModelOptionsType };\n","{\n \"grok-2\": {\n \"modelName\": \"grok-2\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 2.0,\n \"outputPricePerMillion\": 10.0\n }\n }\n }\n ]\n },\n \"grok-2-latest\": {\n \"modelName\": \"grok-2-latest\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 2.0,\n \"outputPricePerMillion\": 10.0\n }\n }\n }\n ]\n },\n \"grok-2-1212\": {\n \"modelName\": \"grok-2-1212\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 2.0,\n \"outputPricePerMillion\": 10.0\n }\n }\n }\n ]\n },\n \"grok-2-vision\": {\n \"modelName\": \"grok-2-vision\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 2.0,\n \"outputPricePerMillion\": 10.0\n }\n }\n }\n ]\n },\n \"grok-2-vision-latest\": {\n \"modelName\": \"grok-2-vision-latest\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 2.0,\n \"outputPricePerMillion\": 10.0\n }\n }\n }\n ]\n },\n \"grok-2-vision-1212\": {\n \"modelName\": \"grok-2-vision-1212\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 2.0,\n \"outputPricePerMillion\": 10.0\n }\n }\n }\n ]\n },\n \"grok-3-beta\": {\n \"modelName\": \"grok-3-beta\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 3.0,\n \"outputPricePerMillion\": 15.0\n }\n }\n }\n ]\n },\n \"grok-3-fast-beta\": {\n \"modelName\": \"grok-3-fast-beta\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 5.0,\n \"outputPricePerMillion\": 25.0\n }\n }\n }\n ]\n },\n \"grok-3-mini-beta\": {\n \"modelName\": \"grok-3-mini-beta\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 0.3,\n \"outputPricePerMillion\": 0.5\n }\n }\n }\n ]\n },\n \"grok-3-mini-fast-beta\": {\n \"modelName\": \"grok-3-mini-fast-beta\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 0.6,\n \"outputPricePerMillion\": 4.0\n }\n }\n }\n ]\n },\n \"grok-4\": {\n \"modelName\": \"grok-4\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 6.0,\n \"outputPricePerMillion\": 18.0\n }\n }\n }\n ]\n },\n \"grok-4-0709\": {\n \"modelName\": \"grok-4-0709\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 6.0,\n \"outputPricePerMillion\": 18.0\n }\n }\n }\n ]\n },\n \"grok-4-fast-reasoning\": {\n \"modelName\": \"grok-4-fast-reasoning\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 3.0,\n \"outputPricePerMillion\": 12.0\n }\n }\n }\n ]\n },\n \"grok-4-fast-non-reasoning\": {\n \"modelName\": \"grok-4-fast-non-reasoning\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 3.0,\n \"outputPricePerMillion\": 12.0\n }\n }\n }\n ]\n },\n \"grok-4.1-fast-reasoning\": {\n \"modelName\": \"grok-4.1-fast-reasoning\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 3.0,\n \"outputPricePerMillion\": 12.0\n }\n }\n }\n ]\n },\n \"grok-4.1-fast-non-reasoning\": {\n \"modelName\": \"grok-4.1-fast-non-reasoning\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 3.0,\n \"outputPricePerMillion\": 12.0\n }\n }\n }\n ]\n },\n \"grok-code-fast-1\": {\n \"modelName\": \"grok-code-fast-1\",\n \"currency\": \"USD\",\n \"tokenRanges\": [\n {\n \"minTokens\": 0,\n \"maxTokens\": null,\n \"prices\": {\n \"base\": {\n \"inputPricePerMillion\": 0.3,\n \"outputPricePerMillion\": 0.5\n }\n }\n }\n ]\n }\n}\n","import { z } from \"zod\";\n\nimport { AssistantRoleLiteral, SystemRoleLiteral, ToolRoleLiteral, UserRoleLiteral } from \"@adaline/types\";\n\nconst XAIChatModelRoles = z.enum([SystemRoleLiteral, UserRoleLiteral, AssistantRoleLiteral, ToolRoleLiteral]);\n\nconst XAIChatModelRolesMap = {\n system: SystemRoleLiteral,\n user: UserRoleLiteral,\n assistant: AssistantRoleLiteral,\n tool: ToolRoleLiteral,\n} as const;\n\nexport { XAIChatModelRoles, XAIChatModelRolesMap };\n","import { z } from \"zod\";\n\nimport { ChatModelSchemaType } from \"@adaline/provider\";\nimport { ImageModalityLiteral, TextModalityLiteral, ToolCallModalityLiteral, ToolResponseModalityLiteral } from \"@adaline/types\";\n\nconst XAIChatModelModalities: ChatModelSchemaType[\"modalities\"] = [\n TextModalityLiteral,\n ImageModalityLiteral,\n ToolCallModalityLiteral,\n ToolResponseModalityLiteral,\n];\n\nconst XAIChatModelModalitiesEnum = z.enum([\n TextModalityLiteral,\n ImageModalityLiteral,\n ToolCallModalityLiteral,\n ToolResponseModalityLiteral,\n]);\n\nconst XAIChatModelTextModalities: ChatModelSchemaType[\"modalities\"] = [TextModalityLiteral];\n\nconst XAIChatModelTextModalitiesEnum = z.enum([TextModalityLiteral]);\n\nconst XAIChatModelTextToolModalities: ChatModelSchemaType[\"modalities\"] = [\n TextModalityLiteral,\n ToolCallModalityLiteral,\n ToolResponseModalityLiteral,\n];\n\nconst XAIChatModelTextToolModalitiesEnum = z.enum([TextModalityLiteral, ToolCallModalityLiteral, ToolResponseModalityLiteral]);\n\nexport {\n XAIChatModelModalitiesEnum,\n XAIChatModelModalities,\n XAIChatModelTextModalitiesEnum,\n XAIChatModelTextModalities,\n XAIChatModelTextToolModalitiesEnum,\n XAIChatModelTextToolModalities,\n};\n","import { z } from \"zod\";\n\nconst XAIBaseLogProb = z.object({\n token: z.string(),\n logprob: z.number(),\n bytes: z.array(z.number()).nullable(),\n});\n\nconst XAILogProb = z\n .object({\n content: z\n .array(\n XAIBaseLogProb.extend({\n top_logprobs: z.array(XAIBaseLogProb),\n })\n )\n .nullable()\n .optional(),\n refusal: z\n .array(\n XAIBaseLogProb.extend({\n top_logprobs: z.array(XAIBaseLogProb),\n })\n )\n .nullable()\n .optional(),\n })\n .nullable();\n\nconst XAIToolCallsCompleteChatResponse = z.array(\n z.object({\n id: z.string().min(1),\n type: z.enum([\"function\"]),\n function: z.object({\n name: z.string(),\n arguments: z.string(),\n }),\n })\n);\n\nconst XAICompleteChatResponse = z.object({\n id: z.string(),\n object: z.literal(\"chat.completion\"),\n created: z.number(),\n model: z.string(),\n system_fingerprint: z.string().nullable().optional(),\n choices: z.array(\n z.object({\n index: z.number(),\n message: z.object({\n role: z.string(),\n content: z.string().nullable().optional(),\n tool_calls: XAIToolCallsCompleteChatResponse.optional(),\n refusal: z.string().nullable().optional(),\n }),\n logprobs: XAILogProb.optional(),\n finish_reason: z.string(),\n })\n ),\n usage: z.object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number(),\n reasoning_tokens: z.number().optional(),\n }),\n});\ntype XAICompleteChatResponseType = z.infer<typeof XAICompleteChatResponse>;\n\nconst XAIToolCallsStreamChatResponse = z.array(\n z.object({\n index: z.number().int(),\n id: z.string().min(1).optional(),\n type: z.enum([\"function\"]).optional(),\n function: z\n .object({\n name: z.string().min(1).optional(),\n arguments: z.string().optional(),\n })\n .optional(),\n })\n);\n\nconst XAIStreamChatResponse = z.object({\n id: z.string(),\n object: z.string(),\n created: z.number(),\n model: z.string(),\n system_fingerprint: z.string().nullable().optional(),\n choices: z.array(\n z.object({\n index: z.number(),\n delta: z\n .object({\n content: z.string().nullable().optional(),\n tool_calls: XAIToolCallsStreamChatResponse.optional(),\n refusal: z.string().nullable().optional(),\n })\n .or(z.object({})),\n logprobs: XAILogProb.optional(),\n finish_reason: z.string().nullable().optional(),\n })\n ),\n usage: z\n .object({\n prompt_tokens: z.number(),\n completion_tokens: z.number(),\n total_tokens: z.number(),\n reasoning_tokens: z.number().optional(),\n })\n .nullable()\n .optional(),\n});\ntype XAIStreamChatResponseType = z.infer<typeof XAIStreamChatResponse>;\n\nexport {\n XAICompleteChatResponse,\n XAIStreamChatResponse,\n XAIToolCallsCompleteChatResponse,\n XAIToolCallsStreamChatResponse,\n type XAICompleteChatResponseType,\n type XAIStreamChatResponseType,\n};\n","import { z } from \"zod\";\n\nconst XAIChatRequestTool = z.object({\n type: z.literal(\"function\"),\n function: z.object({\n name: z.string().min(1),\n description: z.string().min(1).optional(),\n strict: z.boolean().optional(),\n parameters: z.any(),\n }),\n});\ntype XAIChatRequestToolType = z.infer<typeof XAIChatRequestTool>;\n\nconst XAIChatRequestToolChoiceEnum = z.enum([\"none\", \"auto\", \"required\"]);\ntype XAIChatRequestToolChoiceEnumType = z.infer<typeof XAIChatRequestToolChoiceEnum>;\n\nconst XAIChatRequestToolChoiceFunction = z.object({\n type: z.literal(\"function\"),\n function: z.object({\n name: z.string().min(1),\n }),\n});\ntype XAIChatRequestToolChoiceFunctionType = z.infer<typeof XAIChatRequestToolChoiceFunction>;\n\nconst XAIChatRequestResponseFormat = z\n .object({\n type: z.enum([\"text\", \"json_object\"]),\n })\n .or(\n z.object({\n type: z.literal(\"json_schema\"),\n json_schema: z.object({\n name: z.string().min(1),\n description: z.string().min(1).optional(),\n strict: z.boolean().optional(),\n schema: z.any(),\n }),\n })\n );\ntype XAIChatRequestResponseFormatType = z.infer<typeof XAIChatRequestResponseFormat>;\n\nconst XAIChatRequestTextContent = z.object({\n text: z.string().min(1),\n type: z.literal(\"text\"),\n});\ntype XAIChatRequestTextContentType = z.infer<typeof XAIChatRequestTextContent>;\n\nconst XAIChatRequestImageContent = z.object({\n type: z.literal(\"image_url\"),\n image_url: z.object({\n url: z.string().min(1),\n detail: z.enum([\"low\", \"high\", \"auto\"]).optional(),\n }),\n});\ntype XAIChatRequestImageContentType = z.infer<typeof XAIChatRequestImageContent>;\n\nconst XAIChatRequestToolCallContent = z.object({\n id: z.string().min(1),\n type: z.literal(\"function\"),\n function: z.object({\n name: z.string().min(1),\n arguments: z.string().min(1),\n }),\n});\ntype XAIChatRequestToolCallContentType = z.infer<typeof XAIChatRequestToolCallContent>;\n\nconst XAIChatRequestSystemMessage = z.object({\n role: z.literal(\"system\"),\n content: z.string().min(1).or(z.array(XAIChatRequestTextContent).min(1)),\n});\ntype XAIChatRequestSystemMessageType = z.infer<typeof XAIChatRequestSystemMessage>;\n\nconst XAIChatRequestUserMessage = z.object({\n role: z.literal(\"user\"),\n content: z\n .string()\n .min(1)\n .or(z.array(z.union([XAIChatRequestTextContent, XAIChatRequestImageContent])).min(1)),\n});\ntype XAIChatRequestUserMessageType = z.infer<typeof XAIChatRequestUserMessage>;\n\nconst XAIChatRequestAssistantMessage = z.object({\n role: z.literal(\"assistant\"),\n content: z.string().min(1).or(z.array(XAIChatRequestTextContent).min(1)).optional(),\n tool_calls: z.array(XAIChatRequestToolCallContent).min(1).optional(),\n});\ntype XAIChatRequestAssistantMessageType = z.infer<typeof XAIChatRequestAssistantMessage>;\n\nconst XAIChatRequestToolMessage = z.object({\n role: z.literal(\"tool\"),\n tool_call_id: z.string().min(1),\n content: z.string().min(1),\n});\ntype XAIChatRequestToolMessageType = z.infer<typeof XAIChatRequestToolMessage>;\n\nconst XAIChatRequestMessage = z.union([\n XAIChatRequestSystemMessage,\n XAIChatRequestUserMessage,\n XAIChatRequestAssistantMessage,\n XAIChatRequestToolMessage,\n]);\ntype XAIChatRequestMessageType = z.infer<typeof XAIChatRequestMessage>;\n\nconst XAIChatRequest = z.object({\n model: z.string().min(1).optional(),\n messages: z.array(XAIChatRequestMessage).min(1),\n frequency_penalty: z.number().min(-2).max(2).nullable().optional(),\n logprobs: z.boolean().nullable().optional(),\n top_logprobs: z.number().min(0).max(20).nullable().optional(),\n max_tokens: z.number().min(0).nullable().optional(),\n presence_penalty: z.number().min(-2).max(2).nullable().optional(),\n response_format: XAIChatRequestResponseFormat.optional(),\n seed: z.number().nullable().optional(),\n stop: z.string().or(z.array(z.string()).max(4)).nullable().optional(),\n temperature: z.number().min(0).max(2).nullable().optional(),\n top_p: z.number().min(0).max(1).nullable().optional(),\n tools: z.array(XAIChatRequestTool).optional(),\n tool_choice: XAIChatRequestToolChoiceEnum.or(XAIChatRequestToolChoiceFunction).optional(),\n reasoning_effort: z.enum([\"low\", \"high\"]).optional(),\n});\ntype XAIChatRequestType = z.infer<typeof XAIChatRequest>;\n\nexport {\n XAIChatRequest,\n XAIChatRequestAssistantMessage,\n XAIChatRequestImageContent,\n XAIChatRequestMessage,\n XAIChatRequestResponseFormat,\n XAIChatRequestSystemMessage,\n XAIChatRequestTextContent,\n XAIChatRequestTool,\n XAIChatRequestToolCallContent,\n XAIChatRequestToolChoiceEnum,\n XAIChatRequestToolChoiceFunction,\n XAIChatRequestToolMessage,\n XAIChatRequestUserMessage,\n type XAIChatRequestAssistantMessageType,\n type XAIChatRequestImageContentType,\n type XAIChatRequestMessageType,\n type XAIChatRequestResponseFormatType,\n type XAIChatRequestSystemMessageType,\n type XAIChatRequestTextContentType,\n type XAIChatRequestToolCallContentType,\n type XAIChatRequestToolChoiceEnumType,\n type XAIChatRequestToolChoiceFunctionType,\n type XAIChatRequestToolMessageType,\n type XAIChatRequestToolType,\n type XAIChatRequestType,\n type XAIChatRequestUserMessageType,\n};\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_2_Literal = \"grok-2\";\nconst Grok_2_Description =\n \"Grok-2 is xAI's flagship language model with strong reasoning capabilities and a 131K context window.\";\n\nconst Grok_2_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_2_Literal,\n description: Grok_2_Description,\n maxInputTokens: 131072,\n maxOutputTokens: 32768,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(32768, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(32768, 4),\n },\n price: pricingData[Grok_2_Literal],\n});\n\nconst Grok_2_Options = BaseChatModelOptions;\ntype Grok_2_OptionsType = z.infer<typeof Grok_2_Options>;\n\nclass Grok_2 extends BaseChatModel {\n constructor(options: Grok_2_OptionsType) {\n super(Grok_2_Schema, options);\n }\n}\n\nexport { Grok_2, Grok_2_Literal, Grok_2_Options, Grok_2_Schema, type Grok_2_OptionsType };\n","export * from \"./base.config.chat-model.xai\";\nexport * from \"./common.config.chat-model.xai\";\nexport * from \"./reasoning.config.chat-model.xai\";\nexport * from \"./response-schema.config.chat-model.xai\";\n","import { z } from \"zod\";\n\nimport {\n frequencyPenalty,\n logProbs,\n maxTokens,\n presencePenalty,\n seed,\n stop,\n temperature,\n toolChoice,\n topLogProbs,\n topP,\n} from \"./common.config.chat-model.xai\";\n\nconst ChatModelBaseConfigSchema = (maxOutputTokens: number, maxSequences: number) =>\n z.object({\n temperature: temperature.schema,\n maxTokens: maxTokens(maxOutputTokens).schema,\n stop: stop(maxSequences).schema,\n topP: topP.schema,\n frequencyPenalty: frequencyPenalty.schema,\n presencePenalty: presencePenalty.schema,\n seed: seed.schema.transform((value) => (value === 0 ? undefined : value)),\n logProbs: logProbs.schema,\n topLogProbs: topLogProbs.schema,\n toolChoice: toolChoice.schema,\n });\n\nconst ChatModelBaseConfigDef = (maxOutputTokens: number, maxSequences: number) =>\n ({\n temperature: temperature.def,\n maxTokens: maxTokens(maxOutputTokens).def,\n stop: stop(maxSequences).def,\n topP: topP.def,\n frequencyPenalty: frequencyPenalty.def,\n presencePenalty: presencePenalty.def,\n seed: seed.def,\n logProbs: logProbs.def,\n topLogProbs: topLogProbs.def,\n toolChoice: toolChoice.def,\n }) as const;\n\nexport { ChatModelBaseConfigDef, ChatModelBaseConfigSchema };\n","import { CHAT_CONFIG, MultiStringConfigItem, RangeConfigItem, SelectBooleanConfigItem, SelectStringConfigItem } from \"@adaline/provider\";\n\nconst temperature = RangeConfigItem({\n param: \"temperature\",\n title: CHAT_CONFIG.TEMPERATURE.title,\n description: CHAT_CONFIG.TEMPERATURE.description,\n min: 0,\n max: 2,\n step: 0.01,\n default: 1,\n});\n\nconst maxTokens = (maxOutputTokens: number) =>\n RangeConfigItem({\n param: \"max_tokens\",\n title: CHAT_CONFIG.MAX_TOKENS.title,\n description: CHAT_CONFIG.MAX_TOKENS.description,\n min: 0,\n max: maxOutputTokens,\n step: 1,\n default: 0,\n });\n\nconst stop = (maxSequences: number) =>\n MultiStringConfigItem({\n param: \"stop\",\n title: CHAT_CONFIG.STOP(maxSequences).title,\n description: CHAT_CONFIG.STOP(maxSequences).description,\n max: maxSequences,\n });\n\nconst topP = RangeConfigItem({\n param: \"top_p\",\n title: CHAT_CONFIG.TOP_P.title,\n description: CHAT_CONFIG.TOP_P.description,\n min: 0,\n max: 1,\n step: 0.01,\n default: 1,\n});\n\nconst frequencyPenalty = RangeConfigItem({\n param: \"frequency_penalty\",\n title: CHAT_CONFIG.FREQUENCY_PENALTY.title,\n description: CHAT_CONFIG.FREQUENCY_PENALTY.description,\n min: -2,\n max: 2,\n step: 0.01,\n default: 0,\n});\n\nconst presencePenalty = RangeConfigItem({\n param: \"presence_penalty\",\n title: CHAT_CONFIG.PRESENCE_PENALTY.title,\n description: CHAT_CONFIG.PRESENCE_PENALTY.description,\n min: -2,\n max: 2,\n step: 0.01,\n default: 0,\n});\n\nconst seed = RangeConfigItem({\n param: \"seed\",\n title: CHAT_CONFIG.SEED.title,\n description: CHAT_CONFIG.SEED.description,\n min: 0,\n max: 1000000,\n step: 1,\n default: 0,\n});\n\nconst logProbs = SelectBooleanConfigItem({\n param: \"logprobs\",\n title: CHAT_CONFIG.LOG_PROBS.title,\n description: CHAT_CONFIG.LOG_PROBS.description,\n default: false,\n});\n\nconst topLogProbs = RangeConfigItem({\n param: \"top_logprobs\",\n title: CHAT_CONFIG.TOP_LOG_PROBS.title,\n description: CHAT_CONFIG.TOP_LOG_PROBS.description,\n min: 0,\n max: 20,\n step: 1,\n default: 0,\n});\n\nconst toolChoice = SelectStringConfigItem({\n param: \"tool_choice\",\n title: \"Tool choice\",\n description:\n \"Controls which (if any) tool is called by the model. 'none' means the model will not call a function. 'auto' means the model can pick between generating a message or calling a tool.\",\n default: \"auto\",\n choices: [\"auto\", \"required\", \"none\"],\n});\n\nconst reasoningEffort = SelectStringConfigItem({\n param: \"reasoning_effort\",\n title: \"Reasoning Effort\",\n description:\n \"Controls how much time the model spends thinking before responding. 'low' uses minimal thinking time for quick responses, 'high' uses maximum thinking time for complex problems. Only supported by grok-3-mini models.\",\n default: \"low\",\n choices: [\"low\", \"high\"],\n});\n\nexport { frequencyPenalty, logProbs, maxTokens, presencePenalty, reasoningEffort, seed, stop, temperature, toolChoice, topLogProbs, topP };\n","import { z } from \"zod\";\n\nimport { logProbs, maxTokens, reasoningEffort, seed, temperature, toolChoice, topLogProbs, topP } from \"./common.config.chat-model.xai\";\n\nconst ChatModelReasoningConfigSchema = (maxOutputTokens: number) =>\n z.object({\n temperature: temperature.schema,\n maxTokens: maxTokens(maxOutputTokens).schema,\n topP: topP.schema,\n seed: seed.schema.transform((value) => (value === 0 ? undefined : value)),\n logProbs: logProbs.schema,\n topLogProbs: topLogProbs.schema,\n toolChoice: toolChoice.schema,\n });\n\nconst ChatModelReasoningConfigDef = (maxOutputTokens: number) =>\n ({\n temperature: temperature.def,\n maxTokens: maxTokens(maxOutputTokens).def,\n topP: topP.def,\n seed: seed.def,\n logProbs: logProbs.def,\n topLogProbs: topLogProbs.def,\n toolChoice: toolChoice.def,\n }) as const;\n\nconst ChatModelMiniReasoningConfigSchema = (maxOutputTokens: number, _maxSequences: number) =>\n z.object({\n temperature: temperature.schema,\n maxTokens: maxTokens(maxOutputTokens).schema,\n topP: topP.schema,\n seed: seed.schema.transform((value) => (value === 0 ? undefined : value)),\n logProbs: logProbs.schema,\n topLogProbs: topLogProbs.schema,\n toolChoice: toolChoice.schema,\n reasoningEffort: reasoningEffort.schema,\n });\n\nconst ChatModelMiniReasoningConfigDef = (maxOutputTokens: number) =>\n ({\n temperature: temperature.def,\n maxTokens: maxTokens(maxOutputTokens).def,\n topP: topP.def,\n seed: seed.def,\n logProbs: logProbs.def,\n topLogProbs: topLogProbs.def,\n toolChoice: toolChoice.def,\n reasoningEffort: reasoningEffort.def,\n }) as const;\n\nexport {\n ChatModelMiniReasoningConfigDef,\n ChatModelMiniReasoningConfigSchema,\n ChatModelReasoningConfigDef,\n ChatModelReasoningConfigSchema,\n};\n","import { CHAT_CONFIG, ObjectSchemaConfigItem, SelectStringConfigItem } from \"@adaline/provider\";\nimport { ResponseSchema } from \"@adaline/types\";\n\nimport { ChatModelBaseConfigDef, ChatModelBaseConfigSchema } from \"./base.config.chat-model.xai\";\n\nconst responseSchema = ObjectSchemaConfigItem({\n param: \"response_schema\",\n title: CHAT_CONFIG.RESPONSE_SCHEMA.title,\n description: CHAT_CONFIG.RESPONSE_SCHEMA.description,\n objectSchema: ResponseSchema,\n});\n\nconst responseFormat = SelectStringConfigItem({\n param: \"response_format\",\n title: CHAT_CONFIG.RESPONSE_FORMAT_WITH_SCHEMA.title,\n description: CHAT_CONFIG.RESPONSE_FORMAT_WITH_SCHEMA.description,\n default: \"text\",\n choices: [\"text\", \"json_object\", \"json_schema\"],\n});\n\nconst ChatModelResponseSchemaConfigDef = (maxOutputTokens: number, maxSequences: number) => ({\n ...ChatModelBaseConfigDef(maxOutputTokens, maxSequences),\n responseFormat: responseFormat.def,\n responseSchema: responseSchema.def,\n});\n\nconst ChatModelResponseSchemaConfigSchema = (maxOutputTokens: number, maxSequences: number) =>\n ChatModelBaseConfigSchema(maxOutputTokens, maxSequences).extend({\n responseFormat: responseFormat.schema,\n responseSchema: responseSchema.schema,\n });\n\nexport { ChatModelResponseSchemaConfigDef, ChatModelResponseSchemaConfigSchema };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_2_Latest_Literal = \"grok-2-latest\";\nconst Grok_2_Latest_Description =\n \"Grok-2 Latest is the most recent version of xAI's Grok-2 model with a 131K context window.\";\n\nconst Grok_2_Latest_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_2_Latest_Literal,\n description: Grok_2_Latest_Description,\n maxInputTokens: 131072,\n maxOutputTokens: 32768,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(32768, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(32768, 4),\n },\n price: pricingData[Grok_2_Latest_Literal],\n});\n\nconst Grok_2_Latest_Options = BaseChatModelOptions;\ntype Grok_2_Latest_OptionsType = z.infer<typeof Grok_2_Latest_Options>;\n\nclass Grok_2_Latest extends BaseChatModel {\n constructor(options: Grok_2_Latest_OptionsType) {\n super(Grok_2_Latest_Schema, options);\n }\n}\n\nexport { Grok_2_Latest, Grok_2_Latest_Literal, Grok_2_Latest_Options, Grok_2_Latest_Schema, type Grok_2_Latest_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_2_1212_Literal = \"grok-2-1212\";\nconst Grok_2_1212_Description =\n \"Grok-2 version 1212 is a specific release of xAI's Grok-2 model with a 131K context window.\";\n\nconst Grok_2_1212_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_2_1212_Literal,\n description: Grok_2_1212_Description,\n maxInputTokens: 131072,\n maxOutputTokens: 32768,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(32768, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(32768, 4),\n },\n price: pricingData[Grok_2_1212_Literal],\n});\n\nconst Grok_2_1212_Options = BaseChatModelOptions;\ntype Grok_2_1212_OptionsType = z.infer<typeof Grok_2_1212_Options>;\n\nclass Grok_2_1212 extends BaseChatModel {\n constructor(options: Grok_2_1212_OptionsType) {\n super(Grok_2_1212_Schema, options);\n }\n}\n\nexport { Grok_2_1212, Grok_2_1212_Literal, Grok_2_1212_Options, Grok_2_1212_Schema, type Grok_2_1212_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_3_Beta_Literal = \"grok-3-beta\";\nconst Grok_3_Beta_Description =\n \"Grok-3 Beta is xAI's latest flagship model for enterprise tasks with a 131K context window.\";\n\nconst Grok_3_Beta_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_3_Beta_Literal,\n description: Grok_3_Beta_Description,\n maxInputTokens: 131072,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(131072, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(131072, 4),\n },\n price: pricingData[Grok_3_Beta_Literal],\n});\n\nconst Grok_3_Beta_Options = BaseChatModelOptions;\ntype Grok_3_Beta_OptionsType = z.infer<typeof Grok_3_Beta_Options>;\n\nclass Grok_3_Beta extends BaseChatModel {\n constructor(options: Grok_3_Beta_OptionsType) {\n super(Grok_3_Beta_Schema, options);\n }\n}\n\nexport { Grok_3_Beta, Grok_3_Beta_Literal, Grok_3_Beta_Options, Grok_3_Beta_Schema, type Grok_3_Beta_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_3_Fast_Beta_Literal = \"grok-3-fast-beta\";\nconst Grok_3_Fast_Beta_Description =\n \"Grok-3 Fast Beta is xAI's fastest flagship model optimized for speed with a 131K context window.\";\n\nconst Grok_3_Fast_Beta_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_3_Fast_Beta_Literal,\n description: Grok_3_Fast_Beta_Description,\n maxInputTokens: 131072,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(131072, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(131072, 4),\n },\n price: pricingData[Grok_3_Fast_Beta_Literal],\n});\n\nconst Grok_3_Fast_Beta_Options = BaseChatModelOptions;\ntype Grok_3_Fast_Beta_OptionsType = z.infer<typeof Grok_3_Fast_Beta_Options>;\n\nclass Grok_3_Fast_Beta extends BaseChatModel {\n constructor(options: Grok_3_Fast_Beta_OptionsType) {\n super(Grok_3_Fast_Beta_Schema, options);\n }\n}\n\nexport { Grok_3_Fast_Beta, Grok_3_Fast_Beta_Literal, Grok_3_Fast_Beta_Options, Grok_3_Fast_Beta_Schema, type Grok_3_Fast_Beta_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_3_Mini_Beta_Literal = \"grok-3-mini-beta\";\nconst Grok_3_Mini_Beta_Description =\n \"Grok-3 Mini Beta is xAI's lightweight reasoning model with support for reasoning_effort parameter and a 131K context window.\";\n\nconst Grok_3_Mini_Beta_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_3_Mini_Beta_Literal,\n description: Grok_3_Mini_Beta_Description,\n maxInputTokens: 131072,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelMiniReasoningConfigDef(131072),\n schema: XAIChatModelConfigs.ChatModelMiniReasoningConfigSchema(131072, 4),\n },\n price: pricingData[Grok_3_Mini_Beta_Literal],\n});\n\nconst Grok_3_Mini_Beta_Options = BaseChatModelOptions;\ntype Grok_3_Mini_Beta_OptionsType = z.infer<typeof Grok_3_Mini_Beta_Options>;\n\nclass Grok_3_Mini_Beta extends BaseChatModel {\n constructor(options: Grok_3_Mini_Beta_OptionsType) {\n super(Grok_3_Mini_Beta_Schema, options);\n }\n}\n\nexport { Grok_3_Mini_Beta, Grok_3_Mini_Beta_Literal, Grok_3_Mini_Beta_Options, Grok_3_Mini_Beta_Schema, type Grok_3_Mini_Beta_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_3_Mini_Fast_Beta_Literal = \"grok-3-mini-fast-beta\";\nconst Grok_3_Mini_Fast_Beta_Description =\n \"Grok-3 Mini Fast Beta is xAI's fast lightweight model optimized for speed with a 131K context window.\";\n\nconst Grok_3_Mini_Fast_Beta_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_3_Mini_Fast_Beta_Literal,\n description: Grok_3_Mini_Fast_Beta_Description,\n maxInputTokens: 131072,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(131072, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(131072, 4),\n },\n price: pricingData[Grok_3_Mini_Fast_Beta_Literal],\n});\n\nconst Grok_3_Mini_Fast_Beta_Options = BaseChatModelOptions;\ntype Grok_3_Mini_Fast_Beta_OptionsType = z.infer<typeof Grok_3_Mini_Fast_Beta_Options>;\n\nclass Grok_3_Mini_Fast_Beta extends BaseChatModel {\n constructor(options: Grok_3_Mini_Fast_Beta_OptionsType) {\n super(Grok_3_Mini_Fast_Beta_Schema, options);\n }\n}\n\nexport { Grok_3_Mini_Fast_Beta, Grok_3_Mini_Fast_Beta_Literal, Grok_3_Mini_Fast_Beta_Options, Grok_3_Mini_Fast_Beta_Schema, type Grok_3_Mini_Fast_Beta_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_4_Literal = \"grok-4\";\nconst Grok_4_Description =\n \"Grok-4 is xAI's most advanced reasoning model with a 256K context window.\";\n\nconst Grok_4_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_4_Literal,\n description: Grok_4_Description,\n maxInputTokens: 262144,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelReasoningConfigDef(131072),\n schema: XAIChatModelConfigs.ChatModelReasoningConfigSchema(131072),\n },\n price: pricingData[Grok_4_Literal],\n});\n\nconst Grok_4_Options = BaseChatModelOptions;\ntype Grok_4_OptionsType = z.infer<typeof Grok_4_Options>;\n\nclass Grok_4 extends BaseChatModel {\n constructor(options: Grok_4_OptionsType) {\n super(Grok_4_Schema, options);\n }\n}\n\nexport { Grok_4, Grok_4_Literal, Grok_4_Options, Grok_4_Schema, type Grok_4_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_4_0709_Literal = \"grok-4-0709\";\nconst Grok_4_0709_Description =\n \"Grok-4 version 0709 is a specific release of xAI's most advanced reasoning model with a 256K context window.\";\n\nconst Grok_4_0709_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_4_0709_Literal,\n description: Grok_4_0709_Description,\n maxInputTokens: 262144,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelReasoningConfigDef(131072),\n schema: XAIChatModelConfigs.ChatModelReasoningConfigSchema(131072),\n },\n price: pricingData[Grok_4_0709_Literal],\n});\n\nconst Grok_4_0709_Options = BaseChatModelOptions;\ntype Grok_4_0709_OptionsType = z.infer<typeof Grok_4_0709_Options>;\n\nclass Grok_4_0709 extends BaseChatModel {\n constructor(options: Grok_4_0709_OptionsType) {\n super(Grok_4_0709_Schema, options);\n }\n}\n\nexport { Grok_4_0709, Grok_4_0709_Literal, Grok_4_0709_Options, Grok_4_0709_Schema, type Grok_4_0709_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_4_Fast_Reasoning_Literal = \"grok-4-fast-reasoning\";\nconst Grok_4_Fast_Reasoning_Description =\n \"Grok-4 Fast Reasoning is xAI's fast reasoning model with a 2M context window.\";\n\nconst Grok_4_Fast_Reasoning_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_4_Fast_Reasoning_Literal,\n description: Grok_4_Fast_Reasoning_Description,\n maxInputTokens: 2097152,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelReasoningConfigDef(131072),\n schema: XAIChatModelConfigs.ChatModelReasoningConfigSchema(131072),\n },\n price: pricingData[Grok_4_Fast_Reasoning_Literal],\n});\n\nconst Grok_4_Fast_Reasoning_Options = BaseChatModelOptions;\ntype Grok_4_Fast_Reasoning_OptionsType = z.infer<typeof Grok_4_Fast_Reasoning_Options>;\n\nclass Grok_4_Fast_Reasoning extends BaseChatModel {\n constructor(options: Grok_4_Fast_Reasoning_OptionsType) {\n super(Grok_4_Fast_Reasoning_Schema, options);\n }\n}\n\nexport { Grok_4_Fast_Reasoning, Grok_4_Fast_Reasoning_Literal, Grok_4_Fast_Reasoning_Options, Grok_4_Fast_Reasoning_Schema, type Grok_4_Fast_Reasoning_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_4_Fast_Non_Reasoning_Literal = \"grok-4-fast-non-reasoning\";\nconst Grok_4_Fast_Non_Reasoning_Description =\n \"Grok-4 Fast Non-Reasoning is xAI's fast model without reasoning capabilities with a 2M context window.\";\n\nconst Grok_4_Fast_Non_Reasoning_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_4_Fast_Non_Reasoning_Literal,\n description: Grok_4_Fast_Non_Reasoning_Description,\n maxInputTokens: 2097152,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(131072, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(131072, 4),\n },\n price: pricingData[Grok_4_Fast_Non_Reasoning_Literal],\n});\n\nconst Grok_4_Fast_Non_Reasoning_Options = BaseChatModelOptions;\ntype Grok_4_Fast_Non_Reasoning_OptionsType = z.infer<typeof Grok_4_Fast_Non_Reasoning_Options>;\n\nclass Grok_4_Fast_Non_Reasoning extends BaseChatModel {\n constructor(options: Grok_4_Fast_Non_Reasoning_OptionsType) {\n super(Grok_4_Fast_Non_Reasoning_Schema, options);\n }\n}\n\nexport { Grok_4_Fast_Non_Reasoning, Grok_4_Fast_Non_Reasoning_Literal, Grok_4_Fast_Non_Reasoning_Options, Grok_4_Fast_Non_Reasoning_Schema, type Grok_4_Fast_Non_Reasoning_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_4_1_Fast_Reasoning_Literal = \"grok-4.1-fast-reasoning\";\nconst Grok_4_1_Fast_Reasoning_Description =\n \"Grok-4.1 Fast Reasoning is xAI's updated fast reasoning model with a 2M context window.\";\n\nconst Grok_4_1_Fast_Reasoning_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_4_1_Fast_Reasoning_Literal,\n description: Grok_4_1_Fast_Reasoning_Description,\n maxInputTokens: 2097152,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelReasoningConfigDef(131072),\n schema: XAIChatModelConfigs.ChatModelReasoningConfigSchema(131072),\n },\n price: pricingData[\"grok-4.1-fast-reasoning\"],\n});\n\nconst Grok_4_1_Fast_Reasoning_Options = BaseChatModelOptions;\ntype Grok_4_1_Fast_Reasoning_OptionsType = z.infer<typeof Grok_4_1_Fast_Reasoning_Options>;\n\nclass Grok_4_1_Fast_Reasoning extends BaseChatModel {\n constructor(options: Grok_4_1_Fast_Reasoning_OptionsType) {\n super(Grok_4_1_Fast_Reasoning_Schema, options);\n }\n}\n\nexport { Grok_4_1_Fast_Reasoning, Grok_4_1_Fast_Reasoning_Literal, Grok_4_1_Fast_Reasoning_Options, Grok_4_1_Fast_Reasoning_Schema, type Grok_4_1_Fast_Reasoning_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_4_1_Fast_Non_Reasoning_Literal = \"grok-4.1-fast-non-reasoning\";\nconst Grok_4_1_Fast_Non_Reasoning_Description =\n \"Grok-4.1 Fast Non-Reasoning is xAI's updated fast model without reasoning capabilities with a 2M context window.\";\n\nconst Grok_4_1_Fast_Non_Reasoning_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_4_1_Fast_Non_Reasoning_Literal,\n description: Grok_4_1_Fast_Non_Reasoning_Description,\n maxInputTokens: 2097152,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(131072, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(131072, 4),\n },\n price: pricingData[\"grok-4.1-fast-non-reasoning\"],\n});\n\nconst Grok_4_1_Fast_Non_Reasoning_Options = BaseChatModelOptions;\ntype Grok_4_1_Fast_Non_Reasoning_OptionsType = z.infer<typeof Grok_4_1_Fast_Non_Reasoning_Options>;\n\nclass Grok_4_1_Fast_Non_Reasoning extends BaseChatModel {\n constructor(options: Grok_4_1_Fast_Non_Reasoning_OptionsType) {\n super(Grok_4_1_Fast_Non_Reasoning_Schema, options);\n }\n}\n\nexport { Grok_4_1_Fast_Non_Reasoning, Grok_4_1_Fast_Non_Reasoning_Literal, Grok_4_1_Fast_Non_Reasoning_Options, Grok_4_1_Fast_Non_Reasoning_Schema, type Grok_4_1_Fast_Non_Reasoning_OptionsType };\n","import { z } from \"zod\";\n\nimport { ChatModelSchema } from \"@adaline/provider\";\n\nimport { XAIChatModelConfigs } from \"../../configs\";\nimport pricingData from \"../pricing.json\";\nimport { BaseChatModel, BaseChatModelOptions } from \"./base-chat-model.xai\";\nimport { XAIChatModelTextToolModalities, XAIChatModelTextToolModalitiesEnum, XAIChatModelRoles, XAIChatModelRolesMap } from \"./types\";\n\nconst Grok_Code_Fast_1_Literal = \"grok-code-fast-1\";\nconst Grok_Code_Fast_1_Description =\n \"Grok Code Fast 1 is xAI's specialized coding model optimized for code generation with a 256K context window.\";\n\nconst Grok_Code_Fast_1_Schema = ChatModelSchema(XAIChatModelRoles, XAIChatModelTextToolModalitiesEnum).parse({\n name: Grok_Code_Fast_1_Literal,\n description: Grok_Code_Fast_1_Description,\n maxInputTokens: 262144,\n maxOutputTokens: 131072,\n roles: XAIChatModelRolesMap,\n modalities: XAIChatModelTextToolModalities,\n config: {\n def: XAIChatModelConfigs.ChatModelResponseSchemaConfigDef(131072, 4),\n schema: XAIChatModelConfigs.ChatModelResponseSchemaConfigSchema(131072, 4),\n },\n price: pricingData[Grok_Code_Fast_1_Literal],\n});\n\nconst Grok_Code_Fast_1_Options = BaseChatModelOptions;\ntype Grok_Code_Fast_1_OptionsType = z.infer<typeof Grok_Code_Fast_1_Options>;\n\nclass Grok_Code_Fast_1 extends BaseChatModel {\n constructor(options: Grok_Code_Fast_1_OptionsType) {\n super(Grok_Code_Fast_1_Schema, options);\n }\n}\n\nexport { Grok_Code_Fast_1, Grok_Code_Fast_1_Literal, Grok_Code_Fast_1_Options, Grok_Code_Fast_1_Schema, type Grok_Code_Fast_1_OptionsType };\n"],"mappings":"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","names":["z","AssistantRoleLiteral","ImageModalityLiteral","SystemRoleLiteral","TextModalityLiteral","ToolCallModalityLiteral","ToolResponseModalityLiteral","ToolRoleLiteral","UserRoleLiteral","z","z","z","z","TextModalityLiteral","ImageModalityLiteral","ToolCallModalityLiteral","ToolResponseModalityLiteral","toolChoice","responseFormat","SystemRoleLiteral","UserRoleLiteral","AssistantRoleLiteral","ToolRoleLiteral","logProbs","z","z","z","z","CHAT_CONFIG","SelectStringConfigItem","CHAT_CONFIG","SelectStringConfigItem","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema","ChatModelSchema"]}
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@adaline/xai",
3
+ "version": "1.1.0",
4
+ "license": "MIT",
5
+ "sideEffects": false,
6
+ "private": false,
7
+ "description": "Adaline xAI (Grok)",
8
+ "keywords": [
9
+ "AI",
10
+ "Adaline",
11
+ "LLM",
12
+ "Prompt Engineering",
13
+ "Prompt",
14
+ "GenAI",
15
+ "xAI",
16
+ "Grok"
17
+ ],
18
+ "author": "Adaline <support@adaline.ai>",
19
+ "homepage": "https://www.adaline.ai",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/adaline/gateway.git"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/adaline/gateway/issues"
26
+ },
27
+ "engines": {
28
+ "node": ">=18.0.0"
29
+ },
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "main": "./dist/index.js",
34
+ "module": "./dist/index.mjs",
35
+ "types": "./dist/index.d.ts",
36
+ "exports": {
37
+ "./package.json": "./package.json",
38
+ ".": {
39
+ "types": "./dist/index.d.ts",
40
+ "import": "./dist/index.mjs",
41
+ "require": "./dist/index.js"
42
+ }
43
+ },
44
+ "files": [
45
+ "dist/**/*",
46
+ "LICENSE",
47
+ "README.md"
48
+ ],
49
+ "dependencies": {
50
+ "zod": "^3.23.8",
51
+ "@adaline/provider": "1.8.0",
52
+ "@adaline/types": "1.11.0"
53
+ },
54
+ "devDependencies": {
55
+ "eslint-config-adaline": "0.9.1",
56
+ "@adaline/tsconfig": "0.12.1"
57
+ },
58
+ "scripts": {
59
+ "clean": "rimraf node_modules .turbo dist",
60
+ "build": "tsup",
61
+ "lint": "eslint . --ext js,jsx,ts,tsx",
62
+ "format": "prettier --write .",
63
+ "post": "npm publish --access public",
64
+ "test": "vitest run",
65
+ "test:watch": "vitest watch"
66
+ }
67
+ }