feat: catalogue dynamique modèles Codex/Claude avec compatibilité CLI locale
Ajout du catalogue enrichi pour les modèles Codex et Claude avec: - Compatibilité estimée avec la version CLI locale détectée - Source d'origine (catalogue/Provider) pour chaque entrée - Support du catalogue Provider API externe - Matrice de compatibilité embarquée dans l'application Frontend: - UI de configuration des modèles avec affichage des états de compatibilité - Suggestions dynamiques avec badges de compatibilité - Messages d'aide contextuels (compatible/unknown/likelyTooRecent) - Alertes non-bloquantes pour les modèles trop récents - Gestion des échecs de catalogue avec saisie manuelle conservée Backend: - Ports CliVersionReader, ProviderModelCatalogue, CompatibilityMatrixSource - Implémentations: ProcessCliVersionReader, HttpProviderModelCatalogue, EmbeddedCompatibilityMatrix - Enrichissement des DTOs avec compatibility, cli_version, warnings - Tests unitaires complets pour le resolver de catalogue
This commit is contained in:
@ -1096,6 +1096,15 @@ export interface OpenCodeProviderCatalogEntry {
|
||||
models: string[];
|
||||
}
|
||||
|
||||
/** Estimated compatibility for a Codex/Claude model against the detected local CLI. */
|
||||
export type ModelCompatibility =
|
||||
| "compatible"
|
||||
| "unknown"
|
||||
| "likelyTooRecent";
|
||||
|
||||
/** Origin of a model catalogue entry. */
|
||||
export type ModelCatalogSource = "catalogue" | "provider";
|
||||
|
||||
/** One searchable model from the Codex/Claude structured-profile catalogues. */
|
||||
export interface ProfileModelCatalogEntry {
|
||||
/** Structured adapter this model belongs to. */
|
||||
@ -1108,6 +1117,19 @@ export interface ProfileModelCatalogEntry {
|
||||
aliases: string[];
|
||||
/** Whether this entry is the conservative default suggestion. */
|
||||
recommended: boolean;
|
||||
/** Best-effort compatibility estimate for the locally detected CLI version. */
|
||||
compatibility: ModelCompatibility;
|
||||
/** Whether the entry comes from IdeA's catalogue or a provider-derived source. */
|
||||
source: ModelCatalogSource;
|
||||
}
|
||||
|
||||
/** Enriched Codex/Claude model catalogue. Manual model entry remains supported. */
|
||||
export interface ProfileModelCatalog {
|
||||
models: ProfileModelCatalogEntry[];
|
||||
/** Detected local CLI version, or null when unavailable. */
|
||||
cliVersion: string | null;
|
||||
/** Non-fatal catalogue/version diagnostics. */
|
||||
warnings: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user