/** * Bundle Manifest Schema (Zod) * * Validates `.aiwg/{extensions,addons,frameworks,plugins}//manifest.json` * for project-local artifact bundles. Implements the design in * `.aiwg/architecture/design-manifest-schema.md` (#1044). * * Layered above the per-artifact Extension type validation in `validation.ts`: * the bundle manifest declares the bundle (a directory containing artifacts); * the existing schemas validate individual artifact bodies inside the bundle. * * @implements #1044 * @architecture .aiwg/architecture/design-manifest-schema.md */ import { z } from 'zod'; export declare const MANIFEST_MAX_BYTES: number; export declare const MAX_BUNDLES_PER_PROJECT = 200; export declare const MAX_KEYWORDS_PER_MANIFEST = 50; export declare const MAX_OVERRIDES_PER_MANIFEST = 20; export declare const ProjectLocalTypeSchema: z.ZodEnum<["extension", "addon", "framework", "plugin"]>; export type ProjectLocalType = z.infer; export declare const AddonConfigSchema: z.ZodObject<{ core: z.ZodOptional; autoInstall: z.ZodOptional; agents: z.ZodOptional>; skills: z.ZodOptional>; rules: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; hooks: z.ZodOptional>; commands: z.ZodOptional>; behaviors: z.ZodOptional>; entry: z.ZodOptional; skills: z.ZodOptional; rules: z.ZodOptional; templates: z.ZodOptional; prompts: z.ZodOptional; hooks: z.ZodOptional; commands: z.ZodOptional; behaviors: z.ZodOptional; }, "strict", z.ZodTypeAny, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }>>; }, "strict", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; core?: boolean | undefined; autoInstall?: boolean | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; core?: boolean | undefined; autoInstall?: boolean | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; }>; export declare const FrameworkConfigSchema: z.ZodObject<{ path: z.ZodOptional; files: z.ZodOptional>; ignore: z.ZodOptional>; contextContributions: z.ZodOptional; sectionsDir: z.ZodOptional; sectionsManifest: z.ZodOptional; priority: z.ZodOptional; description: z.ZodOptional; }, "strict", z.ZodTypeAny, { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; }, { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; }>>; }, "strict", z.ZodTypeAny, { path?: string | undefined; ignore?: string[] | undefined; files?: string[] | undefined; contextContributions?: { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; } | undefined; }, { path?: string | undefined; ignore?: string[] | undefined; files?: string[] | undefined; contextContributions?: { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; } | undefined; }>; export declare const ExtensionConfigSchema: z.ZodObject<{ agents: z.ZodOptional>; skills: z.ZodOptional>; rules: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; hooks: z.ZodOptional>; commands: z.ZodOptional>; behaviors: z.ZodOptional>; entry: z.ZodOptional; skills: z.ZodOptional; rules: z.ZodOptional; templates: z.ZodOptional; prompts: z.ZodOptional; hooks: z.ZodOptional; commands: z.ZodOptional; behaviors: z.ZodOptional; }, "strict", z.ZodTypeAny, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }>>; }, "strict", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; }>; export declare const PluginConfigSchema: z.ZodObject<{ payloadType: z.ZodEnum<["addon", "framework", "extension"]>; payloadPath: z.ZodString; }, "strict", z.ZodTypeAny, { payloadType: "framework" | "addon" | "extension"; payloadPath: string; }, { payloadType: "framework" | "addon" | "extension"; payloadPath: string; }>; export declare const BundleManifestSchema: z.ZodEffects; name: z.ZodString; version: z.ZodString; description: z.ZodString; manifestVersion: z.ZodLiteral<"1">; platforms: z.ZodEffects>; factory: z.ZodOptional>; cursor: z.ZodOptional>; copilot: z.ZodOptional>; windsurf: z.ZodOptional>; codex: z.ZodOptional>; opencode: z.ZodOptional>; generic: z.ZodOptional>; }, "strip", z.ZodTypeAny, { claude?: "experimental" | "full" | "partial" | "none" | undefined; cursor?: "experimental" | "full" | "partial" | "none" | undefined; factory?: "experimental" | "full" | "partial" | "none" | undefined; codex?: "experimental" | "full" | "partial" | "none" | undefined; opencode?: "experimental" | "full" | "partial" | "none" | undefined; windsurf?: "experimental" | "full" | "partial" | "none" | undefined; copilot?: "experimental" | "full" | "partial" | "none" | undefined; generic?: "experimental" | "full" | "partial" | "none" | undefined; }, { claude?: "experimental" | "full" | "partial" | "none" | undefined; cursor?: "experimental" | "full" | "partial" | "none" | undefined; factory?: "experimental" | "full" | "partial" | "none" | undefined; codex?: "experimental" | "full" | "partial" | "none" | undefined; opencode?: "experimental" | "full" | "partial" | "none" | undefined; windsurf?: "experimental" | "full" | "partial" | "none" | undefined; copilot?: "experimental" | "full" | "partial" | "none" | undefined; generic?: "experimental" | "full" | "partial" | "none" | undefined; }>, { claude?: "experimental" | "full" | "partial" | "none" | undefined; cursor?: "experimental" | "full" | "partial" | "none" | undefined; factory?: "experimental" | "full" | "partial" | "none" | undefined; codex?: "experimental" | "full" | "partial" | "none" | undefined; opencode?: "experimental" | "full" | "partial" | "none" | undefined; windsurf?: "experimental" | "full" | "partial" | "none" | undefined; copilot?: "experimental" | "full" | "partial" | "none" | undefined; generic?: "experimental" | "full" | "partial" | "none" | undefined; }, { claude?: "experimental" | "full" | "partial" | "none" | undefined; cursor?: "experimental" | "full" | "partial" | "none" | undefined; factory?: "experimental" | "full" | "partial" | "none" | undefined; codex?: "experimental" | "full" | "partial" | "none" | undefined; opencode?: "experimental" | "full" | "partial" | "none" | undefined; windsurf?: "experimental" | "full" | "partial" | "none" | undefined; copilot?: "experimental" | "full" | "partial" | "none" | undefined; generic?: "experimental" | "full" | "partial" | "none" | undefined; }>; keywords: z.ZodArray; deployment: z.ZodObject<{ pathTemplate: z.ZodString; pathOverrides: z.ZodOptional>; additionalFiles: z.ZodOptional>; autoInstall: z.ZodDefault>; core: z.ZodDefault>; }, "strip", z.ZodTypeAny, { core: boolean; pathTemplate: string; autoInstall: boolean; pathOverrides?: Record | undefined; additionalFiles?: string[] | undefined; }, { pathTemplate: string; core?: boolean | undefined; pathOverrides?: Record | undefined; additionalFiles?: string[] | undefined; autoInstall?: boolean | undefined; }>; author: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; addonConfig: z.ZodOptional; autoInstall: z.ZodOptional; agents: z.ZodOptional>; skills: z.ZodOptional>; rules: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; hooks: z.ZodOptional>; commands: z.ZodOptional>; behaviors: z.ZodOptional>; entry: z.ZodOptional; skills: z.ZodOptional; rules: z.ZodOptional; templates: z.ZodOptional; prompts: z.ZodOptional; hooks: z.ZodOptional; commands: z.ZodOptional; behaviors: z.ZodOptional; }, "strict", z.ZodTypeAny, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }>>; }, "strict", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; core?: boolean | undefined; autoInstall?: boolean | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; core?: boolean | undefined; autoInstall?: boolean | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; }>>; frameworkConfig: z.ZodOptional; files: z.ZodOptional>; ignore: z.ZodOptional>; contextContributions: z.ZodOptional; sectionsDir: z.ZodOptional; sectionsManifest: z.ZodOptional; priority: z.ZodOptional; description: z.ZodOptional; }, "strict", z.ZodTypeAny, { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; }, { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; }>>; }, "strict", z.ZodTypeAny, { path?: string | undefined; ignore?: string[] | undefined; files?: string[] | undefined; contextContributions?: { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; } | undefined; }, { path?: string | undefined; ignore?: string[] | undefined; files?: string[] | undefined; contextContributions?: { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; } | undefined; }>>; extensionConfig: z.ZodOptional>; skills: z.ZodOptional>; rules: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; hooks: z.ZodOptional>; commands: z.ZodOptional>; behaviors: z.ZodOptional>; entry: z.ZodOptional; skills: z.ZodOptional; rules: z.ZodOptional; templates: z.ZodOptional; prompts: z.ZodOptional; hooks: z.ZodOptional; commands: z.ZodOptional; behaviors: z.ZodOptional; }, "strict", z.ZodTypeAny, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }>>; }, "strict", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; }>>; pluginConfig: z.ZodOptional; payloadPath: z.ZodString; }, "strict", z.ZodTypeAny, { payloadType: "framework" | "addon" | "extension"; payloadPath: string; }, { payloadType: "framework" | "addon" | "extension"; payloadPath: string; }>>; 'safety-critical': z.ZodOptional; overrides: z.ZodOptional>; deprecation: z.ZodOptional; reason: z.ZodString; }, "strip", z.ZodTypeAny, { reason: string; date: string; successor?: string | undefined; }, { reason: string; date: string; successor?: string | undefined; }>>; memory: z.ZodOptional, "many">>; normalizedFiles: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; }, { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; }>>; }, "strict", z.ZodTypeAny, { type: "framework" | "addon" | "extension" | "plugin"; id: string; version: string; name: string; description: string; deployment: { core: boolean; pathTemplate: string; autoInstall: boolean; pathOverrides?: Record | undefined; additionalFiles?: string[] | undefined; }; platforms: { claude?: "experimental" | "full" | "partial" | "none" | undefined; cursor?: "experimental" | "full" | "partial" | "none" | undefined; factory?: "experimental" | "full" | "partial" | "none" | undefined; codex?: "experimental" | "full" | "partial" | "none" | undefined; opencode?: "experimental" | "full" | "partial" | "none" | undefined; windsurf?: "experimental" | "full" | "partial" | "none" | undefined; copilot?: "experimental" | "full" | "partial" | "none" | undefined; generic?: "experimental" | "full" | "partial" | "none" | undefined; }; keywords: string[]; manifestVersion: "1"; deprecation?: { reason: string; date: string; successor?: string | undefined; } | undefined; memory?: { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; } | undefined; author?: string | undefined; repository?: string | undefined; license?: string | undefined; addonConfig?: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; core?: boolean | undefined; autoInstall?: boolean | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; } | undefined; frameworkConfig?: { path?: string | undefined; ignore?: string[] | undefined; files?: string[] | undefined; contextContributions?: { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; } | undefined; } | undefined; extensionConfig?: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; } | undefined; pluginConfig?: { payloadType: "framework" | "addon" | "extension"; payloadPath: string; } | undefined; 'safety-critical'?: boolean | undefined; overrides?: string[] | undefined; }, { type: "framework" | "addon" | "extension" | "plugin"; id: string; version: string; name: string; description: string; deployment: { pathTemplate: string; core?: boolean | undefined; pathOverrides?: Record | undefined; additionalFiles?: string[] | undefined; autoInstall?: boolean | undefined; }; platforms: { claude?: "experimental" | "full" | "partial" | "none" | undefined; cursor?: "experimental" | "full" | "partial" | "none" | undefined; factory?: "experimental" | "full" | "partial" | "none" | undefined; codex?: "experimental" | "full" | "partial" | "none" | undefined; opencode?: "experimental" | "full" | "partial" | "none" | undefined; windsurf?: "experimental" | "full" | "partial" | "none" | undefined; copilot?: "experimental" | "full" | "partial" | "none" | undefined; generic?: "experimental" | "full" | "partial" | "none" | undefined; }; keywords: string[]; manifestVersion: "1"; deprecation?: { reason: string; date: string; successor?: string | undefined; } | undefined; memory?: { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; } | undefined; author?: string | undefined; repository?: string | undefined; license?: string | undefined; addonConfig?: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; core?: boolean | undefined; autoInstall?: boolean | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; } | undefined; frameworkConfig?: { path?: string | undefined; ignore?: string[] | undefined; files?: string[] | undefined; contextContributions?: { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; } | undefined; } | undefined; extensionConfig?: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; } | undefined; pluginConfig?: { payloadType: "framework" | "addon" | "extension"; payloadPath: string; } | undefined; 'safety-critical'?: boolean | undefined; overrides?: string[] | undefined; }>, { type: "framework" | "addon" | "extension" | "plugin"; id: string; version: string; name: string; description: string; deployment: { core: boolean; pathTemplate: string; autoInstall: boolean; pathOverrides?: Record | undefined; additionalFiles?: string[] | undefined; }; platforms: { claude?: "experimental" | "full" | "partial" | "none" | undefined; cursor?: "experimental" | "full" | "partial" | "none" | undefined; factory?: "experimental" | "full" | "partial" | "none" | undefined; codex?: "experimental" | "full" | "partial" | "none" | undefined; opencode?: "experimental" | "full" | "partial" | "none" | undefined; windsurf?: "experimental" | "full" | "partial" | "none" | undefined; copilot?: "experimental" | "full" | "partial" | "none" | undefined; generic?: "experimental" | "full" | "partial" | "none" | undefined; }; keywords: string[]; manifestVersion: "1"; deprecation?: { reason: string; date: string; successor?: string | undefined; } | undefined; memory?: { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; } | undefined; author?: string | undefined; repository?: string | undefined; license?: string | undefined; addonConfig?: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; core?: boolean | undefined; autoInstall?: boolean | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; } | undefined; frameworkConfig?: { path?: string | undefined; ignore?: string[] | undefined; files?: string[] | undefined; contextContributions?: { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; } | undefined; } | undefined; extensionConfig?: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; } | undefined; pluginConfig?: { payloadType: "framework" | "addon" | "extension"; payloadPath: string; } | undefined; 'safety-critical'?: boolean | undefined; overrides?: string[] | undefined; }, { type: "framework" | "addon" | "extension" | "plugin"; id: string; version: string; name: string; description: string; deployment: { pathTemplate: string; core?: boolean | undefined; pathOverrides?: Record | undefined; additionalFiles?: string[] | undefined; autoInstall?: boolean | undefined; }; platforms: { claude?: "experimental" | "full" | "partial" | "none" | undefined; cursor?: "experimental" | "full" | "partial" | "none" | undefined; factory?: "experimental" | "full" | "partial" | "none" | undefined; codex?: "experimental" | "full" | "partial" | "none" | undefined; opencode?: "experimental" | "full" | "partial" | "none" | undefined; windsurf?: "experimental" | "full" | "partial" | "none" | undefined; copilot?: "experimental" | "full" | "partial" | "none" | undefined; generic?: "experimental" | "full" | "partial" | "none" | undefined; }; keywords: string[]; manifestVersion: "1"; deprecation?: { reason: string; date: string; successor?: string | undefined; } | undefined; memory?: { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; } | undefined; author?: string | undefined; repository?: string | undefined; license?: string | undefined; addonConfig?: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; core?: boolean | undefined; autoInstall?: boolean | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; } | undefined; frameworkConfig?: { path?: string | undefined; ignore?: string[] | undefined; files?: string[] | undefined; contextContributions?: { description?: string | undefined; priority?: number | undefined; hookFragment?: string | undefined; sectionsDir?: string | undefined; sectionsManifest?: string | undefined; } | undefined; } | undefined; extensionConfig?: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; rules?: string[] | undefined; templates?: string[] | undefined; behaviors?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; entry?: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; rules?: string | undefined; templates?: string | undefined; behaviors?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; } | undefined; } | undefined; pluginConfig?: { payloadType: "framework" | "addon" | "extension"; payloadPath: string; } | undefined; 'safety-critical'?: boolean | undefined; overrides?: string[] | undefined; }>; export type BundleManifest = z.infer; export interface ManifestValidationError { /** Filesystem path of the manifest.json */ path: string; /** Dot-path within the manifest (e.g., "addonConfig.entry.skills") */ field: string; /** What the schema expected */ expected: string; /** What was found */ actual: string; /** Optional remediation hint */ hint?: string; /** error severity */ severity: 'error' | 'warning'; } /** * Convert a Zod error into the structured ManifestValidationError shape used * by discovery and `aiwg validate-metadata`. */ export declare function zodErrorToValidationErrors(err: z.ZodError, manifestPath: string): ManifestValidationError[]; //# sourceMappingURL=manifest.d.ts.map