enterprise_ai.navin_library
Source : sdks/python/src/enterprise_ai/navin_library/__init__.py. Retour à l'index de la référence du SDK Python.
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.
Resource
NavinLibraryClient.activate
activate(project_id: str, kind: str, name: str) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
kind | str | oui | skill, plugin, command ou agent. | |
name | str | oui | Nom de l'élément dans la bibliothèque (1 à 128 caractères). |
Retour : Any. 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).
NavinLibraryClient.deactivate
deactivate(project_id: str, activation_id: str) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
activation_id | str | oui | Identifiant (UUID) de l'activation. |
Retour : Any. 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).
NavinLibraryClient.delete_rule
delete_rule(project_id: str, name: str) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
name | str | oui | Nom de la règle. |
Retour : Any. Réponse JSON décodée de l'opération « Supprimer une règle de projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
NavinLibraryClient.import_rules
import_rules(project_id: str, files: list[dict[str, str]] | str | Path) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
files | list[dict[str, str]] | str | Path | oui | Fichiers à importer (1 à 200). |
Retour : Any. 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).
NavinLibraryClient.install_channel
install_channel(project_id: str, channel: str, settings: dict[str, Any] | None = None, secret_refs: dict[str, str] | None = None, name: str | None = None, agent_ref: str | None = None, **extra: Any) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
channel | str | oui | Seulement les sessions ouvertes sur ce canal. | |
settings | dict[str, Any] | None | None | non | Champs non secrets du contrat de canal, chacun vérifié selon son type (texte de 2000 caractères au plus, entier, booléen, liste, énumération). |
secret_refs | dict[str, str] | None | None | non | Champs secrets du contrat sous forme de références openbao:// ou env://, par nom de champ. |
name | str | None | None | non | Nom de l'adaptateur de canal Navin. |
agent_ref | str | None | None | non | Agent qui répond sur le canal, sous la forme <type>:<nom>, par exemple agent:support. |
**extra | Any | non | Champs supplémentaires fusionnés dans le corps de la requête. |
Retour : Any. 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).
NavinLibraryClient.install_mcp_preset
install_mcp_preset(project_id: str, preset: str, url: str | None = None, values: dict[str, Any] | None = None, credential_refs: dict[str, str] | None = None, name: str | None = None, transport: str | None = None, allowed_tools: list[str] | None = None) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
preset | str | oui | Nom du préréglage MCP de la bibliothèque Navin à installer. | |
url | str | None | None | non | Point d'accès HTTP (8 à 2000 caractères) ; requis pour un preset stdio exécuté par le Navin Manager. Par défaut : l'URL du preset pour un preset HTTP. |
values | dict[str, Any] | None | None | non | Champs non secrets du preset (texte, entier ou booléen), par nom de champ. |
credential_refs | dict[str, str] | None | None | non | Champs secrets du preset sous forme de références openbao:// ou env://, par nom de champ. |
name | str | None | None | non | Nom du preset MCP. |
transport | str | None | None | non | streamable_http ou sse. Par défaut : le transport du preset. |
allowed_tools | list[str] | None | None | non | Outils du serveur qui peuvent être appelés. Omis : tous les outils. |
Retour : Any. 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).
NavinLibraryClient.item
item(kind: str, name: str) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
kind | str | oui | Type d'élément : skills, plugins, commands, agents, mcp-presets ou channels. | |
name | str | oui | Nom de l'élément. |
Retour : Any. 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).
NavinLibraryClient.items
items(kind: str, q: str | None = None, category: str | None = None) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
kind | str | oui | Type d'élément : skills, plugins, commands, agents, mcp-presets ou channels. | |
q | str | None | None | non | Texte cherché dans le nom et la description. |
category | str | None | None | non | Seulement cette catégorie (skills, plugins et presets MCP). |
Retour : Any. 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).
NavinLibraryClient.project
project(project_id: str) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. |
Retour : Any. 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).
NavinLibraryClient.put_rule
put_rule(project_id: str, name: str, content: str, mode: str = 'always', description: str = '', globs: list[str] | None = None, source: str = 'navin') -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
name | str | oui | Nom de la règle. | |
content | str | oui | Contenu Markdown de la règle (1 à 65536 caractères, 64 Kio au plus). | |
mode | str | 'always' | non | always (par défaut, inséré dans le prompt de chaque run) ou conditional (listé, lu quand sa portée correspond). |
description | str | '' | non | Quand la règle s'applique (2000 caractères au plus). |
globs | list[str] | None | None | non | Motifs de fichiers concernés par la règle, par exemple src/**/*.ts (50 au plus). |
source | str | 'navin' | non | Origine de la règle : navin (par défaut), cursor, cursor_legacy, cline, windsurf ou copilot. |
Retour : Any. 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).
NavinLibraryClient.rules
rules(project_id: str) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. |
Retour : Any. 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).
NavinLibraryClient.rules_prompt
rules_prompt(project_id: str) -> Any
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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. |
Retour : Any. 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).
NavinLibraryClient.summary
summary() -> Any
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 : Any. 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).
Fonctions
rule_files
rule_files(root: str | Path) -> list[dict[str, str]]
Les fichiers de règles d'un dépôt, prêts pour :meth:NavinLibraryClient.import_rules (64 Ko au plus chacun).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
root | str | Path | oui | Dossier racine du dépôt ; lus : .navin/rules/*.md, .cursor/rules/**/*.mdc, .clinerules, .cursorrules, .windsurfrules, .github/copilot-instructions.md. |
Retour : list[dict[str, str]]. Liste triée de {path, content}, path relatif à root ; les fichiers plus gros sont ignorés.