UNPKG

edwin-sdk

Version:

SDK for integrating AI agents with DeFi protocols

33 lines (26 loc) 750 B
import { EdwinTool } from '../types'; import { EdwinService } from './edwinToolProvider'; export abstract class EdwinPlugin { private tools: EdwinTool[]; constructor( protected name: string, protected toolProviders: EdwinService[] ) { this.tools = []; } protected getToolsArray(): EdwinTool[] { return this.tools; } /** * Get all tools provided by this plugin */ abstract getTools(): Record<string, EdwinTool>; /** * Get tools that don't require signing capabilities */ abstract getPublicTools(): Record<string, EdwinTool>; /** * Get tools that require signing capabilities */ abstract getPrivateTools(): Record<string, EdwinTool>; }