@vooodooo/magic
Version:
Vooodooo - AI orchestration platform
69 lines (68 loc) • 1.76 kB
TypeScript
import { DiscoveredPlugin } from './plugin-discovery.js';
/**
* Validation rule for a plugin
*/
interface ValidationRule {
/** Name of the rule */
name: string;
/** Description of what the rule validates */
description: string;
/** The validation function */
validate: (plugin: DiscoveredPlugin) => ValidationResult;
}
/**
* Result of a validation check
*/
interface ValidationResult {
/** Whether the validation passed */
valid: boolean;
/** Error message if validation failed */
error?: string;
/** Warning message if validation passed with warnings */
warning?: string;
}
/**
* Plugin validation options
*/
export interface PluginValidationOptions {
/** Current platform version */
platformVersion: string;
/** Whether to apply strict validation */
strict?: boolean;
/** Custom validation rules */
customRules?: ValidationRule[];
}
/**
* Result of plugin validation
*/
export interface PluginValidationReport {
/** Whether the plugin is valid */
valid: boolean;
/** ID of the plugin */
pluginId: string;
/** Array of validation errors */
errors: string[];
/** Array of validation warnings */
warnings: string[];
}
/**
* System for validating Vooodooo plugins
*/
export declare class PluginValidator {
private options;
private rules;
constructor(options: PluginValidationOptions);
/**
* Validate a plugin
*/
validatePlugin(plugin: DiscoveredPlugin): PluginValidationReport;
/**
* Set up default validation rules
*/
private setupDefaultRules;
}
/**
* Create a plugin validator instance
*/
export declare function createPluginValidator(options: PluginValidationOptions): PluginValidator;
export {};