export declare const UPDATE_PLAN_SCHEMA_ID = "lyt.update-plan"; export declare const UPDATE_PLAN_PACKAGES: readonly ["@younndai/lyt-vault", "@younndai/lyt-llm", "@younndai/lyt-mesh", "@younndai/lyt-skills", "@younndai/lyt-runner", "@younndai/lyt-mcp", "@younndai/lyt"]; export type UpdatePackageName = (typeof UPDATE_PLAN_PACKAGES)[number]; export type UpdateChannel = "alpha" | "latest"; export type UpdateBoundaryKind = "npm-self-replacement" | "package-provider-content" | "skill-leaves" | "agent-manuals"; export type ManagedDestinationKind = "package" | "bin" | "skill" | "manual"; export type ManagedDestinationEvidenceKind = "registry-version-sri" | "provider-content-digest" | "bounded-target-identity"; export interface RegistryPackageFactV1 { readonly name: UpdatePackageName; readonly version: string; readonly integrity: string; readonly dependencies: readonly UpdatePackageName[]; readonly tarball_url: string; } export interface TargetPayloadFileV1 { readonly path: string; readonly digest: string; readonly size: number; } export interface TargetArtifactV1 { readonly package: UpdatePackageName; readonly version: string; readonly integrity: string; readonly tarball_url: string; readonly payload_digest: string; readonly files: readonly TargetPayloadFileV1[]; } export type TargetProviderObjectV1 = Readonly<{ object_id: string; kind: "directory-link" | "marker-file"; provider_package: UpdatePackageName; provider_version: string; target_path: string; source_relative_path: string | null; content: string | null; expected_digest: string; expected_applied_digest: string; marker_begin: string | null; marker_end: string | null; }>; export interface InstalledPackageFactV1 { readonly name: UpdatePackageName; readonly version: string | null; readonly integrity: string | null; } export interface InstalledBinFactV1 { readonly path: string; readonly digest: string | null; } export interface ManagedDestinationV1 { readonly object_id: string; readonly kind: ManagedDestinationKind; readonly path: string; readonly source_package: UpdatePackageName; readonly evidence_kind: ManagedDestinationEvidenceKind; readonly expected_before_digest: string | null; readonly expected_after_digest: string; } export interface UpdateBoundaryV1 { readonly ordinal: number; readonly boundary_id: string; readonly kind: UpdateBoundaryKind; readonly object_ids: readonly string[]; } export interface UpdatePlanPayloadV1 { readonly schema_id: typeof UPDATE_PLAN_SCHEMA_ID; readonly schema_version: Readonly<{ major: 1; minor: 0; }>; readonly registry_url: string; readonly package: "@younndai/lyt"; readonly channel: UpdateChannel; readonly target_version: string; readonly dist_integrity: string; readonly package_graph: readonly RegistryPackageFactV1[]; readonly target_artifacts: readonly TargetArtifactV1[]; readonly target_provider_objects: readonly TargetProviderObjectV1[]; readonly before_state: Readonly<{ packages: readonly InstalledPackageFactV1[]; bins: readonly InstalledBinFactV1[]; }>; readonly destinations: readonly ManagedDestinationV1[]; readonly logical_replay_key: string; readonly operation_id: string; readonly boundaries: readonly UpdateBoundaryV1[]; readonly expected_evidence: readonly string[]; } export interface UpdatePlanV1 extends UpdatePlanPayloadV1 { readonly plan_digest: string; } export interface PrepareUpdatePlanV1Input { readonly registryUrl: string; readonly channel: UpdateChannel; readonly targetVersion: string; readonly distIntegrity: string; readonly packageGraph: readonly RegistryPackageFactV1[]; readonly targetArtifacts: readonly TargetArtifactV1[]; readonly targetProviderObjects: readonly TargetProviderObjectV1[]; readonly beforeState: Readonly<{ packages: readonly InstalledPackageFactV1[]; bins: readonly InstalledBinFactV1[]; }>; readonly destinations: readonly ManagedDestinationV1[]; readonly boundaries: readonly Omit[]; readonly expectedEvidence: readonly string[]; } export type UpdateApplyObjectState = Readonly<{ boundary_id: string; status: "completed" | "pending"; receipt_digest: string | null; }>; export interface ExactUpdateApplyResultV1 { readonly operation_id: string; readonly plan_digest: string; readonly completed: readonly string[]; readonly pending: readonly string[]; readonly objects: readonly UpdateApplyObjectState[]; readonly next_action: string | null; } export interface ExactUpdateApplyEffects { revalidate(boundary: UpdateBoundaryV1, plan: UpdatePlanV1): Promise; apply(boundary: UpdateBoundaryV1, plan: UpdatePlanV1): Promise; alreadyCompleted(boundary: UpdateBoundaryV1, plan: UpdatePlanV1): Promise; recordCompleted?(boundary: UpdateBoundaryV1, plan: UpdatePlanV1): Promise; } export declare function prepareUpdatePlanV1(input: PrepareUpdatePlanV1Input): UpdatePlanV1; export declare function parseUpdatePlanV1(value: unknown): UpdatePlanV1; export declare function applyExactUpdatePlanV1(value: unknown, effects: ExactUpdateApplyEffects): Promise; export declare function digestCanonical(value: unknown): string; export declare function canonicalJson(value: unknown): string; //# sourceMappingURL=update-plan.d.ts.map