Architecture
Plugin Architecture
interface Plugin {
name: string;
version: string;
initialize: (agent: Agent) => Promise<void>;
execute: (agent: Agent, input: any) => Promise<any>;
cleanup?: () => Promise<void>;
}BasePlugin Class
import { BasePlugin } from '@naomi/core';
import { Agent } from '@naomi/core';
export class MyPlugin extends BasePlugin {
name = 'my-plugin';
version = '1.0.0';
async initialize(agent: Agent): Promise<void> {
// Initialize plugin resources
}
async execute(agent: Agent, input: any): Promise<any> {
// Execute plugin functionality
return { result: 'success' };
}
async cleanup(): Promise<void> {
// Cleanup resources
}
}Using Plugins
Built-in Plugins
Plugin Events
Last updated
