/** * Registry layout schemas for extension index and version entries. * * These schemas define the structure of registry metadata that describes * published extensions and their available versions. * * @experimental This API is unstable and may change without notice. */ import * as Schema from "effect/Schema"; import * as Option from "effect/Option"; import { type PackageUrlParts } from "../packaging/package-url.js"; export declare const DeprecationReplacementSchema: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; export declare const DeprecationViewSchema: Schema.Union; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>]>; export type DeprecationReplacement = typeof DeprecationReplacementSchema.Type; export type DeprecationView = typeof DeprecationViewSchema.Type; export declare const DeprecationRevisionSchema: Schema.NonEmptyString; export declare const DeprecationReplacementIntentSchema: Schema.Union; }>, Schema.Struct<{ readonly kind: Schema.Literal<"set">; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"preserve">; }>]>; export declare const DeprecationManagementViewSchema: Schema.Struct<{ readonly deprecation: Schema.NullOr; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>]>>; readonly revision: Schema.NonEmptyString; }>; export declare const DeprecationTransitionSchema: Schema.Struct<{ readonly target: Schema.String; readonly before: Schema.NullOr; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>]>>; readonly after: Schema.NullOr; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>]>>; readonly disposition: Schema.Literals; readonly revision: Schema.NonEmptyString; }>; export type DeprecationReplacementIntent = typeof DeprecationReplacementIntentSchema.Type; export type DeprecationManagementView = typeof DeprecationManagementViewSchema.Type; export type DeprecationTransition = typeof DeprecationTransitionSchema.Type; /** * A single published version of an extension in the registry. * * Fields: * - version: Semver version string (e.g., "1.2.3") * - published: ISO 8601 timestamp of publication * - dependencies: Optional map of `@owner/type/name` to semver range * - integrity: SRI integrity string in `sha512-` format * * @experimental This API is unstable and may change without notice. */ export declare const VersionEntrySchema: Schema.Struct<{ readonly version: Schema.brand; readonly published: Schema.decodeTo; readonly dependencies: Schema.optional>>; readonly packages: Schema.optional; readonly versionRange: Schema.optional", ">="]>; readonly version: Schema.NonEmptyString; }>>; }>>, Schema.NonEmptyString, never, never>, "VersRange">>; }>>>; readonly integrity: Schema.String; readonly yankedAt: Schema.optional>; readonly yankCategory: Schema.optional; readonly yankNotice: Schema.optional; }>; /** * Inferred type for VersionEntry schema. * * @experimental This API is unstable and may change without notice. */ export type VersionEntry = Schema.Schema.Type; export declare const companionPackageToPackageUrlParts: (companionPackage: NonNullable[number]) => Option.Option; export declare const packagesToPackageUrlParts: (packages: VersionEntry["packages"]) => ReadonlyArray; /** * Extension index metadata describing a published extension in the registry. * * Fields: * - name: Extension name without owner * - owner: Owner namespace including `@` prefix (e.g., "@acme") * - type: Extension type ("skill", "mcp-server", or "pack") * - description: Optional human-readable description * - repository: Optional repository URL or object (`{ type?, url, directory? }`) * - bugs: Optional bug-tracker URL or object (`{ url?, email? }`) * - license: Optional SPDX license identifier * - authors: Optional list of authors * - versions: Array of version entries, newest first * * @experimental This API is unstable and may change without notice. */ export declare const ExtensionIndexSchema: Schema.Struct<{ readonly name: Schema.brand; readonly owner: Schema.brand; readonly type: Schema.Literals; readonly publisherBindingId: Schema.NonEmptyString; readonly description: Schema.optional; readonly repository: Schema.optional; readonly url: Schema.NonEmptyString; readonly directory: Schema.optional; }>]>>; readonly bugs: Schema.optional; readonly email: Schema.optional; }>]>>; readonly license: Schema.optional; readonly authors: Schema.optional; readonly url: Schema.optional; }>>>; readonly visibility: Schema.optional>; readonly deprecation: Schema.NullOr; readonly message: Schema.String; readonly replacement: Schema.optional; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>>; }>, Schema.Struct<{ readonly deprecatedAt: Schema.decodeTo; readonly message: Schema.optional; readonly replacement: Schema.Union; readonly fqn: Schema.String; }>, Schema.Struct<{ readonly status: Schema.Literal<"unavailable">; readonly fqn: Schema.optional; }>]>; }>]>>; readonly versions: Schema.$Array; readonly published: Schema.decodeTo; readonly dependencies: Schema.optional>>; readonly packages: Schema.optional; readonly versionRange: Schema.optional", ">="]>; readonly version: Schema.NonEmptyString; }>>; }>>, Schema.NonEmptyString, never, never>, "VersRange">>; }>>>; readonly integrity: Schema.String; readonly yankedAt: Schema.optional>; readonly yankCategory: Schema.optional; readonly yankNotice: Schema.optional; }>>; }>; /** * Inferred type for ExtensionIndex schema. * * @experimental This API is unstable and may change without notice. */ export type ExtensionIndex = Schema.Schema.Type; //# sourceMappingURL=schema.d.ts.map