Contrats
L'écran Contrats vous permet de lire le schéma JSON de chaque contrat v1 publié par le Control Plane et de valider un document JSON ou YAML selon ce schéma avant de l'appliquer. Chemin dans le portail : /developer/contracts. Il sert aux développeurs et aux auteurs de packs qui rédigent des manifestes (agents, skills, connecteurs, plugins, politiques).
Ce que montre l'écran
- À gauche, la liste des contrats de
GET /v1/contracts, paginée : le titre du contrat et son nom technique. - Schéma JSON : le schéma du contrat sélectionné (
GET /v1/contracts/{name}), affiché en JSON. Le premier contrat de la liste est sélectionné par défaut. - Valider un document : une zone de texte (JSON ou YAML,
{}par défaut) et le bouton Valider. - Le résultat : Document valide avec une marque verte, ou Document invalide avec la liste des erreurs (chemin et message de chaque erreur).
- Un message d'erreur d'analyse sous le bouton quand le texte n'est ni du JSON ni du YAML.
Actions
| Bouton ou action | Ce qu'il fait | Appel API | Rôles |
|---|---|---|---|
| Clic sur un contrat de la liste | Affiche son schéma et efface le dernier résultat. | GET /v1/contracts/{name} | Tout utilisateur connecté |
| Valider | Analyse le texte, puis l'envoie au serveur pour validation. | POST /v1/contracts/{name}/validate | Tout utilisateur connecté |
| Pagination de la liste | Affiche les contrats suivants ou précédents. | Aucun | Tout utilisateur connecté |
| Réessayer (état d'erreur) | Relit la liste des contrats. | GET /v1/contracts | Tout utilisateur connecté |
Rôles
Les trois routes des contrats demandent seulement un principal connecté (current_principal dans services/control-plane/src/eai/domains/contracts/__init__.py). Le portail ne demande aucun rôle sur cet écran. Valider un document ne l'enregistre jamais : l'application d'un manifeste se fait ailleurs et demande tenant_admin ou developer.
Tâches courantes
Vérifier un manifeste de skill avant de l'appliquer
- Sélectionner le contrat. Chaque type de manifeste a son schéma. Cliquez sur
skill-manifestdans la liste. Résultat attendu : la section Schéma JSON affiche le schéma. En cas d'échec : un état d'erreur apparaît ; cliquez sur Réessayer. - Coller le manifeste. Le serveur valide exactement ce que vous collez. Collez le texte JSON ou YAML dans Valider un document. Résultat attendu : le texte est conservé tel quel. En cas d'échec : rien à faire à cette étape.
- Valider. Cliquez sur Valider. Résultat attendu : Document valide. En cas d'échec : lisez chaque ligne d'erreur (chemin puis message), corrigez le manifeste et validez de nouveau ; une erreur d'analyse signifie que le texte n'est pas du JSON ou du YAML valide.
Trouver les champs obligatoires d'un contrat
- Ouvrir le schéma. Cliquez sur le contrat dans la liste. Résultat attendu : son schéma s'affiche. En cas d'échec : une liste vide affiche Aucun contrat publié ; le Control Plane n'a chargé aucun contrat.
- Valider un document vide. Laissez
{}et cliquez sur Valider. Résultat attendu : Document invalide avec une erreur par champ obligatoire manquant. En cas d'échec : vérifiez le message réseau de l'état d'erreur.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
| Aucun contrat publié | Le Control Plane n'a trouvé aucun contrat. | Vérifiez le déploiement du Control Plane et son dossier de contrats. |
Erreur unknown_contract (404) | Le nom du contrat n'existe pas. | Choisissez un contrat dans la liste. |
| Erreur d'analyse sous Valider | Le texte n'est ni du JSON ni du YAML. | Corrigez la syntaxe (guillemets, virgules, indentation). |
| Document invalide avec des erreurs | Le document ne respecte pas le schéma. | Corrigez chaque champ désigné par le chemin de l'erreur. |
| « L'API Control Plane est injoignable » | L'API est arrêtée ou l'adresse de l'API du portail est fausse. | Vérifiez le Control Plane et le paramètre NEXT_PUBLIC_EAI_API_URL du portail. |