Aller au contenu principal

navin_library.go (package eai)

Source : sdks/go/navin_library.go. Retour à l'index de la référence du SDK Go.

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 NavinLibraryService​

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.

Activate(ctx context.Context, projectID string, body any, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
bodyanyouiType et nom de l'élément à activer.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Activer un élément de la bibliothèque ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Deactivate(ctx context.Context, projectID string, activationID string, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
activationIDstringouiIdentifiant (UUID) de l'activation.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Désactiver un élément de la bibliothèque ». L'error est une erreur typée du SDK, nil en cas de succès.

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

DeleteRule(ctx context.Context, projectID string, name string, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
namestringouiNom de la règle.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Supprimer une règle de projet ». L'error est une erreur typée du SDK, nil en cas de succès.

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

ImportRules(ctx context.Context, projectID string, files []RuleFile, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
files[]RuleFileouiFichiers à importer (1 à 200).
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Importer les fichiers de règles d'un dépôt ». L'error est une erreur typée du SDK, nil en cas de succès.

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

InstallChannel(ctx context.Context, projectID string, channel string, body any, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
channelstringouiSeulement les sessions ouvertes sur ce canal.
bodyanyouiNom du canal, agent, réglages, références de secrets, authentification, limites et DLP.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Installer un canal depuis la bibliothèque ». L'error est une erreur typée du SDK, nil en cas de succès.

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

InstallMcpPreset(ctx context.Context, projectID string, preset string, body any, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
presetstringouiNom du préréglage MCP de la Navin Library, placé à la place de {name} dans le chemin.
bodyanyouiNom du serveur, point d'accès, transport, champs du preset, références de secrets et outils permis.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Installer un serveur MCP depuis un preset ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Item(ctx context.Context, kind string, name string, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
kindstringouiType d'élément : skills, plugins, commands, agents, mcp-presets ou channels.
namestringouiNom de l'élément.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire un élément de la bibliothèque ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Items(ctx context.Context, kind string, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
kindstringouiType d'élément : skills, plugins, commands, agents, mcp-presets ou channels.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les éléments d'un type ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Project(ctx context.Context, projectID string, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Voir ce qu'un projet utilise de la bibliothèque ». L'error est une erreur typée du SDK, nil en cas de succès.

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

PutRule(ctx context.Context, projectID string, name string, body any, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
namestringouiNom de la règle.
bodyanyouiContenu, mode, description, globs et source de la règle.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Créer ou remplacer une règle de projet ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Rules(ctx context.Context, projectID string, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lister les règles du projet ». L'error est une erreur typée du SDK, nil en cas de succès.

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

RulesPrompt(ctx context.Context, projectID string, opts ...CallOption) (json.RawMessage, error)

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
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
projectIDstringouiIdentifiant (UUID) ou slug du projet.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire la section de prompt des règles ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Summary(ctx context.Context, opts ...CallOption) (json.RawMessage, error)

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).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.
opts...CallOptionnonOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : (json.RawMessage, error). Réponse JSON décodée de l'opération « Lire le résumé de la bibliothèque ». L'error est une erreur typée du SDK, nil en cas de succès.

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

Modèle RuleFile​

Un fichier de dépôt à importer comme règle.

Champs :

NomTypeRequisDescription
Path (path)stringouiChemin du fichier dans le dépôt, par exemple .cursor/rules/style.mdc (1 à 500 caractères).
Content (content)stringouiContenu du fichier (65536 caractères au plus).