@ace-sdk/cli
Version:
ACE CLI - Command-line tool for intelligent pattern learning and playbook management
87 lines • 1.7 kB
TypeScript
/**
* Plugin system types
*/
/**
* Plugin metadata (from package.json or plugin.json)
*/
export interface PluginMetadata {
name: string;
version: string;
description?: string;
author?: string;
homepage?: string;
keywords?: string[];
}
/**
* Plugin manifest (plugin.json)
*/
export interface PluginManifest extends PluginMetadata {
main: string;
commands?: PluginCommand[];
permissions?: PluginPermissions;
}
/**
* Plugin command definition
*/
export interface PluginCommand {
name: string;
description: string;
handler: string;
options?: PluginOption[];
}
/**
* Plugin command option
*/
export interface PluginOption {
name: string;
description: string;
type?: 'string' | 'number' | 'boolean';
required?: boolean;
default?: any;
}
/**
* Plugin permissions (security)
*/
export interface PluginPermissions {
network?: boolean;
filesystem?: 'read' | 'write' | 'full';
environment?: boolean;
subprocess?: boolean;
}
/**
* Loaded plugin instance
*/
export interface Plugin {
metadata: PluginManifest;
path: string;
module: any;
enabled: boolean;
trusted: boolean;
}
/**
* Plugin trust record
*/
export interface PluginTrust {
name: string;
version: string;
trustedAt: string;
trustedBy: 'user' | 'system';
checksum?: string;
}
/**
* Plugin registry (stored in ~/.ace/plugins.json)
*/
export interface PluginRegistry {
trusted: PluginTrust[];
enabled: string[];
disabled: string[];
}
/**
* Plugin execution context
*/
export interface PluginContext {
config: any;
logger: any;
client: any;
}
//# sourceMappingURL=plugin.d.ts.map