enterprise_ai.skills
Source : sdks/python/src/enterprise_ai/skills/__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 DigestMismatch
Le contenu de l'artefact ne correspond pas au condensat attendu.
EaiError
Classe SkillsClient
Skills. Skill Registry et Skill Loader. Un skill est un ensemble d'instructions signé et versionné (en ligne, ou artefact Git ou OCI) avec les permissions dont il a besoin ; les agents chargent les skills accordés dans leur manifeste.
Resource
SkillsClient.create
create(manifest: dict[str, Any]) -> Any
Enregistrer un skill. Applique un manifeste Skill : crée le skill ou le remplace (un skill remplacé revient à draft, un skill bloqué reste blocked). L'empreinte et la signature sont vérifiées aussitôt : le skill passe à approved si elles sont valides. Un artefact Git ou OCI demande artifact.digest (422 invalid_manifest). apply_status vaut created ou updated. Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous skill.apply.
Route : /v1/skills (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
manifest | dict[str, Any] | oui | Manifeste de la nouvelle skill, envoyé comme corps de la requête. |
Retour : Any. Réponse JSON décodée de l'opération « Enregistrer un skill ».
Erreurs levées : les erreurs typées du transport (Erreurs).
SkillsClient.get
get(name: str) -> Any
Lire un skill. Renvoie le skill avec son manifeste, son contenu, son empreinte, sa signature et sa vérification. Demande la relation ReBAC viewer. 404 skill_not_found.
Route : /v1/skills/{name} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du skill. |
Retour : Any. Réponse JSON décodée de l'opération « Lire un skill ».
Erreurs levées : les erreurs typées du transport (Erreurs).
SkillsClient.list
list(**page: Any) -> Any
Lister les skills. Skills du tenant dans l'ordre des noms, avec version, propriétaire, empreinte, résultat de vérification et statut. Une seule page.
Route : /v1/skills (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
**page | Any | non | Options de pagination transmises à la liste : limit (nombre maximal d'éléments par page) et cursor (le next_cursor de la page précédente). Itérer sur la page renvoyée suit tous les curseurs. |
Retour : Any. Réponse JSON décodée de l'opération « Lister les skills ».
Erreurs levées : les erreurs typées du transport (Erreurs).
SkillsClient.load
load(name: str, artifact: str | Path | bytes | None = None) -> Any
Charger un skill pour un agent. Skill Loader : renvoie ce dont un runtime a besoin pour utiliser le skill (instructions d'un skill en ligne, artefact, point d'entrée, permissions, dépendances, signataire). Demande la relation ReBAC can_invoke. Refus, chacun audité comme skill.load refusé : - 403 skill_blocked : le skill est blocked ou deprecated ; - 409 skill_digest_mismatch : le contenu ne correspond plus à son empreinte ; - 403 skill_unsigned : la signature n'est pas valide ; - 403 skill_not_granted : avec agent, le skill n'est pas listé dans le manifeste de l'agent ; - 403 skill_permission_denied : le skill demande des scopes que l'agent n'a pas, ou son plafond de classification est inférieur à celui de l'agent.
Route : /v1/skills/{name}/load (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du skill. | |
artifact | str | Path | bytes | None | None | non | Copie locale de la skill (octets, fichier ou dossier) dont le condensat doit correspondre à celui renvoyé par le chargeur (client synchrone). |
Retour : Any. Réponse JSON décodée de l'opération « Charger un skill pour un agent ».
Erreurs levées : DigestMismatch, les erreurs typées du transport (Erreurs).
SkillsClient.set_status
set_status(name: str, status: str, reason: str | None = None) -> Any
Changer le statut d'un skill. approved passe par une promotion : une approbation est ouverte pour tenant_admin ou security_officer et la réponse est 202 avec approval_id et status: pending_approval. Les autres statuts (draft, restricted, deprecated, blocked) s'appliquent aussitôt (200). Demande tenant_admin ou security_officer et la relation ReBAC editor. Audité sous skill.status.
Route : /v1/skills/{name}/status (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du skill. | |
status | str | oui | draft, approved (via une approbation), restricted, deprecated ou blocked. | |
reason | str | None | None | non | Raison du changement de statut (2000 caractères au plus). |
Retour : Any. Réponse JSON décodée de l'opération « Changer le statut d'un skill ».
Erreurs levées : les erreurs typées du transport (Erreurs).
SkillsClient.verify
verify(name: str) -> Any
Vérifier la signature d'un skill. Revérifie l'empreinte du contenu et la signature avec les clés de confiance et enregistre le résultat : verified, method, signer, reason. Un skill vérifié passe à approved, sinon à draft (un skill bloqué reste blocked). Demande tenant_admin, developer, application_owner ou security_officer et la relation ReBAC editor. Audité sous skill.verify.
Route : /v1/skills/{name}/verify (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du skill. |
Retour : Any. Réponse JSON décodée de l'opération « Vérifier la signature d'un skill ».
Erreurs levées : les erreurs typées du transport (Erreurs).
Fonctions
compute_digest
compute_digest(path: str | Path | bytes) -> str
sha256:<hex> d'octets, d'un fichier ou d'une arborescence de dossiers.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
path | str | Path | bytes | oui | Octets, fichier ou dossier ; dans un dossier, .git, __pycache__, .venv, node_modules et .DS_Store sont ignorés. |
Retour : str. Texte sha256:<hex> ; un dossier est haché sur ses chemins relatifs triés et leurs contenus.
verify_digest
verify_digest(content: str | Path | bytes, expected: str) -> str
Lève :class:DigestMismatch sauf si le condensat de content vaut expected.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
content | str | Path | bytes | oui | Octets, fichier ou dossier, hachés avec compute_digest. | |
expected | str | oui | Condensat attendu sha256:<hex>, comparé en temps constant. |
Retour : str. Le condensat calculé, égal à expected.
Erreurs levées : DigestMismatch.