/** * Publish ignore resolution. * * A manifest may declare `publish.ignore` to keep development-only files out of * the archive. AXM also excludes its reserved canonical completion marker so * installed packages can be republished without leaking workspace metadata. * * Some paths can never be ignored. Dropping the manifest would produce an * archive the registry cannot identify, and the failure would surface as a * confusing "manifest missing" error far from the pattern that caused it. This * module rejects such a pattern at its source instead. * * @experimental This API is unstable and may change without notice. */ import * as Effect from "effect/Effect"; import * as Result from "effect/Result"; import { type AppError } from "../app-error/index.js"; import type { ExtensionType } from "../extensions/common.js"; import type { BuildZipArchiveOptions } from "../utils/build-zip-archive.js"; declare const PublishIgnoreError_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "PublishIgnoreError"; } & Readonly; /** @experimental This API is unstable and may change without notice. */ export declare class PublishIgnoreError extends PublishIgnoreError_base<{ readonly detail: string; readonly pattern: string; readonly path: string; }> { } /** * Archive-relative paths a publish ignore list may never remove. * * Only the manifest is protected here. Required body files (a skill's * `SKILL.md`, a hook's entrypoint, a knowledge bundle's root index) are * enforced by filtered-package validation on the built archive, which reports * the missing file by name at both the client and Registry ingestion boundary. */ export declare const protectedPublishPaths: (type: ExtensionType) => ReadonlyArray; /** * Effective ignore patterns for a publish, or the first pattern that would drop * a protected path. */ export declare const resolvePublishIgnore: (type: ExtensionType, declared: ReadonlyArray | undefined) => Result.Result, PublishIgnoreError>; /** * Archive options for one publish, as an Effect the per-type publish operations * can yield directly. */ export declare const publishArchiveOptions: (type: ExtensionType, declared: ReadonlyArray | undefined) => Effect.Effect; export {}; //# sourceMappingURL=publish-ignore.d.ts.map