/** * Schema for `.claude-plugin/marketplace.json` — the plugin catalog * file that lists one or more plugins alongside their source specs. * * A marketplace is identified by name, has an owner, and declares an * array of plugin entries. Each entry declares how to locate the * plugin's source (a relative path string, GitHub, URL, git subdir, * npm, or legacy directory object). * * @since 0.1.0 */ import * as Schema from 'effect/Schema'; import { AuthorInfo } from './Manifest.js'; declare const DirectoryPluginSource_base: Schema.Class; readonly path: Schema.String; }>, {}>; /** * Legacy directory-based plugin source. Prefer relative path strings. * * @category Schemas * @since 0.1.0 * @deprecated Current marketplace entries use relative path strings. */ export declare class DirectoryPluginSource extends DirectoryPluginSource_base { } declare const GithubPluginSource_base: Schema.Class; readonly repo: Schema.String; readonly ref: Schema.optional; readonly sha: Schema.optional; readonly skipLfs: Schema.optional; }>, {}>; /** * A GitHub-based plugin source. The `repo` is the `owner/name` pair. * * @category Schemas * @since 0.1.0 */ export declare class GithubPluginSource extends GithubPluginSource_base { } declare const UrlPluginSource_base: Schema.Class; readonly url: Schema.String; readonly ref: Schema.optional; readonly sha: Schema.optional; readonly skipLfs: Schema.optional; }>, {}>; export declare class UrlPluginSource extends UrlPluginSource_base { } declare const GitSubdirPluginSource_base: Schema.Class; readonly url: Schema.String; readonly path: Schema.String; readonly ref: Schema.optional; readonly sha: Schema.optional; readonly skipLfs: Schema.optional; }>, {}>; export declare class GitSubdirPluginSource extends GitSubdirPluginSource_base { } declare const NpmPluginSource_base: Schema.Class; readonly package: Schema.String; readonly version: Schema.optional; readonly registry: Schema.optional; }>, {}>; export declare class NpmPluginSource extends NpmPluginSource_base { } /** * The `source` field on a marketplace entry. Accepts either a raw * relative path string or a structured source object. * * @category Schemas * @since 0.1.0 */ export declare const MarketplacePluginSourceSpec: Schema.Union; export type MarketplacePluginSourceSpec = Schema.Schema.Type; declare const MarketplacePluginEntry_base: Schema.Class; readonly description: Schema.optional; readonly displayName: Schema.optional; readonly category: Schema.optional; readonly tags: Schema.optional>; readonly defaultEnabled: Schema.optional; readonly version: Schema.optional; readonly author: Schema.optional; readonly homepage: Schema.optional; readonly repository: Schema.optional; readonly license: Schema.optional; readonly keywords: Schema.optional>; readonly commands: Schema.optional]>>; readonly agents: Schema.optional]>>; readonly skills: Schema.optional]>>; readonly outputStyles: Schema.optional]>>; readonly hooks: Schema.optional, Schema.$Record>]>>; readonly mcpServers: Schema.optional, Schema.$Record]>>; readonly lspServers: Schema.optional, Schema.$Record]>>; readonly strict: Schema.optional; }>, {}>; /** * A single plugin entry inside a marketplace.json file. `name` and * `source` are required; every other field is informational and may * override or supplement what the plugin's own `plugin.json` declares. * * @category Schemas * @since 0.1.0 */ export declare class MarketplacePluginEntry extends MarketplacePluginEntry_base { } declare const MarketplaceMetadata_base: Schema.Class; }>, {}>; export declare class MarketplaceMetadata extends MarketplaceMetadata_base { } declare const MarketplaceFile_base: Schema.Class; readonly name: Schema.String; readonly version: Schema.optional; readonly description: Schema.optional; readonly owner: typeof AuthorInfo; readonly metadata: Schema.optional; readonly allowCrossMarketplaceDependenciesOn: Schema.optional>; readonly plugins: Schema.$Array; }>, {}>; /** * The full `.claude-plugin/marketplace.json` file. Lists a bundle of * plugins under a shared name and owner. * * @category Schemas * @since 0.1.0 */ export declare class MarketplaceFile extends MarketplaceFile_base { } export {}; //# sourceMappingURL=Marketplace.d.ts.map