package plugins import "github.com/maximhq/bifrost/core/schemas" // PluginLoader is the contract for a plugin loader type PluginLoader interface { // LoadPlugin loads a generic plugin from the given path with the provided config // Returns a BasePlugin that can be type-asserted to specific plugin interfaces LoadPlugin(path string, config any) (schemas.BasePlugin, error) // VerifyBasePlugin verifies a plugin at the given path // Returns the name of the plugin or an empty string if the plugin is invalid // Returns an error if the plugin is invalid // This method is used to verify that the plugin is a valid base plugin and has the required symbols VerifyBasePlugin(path string) (string, error) }