Class: AnalyticalBrain::Tools::DeactivateSkill
- Inherits:
-
Tools::Base
- Object
- Tools::Base
- AnalyticalBrain::Tools::DeactivateSkill
- Defined in:
- lib/analytical_brain/tools/deactivate_skill.rb
Overview
Deactivates a domain knowledge skill on the main session. The skill’s content is removed from the main agent’s system prompt.
Class Method Summary collapse
Instance Method Summary collapse
- #execute(input) ⇒ String, Hash
-
#initialize(main_session:) ⇒ DeactivateSkill
constructor
A new instance of DeactivateSkill.
Methods inherited from Tools::Base
Constructor Details
#initialize(main_session:) ⇒ DeactivateSkill
Returns a new instance of DeactivateSkill.
23 24 25 |
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 23 def initialize(main_session:, **) @main_session = main_session end |
Class Method Details
.description ⇒ Object
10 |
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 10 def self.description = "Remove domain knowledge that is no longer relevant." |
.input_schema ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 12 def self.input_schema { type: "object", properties: { skill_name: {type: "string"} }, required: %w[skill_name] } end |
.tool_name ⇒ Object
8 |
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 8 def self.tool_name = "deactivate_skill" |
Instance Method Details
#execute(input) ⇒ String, Hash
30 31 32 33 34 35 36 |
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 30 def execute(input) skill_name = input["skill_name"].to_s.strip return {error: "Skill name cannot be blank"} if skill_name.empty? @main_session.deactivate_skill(skill_name) "Deactivated skill: #{skill_name}" end |