import type { SkillPackageGraphDiagnostic } from "../package-graph/adapters/skills.js"; import type { DeepReadonly, PackageGraphIndex } from "../package-graph/build.js"; import { type PackageId } from "../package-graph/schema.js"; import { type CapabilityPackageEccDomainErrorCode } from "./domains/ecc.js"; import { type CapabilityPackageSkillPackErrorCode } from "./domains/skill-pack.js"; import { type CapabilityPackageOwnershipReceipt } from "./receipt.js"; import { type CapabilityPackageResolutionErrorCode } from "./resolve.js"; export interface CapabilityPackageLifecycleChanges { add: PackageId[]; update: PackageId[]; remove: PackageId[]; unchanged: PackageId[]; } export type CapabilityPackageLifecycleRefusal = { stage: "intent"; code: "invalid-intent"; } | { stage: "receipt"; code: "invalid-current-receipt"; } | { stage: "resolution"; code: CapabilityPackageResolutionErrorCode; } | { stage: "skill-pack"; code: CapabilityPackageSkillPackErrorCode; } | { stage: "domain"; code: CapabilityPackageEccDomainErrorCode; } | { stage: "receipt"; code: "invalid-desired-receipt"; } | { stage: "operation"; code: "invalid-removal" | "unknown-root" | "current-state-mismatch"; }; export interface CapabilityPackageLifecycleDesiredReceipt { receipt: CapabilityPackageOwnershipReceipt; serialized: string; } export interface CapabilityPackageLifecycleDesiredIntent { bytes: number[]; sha256: string; } interface CapabilityPackageLifecycleBase { schemaVersion: 1; changes: CapabilityPackageLifecycleChanges; refusals: CapabilityPackageLifecycleRefusal[]; } export interface CapabilityPackageLifecycleReady extends CapabilityPackageLifecycleBase { status: "ready"; desiredIntent?: CapabilityPackageLifecycleDesiredIntent; desiredReceipt?: CapabilityPackageLifecycleDesiredReceipt; } export interface CapabilityPackageLifecycleRefused extends CapabilityPackageLifecycleBase { status: "refused"; } export type CapabilityPackageLifecycleResult = CapabilityPackageLifecycleReady | CapabilityPackageLifecycleRefused; export interface CapabilityPackageLifecycleReconcileInput { operation?: "reconcile"; intentBytes: Buffer; index: PackageGraphIndex; currentReceipt?: unknown; diagnostics: readonly SkillPackageGraphDiagnostic[]; } export interface CapabilityPackageLifecycleRemoveInput { operation: "remove"; removeRoots: readonly PackageId[]; intentBytes: Buffer; index: PackageGraphIndex; currentReceipt: unknown; diagnostics: readonly SkillPackageGraphDiagnostic[]; } export type CapabilityPackageLifecycleInput = CapabilityPackageLifecycleReconcileInput | CapabilityPackageLifecycleRemoveInput; /** * Compute package ownership metadata only. The result is not an execution plan and makes no * assertion that a package or member has been installed or configured. */ export declare function planCapabilityPackageLifecycle(input: CapabilityPackageLifecycleInput): DeepReadonly; export {};