Aller au contenu principal

enterprise_ai.packs.publish

Source : sdks/python/src/enterprise_ai/packs/publish.py. Retour à l'index de la référence du SDK Python.

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.

Fonctions​

skill_digests​

skill_digests(root: Path) -> dict[str, str]

Nom de chaque skill (en-tête) vers le sha256 de son SKILL.md, le condensat que le Skill Registry vérifie.

NomTypeDéfautRequisDescription
rootPathouiDossier du pack ; chaque skills/*/SKILL.md est lu.

Retour : dict[str, str]. Dict du nom de skill vers le sha256:<hex> de son SKILL.md.

sign_build​

sign_build(build: BuildResult, key: str | Path, signer: str, password: str | None = None) -> dict[str, Any]

Signe le condensat de l'archive et celui de chaque SKILL.md ; écrit <name>-<version>.pack.json à côté de l'archive.

NomTypeDéfautRequisDescription
buildBuildResultouiRésultat de build_pack.
keystr | PathouiChemin de la clé privée cosign.
signerstrouiIdentité du signataire enregistrée avec la signature.
passwordstr | NoneNonenonMot de passe de la clé ; par défaut la variable d'environnement COSIGN_PASSWORD.

Retour : dict[str, Any]. Le descripteur : name, version, digest, archive, signature {value, signer}, skill_signatures, sbom, sbom_digest.

descriptor_path​

descriptor_path(archive: Path) -> Path

Chemin du descripteur signé d'une archive : <name>-<version>.pack.json à côté d'elle.

NomTypeDéfautRequisDescription
archivePathouiChemin de l'archive .tar.gz.

Retour : Path. Chemin se terminant par .pack.json.

canonical_digest​

canonical_digest(document: dict) -> str

sha256 du JSON canonique (clés triées, sans espaces) : le condensat que le Control Plane recalcule.

NomTypeDéfautRequisDescription
documentdictouiDocument JSON à hacher.

Retour : str. Texte sha256:<hex>.

provenance_statement​

provenance_statement(archive: Path, descriptor: dict, sbom: dict, reports: dict[str, dict]) -> dict[str, Any]

Statement in-toto v1 avec un prédicat de provenance SLSA v1 : sujet = le condensat de l'archive du pack, sous-produits = le SBOM et chaque rapport lié au même condensat.

NomTypeDéfautRequisDescription
archivePathouiChemin de l'archive du pack, sujet de la déclaration.
descriptordictouiDescripteur signé de sign_build (name, version, digest).
sbomdictouiSBOM SPDX de la construction, ajouté comme sous-produit sbom.
reportsdict[str, dict]ouiRapports par nom (tests, évaluations, analyse), chacun ajouté comme sous-produit avec son condensat canonique.

Retour : dict[str, Any]. La déclaration in-toto sous forme de dict.

sign_provenance​

sign_provenance(statement: dict, key: str | Path, signer: str, password: str | None = None) -> dict[str, Any]

Signe avec cosign le condensat canonique d'une déclaration de provenance.

NomTypeDéfautRequisDescription
statementdictouiDéclaration produite par provenance_statement.
keystr | PathouiChemin de la clé privée cosign.
signerstrouiIdentité du signataire enregistrée avec la signature.
passwordstr | NoneNonenonMot de passe de la clé ; par défaut la variable d'environnement COSIGN_PASSWORD.

Retour : dict[str, Any]. Dict {statement, signature: {value, signer}}.

publication_body​

publication_body(archive: Path, descriptor: dict, sbom: dict, scan: dict, tests: dict, evaluations: dict, oci: dict | None = None, provenance: dict | None = None) -> dict[str, Any]

Construit le corps de POST /v1/marketplace/packages : l'archive en base64, ses signatures, le SBOM et les rapports.

NomTypeDéfautRequisDescription
archivePathouiChemin de l'archive du pack, intégrée en base64.
descriptordictouiDescripteur signé de sign_build, source de signature et skill_signatures.
sbomdictouiSBOM SPDX de la construction.
scandictouiRapport de scan, envoyé comme vulnerability_scan.
testsdictouiRapport de run_tests, envoyé comme test_report.
evaluationsdictouiRapport de run_evaluations, envoyé comme evaluation_report.
ocidict | NoneNonenonCopie OCI {ref, digest} de push, facultative.
provenancedict | NoneNonenonProvenance signée de sign_provenance, facultative.

Retour : dict[str, Any]. Corps JSON, avec provenance et oci seulement s'ils sont fournis.