/** * Agent package service — the one publish pipeline every source kind rides. * * validate → canonical pack → artifact upload (reserved identity, sha-named * blob) → cms_publish_agent_package (atomic). The CLI's `agents push`, the * portal's upload op, and the repo-source sync all call publishAgentPackageDir * (or publishPackedAgentPackage when the bytes were packed from a fetched * archive) so there is exactly one code path that can put a package into the * registry. See docs/proposals/agent-packages.md. */ import type { ArtifactStore } from "./session-store.js"; import type { AgentPackageScope, AgentPrincipal, PublishAgentPackageResult, SessionCatalog } from "./cms.js"; import { type AgentPackageManifest, type AgentPackageValidation, type ValidateAgentPackageOptions } from "./agent-package-format.js"; export interface AgentPackagePublishContext { catalog: SessionCatalog; artifactStore: ArtifactStore; } export interface PublishAgentPackageDirOptions { dir: string; scope: AgentPackageScope; owner: AgentPrincipal | null; createdBy?: string | null; isAdmin: boolean; sourceId?: string | null; commitSha?: string | null; validate?: ValidateAgentPackageOptions; } export declare class AgentPackageValidationError extends Error { readonly validation: AgentPackageValidation; constructor(validation: AgentPackageValidation); } export interface PublishOutcome extends PublishAgentPackageResult { name: string; semver: string; sha256: string; sizeBytes: number; artifactFilename: string; manifest: AgentPackageManifest; warnings: AgentPackageValidation["warnings"]; } /** Validate + pack + publish a package directory. */ export declare function publishAgentPackageDir(ctx: AgentPackagePublishContext, opts: PublishAgentPackageDirOptions): Promise; export interface PublishPackedOptions { manifest: AgentPackageManifest; warnings?: AgentPackageValidation["warnings"]; targz: Buffer; sha256: string; scope: AgentPackageScope; owner: AgentPrincipal | null; createdBy: string | null; isAdmin: boolean; sourceId: string | null; commitSha: string | null; } /** Publish already-validated, already-packed canonical bytes. */ export declare function publishPackedAgentPackage(ctx: AgentPackagePublishContext, opts: PublishPackedOptions): Promise; /** Download a package tarball and verify it against the registry sha256. */ export declare function fetchAgentPackageTarGz(artifactStore: ArtifactStore, artifactFilename: string, expectedSha256: string): Promise; export declare function resolveAgentPackageVersion(catalog: SessionCatalog, name: string, actor: AgentPrincipal | null, isAdmin: boolean, selector?: import("./cms.js").AgentPackageSelector | null, semver?: string | null): Promise<{ detail: import("./cms.js").AgentPackageDetail; version: import("./cms.js").AgentPackageVersionRow; }>; export declare function readAgentPackageVersionEntries(ctx: AgentPackagePublishContext, name: string, actor: AgentPrincipal | null, isAdmin: boolean, selector?: import("./cms.js").AgentPackageSelector | null, semver?: string | null): Promise<{ entries: import("./agent-package-format.js").ExtractedTarEntry[]; detail: import("./cms.js").AgentPackageDetail; version: import("./cms.js").AgentPackageVersionRow; }>; /** Delete a package's registry rows and then its blobs (post-commit cleanup). */ export declare function deleteAgentPackageEverywhere(ctx: AgentPackagePublishContext, name: string, actor: AgentPrincipal | null, isAdmin: boolean, selector?: import("./cms.js").AgentPackageSelector | null): Promise; //# sourceMappingURL=agent-package-service.d.ts.map