import type { HttpArtifactSnapshot } from "../../sources/http-artifact.js"; import type { DistributionDescriptor } from "./ref-base.js"; import type { ExtensionName } from "../common.js"; /** * Skill extension ref types. * * Concrete ref types for skill extensions, built on the shared * ExtensionRefBase and ref detail interfaces. * * @experimental This API is unstable and may change without notice. * @packageDocumentation */ import type { SkillExtensionRefBase, GitHostedRefDetails, RegistryRefDetails, LocalRefDetails, WorkspaceRefDetails } from "./ref-base.js"; import type { GitBasedSource, HttpSource, RegistrySource, LocalSource, WorkspaceSource } from "../../sources/types.js"; import type { Handle } from "../handle.js"; type ExternalSkillRefDetails = Omit & { readonly owner?: Handle; readonly portable?: boolean; }; /** @experimental */ export type GitHostedSkillRef = SkillExtensionRefBase<"git-hosted", GitBasedSource> & ExternalSkillRefDetails; /** @experimental */ export type RegistrySkillRef = SkillExtensionRefBase<"registry", RegistrySource> & RegistryRefDetails; /** @experimental */ export type LocalSkillRef = SkillExtensionRefBase<"local", LocalSource> & ExternalSkillRefDetails; /** @experimental */ export type WorkspaceSkillRef = SkillExtensionRefBase<"workspace", WorkspaceSource> & WorkspaceRefDetails; /** @experimental */ export type HttpSkillRef = SkillExtensionRefBase<"http", HttpSource> & { readonly name: ExtensionName; readonly owner?: Handle; readonly portable: boolean; readonly location: string; readonly sourcePath: string; readonly distribution?: DistributionDescriptor; readonly snapshot: HttpArtifactSnapshot; }; export type SkillExtensionRef = HttpSkillRef | GitHostedSkillRef | RegistrySkillRef | LocalSkillRef | WorkspaceSkillRef; export {}; //# sourceMappingURL=skill.d.ts.map