/** * Zod Validation Schemas for Extension Types * * Provides strict runtime validation for all extension types with helpful * error messages. Ensures extension manifests conform to the unified schema. * * @implements @.aiwg/requirements/use-cases/UC-003-extension-validation.md * @architecture @.aiwg/architecture/unified-extension-schema.md * @tests @test/unit/extensions/validation.test.ts * @version 1.0.0 */ import { z } from 'zod'; import type { ExtensionType } from './types.js'; /** * Extension type discriminator */ export declare const ExtensionTypeSchema: z.ZodEnum<["agent", "command", "skill", "hook", "tool", "mcp-server", "framework", "addon", "template", "prompt"]>; /** * Extension lifecycle status */ export declare const ExtensionStatusSchema: z.ZodEnum<["stable", "beta", "experimental", "deprecated", "archived"]>; /** * Platform support level */ export declare const PlatformSupportSchema: z.ZodEnum<["full", "partial", "experimental", "none"]>; /** * Hook lifecycle events */ export declare const HookEventSchema: z.ZodEnum<["pre-session", "post-session", "pre-command", "post-command", "pre-agent", "post-agent", "pre-write", "post-write", "pre-bash", "post-bash"]>; /** * Platform compatibility matrix */ export declare const PlatformCompatibilitySchema: 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; }>; /** * Deployment configuration */ export declare const DeploymentConfigSchema: 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; }>; /** * A single .aiwg/ path entry in a memory footprint */ export declare const MemoryPathSchema: z.ZodObject<{ path: z.ZodString; description: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; description: string; }, { path: string; description: string; }>; /** * .aiwg/ memory footprint declaration */ export declare const MemoryFootprintSchema: z.ZodObject<{ creates: 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; }>; /** * Deprecation information */ export declare const DeprecationSchema: z.ZodObject<{ date: z.ZodString; successor: z.ZodOptional; reason: z.ZodString; }, "strip", z.ZodTypeAny, { reason: string; date: string; successor?: string | undefined; }, { reason: string; date: string; successor?: string | undefined; }>; /** * Installation state */ export declare const InstallationSchema: z.ZodObject<{ installedAt: z.ZodString; installedFrom: z.ZodEnum<["builtin", "registry", "local", "git"]>; installedPath: z.ZodString; enabled: z.ZodBoolean; }, "strip", z.ZodTypeAny, { installedAt: string; installedFrom: "local" | "builtin" | "registry" | "git"; installedPath: string; enabled: boolean; }, { installedAt: string; installedFrom: "local" | "builtin" | "registry" | "git"; installedPath: string; enabled: boolean; }>; /** * Signature verification */ export declare const SignatureSchema: z.ZodObject<{ algorithm: z.ZodEnum<["pgp", "ed25519"]>; value: z.ZodString; publicKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { value: string; algorithm: "ed25519" | "pgp"; publicKey?: string | undefined; }, { value: string; algorithm: "ed25519" | "pgp"; publicKey?: string | undefined; }>; /** * Agent-specific metadata */ export declare const AgentMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"agent">; role: z.ZodString; model: z.ZodObject<{ tier: z.ZodEnum<["haiku", "sonnet", "opus"]>; override: z.ZodOptional; }, "strip", z.ZodTypeAny, { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }, { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }>; tools: z.ZodArray; template: z.ZodOptional; maxTools: z.ZodOptional; canDelegate: z.ZodOptional; readOnly: z.ZodOptional; workflow: z.ZodOptional>; expertise: z.ZodOptional>; responsibilities: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; }, { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; }>; /** * Command argument definition */ export declare const CommandArgumentSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; required: z.ZodBoolean; type: z.ZodEnum<["string", "number", "boolean"]>; default: z.ZodOptional>; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }>; /** * Command option definition */ export declare const CommandOptionSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; type: z.ZodEnum<["string", "boolean", "number", "array"]>; default: z.ZodOptional>; short: z.ZodOptional; long: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }>; /** * Command-specific metadata * * @deprecated As a source format — commands are generated from skills at deploy time. */ export declare const CommandMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"command">; template: z.ZodEnum<["utility", "transformation", "orchestration"]>; arguments: z.ZodOptional; default: z.ZodOptional>; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }>, "many">>; options: z.ZodOptional; default: z.ZodOptional>; short: z.ZodOptional; long: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }>, "many">>; argumentHint: z.ZodOptional; allowedTools: z.ZodOptional>; model: z.ZodOptional; executionSteps: z.ZodOptional>; successCriteria: z.ZodOptional>; cliDisabled: z.ZodOptional; executedViaSkillRunner: z.ZodOptional; generatedFrom: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; }, { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; }>; /** * Command translation hints for skill→command generation */ export declare const CommandHintSchema: z.ZodObject<{ argumentHint: z.ZodOptional; allowedTools: z.ZodOptional>; template: z.ZodOptional>; arguments: z.ZodOptional; default: z.ZodOptional>; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }>, "many">>; options: z.ZodOptional; default: z.ZodOptional>; short: z.ZodOptional; long: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }>, "many">>; executionSteps: z.ZodOptional>; successCriteria: z.ZodOptional>; model: z.ZodOptional; cliDisabled: z.ZodOptional; executedViaSkillRunner: z.ZodOptional; }, "strip", z.ZodTypeAny, { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; }, { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; }>; /** * Skill reference material */ export declare const SkillReferenceSchema: z.ZodObject<{ filename: z.ZodString; description: z.ZodString; path: z.ZodString; }, "strip", z.ZodTypeAny, { path: string; description: string; filename: string; }, { path: string; description: string; filename: string; }>; /** * SKILL.md frontmatter schema * * Validates the YAML frontmatter block at the top of a SKILL.md file. * This is distinct from {@link SkillMetadataSchema}, which validates the * `metadata` field of an Extension manifest. * * `description` is REQUIRED and must be non-empty. Codex rejects SKILL.md * files that lack a description; Claude Code uses this field for * natural-language invocation. Do NOT relax this rule — a blank description * is what caused the 107-file regression we are guarding against. */ export declare const SkillFrontmatterSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; version: z.ZodOptional; namespace: z.ZodOptional; platforms: z.ZodOptional, z.ZodString]>>; triggers: z.ZodOptional, "many">>; aliases: z.ZodOptional>; deprecated_names: z.ZodOptional>; tools: z.ZodOptional, z.ZodString]>>; 'allowed-tools': z.ZodOptional, z.ZodString]>>; allowedTools: z.ZodOptional, z.ZodString]>>; effort: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>]>>; 'user-invocable': z.ZodOptional; userInvocable: z.ZodOptional; 'disable-model-invocation': z.ZodOptional; disableModelInvocation: z.ZodOptional; context: z.ZodOptional>; author: z.ZodOptional; license: z.ZodOptional; metadata: z.ZodOptional>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ name: z.ZodString; description: z.ZodString; version: z.ZodOptional; namespace: z.ZodOptional; platforms: z.ZodOptional, z.ZodString]>>; triggers: z.ZodOptional, "many">>; aliases: z.ZodOptional>; deprecated_names: z.ZodOptional>; tools: z.ZodOptional, z.ZodString]>>; 'allowed-tools': z.ZodOptional, z.ZodString]>>; allowedTools: z.ZodOptional, z.ZodString]>>; effort: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>]>>; 'user-invocable': z.ZodOptional; userInvocable: z.ZodOptional; 'disable-model-invocation': z.ZodOptional; disableModelInvocation: z.ZodOptional; context: z.ZodOptional>; author: z.ZodOptional; license: z.ZodOptional; metadata: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ name: z.ZodString; description: z.ZodString; version: z.ZodOptional; namespace: z.ZodOptional; platforms: z.ZodOptional, z.ZodString]>>; triggers: z.ZodOptional, "many">>; aliases: z.ZodOptional>; deprecated_names: z.ZodOptional>; tools: z.ZodOptional, z.ZodString]>>; 'allowed-tools': z.ZodOptional, z.ZodString]>>; allowedTools: z.ZodOptional, z.ZodString]>>; effort: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>]>>; 'user-invocable': z.ZodOptional; userInvocable: z.ZodOptional; 'disable-model-invocation': z.ZodOptional; disableModelInvocation: z.ZodOptional; context: z.ZodOptional>; author: z.ZodOptional; license: z.ZodOptional; metadata: z.ZodOptional>; }, z.ZodTypeAny, "passthrough">>; /** * Inferred SKILL.md frontmatter type */ export type ValidatedSkillFrontmatter = z.infer; /** * Validate SKILL.md frontmatter. * * Use this when parsing the YAML frontmatter block of a SKILL.md file to * catch missing or empty `description` fields before deployment. * * @example * ```typescript * const result = validateSkillFrontmatter(parsedYaml); * if (!result.success) { * throw new Error('Invalid SKILL.md frontmatter: ' + * formatValidationErrors(result.errors).join(', ')); * } * ``` */ export declare function validateSkillFrontmatter(data: unknown): { success: true; data: ValidatedSkillFrontmatter; } | { success: false; errors: z.ZodError; }; /** * Skill-specific metadata */ export declare const SkillMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"skill">; triggerPhrases: z.ZodArray; autoTrigger: z.ZodDefault>; autoTriggerConditions: z.ZodOptional>; tools: z.ZodOptional>; references: z.ZodOptional, "many">>; inputRequirements: z.ZodOptional>; outputFormat: z.ZodOptional; effort: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>]>>; userInvocable: z.ZodOptional; disableModelInvocation: z.ZodOptional; context: z.ZodOptional>; allowedTools: z.ZodOptional>; commandHint: z.ZodOptional; allowedTools: z.ZodOptional>; template: z.ZodOptional>; arguments: z.ZodOptional; default: z.ZodOptional>; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }>, "many">>; options: z.ZodOptional; default: z.ZodOptional>; short: z.ZodOptional; long: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }>, "many">>; executionSteps: z.ZodOptional>; successCriteria: z.ZodOptional>; model: z.ZodOptional; cliDisabled: z.ZodOptional; executedViaSkillRunner: z.ZodOptional; }, "strip", z.ZodTypeAny, { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; }, { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "skill"; triggerPhrases: string[]; autoTrigger: boolean; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; }, { type: "skill"; triggerPhrases: string[]; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTrigger?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; }>; /** * Hook-specific metadata */ export declare const HookMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"hook">; event: z.ZodEnum<["pre-session", "post-session", "pre-command", "post-command", "pre-agent", "post-agent", "pre-write", "post-write", "pre-bash", "post-bash"]>; priority: z.ZodDefault>; canModify: z.ZodDefault>; canBlock: z.ZodDefault>; configSchema: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority: number; canModify: boolean; canBlock: boolean; configSchema?: Record | undefined; }, { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority?: number | undefined; canModify?: boolean | undefined; canBlock?: boolean | undefined; configSchema?: Record | undefined; }>; /** * Tool-specific metadata */ export declare const ToolMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"tool">; category: z.ZodEnum<["core", "languages", "utilities", "custom"]>; executable: z.ZodString; verificationStatus: z.ZodOptional>; lastVerified: z.ZodOptional; manPage: z.ZodOptional; aliases: z.ZodOptional>; relatedTools: z.ZodOptional>; platformNotes: z.ZodOptional>; installHint: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; }, { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; }>; /** * MCP tool summary */ export declare const MCPToolSummarySchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; dangerous: z.ZodBoolean; }, "strip", z.ZodTypeAny, { name: string; description: string; dangerous: boolean; }, { name: string; description: string; dangerous: boolean; }>; /** * MCP Server-specific metadata */ export declare const MCPServerMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"mcp-server">; mcpVersion: z.ZodString; transport: z.ZodEnum<["stdio", "http"]>; port: z.ZodOptional; capabilities: z.ZodObject<{ tools: z.ZodBoolean; resources: z.ZodBoolean; prompts: z.ZodBoolean; sampling: z.ZodBoolean; logging: z.ZodBoolean; }, "strip", z.ZodTypeAny, { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }, { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }>; sourceType: z.ZodEnum<["cli", "api", "catalog", "nl", "extension"]>; sourceCommand: z.ZodOptional; sourceBaseUrl: z.ZodOptional; workingDirectory: z.ZodOptional; environment: z.ZodOptional>; tools: z.ZodOptional, "many">>; resources: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; }, { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; }>; /** * Framework-specific metadata */ export declare const FrameworkMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"framework">; domain: z.ZodString; includes: z.ZodObject<{ agents: z.ZodOptional>; commands: z.ZodOptional>; skills: z.ZodOptional>; hooks: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }>; configSchema: z.ZodOptional>; defaultConfig: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; }, { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; }>; /** * Addon-specific metadata */ export declare const AddonMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"addon">; entry: z.ZodObject<{ agents: z.ZodOptional; commands: z.ZodOptional; skills: z.ZodOptional; hooks: z.ZodOptional; templates: z.ZodOptional; prompts: z.ZodOptional; }, "strip", z.ZodTypeAny, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }>; provides: z.ZodObject<{ agents: z.ZodOptional>; commands: z.ZodOptional>; skills: z.ZodOptional>; hooks: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }>; }, "strip", z.ZodTypeAny, { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; }, { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; }>; /** * Template variable definition */ export declare const TemplateVariableSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; type: z.ZodEnum<["string", "number", "boolean", "array", "object"]>; required: z.ZodBoolean; default: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }, { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }>; /** * Template-specific metadata */ export declare const TemplateMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"template">; format: z.ZodString; variables: z.ZodOptional; required: z.ZodBoolean; default: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }, { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }>, "many">>; sections: z.ZodOptional>; targetArtifact: z.ZodOptional; }, "strip", z.ZodTypeAny, { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; }, { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; }>; /** * Prompt-specific metadata */ export declare const PromptMetadataSchema: z.ZodObject<{ type: z.ZodLiteral<"prompt">; category: z.ZodString; purpose: z.ZodString; useWhen: z.ZodArray; variables: z.ZodOptional>; requiredContext: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }, { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }>; /** * Union of all type-specific metadata schemas */ export declare const ExtensionMetadataSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"agent">; role: z.ZodString; model: z.ZodObject<{ tier: z.ZodEnum<["haiku", "sonnet", "opus"]>; override: z.ZodOptional; }, "strip", z.ZodTypeAny, { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }, { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }>; tools: z.ZodArray; template: z.ZodOptional; maxTools: z.ZodOptional; canDelegate: z.ZodOptional; readOnly: z.ZodOptional; workflow: z.ZodOptional>; expertise: z.ZodOptional>; responsibilities: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; }, { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"command">; template: z.ZodEnum<["utility", "transformation", "orchestration"]>; arguments: z.ZodOptional; default: z.ZodOptional>; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }>, "many">>; options: z.ZodOptional; default: z.ZodOptional>; short: z.ZodOptional; long: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }>, "many">>; argumentHint: z.ZodOptional; allowedTools: z.ZodOptional>; model: z.ZodOptional; executionSteps: z.ZodOptional>; successCriteria: z.ZodOptional>; cliDisabled: z.ZodOptional; executedViaSkillRunner: z.ZodOptional; generatedFrom: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; }, { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"skill">; triggerPhrases: z.ZodArray; autoTrigger: z.ZodDefault>; autoTriggerConditions: z.ZodOptional>; tools: z.ZodOptional>; references: z.ZodOptional, "many">>; inputRequirements: z.ZodOptional>; outputFormat: z.ZodOptional; effort: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>]>>; userInvocable: z.ZodOptional; disableModelInvocation: z.ZodOptional; context: z.ZodOptional>; allowedTools: z.ZodOptional>; commandHint: z.ZodOptional; allowedTools: z.ZodOptional>; template: z.ZodOptional>; arguments: z.ZodOptional; default: z.ZodOptional>; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }>, "many">>; options: z.ZodOptional; default: z.ZodOptional>; short: z.ZodOptional; long: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }>, "many">>; executionSteps: z.ZodOptional>; successCriteria: z.ZodOptional>; model: z.ZodOptional; cliDisabled: z.ZodOptional; executedViaSkillRunner: z.ZodOptional; }, "strip", z.ZodTypeAny, { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; }, { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "skill"; triggerPhrases: string[]; autoTrigger: boolean; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; }, { type: "skill"; triggerPhrases: string[]; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTrigger?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"hook">; event: z.ZodEnum<["pre-session", "post-session", "pre-command", "post-command", "pre-agent", "post-agent", "pre-write", "post-write", "pre-bash", "post-bash"]>; priority: z.ZodDefault>; canModify: z.ZodDefault>; canBlock: z.ZodDefault>; configSchema: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority: number; canModify: boolean; canBlock: boolean; configSchema?: Record | undefined; }, { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority?: number | undefined; canModify?: boolean | undefined; canBlock?: boolean | undefined; configSchema?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"tool">; category: z.ZodEnum<["core", "languages", "utilities", "custom"]>; executable: z.ZodString; verificationStatus: z.ZodOptional>; lastVerified: z.ZodOptional; manPage: z.ZodOptional; aliases: z.ZodOptional>; relatedTools: z.ZodOptional>; platformNotes: z.ZodOptional>; installHint: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; }, { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"mcp-server">; mcpVersion: z.ZodString; transport: z.ZodEnum<["stdio", "http"]>; port: z.ZodOptional; capabilities: z.ZodObject<{ tools: z.ZodBoolean; resources: z.ZodBoolean; prompts: z.ZodBoolean; sampling: z.ZodBoolean; logging: z.ZodBoolean; }, "strip", z.ZodTypeAny, { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }, { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }>; sourceType: z.ZodEnum<["cli", "api", "catalog", "nl", "extension"]>; sourceCommand: z.ZodOptional; sourceBaseUrl: z.ZodOptional; workingDirectory: z.ZodOptional; environment: z.ZodOptional>; tools: z.ZodOptional, "many">>; resources: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; }, { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"framework">; domain: z.ZodString; includes: z.ZodObject<{ agents: z.ZodOptional>; commands: z.ZodOptional>; skills: z.ZodOptional>; hooks: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }>; configSchema: z.ZodOptional>; defaultConfig: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; }, { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"addon">; entry: z.ZodObject<{ agents: z.ZodOptional; commands: z.ZodOptional; skills: z.ZodOptional; hooks: z.ZodOptional; templates: z.ZodOptional; prompts: z.ZodOptional; }, "strip", z.ZodTypeAny, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }>; provides: z.ZodObject<{ agents: z.ZodOptional>; commands: z.ZodOptional>; skills: z.ZodOptional>; hooks: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }>; }, "strip", z.ZodTypeAny, { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; }, { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; }>, z.ZodObject<{ type: z.ZodLiteral<"template">; format: z.ZodString; variables: z.ZodOptional; required: z.ZodBoolean; default: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }, { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }>, "many">>; sections: z.ZodOptional>; targetArtifact: z.ZodOptional; }, "strip", z.ZodTypeAny, { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; }, { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"prompt">; category: z.ZodString; purpose: z.ZodString; useWhen: z.ZodArray; variables: z.ZodOptional>; requiredContext: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }, { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }>]>; /** * Complete extension schema * * Validates all required and optional fields according to the unified schema. */ export declare const ExtensionSchema: z.ZodEffects; name: z.ZodString; description: z.ZodString; version: z.ZodString; capabilities: z.ZodArray; keywords: z.ZodArray; category: z.ZodOptional; 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; }>; 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; }>; requires: z.ZodOptional>; recommends: z.ZodOptional>; conflicts: z.ZodOptional>; systemDependencies: z.ZodOptional>; author: z.ZodOptional; license: z.ZodOptional; repository: z.ZodOptional; homepage: z.ZodOptional; bugs: z.ZodOptional; documentation: z.ZodOptional>; researchCompliance: z.ZodOptional>>; 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; }>>; metadata: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"agent">; role: z.ZodString; model: z.ZodObject<{ tier: z.ZodEnum<["haiku", "sonnet", "opus"]>; override: z.ZodOptional; }, "strip", z.ZodTypeAny, { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }, { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }>; tools: z.ZodArray; template: z.ZodOptional; maxTools: z.ZodOptional; canDelegate: z.ZodOptional; readOnly: z.ZodOptional; workflow: z.ZodOptional>; expertise: z.ZodOptional>; responsibilities: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; }, { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"command">; template: z.ZodEnum<["utility", "transformation", "orchestration"]>; arguments: z.ZodOptional; default: z.ZodOptional>; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }>, "many">>; options: z.ZodOptional; default: z.ZodOptional>; short: z.ZodOptional; long: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }>, "many">>; argumentHint: z.ZodOptional; allowedTools: z.ZodOptional>; model: z.ZodOptional; executionSteps: z.ZodOptional>; successCriteria: z.ZodOptional>; cliDisabled: z.ZodOptional; executedViaSkillRunner: z.ZodOptional; generatedFrom: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; }, { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"skill">; triggerPhrases: z.ZodArray; autoTrigger: z.ZodDefault>; autoTriggerConditions: z.ZodOptional>; tools: z.ZodOptional>; references: z.ZodOptional, "many">>; inputRequirements: z.ZodOptional>; outputFormat: z.ZodOptional; effort: z.ZodOptional, z.ZodLiteral<2>, z.ZodLiteral<3>]>>; userInvocable: z.ZodOptional; disableModelInvocation: z.ZodOptional; context: z.ZodOptional>; allowedTools: z.ZodOptional>; commandHint: z.ZodOptional; allowedTools: z.ZodOptional>; template: z.ZodOptional>; arguments: z.ZodOptional; default: z.ZodOptional>; position: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }, { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }>, "many">>; options: z.ZodOptional; default: z.ZodOptional>; short: z.ZodOptional; long: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }, { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }>, "many">>; executionSteps: z.ZodOptional>; successCriteria: z.ZodOptional>; model: z.ZodOptional; cliDisabled: z.ZodOptional; executedViaSkillRunner: z.ZodOptional; }, "strip", z.ZodTypeAny, { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; }, { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "skill"; triggerPhrases: string[]; autoTrigger: boolean; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; }, { type: "skill"; triggerPhrases: string[]; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTrigger?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"hook">; event: z.ZodEnum<["pre-session", "post-session", "pre-command", "post-command", "pre-agent", "post-agent", "pre-write", "post-write", "pre-bash", "post-bash"]>; priority: z.ZodDefault>; canModify: z.ZodDefault>; canBlock: z.ZodDefault>; configSchema: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority: number; canModify: boolean; canBlock: boolean; configSchema?: Record | undefined; }, { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority?: number | undefined; canModify?: boolean | undefined; canBlock?: boolean | undefined; configSchema?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"tool">; category: z.ZodEnum<["core", "languages", "utilities", "custom"]>; executable: z.ZodString; verificationStatus: z.ZodOptional>; lastVerified: z.ZodOptional; manPage: z.ZodOptional; aliases: z.ZodOptional>; relatedTools: z.ZodOptional>; platformNotes: z.ZodOptional>; installHint: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; }, { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"mcp-server">; mcpVersion: z.ZodString; transport: z.ZodEnum<["stdio", "http"]>; port: z.ZodOptional; capabilities: z.ZodObject<{ tools: z.ZodBoolean; resources: z.ZodBoolean; prompts: z.ZodBoolean; sampling: z.ZodBoolean; logging: z.ZodBoolean; }, "strip", z.ZodTypeAny, { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }, { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }>; sourceType: z.ZodEnum<["cli", "api", "catalog", "nl", "extension"]>; sourceCommand: z.ZodOptional; sourceBaseUrl: z.ZodOptional; workingDirectory: z.ZodOptional; environment: z.ZodOptional>; tools: z.ZodOptional, "many">>; resources: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; }, { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"framework">; domain: z.ZodString; includes: z.ZodObject<{ agents: z.ZodOptional>; commands: z.ZodOptional>; skills: z.ZodOptional>; hooks: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }>; configSchema: z.ZodOptional>; defaultConfig: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; }, { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"addon">; entry: z.ZodObject<{ agents: z.ZodOptional; commands: z.ZodOptional; skills: z.ZodOptional; hooks: z.ZodOptional; templates: z.ZodOptional; prompts: z.ZodOptional; }, "strip", z.ZodTypeAny, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }, { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }>; provides: z.ZodObject<{ agents: z.ZodOptional>; commands: z.ZodOptional>; skills: z.ZodOptional>; hooks: z.ZodOptional>; templates: z.ZodOptional>; prompts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }, { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }>; }, "strip", z.ZodTypeAny, { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; }, { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; }>, z.ZodObject<{ type: z.ZodLiteral<"template">; format: z.ZodString; variables: z.ZodOptional; required: z.ZodBoolean; default: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }, { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }>, "many">>; sections: z.ZodOptional>; targetArtifact: z.ZodOptional; }, "strip", z.ZodTypeAny, { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; }, { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"prompt">; category: z.ZodString; purpose: z.ZodString; useWhen: z.ZodArray; variables: z.ZodOptional>; requiredContext: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }, { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }>]>; status: z.ZodDefault>>; deprecation: z.ZodOptional; reason: z.ZodString; }, "strip", z.ZodTypeAny, { reason: string; date: string; successor?: string | undefined; }, { reason: string; date: string; successor?: string | undefined; }>>; installation: z.ZodOptional; installedPath: z.ZodString; enabled: z.ZodBoolean; }, "strip", z.ZodTypeAny, { installedAt: string; installedFrom: "local" | "builtin" | "registry" | "git"; installedPath: string; enabled: boolean; }, { installedAt: string; installedFrom: "local" | "builtin" | "registry" | "git"; installedPath: string; enabled: boolean; }>>; checksum: z.ZodOptional; signature: z.ZodOptional; value: z.ZodString; publicKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { value: string; algorithm: "ed25519" | "pgp"; publicKey?: string | undefined; }, { value: string; algorithm: "ed25519" | "pgp"; publicKey?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { type: "agent" | "prompt" | "command" | "skill" | "framework" | "template" | "hook" | "tool" | "mcp-server" | "addon"; status: "deprecated" | "stable" | "archived" | "experimental" | "beta"; id: string; version: string; name: string; description: string; metadata: { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; } | { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; } | { type: "skill"; triggerPhrases: string[]; autoTrigger: boolean; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; } | { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority: number; canModify: boolean; canBlock: boolean; configSchema?: Record | undefined; } | { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; } | { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; } | { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; } | { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; } | { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; } | { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }; capabilities: 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[]; signature?: { value: string; algorithm: "ed25519" | "pgp"; publicKey?: string | undefined; } | undefined; deprecation?: { reason: string; date: string; successor?: string | undefined; } | undefined; memory?: { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; } | undefined; documentation?: Record | undefined; category?: string | undefined; author?: string | undefined; repository?: string | undefined; license?: string | undefined; requires?: string[] | undefined; recommends?: string[] | undefined; conflicts?: string[] | undefined; systemDependencies?: Record | undefined; homepage?: string | undefined; bugs?: string | undefined; researchCompliance?: Record | undefined; installation?: { installedAt: string; installedFrom: "local" | "builtin" | "registry" | "git"; installedPath: string; enabled: boolean; } | undefined; checksum?: string | undefined; }, { type: "agent" | "prompt" | "command" | "skill" | "framework" | "template" | "hook" | "tool" | "mcp-server" | "addon"; id: string; version: string; name: string; description: string; metadata: { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; } | { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; } | { type: "skill"; triggerPhrases: string[]; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTrigger?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; } | { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority?: number | undefined; canModify?: boolean | undefined; canBlock?: boolean | undefined; configSchema?: Record | undefined; } | { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; } | { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; } | { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; } | { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; } | { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; } | { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }; capabilities: 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[]; signature?: { value: string; algorithm: "ed25519" | "pgp"; publicKey?: string | undefined; } | undefined; status?: "deprecated" | "stable" | "archived" | "experimental" | "beta" | undefined; deprecation?: { reason: string; date: string; successor?: string | undefined; } | undefined; memory?: { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; } | undefined; documentation?: Record | undefined; category?: string | undefined; author?: string | undefined; repository?: string | undefined; license?: string | undefined; requires?: string[] | undefined; recommends?: string[] | undefined; conflicts?: string[] | undefined; systemDependencies?: Record | undefined; homepage?: string | undefined; bugs?: string | undefined; researchCompliance?: Record | undefined; installation?: { installedAt: string; installedFrom: "local" | "builtin" | "registry" | "git"; installedPath: string; enabled: boolean; } | undefined; checksum?: string | undefined; }>, { type: "agent" | "prompt" | "command" | "skill" | "framework" | "template" | "hook" | "tool" | "mcp-server" | "addon"; status: "deprecated" | "stable" | "archived" | "experimental" | "beta"; id: string; version: string; name: string; description: string; metadata: { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; } | { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; } | { type: "skill"; triggerPhrases: string[]; autoTrigger: boolean; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; } | { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority: number; canModify: boolean; canBlock: boolean; configSchema?: Record | undefined; } | { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; } | { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; } | { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; } | { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; } | { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; } | { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }; capabilities: 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[]; signature?: { value: string; algorithm: "ed25519" | "pgp"; publicKey?: string | undefined; } | undefined; deprecation?: { reason: string; date: string; successor?: string | undefined; } | undefined; memory?: { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; } | undefined; documentation?: Record | undefined; category?: string | undefined; author?: string | undefined; repository?: string | undefined; license?: string | undefined; requires?: string[] | undefined; recommends?: string[] | undefined; conflicts?: string[] | undefined; systemDependencies?: Record | undefined; homepage?: string | undefined; bugs?: string | undefined; researchCompliance?: Record | undefined; installation?: { installedAt: string; installedFrom: "local" | "builtin" | "registry" | "git"; installedPath: string; enabled: boolean; } | undefined; checksum?: string | undefined; }, { type: "agent" | "prompt" | "command" | "skill" | "framework" | "template" | "hook" | "tool" | "mcp-server" | "addon"; id: string; version: string; name: string; description: string; metadata: { type: "agent"; role: string; tools: string[]; model: { tier: "sonnet" | "opus" | "haiku"; override?: string | undefined; }; readOnly?: boolean | undefined; template?: string | undefined; maxTools?: number | undefined; canDelegate?: boolean | undefined; workflow?: string[] | undefined; expertise?: string[] | undefined; responsibilities?: string[] | undefined; } | { type: "command"; template: "utility" | "transformation" | "orchestration"; model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; generatedFrom?: string | undefined; } | { type: "skill"; triggerPhrases: string[]; context?: "inherit" | "fork" | undefined; tools?: string[] | undefined; references?: { path: string; description: string; filename: string; }[] | undefined; outputFormat?: string | undefined; allowedTools?: string[] | undefined; effort?: 2 | 1 | 3 | undefined; userInvocable?: boolean | undefined; disableModelInvocation?: boolean | undefined; autoTrigger?: boolean | undefined; autoTriggerConditions?: string[] | undefined; inputRequirements?: string[] | undefined; commandHint?: { model?: string | undefined; arguments?: { type: "string" | "number" | "boolean"; required: boolean; name: string; description: string; default?: string | number | boolean | undefined; position?: number | undefined; }[] | undefined; template?: "utility" | "transformation" | "orchestration" | undefined; options?: { type: "string" | "number" | "boolean" | "array"; name: string; description: string; default?: string | number | boolean | undefined; short?: string | undefined; long?: string | undefined; }[] | undefined; argumentHint?: string | undefined; allowedTools?: string[] | undefined; executionSteps?: string[] | undefined; successCriteria?: string[] | undefined; cliDisabled?: boolean | undefined; executedViaSkillRunner?: boolean | undefined; } | undefined; } | { type: "hook"; event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash"; priority?: number | undefined; canModify?: boolean | undefined; canBlock?: boolean | undefined; configSchema?: Record | undefined; } | { type: "tool"; category: "core" | "languages" | "utilities" | "custom"; executable: string; aliases?: string[] | undefined; verificationStatus?: "verified" | "unverified" | undefined; lastVerified?: string | undefined; manPage?: string | undefined; relatedTools?: string[] | undefined; platformNotes?: Record | undefined; installHint?: string | undefined; } | { type: "mcp-server"; capabilities: { sampling: boolean; tools: boolean; resources: boolean; prompts: boolean; logging: boolean; }; mcpVersion: string; transport: "http" | "stdio"; sourceType: "cli" | "api" | "catalog" | "nl" | "extension"; tools?: { name: string; description: string; dangerous: boolean; }[] | undefined; port?: number | undefined; resources?: string[] | undefined; prompts?: string[] | undefined; sourceCommand?: string | undefined; sourceBaseUrl?: string | undefined; workingDirectory?: string | undefined; environment?: Record | undefined; } | { type: "framework"; includes: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; domain: string; configSchema?: Record | undefined; defaultConfig?: Record | undefined; } | { type: "addon"; entry: { agents?: string | undefined; skills?: string | undefined; commands?: string | undefined; templates?: string | undefined; hooks?: string | undefined; prompts?: string | undefined; }; provides: { agents?: string[] | undefined; skills?: string[] | undefined; commands?: string[] | undefined; templates?: string[] | undefined; hooks?: string[] | undefined; prompts?: string[] | undefined; }; } | { format: string; type: "template"; variables?: { type: "string" | "number" | "boolean" | "object" | "array"; required: boolean; name: string; description: string; default?: unknown; }[] | undefined; sections?: string[] | undefined; targetArtifact?: string | undefined; } | { type: "prompt"; category: string; purpose: string; useWhen: string[]; variables?: string[] | undefined; requiredContext?: string[] | undefined; }; capabilities: 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[]; signature?: { value: string; algorithm: "ed25519" | "pgp"; publicKey?: string | undefined; } | undefined; status?: "deprecated" | "stable" | "archived" | "experimental" | "beta" | undefined; deprecation?: { reason: string; date: string; successor?: string | undefined; } | undefined; memory?: { creates?: { path: string; description: string; }[] | undefined; normalizedFiles?: { path: string; description: string; }[] | undefined; } | undefined; documentation?: Record | undefined; category?: string | undefined; author?: string | undefined; repository?: string | undefined; license?: string | undefined; requires?: string[] | undefined; recommends?: string[] | undefined; conflicts?: string[] | undefined; systemDependencies?: Record | undefined; homepage?: string | undefined; bugs?: string | undefined; researchCompliance?: Record | undefined; installation?: { installedAt: string; installedFrom: "local" | "builtin" | "registry" | "git"; installedPath: string; enabled: boolean; } | undefined; checksum?: string | undefined; }>; /** * Inferred Extension type from schema */ export type ValidatedExtension = z.infer; /** * Inferred metadata types */ export type ValidatedAgentMetadata = z.infer; export type ValidatedCommandMetadata = z.infer; export type ValidatedSkillMetadata = z.infer; export type ValidatedHookMetadata = z.infer; export type ValidatedToolMetadata = z.infer; export type ValidatedMCPServerMetadata = z.infer; export type ValidatedFrameworkMetadata = z.infer; export type ValidatedAddonMetadata = z.infer; export type ValidatedTemplateMetadata = z.infer; export type ValidatedPromptMetadata = z.infer; /** * Validation result for successful validations */ export interface ValidationSuccess { success: true; data: ValidatedExtension; } /** * Validation result for failed validations */ export interface ValidationFailure { success: false; errors: z.ZodError; } /** * Combined validation result type */ export type ValidationResult = ValidationSuccess | ValidationFailure; /** * Validate an extension manifest * * @param data - Unknown data to validate * @returns Validation result with typed data or errors * * @example * ```typescript * const result = validateExtension(data); * if (result.success) { * console.log('Valid extension:', result.data.name); * } else { * console.error('Validation errors:', result.errors.format()); * } * ``` */ export declare function validateExtension(data: unknown): ValidationResult; /** * Type guard to check if data is a valid extension * * @param data - Unknown data to check * @returns True if data is a valid extension * * @example * ```typescript * if (isValidExtension(data)) { * // TypeScript knows data is ValidatedExtension here * console.log(data.name); * } * ``` */ export declare function isValidExtension(data: unknown): data is ValidatedExtension; /** * Validate and throw on error * * Use this when you want validation errors to propagate as exceptions. * * @param data - Unknown data to validate * @returns Validated extension data * @throws {z.ZodError} If validation fails * * @example * ```typescript * try { * const extension = validateExtensionStrict(data); * console.log('Valid extension:', extension.name); * } catch (error) { * if (error instanceof z.ZodError) { * console.error('Validation failed:', error.format()); * } * } * ``` */ export declare function validateExtensionStrict(data: unknown): ValidatedExtension; /** * Validate extension metadata only * * Useful for validating type-specific metadata in isolation. * * @param data - Unknown metadata to validate * @returns Validation result */ export declare function validateExtensionMetadata(data: unknown): { success: boolean; data?: z.infer; errors?: z.ZodError; }; /** * Format validation errors for display * * Converts Zod errors into human-readable messages. * * @param errors - Zod validation errors * @returns Formatted error messages * * @example * ```typescript * const result = validateExtension(data); * if (!result.success) { * const messages = formatValidationErrors(result.errors); * console.error('Validation failed:\n' + messages.join('\n')); * } * ``` */ export declare function formatValidationErrors(errors: z.ZodError): string[]; /** * Check if extension matches expected type * * Type-safe way to validate extension type before accessing type-specific fields. * * @param extension - Validated extension * @param type - Expected extension type * @returns True if extension matches type * * @example * ```typescript * if (isExtensionType(extension, 'agent')) { * // TypeScript narrows metadata to AgentMetadata * console.log(extension.metadata.role); * } * ``` */ export declare function isExtensionType(extension: ValidatedExtension, type: T): boolean; //# sourceMappingURL=validation.d.ts.map