Aller au contenu principal

io.enterpriseai.resources.NavinLibraryClient

Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/NavinLibraryClient.java. Retour à l'index de la référence du SDK Java.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe NavinLibraryClient​

Bibliothèque Navin. La bibliothèque Navin est le catalogue embarqué de skills, plugins, commandes, agents, presets MCP et canaux prêts à l'emploi. Un projet active ce dont il a besoin, installe des serveurs MCP et des canaux à partir de presets et garde ses propres règles, les instructions durables que reçoit chaque run du projet.

Constructeur NavinLibraryClient​

NavinLibraryClient(Transport transport)

Crée le client sur le transport partagé ; EnterpriseAIClient le construit, on y accède par l'accesseur du même nom.

NomTypeDéfautRequisDescription
transportTransportouiTransport partagé par les sous-clients d'un même client.
JsonNode activate(String projectId, String kind, String name)

Activer un élément de la bibliothèque. Active un skill, un plugin (avec ses skills, commandes et agents), une commande ou un agent pour le projet (201). Un skill est enregistré dans le Skill Registry, vérifié par son empreinte de bibliothèque ; un nom de skill déjà pris par un skill hors bibliothèque répond 409 navin_skill_name_taken. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. 422 navin_library_kind_not_activable ; 404 navin_library_item_not_found. Audité sous navin_library.activate.

Route : /v1/projects/{project_id}/navin-library/activations (POST).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
kindStringouiskill, plugin, command ou agent.
nameStringouiNom de l'élément dans la bibliothèque (1 à 128 caractères).

Retour : JsonNode. Réponse JSON décodée de l'opération « Activer un élément de la bibliothèque ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode deactivate(String projectId, String activationId)

Désactiver un élément de la bibliothèque. Retire une activation du projet ; un plugin emporte les skills, commandes et agents qu'il avait apportés. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. 404 navin_library_activation_not_found. Audité sous navin_library.deactivate.

Route : /v1/projects/{project_id}/navin-library/activations/{activation_id} (DELETE).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
activationIdStringouiIdentifiant (UUID) de l'activation.

Retour : JsonNode. Réponse JSON décodée de l'opération « Désactiver un élément de la bibliothèque ».

Erreurs levées : les erreurs typées du transport (Erreurs).

void deleteRule(String projectId, String name)

Supprimer une règle de projet. Supprime la règle ; les runs du projet ne la reçoivent plus. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. 404 rule_not_found. Audité sous project.rule.delete.

Route : /v1/projects/{project_id}/rules/{name} (DELETE).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
nameStringouiNom de la règle.

Retour : void.

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode importRules(String projectId, Object body)

Importer les fichiers de règles d'un dépôt. Importe les fichiers de règles d'un dépôt (.navin/rules, .cursor/rules/*.mdc avec leur frontmatter, .cursorrules, .clinerules, .windsurfrules, .github/copilot-instructions.md) ; chaque fichier reconnu crée ou remplace une règle. Les autres fichiers sont signalés dans skipped avec une raison (not_a_rule_file, empty, too_large). 200 fichiers au plus (400 invalid_request). Demande tenant_admin, developer ou application_owner et la relation ReBAC editor.

Route : /v1/projects/{project_id}/rules/import (POST).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
bodyObjectouiLes fichiers à importer, chemin et contenu.

Retour : JsonNode. Réponse JSON décodée de l'opération « Importer les fichiers de règles d'un dépôt ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode installChannel(String projectId, String channel, Object body)

Installer un canal depuis la bibliothèque. Crée un canal du projet à partir d'un adaptateur de canal Navin (201). Le contrat de configuration de l'adaptateur est vérifié : des champs inconnus, secrets ou en lecture seule dans settings et des champs non secrets dans secret_refs répondent 422 channel_field_invalid, un type de valeur incorrect aussi, des exigences manquantes 422 channel_field_missing ; les secrets ne sont que des références openbao:// ou env:// (422 channel_secret_ref_required). Par défaut : auth api_key, limites de 65536 octets par message et 60 par minute, DLP detect en entrée et mask en sortie. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. Audité sous navin_library.channel_install.

Route : /v1/projects/{project_id}/navin-library/channels/{name}/install (POST).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
channelStringouiSeulement les sessions ouvertes sur ce canal.
bodyObjectouiNom du canal, agent, réglages, références de secrets, authentification, limites et DLP.

Retour : JsonNode. Réponse JSON décodée de l'opération « Installer un canal depuis la bibliothèque ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode installChannel(String projectId, String channel, Object body, RequestOptions options)

Installer un canal depuis la bibliothèque. Crée un canal du projet à partir d'un adaptateur de canal Navin (201). Le contrat de configuration de l'adaptateur est vérifié : des champs inconnus, secrets ou en lecture seule dans settings et des champs non secrets dans secret_refs répondent 422 channel_field_invalid, un type de valeur incorrect aussi, des exigences manquantes 422 channel_field_missing ; les secrets ne sont que des références openbao:// ou env:// (422 channel_secret_ref_required). Par défaut : auth api_key, limites de 65536 octets par message et 60 par minute, DLP detect en entrée et mask en sortie. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. Audité sous navin_library.channel_install.

Route : /v1/projects/{project_id}/navin-library/channels/{name}/install (POST).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
channelStringouiSeulement les sessions ouvertes sur ce canal.
bodyObjectouiNom du canal, agent, réglages, références de secrets, authentification, limites et DLP.
optionsRequestOptionsouiOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : JsonNode. Réponse JSON décodée de l'opération « Installer un canal depuis la bibliothèque ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode installMcpPreset(String projectId, String preset, Object body)

Installer un serveur MCP depuis un preset. Enregistre un serveur MCP du projet dans la passerelle MCP à partir d'un preset Navin (201), en HTTP streamable ou SSE. Un preset stdio s'exécute là où tourne sa commande (la page MCP du Navin Manager) : donnez son point d'accès HTTP dans url ; ses champs d'environnement et d'arguments sont renvoyés dans bridge_fields. Erreurs : 409 mcp_preset_not_installable, 409 mcp_preset_needs_endpoint, 422 mcp_preset_field_unknown, 422 mcp_preset_field_missing, 422 mcp_preset_secret_ref_required (un champ secret doit être une référence openbao:// ou env://), 422 mcp_preset_unsupported. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. Audité sous navin_library.mcp_install.

Route : /v1/projects/{project_id}/navin-library/mcp-presets/{name}/install (POST).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
presetStringouiNom du préréglage MCP de la bibliothèque Navin à installer, placé dans {name} du chemin.
bodyObjectouiNom du serveur, point d'accès, transport, champs du preset, références de secrets et outils permis.

Retour : JsonNode. Réponse JSON décodée de l'opération « Installer un serveur MCP depuis un preset ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode installMcpPreset(String projectId, String preset, Object body, RequestOptions options)

Installer un serveur MCP depuis un preset. Enregistre un serveur MCP du projet dans la passerelle MCP à partir d'un preset Navin (201), en HTTP streamable ou SSE. Un preset stdio s'exécute là où tourne sa commande (la page MCP du Navin Manager) : donnez son point d'accès HTTP dans url ; ses champs d'environnement et d'arguments sont renvoyés dans bridge_fields. Erreurs : 409 mcp_preset_not_installable, 409 mcp_preset_needs_endpoint, 422 mcp_preset_field_unknown, 422 mcp_preset_field_missing, 422 mcp_preset_secret_ref_required (un champ secret doit être une référence openbao:// ou env://), 422 mcp_preset_unsupported. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. Audité sous navin_library.mcp_install.

Route : /v1/projects/{project_id}/navin-library/mcp-presets/{name}/install (POST).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
presetStringouiNom du préréglage MCP de la bibliothèque Navin à installer, placé dans {name} du chemin.
bodyObjectouiNom du serveur, point d'accès, transport, champs du preset, références de secrets et outils permis.
optionsRequestOptionsouiOptions de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation).

Retour : JsonNode. Réponse JSON décodée de l'opération « Installer un serveur MCP depuis un preset ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode item(String kind, String name)

Lire un élément de la bibliothèque. Un élément avec son contenu (SKILL.md et fichiers d'un skill, plugin.json et README d'un plugin, Markdown d'une commande ou d'un agent, preset MCP ou contrat de canal complet). 404 navin_library_item_not_found.

Route : /v1/navin-library/{kind}/{name} (GET).

NomTypeDéfautRequisDescription
kindStringouiType d'élément : skills, plugins, commands, agents, mcp-presets ou channels.
nameStringouiNom de l'élément.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire un élément de la bibliothèque ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode items(String kind)

Lister les éléments d'un type. Éléments d'un type : skills, plugins, commands, agents, mcp-presets ou channels (q cherche dans le nom et la description, category filtre les skills, plugins et presets MCP). Un type inconnu répond 404 navin_library_kind_unknown.

Route : /v1/navin-library/{kind} (GET).

NomTypeDéfautRequisDescription
kindStringouiType d'élément : skills, plugins, commands, agents, mcp-presets ou channels.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les éléments d'un type ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode items(String kind, Map<String, ?> query)

Lister les éléments d'un type. Éléments d'un type : skills, plugins, commands, agents, mcp-presets ou channels (q cherche dans le nom et la description, category filtre les skills, plugins et presets MCP). Un type inconnu répond 404 navin_library_kind_unknown.

Route : /v1/navin-library/{kind} (GET).

NomTypeDéfautRequisDescription
kindStringouiType d'élément : skills, plugins, commands, agents, mcp-presets ou channels.
queryMap<String, ?>ouiParamètres de la chaîne de requête de la route.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les éléments d'un type ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode project(String projectId)

Voir ce qu'un projet utilise de la bibliothèque. Version de la bibliothèque, activations du projet avec le nombre par type, et serveurs MCP et canaux du projet (avec le preset dont ils viennent). Demande la relation ReBAC viewer sur le projet.

Route : /v1/projects/{project_id}/navin-library (GET).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.

Retour : JsonNode. Réponse JSON décodée de l'opération « Voir ce qu'un projet utilise de la bibliothèque ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode putRule(String projectId, String name, Object body)

Créer ou remplacer une règle de projet. Crée (201) ou remplace (200) une règle du projet. Le nom compte 1 à 64 lettres, chiffres, ., _ ou - (un suffixe .md est retiré, readme est refusé ; 422 rule_name_invalid). Un contenu vide répond 422 rule_empty, plus de 64 Kio 413 rule_too_large ; une règle conditionnelle demande des globs ou une description (422 rule_scope_required). Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. Audité sous project.rule.put.

Route : /v1/projects/{project_id}/rules/{name} (PUT).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.
nameStringouiNom de la règle.
bodyObjectouiContenu, mode, description, globs et source de la règle.

Retour : JsonNode. Réponse JSON décodée de l'opération « Créer ou remplacer une règle de projet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode rules(String projectId)

Lister les règles du projet. Règles du projet par mode puis par nom, chacune avec source, chemin source, description, globs, contenu, empreinte et taille en octets. Demande la relation ReBAC viewer.

Route : /v1/projects/{project_id}/rules (GET).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lister les règles du projet ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode rulesPrompt(String projectId)

Lire la section de prompt des règles. La section de prompt que reçoit chaque run du projet : règles always insérées (chacune coupée à 8000 caractères), règles conditionnelles listées avec leur description et leurs globs. Renvoie prompt, les nombres always et conditional et l'empreinte digest du texte (vide si le projet n'a aucune règle). Demande la relation ReBAC viewer.

Route : /v1/projects/{project_id}/rules/prompt (GET).

NomTypeDéfautRequisDescription
projectIdStringouiIdentifiant (UUID) ou slug du projet.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire la section de prompt des règles ».

Erreurs levées : les erreurs typées du transport (Erreurs).

JsonNode summary()

Lire le résumé de la bibliothèque. Version du paquet navin embarqué, nombre d'éléments par type et fichiers de règles lus dans un dépôt. 503 navin_library_unavailable quand le catalogue n'est pas livré.

Route : /v1/navin-library (GET).

Cet élément ne prend aucun paramètre.

Retour : JsonNode. Réponse JSON décodée de l'opération « Lire le résumé de la bibliothèque ».

Erreurs levées : les erreurs typées du transport (Erreurs).