import type { Runtime } from "@younndai/lyt-skills"; import type { InstallProviderV1 } from "./provider-inventory.js"; import { type TargetArtifactV1, type UpdatePackageName, type UpdatePlanV1 } from "./update-plan.js"; export interface TargetProviderManifestV1 { readonly schema_id: "lyt.target-provider-manifest"; readonly schema_version: Readonly<{ major: 1; minor: 0; }>; readonly package: UpdatePackageName; readonly version: string; readonly objects: readonly (Readonly<{ kind: "directory-link"; runtime: Runtime; name: string; source_relative_path: string; expected_digest: string; }> | Readonly<{ kind: "marker-file"; runtime: Runtime; content: string; expected_digest: string; marker_begin: string; marker_end: string; }>)[]; } export interface InspectedTargetArtifactV1 { readonly artifact: TargetArtifactV1; readonly provider_manifest: TargetProviderManifestV1 | null; } export interface InstalledStateAnchorV1 { readonly schema_id: "lyt.installed-state-anchor"; readonly schema_version: Readonly<{ major: 1; minor: 0; }>; readonly plan_digest: string; readonly target_version: string; readonly package_payloads: readonly Readonly<{ package: UpdatePackageName; digest: string; }>[]; readonly provider_destinations: readonly Readonly<{ object_id: string; digest: string; }>[]; readonly anchor_digest: string; } export type InstalledStateAnchorReadV1 = Readonly<{ status: "missing" | "invalid"; anchor: null; }> | Readonly<{ status: "present"; anchor: InstalledStateAnchorV1; }>; export type InstalledStateAnchorVerificationV1 = Readonly<{ status: "missing" | "invalid" | "match" | "mismatch"; mismatched_object_ids: readonly string[]; }>; export type InstalledPackagePayloadStatusV1 = "match" | "missing" | "unreadable" | "unsafe" | "mismatch"; export interface InstalledPackagePayloadInspectionV1 { readonly package: UpdatePackageName; readonly root: string | null; readonly expected_digest: string; readonly observed_digest: string | null; readonly status: InstalledPackagePayloadStatusV1; } export declare function inspectTargetTarballBytes(args: { package: UpdatePackageName; version: string; integrity: string; tarballUrl: string; bytes: Uint8Array; }): InspectedTargetArtifactV1; export declare function materializeTargetProviders(args: { manifests: readonly TargetProviderManifestV1[]; extractedRoots: ReadonlyMap; homeDir: string; runtimes: readonly Runtime[]; }): readonly InstallProviderV1[]; export declare function providersFromUpdatePlan(plan: UpdatePlanV1, packageRoots: ReadonlyMap): readonly InstallProviderV1[]; export declare function stageTargetArtifactsV1(plan: UpdatePlanV1, root: string, fetchBytes?: (url: string) => Promise): Promise; export declare function verifyInstalledPayloadV1(root: string, artifact: TargetArtifactV1): boolean; export declare function inspectInstalledPayloadRootV1(root: string, expectedDigest: string, packageName: UpdatePackageName): InstalledPackagePayloadInspectionV1; export declare function inspectInstalledPackagePayloadsV1(anchor: InstalledStateAnchorV1, resolveRoot?: (packageName: UpdatePackageName) => string | null): readonly InstalledPackagePayloadInspectionV1[]; export declare function resolveInstalledPackageRoot(packageName: UpdatePackageName): string | null; export declare function installedStateAnchorPath(root: string): string; export declare function writeInstalledStateAnchorV1(plan: UpdatePlanV1, root: string): InstalledStateAnchorV1; export declare function readInstalledStateAnchorV1(root: string): InstalledStateAnchorReadV1; export declare function verifyInstalledStateAnchorV1(root: string, observedProviderDigests: ReadonlyMap): InstalledStateAnchorVerificationV1; //# sourceMappingURL=target-artifacts.d.ts.map