Class: AnalyticalBrain::Tools::DeactivateSkill
Overview
Deactivates a domain knowledge skill on the main session. The skill’s recalled message stays in the conversation and evicts naturally from the sliding window.
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Tools::Base
schema, truncation_threshold
Constructor Details
Returns a new instance of DeactivateSkill.
24
25
26
|
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 24
def initialize(main_session:, **)
@main_session = main_session
end
|
Class Method Details
.description ⇒ Object
11
|
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 11
def self.description = "Remove domain knowledge that is no longer relevant."
|
13
14
15
16
17
18
19
20
21
|
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 13
def self.input_schema
{
type: "object",
properties: {
skill_name: {type: "string"}
},
required: %w[skill_name]
}
end
|
9
|
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 9
def self.tool_name = "deactivate_skill"
|
Instance Method Details
#execute(input) ⇒ String, Hash
31
32
33
34
35
36
37
|
# File 'lib/analytical_brain/tools/deactivate_skill.rb', line 31
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
|