/** * kosha-discovery — Mistral AI provider discoverer. * * Queries the Mistral AI `/v1/models` endpoint, filters relevant models, * and maps them into {@link ModelCard} objects. * * Mistral's catalog is first-party only — all models are Mistral's own, * so `originProvider` is always `"mistral"`. * @module */ import type { OpenAICompatibleModel, ModelClassification } from "./openai-compatible.js"; import { OpenAICompatibleDiscoverer } from "./openai-compatible.js"; /** * Discovers models available through the Mistral AI API. * * Mistral's catalog is first-party — model IDs are flat strings such as * `mistral-large-latest`, `codestral-latest`, and `mistral-embed`. The * discoverer infers mode and capabilities from patterns in the model ID. */ export declare class MistralDiscoverer extends OpenAICompatibleDiscoverer { readonly providerId = "mistral"; readonly providerName = "Mistral AI"; readonly baseUrl = "https://api.mistral.ai"; /** * Determine whether a model ID represents a model we want to track. * * We keep all standard Mistral models and filter out: * - Fine-tuned model snapshots (id starts with "ft:") */ protected isRelevantModel(model: OpenAICompatibleModel): boolean; /** * Classify a Mistral model: determine origin, mode, and capabilities. * * Key heuristics: * - Origin is always "mistral" * - Embedding models get mode "embedding" * - Chat models get mode "chat" * - Models containing "pixtral" get "vision" capability * - Models containing "codestral" get "code" capability * - All chat models get "function_calling" (Mistral supports it across their lineup) * - Large models get "nlu" */ protected classifyModel(model: OpenAICompatibleModel): ModelClassification; } //# sourceMappingURL=mistral.d.ts.map