enterprise_ai.packs.layout
Source : sdks/python/src/enterprise_ai/packs/layout.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.
Modèle PackReport
Rapport de validation d'un dossier de pack : manifeste, erreurs et objets trouvés.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
path | Path | oui | Chemin absolu du dossier du pack. |
manifest | dict | non | Contenu de plugin.yaml, {} s'il manque ou est illisible. |
errors | list[str] | non | Problèmes trouvés, un message lisible chacun ; vide si le pack est valide. |
objects | dict[str, list[str]] | non | Noms trouvés par type : agents, subagents, skills, tools, connectors, prompts, policies, alerts. |
Attributs :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | str | oui | metadata.name du manifeste, vide s'il est absent. |
valid | bool | oui | Vrai si aucune erreur n'a été trouvée. |
version | str | oui | metadata.version du manifeste, vide s'il est absent. |
PackReport.to_dict
to_dict() -> dict[str, Any]
Le rapport sous forme de dict prêt pour JSON.
Cet élément ne prend aucun paramètre.
Retour : dict[str, Any]. Dict {path, name, version, valid, errors, objects}.
Fonctions
unsafe_scope
unsafe_scope(scope: str) -> bool
Indique si une portée de permission est trop large pour un pack : un joker, une racine d'administration (admin, secrets, audit...) ou une action comme impersonate.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
scope | str | oui | Portée à contrôler, parties séparées par . ou :. |
Retour : bool. True si la portée est refusée.
pack_files
pack_files(root: Path) -> list[Path]
Fichiers du pack dans un ordre stable, sans caches, sorties de construction ni environnements virtuels.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
root | Path | oui | Dossier du pack. |
Retour : list[Path]. Chemins de fichiers triés, sans entrées cachées, __pycache__, dist, .venv ni fichiers .pyc ou .pyo.
front_matter
front_matter(text: str) -> tuple[dict, str]
Sépare un texte Markdown en son en-tête YAML (entre des lignes ---) et son corps.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
text | str | oui | Contenu d'un fichier Markdown comme SKILL.md. |
Retour : tuple[dict, str]. Tuple (dict de métadonnées, corps) ; {} et le texte entier sans en-tête, {} si celui-ci n'est pas du YAML valide.
validate_pack
validate_pack(path: str | Path) -> PackReport
Contrôle un dossier de pack avant construction : plugin.yaml (format pack), fichiers et dossiers obligatoires, licence, permissions, chaque objet selon son contrat, documentation en anglais et en français.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
path | str | Path | oui | Dossier du pack. |
Retour : PackReport. Un PackReport ; valid est faux si errors n'est pas vide.