def execute_post(self, state: State) -> Action: if state.result_code == "0" and state.action_suggested.suggested_command != ":": return create_message_list( self.agent_datasource.get_current_plugin_name(state.user_name), self.agent_datasource.all_plugins()) return Action()
def execute(self, state: State) -> Action: action_to_return = create_message_list( self.agent_datasource.get_current_plugin_name(state.user_name), self.agent_datasource.all_plugins(), self.__VERBOSE_MODE in state.command) action_to_return.origin_command = state.command return action_to_return
def select_plugin(self, plugin_to_select, state): selected_plugin = self.agent_datasource.select_plugin( plugin_to_select, state.user_name) if selected_plugin: self.stats_tracker.log_activate_skills(state.user_name, plugin_to_select) plugins_config = self.config_storage.read_config(state.user_name) if plugins_config.selected is None: plugins_config.selected = [selected_plugin.name] else: if selected_plugin.name not in plugins_config.selected: plugins_config.selected.append(selected_plugin.name) self.config_storage.store_config(plugins_config, state.user_name) return create_message_list( self.agent_datasource.get_current_plugin_name(state.user_name), self.agent_datasource.all_plugins())
def execute(self, state: State) -> Action: plugin_to_select = state.command.replace(f'{self.UNSELECT_DIRECTIVE}', '').strip() plugin_to_select = extract_quoted_agent_name(plugin_to_select) selected = self.agent_datasource.unselect_plugin(plugin_to_select, state.user_name) if selected: self.stats_tracker.log_deactivate_skills(state.user_name, plugin_to_select) plugins_config = self.config_storage.read_config(state.user_name) if plugins_config.selected is not None and selected.name in plugins_config.selected: plugins_config.selected.remove(selected.name) self.config_storage.store_config(plugins_config, state.user_name) action_to_return = create_message_list( self.agent_datasource.get_current_plugin_name(state.user_name), self.agent_datasource.all_plugins() ) action_to_return.origin_command = state.command return action_to_return
def execute_post(self, state: State) -> Action: plugin_to_select = state.command.replace(f'{self.SELECT_DIRECTIVE}', '').strip() plugin_to_select = extract_quoted_agent_name(plugin_to_select) agent_descriptor = self.agent_datasource.get_agent_descriptor( plugin_to_select) if not agent_descriptor: return Action() if state.result_code == '0': self.agent_datasource.mark_plugins_as_installed( plugin_to_select, state.user_name) return self.select_plugin(plugin_to_select, state) return create_message_list( self.agent_datasource.get_current_plugin_name(state.user_name), self.agent_datasource.all_plugins())