def __init__(self, name: str, ctx: PluginContext, config: Dict[str, Any]) -> None:
        """
        create a plugin instance, this method will be called by the runtime

        :param name: the name of the plugin
        :param ctx: the execution context of the plugin
        :param config: the configuration of the plugin
        """
        super().__init__()
        self.name: str = name
        self.ctx: PluginContext = ctx
        self.config: Dict[str, Any] = config

        create a plugin instance, this method will be called by the runtime

        :param name: the name of the plugin
        :param ctx: the execution context of the plugin
        :param config: the configuration of the plugin
        
taskweaver/plugin/base.py