/** * Maps a SkillExtensionRef to the corresponding SkillLockEntry. * * Pure function that converts from the runtime SkillExtensionRef types * (which use Option) to the lockfile schema types (which use T | undefined * via Schema.optional). * * @experimental This API is unstable and may change without notice. */ import * as Option from "effect/Option"; import type { SkillLockEntry } from "../lockfile/schema.js"; import type { SourceHash } from "../extensions/rendered-files.js"; import type { TreeIntegrity } from "../extensions/materialized-tree.js"; import type { SkillExtensionRef } from "../skills/refs.js"; export interface SourceToLockEntryInput { readonly ref: SkillExtensionRef; /** Required for registry sources — which named registry config was used. */ readonly sourceName: Option.Option; /** Canonical package identity required by Git and local-path resolutions. */ readonly contentIdentity: SourceHash; readonly treeIntegrity: TreeIntegrity; /** Workspace-root-relative local source path for lockfile persistence. */ readonly workspaceRelativeLocalSourcePath?: Option.Option; } /** * Maps a SkillExtensionRef and operation metadata to a SkillLockEntry for lockfile persistence. * * Outer switch on `ref.refType` for ref-detail access; inner switch on `ref.source.type` * within `git-hosted` for per-source lock entry granularity. */ export declare const sourceToLockEntry: (input: SourceToLockEntryInput) => SkillLockEntry | undefined; //# sourceMappingURL=source-to-lock-entry.d.ts.map