// SPEC-597-EXEMPT: canonical mapping (npm-package↔framework, keyword catalogue)
// — must enumerate framework names by design; no detection logic to migrate.
// schemas/plugins-schemas.ts — Zod schemas for plugin tools (SPEC-085)
import { z } from 'zod';
export const PluginActionEnum = z
    .enum(['list', 'install', 'activate', 'deactivate', 'uninstall', 'info', 'search', 'update'])
    .describe('Action: search | list | activate | deactivate | uninstall | info | install | update. ' +
    'Use search/list/activate/deactivate/uninstall/info/update for lifecycle management. ' +
    'Use install_plugins for automated stack-based batch installation.');
export const PluginExtensionTypeEnum = z
    .enum(['tools', 'workers', 'analyzers', 'templates'])
    .describe('Extension type: tools | workers | analyzers | templates');
export const ManagePluginsSchema = {
    action: PluginActionEnum,
    pluginId: z
        .string()
        .max(500)
        .optional()
        .describe('Plugin ID — required for activate, deactivate, uninstall, info'),
    pluginPath: z
        .string()
        .max(4096)
        .optional()
        .describe('Filesystem path to plugin source — required for install'),
    projectPath: z
        .string()
        .max(4096)
        .optional()
        .describe('Project root path (defaults to current directory)'),
    keyword: z
        .string()
        .max(200)
        .optional()
        .describe('Search keyword — filters plugins by id, displayName, or description (search action)'),
    stackFilter: z
        .string()
        .max(200)
        .optional()
        .describe('Stack name to filter by, e.g. "react", "vercel" (search action)'),
};
export const ScaffoldPluginSchema = {
    name: z.string().max(500).describe('Plugin name (lowercase, hyphens allowed, e.g. "my-plugin")'),
    description: z.string().max(10_000).describe('Short description of what the plugin does'),
    extensions: z
        .array(PluginExtensionTypeEnum)
        .max(100)
        .describe('Extension types to scaffold: tools | workers | analyzers | templates'),
    outputDir: z
        .string()
        .max(4096)
        .optional()
        .describe('Output directory (defaults to current directory)'),
};
//# sourceMappingURL=plugins-schemas.js.map