import { type PackageGraphIndex } from "../package-graph/build.js"; import { type CapabilityPackageManifest } from "./schema.js"; export type CapabilityPackageContextOperation = "list" | "show" | "status" | "doctor" | "add" | "update" | "remove"; export interface CapabilityPackageContextInput { root: string; contextDir: string; operation: CapabilityPackageContextOperation; packageId?: string; } export interface CapabilityPackageRefusal { stage: "input" | "policy" | "approval" | "evidence" | "catalog" | "package-graph" | "receipt" | "resolution" | "skill-pack" | "intent" | "ownership" | "custody" | "domain" | "operation"; reason: string; } export interface CapabilityPackageSourceState { state: "absent" | "valid" | "malformed" | "unowned" | "verified-existing" | "not-applicable"; sha256?: string; } export interface CapabilityPackageView { id: string; description?: string; authority: string; members: string[]; requested: boolean; owned: boolean; lifecycle: "add" | "update" | "remove" | "unchanged" | "available"; } export interface CapabilityPackagePreview { operation: "add" | "update" | "remove"; packageId: string; writes: 0; acquisition: false; network: false; processExecution: false; componentLoading: false; policyChangeRequired: boolean; changes: { add: string[]; update: string[]; remove: string[]; unchanged: string[]; }; } export interface CapabilityPackageContextReport { schemaVersion: 1; operation: CapabilityPackageContextOperation; requestedRoots: string[]; packages: CapabilityPackageView[]; sources: { policy: CapabilityPackageSourceState; approval: CapabilityPackageSourceState; evidence: CapabilityPackageSourceState; catalog: CapabilityPackageSourceState; packageGraph: CapabilityPackageSourceState; intent: CapabilityPackageSourceState; resolution: CapabilityPackageSourceState; ownership: CapabilityPackageSourceState; custody: CapabilityPackageSourceState; domain: CapabilityPackageSourceState; }; refusals: CapabilityPackageRefusal[]; healthy: boolean; preview?: CapabilityPackagePreview; } export interface CapabilityPackageExactBytes { bytes: Buffer; sha256: string; } export declare function readCapabilityPackageExactFile(root: string, path: string): CapabilityPackageExactBytes | undefined; export declare function capabilityPackageManifestFor(index: PackageGraphIndex, roots: readonly string[]): CapabilityPackageManifest; export declare function capabilityPackageManifestBytes(manifest: CapabilityPackageManifest): Buffer; /** Assemble one exact, local, read-only view of policy-selected packages and their current state. */ export declare function inspectCapabilityPackageContext(input: unknown): CapabilityPackageContextReport;